|
LMCAS
Lamina Computer Algebra System
|
类 | |
| struct | RootCallbacks |
函数 | |
| std::optional< CasError > | append_verified_root (std::vector< NumericRoot > &results, const NumericRootResult &candidate, const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, ComputationContext &context, lmmc_real_t tolerance) |
| NumericRootResult | backend_root_result (const lmmc_nonlinear_result_t &backend, double residual_limit) |
| double | evaluate_root_callback (const std::shared_ptr< SymbolicExpr > &expression, double x, RootCallbacks &callbacks) |
| Result< double > | evaluate_root_function (const std::shared_ptr< SymbolicExpr > &expression, const std::string &variable, lmmc_real_t value, ComputationContext &context, const char *operation) |
| NumericRootResult | invalid_root_options (const SolveOptions &options, const char *operation) |
| lmmc_nonlinear_config_t | root_config (const SolveOptions &options, std::size_t max_iterations) |
| double | root_derivative_callback (double x, void *user_data) |
| double | root_function_callback (double x, void *user_data) |
| NumericRootResult | run_bisection_backend (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, double lower, double upper, ComputationContext &context, const SolveOptions &options, const char *operation) |
| NumericRootResult | run_newton_backend (const std::shared_ptr< SymbolicExpr > &function, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &variable, double initial, ComputationContext &context, const SolveOptions &options, bool enforce_bracket, double bracket_lower, double bracket_upper) |
| NumericRootsResult | solve_initial_guess (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, ComputationContext &context, const SolveOptions &opts) |
| NumericRootsResult | solve_isolated_polynomial (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, const Polynomial< Rational > &polynomial, ComputationContext &context, const SolveOptions &opts) |
变量 | |
| constexpr const char * | kBisectionOperation = "bisection" |
| constexpr const char * | kNewtonOperation = "newton_raphson" |
| struct LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks |
在文件 newton_raphson.cpp 第 77 行定义.
| 类成员 | ||
|---|---|---|
| double | bracket_lower = 0.0 | |
| double | bracket_upper = 0.0 | |
| ComputationContext * | context = nullptr | |
| const shared_ptr< SymbolicExpr > * | derivative = nullptr | |
| bool | enforce_bracket = false | |
| optional< CasError > | error | |
| const shared_ptr< SymbolicExpr > * | function = nullptr | |
| bool | left_bracket = false | |
| const char * | operation = nullptr | |
| const string * | variable = nullptr | |
| std::optional< CasError > LMCAS::anonymous_namespace{newton_raphson.cpp}::append_verified_root | ( | std::vector< NumericRoot > & | results, |
| const NumericRootResult & | candidate, | ||
| const std::shared_ptr< SymbolicExpr > & | expr, | ||
| const std::string & | var, | ||
| ComputationContext & | context, | ||
| lmmc_real_t | tolerance ) |
在文件 newton_raphson.cpp 第 220 行定义.
引用了 append_verified_root(), LMCAS::context, LMCAS::Result< T >::error(), evaluate_root_function() , 以及 LMCAS::Result< T >::value().
被这些函数引用 append_verified_root(), solve_initial_guess() , 以及 solve_isolated_polynomial().
| NumericRootResult LMCAS::anonymous_namespace{newton_raphson.cpp}::backend_root_result | ( | const lmmc_nonlinear_result_t & | backend, |
| double | residual_limit ) |
在文件 newton_raphson.cpp 第 137 行定义.
引用了 backend_root_result() , 以及 LMCAS::Result< std::optional< NumericRoot > >::success().
被这些函数引用 backend_root_result(), run_bisection_backend() , 以及 run_newton_backend().
| double LMCAS::anonymous_namespace{newton_raphson.cpp}::evaluate_root_callback | ( | const std::shared_ptr< SymbolicExpr > & | expression, |
| double | x, | ||
| RootCallbacks & | callbacks ) |
在文件 newton_raphson.cpp 第 90 行定义.
引用了 LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::bracket_upper, LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::context, LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::enforce_bracket, LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::error, evaluate_root_callback(), evaluate_root_function(), LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::left_bracket, LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::operation, LMCAS::value , 以及 LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::variable.
被这些函数引用 evaluate_root_callback(), root_derivative_callback() , 以及 root_function_callback().
| Result< double > LMCAS::anonymous_namespace{newton_raphson.cpp}::evaluate_root_function | ( | const std::shared_ptr< SymbolicExpr > & | expression, |
| const std::string & | variable, | ||
| lmmc_real_t | value, | ||
| ComputationContext & | context, | ||
| const char * | operation ) |
在文件 newton_raphson.cpp 第 25 行定义.
引用了 LMCAS::context, LMCAS::evaluate_numeric(), evaluate_root_function(), LMCAS::Result< T >::failure(), LMCAS::InvalidArgument, LMCAS::NumericFailure, LMCAS::Result< T >::success(), LMCAS::value , 以及 LMCAS::variable.
被这些函数引用 append_verified_root(), evaluate_root_callback(), evaluate_root_function() , 以及 run_bisection_backend().
| NumericRootResult LMCAS::anonymous_namespace{newton_raphson.cpp}::invalid_root_options | ( | const SolveOptions & | options, |
| const char * | operation ) |
在文件 newton_raphson.cpp 第 59 行定义.
引用了 LMCAS::Result< std::optional< NumericRoot > >::failure(), invalid_root_options(), LMCAS::InvalidArgument, LMCAS::options , 以及 LMCAS::Result< std::optional< NumericRoot > >::success().
被这些函数引用 invalid_root_options().
| lmmc_nonlinear_config_t LMCAS::anonymous_namespace{newton_raphson.cpp}::root_config | ( | const SolveOptions & | options, |
| std::size_t | max_iterations ) |
在文件 newton_raphson.cpp 第 122 行定义.
引用了 LMCAS::options , 以及 root_config().
被这些函数引用 root_config(), run_bisection_backend() , 以及 run_newton_backend().
| double LMCAS::anonymous_namespace{newton_raphson.cpp}::root_derivative_callback | ( | double | x, |
| void * | user_data ) |
在文件 newton_raphson.cpp 第 117 行定义.
引用了 evaluate_root_callback() , 以及 root_derivative_callback().
被这些函数引用 root_derivative_callback() , 以及 run_newton_backend().
| double LMCAS::anonymous_namespace{newton_raphson.cpp}::root_function_callback | ( | double | x, |
| void * | user_data ) |
在文件 newton_raphson.cpp 第 112 行定义.
引用了 evaluate_root_callback() , 以及 root_function_callback().
被这些函数引用 root_function_callback(), run_bisection_backend() , 以及 run_newton_backend().
| NumericRootResult LMCAS::anonymous_namespace{newton_raphson.cpp}::run_bisection_backend | ( | const std::shared_ptr< SymbolicExpr > & | function, |
| const std::string & | variable, | ||
| double | lower, | ||
| double | upper, | ||
| ComputationContext & | context, | ||
| const SolveOptions & | options, | ||
| const char * | operation ) |
在文件 newton_raphson.cpp 第 153 行定义.
引用了 backend_root_result(), LMCAS::context, LMCAS::detail::ensure_lmmc_lifecycle(), LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::error, evaluate_root_function(), LMCAS::Result< std::optional< NumericRoot > >::failure(), LMCAS::function(), LMCAS::lower, LMCAS::options, root_config(), root_function_callback(), run_bisection_backend(), LMCAS::Result< std::optional< NumericRoot > >::success(), LMCAS::upper, LMCAS::value , 以及 LMCAS::variable.
被这些函数引用 run_bisection_backend().
| NumericRootResult LMCAS::anonymous_namespace{newton_raphson.cpp}::run_newton_backend | ( | const std::shared_ptr< SymbolicExpr > & | function, |
| const std::shared_ptr< SymbolicExpr > & | derivative, | ||
| const std::string & | variable, | ||
| double | initial, | ||
| ComputationContext & | context, | ||
| const SolveOptions & | options, | ||
| bool | enforce_bracket, | ||
| double | bracket_lower, | ||
| double | bracket_upper ) |
在文件 newton_raphson.cpp 第 194 行定义.
引用了 backend_root_result(), LMCAS::context, LMCAS::detail::ensure_lmmc_lifecycle(), LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks::error, LMCAS::Result< std::optional< NumericRoot > >::failure(), LMCAS::function(), kNewtonOperation, LMCAS::options, root_config(), root_derivative_callback(), root_function_callback(), run_newton_backend() , 以及 LMCAS::variable.
被这些函数引用 run_newton_backend().
| NumericRootsResult LMCAS::anonymous_namespace{newton_raphson.cpp}::solve_initial_guess | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | var, | ||
| ComputationContext & | context, | ||
| const SolveOptions & | opts ) |
在文件 newton_raphson.cpp 第 285 行定义.
引用了 append_verified_root(), LMCAS::context, LMCAS::detail::differentiate_node(), LMCAS::Result< std::vector< NumericRoot > >::failure(), LMCAS::SolveOptions::has_initial_guess, LMCAS::SolveOptions::initial_guess, LMCAS::detail::make_expression_ptr(), LMCAS::newton_raphson_checked(), LMCAS::detail::node(), solve_initial_guess(), LMCAS::Result< std::vector< NumericRoot > >::success() , 以及 LMCAS::SolveOptions::tolerance.
被这些函数引用 solve_initial_guess().
| NumericRootsResult LMCAS::anonymous_namespace{newton_raphson.cpp}::solve_isolated_polynomial | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | var, | ||
| const Polynomial< Rational > & | polynomial, | ||
| ComputationContext & | context, | ||
| const SolveOptions & | opts ) |
在文件 newton_raphson.cpp 第 242 行定义.
引用了 append_verified_root(), LMCAS::context, LMCAS::detail::differentiate_node(), LMCAS::Result< std::vector< NumericRoot > >::failure(), LMCAS::solver_detail::finite_midpoint(), LMCAS::isolate_real_roots_checked(), LMCAS::lower, LMCAS::detail::make_expression_ptr(), LMCAS::SolveOptions::max_roots, LMCAS::newton_raphson_checked(), LMCAS::detail::node(), solve_isolated_polynomial(), LMCAS::Result< std::vector< NumericRoot > >::success(), LMCAS::SolveOptions::tolerance , 以及 LMCAS::upper.
被这些函数引用 solve_isolated_polynomial().
|
constexpr |
在文件 newton_raphson.cpp 第 21 行定义.
|
constexpr |
在文件 newton_raphson.cpp 第 22 行定义.
被这些函数引用 run_newton_backend().