Dual vector spaces #
The dual space of an $R$-module $M$ is the $R$-module of $R$-linear maps $M \to R$. This file contains basic results on dual vector spaces.
Main definitions #
- Submodules:
Submodule.dualRestrict_comap W'
is the dual annihilator ofW' : Submodule R (Dual R M)
, pulled back alongModule.Dual.eval R M
.Submodule.dualCopairing W
is the canonical pairing betweenW.dualAnnihilator
andM ⧸ W
. It is nondegenerate for vector spaces (subspace.dualCopairing_nondegenerate
).
- Vector spaces:
Subspace.dualLift W
is an arbitrary section (using choice) ofSubmodule.dualRestrict W
.
Main results #
- Annihilators:
LinearMap.ker_dual_map_eq_dualAnnihilator_range
says thatf.dual_map.ker = f.range.dualAnnihilator
LinearMap.range_dual_map_eq_dualAnnihilator_ker_of_subtype_range_surjective
says thatf.dual_map.range = f.ker.dualAnnihilator
; this is specialized to vector spaces inLinearMap.range_dual_map_eq_dualAnnihilator_ker
.Submodule.dualQuotEquivDualAnnihilator
is the equivalenceDual R (M ⧸ W) ≃ₗ[R] W.dualAnnihilator
Submodule.quotDualCoannihilatorToDual
is the nondegenerate pairingM ⧸ W.dualCoannihilator →ₗ[R] Dual R W
. It is an perfect pairing whenR
is a field andW
is finite-dimensional.
- Vector spaces:
Subspace.dualAnnihilator_dualConnihilator_eq
says that the double dual annihilator, pulled back groundModule.Dual.eval
, is the original submodule.Subspace.dualAnnihilator_gci
says thatmodule.dualAnnihilator_gc R M
is an antitone Galois coinsertion.Subspace.quotAnnihilatorEquiv
is the equivalenceDual K V ⧸ W.dualAnnihilator ≃ₗ[K] Dual K W
.LinearMap.dualPairing_nondegenerate
says thatModule.dualPairing
is nondegenerate.Subspace.is_compl_dualAnnihilator
says that the dual annihilator carries complementary subspaces to complementary subspaces.
- Finite-dimensional vector spaces:
Subspace.orderIsoFiniteCodimDim
is the antitone order isomorphism between finite-codimensional subspaces ofV
and finite-dimensional subspaces ofDual K V
.Subspace.orderIsoFiniteDimensional
is the antitone order isomorphism between subspaces of a finite-dimensional vector spaceV
and subspaces of its dual.Subspace.quotDualEquivAnnihilator W
is the equivalence(Dual K V ⧸ W.dualLift.range) ≃ₗ[K] W.dualAnnihilator
, whereW.dualLift.range
is a copy ofDual K W
insideDual K V
.Subspace.quotEquivAnnihilator W
is the equivalence(V ⧸ W) ≃ₗ[K] W.dualAnnihilator
Subspace.dualQuotDistrib W
is an equivalenceDual K (V₁ ⧸ W) ≃ₗ[K] Dual K V₁ ⧸ W.dualLift.range
from an arbitrary choice of splitting ofV₁
.
Taking duals distributes over products.
Equations
Instances For
A vector space over a field is isomorphic to its dual if and only if it is finite-dimensional: a consequence of the Erdős-Kaplansky theorem.
See also Module.instFiniteDimensionalOfIsReflexive
for the converse over a field.
Consider a reflexive module and a set s
of linear forms. If for any z ≠ 0
there exists
f ∈ s
such that f z ≠ 0
, then s
spans the whole dual space.
Given some linear forms $L_1, ..., L_n, K$ over a vector space $E$, if $\bigcap_{i=1}^n \mathrm{ker}(L_i) \subseteq \mathrm{ker}(K)$, then $K$ is in the space generated by $L_1, ..., L_n$.
Submodule.dualAnnihilator
and Submodule.dualCoannihilator
form a Galois coinsertion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a subspace W
of V
and an element of its dual φ
, dualLift W φ
is
an arbitrary extension of φ
to an element of the dual of V
.
That is, dualLift W φ
sends w ∈ W
to φ x
and x
in a chosen complement of W
to 0
.
Equations
- W.dualLift = (Classical.choose ⋯).dualMap
Instances For
The quotient by the dualAnnihilator
of a subspace is isomorphic to the
dual of that subspace.
Equations
Instances For
The natural isomorphism from the dual of a subspace W
to W.dualLift.range
.
Equations
Instances For
The quotient by the dual is isomorphic to its dual annihilator.
Equations
Instances For
The quotient by a subspace is isomorphic to its dual annihilator.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a submodule, corestrict to the pairing on M ⧸ W
by
simultaneously restricting to W.dualAnnihilator
.
See Subspace.dualCopairing_nondegenerate
.
Equations
- W.dualCopairing = (W.liftQ ((Module.dualPairing R M).domRestrict W.dualAnnihilator).flip ⋯).flip
Instances For
Equations
- W.instFunLikeSubtypeDualMemDualAnnihilator = { coe := fun (φ : ↥W.dualAnnihilator) => ⇑↑φ, coe_injective' := ⋯ }
Given a submodule, restrict to the pairing on W
by
simultaneously corestricting to Module.Dual R M ⧸ W.dualAnnihilator
.
This is Submodule.dualRestrict
factored through the quotient by its kernel (which
is W.dualAnnihilator
by definition).
See Subspace.dualPairing_nondegenerate
.
Equations
- W.dualPairing = W.dualAnnihilator.liftQ W.dualRestrict ⋯
Instances For
That $\operatorname{im}(q^* : (V/W)^* \to V^*) = \operatorname{ann}(W)$.
Equivalence $(M/W)^* \cong \operatorname{ann}(W)$. That is, there is a one-to-one
correspondence between the dual of M ⧸ W
and those elements of the dual of M
that
vanish on W
.
The inverse of this is Submodule.dualCopairing
.
Equations
Instances For
The pairing between a submodule W
of a dual module Dual R M
and the quotient of
M
by the coannihilator of W
, which is always nondegenerate.
Equations
Instances For
For vector spaces, f.dualMap
is surjective if and only if f
is injective
For vector spaces, dual annihilators carry direct sum decompositions to direct sum decompositions.
For finite-dimensional vector spaces, one can distribute duals over quotients by identifying
W.dualLift.range
with W
. Note that this depends on a choice of splitting of V₁
.
Equations
Instances For
f.dualMap
is injective if and only if f
is surjective
f.dualMap
is bijective if and only if f
is
For any vector space, dualAnnihilator
and dualCoannihilator
gives an antitone order
isomorphism between the finite-codimensional subspaces in the vector space and the
finite-dimensional subspaces in its dual.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For any finite-dimensional vector space, dualAnnihilator
and dualCoannihilator
give
an antitone order isomorphism between the subspaces in the vector space and the subspaces
in its dual.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical linear map from Dual M ⊗ Dual N
to Dual (M ⊗ N)
,
sending f ⊗ g
to the composition of TensorProduct.map f g
with
the natural isomorphism R ⊗ R ≃ R
.
Equations
- TensorProduct.dualDistrib R M N = (↑(TensorProduct.lid R R)).compRight ∘ₗ TensorProduct.homTensorHomMap R M N R R
Instances For
Heterobasic version of TensorProduct.dualDistrib
Equations
- TensorProduct.AlgebraTensorModule.dualDistrib R A M N = (Algebra.TensorProduct.rid R A A).toLinearMap.compRight ∘ₗ TensorProduct.AlgebraTensorModule.homTensorHomMap R A A M N A R
Instances For
An inverse to TensorProduct.dualDistrib
given bases.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A linear equivalence between Dual M ⊗ Dual N
and Dual (M ⊗ N)
given bases for M
and N
.
It sends f ⊗ g
to the composition of TensorProduct.map f g
with the natural
isomorphism R ⊗ R ≃ R
.
Equations
Instances For
A linear equivalence between Dual M ⊗ Dual N
and Dual (M ⊗ N)
when M
and N
are finite free
modules. It sends f ⊗ g
to the composition of TensorProduct.map f g
with the natural
isomorphism R ⊗ R ≃ R
.