Accurate qubit control must maximize the probability that a qubit will remain in its computational basis. In this work, we develop a numerically-optimized method for general control of a single qubit, accounting for finite control pulse rise time and potential imperfections. We demonstrate that in a double quantum dot (DQD) structure with two gates, where the pulses and the DQD potential are imperfect, a reliable qubit can still be defined and operated with high fidelity, using experimentally realistic parameters. We achieve fast operations that are independent of the initial state, and do not induce excitations beyond the computational basis. While our framework is generic, we demonstrate its usefulness on semiconductor DQD qubits, owing to their usefulness and ubiquity. Semiconductor devices are attractive candidates for qubit hardware owing to their high compatibility with current industrial standards. They also benefit from decades in advances in processing and device integration that render processing costs low1. Progress in fabrication and measurement techniques have led to extended coherence times and more precise and faster electronics, both for qubit control and readout, paving the way to scalability2,3,4,5,6. Within previous suggested architectures, DQDs offer a straightforward way of producing both charge and spin qubits7,8. The qubit state can be read out by detecting the electron’s location on the left or right side of the DQD. This can be done with a charge detector9 or even dispersive readout10,11,12,13. These detection methods are both achievable experimentally with great accuracy and speed owing to the improvement of charge detection sensitivity14.

We thus use experimentally realistic parameters based on a semiconductor architecture. However, the results can be easily generalized to any qubit with a similar Hamiltonian form—one that has a term proportional to \(\sigma _z\), and a dynamically controllable term proportional to either \(\sigma _x\) or \(\sigma _y\).

In this paper, we first model a effective potential for a generic DQD system to define the qubit basis states as bonding and anti-bonding states, in “Single-electron DQD qubit definition”. In “Single qubit control”, we show how to initialize a single electron into one of the logical qubit basis states and how to perform a set of mutually orthogonal rotations on the Bloch sphere, thus an arbitrary rotation, using shaped pulses that correct for pulse rise time. We develop a pulsing scheme that is capable of generating time-optimized general unitary rotations despite imperfections, using only the voltage across the gate. We discuss rise time (“Correcting for rise time”) and fidelity (“Fidelity as a function of initial state”). We finally consider noise (“Noise”), and discuss our results (“Discussion”).


Single-electron DQD qubit definition

It is generally assumed either for simplicity or ease of experimental manipulations that the logic basis-state wave functions of a DQD, \(\vert {0} \rangle \) and \(\vert {1} \rangle \), are fully localised in the left or right side of the DQD2,15,16. This assumption is convenient for “brute force” initialisation via applying a high bias voltage. The readout is also simple, realised by measuring the probability of the electron being in the left or right dot. However, in this case, quantum states necessarily contain contributions from higher energy eigenstates which give rise to additional composite oscillations, typically on timescales faster than the qubit oscillation itself17. They ultimately induce a loss of fidelity in gate operations. This issue is critical for practical implementations of quantum computation and schemes like bang-bang pulse sequences have been proposed in order to mitigate this effect18. Such sequences involve additional gate operations that could be detrimental to the overall operation time. Consequently, optimizing the qubit basis states is a necessary preliminary requirement before any other attempts at extending coherence or improving the gate fidelity.

If a linear combination of the two lowest eigenstates of the DQD system is used instead of assuming a fully localized state, a true two-level system is formed. A qubit control framework that doesn’t involve energy states outside of the computational space would greatly improve the fidelity compared to the method above.

It is optimal to define the qubit states as equal combinations of the ground and first excited states at zero bias, because it produces well-localized qubits that can be measured while also preserving symmetry between the two logical states. This is demonstrated within the two-site localised state model19 (see Supplementary Information S1). A zero-bias potential also makes the qubit first-order insensitive to electrical noise, improving fidelity20. Moreover, as described in “Single qubit control”, having zero detuning as a default achieves a high fidelity \(R_{\vec {x}}\) rotation without any pulsing. The coefficients of the energy eigenstates must be equal in order to have symmetry between the qubit states. Therefore, for a given DQD potential \(V_{DQD }(x)\), we define the logical states as:

$$\begin{aligned} \vert {0} \rangle &= \frac{\psi ^{B }(x) + \psi ^{AB }(x)}{\sqrt{2}}, \\\vert {1} \rangle &= \frac{\psi ^{B }(x) - \psi ^{AB }(x)}{\sqrt{2}}, \end{aligned}$$

where \(\psi ^{(A)B }(x)\) is the (anti)bonding state wave function.

Figure 1
figure 1

Wave function of the two first excited states. The logical \(\vert {0} \rangle \) and \(\vert {1} \rangle \) qubits are formed using Eq. (1). The values of the DQD spacing and the electrostatic potential amplitude were chosen for illustrative purposes and the scheme presented here works for a wide range of configurations.

While these states are not completely localized on a single dot, as their probability density is tailing to the other side of the dot (Fig. 1), they do maximize the average probability of successful readout19. Further localization of the states would introduce higher-energy states that would consequently not obey the ideal two-site Hamiltonian we aim to model (Eq. 3). Since there is no reference to the underlying effective potential of the DQD in our definition, this qubit is well defined for potentials that are not symmetric and more generally, for any dot shape. Furthermore, we have previously shown that the second dimension would not affect the dynamics of such an operation21. Even in a non-adiabatic collision, the significantly more confined transverse dimension makes the energy levels so different that no excitations are expected when only the first two energy levels in the lateral dimension are coupled by the electric field.

Single qubit control

In the energy eigenbasis, the Hamiltonian of the qubit system reads:

$$\begin{aligned} \hat{H}(t) = -\frac{1}{2} \,\epsilon (t) \,\sigma _{x} + \frac{1}{2} \,\Delta \,\sigma _{z} + \frac{1}{2}(E_{B }+E_{AB }). \end{aligned}$$

Here \(E_{B }\) and \(E_{AB }\) are the energies of the bonding and antibonding states, i.e. the two lowest energy states, at a linear detuning \(\epsilon \) = 0 , \(\Delta \) is the “hybridisation energy” between the two localised states, and \(\sigma _{x/z}\) are the Pauli x/z matrices.

Using the basis defined in Eq. (1), where \(\vert {0} \rangle \) and \(\vert {1} \rangle \) are on the poles of a Bloch sphere, the Hamiltonian in Eq. (2) is written as:

$$\begin{aligned} \hat{H}_\text{eff}(t) = -\frac{1}{2} \,\epsilon (t) \,\sigma _{z} + \frac{1}{2} \,\Delta \,\sigma _{x} . \end{aligned}$$

We have neglected the constant factor here. The time-dependent wave function can then be written in terms of the standard \(\theta \) and \(\phi \), polar and azimuthal angles respectively, on the Bloch sphere:

$$\begin{aligned} \psi (x,t) = \cos \! \left( \frac{\theta (t)}{2} \right) \vert {0} \rangle + e^{i \phi (t)} \sin \! \left( \frac{\theta (t)}{2} \right) \vert {1} \rangle . \end{aligned}$$

With no bias voltage, \(\epsilon =0\), the wave function will undergo a constant rotation around the z-axis on the Bloch sphere. When applying a non-zero bias, the axis of rotation is shifted.

For the Hamiltonian in Eq. (3), a general rotation on the Bloch sphere by an angle \(\alpha \) around a direction \(\vec {n}\) is given by the solution to the time-dependent Schrödinger equation (TDSE):

$$\begin{aligned} R_{\vec {n}} (\alpha (t)) = {\mathscr {T}} \exp \left( \frac{1}{i\hbar } \int _{0}^{t} \hat{H}_\text{eff}(t') \text{d} t' \right) \end{aligned}$$

where \({\mathscr {T}}\) is the time-ordering operator.

Rotations are performed by sending a bias voltage pulse of amplitude \(V_{\textrm{bias}} = \frac{\epsilon }{e \lambda }\) and duration \(t_p\) to the double dot where \(\epsilon \) and \(\lambda \) are respectively the detuning and voltage amplitude proportionality constant for a given potential. An instantaneous switch between the \(V_{\textrm{bias}} =0\) and \(V_{\textrm{bias}} =\frac{\epsilon }{e \lambda }\) bias states is generally preferred as this simplifies the dynamics and avoids spurious qubit rotations22. In this case, the detuning \(\epsilon (t)\) is described as a set of step-functions and \(R_{\vec {n}} (\alpha )\) is expressed analytically as a rotation of the qubit state around the axis on the Bloch sphere which passes through the eigenstates of \(H (t')\) at a rate proportional to the difference in energy of these two eigenstates. Such a pulse requires a linear potential along the axis of the double dot, as in Eq. (2), which is achieved by applying voltages to a set of metallic surface gates. During a square-wave pulse of detuning \(\epsilon \), the system will evolve according to the Hamiltonian in Eq. (3), that will be constant during the on-time of the pulse, giving an unitary time evolution (rotation):

$$\begin{aligned} U(t)=R_{\vec {n}}(\alpha (t)) = \exp \left( -i\frac{ \vec {n} \cdot \vec {\varvec{\sigma }} }{2 \hbar }t\right) , \end{aligned}$$

where \(\vec {n}=(\Delta , 0, \epsilon ) \) is the axis of rotation, with rotation frequency given by its magnitude.

Implementing such a square pulse isn’t technically possible owing to practical limitations. Current and most commonly used pulse pattern generators have a built-in rise time \(\tau \) of about 40ps to 500ps depending on the brand and characteristics. The Keysight 81134A Pulse Pattern Generator has a \(\tau =\)60ps between 20% and 80% of target amplitude. The Agilent 81130A and the Anritsu MP1763C have \(\tau =\) 500ps and \(\sim \) 40ps respectively, both between 10% and 90% of target amplitude (Fig. 2a).

In this case, the step-function decomposition is not possible and, in general, Eq. (5) must be solved numerically. If the detuning can be described in terms of linear ramp functions, then Eq. (5) can be written analytically as a Landau-Zener-Stuckelberg transition23,24,25 but the resulting expression becomes a function of parabolic cylinder functions which makes understanding the rotation \(R_{\vec {n}} (\alpha )\) more complex26,27.

In order to investigate the consequences that follow from this technical limitation, we have solved Eq. (5) numerically for a pulse with finite \(\tau \) using a GPU-accelerated version of the staggered-leapfrog method21,28,29,30,31.

For such a pulse, the path of an individual qubit state on the Bloch sphere during the time evolution in Eq. (5) differs from the one induced by a square pulse32 (Fig. 3). In order to implement a high-fidelity rotation on the Bloch sphere, an effective \(R_{\vec {n}} (\alpha )\) is found by accounting for the aforementioned equipment limitations, such that the path traced on the Bloch sphere is different, but the resulting rotation remains the same as one induced by a perfect square pulse. We find that this can always be done by tuning the pulse duration and amplitude, depending on \(\tau \) and desired angle of rotation. The details of this correction are outlined in 2.3. One can question whether such an adjusted operation including transient rotations is a proper rotation, i.e. independent of the initial state. The answer is yes, because while the precise path on the Bloch sphere may be difficult to describe analytically, the instantaneous Hamiltonian is still always expressed in terms of \(\sigma _{x}\) and \(\sigma _{z}\) matrices, therefore the effective operation is composed of rotations and is itself an actual rotation. We show that our pulses have the desired effect on any input state (“Fidelity as a function of initial state”). Additionally, it is worth noting that having a finite \(\tau \) can have a desirable effect on the qubit, as it make the pulsing operation more adiabatic compared to using square pulses.

Figure 2
figure 2

(a) Amplitude profile of the ideal square pulse (solid blue line) to apply the linear bias given by Eq. (6). The pulse amplitude and duration are adjusted when the rise time \(\tau \) is finite. Values of time (pulse duration, rise time) and voltage (pulse amplitude) are given for illustration purposes only. (b) Multiplicative amplitude adjustment factor \(\xi \) given a target rotation angle \(\theta \). Each coloured line corresponds to a different \(\tau \) (see legend). (c) Additive pulse duration adjustment \(\Delta T\) with respect to the original square pulse time (see panel (a)). The rise times are not included in the additional pulse duration. Each coloured line corresponds to a different \(\tau \) (see legend of b).

Figure 3
figure 3

Example pulse sequences and associated qubit rotations. Top: rotation path on the Bloch sphere. Bottom: Optimized pulse sequence where \(T_x = \frac{2 \pi \hbar }{\Delta }\). To remain general, values of time and voltage are quoted as fractions of \(T_x\) and \(\frac{\Delta }{e\lambda }\) respectively. Exact experimental values will vary from one setup to the other. See the discussion for more details. All pulse sequences lead to a final state with a fidelity of >99.99%. Furthermore, the same pulse sequence can be used for any initial state on the Bloch sphere (see “Fidelity as a function of initial state”) without significant loss in fidelity.

General rotation scheme

To perform an arbitrary qubit rotation, we propose a scheme of concatenating square pulses of alternating amplitudes. We set the bias voltage to produce a detuning \(\epsilon =\pm \Delta \) , which gives the axes of rotation during pulsing to be in directions \((\frac{1}{\sqrt{2}},0,\pm \frac{1}{\sqrt{2}})\) on the Bloch sphere. We will call these axes \(\vec {z}^{\prime }\) \((\frac{1}{\sqrt{2}},0, \frac{1}{\sqrt{2}})\) and \(\vec {x}^{\prime }\) \((\frac{1}{\sqrt{2}},0,- \frac{1}{\sqrt{2}})\) respectively, as they are both rotated by \(\frac{\pi }{4}\) around \(\vec {y}\) w.r.t. the usual \(\vec {z},\vec {x}\) axis of the Bloch sphere. An arbitrary rotation can be performed by combining up to five rotations around any two perpendicular axes, simply by aligning \(\vec {x}^{\prime }\) with the desired axis of rotation \(\vec {n}\), performing the rotation, and then reversing the first step. An arbitrary rotation by angle \(\alpha \) can thus be performed around axis \(\vec {n}\) in the following way:

$$\begin{aligned} \begin{aligned} R_{\vec {n}} (\alpha )&= R_{\vec {x}^{\prime }}\left( \frac{\pi }{2}-\phi \right) R_{\vec {z}^{\prime }}(\theta ) R_{\vec {x}^{\prime }}(\alpha ) \\&\quad \cdot R_{\vec {z}^{\prime }}(-\theta ) R_{\vec {x}^{\prime }}\left[ -\left( \frac{\pi }{2}-\phi \right) \right] , \end{aligned} \end{aligned}$$

where \(\theta ,\phi \) are the angles of \(R_{\vec {y}}(\frac{\pi }{4}) \vec {n}\) on the Bloch sphere. The argument angles of the composite rotations correspond to durations of the composite pulses, with \(2\pi \) corresponding to \(T_{\textrm{rot}}=\frac{2 \pi \hbar }{\sqrt{\Delta ^2+\epsilon ^2}}\), the period of a full rotation around \(\vec {x}^{\prime }\) or \(\vec {z}^{\prime }\) while bias voltage is on. Since the rotation around \(\vec {x}^{\prime }\) or \(\vec {z}^{\prime }\) is always in the positive direction, any negative angles have to be replaced by a positive complement of \(2\pi \).

Equation (7) is simple to implement, but not optimal in operation time—it is known33 that three rotations are sufficient, which should result is a faster operation:

$$\begin{aligned} R_{\vec {n}} (\alpha ) = e^{i \beta } R_{\vec {x}^{\prime }}(\Theta _1) R_{\vec {z}^{\prime }}(\Theta _2) R_{\vec {x}^{\prime }}(\Theta _3). \end{aligned}$$

Here, \(\Theta _1\), \(\Theta _2\) and \(\Theta _3\) each depend on the angle and axis of the rotation.

State preparation

Before any quantum computation is performed, each qubit has to be initialized to a fiducial state, usually \(\vert {0} \rangle \) or \(\vert {1} \rangle \). For a generic operation, we would expect the initial state of the electron to be the ground state of the DQD (see Fig. 1). Such a state is not part of the qubit’s logical basis and an initial rotation is needed. In order to rotate the wave function from the ground energy eigenstate to the qubit \(\vert {0} \rangle \) state, we can take advantage of knowing the initial state to simplify the operation. A \(R_{\vec {z}^{\prime }}\left( \pi \right) \) rotation will initialise to the \(\vert {0} \rangle \) state, while a \(R_{\vec {x}^{\prime }}\left( \pi \right) \) will do so to the \(\vert {1} \rangle \) state. Both are achieved with a single pulse, thus simplifying the initial state preparation.

Single axis rotations

Any single-qubit operation can be expressed in terms of rotations around two perpendicular axes. Here we provide the control sequence for rotations around the usual \(\vec {x},\vec {y},\vec {z}\) Bloch sphere axes from an arbitrary point on the Bloch sphere.

The \(R_{\vec {y}}\) rotation consists of only 3 pulses owing to angle cancellation in Eq. (7) (as \(\phi =\frac{\pi }{2}\)):

$$\begin{aligned} R_{\vec {y}} (\alpha ) = R_{\vec {z}^{\prime }}\left( \frac{\pi }{2}\right) R_{\vec {x}^{\prime }}\left( \alpha \right) R_{\vec {z}^{\prime }}\left( \frac{3\pi }{2}\right) . \end{aligned}$$

To rotate in the opposite direction, one simply has to invert this pulse (swap \(\vec {x}^{\prime }\) and \(\vec {z}^{\prime }\)) to get:

$$\begin{aligned} R_{\vec {y}} (-\alpha ) = R_{\vec {x}^{\prime }}\left( \frac{\pi }{2}\right) R_{\vec {z}^{\prime }}\left( \alpha \right) R_{\vec {x}^{\prime }}\left( \frac{3\pi }{2}\right) . \end{aligned}$$

\(R_z\) and \(R_x\) rotations would require five pulses if done as per Eq. (7). Instead, we solve Eq. (8) for the angles to also perform them with just three pulses. Owing to symmetry, the first rotation is the same as the third one. Detailed derivation is presented in Sec. III of the Supplementary Information S1.

$$\begin{aligned} R_{\vec {x}/\vec {z}} (\alpha ) = R_{\vec {x}^{\prime }}\left( \Theta _1\right) R_{\vec {z}^{\prime }}\left( \Theta _2\right) R_{\vec {x}^{\prime }}\left( \Theta _1\right) , \end{aligned}$$


$$\begin{aligned} \Theta _1 = \arccos \left( \frac{\sqrt{2}\cos {\frac{\alpha }{2}}}{\sqrt{\cos {(\frac{\alpha }{2})}^2 +1}}\right) , \end{aligned}$$


$$\begin{aligned} \Theta _2 = 2\arctan \left( {\sin {\Theta _1}}\right) \end{aligned}$$

for \(R_{\vec {x}}\), and

$$\begin{aligned} \Theta _2 = 2\left( \pi -\arctan \left( {\sin {\Theta _1}}\right) \right) \end{aligned}$$

for \(R_{\vec {z}}\). Additionally, we note that \(-R_{\vec {z}}(\alpha ) = R_{\vec {z}}(-\alpha )\), which allows us to shorten operation time for rotations with \(\alpha \ge \frac{\pi }{2}\) by inverting the pulse profile to perform the complementary rotation instead.

We note that one of the effects of defining the qubit as in Eq. (1) is that \(R_{\vec {x}}\) rotation will occur automatically due to the Hamiltonian, with the rotation period \(T_x=\frac{2 \pi \hbar }{\Delta }\). In the many qubit case, all the qubits rotate at their respective frequencies, and one would usually work in the rotating basis, therefore an \(R_{\vec {x}}\) rotation still needs to be performed as per Eq. (11).

Instead of using the usual \(\vec {x},\vec {y},\vec {z}\) basis, we can instead use the \(\vec {x}^{\prime },\vec {y},\vec {z}^{\prime }\) basis which is more natural for the detuned system, and can be used to define logic gates with fewer pulses. A single \(R_{\vec {y}}(\frac{\pi }{4})\) rotation is required to move into this basis. \(R_{\vec {x}^{\prime }},R_{\vec {z}^{\prime }}\) are then achieved with a single pulse, while \(R_{\vec {y}}\) requires three, as in Eq. (9). This way, any computation can be performed in the rotated basis, where operations are quicker. At the end, one would need to rotate back to \(\vec {x},\vec {y},\vec {z}\) using a \(R_{\vec {y}}(-\frac{\pi }{4})\) rotation, for optimal readout of localised states.

Some logic gate examples are:

$$\begin{aligned} X&= R_{\vec {z}^{\prime }} (\pi ) , \end{aligned}$$
$$\begin{aligned} Y&= R_{\vec {y}} (\pi ) , \end{aligned}$$
$$\begin{aligned} Z&= R_{\vec {x}^{\prime }} (\pi ) , \end{aligned}$$
$$\begin{aligned} H&= R_{\vec {y}} (\frac{\pi }{2}) R_{\vec {x'}} (\pi ) , \end{aligned}$$
$$\begin{aligned} R_{\phi }&= R_{\vec {x}^{\prime }} (\phi ) . \end{aligned}$$

Correcting for rise time

To account for the actual experimentally realisable pulses not being square due to rise time and limited bandwidth, the bias voltage and pulse duration have to be adjusted. This adjustment depends on the target rotation angle and \(\tau \), but not on the input state. Therefore, it is sufficient to optimize a single pulse for the instrument rise time and range of desired rotations—these single pulses can then be concatenated into three-pulse trains to achieve arbitrary qubit rotations of high fidelity. Here we numerically find the correct adjustments. This allows experimentalists to apply the ideal control sequence by simply changing the amplitude and duration of each square pulse in the train, avoiding complicated pulse shapes while retaining high fidelity.

We present the numerical results for required amplitude \(\xi \) and pulse duration \(\Delta T\) adjustments, depending on \(\tau \) and angle of rotation \(\alpha \), all expressed in terms of the physical system parameters. Here, \(\xi \) is a multiplicative factor adjusting the amplitude with respect to the square pulse amplitude (\(\xi = 1\)), and \(\Delta T\) is the additive time adjustment with respect to the square pulse duration as well, as per Fig. 2a—it is always greater than zero. We use generalised rise times expressed in terms of a fraction of generalised time \(T_x\) (period of a full rotation without any pulsing), as seen in the legend of Fig. 2. We have chosen these values to correspond to minimum possible rotation angles of \(\frac{\pi }{8}, \frac{\pi }{6}, \frac{\pi }{4}, \frac{\pi }{3}, \frac{\pi }{2}\), from shortest to longest. These are the minimum possible rotations, because they are given by a pulse that consists only of rising/falling time, with no flat top, and is therefore the shortest pulse of desired amplitude that is possible. Of course, it is still be possible to rotate by an arbitrarily small angle indirectly by adding a \(2\pi \) rotation. As can be seen in Fig. 2b,c the required time adjustment rises exponentially with desired rotation angle. Therefore, it is optimal to compose any pulse of the smallest possible rotations, as this will result in shorter overall rotation time. If the target rotation angle does not subdivide into an integer number of shortest possible rotations, one needs to use somewhat longer sub-pulses appropriately. Assuming a sine-shaped rise ramp, this short pulse is a sine wave, which is straightforward to generate experimentally. Single qubit control can be achieved by sending sine waves, with frequency as high as experimentally possible, and amplitude given by \(\xi \) in Fig. 2b. Note that the only system-specific quantity is the energy gap \(\Delta \)—the signal frequency is independent of the qubit system and not resonant with the two-level system, and instead purely defined by experimental limitations of the equipment (\(\tau > 0\)). We present examples of rotations performed with this scheme in Fig. 3, which summarises our main results.

As the resulting fidelity varies significantly with even small deviations from the parameters found here, we find that trying to fit analytical expressions to the data is not very useful if high fidelity is required. While \(\Delta T\) as a function of rotation angle \(\theta \) seems to be an exponential, while \(\xi \) is a rotated S-curve, attempts to fit it results with unacceptably low fidelity for a large \(\theta \) range. Therefore, we suggest the gradient ascent search procedure described here be performed for the system of interest, taking into account the specificity of the experimental setup. This could be done using numerical simulations like in this work, or directly by taking actual measurements in an experiment. However, the latter might not be practical, as we find that thousands of fidelity evaluations are necessary to find good enough adjustment parameter values. If significant measurement error is present, the required number of experimental runs necessary might not be possible to realise, further highlighting the need for numerical simulations. Pseudo-code of the gradient ascent procedure is provided in the Supplementary Information S1—it should enable anyone to find the optimal parameters in a general case, for rise time and angles that are required.

Fidelity as a function of initial state

The error in fidelity is found by computing the absolute value squared of the overlap between the target state and the iterated state. Although some variation in fidelity is dependent on the initial state of the electron, any errors are below \(10^{-4}\), and as low as \(10^{-8}\) for some initial positions. This error could be reduced further if necessary by fine-tuning the adjustment parameters \(\xi , \Delta T\). Figures 4, 5, and 6 show a fidelity map for the \(R_x\), \(R_y\) and \(R_z\) rotations respectively, as a function of Bloch sphere angles \(\theta , \phi \). A rotation angle of \(\pi \) was chosen in each case, but the results are similar for all angles. Each plot corresponds to 500 simulations of the rotation starting from different initial states equally distributed over the Bloch sphere.

The use of full numerical simulations allows us to calculate the probability of a qubit leaving the computational subspace of the first two energy levels during the operation—termed ‘leakage’. We find that our scheme causes very low leakage. This is owing to two factors. Firstly, the proposed pulses do not have high frequency components or sudden jumps in amplitude. Secondly, the pulse amplitude is on the order of energy level difference, which is intrinsic to the pulse scheme. Because this amplitude is too low to induce energy level transitions, it is not a concern with this method. More quantitatively, the proposed pulse scheme results in leakage on order of \(10^{-5}\), defined as probability of finding the state outside the first two energy levels. We estimate that using strong square pulses that simply push the wave function to one side of the DQD would result in leakage of \(>2\%\), while square pulses of similar amplitude to ours can result in leakage of up to \(10^{-4}\).

Figure 4
figure 4

Error in fidelity for an \(R_x(\pi )\) rotation as a projection (left) and on the surface of the Bloch Sphere (right).

Figure 5
figure 5

Error in fidelity for an \(R_y(\pi )\) rotation as a projection (left) and on the surface of the Bloch Sphere (right).

Figure 6
figure 6

Error in fidelity for an \(R_z(\pi )\) rotation as a projection (left) and on the surface of the Bloch Sphere (right).


Noise is an important source of loss of fidelity in any qubit platform. If unaccounted for, the randomness of noise will lead to gradual loss of quantum information during a computation. While noise mitigation is not the goal of this work, we nonetheless investigate its impact here for completeness. In a quantum-dot-based qubit we base our simulations on, charge noise can be one of the main noise sources. It arises from fluctuations of charge states that lead to fluctuations of electric field a qubit experiences34.

We examine the robustness of our control protocol using charge-like noise as an example. We use a simple model where the charge noise is low-frequency and can be assumed to be constant during a single quantum operation35. In practice, this could result from some charge trapped temporarily on one side of the DQD, imparting an electric field gradient, effectively adding an unwanted random bias voltage. Therefore, to calculate the resulting fidelity loss, we average the resulting fidelity from many simulations, each with a random amplitude. The effective Hamiltonian has an additional noise term:

$$\begin{aligned} \hat{H}_{\textrm{noise}}(t) = -\frac{1}{2} \,[\epsilon (t)+\delta _{\textrm{noise}}] \,\sigma _{x} + \frac{1}{2} \,\Delta \,\sigma _{z} , \end{aligned}$$

where \(\delta _{\textrm{noise}}\) is the noise amplitude randomly drawn from a normal distribution with mean \(\mu =0\) and standard deviation \(\sigma _{\textrm{noise}}\), which quantifies noise strength.

A large number (order of 100) of simulations are run with this randomised noise for some example operations, and the effects of this noise are compared between a square wave, and adjusted pulses accounting for rise time that are the result of this work. The random number generator seed is the same for both cases, so that they experience exactly the same noise and thus can be compared fairly. We find that the effects of noise on \(R_{\vec {y}}\) and \(R_{\vec {z}}\) rotations are not affected by our pulsing method. This is to be expected, as the pulse was not designed with noise in mind. At the very least, we confirm that our proposed pulse is not any worse than an idealised square wave, and further error mitigation techniques can be applied to it, as they would be to a square pulse, without it causing any loss of fidelity, while the problems associated with rise time are solved.

However, we find that there is a subset of cases where our pulse sequence does produce a reduction in noise-related errors. When performing an \(R_{\vec {x}}\) rotation, it is possible to sub-divide the pulse into further smaller sub-pulses that add up to the total angle of rotation \(\theta \). This is only possible when the rise time constraint allows for such a division, as there will exist a minimum angle that you cannot subdivide further. For the \(R_{\vec {z}}\) rotation however, this method doesn’t work well, as the angle \(\Theta _2\) is always relatively large, even for small total rotation angle \(\alpha \). Therefore, attempting to subdivide a larger rotation would result in a very long total operation time, as the total angle that needs to be rotated is no longer (approximately) proportional to \(\alpha \). The case for \(R_{\vec {y}}\) suffers from similar issues as \(R_{\vec {z}}\), therefore one cannot use this optimisation by subdivision to improve resilience against noise. The dependence of total rotated angle (which approximately corresponds to total operation time) on the required rotation angle \(\alpha \) is different for \(R_{\vec {y}}\) and \(R_{\vec {z}}\) rotations, compared to \(R_{\vec {x}}\), therefore noise reduction occurs only in the latter.

An example of noise reduction owing to subdivision into smaller pulses for an \(R_{\vec {x}}\) rotation is presented in Fig. 7.

Figure 7
figure 7

Up to 250% gain in fidelity is observed when performing an \(R_{x}\) rotation by \(\theta =\frac{3}{2}\pi \). Noise strength is expressed in units of reference pulse strength \(\sigma _{\textrm{noise}} = \frac{\Delta }{e \lambda }\), and varied from \(0.01 \frac{\Delta }{e \lambda }\) to \(0.2 \frac{\Delta }{e \lambda }\).

This beneficial effect of subdividing the pulse can be understood by investigating the pulse sequence that achieves the rotation. As seen in Fig. 8, which shows a pulse shape of a noise-reducing sequence, the oscillating nature of the pulse takes it from being negative to positive frequently. This will average out the influence of noise to a significant degree, while keeping the total operation time close to the one for an ideal square wave.

Figure 8
figure 8

A gain in fidelity is observed when performing an \(R_{x}\) rotation by \(\theta =\frac{3}{2}\pi \)—see Fig. 7. The resulting pulse train oscillates from negative to positive multiple times, effectively canceling out some of the noise.

Overall, we conclude that the control techniques presented here are at least as good in resisting noise as using a square wave, and can improve upon it under certain conditions. The optimised \(R_{\vec {x}}\) rotation is able to mitigate charge noise up to almost threefold in the fidelity error (this gain increases with noise strength), given that rise time \(\tau \) enables one to perform multiple smaller rotations that add up to a required total angle. Therefore, our waveforms are suitable to replace the square wave, and to have further noise-reducing methods applied upon them, while they offset any errors due to rise time. However, specific noise mitigation beyond what is achieved by our pulse is outside the scope of this work.


When experimentally optimising qubit rotations, voltage pulses are usually considered as square while rise and fall times from instrument limitations and other filtering effects due to the finite bandwidth of coaxial cables are neglected. While the voltage is gradually rising to some intended amplitude, the qubit will undergo transient rotations, and will not reach the expected position on the Bloch sphere. These errors accumulate over long operations, leading to poor fidelity. Moreover, applying very sharp pulses of high amplitude, with the intent of performing an \(R_z\) rotation, can lead to unwanted energy excitations due to non-adiabacity, causing further fidelity loss23,24,25. The control scheme presented here overcomes both problems by explicitly adjusting the pulses for rise time, and by using relatively low pulse amplitudes, making the operations adiabatic. By using a specific amplitude giving us two perpendicular rotation axes, we achieve single-qubit control without the need for strong non-adiabatic pulses, or the requirement for perfectly square ones. The disadvantage of this scheme is operation time. As the pulse amplitude is tied to the energy gap between the first two eigenstates of the DQD, there is little control of the rotation speed, at least in the case of a semiconductor DQD system. However, careful engineering of the DQD allows for the operation time to be tailored or optimized21. As long as the system energies can be tuned so that the operation time is much less than qubit coherence time, the benefits of increased operation fidelity will outweigh the cost of increased duration.

In this work, we simulate a semiconductor GaAs-based DQD using finite difference methods (Details in Supplementary Information S1). The parameters for our simulations were chosen to be experimentally realistic in terms of energy, time scales and pulse generation. We kept these values general since specific rise/fall times and inter-dot energies will depend on each experimental implementation. Most modern pulsed pattern generators have a \(\tau \) in the range of a few tens or a few hundreds of ps. For example, the Keysight 81134A Pulse Pattern Generator36 has a rise time of 60 ps between 20 and 80\(\%\) of the target amplitude while the Anritsu MP1900A37, which is the most modern version, has \(\tau \) between 8.5 and 12 ps, depending on the options. Therefore, the \(\tau \) values used in this work are easily reachable by off-the-shelf instruments, and can even be exceeded. Experimental work by Fujisawa et al.2,38 contain gate pulses with \(\tau \sim 100\) ps, with total pulse time of 600 ps and \(V_{\textrm{bias}} = 40\,\, \mu \)eV. More recent work achieves at least 40 ps pulse resolution with advanced techniques39. Our work is relevant to materials where the spin-orbit interaction is sufficiently weak that on the decoherence time of the qubit, it is irrelevant. For example, in GaAs or Si quantum dots, the charge lifetime is orders of magnitude shorter than the spin lifetime4,40,41,42.

The groups cited above as well as other semiconductor-based quantum dot research could practically eliminate errors due to rise time and pulse-induced excitations outside of the computational space by using our proposed pulse sequences.

While the semiconductor charge qubit system was used in simulations in this work, our results are easily generalizable to other types of qubits, as long as the Hamiltonian is of a similar form to Eq. (2). For example, the same scheme can be used to control a spin qubit by varying the magnetic field B instead of a voltage bias. In this particular case, it is easier to adjust the energy splitting \(\Delta = \frac{1}{2} \gamma B\) by applying a strong reference magnetic field. Increasing \(\Delta \) will result in faster operation. However, in the charge qubit case, it is achieved by lowering the DQD barrier. This will increase the overlap between eigenstates, decreasing localization and thus readout fidelity. No such issue arises for the spin qubit, overcoming the slower operation time of our framework. Our results can then be directly translated to the spin qubit case, by applying a magnetic field \(B^{\prime }\) in some perpendicular direction to B.

We have described quantum control of the optimal charge qubits for a double-quantum dot system. We presented pulse sequences for state preparation and arbitrary qubit rotations, and show how to account for the experimental control suffering from finite rise/fall times. Owing to hybridization of the eigenstates in a double-dot system, the spatial wave function of the two lowest energy eigenstates cannot be confined exclusively to the left and the right dot. The optimal qubit was found to be defined in terms of the two lowest energy eigenstates of a zero-bias system. This allowed us to reduce our model to a two-state system.

We show that it is possible to prepare the qubit in such a state when it is initially in the ground state of a DQD. Combining theory and numerical techniques yields an optimal pulse sequence that accomplishes arbitrary single-qubit rotation even with non-zero rise time \(\tau \). We demonstrate how our framework results in high fidelity despite \(\tau > 0\), while avoiding unwanted excitation to higher energy states. Indeed, we show that square pulses are not only unnecessary, but also undesirable, as the sharp rise can induce unwanted oscillations, while being simple to account for. Since our proposed pulse sequence reduces to sine waves to minimize total pulse duration, it is straightforward to implement experimentally. As our numerical fitting parameters depend only on the energy splitting \(\Delta \), the results are easily scalable to any particular system. Our scheme is easily generalizable to other qubit systems with similar Hamiltonians, such as spin qubits.

Additionally, we study a model of charge noise, and find that our pulse scheme is at least as good as using square waves, and it some cases it even significantly reduces errors due to noise. This further justifies using our method as a direct replacement for square waves, as other noise mitigation and error correction techniques can be used on top of it.

Overall, applying our results will lead to increased operation fidelity in many systems, making them viable for practical quantum computing applications.

Our method of accounting for rise/fall times bears resemblance to the GRAPE (Gradient Ascent Pulse Engineering) algorithm43, however there are important differences. Our method specifically works to cancel the rise/fall times of assumed profile (sinusoidal in this work, but the method can be used for any shape), resulting in a simple lookup of two parameters \(\xi \) and \(\Delta T\) depending on required angle of rotation and \(\tau \) itself. GRAPE instead is a more general “black box” technique that tries to optimise a pulse sequence by constructing it from slices of piecewise constant amplitudes, by tuning these amplitudes via gradient ascent methods. This research can also be used to optimize current geometric approaches to pulse shaping44 by taking rise times into account explicitly. We find that the method used here is simpler to implement for experimentalists, outputs a waveform composed of sinusoids, which can be described analytically, and is, by design, not limited by the device rise/fall time.