- 8 Dec 2005: All work to be submitted for a grade should be submitted by Wednesday evening. This includes assignments or projects.
- 30 Nov 2005: Here is the article that Gate mentioned: Breakthrough for quantum measurement (???)
- 26 Nov 2005: Here is the "final" version of the code for reversing quantum functions.
- 17 Nov 2005: Here is a link to the Craig's presentation on thermodynamics.
- 12 Nov 2005: With help from Thorsten Altenkirch and Roshan, here is something that is much more correct than the previous solution to A5 :-) It is very close though requiring only a small adjustement to the solution we had earlier. This new solution is in the file Rev.hs. Please take a look and either do a proof of correctness or find a counterexample.
- 10 Nov 2005: I posted the "last" assignment which consists of fixing the problems in A5 and finding a "good" definition for orthogonality. It is rather open-ended as you can tell.
- 9 Nov 2005: Let's go ahead and cancel lecture on 22 Nov before the break.
- 8 Nov 2005: Here is the code for today's
lecture. We introduce three classes of classical (total) functions:
reversible, injective, and arbitrary closed under sequential, parallel, and
conditional composition. We then show two things: (i) an arbitrary function
can be realized by a reversible function with additional inputs and extra
garbage output, and (ii) an injective function can be realized by a
reversible function with additional inputs and
**no**extra garbage output. One of the possible projects would be to collaborate with John on turning this into a paper with all the proofs included. - 7 Nov 2005: If you did not select a topic for your project, please let me know so that I can update the web page with your assignment.
- 6 Nov 2005: The announcement of 4 Nov 2005 about my solution to assignment A5 says that I have provided a proof outline and that you should either complete it or provide a counterexample. Two of your colleagues have provided counterexamples to the first claim in the proof outline. The options now are either to provide counterexamples or a proof for the second claim or even better to give a real solution to the assignment that is provably correct.
- 4 Nov 2005: Here is my solution to assignment A5: Haskell code and proof outline. Instead of posting a new assignment, please think about the proof outline, and either finish it or provide a counterexample if you find problems.
- 3 Nov 2005: No class. It was determined late last night that today will be one of the two big Muslim holidays (it depends on the moon sighting). I apologize for the short notice but there will be no class today.
- 27 Oct 2005: Matt kindly provided a gzipped tar file of the code he used in class, some notes, and a running (classical) implementation of Shor's algorithm.
- 26 Oct 2005: I made another small change to the description of Assignment A5 (asking for a proof that your construction is actually reversible).
- 25 Oct 2005: I made a small change to the description of Assignment A5.
- 23 Oct 2005: Assignment A5 is posted. It is due on Thursday 3 Nov.
- 23 Oct 2005: Michael has a beautiful solution to Assignment 4. Please study it in detail.
- 15 Oct 2005: Yet another short assignment (A4) is posted. It is due on Thursday 20 Oct.
- 5 Oct 2005: Here is my solution to assignment A2.
- 5 Oct 2005: Another short assignment (A3) is posted. It is due on Thursday 13 Oct.
- 26 Sep 2005: I have changed the due date for Assignment 2 to 4 Oct 2005.
- 23 Sep 2005: Here is an improved version of the code abstracting both classical and quantum circuits: Circuits2.hs. I plan on discussing this code on Tuesday 27 Sep in class.
- 22 Sep 2005: I have posted an initial list of presentations. Please remember that everyone taking the class for credit is expected to make at least one presentation. Please contact me to let me know your choice or to suggest a presentation on another topic.
- 22 Sep 2005: qcl is now installed on the CS Linux machines.
- 22 Sep 2005: Here is the Haskell code for today's lecture: Circuits.hs.
- 21 Sep 2005: A fairly short Assignment 2 has been posted. It is due next week.
- 20 Sep 2005: Given the number of questions about the connection between Haskell type classes and OO, I thought it might be a good idea to have one of you read Object-Oriented Style Overloading for Haskell and make a presentation in class about the topic. Please let me know if you are interested in making the presentation. A more recent and more sophisticated paper that might be helpful is Haskell's overlooked object system.
- 15 Sep 2005: Here is the Haskell code for today's lecture: Vec.hs, Util.hs, and Toffoli.hs.
- 13 Sep 2005: Here is the Haskell code for types, datatypes, classes, and instances.
- 8 Sep 2005: Assignment 1 is posted. It is due before lecture on 22 Sep 2005.
- 8 Sep 2005: the matrices for [I tensor N], [N tensor I], and
controlled-N are below:
(0 1 0 0) (0 0 1 0) (1 0 0 0) (1 0 0 0) (0 0 0 1) (0 1 0 0) (0 0 0 1) (1 0 0 0) (0 0 0 1) (0 0 1 0) (0 1 0 0) (0 0 1 0)

which can be expressed as:(N | 0) (0 | I) (I | 0) (--+--) (--+--) (--+--) (0 | N) (I | 0) (0 | N)

- 7 Sep 2005: Please read up to Section 3.4 of Selinger's paper: Towards a Quantum Programming Language.
- 6 Sep 2005: Here is the Haskell code for vectors and linear operations on vectors. Part of this code was discussed in lecture today; the rest will be discussed on the 8th.
- 1 Sep 2005: Here is the Haskell code for classical reversible circuits.
- 30 Aug 2005: Welcome to B629.

sabry ... cs indiana edu