Quantum computing has been developing recently as it gives promising hopes to solve problems that are classically intractable.
One of the challenges that faces quantum computing is that it needs manipulating a large amount of qubits beyond their coherence time, thus requiring error corrections. In particular, to store and manipulate quantum information on large time scales, it is known to actively correct errors by combining physical qubits into logical qubits using a quantum error correcting code such as surface code architecture.
This disclosure ensures an optimization of implementing of the quantum circuit for said surface code architecture. More generally, the present disclosure aims at reducing calculation time when implementing an algorithm.
It is proposed a method for implementing a Method for implementing a graph (G) comprising a plurality of vertices (V) and links (E) between the vertices, a set (R) being a collection of subsets (Ri) of said a given number of vertices (Rik). The method comprises:
The method ensures reducing calculation time.
According to another aspect, the graph is a tree.
According to another aspect, the method comprises depth first research of each tree to select said pre-selected subset.
According to another aspect, during the depth first research, a given vertex of one of the tree is visited, a partial solution comprising a set of rotations Ri that we were able to constitute up to the visited vertex and a set of vertices that are still accessible.
The disclosure is also about a method for implementing a quantum circuit comprising a plurality of qubits as well as operators executed on said qubits, said operators comprising a sequence of
Pauli rotation gates, a surface code layout comprising an arrangement of said quantum circuit on a quantum chip, the arrangement comprising at least a tree with a plurality of subtrees, at each rotation gate corresponding a subtree of the tree, the method comprising:
According to another aspect, the method comprises removing the selected subset of rotations from the DAG.
According to another aspect, the method comprises stopping generating the DAG when the front layer is empty.
Other features, details and advantages will be shown in the following detailed description and on the figures, on which:
As can be seen from
The method also 1 comprises comparing (step 3) the number of vertices Rik associated to each of the pre-selected subset. The method 1 furthermore comprises (step 4), among the pre-selected subsets, choosing the subset for which the number of vertices is the highest.
The method 1 can apply to maximizing a number of tasks to be performed in parallel on a calculating cluster, ensuring minimizing of the calculation time.
The method 1 is now detailed in its application to a method, referenced 100 in the figures, for implementing a quantum circuit Qci, preferably with as few time steps as possible, i.e., with a high speed process, the number of steps that are required to implement the circuit QCi giving the measure of the process speed.
As can be seen from
The method also comprises a step 102 of implementing the T gates, this step being the costliest step of the method. The step 102 consists in performing a series of joint measurements JM, consuming one magic state, or ancilla, as seen from on
Details now are given about how to perform the joint measurements.
To do so, the method 100 further comprises encoding the surface code thanks to a plurality of patches Pa. As seen from
A one-qubit patch Pa-1 represents one qubit and is delimited by four edges, each edge being coupled to a Pauli operator. On
As shown in
As can be seen from
The method 100 comprises of converting the free tiles layout into a tree 7. As can be seen from
The method 100 aims at finding the not intersecting subtrees. Said differently, a subtree spanning all vertices of rotation Ri being noted τ(Ri), a valid decomposition D reads: D={τ(Ri1), . . . , τ(Rim)|∀j≠k, τ(Rij)∩τ(Rik)=∅}.
To construct the valid decomposition D, the method 100 comprises a process 200 referred to as size strategy 200.
The size strategy consists in selecting the decomposition D that maximizes the number of rotations involved to increase parallelizing of the computation. The size strategy 200 represents an embodiment of the method 1 of
The method 100 comprises a preprocess 103 of generating iteratively a directed acyclic graph (DAG) of the quantum circuit Qci.
A front layer FL of a given iteration of the DAG can be expressed as the set of rotations that can be effectively implemented in said given step. And, at each iteration, the effectively implemented rotations are removed from the DAG.
As can be seen from
From the front layer FL, rotations among 1, 2 and 3 are to be selected by a heuristic, as will be detailed later in relation with process 200. If, firstly, rotations 2 and 3 are implemented in one time step, then the front layer comprises only rotations, or nodes, 1 and 4. Then, rotations 1 and 4 can be implemented in one time step, resulting in the remaining front layer FL of figure that comprises node 5 only.
The method 100 also comprises selecting (step 104) in the front layer FL of the DAG a subset of the set of rotations in which the subtrees are arranged not to intersect. In other words, one can iteratively call the process 200 on the front layer of the DAG. The rotations chosen by the process 200 are then removed from the DAG, and the method stops when the DAG is empty.
Thus, the method 100 ensures minimizing the number of time steps that are needed to implement one layer or commuting rotations, by selecting the largest possible group of commuting rotations to implement or the largest possible group of qubits involved.
Chronologically speaking, the step 101 of preparing the quantum circuit QCi precedes generating the DAG (step 103) and extracting (step 104) the rotations that can be implemented, layer by layer, from the DAG as long as the DAG is not empty, as explained above. Then, the T gates are implemented (step 102).
We now detail the size strategy method 200.
The size strategy method is preferably a dynamic recursive method.
The size strategy method 200 proceeds by subdividing the problem into sub-problems and by recombining optimally the solutions to the subproblems into a solution for the initial problem.
The graph, noted G, is a set of points V called vertices or nodes, linked by a set E of edges, such that G=(V, E).
A set R comprises a collection of subsets Ri of vertices of the graph G, R={R1, . . . , Rk}, Ri⊆V. The size strategy method applies advantageously to the rotations of the front layer FL of the DAG, though the method 200 is not limited to this application.
The size strategy method comprises a step of visiting the graph G so as to obtain the largest possible collection of m subsets Ri1, . . . , RimϵR such that for all rotations Ri in this collection, there exists an associated tree Ti connecting the vertices of Ri such that these trees are pairwise disjoints ∀i,j, Ti∩Tj=∅.
G being a tree, the method 200 comprises (see
The method 200 advantageously comprises a preliminary step 202 of picking a root vertex rϵV (step 302), even though this choice has no influence on the result of the method 200, such that any vertex can be picked. Once this vertex is picked each vertex of G has a single parent vertex and several (possible none) children vertices. The leaves of the tree are the vertices with no child.
Then, the method 200 comprises a depth first search 203 of the tree from the leave that has been selected in step 201. The search 203 comprises visiting all the graph G by visiting all the children of a vertex before visiting said vertex.
Upon visiting a given vertex v of the tree (step 204), a solution, that is partial, is produced, associated to said vertex, using solutions already associated to each of its (already visited) children. These solutions contain two kinds of information, namely a solution set Pv and accessible vertices Mv.
The solution set Pv comprises the rotations Ri that we were able to constitute up to the vertex, meaning all the vertices in the subtree under the vertex, away from the root. And Mv comprises all the vertices that are still accessible, meaning all the vertices that are not part of the solution set Pv and are in between the visited vertex v and the other vertices of the solution set Pv.
Said differently, the collection of the children of the visited vertex v being noted (Pc, Mc), then the solution (Pv, Mv) of step 204 comprises computing the set of accessible vertices Mv={v}∪Mc, computing the solution set Pv=∪Pc, and, updating the solution (Pv, Mv) such that, if Mv contains some rotations that can be implemented Ri, then Mv becomes empty set: Mv←Ø and Pv comprises the preceding solution set Pv as well as the rotations Ri: Pv←Pv∪{Ri}.
The vertex e being a child of the tree, the solution set is (Pe, Me) such that Pe=Ø and Me={e}.
The vertex f being a child, the solution set is (Pf, Mf) such that Pf=Ø and Mf={f}.
For the vertex d, the solution set is (Pd, Md) such that Pd={R1} and Md=Ø.
The vertex b being a child of the tree, the solution set is (Pb, Mb) such that Pb=Ø and Mb={b}.
For the vertex c, the solution set is (Pd, Md) such that Pc={R1} and Mc={c}.
For the vertex a, the solution set if (Pa, Ma) such that Pa={R1, R2} and Ma=Ø.
The method 200 is optimal, since its result is the largest possible set of subtrees. It is to be noted that the method 200 runs in polynomial time with respect to the size and the number of rotations.
Alternatively, when the graph G has no structure, the method 200 comprises using a heuristic for each Ri in R that contains a Steiner tree Tsi, said Steiner tree comprising a minimal tree that contains all vertices in Ri. Then, the method 200 comprises constructing an intersection graph IG of the Steiner trees, such that the vertices of the graph IG are the trees Tsi, the IG graph comprising an edge between two Steiner trees Tsi, Tsj if they intersect.
The method 200 also comprises finding the largest possible set of vertices of the IG graph that are not pairwise linked by an edge, thanks, preferably, to a maximum independent set problem heuristic solution.
As already explained, the method 1 can apply to maximizing a number of tasks to be performed in parallel on a calculating cluster with a fixed connectivity. Each Ri stands for one of the resources that is needed to perform the task number i, and the graph G stands for the connectivity of the calculating cluster. In other words, the method 1 ensures minimizing the calculation time, since it indicates which tasks can be performed in parallel without competing on communicating links of the cluster
Number | Date | Country | Kind |
---|---|---|---|
22305305.9 | Mar 2022 | EP | regional |