Empirical/QM: syndrome-conditioned recovery as one channel #
Category: 3-Local. QM-validity layer (matrix algebra over the K2 Channel layer, no CSD
content); companion of ThreeQubit.lean and BitFlipChannel.lean.
ThreeQubit.lean proves the bit-flip code corrects each single error branch by branch: the
syndrome identifies Xⱼ, and Xⱼ undoes it. The operational statement of error correction is
stronger: a single CPTP map — measure the syndrome, then apply the correction the outcome
names — returns every code state, mixed or pure, from the mixed post-error state. This file
builds that channel and proves it.
codeProj— the projector onto the codespacespan{|000⟩, |111⟩}, as|000⟩⟨000| + |111⟩⟨111|(kron3of the qubit projectorsq0,q1; thekron3linearity ofErrorDiscretization.lean);errorOp— the four errors{I, X₁, X₂, X₃};syndromeProj k = Eₖ P₀ Eₖ— the projector onto thek-th error subspaceEₖ · C. ★syndromeProj_mul_syndromeProj(the four are pairwise orthogonal projectors) and ★sum_syndromeProj(they sum to1): the syndrome is a projective measurement on the register;syndromeProj_errorOp_logical,syndromeProj_errorOp_logical_of_ne— the errored codewordEₖ ψ_Llies in thek-th syndrome subspace and in no other;recoveryChannel— the syndrome-conditioned recovery, aChannelwith Kraus operatorsEₖ Pₖ("if the syndrome isk, applyEₖ"); trace preservation is∑ₖ Pₖ = 1;singleFlipChannel q— the mixed single-error channelρ ↦ ∑ₖ qₖ Eₖ ρ Eₖfor any weightsqₖ ≥ 0,∑ qₖ = 1(the discretised error, all four branches at once);- ★★
recoveryChannel_apply_singleFlipChannel_apply— recovery is exact on the code, as one channel on the mixed state: for every operatorρsupported on the codespace (P₀ ρ P₀ = ρ, in particular every mixed code state),R (N_q ρ) = ρ; andcomp_recoveryChannel_singleFlipChannel_apply, the same for the composite channelR ∘ N_qofChannelComp.lean.
The proof is the Knill–Laflamme mechanism in its simplest instance: Pⱼ Eₖ P₀ = δⱼₖ Pₖ Eₖ (the
error Eₖ carries the code onto the k-th syndrome subspace and nowhere else), so the double
Kraus sum collapses to its diagonal, and on the diagonal Eₖ Pₖ Eₖ = P₀.
What is not here: errors outside the single-flip set (two flips are miscorrected — the code's
distance is 3). The independent-noise channel (bit-flip_p)^{⊗3}, whose double- and triple-flip
branches the code mis-corrects into the logical flip, is IndependentNoise.lean
(recoveryChannel_apply_indepFlipChannel_apply: the 3p² − 2p³ residual);
singleFlipChannel is its correctable part with free weights.
Source #
Shor 1995, Phys. Rev. A 52, R2493; Knill–Laflamme 1997, Phys. Rev. A 55, 900
(the correction conditions; the recovery channel ∑ₖ Eₖ Pₖ · Pₖ Eₖᴴ).
The qubit projectors, the code projector, the errors #
The four errors {I, X₁, X₂, X₃} as operators on the three-qubit register.
Equations
Instances For
The syndrome projectors: a projective measurement on the register #
The k-th syndrome projector Pₖ = Eₖ P₀ Eₖ, the projector onto the error subspace
Eₖ · C.
Equations
Instances For
The four syndrome projectors in closed form: each is the sum of two computational-basis projectors, and the four pairs partition the eight basis states.
★ The syndrome projectors are pairwise orthogonal projectors.
★ The syndrome projectors sum to the identity: the syndrome is a complete projective measurement on the register.
The errored codewords lie in their syndrome subspaces #
P₀ ψ_L = ψ_L: the code projector fixes the logical states.
The errored codeword Eₖ ψ_L lies in the k-th syndrome subspace.
The errored codeword Eₖ ψ_L lies in no other syndrome subspace.
The recovery channel and the single-error channel #
The syndrome-conditioned recovery, as one channel: Kraus operators Eₖ Pₖ — project onto the
k-th syndrome subspace, then apply the correction Eₖ the syndrome names. Trace preservation is
∑ₖ Pₖ Eₖ Eₖ Pₖ = ∑ₖ Pₖ = 1.
Equations
- CSD.Empirical.QM.QEC.recoveryChannel = { kraus := fun (k : Fin 4) => CSD.Empirical.QM.QEC.errorOp k * CSD.Empirical.QM.QEC.syndromeProj k, tp := CSD.Empirical.QM.QEC.recoveryChannel._proof_1 }
Instances For
The mixed single-error channel ρ ↦ ∑ₖ qₖ Eₖ ρ Eₖ: the four discretised error branches at
once, with any weights qₖ ≥ 0, ∑ₖ qₖ = 1.
Equations
- CSD.Empirical.QM.QEC.singleFlipChannel q hq0 hq1 = { kraus := fun (k : Fin 4) => ↑√(q k) • CSD.Empirical.QM.QEC.errorOp k, tp := ⋯ }
Instances For
The Knill–Laflamme collapse #
Eₖ P₀ = Pₖ Eₖ: the error carries the code projector onto the k-th syndrome projector.
P₀ Eₖ = Eₖ Pₖ.
Eₖ Pₖ Eₖ = P₀.
★★ Syndrome-conditioned recovery is exact on the code, as one channel on the mixed state.
For every operator ρ supported on the codespace (P₀ ρ P₀ = ρ — every code state, pure or mixed)
and every single-error mixture N_q, the recovery channel returns ρ from the mixed post-error
state: R (N_q ρ) = ρ.
The composite channel R ∘ N_q (Channel.comp) is the identity on the code.