PhyslibAlpha.AlgebraicFramework.HilbertSpace.TraceClass.Basic
Trace-class operators
For `T : H →L[ℂ] H` on a complex Hilbert space `H`, `|T| := CFC.abs T = √(T⋆T)` (Mathlib's continuous functional calculus absolute value). `T` is **trace class** if `∑ᵢ ⟪eᵢ, |T| eᵢ⟫` converges for some Hilbert basis `{eᵢ}`; the **trace norm** `‖T‖₁` is that sum, and the **trace** `Tr T := ∑ᵢ ⟪eᵢ, T eᵢ⟫` (which converges whenever the trace norm does, via Cauchy–Schwarz). The Hilbert basis is quantified over `w : Set H` rather than an arbitrary index type `Type*` (matching Mathlib's own `exists_hilbertBasis`, which produces exactly such a `w`) — every Hilbert space has a basis indexed this way, so nothing is lost, and it keeps every index type in `H`'s own universe rather than introducing a genuinely polymorphic (and, for a bare `Prop`-valued `def`, awkward) universe parameter.
Relationship to `HilbertSpace/Trace.lean`
`Trace.lean`'s `ContinuousLinearMap.traceₚ` is the ordinary linear-algebra trace (`LinearMap.trace ℂ H T.toLinearMap`), bundled as a positive linear map: it is defined on *every* `T : H →L[ℂ] H`, but is only the actual trace when `H` is finite-dimensional (`LinearMap.trace` is `0` by convention outside that case, via `Module.finrank`-based junk value machinery upstream in Mathlib — nothing in `traceₚ` needs or uses that convention explicitly). `IsTraceClass`/`trace` here are the general infinite-dimensional notion: which *bounded* operators have a well-defined trace via a convergent diagonal sum, before knowing anything about positivity or finite rank. `trace_eq_sum_inner_hilbertBasis_of_finiteDimensional` below is the connecting fact: in finite dimension, `LinearMap.trace ℂ H T.toLinearMap` — i.e. `traceₚ T` — agrees with the diagonal sum in any Hilbert basis, and `HasFiniteMultiplicity.trace_eq_finrank_range_of_finiteDimensional` uses this explicitly to reduce the finite-dimensional case of the new `trace` to the old one. No general (infinite-dimensional) theorem "`traceₚ` agrees with `trace` whenever both are defined" is proved here: `traceₚ` has no trace-class hypothesis to begin with (it is total, using `LinearMap.trace`'s own junk-value convention outside finite dimension), so such a theorem would need to first isolate exactly when the *linear-algebra* trace of an infinite-dimensional operator happens to coincide with its analytic trace-class trace — genuine, unattempted work, not forced here.
Genuinely well-defined trace-class theory needs one famous, hard fact:
> the value of `∑ᵢ ⟪eᵢ, |T| eᵢ⟫` (hence trace-class-ness itself, and the value of the trace) does > not depend on the choice of Hilbert basis `{eᵢ}`.
The positive/self-adjoint part is proved below (`summable_inner_abs_of_hilbertBasis`) directly from Mathlib's `HilbertBasis` API — **not** via the unbounded spectral theorem. The route is the standard Hilbert–Schmidt double-sum/Fubini argument: for a self-adjoint `S`, write `⟪eᵢ, S eᵢ⟫ = ‖√S eᵢ‖²` (continuous functional calculus square root), expand `‖√S eᵢ‖²` via Parseval against a *second* basis `{fⱼ}`, and swap the resulting (unconditionally Fubini-swappable, since all terms are nonnegative and the outer sum is controlled by the trace-class hypothesis) double sum `∑ᵢ∑ⱼ = ∑ⱼ∑ᵢ`. `|T| = CFC.abs T` is always self-adjoint, so this handles `summable_inner_abs_of_hilbertBasis` in full generality. For `trace_eq_of_hilbertBasis` the positive case is now proved by the same square-root/Parseval argument (`trace_eq_of_hilbertBasis_of_nonneg`), and the self-adjoint case is obtained by decomposing into positive and negative parts (`trace_eq_of_hilbertBasis_of_isSelfAdjoint`). The general non-self-adjoint case would go through the polar decomposition `T = U|T|` instead, and packaging the trace-class operators themselves as a Banach space `TraceClass H` is separate, genuinely harder work; neither is attempted here.
Definitions
- `IsTraceClass` : `T` is trace class. - `traceNorm`/`trace` : witness-basis definitions of the trace norm and trace. - `HasFiniteMultiplicity` : a projection is trace class — the honest Murray–von Neumann finiteness condition for "isolated eigenvalue of finite multiplicity", which a purely topological account of discrete spectrum cannot express.
Trace class
Basis-independence machinery
The two lemmas below are the honest analytic content: they need only completeness of `H`, the continuous functional calculus square root, and Mathlib's `HilbertBasis` Parseval API (`HilbertBasis.hasSum_inner_mul_inner`). No spectral theorem is used.
Basis-independent trace for positive trace-class operators.
For a positive operator the absolute value is the operator itself. Taking its continuous- functional-calculus square root turns every diagonal coefficient into a squared norm, so the Parseval double-sum theorem already proved above gives the same sum in every Hilbert basis. This is the positive case needed by density operators and does not use polar decomposition.
Honest finite multiplicity
17 declarations
is a trace-class operator
Let be a complex Hilbert space and be a bounded linear operator. is said to be **trace-class** if there exists a Hilbert basis of such that the sum converges, where is the absolute value of defined via the continuous functional calculus.
Parseval's Identity:
Let be a complex Hilbert space. For any Hilbert basis of and any vector , the series of the squared magnitudes of the inner products between the basis vectors and converges to the squared norm of : This is known as **Parseval's identity**.
Summability of for any Hilbert Basis
Let be a complex Hilbert space and be a bounded linear operator. If is trace-class, then for any Hilbert basis of , the collection of real values is summable. Here, denotes the absolute value of defined via the continuous functional calculus.
is Trace-Class iff Converges for Every Hilbert Basis
Let be a complex Hilbert space and be a bounded linear operator. is a trace-class operator if and only if for every Hilbert basis of , the sum converges, where is the absolute value of defined via the continuous functional calculus.
Every Bounded Operator on a Finite-Dimensional Hilbert Space is Trace Class
Let be a finite-dimensional complex Hilbert space. Then every continuous linear operator is a trace-class operator.
for Finite-Dimensional Hilbert Spaces
Let be a finite-dimensional complex Hilbert space and be a continuous linear operator. For any Hilbert basis of , the linear-algebraic trace of is equal to the sum of its diagonal inner products: where denotes the complex inner product.
Trace norm of an operator
Let be a complex Hilbert space and be a trace-class operator. The **trace norm** (or 1-norm) of , denoted as , is the real number defined by the sum: where is a Hilbert basis of and is the absolute value of defined via the continuous functional calculus. Although the formal definition utilizes a witness basis from the proof that is trace-class, the resulting value is independent of the choice of basis.
The trace norm is independent of the witness for being trace-class
Let be a complex Hilbert space and be a bounded linear operator. If and are two proofs (or witnesses) that is trace-class, then the value of the trace norm defined using is equal to the value defined using .
Trace of a trace-class operator
Let be a complex Hilbert space and be a bounded linear operator that is trace-class. The trace of , denoted as , is defined as the sum of the diagonal inner products where is the Hilbert basis of used to satisfy the definition of being trace-class. While the definition uses a specific witness basis, for a trace-class operator, this sum converges unconditionally and is independent of the choice of basis.
for any Hilbert basis
Let be a complex Hilbert space and be a trace-class bounded linear operator. For any Hilbert basis of , the trace norm is equal to the sum of the diagonal inner products of the absolute value operator : Note that since is a positive operator, the inner products are non-negative real numbers.
The trace norm is non-negative
Let be a complex Hilbert space and be a trace-class bounded linear operator. The trace norm of , denoted as , is non-negative:
for non-negative trace-class operators
Let be a complex Hilbert space. If is a non-negative () trace-class operator, then for any Hilbert basis of , the trace of is equal to the sum of its diagonal entries with respect to that basis:
Trace of a Self-Adjoint Trace-Class Operator Equals the Sum over Any Hilbert Basis
Let be a complex Hilbert space and be a bounded linear operator. If is self-adjoint and trace-class, then for any Hilbert basis of , the trace of is equal to the sum of the diagonal inner products:
has finite multiplicity
Let be a complex Hilbert space and be a bounded linear operator. The operator has **finite multiplicity** if it is a star-projection (meaning and ) and it is a trace-class operator. This condition is the Murray–von Neumann finiteness condition, which for a projection is equivalent to its range being finite-dimensional.
An Operator with Finite Multiplicity has a Finite-Dimensional Range
Let be a complex Hilbert space and be a bounded linear operator. If has finite multiplicity (meaning is a trace-class star-projection), then the range of is finite-dimensional over .
The Trace of a Finite-Multiplicity Projection Equals
Let be a complex Hilbert space and be a bounded linear operator. If has finite multiplicity (meaning it is a star-projection and a trace-class operator), then its trace is equal to the dimension of its range, , over the complex numbers, written as .
In finite dimension, for finite-multiplicity projection
Let be a finite-dimensional complex Hilbert space. For any bounded linear operator with finite multiplicity, the trace of is equal to the dimension of its range as a complex vector space:
