Skip to content

Commit 2ff3a6c

Browse files
committed
doc: module docstrings for files split off from Topology.Algebra.Module.LinearMap (leanprover-community#39633)
1 parent b8664a3 commit 2ff3a6c

6 files changed

Lines changed: 128 additions & 4 deletions

File tree

Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,32 @@ public import Mathlib.Topology.Algebra.Module.Basic
1616
/-!
1717
# Continuous linear maps
1818
19-
In this file we define continuous (semi-)linear maps, as semilinear maps between topological
20-
modules which are continuous. The set of continuous semilinear maps between the topological
21-
`R₁`-module `M` and `R₂`-module `M₂` with respect to the `RingHom` `σ` is denoted by `M →SL[σ] M₂`.
22-
Plain linear maps are denoted by `M →L[R] M₂` and star-linear maps by `M →L⋆[R] M₂`.
19+
In this file we define the type of continuous (semi)linear maps between topological
20+
modules that are continuous, and endow it with its algebraic structure.
21+
22+
Later files endow it with a topological structure, see the docstring of
23+
`Mathlib/Topology/Algebra/Module/Spaces/ContinuousLinearMap.lean`.
24+
25+
## Main definitions
26+
27+
* `ContinuousLinearMap` is the type of (semi)linear maps between two topological modules that are
28+
continuous. It is denoted by `M →L[R] N` in the `R`-linear case, `M →SL[σ] N` in the
29+
`σ`-semilinear case, and `M →L⋆[R] N` in the conjugate-linear (antilinear) case.
30+
* `StrongDual R M` is an abbreviation for `M →L[R] R`, the type of continuous `R`-linear forms on
31+
`M`. As a vector space, it is often called the "topological dual of `M`". We use the name "strong
32+
dual" because it will (in later files) be endowed with the strong-dual topology, namely the
33+
topology of uniform convergence on bounded subsets.
34+
* `ContinuousLinearMap.addCommMonoid`, `ContinuousLinearMap.module`,... : the algebraic structures
35+
on `M →SL[σ] N`.
36+
37+
## Notation
38+
39+
* `M →L[R] N`: the type of `R`-linear continuous maps from `M` to `N`;
40+
* `M →SL[σ] N`: the type of `σ`-semilinear continuous maps from `M` to `N`;
41+
* `M →L⋆[σ] N`: the type of conjugate-linear (antilinear) continuous maps from `M` to `N`;
42+
* `f ∘L g`: the composition of two continuous linear maps;
43+
* `f ∘SL g`: the composition of two continuous semilinear maps.
44+
2345
-/
2446

2547
@[expose] public section

Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Idempotent.lean

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,24 @@ public import Mathlib.Topology.Algebra.Module.ContinuousLinearMap.Basic
99

1010
/-!
1111
# Idempotent continuous linear maps
12+
13+
In this file, we study the idempotent elements (`IsIdempotentElem`) of the ring `M →L[R] M` of
14+
continuous endomorphisms of a topological `R`-module `M`.
15+
16+
## Main statements
17+
18+
* `ContinuousLinearMap.isIdempotentElem_toLinearMap_iff`: `T` is idempotent as an element of
19+
`M →L[R] M` if and only if it is such as an element of `M →ₗ[R] M`;
20+
* `ContinuousLinearMap.IsIdempotentElem.ext_iff`: idempotent elements of `M →L[R] M` are determined
21+
by their range and kernel;
22+
* `ContinuousLinearMap.IsIdempotentElem.commute_iff`: a continuous linear map `S` commutes with
23+
an idempotent `T` if and only if the range and kernel of `T` are `S`-invariant;
24+
* `ContinuousLinearMap.IsIdempotentElem.isCLosed_range`: an idempotent continuous linear map
25+
has closed range.
26+
27+
Further results can be found in the `Mathlib/Topology/Algebra/Module/Complement.lean` module, where
28+
we show that idempotent elements of `M →L[R] M` are precisely the projections associated to
29+
topological complement submodules.
1230
-/
1331

1432
@[expose] public section

Mathlib/Topology/Algebra/Module/ContinuousLinearMap/PiProd.lean

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,51 @@ public import Mathlib.Topology.Algebra.Module.ContinuousLinearMap.Basic
1010

1111
/-!
1212
# Continuous linear maps on products and Pi types
13+
14+
In this file, we collect various constructions relating continuous linear maps with (binary or
15+
arbitrary) products.
16+
17+
## Main definitions
18+
19+
Binary products (viewed as categorical products):
20+
21+
* `ContinuousLinearMap.fst R M₁ M₂ : M₁ × M₂ →L[R] M₁` and
22+
`ContinuousLinearMap.snd R M₁ M₂ : M₁ × M₂ →L[R] M₂` are the two projections, given
23+
respectively by `fst (x, y) = x` and `snd (x, y) = y`. These are the continuous versions
24+
of `LinearMap.fst` and `LinearMap.snd`.
25+
* `ContinuousLinearMap.prod f₁ f₂` is the continuous linear map `M →L[R] N₁ × N₂` given by two
26+
continuous linear maps `f₁ : M →L[R] N₁` and `f₂ : M →L[R] N₂`. This is the continuous version
27+
of `LinearMap.prod`.
28+
* `ContinuousLinearMap.prodEquiv` shows that the above is a bijection: every continuous linear
29+
map to a product is obtained this way. In other words, this is the universal property of the
30+
product.
31+
* `ContinuousLinearMap.prodMap f₁ f₂` is the continuous linear map `M₁ × M₂ →L[R] N₁ × N₂` given by
32+
two continuous linear maps `f₁ : M₁ →L[R] N₁` and `f₂ : M₂ →L[R] N₂`. This is the continuous
33+
version of `LinearMap.prodMap`.
34+
35+
Binary products (viewed as categorical coproducts):
36+
37+
* `ContinuousLinearMap.inl R M₁ M₂ : M₁ →L[R] M₁ × M₂` and
38+
`ContinuousLinearMap.inr R M₁ M₂ : M₂ →L[R] M₁ × M₂` are the two inclusions, given
39+
respectively by `inl x = (x, 0)` and `inr x = (0, x)`. These are the continuous versions
40+
of `LinearMap.inl` and `LinearMap.inr`.
41+
* `ContinuousLinearMap.coprod f₁ f₂` is the continuous linear map ` M₁ × M₂ →L[R] N` given by
42+
two continuous linear maps `f₁ : M₁ →L[R] N` and `f₂ : M₂ →L[R] N`. This is the continuous
43+
version of `LinearMap.coprod`.
44+
* `ContinuousLinearMap.coprodEquiv` shows that the above is a bijection: every continuous linear
45+
map from a (binary) product is obtained this way. In other words, this is the universal property
46+
of the coproduct.
47+
48+
Indexed products:
49+
50+
* `ContinuousLinearMap.pi f` is the continuous linear map `M →L[R] (Π i, N i)` given by a family
51+
`f₁ : Π i, M →L[R] N i` of continuous linear maps. This is the continuous version
52+
of `LinearMap.pi`.
53+
* `ContinuousLinearMap.piMap f` is the continuous linear map `(Π i, M i) →L[R] (Π i, N i)` given by
54+
a family `f : Π i, M i →L[R] N i` of continuous linear maps. This is the continuous
55+
version of `LinearMap.piMap`.
56+
* `ContinuousLinearMap.proj j : (Π i, M i) →L[R] M j` is the projection given by
57+
`proj i f = f i`. This is the continuous version of `LinearMap.proj`.
1358
-/
1459

1560
@[expose] public section

Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Quotient.lean

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,20 @@ public import Mathlib.Topology.Algebra.Module.ContinuousLinearMap.Basic
99

1010
/-!
1111
# Continuous linear maps and quotient topological modules
12+
13+
In this file, we collect various continuous linear maps associated to quotient spaces.
14+
15+
## Main definitions
16+
17+
* `Submodule.mkQL S` is the quotient map `M →L[R] M ⧸ S`. In other words, it is
18+
`Submodule.mkQ S` bundled as a `ContinuousLinearMap`.
19+
* `Submodule.liftQL S f h` is the map `M ⧸ S →SL[σ] N` given by `f : M →SL[σ] N` and a proof
20+
`h : S ≤ f.ker` that `f` vanishes on `S`. In other words, it is `Submodule.liftQ S f h` bundled
21+
as a `ContinuousLinearMap`.
22+
23+
## TODO
24+
25+
* Define `Submodule.mapQL`, the continuous linear bundling of `Submodule.mapQ`.
1226
-/
1327

1428
@[expose] public section

Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Restrict.lean

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,27 @@ public import Mathlib.Topology.Algebra.Module.ContinuousLinearMap.Basic
1010

1111
/-!
1212
# Restrictions of continuous linear maps to submodules
13+
14+
In this file, we collect the various operations of restrictions of `ContinuousLinearMap`s
15+
to subspaces of the domain/codomain.
16+
17+
## Main definitions
18+
19+
* `Submodule.subtypeL S` is the inclusion map `S →L[R] M` when `S : Submodule R M`.
20+
In other words, it is `Submodule.subtype S` bundled as a `ContinuousLinearMap`.
21+
* `ContinuousLinearMap.domRestrict f S` is the map `S →SL[σ] N` obtained by restricting
22+
`f : M →SL[σ] N` to a subspace `S` of the *domain*.
23+
This is the continuous version of `LinearMap.domRestrict`.
24+
* `ContinuousLinearMap.codRestrict f S h` is the map `M →SL[σ] S` obtained by co-restricting
25+
`f : M →SL[σ] N` to a subspace `S` of the *codomain*; this requires a proof `h` that all values
26+
of `f` indeed belong to `S`.
27+
This is the continuous version of `LinearMap.codRestrict`.
28+
* `ContinuousLinearMap.rangeRestrict f` is an abbreviation for
29+
`f.codRestrict f.range ⋯ : M →SL[σ] f.range`.
30+
This is the continuous version of `LinearMap.rangeRestrict`.
31+
* `ContinuousLinearMap.restrict f h` is the map `S →SL[σ] T` obtained by restricting from
32+
`f : M →SL[σ] N` and a proof `h` that `f` maps `S` inside `T`.
33+
This is the continuous version of `LinearMap.restrict`.
1334
-/
1435

1536
@[expose] public section

Mathlib/Topology/Algebra/Module/ContinuousLinearMap/RestrictScalars.lean

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ public import Mathlib.Topology.Algebra.Module.ContinuousLinearMap.Basic
99

1010
/-!
1111
# Restriction of scalars for continuous linear maps
12+
13+
In this file, we define and study `ContinuousLinearMap.restrictScalars`, which reinterprets
14+
a continuous `R`-linear map as a continuous `S`-linear map, for suitable `R` and `S`.
15+
This is the continuous version of `LinearMap.restrictScalars`.
1216
-/
1317

1418
@[expose] public section

0 commit comments

Comments
 (0)