Implements GBComputation.
Definition at line 126 of file reducedgb.cpp.
127{
129 {
130 ERROR(
"expected matrix over the same ring");
131 return nullptr;
132 }
133
135 {
136 ERROR(
"expected matrices to have same number of rows");
137 return nullptr;
138 }
139
141 for (
int i = 0; i < m->
n_cols(); i++)
142 {
143 ring_elem denom;
144 gbvector *g =
originalR->translate_gbvector_from_vec(
F, (*m)[i], denom);
145
147
148 vec fv =
originalR->translate_gbvector_to_vec_denom(
F, g, denom);
149 red.set_column(i, fv);
150 R->gbvector_remove(g);
151 }
152 return red.to_matrix();
153}
const_monomial degree_shift() const
const Ring * get_ring() const
const FreeModule * rows() const
const FreeModule * cols() const
virtual void remainder(POLY &f, bool use_denom, ring_elem &denom)=0
const PolynomialRing * originalR
References Matrix::cols(), Matrix::degree_shift(), ERROR, F, Matrix::get_ring(), Matrix, Matrix::n_cols(), Matrix::n_rows(), originalR, R, remainder(), Matrix::rows(), MatrixConstructor::set_column(), and MatrixConstructor::to_matrix().