Local prematching path for correlation decoding of quantum error correction code
The local prematching path for correlation decoding of quantum error correction codes addresses the challenge of decoding quantum error correction codes by incorporating error correlations, resulting in faster and more accurate decoding without sacrificing accuracy, suitable for real-time quantum computing applications.
Patent Information
- Application Number
- JP2025574549
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-06-21
- Filing Date
- 2024-06-18
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2044-06-18
AI Technical Summary
Quantum computers face challenges in accurately and efficiently decoding quantum error correction codes due to noise, with conventional methods sacrificing accuracy or speed in real-time decoding, and existing decoders struggle to handle correlations between different types of errors effectively.
A method involving local prematching path for correlation decoding of quantum error correction codes, where measurement data is used to generate multiple detector graphs, and edges in these graphs are weighted and processed to predict error occurrences, incorporating dependencies and correlations between error types to improve decoding speed and accuracy.
The method achieves faster and more accurate decoding of quantum error correction codes, maintaining high accuracy without introducing delays, suitable for real-time applications and reducing the reliance on multiple passes of minimum-weight perfect matching.
Smart Images

Figure 0007911184000003 
Figure 0007911184000004 
Figure 0007911184000005
Abstract
Description
[Technical Field]
[0001] This specification relates to quantum computing. [Background technology]
[0002] Quantum computing offers a means to solve certain problems that cannot be solved within a reasonable timeframe using conventional classical computers. These problems include factoring very large numbers into prime numbers and searching large, unstructured datasets. Various physical systems, such as ions, spins in semiconductors, and superconducting circuits, are being studied for use in quantum computing. However, these systems do not function well enough to be used directly as computational qubits. For example, a single two-state physical system that could be used as a physical qubit cannot reliably encode information and retain it for a sufficiently long time due to noise and other factors.
[0003] Quantum error correction is a technique that enables quantum computers to reliably execute quantum algorithms despite noise affecting the qubits. Decoders are a crucial component of quantum error correction schemes, and their role is to identify errors accumulating in the quantum computer. A decoder takes syndromes, which are measurement data extracted from quantum parity check measurements, as input and returns an estimate of the error as output. By considering this estimate, the effects of errors can be reversed. To extend quantum computing to the realm of practical applications, decoders need to be implemented efficiently. In particular, to keep up with quantum computers, error identification must be accurate and fast. [Overview of the project] [Means for solving the problem]
[0004] This specification describes a method, system, and apparatus for implementing a local prematching path for correlation decoding of quantum error correction codes.
[0005] One innovative aspect of the subject matter described herein is to generate a first detector graph using the measurement data, wherein the first detector graph labels a first set of detection events occurring in the measurement data and weights each edge in the first detector graph; and to generate a second detector graph using the measurement data, wherein the second detector graph labels a second set of detection events occurring in the measurement data, wherein the second set of detection events differs from the first set of detection events and weights each edge in the second detector graph; and for each detection event in the first detector graph, the first associated with the detection event The method can be implemented by: identifying one or more edges in a detector graph, and sequentially processing the identified one or more edges, including labeling each edge associated with a detection event and connected to another detection event as a candidate error mechanism; updating the respective weights of one or more complementary edges in a second detector graph to generate an updated second detector graph for each edge labeled as a candidate error mechanism; and performing a decoding operation on the updated second detector graph to compute a decoded output of the decoding operation, wherein the decoded output predicts the occurrence of an error in quantum computation.
[0006] Other embodiments of these models include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform actions of this method. One or more classic computer systems can be configured to perform a particular operation or action by installing software, firmware, hardware, or a combination thereof on the system that causes the system to perform an action during operation. One or more computer programs can be configured to perform a particular operation or action by including instructions that cause the device to perform an action when executed by a data processing device.
[0007] The embodiments described above and other embodiments may each optionally include one or more of the following functions, either individually or in combination. In some embodiments, the first and second detector graphs are generated from a hypergraph representing the measurement data.
[0008] In some embodiments, when the edges of the first detector graph and the edges of the second detector graph are combined into a single hyperedge of the hypergraph, one or more edges in the second detector graph are complementary edges to the edges in the first detector graph.
[0009] In some embodiments, generating a first detector graph and generating a second detector graph includes generating a hypergraph representing the measurement data and decomposing the hypergraph into a first detector graph and a second detector graph, wherein the first detector graph and the second detector graph are dissimilar graphs.
[0010] In some embodiments, updating the weights of one or more complementary edges in the second detector graph includes performing Bayesian reweighting of the complementary edges in the second detector graph.
[0011] In some embodiments, the first set of detection events includes a first type of Pauli error, and the second set of detection events includes a second type of Pauli error, where the first type is different from the second type.
[0012] In some embodiments, the first type includes X or Z errors, and the second type includes Z or X errors.
[0013] In some embodiments, the first and second detector graphs are generated from a hypergraph representing measurement data, the hypergraph representing a third type of Pauli error which is decomposed into a first type of Pauli error and a second type of Pauli error.
[0014] In some embodiments, a third type of Pauli error includes the Y error.
[0015] In some embodiments, generating a first detector graph and a second detector graph involves associating each edge in the first detector graph and each edge in the second detector graph with equal initial weights.
[0016] In some embodiments, sequentially processing one or more identified edges includes processing one or more identified edges in ascending order of weight.
[0017] In some embodiments, sequentially processing one or more identified edges further includes processing subsequent edges for each edge that is a detector graph boundary edge and is associated with a detection event, for the one or more identified edges.
[0018] In some embodiments, sequentially processing one or more identified edges further includes processing subsequent edges of the one or more identified edges for each edge that is associated with a detection event and connected to another node that does not correspond to the detection event.
[0019] In some embodiments, the decoding process includes either a minimum-weighted perfect matching decoding process or a union-find decoding process.
[0020] In some embodiments, labeling an edge as a candidate error mechanism indicates that an error related to the error mechanism has occurred.
[0021] Another innovative aspect of the subject matter described herein can be implemented in a method for predicting the occurrence of errors in quantum computation, the method comprising updating the edge weights of a second quantum error correction detector graph by performing a local search of a first quantum error correction detector graph, the local search of which includes, for each detection event in the first quantum error correction detector graph, reweighting complementary edges in the second quantum error correction detector graph using a single edge error on the edge connecting the detection event to the nearest other detection event, and performing a decoding process on the second quantum error correction detector graph to compute a decode output of the decoding process, the decode output predicting the occurrence of errors in quantum computation.
[0022] In some embodiments, the implementation of a quantum computation and / or further quantum computation by a quantum computer can be tuned based on a decoded output that predicts the occurrence of errors in the quantum computation. For example, a quantum computer may be tuned, configured, and / or controlled based on the decoded output.
[0023] Other embodiments of these aspects include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of this method. One or more classical computer systems can be configured to perform particular operations or actions by installing in the system software, firmware, hardware, or combinations thereof that cause the system to perform the actions during operation. One or more computer programs can be configured to perform particular operations or actions by including instructions that, when executed by a data processing apparatus, cause the apparatus to perform the actions.
[0024] The subject matter described herein can be implemented in a particular method so as to realize one or more of the following advantages.
[0025] The general decoding of quantum error correction codes is a difficult problem. In many cases, for example, in the case of Calderbank-Shor-Steane (CSS) type codes, different types of errors such as X-type and Z-type errors are decoded separately in order to simplify the decoding problem. Separating the decoding problem in this way improves the decoding efficiency. For example, separating the decoding problem enables the decoding problem to be formulated as a minimum weight perfect matching problem on a weighted graph.
[0026] However, information from one detector graph can improve the likelihood of success in other detector graphs. For example, if an error of type X occurs in one detector graph, it may mean that an error of type Y is likely to occur, and thus an error of type Z is likely to occur in other detector graphs. This generalizes to error hyper-edges (e.g., errors of type Y) in the error hypergraph that are decomposed as error edges (e.g., errors of type X or Z) within the detector graph. Therefore, separating the decoding problem may reduce the accuracy and reliability of decoding.
[0027] The decoding techniques described herein address this problem by incorporating dependencies and correlations between error types and providing fast heuristics to recover the accuracy lost when separating the decoding problem. That is, a system implementing the techniques described herein can achieve improved decoding speed and accuracy compared to, for example, conventional correlation decoding techniques.
[0028] Furthermore, it can be difficult for a decoder to meet the high throughput and low latency requirements of real-time decoding while maintaining a sufficient level of accuracy. However, the techniques described herein are more suitable for real-time decoding of quantum error correction codes in which the decoder processes a classical bit stream from a quantum computer and outputs predictions about the logical state of a quantum algorithm being executed by the quantum computer in real time, as they improve the speed at which decoding is performed. Additionally, the techniques described herein do not sacrifice decoding accuracy to improve decoding speed and are of equivalent accuracy to other conventional techniques such as techniques based on multiple passes of minimum weight perfect matching. As a result, the physical characteristics of a quantum computer can be accurately understood without introducing unacceptable delays.
[0029] Furthermore, unlike conventional techniques that implement two passes of minimum-weight perfect matching to solve the decoding problem, the method described herein can decode quickly using other graph-based decoders, such as correlated union search decoders, which cannot use the minimum-weight perfect matching prepass.
[0030] Furthermore, the techniques described herein can be efficiently implemented within a streaming decoder that implements functional decomposition. For example, the techniques described herein can be assigned to an independent task thread among several task threads whose role is to complete the techniques before the main pass of the underlying graph-based streaming decoder. Because the techniques are local, their resolution does not depend on future events (instead, the solution is chosen to implement local changes to the graph before the streaming input is processed by the graph-based streaming decoder), thus minimizing backtracking by the decoder that could exacerbate latency.
[0031] Details of one or more embodiments of the subject matter of this specification are described in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from this specification, the drawings, and the claims. [Brief explanation of the drawing]
[0032] [Figure 1] This is a block diagram of an example of a computing system for correlated decoding of quantum error correction codes. [Figure 2] This is a block diagram of an example of a classic processor decoder. [Figure 3] This is a flowchart of an example process for correlation decoding of quantum error correction codes. [Figure 4] This is a flowchart illustrating an example process for predicting the occurrence of errors in quantum computing. [Figure 5]This graph compares the logic error rates of union-find decoders that implement local pre-matching correlation decoding and union-find decoders that implement uncorrelated decoding. [Figure 6] This graph compares the decoding speeds of decoders implementing 2-pass minimum-weighted perfect matching correlation decoding, local pre-matching correlation decoding, and uncorrelated decoding. [Figure 7] This graph compares the logic error rates of a decoder implementing two-pass minimum-weighted perfect matching correlation decoding and a decoder implementing local pre-matching correlation decoding. [Modes for carrying out the invention]
[0033] Similar reference numbers and designations in various drawings refer to the same elements.
[0034] This specification describes a technique for correlated decoding of quantum error correction codes. The error hypergraph of a quantum error correction code is decomposed into multiple detector graphs, each representing a different error type. Instead of running a graph-based decoder individually on each detector graph, the initial pass of the graph-based decoder on one detector graph is replaced by a local search of the detector graph for a candidate error mechanism. The candidate error mechanism is used to determine the adjustment of edge weights in other detector graphs before the graph-based decoder is run on the other detector graphs.
[0035] Figure 1 is a block diagram of an example computing system 100 for correlation decoding of quantum error correction codes. The exemplary computing system 100 is an example of a system implemented as classical computer programs and quantum computer programs on one or more classical computers and quantum computing devices located in one or more locations, which can implement the systems, components, and techniques described herein.
[0036] An exemplary computing system 100 includes a quantum computing device 102 and a classical processor 104. For illustrative purposes, the quantum computing device 102 and the classical processor 104 shown in Figure 1 are shown as separate entities; however, in some embodiments, the classical processor 104 may be included within the quantum computing device 102. For example, in some embodiments, the quantum computing device 102 can be directly connected to the classical processor 104. In other embodiments, the quantum computing system 102 can be connected to the classical processor 104 via a network, such as a local area network (LAN), a wide area network (WAN), the internet, or a combination thereof.
[0037] The quantum computing device 102 includes components for performing quantum computation. For example, the quantum computing device 102 may include one or more physical elements, such as qubits, for implementing quantum computation. For example, the quantum computing device may include a quantum data plane containing a plurality of physical qubits. The quantum computing device 102 may also include a control and measurement plane configured to perform operations and measurements on the physical qubits, and may also include a control processor plane configured to determine the sequence of operations and measurements required for quantum algorithms performed by the quantum computing system. The quantum computing device 102 may also include a classical computer that communicates with the control processor plane and facilitates interaction with the user and access to a network or storage. The specific type of quantum computing device 102 depends on the type of qubit used. In some embodiments, the qubits may be superconducting qubits, semiconductor qubits, photon qubits, or atom-based qubits. For example, the qubits may include Xmon qubits, flux qubits, phase qubits, CAT qubits, or qubits with frequency interaction.
[0038] Typically, quantum computations performed by quantum computing device 102 are noisy because the presence of errors is unavoidable, such as those caused by undesirable interactions between qubits, undesirable interactions with the environment (causing decoherence), failures in quantum gates or operations, and errors in the state preparation or measurement process. Examples of error types include coherent errors acting on single qubits (e.g., Pauli X-type errors called bit inversion errors that map the ground states X|0〉=1〉 and X1〉=|0〉 of a qubit, and Pauli Z errors called phase inversion errors that map the ground states Z|0〉=0〉 and Z1〉=-|1〉 of a qubit). Noise in quantum computing devices can be represented by error models (e.g., the independent error model described in detail below). If left unchecked, errors can destroy quantum information and invalidate quantum computations performed by quantum computing device 102.
[0039] Therefore, the quantum computing device 102 can be configured to execute a quantum error correction code 106 when performing quantum computing. The quantum error correction code is a first number of k qubits (dimension 2). k (Hilbert space) of the second number n qubits (dimension 2 n Encoded in Hilbert space, the second number is greater than the first number, i.e., n > k. k qubits are data qubits that store logical information and are protected from errors. nk additional qubits are auxiliary qubits used to detect errors. Examples of quantum error correction codes include stabilizer codes (e.g., Calderbank-Shor-Steane codes) or surface codes 108.
[0040] Surface code 108 encodes logical qubits into patches of multiple physical qubits on a lattice (e.g., a square or hexagonal grid). The lattice includes alternately arranged data qubits and auxiliary qubits, with the qubits located at each edge of the lattice. The code is Hamiltonian
number
[0041] During the execution of the quantum error correction code 106, the quantum computing device 102 is configured to provide measurement data 110 to the classical processor 104. The measurement data 110 can be received as a batch or stream of data. The measurement data 110 includes, for example, classical measurement result bits corresponding to a stabilizer measurement. In this disclosure, the detector is the parity of the deterministic measurement result bits when there is no error. The result of the detector measurement is 1 if the observed parity differs from the expected parity of a noise-free computation, and 0 otherwise. A Pauli-type error P is said to invert the detector D if the output of D changes due to the inclusion of P in the circuit, and the detected event is the detector with a result of 1. The logical observable value is a linear combination of the measurement bits, the result of which corresponds to a measurement of a logical Pauli operator.
[0042] The classical processor 104 includes components for performing classical computations. For example, the classical processor 104 can be implemented as one or more modules of computer program instructions encoded on a tangible, non-temporary storage medium for execution by or control of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage board, a random or serial access memory device, or one or more combinations thereof.
[0043] The classical processor 104 implements a decoder 112 configured to process and decode measurement data 110 received from the quantum computing device 102, i.e., to predict any errors that may have occurred during the quantum computation performed by the quantum computing device 102. To process the measurement data 110, the decoder 104 is configured to execute a decoding algorithm 114 (also referred to herein as the decoding process) that maps the decoding problem to a graph problem using a graph-like error model of the quantum error correction code 106.
[0044] The graph-like error model is a set of independent error models, that is, a set of m independent error mechanisms, where error mechanism i occurs with probability p[i] (p ∈ R m is the vector of prior distributions) and reverses a set of detectors and observable values. In the graph-like error model, each error mechanism reverses at most two detectors. The graph-like error model can be used to approximate the common noise model of many important classes of quantum error correction codes, where both X-type and Z-type Pauli errors include the graph-like surface code.
[0045] The graph-like error model is represented by a detector graph G=(V,E) of nodes and edges (e.g., detector graph 116). Each node v ∈ V in the detector graph corresponds to a detector. Each edge e ∈ E is a set of detector nodes with cardinality 1 or 2, representing an error mechanism that reverses this set of detectors. The set of edges E can be decomposed as E = E1 ∪ E2, where for each edge e in E1, |e| = 1, and for each edge e in E2, |e| = 2. A normal edge e=(u,v) ∈ E2 reverses a pair of detectors u,v ∈ V, while a half-edge (u,) ∈ E1 reverses one detector u ∈ V. The half-edge can be connected to the boundary of the detector graph, in which case the edge can be defined as (u,v b ) and where v b is a virtual boundary node (not corresponding to any detector). In some embodiments, for example, when the graph problem is solved using a minimum weight perfect matching, each edge can be assigned a weight (e.g.,
Number
[0046] Examples of decoding algorithms include minimum-weight perfect matching (MWPM) and union-find. The MWPM decoding process determines the most likely physical error to match a syndrome in the measurement data. Detected events in the measurement data are identified and labeled in a detector graph. Next, a minimum-weight embedding matching of the detected events in the detector graph is determined, and the embedding matching of the set of detected events is an edge set in the detector graph, where each node corresponding to a detected event in the set of detected events is associated with an odd-numbered edge in the edge set, and each node not corresponding to a detected event in the set of detected events is associated with an even-numbered edge in the edge set. A conventional embodiment of the MWPM decoding process uses Edmund's blossom algorithm to determine the embedding matching, for example, by seeding a cluster of nodes in the detector graph using the detected events and expanding, shrinking, or freezing the cluster until a minimum-weight embedding matching is obtained. The embedding matching is used to predict which logically observable measurements have been inverted, and this prediction can be used to determine the correction operator that corrects the error when applied to quantum error correction code 106.
[0047] The union-found-decode process can be considered an approximation of the minimum-weighted perfect-matching-decode process. The union-found-decode process identifies detection events in the measurement data and uses these detection events to seed clusters of nodes in the detector graph. The clusters then grow iteratively in the detector graph until the parity of the clusters changes. Next, a so-called peeling step is performed. A spanning tree is generated for each grown cluster, and an error estimate is computed by scanning the spanning tree in reverse order. Next, a correction operator is determined that is applied to the quantum error correction code 106 to correct the error.
[0048] In conventional embodiments (i.e., those different from the technology described herein), a decoder can simplify the decoding process by implementing separate decoding algorithms for decoding different types of errors. For example, a decoder might run MWPM once on a first detector graph to decode X-type errors and then run MWPM again on a second detector graph to decode Z-type errors separately. However, information from one decoding algorithm can improve the likelihood of success for other decoding algorithms. For example, if an X-type error occurs in one detector graph, there is a possibility of a Y-type error occurring, which in turn increases the likelihood of a Z-type error occurring in the other detector graph. This generalizes to error hyperedges (e.g., Y-type errors) in an error hypergraph, which are decomposed into error edges (e.g., X or Z-type errors) in the detector graph.
[0049] To incorporate such correlations between error edges decomposed from error hyperedges and to reduce decoding execution time compared to, for example, implementing a separate MWPM algorithm, the decoder 112 implements a local pre-matching engine 120 and a graph-based decoding engine 122. The local pre-matching engine 120 is configured to match detection events in one detector graph before the graph-based decoding engine 122 runs a decoding algorithm (e.g., MWPM) on another detector graph (hence the term "pre-matching"). Pre-matching is performed between detection events and detection events separated by their nearest single edge (i.e., local information is used, hence the term "local"). The local pre-matching engine 120 uses the local pre-matching of detection events in the first (and second) detector graphs to reweight complementary edges in the second (and first) detector graph. The graph-based decoding engine 122 is then configured to run the decoding algorithm on the reweighted second (and first) detector graph. Exemplary operations performed by the components of decoder 112 are described in more detail below with reference to Figures 2-4.
[0050] Once the decoder 112 has completed decoding, the classical processor 104 is configured to output a correction operator 118. The correction operator 118 can be applied to the quantum error correction code 106 to correct the error identified by the decoder 112.
[0051] Figure 2 is a block diagram 200 of an example of a classic processor decoder 112. The decoder 112 can be implemented as one or more modules of computer program instructions encoded on a tangible, non-temporary storage medium for execution by or control of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage board, a random or serial access memory device, or one or more combinations thereof.
[0052] The decoder 112 implements a detector graph generator 202, a local pre-matching engine 120, and a graph-based decoding engine 122. The components of the decoder 112 can be connected via a network accessible via wired and / or wireless communication links, such as a local area network (LAN), a wide area network (WLAN), the internet, or a combination thereof.
[0053] The detector graph generator 202 is configured to receive measurement data 110 from the quantum computing device 102, process the measurement data, and generate a hypergraph 204 of corresponding nodes and edges. The hypergraph is similar to the detector graph described above with reference to Figure 1, but differs in that each node in the hypergraph corresponds to a detector that can be inverted by any of several error types (not just one), and the edges between nodes can connect any number of nodes (not just two). In particular, the hypergraph error model is represented by the hypergraph G=(V,E) of nodes and hyperedges. As described above with respect to the detector graph, each node v∈V corresponds to a detector. Each edge e∈E is a set of detector nodes of arbitrary cardinality and corresponds to an error mechanism that inverts a set of detectors (which may be more than 2). Each hyperedge is associated with a probability corresponding to the probability of error of the corresponding error mechanism.
[0054] The detector graph generator 202 is further configured to decompose the hypergraph 204 into a plurality of detector graphs 206, each detector graph corresponding to a respective error mechanism or type. For example, in an embodiment where measurement data 110 is acquired through an implementation of the Calderbank-Shor-Steane code, the detector graph generator 202 can decompose the hypergraph 204 into a first detector graph 206a representing Pauli X type errors and a second detector graph 206b representing Pauli Z type errors. In general, an error hypergraph can be decomposed into a plurality of detector graphs (and pre-matching techniques can be applied to each of the plurality of detector graphs, for example, simultaneously). Each of the plurality of detector graphs includes nodes corresponding to each detector and weighted edges between the nodes, where the edge weights represent the probability that each type of error inverts the detector connected by the edge. The initial weights of these edges can be calculated as the probabilities of the edges in the error hypergraph, or by combining the probabilities of hyperedges containing that edge in the hypergraph (as Bernoulli XOR). Multiple detector graphs may have different underlying structures, but when combined into a single hyperedge of the hypergraph representation of the measurement data, they share the characteristic that one or more edges in one detector graph are complementary edges to edges in another detector graph. For example, to decode a surface code, each hyperedge in an error hypergraph can be decomposed as the sum of edges already present in the hypergraph, which corresponds to decomposing a Y-type error into a combination of X-type and Z-type errors.
[0055] The detector graph generator 202 is configured to provide the local pre-matching engine 120 with data representing the first detector graph 206a among a plurality of detector graphs 206, and to provide the graph-based decoding engine 122 with data representing other detector graphs, such as the second detector graph 206b.
[0056] The local prematching engine 120 is configured to perform a local prematching pass 208 (also referred to herein as a local search) of the first detector graph 206 to identify single-edge errors that connect detection events in the first detector graph 206 to the nearest other detection events within the first detection event. The identified single-edge errors are used to determine the update (e.g., Bayesian update) of the edge weights 210 of edges in other detector graphs.
[0057] For example, for each detection event in the first detector graph, the local prematching engine 120 can be configured to identify one or more edges in the first detector graph associated with the detection event. The local prematching engine 120 can then process the identified one or more edges (also called incident edges) sequentially, for example, in ascending order of weight.
[0058] In some embodiments, the incident edge may be a boundary edge of the detector graph, i.e., an edge not connected to another detector. In these embodiments, the local pre-matching engine 120 can be configured to terminate processing of the incident edge and sequentially process subsequent incident edges. Boundary edges typically have numerous associated error mechanisms, which are empirically known not to improve the accuracy of the decoding process, thus improving the performance of this process. In other embodiments, the incident edge may be an edge connected to another detector that does not correspond to the detected event. In these embodiments, the local pre-matching engine 120 can be configured to terminate processing of the incident edge and sequentially process subsequent incident edges.
[0059] In other embodiments, an incident edge may be an edge connected to a detector corresponding to another detection event. This indicates that one of the errors related to the error mechanisms in the first detector graph has occurred. In these embodiments, the local prematching engine 120 is configured to label the incident edge as a candidate error mechanism (i.e., a possible error mechanism) and continue to process subsequent incident edges sequentially. Allowing "overmatching" such that a detector may have multiple candidate error mechanisms improves process performance.
[0060] For each edge labeled as a candidate error mechanism, the local prematching engine 120 is configured to update the weights of one or more complementary edges in another detector graph. To update the weights of complementary edges in the second detector graph, the local prematching engine 120 can be configured to perform Bayesian reweighting. In particular, each error edge (the edge labeled as a candidate error mechanism) is asserted to have occurred. Next, the probabilities of all hyperedges in the hypergraph containing the error edge are identified, and a normalized probability distribution is calculated that is conditional on the occurrence of that error edge. For example, if an X-type error edge with probability p / 3 exists in a single hyperedge, for example, corresponding to a Y-type hyperedge with probability p / 3, the complementary Z-type edge is reweighted. The corresponding probability of the Z-type edge is 0.5, which corresponds to the equal probability of an X-type error or a Y-type error occurring in the conditional probability space.
[0061] The local prematching engine 120 is configured to provide the graph-based decoding engine 122 with data representing the determined updates to the edge weights 210 of another detector graph, for example, a second detector graph 206b. The graph-based decoding engine 122 is configured to generate the other detector graph updated with the updates to the edge weights 210 and to run a graph-based decoding process 212 on the updated other detector graph to compute the decode output 214 of the decoding process. The decode output predicts the occurrence of errors in the quantum computation. As described above with reference to Figure 1, the decoder 112 (or, more generally, the classical processor 104) can be configured to use the prediction to determine a correction operator that corrects errors when applied to a quantum error correction code performed by the quantum computing device.
[0062] Figure 3 is a flowchart of an example process 300 for correlated decoding of a quantum error correction code. For convenience, process 300 is described as being performed by components of a classical computing system. For example, a properly programmed classical decoder (e.g., decoder 112 in Figures 1 and 2) can perform example process 300.
[0063] The system acquires measurement data from a quantum computing device that performs quantum computations using quantum error correction code (step 302).
[0064] The system generates a first detector graph using the measurement data (step 304). The first detector graph is a graph of nodes and edges, where each node corresponds to a detector in the measurement data, and each edge is a set of nodes with a cardinality of 1 or 2, representing the respective error mechanism that inverts the set of detectors. The edges of the first detector graph are weighted edges, for example, the weights of the edges depend on probabilities representing the error probabilities under a first error model of noise in the quantum computing device. The first detector graph labels a first set of detection events occurring in the measurement data. The first set of detection events corresponds to a first type of error (e.g., Pauli X error or Pauli Z error).
[0065] The system also generates a second detector graph using the measurement data (step 306). The second detector graph is also a graph of nodes and edges, where each node corresponds to a detector in the measurement data, and each edge is a set of nodes with a cardinality of 1 or 2, representing the respective error mechanisms that invert the set of detectors. The edges of the second detector graph are also weighted edges, for example, the weights of the edges depend on probabilities representing the error probabilities under a second error model of noise in the quantum computing device. The second detector graph labels a second set of detection events that occur in the measurement data. The second set of detection events corresponds to a second type of error that is different from the first type of error. For example, if the first set of detection events includes Pauli X errors (or Pauli Z errors), the second set of detection events may include Pauli Z errors (or Pauli X errors).
[0066] The first and second detector graphs can be generated from a hypergraph representing the measurement data. For example, in step 302, the system can generate a hypergraph representing the measurement data. The hypergraph can represent various types of errors, such as Pauli X errors, Pauli Z errors, and Pauli Y errors (which can be decomposed into Pauli X errors or Pauli Z errors). The system can then decompose the hypergraph into a first detector graph for decoding the first type of error and a second detector graph for decoding the second type of error, where the first and second detector graphs are disjoint graphs.
[0067] For each detection event in the first detector graph, the system identifies one or more edges in the first detector graph associated with the detection event (step 308). The system then processes the identified one or more edges (also called incident edges) sequentially (step 310). For example, the system may process the incident edges in ascending order of weight, which represents selecting the most likely error edge.
[0068] The system can determine whether each incident edge is a detector graph boundary edge, an edge connected to another detector that does not correspond to a detection event, or an edge connected to a detector that corresponds to another detection event. In response to the determination that an incident edge is a detector graph boundary edge, the system can terminate processing of the incident edge and sequentially process subsequent incident edges. In response to the determination that an incident edge is an edge connected to another detector that does not correspond to a detection event, the system can terminate processing of that incident edge and sequentially process subsequent incident edges. In response to the determination that an incident edge is an edge connected to a detector that corresponds to another detection event, the system can label the incident edge as a candidate error mechanism and terminate the search around the detection event.
[0069] Next, for each edge labeled as a candidate error mechanism, the system updates the weights of one or more complementary edges in the second detector graph to generate an updated second detector graph (step 312). If the edges of the first detector graph and the edges of the second detector graph combine to form a single hyperedge of the hypergraph representation of the measured data, then one or more edges in the second detector graph are complementary edges of the edges in the first detector graph. To update the weights of complementary edges in the second detector graph, the system can perform Bayesian reweighting. In particular, it is asserted that each error edge has occurred. Next, all probabilities of hyperedges containing the error edge are identified, and a normalized probability distribution is computed that is conditional on the occurrence of that error edge. Then, the weights are computed for each new probability p, for example, as -ln(p / (1-p)).
[0070] The system performs a graph-based decoding process on the updated second detector graph and computes the decode output of the decoding process (step 314). In some embodiments, the decoding process may be a minimum-weighted perfect matching decoding process or a union-finded decoding process. The decode output predicts the occurrence of errors in the quantum computation. The system can use the predicted occurrence of errors to determine a correction operator that corrects the errors when applied to the quantum computing system.
[0071] Steps 308-314 of the example process 300 can also be performed on a second detector graph (for example, simultaneously) to update the weights of complementary edges in the first detector graph and generate an updated first detector graph that can be decoded in step 314. More generally, the system can generate multiple (e.g., two or more) detector graphs in steps 304 and 306. Steps 308-314 can then be performed on each of the multiple detector graphs, for example, in parallel.
[0072] Figure 4 is a flowchart of example process 400 for predicting the occurrence of errors in quantum computing. For convenience, process 400 is described as being performed by components of a classical computing system. For example, a properly programmed classical decoder (e.g., decoder 112 in Figures 1 and 2) can perform example process 400. Example process 400 can be implemented in combination with the definitions and operations described herein, for example, with reference to example process 300 in Figure 3.
[0073] The system updates the edge weights of the second quantum error correction detector graph by performing a local search of the first quantum error correction detector graph (step 402). To perform the local search, for each detection event in the first quantum error correction detector graph, the system reweights complementary edges in the second quantum error correction detector graph using a single edge error on the edge connecting that detection event to the nearest other detection event (the distance between detection events is measured according to the weights of the edges connecting the detection events; for example, if the weights of the edges connecting a pair of first detection events are greater than the weights of the edges connecting a pair of second detection events, then the first pair is closer to each other than the second pair).
[0074] The system performs the decoding process on a second quantum error correction detector graph (with reweighted edges) and computes the decoded output of the decoding process (step 404). The decoded output predicts the occurrence of errors in the quantum computation. Using the predicted occurrence of errors, the system can determine the correction operator that, when applied to the quantum computing system, will correct the errors.
[0075] Figure 5 is a graph 500 comparing the logical error rates of unionfind decoders that implement local prematching correlation decoding and unionfind decoders that implement uncorrelated decoding (no local prematching path, where Y-type errors are treated as completely independent X-type and Z-type errors). The logical error rate 502 is plotted in graph 500 as a function of the detected event rate 504. Six implementations of unionfind decoders are plotted: an uncorrelated unionfind decoder with a code distance of 5, an uncorrelated unionfind decoder with a code distance of 7, an uncorrelated unionfind decoder with a code distance of 9, a local prematching correlation unionfind decoder with a code distance of 5, a local prematching correlation unionfind decoder with a code distance of 7, and a local prematching correlation unionfind decoder with a code distance of 9.
[0076] As shown in the figure, for each fixed code distance, the union-found decoder achieves a lower logic error rate when implementing the local pre-matching correlation decoding technique described here, compared to when implementing the uncorrelated decoding technique. Furthermore, since the technique described herein achieves a higher error suppression coefficient with a fixed error rate for increasing distance, the gap between the two decoders increases with distance.
[0077] Figure 6 is a graph 600 comparing the decoding speeds of decoders implementing two-pass minimum-weighted perfect matching correlation decoding ("two-pass"), local pre-matching correlation decoding ("pre-match"), and uncorrelated decoding (uncorrelated). The decoding speed (μs per decoding round) 602 is plotted in graph 600 as a function of the detected event rate 604. Three different decoding implementations are plotted for code distances equal to 11, 21, and 31, respectively.
[0078] As shown in the figure, when the code distance is large (e.g., code distances of 21 and 31) and the detection event rate exceeds 6%, implementing the local pre-matching correlation decoding technique described herein results in faster decoding speeds compared to two-pass minimum-weighted perfect matching correlation decoding and uncorrelated decoding techniques. The fact that the pre-matching technique can be performed faster than the uncorrelated technique provides evidence that this technique can be used to improve not only accuracy but also speed. This applies, for example, to graph-based decoders that rely on local graph lookup, where execution time can be faster due to improved graph weights. Furthermore, the decoding techniques described herein are significantly faster than two-pass decoding across all parameter domains, while maintaining similar accuracy (see Figure 7).
[0079] Figure 7 is a graph 700 comparing the logic error rates of decoders implementing two-pass minimum-weighted perfect matching correlation decoding and decoders implementing local pre-matching correlation decoding. The logic error rate 702 is plotted in graph 700 as a function of the detected event rate 704. Each decoding implementation is plotted for code distances equal to 5, 7, and 9.
[0080] As shown in the figure, the accuracy of the local pre-matching correlation decoding described herein (measured by the logical error rate) is fast across all parameter regions tested, while being comparable in accuracy to that of a complete two-pass minimum-weighted full-matching correlation decoding (see Figure 6).
[0081] The embodiments and all functional operations described herein can be implemented in digital electronic circuits, or in computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or one or more combinations thereof. Embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium to be executed by or control the operation of a data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a machine-readable component of material that provides a propagating signal, or one or more combinations thereof. The term “data processing device” encompasses any device, apparatus, and machine for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, an apparatus may include code that creates the execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof. A propagating signal is an artificially generated signal, for example, a machine-generated electrical, optical, or electromagnetic signal generated to encode information for transmission to a suitable receiving device.
[0082] Computer programs (also called programs, software, software applications, scripts, or code) can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, either as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. Computer programs do not need to correspond to files in a file system. A program may be stored in a file containing other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program of interest, or in multiple collaborative files (e.g., files containing one or more modules, subprograms, or parts of code). Computer programs may be deployed to run on a single computer, or on multiple computers located in one site or distributed across multiple sites interconnected by a communication network.
[0083] The processes and logic flows described herein can be executed by one or more programmable processors that run one or more computer programs that perform functions to perform actions on input data and produce outputs. The processes and logic flows can also be executed by dedicated logic circuits such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits), or the device can be implemented in such a way.
[0084] Processors suitable for executing computer programs include, for example, both general-purpose and special-purpose microprocessors, and one or more processors in any type of digital computer. Generally, a processor receives instructions and data from read-only memory, random-access memory, or both.
[0085] The basic elements of a computer are a processor for executing instructions, and one or more memory devices for storing instructions and data. Generally, a computer also includes one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or is coupled in an actionable manner to receive data from or transmit data to them, or both. However, a computer does not require such devices. Furthermore, a computer can be incorporated into other devices, to name a few, such as tablet computers, mobile phones, personal digital assistants (PDAs), mobile audio players, and Global Positioning System (GPS) receivers. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, which include, by example, semiconductor memory devices such as EPROMs, EEPROMs, and flash memory devices, magnetic disks such as internal hard disks or removable disks, magneto-optical disks, and CD-ROMs and DVD-ROMs. The processor and memory can be complemented by or incorporated into dedicated logic circuits.
[0086] To enable user interaction, the embodiment can be implemented on a computer equipped with a display device such as a CRT (cathode ray tube) monitor or LCD (liquid crystal display) monitor for displaying information to the user, and a keyboard and pointing device such as a mouse or trackball for user input. Other types of devices may also be used to provide user interaction; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, such as acoustic, voice, or tactile input.
[0087] The embodiment may be implemented as a computing system including, for example, a backend component as a data server, or a computing system including a middleware component such as an application server, or a computing system including a frontend component that allows a user to interact with the implementation, such as a client computer with a graphical user interface or a web browser, or as one or any combination of such backend, middleware, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.
[0088] A computing system may include clients and servers. Typically, clients and servers are geographically separated and usually interact via a communication network. The relationship between clients and servers arises from computer programs running on each computer that have a client-server relationship with one another.
[0089] While this specification contains many details, these should not be interpreted as limiting the scope of the disclosure or claims, but rather as descriptions of features specific to particular embodiments. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable subcombination in multiple embodiments. Furthermore, even if features are described above as acting in a particular combination and were initially claimed as such, in some cases one or more features from the claimed combination may be removed from the combination, and the claimed combination may be directed towards a subcombination or a variation of a subcombination.
[0090] Similarly, while the diagrams depict operations in a specific order, this should not be understood as requiring that such operations be performed in a specific illustrated or sequential order, or that all illustrated 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 components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated into a single software product or packaged into multiple software products.
[0091] Wherever an HTML file is mentioned, other file types or formats may be substituted. For example, an HTML file can be replaced with XML, JSON, plain text, or other types of files. Furthermore, where a table or hash table is mentioned, other data structures (such as spreadsheets, relational databases, or structured files) may be used.
[0092] Therefore, specific embodiments have been described. Other embodiments are within the scope of the following claims. For example, the actions described in the claims may still achieve the desired results even if they are performed in a different order.
Claims
1. A method implemented in a computer, Obtaining measurement data from a quantum computer that performs quantum computations, The method involves generating a first detector graph using the aforementioned measurement data, wherein the first detector graph labels a first set of detection events occurring within the measurement data, and assigns weights to each edge in the first detector graph. The method involves generating a second detector graph using the aforementioned measurement data, wherein the second detector graph labels a second set of detection events occurring within the measurement data, and the second set of detection events differs from the first set of detection events, with each edge in the second detector graph being weighted accordingly. For each detection event in the first detector graph, Identify one or more edges in the first detector graph associated with the detection event, and Processing one or more identified edges sequentially, including labeling each edge associated with the detection event and connected to another detection event as a candidate error mechanism; For each edge labeled as a candidate error mechanism, the weights of one or more complementary edges in the second detector graph are updated in order to generate an updated second detector graph. A method comprising performing the decoding process on the updated second detector graph in order to compute the decoded output of the decoding process, wherein the decoded output predicts the occurrence of errors in the quantum computation.
2. The method according to claim 1, wherein the first detector graph and the second detector graph are generated from a hypergraph representing the measurement data.
3. The method according to claim 2, wherein when the edges of the first detector graph and the edges of the second detector graph are combined to form a single hyperedge of the hypergraph, one or more edges in the second detector graph are complementary edges to the edges in the first detector graph.
4. Generating the first detector graph and generating the second detector graph are performed by To generate a hypergraph representing the aforementioned measurement data, The method according to claim 1, comprising decomposing the hypergraph into a first detector graph and a second detector graph, wherein the first detector graph and the second detector graph are relatively prime graphs.
5. The method according to claim 1, wherein updating the weights of one or more complementary edges in the second detector graph includes performing Bayesian reweighting of the complementary edges in the second detector graph.
6. The method according to claim 1, wherein the first set of detected events includes a first type of Pauli error, and the second set of detected events includes a second type of Pauli error, wherein the first type is different from the second type.
7. The method according to claim 6, wherein the first type includes an X or Z error, and the second type includes a Z or X error.
8. The method according to claim 6, wherein the first detector graph and the second detector graph are generated from a hypergraph representing the measurement data, and the hypergraph represents a third type of Pauli error which is decomposed into a first type of Pauli error and a second type of Pauli error.
9. The method according to claim 8, wherein the third type of Pauli error includes a Y error.
10. The method according to claim 1, wherein generating the first detector graph and the second detector graph includes associating each edge in the first detector graph and each edge in the second detector graph with equal initial weights.
11. The method according to claim 1, wherein sequentially processing the identified one or more edges includes processing the identified one or more edges in ascending order of weight.
12. The method according to claim 1, wherein sequentially processing one or more identified edges further comprises processing subsequent edges of the one or more identified edges for each edge that is a detector graph boundary edge and is associated with the detection event.
13. The method according to claim 1, wherein sequentially processing the identified one or more edges further comprises processing subsequent edges of the identified one or more edges for each edge that is associated with the detection event and connected to another node that does not correspond to the detection event.
14. The method according to claim 1, wherein the decoding process includes a minimum weight perfect matching decoding process or a union-find decoding process.
15. The method according to claim 1, wherein labeling an edge as a candidate error mechanism indicates that an error related to an error mechanism has occurred.
16. It is a system, One or more data processing devices, A non-temporary computer-readable storage medium that communicates with the one or more data processing devices and stores instructions that, when executed by the one or more data processing devices, cause the one or more data processing devices to perform an operation to decode measurement data received from a quantum computer that performs quantum computation, wherein the operation is Obtaining measurement data from a quantum computer that performs quantum computations, The method involves generating a first detector graph using the aforementioned measurement data, wherein the first detector graph labels a first set of detection events occurring within the measurement data, and assigns weights to each edge in the first detector graph. The method involves generating a second detector graph using the aforementioned measurement data, wherein the second detector graph labels a second set of detection events occurring within the measurement data, and the second set of detection events differs from the first set of detection events, with each edge in the second detector graph being weighted accordingly. For each detection event in the first detector graph, Identify one or more edges in the first detector graph associated with the detection event, and Processing one or more identified edges sequentially, including labeling each edge associated with the detection event and connected to another detection event as a candidate error mechanism; For each edge labeled as a candidate error mechanism, the weights of one or more complementary edges in the second detector graph are updated in order to generate an updated second detector graph. A system comprising: performing the decoding process on the updated second detector graph in order to compute the decoded output of the decoding process, wherein the decoded output predicts the occurrence of errors in the quantum computation.
17. A computer-readable storage medium that is executable by a processing unit and stores instructions that cause the processing unit to perform an operation to decode measurement data received from a quantum computer performing quantum computation, wherein the operation is: Obtaining measurement data from a quantum computer that performs quantum computations, The method involves generating a first detector graph using the aforementioned measurement data, wherein the first detector graph labels a first set of detection events occurring within the measurement data, and assigns weights to each edge in the first detector graph. The method involves generating a second detector graph using the aforementioned measurement data, wherein the second detector graph labels a second set of detection events occurring within the measurement data, and the second set of detection events differs from the first set of detection events, with each edge in the second detector graph being weighted accordingly. For each detection event in the first detector graph, Identify one or more edges in the first detector graph associated with the detection event, and Processing one or more identified edges sequentially, including labeling each edge associated with the detection event and connected to another detection event as a candidate error mechanism; For each edge labeled as a candidate error mechanism, the weights of one or more complementary edges in the second detector graph are updated in order to generate an updated second detector graph. A computer-readable storage medium comprising: performing the decoding process on the updated second detector graph in order to compute the decoded output of the decoding process, wherein the decoded output predicts the occurrence of errors in the quantum computation.
Citation Information
Patent Citations
Fault-tolerant quantum error correction with a surface GKP code
US11599820B1
Method and apparatus for generating quantum error correction code using graph state
US20190199373A1
Using flag qubits for fault-tolerant implementations of topological codes with reduced frequency collisions
US20210019223A1
Industrial digital twin systems and methods with echelons of executive, advisory and operations messaging and visualization
US20220108262A1
Quantum, biological, computer vision, and neural network systems for industrial internet of things
US20230176557A1