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

◆ operator*()

MonomialIdeal * MonomialIdeal::operator* ( const MonomialIdeal & G) const

Definition at line 710 of file monideal.cpp.

711{
712 VECTOR(Bag*) new_elems;
713 for (Bag& a : *this)
714 for (Bag& b : J)
715 {
716 Bag *c = new Bag(a.basis_elem());
717 varpower::mult(a.monom().data(), b.monom().data(), c->monom());
718 new_elems.push_back(c);
719 }
720
721 MonomialIdeal *result = new MonomialIdeal(get_ring(), new_elems);
722 GC_reachable_here(&J);
723 return result;
724}
static void mult(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(), int_bag::monom(), MonomialIdeal(), ExponentList< int, true >::mult(), result(), and VECTOR.