The vector bundle of continuous (semi)linear maps #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define the (topological) vector bundle of continuous (semi)linear maps between two vector bundles over the same base.
Given bundles E₁ E₂ : B → Type*
, normed spaces F₁
and F₂
, and a ring-homomorphism σ
between
their respective scalar fields, we define bundle.continuous_linear_map σ F₁ E₁ F₂ E₂ x
to be a
type synonym for λ x, E₁ x →SL[σ] E₂ x
. If the E₁
and E₂
are vector bundles with model fibers
F₁
and F₂
, then this will be a vector bundle with fiber F₁ →SL[σ] F₂
.
The topology on the total space is constructed from the trivializations for E₁
and E₂
and the
norm-topology on the model fiber F₁ →SL[𝕜] F₂
using the vector_prebundle
construction. This is
a bit awkward because it introduces a dependence on the normed space structure of the model fibers,
rather than just their topological vector space structure; it is not clear whether this is
necessary.
Similar constructions should be possible (but are yet to be formalized) for tensor products of topological vector bundles, exterior algebras, and so on, where again the topology can be defined using a norm on the fiber model if this helps.
Main Definitions #
bundle.continuous_linear_map.vector_bundle
: continuous semilinear maps between vector bundles form a vector bundle.
A reducible type synonym for the bundle of continuous (semi)linear maps. For some reason, it helps with instance search.
Porting note: after the port is done, we may want to remove this definition.
Equations
- bundle.continuous_linear_map σ E₁ E₂ = λ (x : B), E₁ x →SL[σ] E₂ x
Equations
- bundle.continuous_linear_map.module σ E₁ E₂ = λ (_x : B), infer_instance
Assume eᵢ
and eᵢ'
are trivializations of the bundles Eᵢ
over base B
with fiber Fᵢ
(i ∈ {1,2}
), then continuous_linear_map_coord_change σ e₁ e₁' e₂ e₂'
is the coordinate change
function between the two induced (pre)trivializations
pretrivialization.continuous_linear_map σ e₁ e₂
and
pretrivialization.continuous_linear_map σ e₁' e₂'
of bundle.continuous_linear_map
.
Equations
- pretrivialization.continuous_linear_map_coord_change σ e₁ e₁' e₂ e₂' b = ↑((trivialization.coord_changeL 𝕜₁ e₁' e₁ b).symm.arrow_congrSL (trivialization.coord_changeL 𝕜₂ e₂ e₂' b))
Given trivializations e₁
, e₂
for vector bundles E₁
, E₂
over a base B
,
pretrivialization.continuous_linear_map σ e₁ e₂
is the induced pretrivialization for the
continuous σ
-semilinear maps from E₁
to E₂
. That is, the map which will later become a
trivialization, after the bundle of continuous semilinear maps is equipped with the right
topological vector bundle structure.
Equations
- pretrivialization.continuous_linear_map σ e₁ e₂ = {to_local_equiv := {to_fun := λ (p : bundle.total_space (F₁ →SL[σ] F₂) (bundle.continuous_linear_map σ E₁ E₂)), (p.proj, (trivialization.continuous_linear_map_at 𝕜₂ e₂ p.proj).comp (continuous_linear_map.comp p.snd (trivialization.symmL 𝕜₁ e₁ p.proj))), inv_fun := λ (p : B × (F₁ →SL[σ] F₂)), {proj := p.fst, snd := (trivialization.symmL 𝕜₂ e₂ p.fst).comp (p.snd.comp (trivialization.continuous_linear_map_at 𝕜₁ e₁ p.fst))}, source := bundle.total_space.proj ⁻¹' (e₁.base_set ∩ e₂.base_set), target := (e₁.base_set ∩ e₂.base_set) ×ˢ set.univ, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_target := _, base_set := e₁.base_set ∩ e₂.base_set, open_base_set := _, source_eq := _, target_eq := _, proj_to_fun := _}
Instances for pretrivialization.continuous_linear_map
The continuous σ
-semilinear maps between two topological vector bundles form a
vector_prebundle
(this is an auxiliary construction for the
vector_bundle
instance, in which the pretrivializations are collated but no topology
on the total space is yet provided).
Equations
- bundle.continuous_linear_map.vector_prebundle σ F₁ E₁ F₂ E₂ = {pretrivialization_atlas := {e : pretrivialization (F₁ →SL[σ] F₂) bundle.total_space.proj | ∃ (e₁ : trivialization F₁ bundle.total_space.proj) (e₂ : trivialization F₂ bundle.total_space.proj) [_inst_22 : mem_trivialization_atlas e₁] [_inst_23 : mem_trivialization_atlas e₂], e = pretrivialization.continuous_linear_map σ e₁ e₂}, pretrivialization_linear' := _, pretrivialization_at := λ (x : B), pretrivialization.continuous_linear_map σ (fiber_bundle.trivialization_at F₁ E₁ x) (fiber_bundle.trivialization_at F₂ E₂ x), mem_base_pretrivialization_at := _, pretrivialization_mem_atlas := _, exists_coord_change := _, total_space_mk_inducing := _}
Instances for bundle.continuous_linear_map.vector_prebundle
Topology on the total space of the continuous σ
-semilinear_maps between two "normable" vector
bundles over the same base.
Equations
- bundle.continuous_linear_map.topological_space_total_space σ F₁ E₁ F₂ E₂ = (bundle.continuous_linear_map.vector_prebundle σ F₁ E₁ F₂ E₂).total_space_topology
The continuous σ
-semilinear_maps between two vector bundles form a fiber bundle.
Equations
- bundle.continuous_linear_map.fiber_bundle σ F₁ E₁ F₂ E₂ = (bundle.continuous_linear_map.vector_prebundle σ F₁ E₁ F₂ E₂).to_fiber_bundle
The continuous σ
-semilinear_maps between two vector bundles form a vector bundle.
Given trivializations e₁
, e₂
in the atlas for vector bundles E₁
, E₂
over a base B
,
the induced trivialization for the continuous σ
-semilinear maps from E₁
to E₂
,
whose base set is e₁.base_set ∩ e₂.base_set
.