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

◆ is_invertible()

bool Monoid::is_invertible ( const_monomial m) const

Definition at line 714 of file monoid.cpp.

717{
718 // Only the trivial monomial is invertible in this case
719 if (n_invertible_vars_ == 0) { return is_one(m); }
720
722 to_expvector(m, EXP1);
723 for (int i = 0; i < mVariableCount; i++)
724 if (!monorder_->is_laurent[i] && EXP1[i] > 0) return false;
725 return true;
726}
exponents::Exponents exponents_t
void to_expvector(const_monomial m, exponents_t result_exp) const
Definition monoid.cpp:747
bool is_one(const_monomial m) const
Definition monoid.cpp:707
size_t exp_size
Definition monoid.hpp:120
int n_invertible_vars_
number of invertible variables
Definition monoid.hpp:131
const int mVariableCount
number of variables
Definition monoid.hpp:99
MonomialOrder * monorder_
Definition monoid.hpp:96
#define ALLOCATE_EXPONENTS(byte_len)
Definition monoid.hpp:62

References ALLOCATE_EXPONENTS, exp_size, is_one(), monorder_, mVariableCount, n_invertible_vars_, and to_expvector().