Surface codes with densely packed gauge operators

JP7905000B2Active Publication Date: 2026-08-13GOOGLE LLC
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-11-20
Publication Date
2026-08-13

Smart Images

  • Figure 0007905000000001
    Figure 0007905000000001
  • Figure 0007905000000002
    Figure 0007905000000002
  • Figure 0007905000000003
    Figure 0007905000000003
Patent Text Reader

Abstract

The present disclosure is directed to implementing quantum error correcting codes with a quantum computer including a set of functional qubits and a set of non-functional qubits. A set of gauge operators is formed. A set of combinations of gauge operators is determined from the set of gauge operators. Determining the set of combinations of gauge operators may be based on a subset of the functional qubits and a global sequence of each gauge operator. Each combination of gauge operators has a composite operator that commutes with the composite operator of each other combination of gauge operators. A set of composite stabilizers may be generated. Each composite stabilizer corresponds to a distinct combination of gauge operators. A QEC code may be implemented by a QCS based on the set of composite stabilizers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Claim of Priority This application claims priority to U.S. Provisional Application No. 63 / 426,951, filed on November 21, 2022, entitled "DECODING SUBSYSTEM SURFACE CODES WHERE GAUGE OPERATORS ARE DENSLY PACKED", the contents of which are incorporated herein by reference in their entirety.

[0002] The present disclosure generally relates to quantum computing and information processing systems, and more particularly, to surface codes with densely packed gauge operators for quantum computing systems.

Background Art

[0003] Quantum computing is a computing method that utilizes quantum effects such as superposition and entanglement of ground states to execute certain calculations more efficiently than classical digital computers. In contrast to digital computers that store and manipulate information in bits, for example, in the form of "1" or "0", quantum computing systems can manipulate information using quantum bits ("qubits"). A qubit can refer to a quantum device that enables superposition of data in multiple states, for example, both the "0" and "1" states, and / or the superposition of data in multiple states itself. According to conventional terminology, the superposition of the "0" and "1" states in a quantum system can be expressed as, for example, a|0〉 + b|1〉. The "0" and "1" states of a digital computer are similar to the |0〉 ground state and |1〉 ground state of a qubit, respectively.

Summary of the Invention

[0004] Aspects and advantages of embodiments of the present disclosure are shown in part in the following description, or can be learned from the description, or can be learned through the practice of the embodiments.

[0005] One exemplary aspect of this disclosure relates to the implementation of quantum error correction (QEC) codes by a quantum computing system (QCS). The QCS may include a set of qubits, which includes a set of function qubits and a set of non-function qubits that are prime to the set of function qubits. One non-limiting method for implementing QEC by the QCS includes forming a set of gauge operators mapped around the set of non-function qubits. Each gauge operator in the set of gauge operators includes a separate subset of the set of function qubits and a global sequence indicating the order in which the gauge operators act on the subset of function qubits. One or more pairs of gauge operators in the set of gauge operators are non-commutative operators. A set of combinations of gauge operators is determined from the set of gauge operators. Determining a set of combinations of gauge operators may be based on a subset of function qubits and the global sequence of each gauge operator in the set of gauge operators. Each combination of gauge operators in the set of gauge operators includes at least two gauge operators from the set of gauge operators. Furthermore, each combination of gauge operators has a compound operator that swaps with the compound operator of each other combination of gauge operators in the set of gauge operators. A set of composite stabilizers may be generated. Each composite stabilizer in the set corresponds to a distinct combination of gauge operators in a set of gauge operator combinations. QEC codes can be performed by QCS based on the set of composite stabilizers.

[0006] Other aspects of this disclosure cover a variety of systems, methods, apparatus, non-temporary computer-readable media, computer-readable instructions, and computing devices.

[0007] These and other features, aspects and advantages of the various embodiments of this disclosure will be better understood by referring to the following description and the appended claims. The appended drawings incorporated herein and forming part thereof illustrate exemplary embodiments of this disclosure and illustrate the relevant principles together with modes for carrying out the invention.

[0008] A detailed description of embodiments for those skilled in the art is given herein with reference to the following accompanying drawings. [Brief explanation of the drawing]

[0009] [Figure 1] This figure shows an exemplary quantum computing system according to an exemplary embodiment of the present disclosure. [Figure 2] This is a schematic diagram of the features of surface codes according to various embodiments. [Figure 3A] This is a schematic diagram illustrating the features of a square Z-type stabilizer according to various embodiments. [Figure 3B] This is a schematic diagram illustrating the features of a square X-type stabilizer according to various embodiments. [Figure 4A] This figure shows the various nomenclature used herein to indicate the order of stabilizer and gauge operator measurement tiles according to various embodiments. [Figure 4B] This figure shows that the temporal order of quantum circuits implementing surface codes does not need to be unique, depending on the various embodiments. [Figure 5] This is a schematic diagram of non-limiting examples of forming subsystem surface codes in the presence of defective qubits, according to various embodiments. [Figure 6] This figure shows non-limiting examples of labeling tiles and forming a directed graph using various embodiments. [Figure 7A] This figure shows the steps for assigning cycle offsets to nodes in a directed graph according to various embodiments. [Figure 7B] This figure shows the alternative selection of the initially selected node in Figure 7A, according to various embodiments. [Figure 8] This is a flowchart illustrating exemplary methods for implementing quantum error correction codes using quantum computing devices in various embodiments. [Modes for carrying out the invention]

[0010] Exceptional embodiments of this disclosure relate to methods, architectures, and hardware configurations for implementing quantum error correction (QEC) codes (e.g., surface codes and surface-like codes) using densely packed gauge operators. As used herein, the “density” of packing gauge operators may be a density defined with respect to time (rather than spatial density). Embodiments thus include temporally dense gauge operators. Typical embodiments of surface codes rely on a regular 2D grid of physical qubits without defective or non-functional (e.g., non-operating) qubits. However, due to current manufacturing limitations, at least some of the qubits in the 2D grid of qubits integrated on a quantum processor may be defective (e.g., non-functional). Thus, conventional surface codes may be modified so that stabilizers are “mapped” around defective or non-functional qubits so that the modified surface code avoids the defective qubits. Such modified surface codes are sometimes called subsystem surface codes because the code “touches” only a subset of the qubits in the 2D grid (e.g., functional qubits).

[0011] Previous attempts to correct surface codes with non-functional qubits involved alternating layers of X-type and Z-type gauge operators. In these previous attempts, separate layers of X-type and Z-type stabilizers (formed from layers of X-type and Z-type gauge operators, respectively) are formed alternately due to the non-commutative nature of the X and Z Pauli operators. These previous attempts are inefficient because only a single layer of gauge operators (e.g., an X-type or Z-type layer) can be measured per cycle. The detector is formed by two consecutive measurements of the stabilizer. Therefore, at least three cycles of measurement are required to detect both X-type and Z-type errors. In other words, these previous attempts take longer to detect errors than conventional two-cycle measurements.

[0012] As will be further explained throughout, a stabilizer is a single unit of a quantum error-correction code. A stabilizer specifies a quantum operator with expected eigenvalues. For example, conventional surface codes (e.g., those implemented on a 2D grid of qubits without defective or non-functional qubits) have square and semicircular stabilizers. There are two types of square and semicircular stabilizers: X-type stabilizers and Z-type stabilizers. A square stabilizer has four data qubits (and one measurement qubit), and a semicircular stabilizer has two data qubits (and one measurement qubit). Thus, the quantum operator specified by a square X-type stabilizer is the operator XXXX (where X represents the X-Pauli operator), and the quantum operator specified by a square Z-type stabilizer is the operator ZZZZ (where Z represents the Z-Pauli operator). The quantum operator specified by a semicircular X-type stabilizer is operator XX, and the quantum operator specified by a semicircular Z-type stabilizer is operator ZZ. In conventional surface codes, the quantum operator specified by any particular stabilizer of the code is interchangeable with the quantum operator specified by other stabilizers of the code. The set of stabilizers defines the quantum code's ability to detect errors by detecting changes in the eigenvalues ​​of the stabilizers.

[0013] In contrast to stabilizers, gauge operators are quantum operators that function as "pieces" of a stabilizer. As described below, a square stabilizer in which one of the four data qubits is a non-function qubit can be "mapped" around the non-function qubit to form a gauge operator with three function qubits (e.g., XXX or ZZZ). Because they are "part" of the stabilizer, embodiments use combinations of gauge operators to detect errors. Measurements of gauge operators (which are also implemented in circuits in a similar manner to stabilizer measurements) are individually random even if no errors occur. This means that, for example, comparing two consecutive measurements of the same gauge operator cannot reliably detect an error. However, a detector can be formed by a combination of measurements across multiple gauge operators. Thus, a detector functions as a "piece" of the stabilizer.

[0014] The embodiment overcomes the above inefficiencies by combining two or more gauge operators to form a “composite” stabilizer. The composite stabilizer is formed by a combination of two or more gauge operators. The two or more gauge operators forming the composite stabilizer (e.g., a combination of gauge operators) are selected such that the “composite” quantum operator of the composite stabilizer exchanges with the quantum operators of all other stabilizers in the code. Since the composite quantum operator exchanges with the other operators of the stabilizers, measurements of the X-type and Z-type stabilizers can be performed in each measurement cycle. Thus, by making each gauge operator measurable in each measurement cycle, the embodiment achieves error detection more efficiently than previous methods for implementing subsystem surface codes.

[0015] The embodiment includes a method for implementing a modified QEC code from a "surface code" that is more effectively adapted to non-functional qubits (e.g., manufacturing defects) than conventional methods. The modification to the operation is a method for analyzing and comparing measurements to detect errors. Thus, an improved (e.g., more efficient) QEC code is realized. The embodiment further includes a method for generating a circuit control sequence for a quantum circuit that implements the improved quantum code.

[0016] A quantum computing system (QCS) may include a set of qubits, which includes a set of functional qubits and a set of non-functional qubits that are prime to the set of functional qubits. One non-restrictive way of implementing QCS involves forming a set of gauge operators mapped around the set of non-functional qubits. Each gauge operator in the set of gauge operators includes a distinct subset of the set of functional qubits and a global sequence indicating the order in which the gauge operator acts on the subset of functional qubits. One or more pairs of gauge operators in the set of gauge operators are non-commutative operators. A set of gauge operator combinations is determined from the set of gauge operators. A pair of gauge operators may include two or more gauge operators from the set of gauge operators (e.g., a first gauge operator and a second gauge operator). Determining a set of gauge operator combinations may be based on a subset of functional qubits and the global sequence of each gauge operator in the set of gauge operators. Each gauge operator combination has a compound operator that swaps with the compound operator of each other gauge operator combination in the set of gauge operator combinations. The compound operator of each combination of gauge operators in the set of gauge operator combinations can be the product of each gauge operator in the combination of gauge operators. A set of compound stabilizers can be generated. Each compound stabilizer in the set of compound stabilizers corresponds to one combination of gauge operators in the set of gauge operator combinations. QEC codes can be performed by QCS based on the set of compound stabilizers.

[0017] A set of qubits may be arranged in a 2D grid of qubits. In such embodiments, the method may further include constructing a set of tiles on the 2D grid of qubits. Each vertex of each tile in the set of tiles may correspond to one of the qubits in the set of qubits. The set of tiles includes a set of square tiles and a set of semicircular tiles. Each tile in the set of tiles corresponds to either an X-type operator or a Z-type operator, such that the set of square tiles forms a checkerboard pattern of X-type and Z-type operators. Each vertex of each tile in the set of tiles may be assigned a global time position based on a set of circuit constraints. The global sequence of each gauge operator in the set of gauge operators may be based on the global time position of each vertex of each tile in the set of tiles. The global sequence of each gauge operator may represent the circuit control sequence of a quantum circuit implementing QEC. When the vertices of a square tile correspond to non-functional qubits in the set of qubits, the square tile may be transformed into a triangular tile that maps around the non-functional qubit. For example, the vertices of a square tile corresponding to a non-functional qubit may be “cut” or “trimmed” so that the square tile is mapped around the non-functional qubit and the square tile is transformed into a triangular tile. The previous square tile is removed from the set of square tiles and a set of triangular tiles is constructed. Each triangular tile in the set of triangular tiles corresponds to a separate gauge operator in a set of gauge operators. It should be noted that the embodiments are not limited to scenarios where the square tile is limited to a single non-functional qubit, and the embodiments are generalizable to more than one non-functional qubit in a tile. For example, when there are two or three non-functional qubits in a square tile, the square tile may be reduced to a “line” or “point”.

[0018] The set of square stabilizers can be formed based on a set of square tiles and the global time positions of each vertex of each square tile in the set of square tiles. The set of semi-circular stabilizers can be formed based on a set of semi-circular tiles and the global time positions of each vertex of each semi-circular tile in the set of semi-circular tiles. The QEC code can be further executed by the QCS based on the set of square stabilizers and the set of semi-circular stabilizers. The method may further include assigning a cycle offset to each gauge operator in the set of gauge operators based on a breadth-first search of a directed graph generated from a set of triangular tiles. The set of composite detectors can be generated based on the cycle offset of each triangular tile in the set of triangular tiles.

[0019] A method for generating a circuit control sequence for a quantum circuit implementing QEC may include assigning a unique label to each gauge operator in the set of gauge operators based on the correspondence of the gauge operators for one of the triangular tiles in the set of triangular tiles. The directed graph can be generated based on the global sequence of each gauge operator in the set of gauge operators. The directed graph includes a set of nodes and a set of directed edges between a plurality of nodes in the set of nodes. The determination of each directed edge in the set of directed edges is described below. Each node in the set of nodes corresponds to a distinct gauge operator in the set of gauge operators and is labeled with the unique label of the corresponding gauge operator. The directed graph can be traversed. Traversing the directed graph includes visiting each node in the set of nodes by the set of directed edges. A cycle offset can be assigned to each gauge operator in the set of gauge operators based on the correspondence between the traversal direction and the direction of each directed edge in the set of directed edges. The cycle offset of each gauge operator in the set of gauge operators can be updated based on a detector template and the parity of the cycle offset of the gauge operator.

[0020] It should be noted that the embodiments may be generalized to any stabilizer measurement including flags. As described throughout, the embodiments are based on the order in which the quantum circuit contacts the data qubits (e.g., a global sequence of gauge operators indicating the order in which the gauge operators act on a subset of the function qubits). The embodiments may further be generalized to situations in which the stabilizer may be reconstructed from the gauge operators and other stabilizers, reset, or measurement, such as surface code movement or lattice surgery. Tiles may have arbitrary labels for the time positions in which they contact the data qubits. Tiles (and therefore stabilizers and gauge operators) are not limited to "X-type" and "Z-type". They may be generalized to those locally equivalent to X-type and Z-type. Locally equivalent means applying a transformation that is a single qubit Clifford gate at each data qubit. This can be shown to preserve pairwise commutation between stabilizers, pairwise commutation between any stabilizer and a gauge operator, and commutation or noncommutation between pairs of gauge operators, e.g., X / Y surface codes and / or XZZX surface codes. The method here can be generalized to other circuit decompositions using 2-qubit entanglement operations, such as controlled Z gates or 2-qubit parity measurements.

[0021] Other generalizations of the embodiments to be noted are as shown in the description, which focuses on the fact that non-functional qubits are data qubits of a stabilizer, not measurement qubits. For example, a scenario in which non-functional qubits correspond to the “corners” of a square tile. However, embodiments are not limited in this way, and embodiments may be used in scenarios in which one of one or more measurement qubits of one or more stabilizers is a non-functional qubit. Support qubits may be used to measure a stabilizer or gauge operator as part of a circuit (and would be located at the center of a square tile). If one of these is non-functional, in some embodiments an approach may be taken to deactivate the entire tile by treating all data qubits as non-functional.

[0022] Aspects of the present disclosure provide many technical effects and benefits. For example, a composite stabilizer is formed by combining gauge operators in such a way as to make a combination of gauge operators. The operator of the resulting combination of gauge operators is exchanged with each operator of other stabilizers. Thus, each stabilizer (X-type stabilizer and Z-type stabilizer) can be measured in each cycle of the quantum circuit. Thus, errors can be detected more efficiently than previous attempts at surface codes for subsystems where X-type and Z-type measurements must be arranged alternately.

[0023] FIG. 1 shows an exemplary quantum computing system 100. System 100 is an example of a system of one or more classical computers and / or quantum computing devices at one or more locations, where the systems, components, and techniques described below may be implemented. One of ordinary skill in the art will understand that other quantum computing devices or systems may be used without departing from the scope of the present disclosure using the disclosure provided herein.

[0024] System 100 includes quantum hardware 102 that communicates data with one or more classical processors 104. The classical processors 104 may be configured to execute computer-readable instructions stored in one or more memory devices to perform operations such as any of the operations described herein. The quantum hardware 102 includes components for performing quantum computation. For example, the quantum hardware 102 includes a quantum system 110, control devices 112, and readout devices 114 (e.g., readout resonators). The quantum system 110 may include one or more multi-level quantum subsystems, such as registers for qubits (e.g., qubit 120). In some embodiments, the multi-level quantum subsystems may include superconducting qubits such as flux qubits, charge qubits, transmon qubits, gmon qubits, and spin-based qubits.

[0025] The type of multi-level quantum subsystem utilized by system 100 can vary. For example, in some cases it may be convenient to include one or more superconducting qubits, e.g., transmon, flux, gmon, xmon, or one or more readout devices 114 attached to other qubits. In other cases, ion traps, photonic devices, or superconducting cavities (e.g., states can be prepared without requiring qubits) may be used. Further examples of realizations of multi-level quantum subsystems include flux qubits, silicon quantum dots, or phosphorus impurity qubits.

[0026] A quantum circuit can be constructed and applied to the registers of qubits contained in a quantum system 110 via a plurality of control lines coupled to one or more control devices 112. An exemplary control device 112 acting on the registers of qubits may be used to implement a quantum circuit having a quantum gate, or a plurality of quantum gates, such as a Pauli gate, a Hadamard gate, a controlled NOT (CNOT) gate, a controlled phase gate, a T gate, a multi-qubit quantum gate, a coupler quantum gate, etc. One or more control devices 112 may be configured to act on the quantum system 110 through one or more respective control parameters (e.g., one or more physical control parameters). For example, in some embodiments, the multi-level quantum subsystem may be a superconducting qubit, and the control device 112 may be configured to provide control pulses to the control lines to generate a magnetic field for tuning the frequency of the qubit.

[0027] The quantum hardware 102 may further include a readout device 114 (e.g., a readout resonator). Measurement results 108 obtained by the measurement device may be provided to a classical processor 104 for processing and analysis. In some embodiments, the quantum hardware 102 may also include quantum circuits, and the control device(s) 112 and readout device(s) 114 may implement one or more quantum logic gates that act on the quantum system 102 through physical control parameters (e.g., microwave pulses) transmitted through wires included in the quantum hardware 102. Further examples of control devices include an arbitrary waveform generator, in which a DAC (digital-to-analog converter) generates the signal.

[0028] The readout device(s) 114 may be configured to perform quantum measurements on the quantum system 110 and transmit the measurement results 108 to the classical processor 104. Furthermore, the quantum hardware 102 may be configured to receive data from the classical processor 104 specifying physical control qubit parameter values ​​106. The quantum hardware 102 may use the received physical control qubit parameter values ​​106 to update the actions of the control device(s) 112 and readout device(s) 114 on the quantum system 110. For example, the quantum hardware 102 may receive data specifying a new value representing the voltage intensity of one or more DACs included in the control device 112, and update the actions of the DACs on the quantum system 110 accordingly. The classical processor 104 may be configured to initialize the quantum system 110 to an initial quantum state by, for example, transmitting data to the quantum hardware 102 specifying an initial set of parameters 106.

[0029] In some embodiments, the readout device(s) 114 may measure the state of an element (e.g., a qubit) by utilizing the impedance difference between the |0〉 and |1〉 states of an element of a quantum system, such as a qubit. For example, the resonant frequency of the readout resonator may take different values ​​when the qubit is in state |0〉 or state |1〉 due to the nonlinearity of the qubit. Thus, microwave pulses reflected from the readout device(s) 114 carry amplitude and phase shifts that depend on the state of the qubit. In some embodiments, a parcel filter may be used in conjunction with the readout device(s) 114 to obstruct microwave propagation at the qubit frequency.

[0030] In some embodiments, the quantum system 110 may include a plurality of qubits 120 arranged, for example, in a two-dimensional grid 122. For clarity, the two-dimensional grid 122 shown in Figure 1 includes 4x4 qubits, but in some embodiments, the system 110 may include fewer or more qubits. In some embodiments, the plurality of qubits 120 may interact through a plurality of qubit couplers, for example, a qubit coupler 124. The qubit coupler may define the nearest neighbor interaction between the plurality of qubits 120. In some embodiments, the strength of the plurality of qubit couplers is a tunable parameter. In some cases, the plurality of qubit couplers included in the quantum computing system 100 may be couplers with a fixed coupling strength.

[0031] In some embodiments, the multiple qubits 120 may include data qubits such as qubit 126 and measurement qubits such as qubit 128. The data qubits are qubits involved in calculations performed by the system 100. The measurement qubits are qubits that can be used to determine the results of calculations performed by the data qubits. That is, during the calculation, the unknown state of the data qubits is transferred to the measurement qubits using appropriate physical calculations and measured by appropriate measurement operations performed by the measurement qubits.

[0032] In some embodiments, each qubit in a plurality of qubits 120 may operate using its respective operating frequency, such as an idling frequency and / or interaction frequency and / or read frequency and / or reset frequency. The operating frequency may vary from qubit to qubit. For example, each qubit may idle at a different operating frequency. The operating frequency of qubit 120 may be selected before the calculation is performed.

[0033] Figure 1 shows one exemplary quantum computing system that may be used to implement the methods and operations according to exemplary embodiments of this disclosure. Other quantum computing systems may be used without departing from the scope of this disclosure.

[0034] Figure 2 provides schematic diagrams of surface code features according to various embodiments. More specifically, the “leftmost” diagram in Figure 2 shows a set of qubits 200. The set of qubits 200 is arranged in a 2D grid. This non-limiting example of the set of qubits 200 includes 17 qubits represented by filled (or closed) “dots” and unfilled (or open) “dots.” While there are similarities to classical error-correcting codes that use each bit as either a “data” bit or a “parity check” bit, quantum error-correcting codes use each qubit in the set of qubits 200 as either a “data” qubit or a “measurement” qubit. As described below, the “data” qubit is somewhat similar to the “data” bit of a classical code in that quantum information is stored in the quantum state of the data qubit. The "measurement" qubit is somewhat similar to the "parity check" bit in classical codes in that it is used (by stabilizer operations and stabilizer measurements, as described below) to check the parity of the corresponding data qubit (both X-type and Z-type parity, as described below). Filled dots represent data qubits in surface codes (e.g., data qubit 202), and unfilled dots represent measurement qubits in surface codes (e.g., measurement qubit 204). For clarity, note that the 2D grid of qubits is rotated by 45°. The qubits in set 200 are enabled to have "nearest neighbor" entangle interactions, and dashed lines indicate the qubit connectivity of each qubit to its nearest neighbor.

[0035] The “center” figure in Figure 2 shows the surface code 210 assigned to the set of qubits 200. The “rightmost” figure in Figure 2 shows the surface code 210 without explicitly showing the set of qubits 200 (for example, the set of qubits 200 is implied in the “rightmost” figure in Figure 2). For the purposes of the following description, “surface code” (such as, but not limited to, surface code 210) is a quantum error-correcting code. In a surface code (such as, but not limited to, surface code 210), the qubits (e.g., the qubits of the set of qubits 200) are arranged on a square lattice. In a surface code, entanglement interactions between qubits (e.g., shown by dashed lines) occur only between nearest neighbors. A surface code can be implemented by a quantum circuit. Thus, as used herein, a “quantum circuit” is a sequence of operations applied to implement quantum computation, such as implementing a surface code. "Decoding" a surface code refers to the process of collecting error detection measurements generated when executing a quantum code (e.g., a surface code) and using those measurements to identify and correct errors. A quantum circuit may implement a quantum code (e.g., a surface code 210) that uses measurements from a subset of a set of qubits 200 to detect errors. More specifically, a "detector" is a specific set of measurements (specified by a list of its positions in the circuit) whose combined parity has an expected value when no errors occur. Observing an unexpected parity indicates an error. Identifying the detector is a step in performing decoding, since the input to the decoder is the detector value for the circuit being decoded.

[0036] A "stabilizer" is a single unit of a quantum error correction code. More specifically, a stabilizer designates a quantum operator with expected eigenvalues. The quantum operator designated by a stabilizer may be called a stabilizer generator. The set of stabilizers defines the quantum code's ability to detect errors by detecting changes in the stabilizer's eigenvalues. Surface codes (such as, but not limited to, surface code 210) may use X-type stabilizers acting on a subset of the set of qubits 200 (e.g., formed by a set of X-Pauli operators) and Z-type stabilizers acting on a subset of the set of qubits 200 (e.g., formed by a set of Z-Pauli operators). The eigenstates (and corresponding eigenvalues) of an X-type stabilizer correspond to the eigenstates (and corresponding eigenvalues) of the X-operator. The eigenstates (and corresponding eigenvalues) of a Z-type stabilizer correspond to the eigenstates (and corresponding eigenvalues) of the Z-operator. Quantum circuits are used to observe the eigenvalues ​​of the stabilizers. More specifically, stabilizer measurements are measurements applied to a quantum circuit to observe the eigenvalues ​​of a stabilizer. The eigenvalues ​​of a stabilizer operator, which can be +1 or -1, are mapped to a single-bit measurement result, which takes the value of 0 or 1. This is the mechanism by which quantum codes detect errors. The stabilizer eigenvalues ​​are observed using the circuit, and an error will invert one or more stabilizer measurements.

[0037] In Figure 2, the lightly shaded tiles (both square and semicircular tiles) represent X-type stabilizers, and the darkly shaded tiles (both square and semicircular tiles) represent Z-type stabilizers. As described above, the filled dots represent data qubits, and the unfilled dots represent measurement qubits, which are used to measure the eigenvalues ​​of the corresponding stabilizers. Therefore, for surface code 210, there are four "flavors" of stabilizers: square X-type stabilizers (e.g., square X-type stabilizer 216), semicircular X-type stabilizers (e.g., semicircular X-type stabilizer 218), square Z-type stabilizers (e.g., square Z-type stabilizer 212), and semicircular Z-type stabilizers (e.g., semicircular Z-type stabilizer 214). A square stabilizer (e.g., both X-type and Z-type square stabilizers) includes four data qubits (e.g., one at each of the four corners (or vertices) of a square tile) and one measurement qubit at the center of the square tile. A semicircular stabilizer (e.g., both X-type and Z-type semicircular stabilizers) includes two data qubits (e.g., one at each "antipodal" point of a semicircular tile) and one measurement qubit at the center of the semicircular "curve". Each data qubit is contained within at least one X-type stabilizer and at least one Z-type stabilizer. Each measurement qubit is contained within exactly one stabilizer (e.g., either an X-type or Z-type stabilizer). The square stabilizers form a "checkerboard" pattern of X-type and Z-type stabilizers, with one of the two ends of each row and column "capped" by the semicircular stabilizers. Semicircular stabilizers can also be called "ear" stabilizers.

[0038] The square Z-type stabilizer includes the quantum operator ZZZZ, with each of the four Z-Pauli operators applied to one of the four distinct data qubits at the four vertices of the square tile. The semicircular Z-type stabilizer includes the quantum operator ZZ, with each of the two Z-Pauli operators applied to one of the two data qubits at the two antipodal points of the semicircular tile. The order in which the operators act on the data qubits is explained throughout.

[0039] For a given quantum circuit (e.g., a sequence of operations performed in an embodiment of surface code 210), "detector formation" involves identifying a combination of measurements that forms a detector for that code. For example, if the same stabilizer is measured twice, the two measurement results are compared. If no errors occur, the results will be the same. However, if the measurements are different, an error has occurred somewhere (e.g., an error is detected). In this example, the detector is defined as the parity of the two measurements of the same stabilizer. An even parity means that no error was detected, and an odd parity means that an error was detected. To determine the combination of measurements that forms a detector, the quantum code and its circuit must be carefully analyzed.

[0040] A "gauge operator" is a quantum operator that functions as a "piece" of a stabilizer. When used in combination with other gauge operators, a gauge operator can detect errors. Measurements of gauge operators (which are also implemented with circuits similar to those of stabilizer measurements) are individually random even when no errors occur. This means that, for example, comparing two consecutive measurements of the same gauge operator cannot reliably detect an error. However, a detector can be formed by a combination of measurements across multiple gauge operators. Thus, a detector functions as a "piece" of a stabilizer. Identifying which combination of measurements forms a detector requires careful analysis of quantum codes and circuits.

[0041] The "commutative" nature of operator pairs is a special property of quantum operator pairs, thereby ensuring that rearranging the operators has no effect, and "applying A before B" has the same effect on the system as "applying B before A," such as measuring the eigenvalues ​​of a stabilizer or gauge operator. Note that not all pairs of quantum operators are commutative. Stabilizers of surface code 210 are constructed such that the pairs of quantum operators in the stabilizer are commutative. Gauge operators of surface code 210 can be commutative (but not always). That is, gauge operators may or may not be commutative. In the following example, the gauge operators of a given quantum code can be divided into subgroups such that members of each subgroup are mutually commutative, but two gauge operators from different subgroups are not commutative.

[0042] A "subsystem surface code" is a type of surface code that uses a combination of stabilizers and gauge operators to detect errors. A characteristic of subsystem codes is that any pair of stabilizers and gauge operators can be interchangeable. That is, stabilizers and gauge operators can be interchangeable. Certain combinations of gauge operators can be combined to form a stabilizer. This occurs when, for a given subset of gauge operators, the product of the gauge operators in this subset forms an operator that is interchangeable with all other stabilizers and gauge operators. Thus, this product operator is a stabilizer, which is composed of multiple gauge operators. Because there are combinations of gauge operators that form stabilizers, and because the eigenvalues ​​of gauge operators can be measured, a combination of parity measurements of the gauge operators that make up the stabilizer implements the measurement of that stabilizer, which is the product of the gauge operators. This procedure applies to the measurement of two consecutive "composite" stabilizers composed of gauge operators, just as a detector is formed by a combination of parity measurements of two consecutive measurements of the same stabilizer. The measured value of a composite stabilizer is a combination of the parity values ​​of the measured values ​​of the constituent gauge operators.

[0043] As used herein, the terms “defective” qubit and “broken” qubit may be used interchangeably to refer to non-functional qubits within a set of qubits 200. Embodiments include generating (or forming) subsystem surface codes for defective qubits. Generating subsystem surface codes for defective qubits involves modifying surface codes, which originally consist only of stabilizers, to use gauge operators at locations in a square grid where the qubits are non-functional. Each gauge operator is formed by “decoupling” the portion of the stabilizer that depended on the non-functional qubit. The result is a set of stabilizers and gauge operators that depend only on the functional qubits of the provided grid. Detectors may be formed for measuring both stabilizers and gauge operators.

[0044] Figure 3A provides a schematic diagram of the features of a square Z-type stabilizer 300 according to various embodiments. The square Z-type stabilizer 300 (or square Z-type tile) may be similar to the square Z-type stabilizer of surface reference numeral 210 in Figure 2 (e.g., the square Z-type stabilizer 212 of surface reference numeral 210). Thus, the square Z-type stabilizer 300 has four data qubits (e.g., filled dots), each of the four data qubits located at one of the four corners (or vertices) of the square tile, and a measurement qubit (e.g., an unfilled dot) located in the center of the square tile. Each qubit of the square Z-type stabilizer 300 is labeled with an integer index. The data qubits are labeled with integer indices 1, 2, 3, and 4, and the measurement qubit is labeled with integer index 5.

[0045] As explained in relation to Figure 2, error detection is performed using a quantum circuit that measures the eigenvalues ​​of the stabilizer, and repeated measurements of the same stabilizer are compared. Figure 3A shows a quantum circuit 310 that can be used to measure a square Z-type stabilizer 300. Each horizontal line in the quantum circuit 310 corresponds to one of the five qubits of the square Z-type stabilizer 300. The mapping of integer indices 1 to 5 to the five qubits shows which horizontal line is mapped to each of the five qubits. The quantum circuit 310 contains a sequence of quantum logic gates (e.g., an entangled CNOT gate), and the order of the sequence is important for the operation of the surface code (e.g., surface code 210 in Figure 2). The quantum circuit 310 (e.g., including the ordering of the sequence of logic gates) shows how to measure the square Z-type stabilizer 300.

[0046] More specifically, the time axis of the quantum circuit 310 extends from left to right. Each time step in the operation of the quantum circuit 310 is labeled with one of the labels a, b, c, d, e, or f, where a represents the first operation in the measurement of the square Z-type stabilizer 300, and f represents the last operation. The quantum operation 320 represents the operation of the quantum circuit 310 in pseudocode format, where each line of pseudocode is labeled with the time-order labels a, b, c, d, e, and f. In step a (of the quantum circuit 310 and quantum operation 320), qubit 5 (e.g., the measurement qubit) is reset to its ground state (e.g., an eigenstate of the Z base). In step b, an entangled CNOT gate is applied to data qubit 1 and measurement qubit 5, where qubit 1 is the control qubit. In step c, an entangled CNOT gate is applied to data qubit 2 and measurement qubit 5, where qubit 2 is the control qubit. In step d, an entangled CNOT gate is applied to data qubit 3 and measurement qubit 5, where qubit 3 is the control qubit. In step e, an entangled CNOT gate is applied to data qubit 4 and measurement qubit 5, where qubit 4 is the control qubit. In step f, the quantum state of measurement qubit 5 is measured. After step f, the quantum circuit 310 (and therefore the quantum operation 320) may return to step a.

[0047] Note that when measuring the square Z-type stabilizer 300, the measurement qubits are first reset to their base state in the Z-base. Then, each data qubit enters an entangled state with the measurement qubit through a CNOT operation, and the data qubits function as control qubits. After each CNOT entangle operation is performed, the measurement qubit is measured. As mentioned above, the order in which the entangle CNOT operations are performed is important. The labeling of the data qubits of the square Z-type stabilizer 300 indicates the ordering of the entangle operations with the measurement qubit, as shown in Figure 3A.

[0048] Figure 3B provides schematic diagrams of the features of a square X-type stabilizer 350 according to various embodiments. The square X-type stabilizer 350 (or square X-type tile) may be similar to the square X-type stabilizer of surface reference numeral 210 in Figure 2 (e.g., the square X-type stabilizer 216 of surface reference numeral 210). Thus, the square X-type stabilizer 350 has four data qubits (e.g., filled dots), each of which is located at one of the four corners (or vertices) of the square tile, and a measurement qubit (e.g., an unfilled dot) is located in the center of the square tile. Each qubit of the square X-type stabilizer 350 is labeled with an integer index. The data qubits are labeled with integer indices 1, 2, 3, and 4, and the measurement qubit is labeled with integer index 5.

[0049] As explained in relation to Figure 2, error detection is performed using a quantum circuit that measures the eigenvalues ​​of the stabilizer, and repeated measurements of the same stabilizer are compared. Figure 3B shows a quantum circuit 360 that can be used to measure a square X-type stabilizer 350. Each horizontal line in the quantum circuit 360 corresponds to one of the five qubits of the square X-type stabilizer 350. The mapping of integer indices 1 to 5 to the five qubits shows which horizontal line is mapped to each of the five qubits. The quantum circuit 360 contains a sequence of quantum logic gates (e.g., an entangled CNOT gate), and the order of the sequence is important for the operation of surface codes (e.g., surface code 210 in Figure 2). The quantum circuit 360 (e.g., including the ordering of the sequence of logic gates) illustrates how to measure the square X-type stabilizer 350.

[0050] More specifically, the time axis of quantum circuit 360 extends from left to right. Each time step in the operation of quantum circuit 360 is labeled with one of the labels a, b, c, d, e, f, g, or h, where a represents the first operation in the measurement of square X-type stabilizer 350, and h represents the last operation. The reason why square X-type stabilizer 350 has two additional operations compared to square Z-type stabilizer 300 in Figure 3A is that the entangled CNOT operation of square X-type stabilizer 350 starts with the measurement qubit in an eigenstate of the X-basis (e.g., by a first Hadamard gate) rather than the Z-basis, and that measurement qubit is converted back to the Z-basis by a second Hadamard gate before its measurement. Quantum operation 370 represents the operation of quantum circuit 360 in pseudocode format, where each line of pseudocode is labeled with time-order labels a, b, c, d, e, f, g, and h. In step a (of quantum circuit 360 and quantum operation 370), qubit 5 (e.g., measurement qubit) is reset to its ground state (e.g., an eigenstate of the Z basis). In step b, a first Hadamard gate transforms the measurement qubit into an eigenstate of the X basis. In step c, an entangled CNOT gate is applied to data qubit 1 and measurement qubit 5, where qubit 5 is the control qubit. In step d, an entangled CNOT gate is applied to data qubit 2 and measurement qubit 5, where qubit 5 is the control qubit. In step e, an entangled CNOT gate is applied to data qubit 3 and measurement qubit 5, where qubit 5 is the control qubit. In step f, an entangled CNOT gate is applied to data qubit 4 and measurement qubit 5, where qubit 5 is the control qubit. In step g, a second Hadamard gate is applied to measurement qubit 5. In step h, the quantum state of measurement qubit 5 is measured. After step h, the quantum circuit 360 (and therefore the quantum operation 370) may return to step a.

[0051] Note that when measuring the square X-type stabilizer 350, the measurement qubits are first reset to their ground state in the Z basis. The measurement qubits are then transformed into eigenstates of the X basis by a first Hadamard gate. Each data qubit is then entangled with the measurement qubit by a CNOT operation, and the measurement qubit functions as a control qubit. The measurement qubit is then transformed again by a second Hadamard gate. Each CNOT entangle operation is performed, and after the second Hadamard gate is applied to the measurement qubit, the measurement qubit is measured. As mentioned above, the order in which the entangle CNOT operations are performed is important. The labeling of the data qubits of the square X-type stabilizer 350 indicates the ordering of the entangle operations with the measurement qubit, as shown in Figure 3B.

[0052] Quantum circuits can be used to measure gauge operators. That is, in addition to stabilizers, similar configurations of quantum circuits can be used to measure gauge operators. For a given tile (e.g., an X-type or Z-type tile), if the operator of the tile exchanges with the operator of another tile (e.g., a surface code), the tile may be used as a stabilizer. Otherwise, if there is at least one other tile (a surface code) that does not exchange with the given tile, the tile can be used as a gauge operator. Thus, the quantum circuit characteristics of a stabilizer measurement tile apply to a gauge operator measurement tile.

[0053] Figure 4A shows various nomenclature used herein to indicate the order of stabilizer and gauge operator measurement tiles in various embodiments. The order in which the stabilizer (or gauge operator) measurement circuits "contact" the data qubits is important for the stabilizer measurement circuits (e.g., quantum circuit 310 in Figure 3A and / or quantum circuit 360 in Figure 3B). Embodiments here can be generalized to quantum circuits using different gates, as the embodiment depends only on the order of the circuits. In the following description, the order in which data qubits are contacted by the circuits associated with a tile is indicated by placing a number next to the vertex. The number describes the position in time and is not a label for the qubit. For example, Figure 4A shows a square Z-shaped tile 400 and a square X-shaped tile 402. The order in which the corresponding measurement circuits (for the tiles) "contact" the data qubits is indicated by the number at the vertex. It should be noted that the positions of the data qubits at the corners (or vertices) and the measurement qubits at the center of the square Z-shaped tile 400 and the square X-shaped tile 402 are implied. For the square Z-shaped tile 400, the order in which the circuit contacts the data qubits (e.g., by an entangled CNOT gate) is (1) the top-left data qubit, (2) the top-right data qubit, (3) the bottom-left data qubit, and (4) the bottom-right data qubit. For the square X-shaped tile 402, the order in which the circuit contacts the data qubits (e.g., by an entangled CNOT gate) is (1) the top-left data qubit, (2) the bottom-left data qubit, (3) the top-right data qubit, and (4) the bottom-right data qubit. As will be discussed later, embodiments may vary the "contact" of the data qubits depending on the tile type and / or the pattern of "damaged" qubits.

[0054] Non-square tiles can represent either stabilizer or gauge operators and can therefore be similarly measured by the corresponding quantum circuits. For such non-square tiles, the order in which data qubits are contacted by the stabilizer measurement circuit or gauge measurement can be indicated by the number of the tile's "corners" (e.g., the data qubit positions). The time positions do not need to be consecutive integers starting from 1, as each number points to a "global" time position for the entire surface code. For example, Figure 4A shows a semicircular Z-shaped tile 404 that contacts two data qubits at "antipodal" points (the data qubits are implied in Figure 4A). The two time positions 3 and 4 are time-global positions. Figure 4A also shows a triangular X-shaped tile 406 that contacts three data qubits at the corners of the triangle. The three time positions 1, 3, and 4 are time-global positions. Triangular tiles, along with damaged qubits, are described below.

[0055] Figure 4A also shows surface reference numeral 410, which may be similar to surface reference numeral 210 in Figure 2. As shown in Figure 4A, surface reference numeral 410 consists of various square and non-square tiles, including, but not limited to, square Z-shaped tiles 400 (e.g., two copies), square X-shaped tiles 402 (e.g., two copies), semicircular Z-shaped tiles 404 (e.g., two copies), and X-shaped semicircular tiles (e.g., two copies). The global time position (or global time coordinate) of each data qubit is indicated by multiple global time positions. Note that each data qubit is part of multiple tiles (e.g., at least one X-shaped tile and at least one Z-shaped tile). The global time positions (e.g., positions shown in tiles 400, 402, 404, and 406) indicate the order in which the data qubit is involved with the multiple tiles. Each data qubit is in contact with multiple tiles (e.g., stabilizers), so each data qubit is entangled (e.g., in contact with) multiple measurement qubits, and therefore each data qubit is marked with multiple global time positions. For example, the “center” data qubit (e.g., the data qubit implied to be at the center of the dashed circle) is involved with (e.g., in contact with or in contact with) four distinct tiles. The center data qubit has global time position 1 with respect to the bottom right square Z-shaped tile. The center data qubit has global time position 2 with respect to the top right square X-shaped tile (e.g., square X-shaped tile 402). The center data qubit has global time position 3 with respect to the bottom left square X-shaped tile. The center data qubit has global time position 4 with respect to the top left square Z-shaped tile (e.g., square Z-shaped tile 400).

[0056] It should be noted that there are constraints on constructing the global time position. One such constraint is the avoidance of gate "collisions". As shown in Figure 4A, the construction of the global time position for data qubits in surface reference numeral 410 avoids gate "collisions". That is, in embodiments, no two gates can act on the same (data or measure) qubit simultaneously. This means that two qubit gates must be scheduled so that (1) within a tile, corner data qubits are contacted at different times and there are no collisions at the central measure qubit, and (2) for each data qubit at a vertex shared by several tiles, two tiles cannot contact that data qubit simultaneously. For any pair of tiles A and B that overlap on two data qubits (e.g., square Z-shaped tile 400 and square X-shaped tile 402), one tile (e.g., square X-shaped tile 402) must contact both qubits before the other (e.g., square Z-shaped tile 400). For example, A may contact both overlapping qubits before B contacts either of them, or B may contact both overlapping qubits before A contacts either of them. While some choices of circuit order may have better performance than others, it should be noted that the embodiments herein encompass all valid choices of circuit order.

[0057] Quantum circuits that implement circuit ordering (as indicated by, for example, global time positions) have a valid global time position because, at each vertex, if multiple tiles touch the same data qubit, each time at the corner of the tile is unique. For example, the central qubit is enclosed by a dashed circle, and (2) if any two tiles overlap on two data qubits, one tile touches both data qubits before the other tile touches either of these two data qubits. For example, the square Z-shaped tile in the lower right and the semicircular X-shaped tile in the lower right overlap on two qubits enclosed by a dashed rectangle. The semicircular X-shaped tile touches these data qubits at times 1 and 2, and the square Z-shaped tile touches them at times 2 and 4, respectively. The semicircular X-shaped tile touches both overlapping data qubits before the square Z-shaped tile touches either of them.

[0058] Figure 4B shows that the time order of quantum circuits implementing surface codes does not need to be unique, according to various embodiments. Figure 4B shows surface code 410 of Figure 4A. Figure 4B further shows alternative surface code 420 having an alternative time order of the global time positions of the data qubits. Both surface code 410 and surface code 420 have a valid order of contact with the data qubits (e.g., both surface code 410 / 420 satisfy the constraints described above). Embodiments herein generalize to other circuit decompositions using 2-qubit entanglement operations, such as controlled Z gates or 2-qubit parity measurements. Embodiments include such generalizations.

[0059] The embodiments include a description of a method for measuring gauge operators more frequently, and by extension, a method for better detecting errors in subsystem surface codes for defective qubits. The embodiments provide improved performance of quantum codes in the presence of defective (e.g., damaged) qubits, such as those resulting from manufacturing defects or broken wiring for transmitting control signals to the qubits. More specifically, some embodiments pack gauge operator measurements at a higher temporal density than previously realized. The embodiments incorporate this modification into the detector formation, thereby enabling decoding. Some embodiments include the implementation of both (1) a modified quantum circuit and (2) a modified detector formation together.

[0060] As mentioned above, the previous method for forming a detector was to compare two consecutive measurements of the same stabilizer. However, using gauge operators, it is possible to form a stabilizer from several combinations of two or more gauge operators. Therefore, by knowing which combinations of gauge operators to combine to form a stabilizer, a detector can be formed by a combination of measurements that are consecutive in the circuit and are the same gauge operators that are combined to form a stabilizer. This detector may consist of four or more measurements, twice as many as there are gauge operators that are combined to form a stabilizer.

[0061] Forming a stabilizer from two or more gauge operators may depend on knowing which gauge operator measurements can be safely combined. Previous attempts have divided gauge operators into two sets such that the elements within each set are interchangeable. These sets can be identified by the "Pauli type" of the gauge operators. For example, all gauge operators whose non-identity Pauli term is X are interchangeable. Similarly, all gauge operators whose non-identity Pauli term is Z are interchangeable. However, X-type and Z-type gauge operators may not be interchangeable depending on whether they overlap by an even or odd number of qubits.

[0062] Forming a detector from gauge operators depends on the ability to combine gauge operators to form a stabilizer. This may be possible if there are no other interfering gauge operators that do not swap with the gauge operators constituting the stabilizer. Previous attempts on stabilizers involved alternating between measuring X-type gauge operators and Z-type gauge operators. Since all X-type gauge operators are measured at once and no Z-type gauge operators occur in between, it is guaranteed that X-type gauge operators can be combined to form an X-type stabilizer. Similarly, if Z-type gauge operators are measured without interfering X-type gauge operators, a Z-type stabilizer can be easily formed.

[0063] These previous attempts often have problems because the stabilizer is measured in every cycle of the circuit, while each gauge operator is measured once every other cycle. This means that the stabilizer, composed of gauge operators, is formed every other cycle of measurement. Similarly, this means that the detector composed of gauge operator measurements is formed at half the frequency of the detector composed of stabilizers, and therefore the former has a lower ability to detect errors. Since gauge operator detectors arise from near manufacturing defects, they are already a weakness of the code, and measuring them at half the frequency of the stabilizer detector further disadvantages the performance of the quantum code.

[0064] In contrast to these previous attempts, the embodiment measures all X-type and Z-type gauge operators in all ("highly packed") measurement cycles. The embodiment achieves these highly packed gauge operators by combining X-type and Z-type gauge operators in a specific manner for forming a detector. The embodiment forms a gauge detector when measuring the gauge operators in each cycle. The detector may require combining gauge operators that are shifted across different measurement cycles. This shift does not occur in previous methods that measure X-type and Z-type gauge operators separately.

[0065] As described throughout, the embodiments concern the implementation of error correction codes when corrupted or defective qubits are present in the 2D array of qubits. When a qubit is defective, a “subsystem” surface code (or simply a subsystem code) may be used. Figure 5 provides a schematic diagram of a non-limiting example of forming a subsystem surface code when a defective qubit is present, according to various embodiments. More specifically, Figure 5 shows a surface code 510. Surface code 510 may be similar to surface code 410 in Figures 4A-4B. Note that the global time position of the data qubit of surface code 510 is shown in Figure 5. As explained with respect to Figures 4A-4B, the global time position is valid under the constraints of the global time position (e.g., no gate collisions occur in the order in which the data qubits are “contacted”). Thus, surface code 510 may be called a valid surface code. Assume that the “center” data qubit (e.g., the data qubit implied at the center of the dashed circle) is defective. It should be noted that a valid surface code 510 is formed from 17 qubits: 9 data qubits and 8 measurement qubits. The surface code 510 consists of four square stabilizers (e.g., two copies of a square Z-type stabilizer and two copies of a square X-type stabilizer) and four semicircular stabilizers (e.g., two copies of a semicircular Z-type stabilizer and two copies of a semicircular X-type stabilizer). Each of the 8 measurement qubits is associated with a separate stabilizer from the 8 stabilizers. Each square stabilizer has 4 data qubits, and each semicircular stabilizer has 2 data qubits, and each data qubit is associated with two or more stabilizers.

[0066] A set of tiles 520 can be constructed by mapping around a defect qubit 522 (e.g., explicitly shown in the set of tiles). The set of tiles 520 is formed by combinations of stabilizers and gauge operators, none of which include the defect qubit 522. More specifically, the set of tiles 520 includes two copies of a semicircular X-type stabilizer 528 and two copies of a semicircular Z-type stabilizer 530. The set of tiles 520 also includes two copies of an X-type gauge operator 524 and two copies of a Z-type gauge operator 526. Note that the gauge operators 524 / 526 are constructed from triangular tiles in order to "map around" the defect qubit 522. The 16 functional (or non-defective) qubits of the stabilizer / gauge operators (e.g., 8 functional data qubits and 8 functional measurement qubits) are implied within the set of tiles 520. Therefore, comparing the tile set 520 to the valid surface code 510, the four square stabilizers (e.g., two copies of a square X-type stabilizer and two copies of a square Z-type stabilizer) are replaced by four gauge operators (e.g., two copies of a triangular X-type gauge operator and two copies of a triangular Z-type gauge operator). The triangular gauge operators are formed by the square stabilizers by mapping around (or "chopping off") the central defect qubit 522.

[0067] Since the circuit configuration for measuring the stabilizer can also be applied to measuring the gauge operator, the gauge operator may have a circuit order (as indicated, for example, by the effective global time positions for the remaining non-defective data qubits). The circuit order for a subsystem code using gauge operator tiles is valid if it conforms to the same requirements as the valid circuit order for a surface code having only stabilizer tiles. That is, once the effective global time positions for the remaining eight non-defective data qubits are determined, the subsystem code 540 can be formed from the set of tiles 520. The quantum circuit may implement the subsystem surface code 540 based on the stabilizer, the gauge operator, and the effective global time positions of the data qubits. The subsystem surface code 540 includes the effective global time positions of the eight non-defective data qubits, and therefore the subsystem surface code 540 indicates a valid circuit order.

[0068] A general procedure for constructing a valid circuit sequence for a subsystem code is to form a gauge operator by starting with the valid circuit sequence of a surface code (e.g., valid surface code 510), cutting out data qubits from tiles as needed, and maintaining the numerical positions of the remaining circuit sequence. For example, the subsystem circuit sequence for a valid subsystem surface code 540 is derived by cutting out the central data qubit (e.g., defect qubit 522) from the four square tiles of the valid surface code 510.

[0069] For the record, the detector is constructed from the parity of two consecutive measurements of the same stabilizer. In subsystem codes (e.g., subsystem surface code 540), gauge operators can be combined to form a stabilizer. Thus, the detector can be formed by constructing two consecutive “composite” stabilizer measurements, which consist of the correct combination of gauge operator measurements. Embodiments include procedures for correctly combining gauge operator measurements for subsystem surface codes. Correctly combining gauge operator measurements is related to the circuit order of the gauge operator tiles.

[0070] Since gauge operators do not always exchange with each other, "configured" stabilizer measurements produced from gauge operator measurements can be combined from the correct position and time. In this specification, "position" corresponds to a tile in a set of tiles containing subsystem codes (e.g., set of tiles 520). "Time" corresponds to any cycle of measurement in quantum mechanics, where the tiles are measured repeatedly. The correct combination of gauges and measurements may arise from the positions of the gauge tiles and their circuit order, as described below.

[0071] In embodiments, gauge operator measurements may be grouped as follows: Assuming subsystem codes (e.g., subsystem surface codes 540), first, gauge operators can be identified and uniquely labeled. Next, a directed graph can be generated. In the directed graph, nodes are gauge operator labels, and edges are the priority when pairs of non-commutative gauge operators touch each other (non-defective) data qubits. Finally, the directed graph can be traversed to assign a "cycle offset" to each gauge operator.

[0072] In the first step above, gauge operators can be identified by iterating over all tiles (e.g., in tile set 520). For each tile, it is determined whether the tile exchanges with all of its adjacent tiles. Adjacent tiles are those that overlap with the tile on at least one data qubit. When using X-type and Z-type tiles in subsystem surface codes, the two tiles do not exchange if (a) one is X-type and the other is Z-type, and (b) they overlap on exactly one data qubit. In this case, both such tiles can be used to form two gauge operators (e.g., an X-type gauge operator and a Z-type gauge operator). In tile set 520, there are four gauge operators (triangles). This is because each of them touches an adjacent triangle on one qubit, and the adjacents are of different types (e.g., an X-type triangle tile touches a Z-type triangle tile).

[0073] Figure 6 shows non-limiting examples of labeling tiles and forming a directed graph in various embodiments. More specifically, Figure 6 shows a set of gauge operators 600 formed by the set of tiles 520 in Figure 5. Each gauge operator in the set of gauge operators 600 is identified and labeled as described above. The gauge operators in the set of gauge operators 600 are uniquely labeled as A, B, C, or D. The set of gauge operators 600 includes two X-type gauge operators (labeled as B and C) and a Z-type gauge operator (labeled as A and D). Note that the global time position of the data qubits is ported from the starting position of the "valid" surface code (e.g., surface code 510 in Figure 5). After the gauge operators have been identified and labeled (see, for example, the set of gauge operators 600), a directed graph 610 may then be generated. The nodes of the directed graph 610 correspond to the labels of the gauge operators (e.g., A, B, C, and D). After the nodes of the directed graph 610 are placed, directed edges can be placed between nodes of two gauge operators that overlap on the same data qubit. Using the circuit order (e.g., indicated by the global time position of the data qubit), edges are directed from tiles that touch the data qubit later to tiles that touch the data qubit earlier. For example, gauge operator A touches its shared (or common) data qubit after gauge operator B touches its shared data qubit, and therefore the directed edge is drawn from gauge operator A to gauge operator B. Similarly, gauge operator B touches its shared data qubit after gauge operator D touches its shared data qubit, and therefore the directed edge is drawn from gauge operator B to gauge operator D. Gauge operator A touches its shared data qubit after gauge operator C touches its shared data qubit, and therefore the directed edge is drawn from gauge operator A to gauge operator C.Gauge operator C touches those shared data qubits after gauge operator D touches those shared data qubits, and therefore directed edges are drawn from gauge operator C to gauge operator D.

[0074] Another constraint on the valid circuit order (or, equivalently, the valid global time position of the data qubits) is that the resulting directed graph (e.g., directed graph 610) must not have any cycles. That is, the directed graph must not be a cyclic graph. As shown in Figure 6, directed graph 610 has no cycles and therefore satisfies this constraint. A cycle detection algorithm may be used to determine whether the resulting directed graph has any cycles.

[0075] The next step in grouping gauge operator measurements involves traversing a directed graph and assigning a “cycle offset” to each gauge operator. That is, each node in the directed graph is associated with an integer (e.g., a cycle offset). Figure 7A shows the steps for assigning cycle offsets to nodes in a directed graph in various embodiments. Before traversing the directed graph, all integer entries (of nodes in the directed graph) are initialized to sentinel values ​​to indicate that this node has not been visited by the subsequent traversal. Figure 7A shows an initialized directed graph 700. In the initialized directed graph 700, the sentinel is shown as “-”, but in reality, it could be an unreachable large number (e.g., 1,000,000). The sentinel (or sentinel indicator) is shown in a rectangular box next to each node. The sentinel next to a node indicates that that node has not yet been visited in the graph traversal. Once a cycle offset is assigned to a node, the sentinel in the rectangular box next to the node is updated to an integer indicating the cycle offset. A directed graph (e.g., an initialized directed graph 700) can be partitioned into a set of connected components. Partitioning a directed graph into a set of connected components may be performed by standard algorithms. In this non-restrictive example, the directed graph (e.g., an initialized directed graph 700) has only one connected component, which is the entire initialized directed graph 700.

[0076] To continue assigning cycle offsets to nodes, for each connected component of the directed graph, a node is selected and assigned a value of 0, as shown by the first intermediate directed graph 702. In some embodiments, this node selection may be subject to a random or pseudo-random process. In other embodiments, node selection may be based on one or more heuristics or deterministic processes. In an unrestricted example of the first intermediate directed graph 702, node A (corresponding to the triangular Z-shaped gauge operator) is selected as the initial node, and its cycle offset is initially assigned to 0.

[0077] A breadth-first search algorithm can be executed from this first selected node. To execute the breadth-first search algorithm, directed edges may be treated as simple edges. For example, the search does not have to be limited to searching in the direction of the edge (for example, the search may treat each edge as bidirectional or undirected). When traversing an edge, if the edge points in the source → destination direction, the integer at the destination node may be set to 1 greater than the integer at the source node, as shown in the second intermediate directed graph 704 in Figure 7A. Alternatively, if the edge points in the destination → source direction, the integer at the destination is set to 1 less than the integer at the source. In the unrestricted example of the second intermediate directed graph 704, since both nodes B and C are “destination” nodes, the cycle offsets of both nodes B and C are assigned a value of 1 (for example, 1 greater than 0) with respect to source node A, which has already been assigned an offset cycle value of 0.

[0078] The process of traversing a directed graph and assigning cycle offsets to nodes is iterative; that is, this process is repeated to traverse the directed graph (for example, each node in the directed graph is visited to assign its offset cycle value). To repeat the process, we select another node that was visited in the last iteration. In this unrestricted example, either node B or node C could be selected (for example, probabilistically). Whichever is selected, we move to node D. Since node D is the destination node, with respect to either node B or node C, the cycle offset value of node D is assigned a value of 2, as shown in the third intermediate directed graph 706.

[0079] Next, the minimum value in the connected component can be found. Note that the minimum value in the connected component can be negative. To ensure that no integer values ​​become negative, all integer values ​​in the same connected component may be shifted by subtracting the minimum value from all integer values. This subtraction shifts all integers by the same amount so that the new minimum value is zero. In the unrestricted example of Figure 7A, subtraction is not necessary because zero is the minimum value of the assigned cycle offset. Thus, the third intermediate directed graph 706 may become the final directed graph, in which case the integers in the boxes represent the final cycle offset.

[0080] Figure 7B illustrates the alternative selection of the initially selected node in Figure 7A under various embodiments. More specifically, Figure 7B demonstrates that the final assignment of cycle offsets for nodes in a directed graph is not affected by the initial (and subsequent) selection of nodes to be visited. Figure 7B shows a directed graph 700 initialized from Figure 7A. In the example of Figure 7B, node D is initially selected as the node to initiate the graph traversal, and therefore is initially assigned a cycle offset value of 0. The intermediate directed graph 712 shows the results of the cycle offset values ​​after visiting each node in the graph traversal. A minimum cycle offset value of -2 is assigned to node A. Based on the above description, all cycle offset values ​​may be shifted by a value of 2 in the positive direction (or by a value of -2 in the negative direction) to obtain the final directed graph 714. Note that the cycle offset values ​​of the final directed graph 714 are equivalent to the cycle offset values ​​of the third intermediate graph 708, which is also the final directed graph in Figure 7A. Therefore, the method for determining the cycle offset value is independent of the initial node selection.

[0081] After completing a traverse of a directed graph, integer offset values ​​may be updated. To update the offset values, within each connected component of the directed graph, nodes can be divided into subsets having odd or even integer values. This division separates X-type stabilizers from Z-type stabilizers, but which subtype may be odd or even. A table of nodes within each subset (even or odd) may be generated. In the table, updated cycle offset values ​​may be assigned to each node based on previously assigned integer cycle offset values. The updated cycle offset value may be denoted as s, where, for an odd integer value x, the cycle offset value is updated as s = (x-1) / 2. For an even integer value y, the updated cycle offset is s = y / 2.

[0082] After calculating and updating the cycle offset values, a detector composed of gauge measurements can be generated. Each node in the directed graph corresponds to a gauge operator, which has an associated cycle offset value. These are denoted as (n, sn) for each node (n). For each connected component, there exists a detector template for each of two subsets. For a given subset, the detector template may be expressed as detector = sum_n[Mn(t+sn)+Mn(t+sn+1)], where sum_n represents the parity combination (i.e., sum modulo 2). Mn(t) is the measurement of gauge operator n at time t, which is an integer corresponding to the repeated measurements of stabilizer / gauge measurements associated with all tiles, and sn is the previously calculated cycle offset of gauge operator n. This detector formula is valid for all values ​​of t for which minimum and maximum time gauge operator measurements exist. If the template attempts to use an unavailable measurement time ("time boundary"), as described below, it may be handled in an alternative format.

[0083] As mentioned above, previous attempts using the gauge operator do not perform X-type and Z-type measurements simultaneously. The detector still arises from a subset of the connected components, as before, but the formula is changed to detector = sum_n[Mn(t)+Mn(t+2)]. While it is not necessary to calculate the cycle offset, note that the gauge operator measurement is performed every other time, not every time.

[0084] When performing operations on quantum codes, the stabilizer configuration eventually changes to implement other logic, such as logic measurements or logic gates. These scenarios can be represented as time boundaries. Examples of time boundaries include logic qubit initialization by performing a reset on all data qubits with a suitable Pauli basis, or logic qubit measurement by performing a measurement on all data qubits. Other examples include lattice surgery and logic qubit movement. In time boundaries, the detector template can slide forward or backward in time by modifying the value of t in the equation, detector = sum_n[Mn(t+sn)+Mn(t+sn+1)]. If some gauge operator measurements are missing (the time with the offset is before or after the start of a repeating sequence of tile measurements), an attempt to replace the missing measurements and form a modified detector may be performed as follows:

[0085] When t is either sufficiently large or small that neither Mn(t+sn) nor Mn(t+sn+1) exists, an attempt to form a detector can be made by removing node n from the equation, detector = sum_n[Mn(t+sn)+Mn(t+sn+1)]. This can be repeated for all other nodes in the detector template. If there are no remaining nodes, a detector may not be formed.

[0086] If t is large enough that Mn(t+sn+1) does not exist but Mn(t+sn) does exist, an attempt to form a detector can be made by replacing Mn(t+sn) (for example, in the equation detector = sum_n[Mn(t+sn)+Mn(t+sn+1)]) with a combination of other measurements or resets performed in the quantum circuit at a point before Mn(t+sn+1) occurs, where any operation that touches the qubits of the gauge operator n occurs. This substitution may be applied to all nodes in a subset as needed. For example, if all data qubits are measured on the same criterion as the gauge operator n at time t+sn+1, then Mn(t+sn+1) may consist of a combination of measurements on the same data qubits.

[0087] If t is small enough that Mn(t+sn+1) exists but Mn(t+sn) does not, an attempt to form a detector can be made by replacing Mn(t+sn) (for example, in the equation detector = sum_n[Mn(t+sn)+Mn(t+sn+1)]) with other measurement or reset combinations performed at a point in the quantum circuit before M(t+s+1) where any operation touching the qubits of the gauge operator n occurs. This substitution may be applied to all nodes in a subset as needed. For example, if all data qubits are reset at time t+sn on the same criterion as the gauge operator n, then Mn(t+sn) may consist of combinations of reset eigenvalues ​​of the same data qubits. In this example, Mn(t+sn) is not replaced with measurement results, but instead with parity offsets of 0 or 1, depending on the reset combinations that result in eigenvalues ​​of the gauge operator n being +1 or -1.

[0088] Exemplary Method Figure 8 shows a flowchart of an exemplary method 800 for implementing quantum error correction (QEC) codes by a quantum computing device (QCS) in various embodiments. The QCS may be similar to the quantum computing system 100 in Figure 1. Thus, the QCS includes a set of functional qubits and a set of non-functional qubits that are prime to the set of functional qubits.

[0089] Method 800 begins with block 802 and forms a set of gauge operators mapped around a set of non-functional qubits. Each gauge operator in the set of gauge operators includes a separate subset of the set of functional qubits and a global sequence indicating the order in which the gauge operator acts on the subset of functional qubits. One or more pairs of gauge operators in the set of gauge operators are non-commutative operators.

[0090] In block 804, a set of gauge operator combinations is determined from a set of gauge operators. A pair of gauge operators may include two or more gauge operators from the set of gauge operators (e.g., a first gauge operator and a second gauge operator). Determining a set of gauge operator combinations may be based on a subset of function qubits and the global sequence of each gauge operator in the set of gauge operators. Each gauge operator combination has a compound operator that swaps with the compound operator of each other gauge operator combination in the set of gauge operator combinations. The compound operator of each gauge operator combination in the set of gauge operator combinations may be the product of each gauge operator in the gauge operator combination.

[0091] In block 806, a set of composite stabilizers may be generated. Each composite stabilizer in the set corresponds to one combination of gauge operators from a set of combinations of gauge operators. In block 808, the QEC code may be executed by the QCS based on the set of composite stabilizers.

[0092] A set of qubits may be arranged in a 2D grid of qubits. In such embodiments, the method may further include constructing a set of tiles on the 2D grid of qubits. Each vertex of each tile in the set of tiles may correspond to one of the qubits in the set of qubits. The set of tiles includes a set of square tiles and a set of semicircular tiles. Each tile in the set of tiles corresponds to either an X-type operator or a Z-type operator, such that the set of square tiles forms a checkerboard pattern of X-type and Z-type operators. Each vertex of each tile in the set of tiles may be assigned a global time position based on a set of circuit constraints. The global sequence of each gauge operator in the set of gauge operators may be based on the global time position of each vertex of each tile in the set of tiles. The global sequence of each gauge operator may represent the circuit control sequence of a quantum circuit implementing QEC. When the vertices of a square tile correspond to non-functional qubits in the set of qubits, the square tile may be transformed into a triangular tile that maps around the non-functional qubit. For example, the vertices of a square tile corresponding to a non-functional qubit may be “cut” or “trimmed” so that the square tile is mapped around the non-functional qubit and the square tile is transformed into a triangular tile. The previous square tile is removed from the set of square tiles and a set of triangular tiles is constructed. Each triangular tile in the set of triangular tiles corresponds to a separate gauge operator in a set of gauge operators. It should be noted that the embodiments are not limited to scenarios where the square tile is limited to a single non-functional qubit, and the embodiments are generalizable to more than one non-functional qubit in a tile. For example, when there are two or three non-functional qubits in a square tile, the square tile may be reduced to a “line” or “point”.

[0093] A set of square stabilizers may be formed based on a set of square tiles and the global time position of each vertex of each square tile in the set of square tiles. A set of semicircular stabilizers may be formed based on a set of semicircular tiles and the global time position of each vertex of each semicircular tile in the set of semicircular tiles. A QEC code may be performed by QCS, further based on the set of square stabilizers and the set of semicircular stabilizers. The method may further include assigning a cycle offset to each gauge operator in a set of gauge operators based on a breadth-first search of a directed graph generated from a set of triangular tiles. A set of composite detectors may be generated based on the cycle offset of each triangular tile in a set of triangular tiles.

[0094] A method for generating a circuit control sequence for a quantum circuit implementing QEC may involve assigning a unique label to each gauge operator in a set of gauge operators, based on the correspondence of gauge operators to one triangular tile in a set of triangular tiles. A directed graph may be generated based on the global sequence of each gauge operator in the set of gauge operators. The directed graph includes a set of nodes and a set of directed edges between multiple nodes in the set of nodes. The determination of each directed edge in the set of directed edges is described below. Each node in the set of nodes corresponds to a distinct gauge operator in the set of gauge operators and is labeled with the unique label of the corresponding gauge operator. The directed graph may be traversed. Traversing the directed graph involves visiting each node in the set of nodes by the set of directed edges. Each gauge operator in the set of gauge operators may be assigned a cycle offset based on the correspondence between the traverse direction and the direction of each directed edge in the set of directed edges. The cycle offset of each gauge operator in the set of gauge operators may be updated based on the detector template and the parity of the cycle offset of the gauge operator.

[0095] It should be noted that the embodiments may be generalized to any stabilizer measurement including flags. As described throughout, the embodiments are based on the order in which the quantum circuit contacts the data qubits (e.g., a global sequence of gauge operators indicating the order in which the gauge operators act on a subset of the function qubits). The embodiments may further be generalized to situations in which the stabilizer may be reconstructed from the gauge operators and other stabilizers, reset, or measurement, such as surface code movement or lattice surgery. Tiles may have arbitrary labels for the time positions in which they contact the data qubits. Tiles (and therefore stabilizers and gauge operators) are not limited to "X-type" and "Z-type". They may be generalized to those locally equivalent to X-type and Z-type. Locally equivalent means applying a transformation that is a single qubit Clifford gate at each data qubit. This can be shown to preserve pairwise commutation between stabilizers, pairwise commutation between any stabilizer and a gauge operator, and commutation or noncommutation between pairs of gauge operators, e.g., X / Y surface codes and / or XZZX surface codes. The method here generalizes to other circuit decompositions using 2-qubit entanglement operations, such as controlled Z gates or 2-qubit parity measurements.

[0096] The digital, classical, and / or quantum subjects, as well as embodiments of digital functional and quantum computations, described herein may be implemented in digital electronic circuits, appropriate quantum circuits, or more generally, in a quantum computing system, in tangibly implemented digital and / or quantum computer software or firmware, in digital and / or quantum computer hardware, or in one or more combinations thereof, including the structures disclosed herein and their structural equivalents. The term “quantum computing system” may include, but is not limited to, a quantum computer / computing system, a quantum information processing system, a quantum cryptography system, or a quantum simulator.

[0097] The digital, classical, and / or quantum subjects, as well as embodiments of digital functional and quantum computations, described herein may be implemented in digital electronic circuits, appropriate quantum circuits, or more generally, in a quantum computing system, in tangibly implemented digital and / or quantum computer software or firmware, in digital and / or quantum computer hardware, or in one or more combinations thereof, including the structures disclosed herein and their structural equivalents. The term “quantum computing system” may include, but is not limited to, a quantum computer / computing system, a quantum information processing system, a quantum cryptography system, or a quantum simulator.

[0098] Embodiments of the digital and / or quantum subject matter described herein may be implemented as one or more digital and / or quantum computer programs, i.e., as one or more modules of digital and / or quantum computer program instructions encoded on a tangible non-temporary storage medium to be executed by a data processing device or to control the operation of a data processing device. The digital and / or quantum computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, one or more qubit / qubit structures, or one or more combinations thereof. Alternatively or additionally, the program instructions may be encoded on an artificially generated propagating signal (e.g., a machine-generated electrical, optical, or electromagnetic signal) capable of encoding digital and / or quantum information, generated for encoding the digital and / or quantum information for transmission to a suitable receiver device for execution by a data processing device.

[0099] The terms quantum information and quantum data refer to information or data that is carried, held, or stored by a quantum system, with the smallest non-trivial system being a qubit, i.e., a system that defines a unit of quantum information. The term “qubit” is understood to encompass all quantum systems that can be appropriately approximated as two-level systems in the corresponding context. Such quantum systems may include, for example, multi-level systems having two or more levels. As an example, such systems may include atoms, electrons, photons, ions, or superconducting qubits. In many embodiments, the computational ground state is identified as identical to the ground state and the first excited state, but it is understood that other setups are possible in which the computational state is identified as identical to an excited state of a higher level (e.g., a qubit).

[0100] The term “data processing device” refers to digital and / or quantum data processing hardware and encompasses all types of devices, machines, and equipment for processing digital and / or quantum data, including, for example, programmable digital processors, programmable quantum processors, digital computers, quantum computers, or multiple digital and quantum processors or computers, and combinations thereof. A device may also be, or further include, special-purpose logic circuits, such as FPGAs (field-programmable gate arrays) or ASICs (application-specific integrated circuits), or quantum simulators, i.e., quantum data processing devices designed to simulate or generate information about a particular quantum system. In particular, a quantum simulator is a special-purpose quantum computer that does not have the ability to perform universal quantum computation. In addition to hardware, a device may optionally include code that creates an execution environment for digital and / or quantum computer programs, such as processor firmware, protocol stacks, database management systems, operating systems, or code that constitutes one or more of these.

[0101] Digital or classical computer programs may also be called, or described as, programs, software, software applications, modules, software modules, scripts, or code, and may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages. Computer programs may be deployed as standalone programs or in any form, including modules, components, subroutines, or other units suitable for use in a digital computing environment. Quantum computer programs may also be called, or described as, programs, software, software applications, modules, software modules, scripts, or code, and may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and may be translated into a suitable quantum programming language, or written in a quantum programming language, such as QCL, Quipper, or Cirq.

[0102] Digital and / or quantum computer programs may, but do not necessarily, correspond to files in a file system. A program may be stored in a single file dedicated to the program in question, in a part of a file holding one or more scripts stored in another program or data, e.g., a markup language document; in a single file dedicated to the program; or in multiple coordinated files, e.g., files storing one or more modules, subprograms, or parts of code. Digital and / or quantum computer programs may be deployed to run on one digital or quantum computer, or on multiple digital and / or quantum computers located in one place or distributed across multiple locations and interconnected by digital and / or quantum data communication networks. A quantum data communication network is understood to be a network capable of transmitting quantum data using quantum systems, e.g., qubits. Generally, digital data communication networks cannot transmit quantum data, but quantum data communication networks can transmit both quantum and digital data.

[0103] The processes and logic flows described herein may be carried out by one or more programmable digital and / or quantum computers operating on one or more digital and / or quantum processors that execute one or more digital and / or quantum computer programs that perform functions by performing operations on input digital and quantum data and generating outputs, as needed. The processes and logic flows may also be carried out by dedicated logic circuits, such as FPGAs or ASICs, or quantum simulators, or by a combination of dedicated logic circuits or quantum simulators and one or more programmed digital and / or quantum computers, and the apparatus may be implemented in such ways.

[0104] When a system of one or more digital and / or quantum computers or processors is "configured to" or "operable to" perform a particular operation or action, it means that the system has software, firmware, hardware, or a combination thereof installed on it that causes the system to perform the operation or action while it is operating. When one or more digital and / or quantum computer programs are configured to perform a particular operation or action, it means that one or more programs, when executed by a digital and / or quantum data processing device, contain instructions that cause the device to perform the operation or action. A quantum computer, when executed by a quantum computing device, may receive instructions from a digital computer that cause the device to perform the operation or action.

[0105] A digital and / or quantum computer suitable for executing digital and / or quantum computer programs may be based on a general-purpose or dedicated digital and / or quantum microprocessor, or both, or any other type of central digital and / or quantum processing unit. Generally, the central digital and / or quantum processing unit receives instructions and digital and / or quantum data from read-only memory, or random-access memory, or from quantum data, such as a quantum system suitable for transmitting photons, or a combination thereof.

[0106] Some exemplary elements of a digital and / or quantum computer are a central processing unit for executing or running instructions and one or more memory devices for storing instructions and digital and / or quantum data. The central processing unit and memory may be supplemented by or incorporated into dedicated logic circuits or quantum simulators. Generally, a digital and / or quantum computer also includes one or more mass storage devices for storing digital and / or quantum data, such as magnetic, magneto-optical disks, or optical disks, or quantum systems suitable for storing quantum information, or is operablely coupled to receive digital and / or quantum data from them, transfer digital and / or quantum data to them, or do both. However, a digital and / or quantum computer does not necessarily need to have such devices.

[0107] Digital and / or quantum computer-readable media suitable for storing digital and / or quantum computer program instructions and digital and / or quantum data include, for example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks, and CD-ROM and DVD-ROM disks; and all forms of non-volatile digital and / or quantum memory, media, and memory devices, including quantum systems, e.g., trapped atoms or electrons. Quantum memory is understood to be a device capable of storing quantum data for long periods with high fidelity and efficiency, such as an optical-matter interface where light is used for transmission and matter is used for storing and preserving the quantum properties of quantum data, such as superposition or quantum coherence.

[0108] Control of the various systems or parts thereof described herein may be implemented in digital and / or quantum computer program products, which include instructions stored in one or more tangible, non-temporary, machine-readable storage media and executable on one or more digital and / or quantum processing devices. Each of the systems or parts thereof described herein may be implemented as an apparatus, method, or electronic system that includes one or more digital and / or quantum processing devices and a memory for storing executable instructions for performing the operations described herein.

[0109] While this specification includes details of many specific embodiments, these should not be construed as limiting the scope of claims, but rather as descriptions of features that may be specific to a particular embodiment. Certain features described herein in the context of a separate embodiment may also be implemented in combination in a single embodiment. Conversely, various features of the present invention described in the context of a single embodiment may also be implemented separately or in any preferred subcombination in multiple embodiments. Furthermore, even if features described above as functioning in a particular combination are initially claimed as such, one or more features of the claimed combination may be removed from that combination, and the claimed combination may cover a subcombination or a variation of a subcombination.

[0110] Similarly, while the drawings show operations in a specific order, this should not be understood as requiring that such operations be performed in a specific or sequential order shown, or that all shown operations be performed, in order to obtain the desired result. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and systems described above should generally be understood as being able to be integrated into a single software product or packaged into multiple software products.

[0111] This document describes specific embodiments of the subject matter. Other embodiments are also within the scope of the claims below. For example, the actions described in the claims can be performed in a different order, and the desired results can still be achieved. As an example, the process shown in the accompanying drawings does not necessarily require the specific order or sequence shown to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous.

Claims

1. A method for implementing quantum error correction (QEC) codes on a quantum computing system (QCS), wherein the QCS includes a set of functional qubits and a set of non-functional qubits, and the method is To generate at least one composite stabilizer, wherein each composite stabilizer of the at least one composite stabilizer corresponds to a distinct combination of gauge operators in a set of combinations of gauge operators. The QCS executes the QEC code based on the at least one composite stabilizer, Methods that include...

2. To form a set of gauge operators mapped around the set of non-functional qubits, wherein each gauge operator in the set of gauge operators includes a separate subset of the set of functional qubits and a global sequence indicating the order in which the gauge operators act on the subset of functional qubits, and one or more pairs of gauge operators in the set of gauge operators are non-commutative operators. Determining a set of combinations of gauge operators from the set of gauge operators based on a subset of the function qubits and the global sequence of each gauge operator in the set of gauge operators, wherein each combination of gauge operators in the set of gauge operator combinations has a compound operator that swaps with the compound operator of each other combination of gauge operators in the set of gauge operator combinations. To generate a set of composite stabilizers, each of which in the set corresponds to a distinct combination of gauge operators in the set of gauge operator combinations. The method according to claim 1, further comprising:

3. The method according to claim 2, wherein the compound operator of each combination of gauge operators in the set of combinations of gauge operators is the product of each gauge operator in the combination of gauge operators.

4. The method according to claim 2, wherein the QCS includes a set of qubits, which includes a set of functional qubits and a set of non-functional qubits, and the set of qubits is arranged in a 2D grid of qubits.

5. Constructing a set of tiles on the 2D grid of the qubits, wherein each vertex of each tile in the set of tiles corresponds to one qubit in the set of qubits, the set of tiles includes a set of square tiles and a set of semicircular tiles, and each tile in the set of tiles corresponds to an X-type operator or a Z-type operator, such that the set of square tiles forms a checkerboard pattern of X-type and Z-type operators. Assigning a global time position to each vertex of each tile in the set of tiles based on a set of circuit constraints, The transformation involves converting a square tile into a triangular tile mapped around a non-functional qubit, such that when a vertex of a square tile corresponds to a non-functional qubit in the set of qubits, the square tile is removed from the set of square tiles and a set of triangular tiles is constructed, wherein each triangular tile in the set of triangular tiles corresponds to a distinct gauge operator in the set of gauge operators. The method according to claim 4, further comprising:

6. The method of claim 5, wherein the global sequence of each gauge operator in the set of gauge operators is based on the global time position of each vertex of each tile in the set of tiles.

7. A set of square stabilizers is formed based on the set of square tiles and the global time position of each vertex of each square tile in the set of square tiles. A set of semicircular stabilizers is formed based on the set of semicircular tiles and the global time position of each vertex of each semicircular tile in the set of semicircular tiles. The QCS further executes the QEC code based on the set of square stabilizers and the set of semicircular stabilizers, The method according to claim 5, further comprising:

8. Based on a breadth-first search of the directed graph generated from the set of triangular tiles, a cycle offset is assigned to each gauge operator in the set of gauge operators, A set of composite detectors is generated based on the cycle offset of each triangular tile in the set of triangular tiles, The method according to claim 5, further comprising:

9. Assigning a unique label to each gauge operator in the set of gauge operators based on the correspondence between the gauge operators and one of the triangular tiles in the set of triangular tiles, To generate a directed graph based on the global sequence of each gauge operator in the set of gauge operators, wherein the directed graph includes a set of nodes and a set of directed edges between multiple nodes in the set of nodes, and each node in the set of nodes corresponds to a distinct gauge operator in the set of gauge operators and is labeled with the unique label of the corresponding gauge operator. The method according to claim 8, further comprising:

10. Assigning the cycle offset to each gauge operator in the set of gauge operators means Traversing the directed graph, wherein traversing the directed graph includes visiting each node of the set of nodes by the set of directed edges, Assigning the cycle offset to each gauge operator in the set of gauge operators based on the correspondence between the traverse direction and the direction of each directed edge in the set of directed edges, The method according to claim 9, including the method described in claim 9.

11. A quantum computing system, A set of qubits including a set of functional qubits and a set of non-functional qubits, One or more processor devices, A memory device comprising one or more memory devices, The one or more memory devices, when executed by the one or more processor devices, store computer-readable instructions that cause the one or more processor devices to perform operations for implementing quantum error correction (QEC) codes. The aforementioned operation is, To generate a set of composite stabilizers, wherein each composite stabilizer in the set of composite stabilizers corresponds to a distinct combination of gauge operators in a set of combinations of gauge operators. The quantum computing system (QCS) executes the QEC code based on the set of composite stabilizers, A quantum computing system, including...

12. The aforementioned operation is, To form a set of gauge operators mapped around the set of non-functional qubits, Each gauge operator in the set of gauge operators includes a separate subset of the set of function qubits and a global sequence indicating the order in which the gauge operator acts on the subset of function qubits. One or more pairs of gauge operators in the set of gauge operators are non-commutative operators, and the formation of... Determining a set of combinations of gauge operators from the set of gauge operators based on a subset of the function qubits and the global sequence of each gauge operator in the set of gauge operators, wherein each combination of gauge operators in the set of gauge operator combinations has a compound operator that swaps with the compound operator of each other combination of gauge operators in the set of gauge operator combinations. The quantum computing system according to claim 11, further comprising:

13. The quantum computing system according to claim 12, wherein the compound operator of each combination of gauge operators in the set of combinations of gauge operators is the product of each gauge operator of the combination of gauge operators.

14. The quantum computing system according to claim 12, wherein the set of qubits is arranged in a 2D grid of qubits.

15. The aforementioned operation is, Constructing a set of tiles on the 2D grid of the qubit, wherein each vertex of each tile in the set of tiles is Corresponding to one of the qubits in the set of qubits, the set of tiles includes a set of square tiles and a set of semicircular tiles, and each tile in the set of tiles is constructed to correspond to an X-type operator or a Z-type operator, such that the set of square tiles forms a checkerboard pattern of X-type and Z-type operators. Assigning a global time position to each vertex of each tile in the set of tiles based on a set of circuit constraints, The transformation involves converting a square tile into a triangular tile mapped around a non-functional qubit, such that when a vertex of a square tile corresponds to a non-functional qubit in the set of qubits, the square tile is removed from the set of square tiles and a set of triangular tiles is constructed, wherein each triangular tile in the set of triangular tiles corresponds to a distinct gauge operator in the set of gauge operators. The quantum computing system according to claim 14, further comprising:

16. The quantum computing system according to claim 15, wherein the global sequence of each gauge operator in the set of gauge operators is based on the global time position of each vertex of each tile in the set of tiles.

17. The aforementioned operation is, A set of square stabilizers is formed based on the set of square tiles and the global time position of each vertex of each square tile in the set of square tiles. A set of semicircular stabilizers is formed based on the set of semicircular tiles and the global time position of each vertex of each semicircular tile in the set of semicircular tiles. The QCS further executes the QEC code based on the set of square stabilizers and the set of semicircular stabilizers, The quantum computing system according to claim 16, further comprising:

18. The aforementioned operation is, Based on a breadth-first search of the directed graph generated from the set of triangular tiles, a cycle offset is assigned to each gauge operator in the set of gauge operators, A set of composite detectors is generated based on the cycle offset of each triangular tile in the set of triangular tiles, The quantum computing system according to claim 15, further comprising:

19. The aforementioned operation is, Assigning a unique label to each gauge operator in the set of gauge operators based on the correspondence between the gauge operators and one of the triangular tiles in the set of triangular tiles, To generate a directed graph based on the global sequence of each gauge operator in the set of gauge operators, wherein the directed graph includes a set of nodes and a set of directed edges between multiple nodes in the set of nodes, and each node in the set of nodes corresponds to a distinct gauge operator in the set of gauge operators and is labeled with the unique label of the corresponding gauge operator. The quantum computing system according to claim 18, further comprising:

20. Assigning the cycle offset to each gauge operator in the set of gauge operators means Traversing the directed graph, wherein traversing the directed graph includes visiting each node of the set of nodes by the set of directed edges, Assigning the cycle offset to each gauge operator in the set of gauge operators based on the correspondence between the traverse direction and the direction of each directed edge in the set of directed edges, The quantum computing system according to claim 19, including the above.

Citation Information

Patent Citations

  • Optimizing Physical Parameters in Fault-Tolerant Quantum Computing to Reduce Spectrum Congestion

    JP2020515970A

  • Reducing parasitic interactions in qubit grids

    JP2020530163A

  • Quantum computer

    JP2022057269A

  • Using flag qubits for fault-tolerant implementations of topological codes with reduced frequency collisions

    US20210019223A1