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

◆ ToMatrix()

template<typename MonomType>
const Matrix * BIBasis::BooleanInvolutiveBasis< MonomType >::ToMatrix ( ) const

Definition at line 143 of file involutive.hpp.

144 {
145 MatrixConstructor matrixConstructor(PRing->make_FreeModule(1), 0);
146 const Monoid* monoid = PRing->getMonoid();
147 const ring_elem coefficientUnit = PRing->getCoefficients()->one();
148 monomial tmpRingMonomial = monoid->make_one();
149
151 currentPolynom != GBasis.end();
153 {
154 if (!*currentPolynom)
155 {
156 continue;
157 }
158
160
161 for (const MonomType* currentMonom = &(**currentPolynom).Lm();
164 {
167
171 {
173 }
174
175 monoid->from_expvector(currentExponent, tmpRingMonomial);
177
180 }
181
182 matrixConstructor.append(PRing->make_vec(0, currentRingPolynomial));
183 }
184
185 return matrixConstructor.to_matrix();
186 }
std::list< Polynom< MonomType > * > GBasis
const PolynomialRing *const PRing
void freemem(void *s)
Definition m2-mem.cpp:103
#define newarray_atomic_clear(T, len)
Definition newdelete.hpp:93

References MatrixConstructor::append(), freemem(), Monoid::from_expvector(), GBasis, Monoid::make_one(), Matrix, monomial, newarray_atomic_clear, PRing, and MatrixConstructor::to_matrix().

Referenced by BIBasis::Launcher::GetBIBasisMatrix().