Matrices preserving a Gram matrix #
For a square matrix A over a commutative semiring, Matrix.isometryMatrices A is the submonoid
of matrices X with Xᵀ * A * X = A, the endomorphisms of the coordinate module that preserve
the bilinear form with Gram matrix A. Counting these matrices over the finite rings
ZMod (p ^ r) is how the local density of a quadratic lattice is defined, and the results here
are what that count needs.
- A change of basis
A ↦ Pᵀ * A * Pby an invertiblePconjugates the submonoid byP, so its cardinality does not depend on the basis. Neither does it change under reindexing or under a ring isomorphism of the coefficients. - When every solution has unit determinant, the solutions form a group, so for any ring
homomorphism
ftheir number is the number of their images underftimes the number of solutions sent to1. - Let
f : R →+* Sbe surjective with square-zero kernel, let2be a unit ofR, and letAbe symmetric with unit determinant. Then every solution overSlifts to a solution overR, and the solutions overRlying above a fixed one correspond to the skew-symmetric matrices with entries in the kernel. Hence, as an identity ofNat.cards, the count overRisNat.card (ker f) ^ (k.choose 2)times the count overS, forkthe size of the index type; whenRis finite these are the actual numbers of solutions. This is the infinitesimal lifting property behind the smoothness of the orthogonal group of a nondegenerate form away from2, with its relative dimensionk (k - 1) / 2.
The lift corrects an arbitrary preimage M of the solution: with error E = A - Mᵀ * A * M,
the matrix M * (1 + ½ A⁻¹ E) is a solution, since all quadratic terms in the error vanish.
Main results #
Matrix.natCard_isometryMatrices_transpose_mul_mul: the count is invariant underA ↦ Pᵀ * A * Pfor invertibleP.Matrix.natCard_isometryMatrices_reindex,Matrix.natCard_isometryMatrices_map_ringEquiv: the count is invariant under reindexing and under ring isomorphisms.Matrix.natCard_isometryMatrices_eq_mul: the count is the number of images under a ring homomorphism times the size of the fibre above1, when all solutions are invertible.Matrix.transposeMulMulEquiv: the solutions ofYᵀ * A * Y = Bonly depend onAandBup to congruence by invertible matrices.Matrix.transpose_mul_mul_add_eq_zero_iff: ifYᵀ * A * Yis invertible, the linear equationYᵀ * A * Z + D = 0has a unique solutionZ.Matrix.exists_map_eq_of_mem_isometryMatrices_map: solutions lift across a surjection with square-zero kernel.Matrix.isometryMatricesFiberEquiv: the solutions congruent to a given one modulo a square-zero ideal correspond to the skew-symmetric matrices with entries in the ideal.Matrix.natCard_isometryMatrices_eq_pow_mul: the count across such a surjection.
References #
- C. L. Siegel, Über die analytische Theorie der quadratischen Formen, Ann. of Math. 36 (1935), where the local densities are defined by these counts.
The submonoid of matrices X with Xᵀ * A * X = A, the endomorphisms of the coordinate
module that preserve the bilinear form with Gram matrix A.
Instances For
Membership in isometryMatrices A is the equation Xᵀ * A * X = A.
A ring homomorphism carries solutions of Xᵀ * A * X = A to solutions for the image of
A.
A matrix preserving A preserves the values xᵀ A y.
The count of matrices preserving a Gram matrix does not depend on the indexing:
reindexing A along an equivalence e reindexes the solutions along e.
The count of matrices preserving a Gram matrix is invariant under ring isomorphisms: a
ring isomorphism e carries the solutions for A to the solutions for A.map e.
The square-zero expansion of the isometry equation. If X preserves a symmetric Gram
matrix A and the entries of D lie in a square-zero ideal, then the quadratic term of
(X + D)ᵀ * A * (X + D) vanishes, leaving A + K + Kᵀ for K = Xᵀ * A * D.
A matrix preserving a Gram matrix with unit determinant has unit determinant, its square
being 1.
The inverse of a matrix with unit determinant preserving A also preserves A.
Counting matrices preserving a Gram matrix fibrewise. If every matrix preserving A has
unit determinant, these matrices form a group, so the fibres of a ring homomorphism f on them
are the cosets of the fibre above 1: their number is the number of their images under f times
the number of them that f sends to 1.
Solutions of Yᵀ * A * Y = B under congruence of A and B. If Pᵀ * A * P = A' and
Qᵀ * B * Q = B' for invertible P and Q, then Y ↦ P * Y * Q⁻¹ matches the solutions of
Yᵀ * A' * Y = B' with those of Yᵀ * A * Y = B.
Instances For
Matrix.transposeMulMulEquiv sends a solution Y to P * Y * Q⁻¹.
The inverse of Matrix.transposeMulMulEquiv sends a solution Y to P⁻¹ * Y * Q.
Solving a linear equation through a congruence. If Yᵀ * A * Y = C with C invertible,
then the equation Yᵀ * A * Z + D = 0 has the unique solution Z = -(Y * C⁻¹ * D).
The count of matrices preserving a Gram matrix does not depend on the basis: for an
invertible P, conjugation by P matches the solutions for Pᵀ * A * P with those for A.
Matrices preserving a Gram matrix lift across a square-zero extension. Let f be a
surjective ring homomorphism whose kernel squares to zero, let 2 be a unit, and let A be
symmetric with unit determinant. Then every solution of Yᵀ * A * Y = A over the target is the
image of a solution over the source.
The solutions congruent to a given one modulo a square-zero ideal form a torsor under the
skew-symmetric matrices with entries in the ideal. Let A be symmetric with unit determinant
and let X₀ preserve A. The solutions X with X - X₀ having entries in a square-zero
ideal I correspond to the skew-symmetric K with entries in I, via
K = X₀ᵀ * A * (X - X₀) and X = X₀ + (X₀ᵀ * A)⁻¹ * K.
Instances For
Matrix.isometryMatricesFiberEquiv sends a solution X to X₀ᵀ * A * (X - X₀).
The inverse of Matrix.isometryMatricesFiberEquiv sends a skew-symmetric K to
X₀ + (X₀ᵀ * A)⁻¹ * K.
Counting matrices preserving a Gram matrix across a square-zero extension. Let f be a
surjective ring homomorphism whose kernel squares to zero, let 2 be a unit, and let A be
symmetric with unit determinant. The solutions over the source lying above a solution over the
target are a torsor under the skew-symmetric matrices with entries in ker f
(Matrix.isometryMatricesFiberEquiv), so the Nat.card of the solutions over the source is
Nat.card (ker f) ^ (k.choose 2) times that over the target, for k the size of the index
type.