- Compilation/
Pauli Frame Tracking
Pauli Frame Tracking
Pauli frame tracking can accelerate quantum programs and reduce resource requirements in the context of quantum error correction.
A typical quantum error correction cycle consists of:
- Application of the desired gate
- Syndrome measurement to indicate if an error has possibly occurred
- Classical decoding of the syndrome measurement to determine the likeliest error
- Correction of the error with a physical Pauli gate
For many quantum computers, the time to measure and determine which Pauli error occurred, called error diagnostics, can be 10-1000 times longer than the time to execute a gate. Pauli frame tracking decouples the time to execute Clifford gates from the time needed for error diagnostics. However, non-Clifford gates, necessary for universality, must still wait for measurement and decoding to catch up.
A simple logical Clifford-only circuit example
To see the value of Pauli frame tracking, consider a one-qubit circuit consisting of only Clifford gates, such as Pauli gates, or H.
Fault-tolerant execution of a logical circuit consisting of Clifford gates is shown in Figure 1. A single logical qubit resides on the top row while classical computers are represented by all other lines. Each logical Clifford gate is followed by a quantum error correction round that has the syndrome measurement step. This is followed by a classical algorithm, known as decoding, that entails computing the most likely error conditioned on the measured syndrome. The output of the decoder is a Pauli operation, which should ideally be applied on the state to get rid of errors.
Before the next Clifford gate in the sequence can be executed, the quantum computer must wait for measurement, decoding, and correction. This is a major bottleneck of the runtime of a quantum program. While waiting, the idling qubit is susceptible to incurring unknown errors. Moreover, applying a correction gate can itself introduce additional errors.
Figure 1: Execution schedule of a circuit with only Clifford gates without Pauli frame tracking. SM stands for Syndrome Measurement.
By contrast, executing the same Clifford-only circuit with Pauli frame tracking decouples the gate execution from error diagnostics, and forgoes physical error correction entirely. A Pauli record consisting of two classical bits is created for each qubit. It stores one of four possible states from the set: \{I, X, Z, XZ\}. As Figure 2 depicts, after a Clifford gate and syndrome measurement have occurred, the next Clifford gate in sequence may be applied immediately. Decoding is done asynchronously, and its lengthy decoding time can be handled by sufficient parallel classical computing resources. Once the decoding result is known, any correcting action is reflected by updating the Pauli record. A measurement of the logical qubit at the end of the quantum program relies on completing all decoding first; only when the final Pauli record is X or XZ is classically bitflipping a measurement result performed. By performing Pauli frame tracking, the runtime of a quantum program and its error rate can be reduced at the expense of additional classical processing.
Moreover, by reducing a qubit’s idling time and by avoiding applying possibly erroneous correction gates, Pauli frame tracking improves the threshold of a fault tolerant scheme.
Figure 2: Execution schedule of a circuit with only Clifford gates with Pauli frame tracking, scaled identically to Figure 1. SM stands for Syndrome Measurement.
Handling non-Clifford gates
However, the advantages of Pauli frame tracking do not apply when a non-Clifford gate must be executed because there is no guarantee that the result remains in the Pauli frame. A general way to handle non-Clifford gates is given by Chamberland et al. [1]. An example execution schedule is presented in Figure 3.
Suppose that the system begins in the Pauli frame P_1 and we wish to apply a T gate. Although T P_1 T^\dagger is not guaranteed to be in the Pauli frame, performing error correction immediately after executing a T gate transforms P_1 into CP_2, where C is an unknown Clifford gate. Until decoding finishes to reveal C, the logical qubit is repeatedly error corrected to prevent the accumulation of errors. That introduces at most a Pauli error P_3, which can be learned in the next decoding step. The inverse of C, itself a Clifford gate, is applied immediately before the next T gate is executed to ensure the qubit remains in the Pauli frame. Therefore, the quantum program must wait until all previous decoding steps have been completed to learn P_1 prior to executing the first T gate.
Figure 3: Execution schedule of a circuit that only has T gates, which are non-Clifford, with the additional infrastructure needed for Pauli frame tracking to work. EC stands for Error Correction. C is a Clifford gate.
A Clifford-only circuit encoded with a 3-qubit bit-flip code example
Specialising further for a 3-qubit bitflip QEC code further elucidates the benefits of Pauli frame tracking. Figure 4 depicts the application of a logical Z gate and then a logical Y gate without Pauli frame tracking. The state |\psi\rangle that has been encoded over the top three qubits in the first part of the circuit. A logical Y gate can only be applied after the syndrome has been measured, decoded, and the recovery has been applied. Again, unknown errors may accumulate in the encoded qubits while the slow measurement and decoding occur.
Figure 4: Execution schedule of a data qubit |\psi\rangle encoded with the 3-qubit bit-flip code without Pauli frame tracking. Only Clifford gates are executed in this example circuit.
With Pauli frame tracking, however, Clifford gates can be applied even before syndrome measurement has been completed, as Figure 5 depicts. A logical Clifford gate can be executed without having to wait for measurement or decoding so long as there are always fresh ancilla qubits and sufficient real-time classical computing resources. Physical error correction need not occur.
Figure 5: Execution schedule of a data qubit |\psi\rangle encoded with the 3-qubit bitflip code with Pauli frame tracking, scaled identically to Figure 4. Note that all the gates in the circuit are logical Clifford gates.
A Clifford-only circuit encoded with a 7-qubit Steane code with Steane error correction example
The previous 3-qubit bitflip error correction code can only implement logical Pauli gates transversally and can only rectify Pauli X errors. To show the effect of Pauli frame tracking with Clifford gates, we show the execution schedule of a 7-qubit Steane code that can handle any Pauli error. This code uses stabilizers to detect any Pauli error. The Y\~XZ error is treated as both a X and a Z error. Specifically, we consider the [[7,1,3]] Steane code that is based on the classical [[7,4,3]] Hamming code.
Decoding can be done with either a lookup table or belief propagation. This particular representation of the Steane code uses Steane error correction, which is fault-tolerant because it uses 7 ancilla qubits that transversally detect the bitflips or phase flips [2,3]. We assume that the logical qubit has already been encoded as |\psi\rangle_L=\alpha|0\rangle_L + \beta |1\rangle_L using, perhaps, the circuits described in Figures 10.10 or 10.14 of [4]. |0\rangle_L is the logical |0\rangle_L state and consists of a uniform superposition of 7-qubit codewords with an even number of 1's while |1\rangle_L contains codewords with an odd number of 1's.
Figure 6 depicts the execution schedule of two Clifford gates without Pauli frame tracking. The first set of ancillae are for detecting bitflip errors while the second set are for detecting phase flip errors. The hatch line denotes that there are 7 qubits demarked by a single qubit line, while the hatched CNOT gate represents a ladder of CNOTs like in Figure 8. H_L represents a transversal execution of 7 Hadamard gates such that H_L |0\rangle_L = |+\rangle_L = \frac{1}{\sqrt{2}} (|0\rangle_L + |1\rangle_L).
From Figure 6, it should be clear that the execution of the second Clifford gates requires waiting for the syndrome measurement, decoding, and correction(s) to occur.
Figure 6: Execution schedule of a data qubit |\psi\rangle encoded with the 7-qubit Steane code without Pauli frame tracking. Only Clifford gates are executed in this example circuit. A hatched line indicates that 7 qubits are represented by a single line.
By contrast, the execution schedule of the same logical circuit with Pauli frame tracking depicted in Figure 7 shows that measurement and decoding need not be completed before the next Clifford gate can be applied.
Figure 7: Execution schedule of a data qubit |\psi\rangle encoded with the 7-qubit Steane code with Pauli frame tracking, scaled identically to Figure 6. Only Clifford gates are executed in this example circuit. A hatched line indicates that 7 qubits are represented by a single line.
Figure 8: Example of CNOT gate with a hatch line denoted a ladder of CNOT gates transversally applied from 3 qubits to another 3 qubits.
References
[1] "Fault-tolerant quantum computing in the Pauli or Clifford frame with slow error diagnostics", Chamberland, C. et al., arXiv:1704.06662v2, 2017.
[2] "Multiple Particle Interference and Quantum Error Correction", Steane, A., arXiv:quant-ph/9601029v3, 1996.
[3] "Active stabilisation, quantum computation and quantum state synthesis", Steane, A., arXiv:quant-ph/9611027, 1996.
[4] "Quantum Computing: From Linear Algebra to Physical Realizations", Nakahara, M. and Ohmi, T., Book, 2008.