© Robert Niffenegger (2025)
Introduction to Quantum Computing begins with a foundation in quantum optics, studying the Mach-Zehnder interferometer. We then explore atomic physics and quantum mechanics in the context of various qubit technologies, such as trapped ions.
Throughout the semester, students engage in weekly Python labs based on QuTiP where they program simulations of single-qubit operations, including Rabi oscillations and Ramsey pulse sequences, as well as generating two-qubit from first principles with Hamiltonians for generating entanglement (Bell states). These exercises enable construction of quantum circuits based on fundamental quantum mechanical interactions via Hamiltonians.
In the second half of the semester, these labs culminate in a survey and simulation of multiple quantum algorithms, such as Grover’s and Shor’s algorithms, as well as rudimentary error correction, using quantum computing libraries like Qiskit. Students also gain hands-on experience by executing their programs on real quantum computers.
Discord: https://discord.gg/zwXMNDdDN5
Labs will start with simulations in QuTiP of single qubit operations such as Rabi and Ramsey pulse sequences and then entanglement of two qubits and bell state generation. This will allow us to construct quantum circuits from fundamental quantum mechanical interactions, effectively seeing into the ‘black box’ of quantum circuits. In the second half of the course we will program simulations of quantum algorithms by Grover and Shor using the Qiskit and QuTIP python libraries.
- Lab_01_Quantum_states_and_the_Bloch_sphere.ipynb
- Lab_02_Measurement_Basis,_Spatial_quantization_and_the_Stern_Gerlach_Exp.ipynb
- Lab_03 - Time_Dep_Schr%C3%B6dinger_Eq_and_Rabi_Oscillations.ipynb
- Lab_04_RWA_Rabi_oscillations_and_detuning.ipynb
- Lab_05 - Part A -_X_vs_Y_pulses.ipynb
- Lab_05 - Part B -_Ramsey.ipynb
- Lab_05_Noise_and_composite_pulses.ipynb
- Lab_06_- Two Qubit Gates and Entanglement.ipynb
- Lab_07_- Lab_07_Quantum_circuits_quantum_adder.ipynb
Rotating Wave Approximation animation from Lab 4:

- Lecture 1 (Jan 31) - Introduction.mp4
- Lecture 2 (Feb 3) - Intro and feeble light.mp4
- Lecture 3 (Feb 5) - Mach Zehnder Interferometer.mp4
- Lecture 4 (Feb 7) - MZI with phase shift + quantum circuits.mp4
- Lecture 5 (Feb 10) - BraKet Notation and Bloch Sphere.mp4
- Lecture 6 (Feb 12) - Rotations on the Bloch Sphere and Intro to Stern Gerlach.mp4
- Lecture 7 (Feb 14) - Stern Gerlach and projection/measurement in X,Y Basis states.mp4
- Lecture 8 (Feb 19) - Projection review and the Schrodinger Equation.mp4
- Lecture 9 (Feb 20) - MSFT's search for Majorana and more Time Dependent Schrodinger Equation.mp4
- Lecture 10 (Feb 21) - Rabi Oscillations and Infinite Square Well.mp4
- Lecture 11 (Feb 24) - Rotating Wave Approximation part 1 - resonance.mp4
- Lecture 12 (Feb 26) - Rotating Wave Approximation part 2 - rotating frames.mp4
- Lecture 13 (Feb 28) - Rotating Wave Approximation part 3 - detuned rotating frames.mp4
- Lecture 14 (Mar 3) - RWA review - X vs. Y drives from phase of drive.mp4
- Lecture 15 (Mar 5) - Composite Pulse Sequences and Ramsey.mp4
- Lecture 16 (Mar 7) - Ramsey and intro to 2Q.mp4
- Lecture 17 (Mar 10) - Two Qubit Gates.mp4
- Lecture 18 (Mar 12) - Verifying Entanglement - odd even basis.mp4
- Lecture 19 (Mar 24) - Midterm exam review.mp4
- Lecture 20 (Mar 26) - Quantum Adder.mp4
- Lecture 1 - Introductions.pdf
- Lecture 2 - Intro and feeble light.pdf
- Lecture 3 - Mach Zehnder Interferometer (pg1-9)
- Lecture 4 - MZI with phase shift + quantum circuits (pg 11-17)
- Lecture 5 - BraKet Notation and Bloch Sphere.pdf
- Lecture 6 - Rotations on the Bloch Sphere.pdf
- Lecture 7 - Stern Gerlach and projection/measurement in X,Y Basis states.pdf
- Lecture 8 - Projection review and the Schrodinger Equation (pg 36-46)
- Lecture 9 - Time Dependent Schrodinger Equation (pg 41-46)
- Lecture 10 - Rabi Oscillations and Infinite Square Well (also Lab 3 and notes pg 45-48)
- Lecture 11-13 - Rotating Wave Approximation (also Lab 4 and notes pg 49-56
- Lecture 14-16 - Noise and Composite Pulse Sequences (Lab 5)
- Lecture 17-18 - Noise and Composite Pulse Sequences (Lab 6)
- Lecture 20 - Quantum Adder (Lab 7)
Date | - |
---|---|
2/17 | HW 1 Due |
2/24 | HW 2 Due |
3/3 | Lab 3 Due |
3/10 | Lab 4 Due |
3/17 | Lab 5 Due |
3/21 | 650 Projects - 1st draft of code |
3/24 | Lab 6 Due |
3/25 | Midterm - ILC-S140 - 7-9PM |
3/27 | (midterm make-up) Marston 220 7-9PM |
3/31 | Lab 7 Due |
4/7 | Lab 8 Due |
- Ivan H. Deutsch’s Notes - http://info.phys.unm.edu/~ideutsch/Classes/Phys566F21/
- Mark Fox - Quantum Optics: An Introduction
- Daniel Steck’s Notes - https://atomoptics.uoregon.edu/~dsteck/teaching/quantum-optics/
-
Thomas Wong’s Textbook: order hard copy (~15$) download pdf
-
IBM’s Qiskit Textbook - https://qiskit.org/textbook-beta
-
Scott Aaronson - https://www.scottaaronson.com/qclec.pdf
-
John Preskill - http://theory.caltech.edu/~preskill/ph219/chap6_20_6A.pdf
- Quantum Computation and Quantum Information by: Michael A. Nielsen & Isaac L. Chuang
- Create a copy for you to edit and update the filename with your name.
- Turn on the table of contents
- Experiment! These notebooks are just a starting point for you to explore. If you have ideas for things to try start by typing out the pseduo code first then see if you can find help to get the syntax and libraries to make it work.
- Teamwork. Working in teams will help everyone check their code and debug errors. Please work in groups of up to three people. You may all share code but please maintain your own copy of the notebook to turn in for credit.
- Hand written paper notebook still recommended. This colab notebook is a supplement to a paper notebook and the textbooks listed above. To test out ideas, check mathematical relations and linear algebra proofs and to complete exercises you will need a real physical paper notebook to do your work. Please have one and a pen/pencil handy.
- https://colab.research.google.com/notebooks/basic_features_overview.ipynb
- https://www.dataquest.io/blog/jupyter-notebook-tutorial/
- https://www.youtube.com/watch?v=inN8seMm7UI
- https://nbviewer.ipython.org/github/qutip/qutip-notebooks/blob/master/examples/qubit-dynamics.ipynb
- FYI: Colab provides hardware acceleration with GPUs and TPUs if you go to 'Runtime>Change Runtime type'
- Mach Zehnder Interferometers
- Superposition states and probabilities
- Bloch Sphere, ⟨Bra||Ket⟩ notation
- Stern Gerlach Experiment (measurement)
- Trapped Ions
- Neutral Atoms
- Transmons
- Si spin/Quantum dots
- Photonics
- Time-Dependent Schrodinger Equation
- Rotating Wave Approximation (QR CODE)
- Rabi Oscillations (single qubit gates)
- Ramsey Interferometry
- Two qubit gates
- Entanglement
- Toffoli multi-qubit gates
- Quantum Adder
- Grover’s Search
- Phase Kickback
- Deutsch Jozsa
- Bernstein-Vazirani
- Quantum Fourier Transform
- Quantum Phase Estimation
- Review of RSA encryption
- Shor’s Algorithm