Linear equivalences involving submodules #
Linear equivalence between two equal submodules.
Equations
- LinearEquiv.ofEq p q h = { toFun := (Equiv.Set.ofEq ⋯).toFun, map_add' := ⋯, map_smul' := ⋯, invFun := (Equiv.Set.ofEq ⋯).invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
A linear equivalence which maps a submodule of one module onto another, restricts to a linear equivalence of the two submodules.
Equations
- e.ofSubmodules p q h = (e.submoduleMap p).trans (LinearEquiv.ofEq (Submodule.map (↑e) p) q h)
Instances For
A linear equivalence of two modules restricts to a linear equivalence from the preimage of any submodule to that submodule.
This is LinearEquiv.ofSubmodule
but with comap
on the left instead of map
on the right.
Equations
- f.ofSubmodule' U = (f.symm.ofSubmodules U (Submodule.comap (↑f.symm.symm) U) ⋯).symm
Instances For
The top submodule of M
is linearly equivalent to M
.
Equations
- LinearEquiv.ofTop p h = { toLinearMap := p.subtype, invFun := fun (x : M) => ⟨x, ⋯⟩, left_inv := ⋯, right_inv := ⋯ }
Instances For
A linear map f : M →ₗ[R] M₂
with a left-inverse g : M₂ →ₗ[R] M
defines a linear
equivalence between M
and f.range
.
This is a computable alternative to LinearEquiv.ofInjective
, and a bidirectional version of
LinearMap.rangeRestrict
.
Equations
- LinearEquiv.ofLeftInverse h = { toFun := ⇑f.rangeRestrict, map_add' := ⋯, map_smul' := ⋯, invFun := g ∘ ⇑(LinearMap.range f).subtype, left_inv := h, right_inv := ⋯ }
Instances For
An Injective
linear map f : M →ₗ[R] M₂
defines a linear equivalence
between M
and f.range
. See also LinearMap.ofLeftInverse
.
Equations
Instances For
A bijective linear map is a linear equivalence.
Equations
- LinearEquiv.ofBijective f hf = (LinearEquiv.ofInjective f ⋯).trans (LinearEquiv.ofTop (LinearMap.range f) ⋯)
Instances For
Given p
a submodule of the module M
and q
a submodule of p
, p.equivSubtypeMap q
is the natural LinearEquiv
between q
and q.map p.subtype
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A linear injection M ↪ N
restricts to an equivalence f⁻¹ p ≃ p
for any submodule p
contained in its range.
Equations
- Submodule.comap_equiv_self_of_inj_of_le hf h = LinearEquiv.ofBijective (LinearMap.codRestrict p (f ∘ₗ (Submodule.comap f p).subtype) ⋯) ⋯
Instances For
The restriction of a bilinear map to a submodule in which it takes values.
Equations
- f.codRestrict₂ i hi hf = { toFun := fun (x : M₁) => ↑(LinearEquiv.ofInjective i hi).symm ∘ₗ LinearMap.codRestrict (LinearMap.range i) (f x) ⋯, map_add' := ⋯, map_smul' := ⋯ }