Finite-dimensional self-adjoint functional calculus #
For a symmetric endomorphism on a finite-dimensional real or complex inner-product space, apply a real scalar function to the ordered eigenvalues and reconstruct the operator in the associated orthonormal eigenbasis.
The construction is intended as a small RCLike counterpart of the continuous
functional calculus. It is sufficient for functions such as arcsin and the
totalized tangent functions used by finite-dimensional operator-angle theory.
Provenance #
- Original repository: Davis--Kahan/DKPS formalization (Kitware, Inc.).
- Original module:
ForMathlib.Analysis.InnerProductSpace.SelfAdjointFunctionalCalculus, moved toForTauCetiin the Wave-1 staging migration; introduced at Davis--Kahan commitcaa0966. - Extraction class: moved. The Wave-1 migration renamed the namespace
ForMathlibtoTauCeti; declaration names and proofs are unchanged. - Original authors / copyright: Jon Crall, GPT-5.6 Thinking; Copyright (c) 2026 Kitware, Inc.; Apache 2.0.
- Spectra influence: none โ this module imports only Mathlib and sibling
ForTauCetistaging modules.
Apply a real function to the spectrum of a finite-dimensional symmetric endomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The calculus is additive in the symbol: a finite sum of rank-one terms, added coefficientwise.
The calculus is real-homogeneous in the symbol.
The functional calculus acts diagonally in the chosen eigenbasis.
Applying a real function to a symmetric operator remains symmetric.
A symbol nonnegative on the spectrum gives a positive operator.
Each rank-one summand is positive, and the coefficient f (ฮปแตข) scales it by a
nonnegative real. Only the values at the eigenvalues matter, so the hypothesis
is stated there rather than on all of โ.
The calculus is bounded by the sup of the symbol on the spectrum.
Parseval in the eigenbasis: the calculus multiplies the i-th coordinate of x by
f (ฮปแตข), so the squared norm is a weighted sum of the coordinate weights. This is the
estimate continuity of f โฆ calculus hT f rests on.
The identity function recovers the original symmetric operator.
The calculus depends only on the operator, not on the symmetry witness. The operator occurs solely inside that witness's type, so a plain rewrite cannot reach it; this is the bridge that lets callers replace it.
Functions agreeing on every eigenvalue produce the same operator.
Composition corresponds to pointwise multiplication of scalar functions.
Constant zero gives the zero operator.
Functional calculus of a real scalar multiple of the identity is scalar
evaluation. This is the finite RCLike bridge used by planar angle models.
Functional calculus on an arbitrary eigenvector. Unlike the basis lemma, this form is stable on repeated eigenspaces and is the key commutant property.
Finite self-adjoint functional calculus preserves intertwiners.
If J A = B J for symmetric finite-dimensional operators, then applying the
same real scalar function to both spectra preserves that relation. The proof
uses an eigenbasis of A: intertwining sends each basis vector either to zero
or to a B-eigenvector with the same eigenvalue, and the functional calculus
therefore acts by the same scalar on both sides.
This is the finite RCLike counterpart of the continuous-functional-calculus
intertwiner used by the infinite-dimensional theory.
An eigenvector of f(T) is blind to the eigenvalues f does not send to
its eigenvalue.
If f(T) x = lam โข x, then x has no component along an eigenvector of T
whose eigenvalue f moves away from lam. This is the one computation behind
both transfer lemmas below, and it is selfAdjointFunctionalCalculus_isSymmetric
applied to the pair (f(T) (b i), f(T) x).
Transfer of an eigenvector between two symbols of the same operator.
If f(T) scales x by lam, and a second symbol g takes the constant value
mu at every eigenvalue that f sends to lam, then g(T) scales x by mu.
Taking f = id recovers selfAdjointFunctionalCalculus_apply_of_apply_eq_smul.
This is what lets an eigenvector of an operator that is defined as a functional
calculus โ an operator angle ฮ = arcsin (sin ฮ), say โ be pushed through a
different symbol without ever naming the eigenbasis.
A nonzero eigenvector of f(T) exhibits its eigenvalue as a value of f.
Contrapositive of repr_eq_zero_of_calculus_apply_eq_smul: if f missed lam
at every eigenvalue of T, then every coordinate of x in the eigenbasis would
vanish. This is what pins the range of an operator angle: an eigenvalue of
arcsin (sin ฮ) is an actual arcsine, hence lies in [-ฯ/2, ฯ/2].
The constant function 1 gives the identity operator.
The calculus agrees with polynomial evaluation on monomials.
Induction on n from ..._one and ..._comp; the base is the identity operator and the
step is multiplicativity of the symbol. This is what makes the calculus an algebra map
extending Polynomial.aeval, the property any route to the Mathlib CFC goes through.
Extending a symbol by zero off a set containing the spectrum changes nothing.
The calculus sees f only at the eigenvalues, so restricting a symbol to any set containing
them and extending by zero leaves the operator alone. This is what lets a
g : C(spectrum โ a, โ) be turned into an โ โ โ for the finite calculus without the
algebra operations drifting: indicator commutes with + and *, and the mismatch at 1
is invisible here.
Multiplicativity in pointwise-product form, the shape an algebra map needs.
selfAdjointFunctionalCalculus_comp states this with an explicit lambda. f * g on โ โ โ
is that lambda definitionally, but rw matches syntactically and Lean normalises the lambda
to *, so the algebra-map fields need this spelling.
Extend a continuous function on a subset of โ to all of โ by zero.
The finite calculus consumes โ โ โ, while cfcHom is stated on C(spectrum โ a, โ); this
is the bridge between the two. It is multiplicative and additive outright โ both sides
vanish off S โ and selfAdjointFunctionalCalculus_indicator covers the unit, the one
operation it does not respect.
Equations
- TauCeti.extendSymbol g x = if h : x โ S then g โจx, hโฉ else 0
Instances For
Off S the extension is zero. With extendSymbol_apply_of_mem this determines
extendSymbol pointwise, so a consumer never has to reduce through the body.
Extension by zero sends the zero symbol to the zero function.
The extension of the constant symbol 1 is the indicator of S -- not
the constant function 1, which is why extension by zero is not unital.
Every operator commuting with a symmetric map commutes with its finite real functional calculus. This includes repeated eigenvalues: the proof uses that the commuting operator preserves each eigenspace.
Spectral positive square root of a positive symmetric operator T, as the
functional calculus of Real.sqrt:
sqrt T = โแตข โฮปแตข โข (rank-one projection onto the i-th eigenvector), where ฮปแตข โฅ 0
are the eigenvalues of T. Source: Horn--Johnson Thm 7.2.6.
This was once a second noncomputable def with that sum written out, and the
library proved the two coincide by rfl โ one object defined twice. The
duplicate has been collapsed; the uniqueness theory that only the square root
has (sqrt_unique, ker_sqrt, range_sqrt, sqrt_mul_self) is unchanged and
still lives in ForTauCeti/Analysis/InnerProductSpace/PositiveSqrt.lean, which now
imports this module rather than the other way round.
Equations
Instances For
The spectral square root is the finite self-adjoint functional calculus of
Real.sqrt. True by definition; kept because it is the name downstream proofs
rewrite with.
Commutation passes from a positive operator to its positive square root.