Classical vs Quantum Computation (Week 1)
Posted by John Baez
This fall I’m teaching a seminar on classical versus quantum computation, with an emphasis on cartesian closed categories and their quantum generalizations. Derek Wise is taking notes, which you can get as PDF files here:
- John Baez and Derek Wise, Classical versus quantum computation.
I’ll create a blog entry for each week’s lecture, and anyone with something to say or ask can post comments. So, it’s a bit like an online course! Here are last Thursday’s notes:
-
Week 1 (Sept. 28) - Computation, the lambda calculus and cartesian closed categories: an overview.
- Homework: exercises 1.1 and 1.2 in Selinger’s Lecture notes on the lambda calculus.
Next week’s notes are here. For a syllabus, read on…
In these lectures I hope to talk about:
- the lambda calculus and its role in classical computation,
- how quantum computation differs from classical computation,
- the quantum lambda calculus and its role in quantum computation,
- cartesian closed categories, algebraic theories, PROPs and operads,
- how treating computation as a process makes us “categorify” all the above.
Here are some easy online references to start with:
- Mark Chu-Carroll, Lambda calculus and category theory.
- Wikipedia, Lambda calculus.
These go into a bit more depth:
- John Baez, Cartesian closed categories and the λ-calculus.
- Mark Chu-Carroll, Lambda calculus and category theory.
- Peter Selinger, Lecture notes on the lambda calculus.
- Phil Scott, Some aspects of categories in computer science.
Question about the homework
Mike Stay has done the homework in TeX, so I’ll post the answers here sometime after I collect the homework on Thursday October 5th.
Some people were wondering about which order to evaluate the expression in exercise 1.1. Now that I look at it, I see there’s no ambiguity: Selinger packs this expression with enough parentheses to make it unambiguous. Just do stuff inside parentheses first! So, if you see something like
(f(g))(h)
you first apply f to g, and then apply the resulting function to h. If you see
f(g(h))
you first apply g to h, and then apply f to the result.
As you’ll see on page 9 of Selinger’s notes, experts on the lambda calculus get sick of seeing so many parentheses. So, they bring in a convention where
fg
is short for
f(g)
Then they bring a convention where
fgh
is short for
(fg)h
They still need parentheses for things like
f(gh)
However, in the homework you’re doing he hasn’t introduced these conventions yet! So, you don’t need to worry about this yet.