The continuous functional calculus for non-unital algebras #
This file defines a generic API for the continuous functional calculus in non-unital algebras
which is suitable in a wide range of settings. The design is intended to match as closely as
possible that for unital algebras in
Mathlib.Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital
. Changes to either file should
be mirrored in its counterpart whenever possible. The underlying reasons for the design decisions in
the unital case apply equally in the non-unital case. See the module documentation in that file for
more information.
A continuous functional calculus for an element a : A
in a non-unital topological R
-algebra is
a continuous extension of the polynomial functional calculus (i.e., Polynomial.aeval
) for
polynomials with no constant term to continuous R
-valued functions on quasispectrum R a
which
vanish at zero. More precisely, it is a continuous star algebra homomorphism
C(quasispectrum R a, R)₀ →⋆ₙₐ[R] A
that sends (ContinuousMap.id R).restrict (quasispectrum R a)
to a
. In all cases of interest (e.g., when quasispectrum R a
is compact and R
is ℝ≥0
, ℝ
,
or ℂ
), this is sufficient to uniquely determine the continuous functional calculus which is
encoded in the UniqueNonUnitalContinuousFunctionalCalculus
class.
Main declarations #
NonUnitalContinuousFunctionalCalculus R (p : A → Prop)
: a class stating that everya : A
satisfyingp a
has a non-unital star algebra homomorphism from the continuousR
-valued functions on theR
-quasispectrum ofa
vanishing at zero into the algebraA
. This map is a closed embedding, and satisfies the spectral mapping theorem.cfcₙHom : p a → C(quasispectrum R a, R)₀ →⋆ₐ[R] A
: the underlying non-unital star algebra homomorphism for an element satisfying propertyp
.cfcₙ : (R → R) → A → A
: an unbundled version ofcfcₙHom
which takes the junk value0
whencfcₙHom
is not defined.
Main theorems #
A non-unital star R
-algebra A
has a continuous functional calculus for elements
satisfying the property p : A → Prop
if
- for every such element
a : A
there is a non-unital star algebra homomorphismcfcₙHom : C(quasispectrum R a, R)₀ →⋆ₙₐ[R] A
sending the (restriction of) the identity map toa
. cfcₙHom
is a closed embedding for which the quasispectrum of the image of functionf
is its range.cfcₙHom
preserves the propertyp
.
The property p
is marked as an outParam
so that the user need not specify it. In practice,
- for
R := ℂ
, we choosep := IsStarNormal
, - for
R := ℝ
, we choosep := IsSelfAdjoint
, - for
R := ℝ≥0
, we choosep := (0 ≤ ·)
.
Instead of directly providing the data we opt instead for a Prop
class. In all relevant cases,
the continuous functional calculus is uniquely determined, and utilizing this approach
prevents diamonds or problems arising from multiple instances.
- predicate_zero : p 0
- compactSpace_quasispectrum (a : A) : CompactSpace ↑(quasispectrum R a)
- exists_cfc_of_predicate (a : A) : p a → ∃ (φ : ContinuousMapZero (↑(quasispectrum R a)) R →⋆ₙₐ[R] A), Topology.IsClosedEmbedding ⇑φ ∧ φ { toContinuousMap := ContinuousMap.restrict (quasispectrum R a) (ContinuousMap.id R), map_zero' := ⋯ } = a ∧ (∀ (f : ContinuousMapZero (↑(quasispectrum R a)) R), quasispectrum R (φ f) = Set.range ⇑f) ∧ ∀ (f : ContinuousMapZero (↑(quasispectrum R a)) R), p (φ f)
Instances
A class guaranteeing that the non-unital continuous functional calculus is uniquely determined
by the properties that it is a continuous non-unital star algebra homomorphism mapping the
(restriction of) the identity to a
. This is the necessary tool used to establish cfcₙHom_comp
and the more common variant cfcₙ_comp
.
This class will have instances in each of the common cases ℂ
, ℝ
and ℝ≥0
as a consequence of
the Stone-Weierstrass theorem.
- eq_of_continuous_of_map_id (s : Set R) [CompactSpace ↑s] [Zero ↑s] (h0 : ↑0 = 0) (φ ψ : ContinuousMapZero (↑s) R →⋆ₙₐ[R] A) (hφ : Continuous ⇑φ) (hψ : Continuous ⇑ψ) (h : φ { toContinuousMap := ContinuousMap.restrict s (ContinuousMap.id R), map_zero' := h0 } = ψ { toContinuousMap := ContinuousMap.restrict s (ContinuousMap.id R), map_zero' := h0 }) : φ = ψ
- compactSpace_quasispectrum (a : A) : CompactSpace ↑(quasispectrum R a)
Instances
The non-unital star algebra homomorphism underlying a instance of the continuous functional calculus for non-unital algebras; a version for continuous functions on the quasispectrum.
In this case, the user must supply the fact that a
satisfies the predicate p
.
While NonUnitalContinuousFunctionalCalculus
is stated in terms of these homomorphisms, in practice
the user should instead prefer cfcₙ
over cfcₙHom
.
Instances For
Alias of cfcₙHom_isClosedEmbedding
.
The spectral mapping theorem for the non-unital continuous functional calculus.
cfcₙHom
bundled as a continuous linear map.
Instances For
This is the continuous functional calculus of an element a : A
in a non-unital algebra
applied to bare functions. When either a
does not satisfy the predicate p
(i.e., a
is not
IsStarNormal
, IsSelfAdjoint
, or 0 ≤ a
when R
is ℂ
, ℝ
, or ℝ≥0
, respectively), or when
f : R → R
is not continuous on the quasispectrum of a
or f 0 ≠ 0
, then cfcₙ f a
returns the
junk value 0
.
This is the primary declaration intended for widespread use of the continuous functional calculus
for non-unital algebras, and all the API applies to this declaration. For more information, see the
module documentation for Analysis.CStarAlgebra.ContinuousFunctionalCalculus.Unital
.
Equations
- cfcₙ f a = if h : p a ∧ ContinuousOn f (quasispectrum R a) ∧ f 0 = 0 then (cfcₙHom ⋯) { toFun := (quasispectrum R a).restrict f, continuous_toFun := ⋯, map_zero' := ⋯ } else 0
Instances For
The spectral mapping theorem for the non-unital continuous functional calculus.
The composition of cfcₙHom
with the natural embedding C(s, R)₀ → C(quasispectrum R a, R)₀
whenever quasispectrum R a ⊆ s
.
This is sometimes necessary in order to consider the same continuous functions applied to multiple
distinct elements, with the added constraint that cfcₙ
does not suffice. This can occur, for
example, if it is necessary to use uniqueness of this continuous functional calculus. A practical
example can be found in the proof of CFC.posPart_negPart_unique
.
Equations
- cfcₙHomSuperset ha hs = (cfcₙHom ha).comp (ContinuousMapZero.nonUnitalStarAlgHom_precomp R { toFun := Subtype.map id hs, continuous_toFun := ⋯, map_zero' := ⋯ })
Instances For
this version uses ContinuousMapZero.id
.
Obtain a non-unital continuous functional calculus from a unital one #
The non-unital continuous functional calculus obtained by restricting a unital calculus
to functions that map zero to zero. This is an auxiliary definition and is not
intended for use outside this file. The equality between the non-unital and unital
calculi in this case is encoded in the lemma cfcₙ_eq_cfc
.
Equations
- cfcₙHom_of_cfcHom R ha = (↑(cfcHom ha)).comp ((↑(ContinuousMap.compStarAlgHom' R R { toFun := Set.inclusion ⋯, continuous_toFun := ⋯ })).comp ContinuousMapZero.toContinuousMapHom)
Instances For
Alias of isClosedEmbedding_cfcₙHom_of_cfcHom
.
When cfc
is applied to a function that maps zero to zero, it is equivalent to using
cfcₙ
.