PHY 7097 "Quantum Computing for Physicists"
Class Diary for Fall 2020 (tentative!)


Date Notes
Monday 8/31 Introductions, course policies. Syllabus
Motivational watching: Career panel: How to Get a Job in Quantum Computing . Panel Members: Jay Gambetta, IBM Fellow and Vice President, IBM Quantum; Marina Radulaski, Assistant Professor of Electrical & Computer Engineering at UC Davis; K. Birgitta Whaley, Director, Berkeley Quantum Information and Computation Center; Steve Girvin, Eugene Higgins Professor of Physics at Yale University; Monika Schleier-Smith, Associate Professor of Physics at Stanford University; John Preskill, Richard P. Feynman Professor of Theoretical Physics, Allen V.C. Davis and Lenabelle Davis Leadership Chair, IQIM
Motivational reading: The Hitchhiking Cat's Guide to Getting a Job in Quantum Computing.
Food for thought: National Quantum Initiative Act
Recently published: Report of the DOE Quantum Internet Blueprint Workshop
The government view: QuantISED and National QIS Research Centers
Hot off the press: National QIS Research Centers
Worth bookmarking: Quantiki
Wednesday 9/2 Compare-and-contrast discussion of classical computing and quantum computing. The three basic stages of a computation: input preparation, operation, reporting the result.
Classical bits. Labelling of states. Binary and decimal notation. Reversible and irreversible operations on classical bits.
Friday 9/4 Final classical bits example: three bits. Labelling the states. Reversible operations.
From bits to qubits: quantum superposition.
Dirac notation (ket, bra, bra-ket and ket-bra).
Measurements, relation between amplitudes and probabilities.
Bloch sphere. The |0> and |1> states on the Bloch sphere.
Relevant videos: The qubit, Tips for working with qubits, or
Qubits, Geometric representation, Bra ket notation.
Monday 9/7 Labor Day - no class.
Wednesday 9/9 Further explorations of the Bloch sphere. Antipodal points. Orthogonal states.
Dirac notation versus vector notation.
Different computational basis states: |0> and |1>; |+> and |->, |+i> and |-i>. Switching between different bases. Performing measurements in different bases.
Quantum circuits: basic single-qubit gates: X, Y, Z, S, T, H.
Friday 9/11 Qiskit tutorial: qiskit installation on google colab.
Creating single qubit states. Visualizing the qubits: the Bloch sphere, the Q-shpere, city view of the state matrix, Pauli expansion, Hinton representation.

Local installation instructions: video instructions; written instructions.
Monday 9/14 Qiskit tutorial: single qubit circuits; quantum gates; operator identities.
Single qubit circuits. Single qubit gates. Quantum gate menu: I, X, Y, Z, H, S, T. Studying the effect of the gate. Circuits with multiple gates. Operator identities.

M. Nielsen: The quantum NOT gate, The Hadamard gate, General single-qubit gates, Examples of single-qubit quantum gates
Wednesday 9/16 Qiskit tutorial: more single qubit circuits; quantum measurement.
Deriving the equivalent circuit with the UnitarySimulator. Converting the result into latex. Deriving operator identities with a quantum circuit.
Initializing the quantum register. Using the StatevectorSimulator.
Irreversible operations: quantum measurements, resetting the qubit. Simulating pseudoexperiments to measure the qubit.
M. Nielsen: Measuring a qubit, Why unitaries are the only matrices which preserve length
Abe Asfaw: Programming on Quantum Computers Episode 3 "Hello World"
Friday 9/18 Qiskit tutorial: multiple-qubit circuits; Bell states.
Two-qubit states. Multiparticle quantum states. Representation on the Q-sphere.
Correlated and uncorrelated states. Entanglement, Bell states. Controlled gates.
M. Nielsen: The controlled-NOT gate, Universal quantum computation, Preparing the Bell state, What's so special about entangled states anyway?
Abe Asfaw: Programming on Quantum Computers Episode 4 "Building Blocks of Quantum Circuits"
Monday 9/21 Qiskit tutorial: teleportation.
Randomly generating multi-qubit states. Ordering conventions in Qiskit.
Team exercises: C-X, C-Y, C-Z, Toffoli gates.
Creating Bell states with a quantum circuit.
Quantum cryptography. Alice and Bob experiment. Teleportation protocol. Explanation of why it works.

Reference: Teleportation chapter in the online Qiskit textbook.
Video: Lecture 1 from the 2020 Qiskit summer school.
M. Nielsen: Partial measurements, Partial measurements in an arbitrary basis, Quantum teleportation, Quantum teleportation: discussion
Minutephysics: How to Teleport Schrödinger's Cat
Abe Asfaw: Programming on Quantum Computers Episode 5 "Quantum Teleportation Algorithm"
Wednesday 9/23 Qiskit tutorial: superdense coding.
Review: the quantum circuit implementation of the quantum teleportation protocol.
Derivation/proof of the quantum teleportation protocol.
Quantum teleportation versus superdense coding.
Derivation/proof of the superdense coding protocol.
Team exercise: construct the quantum circuit for the superdense coding protocol.
Advanced topic: Entanglement measures.
M. Nielsen: Superdense coding: how to send two bits using one qubit (watch for a typo in the 11 case), Distinguishing quantum states, Superdense coding redux: putting it all together
Friday 9/25 Qiskit tutorial: Oracles, Deutsch-Jozsa algorithm.
Review: The quantum circuit for the superdense coding protocol.
Boolean oracles. Constant and balanced functions. Implementing oracles with quantum circuits.
The Deutsch problem. Deutsch's algorithm: quantum circuit and why it works.
The Deutsch-Jozsa problem.

D. Deutsch: A Quantum Algorithm
Lecture 2a from the IBM Qiskit global summer school.
Monday 9/28 Qiskit tutorial: Grover's algorithm, amplitude amplification.
Unstructured search. Amplitude amplification: phase inversion + reflection about the mean.
Optimal number of iterations.

D. Deutsch: Grover's search algorithm
Lecture 2b from the IBM Qiskit global summer school.
Wednesday 9/30 Qiskit tutorial: team practice on Grover's algorithm.
Exercise 1: 2 qubits with one marked element.
Exercise 2: 3 qubits with one marked element.
Exercise 3: 3 qubits with two marked elements.
Friday 10/02 Qiskit tutorial: Quantum Fourier Transform.
Lecture 3 part 1 and Lecture 3 part 2 from the IBM Qiskit global summer school.
Monday 10/05 Qiskit tutorial: Quantum Phase Estimation.
Lecture 3 part 3 from the IBM Qiskit global summer school.
Wednesday 10/07 Qiskit tutorials:
Qiskit practice: team exercises on QPE.
Shor's factoring algoritm: the basic steps and their classical implementation.
Coding practice: team exercises using Shor's factoring algorithm.

Minutephysics: Basic explanation.
Lecture 4 part 1 (mostly a review) and Lecture 4 part 2 from the IBM Qiskit global summer school.
Friday 10/09 Qiskit tutorial:
Shor's algorithm - testing the code from last time.
Shor's algorithm - the quantum circuit. Derivation of the intermediate states.
Development libraries and tools for quantum computing.
Cirq tutorial: simple gates.
Lecture 4 part 3 from the IBM Qiskit global summer school. Interview with Peter Shor.
Monday 10/12 Qiskit extra credit challenge: the Bernstein-Vazirani algorithm.
Abe Asfaw, Programming on Quantum Computers: Ep. 6: The Bernstein-Vazirani algorithm.
Wednesday 10/14 First exam.
Friday 10/16 Topic 1: [Qiskit practice] Experiencing the IBM Quantum Experience.
Topic 2: Solving combinatorial optimization problems with adiabatic quantum optimization arXiv:1302.5843 [cond-mat.stat-mech].
Topic 3: Quantum games:
1. Qiskit Blocks. Abe Asfaw, Programming on Quantum Computers: Ep. 9: Quantum games
2. Decodoku by James Wootton.
3. Quantum chess and the like. Watch Stephen Hawking's epic match. See also article here.
4. Hello Quantum

Passing of the baton to P. Ramond.
Monday 10/19
Wednesday 10/21
Friday 10/23
Monday 10/26
Wednesday 10/28
Friday 10/30
Monday 11/02
Wednesday 11/04
Friday 11/06
Monday 11/09
Wednesday 11/11 Veteran's day - no class.
Friday 11/13
Monday 11/16
Wednesday 11/18
Friday 11/20
Monday 11/23
Wednesday 11/25 Thanksgiving holiday - no class.
Friday 11/27 Thanksgiving holiday - no class.
Monday 11/30
Wednesday 12/02
Friday 12/04
Monday 12/07 Second exam.
Wednesday 12/09 Review of the second exam.