Course Information for 
Physics 219/Computer Science 219
Quantum Computation
(Formerly Physics 229)

John Preskill

Go to the home page of Ph219/CS219 for 2013-14.
Go to the home page of Ph219/CS219 for 2011.
Go to the home page of Ph219/CS219 for 2008-09.
Go to the home page of Ph219/CS219 for 2006-07.
Go to the home page of Ph219/CS219 for 2005-06.
Go to the home page of Ph219/CS219 for 2004.


Lecture Notes

The first 6 chapters were originally prepared in 1997-98, Chapter 7 was added in 1999, and Chapter 9 was added in 2004. A typeset version of Chapter 8 (on fault-tolerant quantum computation) is not yet available; nor are the figures for Chapter 7. Additional material is available in the form of handwritten notes.

There is also an updated (though incomplete) version of Chapter 4, prepared in 2001. Chapters 2, 3, and 5 have been updated more recently (July 2015).

Chapter 1. Introduction and Overview, 30 pages.

Chapter 2. Foundations of Quantum Theory I: States and Ensembles, 40 pages.
New: Updated Chapter 2. Foundations I: States and Ensembles, 52 pages (July 2015).

Chapter 3. Foundations of Quantum Theory II: Measurement and Evolution, 62 pages.
New: Updated Chapter 3. Foundations of Quantum Theory II: Measurement and Evolution, 66 pages (July 2015).

Chapter 4. Quantum Entanglement, 28 pages. 
Updated (but incomplete) Chapter 4. Quantum Entanglement, 70 pages (2001).

Chapter 5. Quantum Information Theory,  64 pages. 
New :
Updated Chapter 5. Classical and Quantum Circuits, 54 pages (July 2015).

Chapter 6. Quantum Computation,   91 pages.  

Chapters 1-6 in one file,  321 pages (ps format)

Chapter 7. Quantum Error Correction,  92 pages

Chapter 9. Topological Quantum Computation, 68 pages.

Here are some of the handwritten notes that have not yet been typeset :

Abelian hidden subgroup problem, discrete logarithm (2009 handwritten notes see also notes on non-abelian HSP)
Quantum searching (2009 handwritten notes see also 2009 notes on quantum lower bounds)
Quantum simulation (2009 handwritten notes)
Local Hamiltonian problem (2009 handwritten notes)
Handwritten lecture notes on Toric code recovery, fault-tolerant recovery, fault-tolerant gates (2011)
Handwritten lecture notes on strong subadditivity of Von Neumann entropy, Holevo bound, capacities of quantum channels (2011)

Course Description

The theory of quantum information and quantum computation. Overview of classical information theory, compression of quantum information, transmission of quantum information through noisy channels, quantum entanglement, quantum cryptography. Overview of classical complexity theory, quantum complexity, efficient quantum algorithms, quantum error-correcting codes, fault-tolerant quantum computation, physical implementations of quantum computation.


The course material should be of interest to physicists, mathematicians, computer scientists, and engineers, so we hope to make the course accessible to people with a variety of backgrounds.

Certainly it would be useful to have had a previous course on quantum mechanics, though this may not be essential. It would also be useful to know something about (classical) information theory,  (classical) coding theory,  and (classical) complexity theory, since a central goal of the course will be generalize these topics to apply to quantum information. But we will review this material when we get to it, so you don't need to worry if you haven't seen it before. In the discussion of quantum coding, we will use some rudimentary group theory.


Course Overview

Information is something that can be encoded in the state of a physical system, and a computation is a task that can be performed with a physically realizable device. Therefore, since the physical world is fundamentally quantum mechanical, the foundations of information theory and computer science should be sought in quantum physics.

In fact, quantum information -- information stored in the quantum state of a physical system -- has weird properties that contrast sharply with the familiar properties of "classical" information. And a quantum computer -- a new type of machine that exploits the quantum properties of information -- could perform certain types of calculations far more efficiently than any foreseeable classical computer.

In this course, we will study the properties that distinguish quantum information from classical information. And we will see how these properties can be exploited in the design of quantum algorithms that solve certain problems faster than classical algorithms can.

A quantum computer will be much more vulnerable than a conventional digital computer to the effects of noise and of imperfections in the machine. Unavoidable interactions of the device with its surroundings will damage the quantum information that it encodes, a process known as decoherence. Schemes must be developed to overcome this difficulty if quantum computers are ever to become practical devices.

In this course, we will study quantum error-correcting codes that can be exploited to protect quantum information from decoherence and other potential sources of error. And we will see how coding can enable a quantum computer to perform reliably despite the inevitable effects of noise.

Building a quantum computer that really works will not be easy. Experimental physicists are now just beginning to build and operate hardware that can coherently process quantum information.

In this course, we will learn about the pioneering efforts to operate quantum computing hardware, using ion traps, cavity quantum electrodynamics, and nuclear magnetic resonance.

Course History

The course was offered as a two term sequence for the first time in 1997-98 by John Preskill, then repeated the following year taught jointly by Preskill and Alexei Kitaev. In 2000-01 a more complete course three-term course was offered. Since then it has been taught multiple times by both Preskill and Kitaev. Links to the course webpages in later years are listed at the top of this page.


Homework (2000-01)

Problems assigned during 2000-01 (in ps format):

Problem Set 1, due October 23, 2000.  Solution Set 1  (in ps format).  Solution Set 1 (in pdf format)
Problem Set 2, due November 6, 2000.  Solution Set 2  (in ps format).  Solution Set 2 (in pdf format)
Problem Set 3, due November 20, 2000.
Solution Set 3  (in ps format).  Solution Set 3 (in pdf format)
Problem Set 4, due November 29, 2000.
Solution Set 4  (in ps format).  Solution Set 4 (in pdf format)

Problem Set 5, due February 5, 2001.
Problem Set 6, due February 26, 2001.
Problem Set 7, due March 7, 2001.

Problem Set 8, due May 7, 2001.
Problem Set 9, due May 23, 2001.
Problem Set 10, due May 30, 2001.

Problems assigned during 1998-99:

Problem Set 1, due October 16, 1998.   Solution Set 1
Problem Set 2, due October 23, 1998.   Solution Set 2
Problem Set 3, due November 6, 1998.  Solution Set 3
Problem Set 4, due November 25, 1998.  Solution Set 4
Problem Set 5, due December 4, 1998.  Solution Set 5

Problem Set 6, due February 5, 1999Solution Set 6
Problem Set 7, due February 19, 1999Solution Set 7
Problem Set 8, due March 10, 1999.

Problems assigned during 1997-98:

Chapter 2 Problems, updated October 21, 1997.
Chapter 2 Solutions, updated October 31, 1997.
Chapter 3 Problems, updated November 20, 1997. (Problems due 5 December.)
Chapter 3 Solutions, updated December 11, 1997.
Chapter 5 Problems, updated January 26, 1998. (Problems due 10 February.)
Chapter 5 Solutions, updated March 6, 1998.
Chapter 6 Problems, updated March 9, 1998. (Problems due 13 March.)
Chapter 6 Solutions, updated March 20, 1998.