Introduction to Quantum Computing and Quantum Hardware

This course is an introduction to the world of quantum computing, with an exploration of some of the key quantum algorithms and their implementations using quantum circuits, as well as the quantum hardware that is designed to run these algorithms. The course was first offered during the Qiskit Global Summer School in July 2020 as a two-week intensive summer school.

There are 27 lectures in this course, which cover the material in 9 lecture notes and 9 associated labs. The textbook for the course is available online: Learn Quantum Computation using Qiskit.

Prerequisites

In order to make the best out of these lectures, we strongly recommend reviewing linear algebra and brushing up on Python. Here are some recommended materials:

• Multiplying two matrices, introductory linear algebra:
• Basic familiarity with Python:

Curriculum

Lecture Video Notes Lab
Lecture 1
Qubits and Quantum States, Quantum Circuits, Measurements Part 1
(Lecturer: Elisa Bäumer)
Lecture Video Lecture Notes 1 Lab 1
Lecture 2
Qubits and Quantum States, Quantum Circuits, Measurements Part 2
(Lecturer: Elisa Bäumer)
Lecture Video
Lecture 3
Qubits and Quantum States, Quantum Circuits, Measurements Part 3
(Lecturer: Elisa Bäumer)
Lecture Video
Lecture 4
Writing and Running Quantum Programs Part 1
(Lecturer: Elisa Bäumer)
Lecture Video Lecture Notes 2 Lab 2
Lecture 5
Writing and Running Quantum Programs Part 2
(Lecturer: Elisa Bäumer)
Lecture Video
Lecture 6
Writing and Running Quantum Programs Part 3
(Lecturer: Elisa Bäumer)
Lecture Video
Lecture 7
Shor's Algorithm I: Quantum Fourier Transform, Quantum Phase Estimation Part 1
(Lecturer: Abraham Asfaw)
Lecture Video Lecture Notes 3 Lab 3
Lecture 8
Shor's Algorithm I: Quantum Fourier Transform, Quantum Phase Estimation Part 2
(Lecturer: Abraham Asfaw)
Lecture Video
Lecture 9
Shor's Algorithm I: Quantum Fourier Transform, Quantum Phase Estimation Part 3
(Lecturer: Abraham Asfaw)
Lecture Video
Lecture 10
Shor's Algorithm II: From Factoring to Period-Finding, Writing the Quantum Program Part 1
(Lecturer: Abraham Asfaw)
Lecture Video Lecture Notes 4 Lab 4
Lecture 11
Shor's Algorithm II: From Factoring to Period-Finding, Writing the Quantum Program Part 2
(Lecturer: Abraham Asfaw)
Lecture Video
Lecture 12
Shor's Algorithm II: From Factoring to Period-Finding, Writing the Quantum Program Part 3
(Lecturer: Abraham Asfaw)
Lecture Video
Lecture 13
Quantum Error Correction using Repetition Codes Part 1
(Lecturer: James Wootton)
Lecture Video Lecture Notes 5 Lab 5
Lecture 14
Quantum Error Correction using Repetition Codes Part 2
(Lecturer: James Wootton)
Lecture Video
Lecture 15
Quantum Error Correction using Repetition Codes Part 3
(Lecturer: James Wootton)
Lecture Video
Lecture 16
Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions Part 1
(Lecturer: Zlatko Minev)
Lecture Video Lecture Notes 6 Lab 6
Lecture 17
Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions Part 2
(Lecturer: Zlatko Minev)
Lecture Video
Lecture 18
Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions Part 3
(Lecturer: Zlatko Minev)
Lecture Video
Lecture 19
Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods Part 1
(Lecturer: Zlatko Minev)
Lecture Video Lecture Notes 7 Lab 7
Lecture 20
Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods Part 2
(Lecturer: Zlatko Minev)
Lecture Video
Lecture 21
Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods Part 3
(Lecturer: Zlatko Minev)
Lecture Video
Lecture 22
Quantum Chemistry I: Obtaining the Qubit Hamiltonian for H2 and LiH Part 1
(Lecturer: Antonio Mezzacapo)
Lecture Video Lecture Notes 8 Lab 8
Video
Lecture 23
Quantum Chemistry I: Obtaining the Qubit Hamiltonian for H2 and LiH Part 2
(Lecturer: Antonio Mezzacapo)
Lecture Video
Lecture 24
Quantum Chemistry I: Obtaining the Qubit Hamiltonian for H2 and LiH Part 3
(Lecturer: Antonio Mezzacapo)
Lecture Video
Lecture 25
Quantum Chemistry II: Finding the Ground States of H2 and LiH Part 1
(Lecturer: Abhinav Kandala)
Lecture Video Lecture Notes 9 Lab 9
Lecture 26
Quantum Chemistry II: Finding the Ground States of H2 and LiH Part 2
(Lecturer: Abhinav Kandala)
Lecture Video
Lecture 27
Quantum Chemistry II: Finding the Ground States of H2 and LiH Part 3
(Lecturer: Abhinav Kandala)
Lecture Video
Panel Discussion
Careers in Quantum Computing
(Hosted by Amira Abbas)
Video

Course Description

The structure of the course is as follows:

• Lectures 1 – 6 provide an introduction to quantum computing and quantum algorithms using quantum circuits. The emphasis here is on understanding how to work with quantum states, and operate on them using quantum circuits.
• Lectures 7 – 12 are designed to teach Shor's algorithm. The first three lectures focus on building intuition for the quantum Fourier transform and quantum phase estimation, while the next three lectures focus on the implementation of Shor's algorithm using quantum circuits.
• Lectures 13 – 15 introduce quantum error correction using repetition and surface codes. The lectures show the kinds of errors that can happen during a quantum computation, and methods to do quantum computation in the presence of these errors.
• Lectures 16 – 21 introduce the hardware used for quantum computation, with emphasis on superconducting qubits. The first three lectures discuss how to build a superconducting transmon quantum bit (qubit) out of an anharmonic oscillator using Josephson junctions, while the next three lectures focus on coupling to the qubit in a circuit quantum electrodynamics architecture.
• Lectures 22 – 27 introduce the techniques used to solve quantum chemistry problems using gate-based quantum computers, with emphasis on superconducting qubits. The first three lectures describe the structure of quantum chemistry problems and discuss methods for converting these problems into ones that can be mapped onto a gate-based quantum computer, while the next three lectures focus on extracting the best performance from the quantum hardware to solve quantum chemistry problems by implementing variational quantum eigensolvers.

The associated labs are provided as zip files. Each lab comes in a zip file containing the exercises in a Jupyter notebook named `lab-x.ipynb` and solutions in another notebook named `lab-x-solutions.ipynb`. The labs are structured as follows:

• Labs 1 and 2 support the material in lectures 1 – 6 with hands-on exercises in Qiskit. Lab 1 covers single-qubit and multi-qubit states and quantum teleportation. Lab 2 covers the implementation of Grover's algorithm using quantum circuits.
• Labs 3 and 4 support the material in lectures 7 – 12 with hands-on exercises in Qiskit. Lab 3 covers the implementation of standard quantum phase estimation, and lab 4 implements Shor's algorithm to factor 15 into 3 and 5.
• Lab 5 supports the material in lectures 13 – 15 with hands-on exercises in Qiskit. It provides a hands-on exercise on implementing repetition codes and seeing their performance in the presence of noise.
• Labs 6 and 7 support the material in lectures 16 – 21 with hands-on exercises in Qiskit. Lab 6 provides a hands-on exercise on driving qubits in Rabi and Ramsey experiments to calibrate the qubit's π pulse drive strength and frequency. Lab 7 provides a hands-on exercise on qubit spectroscopy, showing how the qubit transitions 0-1 and 1-2 can be determined.
• Labs 8 and 9 support the material in lectures 22 – 27 with hands-on exercises in Qiskit. Lab 8 provides a hands-on demonstration of obtaining the qubit operators for simulating the ground state of the molecule LiH. Lab 9 provides a hands-on exercise on preparing trial states for a variational quantum eigensolver, and computing the expectation values of the various Pauli operators from measurement outcomes.

Contributors

The lectures and labs were prepared and delivered by Abraham Asfaw, Elisa Bäumer, James Wootton, Zlatko Minev, Nicholas Bronn, Antonio Mezzacapo and Abhinav Kandala.

During the delivery of the lectures in 2020 as part of the Qiskit Global Summer School, Brian Ingmanson, Suzie Kirschner and Josie Kies hosted the lectures. Salvador de la Puente González and Luciano Bello built the grading system used in the labs. Josie Kies built the Discord server that supported the community during the Qiskit Global Summer School. Leron Gil and Yaiza Garcia built this website. Amira Abbas hosted the discussion on careers in quantum computing, which included Jay Gambetta, Steve Girvin, John Preskill, Marina Radulaski, Monika Schleier-Smith, Birgitta Whaley. Paul Searle edited the videos.

Special thanks to the 2020 class of IBM Quantum interns and the entire community of the Qiskit Global Summer School 2020 for contributing to the quality of these lectures and labs.

Usage and Citation

If you use the lectures and labs in your course, you can gain access to the IBM Quantum Educators Program. Please cite the material as:

IBM Quantum team, Introduction to Quantum Computing and Quantum Hardware (2020). http://qiskit.org/learn/intro-qc-qh