Adjugate matrix and M * adjugate M = det M • 1 #
The local adjugate matrix is the transpose of the cofactor matrix. The
defining property is (M * adjugate M)[i][j] = det M * δᵢⱼ, which we
prove entrywise via Laplace expansion. The off-diagonal case uses the
"alien cofactor" identity: expanding row i against the cofactors of a
different row j collapses to the determinant of a matrix with two
equal rows. These are the Mathlib-free local analogues of Mathlib's
Matrix.adjugate and Matrix.mul_adjugate needed by the Desnanot-Jacobi
assembly.
Deleting the destination row of setRow M dst v gives the same minor
as deleting the destination row of M: the replaced row is removed
anyway, so the new entries are invisible.
The cofactor expansion of setRow M dst v along the replaced row
dst uses the same minors as the cofactor expansion of M along that
row, because the deleted row never contributes to the minor.
Pair a row vector with a cofactor row of M. This is the scalar that
appears in Laplace expansion after replacing the expanded row.
Equations
Instances For
Pairing the original row against its own cofactor row recovers det M.
The "alien cofactor" identity: expanding row i of M against the
cofactors of a different row j produces zero. This is the
characteristic vanishing identity that makes the adjugate work.
Pairing an unreplaced row of M against a different cofactor row is zero.
The local adjugate matrix: entry (i, j) is the cofactor at row j,
column i of M. This is the transpose of the cofactor matrix.
Instances For
Entrywise version of M * adjugate M = det M • 1. On the diagonal
this is Laplace expansion of det M; off the diagonal it is the alien
cofactor identity.
Entrywise version of adjugate M * M = det M • 1.
This is the transpose-side companion to mul_adjugate_apply; it is useful
when cofactor identities are consumed columnwise rather than rowwise.
Cofactor-minor representation of an adjugate entry.
The (Fin.last, Fin.last) adjugate entry equals the determinant of
the leading prefix minor obtained by deleting the last row and column.
Multiplicativity helpers #
These private helpers prove determinant multiplicativity for Hex.det.
Two-row replacement determinant Plucker kernel #
The square-matrix two-row determinant Plucker identity: replacing distinct
rows a and b of an (n+1) × (n+1) matrix M by vectors u and v is
controlled by the cofactor-row pairings of u and v against the original
cofactors of rows a and b. The proof routes through the single-column
adjugate identity, computed by expanding the (c, s) entry of
adjugate (setRow M r u) * (setRow M r u * adjugate M) in two ways.
Two-row replacement determinant Plucker kernel.
For matrix M : Matrix R (n+1) (n+1), distinct rows a and b, and
replacement vectors u, v, the determinant of M paired with the
two-row-replaced cofactor-row pairing satisfies the quadratic Sylvester
relation against the four one-row cofactor-row pairings of u and v.