Large-scale quantum computers built from imperfect hardware require some form of fault tolerance. The vast majority of approaches that have been considered to build fault tolerant quantum computation rely on protecting information by storing it in stabilizer codes. The computation proceeds by applying faulty circuits on the hardware that, with appropriate classical processing to identify and correct faults, reliably apply logical operations to the encoded states.
A fault-tolerant circuit that implements a logical operation while mapping between stabilizer codes is referred to as a channel. Channels fall into two classes: stabilizer channels, which are implemented by stabilizer operations (preparations and measurements in the Pauli bases, along with Clifford unitaries) and non-stabilizer channels, which also make use of some non-stabilizer operations. For example, the non-stabilizer channels may use non-stabilizer operations to produce encoded magic states.
The class of stabilizer channels is ubiquitous in the field of quantum error correction (QEC). A wide range of fault tolerance techniques are typically defined in terms of stabilizer circuits, such as stabilizer extraction, lattice surgery, code deformation, and transverse Clifford gate approaches to QEC. Considering explicit circuit implementations, the class of stabilizer circuits also includes many logical operations that are more commonly considered from a topological viewpoint, such as braiding punctures and braiding twist defects. In addition, since Pauli-based subsystem codes and Floquet codes have information encoded in a stabilizer code at each moment in time, stabilizer channels also include fault-tolerant error correction and most logical gates for these more exotic code families.
According to one aspect of the present disclosure, a computing system is provided, including one or more processing devices configured to receive a stabilizer channel sequence for use with a quantum computing device. The stabilizer channel sequence includes three or more stabilizer channels. The one or more processing devices are further configured to receive respective fault sets associated with the stabilizer channels. The one or more processing devices are further configured to compute a lower-bound channel distance of the stabilizer channel sequence at least in part by computing respective lower-bound channel distances of a plurality of compositions of adjacent pairs of stabilizer channels in the stabilizer channel sequence. For at least one stabilizer channel of the three or more stabilizer channels, for each of a plurality of partition timestep counts, computing the lower-bound channel distance further includes receiving an indication of whether there exists a time-locality-satisfying partition of the fault set of that stabilizer channel that has that partition timestep count and for which the stabilizer channel is time-local. Computing the lower-bound channel distance further includes selecting, as the lower-bound channel distance of the stabilizer channel sequence, a lowest value among the plurality of lower-bound channel distances of the compositions and each of the partition timestep counts that has a respective time-locality-satisfying partition. The one or more processing devices are further configured to output the lower-bound channel distance.
According to another aspect of the present disclosure, a computing system is provided, including one or more processing devices configured to identify one or more severe hook faults in a stabilizer channel configured to be implemented at a quantum computing device. Identifying the one or more severe hook faults includes receiving a circuit channel check matrix of the stabilizer channel. The columns of the circuit channel check matrix indicate values of checks associated with respective elementary faults of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a phenomenological channel check matrix of the stabilizer channel as a sub-matrix of the circuit channel check matrix. Identifying the one or more severe hook faults further includes receiving a logical effect matrix of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a weight vector that indicates respective probability weights of the elementary faults. Based at least in part on the circuit channel check matrix, the logical effect matrix, the phenomenological channel check matrix, and the weight vector, identifying the one or more severe hook faults further includes computing one or more column indices of respective columns of the circuit channel check matrix that correspond to the one or more severe hook faults. The one or more processing devices are further configured to output an indication of the one or more severe hook faults.
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.
As quantum computing hardware advances, it is becoming increasingly important to make high-level descriptions of fault-tolerant circuits more explicit and to verify that circuits are fault tolerant with respect to more specific noise models. By moving from simple phenomenological models of noise to more explicit models of circuit noise, more accurate overhead estimates for different fault tolerance schemes may be developed. These overhead estimates may accordingly allow a developer to select an appropriate fault tolerance scheme for a quantum computing device. In some cases, specifying circuit details may highlight practical limitations of certain fault tolerance schemes (e.g., boundaries are problematic for the existing proposals for biased surface codes).
Various approaches have been developed to determine whether a given stabilizer channel is fault-tolerant when used to perform some computing task. Some of these approaches are high-level, such as determination of asymptotic scaling results. Other such approaches are idealized. For example, these idealized approaches may consider a stabilizer channel in isolation, with a perfect input state, and without considering the application of multiple noisy channels in sequence. Further approaches are purely numerical, sampling noise events at random without proving correctness.
The shortcomings of previous stabilizer channel fault-tolerance determination approaches motivate the following goals for a stabilizer channel assessment approach:
In order to achieve the above goals and address the shortcomings of previous stabilizer channel assessment approaches, a computing system 10 is provided, as shown in the example of
The qubits 14 included in each qubit register 12 may take various forms, depending on the desired architecture of quantum computing device 16. For example, each of the qubits 14 may be a superconducting Josephson junction, a trapped ion, a trapped atom coupled to a high-finesse cavity, an atom or molecule confined within a fullerene, an ion or neutral dopant atom confined within a host lattice, a quantum dot exhibiting discrete spatial- or spin-electronic states, an electron hole in a semiconductor junction entrained via an electrostatic trap, a coupled quantum-wire pair, an atomic nucleus addressable by magnetic resonance, a free electron in helium, a molecular magnet, or a metal-like carbon nanosphere. As additional examples, a qubit 14 may be implemented in the plural processing states corresponding to different modes of light propagation through linear optical elements (e.g., mirrors, beam splitters and phase shifters), as well as in states accumulated within a Bose-Einstein condensate. More generally, each qubit 14 may comprise any particle or system of particles that can exist in two or more discrete quantum states that can be measured and manipulated experimentally.
The computing system 10 further includes a classical computing device 18. The classical computing device 18 may include at least one processor 20 and associated computer memory 22. The processor 20 may be coupled operatively to peripheral componentry, such as network componentry, to enable the quantum computing device 16 to be operated remotely. The processor 20 may include one or more central processing units (CPUs), graphics processing units (GPUs), and/or other classical processing devices. The computer memory 22 may be configured to hold program instructions 24 that cause the processor 20 to execute any function or process of classical computing device 18. The computer memory 22 may also be configured to hold additional data 26. In some examples, the additional data 26 may include a register of classical control bits 28 that influence the operation of the quantum computing device 16 during runtime, for example, to provide classical control input to one or more quantum-gate operations.
In examples in which the qubit registers 12 are low-temperature or cryogenic devices, the classical computing device 18 may include control componentry operable at low or cryogenic temperatures, such as a field-programmable gate array (FPGA) operated at 77K. In such examples, the low-temperature control componentry may be coupled operatively to interface componentry operable at normal temperatures.
The classical computing device 18 is configured to receive a plurality of inputs 30 and to provide a plurality of outputs 32. The inputs 30 and outputs 32 may each comprise digital and/or analog lines. At least some of the inputs 30 and outputs 32 may be data lines through which data is provided to and/or extracted from the quantum computing device 16. Other inputs may comprise control lines via which the operation of the quantum computing device 16 may be adjusted or otherwise controlled.
The classical computing device 18 is operatively coupled to the qubit registers 12 via the quantum interface 34. The quantum interface 34 is configured to exchange data (solid lines) bidirectionally with the classical computing device 18. The quantum interface 34 is further configured to exchange signals associated with the data (dashed lines) bidirectionally with the qubit registers 12. Depending on the physical implementation of the qubits 14, such signals may include electrical, magnetic, and/or optical signals. Via the signals conveyed through the quantum interface 34, the classical computing device 18 may interrogate and otherwise influence the quantum state held in any, some, or all of the qubit registers 12, as defined by the collective quantum state of the qubits 14 therein. To that end, the quantum interface 34 includes a qubit writer 36 and a qubit reader 38. The qubit writer 36 is configured to output a signal to one or more qubits 14 of a qubit register 12 based at least in part on write data received from the classical computing device 18. The qubit reader 38 is configured to sense a signal from one or more qubits 14 of a qubit register 12 and to output read data to the classical computing device 18 based at least in part on the signal. The read data received from the qubit reader 38 may be an estimate of an observable obtained by measuring the quantum state held in a qubit register 12. Taken together, the classical computing device 18 and the quantum interface 34 form a control system of the quantum computing device 16.
In some examples, a suitably configured signal from qubit writer 36 may interact physically with one or more qubits 14 of a qubit register 12 to trigger measurement of the quantum state held in the one or more qubits 14. Qubit reader 38 may then sense a resulting signal released by the one or more qubits 14 pursuant to the measurement and may output read data corresponding to the resulting signal to classical computing device 18. In one non-limiting example, the qubit writer 36 may provide, based on data from the classical computing device 18, an appropriate voltage pulse or pulse train to an electrode associated with one or more qubits 14 in order to initiate a measurement. In such examples, the qubit reader 38 may sense photon emission from the one or more qubits 14 and may assert a corresponding digital voltage level on a quantum-interface line into the classical computing device 18. Generally speaking, any measurement of a quantum-mechanical state is defined by the operator O corresponding to the observable to be measured; the result R of the measurement is guaranteed to be one of the allowed eigenvalues of 0.
Pursuant to appropriate input from the classical computing device 18, the quantum interface 34 may be configured to implement one or more quantum-logic gates to operate on the quantum state held in a qubit register 12. The term “state vector” refers herein to the quantum state held in the series of data qubits 14D of the data register 12D of the quantum computing device 16. The function of each type of quantum gate is described by a corresponding operator, which may be represented as an operator matrix. The operator matrix operates on the complex vector representing a qubit register state and effects a specified rotation of that vector in Hilbert space. In some examples, in order to implement an operator O, the qubit writer 36 may apply a predetermined signal level for a predetermined duration. In some examples, multiple signal levels may be applied for corresponding sequenced or otherwise associated durations.
The terms “quantum circuit” and “quantum algorithm” are used herein to describe a predetermined sequence of elementary quantum-gate and/or measurement operations executable by computing system 10. A quantum circuit may be used to transform the quantum state of a qubit register 12 to perform a classical or non-elementary quantum-gate operation or to apply a density operator, for example. In some examples, a quantum circuit may be used to enact a predefined operation f (x), which may be incorporated into a complex sequence of operations.
As discussed above, measurement of the quantum state of a physical qubit may be subject to error. Accordingly, any qubit 14 may be implemented as a logical qubit, which includes a grouping of physical qubits measured according to an error-correcting quantum algorithm or circuit that reveals the quantum state of the logical qubit with above-threshold confidence.
Formalism and terminology related to stabilizer codes are provided below. In the following discussion, for Pauli operators A and B, the commutator A, B
=0 when A and B commute, and the commutator
A, B
=1 when A and B do not commute. In addition, H⊥ is used to denote the set of Pauli operators that commute with all elements of a Pauli operator set H.
When P|ψ=|ψ
for a Pauli operator P and a quantum state |ψ
, the Pauli operator P stabilizes the state |ψ
. A group of commuting operators S stabilizes a state |ψ
if all elements of S stabilize |ψ
. Thus,
is referred to as a stabilizer group for |ψ
. An Abelian Pauli group
specifies a stabilizer code, where the codespace of
includes the states that are stabilized by
.
Given a Pauli group G and a Pauli operator P, the notation PG denotes the set PG={Pg|gϵG}. In addition, given a pair of Pauli groups G and H, the notation GH denotes the set GH={gH|gϵG}.
For measurement of Hermitian Pauli operators, the convention used herein labels possible outcomes by 0 and 1. The addition of measurement outcomes and sets of measurement outcomes is considered in some of the examples provided below. This addition is performed modulo two unless otherwise stated.
A stabilizer circuit is defined herein as a quantum circuit C built from the following set of stabilizer operations:
In the above definition, Pauli operators are defined as members of the Pauli group, which is defined as follows in the n-qubit case:
where σ0, . . . σ3 are the one-qubit Pauli matrices. In addition, Clifford unitaries are defined as unitaries that normalize the Pauli group. The group of Clifford unitaries is defined as follows:
In the above equation, U2
The operations in a stabilizer circuit occur at specified timesteps, with operations on non-overlapping qubits being allowed in the same timestep. The sequence of measurement outcomes and random bits produced by the circuit
is referred to as the circuit outcome vector. Any stabilizer circuit
is equivalent to a simple general-form circuit
gen. “Equivalent” in this context means that when both
and
gen receive the same input state |ψ
, then the state |ψ′(v)
output by
when its outcome vector is v is the same as the state |ψ′gen(o)
output by
gen when its outcome vector is o, for some known affine relation between v and o.
The general-form circuit gen is schematically depicted in the example of
gen shown in the example of
changes the conditional Pauli gate in
gen while leaving the portions of the general-form circuit
gen within the dashed box unchanged. Although the example of
The one or more conditional Pauli operators that may be included in the stabilizer circuit, as discussed above in the definition of a stabilizer circuit, are treated differently from other stabilizer operations. In particular, the stabilizer circuit is considered to be specified by the other stabilizer operations it includes, and the one or more conditional Pauli operators may be treated as either included in or removed from the stabilizer circuit
. This flexibility as to whether the one or more conditional Pauli operators are included is a consequence of being able to apply the one or more conditional Pauli operators offline (e.g., with a Pauli-frame update), and/or postpone the one or more conditional Pauli operators until the end of the stabilizer circuit
, while leaving the other instructions unchanged. In addition, as discussed above with reference to
The stabilizer circuits considered herein are constructed from elements of an explicit instruction set , with no restriction in the states of the input qubits. The instruction set
could in principle be the entire set of stabilizer operations, but it is typically further restricted to reflect the capabilities of the hardware platform of the computing system 10. For example,
may include all single-qubit stabilizer operations and CNOT gates between specified pairs of qubits.
A stabilizer circuit is referred to as a stabilizer channel from an input stabilizer group in to an output stabilizer group
out if, for any input state encoded in
in and for every possible channel outcome vector, it outputs a state encoded in
out. Accordingly, a stabilizer channel is a group homomorphism from
in to
out. In order to make a stabilizer circuit
satisfy the properties of a stabilizer channel, specific conditional Pauli operators are chosen for inclusion in the stabilizer circuit
.
Given a stabilizer channel from in to
out, one relevant property of the stabilizer channel is its logical action on the encoded information. To obtain a uniquely defined logical action of the stabilizer channel, explicit logical bases of
in and
out are first defined. These logical bases may be defined by providing encoding Clifford unitaries Cin and Cout of the input and output codes, respectively.
in and
out.
An encoding Clifford unitary C for a k-qubit stabilizer code maps Xi and Zi for iϵ[k] to a basis of logical operator representatives, while the encoding Clifford unitary C also maps Zi for iϵ[k+1, n] to a set of independent stabilizer generators of the stabilizer code
. The logical action of a stabilizer circuit
can then be succinctly characterized by finding a general form circuit equivalent to the composite stabilizer circuit formed by sandwiching
between encoding and unencoding Clifford unitaries for the input code, as shown in the example of
A Clifford unitary corresponds to a symplectic basis for n qubits, which is given by CX1C†, CZ1C†, CX2C†, CZ2C†, . . . , CXnC†, CZnC†. A symplectic Pauli basis is described as respecting a stabilizer group S when that basis includes a complete set of generators for . The encoding Clifford unitaries Cin and Cout thereby specify the symplectic Pauli bases
in and
out, which in turn respect
in and
out.
A symplectic basis that respects the code with the stabilizer group
may be used to determine the complete set of logical operators of
. The symplectic basis
may be used to define a symplectic basis [
]
for the logical operators of
using a two-step procedure. First, all anti-commuting pairs in which one element of the pair is in
are removed from the basis. Second, each of the remaining elements is multiplied by
. In the following discussion, the subscript of [
]
is omitted when the code is clear from context.
One simple example of a stabilizer channel 41 is the trivial circuit. Even though the circuit itself is trivial, the trivial circuit may have some nontrivial logical action when viewed as a channel with respect to specified input and output code bases. This nontrivial logical action occurs when the two codes or their bases are different. Such a channel is referred to as a code conversion channel. out.
The parameters of a code conversion channel satisfy certain properties. First, as shown in the example of out⊆
in. Second, the unitary R specifying the logical action maps each independent logical operator of
out from
in/
out to
out]
in/
out. A third condition pertains to the ordered set obtained by removing, from
in, all anti-commuting pairs that include any of the elements of
in, and multiplying the remaining pairs by
out. The unitary R maps the logical operators in the resulting ordered set to
out]
out.
As discussed above, the stabilizer circuits considered herein are constructed from operations included in an instruction set of specific allowed stabilizer operations. Noise in the execution of the stabilizer circuit is modeled as occurring according to an independent stochastic Pauli noise model, whereby each instruction in
has an associated set of allowed faults. These allowed faults each occur independently and with some fixed probability. Each fault includes the application of a specific Pauli operator to the physical qubits after the corresponding instruction. The fault may additionally or alternatively include flips of specific measurement outcomes. Specifying a noise model for a stabilizer circuit
includes specifying the instruction set
over which
is expressed, specifying faults for each of the instructions in
, and specifying respective probabilities of each of those faults occurring. To simulate the noisy stabilizer circuit, the original circuit
may be modified by replacing each instruction in the circuit with the faulty version of that instruction, with the assigned probability.
While most of the following discussion applies to any independent stochastic Pauli noise model, specific constraints on the noise model are provided below where appropriate. Some of the examples provided below refer to two standard noise models, each of which are specified for qubits laid out in a two-dimensional grid. The first of these noise models is phenomenological noise. In the phenomenological noise model, the instruction set J includes Pauli measurements and unitaries supported on specified sets of qubits, as well as idle steps. The instruction set also includes arbitrary conditional Pauli operators. The circuit is expressed as an alternating sequence of idle rounds and sets of simultaneous commuting Pauli measurements. The faults in the phenomenological noise model include:
1) Three faults for each idle instruction. Each of {X, Y, Z} occurs with probability p/3.
2) An outcome flip of each measurement instruction, which occurs with probability p.
The second of the noise models is circuit noise. In the circuit noise model, the instruction set consists of arbitrary single-qubit stabilizer operations, as well as arbitrary two-qubit stabilizer operations on specified pairs of qubits. The instruction set also includes arbitrary conditional Pauli operators. The faults include:
1) Three faults for each single-qubit instruction. Each of {X, Y, Z} occurs with probability p/3.
2) Fifteen faults for each two-qubit instruction (each of which is a non-trivial two-qubit Pauli). Each of these faults occurs with probability p/15.
3) An outcome flip of each measurement instruction, which occurs with probability p.
Both the phenomenological and circuit noise models provided above assume that conditional Pauli operations never fail, since the conditional Pauli operations may be applied offline with a Pauli-frame update.
There are a number of variants of phenomenological and circuit noise models which can be captured by slight modifications of the parameters in the above models. For example, some noise models are described in terms of exclusive rather than independent events (e.g., when an idle qubit failure occurs, some models indicate that either an X, Y, or Z error occurs). These exclusive phenomenological and circuit noise models may be re-expressed as independent stochastic Pauli noise models of the type discussed above, with specific fault probability values. As another influence on the noise model, the allowed multi-qubit operations are informed by the hardware configuration of the quantum computing device. The set of allowed multi-qubit operations affects what circuits may be implemented.
The following discussion describes stabilizer channels in terms of code deformations. In a code deformation, the code in which information is stored is modified by measuring stabilizer generators for the new code. Many techniques in the field of quantum error correction are naturally described in terms of code deformation. Any stabilizer channel may be expressed as a sequence of code deformation steps, which may make the logical action performed by the stabilizer channel more transparent. Thus, the code deformation viewpoint for stabilizer channels may allow a developer to more easily iterate on the structure of a quantum circuit. The code deformation viewpoint is complementary with other approaches that also help elucidate the functioning of quantum circuits in different ways, such as topological modeling of surface codes.
A code deformation step is discussed below with reference to in. This input state undergoes a set of commuting Pauli measurements that generate a group
. It is convenient to add a conditional Pauli correction {circumflex over (P)}(m) to “fix up” the code deformation step, as shown in the phase-fixed code deformation step 52 of
. As shown in
out=(
in∩
⊥). M (m), whereas the phase-fixed code deformation step 52 has an output stabilizer group of
out=(
in∩
⊥)·
that no longer depends upon m.
The conditional Pauli corrections {circumflex over (P)}(m) may be defined in terms of a common symplectic basis (
in,
) that respects both
in and
. Thus,
includes complete sets of generators for both
in and
.
, including 2n Pauli generators separated into five sets. These five sets indicate the membership of those Pauli generators in the sets of generators of
in and
. The generators shown in
As shown in Δ,
∩, and
. The conditional Pauli correction {circumflex over (P)}(m) is chosen such that for each element of
Δ or
that has a non-trivial outcome, its anticommuting counterpart from
Δ or
is applied, respectively.
From the common symplectic basis (
in,
), the subset that includes the generators
∘ and
∘ may each be multiplied by the stabilizer group
out to form a symplectic basis for the logical operators of the code
out, which is denoted as [
(
in,
)
. Similarly, the generators
,
,
∘, and
∘ may be used to define a symplectic basis [
(
in,
)
for the logical operators of
in.
The logical action of a phase-fixed code deformation step 60 has a simple general-form circuit 62 schematically shown in in from [
in
in to [
(
in,
)
. Next, single-qubit Z measurements are applied. These single-qubit Z measurements measure all the logical operators of
in that have representatives in
. Finally, a logical basis change R of the output code
out is applied from [
(
in,
)
to [
out
. Accordingly, as shown in
in from the common symplectic basis to the basis specified by Cin. The kout-qubit unitary R maps the logical operators of
out from the common symplectic basis to the basis specified by Cout.
i. The measurement outcomes of a generating set for the group
i are denoted mi. A conditional phase fix-up {circumflex over (P)}i(mi) is also included at the end of each step in order to make the stabilizer group after each step independent of the measurement outcomes mi.
The logical action of the code deformation channel 64 may be determined with respect to an input code stabilizer group in and an output code stabilizer group
out, with their logical bases fixed by encoding circuits Cin and Cout. The state after the ith phase-fixed code deformation step has a stabilizer group including
i, where
i=(Ui
i−1Ui†)∩
i⊥)·
i for each i=1, . . . , T and
0=
in. In addition,
out⊆
T.
A stabilizer channel is described as implementing a T-round code deformation channel
def when the stabilizer channel
can be re-collected into a circuit
that has T rounds, such that the respective rth rounds of
and
def are equivalent up to conditional Pauli operators. “Re-collection” refers here to separating the instructions included in the circuit into a new circuit that includes a plurality of rounds of sub-circuits. The re-collection preserves time ordering, such that an instruction B is not assigned to a later round than an instruction A if the timestep at which B is executed is earlier than that of A in the original circuit.
Any stabilizer channel may be expressed as a code deformation channel. The above definition of a code deformation channel naturally describes many known approaches to implementing fault-tolerant quantum error correction (FTQEC) and fault-tolerant logical operations. For example, FTQEC with surface codes, color codes, and many quantum low-density parity-check (LDPC) codes include repeatedly measuring the stabilizer generators of the code. In such a code deformation channel, the unitaries are trivial, is the code's stabilizer group, and there are no fix-ups. Similarly, the code deformation channel that describes FTQEC with the Floquet code has no unitaries, but the sets of measured Pauli operators cycle through a sequence (thereby resulting in fix-ups), and the instantaneous stabilizer group of the code
i after each step corresponds to a variant of the surface code. Transverse logical Clifford gates are trivially covered by a single step as a single step of a Clifford unitary without any measurements. Logical operations performed with lattice surgery, as well as lattice movements and transformations more generally, may be described as code deformation channels that sequentially evolve code boundaries of a sequence of steps.
Given a stabilizer channel , there are multiple ways to find a code deformation channel that stabilizer channel implements. For example, the code deformation channel may be determined by progressing sequentially though the stabilizer circuit and collecting the Clifford unitaries and the commuting Pauli measurements into alternating layers. This approach may further include commuting Pauli operators through Clifford unitaries. The round outcomes mi(O) obtained in this approach are affine functions of the circuit outcome vector O of the stabilizer circuit
.
When a stabilizer channel has been expressed as a code deformation channel, the logical action of the stabilizer channel may be computed. For any code deformation channel, the logical action is equivalent to the general-form circuit 66 shown on the lefthand side of gen shown in
T to
out, as discussed in further detail below.
As seen from the logical action 68 depicted in
The Clifford unitaries L and R may be computed from elementary logical basis change matrices. To define these basis change matrices, a sequence of symplectic Pauli bases 0,
1, . . . ,
T. For j=1, 2, . . . , T, the corresponding symplectic Pauli basis is defined as
j=
(Uj
j−1Uj†,
). Thus,
j is a common symplectic basis for Uj
j−1Uj† and
j. In addition,
0=
in is the Pauli basis specified by the input code encoding Clifford unitary Cin.
In order to compute the logical action of the fixed-phase code deformation step corresponding to the logical action 68, the input and output symplectic bases are specified for each of the measurement rounds. For round j, an input-output pair including Ujj−1Uj† and
j is selected. With the above choice of input and output symplectic bases, for all j=1, 2, . . . , T, Lj† is a logical basis change from [Uj
j−1Uj†
to [
j
. Rj is a logical basis change of the code
j from [
j] to [
j], and is therefore equal to the identity. The R Clifford unitary in the general-form circuit 66 of
T (with an encoding Clifford unitary specified by
j) to
out (with an encoding Clifford unitary specified by Cout. With the above choices of bases, the logical action of Uj is trivial with respect to the input code
j−1 with the logical operator basis [
j−1
, and with respect to the output code Uj
j−1Uj† with the logical operator basis [Uj
j−1Uj†
.
The effects of noise on code deformation channels are discussed below. These effects of noise are considered for a stabilizer channel from an input code with a stabilizer group
in to an output code with a stabilizer group
out. The stabilizer channel
is expressed as a circuit over an instruction set
. The stochastic Pauli noise model is used to model the noise that occurs at the stabilizer channel
. In addition, phase-fixes are assumed to be included in
. The logical action of the stabilizer channel
is expressed in the Pauli bases
in and
out for the input and output codes, respectively. The logical action of the stabilizer channel
is described by the general-form circuit 66 of
The noise model for the stabilizer circuit with the instruction set
includes an explicit specification of the actions of a set of elementary faults for each instruction. These actions are expressed in terms of outcome bits that are flipped and Pauli errors that are applied to the logical action of the stabilizer channel
, along with the respective probabilities of those errors.
For each instruction in , and for each elementary fault which that instruction can undergo according to the noise model, a respective element is assigned to an elementary fault set
of the stabilizer channel
. For each element of
, the noise model specifies a respective probability Pr that that elementary fault occurs. The noise model further specifies a corresponding fault effect, which is the effect the fault has on the stabilizer channel
. The fault effect may include a residual error Pauli operator E, which is applied to the qubits at the end of the stabilizer channel
as a result of the elementary fault. The fault effect may additionally or alternatively include a residual outcome flip bitstring δ, which specifies how the channel outcome vector O is modified to O+δ as a result of the elementary fault. Undetectable elementary faults are excluded from the elementary fault set
, as discussed in further detail below. When convenient, each elementary fault in
may be assumed to have a unique effect pair (E, δ).
Multiple elementary faults may occur together, forming a fault F. This fault F is a subset F⊂. As an assumption of the noise model, elementary faults are sampled independently from
according to their probabilities, thereby forming the fault F⊂
with a probability Pr(F). The probability Pr(F) is the probability that those elementary faults included in F occur and that all elementary faults in
\F do not occur. For any fault F, the residual error E(F) is defined as the product of the residual errors of each elementary fault included in F. In addition, the residual outcome flip δ(F) is defined as the sum over the residual outcome flips of each of the elementary faults included in F.
The effect of a Pauli error P acting on the input qubits is defined with Ein(P) and δin(P). Ein(P) and δin(P) are, respectively, the residual error at the end of the channel and the residual outcome flip that would occur if P were applied at the start of the stabilizer channel without any faults occurring.
A respective weight wt(F) may be associated with each fault. The weights of the faults are defined as wt(F)=log Pr(Ø)−log Pr(F) for each fault F⊂. Thus, wt(F1
F2)=wt(F1)+wt(F2), where
indicates a disjoint union. The weights of all elementary faults (and therefore all faults) are assumed to be non-negative. In some of the following examples, which are explicitly indicated, all the weights of the elementary faults are set to a unit weight. For example, if each of the elementary faults occurs with a probability proportional to p, then when assuming unit weights, the probability of a specific fault F occurring is given by Θ(pwt(F)). The preceding expression indicates that the probability of the fault F occurring is asymptotically bounded below by pwt(F), such that
for a constant C′ when p tends to zero.
A fault F may be represented as a vector vFϵ, which is referred to as a fault vector. In addition, the notation F+F′ is used to refer to the symmetric difference between two faults F and F′. Similarly, an input Pauli error P may be represented as an input error vector winϵ
22n
in. The fault vector and the input error vector may also be written without the subscripts as v and w.
Error correction at the stabilizer channel is discussed below. In the following discussion of error correction, the fault-free channel outcome vector is indicated as O. Given a fault F and an input Pauli error P, the observed channel outcome vector is written as Õ=O+δ(F)+δin(P). In addition, the output Pauli error at the end of the channel is written as E(F)·Ein(P).
The stabilizer channel C has a plurality of channel checks. Each channel check is either a parity, or the parity plus one, of a subset of elements of the channel outcome vector Õ, with the additional property that the value of the channel check is zero or one for every possible fault-free channel outcome vector O. A set of channel checks is denoted as Σ. The sum of two channel checks is also a channel check, such that the channel checks form a vector space over 2. In a noisy channel, each channel check is a linear function of the fault vector vF and the input error vector win (more specifically, the portion of win corresponding to the syndrome of the input code).
The syndrome σ(Õ) is defined as the observed outcomes of the checks included in the channel check set Σ. Any fault-free channel outcome vector O has a trivial syndrome σ(O)=0, and as such, σ(Õ)=σ(δ(F))+σ(δin(P)). The syndrome σ(Õ) may be assumed to include all the information used by a decoding algorithm to perform error correction. Thus, σ(Õ) acts as an organized and potentially compressed representation of the data included in Õ, which retains information about faults in the channel in a form that is conveniently consumed by the decoding algorithm. Different choices of check bases for the channel check space may be more or less convenient for decoding purposes, despite the syndrome storing equivalent information in those different check bases.
A fault is described as undetectable if that fault has a trivial syndrome, such that σ(δ(F))=0 and E(F) has a trivial output syndrome with respect to out. (Recall that the syndrome sout(E(F)) of a Pauli operator E(F) with respect to quantum error correcting code
out is the bit string
g1, E(F)
, . . . ,
gm, E(F)
where g1, . . . , gm are some independent Pauli operators that generate the code
out. The commutator
P, Q
of two Pauli operators P, Q is zero when P, Q commute and is one otherwise.) The pair (f(δ(F)), Ē(F)) is referred to as the logical action of the undetectable fault F, where Ē(F) is the logical operator of the residual error E(F) with respect to the output code basis
out. If F is undetectable and has non-trivial logical action, F is referred to as a non-trivial fault. As discussed above, elementary faults that are undetectable are excluded from
. These undetectable elementary faults are excluded because an undetectable elementary fault would either be trivial (in which case it can be removed from the elementary fault set
) or non-trivial (in which case the stabilizer channel
cannot be made tolerant to that fault). One important class of undetectable faults is the class of simple faults. A fault F is referred to as a simple fault when there is no undetectable fault F′ that is a proper subset of F.
The linear dependencies of channel checks Σ and the output code syndrome sout(E(F)) on the fault vectors vF may be organized as a channel check matrix AΣ. The channel check matrix AΣ is defined by the equation AΣvF=(δ(F))⊕sout(E(F)). Each undetectable fault F corresponds to an element vF of the kernel of the channel check matrix AΣ.
The linear dependencies of the logical actions of faults on the fault vectors vF may be organized as a logical effect matrix AL. The logical effect matrix is defined by the equation ALvF=f(δ(F))⊕Ē(F), where Ē(F) is a bitstring with respect to the output code basis out. Each trivial fault F corresponds to a fault vector vF in the kernels of AΣ and AL, and each non-trivial fault F corresponds to a fault vector vF in the kernel of AΣ and not in the kernel of AL.
The decoder is assumed herein to be a minimum-weight (MW) decoder . The minimum-weight decoder
computes a lowest-weight fault {circumflex over (F)}=
(σ) that matches the observed channel syndrome σ=σ(Õ). This lowest-weight fault {circumflex over (F)} is a highest-probability fault with the observed syndrome o. Since multiple different sets of faults may have the same observed syndrome in some examples, and since the faults included in those sets may differ from each other by trivial logical faults, the minimum-weight decoder is not guaranteed to identify a fault from the most likely set of faults that have the same logical effect and that match the observed syndrome o. From the lowest-weight fault {circumflex over (F)}, the Pauli correction Ê=E({circumflex over (F)}) may be computed and may be applied to the data qubits at the end of the stabilizer channel
. In addition, a corrected channel outcome vector may be computed as Ô=Õ+δ({circumflex over (F)}). The decoder is assumed to be deterministic, such that the same correction is produced for each of a plurality of instances of a given syndrome σ. In addition, when the syndrome o is trivial,
(σ) is also assumed to be trivial.
In the presence of noise, error correction is first applied to satisfy each of the channel checks. A channel check is satisfied in the presence of noise and error correction when it has the same value as in the absence of noise. In the absence of noise, a check may be always equal to zero or always equal to one. Subsequently to performing error correction, an algorithm to extract any logical outcomes is applied using the function f on the corrected outcomes Ô.
The fault distance (also referred to as the channel distance) of a stabilizer channel indicates the number of faults in the stabilizer channel that are correctable. For a stabilizer channel
affected by stochastic Pauli noise with an elementary fault set
, the fault distance
is the minimum weight of a non-trivial fault of
. Accordingly, the fault distance is the minimum weight of an element of the kernel of the channel check matrix AΣ that is not included in the kernel of the logical effect matrix AL. The stabilizer channel
achieves its fault distance
on a simple fault.
The fault distance of the stabilizer channel
affects the error correction properties of the stabilizer channel. In the context of operating the quantum computing device 16 of
is typically included in a larger computation, and later steps in that computation may be used to infer the output code syndrome σ. Thus, the MW decoder may be assumed to have access to the channel checks and the output syndrome σ of the stabilizer channel
. With the access to the output code syndrome, the MW decoder can correct any error with weight less than
/2.
The lowest-weight errors that lead to non-trivial faults are discussed below. As discussed above, such an error has weight /2. To further describe the lowest-weight errors that lead to non-trivial faults, odd and even simple faults are defined as follows. A simple fault is even when that simple fault may be represented as a disjoint union of faults F1
F2 such that wt(F1)=wt(F2)=wt(F)/2. Each fault that is not an even fault is an odd fault. In an example in which the channel fault distance is achieved on an even fault F1
F2, with wt(F1)=wt(F2)=
/2, then at least one of sout(F1) and σ(F2) is nonzero, because F1
F2 is a simple fault. Since F1
F2 is a non-trivial fault, the logical actions of F1 and F2 are different. For the syndrome σ(F1)=σ(F2) and the output code syndrome sout(F1)=sout(F2), the deterministic MW decoder computes a minimum-weight fault F′. The logical action of F′ differs from that of either F1 or F2, so either F1 or F2 followed by the correction for F′ corresponds to a logical error. When the fault distance is achieved on an even fault,
/2 is a tight (non-inclusive) upper bound on the weight of correctable errors.
In the following example, the channel distance is achieved on odd faults without being achieved on any even faults. In this example, F is a channel-distance-achieving odd fault, and Fe⊂F is a positive-weight elementary fault. Then F=F1F2
Fe is a disjoint union of three sets of faults. It is assumed without loss of generality that wt(F1)≥wt(F2). The fault F1
Fe is therefore a fault that results in error correction failure. In examples in which F1
Fe occurs at the stabilizer channel
, then F2 and F1
Fe have the same channel syndrome and output code syndrome, at least one of which is nonzero. The MW decoder computes a correction F′ that has a weight of at most wt(F2)≤(
wt(Fe))/2 and the same syndromes and same logical action as F2. Correcting for F′ causes a logical error that is equal to the logical action of F. Thus, in examples in which the channel distance is achieved on odd faults without being achieved on any even faults, there exists a non-correctable fault with weight wt(F1
Fe)ϵ(
/2,
]. In examples in which each of the elementary faults have the same weight w0, the faults F1 and F2 may be selected such that wt(F1)=wt(F2). Thus, in such examples, the non-correctable fault has a weight of (
+w0)/2.
Hook faults (also referred to as hook errors) are discussed below. A hook fault is a fault that, due to the implementation details of a circuit, spreads into a large-weight error, thereby resulting in an increased corrupting effect on the encoded information. The concept of a hook error is formalized below for general stabilizer channels. This formalization includes a comparison of the effects of two different noise models that are defined for different instruction sets. Specifically, faults that occur in circuit noise, as defined for a circuit expressed in a low-level instruction set of one- and two-qubit gates, are distinguished from faults that occur in phenomenological noise, which are defined for a representation of a stabilizer circuit expressed in a higher-level instruction set as a code deformation channel.
As discussed above, a stabilizer channel is described as implementing a code deformation channel
def when the stabilizer channel
can be re-collected into a sequence of measurement rounds equivalent to the rounds of
def. In addition, as discussed above, two stabilizer circuits are equivalent if those stabilizer circuits have the same action when the outcome vectors of the circuits satisfy an affine relation. In the following discussion of hook errors, a stronger notion of equivalence is used, according to which each outcome of each code deformation round depends only upon a disjoint subset of the outcomes of the re-collected circuit round. The stabilizer channel
may be split into sub-circuits that are each equivalent to code deformation rounds. The outcomes of the subcircuits can each be mapped to a corresponding code deformation round, such that the code deformation rounds can be re-collected into the stabilizer channel
. When the above equivalence relation holds for each measurement round, the stabilizer channel
is described as tightly implementing the code deformation channel
def.
For a stabilizer channel , the elementary fault set for circuit noise is denoted as
, and the elementary fault set of phenomenological noise on the code deformation channel
def is denoted as
def. In both the circuit noise model and the phenomenological noise model, the elementary faults are assumed to have unit weights. For the purposes of the phenomenological noise model, the idle locations in the code deformation channel
def are placed at the ends of each of the code deformation rounds. The tight implementation of
def by
implies that an outcome vector Odef of
def can be obtained from the outcome vector O of
by a relation Odef=MO+o, where M has rows with disjoint support. The effect of each elementary fault in
can thereby be mapped to an effect on
def using the equation for Odef.
The set of all possible fault effects of a given elementary fault set forms a linear space. By the properties of the circuit and phenomenological noise models, and since C tightly implements def, the fault sets have the following properties:
An elementary fault Fϵ is referred to as a channel hook fault for
def when no element of
def matches the effect of F on
def. In addition, a channel hook fault Fϵ
is referred to as a severe hook fault when F is included in a minimal-weight non-trivial logical fault for
def with respect to
. “With respect to
,” as used in the above definition, means that the code deformation channel
def is affected by stochastic Pauli noise with the fault set
. A channel hook fault Fϵ
for
def is referred to as a conspicuous severe hook fault when F is included in a minimum-weight non-trivial logical fault for
def with respect to
def.
Three fault distances are defined as follows:
d is the circuit fault distance of def. The circuit fault distance d is the fault distance of the channel
def with respect to the elementary fault set
.
ddef is the phenomenological fault distance of def. The phenomenological fault distance ddef is the fault distance of the code deformation channel
def with respect to the elementary fault set
def.
is the fault distance of C with respect to the elementary fault set
, as discussed above.
Three bounds on these fault distances may be computed as follows. First, the phenomenological fault distance ddef is upper bounded by the smallest code distance in the code deformation sequence 1, . . . ,
T of the code deformation channel
def. The phenomenological fault distance ddef has this upper bound because the phenomenological elementary fault set
def includes a full set of single-qubit Pauli operators at the end of each measurement round. Thus, a minimum-weight non-trivial logical operator may be constructed for any of the instantaneous stabilizer group within
def using a number of elements of
def equal to the weight of the logical operator. That minimum-weight non-trivial logical operator corresponds to a non-trivial logical fault for the channel.
As a second bound, d≤ddef. The circuit fault distance d has this bound because the linear spaces generated by the effects of the two elementary fault sets on def are the same. Thus, the non-trivial logical faults produced from both fault sets are identical, but since the effects of
def are a subset of the effects of F, each fault has at most the same weight with respect to
as with respect to
def. This second bound requires that the stabilizer circuit
tightly implements the code deformation circuit
def. In examples in which
includes no severe hook faults, the circuit distance d is equal to the phenomenological distance ddef.
As a third bound, d≥d. Considering the effects of faults in the circuit noise elementary fault set
on
def rather than on
, there may be some loss of information that could be used to detect faults. A non-trivial fault F⊂
that is undetectable on
def could potentially be detectable on
due to this additional information, which would increase the fault distance
above d.
The fault distances of combinations of stabilizer channels are discussed below. In the following discussion, conditions are specified under which a sequence of stabilizer channels has a given fault distance d. As discussed in further detail below, when a stabilizer channel and its fault set satisfy a time locality property, simple faults at that stabilizer channel are contiguous in time. This contiguousness property allows a fault in a composed stabilizer channel to be localized to a pair of consecutive stabilizer channels included in the composed stabilizer channel.
For a stabilizer channel with a fault set , the fault set
may be partitioned into disjoint subsets as
=
1
2
. . .
T. The indices of the disjoint subsets refer to partition timesteps, which are timesteps of stabilizer channel execution that correspond to the disjoint subsets. A stabilizer channel with a channel check set Σ is time-local with respect to the above fault set partition when the channel check set Σ has a partition Σ=Σ1
Σ2
. . .
ΣT that satisfies the following time locality criteria:
1) The checks included in the first channel check set Σ1 depend only on an input code syndrome sin of an input error Ein and the elementary faults included in 1. The input code syndrome sin of a Pauli operator E(F) with respect to quantum error correcting code
in is the bit string
g1, E(F)
, . . . ,
gm, E(F)
where g1, . . . , gm are independent Pauli operators that generate the code
in.
2) The input code syndrome in may be computed from checks included in Σ1 when no faults occur. Specifically, the input code syndrome sin is an affine function of the checks. Thus, the input code syndrome sin is isomorphic to the first channel check set Σ1 when no faults occur at the stabilizer channel.
3) Checks included in the channel check set Σj depend only on the elementary faults in j-1
j for jϵ[2, T].
4) The output code syndrome sout depends only on the checks in Σ and the elementary faults in T.
In a time-local stabilizer channel, simple faults are contiguous in time. For a simple fault configuration F that is a subset of j
. . .
j
j
The composition of two time-local stabilizer channels is also a time-local stabilizer channel. In the following example, two stabilizer channels α and
β are time-local with respect to partitions of the fault sets
α={
jα}jϵ[T
β={
jβ}jϵ[T
α and
β have respective sets of check bases Σα={Σjα}jϵ[T
inβ=
outα, and these stabilizer groups are considered with respect to the same symplectic Pauli basis. Under the above conditions, the stabilizer channel composition
α∘
β is time-local with respect to the partition {
jα}jϵ[T
{
jβ}jϵ[[T
α
β.
To demonstrate that α∘
β is time-local, the time locality criteria discussed above are demonstrated below for
α∘
β. First, the checks included in Σ1β depend on the input code syndrome sinβ of the input error Einβ and on the elementary faults included in
1β. In addition, sinβ=soutα and is a function of the faults in
T
Σβ and faults in
T
T
1β by combining Σ1β with the checks in Σα. The check basis partition {Σjα}jϵ[T
{{tilde over (Σ)}1β}
jϵ[2,T
In examples in which T=1, the time locality criteria are considerably simplified. In such examples, when the stabilizer channel satisfies the condition that the input syndrome sin is a function of the checks in Σ when no faults occur, the output syndrome sout may be expressed as a linear function of the fault vector vF and the checks.
In the following example, the elementary faults included in the fault sets of the stabilizer channels are assumed to have uniform weights. In this example, a simple fault of weight d in a time-local stabilizer channel can span at most d consecutive elements of the partition j+1
. . .
j+d for some j. Otherwise, the weight of the simple fault would be greater than d. As discussed below, the above property is used to establish the conditions under which stabilizer channel composition is distance-preserving.
The channel distance of a sequence of three stabilizer channels α,
β, and CY may be computed from the channel distances of its component pairs of stabilizer channels under some conditions. As a first condition, the stabilizer channels Ca, CB, and
γ are compatible, time-local stabilizer channels with unit-weight faults. In addition, the compositions
α∘
β and
β∘
γ are stabilizer channels with distances of at least d, and the fault set partition with respect to which
β is time-local has a size of at least d. Under such conditions, the composition
α∘
β∘
γ also has a distance of at least d. Thus, the above conditions allow for computation of a lower-bound channel distance of a sequence of three or more stabilizer channels.
A sequence of stabilizer channels may, in some examples, satisfy the following conditions under which the sequence of stabilizer channels is known to satisfy the above conditions and to therefore have a channel distance of at least d. In some such examples, the stabilizer channels each have the same number of input and output logical qubits and each act one or two logical qubits encoded in the same code. The time-local stabilizer channels in such a sequence may be divided into two finite sets of time-local stabilizer channels, short and
long. Each stabilizer channel included in
long is time-local with a fault-set partition of at least size d, and acts on one logical qubit. As an additional criterion, for any pair of one-qubit stabilizer channels
αϵ
short and
βϵ
long, the compositions
α∘
β and
β∘
α both have distance d. As a further criterion, for any two-qubit stabilizer channel
αϵ
short and one-qubit stabilizer channels
β,
γϵ
long, the compositions
α∘(
β⊗
γ) and (
β⊗
γ). Ca both have distance d.
The conditions under which the composition α∘
β∘
γ has a distance of at least d, as discussed above, imply that a composition that interleaves short and long stabilizer channels is a stabilizer channel of distance at least d. An example of such an interleaved stabilizer channel composition 70 is schematically depicted in
jα,
j,j+1α,
jγ,
j,j+1γ are time-local, and the elementary stabilizer channels
jβ are time-local with fault-set partition sizes of at least d. In addition, the stabilizer channel compositions
jβ∘
jγ,
jα∘
nβ,
j,j+α∘(
jβ⊗
j+1β), and (
jβ⊗
j+1β)∘
j,j+1γ are of distance d. Accordingly, the overall stabilizer channel
α∘
β∘
γ is of distance d, since
α∘
β and
β∘
γ satisfy the stabilizer channel composition distance conditions.
Although the above stabilizer channel composition examples are discussed with reference to compositions of three stabilizer channels, the above properties of stabilizer channel composition also apply to compositions of more than three stabilizer channels. In addition, compositions of stabilizer channels with different numbers of input and output qubits, and/or with different codes for the logical qubits, may also be composed as discussed above. In such examples, the composed stabilizer channels retain the channel distance properties discussed above.
At step 104, the method 100 further includes receiving respective fault sets associated with the stabilizer channels. The fault sets may each include a respective plurality of elementary faults. In addition, each of the fault sets may further include a plurality of compositions of the elementary faults. According to some examples, the plurality of elementary faults include a plurality of phenomenological noise elementary faults and a plurality of circuit noise elementary faults. In other examples, some other independent stochastic Pauli noise model may be used to specify the fault sets of the stabilizer channels.
In examples in which the set of elementary faults includes phenomenological noise elementary faults, the plurality of phenomenological noise elementary faults may include a first plurality of one-qubit Pauli errors respectively associated with idle instructions. The one-qubit Pauli errors may be X, Y, and Z errors that each occur with probability p/3. The plurality of phenomenological noise elementary faults may further include a first plurality of outcome flips respectively associated with measurement instructions. The outcome flips may each occur with probability p.
In examples in which the set of elementary faults includes circuit noise elementary faults, the plurality of circuit noise elementary faults may include a second plurality of one-qubit Pauli errors respectively associated with single-qubit stabilizer instructions. The one-qubit Pauli errors may be X, Y, and Z errors that each occur with probability p/3. The plurality of circuit noise elementary faults may further include a plurality of two-qubit Pauli errors respectively associated with two-qubit stabilizer instructions. The two-qubit Pauli errors may each occur with probability p/15. In addition, the plurality of circuit noise elementary faults may further include a second plurality of outcome flips respectively associated with measurement instructions. The outcome flips may each occur with probability p.
At step 106, the method 100 further includes computing a lower-bound channel distance of the stabilizer channel sequence. The channel distance of a stabilizer channel is the number of faults in the stabilizer channel that are correctable. Thus, the lower-bound channel distance is a lower bound on the number of correctable faults that may occur at the stabilizer channel sequence.
Step 106 includes, at step 108, computing respective lower-bound channel distances of a plurality of compositions of adjacent pairs of stabilizer channels in the stabilizer channel sequence. In some examples, the lower-bound channel distances of the compositions of adjacent pairs are computed using a graph-based algorithm. Using such an algorithm, computing the lower-bound channel distances of the compositions may include computing a shortest graph-like undetectable non-trivial error of the composition. The lower-bound channel distance of the composition, in such examples, is given by the length of the shortest graph-like undetectable non-trivial error. The identification of graph-like undetectable non-trivial errors is discussed in further detail below.
At step 110, for at least one stabilizer channel of the three or more stabilizer channels, and for each of a plurality of partition timestep counts, step 106 may further include receiving an indication of whether there exists a time-locality-satisfying partition of the fault set of that stabilizer channel. The time-locality satisfying partition is a partition of the fault set that has the specified partition timestep count, and for which the stabilizer channel is time-local.
The time-locality-satisfying partition may be a partition of the fault set that fulfills a plurality of time locality criteria. These time locality criteria may include a criterion that a first channel check set associated with a first partition timestep of a plurality of partition timesteps encodes a function of an input code syndrome, and of each of the elementary faults included in a first disjoint subset of the fault set. The time locality criteria may further include a criterion that when no faults occur at the stabilizer channel, the input code syndrome is isomorphic to the first channel check set.
Additionally or alternatively, the plurality of time locality criteria may include a criterion pertaining to a plurality of additional channel check sets associated with subsequent partition timesteps of the plurality of partition timesteps. That time locality criterion may specify that those additional channel check sets each encode respective functions of the elementary faults included in corresponding disjoint unions of a previous-timestep disjoint subset and a current-timestep disjoint subset. The previous-timestep disjoint subset is associated with a previous partition timestep of the plurality of partition timesteps, and the current-timestep disjoint subset is associated with a current partition timestep of the plurality of timesteps.
In some examples, the plurality of time locality criteria may further include a criterion that an output code syndrome is a function of the plurality of channel check sets and of each of the elementary faults included in a final disjoint subset. The final disjoint subset is associated with a final partition timestep of the plurality of partition timesteps.
At step 112, step 106 further includes selecting, as the lower-bound channel distance of the stabilizer channel sequence, a lowest value in a set that includes the plurality of lower-bound channel distances of the compositions, and that further includes each of the partition timestep counts that has a respective time-locality-satisfying partition. At step 114, the method 100 further includes outputting the lower-bound channel distance. Thus, the computing system identifies a lower bound on the number of correctable errors that may occur at the stabilizer channel.
α,
β, and
γ.
The processor 20 is further configured to receive respective fault sets 202 associated with the stabilizer channels 41. As shown in the example of
The plurality of phenomenological noise elementary faults 206 may include a first plurality of one-qubit Pauli errors 206A respectively associated with idle instructions. In addition, the phenomenological noise elementary faults 206 may further include a first plurality of outcome flips 206B respectively associated with measurement instructions.
The plurality of circuit noise elementary faults 208 may include a second plurality of one-qubit Pauli errors 208A respectively associated with single-qubit stabilizer instructions. The plurality of circuit noise elementary faults 208 may further include a plurality of two-qubit Pauli errors 208B respectively associated with two-qubit stabilizer instructions. In addition, the plurality of circuit noise elementary faults 208 may further include a second plurality of outcome flips 208C respectively associated with measurement instructions.
The processor 20 is further configured to compute a lower-bound channel distance d of the stabilizer channel sequence 200. When computing the lower-bound channel distance d, the processor 20 is configured to compute respective lower-bound channel distances 216 of a plurality of compositions of adjacent pairs of stabilizer channels 41 that are included in the stabilizer channel sequence 200. For example, α∘
β.
The processor 20 is further configured to receive time locality data for at least one stabilizer channel 41 of the three or more stabilizer channels 41, and for each of a plurality of partition timestep counts 214. For the at least one stabilizer channel 41, for each of the partition timestep counts 214, the processor 20 is further configured to receive an indication of whether there exists a time-locality-satisfying partition 212 of the fault set 202 of that stabilizer channel 41.
The time locality criteria 218 may include a criterion 218A that a first channel check set 21 associated with a first partition timestep of the plurality of partition timesteps encodes a function of an input code syndrome sin of an input error Ein, and of each of the elementary faults 204 included in a first disjoint subset 1 of the fault set 202. In addition, the plurality of time locality criteria 218 may further include a criterion 218B that when no faults occur at the stabilizer channel 41, the input code syndrome sin is isomorphic to the first channel check set Σ1.
The time locality criteria 218 may further include a criterion 218C that a plurality of additional channel check sets 2; associated with subsequent partition timesteps jϵ[2,T] of the plurality of partition timesteps each encode respective functions of the elementary faults 204 included in corresponding disjoint unions. These disjoint unions are disjoint unions j−1
j of a previous-timestep disjoint subset
j−1 associated with a previous partition timestep j−1 of the plurality of partition timesteps, and a current-timestep disjoint subset
j associated with a current partition timestep j of the plurality of partition timesteps.
The time locality criteria 218 may further include a criterion 218D that an output code syndrome sout of an output error Eout is a function of the plurality of channel check sets Σ1Σ2
. . .
ΣT, and of each of the elementary faults 204 included in a final disjoint subset
T. The final disjoint subset
T is associated with a final partition timestep T of the plurality of partition timesteps.
Subsequently to computing the lower-bound channel distances 216 and receiving the indications of the time-locality-satisfying partitions 212, the processor 20 is further configured to select, as the lower-bound channel distance d of the stabilizer channel sequence 200, a lowest value among the plurality of lower-bound channel distances 216 of the compositions and each of the partition timestep counts 214 that has a respective time-locality-satisfying partition 212. As shown in the example of
The processor 20 is further configured to output the lower-bound channel distance d. For example, the processor 20 may output the lower-bound channel distance d to a quantum circuit programming interface at which a user specifies properties of a quantum circuit for execution at the quantum computing device 16. Thus, the user may obtain information related to the fault tolerance properties of the quantum circuit.
In some examples, as shown in
1) When the short stabilizer channel α is a one-qubit stabilizer channel, a composition
α∘
β of the short stabilizer channel
α with a long stabilizer channel
β included among the one or more long stabilizer channels 222 of the stabilizer channel sequence 200.
β is also a one-qubit stabilizer channel.
2) When the short stabilizer channel Ca is a one-qubit stabilizer channel, a composition β∘
α of the long stabilizer channel
β with the short stabilizer channel
α.
3) When the short stabilizer channel C is a two-qubit stabilizer channel, A composition α∘(
β⊗
γ) of the short stabilizer channel
α with a tensor product
β⊗
γ of the long stabilizer channel
β and one or more additional long stabilizer channels
γ. In this composition,
β and
γ are both one-qubit stabilizer channels.
4) When the short stabilizer channel α is a two-qubit stabilizer channel, a composition (
β⊗
γ)∘
α of the tensor product
β⊗
γ with the short stabilizer channel
α.
In examples in which the stabilizer channel sequence 200 alternates between stabilizer channels 41 that, for some value of d, respectively satisfy the properties of long stabilizer channels 222 and short stabilizer channels 224, the stabilizer channel sequence 200 as a whole has lower-bound channel distance equal to d. Accordingly, the processor 20 may be configured to determine the lower-bound channel distance d of the stabilizer channel sequence 200 by checking, for a predetermined range of candidate channel distance values, whether the stabilizer channel sequence 200 alternates between long stabilizer channels 222 and short stabilizer channels 224. Performing such a determination may speed up the process of computing the lower-bound channel distance d, due to involving lower-bound channel distance determinations for fewer stabilizer channel pairs compared to determining the lower-bound channel distances of all adjacent pairs in the stabilizer channel sequence 200.
Computing the lower-bound channel distance d as discussed above has a time complexity of (N2 log N), where N is the number of physical qubit operations that are performed when the stabilizer channel 41 is implemented. In the above expression for the time complexity of determining the lower-bound channel distance d, the channel check matrix AΣ and the logical effect matrix AL of the stabilizer channel 41 are assumed to be already known. For a stabilizer channel sequence with a maximum number of gates Nmax in each of its component stabilizer channels, then checking M combinations of channels has a time complexity of
(MN2max log Nmax).
The above techniques have a lower time complexity than computing the lower-bound channel distance d by checking the lower-bound channel distance of the entire stabilizer channel sequence via a brute-force approach, without utilizing time locality properties. Brute-force checking the lower-bound channel distance has a time complexity of ((N′Nmax)2 log (N′Nmax)), where N′ is the number of component stabilizer channels that make up the stabilizer channel sequence. The brute-force approach is at least N′2/M times slower than utilizing time locality properties to compute the lower-bound channel distance d as discussed above.
The following discussion relates to the identification of hook faults at a stabilizer channel and determining the severity of those hook faults.
Given a stabilizer channel and a local stochastic Pauli noise model with a fault set , the fault distance could, in principle, be computed directly by enumerating faults to find the lowest-weight non-trivial fault. However, the time complexity of such a brute-force approach is exponential in the size of the fault set
. In some examples, rather than relying on brute force checking, the channel check matrix AΣ may be expressed as a graph in which undetectable faults correspond to cycles. From this graph, the fault distance of the stabilizer channel may be computed more efficiently.
Consider a stabilizer channel which has a channel check matrix AΣ expressed over a check basis Σ. The channel check matrix AΣ is described as graph-like when there exists a choice of check basis Σ′ that has the same span as Σ, such that each column of the corresponding transformed channel check matrix AΣ′ has a Hamming weight of one or two. A syndrome graph G=(V, E) may then be constructed from the transformed channel check matrix AΣ′ as follows. A vertex of the syndrome graph G is included in the vertex set V for each row of AΣ′, along with an additional boundary vertex. For each weight-2 column of AΣ′, an edge connecting the two vertices corresponding to that row's support is included in the edge set E. For each weight-1 column of AΣ′, an edge connecting the boundary vertex to the vertex corresponding to that row's support is included in E. By construction, every edge in the edge set E corresponds to an elementary fault in .
The cycle space of the syndrome graph G may be used to relate undetectable faults to cycles in G. A subset of edges E′⊂E is a cycle if the sub-graph (V, E′) has even-degree vertices. In addition, an indicator vector vE may be defined for each set of edges. Since the symmetric difference of two cycles also forms a cycle, the indicator vectors vE for which E is a cycle form a vector space over 2. This vector space is referred to as the cycle space of the graph G.
There exist efficient algorithms that may be used to determine whether the channel check matrix AΣ is graph-like, and to construct the corresponding decoding graph for the channel check matrix AΣ. Such an algorithm may be used when identifying severe hook faults, as discussed in further detail below.
When the channel check matrix AΣ is graph-like, the fault distance d of the stabilizer channel is the minimum weight of a cycle in G that has a non-trivial logical action, as defined by the logical effect matrix AL. >0. The inputs further include an error map r:E→
2m.
When performing the algorithm 300, the processor 20 may be configured to initialize the minimum weight wmin at ∞. The processor 20 may be further configured to execute a minimum weight updating loop for each of the vertices vϵV of the syndrome graph G. In this minimum weight updating loop, the processor 20 may be configured to solve a Single Source Shortest Paths problem for the syndrome graph G and the edge weights w for paths with weights less than wmin.
The processor 20 may be further configured to set V′ equal to V−{v}, ordered such that the shortest distance to the vertex v is non-decreasing. In the minimum weight updating loop, the processor 20 may be further configured to define a matrix R:V→2m that indicates vertices with undefined errors. In addition, the processor 20 may be further configured to set the matrix element R(v) to 0.
The processor 20 may be further configured to execute a vector subset loop as part of the minimum weight updating loop. In the vector subset loop, for each v′ϵV′, while W(v′)<wmin/2, the processor 20 is further configured to execute a loop over the neighbors u of v′. In this loop, for a value W(u) equal to the shortest distance from the vertex v to another vertex u, the processor 20 is further configured to determine whether W(u)+w(u, v′)=W(v′). If so, and if R(v′) is an undefined error, the processor 20 may be further configured to set R(v′) to R(u)+r(u, v′). If W(u)+w(u, v′)≠W(v′), and if R(v′)+R(u)+r(u, v′), the processor 20 may instead be configured to set wmin to min(wmin, 2W(v′)).
As part of the vector subset loop, the processor 20 may be further configured to execute an additional loop over the neighbors u of v′. In this additional loop, if W(u)+w(u, v′)≠W(v′), and if R(u) is defined, the processor 20 may be further configured to determine whether R(v′)≠R(u)+r(u, v′). If so, the processor 20 may be further configured to set a weight wodd cycle to W(u)+W(v′)+w(u, v′), and to set wmin to min (wmin, wodd cycle).
Subsequently to executing the minimum weight updating loop, the processor 20 may be further configured to return wmin as the output of the algorithm 300.
Information related to the syndrome graph G and its non-trivial cycles may be used in some examples to speed up the computation of the minimum weight wmin. For example, when a topological code is used, the syndrome graph G may be a cellulation of an underlying smooth topological manifold. In such examples, the cycles corresponding to logical fault configurations correspond to non-contractible loops, while cycles with trivial action on the stabilizer channel are contractible loops. In some such examples, each non-trivial cycle in the syndrome graph G passes through the boundary vertex. Thus, the runtime of the algorithm 300 may be considerably reduced by performing the minimum weight updating loop only for the boundary vertex.
At step 404, step 402 further includes receiving a circuit channel check matrix of the stabilizer channel. The columns of the circuit channel check matrix indicate values of checks associated with respective elementary faults of the stabilizer channel. In addition, at step 406, step 402 further includes receiving a phenomenological channel check matrix of the stabilizer channel. The phenomenological channel check matrix forms a sub-matrix of the circuit channel check matrix. The phenomenological channel check matrix and the circuit noise channel check matrix respectively indicate a plurality of phenomenological noise elementary faults and a plurality of circuit noise elementary faults included among the plurality of elementary faults of the stabilizer channel. The circuit channel check matrix and the phenomenological channel check matrix both have a number of rows equal to the number of checks of the stabilizer circuit. The circuit channel check matrix has a number of columns equal to the number of circuit noise elementary faults, and the phenomenological channel check matrix has a number of columns equal to the number of phenomenological noise elementary faults.
As discussed above, the plurality of phenomenological noise elementary faults may include a first plurality of one-qubit Pauli errors respectively associated with idle instructions and a first plurality of outcome flips respectively associated with measurement instructions. The plurality of circuit noise elementary faults may include a second plurality of one-qubit Pauli errors respectively associated with single-qubit stabilizer instructions, a plurality of two-qubit Pauli errors respectively associated with two-qubit stabilizer instructions, and a second plurality of outcome flips respectively associated with measurement instructions.
The one or more hook faults, as discussed above, are one or more circuit noise elementary faults that have respective syndromes and logical effects that differ from those of each of the phenomenological noise elementary faults. In addition, the one or more severe hook faults are hook faults that overlap with one or more respective minimal-weight non-trivial undetectable faults. As discussed in further detail below, the one or more severe hook faults may be identified by identifying one or more hook faults and checking those one or more hook faults for overlap with the one or more respective minimal-weight non-trivial undetectable faults in terms of their syndromes and logical effects.
At step 408, step 402 further includes receiving a logical effect matrix of the stabilizer channel. The logical effect matrix encodes a respective logical effect of each of the elementary faults of the stabilizer channel. Each of the logical effects may be a bit vector that encodes an effect of the corresponding elementary fault on logical information that is stored in output qubits of the stabilizer channel. That logical information may be extracted by inferring logical measurements outcomes from circuit outcomes of the stabilizer channel, as obtained at the classical computing device from the qubit reader. The number of rows in the logical effect matrix depends upon the logical action of the stabilizer channel. For example, the number of rows in the logical effect matrix may be double the number of logical qubits. The number of columns of the logical effect matrix is equal to the number of circuit noise elementary faults. Accordingly, the logical effect matrix has the same number of columns as the circuit channel check matrix.
At step 410, step 402 further includes receiving a weight vector that indicates respective probability weights of the elementary faults. These elementary faults may be the circuit noise elementary faults. In some examples, the probability weights of the elementary faults are each computed as a difference between a logarithm of a probability that no fault occurs at the stabilizer channel and a logarithm of a probability that the elementary fault occurs at the stabilizer channel. Thus, in such examples, the weights wt(F) are each computed as wt(F)=log Pr(Ø)−log Pr(F).
At step 412, step 402 further includes computing one or more column indices of respective columns of the circuit channel check matrix that correspond to the one or more severe hook faults. These column indices are computed based at least in part on the circuit channel check matrix, the logical effect matrix, the phenomenological channel check matrix, and the weight vector. Accordingly, the column indices indicate which, if any, of the circuit noise elementary faults are severe hook faults.
At step 414, the method 400 further includes outputting the indication of the one or more severe hook faults. In examples in which the computing system determines that none of the circuit noise elementary faults are severe hook faults, the computing system is instead configured to output an indication that no severe hook faults were found.
At step 424, the method 400 may further include computing a modified weight vector in which the probability weight corresponding to the elementary fault is divided by a predefined weight quotient. Accordingly, for a weight vector w, step 424 may include computing the modified weight vector w′ by setting a probability weight wc equal to wc/qw, where wc is the element of w corresponding to a column c, and where qw is the predefined weight quotient. In some examples, qw=2.
At step 426, the method 400 may further include computing a modified weight of the minimal-weight non-trivial undetectable fault based at least in part on the circuit channel check matrix, the logical effect matrix, and the modified weight vector. The modified weight may also be computed at least in part by executing the algorithm 300 of
At step 428, the method 400 may further include determine that the elementary fault is a severe hook fault if the modified weight is equal to the probability weight of the minimal-weight non-trivial undetectable fault, minus the probability weight of the elementary fault times one minus the predefined weight quotient. Accordingly, the method 400 includes checking whether w′0=w0−(1−qw)wc, where w′0 is the modified weight and w0 is the weight of the probability of the minimal-weight non-trivial undetectable fault prior to the modification. In examples in which
At step 432, the method 400 may further include computing the probability weight of the minimal-weight non-trivial undetectable fault as a minimum edge weight of a cycle of the syndrome graph that has a nonzero total error value. This probability weight may be computed using the algorithm 300. In addition, the algorithm 300 may be used to compute the modified weight.
The processor 20 is further configured to receive a phenomenological channel check matrix AΣ′ of the stabilizer channel 41. The phenomenological channel check matrix AΣ′ is a sub-matrix of the circuit channel check matrix AΣ and indicates values of checks Σ′ associated with the plurality of phenomenological noise elementary faults 206.
The processor 20 is further configured to receiving a logical effect matrix AL of the stabilizer channel 41. The logical effect matrix AL encodes a respective logical effect of each of the circuit noise elementary faults 208 of the stabilizer channel 41. Each of the logical effects may be a bit vector that encodes an effect of the corresponding circuit noise elementary fault 208 on logical information that is stored in output qubits of the stabilizer channel 41 and is extracted via inferring logical measurements outcomes from circuit outcomes of the stabilizer channel 41.
The processor 20 is further configured to receive a weight vector w that indicates respective probability weights wc of the circuit noise elementary faults 208. In some examples, the probability weights wc of the circuit noise elementary faults 208 are each computed as a difference between a logarithm of a probability that no fault occurs at the stabilizer channel 41 and a logarithm of a probability that the circuit noise elementary fault occurs at the stabilizer channel 41.
At the fault severity determination module 500, based at least in part on the circuit channel check matrix AΣ, the logical effect matrix AL, the phenomenological channel check matrix AΣ′, and the weight vector w, the processor 20 is further configured to compute one or more column indices 502 of respective columns c of the circuit channel check matrix AΣ that correspond to the one or more severe hook faults 504.
Subsequently to computing the one or more column indices 502, the processor 20 is further configured to output an indication of the one or more severe hook faults 504, as indicated by the one or more column indices 502.
In the example of
The processor 20 may be further configured to determine that the elementary fault 204 is a severe hook fault 504 if the modified weight w0′ is equal to the probability weight w0 of the minimal-weight non-trivial undetectable fault 508, minus the probability weight wc of the elementary fault 204 times one minus the predefined weight quotient qw. In examples in which the processor 20 determines that the above quantities are equal, the processor 20 may be further configured to add the column index 502 of the corresponding column c to the column index list 506.
Using the above techniques for identifying severe hook faults, a quantum computing device programmer may obtain an assessment of fault tolerance properties of a stabilizer channel 41 that may be executed at the quantum computing device 16. The severe hook fault identification allows the user to identify whether the stabilizer channel 41 is prone to faults that lead to uncorrectable errors in logical outcomes of the stabilizer channel 41. Accordingly, the above techniques for identifying severe hook faults may allow the user to program a reliable stabilizer channel more quickly and easily.
In some embodiments, the methods and processes described herein may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
Computing system 600 includes a logic processor 602 volatile memory 604, and a non-volatile storage device 606. Computing system 600 may optionally include a display subsystem 608, input subsystem 610, communication subsystem 612, and/or other components not shown in
Logic processor 602 includes one or more physical devices configured to execute instructions. For example, the logic processor may be configured to execute instructions that are part of one or more applications, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
The logic processor may include one or more physical processors configured to execute software instructions. Additionally or alternatively, the logic processor may include one or more hardware logic circuits or firmware devices configured to execute hardware-implemented logic or firmware instructions. Processors of the logic processor 602 may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic processor optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic processor may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration. In such a case, these virtualized aspects are run on different physical logic processors of various different machines, it will be understood.
Non-volatile storage device 606 includes one or more physical devices configured to hold instructions executable by the logic processors to implement the methods and processes described herein. When such methods and processes are implemented, the state of non-volatile storage device 606 may be transformed—e.g., to hold different data.
Non-volatile storage device 606 may include physical devices that are removable and/or built in. Non-volatile storage device 606 may include optical memory, semiconductor memory, and/or magnetic memory, or other mass storage device technology. Non-volatile storage device 606 may include nonvolatile, dynamic, static, read/write, read-only, sequential-access, location-addressable, file-addressable, and/or content-addressable devices. It will be appreciated that non-volatile storage device 606 is configured to hold instructions even when power is cut to the non-volatile storage device 606.
Volatile memory 604 may include physical devices that include random access memory. Volatile memory 604 is typically utilized by logic processor 602 to temporarily store information during processing of software instructions. It will be appreciated that volatile memory 604 typically does not continue to store instructions when power is cut to the volatile memory 604.
Aspects of logic processor 602, volatile memory 604, and non-volatile storage device 606 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
The terms “module,” “program,” and “engine” may be used to describe an aspect of computing system 600 typically implemented in software by a processor to perform a particular function using portions of volatile memory, which function involves transformative processing that specially configures the processor to perform the function. Thus, a module, program, or engine may be instantiated via logic processor 602 executing instructions held by non-volatile storage device 606, using portions of volatile memory 604. It will be understood that different modules, programs, and/or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same module, program, and/or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms “module,” “program,” and “engine” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
When included, display subsystem 608 may be used to present a visual representation of data held by non-volatile storage device 606. The visual representation may take the form of a graphical user interface (GUI). As the herein described methods and processes change the data held by the non-volatile storage device, and thus transform the state of the non-volatile storage device, the state of display subsystem 608 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 608 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic processor 602, volatile memory 604, and/or non-volatile storage device 606 in a shared enclosure, or such display devices may be peripheral display devices.
When included, input subsystem 610 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, camera, or microphone.
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 wired or wireless local- or wide-area network, broadband cellular network, etc. 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 one or more processing devices configured to receive a stabilizer channel sequence for use with a quantum computing device. The stabilizer channel sequence includes three or more stabilizer channels. The one or more processing devices are further configured to receive respective fault sets associated with the stabilizer channels. The one or more processing devices are further configured to compute a lower-bound channel distance of the stabilizer channel sequence at least in part by computing respective lower-bound channel distances of a plurality of compositions of adjacent pairs of stabilizer channels in the stabilizer channel sequence. Computing the lower-bound channel distance further includes, for at least one stabilizer channel of the three or more stabilizer channels, for each of a plurality of partition timestep counts, receiving an indication of whether there exists a time-locality-satisfying partition of the fault set of that stabilizer channel that has that partition timestep count and for which the stabilizer channel is time-local. Computing the lower-bound channel distance further includes selecting, as the lower-bound channel distance of the stabilizer channel sequence, a lowest value among the plurality of lower-bound channel distances of the compositions and each of the partition timestep counts that has a respective time-locality-satisfying partition. The one or more processing devices are further configured to output the lower-bound channel distance. The above features may have the technical effect of identifying a lower bound on the number of correctable errors that may occur at the stabilizer channel.
According to this aspect, the fault sets each include a respective plurality of elementary faults and a plurality of compositions of the elementary faults. The above features may have the technical effect of determining the lower-bound channel distance with respect to both the elementary faults and the compositions of those elementary faults.
According to this aspect, the plurality of elementary faults may include a plurality of phenomenological noise elementary faults and a plurality of circuit noise elementary faults. The above features may have the technical effect of computing the lower-bound channel distance for two different independent stochastic Pauli noise models.
According to this aspect, the plurality of phenomenological noise elementary faults may include a first plurality of one-qubit Pauli errors respectively associated with idle instructions and a first plurality of outcome flips respectively associated with measurement instructions. The plurality of circuit noise elementary faults may include a second plurality of one-qubit Pauli errors respectively associated with single-qubit stabilizer instructions, a plurality of two-qubit Pauli errors respectively associated with two-qubit stabilizer instructions, and a second plurality of outcome flips respectively associated with measurement instructions. The above features may have the technical effect of modeling different types of phenomenological noise and circuit noise elementary faults when computing the lower-bound channel distance.
According to this aspect, each of the time-locality-satisfying partitions may fulfill a plurality of time locality criteria, including a criterion that a first channel check set associated with a first partition timestep of a plurality of partition timesteps encodes a function of an input code syndrome and of each of the elementary faults included in a first disjoint subset of the fault set. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to this aspect, the plurality of time locality criteria may include a criterion that when no faults occur at the stabilizer channel, the input code syndrome is isomorphic to the first channel check set. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to this aspect, the plurality of time locality criteria may include a criterion that a plurality of additional channel check sets associated with subsequent partition timesteps of the plurality of partition timesteps each encode respective functions of the elementary faults included in corresponding disjoint unions of a previous-timestep disjoint subset associated with a previous partition timestep of the plurality of partition timesteps and a current-timestep disjoint subset associated with a current partition timestep of the plurality of partition timesteps. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to this aspect, the plurality of time locality criteria may include a criterion that an output code syndrome is a function of the plurality of channel check sets and of each of the elementary faults included in a final disjoint subset associated with a final partition timestep of the plurality of partition timesteps. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to this aspect, the one or more processing devices may be configured to compute the lower-bound channel distances of the compositions of the adjacent pairs of stabilizer channels at least in part by, for each of the compositions, computing a shortest graph-like undetectable non-trivial error of the composition and identifying the length of the shortest graph-like undetectable non-trivial error as the lower-bound channel distance of the composition. The above features may have the technical effect of determining the lower-bound channel distances of the adjacent pairs of stabilizer channels.
According to this aspect, the at least one stabilizer channel may be a long stabilizer channel that is time-local for a partition timestep count greater than or equal to the lower-bound channel distance of the stabilizer channel sequence. The above features may have the technical effect of allowing the one or more processing devices to speed up the determination of the lower-bound channel distance when the stabilizer channels included in the stabilizer channel sequence have specific length properties.
According to this aspect, the stabilizer channel sequence may alternate between one or more long stabilizer channels and one or more short stabilizer channels for which the following compositions have respective lower-bound channel distances equal to the lower-bound channel distance of the stabilizer channel sequence: a composition of the short stabilizer channel with a long stabilizer channel included among the one or more long stabilizer channels, and a composition of the long stabilizer channel with the short stabilizer channel; or a composition of the short stabilizer channel with a tensor product of the long stabilizer channel and one or more additional long stabilizer channels, and a composition of the tensor product with the short stabilizer channel. The above features may have the technical effect of allowing the one or more processing devices to speed up the determination of the lower-bound channel distance when the stabilizer channels included in the stabilizer channel sequence have specific length properties.
According to this aspect, the one or more processing devices may be configured to search for the lower-bound channel distance over a predefined range of candidate channel distance values. The above features may have the technical effect of determining the lower-bound channel distance more quickly by searching over a range of high-probability candidate channel distance values.
According to another aspect of the present disclosure, a method for use with a computing system is provided. The method includes receiving a stabilizer channel sequence for use with a quantum computing device. The stabilizer channel sequence includes three or more stabilizer channels. The method further includes receiving respective fault sets associated with the stabilizer channels. The method further includes computing a lower-bound channel distance of the stabilizer channel sequence at least in part by computing respective lower-bound channel distances of a plurality of compositions of adjacent pairs of stabilizer channels in the stabilizer channel sequence. Computing the lower-bound channel distance further includes, for at least one stabilizer channel of the three or more stabilizer channels, for each of a plurality of partition timestep counts, receiving an indication of whether there exists a time-locality-satisfying partition of the fault set of that stabilizer channel that has that partition timestep count and for which the stabilizer channel is time-local. Computing the lower-bound channel distance further includes selecting, as the lower-bound channel distance of the stabilizer channel sequence, a lowest value among the plurality of lower-bound channel distances of the compositions and each of the partition timestep counts that has a respective time-locality-satisfying partition. The method further includes outputting the lower-bound channel distance. The above features may have the technical effect of identifying a lower bound on the number of correctable errors that may occur at the stabilizer channel.
According to this aspect, the fault sets may each include a respective plurality of elementary faults and a plurality of compositions of the elementary faults. The above features may have the technical effect of determining the lower-bound channel distance with respect to both the elementary faults and the compositions of those elementary faults.
According to this aspect, the plurality of elementary faults may include a plurality of phenomenological noise elementary faults and a plurality of circuit noise elementary faults. The above features may have the technical effect of computing the lower-bound channel distance for two different independent stochastic Pauli noise models.
According to this aspect, the plurality of phenomenological noise elementary faults may include a first plurality of one-qubit Pauli errors respectively associated with idle instructions and a first plurality of outcome flips respectively associated with measurement instructions. The plurality of circuit noise elementary faults may include a second plurality of one-qubit Pauli errors respectively associated with single-qubit stabilizer instructions, a plurality of two-qubit Pauli errors respectively associated with two-qubit stabilizer instructions, and a second plurality of outcome flips respectively associated with measurement instructions. The above features may have the technical effect of modeling different types of phenomenological noise and circuit noise elementary faults when computing the lower-bound channel distance.
According to this aspect, each of the time-locality-satisfying partitions may fulfill a plurality of time locality criteria, including a criterion that a first channel check set associated with a first partition timestep of a plurality of partition timesteps encodes a function of an input code syndrome and of each of the elementary faults included in a first disjoint subset of the fault set. The plurality of time locality criteria may further include a criterion that when no faults occur at the stabilizer channel, the input code syndrome is isomorphic to the first channel check set. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to this aspect, the plurality of time locality criteria may include a criterion that a plurality of additional channel check sets associated with subsequent partition timesteps of the plurality of partition timesteps each encode respective functions of the elementary faults included in corresponding disjoint unions of a previous-timestep disjoint subset associated with a previous partition timestep of the plurality of partition timesteps and a current-timestep disjoint subset associated with a current partition timestep of the plurality of partition timesteps. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to this aspect, the plurality of time locality criteria may include a criterion that an output code syndrome is a function of the plurality of channel check sets and of each of the elementary faults included in a final disjoint subset associated with a final partition timestep of the plurality of partition timesteps. The above features may have the technical effect of allowing the partitions of the fault set to be tested for time locality.
According to another aspect of the present disclosure, a computing system is provided, including one or more processing devices configured to receive a stabilizer channel sequence for use with a quantum computing device. The stabilizer channel sequence may include three or more stabilizer channels. The one or more processing devices are further configured to receive respective fault sets associated with the stabilizer channels. The fault sets each include a respective plurality of elementary faults and a plurality of compositions of the elementary faults. The one or more processing devices are further configured to compute a lower-bound channel distance of the stabilizer channel sequence at least in part by computing respective lower-bound channel distances of a plurality of compositions of adjacent pairs of stabilizer channels in the stabilizer channel sequence. Computing the lower-bound channel distance further includes, for at least one stabilizer channel of the three or more stabilizer channels, for each of a plurality of partition timestep counts included in a predefined range of candidate channel distance values, receiving an indication of whether there exists a time-locality-satisfying partition of the fault set of that stabilizer channel that has that partition timestep count and for which the stabilizer channel is time-local. Computing the lower-bound channel distance further includes selecting, as the lower-bound channel distance of the stabilizer channel sequence, a lowest value among the plurality of lower-bound channel distances of the compositions and each of the partition timestep counts that has a respective time-locality-satisfying partition. The one or more processing devices are further configured to output the lower-bound channel distance.
According to another aspect of the present disclosure, a computing system is provided, including one or more processing devices configured to identify one or more severe hook faults in a stabilizer channel configured to be implemented at a quantum computing device. Identifying the one or more severe hook faults includes receiving a circuit channel check matrix of the stabilizer channel. Columns of the circuit channel check matrix indicate values of checks associated with respective elementary faults of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a phenomenological channel check matrix of the stabilizer channel as a sub-matrix of the circuit channel check matrix. Identifying the one or more severe hook faults further includes receiving a logical effect matrix of the stabilizer channel and receiving a weight vector that indicates respective probability weights of the elementary faults. Based at least in part on the circuit channel check matrix, the logical effect matrix, the phenomenological channel check matrix, and the weight vector, identifying the one or more severe hook faults further includes computing one or more column indices of respective columns of the circuit channel check matrix that correspond to the one or more severe hook faults. The one or more processing devices may be further configured to output an indication of the one or more severe hook faults. The above features may have the technical effect of identifying faults that may produce uncorrectable errors in the logical outcomes of the stabilizer channel.
According to this aspect, the one or more processing devices may be configured to compute the one or more column indices at least in part by initializing a column index list as an empty list. Computing the one or more column indices may further include, for each of the columns of the circuit channel check matrix that are not columns of the phenomenological channel check matrix, determining whether the elementary fault associated with that column is a severe hook fault, and, if the elementary fault is a severe hook fault, adding an index of that column to the column index list. The above features may have the technical effect of generating a list of column indices that correspond to the severe hook faults.
According to this aspect, the one or more processing devices may be configured to determine whether the elementary fault is a severe hook fault at least in part by, based at least in part on the circuit channel check matrix, the logical effect matrix, and the weight vector, computing a respective probability weight of a minimal-weight non-trivial undetectable fault of the stabilizer channel. Determining whether the elementary fault is a severe hook fault may further include computing a modified weight vector in which the probability weight corresponding to the elementary fault is divided by a predefined weight quotient. Determining whether the elementary fault is a severe hook fault may further include computing a modified weight of the minimal-weight non-trivial undetectable fault based at least in part on the circuit channel check matrix, the logical effect matrix, and the modified weight vector. Determining whether the elementary fault is a severe hook fault may further include determine that the elementary fault is a severe hook fault if the modified weight is equal to the probability weight of the minimal-weight non-trivial undetectable fault, minus the probability weight of the elementary fault times one minus the predefined weight quotient. The above features may have the technical effect of computing whether an elementary fault of the stabilizer channel is a severe hook fault.
According to this aspect, the minimal-weight non-trivial undetectable fault may be a fault with a lowest probability weight among the faults of the stabilizer channel that have syndromes equal to zero. The above features may have the technical effect of allowing the one or more processing devices to identify the minimum-weight non-trivial undetectable fault.
According to this aspect, the one or more processing devices may be configured to determine the probability weight of the minimal-weight non-trivial undetectable fault at least in part by computing a syndrome graph based at least in part on the circuit channel check matrix. Edges included in the syndrome graph may have respective edge weights and error values. Determining the probability weight of the minimal-weight non-trivial undetectable fault may further include computing the probability weight of the minimal-weight non-trivial undetectable fault as a minimum edge weight of a cycle of the syndrome graph that has a nonzero total error value. The above features may have the technical effect of computing the probability weight of the minimal-weight non-trivial undetectable fault.
According to this aspect, the one or more severe hook faults may be one or more hook faults that overlap with one or more respective minimal-weight non-trivial undetectable faults. The above features may have the technical effect of allowing the one or more processing devices to utilize the identification of the one or more minimal-weight non-trivial undetectable faults when identifying the one or more severe hook faults.
According to this aspect, the plurality of elementary faults of the stabilizer channel may include a plurality of phenomenological noise elementary faults and a plurality of circuit noise elementary faults. The one or more hook faults may be one or more circuit noise elementary faults that have respective syndromes and logical effects that differ from those of each of the phenomenological noise elementary faults. The above features may have the technical effect of identifying hook faults based on differences between two different independent stochastic Pauli noise models.
According to this aspect, the plurality of phenomenological noise elementary faults may include a first plurality of one-qubit Pauli errors respectively associated with idle instructions and a first plurality of outcome flips respectively associated with measurement instructions. The plurality of circuit noise elementary faults may include a second plurality of one-qubit Pauli errors respectively associated with single-qubit stabilizer instructions, a plurality of two-qubit Pauli errors respectively associated with two-qubit stabilizer instructions, and a second plurality of outcome flips respectively associated with measurement instructions. The above features may have the technical effect of modeling different types of phenomenological noise and circuit noise elementary faults when identifying the one or more severe hook errors.
According to this aspect, the checks associated with the elementary faults may be parities of respective measurement outcome subsets of the stabilizer channel. When no faults occur at the stabilizer channel, each of the checks may be equal to zero or each of the checks is equal to one. The above features may have the technical effect of using the circuit channel check matrix and the phenomenological channel check matrix to indicate elementary faults.
According to this aspect, the probability weights of the elementary faults may each be computed as a difference between a logarithm of a probability that no fault occurs at the stabilizer channel and a logarithm of a probability that the elementary fault occurs at the stabilizer channel. The above features may have the technical effect of computing the probability weights that are included in the weight vector.
According to this aspect, the logical effect matrix may encode a respective logical effect of each of the elementary faults of the stabilizer channel. Each of the logical effects may be a bit vector that encodes an effect of the corresponding elementary fault on logical information that is stored in output qubits of the stabilizer channel and is extracted via inferring logical measurements outcomes from circuit outcomes of the stabilizer channel. The above features may have the technical effect of specifying the logical effects of the elementary faults.
According to another aspect of the present disclosure, a method for use with a computing system is provided. The method includes identifying one or more severe hook faults in a stabilizer channel configured to be implemented at a quantum computing device. Identifying the one or more severe hook faults includes receiving a circuit channel check matrix of the stabilizer channel. Columns of the circuit channel check matrix indicate values of checks associated with respective elementary faults of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a phenomenological channel check matrix of the stabilizer channel as a sub-matrix of the circuit channel check matrix. Identifying the one or more severe hook faults further includes receiving a logical effect matrix of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a weight vector that indicates respective probability weights of the elementary faults. Identifying the one or more severe hook faults further includes, based at least in part on the circuit channel check matrix, the logical effect matrix, the phenomenological channel check matrix, and the weight vector, computing one or more column indices of respective columns of the circuit channel check matrix that correspond to the one or more severe hook faults. The method further includes outputting an indication of the one or more severe hook faults. The above features may have the technical effect of identifying faults that may produce uncorrectable errors in the logical outcomes of the stabilizer channel.
According to this aspect, computing the one or more column indices may include initializing a column index list as an empty list. Computing the one or more column indices may further include, for each of the columns of the circuit channel check matrix that are not columns of the phenomenological channel check matrix, determining whether the elementary fault associated with that column is a severe hook fault, and, if the elementary fault is a severe hook fault, adding an index of that column to the column index list. The above features may have the technical effect of generating a list of column indices that correspond to the severe hook faults.
According to this aspect, determining whether the elementary fault is a severe hook fault may include, based at least in part on the circuit channel check matrix, the logical effect matrix, and the weight vector, computing a respective probability weight of a minimal-weight non-trivial undetectable fault of the stabilizer channel. Determining whether the elementary fault is a severe hook fault may further include computing a modified weight vector in which the probability weight corresponding to the elementary fault is divided by a predefined weight quotient. Determining whether the elementary fault is a severe hook fault may further include computing a modified weight of the minimal-weight non-trivial undetectable fault based at least in part on the circuit channel check matrix, the logical effect matrix, and the modified weight vector. Determining whether the elementary fault is a severe hook fault may further include determining that the elementary fault is a severe hook fault if the modified weight is equal to the probability weight of the minimal-weight non-trivial undetectable fault, minus the probability weight of the elementary fault times one minus the predefined weight quotient. The above features may have the technical effect of computing whether an elementary fault of the stabilizer channel is a severe hook fault.
According to this aspect, the minimal-weight non-trivial undetectable fault may be a fault with a lowest probability weight among the faults of the stabilizer channel that have syndromes equal to zero. The above features may have the technical effect of allowing the one or more processing devices to identify the minimum-weight non-trivial undetectable fault.
According to this aspect, determining the probability weight of the minimal-weight non-trivial undetectable fault may include computing a syndrome graph based at least in part on the circuit channel check matrix. Edges included in the syndrome graph may have respective edge weights and error values. Determining the probability weight of the minimal-weight non-trivial undetectable fault may further include computing the probability weight of the minimal-weight non-trivial undetectable fault as a minimum edge weight of a cycle of the syndrome graph that has a nonzero total error value. The above features may have the technical effect of computing the probability weight of the minimal-weight non-trivial undetectable fault.
According to this aspect, the one or more severe hook faults may be one or more hook faults that overlap with one or more respective minimal-weight non-trivial undetectable faults. The plurality of elementary faults of the stabilizer channel may include a plurality of phenomenological noise elementary faults and a plurality of circuit noise elementary faults. The one or more hook faults may be one or more circuit noise elementary faults that have respective syndromes and logical effects that differ from those of each of the phenomenological noise elementary faults. The above features may have the technical effect of allowing the one or more processing devices to utilize the identification of the one or more minimal-weight non-trivial undetectable faults when identifying the one or more severe hook faults.
According to this aspect, the probability weights of the elementary faults may each be computed as a difference between a logarithm of a probability that no fault occurs at the stabilizer channel and a logarithm of a probability that the elementary fault occurs at the stabilizer channel. The above features may have the technical effect of computing the probability weights that are included in the weight vector.
According to this aspect, the logical effect matrix may encode a respective logical effect of each of the elementary faults of the stabilizer channel. Each of the logical effects may be a bit vector that encodes an effect of the corresponding elementary fault on logical information that is stored in output qubits of the stabilizer channel and is extracted via inferring logical measurements outcomes from circuit outcomes of the stabilizer channel. The above features may have the technical effect of specifying the logical effects of the elementary faults.
According to another aspect of the present disclosure, a computing system is provided, including one or more processing devices configured to identify one or more severe hook faults in a stabilizer channel configured to be implemented at a quantum computing device. Identifying the one or more severe hook faults includes receiving a circuit channel check matrix of the stabilizer channel. Columns of the circuit channel check matrix indicate values of checks associated with respective circuit noise elementary faults of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a phenomenological channel check matrix of the stabilizer channel as a sub-matrix of the circuit channel check matrix. Columns of the phenomenological channel check matrix indicate values of checks associated with respective phenomenological noise elementary faults of the stabilizer channel. Identifying the one or more severe hook faults further includes receiving a logical effect matrix of the stabilizer channel and receiving a weight vector that indicates respective probability weights of the elementary faults. Identifying the one or more severe hook faults further includes, based at least in part on the circuit channel check matrix, the logical effect matrix, the phenomenological channel check matrix, and the weight vector, computing one or more column indices of respective columns of the circuit channel check matrix that correspond to the one or more severe hook faults. Computing the one or more column indices includes identifying one or more columns of the circuit channel check matrix that are not columns of the phenomenological channel check matrix. Computing the one or more column indices further includes, for each of the one or more identified columns of the circuit channel check matrix, determining whether the corresponding circuit noise elementary fault is a severe hook fault based at least in part on the probability weight of that circuit noise elementary fault. The one or more processing devices are further configured to output an indication of the one or more severe hook faults. The above features may have the technical effect of identifying faults that may produce uncorrectable errors in the logical outcomes of the stabilizer channel.
“And/or” as used herein is defined as the inclusive or V, as specified by the following truth table:
It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.