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
The proposition that a bilinear form is symmetric
Equations
- B.IsSymm = LinearMap.IsSymm B
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
Linear adjoints #
Given a pair of modules equipped with bilinear forms, this is the condition for a pair of maps between them to be mutually adjoint.
The condition for an endomorphism to be "self-adjoint" with respect to a pair of bilinear forms on the underlying module. In the case that these two forms are identical, this is the usual concept of self adjointness. In the case that one of the forms is the negation of the other, this is the usual concept of skew adjointness.
Equations
- B.IsPairSelfAdjoint F f = B.IsAdjointPair F f f
The set of pair-self-adjoint endomorphisms are a submodule of the type of all endomorphisms.
Equations
- B₂.isPairSelfAdjointSubmodule F₂ = { carrier := {f : Module.End R M | B₂.IsPairSelfAdjoint F₂ f}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
An endomorphism of a module is self-adjoint with respect to a bilinear form if it serves as an adjoint for itself.
Equations
- B.IsSelfAdjoint f = B.IsAdjointPair B f f
An endomorphism of a module is skew-adjoint with respect to a bilinear form if its negation serves as an adjoint.
The set of self-adjoint endomorphisms of a module with bilinear form is a submodule. (In fact it is a Jordan subalgebra.)
Equations
- B.selfAdjointSubmodule = B.isPairSelfAdjointSubmodule B
The set of skew-adjoint endomorphisms of a module with bilinear form is a submodule. (In fact it is a Lie subalgebra.)
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.
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 ⋯ ⋯
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
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₁
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
Given the nondegenerate bilinear form B
, the linear map φ
has a unique left adjoint given by
BilinForm.leftAdjointOfNondegenerate
.