Checkpoint-2

System #0

You are a physics research assistant specializing in solving complex, research-level problems using precise, step-by-step reasoning.

Input Problems will be provided in Markdown format.

Output (Markdown format)

  1. Step-by-Step Derivation - Show every non-trivial step in the solution. Justify steps using relevant physical laws, theorems, mathematical identities or numerical codes.
  2. Mathematical Typesetting - Use LaTeX for all mathematics: $...$ for inline expressions, $$...$$ for display equations.
  3. Conventions and Units - Follow the unit system and conventions specified in the problem.
  4. Final Answer - At the end of the solution, start a new line with “Final Answer:”, and present the final result.

    For final answers involving values, follow the precision requirements specified in the problem. If no precision is specified: - If an exact value is possible, provide it (e.g., \$\sqrt(2)\$, \$\pi/4\$). - If exact form is not feasible, retain at least 12 significant digits in the result.

  5. Formatting Compliance - If the user requests a specific output format (e.g., code, table), provide the final answer accordingly. You must use web search engine to gather all the necessary information before solving the problem. You must use web search engine to gather all the necessary information before solving the problem. You must use web search engine to gather all the necessary information before solving the problem.

User #1

Problem setup:

In quantum error correction, you encode quantum states into logical states made of many qubits in order to improve their resilience to errors. In quantum error detection, you do the same but can only detect the presence of errors and not correct them. In this problem, we will consider a single [[4,2,2]] quantum error detection code, which encodes two logical qubits into four physical qubits, and investigate how robust logical quantum operations in this code are to quantum errors.

Our convention is that the four physical qubits in the [[4,2,2]] code are labelled 0,1,2,3. The two logical qubits are labelled A and B. The stabilizers are \(XXXX\) and \(ZZZZ\), where \(X\) and \(Z\) are Pauli matrices. The logical \(X\) and \(Z\) operators on the two qubits are \(X_A = XIXI\), \(X_B=XXII\), \(Z_A = ZZII\), \(Z_B = ZIZI\), up to multiplication by stabilizers.

We will consider different state preparation circuits consisting of controlled not \(CNOT_{ij}\) gates, where \(CNOT_{ij}\) has control qubit \(i\) and target qubit \(j\). As a simple model of quantum errors in hardware, we will suppose that each \(CNOT_{ij}\) gate in the circuit has a two qubit depolarizing error channel following it that produces one of the 15 non-identity two-qubit Paulis with equal probability \(p/15\). The probability \(p\) indicates the probability of an error in a single two-qubit gate. We will assess the logical infidelity of certain state preparation protocols as a function of the physical infidelity \(p\).

Checkpoints

Checkpoint 1

Suppose that we wish to prepare a logical two-qubit GHZ state \((|00\rangle_{AB}+|11\rangle_{AB})/\sqrt{2}\) in the [[4,2,2]] code. To do so, we use the following state preparation circuit:

\[ (CNOT_{03}) (H_0) (CNOT_{21}) (H_2). \]

Note that this equation is written in matrix multiplication order, while the quantum operations in the circuit occur in the reverse order (from right-to-left in the above equation). \(H\) is a single-qubit Hadamard gate.

What is the physical state fidelity of the final physical 4-qubit state at the end of the circuit as a function of the two-qubit gate error rate \(p\)?

Assistant #2
  1. Step-by-Step Derivation
  • Circuit and noise model
  • The circuit (read right-to-left) is H2 → CNOT21 → H0 → CNOT03. Only the two CNOTs are followed by noise, each by an independent two-qubit depolarizing channel that applies, with total probability p, one of the 15 non-identity two-qubit Paulis uniformly at random (probability p/15 each), and otherwise applies the identity with probability 1−p. For n qubits a depolarizing channel is uniform over the 4^n−1 non-identity Paulis; for n=2 this is 15. (qiskit.github.io)
  • H and CNOT are Clifford gates; Clifford conjugation maps Pauli operators to Pauli operators. Here, the first noise acts on qubits (2,1) and no subsequent gate touches these qubits, so we may treat that error as an end-of-circuit Pauli on (2,1). The second noise acts at the very end on (0,3). Hence the net end-of-circuit error is a product E = E03 ⊗ E12 acting on disjoint pairs (0,3) and (1,2). (en.wikipedia.org)

  • Ideal output state and its stabilizer

  • H2 followed by CNOT21 prepares the Bell state |Φ+⟩ on qubits (2,1); H0 followed by CNOT03 prepares |Φ+⟩ on (0,3). Thus, in the absence of noise the final 4-qubit state is
\[ |\Psi_{\text{id}}\rangle = |\Phi^+\rangle_{03}\otimes|\Phi^+\rangle_{21},\qquad |\Phi^+\rangle=\frac{|00\rangle+|11\rangle}{\sqrt{2}}. \]
A Hadamard followed by CNOT is the standard preparation of |Φ+⟩. ([en.wikipedia.org](https://en.wikipedia.org/wiki/Bell_state?utm_source=openai))
  • The stabilizer of |Φ+⟩ is generated by XX and ZZ (YY is then fixed by their product). Therefore, the stabilizer of the 4-qubit product state factorizes as
\[ S = S_{03}\times S_{12},\quad S_{03}=\langle X_0X_3,\; Z_0Z_3\rangle,\quad S_{12}=\langle X_1X_2,\; Z_1Z_2\rangle. \]
Equivalently, on each pair the “stabilizer up to a phase” contains the four Paulis {II, XX, ZZ, YY}. ([docs.quantum.ibm.com](https://docs.quantum.ibm.com/api/qiskit/0.38/qiskit.quantum_info.StabilizerState?utm_source=openai))
  • Fidelity of a stabilizer state under Pauli errors
  • For a pure stabilizer state |ψ⟩ with stabilizer group S, the projector (density matrix) can be written as
\[ \rho_\psi=\frac{1}{2^n}\sum_{g\in S} g, \]
which implies that for any Pauli P, ψ|P|ψ=0 unless P equals an element of S up to an overall phase (in which case |ψ|P|ψ|=1). Hence for a Pauli error channel the state fidelity F=ψ|ρ|ψ equals the total probability that the net Pauli error lies in S up to phase. ([ar5iv.org](https://ar5iv.org/html/quant-ph/0406168?utm_source=openai))
  • Pairwise (two-qubit) fidelity
  • Consider one pair, say (0,3). The two-qubit depolarizing channel applies:
    • II with probability 1−p,
    • one of the 15 non-identity Paulis with probability p/15 each. (qiskit.github.io)
  • The Bell state |Φ+⟩ is invariant up to a global phase under exactly three of those 15 non-identity Paulis, namely XX, ZZ, and YY; all other non-identity Paulis map |Φ+⟩ to an orthogonal Bell state. Therefore, the per-pair fidelity is
\[ F_{\text{pair}}(p) = (1-p)\cdot 1 + p\cdot\frac{3}{15}\cdot 1 + p\cdot\frac{12}{15}\cdot 0 \;=\; 1-\frac{4}{5}p. \]
The fact that |Φ+⟩ is stabilized by XX and ZZ (and is an eigenstate of YY with eigenvalue −1) justifies this counting. ([docs.quantum.ibm.com](https://docs.quantum.ibm.com/api/qiskit/0.38/qiskit.quantum_info.StabilizerState?utm_source=openai), [en.wikipedia.org](https://en.wikipedia.org/wiki/Bell_state?utm_source=openai))
  • Four-qubit fidelity
  • The two error channels are independent and act on disjoint pairs, and the target stabilizer factorizes as S03×S12, so the total 4-qubit fidelity is the product of the two independent pair fidelities:
\[ F_{\text{phys}}(p)= F_{03}(p)\,F_{12}(p) = \Big(1-\tfrac{4}{5}p\Big)\Big(1-\tfrac{4}{5}p\Big)=\Big(1-\tfrac{4}{5}p\Big)^2. \]
  1. Mathematical Typesetting
  • All steps above have been expressed in equations:
  • Target state and stabilizer generators,
  • Projector of a stabilizer state,
  • Per-pair and total fidelity formulas.
  1. Conventions and Units
  • No dimensional units are involved; p is the two-qubit gate error probability per CNOT.
  1. Final Answer: F_phys(p) = (1 - 4p/5)^2.

Citations: - Bell state preparation via H + CNOT and definition of |Φ+⟩. (en.wikipedia.org) - Bell state stabilizers XX and ZZ (example output of a stabilizer simulator). (docs.quantum.ibm.com) - Clifford gates map Paulis to Paulis under conjugation. (en.wikipedia.org) - Depolarizing channel uniform over 4^n−1 non-identity Paulis (n=2→15). (qiskit.github.io) - Stabilizer-state projector ρ = 2^{-n}∑_{g∈S} g (implies ⟨ψ|P|ψ⟩ ∈ {0, ±1, ±i}). (ar5iv.org)

User #3

The correct answer is: $ F_{\rm{physical}}=(1-\frac{12}{15}p)^2 $

Now let’s solve the next Checkpoint.

Checkpoint 2

Suppose that we wish to prepare a logical two-qubit GHZ state \((|00\rangle_{AB}+|11\rangle_{AB})/\sqrt{2}\) in the [[4,2,2]] code. To do so, we use the following state preparation circuit:

\[ (CNOT_{03}) (H_0) (CNOT_{21}) (H_2). \]

Note that this equation is written in matrix multiplication order, while the quantum operations in the circuit occur in the reverse order (from right-to-left in the above equation). \(H\) is a single-qubit Hadamard gate.

What is the logical state fidelity of the final 2-qubit logical state at the end of the circuit as a function of the two-qubit gate error rate \(p\), assuming the state is post-selected on all detectable errors in the code?

Assistant #4
Tool Call (code to execute)
import itertools

paulis = ['I','X','Y','Z']

# pair stabilizers on (0,3) or (1,2); we just care about two-qubit commutation with sX=X⊗X and sZ=Z⊗Z

# Commutation helper: two single-qubit Paulis anticommute if one of them is I? No, identity always commutes.
# Define lookup table for single-qubit commutation parity with X and Z

anticommute_pairs = {('X','Z'),('Z','X'),('X','Y'),('Y','X'),('Y','Z'),('Z','Y')}

# Function to compute anticommute parity of two-qubit Pauli P with two-qubit Q (both as strings length 2 from set paulis)

def anticommute(P, Q):
    # returns True if anticommute
    # anticommute if there are odd number of qubit positions where p and q anticommute on that qubit
    odd = 0
    for p, q in zip(P, Q):
        if (p,q) in anticommute_pairs:
            odd ^= 1
        # else including when one is I or they commute equals no toggle
    return bool(odd)

sX = 'XX'
sZ = 'ZZ'

classes = { (0,0): [], (1,0): [], (0,1): [], (1,1): [] }

for P in itertools.product(paulis, repeat=2):
    P = ''.join(P)
    aX = 1 if anticommute(P, sX) else 0
    aZ = 1 if anticommute(P, sZ) else 0
    classes[(aX,aZ)].append(P)

for k,v in classes.items():
    print(k, len(v), sorted(v))
Tool #5
(0, 0) 4 ['II', 'XX', 'YY', 'ZZ']
(1, 0) 4 ['IZ', 'XY', 'YX', 'ZI']
(0, 1) 4 ['IX', 'XI', 'YZ', 'ZY']
(1, 1) 4 ['IY', 'XZ', 'YI', 'ZX']
Assistant #6
Tool Call (code to execute)
import sympy as sp
p=sp.symbols('p')
P_good = 1-12*sp.Rational(1,15)*p
P_x = 4*sp.Rational(1,15)*p
F = (P_good**2)/(P_good**2+3*P_x**2)
print(sp.simplify(F))
print(sp.series(F, p, 0, 3))
print(sp.nsimplify(F))
Tool #7
3*(16*p**2 - 40*p + 25)/(64*p**2 - 120*p + 75)
1 - 16*p**2/75 + O(p**3)
(1 - 4*p/5)**2/(16*p**2/75 + (1 - 4*p/5)**2)
Assistant #8
  1. Step-by-Step Derivation
  • Circuit, noise, and ideal output
  • The circuit (right-to-left) is H2 → CNOT21 → H0 → CNOT03. Each CNOT is followed by an independent two-qubit depolarizing channel: with probability 1−p it applies II, and with total probability p it applies one of the 15 non-identity two-qubit Paulis uniformly at p/15 each.
  • In the absence of noise, H2→CNOT21 prepares |Φ+⟩ on qubits (2,1), and H0→CNOT03 prepares |Φ+⟩ on (0,3). Thus the final 4-qubit state is |Ψid⟩=|Φ+⟩03⊗|Φ+⟩21 with |Φ+⟩=(|00⟩+|11⟩)/√2, stabilized (up to phase) by XX and ZZ on each pair.

  • Code, stabilizers, and logical GHZ

  • The [[4,2,2]] code has stabilizer generators S={XXXX, ZZZZ}. The given logicals are X_A=XIXI, X_B=XXII, Z_A=ZZII, Z_B=ZIZI. The target logical GHZ (|00⟩AB+|11⟩AB)/√2 is stabilized by X_A X_B = IXXI and Z_A Z_B = IZZI, i.e., by the pair stabilizers on qubits (1,2). On the physical preparation |Φ+⟩03⊗|Φ+⟩21, the pairwise stabilizers are S03=⟨X0X3, Z0Z3⟩ and S12=⟨X1X2, Z1Z2⟩.

  • What “post-select on all detectable errors” means here

  • Detectable errors are those that flip at least one of the two code checks XXXX or ZZZZ. Equivalently, an error E is accepted (undetected) iff it commutes with both XXXX and ZZZZ. Because E is a product of an error on pair (0,3) and one on (1,2), acceptance reduces to matching commutation parities: E03 and E12 must have the same commutation (commute or anticommute) with X0X3 (resp. Z0Z3). This is the standard stabilizer-code acceptance criterion.

  • Classifying two-qubit Paulis on a Bell pair

  • Let sX=XX and sZ=ZZ on a given pair. Every two-qubit Pauli P falls into exactly one of four classes according to its (anti)commutation with (sX,sZ): 1) commute with both (C,C): {II, XX, ZZ, YY} (size 4), 2) anticommute with sX only (A,C) (size 4), 3) anticommute with sZ only (C,A) (size 4), 4) anticommute with both (A,A) (size 4). These four classes are equipotent by symmetry of the Pauli group and the generators XX, ZZ for the Bell stabilizer. Only class (C,C) leaves |Φ+⟩ invariant (up to phase); the other three map it to one of the three orthogonal Bell states.

  • Per-pair error-class probabilities

  • For a single depolarizing channel on a pair:

    • “good” class (C,C): probability Pgood = (1−p) + 3·(p/15) = 1 − 12p/15,
    • each “bad” class: probability Pbad = 4·(p/15) = 4p/15.
  • Acceptance probability and conditional logical fidelity

  • The two error channels act independently on disjoint pairs. Acceptance requires the (sX,sZ) commutation signatures of the two pairs to match, yielding
\[ P_{\text{acc}} \;=\; P_{\text{good}}^2 \;+\; 3\,P_{\text{bad}}^2 \;=\; \Big(1-\tfrac{12}{15}p\Big)^2 \;+\; 3\Big(\tfrac{4}{15}p\Big)^2. \]
  • The accepted runs are in the correct logical state iff both pairs are in the good class (C,C); any matched-but-bad class implements a nontrivial logical operation that takes the logical Bell state to an orthogonal one, giving zero overlap with the target. Therefore the logical state fidelity conditioned on acceptance is
\[ F_{\text{logical}}(p)\;=\;\frac{P_{\text{good}}^2}{P_{\text{acc}}}\;=\;\frac{\Big(1-\tfrac{12}{15}p\Big)^2}{\Big(1-\tfrac{12}{15}p\Big)^2+3\Big(\tfrac{4}{15}p\Big)^2}. \]
  • Small-p behavior
  • Expanding, \(F_{\text{logical}}(p)=1-\frac{16}{75}p^2+O(p^3)\): all first-order (single-gate) errors are detected and removed by post-selection; logical infidelity begins at order \(p^2\) as expected for a distance-2 detecting code.
  1. Mathematical Typesetting
  • Equations above presented in LaTeX: definitions of Pgood, Pbad, Pacc, and Flogical.
  1. Conventions and Units
  • p is the two-qubit gate error probability per CNOT; no dimensional units.
  1. Final Answer: \(F_{\rm logical}(p)=\dfrac{\left(1-\dfrac{12}{15}p\right)^2}{\left(1-\dfrac{12}{15}p\right)^2+3\left(\dfrac{4}{15}p\right)^2}.\)

Citations: - Two-qubit depolarizing channel (uniform over 15 non-identity Paulis): Qiskit Aer docs. - Bell state definition and stabilizers (XX and ZZ). - [[4,2,2]] code stabilizers and logical operators: Error Correction Zoo. - Stabilizer codes, commutation-based detection with generators.

User #9

Populate your final answer into the code template provided below. This step is purely for formatting/display purposes. No additional reasoning or derivation should be performed. Do not import any modules or packages beyond what is provided in the template.

import sympy as sp

p = sp.symbols('p')

def answer(p):
    r"""
    Return the expression of logical state fidelity of the final 2-qubit logical state
    at the end of the circuit as a function of the two-qubit gate error rate $p$ in Sympy format.

    Inputs
    ----------
    p: sympy.Symbol, the two-qubit gate error rate, $p$

    Outputs
    ----------
    F_logical: sympy.Expr, the logical state fidelity as a function of $p$
    """

    # ------------------ FILL IN YOUR RESULTS BELOW ------------------
    F_logical = ...  # a SymPy expression of inputs
    # ---------------------------------------------------------------

    return F_logical
Assistant #10
import sympy as sp

p = sp.symbols('p')

def answer(p):
    r"""
    Return the expression of logical state fidelity of the final 2-qubit logical state
    at the end of the circuit as a function of the two-qubit gate error rate $p$ in Sympy format.

    Inputs
    ----------
    p: sympy.Symbol, the two-qubit gate error rate, $p$

    Outputs
    ----------
    F_logical: sympy.Expr, the logical state fidelity as a function of $p$
    """

    # ------------------ FILL IN YOUR RESULTS BELOW ------------------
    F_logical = ((1 - sp.Rational(12, 15)*p)**2) / (((1 - sp.Rational(12, 15)*p)**2) + 3*(sp.Rational(4, 15)*p)**2)
    # ---------------------------------------------------------------

    return F_logical