Patent Description:
Quantum computing devices use quantum-mechanical phenomena such as superposition and entanglement to perform operations on data. Quantum computing devices operate using two-level quantum mechanical systems called qubits.

"A blueprint for demonstrating quantum supremacy with superconducting qubits" (<NPL>) discloses the use of <NUM> superconducting qubits to demonstrate a path towards quantum supremacy. By individually tuning the qubit parameters, thousands of unique Hamiltonian evolutions can be generated and the output probabilities probed. As the number of qubits in the algorithm is varied, the system continues to explore the exponentially growing number of states. Combining these large datasets with techniques from machine learning allows the construction of a model which accurately predicts the measured probabilities.

This specification describes methods and systems for determining operating frequencies for multiple qubits in the presence of hardware imperfections such as material defects. The invention is defined in the appended independent claims <NUM>, <NUM> and <NUM>. Preferred embodiments of the invention are set out in the appended dependent claims.

In general, one innovative aspect of the subject matter described in this specification can be implemented in a method for determining frequencies at which to operate interacting qubits arranged as a two dimensional grid in a quantum device, the method including defining a first cost function that maps qubit operation frequency values to a cost corresponding to an operating state of the quantum device; applying one or more constraints to the defined first cost function to define an adjusted cost function; and adjusting qubit operation frequency values to vary the cost according to the adjusted cost function such that the computations performed by the quantum device using the adjusted qubit operation frequency values are less error-prone. Adjusting qubit operation frequency values to vary the cost according to the adjusted cost function comprises performing one or more multi-qubit optimization routines to obtain initial qubit operation frequency values, the one or more multi-qubit optimization routines comprising: performing a grid-scale optimization routine to obtain coarse-grained initial qubit operation frequency values; and performing a pair-scale optimization routine to adjust the coarse-grained initial qubit operation frequency values to fine-grained initial qubit operation frequency values.

Other implementations of this aspect include corresponding classical and quantum computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination thereof installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.

The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. In some implementations adjusting qubit operation frequency values to vary the cost according to the adjusted cost function comprises: performing one or more single qubit optimization routines to adjust the initial qubit operation frequency values to obtain final qubit operation frequency values.

In some implementations the one or more multi-qubit optimization routines may be performed in parallel.

In some implementations the one or more single qubit optimization routines may be performed in parallel.

In some implementations the qubit operation frequency values comprise qubit idling frequencies and qubit interaction frequencies.

In some implementations the method further comprises identifying multiple idling frequency arrangements for the grid, comprising: defining an idling frequency splitting pattern for the grid; and bounding the range over which the splitting pattern can be slid in frequency without exceeding any qubit's accessible frequency range to determine a corresponding vector of qubit operation frequency values for the qubits in the grid.

In some implementations identifying multiple idling frequency arrangements for the grid comprises assuming qubit relaxation time is constant.

In some implementations performing a grid-scale optimization routine to obtain coarse-grained initial qubit operation frequency values comprises evaluating the adjusted cost function for each identified idling frequency arrangement for the grid, comprising: setting the interaction frequency for each pair to approximately the mean value of the idling frequencies of the pairs constituent qubits; optimizing the adjusted cost function to determine coarse-grained initial qubit idling frequency values; and setting the mean idling frequency for each qubit pair as the coarse-grained initial two-qubit interaction frequency for that pair.

In some implementations performing a pair-scale optimization routine to adjust the coarse-grained initial qubit operation frequency values to fine-grained initial qubit operation frequency values comprises: fixing the coarse-grained initial qubit idling frequency values to the values obtained by the grid-scale optimization routine; determining fine-grained interaction qubit frequencies by varying the interaction frequency independently for each qubit pair to optimize the cost.

In some implementations performing a single qubit optimization routine to adjust the initial qubit operation frequency values to obtain final qubit operation frequency values comprises: determining final qubit idling frequency values by varying idling frequencies for each qubit independently to optimize the cost.

In some implementations the method further comprises bounding the range of idling frequency values.

In some implementations the method further comprises iteratively identifying multiple idling frequency arrangements for the grid until third termination criteria are met.

In some implementations the method further comprises repeatedly adjusting qubit operation frequency values to vary the cost according to the adjusted cost function such that the operating state of the quantum device is improved to account for qubit operation frequency time dependence.

In some implementations the cost function comprises a weighted sum of cost terms, the cost terms comprising one or more of: an idling cost term that penalizes i) low qubit relaxation time idling frequencies, and/or ii) low adjacent qubit detuning; and an interaction cost term that penalizes i) low qubit relaxation time interaction frequencies and/or ii) low qubit relaxation time frequency regions between qubit idling frequencies and a common interaction frequency.

In some implementations the one or more constraints incorporate knowledge of the physics and/or engineering constraints of the quantum computing device.

In some implementations the one or more constrains comprise one or more of predetermined differences in frequency between adjacent qubits, predetermined relationships between different types of operating frequencies, and/or predetermined acceptable frequency error tolerances.

The subject matter described in this specification can be implemented in particular ways so as to realize one or more of the following advantages.

A system implementing methods for determining respective frequencies at which to operate multiple qubits in a quantum computing device, as described in this specification, incorporates knowledge of the physics and/or engineering constraints of the quantum computing device into the methods in the form of optimization constraints. Such constraints reduce the complexity of the task of determining the respective operation frequencies. In addition, in some implementations determining the respective operation frequencies may require evaluation of a cost function a number of times that scales linearly with the number of qubits. The process of determining respective frequencies at which to operate multiple qubits may therefore require less computational resources and/or may be more computationally efficient to implement.

A quantum computing device that includes qubits that are operated at frequencies determined using the methods described in this specification may perform computations with fewer errors and increased accuracy compare to other systems that operate qubits at frequencies determined using other known methods.

Quantum computing devices often include multiple qubits arranged in a two-dimensional grid, where neighboring qubits allowed to interact. Each qubit may be operated using respective operating frequencies, e.g., respective idling and interaction frequencies. The operating frequencies may vary from qubit to qubit, i.e., each qubit may idle at a different idling frequency. The operating frequencies may be chosen before a computation is performed by the quantum computing device.

Some operating frequencies are better than other operating frequencies. One proxy for assessing how good a particular operating frequency is for a particular qubit is that qubit's relaxation time (T1) at that frequency. Lower T1 times can lead to larger quantum computational errors, and so it is desirable to operate qubits at frequencies where T1 is high. A plot <NUM> illustrating an example relationship between qubit frequency <NUM> and T1 <NUM> is shown in <FIG>. Ideally, T1 varies smoothly and predictably as a function of qubit frequency. However, as shown in plot <NUM>, in reality T1 varies sporadically and unpredictably in qubit frequency (and, although not shown in <FIG>, in time and from qubit to qubit. ) due to uncontrollable defects, as shown by the downward spikes <NUM>.

Determining a set of operating frequencies that avoid defects is a high-dimensional and non-convex optimization problem that must be solved to operate a quantum computing device with low error rates. However, this optimization problem generally has a search space that scales exponentially with the number of qubits. Because of this, it can be intractable to solve for even small quantum processors.

This specification describes systems and methods for determining operating frequencies for qubits operating in the presence of defects. The methods use optimization constraints that incorporate knowledge of the physics and/or engineering constraints of the qubits/quantum computing device to reduce the complexity of the optimization problem. For example, in some cases the methods may exponentially reduce the size of the search-space. In addition, the methods may break the optimization problem into multiple independent sub-problems that may be solved quickly and in parallel using standard optimization techniques. The optimization problem may then proceed in the direction from grid-scale optimization, to pair-scale optimization, to qubit-scale optimization until final operating frequencies are determined.

<FIG> depicts an example system <NUM> for determining operating frequencies for multiple qubits. The example system <NUM> is an example of a system implemented as quantum or classical computer programs on one or more quantum or classical computers in one or more locations, in which the systems, components, and techniques described below can be implemented.

The system <NUM> receives as input data representing a quantum computing device that is to be used to perform computations, e.g., input data <NUM>. For example, the input data <NUM> may include data representing properties of qubits included in the quantum computing device, such as the type of qubits included in the quantum computing device, the number of qubits included in the quantum computing device, the type of interactions between the qubits included in the quantum computing device, accessible frequency ranges of the qubits included in the quantum computing device, predicted and/or measured relaxation and/or coherence times of the qubits included in the quantum computing device.

The input data <NUM> may further include data representing optimization constraints that can be used to reduce the number of permissible qubit operating frequency configurations. Generally, the optimization constraints may be based on physics and engineering constraints of the quantum device (and its control system) and may vary. For example, optimization constraints may include predetermined constraints on differences in frequency between adjacent qubits, e.g., constraining qubit frequencies such that adjacent qubits idle X GHz apart from one another, predetermined constraints on relationships between different types of operating frequencies, e.g., constraining adjacent qubits to interact at the approximate mean of their idling frequencies, or predetermined constraints on acceptable frequency error tolerances.

The system <NUM> includes a cost function generator <NUM>. The cost function generator <NUM> is configured to receive the input data <NUM> and define a first cost function that maps qubit operation frequency values to a cost corresponding to an operating state of the quantum device specified by the input data <NUM>. The operating state of the quantum device may be defined as the set of qubit operation frequencies, e.g., idling and interaction frequencies, that are used by the quantum device during execution of a quantum algorithm. Defining such a cost function and example cost function terms are described in detail below with reference to <FIG>.

The system includes a cost function adjuster <NUM>. The cost function adjuster is configured to receive the input data representing one or more optimization constraints and apply the one or more constraints to the first cost function defined by the cost function generator <NUM> to define an adjusted cost function.

The system includes an optimizer module <NUM>. The optimizer module <NUM> is configured to adjust qubit operation frequency values to vary a cost according to the adjusted cost function defined by the cost function adjuster <NUM> such that an operating state of the quantum device specified by the input data <NUM> is improved, e.g., computations performed by the quantum computing device using the adjusted qubit operation frequency values are less error-prone.

The optimizer module <NUM> may be configured to implement various standard optimization routines as part of adjusting qubit operation frequency values to vary a cost according to the adjusted cost function. Example optimization routines are described below with reference to <FIG>, <FIG>.

The system <NUM> generates as output data representing qubit operating frequencies, e.g., output data <NUM>. The generated output data <NUM> may be used to operate the qubits/quantum device that includes the qubits and perform computations.

<FIG> is a flow diagram of an example process <NUM> for determining frequencies at which to operate nearest-neighbor interacting qubits arranged as a two dimensional grid in a quantum computing device. For convenience, the process <NUM> will be described as being performed by a system of one or more classical and quantum computing devices located in one or more locations. For example, the system <NUM> of <FIG> appropriately programmed in accordance with this specification can perform the process <NUM>.

The type of operating frequencies determined by the system is dependent on the type of quantum computing device. For example, in some implementations, e.g., those where the quantum computing device includes a two dimensional grid of interacting superconducting qubits, the qubit operation frequencies may include idling frequencies and interaction frequencies. An idling frequency is a frequency at which a qubit is operated at when it is not involved in a computation or when it is being used to perform single qubit gates. A corresponding idling qubit frequency may be specified for each qubit in the quantum computing device. An interaction frequency is a common frequency at which adjacent qubits in the two dimensional grid is operated at when performing two-qubit gates. A corresponding interaction frequency may be specified for each pair of adjacent qubits.

For convenience, the process <NUM> is described for determining idling and interaction frequencies at which to operating nearest-neighbor interacting qubits in a superconducting quantum computing device, however the techniques described below may equally be applied for determining operation frequencies for any qubit architectures (e.g., quantum dots, defect spins, atoms) that comprise a network of interacting qubits (e.g., not limited to nearest neighbor interactions).

The system defines a first cost function that maps qubit operation frequency values (e.g., all qubit idling frequencies, as described below) to a cost (e.g., a real number) corresponding to an operating state of the quantum device (step <NUM>). For example, a lower cost may correspond to a better operating state for the quantum device, i. e, an operating state that executes an arbitrary quantum algorithm with lower error rates compared to other operating states. In some cases a better operating state may depend on the quantum algorithm that the system is preparing for. The system may account for such dependencies by weighing individual cost function terms differently in the different optimization routines described below.

The first cost function includes a weighted sum of cost terms corresponding to respective costs. The type of cost terms included in the first cost function may vary and are dependent on the type of quantum computing device. Example cost function terms are described below.

The first cost function may include an idling cost term that penalizes undesirable properties of qubit idling frequencies. For example, the idling cost term may penalize low qubit relaxation time (T1) idling frequencies. A plot <NUM> showing two example qubit idling frequencies is described below with reference to <FIG>.

A single qubit idling cost Cidle may be given by <MAT> where fidlequbit represents the single qubit's idling frequency and T<NUM>,qubit-<NUM> represent the inverse of the single qubit's relaxation time. For a grid of qubits, the above single qubit idling cost may be summed over all qubits in the grid <MAT> where <MAT> represents a vector of idling frequencies for all qubits in the N by M grid.

Alternatively or in addition, the idling cost term may penalize low adjacent detuning between each adjacent pair of qubits (since low detuning amongst adjacent pairs of qubits can lead to unintentional interactions that can cause computational errors. ) An illustration of unintentional detuning between different idling qubit frequencies for two qubits is described below with reference to <FIG>.

A two-qubit detuning cost may be given by <MAT> For a grid of qubits, the above two - qubit detuning cost may be summed over all qubit
- pairs in the grid <MAT> where pair represents a generic qubit pair and pair[<NUM>] and pair [<NUM>] represent qubits in that pair.

To perform a two-qubit computational gate, the participating qubits are brought into resonance. This requires the sweeping of both qubits' operating frequencies from their respective idling frequencies towards their common interaction frequency. The first cost function may include an interaction cost term that penalizes undesirable properties of interaction frequencies. For example, the first cost function may penalize low qubit relaxation time interaction frequencies.

Alternatively or in addition, the interaction cost term may penalize low qubit relaxation time frequency regions between qubit idling frequencies and a common interaction frequency, i.e., each qubit should be swept past as few defects as possible when approaching the common interaction frequency. An illustration showing an example sweeping of two qubit's operating frequencies from their respective idling frequency towards a common interaction frequency is described below with reference to <FIG>. A comparison of two example sweepings of two qubit's operating frequencies from their respective idling frequency towards a common interaction frequency is described below with reference to <FIG>.

The interaction cost term depends on an average T1 a qubit has during its frequency sweep from idling frequency to interaction frequency, weighted by the amount of time spent at each frequency. For example, for a qubit pair q00-q01, the interaction costs may include
<MAT>
<MAT>
<MAT>
where tstart and tendrepresent start and end times of the frequency trajectory fqXY(t) which starts and ends at fidleqXY, fintpair, respectively. T<NUM>,qXY-<NUM>(t) represents relaxation time during the frequency sweep qXY, which depends on fqXY(t). Here it is assumed that the interaction frequency fintq<NUM>-q<NUM> is the same for q00 and q01, although in some implementations this may not be the case.

For the full qubit grid the interaction cost term is summed over all pairs in the grid <MAT> where pair represents a generic qubit pair and pair[<NUM>] and pair[<NUM>] represents qubits in that pair.

The first cost function may be given by a weighted sum of the individual cost terms, e.g., the idling cost term and the interaction cost term described above. The weights may be design parameters that take any value between <NUM> and <NUM> and may be chosen based on an importance of the associated cost. For example, the first cost function may be given by <MAT>.

The formal solution to the first cost function may be given by <MAT>. In general, this this problem has high dimension and is non-convex. To demonstrate the complexity: if there were only <NUM> possible frequency configurations for each qubit, the number of possible frequency configurations would be equal to the size of the Hilbert space of the quantum processor. In realistic situations, there are far more configurations and so evaluating the cost function for all possible configurations is not tractable.

The system applies one or more optimization constraints to the defined first cost function to define an adjusted cost function (step <NUM>). Example optimization constraints are described above with reference to <FIG>.

The system adjusts qubit operation frequency values to vary the cost according to the adjusted cost function such that the operating state of the quantum device is improved (step <NUM>). Adjusting the qubit operation frequency values to vary the cost according to the adjusted cost function such that the operating state of the quantum device is improved is a simpler task than adjusting the qubit operation frequency values to vary the cost according to the first cost function such that the operating state of the quantum device is improved due to the application of the one or more optimization constraints described above with reference to step <NUM>, since the one or more optimization constraints reduce the number of permissible operating frequency configurations and can break the task of adjusting the qubit operation frequency values into multiple independent sub-tasks that may be solved quickly and in parallel using standard optimization techniques, e.g., basin hopping.

To adjust the qubit operation frequency values to vary the cost according to the adjusted cost function, the system may perform one or more multi-qubit optimization routines to obtain initial qubit operation frequency values. As described in more detail below, performing a multi-qubit optimization routine includes performing a grid-scale optimization routine to obtain coarse-grained initial qubit operation frequency values and performing a pair-scale optimization routine to adjust the coarse-grained initial qubit operation frequency values to fine-grained initial qubit operation frequency values. The system may then perform one or more single qubit optimization routines to adjust the initial qubit operation frequency values to obtain final qubit operation frequency values.

In some implementations the one or more multi-qubit optimization routines and the one or more single qubit optimization routines may be performed in parallel.

In some implementations the T1 spectrum for each qubit can vary in time. This gives the first cost function an additional time dependence. To account for this time dependence, the system may repeatedly adjust qubit operation frequency values to vary the cost according to the adjusted cost function such that the operating state of the quantum device is improved. The characteristic timescales of the time dependence -- which may be determined through physics experiments -- determines how often the system should repeat the process <NUM>.

In some implementations adjusting the qubit operation frequency values to vary the cost according to the adjusted cost function may include a preparation step that includes identifying an idling frequency arrangement for the grid described above with reference to <FIG>. <FIG> is a flow diagram of an example process <NUM> for identifying an idling frequency arrangement for a two dimensional grid of qubits. For convenience, the process <NUM> will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations. For example, the system <NUM> of <FIG> appropriately programmed in accordance with this specification can perform the process <NUM>.

The system defines an idling frequency splitting pattern for the grid (step <NUM>). As described below, the idling frequency splitting pattern may be represented by a vector of frequency deviations df that is dependent on the one or more physics and engineering constraints of the quantum device described above with reference to step <NUM> of <FIG>. For example, the one or more constraints may include a constraint that specifies that neighboring qubits idle at respective frequencies that are at least <NUM> from one another. This constraint may be used to define the idling frequency splitting pattern.

The system bounds the range over which the splitting pattern can be slid in frequency without exceeding any qubit's accessible frequency range to determine a corresponding vector of operating frequencies for the qubits in the grid (step <NUM>). During the preparation step, it may be assumed that qubit relaxation time T1 is constant.

The process <NUM> may be described as follows:.

<FIG> is an illustration <NUM> of an example splitting pattern for a two dimensional grid of qubits. The left panel <NUM> represents a two-dimensional grid of qubits, e.g., qubit <NUM>, with nearest neighbor interactions. The central panel <NUM> illustrates an initial seeding of the idling frequencies for the qubits in the two-dimensional grid. Each box in the central panel plots qubit frequency versus T1 for a respective qubit. For example, box <NUM> plots qubit frequency versus T1 for qubit <NUM>. As shown in the central panel <NUM>, the idling frequencies of the qubits are initially set at a same value. The right panel <NUM> illustrates an example idling frequency pattern for the qubits in the two-dimensional grid. In the example idling frequency pattern, a detuning has been implemented simultaneously for all qubits in the two-dimensional grid through the addition of a vector of frequency deviations df as described above. As shown in the right panel <NUM>, the qubit idling frequencies satisfy the example constraint that nearest neighbors need to be detuned. It is noted that this configuration of idling frequencies would be optimal in the case of no material defects and no stray couplings between qubits.

<FIG> is a flow diagram of an example process <NUM> performing a grid-scale optimization routine. For convenience, the process <NUM> will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations. For example, the system <NUM> of <FIG> appropriately programmed in accordance with this specification can perform the process <NUM>.

The system evaluates the adjusted cost function (defined above with reference to <FIG>) for each identified idling frequency arrangement for the grid (defined above with reference to <FIG>). This includes setting the interaction frequency for each qubit pair to approximately the mean value of the idling frequencies of the pairs constituent qubits (step <NUM>), and optimizing the adjusted cost function to determine coarse-grained initial qubit idling frequency values (step <NUM>). The system may further set the mean idling frequency for each qubit pair as the coarse-grained initial two-qubit interaction frequency for that pair (step <NUM>).

The grid-scale optimization routine may be described as follows:.

The number of cost function evaluations is N dim(f<NUM>) where N represents the total number of qubits.

In some implementations the system may select several f̃<NUM> corresponding to different (and optimally distant) minima. All of these f̃<NUM> can then be explored via the below steps. The system may then select a frequency configuration corresponding to the lowest final cost minimum.

<FIG> is an illustration <NUM> of an example grid-scale optimization routine. For convenience, the illustration <NUM> builds upon illustration <NUM> described above with reference to <FIG>. The left panel <NUM> illustrates a result of sweeping the frequencies illustrated in panel <NUM> described with reference to <FIG> over the T1 spectra of the qubits and evaluating the (adjusted) cost function at each step in the dynamic range of the qubits, e.g., using an optimizer, as shown in the right panel <NUM>. This information is used to determine a frequency range over which to operate the qubit.

<FIG> is a flow diagram of an example process <NUM> performing a pair-scale optimization routine to adjust the coarse-grained initial qubit operation frequency values to fine-grained initial qubit operation frequency values. For convenience, the process <NUM> will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations. For example, the system <NUM> of <FIG> appropriately programmed in accordance with this specification can perform the process <NUM>.

The system fixes the coarse-grained initial qubit idling frequency values (step <NUM>) and determines fine-grained interaction qubit frequencies by varying the interaction frequency independently for each qubit pair to optimize the cost (step <NUM>). In some implementations the system may bound the range of interaction frequency values to a predetermined frequency range such that the coarse grained idling frequencies determined during the grid-scale optimization step remain valid and such that the quantum device constrains remain satisfied.

The pair-scale optimization routine may be described as follows:.

The number of cost function evaluations is (<NUM>(Nx × Ny) - (Nx + Ny)) × Mint steps where Nx and Ny represent the number of qubits along the two axes of the grid, and Mint steps represents the total number of interaction frequencies to explore per pair.

<FIG> is an illustration <NUM> of an example pair-scale optimization routine for an example pair of qubits <NUM>. For convenience, the illustration <NUM> builds upon illustrations <NUM>, <NUM> described above with reference to <FIG> and <FIG>. As shown in illustration <NUM>, to perform the pair-scale optimization routine for the example pair of qubits <NUM> the idling frequencies <NUM> and <NUM> are fixed, and the interaction frequency <NUM> is moved from the midpoint between the idling frequencies <NUM> and <NUM> to determine an optimal interaction frequency.

<FIG> is a flow diagram of an example process <NUM> performing a single qubit optimization routine to adjust initial qubit operation frequency values to obtain final qubit operation frequency values. For convenience, the process <NUM> will be described as being performed by a system of one or more classical or quantum computing devices located in one or more locations. For example, the system <NUM> of <FIG> appropriately programmed in accordance with this specification can perform the process <NUM>.

The system determines final qubit idling frequency values by fixing the fine-grained interaction qubit frequencies (step <NUM>) and varies the idling frequencies for each qubit independently to optimize the cost (step <NUM>). In some implementations the system may bound the range of idling frequency values to a predetermined frequency range such that fine grained interaction frequencies determined in the pair-scale optimization routine remain valid and such the quantum device constrains remain satisfied.

The qubit-scale optimization routine may be described as follows:.

The number of cost function evaluations is N × Midle steps where N represents the number of qubits and Mint steps represents the total number of idling frequencies to explore per qubit. The total number of cost function evaluations (including the grid-scale optimization routine, pair-scale optimization routine and single qubit optimization routine) is therefore N dim(f<NUM>) + NMidle steps + (<NUM>N - (Nx + Ny)) × Mint steps ~O(N).

<FIG> is an illustration <NUM> of an example qubit-scale optimization routine for a qubit <NUM>. For convenience, the illustration <NUM> builds upon illustrations <NUM>, <NUM>, <NUM> described above with reference to <FIG>, <FIG> and <FIG>. As shown in illustration <NUM>, to perform the qubit-scale optimization routine for the example qubit <NUM>, the idling frequency is adjusted within a bound δfidle to determine an optimal idling frequency.

<FIG> is a plot <NUM> showing two example qubit idling frequencies. The plot <NUM> illustrates an example relationship between qubit frequency and qubit relaxation time T1 for qubit q00. The plot marks a first possible operating point <NUM> and a second operating point <NUM>. The relaxation time T1 is higher at the first operating point <NUM> than the second operating point <NUM>, which overlaps with a downward spike (a defect). The first operating point <NUM> therefore represents a better choice of qubit idling frequency than the second operating point <NUM>.

<FIG> illustrates an example unintentional detuning between different idling qubit frequencies for two qubits q00 and q01. Plot <NUM> illustrates an example relationship between qubit frequency and qubit relaxation time T1 for qubit q00. Plot <NUM> illustrates an example relationship between qubit frequency and qubit relaxation time T1 for qubit q01. Qubit q00 idles at an idling frequency <NUM> and qubit q01 idles at a different idling frequency <NUM>. As shown in <FIG>, if respective idling frequencies of neighboring qubits do not differ by a large enough amount (the amount being a design parameter that depends on the particular quantum device) the qubits may suffer from unintentional interaction detuning <NUM>.

<FIG> is an illustration showing an example sweeping of two qubit's operating frequencies from their respective idling frequency towards a common interaction frequency. Plot <NUM> shows an example relationship between qubit frequency and qubit relaxation time T1 for qubit q00. Plot <NUM> illustrates an example relationship between qubit frequency and qubit relaxation time T1 for qubit q01. Qubit q00 idles at an idling frequency <NUM> and qubit q01 idles at a different idling frequency <NUM>. The frequency of qubits q00 and q01 are swept from their respective idling frequencies <NUM> and <NUM> towards a common interaction frequency <NUM>. The interaction frequency <NUM> has been chosen such that it does not coincide with a qubit q00 or q01 defect, e.g., does not coincide with a downward spike, and lies in a region where the T1 metric is high.

<FIG> shows two illustrations <NUM> and <NUM>. Illustration <NUM> shows a first example sweeping of two qubit's operating frequencies from their respective idling frequencies towards a common interaction frequency, as described above with reference to <FIG>. During the first example sweep, qubit q00 is swept past approximately one frequency <NUM> representing a defect and qubit q01 is swept past approximately two frequencies <NUM> and <NUM> representing respective defects.

Illustration <NUM> shows a second example sweeping of two qubit's operating frequencies from their respective idling frequencies towards a common interaction frequency, as described above with reference to <FIG>. During the second example sweep, qubit q00 is swept past approximately three frequencies <NUM>, <NUM> and <NUM> representing respective defects. Qubit q01 is swept past a large frequency region <NUM> representing respective defects. Since the second example sweeping involves sweeping past more frequencies or frequency regions representing hardware defects, the operating points shown in the first illustration is a better choice compared to the operating points shown in the second illustration.

Implementations of the digital and/or quantum subject matter and the digital functional operations and quantum operations described in this specification can be implemented in digital electronic circuitry, suitable quantum circuitry or, more generally, quantum computational systems, in tangibly-embodied digital and/or quantum computer software or firmware, in digital and/or quantum computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. The term "quantum computational systems" may include, but is not limited to, quantum computers, quantum information processing systems, quantum cryptography systems or quantum simulators, the quantum simulator being a special purpose quantum computer.

Implementations of the digital and/or quantum subject matter described in this specification can be implemented as one or more digital and/or quantum computer programs, i.e., one or more modules of digital and/or quantum computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The digital and/or quantum computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, one or more qubits, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal that is capable of encoding digital and/or quantum information, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode digital and/or quantum information for transmission to suitable receiver apparatus for execution by a data processing apparatus.

The term "data processing apparatus" refers to digital and/or quantum data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing digital and/or quantum data, including by way of example a programmable digital processor, a programmable quantum processor, a digital computer, a quantum computer, multiple digital and quantum processors or computers, and combinations thereof. The apparatus can also be, or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array), an ASIC (application-specific integrated circuit), or a quantum simulator, i.e., a quantum data processing apparatus that is designed to simulate or produce information about a specific quantum system. In particular, a quantum simulator is a special purpose quantum computer that does not have the capability to perform universal quantum computation. The apparatus can optionally include, in addition to hardware, code that creates an execution environment for digital and/or quantum computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

A digital and/or quantum computer program may, but need not, correspond to a file in a file system. A digital and/or quantum computer program can be deployed to be executed on one digital or one quantum computer or on multiple digital and/or quantum computers that are located at one site or distributed across multiple sites and interconnected by a digital and/or quantum data communication network. A quantum data communication network is understood to be a network that may transmit quantum data using quantum systems, e.g. qubits. Generally, a digital data communication network cannot transmit quantum data, however a quantum data communication network may transmit both quantum data and digital data.

The processes and logic flows described in this specification can be performed by one or more programmable digital and/or quantum computers, operating with one or more digital and/or quantum processors, as appropriate, executing one or more digital and/or quantum computer programs to perform functions by operating on input digital and quantum data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA or an ASIC, or a quantum simulator, or by a combination of special purpose logic circuitry or quantum simulators and one or more programmed digital and/or quantum computers.

For a system of one or more digital and/or quantum computers to be "configured to" perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more digital and/or quantum computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by digital and/or quantum data processing apparatus, cause the apparatus to perform the operations or actions. A quantum computer may receive instructions from a digital computer that, when executed by the quantum computing apparatus, cause the apparatus to perform the operations or actions.

Digital and/or quantum computers suitable for the execution of a digital and/or quantum computer program can be based on general or special purpose digital and/or quantum processors or both, or any other kind of central digital and/or quantum processing unit. Generally, a central digital and/or quantum processing unit will receive instructions and digital and/or quantum data from a read-only memory, a random access memory, or quantum systems suitable for transmitting quantum data, e.g. photons, or combinations thereof.

The essential elements of a digital and/or quantum computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and digital and/or quantum data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry or quantum simulators. Generally, a digital and/or quantum computer will also include, or be operatively coupled to receive digital and/or quantum data from or transfer digital and/or quantum data to, or both, one or more mass storage devices for storing digital and/or quantum data, e.g., magnetic, magneto-optical disks, optical disks, or quantum systems suitable for storing quantum information. However, a digital and/or quantum computer need not have such devices.

Digital and/or quantum computer-readable media suitable for storing digital and/or quantum computer program instructions and digital and/or quantum data include all forms of non-volatile digital and/or quantum memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; CD-ROM and DVD-ROM disks; and quantum systems, e.g., trapped atoms or electrons. It is understood that quantum memories are devices that can store quantum data for a long time with high fidelity and efficiency, e.g., light-matter interfaces where light is used for transmission and matter for storing and preserving the quantum features of quantum data such as superposition or quantum coherence.

Control of the various systems described in this specification, or portions of them, can be implemented in a digital and/or quantum computer program product that includes instructions that are stored on one or more non-transitory machine-readable storage media, and that are executable on one or more digital and/or quantum processing devices. The systems described in this specification, or portions of them, can each be implemented as an apparatus, method, or system that may include one or more digital and/or quantum processing devices and memory to store executable instructions to perform the operations described in this specification.

While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination.

Moreover, the separation of various system modules and components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Claim 1:
A computer-implemented method for determining frequencies at which to operate interacting qubits arranged as a two dimensional grid in a quantum device, the method comprising:
defining (<NUM>) a first cost function that maps qubit operation frequency values to a cost corresponding to an operating state of the quantum device;
applying (<NUM>) one or more constraints to the defined first cost function to define an adjusted cost function; and
adjusting (<NUM>) qubit operation frequency values to vary the cost according to the adjusted cost function such that the computations performed by the quantum device using the adjusted qubit operation frequency values are less error-prone,
wherein adjusting qubit operation frequency values to vary the cost according to the adjusted cost function comprises performing one or more multi-qubit optimization routines to obtain initial qubit operation frequency values, the one or more multi-qubit optimization routines comprising:
performing a grid-scale optimization routine to obtain coarse-grained initial qubit operation frequency values; and
performing a pair-scale optimization routine to adjust the coarse-grained initial qubit operation frequency values to fine-grained initial qubit operation frequency values.