- A4 (Due Tuesday 3 Oct) This is not really an assignment. Given the
basic background that we have so far, I think you should all be able to
browse around and come up with ideas for projects for the course. For
reference, here are some ideas used by the students last year.
- Presentations on complexity theory and quantum mechanics, on contrasting the topological approach to quantum computing to the category-theoretic approach, on exploring connections between genetic algorithms and quantum computation, or on quantum communication and quantum encryption.
- Code for implementing the multi-universe interpretation of quantum mechanics, for implementing Shor's algorithm, or for implementing a quantum simulator.
- Report on the "transactional interpretation of quantum mechanics."
- Book report on "Minds, Machines, and the Multiverse: The Quest for the Quantum Computer."
- Formal definitions and proofs for typing a quantum programming language.

- A3 (Due Tuesday 26 Sep) Using the code in Vec.hs, implement as many quantum circuits as you can find
and simulate them. I expect you to go beyond the small examples and I expect
some kind of evaluation of the elegance and performance of the resulting
circuits. For concreteness, the circuit at the bottom of page 7 of Basic concepts in
quantum computation can be expressed as follows:
toff :: Lin (Bool,Bool,Bool) (Bool,Bool,Bool) toff (top,middle,bottom) = hadamard bottom @>>= \b1 -> controlled phase (middle,b1) @>>= \ (m1,b2) -> controlled qnot (top,m1) @>>= \ (t1,m2) -> controlled (adjoint phase) (m2,b2) @>>= \ (m3,b3) -> controlled qnot (t1,m3) @>>= \ (t2,m4) -> controlled phase (t2,b3) @>>= \ (t3,b4) -> hadamard b4 @>>= \b5 -> vreturn (t3,m4,b5)

One might argue that the specification is somewhat elegant but that the overhead of keeping the intermediate names is too tedious. - A2 (Due Tuesday 19 Sep)
- A1 (Due Friday 8 Sep) The following exercises refer to the paper Basic concepts in
quantum computation:
- Manually verify that four applications of the V-gate (defined in Equation 27 at the bottom of page 5) are equivalent to the identity.
- Repeat the above to verify the claim made on page 7 that four applications of the controlled-V operator are also equivalent to the idendity.
- Manually verify that the first circuit on page 7 is equivalent to the controlled not gate.
- Manually test the quantum adder on page 8 with various input vectors (including vectors representing superpositions).

Project | Student |

Implement a QML interpreter | Kyle |

Implement one-time pad and teleportation in a generic way | Josh |

Implement a quantum Java library | Chathura |

Implement a reversible interpreter for Scheme. (Read Bennett's origional paper and try to carry the argument from a Turing machine to an interpreter.) |

Date | Topic | Presenter |

26 Sep. | Background on linear algebra; Hilbert spaces | Pooja |

24 Oct. | OO vs. Haskell type classes | Abhijit |

26 Oct. | Thermodynamics of computation | Michel |

7 Nov. | Superoperators | Chunlai |

9 Nov. | Arrows | Kyle |

14 Nov. | Shor's algorithm | Gilead |

16 Nov. | Quantum computing and cognition | Toshi |

21 Nov. | Quantum computability | Chathura |

28 Nov. | Quantum communication | Josh |

30 Nov. | Quantum complexity classes | Larisse |

sabry ... indiana edu