N BIBasis
C FastAllocator Slab allocator handing out fixed-size blocks for one BIBasis type per instance
C BooleanInvolutiveBasis
C JanetTree
C Node
C ConstIterator
C Iterator
C Launcher Top-level entry point that runs a BIBasis (boolean involutive) computation on an engine Matrix and returns the result as a Matrix
C Monom Abstract base for the BIBasis boolean-coefficient monomial types — a sorted, singly linked list of variable indices
C VarsListNode Singly linked-list node of a Monom 's variable list, with a per-class slab allocator
C MonomDL Monom specialisation that orders monomials by degree, then by lex on the variable list (DegLex)
C MonomDRL Monom specialisation that orders monomials by degree, then by reverse-lex on the variable list (DegRevLex)
C MonomLex Monom specialisation that orders monomials by pure lex on their sorted variable lists
C PointerLessComparator
C PointerMoreComparator
C Polynom
C QSet
C SettingsManager Process-wide singleton holding the BIBasis monomial order and variable count
C Triple
C TSet
N exc
C engine_error
C overflow_exception
C division_by_zero_error
C internal_error
N M2
C ARingCC aring -style adapter for double-precision complex numbers, stored as (double, double) pairs
C ARingCCC aring -style adapter for arbitrary-precision complex numbers, stored as (MPFR, MPFR) pairs
C ARingCCi aring -style adapter for arbitrary-precision complex intervals, stored as (MPFI, MPFI) pairs
C ARingGFFlintBig aring -style adapter for FLINT's polynomial-quotient representation of finite fields GF(p^n) that are too large for Zech tables
C Element A wrapper class for ElementType
C ElementArray Fixed-size owned array of fq_nmod_struct slots tied to an ARingGFFlintBig for the matching FLINT context
C ARingGFFlint aring -style adapter for FLINT's Zech-logarithm representation of small finite fields GF(p^n)
C Element A wrapper class for ElementType
C ElementArray Fixed-size owned array of fq_zech_struct slots tied to an ARingGFFlint for the matching FLINT context
C ConcreteRing
C RingQQ Ring -level QQ ring, a thin specialisation of ConcreteRing <ARingQQ > that marks itself with is_QQ() and coefficient_type() == COEFF_QQ
C GaloisFieldTable
C ARingGFM2 Pure-M2 (no-FLINT) aring -style adapter for GF(p^n) , using a discrete-log encoding plus an M2-side primitive table
C ARingQQFlint Wrapper for the flint fmpq_t integer representation
C ARingQQGMP Wrapper for the gmp mpq_t integer representation
C ARingRR aring -style adapter for double-precision real numbers
C ARingRRi aring -style adapter for arbitrary-precision real intervals, backed by MPFI
C ARingRRR aring -style adapter for arbitrary-precision real numbers, backed by MPFR
C ARingPolynomialStruct Heap-allocated node of an ARingTower polynomial: a dense degree -indexed coefficient array that recurses through tower levels
C ARingTower aring -style coefficient ring for tower polynomial rings (Z/p)[x_0][x_1]...[x_{n-1}] modulo a chain of extensions
C Element A wrapper class for ElementType
C ElementArray Fixed-size, owned array of ElementType s for the linear-algebra templates that want a flat buffer of tower-polynomial slots
C RElementWrap
C AConcreteRing
C ARingZZ Wrapper for the flint fmpz_t integer representation
C ARingZZGMP Wrapper for the mpz_struct integer representation
C ARingZZpFFPACK Wrapper for the FFPACK::ModularBalanced<double> field implementation
C ARingZZpFlint aring -style adapter for Z/p with p a word-size prime, backed by FLINT's nmod_* routines
C ARingZZp aring -style adapter for Z/p using a discrete-log (Zech) representation: every non-zero residue is its index relative to a primitive generator a
C RingInterface
C ElementImpl A base class for Element
C SimpleARing A base class for simple ARings
C Element A wrapper class for ElementType
C ElementArray A wrapper for an array of ElementType
C DummyRing Placeholder aring used as a default / fallback for code paths that need an ARing -shaped object but no real arithmetic
C Reader
N mpfr
N internal
C result_type
C result_type< mpreal >
C result_type< mpz_t >
C result_type< mpq_t >
C result_type< long double >
C result_type< double >
C result_type< unsigned long int >
C result_type< unsigned int >
C result_type< long int >
C result_type< int >
C result_type< long long >
C result_type< unsigned long long >
C mpreal
C conversion_overflow
N newf4
C Basis
C GBF4Computation
C GBF4Interface
C MacaulayMatrix
C Column
C Row
C MonomialHashFunction
C HashTableStats
C MonomialHashTable
C MonomialInfo
C MonomialLookupTable
C MonomialLookupIterator
C MonomialView
C MonomialIterator
C PolynomialList
C Polynomial
C PolynomialIterator
C PolynomialListStreamCollector Implements the stream functions for creating a PolynomialList from a stream
C SPair
C SPairSet
C SPairIterator
N SchreyerFrameTypes
C FrameElement One generator within a SchreyerFrame::Level
C PreElement Lightweight (varpower_monomial , degree ) pair used during the pre-sort phase that feeds SchreyerFrame::insertLevelZero / insertLevelOne
N std STL namespace
C numeric_limits< mpfr::mpreal >
C AllocLogger Process-wide allocation counter used by StatsAllocator for debugging and benchmarking
C ARing
C ARingElement
C ARingElementGenerator
C AssociatedPrimes
C auto_reduce_node
C BASECLASS Synthetic documentation entry for the BASECLASS preprocessor macro (no real struct of this name exists)
C BasicPoly Standalone, self-contained polynomial representation independent of any engine Ring — coefficients are bare mpz_class (GMP integers)
C BasicPolyListStreamCollector Streaming consumer that builds a BasicPolyList from per-term callbacks, matching the mathicgb / mgb stream interface
C BettiDisplay Engine-side Betti table: a (degree, homological level) rectangle of integers
C BettiHashAndEq Combined hash + equality functor for (int*, int ) pairs, used by the resolution code to key an unordered_set on (monomial ,
component)
C binomial
C binomial_gb_elem
C binomial_ring
C binomial_s_pair
C binomial_s_pair_set
C s_pair_degree_list
C s_pair_lcm_list
C s_pair_elem
C binomialGB
C gbmin_elem
C monomial_list
C iterator
C binomialGB_comp Non-functional
C BRP Boolean (F_2 -coefficient) polynomial stored as an ordered list of square-free monomials
C buffer
C cc_doubles_struct
C CC_struct Immutable view of a complex number as a pair of mpfr_srcptr real and imaginary parts
C cc_struct
C CCi_struct Immutable view of a complex interval as a pair of mpfi_srcptr real and imaginary parts
C cci_struct
C CCimutable_struct Mutable view of a complex interval as a pair of mpfi_ptr real and imaginary parts
C CCmutable_struct Mutable view of a complex number as a pair of mpfr_ptr real and imaginary parts
C ChineseRemainder
C coefficient_matrix
C CoefficientRingR Generic CoefficientRing adapter that wraps an arbitrary const Ring* and forwards every operation to it
C Element Managed scalar value: an M2::ElementImpl <ring_elem > that initialises itself through the parent CoefficientRingR
C ElementArray Fixed-size, owned array of ElementType s for the linear-algebra templates that want a flat buffer they can operator[] into
C CoefficientRingType Default CoefficientRingType parameter for Polynomial <...> : a thin trait whose ElementType is just ring_elem
C CoefficientRingZZp Discrete-log Z/p adapter that represents non-zero residues by their exponent index relative to a generator
C column_elem
C ColumnsSorter Comparator that orders Macaulay-matrix column indices by the monomial each column represents, using the ambient MonomialInfo
C complex
C ComplexField Field-traits tag used as the template parameter of SLP <Field> to pick the complex element type
C Computation Abstract base for long-running, resumable engine computations (GBComputation , ResolutionComputation , MutableComplex , GBKernelComputation , ...)
C ConcreteVectorArithmetic
C ConstZipIterator
C DegreeZeroMapGenerator View of one cell of a SchreyerFrame as the degree-zero (scalar) part of the differential between two homological levels
C iterator Column iterator over the parent DegreeZeroMapGenerator 's degree-zero submap
C DetComputation Computation of minors of a matrix
C DMat
C DMat< M2::ARingGFFlint > Specialisation of DMat for ARingGFFlint matrices, backed by FLINT's fq_zech_mat (Zech-log) routines
C DMat< M2::ARingGFFlintBig > Specialisation of DMat for ARingGFFlintBig matrices, backed by FLINT's fq_nmod_mat_t
C DMat< M2::ARingQQFlint > Specialisation of DMat for ARingQQFlint matrices, backed by FLINT's fmpq_mat_t
C DMat< M2::ARingZZ > Specialisation of DMat for ARingZZ matrices, backed by FLINT's fmpz_mat_t
C DMat< M2::ARingZZpFlint > Specialisation of DMat for ARingZZpFlint matrices, backed by FLINT's nmod_mat_t
C DMatLinAlg
C DMatLinAlg< M2::ARingQQ > Specialisation of DMatLinAlg for ARingQQ dense matrices, routing every linear-algebra query (rank, determinant, kernel, inverse, solve) through FLINT's fmpq_mat_* routines
C DMatLinAlg< M2::ARingZZpFFPACK > Specialisation of DMatLinAlg for ARingZZpFFPACK dense matrices, delegating rank / determinant / kernel / solve / inverse to the FFPACK library's tuned Z/p routines
C DMatLinAlg< M2::ARingZZpFlint > Specialisation of DMatLinAlg for ARingZZpFlint dense matrices, routing rank / determinant / kernel / solve / inverse calls to FLINT's nmod_mat_* routines
C DMatLUinPlace
C doubling_stash
C DPoly Arithmetic engine for tower-polynomial rings: (Z/p)[x_0][x_1]...[x_{nvars-1}] modulo a chain of extensions
C DPolyTraverser Visitor base class that walks every term of a TowerPolynomial , calling viewTerm(coeff, exponents) once per leaf
C DRing Single-level view of a tower-polynomial ring: a DPoly plus a fixed working level and a Tower -flavoured ring_type typedef
C EigenTypes
C EigenTypes< M2::ARingCC > EigenTypes specialisation for double-precision complex matrices
C EigenTypes< M2::ARingCCC > EigenTypes specialisation for arbitrary-precision complex (MPC ) matrices
C EigenTypes< M2::ARingRR > EigenTypes specialisation for double-precision real matrices
C EigenTypes< M2::ARingRRR > EigenTypes specialisation for arbitrary-precision real (MPFR ) matrices
C ElementArray Type-erased owning handle to a dense coefficient vector held by a ConcreteVectorArithmetic <Ring >
C engine_RawMatrixArray
C engine_RawMonomialArray
C engine_RawMonomialOrderingArray
C engine_RawMutableMatrixArray
C engine_RawRingElementArray
C engine_RawRingElementArrayArray
C EngineMonomial Engine-side immutable monomial value type wrapping a varpower- encoded exponent vector
C EngineObject Base class for engine objects that are immutable once their hash has been pinned (typically once they cross over to the front end)
C enter_factory
C EntryConfig Comparator (and trivial hash) functor wired into the std::priority_queue inside PriorityQueuePolynomialHeap
C exponent_table
C ExponentList
C ExponentListIterator
C ExponentVector
C F4Computation GBComputation subclass that drives an F4GB engine instance from the engine-side computation API
C F4GB Commutative F4 Groebner-basis driver: degree-by-degree Macaulay matrix construction plus row-reduction over a coefficient ring
C MacaulayMatrixStats Per-degree counters describing the shape and density of the Macaulay matrix that F4GB just built
C F4MemoryBlock
C slab
C F4MonomialLookupTableT
C mi_node
C F4Res F4-style engine that computes one (level, degree) slice of a free resolution into the host SchreyerFrame
C Row One row of the Macaulay matrix built by F4Res::construct
C F4ResComputation ResolutionComputation subclass that drives the F4 resolution engine (SchreyerFrame + F4Res ) from the engine-side API
C F4SPairSet S-pair scheduling queue used by F4GB : collects pairs, deduplicates them, and hands out the next degree's worth on demand
C F4toM2Interface Static-method namespace for translating between engine Matrix / vec polynomials and the F4-internal GBF4Polynomial form
C FF_LUComputation LU decomposition over a domain using fraction-free Gaussian elimination
C FixedPrecisionHomotopyAlgorithm Tag type selecting the fixed-precision homotopy algorithm
C FlintQQMat RAII wrapper around FLINT's fmpq_mat_t for translating dense QQ -coefficient matrices between the engine and FLINT
C FlintZZMat RAII wrapper around FLINT's fmpz_mat_t for translating dense ZZ -coefficient matrices between the engine and FLINT
C frac_elem
C FractionField Engine-side fraction field of a polynomial domain R_
C FreeAlgebra Free associative algebra over a coefficient ring: the non-commutative analogue of PolynomialRing
C FreeAlgebraElement Owned Poly value paired with its FreeAlgebra* , providing natural operator-overloaded arithmetic
C FreeAlgebraHeap Geobucket-style accumulator for many Poly summands in the free associative algebra
C FreeAlgebraQuotient Quotient of a FreeAlgebra by a Groebner basis up to a fixed degree bound
C FreeAlgebraQuotientElement Owned Poly value paired with its FreeAlgebraQuotient* , providing operator-overloaded arithmetic for debugging / scripting
C FreeModule Engine-side free module R^n over a Ring
C FreeModule_symm Helper functor that builds the n -th symmetric power of a FreeModule by recursively walking multi-indices
C FreeMonoid The free non-commutative monoid on a set of named variables, with monomial ordering and degree / weight machinery
C FreeMonoidLogger Static counter for non-commutative monomial comparisons
C FunctionPair Materialised (f , g ) pair of BRP polynomials referenced by a Pair index record
C GaussElimComputation Gaussian elimination class. To be rewritten
C gb2_comp
C GB_comp A Groebner basis computation class for homogeneous input modules
C gb_elem
C gb_emitter
C gb_node
C gbA The default Groebner basis computation class
C gbelem
C spair
C SPairSet
C GBComputation Base class for Groebner basis computations
C GBDeclared Declared Groebner bases
C gbelem
C GBF4Polynomial Compact polynomial layout used inside the F4 GB engine
C GBinhom_comp A Groebner basis computation class for inhomogeneous input modules
C GBKernelComputation Computes the kernel of a Schreyer-encoded GBMatrix and returns the syzygies in a Schreyer-compatible free module
C GBMatrix gbvector -side matrix: a target FreeModule plus a list of gbvector* columns living in it
C GBProxy Handle to a GB. Should be expunged, as full functionality isn't used
C gbres_comp One of the Resolution computations, based on computing step by step
C GBRing Polynomial-ring view tuned for the inner loop of classical Buchberger Groebner-basis computations
C GBRingPoly GBRing specialisation for ordinary commutative polynomial rings
C GBRingSkew GBRing specialisation for skew-commutative (exterior-like) polynomial rings
C GBRingSolvable GBRing specialisation for solvable polynomial algebras (PBW-style non-commutative rings whose relations have the form x_j * x_i = c_ij * x_i * x_j + lower-order terms )
C GBRingWeyl GBRing specialisation for Weyl algebras over a field
C GBRingWeylZZ GBRingWeyl specialisation for Weyl algebras over ZZ
C GBSorter Comparator that orders indices into the current GB array (gb_array ) by each gbelem 's leading monomial, in increasing order
C gbvector
C gbvectorHeap
C GBWalker The generic Groebner walk algorithm. Not yet working?
C GBWeight Heuristic-weight evaluator for gbvector s, used during Groebner basis computation to drive the S-pair sugar strategy
C geobucket
C GF Engine-side finite field GF(p^n) built on top of (Z/p)[t] / f(t) for a primitive element of the resulting field
C gm_elem
C gmp_arrayZZ
C HermiteComputation Slow Hermite normal form computation over ZZ . Replace
C hilb_comp Computation of Hilbert functions
C hilb_step
C HilbertController Hilbert-function-driven early termination helper used by F4GB to skip degrees the user-supplied Hilbert series predicts hold no new basis elements
C hm_elem
C Homotopy Abstract base for the predictor-corrector path-tracker hierarchy
C HomotopyAlgorithm Traits class mapping a coefficient ring RT to its preferred homotopy algorithm tag
C HomotopyAlgorithm< M2::ARingCC > Selects FixedPrecisionHomotopyAlgorithm for the double-precision complex ring M2::ARingCC
C HomotopyAlgorithm< M2::ARingCCC > Selects FixedPrecisionHomotopyAlgorithm for the arbitrary-precision complex ring M2::ARingCCC
C HomotopyConcrete
C HomotopyConcrete< RT, FixedPrecisionHomotopyAlgorithm >
C IdentifierHash IdentifierHash : used to facilitate parsing of polynomials from strings and files
C indent
C int_bag
C Interreducer Interreduces a list of gbvector* s in place so that no element's leading term divides any other element's terms
C IntsSet
C KBasis Enumerates a k-basis (degree-graded monomial basis) of a module, a finite module's entire basis, or the basis of a map between modules
C Lapack Static-method namespace bridging the engine's RR / CC / RRR / CCC dense matrices and LAPACK / BLAS routines
C lex
C LLLoperations Static-method namespace for the LLL lattice-basis reduction algorithm operating on a MutableMatrix
C local_elem
C LocalRing Engine-side localisation of a polynomial ring at a prime ideal
C LUUtil
C M2_arrayint Length-prefixed int array, the integer counterpart of M2_string
C M2_ArrayString Length-prefixed array of M2_string pointers
C M2_string Length-prefixed byte string passed between the M2 front end and the engine
C M2FreeAlgebra Concrete Ring wrapper around an owned FreeAlgebra (no quotient)
C M2FreeAlgebraOrQuotient Abstract Ring subclass that lifts either a FreeAlgebra or a FreeAlgebraQuotient into the engine's Ring hierarchy
C M2FreeAlgebraQuotient Concrete Ring wrapper around an owned FreeAlgebraQuotient (the quotient counterpart of M2FreeAlgebra )
C M2Homotopy MutableEngineObject wrapper that owns a Homotopy via unique_ptr
C M2PointArray MutableEngineObject wrapper that owns a PointArray via unique_ptr
C M2SLEvaluator MutableEngineObject wrapper holding a raw SLEvaluator*
C M2SLProgram MutableEngineObject wrapper that owns an SLProgram via unique_ptr
C MapPolynomialHeap PolynomialHeap backed by a std::map<Monom , ring_elem , MonomEq > , deduplicating on insert via the map's lookup
C MarkedGB Computation of a reduced GB w.r.t. a marked ordering
C MarkedGB_sorter Index comparator for sorting a MarkedGB 's gb array by the lead-term ordering induced by the user-supplied marking
C MatElementaryOps
C MatElementaryOps< DMat< RT > >
C MatElementaryOps< SMat< RT > >
C Matrix Engine-side matrix: a map between two free modules, stored as a column-vector list
C iterator Reseatable iterator over the non-zero entries of one column of the matrix
C column_iterator Standards-style forward iterator over the vecterm s of one column
C MatrixConstructor Mutable builder used to assemble an immutable Matrix one column (or one term) at a time
C MatrixSorter Helper that computes a column permutation for an engine Matrix by degree-then-monomial-order sort
C MatrixStream Streaming consumer that builds an engine Matrix from the mathicgb-style stream callbacks (idealBegin /
appendPolynomialBegin / appendTermBegin / appendExponent /
appendTermDone / appendPolynomialDone / idealDone )
C MatrixWindow Half-open rectangular submatrix descriptor: [begin_row , end_row ) x
[begin_column , end_column )
C MemoryBlock Thin RAII wrapper around memtailor::Arena providing bump-pointer array allocation with optional mutex protection
C MGBCallback Mathicgb (mgb ) callback that polls the engine's interrupt flag during a long-running GB computation
C MinimalPrimes
C mo_block
C ModuleMonom Monom extended with a module component, a stored index, and a memoised hash — the value type of IntsSet and friends
C ModuleMonomDefaultConfig Current IntsSet configuration: exposes Hash and Eq as discrete member functors so the unordered_set can use them directly
C ModuleMonomDefaultConfigOrig Legacy IntsSet configuration that bundles hashing, equality, and a display helper into one functor object
C ModuleMonomEq Equality functor on ModuleMonom , forwarding to operator==
C ModuleMonomHash Hash functor on ModuleMonom , forwarding to ModuleMonom::hash
C ModuleMonomLessThan Strict-weak-order comparator on ModuleMonom , used by IntsSet::sort to reorder the insertion-ordered mElements list
C mon_part
C monideal_pair
C Monoid Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery, and monomial encoding/decoding
C Monom Non-owning view onto a [length, degree, v1, v2, ..., vn] packed monomial in some externally managed buffer
C monom_int_list
C MonomEq Strict comparator on Monom s under a FreeMonoid order: returns true exactly when the first monomial is greater than the second
C MonomHash Hash functor on Monom (or Word ) suitable for std::unordered_map / std::unordered_set
C MonomHashEqual Equality functor on Monom (or Word ), the KeyEqual companion of MonomHash for std::unordered_map<Monom , ...>
C MonomialCollectionFixedSize Interning collection that pairs a MonomialSetFixedSize with its own MonomialMemorySpace to own monomial storage
C MonomialCollectionVarSize Variable-size counterpart of MonomialCollectionFixedSize : pairs a MonomialSetVarSize with its own MonomialMemorySpace
C MonomialHashAndEqFixedSize Combined hash + equality functor for fixed-size monomials, plugged into the std::unordered_set inside MonomialSetFixedSize
C MonomialHashAndEqVarSize Combined hash + equality functor for variable-size monomials, plugged into the std::unordered_set inside MonomialSetVarSize
C MonomialHashTable
C MonomialIdeal Engine-side monomial ideal: a decision tree of Nmi_node s storing the (typically minimal) generators by variable / exponent path
C Iterator Bidirectional forward iterator over the Bag s stored in a MonomialIdeal
C MonomialInfo Per-ring monomial layout / encoding helper used by F4GB
C MonomialMemorySpace Bump-pointer arena for monomial storage, backed by a memt::Arena
C MonomialOrder Internal compiled form of a monomial ordering, derived from a front-end MonomialOrdering by monomialOrderMake
C MonomialOrdering Front-end-side description of a monomial ordering as a list of mon_part blocks
C MonomialOrderings Static-method namespace of constructors for the front-end MonomialOrdering value type
C MonomialOrderMatrix Matrix-form encoding of a MonomialOrdering used by the Groebner walk algorithm
C MonomialSetFixedSize
C MonomialSetVarSize Hash set of interned variable-size monomials — the variable-length counterpart of MonomialSetFixedSize
C MonomialsIgnoringComponent MonHashTable trait for packed_monomial s that fold all components together (used when only the underlying monomial matters)
C MonomialSorterObject Strict-weak comparator on integer indices into a std::vector<int*> of monomials, used by the resolution code to sort columns
C MonomialsWithComponent MonHashTable trait for packed_monomial s that include the component coordinate in equality
C MonomialTable Indexed table of monomials with fast "find a divisor" lookup, keyed by a free integer val per entry
C mon_term Doubly-linked-list node of a MonomialTable 's per-component monomial list
C MonomialTableZZ MonomialTable analogue for monomials carrying a ZZ coefficient
C mon_term MonomialTable::mon_term plus an _coeff slot pointing at the entry's leading ZZ coefficient (or nullptr for the coefficient-blind case)
C MonomSort
C montable_sorter_ZZ
C MutableComplex Sequence of MutableMatrix differentials representing an in-progress chain complex, used for engine-side minimisation / pruning
C iterator Cursor pointing at one entry of one differential matrix in the complex: a (matrix index , (row, col)) triple
C MutableEngineObject Base class for engine objects that may mutate, so their hash must be identity-based rather than content-based
C MutableMat
C MutableMatrix Abstract base class for mutable matrices over an arbitrary engine Ring , the in-place counterpart of the immutable Matrix
C MyIdealConsumer Frobby::IdealConsumer adapter that collects Frobby's output monomials into an engine MonomialIdeal
C NaiveDedupPolynomialHeap
C NaiveDedupQueueConfiguration Variant of NaiveQueueConfiguration with deduplication enabled: deduplicate(a, b) sums the coefficients of two equal monomials
C NaivePolynomialHeap
C NaiveQueueConfiguration mathic::Geobucket configuration whose Entry is a (Monom , ring_elem ) pair compared by the FreeMonoid order on the monomial component
C NCBasis Non-commutative analogue of KBasis : enumerates basis monomials of a FreeAlgebra quotient up to a degree / length bound
C NCF4 Non-commutative F4 Groebner-basis driver: builds a per-degree Macaulay matrix from overlaps and reduces it in bulk
C PreRow Symbolic description of one row before it is materialised in the matrix: a left * (something) * right triple
C Row A materialised row of the Macaulay matrix: parallel coefficient and monomial arrays
C Column A column of the Macaulay matrix: the monomial that names it plus the row currently acting as its pivot (or -1 if none)
C NCF4Stats Per-thread counters tracking how much work the F4 reduction did
C NCGroebner One-overlap-at-a-time Groebner basis driver for the free associative algebra (the "Naive" companion to the F4-style NCF4 )
C NCResComputation ResolutionComputation subclass that builds a free resolution over a FreeAlgebraQuotient (non-commutative)
C Nmi_node Internal tree node of the MonomialIdeal decision tree
C Nterm Singly linked-list node carrying one term of a polynomial-ring element
C our_gc_cleanup
C our_new_delete
C OurNode Scratch task descriptor used by the standalone TBB dependency-graph example
C OurQueueConfiguration Experimental mathic::Geobucket configuration whose Entry is an int — a placeholder used by makeQueue() to exercise the geobucket machinery without involving real monomials
C OurQueueConfiguration1 Variant of OurQueueConfiguration with deduplication enabled, used by makeQueue1()
C OverlapTable Per-degree FIFO queue of pending overlaps for the NC Groebner basis driver to process
C Pair S-pair record for the Franzi boolean Groebner basis algorithm
C PairRange
C parsing_error
C part_elem
C partition_table
C PathTracker Numerical homotopy-continuation path tracker for systems of polynomial equations
C PfaffianComputation Computation of pfaffians of a skew symmetric matrix
C PointArray Container of numerical points equipped with an -tolerance and a random weight vector used to bucket approximately equal points
C PointsComputation
C POLY Pairs a gbvector with its evolving syzygy gbvector
C polyheap
C Polynomial
C const_iterator
C PolynomialHeap Abstract interface for accumulating a polynomial as a sum of (coeff, left * poly * right) contributions in the free algebra
C PolynomialRing Abstract base for the engine's polynomial-ring hierarchy
C PolyRing Concrete PolyRingFlat subclass implementing ordinary commutative polynomial rings K[x_1, ..., x_n] with a generic coefficient ring K and monoid M
C PolyRingFlat PolynomialRing subclass whose elements are represented as a single flat Nterm* linked list (no fraction / quotient wrapper)
C PolyRingQuotient PolyRingFlat subclass for quotients R / I of a polynomial ring by an ideal
C pre_spair
C PreSPairSorter Comparator that orders pre_spair* pointers by the quot varpower monomial of each pre-S-pair
C PriorityQueuePolynomialHeap PolynomialHeap backed by a std::priority_queue of (Monom , ring_elem ) entries, with deduplication done lazily on lead-term extraction
C QRingInfo Bookkeeping helper holding the defining ideal of a polynomial-ring quotient R / I in the two representations the engine reduces against
C QRingInfo_field QRingInfo partial specialisation that adds the field-coefficient reduction tables: a MonomialIdeal for divisibility queries and a MonomialTable indexed by quotient_ideal slot
C QRingInfo_field_basic QRingInfo_field specialisation for basic-field coefficients (everything except QQ )
C QRingInfo_field_QQ QRingInfo_field specialisation for QQ coefficients, which need denominator tracking through reductions
C QRingInfo_ZZ QRingInfo specialisation for quotients of polynomial rings over ZZ
C QuickSorter
C Range
C ReducedGB Base class for reduced Groebner basis computation
C ReducedGB_Field Computation of a reduced GB w.r.t. a term order, over a field
C ReducedGB_Field_Local Computation of a reduced GB w.r.t. a local order, over a field
C divisor_info Per-element bookkeeping record used by ReducedGB_Field_Local during local-ring GB minimisation
C ReducedGB_Field_Local_sorter Index comparator used to permute ReducedGB_Field_Local 's gb array into canonical reduced-GB order for the local-ring path
C ReducedGB_Field_sorter Index comparator used to permute ReducedGB_Field 's gb array into canonical reduced-GB order over a field
C ReducedGB_ZZ Computation of a reduced GB w.r.t. a term order, over ZZ
C ReducedGB_ZZ_sorter Index comparator used to permute ReducedGB_ZZ 's gb array into canonical reduced-GB order over ZZ
C RElement
C res2_comp One of the Resolution computations, based on Schreyer and Lascala
C res2_level
C res2_pair
C res2_poly
C res2term
C res_comp One of the Resolution computations, based on Schreyer and Lascala
C res_degree
C res_level
C res_pair
C res_poly
C ResF4MonomialLookupTableT
C mi_node
C ResF4toM2Interface Static-method namespace bridging engine Matrix / vec values and the resolution engine's ResPolynomial representation
C ResMemoryBlock
C slab
C ResMonoidDense Dense-format ResMonoid implementation: monomials laid out as fixed-width exponent vectors
C ResMonoidSparse Sparse / varpower-format ResMonoid implementation: monomials laid out as length-prefixed lists of (variable, exponent ) pairs
C ResMonomialsIgnoringComponent MonHashTable trait for res_packed_monomial s with the component coordinate folded out
C ResMonomialSorter Sorter that orders res_packed_monomial s by their total (Schreyer) monomial, with a stable tiebreaker derived from input order
C ResMonomialsWithComponent MonHashTable trait for the resolution engine's res_packed_monomial s, with components included
C ResolutionComputation Base class for free resolution computation classes
C ResPolynomial Polynomial type used by the F4 resolution engine: parallel coefficient vector and concatenated monomial buffer
C ResPolynomialConstructor Builder that accumulates terms into a ResPolynomial and finalises the layout in one shot via setPoly
C ResPolynomialIterator Forward iterator over the terms of a ResPolynomial
C ResPolyRing The polynomial-ring view the F4 resolution engine reduces against: coefficient arithmetic plus the engine-specific ResMonoid
C ResSchreyerOrder Per-level Schreyer-order data attached to a SchreyerFrame::Level
C resterm
C Ring Xxx xxx xxx
C ring_elem
C RingElement Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meaning
C RingElementGenerator
C RingMap Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps to
C var Per-source-variable image record: a factored representation of the target-ring element that variable maps to
C RingZZ Engine-side ring of integers, backed by GMP mpz_ptr elements
C row_elem
C s_pair
C s_pair_heap
C sagbi Helper routines for computing Sagbi bases. Not currently functional?
C SchreyerFrame State container for the in-progress free resolution built by the F4 resolution engine
C Level One homological level of the frame: the FrameElement s living at that level plus the Schreyer order used to break ties among them
C Frame The full frame: a vector of Level s indexed by homological degree
C SchreyerOrder Per-component tie-breaker data for a Schreyer monomial order on a FreeModule
C SchreyerOrder_symm Helper functor that builds the n -th symmetric power of a SchreyerOrder by walking multi-indices
C schur_poly
C schur_poly_heap
C schur_poly_iterator
C SchurRing PolyRing subclass implementing the Schur (symmetric-function) ring whose monomials are partitions and whose multiplication is the Littlewood-Richardson rule
C SchurRing2 Refactored Schur (symmetric-function) ring whose elements are schur_poly sums of partitions over a configurable coefficient ring
C SchurSnRing SchurRing2 subclass implementing the symmetric-group character ring (the "Schur ring of `S_n`"), with multiplication given by inner-product convolution rather than Littlewood-Richardson
C SkewMultiplication Sign-rule helper used by every ring that has a skew-commutative subset of variables (exterior factor, full skew ring, ...)
C SkewPolynomialRing PolyRing subclass for skew-commutative (exterior-style) polynomial rings: the listed skewvars anticommute among themselves and square to zero
C slab
C SLEvaluator Abstract base for the SLP evaluator hierarchy
C SLEvaluatorConcrete
C SLP
C SLProgram A straight-line program: a directed acyclic graph of arithmetic gates over a fixed list of inputs and constants
C SMat
C sparsevec
C iterator
C Solution One numerical solution produced by a PathTracker run, with the full per-path diagnostic record
C SolvableAlgebra PolyRing subclass for solvable polynomial algebras (PBW-type non-commutative rings where each pair of non-commuting variables satisfies a relation of the form x_j x_i = c_ij x_i x_j + lower )
C sorter
C spair
C SPairCompare Comparator on indices into an spair table, ordering by sugar degree then by the larger of the two parent indices
C sparse_row
C SPolySorter Comparator on gbA::spair * used by the default Groebner basis driver to order its S-pair queue
C stash
C StatsAllocator
C StopConditions Bundle of optional early-termination knobs the front end can attach to a long-running Computation
C StraightLineProgram
C SubMatrix
C Subsets Bijective integer encoding of q -subsets of {0, ..., n-1} via binomial(a_0, 1) + binomial(a_1, 2) + ... + binomial (a_{q-1}, q)
C SuffixTree Generalised suffix tree alternative to WordTable for indexing non-commutative monomials
C SuffixTreeNode One node of a generalised suffix tree built over the inserted non-commutative monomial patterns
C SumCollector Abstract incremental accumulator that builds a ring_elem from many add(f) calls
C SumCollectorDefault Generic SumCollector that accumulates into a single ring_elem via repeated Ring::add_to
C SumCollectorFreeAlgebraHeap SumCollector adapter that funnels engine-side ring_elem adds into a FreeAlgebraHeap
C SumCollectorPolyHeap SumCollector implementation that funnels engine-side ring_elem additions through a polyheap (geobucket)
C SymmMatrix Helper that builds the p -th symmetric power of a 1-by-n matrix
C T Classic separate-chaining hash table used by the engine's low-level C code paths
C binding Singly linked-list node holding one (key, value) pair in a hash bucket chain
C tableau
C tableau2
C TermIterator
C Tower Ring subclass for tower polynomial rings (Z/p)[x_0][x_1]...[x_{n-1}] modulo a chain of algebraic extensions
C TowerEvaluator DPolyTraverser subclass that evaluates a tower polynomial under a RingMap
C TowerPolynomial Heap-allocated node of a tower polynomial: a dense degree -indexed coefficient array that recurses through levels
C TrivialHomotopyAlgorithm Tag type selecting the no-op homotopy algorithm
C TrivialPolynomialHeap Baseline PolynomialHeap implementation that simply accumulates the pending sum in a single Poly and walks it with an iterator
C VariablePrecisionHomotopyAlgorithm Tag type selecting the variable-precision homotopy algorithm
C vec
C vecHeap
C VectorArithmetic Runtime dispatcher that hides the concrete coefficient ring behind a std::variant of ConcreteVectorArithmetic <Ring >* pointers
C VectorArithmeticStats Lightweight counter attached to a ConcreteVectorArithmetic <Ring > for tracking how many coefficient additions a reduction performed
C WeylAlgebra PolyRing subclass for Weyl algebras: polynomial rings with the [d_i, x_i] = 1 derivative-variable commutation relations
C Word Non-owning view of a non-commutative word: [begin , end ) of int variable indices
C WordTable Index of Word s (non-commutative monomials) with subword, prefix/suffix, and overlap lookup used by the NC Groebner code
C WordWithData Word plus its ecart degree and heft degree — the value type WordWithDataTable stores
C WordWithDataTable Variant of WordTable where each stored monomial carries an additional ecart-degree datum that gates subword matches
C Z_mod Engine-side Z/p ring for small primes (p < 32767 ), using a discrete-log (Zech) representation
C ZipIterator