147{
151 if ((
T ==
nullptr) || (S ==
nullptr))
152 {
153 ERROR(
"expected polynomial ring");
154 return nullptr;
155 }
157 for (
int i = 0; i < m->
n_cols(); i++)
158 {
159 ring_elem a = m->
elem(0, i);
161 inclusionAmbient,fullSubstitution,substitutionInclusion,
162 gbI,gbReductionIdeal);
163 result.set_entry(0, i, b);
164 }
165
166 return result.to_matrix();
167}
ring_elem elem(int i, int j) const
const FreeModule * rows() const
const FreeModule * cols() const
int n_slots(int nparts) const
virtual ring_elem copy(const ring_elem f) const
virtual const Monoid * getMonoid() const
virtual const PolyRing * cast_to_PolyRing() const
static ring_elem subduct1(int numslots, const PolyRing *T, const PolyRing *S, ring_elem a, const RingMap *inclusionAmbient, const RingMap *fullSubstitution, const RingMap *substitutionInclusion, GBComputation *gbI, GBComputation *gbReductionIdeal)
VALGRIND_MAKE_MEM_DEFINED & result(result)