Finite-dimensional quantum channels (Kraus form) #
Category: 1-Mathlib (CSD-free; staged as a Mathlib-upstream candidate).
A quantum channel Φ : Matrix n n ℂ → Matrix m m ℂ in Kraus form: a finite family
of Kraus operators Kᵢ : Matrix m n ℂ with the trace-preserving constraint
∑ᵢ Kᵢᴴ Kᵢ = 1, acting by Φ(ρ) = ∑ᵢ Kᵢ ρ Kᵢᴴ.
This file (phase C1 of specs/channels-plan.md) establishes the type and the core
properties: the action is linear, trace-preserving (apply_trace), positive
(apply_posSemidef), and Hermiticity-preserving (apply_isHermitian) — so a channel
maps density operators to density operators. Complete positivity — positivity of
Φ ⊗ id_b for every idle factor — is formalised downstream:
CanonicalChannels.lean builds the local channel Channel.tensorRight (Kraus operators
Kᵢ ⊗ I_b) and tensorRight_posSemidef is the named CP witness, immediate from this
file's apply_posSemidef. The Stinespring dilation lives in Stinespring.lean (C2) and
the canonical channels in CanonicalChannels.lean (C3), both landed 2026-06-05 alongside
C1.
The Kraus index ι is an arbitrary Fintype (matching CSD.LF2.POVM's convention).
A finite-dimensional quantum channel in Kraus form: Kraus operators kraus i with
the trace-preserving (TP) constraint ∑ᵢ (kraus i)ᴴ (kraus i) = 1. The action is
apply ρ = ∑ᵢ (kraus i) ρ (kraus i)ᴴ.
The Kraus operators
Kᵢ : ℂⁿ → ℂᵐ.Trace preservation:
∑ᵢ Kᵢᴴ Kᵢ = 1.
Instances For
Positivity. A channel maps positive-semidefinite operators to positive-semidefinite
operators: each Kᵢ ρ Kᵢᴴ is PSD, and PSD is closed under finite sums.
A channel preserves Hermiticity.
The channel adjoint (Heisenberg dual) #
For Φ(ρ) = ∑ᵢ Kᵢ ρ Kᵢᴴ the adjoint (dual / Heisenberg) map is Φ†(P) = ∑ᵢ Kᵢᴴ P Kᵢ,
characterised by the trace duality Tr(P · Φ ρ) = Tr(Φ† P · ρ). The TP constraint
∑ᵢ Kᵢᴴ Kᵢ = 1 makes Φ† unital (Φ† 1 = 1); together with positivity this gives
0 ≤ Φ† P ≤ I whenever 0 ≤ P ≤ I, the load-bearing fact for data processing.
The adjoint is unital: Φ† 1 = 1, directly from the TP constraint ∑ᵢ Kᵢᴴ Kᵢ = 1.
The adjoint preserves positive-semidefiniteness: each Kᵢᴴ P Kᵢ is PSD and PSD is
closed under finite sums.
0 ≤ P ≤ I ⟹ 0 ≤ Φ† P ≤ I (the half consumed by data processing): unitality +
subtractivity give 1 − Φ† P = Φ† (1 − P), PSD by adjoint_posSemidef.
Adjoint (trace) duality: Tr(P · Φ ρ) = Tr(Φ† P · ρ). The defining property of the
adjoint, via trace cyclicity rotating Kᵢᴴ to the front of each summand.
The identity channel (a single Kraus operator 1).
Equations
- QuantumInfo.Channel.id n = { kraus := fun (x : PUnit.{?u.1 + 1}) => 1, tp := ⋯ }