|
Macaulay2 Engine
|
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... | |
DMatLinAlg<M2::ARingZZpFlint> — dense Z/p linear algebra routed through FLINT nmod_mat_*.
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.
Definition in file dmat-lu-zzp-flint.hpp.