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

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

Detailed Description

DMat<M2::ARingGFFlintBig> — dense GF matrices stored in a FLINT fq_nmod_mat_t.

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

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.

See also
dmat.hpp
dmat-gf-flint.hpp
aring-gf-flint-big.hpp

Definition in file dmat-gf-flint-big.hpp.