Partially defined linear operators on Hilbert spaces #
We will develop the basics of the theory of unbounded operators on Hilbert spaces.
Main definitions #
LinearPMap.IsFormalAdjoint
: An operatorT
is a formal adjoint ofS
if for allx
in the domain ofT
andy
in the domain ofS
, we have that⟪T x, y⟫ = ⟪x, S y⟫
.LinearPMap.adjoint
: The adjoint of a mapE →ₗ.[𝕜] F
as a mapF →ₗ.[𝕜] E
.
Main statements #
LinearPMap.adjoint_isFormalAdjoint
: The adjoint is a formal adjointLinearPMap.IsFormalAdjoint.le_adjoint
: Every formal adjoint is contained in the adjointContinuousLinearMap.toPMap_adjoint_eq_adjoint_toPMap_of_dense
: The adjoint onContinuousLinearMap
andLinearPMap
coincide.
Notation #
- For
T : E →ₗ.[𝕜] F
the adjoint can be written asT†
. This notation is localized inLinearPMap
.
Implementation notes #
We use the junk value pattern to define the adjoint for all LinearPMap
s. 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 #
- [J. Weidmann, Linear Operators in Hilbert Spaces][weidmann_linear]
Tags #
Unbounded operators, closed operators
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
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
- T.adjointDomain = { carrier := {y : F | Continuous ⇑((innerₛₗ 𝕜) y ∘ₗ T.toFun)}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
Instances For
The operator fun x ↦ ⟪y, T x⟫
considered as a continuous linear operator
from T.adjointDomain
to 𝕜
.
Instances For
The unique continuous extension of the operator adjointDomainMkCLM
to E
.
Equations
- LinearPMap.adjointDomainMkCLMExtend hT y = (T.adjointDomainMkCLM y).extend T.domain.subtypeL ⋯ ⋯
Instances For
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
- LinearPMap.adjointAux hT = { toFun := fun (y : ↥T.adjointDomain) => (InnerProductSpace.toDual 𝕜 E).symm (LinearPMap.adjointDomainMkCLMExtend hT y), map_add' := ⋯, map_smul' := ⋯ }
Instances For
The adjoint operator as a partially defined linear operator.
Equations
- T.adjoint = { domain := T.adjointDomain, toFun := if hT : Dense ↑T.domain then LinearPMap.adjointAux hT else 0 }
Instances For
Equations
- LinearPMap.«term_†» = Lean.ParserDescr.trailingNode `LinearPMap.«term_†» 1024 1024 (Lean.ParserDescr.symbol "†")
Instances For
The fundamental property of the adjoint.
The adjoint is maximal in the sense that it contains every formal adjoint.
Restricting A
to a dense submodule and taking the LinearPMap.adjoint
is the same
as taking the ContinuousLinearMap.adjoint
interpreted as a LinearPMap
.
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.