Physlib

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

definition

TT is a trace-class operator

Let HH be a complex Hilbert space and T:H→HT: H \to H be a bounded linear operator. TT is said to be **trace-class** if there exists a Hilbert basis {ei}i∈I\{e_i\}_{i \in I} of HH such that the sum ∑i∈I⟨ei,∣T∣ei⟩ \sum_{i \in I} \langle e_i, |T| e_i \rangle converges, where ∣T∣=T∗T|T| = \sqrt{T^* T} is the absolute value of TT defined via the continuous functional calculus.

theorem

Parseval's Identity: ∑i∣⟨ei,y⟩∣2=∥y∥2\sum_i |\langle e_i, y \rangle|^2 = \|y\|^2

Let HH be a complex Hilbert space. For any Hilbert basis {ei}i∈I\{e_i\}_{i \in I} of HH and any vector y∈Hy \in H, the series of the squared magnitudes of the inner products between the basis vectors and yy converges to the squared norm of yy: ∑i∈I∣⟨ei,y⟩∣2=∥y∥2. \sum_{i \in I} |\langle e_i, y \rangle|^2 = \|y\|^2. This is known as **Parseval's identity**.

theorem

Summability of Re(⟨ei,∣T∣ei⟩)\text{Re}(\langle e_i, |T| e_i \rangle) for any Hilbert Basis

Let HH be a complex Hilbert space and T:H→HT: H \to H be a bounded linear operator. If TT is trace-class, then for any Hilbert basis {ei}i∈I\{e_i\}_{i \in I} of HH, the collection of real values Re(⟨ei,∣T∣ei⟩)\text{Re}(\langle e_i, |T| e_i \rangle) is summable. Here, ∣T∣=T∗T|T| = \sqrt{T^* T} denotes the absolute value of TT defined via the continuous functional calculus.

theorem

TT is Trace-Class iff ∑i⟨ei,∣T∣ei⟩\sum_i \langle e_i, |T| e_i \rangle Converges for Every Hilbert Basis

Let HH be a complex Hilbert space and T:H→HT: H \to H be a bounded linear operator. TT is a trace-class operator if and only if for every Hilbert basis {ei}i∈I\{e_i\}_{i \in I} of HH, the sum ∑i∈I⟨ei,∣T∣ei⟩ \sum_{i \in I} \langle e_i, |T| e_i \rangle converges, where ∣T∣=T∗T|T| = \sqrt{T^* T} is the absolute value of TT defined via the continuous functional calculus.

theorem

Every Bounded Operator on a Finite-Dimensional Hilbert Space is Trace Class

Let HH be a finite-dimensional complex Hilbert space. Then every continuous linear operator T:H→HT : H \to H is a trace-class operator.

theorem

Tr(T)=∑i⟨ei,Tei⟩\text{Tr}(T) = \sum_i \langle e_i, T e_i \rangle for Finite-Dimensional Hilbert Spaces

Let HH be a finite-dimensional complex Hilbert space and T:H→HT: H \to H be a continuous linear operator. For any Hilbert basis {ei}i∈w\{e_i\}_{i \in w} of HH, the linear-algebraic trace of TT is equal to the sum of its diagonal inner products: Tr(T)=∑i∈w⟨ei,Tei⟩\text{Tr}(T) = \sum_{i \in w} \langle e_i, T e_i \rangle where ⟨⋅,⋅⟩\langle \cdot, \cdot \rangle denotes the complex inner product.

definition

Trace norm ∥T∥1\|T\|_1 of an operator TT

Let HH be a complex Hilbert space and T:H→HT: H \to H be a trace-class operator. The **trace norm** (or 1-norm) of TT, denoted as ∥T∥1\|T\|_1, is the real number defined by the sum: ∥T∥1=∑i∈I⟨ei,∣T∣ei⟩\|T\|_1 = \sum_{i \in I} \langle e_i, |T| e_i \rangle where {ei}i∈I\{e_i\}_{i \in I} is a Hilbert basis of HH and ∣T∣=T∗T|T| = \sqrt{T^* T} is the absolute value of TT defined via the continuous functional calculus. Although the formal definition utilizes a witness basis from the proof that TT is trace-class, the resulting value is independent of the choice of basis.

theorem

The trace norm ∥T∥1\|T\|_1 is independent of the witness for TT being trace-class

Let HH be a complex Hilbert space and T:H→HT: H \to H be a bounded linear operator. If h1h_1 and h2h_2 are two proofs (or witnesses) that TT is trace-class, then the value of the trace norm ∥T∥1\|T\|_1 defined using h1h_1 is equal to the value defined using h2h_2.

definition

Trace of a trace-class operator Tr T\text{Tr } T

Let HH be a complex Hilbert space and T:H→HT: H \to H be a bounded linear operator that is trace-class. The trace of TT, denoted as Tr T\text{Tr } T, is defined as the sum of the diagonal inner products Tr T=∑i∈I⟨ei,Tei⟩ \text{Tr } T = \sum_{i \in I} \langle e_i, T e_i \rangle where {ei}i∈I\{e_i\}_{i \in I} is the Hilbert basis of HH used to satisfy the definition of TT 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.

theorem

∥T∥1=∑i⟨ei,∣T∣ei⟩\|T\|_1 = \sum_i \langle e_i, |T| e_i \rangle for any Hilbert basis {ei}\{e_i\}

Let HH be a complex Hilbert space and T:H→HT: H \to H be a trace-class bounded linear operator. For any Hilbert basis {ei}i∈I\{e_i\}_{i \in I} of HH, the trace norm ∥T∥1\|T\|_1 is equal to the sum of the diagonal inner products of the absolute value operator ∣T∣=T∗T|T| = \sqrt{T^* T}: ∥T∥1=∑i∈I⟨ei,∣T∣ei⟩ \|T\|_1 = \sum_{i \in I} \langle e_i, |T| e_i \rangle Note that since ∣T∣|T| is a positive operator, the inner products ⟨ei,∣T∣ei⟩\langle e_i, |T| e_i \rangle are non-negative real numbers.

theorem

The trace norm ∥T∥1\|T\|_1 is non-negative

Let HH be a complex Hilbert space and T:H→HT: H \to H be a trace-class bounded linear operator. The trace norm of TT, denoted as ∥T∥1\|T\|_1, is non-negative: ∥T∥1≥0 \|T\|_1 \geq 0

theorem

Tr T=∑i⟨ei,Tei⟩\text{Tr } T = \sum_i \langle e_i, T e_i \rangle for non-negative trace-class operators TT

Let HH be a complex Hilbert space. If T:H→HT : H \to H is a non-negative (T≥0T \geq 0) trace-class operator, then for any Hilbert basis {ei}i∈I\{e_i\}_{i \in I} of HH, the trace of TT is equal to the sum of its diagonal entries with respect to that basis: Tr T=∑i∈I⟨ei,Tei⟩\text{Tr } T = \sum_{i \in I} \langle e_i, T e_i \rangle

theorem

Trace of a Self-Adjoint Trace-Class Operator Equals the Sum over Any Hilbert Basis

Let HH be a complex Hilbert space and T:H→HT: H \to H be a bounded linear operator. If TT is self-adjoint and trace-class, then for any Hilbert basis {bi}i∈I\{b_i\}_{i \in I} of HH, the trace of TT is equal to the sum of the diagonal inner products: Tr T=∑i∈I⟨bi,Tbi⟩. \text{Tr } T = \sum_{i \in I} \langle b_i, T b_i \rangle.

definition

pp has finite multiplicity

Let HH be a complex Hilbert space and p:H→Hp: H \to H be a bounded linear operator. The operator pp has **finite multiplicity** if it is a star-projection (meaning p2=pp^2 = p and p∗=pp^* = p) 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.

theorem

An Operator with Finite Multiplicity has a Finite-Dimensional Range

Let HH be a complex Hilbert space and p:H→Hp: H \to H be a bounded linear operator. If pp has finite multiplicity (meaning pp is a trace-class star-projection), then the range of pp is finite-dimensional over C\mathbb{C}.

theorem

The Trace of a Finite-Multiplicity Projection pp Equals dim⁡(ran p)\dim(\text{ran } p)

Let HH be a complex Hilbert space and p:H→Hp: H \to H be a bounded linear operator. If pp has finite multiplicity (meaning it is a star-projection and a trace-class operator), then its trace Tr p\text{Tr } p is equal to the dimension of its range, ran p\text{ran } p, over the complex numbers, written as Tr p=dim⁡C(ran p)\text{Tr } p = \dim_{\mathbb{C}}(\text{ran } p).

theorem

In finite dimension, Tr p=dim⁡(ran p)\text{Tr } p = \dim(\text{ran } p) for finite-multiplicity projection pp

Let HH be a finite-dimensional complex Hilbert space. For any bounded linear operator p:H→Hp: H \to H with finite multiplicity, the trace of pp is equal to the dimension of its range as a complex vector space: Tr p=dim⁡C(ran p) \text{Tr } p = \dim_{\mathbb{C}}(\text{ran } p)