Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CASCADE PROTOCOL FOR iSWAP GATE IN A TWO-QUBIT SYSTEM
Document Type and Number:
WIPO Patent Application WO/2020/106312
Kind Code:
A1
Abstract:
Methods, systems and apparatus for implementing iSWAP quantum logic gates between a first qubit and a second qubit. In one aspect, a method includes implementing a cascade schedule that defines a trajectory of a detuning between a frequency of the first qubit and a frequency of the second qubit. Implementing the cascade schedule includes: during a first stage, adiabatically driving detuning between the frequency of the first qubit and the frequency of the second qubit through a first avoided crossing in a leakage channel; during a second stage, driving detuning between the frequency of the first qubit and the frequency of the second qubit through a second avoided crossing in a swap channel; during a third stage, evolving the first qubit and second qubit; during a fourth stage, implementing the second stage in reverse order; and during a fifth stage, implementing the first stage in reverse order.

Inventors:
SMELYANSKIY VADIM (US)
PETUKHOV ANDRE (US)
BARENDS RAMI (US)
CASTRILLO SERGIO BOIXO (US)
Application Number:
PCT/US2019/016032
Publication Date:
May 28, 2020
Filing Date:
January 31, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GOOGLE LLC (US)
International Classes:
G06N10/00
Foreign References:
US7893708B22011-02-22
US20170104493A12017-04-13
Other References:
DAVID C. MCKAY ET AL: "Universal Gate for Fixed-Frequency Qubits via a Tunable Bus", PHYSICAL REVIEW APPLIED, vol. 6, no. 6, 19 December 2016 (2016-12-19), XP055555234, DOI: 10.1103/PhysRevApplied.6.064007
NICOLAS DIDIER ET AL: "Analytical modeling of parametrically-modulated transmon qubits", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 20 June 2017 (2017-06-20), XP081306182, DOI: 10.1103/PHYSREVA.97.022330
RAYMOND J SPITERI ET AL: "Quantum control for high-fidelity multi-qubit gates", NEW JOURNAL OF PHYSICS, vol. 20, no. 11, 9 May 2018 (2018-05-09), pages 113009, XP055612124, DOI: 10.1088/1367-2630/aae79a
Attorney, Agent or Firm:
FRANZ, Paul E. (US)
Download PDF:
Claims:
CLAIMS

1. A method for implementing an iSWAP quantum logic gate between a first qubit and a second qubit, the method comprising:

implementing a cascade schedule that defines a trajectory of a detuning between a frequency of the first qubit and a frequency of the second qubit, comprising:

during a first stage, adiabatically driving detuning between the frequency of the first qubit and the frequency of the second qubit through a first avoided crossing in a leakage channel;

during a second stage, driving detuning between the frequency of the first qubit and the frequency of the second qubit through a second avoided crossing in a swap channel;

during a third stage, evolving the first qubit and second qubit;

during a fourth stage, implementing the second stage in reverse order; and during a fifth stage, implementing the first stage in reverse order.

2. The method of claim 1, wherein the cascade schedule satisfies a local adiabatic evolution condition.

3. The method of claim 2, wherein the local adiabatic evolution condition is given by (y0(ϋ) |5ίY6(ϋ)) = const <¾(t) or dt0(t) = const, where Y5(ϋ) and Y6(T) represent instantaneous adiabatic eigenstates of an effective Hamiltonian describing the leakage channel, 0(t) represents the control angle, and <¾(t) = g (e(t)— h-^)2 + 8 g2 represents a time dependent gap for the Hamiltonian describing the leakage channel, with e(t) representing the detuning between the frequency of the first qubit and the frequency of the second qubit, h± representing an anharmonicity parameter of the first qubit, and g representing interqubit interaction strength.

4. The method of claim 2 or 3, wherein the probability that the cascade schedule incurs a leakage error is proportional to with g representing the interqubit interaction strength and tp representing a total duration of the iSWAP gate.

5. The method of any one of claims 1 to 4, wherein the cascade schedule synchronizes minimal errors in the swap channel and leakage channel.

6. The method of any one of claims 1 to 5, wherein the first qubit and second qubit comprise capacitively coupled Xmon qubits.

7. The method of any preceding claim, wherein the leakage channel comprises a manifold spanned by the computational state 11 and two non-computational states 02 and 20, and wherein driving detuning between the frequency of the first qubit and the frequency of the second qubit through a first avoided crossing in a leakage channel comprises driving detuning between the frequency of the first qubit and the frequency of the second qubit through state 11 - 20 resonance.

8. The method of any preceding claim, wherein the swap channel comprises a manifold spanned by the computational states 10 and 01, and wherein driving detuning between the frequency of the first qubit and the frequency of the second qubit through a second avoided crossing in a swap channel comprises driving detuning between the frequency of the first qubit and the frequency of the second qubit through state 10 - 01 resonance.

9. The method of any preceding claim, wherein implementing the second stage in reverse order comprises driving detuning between the frequency of the first qubit and the frequency of the second qubit to achieve a complete population swap between the qubit states 10 and 01.

10. The method of any preceding claim, wherein the control angle comprises an angle between an effective magnetic field and the z-axis on a Bloch sphere of a system comprising the first qubit and the second qubit.

11. The method of claim 1, further comprising generating the cascade schedule, comprising: defining a trapezoidal ramp function in laboratory time; generating a polynomial expansion of the waveform for the control angle in terms of the generated trapezoidal ramp function;

generating an initial schedule for driving the detuning between the frequency of the first qubit and the frequency of the second qubit using the generated polynomial expansion of the waveform for the control angle;

obtaining one or more solutions in the swap channel;

determining the probability of an error in the leakage channel; and

adjusting the initial schedule for driving the detuning by synchronizing the one or more solutions in the swap channel and the probability of an error in the leakage channel, comprising:

selecting a solution in the swap channel that, when combined with the probability of an error in the leakage channel, achieves a predetermined swap gate fidelity; and

applying values of parameters in the selected solution to the initial schedule for driving the detuning to generate the cascade schedule.

12. The method of claim 11, further comprising adjusting parameter values of the cascade schedule using gate fidelity as a fitness function.

13. The method of claim 11 or 12, further comprising performing hardware testing and randomized benchmarking techniques to adjust the generated cascade schedule.

14. The method of any one of claims 11 to 13, wherein the trapezoidal ramp function is a function of maximum control angle, pulse duration, length of upward ramp, and length of downward ramp.

15. The method of claim 11 or 12, wherein the trapezoidal ramp function takes values that are less than or equal to one.

16. The method of any one of claims 11 to 15, wherein coefficients of the polynomial expansion sum to one.

17. The method of any one of claims 11 to 16, wherein generating the initial schedule optionally further comprises applying a Gaussian filter.

18. The method of any one of claims 11 to 17, wherein generating the initial schedule comprises parameterizing the detuning as e(t) = m + 2 g /Lcot[0(t, {c})] with m representing shift, l representing scaling, g representing interqubit interaction strength, Q representing the generated polynomial expansion and c representing a set of two or more variational parameters.

19. An apparatus comprising:

a first qubit;

a second qubit coupled to the first qubit;

control electronics comprising one or more control devices that tune the frequency of the first qubit and second qubit through application of respective control signals,

wherein the control electronics are configured to implement the cascade schedule of any one of claims 1 to 18.

Description:
CASCADE PROTOCOL FOR lSWAP GATE IN A TWO-QUBIT SYSTEM

BACKGROUND

[0001] This specification relates to signal processing, quantum information processing and condensed matter physics.

SUMMARY

[0002] This specification describes technologies for implementing high fidelity iSWAP logic gates in quantum computers.

[0003] In general, one innovative aspect of the subject matter described in this specification can be implemented in a method for implementing an iSWAP quantum logic gate between a first qubit and a second qubit, the method comprising: implementing a cascade schedule that defines a trajectory of a detuning between a frequency of the first qubit and a frequency of the second qubit, comprising: during a first stage, adiabatically driving detuning between the frequency of the first qubit and the frequency of the second qubit through a first avoided crossing in a leakage channel; during a second stage, driving detuning between the frequency of the first qubit and the frequency of the second qubit through a second avoided crossing in a swap channel; during a third stage, evolving the first qubit and second qubit; during a fourth stage, implementing the second stage in reverse order; and during a fifth stage, implementing the first stage in reverse order.

[0004] Other implementations of this aspect include corresponding classical or 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.

[0005] The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. In some implementations the cascade schedule satisfies a local adiabatic evolution condition. The local adiabatic evolution condition may be given by (Y 9 (0 |5 ί Y 6 (ϋ)) = const <¾(t) or d t 0(t) = const, where Y^(ϋ) and Y b (ϋ) represent instantaneous adiabatic eigenstates of an effective Hamiltonian describing the leakage channel, 0(t) represents the control angle, and <¾(t) = (e(t)— h ) 2 + 8 g 2 represents a time dependent gap for the Hamiltonian describing the leakage channel, with e(t) representing the detuning between the frequency of the first qubit and the frequency of the second qubit, h representing an anharmonicity parameter of the first qubit, and g representing interqubit interaction strength.

[0006] In some implementations the probability that the cascade schedule incurs a leakage error is proportional to with g representing the interqubit interaction strength and t p representing a total duration of the iSWAP gate.

[0007] In some implementations the cascade schedule synchronizes minimal errors in the swap channel and leakage channel.

[0008] In some implementations the first qubit and second qubit comprise capacitively coupled Xmon qubits.

[0009] The leakage channel may comprise a manifold spanned by the computational state 11 and two non-computational states 02 and 20, and wherein driving detuning between the frequency of the first qubit and the frequency of the second qubit through a first avoided crossing in a leakage channel comprises driving detuning between the frequency of the first qubit and the frequency of the second qubit through state 11 - 20 resonance.

[00010] The swap channel may comprise a manifold spanned by the computational states 10 and 01, and wherein driving detuning between the frequency of the first qubit and the frequency of the second qubit through a second avoided crossing in a swap channel comprises driving detuning between the frequency of the first qubit and the frequency of the second qubit through state 10 - 01 resonance.

[00011] In some implementations implementing the second stage in reverse order comprises driving detuning between the frequency of the first qubit and the frequency of the second qubit to achieve a complete population swap between the qubit states 10 and 01.

[00012] In some implementations the control angle comprises an angle between an effective magnetic field and the z-axis on a Bloch sphere of a system comprising the first qubit and the second qubit. [00013] In some implementations the method may further comprise generating the cascade schedule, comprising: defining a trapezoidal ramp function in laboratory time; generating a polynomial expansion of the waveform for the control angle in terms of the generated trapezoidal ramp function; generating an initial schedule for driving the detuning between the frequency of the first qubit and the frequency of the second qubit using the generated polynomial expansion of the waveform for the control angle; obtaining one or more solutions in the swap channel;

determining the probability of an error in the leakage channel; and adjusting the initial schedule for driving the detuning by synchronizing the one or more solutions in the swap channel and the probability of an error in the leakage channel, comprising: selecting a solution in the swap channel that, when combined with the probability of an error in the leakage channel, achieves a predetermined swap gate fidelity; and applying values of parameters in the selected solution to the initial schedule for driving the detuning to generate the cascade schedule.

[00014] In some implementations the method may further comprise adjusting parameter values of the cascade schedule using gate fidelity as a fitness function.

[00015] In some implementations the method may further comprise performing hardware testing and randomized benchmarking techniques to adjust the generated cascade schedule.

[00016] In some implementations the trapezoidal ramp function is a function of maximum control angle, pulse duration, length of upward ramp, and length of downward ramp.

[00017] In some implementations the trapezoidal ramp function takes values that are less than or equal to one.

[00018] In some implementations coefficients of the polynomial expansion sum to one.

[00019] In some implementations generating the initial schedule optionally further comprises applying a Gaussian filter.

[00020] In some implementations generating the initial schedule comprises parameterizing the detuning as e(t) = m + 2 g Acot[0(t, {c})] with m representing shift, l representing scaling, g representing interqubit interaction strength, Q representing the generated polynomial expansion and c representing a set of two or more variational parameters.

[00021] In general, another innovative aspect of the subject matter described in this specification can be implemented by an apparatus comprising a first qubit, a second qubit coupled to the first qubit, and control electronics comprising one or more control devices that tune the frequency of the first qubit and second qubit through application of respective control signals, wherein the control electronics are configured to implement the cascade schedule.

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

[00023] Execution of iSWAP gates using known protocols is slow and susceptible to leakage. In particular, applications of known techniques, such as simple trapezoidal pulses, introduce leakage errors. The presently described techniques for executing iSWAP gates provide fast and robust cascade schedules in the well-defined adiabatic regime that allow for a complete SWAP operation accompanied by a suppression of the Leakage error. For example, some implementations result in a suppression of the leakage error to below 10 4 in a very broad region of the gate times ~13 ns, which in turn leads to the estimated fidelity of the iSWAP gate exceeding 99.9999% and the fidelity loss due to a time error ~ 5-10 5 / ns in the vicinity of the optimal gate time t v = 46.8 ns.

[00024] In addition, the presently described techniques for executing iSWAP gates utilize only low-frequency control of detuning between qubit frequencies and are applicable to near term quantum computing architectures. Furthermore, since iSWAP gates are computationally hard to simulate using classical computers, the techniques described in this specification can facilitate state of the art experiments on quantum supremacy and an immediate impact on the field of quantum computing.

[00025] Implementation of the presently described techniques can reduce circuit design complexity and provide a path to scalable quantum computing architectures with high-fidelity multi-qubit gates. This, in turn, is an important step forward in achieving the long-term goal of developing an error-corrected quantum computer.

[00026] Details of one or more implementations of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[00027] FIG. 1 depicts an example system for implementing iSWAP quantum logic gates. [00028] FIG. 2 shows a plot comparing an example adiabatic protocol for performing an iSWAP gate and an example non-adiabatic protocol for performing an iSWAP gate.

[00029] FIG. 3 shows two plots of the energy levels of two coupled Xmon qubits subject to a non-adiabatic protocol.

[00030] FIG. 4 shows two plots of the energy levels of two coupled Xmon qubits subject to an adiabatic protocol.

[00031] FIG. 5 shows a first plot comparing a Rabi protocol and a Rosen-Zener protocol and a second plot comparing error transition probabilities of the Rabi protocol and the Rosen- Zener protocol.

[00032] FIG. 6 is a flow diagram of an example process for implementing an iSWAP quantum logic gate between a first qubit and a second qubit according to a cascade schedule.

[00033] FIG. 7 shows two example cascade schedules.

[00034] FIG. 8 shows a plot of the probabilities of interqubit population swap for two example cascade schedules.

[00035] FIGS. 9 and 10 show example synchronizations of leakage and SWAP errors.

DETAILED DESCRIPTION

[00036] A complete SWAP operation is a trace preserving, i.e., zero-leakage, transformation of a two-qubit system that enables complete population transfer between the states |1)®|0) and |0)®| 1) (herein written as states 10 and 01) of the SWAP channel. Most generally, such an operation can be described by the unitary matrix

in the (|00)|01)|10)|11)) basis, where f represents a phase shift and angles 0 x and q 2 represent additional phases that can be corrected using single qubit z-rotations. Since these additional phases can be disregarded the SWAP and iSWAP gates can be described by the unitary matrices given in equation (1) below

[00037] A complete population swap in the |01)-| 10) channel is referred to as a“perfect” swap operation, e.g., a swap operation as realized in theory. A near perfect or almost perfect swap operation is a swap operation with swap and leakage errors below a predetermined threshold, e.g., errors on the order of 10 5 . Other thresholds can also be used. For example, an error threshold can be selected based on a target fidelity specified by operators of the quantum computer device.

[00038] A challenging aspect of implementing SWAP or iSWAP gates is that the implementation should be consistent with generic quantum computing architectures, e.g., capacitively coupled qubits. In such architectures, qubit frequencies are parked in a so-called zigzag order, with frequencies of the nearest-neighbor qubits separated by ~ 1 GHz. After gate operations are applied to the qubits, the qubits are returned to their original parking positions. This makes some protocols, e.g., direct passage driving schedules of the Landau-Zener type, difficult or impossible to apply.

[00039] In addition, execution of a SWAP or iSWAP gate between a first qubit and second qubit by driving detuning e(ΐ) between energy levels of 10 and 01 states to zero (10 - 01 resonance), inevitably requires passing through a 11 - 20 leakage resonance first. As a result, a simple, trapezoidal-shape ramp function is not sufficient to reliably avoid leakage into non- computational sector of the Hilbert space. Existing hardware implementations of the SWAP or iSWAP gates also suffer from slow execution.

[00040] The techniques described in this specification address these challenges. In particular, this specification describes cascade protocols that can be applied to qubits to execute two-qubit gates such as SWAP or iSWAP gates with improved fidelities. The described cascade protocols utilize low-frequency control of detuning between qubit frequencies. More specifically, the described techniques employ a multi-parameter set of bias-controlled time protocols that are configured to suppress both errors in the SWAP and Leakage quantum channels at the end of gate execution. The shape and duration of the defined pulse is obtained using synchronization of motion in both channels, which results in an almost perfect SWAP operation accompanied by a reduction of probability to excite individual qubits into higher- frequency anharmonic states with both the swap and the leakage errors on the order of 10 5 .

[00041] For convenience, the techniques described in this specification are presented with reference to implementing iSWAP gates. However, the techniques can be equally applied to implementing SWAP gates, as well as other gates that are based on SWAP operations, e.g. a jSWAP gate.

Example architecture

[00042] FIG. 1 depicts an example system 100 for implementing an iSWAP quantum logic gate on a two-qubit subsystem. The example system 100 is an example of a system implemented as part of a quantum computing device in which the systems, components and techniques described in this specification can be implemented.

[00043] The system 100 includes a two-qubit subsystem 102 in communication with control electronics 104. The two-qubit subsystem 102 includes a first qubit 106 and a second qubit 108. In some cases, as shown in FIG. 1, the first qubit 106 and second qubit 108 may be capacitively coupled Xmon qubits. For example, the first qubit 106 and second qubit 108 may be part of a linear chain of Xmon qubits included in a quantum computing device. However, in other cases the qubits may include flux qubits, phase qubits, or qubits with frequency interactions.

[00044] The first qubit 106 and second qubit 108 can be operated by adjusting the qubit frequencies, e.g., applying pulses generated by the control electronics 104 to the qubits. In cases where the first qubit 106 and the second qubit 108 are Xmon qubits, the qubit frequencies may be parked at a predetermined distance from one another, and in a zig-zag position with respect to other qubits that may be included in the quantum computing device.

[00045] A Hamiltonian describing the two qubits may be given by equation (2) below.

In equation (2), 6J ( (t) represents time-dependent natural frequencies of the individual qubits, 7 ( represents anharmonic detunings, g represents interqubit interaction strength, and n L = aj a L represents the number operator and aj, a L represent creation and annihilation operators.

Without loss of generality, hi = hi = h, with typical values of h = 2p x 200 MHz and g = 2p x 20 MHz. Furthermore, it can be assumed that an = const and coi(t) = wi + e(ΐ), where e(ΐ) represents the controlled detuning with the initial and final values e( ~ t P /2) = e(ΐ R 2) = 2p x 1 GHz, and t P represents the duration of a pulse applied to the qubit or qubits to implement a quantum logic gate (the gate time).

[00046] The Hamiltonian described in equation (2) conserves the total number of excitations M. Therefore, the 9 x 9 Hilbert space splits into 5 subspaces corresponding to M = 0, 1 . . . , 4. Three of these subspaces with M = 0, 1, 2 are relevant for the qubit operations driven by e(ΐ). These are the ground state 00, the SWAP manifold spanned by the computational states 10 and 01 and the leakage manifold spanned by the computational state 11 and two non- computational states 02 and 02. Sub-Hamiltonians H s (t) and Hi(t) describing the SWAP channel and the leakage channel can therefore be expressed as

[00047] All parameters except e( ) of the Hamiltonian in equation (2) are static - they are not changed during execution of a quantum logic gate. Therefore, a schedule for implementing a iSWAP gate is achieved through parametrization of the detuning e(ή. The detuning may take the form e(/) = m + 2g l cot [q (/, {c} )] (4) where the control angle 0 depends on a set of variational parameters {c} containing M> 2 elements and the two additional parameters m (shift) and l (scaling) may be used in an extended adjustment/optimization procedure. [00048] The parameters m and l define two limiting cases known in the art as non- adiabatic (m = 0, l = 1) and adiabatic (m = h n l = [T) protocols, respectively. The differences between these two protocols are illustrated in FIGS. 2 - 4.

[00049] The control electronics 104 include control devices, e.g., arbitrary waveform generators, that can operate the first qubit 106 and second qubit 108. For example, the control electronics 104 may include control devices that tune the frequency of the first qubit 106 and second qubit 108 by applying control signals, e.g., voltage pulses, to the qubits through respective control lines.

[00050] In addition, the control devices may include measurement devices, e.g., readout resonators, that can perform measurements of the first qubit 106 and the second qubit 108 through respective qubit control lines. The control electronics 104 may be configured to store, display, and/or further process the results of measurements of the first qubit 106 and the second qubit 108.

[00051] In some implementations, the control electronics 104 may include a data processing apparatus and associated memory. The memory may include a computer program having instructions that, when executed by the data processing apparatus, cause the data processing apparatus to perform one or more functions described herein, such as applying a control signal to a qubit.

[00052] FIG. 2 shows a plot 200 comparing an example adiabatic protocol 202 for performing an iSWAP gate and an example non-adiabatic protocol 204 for performing an iS WAP gate. The plot includes a horizontal axis 206 representing dimensionless time 2 t/t p (where t represents gate time) and a vertical axis 208 representing the detuning e(t)/2n measured in GHz. A first horizontal line 210 defines points of the level crossings in the SWAP channel. A second horizontal line 212 defines points of the level crossings in the leakage channel.

[00053] The distinction between the adiabatic protocol 202 and non-adiabatic protocol 204 is clear when the slopes of e(ή in the leakage channel 212 near 11-20 resonance (avoided level crossing), which occurs at e = hi, are compared. The non-adiabatic protocol 204 passes through the crossing 212 with very large velocity while the adiabatic protocol 202 has an inflection point corresponding to the minimal relative velocity of the energy levels. For the SWAP channel 210 the 10-01 resonance occurs at e = 0 and the behavior is the opposite, i.e. the non-adiabatic protocol 204 has an inflection point while the adiabatic protocol 202 drops almost vertically.

[00054] As shown in FIG. 2, the adiabatic protocol 202 takes the shape of a“cascade waterfall" that drops quickly and slows down near the horizontal line 212, i.e. it forms a“ledge" and then drops quickly and forms a ledge again. This behavior reflects the idea of a local adiabatic evolution for a system with several level crossings. In other words, the schedule behaves as a cascade, it slows down near each avoided crossing and accelerates again after passing it. The non-adiabatic protocol 204 goes straight down as a "plunge waterfall".

[00055] The energy eigenvalues of the Hamiltonian given by Equation (1) in the leakage channel and SWAP channel are shown in FIGS. 3 and 4 for non-adiabatic and adiabatic protocols, respectively.

[00056] FIG. 3 shows two plots 300, 350 of the energy levels of two coupled Xmon qubits subject to a non-adiabatic protocol. The first plot 300 shows energy levels in the leakage manifold. The second plot 350 shows energy levels in the SWAP manifold. Both plots include a horizontal axis representing dimensionless time 2 t/t p (where l P represents gate time) and a vertical axis representing the energy level measured in GHz.

[00057] FIG. 4 shows two plots 400, 450 of the energy levels of two coupled Xmon qubits subject to an adiabatic protocol. The first plot 400 shows energy levels in the leakage manifold. The second plot 450 shows energy levels in the SWAP manifold. Both plots include a horizontal axis representing dimensionless time 2 t/t p (where l P represents gate time) and a vertical axis representing the energy level measured in GHz.

Proposed iSWAP sate schedule

[00058] The proposed protocol for implementing an iSWAP gate between a first qubit and a second qubit includes a cascade schedule that defines a trajectory of a detuning between a frequency of the first qubit and a frequency of the second qubit. The cascade schedule includes multiple stages: a two stage ramp-down passage, a plateau stage, and a two-stage ramp-up passage in reverse order that preserves an overall time reversal symmetry of the protocol. [00059] The two-stage ramp-down passage includes a first stage where the detuning between the frequency of the first qubit and the frequency of the second qubit is adiabatically driven through the avoided crossing in the leakage channel ( e(t) = 7] ) to avoid leakage error, and a second stage where the detuning between the frequency of the first qubit and the frequency of the second qubit is driven through the avoided crossing in the SWAP channel (e(t) = 0) to achieve a complete population swap.

[00060] During the plateau stage (third stage) the first qubit and the second qubit are allowed to freely evolve for typical times ~ 10 ns.

[00061] The two-stage ramp-up passage includes a fourth stage where the second stage described above is implemented in reverse order to achieve a complete population swap in the swap channel, and a fifth stage where the first stage is implemented in reverse order to avoid leakage error. The fourth and fifth stages preserve time reversal symmetry. Example cascade schedules for implementing iSWAP gates between a first and second qubit are described in further detail below with reference to FIG. 7.

[00062] As described below in relation to Figure 6, the cascade schedule is generated based on a trapezoidal waveform for the control angle q(ί ) defining a trajectory of a frequency of the first qubit during execution of the protocol. The motion of the control vector during the proposed protocol decelerates in the middle of the ramp-down process (end of the first stage) and then accelerates again (beginning of the fifth stage). The deceleration near the avoided crossing of the leakage channel is governed by an adiabatic Rosen-Zener schedule, as described below, which results in the exponential decay of the leakage error in a broad range of the gate times.

[00063] The proposed cascade schedule for the iSWAP gate described in this specification satisfies a condition of local adiabatic evolution. This condition means that detuning between the frequency of the first qubit and frequency of the second qubit may change quickly far away from avoided crossings, i.e. for the frequencies exceeding 100 MHz distance from the point of the avoided crossing (above or below), and must slowdown in proximity to the minimum gap between energy levels, i.e. within the frequency interval -200 MHz centered the avoided crossing frequency.

Implementing iSWAP sates [00064] The proposed schedule is designed to utilize adiabatic motion in the leakage channel and reduce leakage error in a broad region of gate execution time. Motivation for the design of the proposed schedule can be illustrated by considering a simplified example. Design of the proposed schedule begins by considering an effective two-level leakage Hamiltonian of equation (3) describing only 111^ and 1 20) states:

This Hamiltonian can also be represented as

where ® g ( = -\/( f (0 ~ 'P Ϋ + 8g 2 represents the time-dependent gap in the leakage channel, g represents interqubit interaction strength , the parameter

q(ί) = arccot

represents the control angle between the control vector, i.e. effective magnetic field

b(t ) = (2 j2g,0,e(t)— 77,) , and the z-axis on a Bloch sphere related to the two-dimensional

Hilbert space spanned by the diabatic states 111^ and 120) . The control angle defines the motion of the first qubit whose frequency is varied to drive detuning during execution of the iSWAP gate.

[00065] The proposed cascade schedule for the iSWAP gate described in this specification satisfies a condition of local adiabatic evolution. This condition means that detuning between the frequency of the first qubit and frequency of the second qubit may change quickly far away from avoided crossings, i.e. for the frequencies exceeding 100 MHz distance from the point of the avoided crossing (above or below), and must slowdown in proximity to the minimum gap between energy levels, i.e. within the frequency interval -200 MHz centered the avoided crossing frequency.

[00066] As such, the condition of the local adiabatic evolution can be broadly defined. A particular form of the local adiabatic condition that can be utilized in the proposed schedule is given by

(v' 01 ^,(0) = const - w^O (8)

where y if) and y e (t) represent instantaneous ground and excited adiabatic eigenstates of the leakage Hamiltonian (6), respectively.

Analysis of alternative forward sinsle-yassase schedule

[00067] Alternative methods for implementing an iSWAP gate satisfying the local adiabatic condition given by equation (8) includes implementation of a forward single-passage schedule where detuning sweeps a large energy from < 0 and a system including the first qubit and second qubit passes the avoided crossing only once. Since the qubits do not return to their original parked states this schedule cannot be directly used in Xmon architecture, but may be used in other architectures that are not constrained in this way.

[00068] The local adiabatic condition given by equation (8) and the definition of the angle q(ί) given by equation (7) imply that d t 6(t) = const, or

Equation (9) shows that the control vector uniformly rotates within x, z - plane starting from the North pole at t =—t / 2 and ending at the South pole t = t l 2 where t p represents the gate execution time. However, the magnitude of the control vector is not zero and has very sharp time dependence. As a result, the problem cannot be reduced to a time-independent

Hamiltonian. Fortunately, for the time dependence given by equation (9) the problem can be solved exactly using transformation of the time-dependent Schrodinger equation to the natural time scale: where represents the minimal gap between the (adiabatic) eigenstates of

Hamiltonian (6).

[00069] Equation (10) defines a one-to-one map between the "ordinary" (or "laboratory") time t in the original Hamiltonian (6) and an artificial time variable T describing motion in an accelerating frame of reference in which the magnitude of the effective magnetic field (control vector) is a time-independent constant. In other words, in the natural time frame the Hamiltonian of a two-level system has a constant gap £t) 0 and the motion of the system is determined by the dependence of the control angle on the natural time q(t ) = q[ί(t)]. Physically, (0 Q T(t) represents the phase accumulated by the first qubit during the time interval (0,/).

[00070] The time- dependent Schrodinger equation for the leakage Hamiltonian in equation (6) is given by:

where Y 0 (/) and represent the projection of the time-dependent state vector onto the original (time- independent) basis states 1 11) and 120). In the nomenclature adapted throughout this specification the diabatic basis states of a generic two-level system are labeled with a pair of indices (0,1) , e.g. 10) º| 11) and 11) º| 20) in the present case or 10) º| 10) and 11) º| 01) for the SWAP channel, while the adiabatic basis states, i.e. time- dependent eigenstates of the Hamiltonian / )( ) in the present case or H ( t ) for the SWAP channel are labeled with a pair of indices ( g,e ) . The solution of equation (11) can be obtained using transformation to instantaneous adiabatic basis of the Hamiltonian defined by the time-dependent unitary matrix: where <T. are the Pauli matrices. Applying the unitary matrix U (() to both sides of equation (11) and performing the natural time transformation (9) results in the transformed Schrodinger equation in the adiabatic basis and in the natural time scale:

Here / g b (t) º y g e [ί(t)] represents the components of the adiabatic wave function expressed through the natural time, and t(t) is the solution of equation (10) for t. Equation (13) describes the motion of the two-level system with a constant gap (0 Q and non-adiabatic coupling Q (T) . [00071] The substitution into equation (13) leads to the system of equations for c (t) given by

This, in turn, can be transformed into the second order differential equation for the coefficient )

It is assumed that at the initial moment the system is in the ground state, i.e. 2) = 0 , giving the initial condition c^T^) = 0. Since c (T^) = 1 is known, the second boundary condition for the derivative c^T^is given by equation (14b). The leakage error is given by the probability that the system will populate the excited state at the end of the execution T f :

Here the natural times T in and T f correspond to the beginning and the end of the gate and can be obtained from equation (10), which provides the map .

[00072] From equations (7), (9) and (10) the explicit relation between the times t and , and, ultimately, the functional dependence 0(T)can be found:

Equations (15) and (17) can be recognized as the Rosen-Zener model, which was developed to describe a double Stern-Gerlach experiment. By initial design, the problem describes a process evolving during an infinite time interval. The Rosen-Zener problem can be solved exactly in terms of hypergeometric functions. Protocols related to this type solution are referred to herein as “Rosen-Zener” protocols. The same solution presented below can be obtained for the finite pulse time t p . This is because by virtue of equations (7) and (9), the time- dependent gap is given by C0 g (t) = CO 0 sec (nt / t p ), and the integral in equation (10) diverges at t = +t p / 2, i.e. finite gate time t p maps onto the infinite time in the natural time scale:

[00073] The solution of equation (15) with q(t) given by equation (17) can be obtained by replacing T with a new variable, z(t) = (1 / 2) which changes from 0 to 1

when T changes from— ¥ to °° · After the change of variables equation (15) takes the form that can be recognized as a hypergeometric equation which possess a general solution given by

Here 2 F^p,q;r;z represents hypergeometric functions, y— (0 t p / 2 represents the dimensionless gate time and the constants must be determined from the initial conditions. The first initial condition at z = 0 , c , ( 0) = 0 , implies that = 0, and the second boundary condition given by equation (14b) allows determining ^ = (l + 2 iy / p . As a result, the leakage error is given by a simple analytical formula:

[00074] Equation (20) provides an important physical insight behind the design of the proposed protocol. As can be seen from equation (20), the probability that the cascade schedule incurs a leakage error is proportional to 4e _2/ = 4e ° >ai and decays exponentially at large times tp. This behavior is unique since, usually, the finite time protocols result in a power-law decay of the non-adiabatic error. This can be illustrated by considering a different local adiabatic condition as compared with equation (8). For example the condition

( g (t) I d t y e (t) — const · ® g 2 ( also leads to the exactly solvable problem. It can be shown that the solution can be obtained by means of the same natural time transformation described above, which results in the time-independent Hamiltonian and the analytical formula for the leakage error: The solution is formally similar to that of the known Rabi

problem describing a spin moving under a uniformly rotating in-plane magnetic field of constant magnitude, and protocols related to solutions of this type are therefore referred to herein a“Rabi protocol”. The power- law decay of the leakage error, P e ~ , is slow as compared with the fast exponential decay germane to the Rosen-Zener protocol.

[00075] FIG. 5 shows two plots 500 and 550. The first plot 500 compares a Rabi protocol for implementing an iSWAP gate and a Rosen-Zener protocol. The second plot 550 compares the error transition probabilities of the Rabi protocol and the Rosen-Zener protocol.

[00076] Plot 500 includes a horizontal axis representing laboratory time t divided by gate time t P , and a vertical axis representing detuning e(t)/2n measured in GHz. Lines 502 and 504 represent the Rabi protocol. Lines 506 and 508 represent the presently described Rosen-Zener protocol. Dashed lines 504 and 508 represent adiabatic protocols. Solid lines 502 and 506 represent non-adiabatic protocols.

[00077] Plot 550 includes a horizontal axis representing dimensionless total duration of the iSWAP gate g and a vertical axis representing the probability that the cascade schedule incurs a SWAP or leakage error P e (y). Line 552 represents the Rabi protocol. Line 554 represents the presently described Rosen-Zener protocol.

[00078] As shown in FIG. 5, the calculated transition probabilities for the Rabi and Rosen-Zener protocols differ. While the Rabi protocol has well defined zeros that would correspond either to a complete SWAP operation or to zero leakage, the overall behavior of the probability is highly non-adiabatic because it decays slowly, i.e. proportional to 1 /(g. t p ) 2 for large t. On the other hand, the Rosen-Zener schedule probability does not reach zero but approaches zero exponentially fast. In this sense the Rosen-Zener pulse shape is the“most adiabatic schedule” since it decays faster than any power of \(O 0 t p J . This fact provides physical motivation for the proposed protocol.

Method for generatin the proposed“Rosen-Zener” cascade schedule

[00079] In what follows the time-independent diabatic basis 0 and 1 associated with the eigenstates of the Hamiltonian at initial time when the levels are very far from each other are used, since it is more convenient for numerical implementation. By the same token only return schedules compatible with Xmon archtecture are considered and the gate simulations are performed within a time interval (0j p ) . The main quantity of interest, , is the probability of the transition from the initial state 0 to the final state 1 at the end of the gate, t = t p

. In the SWAP channel describes the probability of the population swap between the computational states 1 10) and 101) . As such, P 01 (t p ) is the probability of successful SWAP operation and = 1 - P 0l (t ) represents the SWAP error. On the contrary, in the leakage channel, is the probability of a transition from the computational state 1 11) to the non- computational state 120) and represents the leakage error.

[00080] FIG. 6 is a flow diagram of an example process 600 for generating a cascade schedule used to implement an iSWAP quantum logic gate. For example, the process 600 may be used to generate the cascade schedules for implementing an iSWAP quantum logic gate between a first and second qubit shown in plot 750 of FIG. 7. In the following, determining the cascade schedule will be described using“laboratory time”, t, though it may alternatively be performed in“natural time”, T.

[00081] The cascade schedule is generated based on a trapezoidal waveform for a control angle defining a trajectory of a frequency of the first qubit during the gate execution. Generating the cascade schedule may first include defining a trapezoidal ramp function (step 602)

where 0 < f r (t,s ) < 1 and the dimensionless parameter s (0 < s < 1 / 2) controls duration of the ramp-up (or ramp-down) intervals t r , such that t r - s t and the plateau (or "wait") time t w - (1— 2s) t . Then a trapezoidal waveform for the control angle may be generated using the ramp function f r (t,s ): (t,s,6 ) s - q. + (q - e. ) /f J r(t,s) ' .

Here 6 m = 1 GHz represents the initial value of the detuning,

and 0 max represents the maximum angular distance travelled by the control vector. Therefore a simple trapezoidal waveform of the control angle is defined by the two control parameters s and 0 max · Determining specific values of these parameters is described below with reference to step 608.

[00082] The number of the control parameters may be increased using polynomial expansion of the waveform for the control angle in terms of the generated trapezoidal ramp function (step 604): where the coefficients of the polynomial expansion ci, C2, .. sum to one. These coefficients along with s and can be obtained using a global optimization process using the fidelity as a fitness function (or gate error as a cost function.) In some implementations, one or more constraints may be applied to the coefficients {c}, such as a constraint that the ramp function be smooth (i.e. the gradients match at the boundaries of the ramp). [00083] An initial schedule for driving the detuning between energy levels of the first qubit and second qubit using the generated polynomial expansion of the waveform for the control angle is determined (step 606) via e(/) = m + 2 g l cot [0 (/, {c})] with b— T] i representing shift, l— yfl representing scaling, g representing inter-qubit interaction strength, b representing the control angle and {c} representing a set of two or more control parameters, which comprise the relative ramp-up time s = t r / t p and the height of the trapezoid 0 max . as the parameters {c} may further comprise the set of the polynomial coefficients c x ,c 2 ,... . The complete SWAP operation is possible if e(t) crosses zero at the end of the second stage of the ramp-up (or ramp-down) region. This implies that 0 max exceeds example values of Tj - 200 MHz and g— 20 MHz , 0 c — 0.91TG

. These values of 0 max are responsible for a characteristic shape of the cascade protocol.

[00084] One or more solutions in the swap channel are determined (step 608). This may include first determining a seed schedule with the minimal set of parameters s and 0 max , which produces a complete SWAP operation in a targeted region of the gate times. Determining the seed schedule may include calculating the unitary evolution matrix for the SWAP channel.

Since the cascade schedule is based on the piecewise trapezoidal waveform, the evolution matrix may be calculated by solving the Schrodinger equation within each time interval and matching the solutions at the boundaries. By eliminating the state vectors corresponding to the intermediate times, the solution is propagated from the beginning to the end of the execution.

The unitary evolution matrix U(s,6 mx ) describing SWAP channel is obtained as a product of transfer matrices corresponding to each time interval. The transition probability can be derived from U (s, 0 max ) assuming that the system is in the state 110) at t = 0. The condition i^ i ( , s,0 max ) = 1 ensures a complete population swap between the qubits. Therefore, solving equation = 1 for one of the variables, say .v , gives a "perfect swap trajectory", 5(0 max ), i.e. a path in a two-dimensional parameter space (.s',0 max )for which P 01 = 1. This trajectory defines the seed schedule.

[00085] In some implementations a rounding Gaussian filter may be applied to eliminate high frequencies in the pulse Fourier spectrum and avoid distortion of the pulse due to cutoff frequency in the electronic boards (DACers). In addition, the set of control parameters may be expanded by adding one or two higher order terms in the polynomial expansion of the control angle to ensure greater variational freedom during the optimization of the protocol.

[00086] The probability of an error in the leakage channel is determined (step 610). Once the seed schedule is known the Schrodinger equation can be solved for the leakage channel, e.g., in a two- level approximation by keeping only strongly interacting 11 and 20 states in the Hamiltonian of equation (3). To solve the Schrodinger equation the following representation of the state vector in the leakage manifold can be used

The functions <p 0 l can be found from the differential equations

4fϊ(c) + 4 iy(e(x) - ή)f (c) + 2g 2 f 1 (c) = 0 and the initial conditions fo(0) = cos ( ~ ), =

— (^)COS( ) = arccot[(e(0)— h)/^2]. The leakage error P l can then be calculated as The SWAP channel can be treated similarly using the representation |y 5 (ί)) =

101) in the swap manifold to obtain a SWAP error P s given by

[00087] The initial schedule for driving the detuning is adjusted by synchronizing the one or more solutions in the swap channel and the probability of an error in the leakage channel (step 662). Synchronizing the solutions in the SWAP channel and the probability of an error in the leakage channel may include selecting a solution in the SWAP channel that, when combined with the probability of an error in the leakage channel, achieves acceptable swap gate fidelity. Values of parameters in the selected solution may then be applied to the initial schedule for driving the detuning to generate the cascade schedule. Example synchronizations of leakage and swap errors are illustrated in FIGS. 9-11.

[00088] In some cases parameter values of the cascade schedule may be further adjusted using gate fidelity as a fitness function (or gate error as a cost function.) To determine the fidelity of an iSWAP gate implemented using the proposed Rosen-Zener cascade schedule, defined by the unitary operator U º U (t p ) an ideal (or target) iSWAP gate U t operating in the entire two-qubit Hilbert space. The average fidelity F(U; U t ) can then be calculated as

where d represents the dimension of the Hilbert space, and t/ /Vd represents the orthonormal set of unitary operators, which forms a basis in the d 2 -dimensional space of dxd unitary matrices. The orthonormality condition is defined as TrU^ U j = dS ir In this case, due to the conservation of the total number of excitations, the state vector is confined within a 6-dimensional space spanned by four computational states 00, 10, 01, 11 and two non-computational states 20, 02. As such, the target iSWAP gate can be defined as

The basis [U j ] can be chosen. Usually it is chosen to be consistent with the nature of actual physical systems that perform computations. Since physical systems performing computations are typically qutrits (three-level systems) rather than qubits in state of the art quantum computing architecture, a natural choice is to use direct products of Gell-Mann matrices or, since the Hilbert space is 6-dimensional, to utilize (properly normalized) generalized Gell-Mann matrices A j that span the Lie algebra of the SU(6) group. As an example, using the latter option generates a 36- element set comprised of 35 matrices U j = A j plus the 6x6 unit matrix. Using this

procedure and equations (16) and (17) obtains the following expression for the average fidelity: where P s and P L are the SWAP and leakage errors defined above in equations (14) and (15). This expression for the fidelity can be used as a fitness function to adjust values of the parameters of the cascade schedule.

[00089] Alternatively or in addition hardware testing and randomized benchmarking techniques may be performed to determine further adjustments to the generated cascade schedule, e.g., adjustments that further increase the iSWAP gate fidelity.

[00090] The cascade schedule is then implemented using the generated schedule.

Implementing the cascade schedule includes, during a first stage, adiabatically driving detuning between the frequency of the first qubit and the frequency of the second qubit through a first avoided crossing in a leakage channel; during a second stage, driving detuning between the frequency of the first qubit and the frequency of the second qubit through a second avoided crossing in a swap channel; during a third stage, evolving the first qubit and second qubit; during a fourth stage, implementing the second stage in reverse order; and during a fifth stage, implementing the first stage in reverse order. [00091] FIG. 7 shows two example cascade schedules generated using the process 600 for implementing an iSWAP quantum logic gate between a first qubit and a second qubit described with reference to FIG. 6. The first plot 700 in FIG. 7 shows two trapezoidal waveforms ύ(ί)

In the first trapezoidal waveform 702 the parameters s and 0 max take values s = 0.3 and 0 max = 0.9177G. In the second trapezoidal waveform 704 the parameters s and 0 max take values s = 0.4 and 0 max = 0.917G. The second plot 750 in FIG. 7 shows two cascade schedules e(t) corresponding to the two trapezoidal ramp functions. The first cascade schedule 752

corresponds to the first trapezoidal ramp function 702. The second cascade schedule 754 corresponds to the second trapezoidal ramp function 704. The values of m and l in both cascade schedules are set to m = h, l = V2. Plot 750 also shows avoided crossing in the SWAP channel ( e = 0) 758 and avoided crossing in the leakage channel (e = h) 756. Representations of the five stages described with reference to FIG. 6 are shown in FIG. 7. However, these

representations are example representations and for illustrative purposes only.

[00092] FIG. 8 shows a plot 800 of the probabilities of interqubit population swap for the two example cascade schedules illustrated in FIG. 7. Line 802 corresponds to probabilities of interqubit population swap for the cascade schedule with s = 0.3 and 0 max = 0.9177G. Line 804 corresponds to probabilities of interqubit population swap for the cascade schedule with s = 0.4 and 0 max = 0.917G.

[00093] FIG. 8 shows how the behavior of Poi for both schedules drastically differs in terms of the positions of the maxima, their width and general shape. However, in both cases a complete SWAP operation is attainable. The general trend is that shrinking the trapezoidal base produces longer gates, as expected. On the other hand, the longer gates are more adiabatic and, in turn, more stable.

[00094] FIG. 9 shows an example synchronization of leakage and SWAP errors. The dotted lines 902 represent gate times corresponding to zero leakage. The horizontal line 904 represents the gate time t P such that P s (t p ) = 0. As shown in FIG. 9, the gate time can be chosen to satisfy P s (t p ) = P;(t p ) = 0 at the third zero of leakage error 906.

[00095] FIG. 10 shows an example synchronization of leakage and SWAP errors for a cascade schedule generated using a Rosen-Zener protocol with low sensitivity to gate time error. The first plot 1000 shows exponential decay of the leakage error 1002. The second plot 1050 shows the calculated fidelity of the gate enabled by the protocol. The calculated fidelity shows a very low loss of fidelity. The seeming fidelity loss is predominantly due to (also very small) deviation of the SWAP angle from 7T/2. Since the latter is not very important for the quantum supremacy experiments this protocol could be a viable candidate for a fast an efficient hardware implementation.

[00096] 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.

[00097] 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.

[00098] The terms quantum information and quantum data refer to information or data that is carried by, held or stored in quantum systems, where the smallest non-trivial system is a qubit, i.e., a system that defines the unit of quantum information. It is understood that the term“qubit” encompasses all quantum systems that may be suitably approximated as a two-level system in the corresponding context. Such quantum systems may include multi-level systems, e.g., with two or more levels. By way of example, such systems can include atoms, electrons, photons, ions or superconducting qubits. In many implementations the computational basis states are identified with the ground and first excited states, however it is understood that other setups where the computational states are identified with higher level excited states are possible.

[00099] 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.

[000100] A digital computer program, which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a digital computing environment. A quantum computer program, which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and translated into a suitable quantum programming language, or can be written in a quantum programming language, e.g., QCL or Quipper.

[000101] A digital and/or quantum computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. 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.

[000102] 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.

[000103] 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.

[000104] 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 .

[000105] 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.

[000106] 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.

[000107] 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.

[000108] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. 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, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the

combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

[000109] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. 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.

[000110] Particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.