Gröbner basis project
Codebase for research into Gröbner basis computation
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 CAbstract_PolynomialThe general class of a polynomial
 CCachedWGrevlex_OrderingWeighted grevlex ordering for a specified number of variables, with cached weights for each monomial
 CConstant_PolynomialA Constant_Polynomial is a polynomial that should not change
 CConstant_Polynomial_IteratorIterates through a Constant_Polynomial
 CconstraintConstraint \( c_1 x_1 + \ldots + c_n x_n \geq 0 \)
 CCritical_Pair_BasicControls the creation of s-polynomials
 CCritical_Pair_CommunicationUsed to pass inforation on a critical pair from one polynomial to another
 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
 CDB_Polynomial_IteratorIterator over double-buffered polynomials
 CDense_Univariate_Integer_PolynomialQuick-’n-dirty Dense_Univariate integer polynomial class
 CDense_Univariate_Rational_PolynomialQuick-’n-dirty Dense_Univariate rational polynomial 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
 CedgeEdge \((r_1,r_2)\) connecting the two rays \( r_1 \) and \( r_2 \)
 CF4_Reduction_DataImplementation of Faugère’s F4 algorithm
 CGeneric_GrevlexGeneric grevlex ordering, works with any number of variables
 CGeobucket_IteratorIterates through polynomials using a geobucket representation. See Mutable_Polynomial_Iterator for details on methods
 CGLPK_SolverApproximate skeleton of a polyhedral cone, using GLPK linear solver
 Cgoda_blockHeart of the memory pool allocator (Grading_Order_Data_Allocator)
 CGrading_Order_Data_AllocatorSpecial memory pool allocator for Grevlex_Order_Data and WGrevlex_Order_Data
 CGrevlex_Order_DataData for the grevlex monomial ordering
 CGrevlex_OrderingGrevlex ordering for a specified number of variables
 CIndeterminateImplementation of indeterminates, for easier building of polynomials
 CLex_OrderingLex ordering for a specified number of variables
 CLLPolynomial_IteratorIterator over linked list polynomials
 CLP_SolverExact or approximate polyhedral cone solution, with methods allowing definition and refinement
 CMatrix_OrderingOrderings defined by a nonsingular matrix
 CMonomialImplementation of monomials
 CMonomial_IdealA class for monomial ideals
 CMonomial_Ideal_Variables_ExceptionExceptions for Monomial Ideals
 CMonomial_NodeTool for Polynomial_Linked_List
 CMonomial_Order_DataData for a monomial ordering: optional, but stored in Monomial
 CMonomial_OrderingInterface to a monomial ordering
 CMutable_Constant_Polynomial_IteratorAn iterator to modify monomials and coefficients of a Constant_Polynomial
 CMutable_PolynomialPolynomials that need arithmetic typically descend from this class
 CMutable_Polynomial_IteratorA Mutable_Polynomial_Iterator allows one to modify the terms of a polynomial
 CNonsingular_Matrix_Ordering_ExceptionExceptions for Matrix_Ordering
 CNormal_StrategyOrdering critical pairs using the normal strategy
 CPair_Strategy_DataStructure for sorting critical pairs
 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_GeobucketImplementation of geobuckets
 CPolynomial_IteratorUsed to iterate through a polynomial
 CPolynomial_Linked_ListPolynomials represented as a doubly linked list
 CPolynomial_RingEncapsulates information about a polynomial ring for easy access: ground field, number of indeterminates, …
 CPolynomial_TermConvenience class to help iterate through polynomials
 CPPL_SolverApproximate skeleton of a polyhedral cone, using PPL linear solver
 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)\)
 CskeletonSkeleton of a polyhedral cone, with methods allowing definition and refinement
 Csmaller_lmUsed to sort polynomials by leading monomial
 CWeighted_OrderingInterface to a weighted monomial ordering
 CWGrevlexGrevlex ordering for a specified number of variables
 CWGrevlex_Order_DataData for the weighted grevlex monomial ordering