Theory of topological modules and continuous linear maps. #
We use the class has_continuous_smul
for topological (semi) modules and topological vector spaces.
In this file we define continuous linear maps, as linear maps between topological modules which are
continuous. The set of continuous linear maps between the topological R
-modules M
and M₂
is
denoted by M →L[R] M₂
.
Continuous linear equivalences are denoted by M ≃L[R] M₂
.
If M
is a topological module over R
and 0
is a limit of invertible elements of R
, then
⊤
is the only submodule of M
with a nonempty interior.
This is the case, e.g., if R
is a nondiscrete normed field.
The (topological-space) closure of a submodule of a topological R
-module M
is itself
a submodule.
- to_linear_map : M →ₗ[R] M₂
- cont : continuous c.to_linear_map.to_fun . "continuity'"
Continuous linear maps between modules. We only put the type classes that are necessary for the
definition, although in applications M
and M₂
will be topological modules over the topological
ring R
.
- to_linear_equiv : M ≃ₗ[R] M₂
- continuous_to_fun : continuous c.to_linear_equiv.to_fun . "continuity'"
- continuous_inv_fun : continuous c.to_linear_equiv.inv_fun . "continuity'"
Continuous linear equivalences between modules. We only put the type classes that are necessary
for the definition, although in applications M
and M₂
will be topological modules over the
topological ring R
.
Properties that hold for non-necessarily commutative semirings. #
Coerce continuous linear maps to linear maps.
Equations
Coerce continuous linear maps to functions.
If two continuous linear maps are equal on a set s
, then they are equal on the closure
of the submodule.span
of this set.
If the submodule generated by a set s
is dense in the ambient module, then two continuous
linear maps equal on s
are equal.
The continuous map that is constantly zero.
Equations
- continuous_linear_map.has_zero = {zero := {to_linear_map := 0, cont := _}}
Equations
the identity map as a continuous linear map.
Equations
- continuous_linear_map.id R M = {to_linear_map := linear_map.id _inst_10, cont := _}
Equations
- continuous_linear_map.has_one = {one := continuous_linear_map.id R M _inst_10}
Equations
- continuous_linear_map.add_comm_monoid = {add := has_add.add continuous_linear_map.has_add, add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := λ (n : ℕ) (f : M →L[R] M₂), {to_linear_map := {to_fun := λ (x : M), n • ⇑f x, map_add' := _, map_smul' := _}, cont := _}, nsmul_zero' := _, nsmul_succ' := _, add_comm := _}
Composition of bounded linear maps.
Equations
- continuous_linear_map.has_mul = {mul := continuous_linear_map.comp _inst_10}
The cartesian product of two bounded linear maps, as a bounded linear map.
The left injection into a product is a continuous linear map.
Equations
- continuous_linear_map.inl R M M₂ = (continuous_linear_map.id R M).prod 0
The right injection into a product is a continuous linear map.
Equations
- continuous_linear_map.inr R M M₂ = 0.prod (continuous_linear_map.id R M₂)
Kernel of a continuous linear map.
Range of a continuous linear map.
Restrict codomain of a continuous linear map.
Equations
- f.cod_restrict p h = {to_linear_map := linear_map.cod_restrict p ↑f h, cont := _}
Embedding of a submodule into the ambient space as a continuous linear map.
Equations
- continuous_linear_map.subtype_val p = {to_linear_map := p.subtype, cont := _}
prod.fst
as a continuous_linear_map
.
Equations
- continuous_linear_map.fst R M M₂ = {to_linear_map := linear_map.fst R M M₂ _inst_11, cont := _}
prod.snd
as a continuous_linear_map
.
Equations
- continuous_linear_map.snd R M M₂ = {to_linear_map := linear_map.snd R M M₂ _inst_11, cont := _}
prod.map
of two continuous linear maps.
Equations
- f₁.prod_map f₂ = (f₁.comp (continuous_linear_map.fst R M M₃)).prod (f₂.comp (continuous_linear_map.snd R M M₃))
The continuous linear map given by (x, y) ↦ f₁ x + f₂ y
.
The linear map λ x, c x • f
. Associates to a scalar-valued linear map and an element of
M₂
the M₂
-valued linear map obtained by multiplying the two (a.k.a. tensoring by M₂
).
See also continuous_linear_map.smul_rightₗ
and continuous_linear_map.smul_rightL
.
Equations
- c.smul_right f = {to_linear_map := {to_fun := (c.to_linear_map.smul_right f).to_fun, map_add' := _, map_smul' := _}, cont := _}
pi
construction for continuous linear functions. From a family of continuous linear functions
it produces a continuous linear function into a family of topological modules.
Equations
- continuous_linear_map.pi f = {to_linear_map := linear_map.pi (λ (i : ι), ↑(f i)), cont := _}
The projections from a family of topological modules are continuous linear maps.
Equations
- continuous_linear_map.proj i = {to_linear_map := linear_map.proj i, cont := _}
If I
and J
are complementary index sets, the product of the kernels of the J
th projections
of φ
is linearly equivalent to the product over I
.
Equations
- continuous_linear_map.infi_ker_proj_equiv R φ hd hu = {to_linear_equiv := linear_map.infi_ker_proj_equiv R φ hd hu, continuous_to_fun := _, continuous_inv_fun := _}
Equations
- continuous_linear_map.add_comm_group = {add := has_add.add continuous_linear_map.has_add, add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := λ (n : ℕ) (f : M →L[R] M₂), {to_linear_map := {to_fun := λ (x : M), n • ⇑f x, map_add' := _, map_smul' := _}, cont := _}, nsmul_zero' := _, nsmul_succ' := _, neg := has_neg.neg continuous_linear_map.has_neg, sub := has_sub.sub continuous_linear_map.has_sub, sub_eq_add_neg := _, gsmul := λ (n : ℤ) (f : M →L[R] M₂), {to_linear_map := {to_fun := λ (x : M), n • ⇑f x, map_add' := _, map_smul' := _}, cont := _}, gsmul_zero' := _, gsmul_succ' := _, gsmul_neg' := _, add_left_neg := _, add_comm := _}
Equations
- continuous_linear_map.ring = {add := add_comm_group.add continuous_linear_map.add_comm_group, add_assoc := _, zero := add_comm_group.zero continuous_linear_map.add_comm_group, zero_add := _, add_zero := _, nsmul := add_comm_group.nsmul continuous_linear_map.add_comm_group, nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg continuous_linear_map.add_comm_group, sub := add_comm_group.sub continuous_linear_map.add_comm_group, sub_eq_add_neg := _, gsmul := add_comm_group.gsmul continuous_linear_map.add_comm_group, gsmul_zero' := _, gsmul_succ' := _, gsmul_neg' := _, add_left_neg := _, add_comm := _, mul := has_mul.mul continuous_linear_map.has_mul, mul_assoc := _, one := 1, one_mul := _, mul_one := _, npow := monoid.npow._default 1 has_mul.mul continuous_linear_map.ring._proof_15 continuous_linear_map.ring._proof_16, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _}
Given a right inverse f₂ : M₂ →L[R] M
to f₁ : M →L[R] M₂
,
proj_ker_of_right_inverse f₁ f₂ h
is the projection M →L[R] f₁.ker
along f₂.range
.
Equations
- f₁.proj_ker_of_right_inverse f₂ h = (continuous_linear_map.id R M - f₂.comp f₁).cod_restrict f₁.ker _
continuous_linear_map.prod
as an equiv
.
Equations
- continuous_linear_map.module = {to_distrib_mul_action := {to_mul_action := {to_has_scalar := continuous_linear_map.has_scalar _inst_17, one_smul := _, mul_smul := _}, smul_add := _, smul_zero := _}, add_smul := _, zero_smul := _}
continuous_linear_map.prod
as a linear_equiv
.
Equations
- continuous_linear_map.prodₗ S = {to_fun := continuous_linear_map.prod_equiv.to_fun, map_add' := _, map_smul' := _, inv_fun := continuous_linear_map.prod_equiv.inv_fun, left_inv := _, right_inv := _}
Given c : E →L[𝕜] 𝕜
, c.smul_rightₗ
is the linear map from F
to E →L[𝕜] F
sending f
to λ e, c e • f
. See also continuous_linear_map.smul_rightL
.
Equations
- c.smul_rightₗ = {to_fun := c.smul_right, map_add' := _, map_smul' := _}
Equations
- continuous_linear_map.algebra = algebra.of_module continuous_linear_map.algebra._proof_3 continuous_linear_map.algebra._proof_4
If A
is an R
-algebra, then a continuous A
-linear map can be interpreted as a continuous
R
-linear map. We assume linear_map.compatible_smul M M₂ R A
to match assumptions of
linear_map.map_smul_of_tower
.
Equations
- continuous_linear_map.restrict_scalars R f = {to_linear_map := linear_map.restrict_scalars R ↑f, cont := _}
continuous_linear_map.restrict_scalars
as a linear_map
. See also
continuous_linear_map.restrict_scalarsL
.
Equations
- continuous_linear_map.restrict_scalarsₗ A M M₂ R S = {to_fun := continuous_linear_map.restrict_scalars R _inst_11, map_add' := _, map_smul' := _}
A continuous linear equivalence induces a continuous linear map.
Equations
- e.to_continuous_linear_map = {to_linear_map := {to_fun := e.to_linear_equiv.to_linear_map.to_fun, map_add' := _, map_smul' := _}, cont := _}
Coerce continuous linear equivs to continuous linear maps.
Coerce continuous linear equivs to maps.
A continuous linear equivalence induces a homeomorphism.
Equations
- e.to_homeomorph = {to_equiv := e.to_linear_equiv.to_equiv, continuous_to_fun := _, continuous_inv_fun := _}
An extensionality lemma for R ≃L[R] M
.
The identity map as a continuous linear equivalence.
Equations
- continuous_linear_equiv.refl R M = {to_linear_equiv := {to_fun := (linear_equiv.refl R M).to_fun, map_add' := _, map_smul' := _, inv_fun := (linear_equiv.refl R M).inv_fun, left_inv := _, right_inv := _}, continuous_to_fun := _, continuous_inv_fun := _}
The inverse of a continuous linear equivalence as a continuous linear equivalence
Equations
- e.symm = {to_linear_equiv := {to_fun := e.to_linear_equiv.symm.to_fun, map_add' := _, map_smul' := _, inv_fun := e.to_linear_equiv.symm.inv_fun, left_inv := _, right_inv := _}, continuous_to_fun := _, continuous_inv_fun := _}
The composition of two continuous linear equivalences as a continuous linear equivalence.
Equations
- e₁.trans e₂ = {to_linear_equiv := {to_fun := (e₁.to_linear_equiv.trans e₂.to_linear_equiv).to_fun, map_add' := _, map_smul' := _, inv_fun := (e₁.to_linear_equiv.trans e₂.to_linear_equiv).inv_fun, left_inv := _, right_inv := _}, continuous_to_fun := _, continuous_inv_fun := _}
Product of two continuous linear equivalences. The map comes from equiv.prod_congr
.
Equations
- e.prod e' = {to_linear_equiv := {to_fun := (e.to_linear_equiv.prod e'.to_linear_equiv).to_fun, map_add' := _, map_smul' := _, inv_fun := (e.to_linear_equiv.prod e'.to_linear_equiv).inv_fun, left_inv := _, right_inv := _}, continuous_to_fun := _, continuous_inv_fun := _}