mathlib3documentation

analysis.normed_space.continuous_affine_map

Continuous affine maps between normed spaces. #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file develops the theory of continuous affine maps between affine spaces modelled on normed spaces.

In the particular case that the affine spaces are just normed vector spaces V, W, we define a norm on the space of continuous affine maps by defining the norm of f : V →A[𝕜] W to be ‖f‖ = max ‖f 0‖ ‖f.cont_linear‖. This is chosen so that we have a linear isometry: (V →A[𝕜] W) ≃ₗᵢ[𝕜] W × (V →L[𝕜] W).

The abstract picture is that for an affine space P modelled on a vector space V, together with a vector space W, there is an exact sequence of 𝕜-modules: 0 → C → A → L → 0 where C, A are the spaces of constant and affine maps P → W and L is the space of linear maps V → W.

Any choice of a base point in P corresponds to a splitting of this sequence so in particular if we take P = V, using 0 : V as the base point provides a splitting, and we prove this is an isometric decomposition.

On the other hand, choosing a base point breaks the affine invariance so the norm fails to be submultiplicative: for a composition of maps, we have only ‖f.comp g‖ ≤ ‖f‖ * ‖g‖ + ‖f 0‖.

Main definitions: #

• continuous_affine_map.cont_linear
• continuous_affine_map.has_norm
• continuous_affine_map.norm_comp_le
• continuous_affine_map.to_const_prod_continuous_linear_map
def continuous_affine_map.cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) :
V →L[R] W

The linear map underlying a continuous affine map is continuous.

Equations
@[simp]
theorem continuous_affine_map.coe_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) :
@[simp]
theorem continuous_affine_map.coe_cont_linear_eq_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) :
@[simp]
theorem continuous_affine_map.coe_mk_const_linear_eq_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →ᵃ[R] Q) (h : continuous f.to_fun) :
theorem continuous_affine_map.coe_linear_eq_coe_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) :
@[simp]
theorem continuous_affine_map.comp_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {W₂ : Type u_5} {P : Type u_6} {Q : Type u_7} {Q₂ : Type u_8} [metric_space P] [ P] [metric_space Q] [ Q] [metric_space Q₂] [ Q₂] [normed_field R] [ V] [ W] [ W₂] (f : P →A[R] Q) (g : Q →A[R] Q₂) :
@[simp]
theorem continuous_affine_map.map_vadd {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) (p : P) (v : V) :
f (v +ᵥ p) = (f.cont_linear) v +ᵥ f p
@[simp]
theorem continuous_affine_map.cont_linear_map_vsub {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) (p₁ p₂ : P) :
(f.cont_linear) (p₁ -ᵥ p₂) = f p₁ -ᵥ f p₂
@[simp]
theorem continuous_affine_map.const_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (q : Q) :
= 0
theorem continuous_affine_map.cont_linear_eq_zero_iff_exists_const {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} {Q : Type u_7} [metric_space P] [ P] [metric_space Q] [ Q] [normed_field R] [ V] [ W] (f : P →A[R] Q) :
f.cont_linear = 0 (q : Q), f =
@[simp]
theorem continuous_affine_map.to_affine_map_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} [normed_field R] [ V] [ W] (f : V →L[R] W) :
@[simp]
theorem continuous_affine_map.zero_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} [metric_space P] [ P] [normed_field R] [ V] [ W] :
@[simp]
theorem continuous_affine_map.add_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} [metric_space P] [ P] [normed_field R] [ V] [ W] (f g : P →A[R] W) :
(f + g).cont_linear =
@[simp]
theorem continuous_affine_map.sub_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} [metric_space P] [ P] [normed_field R] [ V] [ W] (f g : P →A[R] W) :
(f - g).cont_linear =
@[simp]
theorem continuous_affine_map.neg_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} [metric_space P] [ P] [normed_field R] [ V] [ W] (f : P →A[R] W) :
@[simp]
theorem continuous_affine_map.smul_cont_linear {R : Type u_2} {V : Type u_3} {W : Type u_4} {P : Type u_6} [metric_space P] [ P] [normed_field R] [ V] [ W] (t : R) (f : P →A[R] W) :
theorem continuous_affine_map.decomp {R : Type u_2} {V : Type u_3} {W : Type u_4} [normed_field R] [ V] [ W] (f : V →A[R] W) :
@[protected, instance]
noncomputable def continuous_affine_map.has_norm {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] :
has_norm (V →A[𝕜] W)

Note that unlike the operator norm for linear maps, this norm is not submultiplicative: we do not necessarily have ‖f.comp g‖ ≤ ‖f‖ * ‖g‖. See norm_comp_le for what we can say.

Equations
theorem continuous_affine_map.norm_def {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] (f : V →A[𝕜] W) :
theorem continuous_affine_map.norm_cont_linear_le {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] (f : V →A[𝕜] W) :
theorem continuous_affine_map.norm_image_zero_le {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] (f : V →A[𝕜] W) :
@[simp]
theorem continuous_affine_map.norm_eq {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] (f : V →A[𝕜] W) (h : f 0 = 0) :
@[protected, instance]
noncomputable def continuous_affine_map.normed_add_comm_group {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] :
Equations
@[protected, instance]
def continuous_affine_map.normed_space {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} [ V] [ W] :
(V →A[𝕜] W)
Equations
theorem continuous_affine_map.norm_comp_le {𝕜 : Type u_1} {V : Type u_3} {W : Type u_4} {W₂ : Type u_5} [ V] [ W] [ W₂] (f : V →A[𝕜] W) (g : W₂ →A[𝕜] V) :
def continuous_affine_map.to_const_prod_continuous_linear_map (𝕜 : Type u_1) (V : Type u_3) (W : Type u_4) [ V] [ W] :
(V →A[𝕜] W) ≃ₗᵢ[𝕜] W × (V →L[𝕜] W)

The space of affine maps between two normed spaces is linearly isometric to the product of the codomain with the space of linear maps, by taking the value of the affine map at (0 : V) and the linear part.

Equations
@[simp]
theorem continuous_affine_map.to_const_prod_continuous_linear_map_fst (𝕜 : Type u_1) (V : Type u_3) (W : Type u_4) [ V] [ W] (f : V →A[𝕜] W) :
= f 0
@[simp]
theorem continuous_affine_map.to_const_prod_continuous_linear_map_snd (𝕜 : Type u_1) (V : Type u_3) (W : Type u_4) [ V] [ W] (f : V →A[𝕜] W) :