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

DMat<M2::ARingGFFlint> — dense GF matrices stored in a FLINT fq_zech_mat_t. More...

#include <utility>
#include "aring-gf-flint.hpp"
#include <M2/gc-include.h>
#include <flint/fq_nmod_mat.h>
#include <flint/fq_zech_mat.h>

Go to the source code of this file.

Classes

class  DMat< M2::ARingGFFlint >
 Specialisation of DMat for ARingGFFlint matrices, backed by FLINT's fq_zech_mat (Zech-log) routines. More...

Detailed Description

DMat<M2::ARingGFFlint> — dense GF matrices stored in a FLINT fq_zech_mat_t.

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

Specialises the dense-matrix template for the small-q Galois-field aring ARingGFFlint. Storage is a single fq_zech_mat_t mArray whose entries are Zech log indices shared with the aring; the class exposes the standard DMat surface (ring(), numRows, numColumns, entry(r, c) via fq_zech_mat_entry, resize, swap) plus a raw fq_zech_mat() accessor and the unsafeArray() direct-pointer hook for consumers that need to hand the underlying buffer back to FLINT. All fq_zech_mat_* API calls take the ring().flintContext() so the constructors and destructor thread it through.

Arithmetic and the LU / rank / solve paths are not declared in this header — consumers (the LU specialisations in dmat-lu-inplace.hpp and the mat-linalg.hpp family) reach into fq_zech_mat() and call the FLINT routines directly. The companion dmat-gf-flint-big.hpp covers the polynomial- quotient (fq_nmod_mat_t) representation used by ARingGFFlintBig; the user picks between the two at ring construction time through the separate rawARingGaloisFieldFlintZech and rawARingGaloisFieldFlintBig entry points (no in-engine auto-fallback). The required M2/gc-include.h shim precedes the FLINT headers so the allocator routes through bdwgc.

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

Definition in file dmat-gf-flint.hpp.