Macaulay2 Engine
Loading...
Searching...
No Matches
NCBasis Class Reference

Non-commutative analogue of KBasis: enumerates basis monomials of a FreeAlgebra quotient up to a degree / length bound. More...

Inheritance diagram for NCBasis:
our_new_delete

Public Member Functions

 NCBasis (const FreeAlgebra &A, const ConstPolyList &gb, const std::vector< int > &lo_degree, const std::vector< int > &hi_degree, int limit)
PolyListcompute ()

Private Member Functions

void insert ()
void basis0 ()

Private Attributes

const FreeAlgebramFreeAlgebra
const FreeMonoidmMonoid
std::vector< intmVariables
std::vector< intmVariableHefts
std::unique_ptr< WordTablemWordTable
std::vector< intmMonomial
int mCurrentIndex
int mCurrentHeftValue
PolyList mBasis
int mLimit
int mLoHeft
int mHiHeft

Additional Inherited Members

Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)

Detailed Description

Non-commutative analogue of KBasis: enumerates basis monomials of a FreeAlgebra quotient up to a degree / length bound.

Note
AI-generated documentation. Verify against the source before relying on it.

Holds the ambient FreeAlgebra plus the set of generator variables / their heft degrees (mVariables, mVariableHefts), a WordTable of GB lead terms (so monomials divisible by any lead term are skipped), and the recursion scratch state (mMonomial and mCurrentIndex). The recursive worker prefixes each generator in turn and emits a column whenever the partial word reaches the requested target degree.

Definition at line 44 of file matrix-ncbasis.cpp.


The documentation for this class was generated from the following file: