|
LMCAS
Lamina Computer Algebra System
|
命名空间 | |
| namespace | anonymous_namespace{transcendental_inversion.cpp} |
| namespace | anonymous_namespace{transcendental_patterns.cpp} |
类 | |
| struct | ExpBasePattern |
| struct | InversePattern |
| struct | LambertWPattern |
函数 | |
| SolutionSet | conditional_preimage (const ExprPtr &original, const std::string &var) |
| std::optional< ExpBasePattern > | decompose_exp_base_pattern (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, ComputationContext &context) |
| std::optional< LambertWPattern > | decompose_lambert_w_pattern (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var, ComputationContext &context) |
| std::optional< InversePattern > | decompose_trig_exp_pattern (const std::shared_ptr< SymbolicExpr > &expr, const std::string &var) |
| std::vector< std::shared_ptr< SymbolicExpr > > | invert_exp_base (const std::shared_ptr< SymbolicExpr > &base, const std::shared_ptr< SymbolicExpr > &c, ComputationContext &context) |
| SolveResult | invert_function (const InversePattern &pattern, const ExprPtr &original, const std::string &var, ComputationContext &context, const SolveOptions &options) |
| std::vector< std::shared_ptr< SymbolicExpr > > | invert_lambert_w (const std::shared_ptr< SymbolicExpr > &c, ComputationContext &context) |
| bool | try_evaluate_numeric (const std::shared_ptr< SymbolicExpr > &expr, lmmc_real_t &out, ComputationContext &context) |
| struct LMCAS::detail::transcendental::ExpBasePattern |
在文件 transcendental_solver_support.hpp 第 31 行定义.
| 类成员 | ||
|---|---|---|
| shared_ptr< SymbolicExpr > | base | |
| shared_ptr< SymbolicExpr > | inner | |
| shared_ptr< SymbolicExpr > | rhs | |
| struct LMCAS::detail::transcendental::InversePattern |
在文件 transcendental_solver_support.hpp 第 19 行定义.
| 类成员 | ||
|---|---|---|
| shared_ptr< SymbolicExpr > | coefficient | |
| FuncType | func_type | |
| shared_ptr< SymbolicExpr > | inner | |
| shared_ptr< SymbolicExpr > | rhs | |
| struct LMCAS::detail::transcendental::LambertWPattern |
在文件 transcendental_solver_support.hpp 第 26 行定义.
| 类成员 | ||
|---|---|---|
| shared_ptr< SymbolicExpr > | inner | |
| shared_ptr< SymbolicExpr > | rhs | |
| SolutionSet LMCAS::detail::transcendental::conditional_preimage | ( | const ExprPtr & | original, |
| const std::string & | var ) |
在文件 transcendental_inversion.cpp 第 65 行定义.
引用了 conditional_preimage(), LMCAS::detail::node() , 以及 LMCAS::relation().
被这些函数引用 LMCAS::anonymous_namespace{solve_transcendental.cpp}::append_solutions(), conditional_preimage(), LMCAS::detail::transcendental::anonymous_namespace{transcendental_inversion.cpp}::constant_trigonometric_preimage(), LMCAS::detail::transcendental::anonymous_namespace{transcendental_inversion.cpp}::invert_exponential(), invert_function(), LMCAS::detail::transcendental::anonymous_namespace{transcendental_inversion.cpp}::invert_logarithm(), LMCAS::detail::transcendental::anonymous_namespace{transcendental_inversion.cpp}::invert_trigonometric(), LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_function_pattern(), LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_substitution(), LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_transcendental_constant() , 以及 LMCAS::detail::transcendental::anonymous_namespace{transcendental_inversion.cpp}::trigonometric_target_range().
| std::optional< ExpBasePattern > LMCAS::detail::transcendental::decompose_exp_base_pattern | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | var, | ||
| ComputationContext & | context ) |
在文件 transcendental_patterns.cpp 第 287 行定义.
引用了 LMCAS::detail::context, decompose_exp_base_pattern() , 以及 LMCAS::detail::node().
被这些函数引用 decompose_exp_base_pattern() , 以及 LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_transcendental_impl().
| std::optional< LambertWPattern > LMCAS::detail::transcendental::decompose_lambert_w_pattern | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | var, | ||
| ComputationContext & | context ) |
在文件 transcendental_patterns.cpp 第 270 行定义.
引用了 LMCAS::detail::context, decompose_lambert_w_pattern() , 以及 LMCAS::detail::node().
被这些函数引用 decompose_lambert_w_pattern() , 以及 LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_transcendental_impl().
| std::optional< InversePattern > LMCAS::detail::transcendental::decompose_trig_exp_pattern | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | var ) |
在文件 transcendental_patterns.cpp 第 253 行定义.
引用了 decompose_trig_exp_pattern(), LMCAS::function(), LMCAS::detail::make_expression_ptr() , 以及 LMCAS::detail::node().
被这些函数引用 decompose_trig_exp_pattern(), LMCAS::anonymous_namespace{solve_mixed_transcendental.cpp}::MixedRootCollection::solve() , 以及 LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_transcendental_impl().
| std::vector< std::shared_ptr< SymbolicExpr > > LMCAS::detail::transcendental::invert_exp_base | ( | const std::shared_ptr< SymbolicExpr > & | base, |
| const std::shared_ptr< SymbolicExpr > & | c, | ||
| ComputationContext & | context ) |
在文件 transcendental_inversion.cpp 第 45 行定义.
引用了 LMCAS::c, LMCAS::detail::context, invert_exp_base(), LMCAS::detail::make_expression_ptr(), LMCAS::detail::node(), LMCAS::detail::normalize_node() , 以及 try_evaluate_numeric().
被这些函数引用 invert_exp_base() , 以及 LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_transcendental_impl().
| SolveResult LMCAS::detail::transcendental::invert_function | ( | const InversePattern & | pattern, |
| const ExprPtr & | original, | ||
| const std::string & | var, | ||
| ComputationContext & | context, | ||
| const SolveOptions & | options ) |
在文件 transcendental_inversion.cpp 第 316 行定义.
引用了 LMCAS::detail::transcendental::InversePattern::coefficient, conditional_preimage(), LMCAS::detail::context, LMCAS::FunctionNode::Cos, LMCAS::FunctionNode::Exp, LMCAS::detail::facts, LMCAS::Result< SolutionSet >::failure(), LMCAS::detail::transcendental::InversePattern::func_type, LMCAS::Inconclusive, invert_function(), LMCAS::FunctionNode::Ln, LMCAS::detail::make_expression_ptr(), LMCAS::detail::no_facts(), LMCAS::detail::node(), LMCAS::detail::normalize_node(), LMCAS::detail::query_nonzero_value(), LMCAS::Real, LMCAS::detail::rhs, LMCAS::detail::transcendental::InversePattern::rhs, LMCAS::FunctionNode::Sin, LMCAS::FunctionNode::Tan , 以及 LMCAS::True.
被这些函数引用 invert_function(), LMCAS::anonymous_namespace{solve_mixed_transcendental.cpp}::MixedRootCollection::solve() , 以及 LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_function_pattern().
| std::vector< std::shared_ptr< SymbolicExpr > > LMCAS::detail::transcendental::invert_lambert_w | ( | const std::shared_ptr< SymbolicExpr > & | c, |
| ComputationContext & | context ) |
在文件 transcendental_inversion.cpp 第 32 行定义.
引用了 LMCAS::c, LMCAS::detail::context, invert_lambert_w(), LMCAS::detail::make_expression_ptr(), LMCAS::detail::node() , 以及 LMCAS::detail::normalize_node().
被这些函数引用 invert_lambert_w() , 以及 LMCAS::anonymous_namespace{solve_transcendental.cpp}::solve_transcendental_impl().
| bool LMCAS::detail::transcendental::try_evaluate_numeric | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| lmmc_real_t & | out, | ||
| ComputationContext & | context ) |
在文件 transcendental_inversion.cpp 第 20 行定义.
引用了 LMCAS::detail::context, try_evaluate_numeric() , 以及 LMCAS::detail::try_finite_numeric().
被这些函数引用 invert_exp_base(), LMCAS::detail::transcendental::anonymous_namespace{transcendental_patterns.cpp}::power_pattern() , 以及 try_evaluate_numeric().