|
LMCAS
Lamina Computer Algebra System
|
类 | |
| class | ExplicitComplexFinder |
| class | FunctionDependencyFinder |
| class | FunctionOfExplicitComplexFinder |
函数 | |
| std::optional< int > | bounded_complex_power (const std::shared_ptr< const SymbolicNode > &node) |
| bool | contains_explicit_complex (const detail::SymbolicNodePtr &node) |
| bool | has_function_of_explicit_complex (const detail::SymbolicNodePtr &node) |
| bool | has_z_dependent_function (const detail::SymbolicNodePtr &node, const std::string &z) |
| void | split_real_imag (const std::shared_ptr< const SymbolicNode > &node, std::shared_ptr< SymbolicExpr > &re, std::shared_ptr< SymbolicExpr > &im, ComputationContext &context) |
| 递归地将表达式分解为 (实部, 虚部),把 ComplexNode 视为 a+bi。 仅处理加法、乘法、数值与 ComplexNode 组合;其余子表达式视为实值。 | |
| Result< void > | validate_complex_expr_input (const std::shared_ptr< SymbolicExpr > &expr, ComputationContext &context, const std::string &operation) |
| Result< void > | validate_complex_expr_point_input (const std::shared_ptr< SymbolicExpr > &expr, const std::string &z, const std::shared_ptr< SymbolicExpr > &z0, int order, ComputationContext &context, const std::string &operation) |
| std::optional< int > LMCAS::anonymous_namespace{complex_analysis.cpp}::bounded_complex_power | ( | const std::shared_ptr< const SymbolicNode > & | node | ) |
在文件 complex_analysis.cpp 第 392 行定义.
引用了 bounded_complex_power(), LMCAS::exponent, LMCAS::integer , 以及 LMCAS::rational().
被这些函数引用 bounded_complex_power() , 以及 split_real_imag().
| bool LMCAS::anonymous_namespace{complex_analysis.cpp}::contains_explicit_complex | ( | const detail::SymbolicNodePtr & | node | ) |
在文件 complex_analysis.cpp 第 133 行定义.
引用了 LMCAS::SymbolicNode::accept(), contains_explicit_complex() , 以及 LMCAS::anonymous_namespace{complex_analysis.cpp}::ExplicitComplexFinder::found().
被这些函数引用 contains_explicit_complex() , 以及 LMCAS::anonymous_namespace{complex_analysis.cpp}::FunctionOfExplicitComplexFinder::visit_function().
| bool LMCAS::anonymous_namespace{complex_analysis.cpp}::has_function_of_explicit_complex | ( | const detail::SymbolicNodePtr & | node | ) |
在文件 complex_analysis.cpp 第 179 行定义.
引用了 LMCAS::SymbolicNode::accept(), LMCAS::anonymous_namespace{complex_analysis.cpp}::FunctionOfExplicitComplexFinder::found() , 以及 has_function_of_explicit_complex().
被这些函数引用 has_function_of_explicit_complex().
| bool LMCAS::anonymous_namespace{complex_analysis.cpp}::has_z_dependent_function | ( | const detail::SymbolicNodePtr & | node, |
| const std::string & | z ) |
在文件 complex_analysis.cpp 第 171 行定义.
引用了 LMCAS::SymbolicNode::accept(), LMCAS::anonymous_namespace{complex_analysis.cpp}::FunctionDependencyFinder::found() , 以及 has_z_dependent_function().
被这些函数引用 has_z_dependent_function().
| void LMCAS::anonymous_namespace{complex_analysis.cpp}::split_real_imag | ( | const std::shared_ptr< const SymbolicNode > & | node, |
| std::shared_ptr< SymbolicExpr > & | re, | ||
| std::shared_ptr< SymbolicExpr > & | im, | ||
| ComputationContext & | context ) |
递归地将表达式分解为 (实部, 虚部),把 ComplexNode 视为 a+bi。 仅处理加法、乘法、数值与 ComplexNode 组合;其余子表达式视为实值。
累乘:(a+bi)(c+di) = (ac-bd) + (ad+bc)i
对整数次幂,展开为重复乘法以分离实/虚部。
(a+bi)^e via repeated complex multiplication
实底数或非整数指数:视为实值
退化情形:原样返回为实部
默认:视为实值表达式
在文件 complex_analysis.cpp 第 409 行定义.
引用了 LMCAS::add(), bounded_complex_power(), LMCAS::context, LMCAS::exponent, LMCAS::SymbolicNode::is_zero(), LMCAS::detail::make_expression_ptr(), LMCAS::mul(), LMCAS::detail::node(), LMCAS::detail::normalize_node(), LMCAS::op , 以及 split_real_imag().
被这些函数引用 split_real_imag().
| Result< void > LMCAS::anonymous_namespace{complex_analysis.cpp}::validate_complex_expr_input | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| ComputationContext & | context, | ||
| const std::string & | operation ) |
在文件 complex_analysis.cpp 第 21 行定义.
引用了 LMCAS::context, LMCAS::Result< T >::failure(), LMCAS::InvalidArgument, LMCAS::detail::node(), LMCAS::Result< T >::success() , 以及 validate_complex_expr_input().
被这些函数引用 validate_complex_expr_input().
| Result< void > LMCAS::anonymous_namespace{complex_analysis.cpp}::validate_complex_expr_point_input | ( | const std::shared_ptr< SymbolicExpr > & | expr, |
| const std::string & | z, | ||
| const std::shared_ptr< SymbolicExpr > & | z0, | ||
| int | order, | ||
| ComputationContext & | context, | ||
| const std::string & | operation ) |
在文件 complex_analysis.cpp 第 34 行定义.
引用了 LMCAS::context, LMCAS::Result< T >::failure(), LMCAS::InvalidArgument, LMCAS::detail::node(), LMCAS::order, LMCAS::Result< T >::success() , 以及 validate_complex_expr_point_input().
被这些函数引用 validate_complex_expr_point_input().