|
Macaulay2 Engine
|
DMat<M2::ARingZZpFlint> — dense Z/p matrices stored in a FLINT nmod_mat_t. More...
#include <utility>#include "aring-zzp-flint.hpp"#include <M2/gc-include.h>#include <flint/nmod_mat.h>Go to the source code of this file.
Classes | |
| class | DMat< M2::ARingZZpFlint > |
| Specialisation of DMat for ARingZZpFlint matrices, backed by FLINT's nmod_mat_t. More... | |
DMat<M2::ARingZZpFlint> — dense Z/p matrices stored in a FLINT nmod_mat_t.
Specialises the dense-matrix template for the FLINT-backed Z/p aring. Storage is a single nmod_mat_t mArray (an mp_limb_t buffer of representatives in [0, p) carried alongside the precomputed-reciprocal modulus FLINT uses for fast reduction). The class exposes the standard DMat surface (ring(), numRows, numColumns, entry(r, c) via nmod_mat_entry, resize, swap) plus a raw nmod_mat() accessor and the unsafeArray() direct-pointer hook for consumers that need to hand the underlying buffer back to FLINT.
Arithmetic (nmod_mat_add / nmod_mat_mul / nmod_mat_rank / nmod_mat_solve / nmod_mat_inv / nmod_mat_nullspace, ...) is not declared in this file — mat-linalg.hpp and the LU specialisations call those routines directly through nmod_mat() once they have a matrix in this form. A sibling FFLAS-FFPACK specialisation for ARingZZpFFPACK lives alongside in the mat-linalg.hpp machinery for primes that fit FFPACK's BLAS-via-double strategy. As with every FLINT-backed header, M2/gc-include.h precedes the FLINT include so allocations route through bdwgc.
Definition in file dmat-zzp-flint.hpp.