STABILIZER INSTRUMENT EQUALITY DETERMINATION

Information

  • Patent Application
  • 20240169244
  • Publication Number
    20240169244
  • Date Filed
    December 16, 2022
    a year ago
  • Date Published
    May 23, 2024
    5 months ago
  • CPC
    • G06N10/60
    • G06N10/80
  • International Classifications
    • G06N10/60
    • G06N10/80
Abstract
A computing system 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 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 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.
Description
BACKGROUND

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.


SUMMARY

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.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 schematically shows an example computing system 1 including a quantum computing device that is communicatively coupled to a classical computing device, according to one example embodiment.



FIG. 2A schematically shows the computing system when a processor computes a standardized stabilizer instrument specification based at least in part on a stabilizer circuit, according to the example of FIG. 1.



FIG. 2B schematically shows the standardized stabilizer instrument specification computed for the stabilizer circuit, according to the example of FIG. 2A.



FIG. 3 schematically shows a zero-operation standardized stabilizer instrument specification, according to the example of FIG. 2A.



FIG. 4A schematically shows the classical computing device when the processor inductively constructs the standardized stabilizer instrument specification from a stabilizer circuit specification, according to the example of FIG. 2A.



FIG. 4B schematically shows a joint Pauli measurement stabilizer instrument, according to the example of FIG. 4A.



FIG. 5 schematically shows a Choi-state-based stabilizer instrument algorithm with which the processor may be configured to compute the standardized stabilizer instrument specification, according to the example of FIG. 2A.



FIG. 6 schematically shows the classical computing device when the processor computes the standardized stabilizer instrument based at least in part on a Choi state family, according to the example of FIG. 5.



FIG. 7A shows a flowchart of a method for use with a computing system to compute a standardized stabilizer instrument specification, according to the example of FIG. 2A.



FIGS. 7B-7D show additional steps of the method of FIG. 7A that may be performed when computing the standardized stabilizer instrument specification.



FIG. 8A schematically shows the classical computing device when the processor is configured to compute a logical instrument specification corresponding to a standardized stabilizer instrument specification, according to the example of FIG. 2A.



FIG. 8B schematically shows the logical instrument specification corresponding to the standardized stabilizer instrument specification, according to the example of FIG. 8A.



FIG. 9A schematically shows the classical computing device when the processor is configured to generate intermediate results that are used when computing the logical instrument specification, according to the example of FIG. 8A.



FIG. 9B schematically shows relationships between a stabilizer instrument input error correction code and the logical instrument error correction code, as well as between a stabilizer instrument output error correction code and a logical instrument error correction code, according to the example of FIG. 8A.



FIG. 10A schematically shows an example of an input generator adjustment that may be performed on the standardized stabilizer instrument specification to align the stabilizer instrument input error correction code with the logical instrument input error correction code, according to the example of FIG. 9B.



FIG. 10B schematically shows an example of an output generator adjustment that may be performed on the standardized stabilizer instrument specification to align the stabilizer instrument output error correction code with the logical instrument output error correction code, according to the example of FIG. 9B.



FIG. 11 schematically shows a stabilizer instrument specification with split measurement results, according to the example of FIG. 8A.



FIG. 12A schematically shows an input operator representation adjustment that may be performed on the standardized stabilizer instrument specification, according to the example of FIG. 9A.



FIG. 12B schematically shows an output operator representation adjustment that may be performed on the standardized stabilizer instrument specification, according to the example of FIG. 9A.



FIG. 13 schematically shows the classical computing device when the processor is configured to compute a plurality of split representation adjustment bit matrices based at least in part on a plurality of input representation adjustment matrices and a plurality of output representation adjustment matrices, according to the example of FIG. 9A.



FIG. 14 schematically shows an adjusted logical instrument specification obtained by substituting the input operator representation adjustment and the output operator representation adjustment into the logical instrument specification with split measurement results, according to the example of FIGS. 12A-12B.



FIG. 15A shows a flowchart of a method for use with a computing system to compute a logical instrument specification from a standardized stabilizer instrument specification, according to the example of FIG. 8A.



FIG. 15B shows additional steps of the method of FIG. 15A that may be performed in some examples when computing the logical instrument specification.



FIG. 15C shows additional steps of the method of FIG. 15B that may be performed in examples in which an input change-of-generators bit matrix and an output change-of-generators bit matrix are computed.



FIG. 16 schematically shows the classical computing device when the processor is configured to perform equality determination on a first stabilizer instrument specification of a first stabilizer instrument and a second stabilizer instrument specification of a second stabilizer instrument, according to the example of FIG. 2A.



FIG. 17 schematically shows the classical computing device when the processor is configured to compute a logical instrument specification when performing equality determination on the first stabilizer instrument specification and the second stabilizer instrument specification, according to the example of FIG. 16.



FIG. 18A shows a flowchart of a method for use with a computing system to determine whether a pair of stabilizer instruments are equal up to measurement outcome relabeling, according to the example of FIG. 16.



FIGS. 18B-18C show additional steps of the method of FIG. 18A that may be performed in some examples.



FIG. 19 shows a schematic view of an example computing environment in which the computing system of FIG. 1 may be instantiated.





DETAILED DESCRIPTION

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.



FIG. 1 schematically shows an example computing system 1 including a quantum computing device 10 that is communicatively coupled to a classical computing device 20. The quantum computing device 10 may include one or more logical qubit encoding surfaces 12. The logical qubit encoding surface 12 is a portion of the quantum computing device 12 at which a measurement device 16 interfaces with one or more sets of physical qubits 13B that form one or more logical qubits. At each of the logical qubit encoding surfaces 12, the plurality of logical qubits 13A are configured to be encoded by corresponding arrays of the physical qubits 13B. Encoding the logical qubits 13A using arrays of physical qubits 13B may allow the logical qubits 13A to be instantiated in a fault-tolerant manner in which errors that occur at the logical qubit encoding surface 12 may be identified and corrected.


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 custom-charactern. 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, custom-characterP, Qcustom-character=0∈custom-character2 if P and Q commute and custom-characterP, Qcustom-character=1Åcustom-character2 otherwise. For any subgroup G of a Pauli group, G is defined as:






G

={P∈
custom-character
k
:
custom-character
P, g
custom-character
=0, ∀g∈G}


Thus, G includes all the members of the Pauli group that commute with each member of G. In the above definitions, custom-character2 is the two-element finite field. The two-element finite field custom-character2 has the elements {0,1}, and within the two-element finite field custom-character2, addition and multiplication are performed modulo 2. Thus, matrices over custom-character2 are matrices with elements that are each included in custom-character2.


A quantum instrument with a set of outcomes R is defined as including |R| completely positive non-zero maps {custom-characterr: r∈R}, where Σr∈Rcustom-characterr is a trace-preserving map. The quantum instrument maps a density matrix ρ to a joint quantum-classical state {r, Σr}, where pr=Tr(custom-characterr[ρ]) is the probability of observing outcome r, and τr=custom-characterr[Σ]/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 {custom-characterr: r∈R}, {custom-characterr: r∈R′} are strictly equal when R=R′ and when for all r∈R, custom-characterr=custom-characterr.


Quantum instrument equality with relabeling: two quantum instruments with sets of outcomes R and R′ and completely positive maps {custom-characterr: r∈R}, {custom-characterr: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, custom-characterr=custom-characterf(r).


Two completely positive maps custom-character, custom-character′ are scalar equivalent, denoted as ≃, if there exists a positive scalar α such that custom-charactercustom-character′. For any set custom-character of completely positive maps, define custom-character/≃ 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 custom-character={custom-characterr: r∈R}, custom-character={custom-characterr:∈R′} are class-equal when custom-character/≃=custom-character/≃.


Choi-Jamiolkowski isomorphism for quantum instruments is now discussed. Given a quantum instrument with a set of outcomes R and completely positive maps {custom-characterr: r∈R}, the corresponding family of Choi matrices is {(custom-characterr⊗J)(ΣBell): r∈R}. When custom-characterr maps density matrices on kin qubits to density matrices on k out qubits, the Bell density matrix is given by:










ρ
Bell

=




k
,

j



{

0
,
1

}


k
in








"\[LeftBracketingBar]"

k









j




"\[LeftBracketingBar]"




"\[RightBracketingBar]"



k








j




"\[LeftBracketingBar]"





and


















(


r


𝒥

)



(

ρ
Bell

)


=




k
,

j



{

0
,
1

}


k
in







r


(



"\[LeftBracketingBar]"

k











j


"\[LeftBracketingBar]"




)





"\[LeftBracketingBar]"

k








j


"\[LeftBracketingBar]"







When custom-characterr is specified using linear operators custom-characterr as custom-characterr(ρ)=custom-characterrρcustom-characterrcustom-character, the Choi matrices correspond to normalized pure states. Thus, the Choi states of a quantum instrument may be defined as follows in such examples:














"\[LeftBracketingBar]"

Bell



=




k



{

0
,
1

}


k
in







"\[LeftBracketingBar]"

k









"\[LeftBracketingBar]"

k









and













(


Q
r


I

)





"\[LeftBracketingBar]"

Bell




=



k



Q
r





"\[LeftBracketingBar]"

k










"\[LeftBracketingBar]"

k







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 custom-charactern of unitaries that normalize the Pauli group:






custom-character
n={V∈U2n|Vcustom-characternV\=custom-charactern}


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 custom-charactern, k, Ccustom-character is a subset of the code custom-charactern, k′, C′custom-character if the stabilizer group of custom-charactern, k′, C′custom-character is a subgroup of custom-charactern, k, Ccustom-character.


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 custom-character2r, has completely positive maps custom-characterr(ρ)=QrρQr\, and has a Choi state of Qr that is a stabilizer state proportional to C|Frcustom-character for some Clifford unitary C and matrix F over custom-character2. 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.



FIG. 2A schematically shows the stabilizer circuit 40 in additional detail. A stabilizer circuit 40 is a quantum circuit that is constructed from one or more elementary operations 42. The one or more elementary operations 42 are each selected from the group consisting of:

    • 1. An allocation of one or more qubits in a stabilizer state (42A). For example, the stabilizer state may be a zero state.
    • 2. An allocation of one or more random classical bits distributed as fair coin-flips (42B).
    • 3. A Clifford unitary 42C. The Clifford unitary 42C may, for example, be a Pauli unitary.
    • 4. A conditional Pauli unitary 42D. The conditional Pauli unitary 42D may be 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.
    • 5. A joint multi-qubit Pauli measurement 42E.
    • 6. A destructive one-qubit Pauli measurement 42F.


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 FIG. 2A, the processor 22 is configured to receive a stabilizer circuit specification 44 of the stabilizer circuit 40. The stabilizer circuit specification 44 may encode the stabilizer circuit 40 in terms of the elementary operations 42. The processor 22 is further configured to compute a standardized stabilizer instrument specification 50 of a stabilizer instrument based at least in part on the stabilizer circuit specification 44, as discussed in further detail below.


Two distinct stabilizer circuits 40 may have the same behavior. FIG. 2B schematically shows a standardized stabilizer instrument specification 50 computed for the stabilizer circuit 40. The stabilizer instrument encoded by the standardized stabilizer instrument specification 50 satisfies the definition of a stabilizer instrument provided above for some Clifford unitary C, some matrix F, and some Choi state Qr. By rewriting the stabilizer circuit 40 as the standardized stabilizer instrument specification 50 shown in FIGS. 2A-2B, the processor 22 may be configured to check whether a pair of stabilizer circuits 40 have equivalent behavior, as discussed in further detail below. Given a stabilizer circuit 40, a corresponding standardized stabilizer instrument specification 50 may be computed. The measurement outcomes of the original stabilizer circuit 40 are related to the measurement outcomes of the stabilizer instrument by an invertible affine function. The standardized stabilizer instrument specification 50 is a data structure that encodes a stabilizer instrument implemented by the stabilizer circuit 40.


In the example of in FIGS. 2A-2B, the standardized stabilizer instrument specification 50 is computed for a stabilizer circuit 40 that has kin input qubits and k nit output qubits. In addition, the stabilizer circuit 40 is configured to receive kr random classical bits. The standardized stabilizer instrument specification 50 includes an input Clifford unitary Cin and an output Clifford unitary Cout. The standardized stabilizer instrument specification 50 further includes a plurality of bit matrices 51, including a first bit matrix A, a second bit matrix Ax, and a third bit matrix A. The Clifford unitaries Cin and Cout respectively act on kin and kout qubits. The bit matrices 51 in FIGS. 2A-2B are matrices over custom-character2, and rc is a kr-dimensional random vector over custom-character2. r is an observed outcome of a Z measurement, and l is the dimension of r└rc such that l=kin−k+kr. The first bit matrix A has dimensions (kout−k)×l and the second and third bit matrices A, and A, have dimensions k×l. The superscripts of the X and Z Pauli gates depicted in FIG. 2B indicate the qubits to which those Pauli gates are applied. In some examples, as shown in FIG. 2A, the standardized stabilizer instrument specification 50 may further include an l×l relabeling matrix R.


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 FIG. 3. The example zero-operation stabilizer instrument specification 52 of FIG. 3 has trivial action on input states stabilized by S. The stabilizer group S has l generators and has an encoding Clifford unitary CS. In the example of FIG. 3, the encoding Clifford unitary CS has the property Ccustom-characterZ1, . . . Zlcustom-characterC\=S. The numbers of input and output bits of the zero-operation stabilizer instrument specification 52 are equal, so kin=kout. The matrix A is a zero matrix in the example of FIG. 3, and the Pauli correction function Pr of the zero-operation stabilizer instrument specification 52 is trivial.


Starting from the general form of the zero-operation stabilizer instrument specification 52 shown in the example of FIG. 3, corresponding standardized stabilizer instrument specifications 50 of larger stabilizer circuits 40 may be inductively constructed. FIG. 4A schematically shows the classical computing device 20 when the processor 22 inductively constructs the standardized stabilizer instrument specification 50 from a stabilizer circuit specification 44 in this manner. According to the example of FIG. 4A, the processor 22 is configured to compute the standardized stabilizer instrument specification 50 at least in part by iteratively incorporating the elementary operations 42 included in the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50, starting from a zero-operation stabilizer instrument specification 60. In each of a plurality of iterations 64, the processor 12 is configured to incorporate an elementary operation 42 indicated in the stabilizer circuit specification 44 into the stabilizer instrument specification to thereby generate a stabilizer instrument specification with the elementary operation added 62. When each elementary operation 42 included in the stabilizer circuit specification 44 has been incorporated, the resulting stabilizer instrument specification is the standardized stabilizer instrument specification 50.


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, . . . , Zkout−k. In examples in which P∈T, there exists a column vector b=b1, . . . , bkout−k over custom-character2 such that







P


=


Z

b
1






Z

b


k

out



-
k





P







(C1a) In examples in which P″=(−1)cI for c∈custom-character2, 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 custom-character before applying Pr. The Pauli correction Pr is given by Pr=XAx(r└rc)ZAz(r⊗rc).The measurement of custom-character is equivalent to measuring P″ with outcome r′ and returning the outcome r′└custom-characterPr, P″custom-character. The part of the stabilizer circuit 40 that measures P″ may be replaced with a circuit having the form of the joint Pauli measurement stabilizer instrument 54 shown in FIG. 4B. In the joint Pauli measurement stabilizer instrument 54, the Clifford unitary C may be any Clifford unitary for which CZ1C\=P. The numbers of input and output qubits are equal. The joint Pauli measurement stabilizer instrument 54 is a special case of the standardized stabilizer instrument specification 50 in which k =kin−1, the matrix A is a 1×1 identity matrix, and the Pauli correction function Pr is trivial. The measurement of P″ in the standardized stabilizer instrument specification 50 may be replaced with the joint Pauli measurement stabilizer instrument 54 using a Clifford unitary C0 such that P″=C0ZkC0\. When converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50, the correction Pr may also be moved past C0 by setting Pr:=Pr(P′)cTr. Converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 further includes setting k :=k=1 and setting Cin\:=Cin\C0\. A new outcome bit r′ is appended to the beginning of the outcome vector r, and the affine outcome function is updated. Since r′ 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. Converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 further includes setting Cout :=Cout{tilde over (C)}0, where {tilde over (C)}0 is a version of C0 with permuted inputs and outputs such that the last input becomes the first input, and the ordering of the other inputs is preserved. {tilde over (C)}0 is also extended to act on kout qubits. Converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 further includes setting A :=I└A, where I is the 1×1 identity matrix over custom-character2. Thus, by performing the above transformations, the K+1-operation stabilizer circuit specification 44 may be converted into the standardized stabilizer instrument specification 50.


(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)rmP′)/√{square root over (2)} may be applied to each of the currently available qubits. Alternatively, the unitary (I+(−1)rmajP′Zj)/√{square root over (2)} may be applied. In the above expression for the unitary, aj(r) is the jth element of a vector a=A(r⊗rc). The unitaries(I±P′Zj)/√{square root over (2)} differ by a Pauli correction iP′Zj. The conditional Pauli operator (iP′Zj)rmj(r) may be reduced to act only on qubits x1, . . . , xk by updating the matrix A to A :=A+rcT, where c is a column vector over custom-character2 as discussed above. In addition, converting the stabilizer circuit specification 44 into the standardized stabilizer instrument specification 50 may further include setting Cout:=((I+P′Zj)/ √{square root over (2)})Cout. Thus, by performing the above transformations, the K+1-operation stabilizer circuit specification 44 may be converted into the corresponding standardized stabilizer instrument specification 50.


(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:

    • 1. Measuring a qubit in the Z basis,
    • 2. Applying a Pauli X gate if the measurement outcome is 1, and
    • 3. Removing the resulting qubit, which is always in the 0 state.


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 custom-character2 . 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







X

b
1






X

b


k

out



-
k







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′)cTr. The K+1-operation stabilizer circuit specification may accordingly be converted into the standardized stabilizer instrument specification 50.


By iteratively performing the above transformations on the stabilizer circuit specification 44, the standardized stabilizer instrument specification 50 depicted in FIGS. 2A-2B may be generated from the stabilizer circuit specification 44. The general form may encode the stabilizer instrument corresponding to the stabilizer circuit 40 in a compact manner within memory 24. In addition, the standardized stabilizer instrument specification 50 may be computed in polynomial time in the circuit length and the number of qubits used.


As discussed below, vectors over custom-character2 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=Xx1⊗ . . . ⊗XXn





ZZ=Zz1⊗ . . . ⊗Zzn


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. xcustom-characterz 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 custom-character2 are stored in row-major form.


A Choi-state-based stabilizer instrument algorithm 56 is provided below, as schematically shown in the example of FIG. 5. The Choi-state-based stabilizer instrument algorithm 56 may be used to compute the standardized stabilizer instrument specification 50 shown in FIGS. 2A-2B, as an alternative to the iterative algorithm discussed above. When the Choi-state-based stabilizer instrument algorithm 56 is performed, the processor 22 is configured to compute the standardized stabilizer instrument specification 50 at least in part by computing a Choi state family 48 of the stabilizer instrument. In addition, the processor 22 is further configured to compute the standardized stabilizer instrument specification 50 based at least in part on the Choi state family 48. In some examples, the Choi-state-based stabilizer instrument algorithm may be performed more efficiently than using the iterative algorithm of FIGS. 4A-4B.


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 FIG. 5.


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:

    • 1. n, the number of qubits included in the output of the stabilizer circuit 40.
    • 2. nr, the number of random bits used in the description of the circuit output.
    • 3. nO, the total number of outcomes (classical random bits and measurement outcomes) used in the stabilizer circuit 40.
    • 4. C, an n-qubit Clifford stored as a (2n+2)×(2n+2) matrix.
    • 5. Prob, an array of probabilities that has entries {1/2,1} and length nO.
    • 6. custom-character, an n×nr matrix over custom-character2 stored in row-major form.
    • 7. B, an nO×(nr+1) matrix over custom-character2 stored in row-major form.


      The properties listed above uniquely specify the standardized stabilizer instrument specification 50. Thus, the stabilizer circuit property determination algorithm computes the standardized stabilizer instrument specification 50.


In addition, conditional on random bit values (including the classical random bits and random measurement outcomes) given by the vector r over custom-character2, the following properties hold:

    • 1. The output state of the stabilizer circuit 40 is custom-character|0custom-character⊗n=custom-character.
    • 2. The vector of outcomes is LO=B(1└r), where ⊗ indicates concatenation.
    • 3. The conditional probabilities of the outcomes are given by the array Prob, and the joint probability of the outcome LO is POp∈ProbP.


      Thus, C is a Choi state input-output Clifford unitary and custom-character is a Choi state bit matrix, and C and custom-character parametrize the Choi state family 48 of the stabilizer circuit 40.


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, custom-character 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 custom-character. This step has a time complexity of O(|C|2+cols(custom-character)).


When G is an allocation of a classical random bit distributed as a fair coin-flip, add zero columns to custom-character 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(custom-character)(|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:







Λ

(

P
,

P



)

=



I
+
P

2

+



I
-
P

2

·

P








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 custom-characterc, rcustom-character=b. When b=0, replace C with PC using a Pauli compose operation. Then compute {tilde over (P)}=CPC using a preimage operation. For j∈[n], when x({tilde over (P)})j=1, update row j of custom-character by setting custom-characterj:=custom-characterj+c. The total time complexity of these steps is given by O(cols(custom-character)|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(custom-character)|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 custom-characterP,Pcustom-character=1. In such examples, set {tilde over (P)}′=CP′C. Subsequently to setting {tilde over (P)}′, assert {tilde over (P)}′=±Za so that the state C|0custom-character⊗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







e

i


π
4


Q



C




using an exponential compose operation. Define c=custom-characterTa, where c is a bitwise parity of a set of rows of custom-character. 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(custom-character)·|C|+cols(custom-character)(|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)}=CPC 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∈custom-characterTz({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 custom-characterP′, Pcustom-character=1 case may be performed. The total runtime complexity of the above steps is given by O (|C|·(cols(custom-character)·|C|)+cols(custom-character)(|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|0custom-character⊗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 custom-character. The total runtime complexity of the above steps is given by O (|C|·(cols(custom-character)·|C|)+cols(custom-character)(|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 FIG. 6 when the processor 22 computes the standardized stabilizer instrument specification 50 based at least in part on the Choi state family 48, according to one example. In the example of FIG. 6, the processor 22 is configured to compute an additional Clifford unitary {tilde over (C)} and an invertible bit matrix B at least in part by computing a partition of the Choi state input-output Clifford unitary C. The invertible bit matrix B is a transformation matrix from the Choi state input-output Clifford unitary C into the additional Clifford unitary {tilde over (C)}. The processor 22 is further configured to compute the input Clifford unitary Cin and the output Clifford unitary Cout based at least in part on the additional Clifford unitary {tilde over (C)}.


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 FIG. 6, the processor 22 may be further configured to compute a plurality of additional bit matrices 70 based at least in part on the Choi state bit matrix custom-character, the additional Clifford unitary {tilde over (C)}, and an inversion B−1 of the invertible bit matrix B. The plurality of additional bit matrices 70, as shown in the example of FIG. 6, may include a first additional bit matrix Ã, a second additional bit matrix Ãx, a third additional bit matrix Ãz, and a fourth additional bit matrix Ãr over custom-character2.


As depicted in the example of FIG. 6, the processor 22 may be further configured to compute a relabeling matrix R that maps one or more stabilizer circuit qubit labels 58A of the stabilizer circuit 40 to one or more respective stabilizer instrument qubit labels 58B of the stabilizer instrument. In addition, the processor 22 may be further configured to compute the plurality of bit matrices 51 based at least in part on the relabeling matrix R. The plurality of additional bit matrices 70 may also be used when computing the plurality of bit matrices 51 included in the standardized stabilizer instrument specification 50.


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 custom-character, which is a (ki +kout)×l matrix over custom-character2. The Choi state bit matrix custom-character describes a family of Choi states custom-character|0custom-character⊗(kin+kout) of a quantum instrument that has kin input qubits, kout output qubits, and outcomes r∈custom-character2l. The Choi state input-output Clifford unitary C and the Choi state bit matrix custom-character may be computed according to the steps discussed above. The outputs of the general form computation algorithm include the Clifford unitaries Cin and Cout, the numbers of input and output qubits kin and kout, an integer k, and the bit matrices A, Ax, and Az over custom-character2. The bit matrices A, Ax, and Az have dimensions (kout−k)×l, k×l, and k×l, respectively. In addition, the general form computation algorithm outputs an invertible l×l matrix R over custom-character2 such that each Choi state of the standardized stabilizer instrument specification 50 with an outcome r⊗rc is equal to custom-character|0custom-character⊗(kin+kout) for {tilde over (r)}=R(r⊗rc). Thus, R is a relabeling matrix for the measurement outcomes of the stabilizer circuit 40.


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 custom-character2, 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:







U
B

=

(




B

-
l




0


0




0



B
T



0




0


0


0



)





The additional Clifford unitary e has the following properties:

    • 1. {tilde over (C)}Z1{tilde over (C)}\, . . . , {tilde over (C)}Zk1{tilde over (C)}\ are supported on K.
    • 2. {tilde over (C)}Zk1+1{tilde over (C)}\, . . . , {tilde over (C)}Zk1k2{tilde over (C)}\ are supported on Kc.
    • 3. {tilde over (C)}Zk1k2+1{tilde over (C)}\ . . . , {tilde over (C)}Zn{tilde over (C)} restricted to qubits in K form a symplectic basis. In addition, {tilde over (C)}Zk1k2+1{tilde over (C)}\ . . . , {tilde over (C)}Zn{tilde over (C)} restricted to qubits in Kc also form a symplectic basis. A symplectic basis of a group is a basis of 2m Pauli operators that have the same commutation relations as X1, . . . , Xm, Z1, . . . , Zm.


For the partition of the Choi state input-output Clifford unitary C, the following property holds:






custom-character|0custom-character⊗(kin+kout)=custom-character|0custom-character⊗(kin+kout)


This is the case because UB=UB−1 and UBXbUB=XBb.


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:

    • Set CoutZjCout\ to eZ i et restricted to K, for j∈[k1].
    • Set CoutZk1+jCout\ to {tilde over (C)}Zk1+k2+k+j{tilde over (C)} restricted to K, for j∈[k].
    • Set Cout Xk1+jCout\ to {tilde over (C)}Zk1+k2+k+j{tilde over (C)} restricted to K, for j∈[k].


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)}Zk1+j{tilde over (C)} restricted to Kc, for j∈[k2].


Set CinZk1+jCin to {tilde over (C)}Zk1k2+j{tilde over (C)} restricted to Kc, for j∈[k].


Set CinXk1+jCin to {tilde over (C)}Zk1k2+k+j{tilde over (C)} restricted to Kc, for j∈[k].


Complete the partially specified Cin to form a full Clifford unitary using {tilde over (C)}, considering that CinZjCin and {tilde over (C)}Zk1+j{tilde over (C)} restricted to KC form a symplectic basis. Thus, the input Clifford unitary Cin acting on kout=k2+k qubits is constructed.


The Choi-state-based stabilizer instrument algorithm 56 further includes setting à to the first k1 rows of B−1custom-character, setting Ãr to rows k1+1 to k1+k2 of B−1custom-character, setting Ãx to rows k1+k2+1 to k1+k2+k of B−1custom-character, and setting A, to rows k1+k2+k+1 to n of B−1custom-character.


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 =lk2└0k2×(l=k2). In addition, the general form computation algorithm further includes completing Ar to a square full-rank matrix using PLE decomposition and setting R=Rr−1. Thus, the processor 22 is configured to compute the relabeling matrix R.


To complete the Choi-state-based stabilizer instrument algorithm 56, the processor 22 is further configured to set AxxR, setting Az=AzR, and setting A=ÃR. Thus, each of the matrices included in the general form is computed.



FIG. 7A shows a flowchart of a method 100 for use with a computing system. Via the method 100, a standardized stabilizer instrument specification is computed at a processor included in the computing system. The method 100 includes, at step 102, 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:

    • (1) An allocation of one or more qubits in a stabilizer state;
    • (2) An allocation of one or more random classical bits;
    • (3) A Clifford unitary;
    • (4) 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;
    • (5) A joint multi-qubit Pauli measurement; and
    • (6) A destructive one-qubit Pauli measurement. Each operation included in the stabilizer instrument is included in the above group.


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.



FIG. 7B shows additional steps of the method 100 that may be performed when computing the standardized stabilizer instrument specification at step 104. Step 104 may include, at step 108, computing a Choi state family of the stabilizer instrument. Computing the Choi state family at step 108 may include, at step 110, computing a zero-input-qubit stabilizer circuit specification based at least in part on the stabilizer circuit specification. The zero-input-qubit stabilizer circuit specification may be computed at step 112 by coupling each of one or more input qubits of the stabilizer circuit specification to a respective Bell pair. At step 114, computing the Choi state family may further include computing the Choi state family as the Choi state family of the zero-input-qubit stabilizer circuit specification. At step 116, step 104 may further include computing the standardized stabilizer instrument specification based at least in part on the Choi state family.



FIG. 7C shows additional steps of the method 100 that may be performed when computing the standardized stabilizer instrument specification based at least in part on the Choi state family at step 116. At step 118, step 116 may include 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, in the example of FIG. 7C, is a transformation matrix from the Choi state input-output Clifford unitary into the additional Clifford unitary. At step 120, step 116 may further include computing the input Clifford unitary and the output Clifford unitary based at least in part on the additional Clifford unitary.


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.



FIG. 7D shows additional steps of the method 100 that may be performed in addition to the steps of FIG. 7C when computing the standardized stabilizer instrument specification at step 116. At step 126, step 116 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 relabeling matrix may be included in the standardized stabilizer instrument specification in some examples. In addition, at step 128, the method 100 may further include computing the plurality of bit matrices based at least in part on the relabeling matrix as well as the plurality of additional bit matrices.


Turning now to FIG. 8A, the classical computing device 20 is shown when the processor 22 is configured to compute a logical instrument specification 210 corresponding to a standardized stabilizer instrument specification 50. The logical instrument specification 210 may encode a computation at the logical qubit level that the stabilizer circuit 40 associated with the standardized stabilizer instrument specification 50 performs at the physical qubit level. Thus, processor 22 may map a physical-qubit-level quantum computation to a logical-qubit-level quantum computation.


In the example of FIG. 8A, the processor 22 is configured to receive a standardized stabilizer instrument specification 50 including an input Clifford unitary Cin, an output Clifford unitary Cout, and a plurality of stabilizer instrument bit matrices 51. The plurality of stabilizer instrument bit matrices 51 include a first stabilizer instrument bit matrix A, a second stabilizer instrument bit matrix Ax, and a third stabilizer instrument bit matrix Az in the example of FIG. 8A. In addition, the standardized stabilizer instrument specification 50 shown in FIG. 8A includes a relabeling matrix R. In addition to the standardized stabilizer instrument specification 50, the processor 22 is further configured to receive a logical instrument input error correction code 200 and a logical instrument output error correction code 202 in the example of FIG. 8A.


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. FIG. 8B schematically shows the logical instrument specification 210 in additional detail.


The standardized stabilizer instrument specification 50 shown in FIGS. 8A-8B has kin input qubits, kout output qubits, and kr random bits. The logical instrument specification 210 has {tilde over (k)}in input qubits and {tilde over (k)}out output qubits. The logical instrument input error correction code 200 is specified by custom-characterkin, {tilde over (k)}in, {tilde over (C)}incustom-character, and the output error correction code is specified by custom-characterkout, {tilde over (k)}out, {tilde over (C)}outcustom-character. In the above expressions, {tilde over (C)}in is a logical instrument input code Clifford unitary and {tilde over (C)}out is a logical instrument output code Clifford unitary. As shown in FIG. 8B, the logical instrument specification 210 includes a specification of a logical action 212 implemented by the stabilizer circuit 40 with which the logical instrument specification 210 is associated.


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 FIGS. 8A-8B. The plurality of logical instrument bit matrices 214 are matrices over custom-character2 . In FIG. 8B, rc is a kr−dimensional random vector over custom-character2. l is the dimension of s⊗rL⊗rc, such that l=kin−k+kr. The first logical instrument bit matrix A s is a (kout−{tilde over (k)}out)×l matrix, the second logical instrument bit matrix ÃL is a ({tilde over (k)}out−k)×l matrix, and the third and fourth logical instrument bit matrices Ãx and Ãz are k×l matrices.


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 custom-character2 .



FIG. 9A schematically shows the classical computing device 20 when the processor 22 is configured to generate intermediate results that are used when computing the logical instrument specification 210. Using the intermediate results shown in FIG. 9A, a logical instrument specification 210 as shown in the example of FIGS. 8A-8B may be generated from the standardized stabilizer instrument specification 50 as shown in FIGS. 2A-2B. When executing the logical instrument computation algorithm, the processor 22 is configured to receive a standardized stabilizer instrument specification 50 as input, as discussed above.



FIG. 9B schematically shows relationships between a stabilizer instrument input error correction code 230 and the logical instrument input error correction code 200, as well as between the stabilizer instrument output error correction code 232 and the logical instrument output error correction code 202. The stabilizer instrument input error correction code 230 of the standardized stabilizer instrument specification 50 may be expressed as custom-characterkin, k, {tilde over (C)}incustom-character, and the stabilizer instrument output error correction code 232 may be expressed as custom-characterkin, k, {tilde over (C)}incustom-character. The standardized stabilizer instrument specification 50 has the properties custom-characterkin, k, {tilde over (C)}incustom-charactercustom-characterkin, {tilde over (k)}in, {tilde over (C)}incustom-character and custom-characterkout, k, {tilde over (C)}outcustom-charactercustom-characterkout, {tilde over (k)}out, {tilde over (C)}outcustom-character. Thus, the stabilizer instrument input error correction code 230 is a subset of the logical instrument input error correction code 200, and the stabilizer instrument output error correction code 232 is a subset of the logical instrument output error correction code 202.


Returning to FIG. 9A, when computing the logical instrument specification 210, the processor 22 is configured to align the generators of the input and output error correction codes of the standardized stabilizer instrument specification 50 and the logical instrument specification 210. Aligning the input and output error correction codes includes computing an intermediate input error correction code 220 and an intermediate output error correction code 222. The intermediate input error correction code 220 and the intermediate output error correction code respectively include an intermediate input Clifford unitary Cin and an intermediate output Clifford unitary Cout such that custom-characterkin, k, Cincustom-character=custom-characterkin, k, Cincustom-character and custom-characterkout, k, Coutcustom-character=custom-characterkout, k, Coutcustom-character. In addition, custom-characterkin, {tilde over (k)}, Cincustom-character=custom-characterkin, {tilde over (k)}, Cincustom-character and custom-characterkout, {tilde over (k)}, Coutcustom-character=custom-characterkout, {tilde over (k)}, Coutcustom-character. Thus, as depicted in FIG. 9B, the intermediate input error correction code 220 may be used to convert the logical instrument input error correction code 200 into the stabilizer instrument input error correction code 230, and the intermediate output error correction code 222 may be used to convert the logical instrument output error correction code 202 into the stabilizer instrument output error correction code 232.



FIG. 10A schematically shows an example of an input generator adjustment 240 that may be performed on the standardized stabilizer instrument specification 50 to align the stabilizer instrument input error correction code 230 with the logical instrument input error correction code 200 as shown in FIG. 9B. In addition, FIG. 10B schematically shows an example of an output generator adjustment 242 that may be performed on the standardized stabilizer instrument specification 50 to align the stabilizer instrument output error correction code 232 with the logical instrument output error correction code 202.


Applying the input generator adjustment 240 to the logical instrument error correction code 230 includes expressing the generators of custom-characterkin, {tilde over (k)}, Cincustom-character in terms of the generators of custom-characterkin, k, Cincustom-character. 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 custom-character2, 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 custom-characterkin, {tilde over (k)}, Cincustom-character and custom-characterkin, k, Cincustom-character are incompatible codes.


When applying the output generator adjustment 242 shown in FIG. 10B, the processor 22 is configured to compute an output change-of-generators bit matrix Bout, which is a (kin−k)×(kin−k) matrix over custom-character2, based at least in part on the output Clifford unitary Cout and the logical instrument output code Clifford unitary {tilde over (C)}out. The output change-of-generators bit matrix Bout is computed by executing the change-of-generators matrix computation algorithm to express the generators of custom-characterkout, {tilde over (k)}, {tilde over (C)}outcustom-character in terms of the generators of custom-characterkout, k, Coutcustom-character. Similarly to the input generator adjustment 240, the output generator adjustment 242 may fail and may report to the user that custom-characterkout, {tilde over (k)}, {tilde over (C)}outcustom-character and custom-characterkout, k, Coutcustom-character are incompatible in examples in which no such output change-of-generators bit matrix Bout exists. Aligning the generators further includes asserting that CinZj, Cin\=CinZ(BinTej)⊕0kCin, where ej are the kin−k-dimensional standard basis vectors and 0k is a vector of zeroes of length k. Similarly, the processor 22 is further configured to assert that CoutZj, Cout\=CoutZ(BoutTej)⊕0kCout.


Aligning the generators further includes setting {tilde over (C)}in=Cin(UBin−1⊗Ik) and setting {tilde over (C)}out=Cout(UBin−1⊗Ik) . Thus, the processor 22 is configured to compute the intermediate input error correction code 220 and the intermediate output error correction code 222 based at least in part on the input change-of-generators bit matrix Bin and the output change-of-generators bit matrix Bout . In addition, the processor 22 is further configured to assert that CinZjCin\={tilde over (C)}inZj{tilde over (C)}in\for j∈[kin−{tilde over (k)}in] and CoutZjCout\={tilde over (C)}outZj{tilde over (C)}out\for j∈[kout−{tilde over (k)}out].


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 custom-character2. 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=Cin, Cout=Cout, A=Ā, Axx, Azz, and r=r up to the outcome relabeling r=Binr.


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 Ā. FIG. 11 schematically shows a stabilizer instrument specification with split measurement results 244. In the stabilizer instrument specification with split measurement results 244, the measurement results r of the standardized stabilizer instrument specification 50 are split between syndrome measurement results s and logical operator measurement results rL. Similarly, the intermediate bit matrix Ā(r⊕rc) shown in FIG. 11 is split between a logical-qubit stabilizer |ĀL(r⊕rc)custom-character and a syndrome-qubit stabilizer |ĀS(r⊕rc)custom-character.


Returning to the example of FIG. 9A, the processor 22 is further configured to compute a plurality of input representation adjustment matrices 234 and a plurality of output representation adjustment matrices 236 based at least in part on the input change-of-generators bit matrix Bin and the output change-of-generators bit matrix Bout. The plurality of input representation adjustment matrices 234 include a first input representation adjustment bit matrix Āin,x, a second input representation adjustment bit matrix Āin,z, and the logical input Clifford unitary CL,in, which are computed for {tilde over (k)}in logical qubits. The logical Clifford unitary CL,in functions as an input representation adjustment Clifford unitary in the example of FIG. 9A. The plurality of output representation adjustment matrices 236 includes a first output representation adjustment bit matrix Āout,x, a second output representation adjustment bit matrix Āout,z, and the logical output Clifford unitary CL,out, which are computed for {tilde over (k)}out logical qubits.


The logical operator adjustments may be computed such that the identities shown in FIGS. 12A and 12B hold. FIGS. 12A and 12B schematically depict an input operator representation adjustment 250 and an output operator representation adjustment 252, respectively, that may be performed on the standardized stabilizer instrument specification 50 when the processor 22 generates the plurality of input representation adjustment matrices 234 and the plurality of output representation adjustment matrices 236.


As shown in FIG. 13, the processor 22 is further configured to compute a plurality of split representation adjustment bit matrices 260 based at least in part on the plurality of input representation adjustment matrices 234 and the plurality of output representation adjustment matrices 236. The processor 22 thereby splits the input representation adjustment bit matrices Āin,x and Āin,z and the output representation adjustment bit matrices Āout,x, and Āout,z into portions that adjust logical measurement outcomes and portions that indicate Pauli operators performed on preserved qubits. The preserved qubits are the qubits to which measurements are not applied.


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.



FIG. 14 schematically shows an adjusted logical instrument specification 270 obtained by substituting the input operator representation adjustment 250 of FIG. 12A and the output operator representation adjustment 252 of FIG. 12B into the logical instrument specification with split measurement results 244 as depicted in FIG. 11.


Returning to FIG. 13, the processor 22 is further configured to compute an intermediate relabeling matrix R based at least in part on the plurality of split representation adjustment bit matrices 260. In the example of FIG. 13, the first split input representation adjustment matrix ĀL,in,x is used to compute the intermediate relabeling matrix R. Computing the intermediate relabeling matrix R includes setting







R
_

=

(



I


0






A
_


L
,
in
,
x




I



)





Thus, the measurement outcomes of the logical instrument specification 210 and the adjusted logical instrument specification 270 are related as r=s⊕rL=R(s⊕rL). In addition, the processor 22 is further configured to compute the logical instrument relabeling matrix based at least in part on the intermediate relabeling matrix R and the input change-of-generators bit matrix Bin. The processor 22 is configured to set RL=RBin−1, thereby resulting in the labeling map s⊕rL=RLr.


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)}in−k|Il)+Āx(R|Il)+(ĀQ,in,x|I{tilde over (k)}in−k|Il). The processor 22 is further configured to compute the fourth logical instrument bit matrix Ãz by setting Ãz=(ĀQ,in,z|I{tilde over (k)}in−k|Il)+Āz(R|Il))+(ĀQ,in,z|I{tilde over (k)}in−k|Il). In addition, the processor is further configured to set ÃSS(R|Il) and ÃLL(R|Il)+ĀL,out,x to compute the first logical instrument bit ÃS and the second logical instrument bit matrix {tilde over (R)}L.


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.



FIG. 15A shows a flowchart of a method 300 for use with a computing system to compute a logical instrument specification from a standardized stabilizer instrument specification. At step 302, the method 300 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 standardized stabilizer instrument specification encodes a stabilizer instrument that may be implemented by a stabilizer circuit at a quantum computing device. In some examples, the standardized stabilizer instrument specification further includes a relabeling matrix that maps qubit labels of the stabilizer circuit to qubit labels of the stabilizer instrument. 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. At step 304, the method 300 further includes receiving a logical instrument input error correction code and a logical instrument output error correction code. The logical instrument input error correction code may include a logical instrument input code Clifford unitary, and the logical instrument output error correction code may include a logical instrument output code Clifford unitary.


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.



FIG. 15B shows additional steps of the method 300 that may be performed in some examples when computing the logical instrument specification at step 306. At step 310, step 306 may include the logical instrument specification is 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, in some examples, respectively 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 of the stabilizer instrument specification. In such examples, 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 is a subset of the logical instrument output error correction code.


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.



FIG. 15C shows further steps of the method 300 that may be performed in examples in which the input change-of-generators bit matrix and the output change-of-generators bit matrix are computed at steps 312 and 314. At step 318, the method 300 may further include computing 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 may include a first input representation adjustment bit matrix, a second input representation adjustment bit matrix, and the logical input Clifford unitary. At step 320, the method may further include computing 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 may include a first output representation adjustment bit matrix, a second output representation adjustment bit matrix, and the logical output Clifford unitary.


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.



FIG. 16 schematically shows the classical computing device 20 when the processor 22 is configured to perform equality determination on a first stabilizer instrument specification 400 of a first stabilizer instrument and a second stabilizer instrument specification 402 of a second stabilizer instrument. The first stabilizer instrument and the second stabilizer instrument both have the same number kin of input qubits and the same number kout of output qubits. The first stabilizer instrument specification 400 includes a first input Clifford unitary Cin, a first output Clifford unitary Cout, and a plurality of first stabilizer instrument bit matrices 404. The plurality of first stabilizer instrument bit matrices 404 may include a first stabilizer instrument first bit matrix A, a first stabilizer instrument second bit matrix Ax, and a first stabilizer instrument third bit matrix Az. The second stabilizer instrument specification 402 includes a second input Clifford unitary {tilde over (C)}in, a second output Clifford unitary {tilde over (C)}out, and a plurality of second stabilizer instrument bit matrices 406. The plurality of second stabilizer instrument bit matrices 406 may include a second stabilizer instrument first bit matrix {hacek over (A)}, a second stabilizer instrument second bit matrix {hacek over (A)}x, and a second stabilizer instrument third bit matrix {hacek over (A)}z.


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.



FIG. 17 shows the classical computing device 20 when the processor 22 determines whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling. The processor 22, as shown in the example of FIG. 17, is configured to compute a logical instrument specification 210 based at least in part on the first stabilizer instrument specification 400. The logical instrument specification 210 may be computed using the techniques discussed above. The logical instrument specification 210 may include 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. The inputs with which the processor 22 computes the logical instrument specification 210 may further include a logical instrument input error correction code 200 including the second input Clifford unitary {tilde over (C)}in in and a logical instrument output error correction code 202 including the second output Clifford unitary {tilde over (C)}out. The logical instrument input error correction code 200 may be expressed as custom-characterkin, k, {tilde over (C)}incustom-character, and the logical instrument output error correction code 202 may be expressed as custom-characterkout, k, {tilde over (C)}outcustom-character.


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 FIG. 17, the first stabilizer instrument may be configured to receive a plurality of first random classical bits l. In addition, the second stabilizer instrument may be configured to receive a plurality of second random classical bits ľ. When the first stabilizer instrument and the second stabilizer instrument are equal up to measurement outcome relabeling, both stabilizer instruments apply the same linear maps to their inputs for outcomes r⊗rc={circumflex over (R)}({tilde over (r)}⊗řc) . {circumflex over (R)} in this equation is a between-instrument relabeling matrix. Thus, the between-instrument relabeling matrix {circumflex over (R)} maps a plurality of measurement outcomes {tilde over (r)}⊗řc performed at the second stabilizer instrument to measurement outcomes performed at the first stabilizer instrument r└rc. In examples in which the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling, the processor 22 may be further configured to compute and output the between-instrument relabeling matrix {circumflex over (R)}.


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,inXÃx{circumflex over (r)}ZÃz{circumflex over (r)}Cput,L=XÃx{circumflex over (r)}ZÃz{circumflex over (r)}


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(Ikin−k|{circumflex over (R)})={hacek over (A)}





Ãx(Ikin−k|{circumflex over (R)})={hacek over (A)}x





Ãz(Ikin−k|{circumflex over (R)})={hacek over (A)}z


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.



FIG. 18A shows a flowchart of a method 500 for use with a computing system to determine whether a pair of stabilizer instruments are equal up to measurement outcome relabeling. At step 502, the method 500 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 plurality of first stabilizer instrument bit matrices may, for example, include a first stabilizer instrument first bit matrix, a first stabilizer instrument second bit matrix, and a first stabilizer instrument third bit matrix. At step 504, the method 500 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. 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.


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.



FIG. 18B shows additional steps of the method 500 of FIG. 18A that may be performed in some examples. At step 510, the method 500 may include executing an error correction protocol of a quantum computing device. Executing the error correction protocol may, for example, include generating error correction instructions at a classical computing device communicatively coupled to the quantum computing device. The quantum computing device may execute the error correction instructions to resolve one or more errors in a quantum computation. At step 512, the method 500 may further include generating debugging information as an output of the error correction protocol. In the example of FIG. 18B, 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 debugging information may, for example, be used when generating the error correction instructions. Step 512 may be performed when determining whether the first stabilizer instrument is equal to the second stabilizer instrument at step 506.


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.



FIG. 18C shows additional steps of the method 500 that may be performed in some examples when determining whether the first stabilizer instrument is equal to the second stabilizer instrument at step 506. At step 524, the method 500 may further include computing a logical instrument specification based at least in part on the first stabilizer instrument specification. 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 steps of the method 300 shown in FIGS. 15A-15C may be used to compute the logical instrument specification. In some examples, at step 526, step 524 may include computing the logical instrument specification 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.


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.



FIG. 19 schematically shows a non-limiting embodiment of a computing system 600 that can enact one or more of the methods and processes described above.


Computing system 600 is shown in simplified form. Computing system 600 may embody the computing system 1 described above and illustrated in FIG. 1. Components of the computing system 600 may be included in one or more personal computers, server computers, tablet computers, home-entertainment computers, network computing devices, video game devices, mobile computing devices, mobile communication devices (e.g., smart phone), and/or other computing devices, and wearable computing devices such as smart wristwatches and head mounted augmented reality devices.


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 FIG. 19.


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:














A
B
A ∨ B







True
True
True


True
False
True


False
True
True


False
False
False









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.

Claims
  • 1. A computing system comprising: a processor configured to: receive a first stabilizer instrument specification of a first stabilizer instrument, the first stabilizer instrument specification including a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices;receive a second stabilizer instrument specification of a second stabilizer instrument, the second stabilizer instrument specification including 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, determine whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling; andoutput an indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling.
  • 2. The computing system of claim 1, wherein: the processor is 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 is included in debugging information generated as an output of the error correction protocol; andthe processor is further configured to output the debugging information.
  • 3. The computing system of claim 1, wherein: 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; andthe 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.
  • 4. The computing system of claim 1, wherein: the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument; andthe processor is 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; andoutput the first bit matrix subset and the second bit matrix subset.
  • 5. The computing system of claim 1, wherein: the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument; andthe processor is further configured to: compute a stabilizer instrument transformation Clifford unitary that maps the first stabilizer instrument to the second stabilizer instrument; andoutput the stabilizer instrument transformation Clifford unitary.
  • 6. The computing system of claim 1, wherein the processor is further configured to: compute a logical instrument specification based at least in part on the first stabilizer instrument specification, wherein 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; anddetermine 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.
  • 7. The computing system of claim 6, wherein: the indication indicates that the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling; andthe processor is 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; andoutput the between-instrument relabeling matrix.
  • 8. The computing system of claim 7, wherein: inputs to the first stabilizer instrument and the second stabilizer instrument respectively include a first plurality of random classical bits and a second plurality of random classical bits; andthe processor is 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, wherein the random bit relabeling matrix maps the second plurality of random classical bits to the first plurality of random classical bits; andcompute the between-instrument relabeling matrix based at least in part on the logical instrument relabeling matrix and the random bit relabeling matrix.
  • 9. The computing system of claim 6, wherein the logical instrument specification is computed based at least in part on: a logical instrument input error correction code including the second input Clifford unitary; anda logical instrument output error correction code including the second output Clifford unitary.
  • 10. The computing system of claim 1, wherein the first stabilizer instrument and the second stabilizer instrument have a same number of input qubits and a same number of output qubits.
  • 11. A method for use with a computing system, the method comprising: receiving a first stabilizer instrument specification of a first stabilizer instrument, the first stabilizer instrument specification including a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices;receiving a second stabilizer instrument specification of a second stabilizer instrument, the second stabilizer instrument specification including 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, determining whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling; andoutputting an indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling.
  • 12. The method of claim 11, further comprising: 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;generating debugging information as an output of the error correction protocol, wherein the indication of whether the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling is included in the debugging information; andoutputting the debugging information.
  • 13. The method of claim 11, wherein: 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; andthe 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.
  • 14. The method of claim 11, wherein: the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument; andthe method further comprises: 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; andoutputting the first bit matrix subset and the second bit matrix subset.
  • 15. The method of claim 11, wherein: the indication indicates that the first stabilizer instrument is not equal to the second stabilizer instrument; andthe method further comprises: computing a stabilizer instrument transformation Clifford unitary that maps the first stabilizer instrument to the second stabilizer instrument; andoutputting the stabilizer instrument transformation Clifford unitary.
  • 16. The method of claim 11, further comprising: computing a logical instrument specification based at least in part on the first stabilizer instrument specification, wherein 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; anddetermining 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.
  • 17. The method of claim 16, wherein: the indication indicates that the first stabilizer instrument is equal to the second stabilizer instrument up to measurement outcome relabeling; andthe method further comprises: 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; andoutputting the between-instrument relabeling matrix.
  • 18. The method of claim 17, wherein: inputs to the first stabilizer instrument and the second stabilizer instrument respectively include a first plurality of random classical bits and a second plurality of random classical bits; andthe method further comprises: 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, wherein the random bit relabeling matrix maps the second plurality of random classical bits to the first plurality of random classical bits; andcomputing the between-instrument relabeling matrix based at least in part on the logical instrument relabeling matrix and the random bit relabeling matrix.
  • 19. The method of claim 16, wherein the logical instrument specification is computed based at least in part on: a logical instrument input error correction code including the second input Clifford unitary; anda logical instrument output error correction code including the second output Clifford unitary.
  • 20. A computing system comprising: 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 including a first input Clifford unitary, a first output Clifford unitary, and a plurality of first stabilizer instrument bit matrices, wherein 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;receive a second stabilizer instrument specification of a second stabilizer instrument, the second stabilizer instrument specification including a second input Clifford unitary, a second output Clifford unitary, and a plurality of second stabilizer instrument bit matrices, wherein 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, 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, generate debugging information as an output of the error correction protocol, wherein 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; andoutput the debugging information.
CROSS REFERENCE TO RELATED APPLICATIONS

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.

Provisional Applications (1)
Number Date Country
63383057 Nov 2022 US