|
Macaulay2 Engine
|
DMat<M2::ARingGFFlintBig> — dense GF matrices stored in a FLINT fq_nmod_mat_t. More...
#include <utility>#include "aring-gf-flint-big.hpp"#include <M2/gc-include.h>#include <flint/fq_nmod_mat.h>Go to the source code of this file.
Classes | |
| class | DMat< M2::ARingGFFlintBig > |
| Specialisation of DMat for ARingGFFlintBig matrices, backed by FLINT's fq_nmod_mat_t. More... | |
DMat<M2::ARingGFFlintBig> — dense GF matrices stored in a FLINT fq_nmod_mat_t.
Specialises the dense-matrix template for the large-q Galois-field aring ARingGFFlintBig. Storage is a single fq_nmod_mat_t mArray whose entries are polynomials over Z/p (the fq_nmod_struct carried by the aring). The class exposes the standard DMat surface (ring(), numRows, numColumns, entry(r, c) via fq_nmod_mat_entry, resize, swap) plus a raw fq_nmod_mat() accessor and the unsafeArray() direct-pointer hook for consumers that need to hand the underlying buffer back to FLINT. All fq_nmod_mat_* API calls take ring().flintContext(), which the constructors and destructor thread through.
Arithmetic and linear-algebra (rank, mul, LU, solve, null-space) are not declared in this header — consumers (the LU specialisations in dmat-lu-inplace.hpp and the mat-linalg.hpp machinery) reach into fq_nmod_mat() and call the FLINT routines directly. The companion dmat-gf-flint.hpp covers the small-q Zech-table (fq_zech_mat_t) representation; the user picks between the two at ring construction via the separate rawARingGaloisFieldFlintZech / rawARingGaloisFieldFlintBig entry points. M2/gc-include.h precedes the FLINT include so the allocator routes through bdwgc.
Definition in file dmat-gf-flint-big.hpp.