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

◆ contains()

int ReducedGB::contains ( const Matrix * m)
virtual

Implements GBComputation.

Definition at line 207 of file reducedgb.cpp.

208{
209 // Reduce each column of m one by one.
210 if (m->get_ring() != originalR)
211 {
212 ERROR("expected matrix over the same ring");
213 return -2;
214 }
215
216 for (int i = 0; i < m->n_cols(); i++)
217 {
218 ring_elem denom;
219 gbvector *g = originalR->translate_gbvector_from_vec(F, (*m)[i], denom);
220
221 remainder(g, false, denom);
222
223 if (g != nullptr)
224 {
225 R->gbvector_remove(g);
226 return i;
227 }
228 }
229 return -1;
230}
const Ring * get_ring() const
Definition matrix.hpp:134
int n_cols() const
Definition matrix.hpp:147
virtual void remainder(POLY &f, bool use_denom, ring_elem &denom)=0
GBRing * R
Definition reducedgb.hpp:64
const PolynomialRing * originalR
Definition reducedgb.hpp:65
const FreeModule * F
Definition reducedgb.hpp:66
const int ERROR
Definition m2-mem.cpp:55

References ERROR, F, Matrix::get_ring(), Matrix, Matrix::n_cols(), originalR, R, and remainder().