|
Macaulay2 Engine
|
Non-commutative analogue of KBasis: enumerates basis monomials of a FreeAlgebra quotient up to a degree / length bound. More...
Public Member Functions | |
| NCBasis (const FreeAlgebra &A, const ConstPolyList &gb, const std::vector< int > &lo_degree, const std::vector< int > &hi_degree, int limit) | |
| PolyList & | compute () |
Private Member Functions | |
| void | insert () |
| void | basis0 () |
Private Attributes | |
| const FreeAlgebra & | mFreeAlgebra |
| const FreeMonoid & | mMonoid |
| std::vector< int > | mVariables |
| std::vector< int > | mVariableHefts |
| std::unique_ptr< WordTable > | mWordTable |
| std::vector< int > | mMonomial |
| 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) |
Non-commutative analogue of KBasis: enumerates basis monomials of a FreeAlgebra quotient up to a degree / length bound.
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.