Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.RCLike.ScalarTransportFunctionalCalculus

Real continuous functional calculus at an arbitrary RCLike field #

ContinuousFunctionalCalculus ā„ (E →L[š•œ] E) IsSelfAdjoint

for every RCLike š•œ and every š•œ-Hilbert space E, at unrestricted dimension.

Mathlib registers this at š•œ = ā„‚, through the C⋆-algebra structure of E →L[ā„‚] E; ForTauCeti/Analysis/InnerProductSpace/RealContinuousFunctionalCalculus.lean registers it at š•œ = ā„, by descending the complex calculus along the complexification. Every RCLike field is isomorphic to one of those two, so the general case is a transport — of the calculus itself, not of an existential witness.

What this removes #

Scalar-generic operator modules are stated over an arbitrary RCLike field but built on real functional calculus, and historically carried

[Algebra ā„ (E →L[š•œ] E)] [IsScalarTower ā„ š•œ (E →L[š•œ] E)]
[ContinuousFunctionalCalculus ā„ (E →L[š•œ] E) IsSelfAdjoint]

in every signature. None of those is a mathematical hypothesis of any theorem that carries them: the first two are restriction of scalars (ContinuousLinearMap.realAlgebra), and the third is this file. A caller of a scalar-generic theorem should supply [RCLike š•œ] and the mathematics, and nothing else.

The shape of the argument #

ScalarTransport e E is E with the š•‚-structure induced through a field isomorphism e : RCLikeIso š•œ š•‚, and ScalarTransport.clm carries operators across. It is a bijection that preserves composition, the adjoint and the norm, so it is an isometric ā„-⋆-algebra isomorphism (E →L[š•œ] E) ā‰ƒā‹†ā‚[ā„] (ScalarTransport e E →L[š•‚] ScalarTransport e E), and ContinuousFunctionalCalculus.of_starAlgEquiv moves the calculus back along it.

RCLike.I_eq_zero_or_im_I_eq_one supplies the isomorphism, to ā„ or to ā„‚. This is the same two-case dispatch that ContinuousLinearMap.hasMinMaxLowerBoundEverywhere and TauCeti.DavisKahan.Sylvester.hasUnboundedSylvesterKyFan already use, and it lands in the same place: an instance, discharged once, invisible to every caller.

Provenance #

@[simp]
theorem TauCeti.ScalarTransport.clm_mul {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] (S T : E →L[š•œ] E) :
clm (S * T) = clm S * clm T

The transport preserves composition: it does not move the underlying functions.

@[simp]
theorem TauCeti.ScalarTransport.clm_one {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] :
clm 1 = 1

The transport preserves the identity operator.

@[simp]
theorem TauCeti.ScalarTransport.clm_add {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] (S T : E →L[š•œ] E) :
clm (S + T) = clm S + clm T

The transport is additive.

@[simp]
theorem TauCeti.ScalarTransport.clm_smul {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] (c : š•œ) (T : E →L[š•œ] E) :

The transport is semilinear along e: a š•œ-scalar becomes its image.

@[simp]
theorem TauCeti.ScalarTransport.clm_real_smul {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] (r : ā„) (T : E →L[š•œ] E) :
clm (r • T) = r • clm T

The transport is ā„-homogeneous. Both sides act by restriction of scalars along their own algebraMap from ā„, and e fixes the reals.

@[simp]
theorem TauCeti.ScalarTransport.clm_star {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] (T : E →L[š•œ] E) :
clm (star T) = star (clm T)

The transport is a ⋆-map: star on a Hilbert-space operator algebra is the adjoint, and adjoint_clm is exactly that statement.

noncomputable def TauCeti.ScalarTransport.clmStarAlgEquiv {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] (e : RCLikeIso š•œ š•‚) (E : Type v) [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] :

The scalar transport of operators is an ā„-⋆-algebra isomorphism.

Composition, the adjoint and the norm are all preserved because the transport changes no function and no metric; only the field the scalars are named in moves.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem TauCeti.ScalarTransport.clmStarAlgEquiv_apply {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] (T : E →L[š•œ] E) :

    The star-algebra equivalence acts by the operator transport clm.

    theorem TauCeti.ScalarTransport.continuous_clmStarAlgEquiv {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] :

    The transport preserves the operator norm, so it is continuous.

    theorem TauCeti.ScalarTransport.continuous_clmStarAlgEquiv_symm {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] :

    The transport preserves the operator norm, so its inverse is continuous. This is the one analytic input ContinuousFunctionalCalculus.of_starAlgEquiv asks for.

    The continuous functional calculus over ā„ for self-adjoint bounded operators on a Hilbert space over an arbitrary RCLike field, in unrestricted dimension.

    Proved by transport: the field is isomorphic to ā„ or to ā„‚, and the calculus is already registered at both.

    Not an instance, for the reason ContinuousLinearMap.realAlgebra is not: its statement mentions that real algebra structure, so it can only be activated together with it. A consumer writes

    attribute [local instance 100] ContinuousLinearMap.realAlgebra
      ContinuousLinearMap.realIsScalarTower ContinuousLinearMap.continuousFunctionalCalculusReal
    

    and a definition elaborated under those carries them in its body.

    What the transport does to the calculus #

    With the instance in place on both sides, clm commutes with the functional calculus. Modulus naturality is downstream in ForTauCeti.Analysis.InnerProductSpace.ModulusTransport, which keeps this file usable by the modulus definition without an import cycle.

    @[simp]
    theorem TauCeti.ScalarTransport.spectrum_clm {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] (T : E →L[š•œ] E) :

    The transport preserves the real spectrum: it is an ā„-algebra isomorphism.

    @[simp]
    theorem TauCeti.ScalarTransport.nonneg_clm_iff {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] {T : E →L[š•œ] E} :

    The transport preserves and reflects nonnegativity.

    theorem TauCeti.ScalarTransport.clm_cfc {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] [CompleteSpace E] (f : ā„ → ā„) {T : E →L[š•œ] E} (hT : IsSelfAdjoint T) (hf : ContinuousOn f (spectrum ā„ T)) :
    clm (cfc f T) = cfc f (clm T)

    The transport commutes with the continuous functional calculus.

    Reflections and reflected subspaces #

    The reflection in a subspace is 2 P - 1, so the transport carries it, and hence carries the image of one subspace under the reflection in another. That image is the object the Davis--Kahan double-angle statements are about.

    @[simp]
    theorem TauCeti.ScalarTransport.reflectionOperator_clm {š•œ : Type u} {š•‚ : Type w} [RCLike š•œ] [RCLike š•‚] {e : RCLikeIso š•œ š•‚} {E : Type v} [NormedAddCommGroup E] [InnerProductSpace š•œ E] (S : Submodule š•œ E) [S.HasOrthogonalProjection] :

    The transport carries the reflection operator of a subspace.