Isometric equivalences with respect to bilinear forms #
In this file, we define isometry equivalences of bilinear spaces as linear equivalences
that respect the associated bilinear forms. This file should be kept in sync with the
corresponding file for quadratic maps, namely
Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean
Main definitions #
LinearMap.BilinForm.IsometryEquiv:LinearEquivs which map between two different bilinear formsLinearMap.BilinForm.Equivalent: propositional version of the above
An isometric equivalence between two bilinear spaces M₁, B₁ and M₂, B₂ over a ring R,
is a linear equivalence between M₁ and M₂ that commutes with the bilinear forms.
- toFun : M₁ → M₂
- map_add' (x y : M₁) : (↑self.toLinearEquiv).toFun (x + y) = (↑self.toLinearEquiv).toFun x + (↑self.toLinearEquiv).toFun y
- map_smul' (m : R) (x : M₁) : (↑self.toLinearEquiv).toFun (m • x) = (RingHom.id R) m • (↑self.toLinearEquiv).toFun x
- invFun : M₂ → M₁
- left_inv : Function.LeftInverse self.invFun (↑self.toLinearEquiv).toFun
- right_inv : Function.RightInverse self.invFun (↑self.toLinearEquiv).toFun
- map_app' (n m : M₁) : (B₂ ((↑self.toLinearEquiv).toFun n)) ((↑self.toLinearEquiv).toFun m) = (B₁ n) m
Instances For
Two bilinear forms over a ring R are equivalent
if there exists an isometric equivalence between them:
a linear equivalence that transforms one bilinear form into the other.
Equations
- B₁.Equivalent B₂ = Nonempty (B₁.IsometryEquiv B₂)
Instances For
Equations
- One or more equations did not get rendered due to their size.
The identity isometric equivalence between a bilinear form and itself.
Equations
- LinearMap.BilinForm.IsometryEquiv.refl B = { toLinearEquiv := LinearEquiv.refl R M, map_app' := ⋯ }
Instances For
The inverse isometric equivalence of an isometric equivalence between two bilinear forms.
Instances For
The composition of two isometric equivalences between bilinear forms.
Instances For
Isometric equivalences are isometric maps
Equations
- g.toIsometry = { toFun := fun (x : M₁) => g x, map_add' := ⋯, map_smul' := ⋯, map_app' := ⋯ }
Instances For
A bilinear form composed with a LinearEquiv is isometric to itself.
Equations
- B.isometryEquivOfCompLinearEquiv f = { toLinearEquiv := f.symm, map_app' := ⋯ }