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.


Quantum State Quantum Computation Unitary Transformation Quantum Algorithm Probabilistic Choice 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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)zbMATHCrossRefMathSciNetGoogle 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)zbMATHCrossRefMathSciNetGoogle 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)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Deutsch, D.: Quantum computational networks. Proc. R. Soc. Lond. A 425, 73–90 (1989)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Deutsch, D., Barenco, A., Ekert, A.: Universality in quantum computation. Proc. R. Soc. Lond. A 449, 669–677 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Deutsch, D., Jozsa, R.: Rapid solution of problems by quantum computation. Proc. R. Soc. Lond. A 439, 553–558 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall International, Englewood Cliffs (1976)zbMATHGoogle 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)zbMATHCrossRefMathSciNetGoogle 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)zbMATHGoogle 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)zbMATHGoogle Scholar
  21. 21.
    Seidel, K., Morgan, C.C., McIver, A.K.: Probabilistic imperative programming: a rigorous approach (1996), Available at
  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