Documentation

Mathlib.Analysis.InnerProductSpace.LinearPMap

Partially defined linear operators on Hilbert spaces #

We will develop the basics of the theory of unbounded operators on Hilbert spaces.

Main definitions #

Main statements #

Notation #

Implementation notes #

We use the junk value pattern to define the adjoint for all LinearPMaps. In the case that T : E →ₗ.[𝕜] F is not densely defined the adjoint T† is the zero map from T.adjoint.domain to E.

References #

Tags #

Unbounded operators, closed operators

def LinearPMap.IsFormalAdjoint {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (T : E →ₗ.[𝕜] F) (S : F →ₗ.[𝕜] E) :

An operator T is a formal adjoint of S if for all x in the domain of T and y in the domain of S, we have that ⟪T x, y⟫ = ⟪x, S y⟫.

Equations
    Instances For
      theorem LinearPMap.IsFormalAdjoint.symm {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} {S : F →ₗ.[𝕜] E} (h : T.IsFormalAdjoint S) :
      def LinearPMap.adjointDomain {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (T : E →ₗ.[𝕜] F) :
      Submodule 𝕜 F

      The domain of the adjoint operator.

      This definition is needed to construct the adjoint operator and the preferred version to use is T.adjoint.domain instead of T.adjointDomain.

      Equations
        Instances For
          def LinearPMap.adjointDomainMkCLM {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (T : E →ₗ.[𝕜] F) (y : T.adjointDomain) :
          T.domain →L[𝕜] 𝕜

          The operator fun x ↦ ⟪y, T x⟫ considered as a continuous linear operator from T.adjointDomain to 𝕜.

          Equations
            Instances For
              theorem LinearPMap.adjointDomainMkCLM_apply {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (T : E →ₗ.[𝕜] F) (y : T.adjointDomain) (x : T.domain) :
              (T.adjointDomainMkCLM y) x = inner 𝕜 (↑y) (T x)
              def LinearPMap.adjointDomainMkCLMExtend {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) (y : T.adjointDomain) :
              E →L[𝕜] 𝕜

              The unique continuous extension of the operator adjointDomainMkCLM to E.

              Equations
                Instances For
                  @[simp]
                  theorem LinearPMap.adjointDomainMkCLMExtend_apply {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) (y : T.adjointDomain) (x : T.domain) :
                  (adjointDomainMkCLMExtend hT y) x = inner 𝕜 (↑y) (T x)
                  def LinearPMap.adjointAux {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) [CompleteSpace E] :

                  The adjoint as a linear map from its domain to E.

                  This is an auxiliary definition needed to define the adjoint operator as a LinearPMap without the assumption that T.domain is dense.

                  Equations
                    Instances For
                      theorem LinearPMap.adjointAux_inner {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) [CompleteSpace E] (y : T.adjointDomain) (x : T.domain) :
                      inner 𝕜 ((adjointAux hT) y) x = inner 𝕜 (↑y) (T x)
                      theorem LinearPMap.adjointAux_unique {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) [CompleteSpace E] (y : T.adjointDomain) {x₀ : E} (hx₀ : ∀ (x : T.domain), inner 𝕜 x₀ x = inner 𝕜 (↑y) (T x)) :
                      (adjointAux hT) y = x₀
                      def LinearPMap.adjoint {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (T : E →ₗ.[𝕜] F) [CompleteSpace E] :
                      F →ₗ.[𝕜] E

                      The adjoint operator as a partially defined linear operator, denoted as T†.

                      Equations
                        Instances For

                          The adjoint operator as a partially defined linear operator, denoted as T†.

                          Equations
                            Instances For
                              theorem LinearPMap.mem_adjoint_domain_iff {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (T : E →ₗ.[𝕜] F) [CompleteSpace E] (y : F) :
                              theorem LinearPMap.mem_adjoint_domain_of_exists {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} [CompleteSpace E] (y : F) (h : ∃ (w : E), ∀ (x : T.domain), inner 𝕜 w x = inner 𝕜 y (T x)) :
                              theorem LinearPMap.adjoint_apply_of_not_dense {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} [CompleteSpace E] (hT : ¬Dense T.domain) (y : T.adjoint.domain) :
                              T.adjoint y = 0
                              theorem LinearPMap.adjoint_apply_of_dense {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) [CompleteSpace E] (y : T.adjoint.domain) :
                              T.adjoint y = (adjointAux hT) y
                              theorem LinearPMap.adjoint_apply_eq {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) [CompleteSpace E] (y : T.adjoint.domain) {x₀ : E} (hx₀ : ∀ (x : T.domain), inner 𝕜 x₀ x = inner 𝕜 (↑y) (T x)) :
                              T.adjoint y = x₀
                              theorem LinearPMap.adjoint_isFormalAdjoint {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} (hT : Dense T.domain) [CompleteSpace E] :

                              The fundamental property of the adjoint.

                              theorem LinearPMap.IsFormalAdjoint.le_adjoint {𝕜 : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {T : E →ₗ.[𝕜] F} {S : F →ₗ.[𝕜] E} (hT : Dense T.domain) [CompleteSpace E] (h : T.IsFormalAdjoint S) :

                              The adjoint is maximal in the sense that it contains every formal adjoint.

                              theorem ContinuousLinearMap.toPMap_adjoint_eq_adjoint_toPMap_of_dense {𝕜 : 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) {p : Submodule 𝕜 E} (hp : Dense p) :
                              ((↑A).toPMap p).adjoint = (↑(adjoint A)).toPMap

                              Restricting A to a dense submodule and taking the LinearPMap.adjoint is the same as taking the ContinuousLinearMap.adjoint interpreted as a LinearPMap.

                              instance LinearPMap.instStar {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] :
                              Star (E →ₗ.[𝕜] E)
                              Equations
                                theorem LinearPMap.isSelfAdjoint_def {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] {A : E →ₗ.[𝕜] E} :
                                theorem IsSelfAdjoint.dense_domain {𝕜 : Type u_1} {E : Type u_2} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [CompleteSpace E] {A : E →ₗ.[𝕜] E} (hA : IsSelfAdjoint A) :

                                Every self-adjoint LinearPMap has dense domain.

                                This is not true by definition since we define the adjoint without the assumption that the domain is dense, but the choice of the junk value implies that a LinearPMap cannot be self-adjoint if it does not have dense domain.