50template <
typename ACoeffRing>
60template <
typename ACoeffRing>
66 typedef typename ACoeffRing::Element
Element;
84 for (
size_t i = 0; i < len; i++)
108 for (
size_t i = 0; i < len; i++)
119 for (
size_t r = 0; r <
mNumRows; ++r)
128 for (
size_t i = 0; i < len; i++)
ring().clear(
mArray[i]);
157 void resize(
size_t new_nrows,
size_t new_ncols)
159 DMat newMatrix(
ring(), new_nrows, new_ncols);
DMat(const DMat< ACoeffRing > &M)
ElementType *& unsafeArray()
std::vector< ElementType * > mRowPointers
ElementType & entry(size_t row, size_t column)
void resize(size_t new_nrows, size_t new_ncols)
const ACoeffRing & ring() const
void swap(DMat< ACoeffRing > &M)
RingType::ElementType ElementType
DMat(const ACoeffRing &R, size_t nrows, size_t ncols)
RingType::Element Element
const ElementType & entry(size_t row, size_t column) const
const ElementType * unsafeArray() const
ElementType *& rowMajorArray()
const ElementType * rowMajorArray() const
size_t numColumns() const
DMat<M2::ARingGFFlintBig> — dense GF matrices stored in a FLINT fq_nmod_mat_t.
DMat<M2::ARingGFFlint> — dense GF matrices stored in a FLINT fq_zech_mat_t.
DMat<M2::ARingQQFlint> — dense rational matrices stored in a FLINT fmpq_mat_t.
DMat<M2::ARingZZ> — dense integer matrices stored in a FLINT fmpz_mat_t.
DMat<M2::ARingZZpFlint> — dense Z/p matrices stored in a FLINT nmod_mat_t.
Engine-wide include prelude — a single point of truth for portability shims.
Generic helpers (displayMat, concatenateMatrices) for DMat / SMat matrices.
void swap(mpfr::mpreal &x, mpfr::mpreal &y)