Output of an executable Bareiss elimination pass.
Constructor
Hex.Matrix.BareissData.mk
Fields
matrix : Hex.Matrix Int n n
Terminal matrix produced by the Bareiss pass. When singularStep = none,
BareissData.det reads the last diagonal entry of this matrix, with the
row-swap sign applied; for n = 0, the empty diagonal contributes 1.
rowSwaps : Nat
Number of row swaps performed by pivoting. Even parity contributes sign
1; odd parity contributes sign -1.
singularStep : Option Nat
The first elimination step that found a zero pivot and no replacement
row. A value some k records that singular step and makes
BareissData.det return 0; none means the run reached the terminal
diagonal encoding.