Orthonormal basis for nondegenerate symmetric bilinear #
forms
For a finite-dimensional complex vector space V equipped
with a symmetric nondegenerate bilinear form B, there
exists an orthonormal basis — a basis b indexed by
Fin (finrank ℂ V) such that
B (b i) (b j) = if i = j then 1 else 0.
The proof proceeds by:
- Using
exists_orthogonal_basis(Mathlib) to obtain an orthogonal basisb₀withB (b₀ i) (b₀ j) = 0fori ≠ j. - Showing each diagonal value
B (b₀ i) (b₀ i) ≠ 0via nondegeneracy. - Rescaling by inverse square roots (which exist over
ℂsinceℂis algebraically closed) to normalise the diagonal entries to1.
theorem
RS.exists_orthonormal_basis
{V : Type u_1}
[AddCommGroup V]
[Module ℂ V]
[FiniteDimensional ℂ V]
(B : LinearMap.BilinForm ℂ V)
(hsymm : ∀ (x y : V), (B x) y = (B y) x)
(hnd : ∀ (x : V), (∀ (y : V), (B x) y = 0) → x = 0)
:
∃ (b : Module.Basis (Fin (Module.finrank ℂ V)) ℂ V),
∀ (i j : Fin (Module.finrank ℂ V)), (B (b i)) (b j) = if i = j then 1 else 0
Orthonormal basis: a finite-dimensional complex
vector space carrying a symmetric nondegenerate bilinear
form admits a basis b such that
B (b i) (b j) = if i = j then 1 else 0.