Gröbner basis project
Codebase for research into Gröbner basis computation
|
▼CAbstract_Polynomial | The general class of a polynomial |
CConstant_Polynomial | A Constant_Polynomial is a polynomial that should not change |
▼CMutable_Polynomial | Polynomials that need arithmetic typically descend from this class |
CDouble_Buffered_Polynomial | Polynomials implemented using double buffers.A double-buffered polynomial maintains at all times two arrays to store its terms. (Technically, it retains four arrays: two for the monomials, and two for the coefficients.) Any operation that might change the length of the polynomials reads the data in one buffer and writes the result to the other buffer. The goal of this approach is to avoid the penalties associated with allocating, deallocating, and traversing the nodes of a linked list |
CPolynomial_Geobucket | Implementation of geobuckets |
CPolynomial_Linked_List | Polynomials represented as a doubly linked list |
Cconstraint | Constraint \( c_1 x_1 + \ldots + c_n x_n \geq 0 \) |
▼CCritical_Pair_Basic | Controls the creation of s-polynomials |
CCritical_Pair_Dynamic | Controls the creation of s-polynomials, specialized for the dynamic algorithm |
CCritical_Pair_XPlor | Information on critical pairs by their index in the basis, in addition to the usual information |
CCritical_Pair_XPlor | Information on critical pairs by their index in the basis, in addition to the usual information |
CCritical_Pair_XPlor | Information on critical pairs by their index in the basis, in addition to the usual information |
CCritical_Pair_Communication | Used to pass inforation on a critical pair from one polynomial to another |
CDense_Univariate_Integer_Polynomial | Quick-’n-dirty Dense_Univariate integer polynomial class |
CDense_Univariate_Rational_Polynomial | Quick-’n-dirty Dense_Univariate rational polynomial class |
Cedge | Edge \((r_1,r_2)\) connecting the two rays \( r_1 \) and \( r_2 \) |
▼Cexception | |
CMonomial_Ideal_Variables_Exception | Exceptions for Monomial Ideals |
CNonsingular_Matrix_Ordering_Exception | Exceptions for Matrix_Ordering |
CF4_Reduction_Data | Implementation of Faugère’s F4 algorithm |
Cgoda_block< TYPE > | Heart of the memory pool allocator (Grading_Order_Data_Allocator) |
CGrading_Order_Data_Allocator< TYPE > | Special memory pool allocator for Grevlex_Order_Data and WGrevlex_Order_Data |
CIndeterminate | Implementation of indeterminates, for easier building of polynomials |
▼CLP_Solver | Exact or approximate polyhedral cone solution, with methods allowing definition and refinement |
CGLPK_Solver | Approximate skeleton of a polyhedral cone, using GLPK linear solver |
CPPL_Solver | Approximate skeleton of a polyhedral cone, using PPL linear solver |
Cskeleton | Skeleton of a polyhedral cone, with methods allowing definition and refinement |
CMonomial | Implementation of monomials |
CMonomial_Ideal | A class for monomial ideals |
CMonomial_Node | Tool for Polynomial_Linked_List |
▼CMonomial_Order_Data | Data for a monomial ordering: optional, but stored in Monomial |
CGrevlex_Order_Data | Data for the grevlex monomial ordering |
CWGrevlex_Order_Data | Data for the weighted grevlex monomial ordering |
▼CMonomial_Ordering | Interface to a monomial ordering |
CGeneric_Grevlex | Generic grevlex ordering, works with any number of variables |
CGrevlex_Ordering | Grevlex ordering for a specified number of variables |
CLex_Ordering | Lex ordering for a specified number of variables |
CMatrix_Ordering | Orderings defined by a nonsingular matrix |
▼CWeighted_Ordering | Interface to a weighted monomial ordering |
CCachedWGrevlex_Ordering | Weighted grevlex ordering for a specified number of variables, with cached weights for each monomial |
CWGrevlex | Grevlex ordering for a specified number of variables |
▼CPair_Strategy_Data | Structure for sorting critical pairs |
CNormal_Strategy | Ordering critical pairs using the normal strategy |
CPair_Sugar_Data | Ordering critical pairs using the sugar strategy |
CPair_WSugar_Strategy | Ordering critical pairs using the weighted sugar strategy |
▼CPoly_Strategy_Data | Polynomial-related strategy data |
CPoly_Sugar_Data | Polynomial-related data for a sugar strategy |
CPoly_WSugar_Data | Polynomial-related data for a weighted sugar strategy |
▼CPolynomial_Iterator | Used to iterate through a polynomial |
CConstant_Polynomial_Iterator | Iterates through a Constant_Polynomial |
▼CMutable_Polynomial_Iterator | A Mutable_Polynomial_Iterator allows one to modify the terms of a polynomial |
CDB_Polynomial_Iterator | Iterator over double-buffered polynomials |
CGeobucket_Iterator | Iterates through polynomials using a geobucket representation. See Mutable_Polynomial_Iterator for details on methods |
CLLPolynomial_Iterator | Iterator over linked list polynomials |
CMutable_Constant_Polynomial_Iterator | An iterator to modify monomials and coefficients of a Constant_Polynomial |
CPolynomial_Ring | Encapsulates information about a polynomial ring for easy access: ground field, number of indeterminates, … |
CPolynomial_Term | Convenience class to help iterate through polynomials |
CPPWithIdeal | |
CPrime_Field | Information necessary for a field modulo a prime |
CPrime_Field_Element | Element of a field of prime characteristic |
Cray | Ray defined by nonnegative coordinates \((a_1,\ldots,a_n)\) |
Csmaller_lm | Used to sort polynomials by leading monomial |