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

◆ content()

const Matrix * Matrix::content ( ) const

Definition at line 2021 of file matrix.cpp.

2022{
2023 const Ring *R = get_ring();
2024 const PolynomialRing *P = R->cast_to_PolynomialRing();
2025 const Ring *targetR = (P == nullptr ? R : P->getCoefficients());
2026
2027 const FreeModule *F = targetR->make_FreeModule(1);
2028 MatrixConstructor mat(F, n_cols());
2029 for (int i = 0; i < n_cols(); i++)
2030 mat.set_entry(0, i, R->vec_content(elem(i)));
2031 return mat.to_matrix();
2032}
friend class FreeModule
Definition matrix.hpp:73
const Ring * get_ring() const
Definition matrix.hpp:134
ring_elem elem(int i, int j) const
Definition matrix.cpp:307
friend class MatrixConstructor
Definition matrix.hpp:76
int n_cols() const
Definition matrix.hpp:147
virtual const Ring * getCoefficients() const
Definition polyring.hpp:277
virtual FreeModule * make_FreeModule() const
Definition ring.cpp:53
virtual const PolynomialRing * cast_to_PolynomialRing() const
Definition ring.hpp:243
ring_elem vec_content(vec f) const

References Ring::cast_to_PolynomialRing(), content(), elem(), FreeModule, get_ring(), PolynomialRing::getCoefficients(), Ring::make_FreeModule(), Matrix(), MatrixConstructor, n_cols(), MatrixConstructor::set_entry(), MatrixConstructor::to_matrix(), and Ring::vec_content().

Referenced by auto_reduce(), content(), and rawMatrixContent().