In this paper a programming language, qGCL, is presented for the expression of quantum algorithms. It contains the features required to program a ‘universal’ quantum computer (including initialisation and observation), has a formal semantics and body of laws, and provides a refinement calculus supporting the verification and derivation of programs against their specifications. A representative selection of quantum algorithms are expressed in the language and one of them is derived from its specification.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Barenco, A., et al.: Elementary gates of quantum computation. Physical Review A 52(5), 3457–3467 (1995)CrossRefGoogle Scholar
  3. 3.
    Barenco, A.: A universal two-bit gate for quantum computation. Proc. R. Soc. Lond. A 449, 679–683 (1995)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Boyer, M., Brassard, G., Hoyer, P., Tapp, A.: Tight bounds on quantum searching. In: Toffoli, T., Biaford, M., Lean, J. (eds.) Fourth Workshop on Physics and Computation, New England Complex System Institute, pp. 36–43 (1996)Google Scholar
  5. 5.
    Butler, M., Hartel, P.: Reasoning about Grover’s quantum search algorithm using probabilistic wp. University of Southampton technical report DSSETR- 98-10 (1998)Google Scholar
  6. 6.
    Cleve, R., Ekert, A., Macchiavello, C., Mosca, M.: Quantum algorithms revisited. Proc. R. Soc. Lond., A. 454, 339–354 (1998)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Deutsch, D.: Quantum theory, the Church-Turing principle and the universal quantum computer. Proc. R. Soc. Lond. A 400, 97–117 (1985)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Deutsch, D.: Quantum computational networks. Proc. R. Soc. Lond. A 425, 73–90 (1989)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Deutsch, D., Barenco, A., Ekert, A.: Universality in quantum computation. Proc. R. Soc. Lond. A 449, 669–677 (1995)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Deutsch, D., Jozsa, R.: Rapid solution of problems by quantum computation. Proc. R. Soc. Lond. A 439, 553–558 (1992)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall International, Englewood Cliffs (1976)MATHGoogle Scholar
  12. 12.
    Elitzur, A.C., Vaidman, L.: Quantum mechanical interaction-free measurements. Foundations of Physics 32(7), 987–997 (1993)CrossRefGoogle Scholar
  13. 13.
    Feynman, R.P.: The Feynman Lectures on Physics, vol. 3. Addison-Wesley, Reading (1964)Google Scholar
  14. 14.
    Grover, L.K.: A fast quantum mechanical algorithm for database search. In: Proceedings of the 28th ACM STOC, pp. 212–219 (1996)Google Scholar
  15. 15.
    Gruska, J.: Quantum Computing. Advanced Topics in Computer Science. McGraw-Hill International, UK (1999)Google Scholar
  16. 16.
    Jifeng, H., Seidel, K., McIver, A.K.: Probabilistic models for the guarded command language. Science of Computer Programming 28, 171–192 (1997)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Hoare He Jifeng, C.A.R.: The weakest prespecification. parts I and II. Fundamenta Informatica IX, 51–84 (1986)Google Scholar
  18. 18.
    Isham, C.J.: Lectures on Quantum Theory. Imperial College Press, London (1995)MATHGoogle Scholar
  19. 19.
    Josza, R.: Characterising classes of functions computable by quantum parallelism. Proc. R. Soc. Lond. A 435, 563–574 (1991)CrossRefGoogle Scholar
  20. 20.
    Morgan, C.: Programming from Specifications, 2nd edn. Prentice-Hall International, Englewood Cliffs (1994)MATHGoogle Scholar
  21. 21.
    Seidel, K., Morgan, C.C., McIver, A.K.: Probabilistic imperative programming: a rigorous approach (1996), Available at http://www.comlab.ox.ac.uk/oucl/research/areas/probs/bibliography.html
  22. 22.
    Morgan, C., McIver, A., Seidel, K.: Annabelle McIver and Karen Seidel. Probabilistic predicate transformers. TOPLAS 18(3), 325–353 (1996)Google Scholar
  23. 23.
    Morgan, C., McIver, A.: pGCL: formal reasoning for random algorithms. South African Computer Journal 22, 14–27 (1999)Google Scholar
  24. 24.
    Morgan, C., McIver, A.K.: Demonic, angelic and unbounded probabilistic choices in sequential programs. To appear in Acta Informatica; see the site at [23]Google Scholar
  25. 25.
    Mosca, M., Ekert, A.: The hidden subgroup problem and eigenvalue estimation on a quantum computer. In: Williams, C.P. (ed.) QCQC 1998. LNCS, vol. 1509, p. 174. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  26. 26.
  27. 27.
    Peres, A.: Quantum Theory: Concepts and Methods. Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  28. 28.
    Schumacher, B.: Quantum coding. Physical Review A 51(4), 2738–2747 (1995)CrossRefMathSciNetGoogle Scholar
  29. 29.
    Shor, P.W.: Algorithms for quantum computation: discrete log and factoring. In: Proceedings of the 35th IEEE FOCS, pp. 124–134 (1994)Google Scholar
  30. 30.
    Simon, D.R.: On the power of quantum computation. In: Proceedings of the 35th IEEE FOCS, pp. 116–123 (1994)Google Scholar
  31. 31.
    Williams, C.P., Clearwater, S.H.: Explorations in Quantum Computing. Springer, New York (1998)Google Scholar
  32. 32.
    Zuliani, P.: DPhil Thesis. Oxford University. (in preparation)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • J. W. Sanders
    • 1
  • P. Zuliani
    • 1
  1. 1.Programming Research GroupOxford University Computing LaboratoryOxfordEngland

Personalised recommendations