Calibration of quantum processor operator parameters
Methods, systems and apparatus for determining operating parameters for a quantum processor including multiple interacting qubits. In one aspect, a method includes generating a graph of nodes and edges, wherein each node represents a respective qubit and is associated with an operating parameter of the respective qubit, and wherein each edge represents a respective interaction between two qubits and is associated with an operating parameter of the respective interaction; selecting an algorithm that traverses the graph based on a traversal rule; identifying one or multiple disjoint subsets of nodes or one or multiple disjoint subsets of edges, wherein nodes in a subset of nodes and edges in a subset of edges are related via the traversal rule; and determining calibrated values for the nodes or edges in each subset using a stepwise constrained optimization process where constraints are determined using previously calibrated operating parameters.
1. A computer-implemented method for determining quantum processor operating parameters, the method comprising:
for a quantum processor having a plurality of interacting qubits and represented by a graph comprising nodes and edges, wherein each node represents a respective qubit and is associated with a value representing an operating parameter of the respective qubit, and wherein each edge represents a respective interaction between two qubits and is associated with a value representing an operating parameter of the respective interaction:
selecting, by a classical computing device, a graph traversal algorithm that traverses the graph based on a traversal rule;
identifying, by a classical computing device, one or multiple disjoint subsets of nodes or one or multiple disjoint subsets of edges, wherein nodes in a subset of nodes are related via the traversal rule and edges in a subset of edges are related via the traversal rule;
determining, by a classical computing device, calibrated values for the nodes or edges in each subset, comprising, for each subset:
selecting a seed node or a seed edge in the subset;
stepwise, for the selected seed node or seed edge, and for each subsequent node or edge:
performing a constrained optimization using i) an objective function for the node or edge, and ii) one or more constraints based on a calibrated operating parameter mapping comprising calibrated values of nodes or edges in the graph, to determine a calibrated value for the node or edge;
determining whether each node or edge in the subset has been calibrated;
in response to determining that each node or edge in the subset has not been calibrated, traversing the graph based on the traversal rule to select a subsequent node or edge for the step.
2. The method of claim 1 , further comprising storing the determined calibrated value in the calibrated operating parameter mapping.
3. The method of claim 1 , wherein the traversal rule comprises an undirected traversal rule.
4. The method of claim 1 , wherein the one or more constraints comprise constraints based on calibrated values of nodes or edges within a local region of predetermined size around the node or the edge.
5. The method of claim 1 , further comprising, in response to determining that each node or edge in the subset has been calibrated:
determining whether each node or edge in the graph has been calibrated; and
in response to determining that each node or edge in the graph has been calibrated, setting the operating parameters of the quantum processor to the calibrated values included in the calibrated operating parameter mapping.
6. The method of claim 5 , further comprising, in response to determining that all nodes or edges in the graph have not been calibrated:
determining calibrated values for the nodes or edges in another subset that contains uncalibrated nodes or edges.
7. The method of claim 1 , further comprising:
determining whether any calibrated values of nodes or edges have timed out; and
in response to determining that a calibrated value of a node or edge has timed out:
updating the calibrated frequency mapping;
discarding calibration values in a local region of predetermined size around the timed out calibrated value;
maintaining calibrated values outside of the local region; and
recalibrating the graph.
8. The method of claim 6 , wherein recalibrating the graph comprises selecting a seed node or a seed edge corresponding to a timed out node or edge.
9. The method of claim 1 , wherein:
the traversal rule comprises a node-traversal rule;
identifying one or multiple disjoint subsets of nodes or one or multiple disjoint subsets of edges comprises identifying one or multiple disjoint subsets of nodes;
determining calibrated values of the nodes or edges in each subset comprises determining calibrated values of the nodes in each subset; and
selecting a seed node or a seed edge in the subset comprises selecting a seed node in the sub set.
10. The method of claim 9 , further comprising:
selecting a graph traversal algorithm, wherein the graph traversal algorithm comprises an algorithm that traverses edges of the graph based on an edge traversal rule;
identifying one or more disjoint subsets of edges, wherein nodes and edges in each of the disjoint subsets are connected using the traversal rule;
determining calibrated values of the edges in each subset, comprising, for each subset:
selecting a seed edge in the subset;
stepwise, for the selected seed edge, and for each subsequent edge:
performing a constrained optimization using i) an objective function for the edge, and ii) one or more constraints based on a calibrated operating parameter mapping comprising calibrated values of edges in the graph, to determine a calibrated value for the edge;
determining whether each edge in the subset has been calibrated;
in response to determining that each edge in the subset has not been calibrated, traversing the graph based on the traversal rule to select a subsequent edge for the step.
11. The method of claim 1 , wherein:
the traversal rule comprises an edge traversal rule:
identifying one or multiple disjoint subsets of nodes or one or multiple disjoint subsets of edges comprises identifying one or more disjoint subsets of edges;
determining calibrated values of the nodes or edges in each subset comprises calibrating the edges in each subset; and
selecting a seed node or a seed edge in the subset comprises selecting a seed edge in the sub set.
12. The method of claim 11 , further comprising:
selecting a graph traversal algorithm, wherein the graph traversal algorithm comprises an algorithm that traverses nodes of the graph based on an node_traversal_rule;
determining a complete traversal set comprising one or more disjoint subsets of nodes, wherein nodes and edges in each of the disjoint subsets are connected using the traversal rule;
determining calibrated values of the nodes in each subset, comprising, for each subset:
selecting a seed node in the subset;
stepwise, for the selected seed node, and for each subsequent node:
performing a constrained optimization using i) an objective function for the node, and ii) one or more constraints based on a calibrated operating parameter mapping comprising calibrated values of nodes in the graph, to determine a calibrated value for the node;
determining whether each node in the subset has been calibrated;
in response to determining that each node in the subset has not been calibrated, traversing the graph based on the traversal rule to select a subsequent node for the step.
13. The method of claim 1 , wherein:
the traversal rule comprises a node-traversal rule;
identifying one or multiple disjoint subsets of nodes or one or multiple disjoint subsets of edges comprises identifying one or more disjoint subsets of nodes; and
the method further comprises determining calibrated values of the nodes and edges in each subset, comprising, for each subset:
selecting a seed node in the subset;
stepwise, for the selected seed node, and for each subsequent node:
performing a constrained optimization using i) an objective function for one or more nodes and one or more edges, and ii) one or more constraints based on calibrated values in the calibrated operating frequency mapping of calibrated nodes or edges within a local region of predetermined size around the node, to determine a calibrated value for the node and one or more edges that connect the node to an already calibrated node;
determining whether each node or edge in the subset has been calibrated;
in response to determining that each node or edge in the subset has not been calibrated, traversing the graph based on the traversal rule to select a subsequent node for the step.
14. The method of claim 1 , wherein determining calibrated values of the nodes or edges in each subset is performed in parallel for each subset.
15. The method of claim 1 , further comprising:
separating the graph of nodes and edges into multiple subgraphs;
determining calibrated values for nodes or edges in subsets of some or all of the multiple subgraphs in parallel;
recombining the subgraphs into the graph;
determining whether the graph comprises one or more un-calibrated subgraphs; and
in response to determining that the graph comprises one or more un-calibrated subgraphs, calibrating the graph.
16. The method of claim 1 , wherein selecting the graph traversal algorithm comprises selecting the graph traversal algorithm based on the interactions between qubits in the quantum processor.
17. The method of claim 1 , wherein the operating parameter of the respective qubit comprises an idling frequency, readout frequency, or interaction frequency of the respective qubit.
18. An apparatus comprising one or more classical computers and one or more classical storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more classical computers to perform operations comprising:
for a quantum processor having a plurality of interacting qubits represented by a graph comprising nodes and edges, wherein each node represents a respective qubit and is associated with a value representing an operating parameter of the respective qubit, and wherein each edge represents a respective interaction between two qubits and is associated with a value representing an operating parameter of the respective interaction:
selecting a graph traversal algorithm that traverses the graph based on a traversal rule;
identifying one or multiple disjoint subsets of nodes or one or multiple disjoint subsets of edges, wherein nodes in a subset of nodes are related via the traversal rule and edges in a subset of edges are related via the traversal rule;
determining calibrated values for the nodes or edges in each subset, comprising, for each subset:
selecting a seed node or a seed edge in the subset;
stepwise, for the selected seed node or seed edge, and for each subsequent node or edge:
performing a constrained optimization using i) an objective function for the node or edge, and ii) one or more constraints based on a calibrated operating parameter mapping comprising calibrated values of nodes or edges in the graph, to determine a calibrated value for the node or edge;
determining whether each node or edge in the subset has been calibrated;
in response to determining that each node or edge in the subset has not been calibrated, traversing the graph based on the traversal rule to select a subsequent node or edge for the step.