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

DMatLinAlg<M2::ARingZZpFlint> — dense Z/p linear algebra routed through FLINT nmod_mat_*. More...

#include <M2/gc-include.h>
#include <flint/nmod_mat.h>

Go to the source code of this file.

Classes

class  DMatLinAlg< M2::ARingZZpFlint >
 Specialisation of DMatLinAlg for ARingZZpFlint dense matrices, routing rank / determinant / kernel / solve / inverse calls to FLINT's nmod_mat_* routines. More...

Detailed Description

DMatLinAlg<M2::ARingZZpFlint> — dense Z/p linear algebra routed through FLINT nmod_mat_*.

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

Specialises DMatLinAlg for the FLINT-backed Z/p aring, with each public method forwarding to the matching nmod_mat_* routine on the underlying nmod_mat_t: rank() to nmod_mat_rank, determinant to nmod_mat_det, inverse to nmod_mat_inv, kernel to nmod_mat_nullspace, and solveInvertible(B, X) to nmod_mat_solve. matrixPLU copies the input matrix, runs nmod_mat_lu on the copy, and then calls LUUtil<RingType>::setUpperLower to split the packed result into separate L and U. The general-shape solve(B, X) concatenates [A | B] via concatenateMatrices<Mat>, runs nmod_mat_rref, reads the column-rank profile via LUUtil::computePivotColumns, and either rejects the system as inconsistent or copies the solution out of the trailing columns of AB.

The header is #included from dmat-lu.hpp; M2/gc-include.h precedes the FLINT include so flint_malloc routes through bdwgc, and the diagnostic pragmas silence FLINT-internal conversion warnings. The FFLAS-FFPACK alternative is dmat-lu-zzp-ffpack.hpp.

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

Definition in file dmat-lu-zzp-flint.hpp.