Dual vector spaces #
The dual space of an R-module M is the R-module of linear maps M → R
.
Main definitions #
dual R M
defines the dual space of M over R.- Given a basis for an
R
-moduleM
,basis.to_dual
produces a map fromM
todual R M
. - Given families of vectors
e
andε
,dual_pair e ε
states that these families have the characteristic properties of a basis and a dual. dual_annihilator W
is the submodule ofdual R M
where every element annihilatesW
.
Main results #
to_dual_equiv
: the linear equivalence between the dual module and primal module, given a finite basis.dual_pair.basis
anddual_pair.eq_dual
: ife
andε
form a dual pair,e
is a basis andε
is its dual basis.quot_equiv_annihilator
: the quotient by a subspace is isomorphic to its dual annihilator.
Notation #
We sometimes use V'
as local notation for dual K V
.
TODO #
Erdös-Kaplansky theorem about the dimension of a dual vector space in case of infinite dimension.
The dual space of an R-module M is the R-module of linear maps M → R
.
Equations
- module.dual R M = (M →ₗ[R] R)
Equations
The canonical pairing of a vector space and its algebraic dual.
Equations
Equations
Equations
Maps a module M to the dual of the dual of M. See module.erange_coe
and
module.eval_equiv
.
Equations
The transposition of linear maps, as a linear map from M →ₗ[R] M'
to
dual R M' →ₗ[R] dual R M
.
Equations
- module.dual.transpose = (linear_map.llcomp R M M' R).flip
The linear map from a vector space equipped with basis to its dual vector space, taking basis elements to corresponding dual basis elements.
h.to_dual_flip v
is the linear map sending w
to h.to_dual w v
.
Equations
- b.to_dual_flip m = ⇑(b.to_dual.flip) m
A vector space is linearly equivalent to its dual space.
Equations
Maps a basis for V
to a basis for the dual space.
Equations
- b.dual_basis = b.map b.to_dual_equiv
A module with a basis is linearly equivalent to the dual of its dual space.
Equations
- b.eval_equiv = linear_equiv.of_bijective (module.dual.eval R M) _ _
simp
normal form version of total_dual_basis
A vector space is linearly equivalent to the dual of its dual space.
Equations
- module.eval_equiv K V = linear_equiv.of_bijective (module.dual.eval K V) _ _
- eval : ∀ (i j : ι), ⇑(ε i) (e j) = ite (i = j) 1 0
- total : ∀ {m : M}, (∀ (i : ι), ⇑(ε i) m = 0) → m = 0
- finite : Π (m : M), fintype ↥{i : ι | ⇑(ε i) m ≠ 0}
e
and ε
have characteristic properties of a basis and its dual
The coefficients of v
on the basis e
linear combinations of elements of e
.
This is a convenient abbreviation for finsupp.total _ M R e l
Equations
- dual_pair.lc e l = l.sum (λ (i : ι) (a : R), a • e i)
For any m : M n, \sum_{p ∈ Q n} (ε p m) • e p = m
(h : dual_pair e ε).basis
shows the family of vectors e
forms a basis.
The dual_restrict
of a submodule W
of M
is the linear map from the
dual of M
to the dual of W
such that the domain of each linear map is
restricted to W
.
Equations
The dual_annihilator
of a submodule W
is the set of linear maps φ
such
that φ w = 0
for all w ∈ W
.
Equations
The pullback of a submodule in the dual space along the evaluation map.
Equations
Given a subspace W
of V
and an element of its dual φ
, dual_lift W φ
is
the natural extension of φ
to an element of the dual of V
.
That is, dual_lift W φ
sends w ∈ W
to φ x
and x
in the complement of W
to 0
.
Equations
- W.dual_lift = let h : {x // is_compl W x} := classical.indefinite_description (λ (x : submodule K V), is_compl W x) _ in (linear_map.of_is_compl_prod _).comp (linear_map.inl K (module.dual K ↥W) (↥(h.val) →ₗ[K] K))
The quotient by the dual_annihilator
of a subspace is isomorphic to the
dual of that subspace.
The natural isomorphism forom the dual of a subspace W
to W.dual_lift.range
.
The quotient by the dual is isomorphic to its dual annihilator.
The quotient by a subspace is isomorphic to its dual annihilator.
Given a linear map f : M₁ →ₗ[R] M₂
, f.dual_map
is the linear map between the dual of
M₂
and M₁
such that it maps the functional φ
to φ ∘ f
.
Equations
- f.dual_map = linear_map.lcomp R R f
The linear_equiv
version of linear_map.dual_map
.