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

◆ FillInitialSet()

template<typename MonomType>
void BIBasis::BooleanInvolutiveBasis< MonomType >::FillInitialSet ( const Matrix * matrix,
std::list< Polynom< MonomType > * > & initialSet ) const
private

Definition at line 189 of file involutive.hpp.

190 {
191 const Monoid* monoid = PRing->getMonoid();
193
194 //construct Polynom for every column in matrix
195 for (int column = 0; column < matrix->n_cols(); ++column)
196 {
198 if (!polynomVector)
199 {
200 continue;
201 }
202
204
205 for (Nterm& currentTerm : polynomVector->coeff)
206 {
208 monoid->to_expvector(currentTerm.monom, monomVector);
209
210 //construct Monom for every term
212 if (!currentMonom)
213 {
215 throw std::string("BIBasis::BooleanInvolutiveBasis::FillInitialSet(): got NULL instead of new monom.");
216 }
217
219 {
221 {
223 }
224 }
225
228 delete currentMonom;
229 }
230
231 initialSet.push_back(currentPolynom);
232 }
233 }
const PolynomialRing *const PRing
void freemem(void *s)
Definition m2-mem.cpp:103
#define newarray_atomic(T, len)
Definition newdelete.hpp:91

References Matrix::elem(), freemem(), Matrix, Nterm::monom, Matrix::n_cols(), newarray_atomic, PRing, and Monoid::to_expvector().

Referenced by BooleanInvolutiveBasis().