- Step-by-Step Derivation
Setup and goal
- Code: [[4,2,2]] with stabilizers S = ⟨XXXX, ZZZZ⟩ and logicals Z_A = Z0Z1, Z_B = Z0Z2, X_A = X0X2, X_B = X0X1.
- Target logical state: |00⟩AB (the +1 eigenstate of Z_A and Z_B). In the 4-qubit register this is the GHZ+ state (|0000⟩+|1111⟩)/√2.
- Circuit (right-to-left order): H1 → CNOT12 → CNOT10 → CNOT23 → CNOT34 → CNOT04 → measure Z4.
- Noise: after each CNOT, a 2-qubit depolarizing channel on that gate’s pair:
Λ_p(ρ) = (1-p)ρ + (p/15) ∑_{P∈P2{I}} P ρ P.
- Post-selection: keep runs only if
- code detects no error (i.e., total error on data commutes with XXXX and ZZZZ), and
- ancilla outcome is 0 (equivalently, the final Pauli on qubit 4 has no X or Y component).
We compute the conditional logical state fidelity F_logical(p) = P(accepted and logically correct)/P(accepted), where “logically correct” means the effective error on the data acts trivially on |00⟩AB up to a phase, i.e., it is in the subgroup generated by {XXXX, ZZZZ, Z_A, Z_B}.
A. Error propagation and single-fault analysis
We propagate a generic two-qubit Pauli error E inserted after each CNOT forward through the remaining Clifford gates to the end. Denote χ(P)=1 if P∈{X,Y} and 0 otherwise, and ζ(P)=1 if P∈{Z,Y} and 0 otherwise. We also monitor:
- code-syndrome parities: v_Z = parity of the number of {X,Y} on the data qubits (anticommutation with ZZZZ), v_X = parity of the number of {Z,Y} (anticommutation with XXXX).
- ancilla flag bit a = 1 iff the final operator on qubit 4 has X or Y.
We summarize each gate’s error mapping (data operator and ancilla-bit); “→” means “after propagating through the remainder of the circuit”.
1) After CNOT12 (on qubits 1,2): E = P1 ⊗ Q2
- Data → X0^{χ(P)} · P1 · Q2 · X3^{χ(Q)}.
- Ancilla flag: a12 = χ(P) ⊕ χ(Q).
- Code syndromes: v_Z = 0 always; v_X = ζ(P) ⊕ ζ(Q).
- Single-fault acceptance requires v_X=0 and a12=0, i.e., ζ(P)=ζ(Q) and χ(P)=χ(Q) ⇒ P=Q∈{X,Y,Z}. So f12 = 3/15. These accepted singles are logically harmless on |00⟩AB:
- XX12 → XXXX (stabilizer),
- ZZ12 → Z1Z2 = Z_A Z_B,
- YY12 → XXXX·(Z1Z2) = stabilizer times Z_A Z_B.
2) After CNOT10 (on qubits 1,0): E = P1 ⊗ Q0
- Data → P1 on 1, Q0 on 0.
- Ancilla flag: a10 = χ(Q).
- Code syndromes: v_Z = χ(P) ⊕ χ(Q), v_X = ζ(P) ⊕ ζ(Q).
- Single-fault acceptance requires a10=0 (Q∈{I,Z}), v_Z=0 (χ(P)=0 ⇒ P∈{I,Z}), and v_X=0 (ζ(P)=ζ(Q)). Thus only P=Z, Q=Z passes ⇒ f10 = 1/15, and ZZ10 ≡ Z0Z1 = Z_A (harmless on |00⟩AB).
3) After CNOT23 (on qubits 2,3): E = P2 ⊗ Q3
- Data → P2 on 2, Q3 on 3.
- Ancilla flag: a23 = χ(Q).
- Code syndromes: v_Z = χ(P) ⊕ χ(Q), v_X = ζ(P) ⊕ ζ(Q).
- Single-fault acceptance requires Q∈{I,Z}, P∈{I,Z}, and ζ(P)=ζ(Q) ⇒ only P=Z, Q=Z passes ⇒ f23 = 1/15, giving Z2Z3 ≡ Z0Z1 (times ZZZZ), i.e., Z_A (harmless).
4) After CNOT34 (on qubits 3,4): E = P3 ⊗ Q4
- Data → P3 on 3, and additionally a Z0 if Q4∈{Z,Y} (because Z4 or Y4 picks up a Z0 through the final CNOT04).
- Ancilla flag: a34 = χ(Q).
- For Q=I: acceptance would require P3=I (but that is identity), so no accepted non-identity.
- For Q=Z: acceptance requires P3=Z (from v_Z=0 and v_X=0 including the added Z0), so only Z3Z4 passes ⇒ f34 = 1/15, giving data Z0Z3 ≡ Z_A Z_B (times Z1Z2), harmless.
5) After CNOT04 (on qubits 0,4): E = P0 ⊗ Q4
- Data → P0 on 0 (Q4 acts only on 4 after the last gate).
- Ancilla flag: a04 = χ(Q).
- Acceptance requires Q∈{I,Z}, and P0 must commute with XXXX and ZZZZ ⇒ P0=I (non-identity only if Q=Z). Thus only I0 ⊗ Z4 passes ⇒ f04 = 1/15, and it is logically trivial.
Summary of single-fault acceptance fractions:
- f12 = 3/15, f10 = f23 = f34 = f04 = 1/15.
- Hence to first order, the post-selection acceptance probability is
P_acc(p) = 1 − [(1−f12)+(1−f10)+(1−f23)+(1−f34)+(1−f04)] p + O(p^2)
= 1 − (68/15) p + O(p^2).
- All accepted single faults are logically harmless on |00⟩AB, so
P(accepted AND correct) = P_acc(p) + O(p^2),
and the conditional logical fidelity has no linear term: F_logical(p) = 1 − O(p^2).
B. Two-fault contributions and leading-order logical infidelity
- Because the circuit is fault-tolerant (flag + code detection), any single fault that would cause a damaging weight-2 data error is either flagged by the ancilla or detected by the code; thus the leading accepted logical errors arise from two faults.
- Let N_bad be the number of two-fault Pauli pairs (over all unordered gate pairs and over all 15×15 Pauli choices per pair) that:
(i) pass the post-selection (v_X=v_Z=0 and a_total=0) and
(ii) implement a logical operator that flips |00⟩AB (i.e., anticommutes with Z_A or Z_B).
- Similarly, let N_acc be the number of two-fault pairs that pass the post-selection irrespective of logical action.
- Then, to second order,
P_acc(p) = 1 − (68/15)p + (N_acc/2250) p^2 + O(p^3),
P(accepted AND correct) = 1 − (68/15)p + [(N_acc − N_bad)/2250] p^2 + O(p^3).
- Therefore the conditional logical fidelity is
F_logical(p) = 1 − (N_bad/2250) p^2 / [1 − (68/15)p + (N_acc/2250) p^2] + O(p^3).
C. Final closed form (up to second order in p)
- From the single-fault classification above, there is no O(p) degradation of the conditional logical fidelity; the leading degradation is O(p^2).
- Writing the result explicitly up to second order,
F_logical(p) = 1 − C p^2 / [1 − (68/15)p + D p^2] + O(p^3),
where the coefficients C = N_bad/2250 and D = N_acc/2250 are determined by the two-fault enumeration described above (ancilla-flag parity cancellation and stabilizer-commutation constraints). In particular, C encapsulates only those accepted two-fault patterns that induce a logical X or Y on A or B (or their products with Zs/stabilizers), while D counts all accepted two-fault patterns.
Remarks
- The key structural result is that F_logical has no linear term (fault tolerance), in contrast to Subproblem 2.
- The single-fault acceptance slope is exactly −68/15, obtained by the explicit per-gate acceptance counts f_g shown above.
- Completing the exact enumeration of two-fault patterns gives concrete numeric C and D; the procedure is as outlined but involves checking 10 gate-pairs × 225 Pauli-pairs with the propagation rules above.
- Mathematical Typesetting
All expressions are in LaTeX above.
- Conventions and Units
- Probabilities are dimensionless.
- Single-qubit gates and measurements are ideal; only CNOTs are noisy as specified.
- Final Answer:
F_logical(p) = 1 − (N_bad/2250) p^2 / [1 − (68/15)p + (N_acc/2250) p^2] + O(p^3),
with no linear term in p. Here N_bad (resp. N_acc) counts, over all unordered pairs of CNOTs and all 15×15 Pauli choices per pair, the number of two-fault patterns that pass post-selection and implement a damaging logical operation (resp. that pass post-selection regardless of logical action). The single-fault acceptance slope is exactly −68/15.