In fault-tolerant quantum computing, error correction codes are used to fix errors in quantum computations specified by quantum circuits. These error correction codes modify the quantum states of physical qubits that make up the logical qubits of the quantum computing device. For example, multiple physical qubits may be entangled to form a logical qubit. Thus, the states of the logical qubits may be corrected to match expected behavior of the quantum computations.
When implementing an error correction protocol on a fault-tolerant quantum computing device, a verification process may be performed to determine whether the error correction protocol has its intended effect on the quantum circuit. This verification may be performed using a stabilizer circuit. The stabilizer circuit performs an operation known as a stabilizer instrument via which a density matrix is mapped to a joint quantum-classical state, as discussed in further detail below. Thus, measurement outcomes obtained from a quantum circuit may be mapped to joint quantum-classical states from which the accuracy of a quantum computation may be determined.
Stabilizer circuits also have other uses in quantum computing in addition to fault-tolerant protocol verification. For example, stabilizer circuits may be used to verify T-state distillation protocols and measure the effects of noise on the distillation. Stabilizer circuits may also be used to verify the behavior of logical-level quantum circuit layouts. As another example, stabilizer circuits may be used to perform integrated testing and verification of components of a quantum software stack across layers.
According to one aspect of the present disclosure, a computing system is provided, including a processor configured to receive a stabilizer circuit specification of a stabilizer circuit that includes one or more elementary operations. The one or more elementary operations are each selected from the group consisting of an allocation of one or more qubits in a stabilizer state, an allocation of one or more random classical bits, a Clifford unitary, a Pauli unitary conditional on one or more respective parities of one or more measurement outcomes and/or one or more respective parities of the one or more random classical bits, a joint multi-qubit Pauli measurement, and a destructive one-qubit Pauli measurement. The processor is further configured to compute a standardized stabilizer instrument specification of a stabilizer instrument based at least in part on the stabilizer circuit specification. The standardized stabilizer instrument specification includes an input Clifford unitary, an output Clifford unitary, and a plurality of bit matrices. The processor is further configured to store the standardized stabilizer instrument specification in memory.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to receive a standardized stabilizer instrument specification including an input Clifford unitary, an output Clifford unitary, and a plurality of stabilizer instrument bit matrices. The processor is further configured to receive a logical instrument input error correction code and a logical instrument output error correction code. The processor is further configured to compute a logical instrument specification based at least in part on the standardized stabilizer instrument specification, the logical instrument input error correction code, and the logical instrument output error correction code. The logical instrument specification includes a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. The processor is further configured to store the logical instrument specification in memory.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to receive a first stabilizer instrument specification of a first stabilizer instrument. The first stabilizer instrument specification includes a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices. The processor is further configured to receive a second stabilizer instrument specification of a second stabilizer instrument. The second stabilizer instrument specification includes a second input Clifford unitary, a second output Clifford unitary, and a plurality of second stabilizer instrument bit matrices. Based at least in part on the first stabilizer instrument specification and the second stabilizer instrument specification, the processor is further configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The processor is further configured to output an indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
In order to facilitate the use of a stabilizer circuit at a quantum computing device, systems and methods for use with a quantum computing device including a stabilizer circuit are provided below. According to the systems and methods discussed below, a corresponding stabilizer instrument implemented by a stabilizer circuit may be determined. The systems and methods discussed below further allow a logical-level stabilizer instrument to be determined from a physical-level stabilizer instrument implemented at the stabilizer circuit. In addition, according to the systems and methods discussed below, a pair of stabilizer instruments may be checked for equality, and, in cases in which the stabilizer instruments are not equal, debugging information for the pair may be obtained.
The quantum computing device 10 may further include a state preparation circuit 14 at which one or more prepared qubit states 15 may be generated as inputs to the one or more logical qubit encoding surfaces 12. For example, the state preparation circuit 14 may be configured to prepare a plurality of prepared qubit states 15 allow for universal quantum computation when subjected to Clifford operations. Additionally or alternatively, the prepared qubit states 15 may include other states such as a blank state of a qubit register.
The quantum computing device 10 may further include a measurement device 16 at which measurements may be performed on qubits included in the one or more logical qubit encoding surfaces 12. By performing measurements at the one or more logical qubit encoding surfaces 12, the quantum computing device 10 may be configured to perform quantum computations on the prepared qubit states 15 by applying logic gates. At the measurement device 16, the quantum computing device 10 may be configured to measure a plurality of output qubit states to obtain a plurality of output measurement results 18. The measurement device 16 may be further configured to transmit the plurality of output measurement results 18 to the classical computing device 20. The output measurement results 18 may, in some examples, include one or more syndrome bit measurement results 19 that may indicate one or more locations on the one or more logical qubit encoding surfaces 12 at which errors have occurred.
The quantum computing device 10 may include a stabilizer circuit 40 located on a corresponding logical qubit encoding surface 12. At the stabilizer circuit 40, measurements may be performed on a plurality of prepared qubit states 15 as discussed below to perform a verification operation on an output measurement result 18 of another quantum circuit. The quantum circuit for which the stabilizer circuit 40 is configured to perform the verification operation may be located at another logical qubit encoding surface 12 or the same logical qubit encoding surface 12. An output of the verification operation may be included in the output measurement results 18.
The classical computing device 20 may include a processor 22 that is communicatively coupled to memory 24. The processor 22 may include one or more physical processing devices, which may, for example, include one or more central processing units (CPUs), graphical processing units (GPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), specialized hardware accelerators, or other types of classical processing devices. The memory 24 may, for example, include one or more volatile memory devices and/or one or more non-volatile memory devices.
In some examples, the computing system 1 may be instantiated in a single physical computing device that includes both the quantum computing device 10 and the classical computing device 20. Alternatively, the computing system 1 may be provided as a plurality of communicatively coupled physical computing devices. In some examples, the functionality of the quantum computing device 10 and/or the classical computing device 20 may be divided between a plurality of interconnected physical computing devices, such as server computing devices located in a data center.
The processor 22 of the classical computing device 20 may be configured to implement a decoder 26 that is configured to receive the plurality of output measurement results 18 from the quantum computing device 10. At the decoder 26, the processor 22 may be configured to preprocess the output measurement results 18 into forms in which further classical computations may be performed on the output measurement results 18. The preprocessed measurements may subsequently be transmitted to one or more additional computing processes 30.
In examples in which the output measurement results 18 include one or more syndrome bit measurement results 19, the syndrome bit measurement results 19 may be preprocessed at the decoder 26 and input into an error correction protocol 32. At the error correction protocol 32, the processor 22 may be configured to generate error correction instructions 34 that may be transmitted to the quantum computing device 10 for execution at the one or more logical qubit encoding surfaces 12. Thus, errors that occur at the one or more logical qubit encoding surfaces 12 may be corrected.
Notation and terminology related to the stabilizer circuit 40 is now provided. The Pauli matrices are notated {I, X, Y, Z}⊗n, the Pauli operators are notated +{I, X, Y, Z}⊗n, and the Pauli unitaries are notated ik{I, X, Y, Z}⊗n. The Pauli unitaries on n qubits form the Pauli group on n qubits, which is notated n. A stabilizer group is a group of commuting Pauli operators other than −I. A stabilizer code is a sub-space of a Hilbert space that includes all vectors stabilized by a stabilizer group S. For any two Pauli unitaries P and Q, P, Q=0∈2 if P and Q commute and P, Q=1Å2 otherwise. For any subgroup G of a Pauli group, G⊥ is defined as:
G
⊥
={P∈
k
:
P, g
=0, ∀g∈G}
Thus, G⊥ includes all the members of the Pauli group that commute with each member of G. In the above definitions, 2 is the two-element finite field. The two-element finite field 2 has the elements {0,1}, and within the two-element finite field 2, addition and multiplication are performed modulo 2. Thus, matrices over 2 are matrices with elements that are each included in 2.
A quantum instrument with a set of outcomes R is defined as including |R| completely positive non-zero maps {r: r∈R}, where Σr∈Rr is a trace-preserving map. The quantum instrument maps a density matrix ρ to a joint quantum-classical state {r, Σr}, where pr=Tr(r[ρ]) is the probability of observing outcome r, and τr=r[Σ]/pr is the output state conditional on observing the outcome r.
Equality of a pair of quantum instruments may be defined according to the following definitions, in order of decreasing strictness:
Strict quantum instrument equality: two quantum instruments with sets of outcomes R and R′ and completely positive maps {r: r∈R}, {′r: r∈R′} are strictly equal when R=R′ and when for all r∈R, r=r.
Quantum instrument equality with relabeling: two quantum instruments with sets of outcomes R and R′ and completely positive maps {r: r∈R}, {′r:r∈R′} are equal up to relabeling when |R|=|R′| and there exists a bijection f: R→R′, called outcome relabeling, such that for all r∈R, r=′f(r).
Two completely positive maps , ′ are scalar equivalent, denoted as ≃, if there exists a positive scalar α such that =α′. For any set of completely positive maps, define /≃ to be a set of equivalence classes with respect to ≃. With these definitions, quantum instrument class equality is defined as follows. Two quantum instruments with sets of outcomes R and R′ and completely positive maps ={r: r∈R}, ={r:∈R′} are class-equal when /≃=/≃.
Choi-Jamiolkowski isomorphism for quantum instruments is now discussed. Given a quantum instrument with a set of outcomes R and completely positive maps {r: r∈R}, the corresponding family of Choi matrices is {(r⊗J)(ΣBell): r∈R}. When r maps density matrices on kin qubits to density matrices on k out qubits, the Bell density matrix is given by:
When r is specified using linear operators r as r(ρ)=rρr†, the Choi matrices correspond to normalized pure states. Thus, the Choi states of a quantum instrument may be defined as follows in such examples:
The Choi matrix of a linear map on space of matrices is positive semi-definite if and only if the map is completely positive. In addition, completely positive maps are equal if and only if corresponding Choi matrices or Choi states are equal. Thus, the equality of quantum instruments may be checked by checking the equality (with or without relabeling) of the corresponding Choi matrices or Choi states, up to a global phase.
A quantum error correcting code on n qubits and with k logical qubits may be specified by an n-qubit Clifford unitary C. Clifford unitaries are members of the Clifford group, which is defined as the group n of unitaries that normalize the Pauli group:
n={V∈U2
The Clifford group may be generated using Hadamard gates, S gates, and CNOT gates. When the quantum error correcting code has generators CZ1C\ . . . CZn−kC\, then CZn−k+1C\ . . . CZnC\ represent logical Z operators for qubits 1, . . . k and CZn−k+1C\ . . . CXnC\ represent logical X operators for qubits 1, . . . , k. The Clifford unitary C is referred to as an encoding unitary of the error correcting code. In addition, the code n, k, C is a subset of the code n, k′, C′ if the stabilizer group of n, k′, C′ is a subgroup of n, k, C.
The two-qubit Bell state is stabilized by X⊗X, −Y⊗Y, Z⊗Z. Using the notation Y* =−Y for element-wise complex conjugation of a matrix, the stabilizers of Bell n are P*└P=P└P* for P∈{I, X, Y, Z}⊗n.
A quantum instrument is a stabilizer instrument if it is equal to an instrument that has a set of outcomes 2r, has completely positive maps r(ρ)=QrρQr\, and has a Choi state of Qr that is a stabilizer state proportional to C|Fr for some Clifford unitary C and matrix F over 2. Any of the quantum instrument equality definitions may be used in the definition of the stabilizer instrument. The stabilizer instrument is the most general quantum instrument that may be implemented by a stabilizer operation with Pauli unitaries, conditional on parities of measurement outcomes.
The stabilizer circuit 40 starts with a set of input qubits that are in an arbitrary state. The qubits that remain after executing the stabilizer circuit 40 are output qubits. Due to the inclusion of destructive qubit measurement, there may be fewer output qubits than the number of input qubits of the stabilizer circuit 40. The allocations of classical bits distributed as fair coin-flips may, in some examples, be implemented with destructive X measurements applied to a qubit initialized in a zero state. However, when considering algorithms that manipulate stabilizer circuits, it is typically more efficient to treat classical bits separately. The classical bits may, for example, be used to add Pauli errors to a stabilizer circuit 40. In such examples, the behavior of the stabilizer circuit 40 conditional on the Pauli error is the behavior conditional on random bits equal to a bitstring describing the Pauli error.
As depicted in
Two distinct stabilizer circuits 40 may have the same behavior.
In the example of in
In an example where the stabilizer circuit 40 is an identity circuit that includes zero elementary operations and where no stabilizer group of the inputs to the stabilizer circuit 40 is specified, the standardized stabilizer instrument specification 50 is trivial. In an example where the stabilizer circuit 40 includes zero elementary operations and has a non-trivial stabilizer group S (a stabilizer group not equal to the identity), the standardized stabilizer instrument specification 50 is the zero-operation stabilizer instrument specification 52 shown in
Starting from the general form of the zero-operation stabilizer instrument specification 52 shown in the example of
The steps of iteratively constructing the standardized stabilizer instrument specification 50 are now provided in further detail. Given a stabilizer circuit 40 that includes K elementary operations 42 and is expressible as a standardized stabilizer instrument specification 50, a stabilizer circuit 40 that includes K+1 elementary operations is also expressible as a corresponding standardized stabilizer instrument specification 50. The last operation included in the stabilizer circuit 40 that has K+1 elementary operations is one of (A) a Clifford unitary 42C, (B) an allocation of one or more ancilla qubits in a stabilizer state 42B, (C) a joint multi-qubit Pauli measurement 42E, (D) a destructive one-qubit Pauli measurement 42F, or (E) a Pauli correction conditional on the parity of a set of measurement outcomes 42D. In each of the above cases, the standardized stabilizer instrument specification 50 of the stabilizer circuit 40 that includes K elementary operations may be converted into the standardized stabilizer instrument specification 50 of the stabilizer circuit 40 that includes K+1 elementary operations.
(A): When the last operation of the K+1-operation stabilizer circuit 40 is a Clifford unitary C0, set Cout :=C0Cout.
(B) When the last operation of the K+1-operation stabilizer circuit 40 is an ancilla allocation with the ancilla initialized to a stabilizer state (e.g., a zero state), increase kout by 1, set Cout:=I└Cout , and append a zero row to the start of the matrix A.
(C) When the last operation of the K+1-operation stabilizer circuit 40 is a multi-qubit Pauli measurement P, measuring P is equivalent to measuring P′=Cout\PCout prior to measuring Cout. Define T to be the group generated by Z1, . . . , Zk
(C1a) In examples in which P″=(−1)cI for c∈2, the measurement outcome is deterministic and is equal to c└bTAr. The new measurement outcome is an affine function of r. The map between r and the circuit measurement outcomes is invertible, since r may be computed from the previous measurement outcomes by induction.
(C1b) In examples in which P″ is not proportional to the identity, measuring P″ after applying the Pauli correction Pr is equivalent to measuring before applying Pr. The Pauli correction Pr is given by Pr=XA
(C2) In examples in which P does not belong to T⊥, P anti-commutes with one of Zj for j=1, . . . , kout−k. Thus, in such examples, measuring P′ produces an outcome 0 or 1 with a probability of 1/2 for each. Converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 further includes adding an additional classical random bit to the general form such that m :=m+1. Since rm and the current circuit measurement outcome are related to each other by an affine invertible function, the function relating the circuit measurement outcomes and the vector r remains invertible. Given the measurement outcome rm, the projector (I+(−1)r
(D) When the last operation of the K+1-operation stabilizer circuit 40 is a destructive one-qubit Pauli measurement, converting the K+1-operation stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 may include updating Cout such that the measurement is performed on a chosen qubit in the Z basis. The destructive measurement may include three steps:
After the first two steps, the Clifford operation may be converted into a general form. When an output qubit of a Clifford operation is always equal to zero, that qubit may be removed, and the remaining stabilizer circuit specification 44 may be converted into the standardized stabilizer instrument specification 50.
(E) When the last operation of the K+1-operation stabilizer circuit 40 is a Pauli correction conditional on the parity of a set of measurement outcomes, converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 may include setting the matrix A to A :=A+rcT, where c is a column vector over 2 . In this update, the Pauli correction P is applied when cTr=1 or 0, where the outcome vector r is a column vector. The measurement outcomes of the stabilizer circuit 40 are related to r by an invertible affine function. The case in which P is applied conditionally on cTr=0 may be reduced to the case in which P is applied conditionally on cTr=1 by first applying P unconditionally. Applying P after Cout is equivalent to applying P′=Cout\PCout prior to applying Cout . The first kout−k qubits to which P′ is applied are in the computational basis, so applying P′ to these first qubits is equivalent to applying
for the column vector b discussed above. Converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 may further include modifying the Pauli correction function as Pr :=Pr(P′)c
By iteratively performing the above transformations on the stabilizer circuit specification 44, the standardized stabilizer instrument specification 50 depicted in
As discussed below, vectors over 2 may be mapped to stabilizer states on n qubits. These maps each correspond to a stabilizer state followed by a Pauli correction applied conditionally on random classical bits distributed as fair coin-flips. In addition, any state prepared by a stabilizer circuit 40 may be described with such a map, which may be computed in polynomial time as a function of circuit length. A redundant description of the state may be used to increase the efficiency of an algorithm for converting a stabilizer circuit 40 that prepares the state into the standardized stabilizer instrument specification 50. The following notation is used below:
Xx=Xx
ZZ=Zz
In addition, w(x) is used to indicate the weight of a bitstring x, which is the number of entries of the bitstring x that are equal to 1. xz is used to indicate the bitwise AND of bitstrings x and z, and x+z is used to indicate the bitwise XOR. Computational complexity expressions for the algorithms discussed below also assume that matrices over 2 are stored in row-major form.
A Choi-state-based stabilizer instrument algorithm 56 is provided below, as schematically shown in the example of
The processor 22 may be configured to compute the Choi state family 48 as follows. When the Choi-state-based stabilizer instrument algorithm 56 is performed, the processor 22 may be configured to compute a zero-input-qubit stabilizer circuit specification 46 based at least in part on the stabilizer circuit specification 44 and compute the Choi state family 48 as the Choi state family of the zero-input-qubit stabilizer circuit specification 46. The zero-input-qubit stabilizer circuit specification 46 may, for example, be computed at least in part by coupling each of one or more input qubits of the stabilizer circuit specification 44 to a respective Bell pair, as shown in the example of
Using the Choi-state-based stabilizer instrument algorithm 56, given the zero-input-qubit stabilizer circuit specification 46, the following properties of the standardized stabilizer instrument specification 50 of the stabilizer circuit 40 may be computed:
In addition, conditional on random bit values (including the classical random bits and random measurement outcomes) given by the vector r over 2, the following properties hold:
In the Choi-state-based stabilizer instrument algorithm 56, the description of the Choi state input-output Clifford unitary C is initialized as the empty description. In addition, and B are initialized as empty matrices. For each gate G in the stabilizer circuit 40, the following respective steps are performed in the following cases:
When G is a qubit allocation, replace C with C⊗I and adding a zero row to . This step has a time complexity of O(|C|2+cols()).
When G is an allocation of a classical random bit distributed as a fair coin-flip, add zero columns to and B, add a zero row to B, set the last bit of the added row of B to 1, and append 1/2 to Prob. This step has a time complexity of O (cols()(|C|+rows(B))).
When G is a Clifford unitary {tilde over (C)} acting on qubits from an ordered set K, replace C with {tilde over (C)} [K]C using a compose operation, where {tilde over (C)} [K] is the Clifford unitary{tilde over (C)} acting on qubits indexed by K. This step has a time complexity of 0 ((|C|·|K|2).
When G is a special Clifford unitary {tilde over (C)} written as P, as eπP/4, or Λ(P, P′) for Pauli operators, P, P′ acting on qubits indexed by K, replace C with {tilde over (C)}′C using an exponential compose operation, a controlled Pauli compose operation, and a Pauli compose operation. In the above expression for G, Λ(P, P′) is defined as:
for P, P′ that commute with each other. This step has a time complexity of O(|C|·|K|).
In examples in which G is a Pauli unitary P supported on k qubits and conditional on the parity b of the random bits r, the random bits r are masked by a bitstring c, which is conditional on c, r=b. When b=0, replace C with PC using a Pauli compose operation. Then compute {tilde over (P)}=C†PC using a preimage operation. For j∈[n], when x({tilde over (P)})j=1, update row j of by setting j:=j+c. The total time complexity of these steps is given by O(cols()|C|+k|C|).
G may be a Pauli unitary P supported on k qubits and conditional on the parity b of classical bits and measurement outcomes given by the list of indices L. The classical bits and measurement outcomes may, for example, be indexed according to their order of occurrence in the stabilizer circuit 40. In examples in which G has the above properties, s may be defined as a bitstring equal to the parity of rows B indexed by L. In addition, J may be defined as a list of non-zero indices of s excluding 1. P may be applied conditionally on the parity of b+s1 random bits from J. The total time complexity of these steps is given by O(cols()|C|+k|C|).
In some examples, G may be a joint measurement of a Pauli operator P supported on k qubits. The state of the k qubits may be stabilized by the operator ±P′ supported on k′ qubits such that P,P=1. In such examples, set {tilde over (P)}′=C†P′C. Subsequently to setting {tilde over (P)}′, assert {tilde over (P)}′=±Za so that the state C|0⊗n is stabilized by ±P′. When P′ =—za, set P′ to —P′ so that the state is stabilized by P′. In addition, define Q=(−i) PP′ and replace C with
using an exponential compose operation. Define c=Ta, where c is a bitwise parity of a set of rows of . Then allocate a random classical bit and apply P′ conditional on cell c⊗1. The total runtime complexity of the above steps is given by O(|C|(k=k′)+cols()·|C|+cols()(|C|+rows(B))).
In some examples, G may be a joint measurement of a Pauli operator P supported on k qubits. In such examples, compute {tilde over (P)}=C†PC using the preimage operation. When x({tilde over (P)})=0, the measurement outcome is deterministic. In examples in which x({tilde over (P)})=0, when s({tilde over (P)})=2, set b to 1, and otherwise set b to 0. In addition, in examples in which x({tilde over (P)})=0, add a row b∈N∈Tz({tilde over (P)}) to B and append 1 to Prob. In examples in which x({tilde over (P)}) is nonzero, set j to the position of the first nonzero bit of x({tilde over (P)}). The Pauli unitary P′=CXjC† anti-commutes with P, and the steps discussed above for the P′, P=1 case may be performed. The total runtime complexity of the above steps is given by O (|C|·(cols()·|C|)+cols()(|C|+rows(B))).
G may be a destructive measurement of a qubit j in the computational basis. In such examples, perform a Zj measurement using the joint Pauli measurements steps discussed above. Subsequently to performing the Zj measurement, disentangle the qubit j by modifying C such that C|0⊗n is in the same state and such that CZ1C\=±Zj and CXjC†=±Xj. Then remove rows j and n+j and columns j and n+j from the description of C and remove row j from . The total runtime complexity of the above steps is given by O (|C|·(cols()·|C|)+cols()(|C|+rows(B))+|C|2).
Using the above steps of the Choi-state-based stabilizer instrument algorithm 56, the properties of the standardized stabilizer instrument specification 50 listed above may be computed. As seen from the computational complexity expressions, the properties of the standardized stabilizer instrument specification 50 may be computed in polynomial time.
The Choi-state-based stabilizer instrument algorithm 56 further includes steps by which the processor 22 may be configured to compute the standardized stabilizer instrument specification 50 from the Choi state family 48 of the stabilizer circuit 40. The classical computing device 20 is schematically shown in
When computing the standardized stabilizer instrument specification 50 based at least in part on the Choi state family 48, as depicted in the example of
As depicted in the example of
The steps of computing the standardized stabilizer instrument specification 50 from the Choi state family 48 are discussed in further detail below. The processor 22 is configured to receive, as input, the Choi state input-output Clifford unitary C, which is a kin+kout -qubit Clifford unitary. The Choi-state-based stabilizer instrument algorithm 56 further receives the Choi state bit matrix , which is a (ki +kout)×l matrix over 2. The Choi state bit matrix describes a family of Choi states |0⊗(k
In the steps of the Choi-state-based stabilizer instrument algorithm 56 performed when computing the standardized stabilizer instrument specification 50 from the Choi state family 48, the processor 22 is configured to compute a partition of the Choi state input-output Clifford unitary C for a set K and a set Kc. The set K includes the first kout qubits and the set Kc includes the last kout qubits of the Clifford unitary C. The partition includes the invertible bit matrix B, which is a (kin+knit)×(kin+kout) matrix over 2, and further includes integers k1 and k2. For the partition of Choi state input-output C, the additional Clifford unitary {tilde over (C)} is defined as {tilde over (C)}=CUB, where UB is a Clifford unitary described by the following (2n+2)×(2n+2) matrix:
The additional Clifford unitary e has the following properties:
For the partition of the Choi state input-output Clifford unitary C, the following property holds:
|0⊗(k
This is the case because UB†=UB
Returning to the steps of the Choi-state-based stabilizer instrument algorithm 56, set k=(n−k1−k2)/2 and assert that k is an integer.
Construct Cout acting on kout=k1+k qubits. Constructing C out includes the following steps:
Complete the partially specified Cout to form a full Clifford unitary using {tilde over (C)}, with CoutZjCout\ and {tilde over (C)}Xj{tilde over (C)}† restricted to K form a symplectic basis. Thus, the output Clifford unitary Cout acting on kout=k1+k qubits is constructed.
The Choi-state-based stabilizer instrument algorithm 56 further includes constructing Cin acting on kout=k2+k qubits. Constructing Cin includes the following steps:
Set CinZjCin† to {tilde over (C)}Zk
Set CinZk
Set CinXk
Complete the partially specified Cin to form a full Clifford unitary using {tilde over (C)}, considering that CinZjCin† and {tilde over (C)}Zk
The Choi-state-based stabilizer instrument algorithm 56 further includes setting à to the first k1 rows of B−1, setting Ãr to rows k1+1 to k1+k2 of B−1, setting Ãx to rows k1+k2+1 to k1+k2+k of B−1, and setting A, to rows k1+k2+k+1 to n of B−1.
The Choi-state-based stabilizer instrument algorithm 56 further includes asserting that Ar is a full-rank matrix and computing an invertible matrix R such that ArR =lk
To complete the Choi-state-based stabilizer instrument algorithm 56, the processor 22 is further configured to set Ax=ÃxR, setting Az=AzR, and setting A=ÃR. Thus, each of the matrices included in the general form is computed.
At step 104, the method 100 further includes computing a standardized stabilizer instrument specification of a stabilizer instrument based at least in part on the stabilizer circuit specification. The standardized stabilizer instrument specification includes an input Clifford unitary, an output Clifford unitary, and a plurality of bit matrices. The plurality of bit matrices may, for example, include a first bit matrix, a second bit matrix, and a third bit matrix. At step 106, the method 100 further includes storing the standardized stabilizer instrument specification in memory.
At step 122, steps 116 may further include computing a plurality of additional bit matrices based at least in part on the Choi state bit matrix, the additional Clifford unitary and an inversion of the invertible bit matrix. The plurality of additional bit matrices may, for example, include a first additional bit matrix, a second additional bit matrix, a third additional bit matrix, and a fourth additional bit matrix. In addition, at step 124, step 116 may further include computing the plurality of bit matrices based at least in part on the plurality of additional bit matrices.
Turning now to
In the example of
The processor 22 is further configured to compute a logical instrument specification 210 based at least in part on the standardized stabilizer instrument specification 50, the logical instrument input error correction code 200, and the logical instrument output error correction code 202.
The standardized stabilizer instrument specification 50 shown in
The logical instrument specification 210 includes a logical input Clifford unitary CL,in, a logical output Clifford unitary CL,out, a plurality of logical instrument bit matrices 214, and a logical instrument relabeling matrix RL. In the logical instrument specification 210, the logical input Clifford unitary C on and the logical output Clifford unitary CL,out act on {tilde over (k)}in and {tilde over (k)}out qubits, respectively. The plurality of logical instrument bit matrices 214 include a first logical instrument bit matrix ÃS, a second logical instrument bit matrix ÃL, a third logical instrument bit matrix Ãx, and a fourth logical instrument bit matrix Ãz in the example of
The standardized stabilizer instrument specification 50 and the logical instrument specification 210 are equal up to relabeling, such that the logical instrument relabeling matrix RL satisfies RLr=s⊗rL. Similarly to the relabeling matrix R included in the standardized stabilizer instrument specification 50, the logical instrument relabeling matrix RL is a matrix over 2 .
Returning to
Applying the input generator adjustment 240 to the logical instrument error correction code 230 includes expressing the generators of kin, {tilde over (k)}, Cin in terms of the generators of kin, k, Cin. In addition, applying the input generator adjustment 240 further includes computing an input change-of-generators bit matrix Bin, which is a (kin−k) x (kin−k) matrix over 2, based at least in part on the input Clifford unitary Cin and the logical instrument input code Clifford unitary {tilde over (C)}in using a change-of-generators matrix computation algorithm. The inputs to the change-of-generators matrix computation algorithm are Pj=CinZjCin\ for j∈[kin−k] and Qj, =CinZj,Cin\ for j′∈[kin−kin ]. In examples in which no such matrix B in exists, the input generator adjustment 240 may fail and may report to the user that kin, {tilde over (k)}, Cin and kin, k, Cin are incompatible codes.
When applying the output generator adjustment 242 shown in
Aligning the generators further includes setting {tilde over (C)}in=Cin(UB
Subsequently to aligning the input and output generators of the standardized stabilizer instrument specification 50 and the logical instrument specification 210, the processor 22 is further configured to define a plurality of intermediate bit matrices 224 over 2. The plurality of intermediate bit matrices 224 includes a first intermediate bit matrix Ā=BoutA (Bin−1|Il), a second intermediate bit matrix Āx=Ax(Bin−1|Il), and a third intermediate bit matrix Āz=Az(Bin−1|Il). In these equations, the notation (A|B) indicates that the columns of the matrices A and B are combined from left to right into a single matrix. In addition, the processor 22 is further configured to assert that the standardized stabilizer instrument specification 50 and the logical instrument specification 210 are equal up to relabeling, with Cin=
The processor 22 is further configured to define a syndrome-qubit matrix ĀS as the first kout−{tilde over (k)}out rows of the first intermediate bit matrix Ā and define a logical-qubit matrix ĀL as the last {tilde over (k)}out−k rows of the first intermediate bit matrix Ā.
Returning to the example of
The logical operator adjustments may be computed such that the identities shown in
As shown in
Splitting the input representation adjustment matrices 234 includes setting a first split input representation adjustment bit matrix ĀL,in,x and a second split input representation adjustment bit matrix Āin,z equal to the first {tilde over (k)}in−k rows of the first input representation adjustment bit matrix Āin,x and the second input representation adjustment bit matrix Āin,z, respectively. In addition, splitting the output representation adjustment matrices 236 includes setting a first split output representation adjustment bit matrix ĀL,out,x and a second split output representation adjustment bit matrix ĀL,out,z equal to the first kout−k rows of the first output representation adjustment bit matrix Āout,x and the second output representation adjustment bit matrix Āout,z respectively. The bit matrices with subscripts that include L are configured to adjust the logical measurement outcomes.
Splitting the input representation adjustment matrices 234 further includes setting a third split input representation adjustment bit matrix ĀQ,in,x and a fourth split input representation adjustment bit matrix ĀQ,in,z equal to the last k rows of the first input representation adjustment bit matrix Āin,x and the second input representation adjustment bit matrix Āin,z, respectively. Splitting the output representation adjustment matrices 236 further includes setting third split output representation adjustment bit matrix ĀQ,out,x and a fourth split output representation adjustment bit matrix ĀQ,out,z equal to the last k rows of the first output representation adjustment bit matrix Āout,x and the second output representation adjustment bit matrix Āout,z, respectively.
Returning to
Thus, the measurement outcomes of the logical instrument specification 210 and the adjusted logical instrument specification 270 are related as
The processor is further configured to compute the plurality of logical instrument bit matrices 214 based at least in part on the plurality of split representation adjustment bit matrices and the intermediate relabeling matrix. The processor 22 is configured to compute the third logical instrument bit matrix Ãx by setting Ãx=(ĀQ,in,x|I{tilde over (k)}
By performing the steps discussed above, the processor 22 is configured to compute each of the components of the logical instrument specification 210, thereby mapping the standardized stabilizer instrument specification 50 to the logical instrument specification 210. The processor 22 is therefore configured to compute the logical action 212 performed by the physical-qubit-level stabilizer instrument expressed in the standardized stabilizer instrument specification 50. The processor 22 is further configured to store the logical instrument specification 210 in the memory 24.
At step 306, the method 300 further includes computing a logical instrument specification based at least in part on the standardized stabilizer instrument specification, the logical instrument input error correction code, and the logical instrument output error correction code. The logical instrument specification includes a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. In some examples, the plurality of logical instrument bit matrices may include a first logical instrument bit matrix, a second logical instrument bit matrix, a third logical instrument bit matrix, and a fourth logical instrument bit matrix. At step 308, the method 300 further includes storing the logical instrument specification in memory.
Computing the intermediate input error correction code and the intermediate output error correction code at step 310 may include, at step 312, computing an input change-of-generators bit matrix based at least in part on the input Clifford unitary and the logical instrument input code Clifford unitary included in the logical instrument input error correction code. In addition, step 310 may further include, at step 314, computing an output change-of-generators bit matrix based at least in part on the output Clifford unitary and the logical instrument output code Clifford unitary included in the logical instrument output error correction code. At step 316, step 310 may further include computing the intermediate input error correction code and the intermediate output error correction code based at least in part on the input change-of-generators bit matrix and the output change-of-generators bit matrix.
At step 322, the method 300 may further include computing a plurality of split representation adjustment bit matrices based at least in part on the plurality of input representation adjustment matrices and the plurality of output representation adjustment matrices. When the split representation adjustment bit matrices are computed, the first input representation adjustment bit matrix, the second input representation adjustment bit matrix, the first output representation adjustment bit matrix, and the second output representation adjustment bit matrix may each be split into a portion that implements a logical action and a portion that acts on preserved qubits, respectively.
At step 324, the method 300 may further include computing an intermediate relabeling matrix based at least in part on the plurality of split representation adjustment bit matrices. In addition, at step 326, the method 300 may further include computing the logical instrument relabeling matrix based at least in part on the intermediate relabeling matrix and the input change-of-generators bit matrix. The method 300 may further include, at step 328, computing the plurality of logical instrument bit matrices based at least in part on the plurality of split representation adjustment bit matrices and the intermediate relabeling matrix. Thus, each of the components of the logical instrument specification may be computed.
As discussed in further detail below, the processor 22 is further configured to compare pairs of standardized stabilizer instrument specifications 50 to determine whether those standardized stabilizer instrument specifications 50 are equal up to measurement outcome relabeling. When the standardized stabilizer instrument specifications 50 are equal, the processor 22 may also compute a between-instrument relabeling matrix for the pair of standardized stabilizer instrument specifications 50. When the standardized stabilizer instrument specifications 50 are not equal, the processor 22 may be configured to instead compute information indicating differences between the standardized stabilizer instrument specifications 50. Such information may, for example, be used to identify an error when the error correction protocol 32 is performed.
Based at least in part on the first stabilizer instrument specification 400 and the second stabilizer instrument specification 402, the processor 22 is further configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. In addition, the processor 22 is further configured to output an indication 412 of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. In some examples, the processor 22 may be configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument, up to measurement outcome relabeling, when executing the error correction protocol 32 of the quantum computing device 10 as discussed above. In such examples, the indication 412 of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling may be included in debugging information 410 generated as an output of the error correction protocol 32.
When the processor 22 computes the logical instrument specification 210 using the above logical instrument input error correction code 200 and logical instrument output error correction code 202, the logical action 212 is a unitary operator with Pauli corrections. Thus, in the logical instrument specification 210, rL is a zero-dimensional vector and the second logical instrument bit matrix ÃL has zero rows. By computing the logical instrument specification 210, processor 22 computes the logical input Clifford unitary CL,in and the logical output Clifford unitary CL,out. In addition, the processor 22 computes the first, third, and fourth logical instrument bit matrices ÃS, Ãx, and Ãz included in the logical instrument specification 210.
In examples in which CL,in≠CL,out, the processor 22 is configured to return the result that the first stabilizer instrument and the second stabilizer instrument are not equal up to measurement outcome relabeling. Thus, in such examples, the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument. In addition, the processor 22 may be further configured to output a stabilizer instrument transformation Clifford unitary CL,in†≠CL,out. The stabilizer instrument transformation Clifford unitary, in such examples, is a logical action 212 on the preserved qubits by which the first stabilizer instrument and the second stabilizer instrument differ when the measurement outcomes of the first stabilizer instrument and the second stabilizer instrument are zero. Thus, the stabilizer instrument transformation Clifford unitary CL,in† maps the first stabilizer instrument to the second stabilizer instrument. In such examples, the processor 22 is further configured to output the stabilizer instrument transformation Clifford unitary CL,in†.
As shown in the example of
Steps by which the processor 22 may be configured to compute the between-instrument relabeling matrix {circumflex over (R)} are discussed below. The processor 22 may be further configured to compute matrices Âx and Âz by solving the following equation:
CL,in†XÃ
The processor 22 is further configured to compute a random bit relabeling matrix {circumflex over (R)} based at least in part on the plurality of logical instrument bit matrices 214 and the logical instrument relabeling matrix RL. The random bit relabeling matrix {circumflex over (R)} maps the second plurality of random classical bits ľ to the first plurality of random classical bits l according to the equation rc={circumflex over (R)}řc. The matrix {circumflex over (R)} is obtained by solving the following equations:
ÃS(Ik
Ãx(Ik
Ãz(Ik
In examples in which there does not exist a random bit relabeling matrix {circumflex over (R)} that solves the above system of equations, the processor 22 may be configured to output indications of whether solutions exist for each of {hacek over (A)}, {hacek over (A)}x, and {hacek over (A)}z. Thus, in such examples, the processor 22 may be further configured to compute a second bit matrix subset 416 of the plurality of second stabilizer instrument bit matrices 406 that is equal to a corresponding first bit matrix subset 414 of the plurality of first stabilizer instrument bit matrices 404 up to measurement outcome relabeling. The processor 22 may be further configured to output the first bit matrix subset 414 and the second bit matrix subset 416 in the debugging information 410. Using the first bit matrix subset 414 and the second bit matrix subset 416, the user may identify a potential source of error in a circuit that implements the first stabilizer instrument or the second stabilizer instrument.
The processor 22 is further configured to compute the between-instrument relabeling matrix {circumflex over (R)} by setting {circumflex over (R)}=(RL−1|{circumflex over (R)}). Accordingly, in examples in which the first stabilizer instrument and the second stabilizer instrument are equal up to measurement outcome relabeling, the processor 22 may be configured to output the between-instrument relabeling matrix {circumflex over (R)}, and in examples in which the first stabilizer instrument and the second stabilizer instrument are not equal, the processor 22 may be configured to output information via which the user may identify differences between the stabilizer instruments.
At step 506, the method 500 further includes determining, based at least in part on the first stabilizer instrument specification and the second stabilizer instrument specification, whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. In addition, at step 508, the method 500 further includes outputting an indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The indication may, for example, be output to a user interface or to some other computing process.
In some examples, the debugging information is generated at step 512, the method 500 may further include step 514. Step 514 may be performed in examples in which the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument. At step 514, the method 500 may further include computing a second bit matrix subset of the plurality of second stabilizer instrument bit matrices that is equal to a corresponding first bit matrix subset of the plurality of first stabilizer instrument bit matrices up to measurement outcome relabeling. Thus, subsets of the first and second stabilizer instrument bit matrices for which errors do not occur may be identified.
Step 512 may additionally or alternatively include step 516 in some examples. Step 516 may also be performed in examples in which the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument up to measurement outcome relabeling. At step 516, the method 500 may further include computing a stabilizer instrument transformation Clifford unitary that maps the first stabilizer instrument to the second stabilizer instrument. Accordingly, the Clifford unitary by which the stabilizer instruments differ may be computed in examples in which the first and second stabilizer instruments are not equal up to measurement outcome relabeling.
At step 518, the method 500 further includes outputting the debugging information. Thus, outputting the debugging information at step 518 may include outputting the indication at step 508. Outputting the debugging information may, at step 520, include outputting the first bit matrix subset and the second bit matrix subset in examples in which step 514 is performed. Additionally or alternatively, in examples in which step 516 is performed, outputting the debugging information at step 518 may include, at step 522, outputting the stabilizer instrument transformation Clifford unitary.
At step 528, the method 500 may further include determining whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling based at least in part on the logical instrument specification. For example, step 528 may include computing a logical input Clifford unitary, a logical output Clifford unitary, a first logical instrument bit matrix, a second logical instrument bit matrix, a third logical instrument bit matrix, a fourth logical instrument bit matrix, and a logical instrument relabeling matrix.
At step 530, the method 500 may further include computing a between-instrument relabeling matrix that maps a plurality of measurement outcomes performed at the second stabilizer instrument to measurement outcomes performed at the first stabilizer instrument. Step 530 may be performed in examples in which the indication indicates that the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling.
In some examples, inputs to the first stabilizer instrument and the second stabilizer instrument may respectively include a first plurality of random classical bits and a second plurality of random classical bits. In such examples, at step 532, computing the between-instrument relabeling matrix at step 530 may include computing a random bit relabeling matrix based at least in part on the plurality of logical instrument bit matrices and the logical instrument relabeling matrix. The random bit relabeling matrix computed in such examples maps the second plurality of random classical bits to the first plurality of random classical bits. At step 534, step 530 may further include computing the between-instrument relabeling matrix based at least in part on the logical instrument relabeling matrix and the random bit relabeling matrix. The logical instrument relabeling matrix may also be used when computing the between-instrument relabeling matrix.
At step 536, the method 500 may further include outputting the between-instrument relabeling matrix. The between-instrument relabeling matrix may be output along with the indication when the first stabilizer instrument is determined to be equal to the second stabilizer instrument up to measurement outcome relabeling. In some examples, the between-instrument relabeling matrix may be included in the debugging information.
Using the systems and methods discussed above, the stabilizer instrument implemented by a stabilizer circuit may be checked for equality, up to measurement outcome relabeling, with another stabilizer instrument. The other stabilizer instrument may, for example, be a stabilizer instrument intended by a developer of the quantum computing device. In such examples, as part of an error correction protocol, the computing system may be configured to determine whether the quantum computing device correctly implements the intended stabilizer instrument. When an error occurs in the implementation of the stabilizer instrument, the computing system may further output additional debugging information that may be used to identify the source of the error. Thus, the stabilizer instrument equality determination method discussed above may allow for more reliable error correction at the stabilizer circuit.
In some embodiments, the methods and processes described herein may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
Computing system 600 is shown in simplified form. Computing system 600 may embody the computing system 1 described above and illustrated in
Computing system 600 includes a logic processor 602 volatile memory 604, and a non-volatile storage device 606. Computing system 600 may optionally include a display sub system 608, input sub system 610, communication sub system 612, and/or other components not shown in
Logic processor 602 includes one or more physical devices configured to execute instructions. For example, the logic processor may be configured to execute instructions that are part of one or more applications, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
The logic processor may include one or more physical processors configured to execute software instructions. Additionally or alternatively, the logic processor may include one or more hardware logic circuits or firmware devices configured to execute hardware-implemented logic or firmware instructions. Processors of the logic processor 602 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic processor optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic processor may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration. In such a case, these virtualized aspects are run on different physical logic processors of various different machines, it will be understood.
Non-volatile storage device 606 includes one or more physical devices configured to hold instructions executable by the logic processors to implement the methods and processes described herein. When such methods and processes are implemented, the state of non-volatile storage device 606 may be transformed—e.g., to hold different data.
Non-volatile storage device 606 may include physical devices that are removable and/or built-in. Non-volatile storage device 606 may include optical memory, semiconductor memory, and/or magnetic memory, or other mass storage device technology. Non-volatile storage device 606 may include nonvolatile, dynamic, static, read/write, read-only, sequential-access, location-addressable, file-addressable, and/or content-addressable devices. It will be appreciated that non-volatile storage device 606 is configured to hold instructions even when power is cut to the non-volatile storage device 606.
Volatile memory 604 may include physical devices that include random access memory. Volatile memory 604 is typically utilized by logic processor 602 to temporarily store information during processing of software instructions. It will be appreciated that volatile memory 604 typically does not continue to store instructions when power is cut to the volatile memory 604.
Aspects of logic processor 602, volatile memory 604, and non-volatile storage device 606 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
The terms “module,” “program,” and “engine” may be used to describe an aspect of computing system 600 typically implemented in software by a processor to perform a particular function using portions of volatile memory, which function involves transformative processing that specially configures the processor to perform the function. Thus, a module, program, or engine may be instantiated via logic processor 602 executing instructions held by non-volatile storage device 606, using portions of volatile memory 604. It will be understood that different modules, programs, and/or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same module, program, and/or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms “module,” “program,” and “engine” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
When included, display subsystem 608 may be used to present a visual representation of data held by non-volatile storage device 606. The visual representation may take the form of a graphical user interface (GUI). As the herein described methods and processes change the data held by the non-volatile storage device, and thus transform the state of the non-volatile storage device, the state of display subsystem 608 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 608 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic processor 602, volatile memory 604, and/or non-volatile storage device 606 in a shared enclosure, or such display devices may be peripheral display devices.
When included, input subsystem 610 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity; and/or any other suitable sensor.
When included, communication subsystem 612 may be configured to communicatively couple various computing devices described herein with each other, and with other devices. Communication subsystem 612 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network. In some embodiments, the communication subsystem may allow computing system 600 to send and/or receive messages to and/or from other devices via a network such as the Internet.
The following paragraphs discuss several aspects of the present disclosure. According to one aspect of the present disclosure, a computing system is provided, including a processor configured to receive a stabilizer circuit specification of a stabilizer circuit that includes one or more elementary operations. The one or more elementary operations are each selected from the group consisting of: an allocation of one or more qubits in a stabilizer state; an allocation of one or more random classical bits; a Clifford unitary; a Pauli unitary conditional on one or more respective parities of one or more measurement outcomes and/or one or more respective parities of the one or more random classical bits; a joint multi-qubit Pauli measurement; and a destructive one-qubit Pauli measurement. The processor is further configured to compute a standardized stabilizer instrument specification of a stabilizer instrument based at least in part on the stabilizer circuit specification. The standardized stabilizer instrument specification includes an input Clifford unitary, an output Clifford unitary, and a plurality of bit matrices. The processor is further configured to store the standardized stabilizer instrument specification in memory. The above features may have the technical effects of determining and compactly storing a specification of the behavior of a stabilizer circuit.
According to this aspect, the plurality of bit matrices may include a first bit matrix, a second bit matrix, and a third bit matrix. The above features may have the technical effect of encoding transformations implemented by the stabilizer circuit.
According to this aspect, the processor may be configured to compute the standardized stabilizer instrument specification at least in part by computing a Choi state family of the stabilizer instrument. The processor may be further configured to compute the standardized stabilizer instrument specification based at least in part on the Choi state family. The above features may have the technical effect of efficiently computing the standardized stabilizer instrument specification.
According to this aspect, the processor may be further configured to compute a zero-input-qubit stabilizer circuit specification based at least in part on the stabilizer circuit specification. The processor may be further configured to compute the Choi state family as the Choi state family of the zero-input-qubit stabilizer circuit specification. The above features may have the technical effect of converting the stabilizer circuit specification into a form in which the standardized stabilizer instrument specification may be efficiently computed.
According to this aspect, the processor may be configured to compute the zero-input-qubit stabilizer circuit specification at least in part by coupling each of one or more input qubits of the stabilizer circuit specification to a respective Bell pair. The above features may have the technical effect of converting the stabilizer circuit specification into a form in which the standardized stabilizer instrument specification may be efficiently computed.
According to this aspect, the Choi state family is parameterized at least in part by a Choi state input-output Clifford unitary and a Choi state bit matrix. The above features may have the technical effect of encoding the Choi state family of the stabilizer circuit in a compact and efficiently processable form.
According to this aspect, when computing the standardized stabilizer instrument specification based at least in part on the Choi state family, the processor may be further configured to compute an additional Clifford unitary and an invertible bit matrix at least in part by computing a partition of the Choi state input-output Clifford unitary. The invertible bit matrix may be a transformation matrix from the Choi state input-output Clifford unitary into the additional Clifford unitary. The processor may be further configured to compute the input Clifford unitary and the output Clifford unitary based at least in part on the additional Clifford unitary. The above features may have the technical effect of efficiently computing portions of the standardized stabilizer instrument specification using the Choi state family.
According to this aspect, when computing the standardized stabilizer instrument specification based at least in part on the Choi state family, the processor may be further configured to compute a plurality of additional bit matrices based at least in part on the Choi state bit matrix, the additional Clifford unitary and an inversion of the invertible bit matrix. The processor may be further configured to compute the plurality of bit matrices based at least in part on the plurality of additional bit matrices. The above features may have the technical effect of efficiently computing portions of the standardized stabilizer instrument specification using the Choi state family.
According to this aspect, the processor may be further configured to compute a relabeling matrix that maps one or more stabilizer circuit qubit labels of the stabilizer circuit to one or more respective stabilizer instrument qubit labels of the stabilizer instrument. The processor may be further configured to compute the plurality of bit matrices based at least in part on the relabeling matrix. The above features may have the technical effects of efficiently computing portions of the standardized stabilizer instrument specification and of mapping qubit labels of the stabilizer circuit to qubit labels of the standardized stabilizer instrument specification.
According to this aspect, the processor may be configured to compute the standardized stabilizer instrument specification at least in part by iteratively incorporating the elementary operations included in the stabilizer circuit specification into the standardized stabilizer instrument specification, starting from a zero-operation stabilizer instrument specification. The above features may have the technical effect of computing the standardized stabilizer instrument specification in polynomial time as a function of circuit length and number of qubits included.
According to another aspect of the present disclosure, a method for use with a computing system is provided. The method includes receiving a stabilizer circuit specification of a stabilizer circuit that includes one or more elementary operations. The one or more elementary operations are each selected from the group consisting of an allocation of one or more qubits in a stabilizer state; an allocation of one or more random classical bits; a Clifford unitary; a Pauli unitary conditional on one or more respective parities of one or more measurement outcomes and/or one or more respective parities of the one or more random classical bits; a joint multi-qubit Pauli measurement; and a destructive one-qubit Pauli measurement. The method further includes computing a standardized stabilizer instrument specification of a stabilizer instrument based at least in part on the stabilizer circuit specification, wherein the standardized stabilizer instrument specification includes an input Clifford unitary, an output Clifford unitary, and a plurality of bit matrices. The method further includes storing the standardized stabilizer instrument specification in memory. The above features may have the technical effects of determining and compactly storing a specification of the behavior of a stabilizer circuit.
According to this aspect, the plurality of bit matrices may include a first bit matrix, a second bit matrix, and a third bit matrix. The above features may have the technical effect of encoding transformations implemented by the stabilizer circuit.
According to this aspect, computing the standardized stabilizer instrument specification may include computing a Choi state family of the stabilizer instrument and computing the standardized stabilizer instrument specification based at least in part on the Choi state family. The above features may have the technical effect of efficiently computing the standardized stabilizer instrument specification.
According to this aspect, computing the standardized stabilizer instrument specification may further include computing a zero-input-qubit stabilizer circuit specification based at least in part on the stabilizer circuit specification. Computing the standardized stabilizer instrument specification may further include computing the Choi state family as the Choi state family of the zero-input-qubit stabilizer circuit specification. The above features may have the technical effect of converting the stabilizer circuit specification into a form in which the standardized stabilizer instrument specification may be efficiently computed.
According to this aspect, computing the zero-input-qubit stabilizer circuit specification may include coupling each of one or more input qubits of the stabilizer circuit specification to a respective Bell pair. The above features may have the technical effect of converting the stabilizer circuit specification into a form in which the standardized stabilizer instrument specification may be efficiently computed.
According to this aspect, the Choi state family may be parameterized at least in part by a Choi state input-output Clifford unitary and a Choi state bit matrix. The above features may have the technical effect of encoding the Choi state family of the stabilizer circuit in a compact and efficiently processable form.
According to this aspect, the method may further include, when computing the standardized stabilizer instrument specification based at least in part on the Choi state family, computing an additional Clifford unitary and an invertible bit matrix at least in part by computing a partition of the Choi state input-output Clifford unitary. The invertible bit matrix may be a transformation matrix from the Choi state input-output Clifford unitary into the additional Clifford unitary. The method may further include computing the input Clifford unitary and the output Clifford unitary based at least in part on the additional Clifford unitary. The above features may have the technical effect of efficiently computing portions of the standardized stabilizer instrument specification using the Choi state family.
According to this aspect, the method may further include, when computing the standardized stabilizer instrument specification based at least in part on the Choi state family, computing a plurality of additional bit matrices based at least in part on the Choi state bit matrix, the additional Clifford unitary and an inversion of the invertible bit matrix. The method may further include computing the plurality of bit matrices based at least in part on the plurality of additional bit matrices. The above features may have the technical effect of efficiently computing portions of the standardized stabilizer instrument specification using the Choi state family.
According to this aspect, the method may further include computing a relabeling matrix that maps one or more stabilizer circuit qubit labels of the stabilizer circuit to one or more respective stabilizer instrument qubit labels of the stabilizer instrument. The method may further include computing the plurality of bit matrices based at least in part on the relabeling matrix. The above features may have the technical effects of efficiently computing portions of the standardized stabilizer instrument specification and of mapping qubit labels of the stabilizer circuit to qubit labels of the standardized stabilizer instrument specification.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to receive a stabilizer circuit specification of a stabilizer circuit. The processor is further configured to compute a standardized stabilizer instrument specification of a stabilizer instrument based at least in part on the stabilizer circuit specification. The standardized stabilizer instrument specification includes an input Clifford unitary, an output Clifford unitary, a first bit matrix, a second bit matrix, and a third bit matrix. Computing the standardized stabilizer instrument specification includes computing a Choi state family of the stabilizer instrument and computing the standardized stabilizer instrument specification based at least in part on the Choi state family. The processor is further configured to store the standardized stabilizer instrument specification in memory. The above features may have the technical effects of determining and compactly storing a specification of the behavior of a stabilizer circuit.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to receive a standardized stabilizer instrument specification including an input Clifford unitary, an output Clifford unitary, and a plurality of stabilizer instrument bit matrices. The processor is further configured to receive a logical instrument input error correction code and a logical instrument output error correction code. The processor is further configured to compute a logical instrument specification based at least in part on the standardized stabilizer instrument specification, the logical instrument input error correction code, and the logical instrument output error correction code. The logical instrument specification includes a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. The processor is further configured to store the logical instrument specification in memory. The above features may have the technical effect of computing the logical-qubit-level behavior of a physical-qubit-level stabilizer circuit.
According to this aspect, the plurality of stabilizer instrument bit matrices may include a first stabilizer instrument bit matrix, a second stabilizer instrument bit matrix, and a third stabilizer instrument bit matrix. The above features may have the technical effect of encoding physical-qubit-level transformations implemented by the stabilizer circuit.
According to this aspect, the plurality of logical instrument bit matrices may include a first logical instrument bit matrix, a second logical instrument bit matrix, a third logical instrument bit matrix, and a fourth logical instrument bit matrix. The above features may have the technical effect of encoding logical-qubit-level transformations implemented by the stabilizer instrument.
According to this aspect, the processor may be configured to generate the logical instrument specification at least in part by computing an intermediate input error correction code and an intermediate output error correction code. The intermediate input error correction code and the intermediate output error correction code may map the logical instrument input error correction code and the logical instrument output error correction code to a stabilizer instrument input error correction code and a stabilizer instrument output error correction code, respectively. The above features may have the technical effect of computing a mapping between respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, computing the intermediate input error correction code and the intermediate output error correction code may include computing an input change-of-generators bit matrix based at least in part on the input Clifford unitary and a logical instrument input code Clifford unitary included in the logical instrument input error correction code. Computing the intermediate input error correction code and the intermediate output error correction code may further include computing an output change-of-generators bit matrix based at least in part on the output Clifford unitary and a logical instrument output code Clifford unitary included in the logical instrument output error correction code. The processor may be further configured to compute the intermediate input error correction code and the intermediate output error correction code based at least in part on the input change-of-generators bit matrix and the output change-of-generators bit matrix. The above features may have the technical effect of computing the mapping between the respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, the processor may be further configured to compute a plurality of input representation adjustment matrices and a plurality of output representation adjustment matrices based at least in part on the input change-of-generators bit matrix and the output change-of-generators bit matrix. The above features may have the technical effect of computing the mapping between the respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, the plurality of input representation adjustment matrices may include a first input representation adjustment bit matrix, a second input representation adjustment bit matrix, and the logical input Clifford unitary. The plurality of output representation adjustment matrices may include a first output representation adjustment bit matrix, a second output representation adjustment bit matrix, and the logical output Clifford unitary. The above features may have the technical effect of computing the mapping between the respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, the processor may be further configured to compute a plurality of split representation adjustment bit matrices based at least in part on the plurality of input representation adjustment matrices and the plurality of output representation adjustment matrices. The processor may be further configured to compute an intermediate relabeling matrix based at least in part on the plurality of split representation adjustment bit matrices. The processor may be further configured to compute the logical instrument relabeling matrix based at least in part on the intermediate relabeling matrix and the input change-of-generators bit matrix. The above features may have the technical effect of determining qubit relabeling between the standardized stabilizer instrument specification and the logical instrument specification.
According to this aspect, the processor may be further configured to compute the plurality of logical instrument bit matrices based at least in part on the plurality of split representation adjustment bit matrices and the intermediate relabeling matrix. The above features may have the technical effect of computing transformations implemented by the logical instrument.
According to this aspect, the stabilizer instrument input error correction code may be a subset of the logical instrument input error correction code, and the stabilizer instrument output error correction code may be a subset of the logical instrument output error correction code. The above features may have the technical effect of allowing the stabilizer instrument error correction codes to be encoded in terms of the logical instrument error correction codes.
According to another aspect of the present disclosure, a method for use with a computing system is provided. The method includes receiving a standardized stabilizer instrument specification including an input Clifford unitary, an output Clifford unitary, and a plurality of stabilizer instrument bit matrices. The method further includes receiving a logical instrument input error correction code and a logical instrument output error correction code. The method further includes computing a logical instrument specification based at least in part on the standardized stabilizer instrument specification, the logical instrument input error correction code, and the logical instrument output error correction code. The logical instrument specification includes a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. The method further includes storing the logical instrument specification in memory. The above features may have the technical effect of computing the logical-qubit-level behavior of a physical-qubit-level stabilizer circuit.
According to this aspect, the plurality of stabilizer instrument bit matrices may include a first stabilizer instrument bit matrix, a second stabilizer instrument bit matrix, and a third stabilizer instrument bit matrix. The above features may have the technical effect of encoding physical-qubit-level transformations implemented by the stabilizer circuit.
According to this aspect, the plurality of logical instrument bit matrices may include a first logical instrument bit matrix, a second logical instrument bit matrix, a third logical instrument bit matrix, and a fourth logical instrument bit matrix. The above features may have the technical effect of encoding logical-qubit-level transformations implemented by the stabilizer instrument.
According to this aspect, the logical instrument specification may be generated at least in part by computing an intermediate input error correction code and an intermediate output error correction code. The intermediate input error correction code and the intermediate output error correction code may map the logical instrument input error correction code and the logical instrument output error correction code to a stabilizer instrument input error correction code and a stabilizer instrument output error correction code, respectively. The above features may have the technical effect of computing a mapping between respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, computing the intermediate input error correction code and the intermediate output error correction code may include computing an input change-of-generators bit matrix based at least in part on the input
Clifford unitary and a logical instrument input code Clifford unitary included in the logical instrument input error correction code. Computing the intermediate input error correction code and the intermediate output error correction code may further include computing an output change-of-generators bit matrix based at least in part on the output Clifford unitary and a logical instrument output code Clifford unitary included in the logical instrument output error correction code. The method may further include computing the intermediate input error correction code and the intermediate output error correction code based at least in part on the input change-of-generators bit matrix and the output change-of-generators bit matrix. The above features may have the technical effect of computing the mapping between the respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, the method may further include computing a plurality of input representation adjustment matrices and a plurality of output representation adjustment matrices based at least in part on the input change-of-generators bit matrix and the output change-of-generators bit matrix. The above features may have the technical effect of computing the mapping between the respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, the plurality of input representation adjustment matrices may include a first input representation adjustment bit matrix, a second input representation adjustment bit matrix, and the logical input Clifford unitary. The plurality of output representation adjustment matrices may include a first output representation adjustment bit matrix, a second output representation adjustment bit matrix, and the logical output Clifford unitary. The above features may have the technical effect of computing the mapping between the respective error correction codes of the stabilizer instrument and the logical instrument.
According to this aspect, the method may further include computing a plurality of split representation adjustment bit matrices based at least in part on the plurality of input representation adjustment matrices and the plurality of output representation adjustment matrices. The method may further include computing an intermediate relabeling matrix based at least in part on the plurality of split representation adjustment bit matrices. The method may further include computing the logical instrument relabeling matrix based at least in part on the intermediate relabeling matrix and the input change-of-generators bit matrix. The above features may have the technical effect of determining qubit relabeling between the standardized stabilizer instrument specification and the logical instrument specification.
According to this aspect, the method may further include computing the plurality of logical instrument bit matrices based at least in part on the plurality of split representation adjustment bit matrices and the intermediate relabeling matrix. The above features may have the technical effect of computing transformations implemented by the logical instrument.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to receive a standardized stabilizer instrument specification including an input Clifford unitary, an output Clifford unitary, and a plurality of stabilizer instrument bit matrices. The processor is further configured to receive a logical instrument input error correction code and a logical instrument output error correction code. The processor is further configured to compute a logical instrument specification that includes a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. Computing the logical instrument specification includes computing an input change-of-generators bit matrix based at least in part on the input Clifford unitary and a logical instrument input code Clifford unitary included in the logical instrument input error correction code. Computing the logical instrument specification further includes computing an output change-of-generators bit matrix based at least in part on the output Clifford unitary and a logical instrument output code Clifford unitary included in the logical instrument output error correction code. Computing the logical instrument specification further includes computing an intermediate input error correction code and a plurality of input representation adjustment matrices based at least in part on the input change-of-generators bit matrix. The plurality of input representation adjustment matrices include a first input representation adjustment bit matrix, a second input representation adjustment bit matrix, and the logical input Clifford unitary. Computing the logical instrument specification further includes computing an intermediate output error correction code and a plurality of output representation adjustment matrices based at least in part on the output change-of-generators bit matrix. The plurality of output representation adjustment matrices include a first output representation adjustment bit matrix, a second output representation adjustment bit matrix, and the logical output Clifford unitary. Computing the logical instrument specification further includes computing a plurality of split representation adjustment bit matrices based at least in part on the plurality of input representation adjustment matrices and the plurality of output representation adjustment matrices. Computing the logical instrument specification further includes computing an intermediate relabeling matrix based at least in part on the plurality of split representation adjustment bit matrices. Computing the logical instrument specification further includes computing the logical instrument relabeling matrix and the plurality of logical instrument bit matrices based at least in part on the intermediate relabeling matrix and the input change-of-generators bit matrix. The processor is further configured to store the logical instrument specification in memory. The above features may have the technical effect of computing the logical-qubit-level behavior of a physical-qubit-level stabilizer circuit.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to receive a first stabilizer instrument specification of a first stabilizer instrument. The first stabilizer instrument specification includes a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices. The processor is further configured to receive a second stabilizer instrument specification of a second stabilizer instrument. The second stabilizer instrument specification includes a second input Clifford unitary, a second output Clifford unitary, and a plurality of second stabilizer instrument bit matrices. Based at least in part on the first stabilizer instrument specification and the second stabilizer instrument specification, the processor is further configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The processor is further configured to output an indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The above features may have the technical effect of testing whether a stabilizer instrument implemented by a stabilizer circuit exhibits intended behavior.
According to this aspect, the processor may be configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument, up to measurement outcome relabeling, when executing an error correction protocol of a quantum computing device. The indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling may be included in debugging information generated as an output of the error correction protocol. The processor may be further configured to output the debugging information. The above features may have the technical effect of identifying errors that occur at a stabilizer circuit.
According to this aspect, the plurality of first stabilizer instrument bit matrices may include a first stabilizer instrument first bit matrix, a first stabilizer instrument second bit matrix, and a first stabilizer instrument third bit matrix. The plurality of second stabilizer instrument bit matrices may include a second stabilizer instrument first bit matrix, a second stabilizer instrument second bit matrix, and a second stabilizer instrument third bit matrix. The above features may have the technical effect of encoding transformations performed by the first stabilizer instrument and the second stabilizer instrument.
According to this aspect, the indication may indicate that the first stabilizer instrument is not equal to the second stabilizer instrument. The processor may be further configured to compute a second bit matrix subset of the plurality of second stabilizer instrument bit matrices that is equal to a corresponding first bit matrix subset of the plurality of first stabilizer instrument bit matrices up to measurement outcome relabeling. The processor may be further configured to output the first bit matrix subset and the second bit matrix subset. The above features may have the technical effect of identifying a potential source of error when implementing a stabilizer instrument at a stabilizer circuit.
According to this aspect, the indication may indicate that the first stabilizer instrument is not equal to the second stabilizer instrument. The processor may be further configured to compute a stabilizer instrument transformation Clifford unitary that maps the first stabilizer instrument to the second stabilizer instrument. The processor may be further configured to output the stabilizer instrument transformation Clifford unitary. The above features may have the technical effect of identifying a correction that converts the first stabilizer instrument into the second stabilizer instrument.
According to this aspect, the processor may be further configured to compute a logical instrument specification based at least in part on the first stabilizer instrument specification. The logical instrument specification may include a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. The processor may be further configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling based at least in part on the logical instrument specification. The above features may have the technical effect of determining whether the stabilizer instruments are equal up to measurement outcome relabeling based on logical-qubit-level behavior of the stabilizer instruments.
According to this aspect, the indication may indicate that the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The processor may be further configured to compute a between-instrument relabeling matrix that maps a plurality of measurement outcomes performed at the second stabilizer instrument to measurement outcomes performed at the first stabilizer instrument. The processor may be further configured to output the between-instrument relabeling matrix. The above features may have the technical effect of computing a mapping between the measurement outcomes of the stabilizer instruments when the stabilizer instruments are equal up to measurement outcome relabeling.
According to this aspect, inputs to the first stabilizer instrument and the second stabilizer instrument may respectively include a first plurality of random classical bits and a second plurality of random classical bits. The processor may be further configured to compute a random bit relabeling matrix based at least in part on the plurality of logical instrument bit matrices and the logical instrument relabeling matrix. The random bit relabeling matrix may map the second plurality of random classical bits to the first plurality of random classical bits. The processor may be further configured to compute the between-instrument relabeling matrix based at least in part on the logical instrument relabeling matrix and the random bit relabeling matrix. The above features may have the technical effect of computing the relabeling matrix in a manner that accounts for all the inputs configured to be received at the stabilizer instruments.
According to this aspect, the logical instrument specification may be computed based at least in part on a logical instrument input error correction code including the second input Clifford unitary and a logical instrument output error correction code including the second output Clifford unitary. The above features may have the technical effect of determining whether the stabilizer instruments are equal up to measurement outcome relabeling based on logical-qubit-level behavior of the stabilizer instruments.
According to this aspect, the first stabilizer instrument and the second stabilizer instrument may have a same number of input qubits and a same number of output qubits. The above features may have the technical effects of allowing isomorphisms between the input qubits of the stabilizer instruments and between the output qubits of the stabilizer instruments.
According to another aspect of the present disclosure, a method for use with a computing system is provided. The method includes receiving a first stabilizer instrument specification of a first stabilizer instrument. The first stabilizer instrument specification includes a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices. The method further includes receiving a second stabilizer instrument specification of a second stabilizer instrument. The second stabilizer instrument specification includes a second input Clifford unitary, a second output Clifford unitary, and a plurality of second stabilizer instrument bit matrices. Based at least in part on the first stabilizer instrument specification and the second stabilizer instrument specification, the method further includes determining whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The method further includes outputting an indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The above features may have the technical effect of testing whether a stabilizer instrument implemented by a stabilizer circuit exhibits intended behavior.
According to this aspect, the method may further include determining whether the first stabilizer instrument is equal to the second stabilizer instrument, up to measurement outcome relabeling, when executing an error correction protocol of a quantum computing device. The method may further include generating debugging information as an output of the error correction protocol. The indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling may be included in the debugging information. The method may further include outputting the debugging information. The above features may have the technical effect of identifying errors that occur at a stabilizer circuit.
According to this aspect, the plurality of first stabilizer instrument bit matrices may include a first stabilizer instrument first bit matrix, a first stabilizer instrument second bit matrix, and a first stabilizer instrument third bit matrix. The plurality of second stabilizer instrument bit matrices may include a second stabilizer instrument first bit matrix, a second stabilizer instrument second bit matrix, and a second stabilizer instrument third bit matrix. The above features may have the technical effect of encoding transformations performed by the first stabilizer instrument and the second stabilizer instrument.
According to this aspect, the indication may indicate that the first stabilizer instrument is not equal to the second stabilizer instrument. The method may further include computing a second bit matrix subset of the plurality of second stabilizer instrument bit matrices that is equal to a corresponding first bit matrix subset of the plurality of first stabilizer instrument bit matrices up to measurement outcome relabeling. The method may further include outputting the first bit matrix subset and the second bit matrix subset. The above features may have the technical effect of identifying a potential source of error when implementing a stabilizer instrument at a stabilizer circuit.
According to this aspect, the indication may indicate that the first stabilizer instrument is not equal to the second stabilizer instrument. The method may further include computing a stabilizer instrument transformation Clifford unitary that maps the first stabilizer instrument to the second stabilizer instrument. The method may further include outputting the stabilizer instrument transformation Clifford unitary. The above features may have the technical effect of identifying a correction that converts the first stabilizer instrument into the second stabilizer instrument.
According to this aspect, the method may further include computing a logical instrument specification based at least in part on the first stabilizer instrument specification. The logical instrument specification may include a logical input Clifford unitary, a logical output Clifford unitary, a plurality of logical instrument bit matrices, and a logical instrument relabeling matrix. The method may further include determining whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling based at least in part on the logical instrument specification. The above features may have the technical effect of determining whether the stabilizer instruments are equal up to measurement outcome relabeling based on logical-qubit-level behavior of the stabilizer instruments.
According to this aspect, the indication may indicate that the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The method may further include computing a between-instrument relabeling matrix that maps a plurality of measurement outcomes performed at the second stabilizer instrument to measurement outcomes performed at the first stabilizer instrument. The method may further include outputting the between-instrument relabeling matrix. The above features may have the technical effect of computing a mapping between the measurement outcomes of the stabilizer instruments when the stabilizer instruments are equal up to measurement outcome relabeling.
According to this aspect, inputs to the first stabilizer instrument and the second stabilizer instrument may respectively include a first plurality of random classical bits and a second plurality of random classical bits. The method may further include computing a random bit relabeling matrix based at least in part on the plurality of logical instrument bit matrices and the logical instrument relabeling matrix. The random bit relabeling matrix may map the second plurality of random classical bits to the first plurality of random classical bits. The method may further include computing the between-instrument relabeling matrix based at least in part on the logical instrument relabeling matrix and the random bit relabeling matrix. The above features may have the technical effect of computing the relabeling matrix in a manner that accounts for all the inputs configured to be received at the stabilizer instruments.
According to this aspect, the logical instrument specification may be computed based at least in part on a logical instrument input error correction code including the second input Clifford unitary and a logical instrument output error correction code including the second output Clifford unitary. The above features may have the technical effect of determining whether the stabilizer instruments are equal up to measurement outcome relabeling based on logical-qubit-level behavior of the stabilizer instruments.
According to another aspect of the present disclosure, a computing system is provided, including a processor configured to, during execution of an error correction protocol of a quantum computing device, receive a first stabilizer instrument specification of a first stabilizer instrument. The first stabilizer instrument specification includes a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices. The plurality of first stabilizer instrument bit matrices includes a first stabilizer instrument first bit matrix, a first stabilizer instrument second bit matrix, and a first stabilizer instrument third bit matrix. The processor is further configured to receive a second stabilizer instrument specification of a second stabilizer instrument. The second stabilizer instrument specification includes a second input Clifford unitary, a second output Clifford unitary, and a plurality of second stabilizer instrument bit matrices. The plurality of second stabilizer instrument bit matrices includes a second stabilizer instrument first bit matrix, a second stabilizer instrument second bit matrix, and a second stabilizer instrument third bit matrix. Based at least in part on the first stabilizer instrument specification and the second stabilizer instrument specification, the processor is further configured to determine whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. Based at least in part on the determination of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling, the processor is further configured to generate debugging information as an output of the error correction protocol. The debugging information includes a second bit matrix subset of the plurality of second stabilizer instrument bit matrices that is equal to a corresponding first bit matrix subset of the plurality of first stabilizer instrument bit matrices up to measurement outcome relabeling, ora between-instrument relabeling matrix that maps a plurality of measurement outcomes performed at the second stabilizer instrument to measurement outcomes performed at the first stabilizer instrument. The processor is further configured to output the debugging information. The above features may have the technical effect of testing whether a stabilizer instrument implemented by a stabilizer circuit exhibits intended behavior.
“And/or” as used herein is defined as the inclusive or ν, as specified by the following truth table:
It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
This application claims priority to U.S. Provisional Patent Application Ser. No. 63/383,057, filed Nov. 9, 2022, the entirety of which is hereby incorporated herein by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
63383057 | Nov 2022 | US |