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

◆ is_equal()

bool Matrix::is_equal ( const Matrix & m) const

Definition at line 312 of file matrix.cpp.

313{
314 auto R = get_ring();
315 if (this == &m) return true;
316 if (hash() != m.hash()) return false;
317 if (R != m.get_ring()) return false;
318 if (n_rows() != m.n_rows()) return false;
319 if (n_cols() != m.n_cols()) return false;
320 for (int i = 0; i < n_cols(); i++)
321 if (!R->is_equal(elem(i), m.elem(i))) return false;
322 return true;
323}
unsigned int hash() const
Definition hash.hpp:70
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
int n_rows() const
Definition matrix.hpp:146

References elem(), get_ring(), EngineObject::hash(), is_equal(), Matrix(), n_cols(), and n_rows().

Referenced by IM2_Matrix_is_equal(), is_equal(), operator+(), and operator-().