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
.
Equations
- p.prodEquivOfIsCompl q h = LinearEquiv.ofBijective (p.subtype.coprod q.subtype) ⋯
Instances For
Projection to a submodule along a complement. It is the unique
linear map f : E → p
such that f x = x
for x ∈ p
and f x = 0
for x ∈ q
.
See also LinearMap.linearProjOfIsCompl
.
Equations
- p.linearProjOfIsCompl q h = LinearMap.fst R ↥p ↥q ∘ₗ ↑(p.prodEquivOfIsCompl q h).symm
Instances For
The linear projection onto a subspace along its complement
as a map from the full space to itself, as opposed to Submodule.linearProjOfIsCompl
,
which maps into the subtype.
This version is important as it satisfies IsIdempotentElem
.
Equations
- Submodule.IsCompl.projection hpq = p.subtype ∘ₗ p.linearProjOfIsCompl q hpq
Instances For
The linear projection onto a subspace along its complement is an idempotent.
Alias of Submodule.linearProjOfIsCompl_add_linearProjOfIsCompl_eq_self
.
The projection to p
along q
of x
equals x
if and only if x ∈ p
.
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
Alias of the reverse direction of LinearMap.isProj_range_iff_isIdempotentElem
.
Alias of LinearMap.isProj_iff_isIdempotentElem
.
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 ⋯
Instances For
Given an idempotent linear operator p
, we have
x ∈ range p
if and only if p(x) = x
for all x
.
An idempotent linear operator is equal to the linear projection onto its range along its kernel.
A linear map is an idempotent if and only if it equals the projection onto its range along its kernel.
Given an idempotent linear operator q
,
we have q ∘ p = p
iff range p ⊆ range q
for all p
.
Idempotent operators are equal iff their range and kernels are.
Alias of the reverse direction of LinearMap.IsIdempotentElem.ext_iff
.
Idempotent operators are equal iff their range and kernels are.
range f
is invariant under T
if and only if f ∘ₗ T ∘ₗ f = T ∘ₗ f
,
for idempotent f
.
Alias of the forward direction of LinearMap.IsIdempotentElem.range_mem_invtSubmodule_iff
.
range f
is invariant under T
if and only if f ∘ₗ T ∘ₗ f = T ∘ₗ f
,
for idempotent f
.
Alias of the reverse direction of LinearMap.IsIdempotentElem.range_mem_invtSubmodule_iff
.
range f
is invariant under T
if and only if f ∘ₗ T ∘ₗ f = T ∘ₗ f
,
for idempotent f
.
ker f
is invariant under T
if and only if f ∘ₗ T ∘ₗ f = f ∘ₗ T
,
for idempotent f
.
Alias of the reverse direction of LinearMap.IsIdempotentElem.ker_mem_invtSubmodule_iff
.
ker f
is invariant under T
if and only if f ∘ₗ T ∘ₗ f = f ∘ₗ T
,
for idempotent f
.
Alias of the forward direction of LinearMap.IsIdempotentElem.ker_mem_invtSubmodule_iff
.
ker f
is invariant under T
if and only if f ∘ₗ T ∘ₗ f = f ∘ₗ T
,
for idempotent f
.
An idempotent operator f
commutes with a linear operator T
if and only if
both range f
and ker f
are invariant under T
.
An idempotent operator f
commutes with an unit operator T
if and only if
T (range f) = range f
and T (ker f) = ker f
.