Chinese Science Bulletin

, Volume 57, Issue 16, pp 1903–1909 | Cite as

Quantum programming: From theories to implementations

  • MingSheng YingEmail author
  • Yuan Feng
  • RunYao Duan
  • YangJia Li
  • NengKun Yu
Open Access
Review Special Topic Quantum Information


This paper surveys the new field of programming methodology and techniques for future quantum computers, including design of sequential and concurrent quantum programming languages, their semantics and implementations. Several verification methods for quantum programs and communication protocols are also reviewed. The potential applications of programming techniques and related formal methods in quantum engineering are pointed out.


quantum computation programming languages semantics verification engineered quantum systems 


  1. 1.
    Copsey D, Oskin M, Impens F, et al. Toward a scalable, silicon-based quantum computing architecture. IEEE J Select Topics Quant Electron, 2003, 9: 1552–1569CrossRefGoogle Scholar
  2. 2.
    Hoare T, Milner R. Grand Challenges in Computing Research. Swindon, UK: The British Computer Society, 2004Google Scholar
  3. 3.
    Gay S J. Quantum programming languages: Survey and bibliography. Math Struct Comput Sci, 2006, 16: 581–600CrossRefGoogle Scholar
  4. 4.
    Selinger P. A brief survey of quantum programming languages. In: Proceedings of the 7th International Symposium on Functional and Logic Programming, LNCS 2998, 2004. 1–6Google Scholar
  5. 5.
    Ying M S. Foundations of quantum programming. In: Proceedings of the 8th Asian Symposium on Programming Languages and Systems (APLAS 2010), LNCS 6461, 2010. 16–20Google Scholar
  6. 6.
    Rüdiger R. Quantum programming languages: An introdutionary overview. Comput J, 2007, 50: 134–150CrossRefGoogle Scholar
  7. 7.
    Miszczak J A. Models of quantum computation and quantum programming languages. Bull Polish Acad Sci: Tech Sci, 2011, 59: 305–324Google Scholar
  8. 8.
    Ying M S. Quantum computation, quantum theory and AI. Artif Intell, 2010, 174: 162–176CrossRefGoogle Scholar
  9. 9.
    Xu J F, Song FM. Quantum programming languages: A tentative study. Sci China Ser F-Inf Sci, 2005, 51: 623–637CrossRefGoogle Scholar
  10. 10.
    Abramsky S. High-level methods for quantum computation and information. In: Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science (LICS 2004), 2004. 410–414Google Scholar
  11. 11.
    Knill E H. Conventions for quantum pseudocode. Technical Report LAUR-96-2724, Los Alamos National Laboratory, 1996Google Scholar
  12. 12.
    Ömer B. Structural quantum programming. Ph.D. Thesis. Vienna: Vienna University of Technology, 2003Google Scholar
  13. 13.
    Sanders J W, Zuliani P. Quantum programming. In: Proceedings of Mathematics of Program Construction, LNCS 1837, 2000. 88–99Google Scholar
  14. 14.
    Bettelli S, Calarco T, Serafini L. Toward an architecture for quantum programming. Eur Phys J D, 2003, 25: 181–200CrossRefGoogle Scholar
  15. 15.
    Selinger P. Towards a quantum programming language. Math Struct Comput Sci, 2004, 14: 527–586CrossRefGoogle Scholar
  16. 16.
    Altenkirch T, Grattage J. A functional quantum programming language. In: Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (LICS), 2005. 249–258Google Scholar
  17. 17.
    Tafliovich A, Hehner E C R. Quantum predicative programming. In: Proceedings of the 8th International Conference on Mathematics of Program Construction (MPC), LNCS 4014, 2008. 433–454Google Scholar
  18. 18.
    Tafliovich A, Hehner E C R. Programming with quantum communication. Electron Notes Theoret Comput Sci, 2009, 253: 99–118CrossRefGoogle Scholar
  19. 19.
    Bernstein E, Vazirani U. Quantum complexity theory. SIAM J Comput, 1997, 26: 1411–1473CrossRefGoogle Scholar
  20. 20.
    Ying M S, Feng Y. Quantum loop programs. Acta Inform, 2010, 47: 221–250CrossRefGoogle Scholar
  21. 21.
    Li Y J, Yu N K, Ying M S. Termination of nondeterministic quantum programs. arXiv: 1201.0891v1Google Scholar
  22. 22.
    Hart S, Sharir M, Pnueli A. Termination of probabilistic concurrent programs. ACM Trans Progr Lang Syst, 1983, 5: 356–380CrossRefGoogle Scholar
  23. 23.
    Abramsky S, Coecke B. A categorical semantics of quantum protocols. In: Proceedings of the 19th IEEE Symposium on Logic in Computer Science (LICS), 2004. 415–425Google Scholar
  24. 24.
    Mackie I, Gay S. Semantic Techniques in Quantum Computation. New York: Cambridge University Press, 2010Google Scholar
  25. 25.
    D’Hondt E, Panangaden P. Quantum weakest preconditions. Math Struct Comput Sci, 2006, 16: 429–451CrossRefGoogle Scholar
  26. 26.
    Varadarajan V S. Geometry of Quantum Theory. New York: Springer-Verlag, 1985Google Scholar
  27. 27.
    Ying M S, Chen J X, Feng Y, et al. Commutativity of quantum weakest preconditions. Inform Proc Lett, 2007, 104: 152–158CrossRefGoogle Scholar
  28. 28.
    Ying M S, Duan R Y, Feng Y, et al. Predicate Transformer Semantics of Quantum Programs. Semantic Techniques in Quantum Computation. New York: Cambridge University Press, 2010. 311–360Google Scholar
  29. 29.
    Birkhoff G, von Neumann J. The logic of quantum mechanics. Ann Math, 1936, 37: 823–843CrossRefGoogle Scholar
  30. 30.
    Takeuti G. Quantum Set Theory. Current Issues in Quantum Logics. New York: Plenum Press, 1981. 303–322CrossRefGoogle Scholar
  31. 31.
    Ying M S. A theory of computation based on quantum logic (I). Theor Comput Sci, 2005, 344: 134–207CrossRefGoogle Scholar
  32. 32.
    Ying M S. Quantum Logic and Automata Theory. Handbook of Quantum Logic and Quantum Structures. London: Elsevier, 2007. 619–754CrossRefGoogle Scholar
  33. 33.
    Gleason A G. Measures on the closed subspaces of a Hilbert space. J Math Mech, 1957, 6: 885–893Google Scholar
  34. 34.
    Baltag A, Smets S. LQP: The dynamic logic of quantum information. Math Struct Comput Sci, 2006, 16: 491–525CrossRefGoogle Scholar
  35. 35.
    Brunet O, Jorrand P. Dynamic quantum logic for quantum programs. Int J Quant Inform, 2004, 2: 45–54CrossRefGoogle Scholar
  36. 36.
    Chadha R, Mateus P, Sernadas A. Reasoning about imperative quantum programs. Elect Notes Theor Comput Sci, 2006, 158: 19–39CrossRefGoogle Scholar
  37. 37.
    Feng Y, Duan R Y, Ji Z F, et al. Proof rules for the correctness of quantum programs. Theor Comput Sci, 2007, 386: 151–166CrossRefGoogle Scholar
  38. 38.
    Ying M S. Floyd-Hoare logic for quantum programs. ACM Trans Progr Lang Syst, 2011, 33: 19CrossRefGoogle Scholar
  39. 39.
    Sharir M, Pnueli A, Hart S. Verification of probabilistic programs. SIAM J Comput, 1984, 13: 292–314CrossRefGoogle Scholar
  40. 40.
    Ying M S, Yu N K, Feng Y, et al. Verification of quantum programs. arXiv: 1106. 4063, 2011Google Scholar
  41. 41.
    Svore K M, Aho A V, Cross A W, et al. A layered software architecture for quantum computing design tools. IEEE Comput, 2006, 39: 74–83CrossRefGoogle Scholar
  42. 42.
    Zuliani P. Compiling quantum programs. Acta Inform, 2005, 41: 435–473CrossRefGoogle Scholar
  43. 43.
    Nagarajan R, Papanikolaou N, Williams D. Simulating and compiling code for the sequential quantum random access machine. Elect Notes Theor Comput Sci, 2007, 107: 101124Google Scholar
  44. 44.
    Danos V, Kashefi E, Panangaden P. The measurement calculus. J ACM, 2007, 54: 8CrossRefGoogle Scholar
  45. 45.
    Ying M S, Feng Y. A flowchart language for quantum programming. IEEE Trans Software Eng, 2011, 37: 466–485CrossRefGoogle Scholar
  46. 46.
    Gay S J, Nagarajan R. Communicating quantum processes. In: Proceedings of the 32nd ACM Symposium on Principles of Programming Languages (POPL05), 2005Google Scholar
  47. 47.
    Jorrand P, Lalire M. Toward a quantum process algebra. In: Proceedings of the 1st ACM Conference on Computing Frontiers, 2004Google Scholar
  48. 48.
    Feng Y, Duan R Y, Ji Z F, et al. Probabilistic bisimulations for quantum processes. Inform Comput, 2007, 205: 1608–1639CrossRefGoogle Scholar
  49. 49.
    Ying M S, Feng Y, Duan R Y, et al. An algebra of quantum processes. ACM Trans Comput Logic, 2009, 10: 19CrossRefGoogle Scholar
  50. 50.
    Ying M S, Feng Y. An algebraic language for distributed quantum computing. IEEE Trans Comput, 2009, 58: 728–743CrossRefGoogle Scholar
  51. 51.
    Feng F, Duan R Y, Ying M S. Bisimulations for quantum processes. In: Proceedings of the 38th ACM Symposium on Principles of Programming Languages (POPL11), 2011. 523–534Google Scholar
  52. 52.
    Ying M S. Pi-calculus with noisy channels. Acta Inform, 2005, 41: 525–593CrossRefGoogle Scholar
  53. 53.
    Jozsa R, Linden N. On the role of entanglement in quantumcomputational speed-up. Proc Royal Soc London Ser A-Math Phys Eng Sci, 2003, 459: 2011–2032CrossRefGoogle Scholar
  54. 54.
    Dowling J P, Milburn G J. Quantum technology: The second quantum revolution. Phil Trans Royal Soc London A, 2003, 361: 1655–1674CrossRefGoogle Scholar
  55. 55.
    Baier C, Katoen J P. Principles of Model Checking. Cambridge, Massachusetts: MIT Press, 2008Google Scholar
  56. 56.
    Gay S J, Nagarajan R, Papanikolaou N. Probabilistic model-checking of quantum protocols. In: Proceedings of the 2nd International Workshop on Developments in Computational Models (DCM06), 2006Google Scholar
  57. 57.
    Kwiatkowska M, Norman G, Parker P. Probabilistic symbolic modelchecking with PRISM: A hybrid approach. Int J Software Tools Tech Transfer, 2004, 6: 128–142Google Scholar
  58. 58.
    Bennett C H, Brassard G. Quantum cryptography: Public key distribution and coin tossing. In: Proceedings of International Conference on Computers, Systems and Signal Processing, 1984Google Scholar
  59. 59.
    Gay S J, Nagarajan R, Panaikolaou N. QMC: A model checker for quantum systems. In: Proceedings of the 20th International Conference on Automated Verification (CAV08), LNCS 5123, 2008. 543–547Google Scholar
  60. 60.
    Papanikolaou N K. Model checking quantum protocols. Ph.D. Thesis. Coventry, UK: University of Warwick, 2008Google Scholar
  61. 61.
    Nielsen M A, Chuang I L. Quantum Computation and Quantum Information. Cambridge: Cambridge University Press, 2000Google Scholar
  62. 62.
    Baltazar P, Chadha R, Mateus P. Quantum computation tree logic-model checking and complete calculus. Int J Quant Inform, 2008, 6: 219–236CrossRefGoogle Scholar
  63. 63.
    Baltazar P, Chadha R, Mateus P, et al. Towards model-checking quantum security protocols. In: Proceedings of the 1st Workshop on Quantum Security (QSec07), 2007Google Scholar
  64. 64.
    Ying M S, Li Y J, Yu N K, et al. Model-checking linear-time properties of quantum systems. arXiv: 1101.0303, 2011Google Scholar
  65. 65.
    Preskill J. Topological quantum computation. In: Lecture Notes for Physics 219: Quantum Computation. Pasadena: California Institute of Technology, 2004Google Scholar

Copyright information

© The Author(s) 2012

Authors and Affiliations

  • MingSheng Ying
    • 1
    • 2
    Email author
  • Yuan Feng
    • 1
    • 2
  • RunYao Duan
    • 1
    • 2
  • YangJia Li
    • 1
    • 2
  • NengKun Yu
    • 1
    • 2
  1. 1.Center for Quantum Computation and Intelligent Systems, Faculty of Engineering and Information TechnologyUniversity of TechnologySydneyAustralia
  2. 2.State Key Laboratory of Intelligent Technology and Systems, Tsinghua National Laboratory for Information Science and Technology, Department of Computer Science and TechnologyTsinghua UniversityBeijingChina

Personalised recommendations