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

◆ borel()

MonomialIdeal * MonomialIdeal::borel ( ) const

Definition at line 940 of file monideal.cpp.

942{
943 VECTOR(Bag *) new_elems;
944 exponents_t bexp = newarray_atomic(int, get_ring()->n_vars());
945 for (Bag& b : *this)
946 {
947 varpower::to_expvector(get_ring()->n_vars(), b.monom().data(), bexp);
948 borel1(new_elems, bexp, get_ring()->n_vars() - 1, get_ring()->n_vars());
949 }
950 MonomialIdeal *result = new MonomialIdeal(get_ring(), new_elems);
951 freemem(bexp);
952 return result;
953}
exponents::Exponents exponents_t
static void to_expvector(int n, ConstExponents a, exponents::Exponents result)
MonomialIdeal(const PolynomialRing *RR, stash *mi_stash=nullptr)
Definition monideal.cpp:91
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
void freemem(void *s)
Definition m2-mem.cpp:103
VALGRIND_MAKE_MEM_DEFINED & result(result)
static void borel1(VECTOR(Bag *) &result, exponents_t m, int loc, int nvars)
Definition monideal.cpp:918
#define VECTOR(T)
Definition newdelete.hpp:78
#define newarray_atomic(T, len)
Definition newdelete.hpp:91

References borel1(), freemem(), get_ring(), int_bag::monom(), MonomialIdeal(), newarray_atomic, result(), ExponentList< int, true >::to_expvector(), and VECTOR.

Referenced by IM2_MonomialIdeal_borel().