Qiskit Pulse Can Make Custom Gates Ten Times Better Than The Default Ones

Sep 21, 2020 · 5 min read
Qiskit Pulse

By Andre Carvalho, Q-CTRL and Nate Earnest-Noble, IBM Quantum

Qiskit is far more than software for writing quantum circuits and implementing quantum algorithms. With Qiskit Pulse, Qiskitters have unprecedented control over the waveforms used to control quantum computers, including architectures other than our own superconducting qubits, in order to study and mitigate noise in these devices. Now, our collaboration between IBM Quantum and Q-CTRL has used Qiskit Pulse to demonstrate a feat in correcting for noise on today’s early quantum computers.

Today, we’re reporting that we used Qiskit Pulse and Q-CTRL’s BOULDER OPAL to run error-robust quantum gates on a five-qubit IBM Quantum Canary processor, representing up to a ten-times improvement in error suppression over pre-programmed single-qubit Qiskit gates alone. These results show just how powerful pulse-level control can be for programming a quantum computer over the cloud.

Quantum computers are noisy devices. Even the best superconducting quantum bits forget their quantum information in less than a millisecond due to noise from interactions with the outside world. Much of today’s hardware research focuses on how to mitigate the computing errors caused by this noise as we pursue large-scale, fault-tolerant devices.

In the meantime, teams from IBM, Q-CTRL, and many others are developing error reducing techniques. Here, we present some work that incorporates noise-aware control over qubits.

Noise isn’t always random — some sources of noise exhibit patterns caused by their underlying source, such as drift in the hardware or ambient fields. Pulse-level control offers a way to handle these less-random noise sources.

IBM Quantum already incorporates noise-aware control when implementing gates, such as Derivative Removal by Adiabatic Gate (DRAG), which ensures that qubits only access the states used for computation, or the Echoed Cross Resonance gates, which remove undesired two-qubit interactions. Here, we are correcting hardware errors caused by qubit frequency detuning, leakage, and microwave amplitude fluctuations by crafting custom gates with specially-tuned phases and amplitudes and sending them to the five-qubit Valencia processor over the cloud.

How do we decide what the pulses should look like? We start by analyzing the Hamiltonian — the energy equation — that describes the quantum computer’s operations at a physical level. This information allowed us to craft hardware-aware logic gates, like the X or the Hadamard gate, specially tuned to the device we’re controlling, even incorporating smoothing filters that correct for noise introduced by the dilution refrigerator’s finite bandwidth limitation. Below, you can see what one of those pulses looks like, decomposed into I and Q, the real and imaginary parts of the pulse, respectively. (Pulses are decomposed into a complex-valued waveform based on the Rabi rate, Ω, and the drive phase 𝜙, where the pulse is equal to I(t) + iQ(t). I = Ω cos(𝜙), while Q = Ω sin(𝜙).)

Microwave pulses sent to qubits with the help of Qiskit Pulse

IBM Quantum’s hardware and Qiskit Pulse define pulses that have their own set of variables and constraints, so we had to calibrate our pulses to the hardware by developing a mapping between the hardware’s variables and our control pulse’s I and Q variables. We performed a Rabi experiment, varying a square pulse’s duration and measuring the qubit’s response in order to determine the Rabi rate. We repeated this experiment with various pulse amplitudes to create a mapping table between the hardware and the pulses that we sent. Then, we fine-tuned our pulses to account for the differences between values that we send the chip and what the qubit actually reads.

After all of this pulse design and calibration, we showed that our single-qubit gates consistently outperformed default gates:

  • Error rates were up to ten times better on the new gates
  • Error rates were five times better on average for the whole IBM Quantum Valencia device we experimented on.
  • These pulses reduced the gate variability between qubits — we were able to make all of the qubits perform nearly as well as the best-performing qubit.
  • Our calibration remained useful for a week, rather than for default gates that require daily calibration.
  • These gates worked well in parallel, and were resilient to ambient noise as well as crosstalk noise that arises when we act on multiple qubits simultaneously.

We’ve included a graph of the results below comparing the error rates of the default X-gate on the left and our custom gates on the right, where darker colors mean lower error rates.

A default X-gate (left) versus our custom X-gate (right)

On top of our control scheme, the Q-CTRL team even used machine learning in order to develop optimized quantum controls without the need for any knowledge of the hardware. We constrained an algorithm to create new controls and perform certain experiments, combined with a decision engine that decides what to do with new information. This algorithm was able to learn about the hardware and the physics in order to find gates that were up to two times faster than the Qiskit defaults. The Q-CTRL team will be publishing more on this soon.

We hope this has demonstrated the power of Qiskit Pulse, and the performance gains that can be had with pulse-level control over our own IBM Quantum devices as well as other hardware architectures. We encourage you to get started using Qiskit and to try crafting pulses of your own and help us continue pushing the quantum computing field forward.

Learn more about Q-CTRL’s BOULDER OPAL software here.


A community to discuss Qiskit, programming quantum…