|
LMCAS
Lamina Computer Algebra System
|
#include </home/runner/work/docs/docs/LMCAS/src/internal/solver_groebner_builder.hpp>
Public 成员函数 | |
| PolyBuilder (const std::vector< std::string > &v, PolyContext &ctx, bool strict=false) | |
| PolyBuilder (const std::vector< std::string > &v, std::vector< std::string > &ext_v, std::unordered_map< std::string, size_t > &trans_map, std::unordered_map< size_t, std::shared_ptr< const SymbolicNode > > *aux_map, detail::RewriteBudget &budget, bool strict=false) | |
| Poly | get_result () const |
| void | visit (const AddNode &node) override |
| void | visit (const ComplexNode &node) override |
| void | visit (const FiniteSetNode &node) override |
| void | visit (const FunctionNode &node) override |
| void | visit (const IntegralNode &node) override |
| void | visit (const IntervalNode &node) override |
| void | visit (const LimitNode &node) override |
| void | visit (const LogicalNode &node) override |
| void | visit (const MatrixNode &node) override |
| void | visit (const MembershipNode &node) override |
| void | visit (const MultiplyNode &node) override |
| void | visit (const NumberNode &node) override |
| void | visit (const PiecewiseNode &node) override |
| void | visit (const PowerNode &node) override |
| void | visit (const ProductNode &node) override |
| void | visit (const QuantifierNode &node) override |
| void | visit (const QuantityNode &node) override |
| void | visit (const RelationalNode &node) override |
| void | visit (const RootOfNode &node) override |
| void | visit (const SetBuilderNode &node) override |
| void | visit (const SummationNode &node) override |
| void | visit (const TransformNode &node) override |
| void | visit (const UninterpretedFunctionNode &node) override |
| void | visit (const VariableNode &node) override |
Public 属性 | |
| bool | failed = false |
Protected 成员函数 | |
| RewriteBudget * | rewrite_budget () const noexcept |
Protected 属性 | |
| int | current_depth = 0 |
静态 Protected 属性 | |
| static constexpr int | MAX_DEPTH = 200 |
Private 成员函数 | |
| bool | function_depends_on_variables (const FunctionNode &node) const |
| size_t | get_or_create_aux_var (const std::shared_ptr< const SymbolicNode > &node) |
| void | represent_as_aux_or_fail (const std::shared_ptr< const SymbolicNode > &node) |
| bool | use_numeric_function (const FunctionNode &node) |
Private 属性 | |
| std::unordered_map< size_t, std::shared_ptr< const SymbolicNode > > * | aux_to_node |
| std::vector< std::string > & | ext_vars |
| Poly | result |
| RewriteBudget * | rewrite_budget_ = nullptr |
| bool | strict_mode |
| std::unordered_map< std::string, size_t > & | transcendental_map |
| std::vector< std::string > | vars |
在文件 solver_groebner_builder.hpp 第 8 行定义.
| LMCAS::groebner_detail::PolyBuilder::PolyBuilder | ( | const std::vector< std::string > & | v, |
| PolyContext & | ctx, | ||
| bool | strict = false ) |
在文件 solver_groebner_builder.cpp 第 41 行定义.
引用了 LMCAS::detail::SymbolicVisitor::SymbolicVisitor(), aux_to_node, ext_vars, result, strict_mode, transcendental_map, LMCAS::v , 以及 vars.
被这些函数引用 visit(), visit() , 以及 visit().
|
inline |
在文件 solver_groebner_builder.hpp 第 31 行定义.
引用了 LMCAS::detail::SymbolicVisitor::SymbolicVisitor(), aux_to_node, ext_vars, result, strict_mode, transcendental_map, LMCAS::v , 以及 vars.
|
private |
在文件 solver_groebner_conversion.cpp 第 40 行定义.
引用了 LMCAS::expression_depends_on_variable(), LMCAS::variable , 以及 vars.
被这些函数引用 visit().
|
private |
在文件 solver_groebner_conversion.cpp 第 7 行定义.
引用了 aux_to_node, LMCAS::detail::expression_from_node(), ext_vars , 以及 transcendental_map.
被这些函数引用 represent_as_aux_or_fail() , 以及 visit().
|
inline |
在文件 solver_groebner_builder.hpp 第 40 行定义.
引用了 result.
被这些函数引用 LMCAS::anonymous_namespace{solver_groebner_system.cpp}::convert_basis_polynomial() , 以及 visit().
|
private |
在文件 solver_groebner_conversion.cpp 第 28 行定义.
引用了 LMCAS::groebner_detail::Poly::Poly(), LMCAS::groebner_detail::Poly::add_term(), ext_vars, failed, get_or_create_aux_var(), result , 以及 strict_mode.
被这些函数引用 visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit() , 以及 visit().
|
inlineprotectednoexceptinherited |
引用了 rewrite_budget_.
被这些函数引用 LMCAS::ExpandVisitor::append_child(), LMCAS::DifferentiationVisitor::append_result(), LMCAS::ExpandVisitor::check_child_count(), LMCAS::NormalizationVisitor::collect_expanded_product(), LMCAS::NormalizationVisitor::collect_product(), LMCAS::NormalizationVisitor::collect_sum(), LMCAS::DifferentiationVisitor::differentiate_atan2(), LMCAS::NormalizationVisitor::distribute_power(), LMCAS::NormalizationVisitor::distribute_product(), LMCAS::NormalizationVisitor::expand_complex_product(), LMCAS::NormalizationVisitor::expand_product(), LMCAS::NormalizationVisitor::extract_term_coefficient(), LMCAS::NormalizationVisitor::finish_squared_norm(), LMCAS::NormalizationVisitor::fuse_matrix_product(), LMCAS::NormalizationVisitor::matrix_product_element(), LMCAS::NormalizationVisitor::merge_complex_terms(), LMCAS::NormalizationVisitor::normalize_bound_body(), LMCAS::NormalizationVisitor::normalize_function_parity(), LMCAS::NormalizationVisitor::normalize_logarithm(), LMCAS::NormalizationVisitor::normalize_matrix_product(), LMCAS::NormalizationVisitor::normalize_matrix_sum(), LMCAS::NormalizationVisitor::normalize_natural_logarithm(), LMCAS::NormalizationVisitor::normalize_nested_imaginary_power(), LMCAS::NormalizationVisitor::normalize_nested_power(), LMCAS::NormalizationVisitor::normalize_power_identity(), LMCAS::NormalizationVisitor::normalize_unary_function(), LMCAS::anonymous_namespace{expression_analysis.cpp}::FreeSubstitution::rewrite_scoped(), LMCAS::NormalizationVisitor::scale_matrix(), LMCAS::DifferentiationVisitor::set_result(), LMCAS::ExpandVisitor::set_result(), LMCAS::ExpandVisitor::set_result(), LMCAS::NormalizationVisitor::set_result(), LMCAS::NormalizationVisitor::simplify_assumed_absolute(), LMCAS::NormalizationVisitor::simplify_assumed_square_root(), LMCAS::NormalizationVisitor::try_normalize_squared_norm(), LMCAS::groebner_detail::PolyBuilder::use_numeric_function(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::detail::SymbolicRewriter::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::DifferentiationVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::ExpandVisitor::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::groebner_detail::PolyBuilder::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit(), LMCAS::NormalizationVisitor::visit() , 以及 LMCAS::NormalizationVisitor::visit().
|
private |
在文件 solver_groebner_conversion.cpp 第 49 行定义.
引用了 LMCAS::groebner_detail::Poly::Poly(), LMCAS::groebner_detail::Poly::add_term(), LMCAS::detail::expression_from_node(), ext_vars, LMCAS::detail::make_expression_ptr(), LMCAS::detail::make_node(), LMCAS::detail::node(), LMCAS::detail::normalize_node(), result , 以及 LMCAS::detail::SymbolicVisitor::rewrite_budget().
被这些函数引用 visit().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_builder.cpp 第 80 行定义.
引用了 PolyBuilder(), LMCAS::groebner_detail::add_poly(), LMCAS::groebner_detail::align_variables(), aux_to_node, LMCAS::b, ext_vars, failed, LMCAS::op, result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), strict_mode, transcendental_map , 以及 vars.
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 119 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 123 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 69 行定义.
引用了 failed, function_depends_on_variables(), LMCAS::detail::make_node(), represent_as_aux_or_fail(), strict_mode , 以及 use_numeric_function().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 131 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 125 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 135 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 91 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 83 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 127 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_builder.cpp 第 95 行定义.
引用了 PolyBuilder(), LMCAS::groebner_detail::Poly::add_term(), LMCAS::groebner_detail::align_variables(), aux_to_node, LMCAS::b, ext_vars, failed, LMCAS::groebner_detail::mul_poly(), LMCAS::op, result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), strict_mode, transcendental_map , 以及 vars.
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_builder.cpp 第 46 行定义.
引用了 LMCAS::groebner_detail::Poly::Poly(), LMCAS::groebner_detail::Poly::add_term(), ext_vars , 以及 result.
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 95 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_builder.cpp 第 112 行定义.
引用了 LMCAS::groebner_detail::Poly::Poly(), PolyBuilder(), LMCAS::groebner_detail::Poly::add_term(), aux_to_node, LMCAS::exponent, ext_vars, LMCAS::groebner_detail::extend_variables(), failed, get_result(), LMCAS::detail::make_node(), LMCAS::groebner_detail::mul_poly(), LMCAS::groebner_detail::Poly::num_vars, represent_as_aux_or_fail(), result, LMCAS::detail::SymbolicVisitor::rewrite_budget(), strict_mode, transcendental_map, LMCAS::value , 以及 vars.
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 103 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 111 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 129 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 87 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 139 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 115 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 99 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 107 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_conversion.cpp 第 79 行定义.
引用了 represent_as_aux_or_fail().
|
overridevirtual |
实现了 LMCAS::detail::SymbolicVisitor.
在文件 solver_groebner_builder.cpp 第 56 行定义.
引用了 LMCAS::groebner_detail::Poly::Poly(), LMCAS::groebner_detail::Poly::add_term(), ext_vars, failed, get_or_create_aux_var(), LMCAS::detail::make_node(), result , 以及 strict_mode.
|
private |
在文件 solver_groebner_builder.hpp 第 15 行定义.
被这些函数引用 PolyBuilder(), PolyBuilder(), get_or_create_aux_var(), visit(), visit() , 以及 visit().
|
protectedinherited |
|
private |
在文件 solver_groebner_builder.hpp 第 11 行定义.
被这些函数引用 PolyBuilder(), PolyBuilder(), get_or_create_aux_var(), represent_as_aux_or_fail(), use_numeric_function(), visit(), visit(), visit(), visit() , 以及 visit().
| bool LMCAS::groebner_detail::PolyBuilder::failed = false |
|
staticconstexprprotectedinherited |
|
private |
在文件 solver_groebner_builder.hpp 第 16 行定义.
被这些函数引用 PolyBuilder(), PolyBuilder(), get_result(), represent_as_aux_or_fail(), use_numeric_function(), visit(), visit(), visit(), visit() , 以及 visit().
|
privateinherited |
|
private |
在文件 solver_groebner_builder.hpp 第 17 行定义.
被这些函数引用 PolyBuilder(), PolyBuilder(), represent_as_aux_or_fail(), visit(), visit(), visit(), visit() , 以及 visit().
|
private |
在文件 solver_groebner_builder.hpp 第 13 行定义.
被这些函数引用 PolyBuilder(), PolyBuilder(), get_or_create_aux_var(), visit(), visit() , 以及 visit().
|
private |
在文件 solver_groebner_builder.hpp 第 9 行定义.
被这些函数引用 PolyBuilder(), PolyBuilder(), function_depends_on_variables(), visit(), visit() , 以及 visit().