Reasoning about faulty quantum programs
We show how to use a programming language for formally describing and reasoning about errors in quantum computation. The formalisation is based on the concept of performing the correct operation with probability at least p, and the erroneous one with probability at most 1 − p. We apply the concept to two examples: Bell’s inequalities and the Deutsch–Jozsa quantum algorithm. The former is a fundamental thought experiment aimed at showing that Quantum Mechanics is not “local and realist”, and it is used in quantum cryptography protocols. We study it assuming faulty measurements, and we derive hardware reliability conditions that must be satisfied in order for the experiment to support its conclusions. The latter is a quantum algorithm for efficiently solving a classification problem for Boolean functions. The algorithm solves the problem with no error, but when we introduce faulty operations it becomes a two-sided error algorithm. Reasoning is accomplished via standard programming laws and quantum laws.
Unable to display preview. Download preview PDF.
- 1.Aharonov D., Kitaev A., Nisan N.: Quantum circuits with mixed states. In: STOC ’98: Proceedings of the 30th Annual ACM Symposium on Theory of Computing, pp. 20–30 (1998)Google Scholar
- 2.Altenkirch T., Grattage J.: A functional quantum programming language. In LICS ’05: Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science, pp. 249–258 (2005)Google Scholar
- 4.Bell J.S.: On the Einstein–Podolsky–Rosen paradox. Physics 1, 195–200 (1964)Google Scholar
- 12.Isham C.J.: Lectures on quantum theory. Imperial College Press, London (1997)Google Scholar
- 16.Reed M., Simon B.: Methods of Mathematical Physics. I. Functional Analysis. Acamedic Press, Dublin (1972)Google Scholar
- 17.Sanders, J.W., Zuliani, P.: Quantum programming. In: MPC’00: Mathematics of Program Construction, Springer LNCS, vol. 1837, pp. 80–99 (2000)Google Scholar