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 Wis the canonical pairing betweenW.dualAnnihilatorandM ⧸ W. It is nondegenerate for vector spaces (subspace.dualCopairing_nondegenerate).
- Vector spaces:
Subspace.dualLift Wis an arbitrary section (using choice) ofSubmodule.dualRestrict W.
Main results #
- Annihilators:
LinearMap.ker_dual_map_eq_dualAnnihilator_rangesays thatf.dual_map.ker = f.range.dualAnnihilatorLinearMap.range_dual_map_eq_dualAnnihilator_ker_of_subtype_range_surjectivesays thatf.dual_map.range = f.ker.dualAnnihilator; this is specialized to vector spaces inLinearMap.range_dual_map_eq_dualAnnihilator_ker.Submodule.dualQuotEquivDualAnnihilatoris the equivalenceDual R (M ⧸ W) ≃ₗ[R] W.dualAnnihilatorSubmodule.quotDualCoannihilatorToDualis the nondegenerate pairingM ⧸ W.dualCoannihilator →ₗ[R] Dual R W. It is an perfect pairing whenRis a field andWis finite-dimensional.
- Vector spaces:
Subspace.dualAnnihilator_dualCoannihilator_eqsays that the double dual annihilator, pulled back groundModule.Dual.eval, is the original submodule.Subspace.dualAnnihilator_gcisays thatmodule.dualAnnihilator_gc R Mis an antitone Galois coinsertion.Subspace.quotAnnihilatorEquivis the equivalenceDual K V ⧸ W.dualAnnihilator ≃ₗ[K] Dual K W.LinearMap.dualPairing_nondegeneratesays thatModule.dualPairingis nondegenerate.Subspace.is_compl_dualAnnihilatorsays that the dual annihilator carries complementary subspaces to complementary subspaces.
- Finite-dimensional vector spaces:
Subspace.orderIsoFiniteCodimDimis the antitone order isomorphism between finite-codimensional subspaces ofVand finite-dimensional subspaces ofDual K V.Subspace.orderIsoFiniteDimensionalis the antitone order isomorphism between subspaces of a finite-dimensional vector spaceVand subspaces of its dual.Subspace.quotDualEquivAnnihilator Wis the equivalence(Dual K V ⧸ W.dualLift.range) ≃ₗ[K] W.dualAnnihilator, whereW.dualLift.rangeis a copy ofDual K WinsideDual K V.Subspace.quotEquivAnnihilator Wis the equivalence(V ⧸ W) ≃ₗ[K] W.dualAnnihilatorSubspace.dualQuotDistrib Wis an equivalenceDual K (V₁ ⧸ W) ≃ₗ[K] Dual K V₁ ⧸ W.dualLift.rangefrom 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.
Alias of Module.dual_free.
Alias of Module.dual_projective.
Alias of Module.dual_finite.
For an example of a non-free projective K-module V for which the forward implication
fails, see https://stacks.math.columbia.edu/tag/05WG#comment-9913.
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 = LinearMap.compRight R ↑(TensorProduct.lid R R) ∘ₗ TensorProduct.homTensorHomMap R M N R R
Instances For
Heterobasic version of TensorProduct.dualDistrib
Equations
- TensorProduct.AlgebraTensorModule.dualDistrib R A M N = LinearMap.compRight A (Algebra.TensorProduct.rid R A A).toLinearMap ∘ₗ 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.