# mathlibdocumentation

analysis.normed_space.operator_norm

# Operator norm on the space of continuous linear maps #

Define the operator norm on the space of continuous (semi)linear maps between normed spaces, and prove its basic properties. In particular, show that this space is itself a normed space.

Since a lot of elementary properties don't require `∥x∥ = 0 → x = 0` we start setting up the theory for `seminormed_add_comm_group` and we specialize to `normed_add_comm_group` at the end.

Note that most of statements that apply to semilinear maps only hold when the ring homomorphism is isometric, as expressed by the typeclass `[ring_hom_isometric σ]`.

Most statements in this file require the field to be non-discrete, as this is necessary to deduce an inequality `∥f x∥ ≤ C ∥x∥` from the continuity of f. However, the other direction always holds. In this section, we just assume that `𝕜` is a normed field. In the remainder of the file, it will be non-discrete.

def linear_map.mk_continuous {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ] F) (C : ) (h : ∀ (x : E), f x C * x) :
E →SL[σ] F

Construct a continuous linear map from a linear map and a bound on this linear map. The fact that the norm of the continuous linear map is then controlled is given in `linear_map.mk_continuous_norm_le`.

Equations
def linear_map.to_continuous_linear_map₁ {𝕜 : Type u_1} {E : Type u_4} [normed_field 𝕜] [ E] (f : 𝕜 →ₗ[𝕜] E) :
𝕜 →L[𝕜] E

Reinterpret a linear map `𝕜 →ₗ[𝕜] E` as a continuous linear map. This construction is generalized to the case of any finite dimensional domain in `linear_map.to_continuous_linear_map`.

Equations
def linear_map.mk_continuous_of_exists_bound {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ] F) (h : ∃ (C : ), ∀ (x : E), f x C * x) :
E →SL[σ] F

Construct a continuous linear map from a linear map and the existence of a bound on this linear map. If you have an explicit bound, use `linear_map.mk_continuous` instead, as a norm estimate will follow automatically in `linear_map.mk_continuous_norm_le`.

Equations
theorem continuous_of_linear_of_boundₛₗ {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} {f : E → F} (h_add : ∀ (x y : E), f (x + y) = f x + f y) (h_smul : ∀ (c : 𝕜) (x : E), f (c x) = σ c f x) {C : } (h_bound : ∀ (x : E), f x C * x) :
theorem continuous_of_linear_of_bound {𝕜 : Type u_1} {E : Type u_4} {G : Type u_8} [normed_field 𝕜] [ E] [ G] {f : E → G} (h_add : ∀ (x y : E), f (x + y) = f x + f y) (h_smul : ∀ (c : 𝕜) (x : E), f (c x) = c f x) {C : } (h_bound : ∀ (x : E), f x C * x) :
@[simp, norm_cast]
theorem linear_map.mk_continuous_coe {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ] F) (C : ) (h : ∀ (x : E), f x C * x) :
@[simp]
theorem linear_map.mk_continuous_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ] F) (C : ) (h : ∀ (x : E), f x C * x) (x : E) :
(f.mk_continuous C h) x = f x
@[simp, norm_cast]
theorem linear_map.mk_continuous_of_exists_bound_coe {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ] F) (h : ∃ (C : ), ∀ (x : E), f x C * x) :
@[simp]
theorem linear_map.mk_continuous_of_exists_bound_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [normed_field 𝕜] [normed_field 𝕜₂] [ E] [ F] {σ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ] F) (h : ∃ (C : ), ∀ (x : E), f x C * x) (x : E) :
= f x
@[simp]
theorem linear_map.to_continuous_linear_map₁_coe {𝕜 : Type u_1} {E : Type u_4} [normed_field 𝕜] [ E] (f : 𝕜 →ₗ[𝕜] E) :
@[simp]
theorem linear_map.to_continuous_linear_map₁_apply {𝕜 : Type u_1} {E : Type u_4} [normed_field 𝕜] [ E] (f : 𝕜 →ₗ[𝕜] E) (x : 𝕜) :
= f x
theorem norm_image_of_norm_zero {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} {𝓕 : Type u_10} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ σ₁₂ E F] (f : 𝓕) (hf : continuous f) {x : E} (hx : x = 0) :

If `∥x∥ = 0` and `f` is continuous then `∥f x∥ = 0`.

theorem semilinear_map_class.bound_of_shell_semi_normed {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} {𝓕 : Type u_10} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] [ σ₁₂ E F] (f : 𝓕) {ε C : } (ε_pos : 0 < ε) {c : 𝕜} (hc : 1 < c) (hf : ∀ (x : E), ε / c xx < εf x C * x) {x : E} (hx : x 0) :
theorem semilinear_map_class.bound_of_continuous {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} {𝓕 : Type u_10} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] [ σ₁₂ E F] (f : 𝓕) (hf : continuous f) :
∃ (C : ), 0 < C ∀ (x : E), f x C * x

A continuous linear map between seminormed spaces is bounded when the field is nontrivially normed. The continuity ensures boundedness on a ball of some radius `ε`. The nontriviality of the norm is then used to rescale any element into an element of norm in `[ε/C, ε]`, whose image has a controlled norm. The norm control for the original element follows by rescaling.

theorem continuous_linear_map.bound {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) :
∃ (C : ), 0 < C ∀ (x : E), f x C * x
def continuous_linear_map.of_homothety {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ₁₂] F) (a : ) (hf : ∀ (x : E), f x = a * x) :
E →SL[σ₁₂] F

A linear map which is a homothety is a continuous linear map. Since the field `𝕜` need not have `ℝ` as a subfield, this theorem is not directly deducible from the corresponding theorem about isometries plus a theorem about scalar multiplication. Likewise for the other theorems about homotheties in this file.

Equations
• = _
theorem continuous_linear_map.to_span_singleton_homothety (𝕜 : Type u_1) {E : Type u_4} [ E] (x : E) (c : 𝕜) :
def continuous_linear_map.to_span_singleton (𝕜 : Type u_1) {E : Type u_4} [ E] (x : E) :
𝕜 →L[𝕜] E

Given an element `x` of a normed space `E` over a field `𝕜`, the natural continuous linear map from `𝕜` to `E` by taking multiples of `x`.

Equations
theorem continuous_linear_map.to_span_singleton_apply (𝕜 : Type u_1) {E : Type u_4} [ E] (x : E) (r : 𝕜) :
= r x
theorem continuous_linear_map.to_span_singleton_add (𝕜 : Type u_1) {E : Type u_4} [ E] (x y : E) :
theorem continuous_linear_map.to_span_singleton_smul' (𝕜 : Type u_1) {E : Type u_4} [ E] (𝕜' : Type u_2) [normed_field 𝕜'] [ E] [ 𝕜' E] (c : 𝕜') (x : E) :
theorem continuous_linear_map.to_span_singleton_smul (𝕜 : Type u_1) {E : Type u_4} [ E] (c : 𝕜) (x : E) :
def linear_isometry.to_span_singleton (𝕜 : Type u_1) (E : Type u_4) [ E] {v : E} (hv : v = 1) :
𝕜 →ₗᵢ[𝕜] E

Given a unit-length element `x` of a normed space `E` over a field `𝕜`, the natural linear isometry map from `𝕜` to `E` by taking multiples of `x`.

Equations
@[simp]
theorem linear_isometry.to_span_singleton_apply {𝕜 : Type u_1} {E : Type u_4} [ E] {v : E} (hv : v = 1) (a : 𝕜) :
a = a v
@[simp]
theorem linear_isometry.coe_to_span_singleton {𝕜 : Type u_1} {E : Type u_4} [ E] {v : E} (hv : v = 1) :
noncomputable def continuous_linear_map.op_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) :

The operator norm of a continuous linear map is the inf of all its bounds.

Equations
@[protected, instance]
noncomputable def continuous_linear_map.has_op_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} :
has_norm (E →SL[σ₁₂] F)
Equations
theorem continuous_linear_map.norm_def {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) :
f = has_Inf.Inf {c : | 0 c ∀ (x : E), f x c * x}
theorem continuous_linear_map.bounds_nonempty {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {f : E →SL[σ₁₂] F} :
∃ (c : ), c {c : | 0 c ∀ (x : E), f x c * x}
theorem continuous_linear_map.bounds_bdd_below {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {f : E →SL[σ₁₂] F} :
bdd_below {c : | 0 c ∀ (x : E), f x c * x}
theorem continuous_linear_map.op_norm_le_bound {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) {M : } (hMp : 0 M) (hM : ∀ (x : E), f x M * x) :

If one controls the norm of every `A x`, then one controls the norm of `A`.

theorem continuous_linear_map.op_norm_le_bound' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) {M : } (hMp : 0 M) (hM : ∀ (x : E), x 0f x M * x) :

If one controls the norm of every `A x`, `∥x∥ ≠ 0`, then one controls the norm of `A`.

theorem continuous_linear_map.op_norm_le_of_lipschitz {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {f : E →SL[σ₁₂] F} {K : nnreal} (hf : f) :
theorem continuous_linear_map.op_norm_eq_of_bounds {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {φ : E →SL[σ₁₂] F} {M : } (M_nonneg : 0 M) (h_above : ∀ (x : E), φ x M * x) (h_below : ∀ (N : ), N 0(∀ (x : E), φ x N * x)M N) :
φ = M
theorem continuous_linear_map.op_norm_neg {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) :
theorem continuous_linear_map.antilipschitz_of_bound {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) {K : nnreal} (h : ∀ (x : E), x K * f x) :
theorem continuous_linear_map.bound_of_antilipschitz {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) {K : nnreal} (h : f) (x : E) :
theorem continuous_linear_map.op_norm_nonneg {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) :
theorem continuous_linear_map.le_op_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (x : E) :

The fundamental property of the operator norm: `∥f x∥ ≤ ∥f∥ * ∥x∥`.

theorem continuous_linear_map.dist_le_op_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (x y : E) :
theorem continuous_linear_map.le_op_norm_of_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) {c : } {x : E} (h : x c) :
theorem continuous_linear_map.le_of_op_norm_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) {c : } (h : f c) (x : E) :
theorem continuous_linear_map.ratio_le_op_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (x : E) :
theorem continuous_linear_map.unit_le_op_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (x : E) :

The image of the unit ball under a continuous linear map is bounded.

theorem continuous_linear_map.op_norm_le_of_shell {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {f : E →SL[σ₁₂] F} {ε C : } (ε_pos : 0 < ε) (hC : 0 C) {c : 𝕜} (hc : 1 < c) (hf : ∀ (x : E), ε / c xx < εf x C * x) :
theorem continuous_linear_map.op_norm_le_of_ball {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {f : E →SL[σ₁₂] F} {ε C : } (ε_pos : 0 < ε) (hC : 0 C) (hf : ∀ (x : E), x εf x C * x) :
theorem continuous_linear_map.op_norm_le_of_nhds_zero {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {f : E →SL[σ₁₂] F} {C : } (hC : 0 C) (hf : ∀ᶠ (x : E) in nhds 0, f x C * x) :
theorem continuous_linear_map.op_norm_le_of_shell' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {f : E →SL[σ₁₂] F} {ε C : } (ε_pos : 0 < ε) (hC : 0 C) {c : 𝕜} (hc : c < 1) (hf : ∀ (x : E), ε * c xx < εf x C * x) :
theorem continuous_linear_map.op_norm_le_of_unit_norm {E : Type u_4} {F : Type u_6} [ E] [ F] {f : E →L[] F} {C : } (hC : 0 C) (hf : ∀ (x : E), x = 1f x C) :

For a continuous real linear map `f`, if one controls the norm of every `f x`, `∥x∥ = 1`, then one controls the norm of `f`.

theorem continuous_linear_map.op_norm_add_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f g : E →SL[σ₁₂] F) :

The operator norm satisfies the triangle inequality.

theorem continuous_linear_map.op_norm_zero {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] :

The norm of the `0` operator is `0`.

theorem continuous_linear_map.norm_id_le {𝕜 : Type u_1} {E : Type u_4} [ E] :

The norm of the identity is at most `1`. It is in fact `1`, except when the space is trivial where it is `0`. It means that one can not do better than an inequality in general.

theorem continuous_linear_map.norm_id_of_nontrivial_seminorm {𝕜 : Type u_1} {E : Type u_4} [ E] (h : ∃ (x : E), x 0) :

If there is an element with norm different from `0`, then the norm of the identity equals `1`. (Since we are working with seminorms supposing that the space is non-trivial is not enough.)

theorem continuous_linear_map.op_norm_smul_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {𝕜' : Type u_3} [normed_field 𝕜'] [ F] [ 𝕜' F] (c : 𝕜') (f : E →SL[σ₁₂] F) :
@[protected, instance]
noncomputable def continuous_linear_map.to_seminormed_add_comm_group {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] :

Continuous linear maps themselves form a seminormed space with respect to the operator norm.

Equations
theorem continuous_linear_map.nnnorm_def {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) :
f∥₊ = has_Inf.Inf {c : nnreal | ∀ (x : E), f x∥₊ c * x∥₊}
theorem continuous_linear_map.op_nnnorm_le_bound {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (M : nnreal) (hM : ∀ (x : E), f x∥₊ M * x∥₊) :

If one controls the norm of every `A x`, then one controls the norm of `A`.

theorem continuous_linear_map.op_nnnorm_le_bound' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (M : nnreal) (hM : ∀ (x : E), x∥₊ 0f x∥₊ M * x∥₊) :

If one controls the norm of every `A x`, `∥x∥₊ ≠ 0`, then one controls the norm of `A`.

theorem continuous_linear_map.op_nnnorm_le_of_unit_nnnorm {E : Type u_4} {F : Type u_6} [ E] [ F] {f : E →L[] F} {C : nnreal} (hf : ∀ (x : E), x∥₊ = 1f x∥₊ C) :

For a continuous real linear map `f`, if one controls the norm of every `f x`, `∥x∥₊ = 1`, then one controls the norm of `f`.

theorem continuous_linear_map.op_nnnorm_le_of_lipschitz {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {f : E →SL[σ₁₂] F} {K : nnreal} (hf : f) :
theorem continuous_linear_map.op_nnnorm_eq_of_bounds {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {φ : E →SL[σ₁₂] F} (M : nnreal) (h_above : ∀ (x : E), φ x M * x) (h_below : ∀ (N : nnreal), (∀ (x : E), φ x∥₊ N * x∥₊)M N) :
@[protected, instance]
def continuous_linear_map.to_normed_space {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] {𝕜' : Type u_3} [normed_field 𝕜'] [ F] [ 𝕜' F] :
(E →SL[σ₁₂] F)
Equations
theorem continuous_linear_map.op_norm_comp_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ σ₂₃ σ₁₃] [ring_hom_isometric σ₁₂] [ring_hom_isometric σ₂₃] (h : F →SL[σ₂₃] G) (f : E →SL[σ₁₂] F) :

The operator norm is submultiplicative.

theorem continuous_linear_map.op_nnnorm_comp_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ σ₂₃ σ₁₃] [ring_hom_isometric σ₁₂] [ring_hom_isometric σ₂₃] (h : F →SL[σ₂₃] G) [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₂] F) :
@[protected, instance]
noncomputable def continuous_linear_map.to_semi_normed_ring {𝕜 : Type u_1} {E : Type u_4} [ E] :

Continuous linear maps form a seminormed ring with respect to the operator norm.

Equations
@[protected, instance]
noncomputable def continuous_linear_map.to_normed_algebra {𝕜 : Type u_1} {E : Type u_4} [ E] :
(E →L[𝕜] E)

For a normed space `E`, continuous linear endomorphisms form a normed algebra with respect to the operator norm.

Equations
theorem continuous_linear_map.le_op_nnnorm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (x : E) :
theorem continuous_linear_map.nndist_le_op_nnnorm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (x y : E) :
theorem continuous_linear_map.lipschitz {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) :

continuous linear maps are Lipschitz continuous.

theorem continuous_linear_map.lipschitz_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (x : E) :
(λ (f : E →SL[σ₁₂] F), f x)

Evaluation of a continuous linear map `f` at a point is Lipschitz continuous in `f`.

theorem continuous_linear_map.op_norm_ext {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₂] F) (g : E →SL[σ₁₃] G) (h : ∀ (x : E), f x = g x) :
theorem continuous_linear_map.op_norm_le_bound₂ {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) {C : } (h0 : 0 C) (hC : ∀ (x : E) (y : F), (f x) y C * x * y) :
theorem continuous_linear_map.le_op_norm₂ {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) (x : E) (y : F) :
@[simp]
theorem continuous_linear_map.op_norm_prod {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] (f : E →L[𝕜] Fₗ) (g : E →L[𝕜] Gₗ) :
f.prod g = (f, g)
@[simp]
theorem continuous_linear_map.op_nnnorm_prod {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] (f : E →L[𝕜] Fₗ) (g : E →L[𝕜] Gₗ) :
def continuous_linear_map.prodₗᵢ {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] (R : Type u_2) [semiring R] [ Fₗ] [ Gₗ] [ Fₗ] [ Gₗ] :
(E →L[𝕜] Fₗ) × (E →L[𝕜] Gₗ) ≃ₗᵢ[R] E →L[𝕜] Fₗ × Gₗ

`continuous_linear_map.prod` as a `linear_isometry_equiv`.

Equations
@[simp]
theorem continuous_linear_map.op_norm_subsingleton {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) [subsingleton E] :
theorem continuous_linear_map.is_O_with_id {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (l : filter E) :
(λ (x : E), x)
theorem continuous_linear_map.is_O_id {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (l : filter E) :
f =O[l] λ (x : E), x
theorem continuous_linear_map.is_O_with_comp {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {F : Type u_6} {G : Type u_8} [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} [ring_hom_isometric σ₂₃] {α : Type u_1} (g : F →SL[σ₂₃] G) (f : α → F) (l : filter α) :
(λ (x' : α), g (f x')) f
theorem continuous_linear_map.is_O_comp {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {F : Type u_6} {G : Type u_8} [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} [ring_hom_isometric σ₂₃] {α : Type u_1} (g : F →SL[σ₂₃] G) (f : α → F) (l : filter α) :
(λ (x' : α), g (f x')) =O[l] f
theorem continuous_linear_map.is_O_with_sub {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (l : filter E) (x : E) :
(λ (x' : E), f (x' - x)) (λ (x' : E), x' - x)
theorem continuous_linear_map.is_O_sub {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →SL[σ₁₂] F) (l : filter E) (x : E) :
(λ (x' : E), f (x' - x)) =O[l] λ (x' : E), x' - x
theorem linear_isometry.norm_to_continuous_linear_map_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →ₛₗᵢ[σ₁₂] F) :
theorem linear_map.mk_continuous_norm_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ₁₂] F) {C : } (hC : 0 C) (h : ∀ (x : E), f x C * x) :

If a continuous linear map is constructed from a linear map via the constructor `mk_continuous`, then its norm is bounded by the bound given to the constructor if it is nonnegative.

theorem linear_map.mk_continuous_norm_le' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →ₛₗ[σ₁₂] F) {C : } (h : ∀ (x : E), f x C * x) :

If a continuous linear map is constructed from a linear map via the constructor `mk_continuous`, then its norm is bounded by the bound or zero if bound is negative.

noncomputable def linear_map.mk_continuous₂ {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] (f : E →ₛₗ[σ₁₃] F →ₛₗ[σ₂₃] G) (C : ) (hC : ∀ (x : E) (y : F), (f x) y C * x * y) :
E →SL[σ₁₃] F →SL[σ₂₃] G

Create a bilinear map (represented as a map `E →L[𝕜] F →L[𝕜] G`) from the corresponding linear map and a bound on the norm of the image. The linear map can be constructed using `linear_map.mk₂`.

Equations
@[simp]
theorem linear_map.mk_continuous₂_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] (f : E →ₛₗ[σ₁₃] F →ₛₗ[σ₂₃] G) {C : } (hC : ∀ (x : E) (y : F), (f x) y C * x * y) (x : E) (y : F) :
((f.mk_continuous₂ C hC) x) y = (f x) y
theorem linear_map.mk_continuous₂_norm_le' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] (f : E →ₛₗ[σ₁₃] F →ₛₗ[σ₂₃] G) {C : } (hC : ∀ (x : E) (y : F), (f x) y C * x * y) :
theorem linear_map.mk_continuous₂_norm_le {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] (f : E →ₛₗ[σ₁₃] F →ₛₗ[σ₂₃] G) {C : } (h0 : 0 C) (hC : ∀ (x : E) (y : F), (f x) y C * x * y) :
hC C
noncomputable def continuous_linear_map.flip {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) :
F →SL[σ₂₃] E →SL[σ₁₃] G

Flip the order of arguments of a continuous bilinear map. For a version bundled as `linear_isometry_equiv`, see `continuous_linear_map.flipL`.

Equations
@[simp]
theorem continuous_linear_map.flip_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) (x : E) (y : F) :
((f.flip) y) x = (f x) y
@[simp]
theorem continuous_linear_map.flip_flip {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) :
f.flip.flip = f
@[simp]
theorem continuous_linear_map.op_norm_flip {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) :
@[simp]
theorem continuous_linear_map.flip_add {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (f g : E →SL[σ₁₃] F →SL[σ₂₃] G) :
(f + g).flip = f.flip + g.flip
@[simp]
theorem continuous_linear_map.flip_smul {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] (c : 𝕜₃) (f : E →SL[σ₁₃] F →SL[σ₂₃] G) :
(c f).flip = c f.flip
noncomputable def continuous_linear_map.flipₗᵢ' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} (E : Type u_4) (F : Type u_6) (G : Type u_8) [ E] [ F] [ G] (σ₂₃ : 𝕜₂ →+* 𝕜₃) (σ₁₃ : 𝕜 →+* 𝕜₃) [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] :
(E →SL[σ₁₃] F →SL[σ₂₃] G) ≃ₗᵢ[𝕜₃] F →SL[σ₂₃] E →SL[σ₁₃] G

Flip the order of arguments of a continuous bilinear map. This is a version bundled as a `linear_isometry_equiv`. For an unbundled version see `continuous_linear_map.flip`.

Equations
@[simp]
theorem continuous_linear_map.flipₗᵢ'_symm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] :
σ₂₃ σ₁₃).symm = σ₁₃ σ₂₃
@[simp]
theorem continuous_linear_map.coe_flipₗᵢ' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] :
σ₂₃ σ₁₃) = continuous_linear_map.flip
noncomputable def continuous_linear_map.flipₗᵢ (𝕜 : Type u_1) (E : Type u_4) (Fₗ : Type u_7) (Gₗ : Type u_9) [ E] [ Fₗ] [ Gₗ] :
(E →L[𝕜] Fₗ →L[𝕜] Gₗ) ≃ₗᵢ[𝕜] Fₗ →L[𝕜] E →L[𝕜] Gₗ

Flip the order of arguments of a continuous bilinear map. This is a version bundled as a `linear_isometry_equiv`. For an unbundled version see `continuous_linear_map.flip`.

Equations
@[simp]
theorem continuous_linear_map.flipₗᵢ_symm {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] :
Fₗ Gₗ).symm = Gₗ
@[simp]
theorem continuous_linear_map.coe_flipₗᵢ {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] :
noncomputable def continuous_linear_map.apply' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} (F : Type u_6) [ E] [ F] (σ₁₂ : 𝕜 →+* 𝕜₂) [ring_hom_isometric σ₁₂] :
E →SL[σ₁₂] (E →SL[σ₁₂] F) →L[𝕜₂] F

The continuous semilinear map obtained by applying a continuous semilinear map at a given vector.

This is the continuous version of `linear_map.applyₗ`.

Equations
@[simp]
theorem continuous_linear_map.apply_apply' {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (v : E) (f : E →SL[σ₁₂] F) :
( σ₁₂) v) f = f v
noncomputable def continuous_linear_map.apply (𝕜 : Type u_1) {E : Type u_4} (Fₗ : Type u_7) [ E] [ Fₗ] :
E →L[𝕜] (E →L[𝕜] Fₗ) →L[𝕜] Fₗ

The continuous semilinear map obtained by applying a continuous semilinear map at a given vector.

This is the continuous version of `linear_map.applyₗ`.

Equations
@[simp]
theorem continuous_linear_map.apply_apply {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] (v : E) (f : E →L[𝕜] Fₗ) :
( v) f = f v
noncomputable def continuous_linear_map.compSL {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} (E : Type u_4) (F : Type u_6) (G : Type u_8) [ E] [ F] [ G] (σ₁₂ : 𝕜 →+* 𝕜₂) (σ₂₃ : 𝕜₂ →+* 𝕜₃) {σ₁₃ : 𝕜 →+* 𝕜₃} [ σ₂₃ σ₁₃] [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] [ring_hom_isometric σ₁₂] :
(F →SL[σ₂₃] G) →L[𝕜₃] (E →SL[σ₁₂] F) →SL[σ₂₃] E →SL[σ₁₃] G

Composition of continuous semilinear maps as a continuous semibilinear map.

Equations
@[simp]
theorem continuous_linear_map.compSL_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ σ₂₃ σ₁₃] [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] [ring_hom_isometric σ₁₂] (f : F →SL[σ₂₃] G) (g : E →SL[σ₁₂] F) :
( σ₁₂ σ₂₃) f) g = f.comp g
theorem continuous.const_clm_comp {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ σ₂₃ σ₁₃] [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] [ring_hom_isometric σ₁₂] {X : Type u_5} {f : X → (E →SL[σ₁₂] F)} (hf : continuous f) (g : F →SL[σ₂₃] G) :
continuous (λ (x : X), g.comp (f x))
theorem continuous.clm_comp_const {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} [ σ₂₃ σ₁₃] [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃] [ring_hom_isometric σ₁₂] {X : Type u_5} {g : X → (F →SL[σ₂₃] G)} (hg : continuous g) (f : E →SL[σ₁₂] F) :
continuous (λ (x : X), (g x).comp f)
noncomputable def continuous_linear_map.compL (𝕜 : Type u_1) (E : Type u_4) (Fₗ : Type u_7) (Gₗ : Type u_9) [ E] [ Fₗ] [ Gₗ] :
(Fₗ →L[𝕜] Gₗ) →L[𝕜] (E →L[𝕜] Fₗ) →L[𝕜] E →L[𝕜] Gₗ

Composition of continuous linear maps as a continuous bilinear map.

Equations
@[simp]
theorem continuous_linear_map.compL_apply (𝕜 : Type u_1) (E : Type u_4) (Fₗ : Type u_7) (Gₗ : Type u_9) [ E] [ Fₗ] [ Gₗ] (f : Fₗ →L[𝕜] Gₗ) (g : E →L[𝕜] Fₗ) :
( Fₗ Gₗ) f) g = f.comp g
noncomputable def continuous_linear_map.precompR {𝕜 : Type u_1} {E : Type u_4} (Eₗ : Type u_5) {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Eₗ] [ Fₗ] [ Gₗ] (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) :
E →L[𝕜] (Eₗ →L[𝕜] Fₗ) →L[𝕜] Eₗ →L[𝕜] Gₗ

Apply `L(x,-)` pointwise to bilinear maps, as a continuous bilinear map

Equations
@[simp]
theorem continuous_linear_map.precompR_apply {𝕜 : Type u_1} {E : Type u_4} (Eₗ : Type u_5) {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Eₗ] [ Fₗ] [ Gₗ] (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) (ᾰ : E) :
= Fₗ Gₗ) (L ᾰ)
noncomputable def continuous_linear_map.precompL {𝕜 : Type u_1} {E : Type u_4} (Eₗ : Type u_5) {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Eₗ] [ Fₗ] [ Gₗ] (L : E →L[𝕜] Fₗ →L[𝕜] Gₗ) :
(Eₗ →L[𝕜] E) →L[𝕜] Fₗ →L[𝕜] Eₗ →L[𝕜] Gₗ

Apply `L(-,y)` pointwise to bilinear maps, as a continuous bilinear map

Equations
noncomputable def continuous_linear_map.prod_mapL (𝕜 : Type u_1) (M₁ : Type u₁) [ M₁] (M₂ : Type u₂) [ M₂] (M₃ : Type u₃) [ M₃] (M₄ : Type u₄) [ M₄] :
(M₁ →L[𝕜] M₂) × (M₃ →L[𝕜] M₄) →L[𝕜] M₁ × M₃ →L[𝕜] M₂ × M₄

`continuous_linear_map.prod_map` as a continuous linear map.

Equations
@[simp]
theorem continuous_linear_map.prod_mapL_apply (𝕜 : Type u_1) {M₁ : Type u₁} [ M₁] {M₂ : Type u₂} [ M₂] {M₃ : Type u₃} [ M₃] {M₄ : Type u₄} [ M₄] (p : (M₁ →L[𝕜] M₂) × (M₃ →L[𝕜] M₄)) :
M₂ M₃ M₄) p = p.fst.prod_map p.snd
theorem continuous.prod_mapL (𝕜 : Type u_1) {M₁ : Type u₁} [ M₁] {M₂ : Type u₂} [ M₂] {M₃ : Type u₃} [ M₃] {M₄ : Type u₄} [ M₄] {X : Type u_11} {f : X → (M₁ →L[𝕜] M₂)} {g : X → (M₃ →L[𝕜] M₄)} (hf : continuous f) (hg : continuous g) :
continuous (λ (x : X), (f x).prod_map (g x))
theorem continuous.prod_map_equivL (𝕜 : Type u_1) {M₁ : Type u₁} [ M₁] {M₂ : Type u₂} [ M₂] {M₃ : Type u₃} [ M₃] {M₄ : Type u₄} [ M₄] {X : Type u_11} {f : X → (M₁ ≃L[𝕜] M₂)} {g : X → (M₃ ≃L[𝕜] M₄)} (hf : continuous (λ (x : X), (f x))) (hg : continuous (λ (x : X), (g x))) :
continuous (λ (x : X), ((f x).prod (g x)))
theorem continuous_on.prod_mapL (𝕜 : Type u_1) {M₁ : Type u₁} [ M₁] {M₂ : Type u₂} [ M₂] {M₃ : Type u₃} [ M₃] {M₄ : Type u₄} [ M₄] {X : Type u_11} {f : X → (M₁ →L[𝕜] M₂)} {g : X → (M₃ →L[𝕜] M₄)} {s : set X} (hf : s) (hg : s) :
continuous_on (λ (x : X), (f x).prod_map (g x)) s
theorem continuous_on.prod_map_equivL (𝕜 : Type u_1) {M₁ : Type u₁} [ M₁] {M₂ : Type u₂} [ M₂] {M₃ : Type u₃} [ M₃] {M₄ : Type u₄} [ M₄] {X : Type u_11} {f : X → (M₁ ≃L[𝕜] M₂)} {g : X → (M₃ ≃L[𝕜] M₄)} {s : set X} (hf : continuous_on (λ (x : X), (f x)) s) (hg : continuous_on (λ (x : X), (g x)) s) :
continuous_on (λ (x : X), ((f x).prod (g x))) s
noncomputable def continuous_linear_map.lmul (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] :
𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜'

Left multiplication in a normed algebra as a continuous bilinear map.

Equations
@[simp]
theorem continuous_linear_map.lmul_apply (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x y : 𝕜') :
( x) y = x * y
@[simp]
theorem continuous_linear_map.op_norm_lmul_apply_le (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x : 𝕜') :
noncomputable def continuous_linear_map.lmul_right (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] :
𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜'

Right-multiplication in a normed algebra, considered as a continuous linear map.

Equations
@[simp]
theorem continuous_linear_map.lmul_right_apply (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x y : 𝕜') :
x) y = y * x
@[simp]
theorem continuous_linear_map.op_norm_lmul_right_apply_le (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x : 𝕜') :
noncomputable def continuous_linear_map.lmul_left_right (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] :
𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜' →L[𝕜] 𝕜'

Simultaneous left- and right-multiplication in a normed algebra, considered as a continuous trilinear map.

Equations
@[simp]
theorem continuous_linear_map.lmul_left_right_apply (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x y z : 𝕜') :
( x) y) z = x * z * y
theorem continuous_linear_map.op_norm_lmul_left_right_apply_apply_le (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x y : 𝕜') :
theorem continuous_linear_map.op_norm_lmul_left_right_apply_le (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] (x : 𝕜') :
theorem continuous_linear_map.op_norm_lmul_left_right_le (𝕜 : Type u_1) (𝕜' : Type u_11) [ 𝕜'] [ 𝕜' 𝕜'] [ 𝕜' 𝕜'] :
noncomputable def continuous_linear_map.lmulₗᵢ (𝕜 : Type u_1) (𝕜' : Type u_11) [semi_normed_ring 𝕜'] [ 𝕜'] [norm_one_class 𝕜'] :
𝕜' →ₗᵢ[𝕜] 𝕜' →L[𝕜] 𝕜'

Left multiplication in a normed algebra as a linear isometry to the space of continuous linear maps.

Equations
@[simp]
theorem continuous_linear_map.coe_lmulₗᵢ (𝕜 : Type u_1) (𝕜' : Type u_11) [semi_normed_ring 𝕜'] [ 𝕜'] [norm_one_class 𝕜'] :
@[simp]
theorem continuous_linear_map.op_norm_lmul_apply (𝕜 : Type u_1) (𝕜' : Type u_11) [semi_normed_ring 𝕜'] [ 𝕜'] [norm_one_class 𝕜'] (x : 𝕜') :
@[simp]
theorem continuous_linear_map.op_norm_lmul_right_apply (𝕜 : Type u_1) (𝕜' : Type u_11) [semi_normed_ring 𝕜'] [ 𝕜'] [norm_one_class 𝕜'] (x : 𝕜') :
noncomputable def continuous_linear_map.lmul_rightₗᵢ (𝕜 : Type u_1) (𝕜' : Type u_11) [semi_normed_ring 𝕜'] [ 𝕜'] [norm_one_class 𝕜'] :
𝕜' →ₗᵢ[𝕜] 𝕜' →L[𝕜] 𝕜'

Right-multiplication in a normed algebra, considered as a linear isometry to the space of continuous linear maps.

Equations
@[simp]
theorem continuous_linear_map.coe_lmul_rightₗᵢ (𝕜 : Type u_1) (𝕜' : Type u_11) [semi_normed_ring 𝕜'] [ 𝕜'] [norm_one_class 𝕜'] :
noncomputable def continuous_linear_map.lsmul (𝕜 : Type u_1) {E : Type u_4} [ E] (𝕜' : Type u_11) [normed_field 𝕜'] [ 𝕜'] [ E] [ 𝕜' E] :
𝕜' →L[𝕜] E →L[𝕜] E

Scalar multiplication as a continuous bilinear map.

Equations
• = _
@[simp]
theorem continuous_linear_map.lsmul_apply (𝕜 : Type u_1) {E : Type u_4} [ E] (𝕜' : Type u_11) [normed_field 𝕜'] [ 𝕜'] [ E] [ 𝕜' E] (c : 𝕜') (x : E) :
( c) x = c x
theorem continuous_linear_map.norm_to_span_singleton (𝕜 : Type u_1) {E : Type u_4} [ E] (x : E) :
theorem continuous_linear_map.op_norm_lsmul_apply_le {𝕜 : Type u_1} {E : Type u_4} [ E] {𝕜' : Type u_11} [normed_field 𝕜'] [ 𝕜'] [ E] [ 𝕜' E] (x : 𝕜') :
theorem continuous_linear_map.op_norm_lsmul_le {𝕜 : Type u_1} {E : Type u_4} [ E] {𝕜' : Type u_11} [normed_field 𝕜'] [ 𝕜'] [ E] [ 𝕜' E] :

The norm of `lsmul` is at most 1 in any semi-normed group.

@[simp]
theorem continuous_linear_map.norm_restrict_scalars {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] {𝕜' : Type u_11} [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] (f : E →L[𝕜] Fₗ) :
def continuous_linear_map.restrict_scalars_isometry (𝕜 : Type u_1) (E : Type u_4) (Fₗ : Type u_7) [ E] [ Fₗ] (𝕜' : Type u_11) [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] (𝕜'' : Type u_12) [ring 𝕜''] [module 𝕜'' Fₗ] [ Fₗ] [ 𝕜'' Fₗ] [ 𝕜'' Fₗ] :
(E →L[𝕜] Fₗ) →ₗᵢ[𝕜''] E →L[𝕜'] Fₗ

`continuous_linear_map.restrict_scalars` as a `linear_isometry`.

Equations
@[simp]
theorem continuous_linear_map.coe_restrict_scalars_isometry {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] {𝕜' : Type u_11} [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] {𝕜'' : Type u_12} [ring 𝕜''] [module 𝕜'' Fₗ] [ Fₗ] [ 𝕜'' Fₗ] [ 𝕜'' Fₗ] :
@[simp]
theorem continuous_linear_map.restrict_scalars_isometry_to_linear_map {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] {𝕜' : Type u_11} [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] {𝕜'' : Type u_12} [ring 𝕜''] [module 𝕜'' Fₗ] [ Fₗ] [ 𝕜'' Fₗ] [ 𝕜'' Fₗ] :
𝕜'').to_linear_map = 𝕜''
noncomputable def continuous_linear_map.restrict_scalarsL (𝕜 : Type u_1) (E : Type u_4) (Fₗ : Type u_7) [ E] [ Fₗ] (𝕜' : Type u_11) [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] (𝕜'' : Type u_12) [ring 𝕜''] [module 𝕜'' Fₗ] [ Fₗ] [ 𝕜'' Fₗ] [ 𝕜'' Fₗ] :
(E →L[𝕜] Fₗ) →L[𝕜''] E →L[𝕜'] Fₗ

`continuous_linear_map.restrict_scalars` as a `continuous_linear_map`.

Equations
• 𝕜'' =
@[simp]
theorem continuous_linear_map.coe_restrict_scalarsL {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] {𝕜' : Type u_11} [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] {𝕜'' : Type u_12} [ring 𝕜''] [module 𝕜'' Fₗ] [ Fₗ] [ 𝕜'' Fₗ] [ 𝕜'' Fₗ] :
𝕜' 𝕜'') = 𝕜''
@[simp]
theorem continuous_linear_map.coe_restrict_scalarsL' {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] {𝕜' : Type u_11} [ 𝕜] [ E] [ 𝕜 E] [ Fₗ] [ 𝕜 Fₗ] {𝕜'' : Type u_12} [ring 𝕜''] [module 𝕜'' Fₗ] [ Fₗ] [ 𝕜'' Fₗ] [ 𝕜'' Fₗ] :
theorem submodule.norm_subtypeL_le {𝕜 : Type u_1} {E : Type u_4} [ E] (K : E) :
@[protected]
theorem continuous_linear_map.has_sum {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {f : ι → M} (φ : M →SL[σ] M₂) {x : M} (hf : x) :
has_sum (λ (b : ι), φ (f b)) (φ x)

Applying a continuous linear map commutes with taking an (infinite) sum.

theorem has_sum.mapL {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {f : ι → M} (φ : M →SL[σ] M₂) {x : M} (hf : x) :
has_sum (λ (b : ι), φ (f b)) (φ x)

Alias of `continuous_linear_map.has_sum`.

@[protected]
theorem continuous_linear_map.summable {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {f : ι → M} (φ : M →SL[σ] M₂) (hf : summable f) :
summable (λ (b : ι), φ (f b))
theorem summable.mapL {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {f : ι → M} (φ : M →SL[σ] M₂) (hf : summable f) :
summable (λ (b : ι), φ (f b))

Alias of `continuous_linear_map.summable`.

@[protected]
theorem continuous_linear_map.map_tsum {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} [t2_space M₂] {f : ι → M} (φ : M →SL[σ] M₂) (hf : summable f) :
φ (∑' (z : ι), f z) = ∑' (z : ι), φ (f z)
@[protected]
theorem continuous_linear_equiv.has_sum {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {σ' : R₂ →+* R} [ σ'] [ σ] {f : ι → M} (e : M ≃SL[σ] M₂) {y : M₂} :
has_sum (λ (b : ι), e (f b)) y ((e.symm) y)

Applying a continuous linear map commutes with taking an (infinite) sum.

@[protected]
theorem continuous_linear_equiv.has_sum' {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {σ' : R₂ →+* R} [ σ'] [ σ] {f : ι → M} (e : M ≃SL[σ] M₂) {x : M} :
has_sum (λ (b : ι), e (f b)) (e x) x

Applying a continuous linear map commutes with taking an (infinite) sum.

@[protected]
theorem continuous_linear_equiv.summable {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {σ' : R₂ →+* R} [ σ'] [ σ] {f : ι → M} (e : M ≃SL[σ] M₂) :
summable (λ (b : ι), e (f b))
theorem continuous_linear_equiv.tsum_eq_iff {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {σ' : R₂ →+* R} [ σ'] [ σ] [t2_space M] [t2_space M₂] {f : ι → M} (e : M ≃SL[σ] M₂) {y : M₂} :
∑' (z : ι), e (f z) = y ∑' (z : ι), f z = (e.symm) y
@[protected]
theorem continuous_linear_equiv.map_tsum {ι : Type u_11} {R : Type u_12} {R₂ : Type u_13} {M : Type u_14} {M₂ : Type u_15} [semiring R] [semiring R₂] [ M] [add_comm_monoid M₂] [module R₂ M₂] {σ : R →+* R₂} {σ' : R₂ →+* R} [ σ'] [ σ] [t2_space M] [t2_space M₂] {f : ι → M} (e : M ≃SL[σ] M₂) :
e (∑' (z : ι), f z) = ∑' (z : ι), e (f z)
@[protected]
theorem continuous_linear_equiv.lipschitz {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] [ring_hom_isometric σ₁₂] (e : E ≃SL[σ₁₂] F) :
theorem continuous_linear_equiv.is_O_comp {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] [ring_hom_isometric σ₁₂] (e : E ≃SL[σ₁₂] F) {α : Type u_3} (f : α → E) (l : filter α) :
(λ (x' : α), e (f x')) =O[l] f
theorem continuous_linear_equiv.is_O_sub {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] [ring_hom_isometric σ₁₂] (e : E ≃SL[σ₁₂] F) (l : filter E) (x : E) :
(λ (x' : E), e (x' - x)) =O[l] λ (x' : E), x' - x
theorem continuous_linear_equiv.homothety_inverse {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] (a : ) (ha : 0 < a) (f : E ≃ₛₗ[σ₁₂] F) :
(∀ (x : E), f x = a * x)∀ (y : F), (f.symm) y = a⁻¹ * y
def continuous_linear_equiv.of_homothety {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] (f : E ≃ₛₗ[σ₁₂] F) (a : ) (ha : 0 < a) (hf : ∀ (x : E), f x = a * x) :
E ≃SL[σ₁₂] F

A linear equivalence which is a homothety is a continuous linear equivalence.

Equations
theorem continuous_linear_equiv.is_O_comp_rev {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] [ring_hom_isometric σ₂₁] (e : E ≃SL[σ₁₂] F) {α : Type u_3} (f : α → E) (l : filter α) :
f =O[l] λ (x' : α), e (f x')
theorem continuous_linear_equiv.is_O_sub_rev {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] [ring_hom_isometric σ₂₁] (e : E ≃SL[σ₁₂] F) (l : filter E) (x : E) :
(λ (x' : E), x' - x) =O[l] λ (x' : E), e (x' - x)
theorem continuous_linear_equiv.to_span_nonzero_singleton_homothety (𝕜 : Type u_1) {E : Type u_4} [ E] (x : E) (h : x 0) (c : 𝕜) :
def linear_equiv.to_continuous_linear_equiv_of_bounds {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {σ₂₁ : 𝕜₂ →+* 𝕜} [ σ₂₁] [ σ₁₂] (e : E ≃ₛₗ[σ₁₂] F) (C_to C_inv : ) (h_to : ∀ (x : E), e x C_to * x) (h_inv : ∀ (x : F), (e.symm) x C_inv * x) :
E ≃SL[σ₁₂] F

Construct a continuous linear equivalence from a linear equivalence together with bounds in both directions.

Equations
noncomputable def continuous_linear_map.bilinear_comp {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} {E' : Type u_11} {F' : Type u_12} {𝕜₁' : Type u_13} {𝕜₂' : Type u_14} [normed_space 𝕜₁' E'] [normed_space 𝕜₂' F'] {σ₁' : 𝕜₁' →+* 𝕜} {σ₁₃' : 𝕜₁' →+* 𝕜₃} {σ₂' : 𝕜₂' →+* 𝕜₂} {σ₂₃' : 𝕜₂' →+* 𝕜₃} [ σ₁₃ σ₁₃'] [ σ₂₃ σ₂₃'] [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃'] [ring_hom_isometric σ₂₃'] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) (gE : E' →SL[σ₁'] E) (gF : F' →SL[σ₂'] F) :
E' →SL[σ₁₃'] F' →SL[σ₂₃'] G

Compose a bilinear map `E →SL[σ₁₃] F →SL[σ₂₃] G` with two linear maps `E' →SL[σ₁'] E` and `F' →SL[σ₂'] F`.

Equations
@[simp]
theorem continuous_linear_map.bilinear_comp_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {𝕜₃ : Type u_3} {E : Type u_4} {F : Type u_6} {G : Type u_8} [ E] [ F] [ G] {σ₂₃ : 𝕜₂ →+* 𝕜₃} {σ₁₃ : 𝕜 →+* 𝕜₃} {E' : Type u_11} {F' : Type u_12} {𝕜₁' : Type u_13} {𝕜₂' : Type u_14} [normed_space 𝕜₁' E'] [normed_space 𝕜₂' F'] {σ₁' : 𝕜₁' →+* 𝕜} {σ₁₃' : 𝕜₁' →+* 𝕜₃} {σ₂' : 𝕜₂' →+* 𝕜₂} {σ₂₃' : 𝕜₂' →+* 𝕜₃} [ σ₁₃ σ₁₃'] [ σ₂₃ σ₂₃'] [ring_hom_isometric σ₂₃] [ring_hom_isometric σ₁₃'] [ring_hom_isometric σ₂₃'] (f : E →SL[σ₁₃] F →SL[σ₂₃] G) (gE : E' →SL[σ₁'] E) (gF : F' →SL[σ₂'] F) (x : E') (y : F') :
((f.bilinear_comp gE gF) x) y = (f (gE x)) (gF y)
noncomputable def continuous_linear_map.deriv₂ {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] (f : E →L[𝕜] Fₗ →L[𝕜] Gₗ) :
E × Fₗ →L[𝕜] E × Fₗ →L[𝕜] Gₗ

Derivative of a continuous bilinear map `f : E →L[𝕜] F →L[𝕜] G` interpreted as a map `E × F → G` at point `p : E × F` evaluated at `q : E × F`, as a continuous bilinear map.

Equations
@[simp]
theorem continuous_linear_map.coe_deriv₂ {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] (f : E →L[𝕜] Fₗ →L[𝕜] Gₗ) (p : E × Fₗ) :
((f.deriv₂) p) = λ (q : E × Fₗ), (f p.fst) q.snd + (f q.fst) p.snd
theorem continuous_linear_map.map_add_add {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} {Gₗ : Type u_9} [ E] [ Fₗ] [ Gₗ] (f : E →L[𝕜] Fₗ →L[𝕜] Gₗ) (x x' : E) (y y' : Fₗ) :
(f (x + x')) (y + y') = (f x) y + ((f.deriv₂) (x, y)) (x', y') + (f x') y'
theorem linear_map.bound_of_shell {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] (f : E →ₛₗ[σ₁₂] F) {ε C : } (ε_pos : 0 < ε) {c : 𝕜} (hc : 1 < c) (hf : ∀ (x : E), ε / c xx < εf x C * x) (x : E) :
theorem linear_map.bound_of_ball_bound {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] {r : } (r_pos : 0 < r) (c : ) (f : E →ₗ[𝕜] Fₗ) (h : ∀ (z : E), z rf z c) :
∃ (C : ), ∀ (z : E), f z C * z

`linear_map.bound_of_ball_bound'` is a version of this lemma over a field satisfying `is_R_or_C` that produces a concrete bound.

theorem continuous_linear_map.op_norm_zero_iff {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) [ring_hom_isometric σ₁₂] :
f = 0 f = 0

An operator is zero iff its norm vanishes.

@[simp]
theorem continuous_linear_map.norm_id {𝕜 : Type u_1} {E : Type u_4} [ E] [nontrivial E] :

If a normed space is non-trivial, then the norm of the identity equals `1`.

@[protected, instance]
def continuous_linear_map.norm_one_class {𝕜 : Type u_1} {E : Type u_4} [ E] [nontrivial E] :
@[protected, instance]
noncomputable def continuous_linear_map.to_normed_add_comm_group {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] :

Continuous linear maps themselves form a normed space with respect to the operator norm.

Equations
@[protected, instance]
noncomputable def continuous_linear_map.to_normed_ring {𝕜 : Type u_1} {E : Type u_4} [ E] :

Continuous linear maps form a normed ring with respect to the operator norm.

Equations
theorem continuous_linear_map.homothety_norm {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} [ring_hom_isometric σ₁₂] [nontrivial E] (f : E →SL[σ₁₂] F) {a : } (hf : ∀ (x : E), f x = a * x) :
theorem continuous_linear_map.to_span_singleton_norm {𝕜 : Type u_1} {E : Type u_4} [ E] (x : E) :
theorem continuous_linear_map.uniform_embedding_of_bound {𝕜 : Type u_1} {𝕜₂ : Type u_2} {E : Type u_4} {F : Type u_6} [ E] [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} (f : E →SL[σ₁₂] F) {K : nnreal} (hf : ∀ (x : E), x K * f x) :
theorem continuous_linear_map.antilipschitz_of_uniform_embedding {𝕜 : Type u_1} {E : Type u_4} {Fₗ : Type u_7} [ E] [ Fₗ] (f : E →L[𝕜] Fₗ) (hf : uniform_embedding f) :
∃ (K : nnreal),

If a continuous linear map is a uniform embedding, then it is expands the distances by a positive factor.

def continuous_linear_map.of_mem_closure_image_coe_bounded {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂] (f : E' → F) {s : set (E' →SL[σ₁₂] F)} (hs : metric.bounded s) (hf : f closure (coe_fn '' s)) :
E' →SL[σ₁₂] F

Construct a bundled continuous (semi)linear map from a map `f : E → F` and a proof of the fact that it belongs to the closure of the image of a bounded set `s : set (E →SL[σ₁₂] F)` under coercion to function. Coercion to function of the result is definitionally equal to `f`.

Equations
@[simp]
theorem continuous_linear_map.of_mem_closure_image_coe_bounded_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂] (f : E' → F) {s : set (E' →SL[σ₁₂] F)} (hs : metric.bounded s) (hf : f closure (coe_fn '' s)) :
def continuous_linear_map.of_tendsto_of_bounded_range {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂] {α : Type u_3} {l : filter α} [l.ne_bot] (f : E' → F) (g : α → (E' →SL[σ₁₂] F)) (hf : filter.tendsto (λ (a : α) (x : E'), (g a) x) l (nhds f)) (hg : metric.bounded (set.range g)) :
E' →SL[σ₁₂] F

Let `f : E → F` be a map, let `g : α → E →SL[σ₁₂] F` be a family of continuous (semi)linear maps that takes values in a bounded set and converges to `f` pointwise along a nontrivial filter. Then `f` is a continuous (semi)linear map.

Equations
@[simp]
theorem continuous_linear_map.of_tendsto_of_bounded_range_apply {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂] {α : Type u_3} {l : filter α} [l.ne_bot] (f : E' → F) (g : α → (E' →SL[σ₁₂] F)) (hf : filter.tendsto (λ (a : α) (x : E'), (g a) x) l (nhds f)) (hg : metric.bounded (set.range g)) :
= f
theorem continuous_linear_map.tendsto_of_tendsto_pointwise_of_cauchy_seq {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂] {f : (E' →SL[σ₁₂] F)} {g : E' →SL[σ₁₂] F} (hg : filter.tendsto (λ (n : ) (x : E'), (f n) x) filter.at_top (nhds g)) (hf : cauchy_seq f) :

If a Cauchy sequence of continuous linear map converges to a continuous linear map pointwise, then it converges to the same map in norm. This lemma is used to prove that the space of continuous linear maps is complete provided that the codomain is a complete space.

@[protected, instance]
def continuous_linear_map.complete_space {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂]  :
complete_space (E' →SL[σ₁₂] F)

If the target space is complete, the space of continuous linear maps with its norm is also complete. This works also if the source space is seminormed.

theorem continuous_linear_map.is_compact_closure_image_coe_of_bounded {𝕜 : Type u_1} {𝕜₂ : Type u_2} {F : Type u_6} [ F] {σ₁₂ : 𝕜 →+* 𝕜₂} {E' : Type u_11} [ E'] [ring_hom_isometric σ₁₂] [proper_space F] {s : set (E' →SL[σ₁₂] F)} (hb : metric.bounded s) :