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

◆ lcm()

M2_arrayint MonomialIdeal::lcm ( ) const

Definition at line 819 of file monideal.cpp.

821{
822 M2_arrayint result = M2_makearrayint(get_ring()->n_vars());
823 for (int i = 0; i < result->len; i++) result->array[i] = 0;
824
825 for (Bag& a : *this)
826 {
827 for (index_varpower j = a.monom().data(); j.valid(); ++j)
828 if (result->array[j.var()] < j.exponent())
829 result->array[j.var()] = j.exponent();
830 }
831 return result;
832}
ExponentListIterator< int, true > index_varpower
const PolynomialRing * get_ring() const
Definition monideal.hpp:190
gc_vector< int > & monom()
Definition int-bag.hpp:60
int_bag Bag
Definition int-bag.hpp:70
VALGRIND_MAKE_MEM_DEFINED & result(result)
M2_arrayint M2_makearrayint(int n)
Definition m2-types.cpp:6

References get_ring(), M2_makearrayint(), int_bag::monom(), and result().

Referenced by all_have_pure_powers(), and rawMonomialIdealLCM().