|
LMCAS
Lamina Computer Algebra System
|
命名空间 | |
| namespace | anonymous_namespace{solver_groebner_basis.cpp} |
| namespace | anonymous_namespace{solver_groebner_builder.cpp} |
| namespace | anonymous_namespace{solver_groebner_reconstruction.cpp} |
类 | |
| struct | MonomialLess |
| struct | Poly |
| class | PolyBuilder |
| struct | PolyContext |
| struct | SugarPair |
| struct | Term |
类型定义 | |
| using | Monomial = std::vector<int> |
| using | PolyTerms = std::map<Monomial, Rational, MonomialLess> |
函数 | |
| Poly | add_poly (const Poly &a, const Poly &b) |
| void | align_variables (Poly &a, Poly &b) |
| void | buchberger (std::vector< Poly > &basis, size_t num_vars) |
| bool | chain_criterion (const std::vector< Poly > &basis, size_t i, size_t j, const std::set< std::pair< size_t, size_t > > &processed_pairs) |
| int | compute_spoly_sugar (const Poly &f, const Poly &g) |
| bool | coprime_leading_monomials (const Poly &f, const Poly &g) |
| Monomial | div_mono (const Monomial &numerator, const Monomial &denominator) |
| bool | divides_mono (const Monomial &a, const Monomial &b) |
| void | extend_variables (Poly &polynomial, size_t count) |
| SymbolicExpr | from_poly_ext (const Poly &polynomial, const PolyContext &context) |
| Monomial | lcm_mono (const Monomial &a, const Monomial &b) |
| Monomial | mul_mono (const Monomial &a, const Monomial &b) |
| Poly | mul_poly (const Poly &a, const Poly &b) |
| Poly | mul_poly_term (const Poly &polynomial, const Term &term) |
| Poly | reduce (Poly polynomial, const std::vector< Poly > &basis) |
| void | reduce_basis (std::vector< Poly > &basis) |
| std::vector< SymbolicExpr > | reduced_groebner_basis_impl (const std::vector< SymbolicExpr > &polynomials, const std::vector< std::string > &variables, ComputationContext &context) |
| Poly | s_poly (const Poly &f, const Poly &g) |
| Poly | sub_poly (const Poly &a, const Poly &b) |
| Poly | to_poly (const SymbolicExpr &expression, PolyContext &context) |
| struct LMCAS::groebner_detail::Term |
在文件 solver_groebner_internal.hpp 第 22 行定义.
| 类成员 | ||
|---|---|---|
| Rational | coeff | |
| Monomial | mono | |
| using LMCAS::groebner_detail::Monomial = std::vector<int> |
在文件 solver_groebner_internal.hpp 第 16 行定义.
| using LMCAS::groebner_detail::PolyTerms = std::map<Monomial, Rational, MonomialLess> |
在文件 solver_groebner_internal.hpp 第 27 行定义.
在文件 solver_groebner_poly.cpp 第 72 行定义.
引用了 LMCAS::a, add_poly(), LMCAS::groebner_detail::Poly::add_term(), LMCAS::b , 以及 LMCAS::c.
被这些函数引用 add_poly() , 以及 LMCAS::groebner_detail::PolyBuilder::visit().
在文件 solver_groebner_poly.cpp 第 218 行定义.
引用了 LMCAS::a, align_variables(), LMCAS::b , 以及 extend_variables().
被这些函数引用 align_variables(), LMCAS::groebner_detail::PolyBuilder::visit() , 以及 LMCAS::groebner_detail::PolyBuilder::visit().
| void LMCAS::groebner_detail::buchberger | ( | std::vector< Poly > & | basis, |
| size_t | num_vars ) |
在文件 solver_groebner_basis.cpp 第 65 行定义.
引用了 LMCAS::basis, buchberger(), chain_criterion(), compute_spoly_sugar(), coprime_leading_monomials(), extend_variables(), LMCAS::groebner_detail::Poly::is_zero(), reduce(), s_poly() , 以及 LMCAS::groebner_detail::Poly::sugar.
被这些函数引用 buchberger() , 以及 reduced_groebner_basis_impl().
| bool LMCAS::groebner_detail::chain_criterion | ( | const std::vector< Poly > & | basis, |
| size_t | i, | ||
| size_t | j, | ||
| const std::set< std::pair< size_t, size_t > > & | processed_pairs ) |
在文件 solver_groebner_poly.cpp 第 168 行定义.
引用了 chain_criterion(), divides_mono() , 以及 lcm_mono().
被这些函数引用 buchberger() , 以及 chain_criterion().
在文件 solver_groebner_poly.cpp 第 189 行定义.
引用了 compute_spoly_sugar(), LMCAS::e(), lcm_mono(), LMCAS::groebner_detail::Poly::lead_monomial() , 以及 LMCAS::groebner_detail::Poly::sugar.
被这些函数引用 buchberger(), compute_spoly_sugar() , 以及 LMCAS::groebner_detail::anonymous_namespace{solver_groebner_basis.cpp}::initial_pairs().
在文件 solver_groebner_poly.cpp 第 154 行定义.
引用了 coprime_leading_monomials(), LMCAS::groebner_detail::Poly::is_zero() , 以及 LMCAS::groebner_detail::Poly::lead_monomial().
被这些函数引用 buchberger() , 以及 coprime_leading_monomials().
| Monomial LMCAS::groebner_detail::div_mono | ( | const Monomial & | numerator, |
| const Monomial & | denominator ) |
在文件 solver_groebner_poly.cpp 第 66 行定义.
引用了 div_mono() , 以及 LMCAS::polynomial_solver_detail::num().
被这些函数引用 div_mono(), reduce() , 以及 s_poly().
在文件 solver_groebner_poly.cpp 第 59 行定义.
引用了 LMCAS::a, LMCAS::b , 以及 divides_mono().
被这些函数引用 chain_criterion(), divides_mono(), LMCAS::groebner_detail::anonymous_namespace{solver_groebner_basis.cpp}::minimal_basis() , 以及 reduce().
| void LMCAS::groebner_detail::extend_variables | ( | Poly & | polynomial, |
| size_t | count ) |
在文件 solver_groebner_poly.cpp 第 207 行定义.
引用了 LMCAS::groebner_detail::Poly::add_term(), extend_variables(), LMCAS::groebner_detail::Poly::num_vars , 以及 LMCAS::groebner_detail::Poly::terms.
被这些函数引用 align_variables(), buchberger(), LMCAS::anonymous_namespace{solver_groebner.cpp}::extend_basis(), extend_variables() , 以及 LMCAS::groebner_detail::PolyBuilder::visit().
| SymbolicExpr LMCAS::groebner_detail::from_poly_ext | ( | const Poly & | polynomial, |
| const PolyContext & | context ) |
在文件 solver_groebner_reconstruction.cpp 第 38 行定义.
引用了 LMCAS::context, LMCAS::SymbolicFactory::create_add(), LMCAS::SymbolicFactory::create_number(), LMCAS::detail::expression_from_node(), from_poly_ext() , 以及 LMCAS::groebner_detail::Poly::terms.
被这些函数引用 from_poly_ext() , 以及 LMCAS::anonymous_namespace{solver_groebner.cpp}::reconstruct_basis().
在文件 solver_groebner_poly.cpp 第 53 行定义.
引用了 LMCAS::a, LMCAS::b , 以及 lcm_mono().
被这些函数引用 chain_criterion(), compute_spoly_sugar(), lcm_mono() , 以及 s_poly().
在文件 solver_groebner_poly.cpp 第 47 行定义.
引用了 LMCAS::a, LMCAS::b , 以及 mul_mono().
被这些函数引用 mul_mono(), mul_poly() , 以及 mul_poly_term().
在文件 solver_groebner_poly.cpp 第 99 行定义.
引用了 LMCAS::a, LMCAS::groebner_detail::Poly::add_term(), LMCAS::b, mul_mono() , 以及 mul_poly().
被这些函数引用 mul_poly(), LMCAS::groebner_detail::PolyBuilder::visit() , 以及 LMCAS::groebner_detail::PolyBuilder::visit().
在文件 solver_groebner_poly.cpp 第 90 行定义.
引用了 LMCAS::groebner_detail::Poly::add_term(), LMCAS::c, mul_mono(), mul_poly_term(), LMCAS::groebner_detail::Poly::num_vars, LMCAS::t , 以及 LMCAS::groebner_detail::Poly::terms.
被这些函数引用 mul_poly_term(), reduce() , 以及 s_poly().
在文件 solver_groebner_poly.cpp 第 109 行定义.
引用了 LMCAS::groebner_detail::Term::coeff, div_mono(), divides_mono(), LMCAS::groebner_detail::Poly::is_zero(), LMCAS::groebner_detail::Poly::lead_coeff(), LMCAS::groebner_detail::Poly::lead_monomial(), LMCAS::groebner_detail::Poly::lead_term(), LMCAS::lt(), LMCAS::groebner_detail::Term::mono, mul_poly_term(), LMCAS::groebner_detail::Poly::num_vars, LMCAS::r, reduce(), sub_poly() , 以及 LMCAS::groebner_detail::Poly::terms.
被这些函数引用 buchberger(), reduce() , 以及 reduce_basis().
| void LMCAS::groebner_detail::reduce_basis | ( | std::vector< Poly > & | basis | ) |
在文件 solver_groebner_basis.cpp 第 89 行定义.
引用了 LMCAS::basis, reduce() , 以及 reduce_basis().
被这些函数引用 reduce_basis() , 以及 reduced_groebner_basis_impl().
| std::vector< SymbolicExpr > LMCAS::groebner_detail::reduced_groebner_basis_impl | ( | const std::vector< SymbolicExpr > & | polynomials, |
| const std::vector< std::string > & | variables, | ||
| ComputationContext & | context ) |
在文件 solver_groebner.cpp 第 50 行定义.
引用了 LMCAS::basis, buchberger(), LMCAS::context , 以及 reduce_basis().
被这些函数引用 LMCAS::anonymous_namespace{solver_groebner_system.cpp}::simplified_basis().
在文件 solver_groebner_poly.cpp 第 140 行定义.
引用了 LMCAS::groebner_detail::Term::coeff, div_mono(), lcm_mono(), LMCAS::groebner_detail::Poly::lead_coeff(), LMCAS::groebner_detail::Poly::lead_monomial(), LMCAS::groebner_detail::Term::mono, mul_poly_term(), s_poly() , 以及 sub_poly().
被这些函数引用 buchberger() , 以及 s_poly().
在文件 solver_groebner_poly.cpp 第 80 行定义.
引用了 LMCAS::a, LMCAS::groebner_detail::Poly::add_term(), LMCAS::b, LMCAS::c , 以及 sub_poly().
被这些函数引用 reduce(), s_poly() , 以及 sub_poly().
| Poly LMCAS::groebner_detail::to_poly | ( | const SymbolicExpr & | expression, |
| PolyContext & | context ) |
在文件 solver_groebner_conversion.cpp 第 144 行定义.
引用了 LMCAS::b, LMCAS::groebner_detail::PolyContext::ext_vars, LMCAS::detail::node() , 以及 to_poly().
被这些函数引用 LMCAS::anonymous_namespace{solver_groebner.cpp}::convert_polynomials() , 以及 to_poly().