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

◆ all_have_pure_powers()

bool all_have_pure_powers ( const MonomialIdeal * M,
std::vector< int > varlist )
static

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

400{
401 // returns true iff all the variables in varlist have some pure power in M
402 std::vector<int> lcms = M2_arrayint_to_stdvector<int>(M->lcm());
404 for (int i = 0; i < lcms.size(); i++) exp[i] = 0;
405 for (int i = 0; i < varlist.size(); i++)
406 {
407 Bag *b;
408 int v = varlist[i];
409 exp[v] = lcms[v];
410 if (!M->search_expvector(exp, b)) return false;
411 exp[v] = 0;
412 }
413 return true;
414}
exponents::Exponents exponents_t
int search_expvector(const_exponents m, Bag *&b) const
Definition monideal.cpp:214
M2_arrayint lcm() const
Definition monideal.cpp:819
int_bag Bag
Definition int-bag.hpp:70
#define ALLOCATE_EXPONENTS(byte_len)
Definition monoid.hpp:62
#define EXPONENT_BYTE_SIZE(nvars)
Definition monoid.hpp:63
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
Definition mpreal.h:2298
std::vector< T > M2_arrayint_to_stdvector(M2_arrayint arr)
Definition util.hpp:96

References ALLOCATE_EXPONENTS, EXPONENT_BYTE_SIZE, MonomialIdeal::lcm(), M2_arrayint_to_stdvector(), and MonomialIdeal::search_expvector().

Referenced by KBasis::compute().