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

◆ contains()

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

Implements GBComputation.

Definition at line 406 of file gauss.cpp.

410{
411 if (m->get_ring() != R)
412 {
413 ERROR("encountered different ring");
414 return -1;
415 }
416 // Reduce each column of m one by one.
417 for (int i = 0; i < m->n_cols(); i++)
418 {
419 vec f = R->copy_vec(m->elem(i));
420 reduce(f);
421 if (f != nullptr)
422 {
423 R->remove_vec(f);
424 return i;
425 }
426 }
427 return -1;
428}
void reduce(gm_elem *&p, gm_elem *q)
Definition gauss.cpp:130
const Ring * R
Definition gauss.hpp:66
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
const int ERROR
Definition m2-mem.cpp:55

References Matrix::elem(), ERROR, Matrix::get_ring(), Matrix, Matrix::n_cols(), R, and reduce().