Documentation

TauCeti.Analysis.InnerProductSpace.Adjoint

Adjoints of linear maps #

An endomorphism and its adjoint have the same real quadratic form (ContinuousLinearMap.re_inner_star_apply_self). For bounded operators between complete inner product spaces, the adjoint takes values in the orthogonal complement of the kernel (ContinuousLinearMap.adjoint_apply_mem_orthogonal_ker). An operator on a Hilbert space is invertible exactly when its adjoint is (ContinuousLinearMap.isUnit_adjoint_iff), and inversion commutes with the adjoint (ContinuousLinearMap.ringInverse_adjoint). An operator on a Hilbert space that is bounded below by M⁻¹ and has injective adjoint is invertible with ‖T⁻¹‖ ≤ M (ContinuousLinearMap.isUnit_and_norm_ringInverse_le_of_forall_norm_le). If an invertible operator satisfies ‖x‖ ≤ M ‖T x‖, every vector is T† z with ‖z‖ ≤ M ‖y‖ (ContinuousLinearMap.exists_adjoint_apply_eq_and_norm_le). For a continuous linear equivalence between complete inner product spaces, the adjoint is bijective (ContinuousLinearEquiv.adjoint_bijective). Its adjoint gives an equivalence in the reverse direction (ContinuousLinearEquiv.adjointEquiv), with the adjoint of the inverse as inverse. For a finite-dimensional linear isometry, the adjoint returns its image vectors to their preimages (LinearIsometry.adjoint_apply_apply).

An isometric inclusion also identifies the operator algebra of its source isometrically with an orthogonal corner in the target's operator algebra: extend by zero using e T e†. Compression is its inverse on this corner, and extension preserves composition and adjoints.

Main definitions #

Further results #

Two families of adjoints of linear maps between finite-dimensional inner product spaces:

Finally, a pointwise bound ‖C x‖ ≤ c * ‖x‖ passes to the adjoint (LinearMap.norm_adjoint_apply_le). This is the operator-norm bound ‖C†‖ ≤ ‖C‖ in pointwise form for algebraic linear maps, deduced from Mathlib's isometry ContinuousLinearMap.adjoint. Similarly, if ‖e⁻¹ x‖ ≤ ‖x‖ / √λ, then ‖M‖ ≤ λ⁻¹ ‖e† ∘ M ∘ e‖ (ContinuousLinearEquiv.norm_le_inv_mul_norm_adjoint_comp_comp). If a linear map vanishes on Tᗮ, its adjoint takes values in T (LinearMap.adjoint_apply_mem_of_forall_mem_orthogonal). The determinant of the adjoint of an endomorphism is the conjugate of its determinant (LinearMap.det_adjoint). For a surjective linear map, the orthogonal complement of its kernel has the dimension of the codomain (LinearMap.finrank_orthogonal_ker_of_surjective).

Passing a finite-dimensional operator to continuous linear maps preserves its adjoint (LinearMap.toContinuousLinearMap_star) and its normality (the instance LinearMap.isStarNormal_toContinuousLinearMap).

@[simp]
theorem ContinuousLinearMap.re_inner_star_apply_self {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] (T : E →L[𝕜] E) (x : E) :
RCLike.re (inner 𝕜 ((star T) x) x) = RCLike.re (inner 𝕜 (T x) x)

An operator and its adjoint have the same real quadratic form.

theorem ContinuousLinearMap.adjoint_apply_mem_orthogonal_ker {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [CompleteSpace E] [CompleteSpace F] (u : E →L[𝕜] F) (y : F) :
(adjoint u) y ∈ (↑u).kerᗮ

The adjoint of a bounded operator takes values in the orthogonal complement of its kernel.

theorem ContinuousLinearMap.isUnit_and_norm_ringInverse_le_of_forall_norm_le {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] {T : E →L[𝕜] E} {M : ℝ} (hM : 0 ≤ M) (hT : ∀ (x : E), ‖x‖ ≤ M * ‖T x‖) (hT' : Function.Injective ⇑(adjoint T)) :

An operator on a Hilbert space that is bounded below by M⁻¹ and whose adjoint is injective is invertible, and its inverse has norm at most M.

@[simp]
theorem ContinuousLinearMap.isUnit_adjoint_iff {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] {A : E →L[𝕜] E} :

The adjoint of an operator on a Hilbert space is invertible exactly when the operator is.

Inversion commutes with the adjoint.

theorem ContinuousLinearMap.exists_adjoint_apply_eq_and_norm_le {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] {T : E →L[𝕜] E} (hT : IsUnit T) {M : ℝ} (hM : 0 ≤ M) (h : ∀ (x : E), ‖x‖ ≤ M * ‖T x‖) (y : E) :
∃ (z : E), (adjoint T) z = y ∧ ‖z‖ ≤ M * ‖y‖

If an invertible operator T on a Hilbert space is bounded below, ‖x‖ ≤ M * ‖T x‖, then every vector y is T† z for some z with ‖z‖ ≤ M * ‖y‖, namely z = (T⁻¹)† y.

The Hilbert space adjoint T ↦ T†, as a real-linear map: the conjugate-linear isometry ContinuousLinearMap.adjoint is real-linear by the Mazur-Ulam theorem.

Instances For
    @[simp]

    The adjoint of a continuous linear equivalence between Hilbert spaces is bijective.

    @[simp]

    The adjoint of A⁻¹ is a left inverse of the adjoint of A.

    noncomputable def ContinuousLinearEquiv.adjointEquiv {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [CompleteSpace E] [CompleteSpace F] (A : E ≃L[𝕜] F) :
    F ≃L[𝕜] E

    The adjoint of a continuous linear equivalence A, as an equivalence whose inverse is the adjoint of A⁻¹.

    Instances For
      @[simp]

      Applying the adjoint equivalence is applying the adjoint map.

      @[simp]

      The inverse of the adjoint equivalence is the adjoint equivalence of the inverse.

      The inverse adjoint equivalence applies the adjoint of the inverse.

      theorem ContinuousLinearEquiv.norm_le_inv_mul_norm_adjoint_comp_comp {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [CompleteSpace E] [CompleteSpace F] (e : E ≃L[𝕜] F) {lam : ℝ} (he : ∀ (x : F), ‖e.symm x‖ ≤ (√lam)⁻¹ * ‖x‖) (M : F →L[𝕜] F) :

      If ‖e⁻¹ x‖ ≤ ‖x‖ / √λ for all x, then conjugating by e loses at most a factor λ in operator norm: ‖M‖ ≤ λ⁻¹ ‖e† ∘ M ∘ e‖.

      Operator corners #

      noncomputable def LinearIsometry.cornerEmbedding {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [CompleteSpace E] [CompleteSpace F] (e : E →ₗᵢ[𝕜] F) :
      (E →L[𝕜] E) →ₗᵢ[𝕜] F →L[𝕜] F

      Extend an operator along an isometric inclusion by zero on the orthogonal complement. This is an isometric embedding of operator spaces, preserving composition and adjoints. Its image is the corner supported on the range of the inclusion.

      Instances For

        Extension by zero is compression along the adjoint of the inclusion.

        @[simp]

        Evaluation of the extension by zero.

        @[simp]

        Compression to the included space is a left inverse of extension by zero.

        @[simp]

        Extension by zero commutes with adjoints.

        @[simp]
        theorem LinearIsometry.cornerEmbedding_star {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [CompleteSpace E] [CompleteSpace F] (e : E →ₗᵢ[𝕜] F) (T : E →L[𝕜] E) :

        Extension by zero preserves the star operation on the operator algebra.

        @[simp]

        Extension by zero preserves composition.

        @[simp]
        theorem LinearIsometry.cornerEmbedding_mul {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [CompleteSpace E] [CompleteSpace F] (e : E →ₗᵢ[𝕜] F) (T S : E →L[𝕜] E) :

        Extension by zero preserves multiplication in the operator algebra.

        @[simp]

        The identity extends to the orthogonal projection onto the included space, not in general to the ambient identity.

        @[simp]

        The unit extends to the orthogonal projection onto the included space.

        Compressing and extending an ambient operator gives its two-sided corner compression.

        An operator is an extension by zero exactly when it is supported on the inclusion's orthogonal corner. This characterizes the image without choosing a preimage.

        @[simp]
        theorem LinearIsometry.adjoint_apply_apply {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] (f : E →ₗᵢ[𝕜] F) (x : E) :

        The adjoint of a linear isometry sends each image vector back to its preimage.

        @[simp]
        theorem LinearIsometryEquiv.adjoint_coe_eq_symm {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] (e : E ≃ₗᵢ[𝕜] F) :
        LinearMap.adjoint ↑↑↑e = ↑↑↑e.symm

        The adjoint of an isometric isomorphism, viewed as a linear map, is its inverse.

        Mathlib's LinearIsometryEquiv.adjoint_toLinearMap_eq_symm states this for e.toLinearMap. The coercion (e : E →ₗ[𝕜] F) instead factors through e.toContinuousLinearEquiv, so neither rw nor simp can apply that lemma to it.

        theorem WithLp.adjoint_fstₗ {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] :
        LinearMap.adjoint (fstₗ 2 𝕜 E F) = ↑(WithLp.linearEquiv 2 𝕜 (E × F)).symm ∘ₗ LinearMap.inl 𝕜 E F

        The adjoint of the first coordinate projection of an L² product is the inclusion x ↦ (x, 0) of the first factor.

        theorem WithLp.adjoint_sndₗ {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] :
        LinearMap.adjoint (sndₗ 2 𝕜 E F) = ↑(WithLp.linearEquiv 2 𝕜 (E × F)).symm ∘ₗ LinearMap.inr 𝕜 E F

        The adjoint of the second coordinate projection of an L² product is the inclusion y ↦ (0, y) of the second factor.

        theorem LinearMap.finrank_orthogonal_ker_of_surjective {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] (f : E →ₗ[𝕜] F) (hf : Function.Surjective ⇑f) :

        The orthogonal complement of the kernel of a surjective linear map has the dimension of the codomain.

        @[simp]
        theorem LinearMap.det_adjoint {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [FiniteDimensional 𝕜 E] (f : E →ₗ[𝕜] E) :

        The determinant of the adjoint of an endomorphism is the conjugate of its determinant.

        theorem LinearMap.norm_adjoint_apply_le {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] {C : E →ₗ[𝕜] F} {c : ℝ} (hc : 0 ≤ c) (hC : ∀ (x : E), ‖C x‖ ≤ c * ‖x‖) (y : F) :

        If ‖C x‖ ≤ c * ‖x‖ for every x and 0 ≤ c, then also ‖C† y‖ ≤ c * ‖y‖ for every y.

        theorem LinearMap.adjoint_apply_mem_of_forall_mem_orthogonal {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] {A : E →ₗ[𝕜] F} {T : Submodule 𝕜 E} (hA : ∀ x ∈ Tᗮ, A x = 0) (y : F) :
        (adjoint A) y ∈ T

        If a linear map A vanishes on Tᗮ, then the adjoint of A takes values in T.

        Passing a finite-dimensional operator to continuous linear maps preserves its adjoint.

        A finite-dimensional linear operator remains normal when regarded as continuous.