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

◆ radical()

MonomialIdeal * MonomialIdeal::radical ( ) const

Definition at line 899 of file monideal.cpp.

900{
901 // std::cout << "monideal: calling radical on ";
902 // dmonideal(const_cast<MonomialIdeal*>(this));
903 // std::cout << std::endl << " -- radical(I) = ";
904
905 VECTOR(Bag*) new_elems;
906 for (Bag& a : *this)
907 {
908 Bag *b = new Bag(a.basis_elem());
909 varpower::radical(a.monom().data(), b->monom());
910 new_elems.push_back(b);
911 }
912 MonomialIdeal *result = new MonomialIdeal(get_ring(), new_elems);
913 // dmonideal(result);
914 // std::cout << "----" << std::endl;
915 return result;
916}
static void radical(ConstExponents a, 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 >::radical(), result(), and VECTOR.

Referenced by rawRadicalMonomialIdeal().