Bilinear form #
This file defines various properties of bilinear forms, including reflexivity, symmetry,
alternativity, adjoint, and non-degeneracy.
For orthogonality, see LinearAlgebra/BilinearForm/Orthogonal.lean
.
Notations #
Given any term B
of type BilinForm
, due to a coercion, can use
the notation B x y
to refer to the function field, ie. B x y = B.bilin x y
.
In this file we use the following type variables:
M
,M'
, ... are modules over the commutative semiringR
,M₁
,M₁'
, ... are modules over the commutative ringR₁
,V
, ... is a vector space over the fieldK
.
References #
Tags #
Bilinear form,
Reflexivity, symmetry, and alternativity #
The proposition that a bilinear form is reflexive
Equations
- B.IsRefl = LinearMap.IsRefl B
Instances For
The proposition that a bilinear form is symmetric
Equations
- B.IsSymm = LinearMap.IsSymm B
Instances For
The restriction of a symmetric bilinear form on a submodule is also symmetric.
The proposition that a bilinear form is alternating
Equations
- B.IsAlt = LinearMap.IsAlt B
Instances For
A nondegenerate bilinear form is a bilinear form such that the only element that is orthogonal
to every other element is 0
; i.e., for all nonzero m
in M
, there exists n
in M
with
B m n ≠ 0
.
Note that for general (neither symmetric nor antisymmetric) bilinear forms this definition has a
chirality; in addition to this "left" nondegeneracy condition one could define a "right"
nondegeneracy condition that in the situation described, B n m ≠ 0
. This variant definition is
not currently provided in mathlib. In finite dimension either definition implies the other.
Instances For
In a non-trivial module, zero is not non-degenerate.
A bilinear form is nondegenerate if and only if it has a trivial kernel.
Given a nondegenerate bilinear form B
on a finite-dimensional vector space, B.toDual
is
the linear equivalence between a vector space and its dual.
Equations
- B.toDual b = LinearMap.linearEquivOfInjective B ⋯ ⋯
Instances For
The B
-dual basis B.dualBasis hB b
to a finite basis b
satisfies
B (B.dualBasis hB b i) (b j) = B (b i) (B.dualBasis hB b j) = if i = j then 1 else 0
,
where B
is a nondegenerate (symmetric) bilinear form and b
is a finite basis.
Equations
- B.dualBasis hB b = b.dualBasis.map (B.toDual hB).symm
Instances For
Given bilinear forms B₁, B₂
where B₂
is nondegenerate, symmCompOfNondegenerate
is the linear map B₂ ∘ B₁
.
Equations
- B₁.symmCompOfNondegenerate B₂ b₂ = ↑(B₂.toDual b₂).symm ∘ₗ B₁
Instances For
Given the nondegenerate bilinear form B
and the linear map φ
,
leftAdjointOfNondegenerate
provides the left adjoint of φ
with respect to B
.
The lemma proving this property is BilinForm.isAdjointPairLeftAdjointOfNondegenerate
.
Equations
- B.leftAdjointOfNondegenerate b φ = (B.compRight φ).symmCompOfNondegenerate B b
Instances For
Given the nondegenerate bilinear form B
, the linear map φ
has a unique left adjoint given by
BilinForm.leftAdjointOfNondegenerate
.