The isometry group of a bilinear form #
An endomorphism f of a module M is an isometry of a bilinear form B when
B (f x) (f y) = B x y. Starting from the predicate TauCeti.BilinForm.IsIsometry defined in the
dependency-light module TauCeti.LinearAlgebra.BilinearForm.Isometry.Basic, this file builds the
group it cuts out inside the linear automorphisms of M, TauCeti.BilinForm.isometryGroup B,
together with the API a consumer of the group needs: a Gram-matrix criterion, the resulting
constraint (det f) ^ 2 = 1, functoriality in the module and in the base ring, and stability of
orthogonal complements.
Mathlib bundles the same notion twice — as a map, B₁ →bᵢ B₂, and as an equivalence,
LinearMap.BilinForm.IsometryEquiv B₁ B₂. The bridge to the former
(TauCeti.BilinForm.IsIsometry.toIsometry, TauCeti.BilinForm.isIsometry_toLinearMap) lives
with the predicate; the bridge to the latter is
TauCeti.BilinForm.isometryGroupEquivIsometryEquiv here, an equivalence of types between the
subgroup and B.IsometryEquiv B. What is new is the unbundled predicate, which is what lets
"preserves B" be a side condition on an endomorphism one already has — the hypothesis of the
automatic-invertibility theorem below, and the membership condition of a subgroup — and the group
structure, needed as soon as one wants subgroups of it, group homomorphisms into it, or a group
action, none of which a bare type of bundled equivalences provides.
Two statements are worth singling out.
- Over an integral domain, isometries of a left-separating form on a finite free module are
automatically invertible, so they already form elements of the group
(
TauCeti.BilinForm.IsIsometry.toIsometryGroup,TauCeti.BilinForm.IsIsometry.bijective): preservingBforces(det f) ^ 2 = 1, sodet fis a unit. For aℤ-lattice this says that a form-preserving endomorphism of the lattice already lies in the arithmetic groupAut(V, Q), which is how such an automorphism usually presents itself — as an integer matrix satisfyingAᵀ * G * A = G. - Base change along an algebra
R → Ais a group homomorphismAut(M, B) →* Aut(A ⊗[R] M, B_A)(TauCeti.BilinForm.isometryGroupBaseChange). ForR = ℤandA = ℂthis is the action ofAut(V, Q)on the complexification of the lattice. WhenQis preserved by monodromy, the monodromy of a variation of Hodge structure acts through this map.
Main definitions #
TauCeti.BilinForm.isometryGroup: the isometry groupAut(M, B) ≤ M ≃ₗ[R] M.TauCeti.BilinForm.isometryGroupEquivIsometryEquiv: the isometry group as a type, equivalent to Mathlib's self-isometriesB.IsometryEquiv B.Module.Basis.isometryEquivOfToMatrixEq: two bilinear forms with the same matrix in some bases are isometric.LinearMap.BilinForm.specialIsometryGroup: the determinant-one isometry group ofB.LinearMap.BilinForm.isometryDet: the determinant of an isometry, as a homomorphism toRˣ.TauCeti.BilinForm.IsIsometry.toIsometryGroup: an isometry of a left-separating form on a finite free module over an integral domain, as an element of the isometry group.TauCeti.BilinForm.isometryGroupBaseChange: base change of isometries, as a group homomorphism.LinearMap.BilinForm.specialIsometryGroupBaseChange: base change of determinant-one isometries.TauCeti.BilinForm.isometryGroupCongr: transport of the isometry group along a linear equivalence.LinearMap.BilinForm.specialIsometryGroupCongr: the corresponding transport of its determinant-one subgroup.
Main results #
TauCeti.BilinForm.isIsometry_iff_toMatrix: the Gram-matrix criterionAᵀ * G * A = G.TauCeti.BilinForm.IsIsometry.det_sq_eq_one:(det f) ^ 2 = 1for an isometry of a form whose Gram determinant is a non-zero-divisor.TauCeti.BilinForm.IsIsometry.bijective: over an integral domain, an isometry of a left-separating form on a finite free module is bijective.TauCeti.BilinForm.IsIsometry.map_orthogonal: a surjective isometry carriesB-orthogonal complements toB-orthogonal complements.
Implementation notes #
The API is laid out by hypothesis strength: the imported predicate and elementary bridge to
Mathlib, the group, transport along a linear equivalence, the Gram-matrix criterion, and base
change need only a CommSemiring and additive monoids, which is where every Mathlib ingredient
they consume is stated; injectivity needs subtraction in M; the determinant results need M to
be an additive group over a CommRing; the automatic invertibility of an isometry of a
left-separating form needs an integral domain and a finite free module.
This is the bilinear-form counterpart of TauCeti.QuadraticMap.orthogonalGroup in
TauCeti/LinearAlgebra/QuadraticForm/OrthogonalGroup/Basic.lean, whose API it follows; for a
quadratic form Q over a ring in which 2 is a regular scalar the orthogonal group of Q is the
isometry group of Q.polarBilin,
TauCeti.QuadraticMap.orthogonalGroup_eq_isometryGroup_polarBilin.
An isometry preserving a submodule restricts to an isometry of the restricted form.
An isometry maps the B-orthogonal complement of N into the B-orthogonal complement of
the image of N.
A surjective isometry carries B-orthogonal complements to B-orthogonal complements.
The isometry group Aut(M, B) of a bilinear form B on M: the linear automorphisms of M
that preserve B.
For a finite free ℤ-module V carrying an integral form Q this is the arithmetic group
Aut(V, Q); when Q is preserved by monodromy, a variation of Hodge structure has its monodromy
representation land in this group and act on the complexification through
TauCeti.BilinForm.isometryGroupBaseChange.
Equations
Instances For
Membership in the isometry group is the isometry predicate.
Membership in Aut(M, B) is exactly Mathlib's notion of a self-isometry of B: the subgroup
TauCeti.BilinForm.isometryGroup B and the type LinearMap.BilinForm.IsometryEquiv B B carry the
same data, the subgroup adding the group structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Transporting a bilinear form along a linear equivalence transports its isometry group:
conjugation by e : M ≃ₗ[R] M' carries Aut(M, B) onto Aut(M', B ∘ e⁻¹).
Equations
Instances For
The Gram-matrix criterion #
Two bilinear forms with the same matrix in bases v and w are isometric, through the
linear equivalence v.equiv w (Equiv.refl ι) carrying v to w.
Equations
- v.isometryEquivOfToMatrixEq w h = { toLinearEquiv := v.equiv w (Equiv.refl ι), map_app' := ⋯ }
Instances For
The isometry attached to an equality of matrices carries the basis v to the basis w.
An endomorphism is an isometry of B exactly when its matrix A in a basis b satisfies
Aᵀ * G * A = G for the Gram matrix G of B in b.
Base change #
Base change along an R-algebra A carries an isometry of B to an isometry of the
base-changed form.
Base change along an R-algebra A is a group homomorphism
Aut(M, B) →* Aut(A ⊗[R] M, B_A). For R = ℤ and A = ℂ this is the action of the arithmetic
group Aut(V, Q) on the complexification of the lattice, through which monodromy acts when it
preserves Q.
Equations
- TauCeti.BilinForm.isometryGroupBaseChange A B = { toFun := fun (e : ↥(TauCeti.BilinForm.isometryGroup B)) => ⟨LinearEquiv.baseChange R A M M ↑e, ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
An isometry of a left-separating form is injective: it cannot collapse a vector that pairs nontrivially with something.
Determinants #
For an isometry f of B, the Gram determinant det G of B in any basis satisfies
(det f) ^ 2 * det G = det G.
An isometry of a bilinear form whose Gram determinant is a non-zero-divisor has determinant
squaring to 1; over ℤ this says its determinant is ±1.
An isometry of a bilinear form whose Gram determinant is a non-zero-divisor has unit
determinant, its square being 1.
An isometry whose underlying endomorphism has unit determinant, as an element of the isometry group.
Equations
- hf.toIsometryGroupOfIsUnitDet hdet = ⟨LinearMap.equivOfIsUnitDet hdet, ⋯⟩
Instances For
An isometry of a left-separating form on a finite free module over an integral domain has unit determinant.
Over an integral domain, an endomorphism of a finite free module preserving a left-separating
bilinear form is automatically invertible, hence an element of the isometry group. This is how an
element of Aut(V, Q) usually presents itself: as an endomorphism of the lattice V preserving
Q, with invertibility a consequence rather than a hypothesis.
Equations
Instances For
Over an integral domain, an endomorphism of a finite free module preserving a left-separating bilinear form is automatically bijective.
The determinant-one isometry group #
These declarations live in Mathlib's LinearMap.BilinForm namespace so that dot notation such as
B.specialIsometryGroup works on a bilinear form B.
The determinant-one isometry group of a bilinear form.
The determinant is Mathlib's LinearEquiv.det, which is 1 by convention on a module that is not
finite free; on such a module this subgroup is therefore all of isometryGroup B.
Equations
Instances For
Every determinant-one isometry is an isometry.
The determinant-one isometry group is normal in the full isometry group.
The determinant of an isometry, as a homomorphism to the units of the base ring.
Equations
Instances For
The determinant-one subgroup regarded as a subgroup of the full isometry group.
Equations
Instances For
The two ambient-group presentations of the determinant-one isometry group agree.
The inclusion from determinant-one isometries to all isometries.
Equations
Instances For
The determinant of a determinant-one isometry is one.
Inclusion of determinant-one isometries into all isometries is injective.
The image of the determinant-one isometry group in the full isometry group is the determinant kernel.
The determinant kernel inside the isometry group is canonically isomorphic to the determinant-one subgroup of the ambient linear automorphism group.
Equations
Instances For
On a subsingleton module every isometry has determinant one.
Transporting a bilinear form along a linear equivalence transports its determinant-one isometry group.
Equations
Instances For
Base change preserves determinant-one isometries.
Equations
- One or more equations did not get rendered due to their size.