Edge-disjoint paths for long-distance multi-qubit operations in quantum circuits

By defining edge-disjoint paths and segmenting shared-node paths in quantum circuits, the method enhances parallelism and efficiency in performing long-distance multi-qubit operations, overcoming the limitations of nearest-neighbor restrictions in surface codes.

JP7723737B2Active Publication Date: 2025-08-14MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023521476
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-12
Filing Date
2021-06-30
Publication Date
2025-08-14
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

Conventional quantum circuits implementing surface codes limit multi-qubit operations to nearest-neighbor qubits, requiring complex swap operations that increase execution time and restrict high-level quantum algorithms.

Method used

The method involves defining edge-disjoint paths on a quantum circuit graph to enable long-distance multi-qubit operations by segmenting paths that share nodes, allowing entanglement operations to be performed in multiple stages without overlapping, thereby maximizing parallelism.

Benefits of technology

This approach reduces the number of measurement operations required for complex multi-qubit operations, facilitating efficient long-distance multi-qubit operations in quantum circuits with surface codes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007723737000001
    Figure 0007723737000001
  • Figure 0007723737000002
    Figure 0007723737000002
  • Figure 0007723737000003
    Figure 0007723737000003
Patent Text Reader

Abstract

A method for performing long-distance multi-qubit measurements in a quantum circuit utilizes a graph that maps qubits in the quantum circuit to nodes that are connected to each other by edges. The method provides for identifying sets of nodes on the graph that correspond to sets of qubits targeted by multi-qubit operations of a quantum algorithm and defining groups of edge-disjoint paths that connect the nodes of each set. The groups of edge-disjoint paths are defined such that no paths within the group share an edge. The method further provides for performing a set of operations to entangle qubits corresponding to the identified sets of nodes included in each path of the group and performing the set of multi-qubit operations on the entangled set of qubits.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] background

[0001] Many quantum error correcting codes (QECCs) have been developed to protect quantum states from noise during measurements. In any QECC, a logical qubit is encoded using several physical qubits to enable fault-tolerant quantum computation. The logical qubit can be understood as having redundant data spread across many data qubits to provide greater measurement accuracy.

[0002]

[0002] Surface codes are a promising QECC that provide encoding of logical qubits in the form of an entangled 2D lattice (e.g., a square grid) containing many qubits. The lattice is divided into many plaquette lattices, and the state of the lattice is maintained by repeatedly measuring a set of stabilizers. For example, stabilizers are measured by entangling qubits together on individual plaquette lattices of the grid and measuring the resulting state. This entanglement drives the qubits into eigenstates of the stabilizer operator (e.g., X stabilizer or Z stabilizer), which allows the stabilizer to be measured without perturbing the system. When the stabilizer measurement results in a change within the surface code, this corresponds to one or more qubit errors in the quantum state projected by the measurement.

[0003]

[0003] One limitation of surface codes is that error correction of logical qubits depends on interactions between nearest-neighbor qubits. Consequently, quantum circuits utilizing surface codes are generally designed to provide error correction for groups of closely localized qubits. In addition, high-level quantum algorithms may require operations that are incompatible with those used in circuits employing surface codes. Thus, algorithm designers are faced with a problem known as quantum circuit synthesis (e.g., how to approximate the operations of a quantum algorithm using operations that are compatible with a given quantum circuit layout).

[0004]

[0004] Conventional quantum circuits that implement surface codes limit the set of available quantum operations for implementing high-level algorithms. Typically, these circuits limit the set of available multi-qubit operations to those performed on qubits that are in close physical proximity (e.g., nearest-neighbor qubits). In some circuits that implement surface codes, measurements between non-neighboring qubits can be performed by using a "SWAP" operation to physically transport quantum states between qubits. However, these solutions typically involve a large number of measurement steps, which increases the time required to implement a given solution. Summary of the Invention

[0005] overview According to one implementation, a method for performing parallel long-distance multi-qubit operations in a quantum circuit entails defining a graph of nodes mapped to qubits, the nodes of the graph being connected by edges. The method further provides for identifying sets of nodes on the graph corresponding to sets of qubits targeted by the multi-qubit operations of a quantum algorithm, and defining groups of edge-disjoint paths connecting each qubit in the set. Disjoint paths are defined such that no paths in the group share an edge. The method further provides for performing a set of operations to entangle qubits corresponding to the identified sets of nodes included in each of the defined edge-disjoint paths, and performing a set of multi-qubit operations on the entangled set of qubits. [Brief explanation of the drawings]

[0006] BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1]

[0006] An exemplary quantum computing system utilizing edge-prime paths to perform long-distance multi-qubit operations is shown. [Figure 2]

[0007] Examples of paths on quantum circuits that are and are not considered edge-disjoint paths are given below. [Figure 3]

[0008] 10A-10C illustrate exemplary operations for performing parallel long-distance multi-qubit operations using edge-disjoint paths in a quantum circuit implementing a surface code architecture. [Figure 4A]

[0009] 10 illustrates exemplary operations for segmenting edge disjoint paths according to a methodology that maximizes the number of long-distance multi-qubit operations that can be executed in parallel in a quantum circuit. [Figure 4B]

[0010] 4B illustrates an exemplary segmentation of the edge disjoint path of FIG. 4A into first and second stage path segments. [Figure 4C]

[0011] 4C shows a circuit for entangling qubits corresponding to the first stage path segment shown in FIG. 4B. [Figure 4D]

[0012] 4C shows a circuit for entangling qubits corresponding to the second stage path segment shown in FIG. 4B. [Figure 5]

[0013] 1 illustrates exemplary operations for performing parallel long-distance multi-qubit operations in a quantum circuit that uses a surface code architecture for error correction. [Figure 6]

[0014] 1 illustrates an exemplary computing environment suitable for implementing aspects of the disclosed technology. DETAILED DESCRIPTION OF THE INVENTION

[0007] Detailed Description

[0015] The techniques disclosed herein facilitate efficient long-distance multi-qubit operations in quantum circuits adapted to implement surface codes. Rather than utilizing a swap operation, the disclosed approach provides parallelized long-distance teleportation (e.g., entangling a string of nearest-neighbor qubits) to maximize the possible number of simultaneous long-distance multi-qubit collaborative operations. This approach reduces the total number of measurement operations required to perform complex multi-qubit operations on quantum circuits running surface codes.

[0008]

[0016] According to one implementation, the disclosed technique provides for identifying a set of edge-disjoint paths on a surface signature graph defined by nodes and edges, where the nodes represent qubits on a quantum circuit and the edges represent connections between nearest-neighbor qubits. The identified edge-disjoint paths are used to entangle a string of qubits to facilitate long-distance multi-qubit operations. As used herein, two or more paths are referred to as "edge-disjoint paths" when there are no shared "edges" between them. Of note, two or more paths that cross the same node but do not share an edge can still be considered "edge-disjoint paths." These paths are referred to herein as shared-node edge-disjoint paths.

[0009]

[0017] The methodology proposed herein provides special consideration and treatment for edge elementary paths that share nodes with each other (e.g., intersect). The disclosed methodology provides for segmentation of edge elementary paths that share nodes with another edge elementary path. After separating the path into different segments, an entanglement operation is performed to entangle the qubits in each segment. The entanglement operations on different segments of the same edge elementary path are non-parallel to each other (performed at different times). This methodology can be more fully realized with respect to the following diagram.

[0010]

[0018] 1 illustrates an exemplary quantum computing system 100 that includes a controller 102, which may be understood as including classical software and / or hardware elements. The controller 102 includes a classical compiler 104 that performs compilation operations to prepare instructions executable on a quantum computer 110 to perform the operations of a quantum algorithm 120. The classical compiler 104 is shown as including two sub-modules: an edge element path identifier 116 and a path segmenter 118. The edge element path identifier 116 and the path segmenter 118 perform actions to map the quantum operations of the quantum algorithm 120 to physically available quantum operations for implementation on a quantum circuit 108 that implements a surface code architecture for error correction.

[0011]

[0019] Quantum circuit 108 is depicted in FIG. 1 as a square grid (e.g., a qubit register) contained within quantum computer 110. While quantum circuit 108 is shown as a 2D grid, some implementations may include a 3D grid configuration. Each of the squares (e.g., square 112) shown within quantum circuit 108 may be understood to represent one logical qubit, which itself is made up of many data qubits that store the logical qubit's data. The data qubits within each logical qubit implement a surface code and perform error detection and correction.

[0012]

[0020] Given a quantum algorithm 120, the classical compiler 104 performs operations that map high-level quantum operations (target unitaries) to physical qubit operations that can be executed on the quantum circuit 108. Due to the surface code architecture embedded within each logical qubit, the set of operations available for performance by the quantum circuit 108 may exclude one or more operations specified by the quantum algorithm 120. Specifically, quantum circuits that implement surface codes typically limit joint operations (e.g., two-qubit or three-qubit measurements) to those that target sets of qubits that happen to be connected together through columns of nearest-neighbor qubits. While the square grid of FIG. 1 seemingly provides connectivity between any two qubits on the grid through such columns, complications arise when the quantum algorithm calls for multiple parallel (simultaneous) long-distance multi-qubit operations.

[0013]

[0021] As used herein, "long-range" refers to an operation between two qubits that are not nearest neighbors. In quantum circuit 108, two logical qubits are said to be "nearest neighbors" when they are immediately adjacent and share an edge boundary (e.g., immediately vertically adjacent or immediately horizontally adjacent qubits).

[0014]

[0022] To address the aforementioned challenges associated with parallel (simultaneous) multi-qubit operations, edge element path identifiers 116 identify sets of edge element paths within quantum circuit 108 that provide connectivity between all of the qubit sets targeted by the parallel multi-qubit operations. As described below, these identified edge element paths are used to establish entanglement between each of the qubit sets targeted by one of the multi-qubit operations.

[0015]

[0023] By example, and not by way of limitation, enlarged view 128 shows a portion of quantum circuit 108 including qubits targeted by a collection of parallel multi-qubit operations specified by quantum algorithm 120. In the example shown, quantum algorithm 120 provides three simultaneous CNOT operations, with a first CNOT operating on qubits E3 and G6, a second CNOT operating on qubits F4 and H4, and a third CNOT operating on E5 and E6. To map the specified operations to operations that can be physically performed on quantum circuit 108, edge element path identifier 116 identifies a group of edge element paths, each providing connectivity between qubits of one of the requested parallel multi-qubit operations. The identified edge element paths (shown on the grid of view 128) correspond to the sequence of qubits that will be used to perform the requested parallel multi-qubit measurement.

[0016]

[0024] As mentioned previously, two paths are said to be edge-disjoint paths if the paths do not share an edge (e.g., cross a common boundary between nodes). In the example shown, the path connecting E3 → G6 intersects with the path connecting H4 → F4. This intersection occurs at node (G4). Thus, these two paths share a node but do not share an edge. Therefore, these two paths, along with the path connecting EF → E6, comprise a group of edge-disjoint paths. For further context on the meaning of "edge-disjoint path," Figure 2 shows further examples of node sharing (allowable) and edge sharing (not allowable).

[0017]

[0025] It is noteworthy that each of the three exemplary edge-element paths shown in FIG. 1 corresponds to a different two-qubit measurement targeting the qubits that correspond to the endpoints of the path. However, a similar methodology can be used to identify edge-element paths between sets of more than two qubits. For example, three qubits may be connected by a tree-like structure with three endpoints (a "T-shaped" path or any other continuous path with three endpoints). However, regardless of the implementation, the path associated with a requested set of parallel multi-qubit operations is a group of edge-element paths selected such that no edges are shared between independent paths of the group.

[0018]

[0026] Referring again to the illustrated example, it is possible to perform a joint measurement on any two qubits in quantum circuit 108 by entangling the two qubits with one another through nearest-neighbor qubit interactions. For example, a joint measurement on F4, H4 can be performed by entangling target qubits F4 and H4 through the string of qubits that extends between them. Specifically, this can be achieved by entangling F4, G4, H4 and then performing a joint measurement on F4, H4.

[0019]

[0027] Traditionally, challenges arise when there is an intersection (e.g., one or more shared nodes) between edge-disjoint paths used to perform parallel multi-qubit operations. For example, if an entanglement operation is performed simultaneously on path E3 → G6 and path H4 → F4, all four endpoints (E3, G6, H4, F4) will end up entangled together, thereby preventing independent measurements of the pairs [E3, G6] and [H4, F4]. To avoid this pitfall, path segmenter 118 identifies and implements breakpoints within groups of identified edge-disjoint path operations, eliminating path intersections by segmenting one or both paths into different parts. This path segmentation defines the path segments used in different “stages” of the entanglement operation. For example, each of the different stages of the entanglement operation is performed at separate times to ensure that the target qubits of a long-range interaction (e.g., E3, E6) do not ultimately become entangled with the target qubits of other parallel long-range interactions (e.g., E4, H4).

[0020]

[0028] For example, in FIG. 1 , path segmenter 118 identifies all intersections that occur within the group of edge-disjoint paths shown in view 128. In this example, there is only one intersection (at G4) where two paths share a node. Path segmenter 118 parses the path originally extending from E3 to G6 into two separate segments, resulting in a first segment extending from E3 to G3 and a second segment extending from G3 to G6. Path segmenter 118 assigns the first segment (E3 → G3) to the first computation stage 132, along with the other two paths (H4 → F4 and E5 → E6). Notably, none of the paths within first computation stage 132 share a node. The remaining segment (G3 → G6) is assigned to second computation stage 134. The first computation stage 132 defines a first set of entanglement operations to be performed (e.g., in parallel or serially) during a first time interval, and the second computation stage 134 defines a second set of entanglement operations to be performed during a second, subsequent time interval. In this example, E3, F3, and G3 are entangled with each other during a first time interval corresponding to the first stage, and G3, G4, G5, and G6 are entangled with each other during a second time interval corresponding to the second stage. At the end of the two stages, each of the qubit sets targeted by one of the parallel multi-qubit operations is entangled to facilitate a corresponding multi-qubit measurement. For example, E3 is entangled with G6, and F4 is entangled with H4, but there is no entanglement between the respective pairs [E3, G6] and [F4, H4].

[0021]

[0029] FIG. 2 shows further examples 200 of paths on a quantum circuit that, for the purposes of this disclosure, do and do not qualify as edge-disjoint paths. Similar to the graph of FIG. 1, the nodes (squares) of the graph are intended to correspond to the physical locations of qubits in the circuit. The boundaries between nodes are referred to as edges. A first example 202 shows two paths that share an edge in region 206. Due to this shared edge, the two paths that intersect in region 206 cannot be considered edge-disjoint paths. In contrast, a second example 204 shows paths that share a node but do not share an edge. Specifically, regions 206 and 208 each show a node shared between two different paths. Due to the absence of a shared edge, all of the paths shown in example 204 are considered to be edge-disjoint paths.

[0022]

[0030] 3 shows exemplary operations 300 for performing parallel long-distance multi-qubit operations using edge-element paths in a quantum circuit implementing a surface code architecture. Traditionally, two-qubit quantum operations are performed by creating Bell pairs, achieved through the use of paths of ancillary qubits between target qubits. The techniques disclosed herein accomplish the same by identifying a set of suitable edge-element paths and segmenting the paths into multi-stage entanglement operations in a manner that guarantees constant overhead.

[0023]

[0031] Operation 300 further expands on the example shown in FIG. 1. First view 302 shows an exemplary set of edge-disjoint paths 304, 306, 308 identified as usable to implement a trio of two-qubit quantum operations. Upon determining that paths 304 and 306 share a node (G4), a segmentation operation is performed, as described with respect to FIG. 1. This segmentation partitions path 304 into a first segment 310 and a second segment 312. First segment 310, along with paths 304 and 306, is assigned to a first computation stage 314 (hereinafter collectively referred to as the "first stage path"), and second segment 312 is assigned to a second computation stage 316. No paths or path segments that share a node exist within first computation stage 314, and no paths or path segments that share a node exist within second computation stage 316. Throughout the above methodology, individual endpoints of an edge disjoint path may be targeted by either a first stage operation or a second stage operation, but these endpoints cannot be targeted by operations in both the first operation stage 314 and the second operation stage 316.

[0024]

[0032] To implement the first computation stage 314, operations are performed to entangle the qubits arranged along each of the first stage paths. For example, the entanglement operations of the first computation phase 314 cause independent entanglement of a first group of qubits corresponding to nodes E3, F3, and G3, a second group of qubits corresponding to nodes F4, G4, and H4, and a third group of qubits corresponding to nodes E5 and E6. This entanglement of the "first stage" path is achieved by two rounds of joint measurement 318, shown as occurring at times t1 and t2, respectively. For each of the first stage paths, even and odd edges are identified.

[0025]

[0033] In the first measurement round (t1) of the first stage, joint measurements are performed on qubits connecting odd-numbered edges in each of the three paths. Here, X-based joint parity measurements are performed to entangle qubits on horizontal edges (e.g., E3, E4, and F4, G4), and Z-based joint parity measurements are performed to entangle qubits on vertical edges (e.g., E5, E6). In the second measurement round (t2) of the first computation stage, joint measurements are performed on qubits connecting event number edges in each of the three paths. Again, X-based joint parity measurements are performed to entangle qubits on horizontal edges (e.g., F3, G3, and G4, H4), and Z-based joint parity measurements are performed to entangle qubits on vertical edges (e.g., not present in the example shown).

[0026]

[0034] To implement the second computation stage 316, operations are performed to entangle the qubits arranged along each of the second stage paths. For example, the entanglement operation of the first computation stage 314 causes independent entanglement of qubit groups G3, G4, G5, and G6. This entanglement is achieved by two rounds of joint measurements 320, performed at times t3 and t4, respectively, which occur after times t1 and t2. In the first measurement round (t3) of the second computation stage, joint measurements are performed on qubits sharing an odd edge, where a first Z-based joint measurement is performed on G3 and G4, and a second Z-based joint measurement is performed on G5 and G6. During the second measurement round (t4) of the second computation stage, joint measurements are performed on qubits sharing an even edge, where another Z-based joint measurement is performed on nodes G4 and G5.

[0027]

[0035] The above measurement operations complete the entanglement of each pair of endpoints on the three edge-disjoint paths shown in view 302. Consequently, we can now perform joint measurements of the corresponding qubits.

[0028]

[0036] FIG. 4A illustrates exemplary operations 400 for segmenting edge-disjoint paths according to a methodology that maximizes the number of long-distance collaborative operations that can be performed in parallel in a quantum circuit. Specifically, FIG. 4A illustrates various operations depicted relative to views 402, 406 of a graph 404. Graph 404 includes square nodes that correspond to the physical locations of qubits in a quantum circuit. By example, and without limitation, all square nodes in graph 404 may be understood to represent logical qubits with data spread across many embedded data qubits (not shown) within each square node. In the illustrated operations, the most heavily shaded nodes may be understood to represent data qubits targeted by the quantum algorithm (e.g., data qubit 403), while the lightly shaded and unshaded (white) nodes may be understood to represent ancillary qubits that facilitate the collaborative measurement of a set (e.g., two or more) of data qubits. By design, each pair of immediately adjacent data qubits (black nodes) in graph 404 is separated by an unshaded (white) node corresponding to an ancillary qubit. The remaining gaps between the unshaded (white) nodes are filled by lightly shaded nodes.

[0029]

[0037] View 402 shows a group of edge disjoint paths that have been identified as usable to perform a requested set of multi-qubit operations on data qubits. This group of edge disjoint paths includes nodes that are shared between each pair of paths. Specifically, node C7 is shared by path B and path C, node C5 is shared by path A and path C, node E5 is shared by path A and path B, and node E7 is shared by path B and path D. Due to the geometric constraints of graph 404, all shared nodes correspond to gray nodes rather than unshaded nodes.

[0030]

[0038] View 406 shows the operations on an exemplary algorithm for selecting breakpoints in one or more paths. Here, a stage number (1 or 2) is assigned to each path whenever the path crosses a gray node boundary. These gray node boundaries are hereinafter referred to as "gray node boundaries." This stage number assignment is generated according to two rules. First, whenever a path crosses a gray node, the two resulting gray node boundaries are assigned the same stage number (e.g., 1 or 2). Second, if a first path and a second path pass through the same gray node (e.g., a node is shared between the two paths), the gray node boundary of the first path will be assigned a different stage number than the gray node boundary of the second path.

[0031]

[0039] Figure 4B illustrates operations for segmenting one or more of the identified edge disjoint paths of Figure 4A based on the assigned stage numbers. For reference, Figure 4B again illustrates a view 406 that includes labeling each gray boundary crossing with a stage number assignment, which may be determined as described above with respect to Figure 4A. Following the assignment of stage numbers, breakpoint identification and implementation then occurs, as shown in views 408, 410.

[0032]

[0040] To implement breakpoints, the system identifies paths that traverse unshaded nodes whose node boundaries are assigned different stage numbers. For example, nodes C4, C6, D6, and D7 all correspond to unshaded nodes whose associated path boundaries are assigned different stage numbers. Breakpoints are inserted at each of these nodes, effectively dividing the associated path into two distinct segments. In this example, path A is segmented into three segments (two assigned to stage 1 and two assigned to stage 2), and paths B and C are segmented into two segments (one assigned to stage 1 and one assigned to stage 2).

[0033]

[0041] In the illustrated example, the path portion associated with stage number 1 is assigned to the first computation stage (shown in view 408), and the path portion associated with stage number 2 is assigned to the second computation stage (shown in view 410). No paths or path segments that share a node exist in the first computation stage, and no paths or path segments that share a node exist in the second computation stage. Through the above methodology, each individual endpoint of an edge disjoint path is associated with either a first stage operation or a second stage operation (but not both).

[0034]

[0042] Following the illustrated path segmentation, a first stage of an entanglement operation is defined for the path assigned to the first computation stage. Similarly, a second stage of an entanglement operation is defined for the path assigned to the second computation stage. When actually implemented in a quantum circuit, the first stage of the entanglement operation is performed non-parallel to (e.g., before) the second stage of the entanglement operation.

[0035]

[0043] 4C and 4D show the transformation of the first and second stage paths into actual circuits that can be implemented to entangle the qubits associated with each of the edge disjoint paths identified in FIG. 4A.

[0036]

[0044] In FIG. 4C , first view 416 shows the path associated with stage number 1 (the “first stage path”), as previously shown in view 408 and derived as described above. Views 418 and 420 of FIG. 4C show the circuit implemented with different measurement rounds that can be used to achieve entanglement of the qubits corresponding to each path. Specifically, view 418 shows the first round of first stage measurement, and view 420 shows the second round of first stage measurement. Although the two rounds of first stage measurement are performed at different times, the measurements performed within each respective round (e.g., those shown in view 418 or view 420) can be performed in parallel. In both view 418 and view 420, filled edges are used to indicate each pair of nodes that are jointly measured in the associated step. For example, the edge connecting B2 and B3 in view 418 is filled to indicate the joint measurement of the nodes corresponding to B2 and B3. In contrast, hollow edges are used to indicate each pair of nodes that are not subject to joint measurement in the associated step. For example, the edge connecting B3 to C3 in view 418 is hollow to indicate that the endpoint nodes are not subject to joint measurement in this step.

[0037]

[0045] In the first round of measurements shown for view 418, even and odd edges are identified for each path, and joint measurements are performed on qubits connecting the odd edges in each of the paths. Here, an X-based measurement is performed when the measurement involves data qubits (black nodes) and ancillary qubits connected along horizontally oriented odd edges. Similarly, a Z-based measurement is performed when the measurement involves data qubits (black nodes) and ancillary qubits connected along vertically oriented odd edges. The letter "B" is used to indicate a Bell measurement.

[0038]

[0046] In the second round of first stage measurement shown for view 420, joint measurements are performed on qubits connecting an even number of edges in each of the paths. The measurement types are the same as those shown for view 418 (e.g., X-based measurements are performed for horizontal edges involving data qubits, Y-based measurements are performed for vertical edges involving data qubits, and B-based measurements are performed for measurements involving two ancillary qubits). At the end of the first and second rounds of first stage joint measurement, the endpoints of each of the first stage paths (e.g., the paths shown in view 408) are entangled with each other.

[0039]

[0047] 4D illustrates second-stage entanglement operation 422, which is an extension of operations 400, 412, and 414 discussed with respect to FIGS. 4A-4C. Within FIG. 4D, first view 424 illustrates the path associated with stage number 2 (the "second-stage path"), as previously shown in view 410 and derived as described above. Views 426 and 428 illustrate circuitry implemented with different measurement rounds of the second stage that can be used to achieve entanglement of qubits corresponding to each path illustrated in view 408. Specifically, view 426 illustrates the first round of second-stage measurement, and view 428 illustrates the second round of second-stage measurement. Although the two rounds of second-stage measurement are performed at different times, the measurements performed within each of the respective rounds (e.g., those illustrated in view 426 or view 428) can be performed in parallel.

[0040]

[0048] In the first round of joint measurements shown for view 426, even and odd edges are identified for each path, and joint measurements are performed on qubits connecting the odd edges. Figure 4D uses the same measurement notation as described with respect to Figure 4C.

[0041]

[0049] In the second round of joint measurements shown for view 428, joint measurements are performed on qubits connecting an even number of edges in each of the paths. At the end of the first and second rounds of first-stage joint measurements, the endpoints of each of the initially identified edge-disjoint paths (e.g., the paths shown in view 410 of FIG. 4A) are entangled with each other. At this point, joint measurements can be performed on the set of qubits targeted by the multi-qubit operation of the quantum algorithm (e.g., the endpoints of each of the edge-disjoint paths shown in view 402 of FIG. 4A).

[0042]

[0050] 5 shows example operations 500 for performing parallel long-distance multi-qubit operations in a quantum circuit that uses a surface code architecture for error correction. In one implementation, operations 500 are performed by a controller, which may be a classical controller or a quantum controller. An identifying operation 502 identifies one or more qubit sets targeted by a parallel multi-qubit operation requested by a quantum algorithm. An accessing operation 504 accesses a stored graph defined by nodes and edges, each of which maps to a qubit in the quantum circuit. Another identifying operation 506 identifies a set of nodes in the graph that correspond to the identified qubit sets targeted by the parallel multi-qubit operation.

[0043]

[0051] A define path operation 508 defines a group of edge disjoint paths such that each path in the group has an endpoint that corresponds to one of the identified node sets, and no paths in the set share an edge. An identify intersection operation 510 identifies a subset of edge disjoint paths that intersect at one or more nodes, and a segmentation operation 512 segments each path in the subset identified in identify intersection operation 510 into one or more first stage segments and one or more second stage segments. According to one implementation, the first stage segments and second stage segments are defined such that no first stage segments intersect with each other and such that no second stage segments intersect with each other.

[0044]

[0052] The construct-circuit operation 514 constructs a circuit definition for a circuit that entangles a targeted set of qubits with a multi-qubit operation. According to one implementation, the circuit achieves entanglement of a set of qubits by performing time-spaced stages of entanglement operations on nearest-neighbor qubits. For example, the circuit is executable to perform a first set of entanglement operations to entangle each qubit in a first stage segment and a second set of entanglement operations to entangle each qubit in a second stage segment. The output (e.g., the circuit definition) of the construct-circuit operation 514 can be used to construct quantum circuits for a quantum computer that perform parallel multi-qubit operations.

[0045]

[0053] FIG. 6 and the following discussion are intended to provide a brief, general description of an exemplary computing environment in which the disclosed technology can be implemented. Although not required, the disclosed technology is described in the general context of computer-executable instructions (e.g., program modules) being executed by a personal computer (PC). Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, the disclosed technology can be implemented with other computer system configurations, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The disclosed technology can also be practiced in distributed computing environments where tasks are performed by remote processing devices linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. Typically, a classical computing environment is coupled to a quantum computing environment, which is not shown in FIG. 12.

[0046]

[0054] Referring to FIG. 6, an exemplary system for implementing the disclosed technology includes a general-purpose computing device in the form of an exemplary conventional PC 600. The conventional PC 600 may include a variety of tangible computer-readable storage media and intangible computer-readable communication signals. Tangible computer-readable storage media may be embodied by any available medium accessible by the conventional PC 600, including both volatile and nonvolatile, removable and non-removable storage media. Tangible computer-readable storage media excludes intangible and transitory communication signals and includes volatile and non-volatile, removable and non-removable storage media implemented in any method or technology for storage of information (computer-readable instructions, data structures, program modules, or other data). Tangible computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium that can be used to store desired information and that can be accessed by a conventional PC. In contrast to tangible computer-readable storage media, intangible computer-readable communication signals may embody computer-readable instructions, data structures, program modules or other data residing in a modulated data signal such as a carrier wave or other signal transport mechanism. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, intangible communication signals include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

[0047]

[0055] A conventional PC 600 includes one or more processing units 602, a system memory 604, and a system bus 606 that couples various system components including the system memory 604 to the one or more processing units 602. The system bus 606 can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. An exemplary system memory 604 includes read-only memory (ROM) 608 and random access memory (RAM) 610. A basic input / output system (BIOS) 612, containing the basic routines that help to transfer information between elements within the PC 600, is stored in ROM 608.

[0048]

[0056] In an implementation, the system memory 604 stores a classical controller 611n that includes one or more QECCs and logic for compiling quantum circuits (e.g., edge disjunction path identifier 116 and path segmenter 118 of FIG. 1).

[0049]

[0057] The exemplary PC 600 further includes one or more storage devices 630, such as a hard disk drive for reading from and writing to a hard disk, a magnetic disk drive for reading from and writing to a removable magnetic disk, or an optical disk drive (such as a CD-ROM or other optical media) for reading from and writing to a removable optical disk. Such storage devices may be connected to the system bus 606 by a hard disk drive interface, a magnetic disk drive interface, and an optical drive interface, respectively. The drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the PC 600. Other types of computer-readable media capable of storing data accessible by a PC may also be used in the exemplary operating environment, such as magnetic cassettes, flash memory cards, digital video disks, CDs, DVDs, RAM, ROM, and the like.

[0050]

[0058] Many program modules, including an operating system, one or more application programs, other program modules, and program data, may be stored in storage device 630. Control logic may be stored in storage device 630 similar to or in addition to memory 604. A user may enter commands and information into PC 600 through one or more input devices 640, such as a keyboard and a pointing device such as a mouse. Other input devices may include a digital camera, microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the one or more processing units 602 through a serial port interface coupled to the system bus 606, but may also be connected by other interfaces, such as a parallel port, game port, or universal serial bus (USB). A monitor 646 or other type of display device is also connected to system bus 606 via an interface, such as a video adapter. Other peripheral output devices 645, such as speakers and a printer (not shown), may also be included.

[0051]

[0059] The PC 600 can operate in a networked environment using logical connections to one or more remote computers (such as remote computer 660). Some examples include one or more network or communication connections 650. The remote computer 660 can be another PC, a server, a router, a network PC or peer device, or other common network node, and typically includes many or all of the elements described above with respect to the PC 600, although only memory storage device 662 is shown in FIG. 6. The personal computer 600 and / or the remote computer 660 can be connected to logical local area networks (LANs) and wide area networks (WANs). Such networked environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

[0052]

[0060] When used in a LAN networking environment, the PC 600 is connected to the LAN through a network interface. When used in a WAN networking environment, the PC 600 typically includes a modem or other means for establishing communications over the WAN, such as the Internet. In a networked environment, program modules depicted relative to the personal computer 600, or portions thereof, may be stored in the remote memory storage device or other locations on the LAN or WAN. The network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

[0053]

[0061] A method disclosed herein provides for defining a graph including nodes connected by edges, where the nodes map to qubits of a quantum device. The method further provides for identifying a set of nodes on the graph that correspond to a set of qubits targeted by a multi-qubit operation of a quantum algorithm, and for defining groups of edge-disjoint paths, where each path in the group is defined along one or more edges and nodes and includes one of the identified sets of nodes, and the group of edge-disjoint paths is defined such that no paths in the group share an edge. The method further provides for performing, for each defined path in the set, a set of operations that have the effect of entangling qubits corresponding to the identified set of nodes included in the path, and for performing the set of multi-qubit operations on the entangled set of qubits.

[0054]

[0062] An exemplary method according to any preceding method provides identifying, within a defined set of edge disjoint paths, a subset of paths that intersect each other at one or more nodes. For each path in the identified subset of paths, the path is segmented into one or more first stage segments and one or more second stage segments, the first stage segments and the second stage segments being defined such that no first stage segments intersect each other and no second stage segments intersect each other. An entanglement operation associated with the first stage segment is performed at a different time than an entanglement operation associated with the second stage segment.

[0055]

[0063] Another exemplary method of any preceding method further provides performing a first set of operations to entangle qubits corresponding to each respective one of the first stage segments, and at a subsequent time, performing a second set of operations to entangle qubits corresponding to each respective one of the second stage segments.

[0056]

[0064] In yet another exemplary method of any preceding method, performing the first set of operations to entangle each qubit in each of the first stage segments further includes defining even and odd edges of the first stage segment, performing a joint measurement on the qubit corresponding to each of the even edges of the first stage segment, and performing a joint measurement on the qubit corresponding to each of the odd edges of the first stage segment.

[0057]

[0065] In yet another exemplary method of any preceding method, performing the first set of operations to entangle each qubit in each of the second stage segments further includes defining even and odd edges of the second stage segment, performing a joint measurement on the qubit corresponding to each of the even edges of the second stage segment, and performing a joint measurement on the qubit corresponding to each of the odd edges of the second stage segment.

[0058]

[0066] In yet another exemplary method of any preceding method, the qubits of the quantum device are logical qubits implemented in a surface code constructed from physical qubits.

[0059]

[0067] In yet another exemplary method of any preceding method, performing the set of multi-qubit operations further includes performing some or all of the multi-qubit operations simultaneously.

[0060]

[0068] An exemplary quantum computing system includes a quantum device that executes a circuit definition to cause a parallel multi-qubit operation specified by a quantum algorithm. The system further includes a controller stored in memory that is executable to: access a graph including nodes mapped to qubits of the quantum device, where the nodes of the graph are connected by edges; identify a set of nodes on the graph that correspond to a set of qubits targeted by the parallel multi-qubit operation; and define a group of edge disjoint paths, where each path of the group is defined along one or more edges and nodes and includes one of the identified set of nodes. The group of edge disjoint paths is defined such that no paths in the set share an edge. The controller is further executable to compile a circuit for execution by the quantum device, where the circuit, when executed, entangles qubits corresponding to the identified set of nodes included in each of the defined paths in the group of edge disjoint paths to perform the parallel multi-qubit operation.

[0061]

[0069] In an exemplary quantum system of any preceding system, the controller is further executable to identify a subset of paths in the group that intersect at one or more nodes, and for each path in the identified subset of paths, segment the path into one or more first stage segments and one or more second stage segments. The first stage segments and second stage segments are defined such that no first stage segments intersect with each other and no second stage segments intersect with each other. The compiled circuit is further executable to cause entanglement operations associated with the first stage segments at a different time than entanglement operations associated with the second stage segments.

[0062]

[0070] In another exemplary quantum system of any quantum computing system, the controller is further executable to generate a first circuit definition for a first circuit executable to cause a first set of operations to entangle qubits corresponding to each respective one of the first stage segments, and to generate a second circuit definition for a second circuit executable to cause a second set of operations to entangle qubits corresponding to each respective one of the first stage segments.

[0063]

[0071] In yet another exemplary quantum system of any preceding quantum system, even and odd edges are defined for each of the first stage segments, and the first circuit is further operable to perform a joint measurement on the quantum bits corresponding to each of the even edges in the first stage segment and to perform a joint measurement on the quantum bits corresponding to each of the odd edges in the first stage segment.

[0064]

[0072] In yet another exemplary quantum computing system of any computing system, even and odd edges are defined for each of the second stage segments, and the second circuit is further operable to perform a joint measurement on the qubits corresponding to each even edge in the second stage segment and to perform a joint measurement on the qubits corresponding to each odd edge in the second stage segment.

[0065]

[0073] In another exemplary quantum system of any of the preceding quantum systems, the qubits of a quantum circuit are logical qubits implemented in a surface code constructed from physical qubits.

[0066]

[0074] In another exemplary quantum system of any of the preceding systems, the circuitry is further operable to simultaneously perform some or all of the parallel multi-qubit operations.

[0067]

[0075] An exemplary tangible computer-readable storage medium disclosed herein encodes computer-executable instructions for executing a computer process, the computer process including: defining a graph including nodes mapped to qubits of a quantum device, the nodes of the graph being connected by edges; identifying a set of nodes on the graph corresponding to a set of qubits targeted by a multi-qubit operation of a quantum algorithm; and defining groups of edge-disjoint paths, each path of the group defined along one or more edges and nodes and including one of the identified sets of nodes. The groups of edge-disjoint paths are defined such that no paths in the group share an edge, and the computer process further includes performing a set of operations on each of the defined paths, the set of operations having the effect of entangling qubits corresponding to the identified set of nodes included in the path. The set of multi-qubit operations is then performed on the entangled set of qubits.

[0068]

[0076] In an exemplary tangible computer-readable storage medium of any preceding computer-readable storage medium, the computer process further includes identifying a subset of paths in the group that intersect each other at one or more nodes, and for each path in the identified subset of paths, segmenting the path into one or more first stage segments and one or more second stage segments. The first stage segments and second stage segments are defined such that no first stage segments intersect each other and no second stage segments intersect each other. The process further provides for performing an entanglement operation associated with the first stage segment at a different time than an entanglement operation associated with the second stage segment.

[0069]

[0077] In yet another exemplary tangible computer-readable storage medium of any preceding computer-readable storage medium, the computer process further includes performing a first set of operations to entangle qubits corresponding to each respective one of the first stage segments, and at a subsequent time, performing a second set of operations to entangle qubits corresponding to each respective one of the second stage segments.

[0070]

[0078] In another exemplary tangible computer-readable storage medium of any preceding computer-readable storage medium, performing an entanglement operation associated with the first stage segments further includes defining even and odd edges of each of the first stage segments and performing a joint measurement on a qubit corresponding to each even edge of one of the first stage segments. The process then further includes performing a joint measurement on a qubit corresponding to each odd edge of one of the first stage segments.

[0071]

[0079] In yet another exemplary tangible computer-readable storage medium of any preceding computer-readable storage medium, the computer process further includes defining even and odd edges of the second stage segment, performing a joint measurement on each set of qubits corresponding to the even edge of one of the second stage segments, and performing a joint measurement on each set of qubits corresponding to the odd edge of one of the second stage segments.

[0072]

[0080] In yet another exemplary tangible computer-readable storage medium of any preceding computer-readable storage medium, the qubits of the quantum circuit are logical qubits embodied in a surface code constructed from physical qubits.

[0073]

[0081] An exemplary system disclosed herein includes means for defining a graph including nodes mapped to qubits of a quantum device, the nodes being connected to each other by edges, means for identifying a set of nodes on the graph corresponding to a set of qubits targeted by a multi-qubit operation of a quantum algorithm, and means for defining groups of edge-disjoint paths, each path of the group defined along one or more edges and nodes and including one of the identified sets of nodes. The groups of edge-disjoint paths are defined such that no paths in the group share an edge, and the system further includes means for performing a set of operations on each of the defined paths, the set of operations having the effect of entangling qubits corresponding to the identified set of nodes included in the path, and means for performing a set of multi-qubit operations on the entangled set of qubits.

[0074]

[0082] The above specification, examples, and data provide a complete description of the structure and use of exemplary implementations. Since many implementations can be made without departing from the spirit and scope of the claimed invention, the following appended claims define the invention. Moreover, structural features of different examples can be combined in yet further implementations without departing from the scope of the claims as set forth. The above specification, examples, and data provide a complete description of the structure and use of exemplary implementations. Since many implementations can be made without departing from the spirit and scope of the claimed invention, the following appended claims define the invention. Moreover, structural features of different examples can be combined in yet further implementations without departing from the scope of the claims as set forth.

Claims

1. A computer comprising: defining a graph comprising nodes mapped to qubits of a quantum device, the nodes being connected to each other by edges; identifying a set of nodes on the graph that correspond to a set of qubits targeted by a multi-qubit operation of a quantum algorithm; defining a group of edge disjoint paths, each path of the group defined along one or more edges and nodes and including one of the identified sets of nodes, the group of edge disjoint paths being defined such that no path within the group shares an edge; for each defined path, performing a set of operations to entangle the qubits corresponding to the identified set of nodes included in the path; performing the set of multi-qubit operations on the entangled set of qubits; A method comprising:

2. identifying, within said defined set of edge disjoint paths, a subset of said paths that intersect each other at one or more nodes; for each path of the identified subset of paths, segmenting the path into one or more first stage segments and one or more second stage segments, the first stage segments and the second stage segments being defined such that no first stage segments intersect with one another and no second stage segments intersect with one another; performing an entanglement operation associated with the first stage segment at a different time than an entanglement operation associated with the second stage segment; The method of claim 1 further comprising:

3. performing a first set of operations to entangle qubits corresponding to each of the respective ones of the first stage segments; at a subsequent time, performing a second set of operations to entangle qubits corresponding to each of the respective ones of the second stage segments; and The method of claim 2 further comprising:

4. performing the first set of operations to entangle the qubits of each of the first stage segments; defining even and odd edges of the first stage segment; performing a joint measurement on qubits corresponding to each even edge of the first stage segment; performing a joint measurement on the qubits corresponding to each odd edge of the first stage segment; The method of claim 3 further comprising:

5. performing the first set of operations to entangle the qubits of each of the respective ones of the second stage segments; defining even and odd edges of the second stage segment; performing a joint measurement on qubits corresponding to each even edge of the second stage segment; performing a joint measurement on the qubits corresponding to each odd edge of the second stage segment; The method of claim 3 further comprising:

6. 10. The method of claim 1, wherein the qubits of the quantum device are logical qubits implemented in a surface code constructed from physical qubits.

7. performing the set of multi-qubit operations; performing some or all of the multi-qubit operations simultaneously. The method of claim 1 further comprising:

8. a quantum device that executes a circuit definition to cause parallel multi-qubit operations specified by a quantum algorithm; a controller stored in a memory, accessing a graph including nodes mapped to the qubits of the quantum device, the nodes of the graph being connected by edges; identifying a set of nodes on the graph that correspond to a set of qubits targeted by the parallel multi-qubit operation; defining a group of edge disjoint paths, each path of the group defined along one or more edges and nodes and including one of the identified sets of nodes, the group of edge disjoint paths being defined such that no path in the set shares an edge; compiling a circuit for execution by the quantum device, the circuit being executable to entangle the qubits corresponding to the identified set of nodes included in each defined path within the group of edge disjoint paths to perform the parallel multi-qubit operation; The controller and 1. A quantum computing system comprising:

9. The controller: identifying a subset of the paths in the group that intersect at one or more nodes; for each path in the identified subset of paths, segmenting the path into one or more first stage segments and one or more second stage segments, the first stage segments and the second stage segments being defined such that no first stage segments intersect with one another and no second stage segments intersect with one another; and 10. The quantum computing system of claim 8, wherein the compiled circuit is further executable to cause an entanglement operation associated with the first stage segment at a different time than an entanglement operation associated with the second stage segment.

10. The controller: generating a first circuit definition for a first circuit executable to cause a first set of operations to entangle qubits corresponding to each of the first stage segments; generating a second circuit definition for a second circuit executable to cause a second set of operations to entangle qubits corresponding to each of the first stage segments; 10. The quantum computing system of claim 9, further operable to:

11. Even and odd edges are defined for each of the first stage segments, and the first circuitry comprises: performing a joint measurement on qubits corresponding to each of the even edges in the first stage segment; performing a joint measurement on qubits corresponding to each of the odd edges in the first stage segment; 11. The quantum computing system of claim 10, further operable to:

12. An even and odd edge is defined for each of the second stage segments, and the second circuit comprises: performing a joint measurement on qubits corresponding to each of the even edges of the second stage segment; performing a joint measurement on qubits corresponding to each of the odd edges in the second stage segment; 11. The quantum computing system of claim 10, further operable to:

13. 10. The quantum computing system of claim 8, wherein the qubits of the quantum circuit are logical qubits implemented in a surface code constructed from physical qubits.

14. 9. The quantum computing system of claim 8, wherein the circuitry is further operable to perform some or all of the parallel multi-qubit operations simultaneously.

15. A tangible computer-readable storage medium having stored thereon instructions that, when executed by a processor, cause the processor to: defining a graph including nodes that map to qubits of a quantum device, the nodes of the graph being connected by edges; identifying a set of nodes on the graph that correspond to a set of qubits targeted by a multi-qubit operation of a quantum algorithm; defining a group of edge disjoint paths, each path of the group defined along one or more edges and nodes and including one of the identified sets of nodes, the group of edge disjoint paths being defined such that no path within the group shares an edge; for each defined path, performing a set of operations to entangle the qubits corresponding to the identified set of nodes included in the path; performing the set of multi-qubit operations on the entangled set of qubits; A tangible computer-readable storage medium that causes the computer to execute the method.

16. The instructions further cause the processor to: identifying a subset of paths in the group that intersect each other at one or more nodes; for each path of the identified subset of paths, segmenting the path into one or more first stage segments and one or more second stage segments, the first stage segments and the second stage segments being defined such that no first stage segments intersect with one another and no second stage segments intersect with one another; performing an entanglement operation associated with the first stage segment at a different time than an entanglement operation associated with the second stage segment; 16. The tangible computer-readable storage medium of claim 15, causing execution of

17. The instructions further cause the processor to: performing a first set of operations to entangle qubits corresponding to each of the respective ones of the first stage segments; at a subsequent time, performing a second set of operations to entangle qubits corresponding to each of the respective ones of the second stage segments; and 20. The tangible computer-readable storage medium of claim 16, causing execution of:

18. The entanglement operation associated with the first stage segment comprises: defining even and odd edges of each of the first stage segments; performing a joint measurement on qubits corresponding to each even edge of one of the first stage segments; performing a joint measurement on qubits corresponding to each odd edge of one of the first stage segments; 20. The tangible computer-readable storage medium of claim 16, further comprising:

19. The entanglement operation associated with the second stage segment comprises: defining even and odd edges of each of the second stage segments; performing a joint measurement on qubits corresponding to each even edge of one of the second stage segments; performing a joint measurement on qubits corresponding to each odd edge of one of the second stage segments; 20. The tangible computer-readable storage medium of claim 16, further comprising:

20. 16. The tangible computer-readable storage medium of claim 15, wherein the qubits of the quantum device are logical qubits implemented in a surface code constructed from physical qubits.

Citation Information

Patent Citations

  • Quantum repeater, and system and method for generating extended entanglement

    JP2012531875A

  • Network design evaluation method, network design evaluation device, and program

    JP2019216396A

  • Cluster-state quantum computing methods and systems

    WO2020223718A1