Projection to a subspace #
In this file we define
Submodule.linearProjOfIsCompl (p q : Submodule R E) (h : IsCompl p q): the projection of a moduleEto a submodulepalong its complementq; it is the unique linear mapf : E → psuch thatf x = xforx ∈ pandf x = 0forx ∈ q.Submodule.isComplEquivProj p: equivalence between submodulesqsuch thatIsCompl p qand 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.IsCompl.projection_add_projection_eq_self.
Alias of Submodule.IsCompl.projection_add_projection_eq_self.
Alias of Submodule.IsCompl.projection_add_projection_eq_self.
Alias of Submodule.IsCompl.projection_eq_self_sub_projection.
The projection to p along q of x equals x if and only if x ∈ p.
Alias of Submodule.IsCompl.projection_eq_self_iff.
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.
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 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.
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.
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.