Restrictions of continuous linear maps to submodules #
In this file, we collect the various operations of restrictions of ContinuousLinearMaps
to subspaces of the domain/codomain.
Main definitions #
Submodule.subtypeL Sis the inclusion mapS →L[R] MwhenS : Submodule R M. In other words, it isSubmodule.subtype Sbundled as aContinuousLinearMap.ContinuousLinearMap.domRestrict f Sis the mapS →SL[σ] Nobtained by restrictingf : M →SL[σ] Nto a subspaceSof the domain. This is the continuous version ofLinearMap.domRestrict.ContinuousLinearMap.codRestrict f S his the mapM →SL[σ] Sobtained by co-restrictingf : M →SL[σ] Nto a subspaceSof the codomain; this requires a proofhthat all values offindeed belong toS. This is the continuous version ofLinearMap.codRestrict.ContinuousLinearMap.rangeRestrict fis an abbreviation forf.codRestrict f.range ⋯ : M →SL[σ] f.range. This is the continuous version ofLinearMap.rangeRestrict.ContinuousLinearMap.restrict f his the mapS →SL[σ] Tobtained by restricting fromf : M →SL[σ] Nand a proofhthatfmapsSinsideT. This is the continuous version ofLinearMap.restrict.
def
Submodule.subtypeL
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
:
Submodule.subtype as a ContinuousLinearMap.
Instances For
@[simp]
theorem
Submodule.toLinearMap_subtypeL
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
:
@[simp]
theorem
Submodule.coe_subtypeL
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
:
@[deprecated Submodule.coe_subtypeL (since := "2026-05-06")]
theorem
Submodule.coe_subtypeL'
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
:
Alias of Submodule.coe_subtypeL.
theorem
Submodule.subtypeL_apply
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
(x : ↥p)
:
@[deprecated Submodule.range_subtype (since := "2026-05-06")]
theorem
Submodule.range_subtypeL
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
:
@[deprecated Submodule.ker_subtype (since := "2026-05-06")]
theorem
Submodule.ker_subtypeL
{R : Type u_1}
[Semiring R]
{M : Type u_2}
[TopologicalSpace M]
[AddCommMonoid M]
[Module R M]
(p : Submodule R M)
:
def
ContinuousLinearMap.domRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₁ M₁)
:
The restriction of a linear map f : M → M₂ to a submodule p ⊆ M gives a linear map
p → M₂.
Equations
- f.domRestrict p = f ∘SL p.subtypeL
Instances For
@[simp]
theorem
ContinuousLinearMap.domRestrict_apply
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₁ M₁)
(x : ↥p)
:
@[simp]
theorem
ContinuousLinearMap.toLinearMap_domRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₁ M₁)
:
theorem
ContinuousLinearMap.coe_domRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₁ M₁)
:
def
ContinuousLinearMap.codRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₂ M₂)
(h : ∀ (x : M₁), f x ∈ p)
:
Restrict codomain of a continuous linear map.
Equations
- f.codRestrict p h = { toLinearMap := LinearMap.codRestrict p (↑f) h, cont := ⋯ }
Instances For
@[simp]
theorem
ContinuousLinearMap.toLinearMap_codRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₂ M₂)
(h : ∀ (x : M₁), f x ∈ p)
:
theorem
ContinuousLinearMap.coe_codRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₂ M₂)
(h : ∀ (x : M₁), f x ∈ p)
:
@[simp]
theorem
ContinuousLinearMap.coe_codRestrict_apply
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₂ M₂)
(h : ∀ (x : M₁), f x ∈ p)
(x : M₁)
:
theorem
ContinuousLinearMap.ker_codRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₂ M₂)
(h : ∀ (x : M₁), f x ∈ p)
:
@[simp]
theorem
ContinuousLinearMap.domRestrict_comp_codRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
{R₃ : Type u_3}
[Semiring R₁]
[Semiring R₂]
[Semiring R₃]
{σ₁₂ : R₁ →+* R₂}
{σ₂₃ : R₂ →+* R₃}
{σ₁₃ : R₁ →+* R₃}
[RingHomCompTriple σ₁₂ σ₂₃ σ₁₃]
{M₁ : Type u_4}
{M₂ : Type u_5}
{M₃ : Type u_6}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
[TopologicalSpace M₃]
[AddCommMonoid M₃]
[Module R₃ M₃]
(g : M₂ →SL[σ₂₃] M₃)
(f : M₁ →SL[σ₁₂] M₂)
(p : Submodule R₂ M₂)
(h : ∀ (x : M₁), f x ∈ p)
:
@[reducible, inline]
abbrev
ContinuousLinearMap.rangeRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
[RingHomSurjective σ₁₂]
(f : M₁ →SL[σ₁₂] M₂)
:
Restrict the codomain of a continuous linear map f to f.range.
Equations
- f.rangeRestrict = f.codRestrict (↑f).range ⋯
Instances For
theorem
ContinuousLinearMap.toLinearMap_rangeRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
[RingHomSurjective σ₁₂]
(f : M₁ →SL[σ₁₂] M₂)
:
@[simp]
theorem
ContinuousLinearMap.coe_rangeRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
[RingHomSurjective σ₁₂]
(f : M₁ →SL[σ₁₂] M₂)
:
def
ContinuousLinearMap.restrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
(f : M₁ →SL[σ₁₂] M₂)
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(h : ∀ x ∈ p, f x ∈ q)
:
Restrict codomain of a continuous linear map.
Equations
- f.restrict h = (f.domRestrict p).codRestrict q ⋯
Instances For
@[simp]
theorem
ContinuousLinearMap.toLinearMap_restrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
{f : M₁ →SL[σ₁₂] M₂}
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(h : ∀ x ∈ p, f x ∈ q)
:
@[simp]
theorem
ContinuousLinearMap.coe_restrict_apply
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
{f : M₁ →SL[σ₁₂] M₂}
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(hf : ∀ x ∈ p, f x ∈ q)
(x : ↥p)
:
theorem
ContinuousLinearMap.restrict_apply
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
{f : M₁ →SL[σ₁₂] M₂}
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(hf : ∀ x ∈ p, f x ∈ q)
(x : ↥p)
:
theorem
ContinuousLinearMap.restrict_comp
{R₁ : Type u_1}
{R₂ : Type u_2}
{R₃ : Type u_3}
[Semiring R₁]
[Semiring R₂]
[Semiring R₃]
{σ₁₂ : R₁ →+* R₂}
{σ₂₃ : R₂ →+* R₃}
{σ₁₃ : R₁ →+* R₃}
[RingHomCompTriple σ₁₂ σ₂₃ σ₁₃]
{M₁ : Type u_4}
{M₂ : Type u_5}
{M₃ : Type u_6}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
[TopologicalSpace M₃]
[AddCommMonoid M₃]
[Module R₃ M₃]
{p : Submodule R₁ M₁}
{p₂ : Submodule R₂ M₂}
{p₃ : Submodule R₃ M₃}
{f : M₁ →SL[σ₁₂] M₂}
{g : M₂ →SL[σ₂₃] M₃}
(hf : Set.MapsTo ⇑f ↑p ↑p₂)
(hg : Set.MapsTo ⇑g ↑p₂ ↑p₃)
(hfg : Set.MapsTo ⇑(g ∘SL f) ↑p ↑p₃ := ⋯)
:
theorem
ContinuousLinearMap.subtypeL_comp_restrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
{f : M₁ →SL[σ₁₂] M₂}
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(hf : ∀ x ∈ p, f x ∈ q)
:
theorem
ContinuousLinearMap.restrict_eq_codRestrict_domRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
{f : M₁ →SL[σ₁₂] M₂}
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(hf : ∀ x ∈ p, f x ∈ q)
:
theorem
ContinuousLinearMap.restrict_eq_domRestrict_codRestrict
{R₁ : Type u_1}
{R₂ : Type u_2}
[Semiring R₁]
[Semiring R₂]
{σ₁₂ : R₁ →+* R₂}
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommMonoid M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommMonoid M₂]
[Module R₂ M₂]
{f : M₁ →SL[σ₁₂] M₂}
{p : Submodule R₁ M₁}
{q : Submodule R₂ M₂}
(hf : ∀ (x : M₁), f x ∈ q)
:
def
ContinuousLinearMap.projKerOfRightInverse
{R₁ : Type u_1}
{R₂ : Type u_2}
[Ring R₁]
[Ring R₂]
{σ₁₂ : R₁ →+* R₂}
{σ₂₁ : R₂ →+* R₁}
[RingHomInvPair σ₁₂ σ₂₁]
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommGroup M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommGroup M₂]
[Module R₂ M₂]
[IsTopologicalAddGroup M₁]
(f₁ : M₁ →SL[σ₁₂] M₂)
(f₂ : M₂ →SL[σ₂₁] M₁)
(h : Function.RightInverse ⇑f₂ ⇑f₁)
:
Given a right inverse f₂ : M₂ →L[R] M₁ to f₁ : M₁ →L[R] M₂,
projKerOfRightInverse f₁ f₂ h is the projection M₁ →L[R] LinearMap.ker f₁ along
LinearMap.range f₂.
Equations
- f₁.projKerOfRightInverse f₂ h = (ContinuousLinearMap.id R₁ M₁ - f₂ ∘SL f₁).codRestrict (↑f₁).ker ⋯
Instances For
@[simp]
theorem
ContinuousLinearMap.coe_projKerOfRightInverse_apply
{R₁ : Type u_1}
{R₂ : Type u_2}
[Ring R₁]
[Ring R₂]
{σ₁₂ : R₁ →+* R₂}
{σ₂₁ : R₂ →+* R₁}
[RingHomInvPair σ₁₂ σ₂₁]
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommGroup M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommGroup M₂]
[Module R₂ M₂]
[IsTopologicalAddGroup M₁]
(f₁ : M₁ →SL[σ₁₂] M₂)
(f₂ : M₂ →SL[σ₂₁] M₁)
(h : Function.RightInverse ⇑f₂ ⇑f₁)
(x : M₁)
:
@[simp]
theorem
ContinuousLinearMap.projKerOfRightInverse_apply_idem
{R₁ : Type u_1}
{R₂ : Type u_2}
[Ring R₁]
[Ring R₂]
{σ₁₂ : R₁ →+* R₂}
{σ₂₁ : R₂ →+* R₁}
[RingHomInvPair σ₁₂ σ₂₁]
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommGroup M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommGroup M₂]
[Module R₂ M₂]
[IsTopologicalAddGroup M₁]
(f₁ : M₁ →SL[σ₁₂] M₂)
(f₂ : M₂ →SL[σ₂₁] M₁)
(h : Function.RightInverse ⇑f₂ ⇑f₁)
(x : ↥(↑f₁).ker)
:
@[simp]
theorem
ContinuousLinearMap.projKerOfRightInverse_comp_inv
{R₁ : Type u_1}
{R₂ : Type u_2}
[Ring R₁]
[Ring R₂]
{σ₁₂ : R₁ →+* R₂}
{σ₂₁ : R₂ →+* R₁}
[RingHomInvPair σ₁₂ σ₂₁]
{M₁ : Type u_4}
{M₂ : Type u_5}
[TopologicalSpace M₁]
[AddCommGroup M₁]
[Module R₁ M₁]
[TopologicalSpace M₂]
[AddCommGroup M₂]
[Module R₂ M₂]
[IsTopologicalAddGroup M₁]
(f₁ : M₁ →SL[σ₁₂] M₂)
(f₂ : M₂ →SL[σ₂₁] M₁)
(h : Function.RightInverse ⇑f₂ ⇑f₁)
(y : M₂)
: