Macaulay2 Engine
Loading...
Searching...
No Matches
dmat-zzp-flint.hpp File Reference

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...

Detailed Description

DMat<M2::ARingZZpFlint> — dense Z/p matrices stored in a FLINT nmod_mat_t.

Note
AI-generated documentation. Verify against the source before relying on it.

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.

See also
dmat.hpp
dmat-lu-zzp-flint.hpp
dmat-lu-zzp-ffpack.hpp
aring-zzp-flint.hpp

Definition in file dmat-zzp-flint.hpp.