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) :
theorem Submodule.isEmbedding_subtype {R : Type u_1} [Semiring R] {M : Type u_2} [TopologicalSpace M] [AddCommMonoid M] [Module R M] (p : Submodule R M) :
theorem Submodule.isEmbedding_subtypeL {R : Type u_1} [Semiring R] {M : Type u_2} [TopologicalSpace M] [AddCommMonoid M] [Module R M] (p : Submodule R M) :
theorem Submodule.isClosedEmbedding_subtype {R : Type u_1} [Semiring R] {M : Type u_2} [TopologicalSpace M] [AddCommMonoid M] [Module R M] (p : Submodule R M) (hp : IsClosed ↑p) :
theorem Submodule.isClosedEmbedding_subtypeL {R : Type u_1} [Semiring R] {M : Type u_2} [TopologicalSpace M] [AddCommMonoid M] [Module R M] (p : Submodule R M) (hp : IsClosed ↑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.subtypeL_comp_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_3} {M₂ : Type u_4} [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_3} {M₂ : Type u_4} [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_3} {M₂ : Type u_4} [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_3} {M₂ : Type u_4} [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₂) :