|
LMCAS
Lamina Computer Algebra System
|
#include </home/runner/work/docs/docs/LMCAS/src/internal/symbolic_ast/base.hpp>
静态 Public 成员函数 | |
| static std::shared_ptr< const SymbolicNode > | create_add (std::vector< std::shared_ptr< const SymbolicNode > > ops, detail::RewriteBudget *budget=nullptr) |
| 创建加法节点,自动扁平化嵌套加法并消除零项. | |
| static std::shared_ptr< const SymbolicNode > | create_complex (std::shared_ptr< const SymbolicNode > real, std::shared_ptr< const SymbolicNode > imag) |
| 创建复数节点,自动简化(若虚部为 0,则返回实部). | |
| static std::shared_ptr< const SymbolicNode > | create_multiply (std::vector< std::shared_ptr< const SymbolicNode > > ops, detail::RewriteBudget *budget=nullptr) |
| 创建乘法节点,自动扁平化嵌套乘法并消除单位元. | |
| static std::shared_ptr< const SymbolicNode > | create_number (const ::LMCAS::BigInt &v) |
| static std::shared_ptr< const SymbolicNode > | create_number (const ::LMCAS::Rational &v) |
| static std::shared_ptr< const SymbolicNode > | create_number (lmmc_real_t v) |
| static std::shared_ptr< const SymbolicNode > | create_power (std::shared_ptr< const SymbolicNode > base, std::shared_ptr< const SymbolicNode > exponent) |
| 创建幂运算节点,自动处理指数为 0/1 及底数为 0/1 的情况. | |
| static std::shared_ptr< const SymbolicNode > | create_variable (const std::string &name) |
|
static |
创建加法节点,自动扁平化嵌套加法并消除零项.
| ops | 操作数列表 |
在文件 symbolic_factory.cpp 第 12 行定义.
引用了 LMCAS::add(), LMCAS::detail::RewriteBudget::append_size(), create_number(), LMCAS::detail::make_node(), LMCAS::detail::RewriteBudget::measure(), LMCAS::normalization_append(), LMCAS::normalization_check_arithmetic(), LMCAS::normalization_check_children() , 以及 LMCAS::op.
被这些函数引用 LMCAS::detail::anonymous_namespace{complex_quadratic.cpp}::add(), LMCAS::equivalence_detail::anonymous_namespace{equivalence_complex.cpp}::canonicalize_sum(), LMCAS::anonymous_namespace{integration_linearity.cpp}::combine_integration_exponentials(), LMCAS::combine_operands(), LMCAS::DifferentiationVisitor::differentiate_atan2(), LMCAS::NormalizationVisitor::expand_complex_product(), LMCAS::groebner_detail::from_poly_ext(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::inverse_trigonometric_outer(), LMCAS::isolate_linear_coeff(), LMCAS::detail::materialize_integral(), LMCAS::NormalizationVisitor::merge_complex_terms(), LMCAS::RootOfNode::polynomial(), LMCAS::quantity_add(), LMCAS::quantity_subtract(), LMCAS::anonymous_namespace{transcendental_solver_substitution.cpp}::SubstNodeVisitor::replace(), LMCAS::anonymous_namespace{residual_verification.cpp}::replace_root_operands(), LMCAS::anonymous_namespace{transcendental_solver_substitution.cpp}::rewrite_exp_as_u_power(), LMCAS::equivalence_detail::rewrite_exp_log_basic_identity(), LMCAS::equivalence_detail::anonymous_namespace{equivalence_trig.cpp}::rewrite_trig_sum(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::special_outer(), LMCAS::anonymous_namespace{residual_verification.cpp}::FormalResidual::sum(), LMCAS::te_abs_fourier(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit() , 以及 LMCAS::RewriteVisitor::visit().
|
static |
创建复数节点,自动简化(若虚部为 0,则返回实部).
在文件 symbolic_factory.cpp 第 167 行定义.
引用了 LMCAS::imag, LMCAS::detail::make_node() , 以及 LMCAS::real().
被这些函数引用 LMCAS::cauchy_integral_impl(), LMCAS::complex(), LMCAS::conjugate_checked(), LMCAS::NormalizationVisitor::expand_complex_product(), LMCAS::is_analytic_impl(), LMCAS::NormalizationVisitor::merge_complex_terms(), LMCAS::equivalence_detail::rewritten_complex(), LMCAS::solve_exact_factor(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::NormalizationVisitor::visit() , 以及 LMCAS::RewriteVisitor::visit().
|
static |
创建乘法节点,自动扁平化嵌套乘法并消除单位元.
| ops | 操作数列表 |
在文件 symbolic_factory.cpp 第 83 行定义.
引用了 LMCAS::detail::RewriteBudget::append_size(), create_number(), LMCAS::detail::make_node(), LMCAS::detail::RewriteBudget::measure(), LMCAS::mul(), LMCAS::normalization_append(), LMCAS::normalization_check_arithmetic(), LMCAS::normalization_check_children() , 以及 LMCAS::op.
被这些函数引用 LMCAS::equivalence_detail::anonymous_namespace{equivalence_complex.cpp}::canonicalize_product(), LMCAS::combine_operands(), LMCAS::convert_unit(), LMCAS::convert_unit(), LMCAS::DifferentiationVisitor::differentiate_atan2(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::elementary_outer(), LMCAS::anonymous_namespace{normalization_numeric_powers.cpp}::extract_small_square_factor(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::inverse_trigonometric_outer(), LMCAS::isolate_linear_coeff(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::logarithmic_outer(), LMCAS::anonymous_namespace{quantity.cpp}::make_quantity(), LMCAS::detail::anonymous_namespace{complex_quadratic.cpp}::multiply(), LMCAS::RootOfNode::polynomial(), LMCAS::anonymous_namespace{residual_verification.cpp}::FormalResidual::product(), LMCAS::quantity_add(), LMCAS::quantity_divide(), LMCAS::quantity_multiply(), LMCAS::quantity_subtract(), LMCAS::anonymous_namespace{transcendental_solver_substitution.cpp}::SubstNodeVisitor::replace(), LMCAS::anonymous_namespace{residual_verification.cpp}::replace_root_operands(), LMCAS::anonymous_namespace{transcendental_solver_substitution.cpp}::rewrite_exp_as_u_power(), LMCAS::equivalence_detail::rewrite_exp_log_basic_identity(), LMCAS::equivalence_detail::anonymous_namespace{equivalence_exp_log.cpp}::rewrite_negative_lambert_exponential(), LMCAS::equivalence_detail::rewrite_trig_basic_identity(), LMCAS::scale_integral_field(), LMCAS::detail::transcendental::anonymous_namespace{transcendental_patterns.cpp}::scaled_function(), LMCAS::anonymous_namespace{expr_serialization.cpp}::Writer::scaled_value(), LMCAS::anonymous_namespace{quantity.cpp}::scaled_value(), LMCAS::solver_detail::solve_linear_system_impl(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::special_outer(), LMCAS::strip_unit(), LMCAS::te_abs_decay(), LMCAS::te_abs_fourier(), LMCAS::te_decay_condition(), LMCAS::te_extract_exp(), LMCAS::te_inverse_pole_term(), LMCAS::groebner_detail::anonymous_namespace{solver_groebner_reconstruction.cpp}::term_node(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::trigonometric_outer(), LMCAS::equivalence_detail::anonymous_namespace{equivalence_trig.cpp}::unwrap_trig_negated_argument(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit() , 以及 LMCAS::RewriteVisitor::visit().
|
static |
在文件 symbolic_factory.cpp 第 7 行定义.
引用了 LMCAS::detail::make_node() , 以及 LMCAS::v.
被这些函数引用 LMCAS::collect_power_denominators(), LMCAS::detail::anonymous_namespace{complex_quadratic.cpp}::construct_roots(), create_add(), create_multiply(), create_power(), LMCAS::DifferentiationVisitor::differentiate_atan2(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::elementary_outer(), LMCAS::groebner_detail::from_poly_ext(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::hyperbolic_outer(), LMCAS::detail::anonymous_namespace{complex_quadratic.cpp}::integer(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::inverse_trigonometric_outer(), LMCAS::isolate_linear_coeff(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::logarithmic_outer(), LMCAS::NormalizationVisitor::merge_complex_terms(), LMCAS::anonymous_namespace{residual_verification.cpp}::FormalResidual::number(), LMCAS::RootOfNode::polynomial(), LMCAS::quantity_divide(), LMCAS::anonymous_namespace{quantity.cpp}::rational_node(), LMCAS::anonymous_namespace{residual_verification.cpp}::FormalResidual::register_new_atom(), LMCAS::anonymous_namespace{residual_verification.cpp}::FormalResidual::rewrite_function(), LMCAS::anonymous_namespace{residual_verification.cpp}::FormalResidual::rewrite_radical(), LMCAS::anonymous_namespace{expr_serialization.cpp}::Writer::scaled_value(), LMCAS::solver_detail::solve_linear_system_impl(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::special_outer(), LMCAS::te_abs_decay(), LMCAS::te_abs_fourier(), LMCAS::te_extract_exp(), LMCAS::te_inverse_pole_term(), LMCAS::transform_detail::te_linear_coefficient(), LMCAS::groebner_detail::anonymous_namespace{solver_groebner_reconstruction.cpp}::term_node(), LMCAS::anonymous_namespace{differentiation_functions.cpp}::trigonometric_outer(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit() , 以及 LMCAS::DifferentiationVisitor::visit().
|
static |
|
static |
|
static |
创建幂运算节点,自动处理指数为 0/1 及底数为 0/1 的情况.
| base | 底数节点 |
| exponent | 指数节点 |
在文件 symbolic_factory.cpp 第 139 行定义.
引用了 LMCAS::Complex, LMCAS::context, create_number(), LMCAS::exponent, LMCAS::detail::make_node(), LMCAS::detail::no_facts(), LMCAS::normalization_can_discard(), LMCAS::normalization_proved(), LMCAS::detail::query_nonzero_value(), LMCAS::detail::query_positive_value() , 以及 LMCAS::Real.
被这些函数引用 LMCAS::collect_power_denominators(), LMCAS::detail::anonymous_namespace{complex_quadratic.cpp}::construct_roots(), LMCAS::detail::anonymous_namespace{complex_quadratic.cpp}::divide(), LMCAS::RootOfNode::polynomial(), LMCAS::quantity_divide(), LMCAS::quantity_power(), LMCAS::anonymous_namespace{transcendental_solver_substitution.cpp}::SubstNodeVisitor::replace(), LMCAS::anonymous_namespace{residual_verification.cpp}::replace_root_power(), LMCAS::anonymous_namespace{transcendental_solver_substitution.cpp}::rewrite_exp_as_u_power(), LMCAS::te_abs_fourier(), LMCAS::groebner_detail::anonymous_namespace{solver_groebner_reconstruction.cpp}::term_node() , 以及 LMCAS::detail::SymbolicRewriter::visit().
|
static |
在文件 symbolic_factory.cpp 第 10 行定义.
引用了 LMCAS::detail::make_node() , 以及 LMCAS::name.
被这些函数引用 LMCAS::inverse_fourier_transform_core(), LMCAS::isolate_linear_coeff(), LMCAS::RootOfNode::polynomial(), LMCAS::anonymous_namespace{residual_verification.cpp}::replace_exact_root(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::rewrite_scoped(), LMCAS::te_abs_fourier(), LMCAS::te_fourier_unevaluated(), LMCAS::te_unevaluated_inv_laplace(), LMCAS::te_unevaluated_laplace(), LMCAS::groebner_detail::anonymous_namespace{solver_groebner_reconstruction.cpp}::variable_node(), LMCAS::wildcard() , 以及 LMCAS::zt_unevaluated().