Cahyati Supriyati Sangaji (My Note)

In this lab, you will take what you learned about the interactions between qubits and resonators to perform transmon spectroscopy with the pulse simulator.

Installing Necessary Packages

Before we begin, you will need to install some prerequisites into your environment. Run the cell below to complete these installations. At the end, the cell outputs will be cleared.

Simulating the Transmon as a Duffing Oscillator

the transmon can be understood as a Duffing oscillator specified by a frequency 𝜈, anharmonicity 𝛼, and drive strength 𝑟, which results in the Hamiltonian

Qiskit Pulse Overview

As a brief overview, Qiskit Pulse schedules (experiments) consist of Instructions (i.e., Play) acting on Channels (i.e., the drive channel). Here is a summary table of available Instructions and Channels:

For more detail, this table summarizes the interaction of the channels with the actual quantum hardware:

However, we find it is more instructive to begin with guided programming in Pulse. Below you will learn how to create pulses, schedules, and run experiments on a simulator. These lessons can be immediately applied to actual pulse-enabled quantum hardware, in particular ibmq_armonk.

Let’s get started!

In most of the cells below, nothing needs to be modified. However, you will need to execute the cells by pressing shift+Enter in each code block. In order to keep things tidy and focus on the important aspects of Qiskit Pulse, the following cells make use of methods from the helper module. Before coming to the discussion of Sideband Modulation, the following code blocks

  • create backend pulse simulator and instantiate the transmon as a Duffing oscillator of frequency ∼5 GHz
  • import libraries for numerics and visualization, and define helpful constants
  • create the channels for the pulse schedule and define measurment schedule (we will only work with the drive channel)

Instantiate channels and create measurement schedule

We will use the same measurement schedule throughout, whereas the drive schedules will vary. This must be built for the simulator, for a real backend we can ask for its default measurement pulse.

Sideband Modulation

This is achieved by multiplying each sample amplitude by a complex exponential

but we will tuck the details away in the helper module. The important thing is that we must apply the sideband for each pulse in order to change its frequency.

Now, instead of assemble'ing a single schedule with an array of schedule LO's as, we will create a schedule of the same pulse sidebanded by an array of sideband frequecies at a fixed LO frequency. Since we are now considering a transmon, we have multiple energy levels we can perform spectroscopy on. We will being with spectroscopy of the |0⟩→|1⟩ transition, which is the one used as the qubit, often called the computational basis.

We will fit the spectroscopy signal to a Lorentzian function of the form

Exercise 1: Spectroscopy of 1->2 transition

The anharmonicity of our transmon qubits is typically around −300 MHz, so we will sweep around that value.

We will again fit the spectroscopy signal to a Lorentzian function of the form

Additional Resources

The Qiskit textbook sections that cover this material are

Watch the videos


Qiskit (Global Summer School), Introduction to Quantum Computing and Quantum Hardware — Lab 7.