|
LMCAS
Lamina Computer Algebra System
|
类 | |
| class | PolynomialSystemSearch |
类型定义 | |
| using | Expressions = std::vector<std::shared_ptr<SymbolicExpr>> |
| using | PolynomialSolution = std::map<std::string, SymbolicExpr> |
| using | PolynomialSolutions = std::vector<PolynomialSolution> |
函数 | |
| std::shared_ptr< SymbolicExpr > | clear_denominators (const SymbolicExpr &equation, Expressions &constraints, ComputationContext &context) |
| Result< groebner_detail::Poly > | convert_basis_polynomial (const SymbolicExpr &polynomial, const std::vector< std::string > &variables, groebner_detail::PolyContext &conversion, ComputationContext &context, std::shared_ptr< SymbolicExpr > &simplified) |
| PolynomialSystemResult | filter_denominators (PolynomialSolutions candidates, const Expressions &constraints, ComputationContext &context) |
| Result< Expressions > | simplified_basis (const std::vector< SymbolicExpr > &equations, const std::vector< std::string > &variables, ComputationContext &context) |
| PolynomialSystemResult | solve_polynomial_system_impl (const std::vector< SymbolicExpr > &equations, const std::vector< std::string > &variables, ComputationContext &context) |
| PolynomialSystemResult | solve_single_equation (const SymbolicExpr &equation, const std::string &variable, ComputationContext &context) |
| std::shared_ptr< SymbolicExpr > | substitute_solution (const std::shared_ptr< SymbolicExpr > &expression, const PolynomialSolution &solution, ComputationContext &context) |
| Result< void > | validate_basis_input (const std::vector< SymbolicExpr > &equations, const std::vector< std::string > &variables, groebner_detail::PolyContext &conversion, ComputationContext &context) |
| using LMCAS::anonymous_namespace{solver_groebner_system.cpp}::Expressions = std::vector<std::shared_ptr<SymbolicExpr>> |
在文件 solver_groebner_system.cpp 第 21 行定义.
| using LMCAS::anonymous_namespace{solver_groebner_system.cpp}::PolynomialSolution = std::map<std::string, SymbolicExpr> |
在文件 solver_groebner_system.cpp 第 19 行定义.
| using LMCAS::anonymous_namespace{solver_groebner_system.cpp}::PolynomialSolutions = std::vector<PolynomialSolution> |
在文件 solver_groebner_system.cpp 第 20 行定义.
| std::shared_ptr< SymbolicExpr > LMCAS::anonymous_namespace{solver_groebner_system.cpp}::clear_denominators | ( | const SymbolicExpr & | equation, |
| Expressions & | constraints, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 23 行定义.
引用了 clear_denominators(), LMCAS::solver_detail::collect_denominator_factors(), LMCAS::context, LMCAS::solver_detail::is_polynomial_node(), LMCAS::detail::make_expression_ptr(), LMCAS::detail::make_node(), LMCAS::solver_detail::multiply_no_expand(), LMCAS::detail::node(), LMCAS::detail::normalize_node() , 以及 LMCAS::solver_detail::to_ptr().
被这些函数引用 clear_denominators() , 以及 solve_polynomial_system_impl().
| Result< groebner_detail::Poly > LMCAS::anonymous_namespace{solver_groebner_system.cpp}::convert_basis_polynomial | ( | const SymbolicExpr & | polynomial, |
| const std::vector< std::string > & | variables, | ||
| groebner_detail::PolyContext & | conversion, | ||
| ComputationContext & | context, | ||
| std::shared_ptr< SymbolicExpr > & | simplified ) |
在文件 solver_groebner_system.cpp 第 120 行定义.
引用了 LMCAS::SymbolicNode::accept(), LMCAS::context, convert_basis_polynomial(), LMCAS::groebner_detail::PolyBuilder::failed, LMCAS::Result< T >::failure(), LMCAS::groebner_detail::PolyBuilder::get_result(), LMCAS::Inconclusive, LMCAS::detail::make_expression_ptr(), LMCAS::detail::node() , 以及 LMCAS::detail::normalize_node().
被这些函数引用 convert_basis_polynomial() , 以及 simplified_basis().
| PolynomialSystemResult LMCAS::anonymous_namespace{solver_groebner_system.cpp}::filter_denominators | ( | PolynomialSolutions | candidates, |
| const Expressions & | constraints, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 68 行定义.
引用了 LMCAS::Complex, LMCAS::context, LMCAS::denominator, LMCAS::Result< std::vector< std::map< std::string, SymbolicExpr > > >::failure(), LMCAS::False, filter_denominators(), LMCAS::Inconclusive, LMCAS::InternalInvariant, LMCAS::detail::no_facts(), LMCAS::detail::node(), LMCAS::detail::query_nonzero_value(), substitute_solution() , 以及 LMCAS::True.
被这些函数引用 filter_denominators() , 以及 solve_polynomial_system_impl().
| Result< Expressions > LMCAS::anonymous_namespace{solver_groebner_system.cpp}::simplified_basis | ( | const std::vector< SymbolicExpr > & | equations, |
| const std::vector< std::string > & | variables, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 147 行定义.
引用了 LMCAS::basis, LMCAS::context, convert_basis_polynomial(), LMCAS::Result< T >::failure(), LMCAS::Inconclusive, LMCAS::is_zero_dimensional(), LMCAS::groebner_detail::reduced_groebner_basis_impl(), simplified_basis() , 以及 validate_basis_input().
被这些函数引用 simplified_basis() , 以及 solve_polynomial_system_impl().
| PolynomialSystemResult LMCAS::anonymous_namespace{solver_groebner_system.cpp}::solve_polynomial_system_impl | ( | const std::vector< SymbolicExpr > & | equations, |
| const std::vector< std::string > & | variables, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 290 行定义.
引用了 LMCAS::basis, clear_denominators(), LMCAS::context, LMCAS::Result< std::vector< std::map< std::string, SymbolicExpr > > >::failure(), filter_denominators(), LMCAS::Inconclusive, simplified_basis(), LMCAS::anonymous_namespace{solver_groebner_system.cpp}::PolynomialSystemSearch::solve(), solve_polynomial_system_impl() , 以及 solve_single_equation().
被这些函数引用 solve_polynomial_system_impl().
| PolynomialSystemResult LMCAS::anonymous_namespace{solver_groebner_system.cpp}::solve_single_equation | ( | const SymbolicExpr & | equation, |
| const std::string & | variable, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 93 行定义.
引用了 LMCAS::context, LMCAS::Result< std::vector< std::map< std::string, SymbolicExpr > > >::failure(), LMCAS::detail::make_expression_ptr(), LMCAS::solve_finite_checked(), solve_single_equation() , 以及 LMCAS::variable.
被这些函数引用 solve_polynomial_system_impl() , 以及 solve_single_equation().
| std::shared_ptr< SymbolicExpr > LMCAS::anonymous_namespace{solver_groebner_system.cpp}::substitute_solution | ( | const std::shared_ptr< SymbolicExpr > & | expression, |
| const PolynomialSolution & | solution, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 55 行定义.
引用了 LMCAS::context, LMCAS::detail::make_expression_ptr(), LMCAS::name, LMCAS::detail::node(), LMCAS::detail::normalize_node(), LMCAS::detail::substitute_node(), substitute_solution() , 以及 LMCAS::value.
被这些函数引用 filter_denominators(), LMCAS::anonymous_namespace{solver_groebner_system.cpp}::PolynomialSystemSearch::substitute_basis() , 以及 substitute_solution().
| Result< void > LMCAS::anonymous_namespace{solver_groebner_system.cpp}::validate_basis_input | ( | const std::vector< SymbolicExpr > & | equations, |
| const std::vector< std::string > & | variables, | ||
| groebner_detail::PolyContext & | conversion, | ||
| ComputationContext & | context ) |
在文件 solver_groebner_system.cpp 第 104 行定义.
引用了 LMCAS::SymbolicNode::accept(), LMCAS::context, LMCAS::groebner_detail::PolyBuilder::failed, LMCAS::Result< T >::failure(), LMCAS::Inconclusive, LMCAS::detail::node(), LMCAS::Result< T >::success() , 以及 validate_basis_input().
被这些函数引用 simplified_basis() , 以及 validate_basis_input().