How to ask questions outside class:
Rogério de Sousa
targeted at advanced 2nd year students in
science, engineering, and computer
science will teach the basics of quantum
computation and information. The student will
submit jobs to cloud-based quantum computers
provided by IBM-Q and D-Wave Leap, using
a Python-based interface.
MATH211 or MATH110 (Matrix algebra).
No background in quantum physics or Python is
Note: Because this is a pilot course, the system
is currently enforcing the standard pre-req
for PHYS280, "3 units of physics courses".
Students who have not taken these can register
after submitting a waiver using this link:
It is recommended that each student brings their
own laptop to class. This will allow them to
view and interact with my class notes in real
time (I use Concept Board, follow the "Board"
links to the left). In the last month of
the course it will be mandatory for each student
bring their own laptop to class. These will be
used to run Python on UVic's web-based virtual
machine (the Jupyter notebook).
Tue, Fri: 2:30 pm - 3:50 pm,
Attendance is not required, but strongly
2:00 pm - 3:00 pm, Elliott 117.
Students can ask questions and post comments at
each lecture board under the "Lectures (Board)"
links to the left. That way questions are directly
linked to materials and all students will have
to our conversation. Students can post under their
own name or as "Anonymous" if they prefer.
For homework questions, students can use the Forum
Students are encouraged to use this forum to reply
to questions posed by their peers. I am not able
to reply to homework questions via email - By using
the forum we ensure that all students have
access to the same answers.
Finally, if you wish to send me a private message,
please send it to my UVic email:
"Quantum Computing: A
beginner's introduction", Parag K. Lala
(McGraw-Hill Education, New York, 2019).
books, videos, websites
Topics to be
- "Quantum Computation and Quantum
Information", Michael A. Nielsen and Isaac L.
(Cambridge University Press, U.K. 2000). This
book is often referred to as the "Bible" of
While it is self contained, it is aimed at
- "Canadian Summer School on Quantum
- "Quantum Information for Developers",
ETH-Zurich (Lecture notes and videos),
|Survey of quantum physics:
Stern-Gerlach experiment and the spin of the
electron, analogy with polarization states
of light. Linear algebra with complex
numbers and Dirac's notation. Inner
products, tensor products, adjoint
operation. Operators as square matrices,
basis change. Hermitian and normal
(diagonalizable) operators. Unitary
Quantum mechanics: State space, observables,
projections, and quantum measurement. Pauli
matrices and their eigenstates. Expectation
value of observables. Representing single
qubit states in the Bloch sphere. Entangled
|Quantum circuits: One-qubit operations
(Pauli, Hadamard), controlled two-qubit
operations, measurement. How to draw quantum
circuits and relate to matrix
representation. Circuit that generates Bell
states. Irreversibility and universality for
classical gates. Universality for quantum
gates. How to program a quantum oracle that
evaluates 1-bit Boolean functions.
Elementary quantum algorithms and quantum
speed-up: Deutsch and Deutch-Josza, quantum
parallelism. Bernstein-Vazirani, Simon's
Quantum cryptography with BB84. Elementary
quantum tomography. No-cloning theorem,
quantum teleportation. Elementary 3-qubit
III: Hands-on with IBM-Q and D-Wave Leap
|Overview and installation of
Anaconda, Jupyter notebook and Python. IBM's
Qskit, installation, tutorials, and simple
examples. Composing quantum circuits and
running them in simulators and real devices.
Comparisons between simulations and
experiments, quantum depth, noise.
Elementary phase estimation (without quantum
Hamiltonians, ground and excited states,
time evolution. Quantum adiabatic theorem.
Introduce the idea of using adiabatic
evolution to implement quantum
Other models for quantum computing, overview
of adiabatic quantum computing and
equivalence to gate model. Adiabatic version
of Deutch-Josza algorithm. Equivalence of
adiabatic quantum computing (AQC) to gate
model (within polynomial overhead).
NP-complete problems: Combinatorial problems
and their reduction to 3-Satisfiability
(3-SAT) problems. AQC algorithm for 3-SAT
and quantum annealing.
Overview of D-Wave's Leap, installation,
tutorials, and how to use. Example code:
Constructing QUBOs for 2 qubits, 3-bit
3-SAT. Chaining and minor embedding to the
device's architecture. Minor-embedding
tools. Solving graph optimization problems
with quantum annealing; application to
vertex cover and map coloring problems.
There will be 6
assignments. The assignments will be
posted on this website (links to the left), with
noted due dates
on Friday at
6pm (Exceptions will be
posted on this website). The assignments must be
inserted in the
"P280" dropbox located in the left of
solutions will be available online (links
on the left) a few days after the due date.
The assignments will be graded by the TA, Mr.
Alberto Nava Aquino. Any questions on
grading should be addressed
directly to him by email, at
Feb. 14th (Friday),
in class 2:30 pm - 3:50 pm.
Notes on the exams
- On all examinations the only acceptable
calculator is the sharp EL-510R. This
calculator can be bought in the bookstore
for about $10. DO NOT bring any other
calculator to the examinations.
- You are allowed one 8.5X11'' handwritten
formula/note sheet (you can only write in one
You will be responsible for the "usual"
constants and equations that we have dealt
with in class on a regular basis.
grade: UVic's percentage grading system
- Attend classes;
important: Work on the assignments by
yourself. If you can't solve a
problem, talk to your classmates,
or attend the office hour. However, it
is extremely important that you attempt to
solve the problem by yourself first.
Experience shows that students who copy
solutions from others usually perform very
poorly in the exams and fail the course.
- Common mistake: Some students do not
study/review the notes/book before attempting
the assignments. Instead,
they "pick" the notes trying to find the
material needed to solve a particular
problem. Such method does not work
because it leads to fragmented knowledge; the
student does not understand the connection
between the topics.
Moreover, studying that way does not prepare
for the exam, because there will be no book or
notes to "pick" during the exam.
- Suggestion on how to study: Do a subject
review before attempting the
assignment, by reading the
Start by reading the assignment fully, and
then attempt the problem that appears to
be easier (it is okay to briefly go
back to the notes or book during the
- Solve extra problems to practice for the