Projection to a subspace #
In this file we define
Submodule.linearProjOfIsCompl (p q : Submodule R E) (h : IsCompl p q)
: the projection of a moduleE
to a submodulep
along its complementq
; it is the unique linear mapf : E → p
such thatf x = x
forx ∈ p
andf x = 0
forx ∈ q
.Submodule.isComplEquivProj p
: equivalence between submodulesq
such thatIsCompl p q
and projectionsf : E → p
,∀ x ∈ p, f x = x
.
We also provide some lemmas justifying correctness of our definitions.
Tags #
projection, complement subspace
If q
is a complement of p
, then M/p ≃ q
.
Equations
- p.quotientEquivOfIsCompl q h = (LinearEquiv.ofBijective (p.mkQ ∘ₗ q.subtype) ⋯).symm
Instances For
If q
is a complement of p
, then p × q
is isomorphic to E
. It is the unique
linear map f : E → p
such that f x = x
for x ∈ p
and f x = 0
for x ∈ q
.
Equations
- p.prodEquivOfIsCompl q h = LinearEquiv.ofBijective (p.subtype.coprod q.subtype) ⋯
Instances For
Projection to a submodule along a complement.
See also LinearMap.linearProjOfIsCompl
.
Equations
- p.linearProjOfIsCompl q h = LinearMap.fst R ↥p ↥q ∘ₗ ↑(p.prodEquivOfIsCompl q h).symm
Instances For
Projection to the image of an injection along a complement.
This has an advantage over Submodule.linearProjOfIsCompl
in that it allows the user better
definitional control over the type.
Equations
- LinearMap.linearProjOfIsCompl q i hi h = ↑(LinearEquiv.ofInjective i hi).symm ∘ₗ (LinearMap.range i).linearProjOfIsCompl q h
Instances For
Given linear maps φ
and ψ
from complement submodules, LinearMap.ofIsCompl
is
the induced linear map over the entire module.
Equations
- LinearMap.ofIsCompl h φ ψ = φ.coprod ψ ∘ₗ ↑(p.prodEquivOfIsCompl q h).symm
Instances For
The linear map from (p →ₗ[R₁] F) × (q →ₗ[R₁] F)
to E →ₗ[R₁] F
.
Equations
- LinearMap.ofIsComplProd h = { toFun := fun (φ : (↥p →ₗ[R₁] F) × (↥q →ₗ[R₁] F)) => LinearMap.ofIsCompl h φ.1 φ.2, map_add' := ⋯, map_smul' := ⋯ }
Instances For
The natural linear equivalence between (p →ₗ[R₁] F) × (q →ₗ[R₁] F)
and E →ₗ[R₁] F
.
Equations
- LinearMap.ofIsComplProdEquiv h = { toLinearMap := LinearMap.ofIsComplProd h, invFun := fun (φ : E →ₗ[R₁] F) => (φ.domRestrict p, φ.domRestrict q), left_inv := ⋯, right_inv := ⋯ }
Instances For
If f : E →ₗ[R] F
and g : E →ₗ[R] G
are two surjective linear maps and
their kernels are complement of each other, then x ↦ (f x, g x)
defines
a linear equivalence E ≃ₗ[R] F × G
.
Equations
- f.equivProdOfSurjectiveOfIsCompl g hf hg hfg = LinearEquiv.ofBijective (f.prod g) ⋯
Instances For
Equivalence between submodules q
such that IsCompl p q
and linear maps f : E →ₗ[R] p
such that ∀ x : p, f x = x
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The idempotent endomorphisms of a module with range equal to a submodule are in 1-1 correspondence with linear maps to the submodule that restrict to the identity on the submodule.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A linear endomorphism of a module E
is a projection onto a submodule p
if it sends every element
of E
to p
and fixes every element of p
.
The definition allow more generally any FunLike
type and not just linear maps, so that it can be
used for example with ContinuousLinearMap
or Matrix
.
Instances For
Restriction of the codomain of a projection of onto a subspace p
to p
instead of the whole
space.
Equations
- h.codRestrict = LinearMap.codRestrict m f ⋯