|
Macaulay2 Engine
|
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 Matrix * | k_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 () |
| Matrix * | value () |
Private Attributes | |
| const PolynomialRing * | P |
| const Monoid * | D |
| const Monoid * | M |
| MatrixConstructor | mat |
| enum KBasis:: { ... } | computation_type |
| const Matrix * | bottom_matrix |
| std::vector< int > | mHeftVector |
| int * | var_degs |
| int * | var_wts |
| std::vector< int > | mVariables |
| bool | do_truncation |
| bool | weight_has_zeros |
| int | limit |
| const int * | lo_degree |
| const int * | hi_degree |
| int * | kb_exp |
| int | kb_exp_weight |
| int | kb_target_lo_weight |
| int | kb_target_hi_weight |
| int * | kb_target_multidegree |
| int * | kb_exp_multidegree |
| int | kb_comp |
| int * | kb_mon |
| MonomialIdeal * | kb_monideal |
| bool | kb_error |
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.
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.