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

◆ intersect() [2/2]

MonomialIdeal * MonomialIdeal::intersect ( const_varpower m) const

Definition at line 696 of file monideal.cpp.

698{
699 VECTOR(Bag*) new_elems;
700 for (Bag& a : *this)
701 {
702 Bag *b = new Bag(a.basis_elem());
703 varpower::lcm(a.monom().data(), m, b->monom());
704 new_elems.push_back(b);
705 }
706 MonomialIdeal *result = new MonomialIdeal(get_ring(), new_elems);
707 return result;
708}
static void lcm(ConstExponents a, ConstExponents b, Vector &result)
MonomialIdeal(const PolynomialRing *RR, stash *mi_stash=nullptr)
Definition monideal.cpp:91
const PolynomialRing * get_ring() const
Definition monideal.hpp:190
int basis_elem() const
Definition int-bag.hpp:66
gc_vector< int > & monom()
Definition int-bag.hpp:60
int_bag Bag
Definition int-bag.hpp:70
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define VECTOR(T)
Definition newdelete.hpp:78

References int_bag::basis_elem(), get_ring(), ExponentList< int, true >::lcm(), int_bag::monom(), MonomialIdeal(), result(), and VECTOR.

Referenced by IM2_MonomialIdeal_intersect().