LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
newton_raphson.cpp 文件参考
#include <stdexcept>
#include "internal/expression_transform.hpp"
#include "newton_raphson.hpp"
#include "internal/exact_sturm.hpp"
#include "internal/lmmc_lifecycle.hpp"
#include "internal/solver_support.hpp"
#include "lmmc/nonlinear.h"
#include "numeric_evaluation.hpp"
#include "poly_utils.hpp"
#include <algorithm>
#include <cmath>
#include <exception>
#include <limits>
#include <optional>
newton_raphson.cpp 的引用(Include)关系图:

浏览该文件的源代码.

类

struct  LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks

命名空间

namespace  LMCAS
namespace  LMCAS::anonymous_namespace{newton_raphson.cpp}

函数

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)
NumericRootResult LMCAS::anonymous_namespace{newton_raphson.cpp}::backend_root_result (const lmmc_nonlinear_result_t &backend, double residual_limit)
NumericRootResult LMCAS::bisection_checked (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, lmmc_real_t lower, lmmc_real_t upper, ComputationContext &context, const SolveOptions &options)
NumericRootResult LMCAS::bisection_checked (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, lmmc_real_t lower, lmmc_real_t upper, const SolveOptions &options)
double LMCAS::anonymous_namespace{newton_raphson.cpp}::evaluate_root_callback (const std::shared_ptr< SymbolicExpr > &expression, double x, RootCallbacks &callbacks)
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)
NumericRootResult LMCAS::anonymous_namespace{newton_raphson.cpp}::invalid_root_options (const SolveOptions &options, const char *operation)
Result< std::vector< std::pair< Rational, Rational > > > LMCAS::isolate_real_roots_checked (const Polynomial< Rational > &polynomial)
Result< std::vector< std::pair< Rational, Rational > > > LMCAS::isolate_real_roots_checked (const Polynomial< Rational > &polynomial, ComputationContext &context)
NumericRootResult LMCAS::newton_raphson_checked (const std::shared_ptr< SymbolicExpr > &function, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &variable, lmmc_real_t initial, ComputationContext &context, const SolveOptions &options)
NumericRootResult LMCAS::newton_raphson_checked (const std::shared_ptr< SymbolicExpr > &function, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &variable, lmmc_real_t initial, const SolveOptions &options)
NumericRootResult LMCAS::newton_raphson_checked (const std::shared_ptr< SymbolicExpr > &function, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &variable, lmmc_real_t initial, lmmc_real_t bracket_lower, lmmc_real_t bracket_upper, ComputationContext &context, const SolveOptions &options)
NumericRootResult LMCAS::newton_raphson_checked (const std::shared_ptr< SymbolicExpr > &function, const std::shared_ptr< SymbolicExpr > &derivative, const std::string &variable, lmmc_real_t initial, lmmc_real_t bracket_lower, lmmc_real_t bracket_upper, const SolveOptions &options)
lmmc_nonlinear_config_t LMCAS::anonymous_namespace{newton_raphson.cpp}::root_config (const SolveOptions &options, std::size_t max_iterations)
double LMCAS::anonymous_namespace{newton_raphson.cpp}::root_derivative_callback (double x, void *user_data)
double LMCAS::anonymous_namespace{newton_raphson.cpp}::root_function_callback (double x, void *user_data)
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)
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)
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)
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)
NumericRootsResult LMCAS::solve_numeric_checked (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, ComputationContext &context, const SolveOptions &opts)
NumericRootsResult LMCAS::solve_numeric_checked (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, const SolveOptions &opts)
static bool LMCAS::valid_newton_bracket (lmmc_real_t initial, lmmc_real_t lower, lmmc_real_t upper)

变量

constexpr const char * LMCAS::anonymous_namespace{newton_raphson.cpp}::kBisectionOperation = "bisection"
constexpr const char * LMCAS::anonymous_namespace{newton_raphson.cpp}::kNewtonOperation = "newton_raphson"

类说明

◆ LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks

struct LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks

在文件 newton_raphson.cpp 第 77 行定义.

LMCAS::anonymous_namespace{newton_raphson.cpp}::RootCallbacks 的协作图:
类成员
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