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

◆ contains()

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

Implements GBComputation.

Definition at line 524 of file hermite.cpp.

528{
529 if (m->get_ring() != globalZZ)
530 {
531 ERROR("expected matrix over ZZ");
532 return -1;
533 }
534 // Reduce each column of m one by one.
535 for (int i = 0; i < m->n_cols(); i++)
536 {
537 vec f = globalZZ->copy_vec(m->elem(i));
538 gb_reduce(f);
539 if (f != nullptr)
540 {
542 return i;
543 }
544 }
545 return -1;
546}
void gb_reduce(vec &f) const
Definition hermite.cpp:387
const Ring * get_ring() const
Definition matrix.hpp:134
ring_elem elem(int i, int j) const
Definition matrix.cpp:307
int n_cols() const
Definition matrix.hpp:147
void remove_vec(vec v) const
vec copy_vec(const vecterm *v) const
Definition ring-vecs.cpp:91
RingZZ * globalZZ
Definition relem.cpp:13
const int ERROR
Definition m2-mem.cpp:55

References Matrix::elem(), ERROR, gb_reduce(), Matrix::get_ring(), globalZZ, Matrix, and Matrix::n_cols().