Gröbner basis project
Codebase for research into Gröbner basis computation
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CAbstract_PolynomialThe general class of a polynomial
 CConstant_PolynomialA Constant_Polynomial is a polynomial that should not change
 CMutable_PolynomialPolynomials that need arithmetic typically descend from this class
 CDouble_Buffered_PolynomialPolynomials 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_GeobucketImplementation of geobuckets
 CPolynomial_Linked_ListPolynomials represented as a doubly linked list
 CconstraintConstraint \( c_1 x_1 + \ldots + c_n x_n \geq 0 \)
 CCritical_Pair_BasicControls the creation of s-polynomials
 CCritical_Pair_DynamicControls the creation of s-polynomials, specialized for the dynamic algorithm
 CCritical_Pair_XPlorInformation on critical pairs by their index in the basis, in addition to the usual information
 CCritical_Pair_XPlorInformation on critical pairs by their index in the basis, in addition to the usual information
 CCritical_Pair_XPlorInformation on critical pairs by their index in the basis, in addition to the usual information
 CCritical_Pair_CommunicationUsed to pass inforation on a critical pair from one polynomial to another
 CDense_Univariate_Integer_PolynomialQuick-’n-dirty Dense_Univariate integer polynomial class
 CDense_Univariate_Rational_PolynomialQuick-’n-dirty Dense_Univariate rational polynomial class
 CedgeEdge \((r_1,r_2)\) connecting the two rays \( r_1 \) and \( r_2 \)
 Cexception
 CMonomial_Ideal_Variables_ExceptionExceptions for Monomial Ideals
 CNonsingular_Matrix_Ordering_ExceptionExceptions for Matrix_Ordering
 CF4_Reduction_DataImplementation 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
 CIndeterminateImplementation of indeterminates, for easier building of polynomials
 CLP_SolverExact or approximate polyhedral cone solution, with methods allowing definition and refinement
 CGLPK_SolverApproximate skeleton of a polyhedral cone, using GLPK linear solver
 CPPL_SolverApproximate skeleton of a polyhedral cone, using PPL linear solver
 CskeletonSkeleton of a polyhedral cone, with methods allowing definition and refinement
 CMonomialImplementation of monomials
 CMonomial_IdealA class for monomial ideals
 CMonomial_NodeTool for Polynomial_Linked_List
 CMonomial_Order_DataData for a monomial ordering: optional, but stored in Monomial
 CGrevlex_Order_DataData for the grevlex monomial ordering
 CWGrevlex_Order_DataData for the weighted grevlex monomial ordering
 CMonomial_OrderingInterface to a monomial ordering
 CGeneric_GrevlexGeneric grevlex ordering, works with any number of variables
 CGrevlex_OrderingGrevlex ordering for a specified number of variables
 CLex_OrderingLex ordering for a specified number of variables
 CMatrix_OrderingOrderings defined by a nonsingular matrix
 CWeighted_OrderingInterface to a weighted monomial ordering
 CCachedWGrevlex_OrderingWeighted grevlex ordering for a specified number of variables, with cached weights for each monomial
 CWGrevlexGrevlex ordering for a specified number of variables
 CPair_Strategy_DataStructure for sorting critical pairs
 CNormal_StrategyOrdering critical pairs using the normal strategy
 CPair_Sugar_DataOrdering critical pairs using the sugar strategy
 CPair_WSugar_StrategyOrdering critical pairs using the weighted sugar strategy
 CPoly_Strategy_DataPolynomial-related strategy data
 CPoly_Sugar_DataPolynomial-related data for a sugar strategy
 CPoly_WSugar_DataPolynomial-related data for a weighted sugar strategy
 CPolynomial_IteratorUsed to iterate through a polynomial
 CConstant_Polynomial_IteratorIterates through a Constant_Polynomial
 CMutable_Polynomial_IteratorA Mutable_Polynomial_Iterator allows one to modify the terms of a polynomial
 CDB_Polynomial_IteratorIterator over double-buffered polynomials
 CGeobucket_IteratorIterates through polynomials using a geobucket representation. See Mutable_Polynomial_Iterator for details on methods
 CLLPolynomial_IteratorIterator over linked list polynomials
 CMutable_Constant_Polynomial_IteratorAn iterator to modify monomials and coefficients of a Constant_Polynomial
 CPolynomial_RingEncapsulates information about a polynomial ring for easy access: ground field, number of indeterminates, …
 CPolynomial_TermConvenience class to help iterate through polynomials
 CPPWithIdeal
 CPrime_FieldInformation necessary for a field modulo a prime
 CPrime_Field_ElementElement of a field of prime characteristic
 CrayRay defined by nonnegative coordinates \((a_1,\ldots,a_n)\)
 Csmaller_lmUsed to sort polynomials by leading monomial