Definition at line 805 of file matrix.cpp.
806{
808 if (P == nullptr)
809 {
810 ERROR(
"expected a polynomial ring");
811 return nullptr;
812 }
814 {
815 ERROR(
"matrix diff: different base rings");
816 return nullptr;
817 }
822
828
830 D->remove(deg);
831 int i, j, next = 0;
832 for (i = 0; i <
n_cols(); i++)
833 for (j = 0; j < m->
n_cols(); j++)
834 mat.set_column(
835 next++,
837 return mat.to_matrix();
838}
FreeModule * transpose() const
FreeModule * tensor(const FreeModule *G) const
const_monomial degree_shift() const
const Ring * get_ring() const
ring_elem elem(int i, int j) const
friend class MatrixConstructor
const FreeModule * rows() const
const FreeModule * cols() const
monomial make_one() const
virtual const PolynomialRing * cast_to_PolynomialRing() const
vec vec_diff(vec v, int rankFw, vec w, int use_coeff) const
const Monoid * degree_monoid() const
References cols(), Ring::degree_monoid(), degree_shift(), diff(), elem(), ERROR, freemem(), FreeModule, G, get_ring(), Matrix(), MatrixConstructor, monomial, n_cols(), FreeModule::rank(), rows(), MatrixConstructor::set_column(), FreeModule::tensor(), MatrixConstructor::to_matrix(), and Ring::vec_diff().
Referenced by diff(), IM2_Matrix_contract(), and IM2_Matrix_diff().