TAYLOR JACOB M (GB)
GILLESPIE NEIL IAN (GB)
EKMEL ERCAN H ET AL: "Measurement-free implementations of small-scale surface codes for quantum dot qubits", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 29 August 2017 (2017-08-29), XP081291341, DOI: 10.1103/PHYSREVA.97.012318
BARBER BEN ET AL: "Post-selection-free preparation of high-quality physical qubits", QUANTUM, vol. 7, 15 September 2022 (2022-09-15), pages 1 - 28, XP093054259, DOI: 10.22331/q-2023-05-04-994
FOWLER, PHYS. REV. A, vol. 86, 2012, pages 032324
CLAIMS 1. A computer-implemented postselection-free method of initialising qubits in a quantum computer, comprising: preparing at least one data qubit and a plurality of auxiliary qubits in respective initial states, wherein each of the at least one data qubit and the plurality of auxiliary qubits has a respective probability of being prepared with an error; and, performing a plurality of non-measurement multi-qubit quantum logic operations that propagate errors between the at least one data qubit and the plurality of auxiliary qubits so as to reduce the probability of an error affecting the at least one data qubit. 2. The method of claim 1, wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing the following gates: a first CNOT gate controlled by the at least one data qubit and acting on a first auxiliary qubit of the plurality of auxiliary qubits; a second CNOT gate controlled by the at least one data qubit and acting on a second auxiliary qubit of the plurality of auxiliary qubits; and then, a Toffoli gate controlled by the first and second auxiliary qubits and acting on the at least one data qubit. 3. The method of claim 1, wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing the following gates: a first CNOT gate controlled by the at least one data qubit and acting on a first auxiliary qubit of the plurality of auxiliary qubits; then a first Toffoli gate controlled by the at least one data qubit and the first auxiliary qubit and acting on a second auxiliary qubit of the plurality of auxiliary qubits; and then, a Toffoli gate controlled by the first and second auxiliary qubits and acting on the at least one data qubit. 4. The method of claim 1, wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing gate sequences logically equivalent to the gate sequences in any of Figures 3a, 3b, 4, 5a, 5b, 6, 7, 11 or 13. 5. The method of any preceding claim, wherein the method comprises concatenating the plurality of non-measurement multi-qubit quantum logic operations. 6. The method of claim 1, wherein each auxiliary qubit is associated with a respective node on a graph and the at least one data qubit is associated with an edge on the graph, and wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing the following gates: for each edge on the graph, performing a plurality of CNOT gates controlled by the data qubit associated with the each edge and targeting the auxiliary qubits associated with each node connected to the each edge, and then performing a Toffoli gate controlled by the auxiliary qubits associated with each node connected to the each edge and targeting the data qubit associated with the each edge. 7. A computer-implemented postselection-free method of initialising qubits in a quantum computer, comprising: providing a plurality of auxiliary qubits, each auxiliary qubit associated with a respective node on a graph; providing at least one data qubit, the at least one data qubit associated with an edge on the graph; preparing the at least one data qubit and the plurality of auxiliary qubits in respective initial states, wherein each of the at least one data qubit and the plurality of auxiliary qubits has a respective probability of being prepared with an error; and, for each edge on the graph, performing a plurality of CNOT gates controlled by the data qubit associated with the each edge and targeting the auxiliary qubits associated with each node connected to the each edge, and then performing a Toffoli gate controlled by the auxiliary qubits associated with each node connected to the each edge and targeting the data qubit associated with the each edge. 8. The method of claim 6 or claim 7, further comprising, prior to performing the Toffoli gate controlled by the auxiliary qubits associated with each node connected to the each edge and targeting the data qubit associated with the each edge: for at least one node in the graph, performing a Toffoli gate targeting the auxiliary qubit associated with the at least one node and controlled by the data qubits associated with the edges connected to the at least one node. 9. The method of any of claims 6 to 8, wherein the graph is a long cycle or a path. 10. The method of any preceding claim, further comprising providing the at least one data qubit for use in a quantum computation. 11. The method of any preceding claim, further comprising providing the at least one data qubit for use as a syndrome qubit in a quantum error correction code. 12. A quantum error correction method comprising: preparing at least one syndrome qubit and a plurality of auxiliary qubits in respective initial states, wherein each of the at least one auxiliary qubit and the plurality of auxiliary qubits has a respective probability of being prepared with an error; performing a plurality of non-measurement multi-qubit quantum logic operations that propagate errors between the at least one syndrome qubit and the plurality of auxiliary qubits so as to reduce the probability of an error affecting the at least one syndrome qubit; and, performing syndrome extraction using the at least one syndrome qubit. 13. The method of claim 12, wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing the following gates: a first CNOT gate controlled by the at least one syndrome qubit and acting on a first auxiliary qubit of the plurality of auxiliary qubits; a second CNOT gate controlled by the at least one data qubit and acting on a second auxiliary qubit of the plurality of auxiliary qubits; and, a Toffoli gate controlled by the first and second auxiliary qubits and acting on the at least one syndrome qubit. 14. The method of claim 12, wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing the following gates: a first CNOT gate controlled by the at least one syndrome qubit and acting on a first auxiliary qubit of the plurality of auxiliary qubits; then a first Toffoli gate controlled by the at least one syndrome qubit and the first auxiliary qubit and acting on a second auxiliary qubit of the plurality of auxiliary qubits; and then, a Toffoli gate controlled by the first and second auxiliary qubits and acting on the at least one syndrome qubit. 15. The method of claim 12, wherein performing the plurality of non-measurement multi-qubit quantum logic operations comprises performing gate sequences logically equivalent to the gate sequences in any of Figures 3a, 3b, 4, 5a, 5b, 6, 7, 11 or 13. 16. The method of any of claims 12 to 15, wherein the method comprises concatenating the plurality of non-measurement multi-qubit quantum logic operations. 17. The method of any preceding claim, wherein the respective initial states are |0ۧ states and wherein the error is a bitflip error. 18. The method of any preceding claim, wherein the auxiliary qubits are not measured. 19. A quantum computing control system comprising a classical processor configured to perform the method of any preceding claim. 20. A computer readable medium comprising instructions which, when executed by a classical processor, cause the processor to perform the method of any of claims 1 to 18. |
A (2e + 1, 1, e) purification circuit can be viewed as a decoder for a (2e + 1)-bit classical repetition code. The data qubit represents the majority vote of the input qubits, and the other qubits contain the syndrome information required to reconstruct the input. Any CNOT and Toffoli circuit for decoding a classical [n, k, 2e + 1] code can be viewed as an (n, k,e) purification circuit in the same way. This is generally more than is necessary: purification circuits only require that strings close to the zero codeword are correctly decoded, and it is also possible to create purification circuits that do not represent decoders for classical codes. For example, the purification circuit shown in Figure 7 is a (7, 4, 1) purification circuit based on a classical Hamming code.
With perfect gates, an (n, k, e) purification circuit improves a preparation error rate p 0 to . In practice, purification circuits will themselves be subject to error, meaning that the dominant term in the output error probability is likely to be due to gate failures, for example of the final Toffoli, meaning that there may be limited advantage to increasing e depending on the ratio between preparation error rates and gate error rates.
Additional purification circuits can be obtained based on graph constructions. The operation of the (3, 1, 1) purification circuit shown in Figure 2 can be interpreted as follows. When the single allowed error is on the data qubit, the two CNOT gates effectively "mark" the auxiliary qubits (i.e. the CNOT gates propagate the error from the data qubit to the auxiliary qubits). This double mark is detected by the Toffoli gate, which clears the error on the data qubit (i.e. a bitfiip is effectively propagated back to the data qubit, thereby reversing the original error). When the error is on an auxiliary qubit, it does not propagate through the CNOT gates, and it is not able to activate both controls of the Toffoli gate, so the data qubit remains unchanged.
If instead there is some number a of auxiliary qubits, then there are pairs available for marking in this way, which can be used to protect up to data qubits against a single preparation error. This construction can be described in the language of graphs (although it should be understood that not ail purification circuits can be described using a graph representation).
Given a graph G with n vertices and m edges, an (n + m,m, 1) purification circuit can be obtained as follows. One data qubit q uv is associated with each edge uv, and one auxiliary qubit q v is associated with each vertex (or node) v. For each edge uv, two CNOT gates are applied controlled by q uv and targeting q u and q v respectively; this is referred to as the "detection" phase because errors on q uv are propagated to (i.e. detected by) q u and q v . Next, for each edge uv, a Toffoli gate is applied controlled by q u and q v and targeting q uv i this Is referred to as the "correction" phase because any error propagated In the detection phase will now be propagated to the data qubit, thereby reversing (i.e. correcting) the original error.
The gates within each phase commute so can be performed in any order. The circuit has 2m CNOT gates and m Toffolis and can be scheduled over at most 3 Xe (G) rounds, where Xe (G) is the edge-chromatic number of G.
The effect of these gates is analogous to a weak surface code. In the first round the CNOT gates take the boundary of the set of edges experiencing an error. In the second round the Toffoli gates "correct" the state of any edge both of whose endpoints appear in the boundary. Figure 8 illustrates this graph construction for the (3, 1, 1) circuit of Figure 2.
In Figure 8, the auxiliary qubits q 1 and q 2 are represented by the nodes/vertices, and the edge/line linking them represents the data qubit q 0 . The first stage (labelled ' i' represents the initial state of the qubits (with shading indicating the occurrence of an error on that qubit), the second stage (labelled 'ii') represents the state of the qubits after the CNOT gates (i.e. after the detection stage), and the third stage (labelled 'iii') represents the state of the qubits after the Toffoli gate (i.e. after the correction stage).
The top error progression in Figure 8 illustrates correct operation of the circuit when there is a single error on the data qubit, and the bottom two progressions represent ways in which the (3, 1, 1) purification circuit can fail when there are two preparation errors spread across the qubits.
In larger graphs there are additional modes of failure. Errors on two incident edges cancel out part of their boundary, leading to neither error being cleared and inducing an error on any edge spanning their other two endpoints (as illustrated in Figure 9, which uses the same notation as Figure 8). Errors on two disjoint edges are successfully cleared by the circuits but cause errors on other edges induced by these vertices (as illustrated in Figure 10, which again uses the same notation as Figure 8).
Taking G to be a complete graph K n produces an purification circuit, meaning that a set of qubits can be protected against a single preparation error with only overhead. However, in addition to failing for some sets of two-qubit preparation errors (such as in Figures 9 and 10), the circuits for complete graphs have the disadvantage that they require Ω(n) rounds of gates (where n represents the asymptotic lower bound). These disadvantages can be addressed by choosing a sparser graph, such a long cycle or path as shown in Figure 11 (here the detection phase is below the dashed line, and the correction phase is above the dashed line). If G is a cycle c n on n vertices, then the circuit can be scheduled over four (if n is even) or five (if n is odd) rounds and has a natural planar layout. In addition, an (n,k,e) purification circuit defined using a long cycle or path will generally outperform its parameters and protect against more than e errors in most scenarios (i.e. e, which is always 1 for paths and cycles, is the guaranteed minimum number of errors that can be corrected assuming perfect gates rather than an upper limit).
A (2n, n, 1) circuit defined over a cycle protects completely against any single error. Two or more errors on the input might lead to an error on the output, but only if those errors are sufficiently close. Each output qubit of a circuit defined over a cycle or path effectively has a "light cone", which is the subset of the gates and input qubits that can causally affect it; the state of the output qubit depends only on the preparation and gate errors on this part of the circuit. Over a long even cycle there are only two types of output data qubit up to isomorphism, and so two possible light cones, shown in Figures 12a and 12b.
With preparation error rate p 0 and perfect gates, each output data qubit experiences errors with probability . Output errors on qubits are independent if they are sufficiently separated that their light cones are disjoint, but errors on nearby output qubits are correlated. Suppose that some set of a errors on the input leads to b > a errors on the output data qubits. Then an event which should have probability in fact occurs with probability (i.e. the error rate is increased).
A purification circuit will be referred to as combinatorially fault-tolerant up to s errors if, for any r ≤ s, any set of r errors on the input leads to at most r errors on the output data qubits. For example, purification circuits corresponding to long cycles are combinatorially fault-tolerant up to three errors, and there is exactly one pattern of four errors on the Input leading to more than four errors on the output data qubits (illustrated in Figure 13, in which stages i, ii and iii refer to the initial, post-detection and post-correction error states of the qubits).
In Figure 13, input errors on two adjacent edges are effectively frozen in place as their shared auxiliary qubit is first set to |1> then reset to |0> so does not activate the Toffoli gates. Two of these frozen patterns placed one edge apart preserve the original errors but also cause a new error on the separating edge. One way to stop this behaviour Is to prevent errors on adjacent pairs of edges from being frozen in place. This can be achieved by adding an extra round of Toffoli gates to the detection phase as illustrated in Figure 14. As before, the first part of the detection phase involves applying two CNOT gates for each edge uv controlled by q uv and targeting q u and q v respectively. Then a second part of the detection phase is performed In which for each pair of consecutive edges uv, uw, a Toffoli gate is performed controlled by q uw and q vw and targeting q v . The correction phase (above the dashed line) then proceeds as before, with a Toffoli gate controlled by q u and q v and targeting q uv being performed for each edge uv. This purification circuit is combinatorially fault-tolerant for any number of preparation errors.
The gates from both detection phases commute with each other, so these can be performed in any order (such as the order shown in Figure 14). The light cones of a long cycle using this two-part detection phase with additional Toffoli gates are shown in Figures 15a and 15b.
If there are no input errors on the vertices then the detection stage marks ail of the endpoints of each edge with an input error, with no cancellation arising from errors on consecutive edges. Then an input error on an edge is successfully cleared unless there is also an input error on one of its endpoints, and an edge with no input error experiences an error on the output only if, for both of its endpoints, there is an input error on either that vertex or the next edge.
Every purification circuit has an output error probability p out , which will generally be a function of the preparation error rate p 0 and the gate error rate p gate . p out represents the probability of an error affecting each output data qubit. These error probabilities can either be determined numerically (e.g. using Monte Carlo methods) or analytically (e.g. by determining terms of the polynomial function to the desired accuracy).
With perfect gates (p gate = 0), the output error probability p out of a purification circuit is a polynomial function of the preparation error rate p 0 . The table below gives the leading order term for each of the purification circuits described above.
Output error probabilities can also be determined when using imperfect gates.
For a given preparation error rate p 0 and purification circuit, there exists a threshold value p th of the gate error rate p gate below which it is beneficial to use the purification circuit (i.e. using the purification circuit will result in a value of p out which is less than p 0 ). This threshold value p th can be determined by identifying the least positive value of P gate where the output error probability p out of the purification circuit is equal to p 0 (e.g. by plotting p out against p gate for a given purification circuit and preparation error rate p 0 and determining the least positive value where the this meets the line P out = p 0 ). When P gate is less than p th , using a purification circuit will lead to a decrease in the overall error rate (i.e. P out will be less than p 0 ). However, values of P gate above this threshold value may lead to an increase in the effective preparation error rate. Figure 16 illustrates a method for initialising qubits in a quantum computer according to the present invention. In step 1601, at least one data qubit and a plurality of auxiliary qubits are prepared in respective initial states with some error probability (i.e. having some probability p 0 of being prepared in e.g. a |1ۧ state instead of a |0ۧ state). The error probability may be the same for each qubit, or it may alternatively be different for each qubit. In step 1602, non-measurement multi-qubit quantum logic operations are performed that propagate errors between the at least one data qubit and the plurality of auxiliary qubits (e.g. one of the purification circuits described above). This method may be performed by a classical processor, e.g. by a control system of a quantum computing system. Figure 17 illustrates an example of such a quantum computing system 1700. The quantum computing system 1700 features a quantum processing unit (QPU) 1710 having a plurality of qubits. The qubits may be of any type, e.g. superconducting qubits, photonic qubits, quantum dots etc. The QPU 1710 is connected to a control system 1720 by a bus 1730, which may be any interface that allows signals (such as control signals) to be transmitted between the QPU and the control system 1720. The control system 1720 features a processor 1722 and a memory 1724. The processor 1722 is preferably a classical process. However, one skilled in the art will appreciate that a quantum processor can perform any computation that a classical computer can perform, such that the processor 1722 could alternatively be a quantum processor. Example of using purification circuits with an IBM® Falcon r4 processor Path-based purification circuits can be used to initialise qubits when performing surface code syndrome extraction using the IBM® Falcon r4 quantum processor. The arrangement of qubits in the Falcon r4 processor is shown in Figure 18, in which the symbol D represents a data qubit of the surface code (not to be confused with data qubits of purification circuits), S represents a syndrome qubit (which, as will be explained below, acts as a data qubit of the purification circuit), and x represents an auxiliary qubit. As is known to one skilled in the art, surface codes are quantum error correction codes defined on graphs/lattices that involve measuring commuting X and Z stabilisers to obtain an error syndrome. A full description of surface codes can be found, for example, in Phys. Rev. A 86, 032324 (2012) by Fowler et al. The stabilisers of the surface code are represented by solid-line and dashed-line parallelograms in Figure 19, in which dashed-line parallelograms 1901 represent X stabilisers on the data qubits positioned at each corner, and solid-line parallelograms 1902 represent Z stabilisers on the data qubits positioned at each corner. To perform syndrome extraction, each row of syndrome and auxiliary qubits is first purified using a path-based purification circuit, and a small “tree” of S, x and D qubits is then used to perform each syndrome extraction. This process is illustrated in Figures 20a-20e and 21-22. As shown in Figure 20a, which is a close-up of the qubits in box 1800 in Figure 18, the syndrome and auxiliary qubits are initially prepared (with error) in |0ۧ states. Next, the “detection” stage is performed, with CNOT gates being applied to the auxiliary qubits controlled by the syndrome qubits (which act as data qubits of the purification circuit) as shown in Figures 20b and 20c. The “correction” stage is then performed in two phases as shown in Figures 20d and 20e, with Toffoli gates being performed on the syndrome qubits controlled by the neighbouring auxiliary qubits. The syndrome qubits are then initialised in |0ۧ with reduced error probability due to the purification circuit. The detection phase could optionally be supplemented with additional Toffoli gates as described above. Next, the syndrome qubits are prepared in a GHZ state, for example using the circuit shown in Figure 21 (in which the qubits with the tiide correspond to auxiliary qubits, and the qubits without the tiide correspond to the syndrome qubits). Finally, the syndrome is measured by performing CNOT gates on the syndrome qubits controlled by the data qubits of the surface code, and the syndrome qubits are then measured in the X basis ( |+>, |—>). The product (parity) of the measurement results gives the syndrome measurement. This syndrome extraction method is known in the art as Shor-style syndrome extraction, and further details are available in "Fault-tolerant quantum computation" (1996) arXiv:quant-ph/9605011 by Shor.
While the above steps demonstrate the method for measuring an X stabiliser, corresponding steps can be used to measure a Z stabiliser by reversing the direction of the CNOT gates in Figure 22, preparing a |+ + + +> + | ---- > state instead of a
|0000> + |1111> GHZ state, and measuring the syndrome qubits in the computational basis.
Example of using purification circuits with a Rigetti® processor
The (3, 1, 1) purification circuit of Figure 2 can be used to initialise qubits when performing surface code syndrome extraction using the Rigetti® quantum processor. The arrangement of qubits in the Rigetti® processor is shown in Figure 23, in which the circles represent qubits. In Figure 23, the dashed-line and solid-line diamonds 2301 and 2302 represent Z stabilisers of the surface code (X stabilisers are not illustrated but can be represented similarly on a shifted dual lattice).
As shown in Figure 24, each diamond 2301, 2302 has four sub-diamonds 2401, each having four qubits. As before, the symbol D represents a data qubit of the surface code (not to be confused with data qubits of purification circuits), S represents a syndrome qubit (which, as before, acts as a data qubit of the purification circuit) and x represents an auxiliary qubit.
When performing syndrome extraction, the (3, 1, 1) purification circuit is performed on the auxiliary and syndrome qubits in each sub-diamond (with the syndrome qubits acting as the data qubits of the purification circuit) to initialise the syndrome qubits. A GHZ state is then formed between the syndrome qubits labelled 2, 3, 6 and 7 In Figure 24, e.g. using the circuit shown in Figure 25 (the qubit labels in Figure 25 correspond to the numbers used to label the qubits in Figure 24). The circuit in Figure 25 also acts to swap the syndrome and auxiliary qubits 1 and 2, 3 and 4, 5 and 6 and 7 and 8 respectively such that qubits 2, 3, 6 and 7 become the syndrome qubits. Shor-style syndrome extraction can then be used to measure the syndrome by performing CNOT gates between the data qubits and qubits 2, 3, 6 and 7 and then measuring qubits 2, 3, 6 and 7. When performing syndrome extraction for a solid-line diamond 2301, the data qubits are first moved using SWAP gates, and the syndrome and auxiliary qubits are then relabelled as shown in Figure 26. While the above examples have been given for the surface code, the purification circuits disclosed herein can also be used with other error correction codes, for example other stabiliser codes. While the purification circuits are particularly well-suited to use in syndrome extraction (where repeated qubit initialisations are required on a regular cycle), they can be used to initialise qubits for any purpose. Furthermore, while the present invention has focused on preparing |0ۧ states, alternative states could also be prepared (e.g. |1> states could be prepared by performing Pauli-X gates on the output data qubits, and Hadamard gates could be used to prepare qubits in the X-basis). Furthermore, one skilled in the art will understand that the purification circuits described herein are only some examples of possible purification circuits, and additional circuit exist and can be obtained through various means (e.g. brute force searching, concatenating, juxtaposing etc.) as described above. One skilled in the art will also understand that logically equivalent circuits (e.g. circuits that perform the same permutation of the computational basis) can be used in place of the illustrated circuits, e.g. by permuting qubits, swapping commuting gates etc. As an example, a CNOT gate could be performed using a controlled-PHASE gate in combination with Hadamard gates, and a Toffoli gate could be replaced by a controlled-PHASE gate in combination with controlled-Hadamard gates (which effectively applies a Toffoli gate up to a phase when applied to a mixture of computation basis states). Various quantum circuit diagrams are illustrated in the figures, and these use conventional symbols that will be known to a person skilled in the art.