Acta Informatica

, Volume 47, Issue 4, pp 221–250 | Cite as

Quantum loop programs

  • Mingsheng YingEmail author
  • Yuan Feng
Original Article


Loop is a powerful program construct in classical computation, but its power is still not exploited fully in quantum computation. The exploitation of such power definitely requires a deep understanding of the mechanism of quantum loop programs. In this paper, we introduce a general scheme of quantum loops and describe its computational process. The function computed by a quantum loop is defined, and a denotational semantics and a weakest precondition semantics of a quantum loop are given. The notions of termination and almost termination are proposed for quantum loops. This paper only consider the case of finite-dimensional state spaces. Necessary and sufficient conditions for termination and almost termination of a general quantum loop on any mixed input state are presented. A quantum loop is said to be (almost) terminating if it (almost) terminates on any input state. We show that a quantum loop is almost terminating if and only if it is uniformly almost terminating. It is observed that a small disturbance either on the unitary transformation in the loop body or on the measurement in the loop guard can make any quantum loop (almost) terminating, provided that some dimension restriction is satisfied. Moreover, a representation of the function computed by a quantum loop is given in terms of finite summations of matrices. To illustrate the notions and results obtained in this paper, two simple classes of quantum loop programs, one qubit quantum loops, and two qubit quantum loops defined by controlled gates, are carefully examined, and to show their expressive power, quantum loops are applied in describing quantum walks.


Density Operator Input State Jordan Block Quantum Walk Denotational Semantic 
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.
    Aharonov, D., Ambainis, A., Kempe, J., Vazirani, U.: Quantum walks on graphs. In: Proceedings of the 30th Annual ACM Symposium on Theory of Computation, p. 50. ACM Press, New York (2001)Google Scholar
  2. 2.
    Altenkirch, T., Grattage, J.: A functional quantum programming language. In: Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society, Also arXiv:quant-ph/0409065 (2005)Google Scholar
  3. 3.
    Barenco A., Bennett C.H., Cleve R., DiVincenzo D.P., Margolus N., Shor P., Sleator T., Smolin J., Weinfurter H.: Phys. Rev. A 52, 3457–3467 (1995)CrossRefGoogle Scholar
  4. 4.
    Betteli S., Calarco T., Serafini L.: Toward an architecture for quantum programming. Eur. Phy. J. D 25, 181–200 (2003) Also see: arXiv:cs.PL/0103009 v2, Nov. 2001CrossRefGoogle Scholar
  5. 5.
    Bernstein, E., Vazirani, U.: Quantum complexity theory. In: Proceedings of the 25th Annual ACM Symposium on Theory of Computing, pp. 11–22. ACM Press, New Ork (1993)Google Scholar
  6. 6.
    Bernstein E., Vazirani U.: Quantum complexity theory. SIAM J. Comput. 26, 1411–1473 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Bhatia R.: Matrix analysis. Springer, Berlin (1991)Google Scholar
  8. 8.
    D’Hondt, E., Panangaden, P.: Quantum weakest preconditions. Math. Struct. Comput. Sci. (2006)Google Scholar
  9. 9.
    Dijkstra E.W.: A discipline of programming. Prentice-Hall, NJ, USA (1976)zbMATHGoogle Scholar
  10. 10.
    Feng Y., Duan R., Ji Z., Ying M.: Proof rules for purely quantum programs. Theor. Comput. Sci. 386, 151–166 (2005) Also see: arXiv:cs.PL/0507043CrossRefMathSciNetGoogle Scholar
  11. 11.
    Feng Y., Duan R., Ji Z., Ying M.: Probabilistic bisimilarities between quantum processes. Inf. Comput. 205, 1608–1639 (2006) Also see: arXiv:cs.LO/0601014CrossRefMathSciNetGoogle Scholar
  12. 12.
    Gay, S.J.: Quantum programming languages: survey and bibliography. Math. Struct. Comput. Sci. 16(4) (2006) (in press)Google Scholar
  13. 13.
    Gay, S.J., Nagarajan, R.: Communicating quantum processes. In: Proceedings of the 32nd ACM Symposium on Principles of Programming Languages (2005)Google Scholar
  14. 14.
    Gay, S.J., Nagarajan, R.: Typechecking communicating quantum processes. Math. Struct. Comput. Sci. (2006) (in press)Google Scholar
  15. 15.
    Grover, L.: A fast quantum mechanical algorithm for database search. In: Proceedings, 28th Annual ACM Symposium on the Theory of Computing, pp. 212–219. ACM Press, New York (1996)Google Scholar
  16. 16.
    Jorrand, P., Lalire, M.: Toward a quantum process algebra. In: Proceedings of the 1st ACM Conference on Computing Frontier, ACM Press, Also see: arXiv: quant-ph/0312067. (2004)Google Scholar
  17. 17.
    Kemeny J., Snell J.: Finite Markov chains. Springer, Berlin (1983)zbMATHGoogle Scholar
  18. 18.
    Knill, E.H.: Conventions for quantum pseudocode, LANL Report, LAUR-96-2724 (1996)Google Scholar
  19. 19.
    Lalire, M., Jorrand, P.: A process algebraic approach to concurrent and distributed quantum computation: operational semantics. In: Proceedings of the 2nd International Workshop on Quantum Programming Languages, July 12–13, Turku, Finland (2004)Google Scholar
  20. 20.
    Nielsen M.A., Chuang I.L.: Quantum computation and quantum information. Cambridge University Press, Cambridge (2000)zbMATHGoogle Scholar
  21. 21.
    Ömer, B.: A procedural formalism for quantum computing. Master’s thesis, Department of theoretical Physics, Technical University of Vienna, July 1998. (1998)
  22. 22.
    Ömer, B.: Structured quantum programming. Ph.D thesis, Technical University of Vienna (2003)Google Scholar
  23. 23.
    Sanders, J.W., Zuliani, P.: Quantum programming. In: Proceedings, Mathematics of Program Construction 2000, LNCS 1837, pp. 80–99 (2000)Google Scholar
  24. 24.
    Selinger P.: Towards a quantum programming language. Math. Struct. Comput. Sci 14, 527–586 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Selinger, P.: A brief survey of quantum programming languages. In: Proceedings of the 7th International Symposium on Functional and Logic Programming, Nara, Japan, LNCS 2998, pp. 1–6, Springer, Berlin (2004)Google Scholar
  26. 26.
    Shor, P.W.: Algorithms for quantum computation: discrete logarithms and factoring. In: Proceedings, 35th Annual Symposium on Foundations of Computer Science, pp. 124–134, IEEE Press, Los Alamitos, CA (1994)Google Scholar
  27. 27.
    Ying M.S., Chen J.X., Feng Y., Duan R.Y.: Commutativity of quantum weakest preconditions. Inf. Process. Lett. 104, 152–158 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Ying, M.S., Feng, Y., Duan, R.Y., Ji, Z.F.: An algebra of quantum processes. ACM Trans. Comput. Log. 10 (2009)Google Scholar
  29. 29.
    Ying, M.S., Duan, R.Y., Feng, Y., Ji, Z.F.: Predicate transformer semantics of quantum programs. In: Gay, S., Mackie, I. (eds.) Semantic techniques in quantum computation. Cambridge University Press, pp. 311–360 (2010)Google Scholar
  30. 30.
    Zuliani, P.: Quantum programming. Ph.D thesis, Oxford University (2001)Google Scholar
  31. 31.
    Zuliani P.: Compiling quantum program. Acta Inform 41, 435–474 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    Zuliani, P.: Quantum programming with mixed states. In: Proceedings of the 3rd International Workshop on Quantum Programming Languages, June 30-July 1, Chicago (2005)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  1. 1.Center of Quantum Computation and Intelligent Systems, Faculty of Engineering and Information TechnologyUniversity of TechnologySydneyAustralia
  2. 2.Department of Computer Science and Technology, State Key Laboratory of Intelligent Technology and Systems, Tsinghua National Laboratory for Information Science and TechnologyTsinghua UniversityBeijingChina

Personalised recommendations