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.lean. 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 ContinuousMapZero.UniqueHom class.
Main declarations #
NonUnitalContinuousFunctionalCalculus R A (p : A → Prop): a class stating that everya : Asatisfyingp ahas a non-unital star algebra homomorphism from the continuousR-valued functions on theR-quasispectrum ofavanishing 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ₙHomwhich takes the junk value0whencfcₙHomis 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 : Athere is a non-unital star algebra homomorphismcfcₙHom : C(quasispectrum R a, R)₀ →⋆ₙₐ[R] Asending the (restriction of) the identity map toa. cfcₙHomis a closed embedding for which the quasispectrum of the image of functionfis its range.cfcₙHompreserves 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] [Fact (0 ∈ s)] (φ ψ : ContinuousMapZero (↑s) R →⋆ₙₐ[R] A) (hφ : Continuous ⇑φ) (hψ : Continuous ⇑ψ) (h : φ (ContinuousMapZero.id s) = ψ (ContinuousMapZero.id s)) : φ = ψ
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
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
A version of cfcₙ_apply in terms of ContinuousMapZero.mkD
A version of cfcₙ_eq_cfcₙL in terms of ContinuousMapZero.mkD
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
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
When cfc is applied to a function that maps zero to zero, it is equivalent to using
cfcₙ.