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

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. More...

Static Public Member Functions

static Matrixk_basis (const Matrix *bottom, M2_arrayint lo_degree, M2_arrayint hi_degree, std::vector< int > heftvec, std::vector< int > varlist, bool do_truncation, int limit)

Private Types

enum  { KB_FULL , KB_SINGLE , KB_MULTI }

Private Member Functions

void insert ()
bool try_insert_full ()
bool try_insert_sg ()
bool try_insert_mg ()
bool backtrack (int &curr)
bool backtrack_mg (int &curr)
void basis0_full ()
void basis0_singly_graded ()
void basis0_multi_graded ()
 KBasis (const Matrix *bottom, const int *lo_degree, const int *hi_degree, std::vector< int > heftvec, std::vector< int > varlist, bool do_truncation, int limit)
 ~KBasis ()
void compute ()
Matrixvalue ()

Private Attributes

const PolynomialRingP
const MonoidD
const MonoidM
MatrixConstructor mat
enum KBasis:: { ... }  computation_type
const Matrixbottom_matrix
std::vector< intmHeftVector
intvar_degs
intvar_wts
std::vector< intmVariables
bool do_truncation
bool weight_has_zeros
int limit
const intlo_degree
const inthi_degree
intkb_exp
int kb_exp_weight
int kb_target_lo_weight
int kb_target_hi_weight
intkb_target_multidegree
intkb_exp_multidegree
int kb_comp
intkb_mon
MonomialIdealkb_monideal
bool kb_error

Detailed Description

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.

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

computation_type picks the mode (KB_SINGLE for a fixed degree, KB_MULTI for a degree range, KB_FULL for the whole finite-dimensional basis). The result is accumulated in mat (a MatrixConstructor); the recursive do_kbasis worker walks variable / degree combinations against the polynomial ring's monoid and emits one column per basis monomial.

Definition at line 69 of file matrix-kbasis.cpp.


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