Macaulay2 Engine
Loading...
Searching...
No Matches

◆ basis0_multi_graded()

void KBasis::basis0_multi_graded ( )
private

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

377{
378 // insert the all zeros vector
379 if (!try_insert_mg()) return;
380 if (mVariables.size() == 0) return;
381
382 int curr = 0;
383 do {
384 int vcurr = mVariables[curr];
385 // increase the curr index until we reach a limit
386 do {
387 if (limit == 0 || system_interrupted()) return;
388 kb_exp[vcurr]++;
389 kb_exp_weight += var_wts[curr];
392 var_degs + (mHeftVector.size() * curr),
394 } while (try_insert_mg());
395 } while (backtrack_mg(curr));
396}
static void mult(int nvars, ConstExponents a, ConstExponents b, Exponents result)
int * kb_exp_multidegree
std::vector< int > mVariables
bool try_insert_mg()
bool backtrack_mg(int &curr)
int * var_degs
std::vector< int > mHeftVector
int kb_exp_weight
int * var_wts
bool system_interrupted()

References backtrack_mg(), kb_exp, kb_exp_multidegree, kb_exp_weight, limit, mHeftVector, ExponentVector< int, true >::mult(), mVariables, system_interrupted(), try_insert_mg(), var_degs, and var_wts.

Referenced by compute().