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

◆ truncate()

ring_elem SchurRing2::truncate ( const ring_elem f) const
protected

Definition at line 512 of file schur2.cpp.

517{
518 if (is_zero(f)) return f;
519 const schur_poly *f1 = f.get_schur_poly();
520 schur_poly *result = new schur_poly;
521
522 for (schur_poly::iterator i = f1->begin(); i != f1->end(); ++i)
523 {
524 if (i.getMonomial()[0] - 1 > nvars) continue;
525 result->appendTerm(i.getCoefficient(), i.getMonomial());
526 }
527 return ring_elem(result);
528}
virtual bool is_zero(const ring_elem f) const
Definition schur2.cpp:247
schur_poly_iterator iterator
Definition schur2.hpp:90
iterator begin() const
Definition schur2.hpp:128
iterator end() const
Definition schur2.hpp:132
VALGRIND_MAKE_MEM_DEFINED & result(result)
const schur_poly * get_schur_poly() const
Definition ringelem.hpp:137

References schur_poly::begin(), schur_poly::end(), is_zero(), nvars, and result().

Referenced by lift(), and promote().