LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
mixed_transcendental_support.hpp
浏览该文件的文档.
1#pragma once
2
6
7namespace LMCAS::detail {
8
9lmmc_real_t mixed_evaluate_at(
10 const std::shared_ptr<SymbolicExpr>& expr,
11 const std::string& var, lmmc_real_t x, RewriteBudget& budget);
13 const std::shared_ptr<SymbolicExpr>& expr,
14 const std::string& var, lmmc_real_t x,
15 lmmc_real_t half_width, RewriteBudget& budget, int max_retries = 3);
17 ComputationContext& context, std::optional<CasError>* failure,
18 bool* complete);
19std::vector<IsolatedInterval> isolate_roots_with_context(
20 const std::shared_ptr<SymbolicExpr>& expr,
21 const std::shared_ptr<SymbolicExpr>& derivative,
22 const std::string& var, const SearchInterval& interval,
23 const SolveOptions& opts, RewriteBudget& budget,
24 std::optional<CasError>* failure, bool* complete);
25std::optional<NumericRoot> refine_root_with_context(
26 const std::shared_ptr<SymbolicExpr>& expr,
27 const std::shared_ptr<SymbolicExpr>& derivative,
28 const std::string& var, const IsolatedInterval& interval,
29 const SolveOptions& opts, RewriteBudget& budget,
30 std::optional<CasError>* failure, bool* complete);
31Result<std::vector<NumericRoot>> mixed_numerical_path(
32 const std::shared_ptr<SymbolicExpr>& factor,
33 const std::string& var, const SearchInterval& interval,
34 const SolveOptions& opts, RewriteBudget& budget, bool& complete);
35
36}
多元 Hensel 提升(单变量步)
bool consume_mixed_step(ComputationContext &context, std::optional< CasError > *failure, bool *complete)
std::optional< NumericRoot > refine_root_with_context(const std::shared_ptr< SymbolicExpr > &expr, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &var, const IsolatedInterval &interval, const SolveOptions &opts, RewriteBudget &budget, std::optional< CasError > *failure, bool *complete)
Result< std::vector< NumericRoot > > mixed_numerical_path(const std::shared_ptr< SymbolicExpr > &factor, const std::string &var, const SearchInterval &interval, const SolveOptions &opts, RewriteBudget &budget, bool &complete)
隔离并精化单个因子的数值根。
std::size_t std::size_t ComputationContext & context
lmmc_real_t mixed_evaluate_with_retry(const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, lmmc_real_t x, lmmc_real_t half_width, RewriteBudget &budget, int max_retries=3)
lmmc_real_t mixed_evaluate_at(const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, lmmc_real_t x, RewriteBudget &budget)
std::vector< IsolatedInterval > isolate_roots_with_context(const std::shared_ptr< SymbolicExpr > &expr, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &var, const SearchInterval &interval, const SolveOptions &opts, RewriteBudget &budget, std::optional< CasError > *failure, bool *complete)
ExprResult interval(ExprPtr lower, ExprPtr upper, bool lower_closed, bool upper_closed)
混合超越方程求解:符号预处理 + 自适应根隔离 + Newton-Raphson 精化.
内部 AST 定义。