Abstract
We define a language-independent model of nondeterministic quantum programs in which a quantum program consists of a finite set of quantum processes. These processes are represented by quantum Markov chains over the common state space, which formalize the quantum mechanical behaviors of the machine. An execution of a nondeterministic quantum program is modeled by a sequence of actions of individual processes, and at each step of an execution a process is chosen nondeterministically to perform the next action. This execution model formalize the users’ behavior of calling the processes in the classical world. Applying the model to a quantum walk as an instance of physically realizable systems, we describe an execution step by step. A characterization of reachable space and a characterization of diverging states of a nondeterministic quantum program are presented. We establish a zero-one law for termination probability of the states in the reachable space. A combination of these results leads to a necessary and sufficient condition for termination of nondeterministic quantum programs. Based on this condition, an algorithm is found for checking termination of nondeterministic quantum programs within a fixed finite-dimensional state space.
Similar content being viewed by others
References
Abramsky, S.: High-level methods for quantum computation and information. In: Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science (LICS), pp. 410–414 (2004)
Aharonov, D., Ambainis, A., Kempe, J., Vazirani, U.V.: Quantum walks on graphs. In: Proceedings on 33rd Annual ACM Symposium on Theory of Computing (STOC), pp. 50–59 (2001)
Altenkirch, T., Grattage, J.: A functional quantum programming language. In: Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (LICS), pp. 249–258 (2005)
Baltag, A., Smets, S.: LQP: the dynamic logic of quantum information. Math. Struct. Comput. Sci. 16, 491–525 (2006)
Betteli, S., Calarco, T., Serafini, L.: Toward an architecture for quantum programming. Eur. Phys. J. D25, 181–200 (2003)
Brunet, O., Jorrand, P.: Dynamic quantum logic for quantum programs. Int. J. Quantum Inf. 2, 45–54 (2004)
Chadha, R., Mateus, P., Sernadas, A.: Reasoning about imperative quantum programs. Electron. Notes Theor. Comput. Sci. 158, 19–39 (2006)
D’Hondt, E., Panangaden, P.: Quantum weakest preconditions. Math. Struct. Comput. Sci. 16, 429–451 (2006)
Feng, Y., Duan, R.Y., Ji, Z.F., Ying, M.S.: Proof rules for the correctness of quantum programs. Theor. Comput. Sci. 386, 151–166 (2007)
Feng, Y., Duan, R.Y., Ying, M.S.: Bisimulation for quantum processes. In: Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp. 523–534 (2011)
Gay, S.J.: Quantum programming languages: survey and bibliography. Math. Struct. Comput. Sci. 16, 581–600 (2006)
Gay, S.J., Nagarajan, R.: Communicating quantum processes. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp. 145–157 (2005)
Hart, S., Sharir, M., Pnueli, A.: Termination of probabilistic concurrent programs. ACM Trans. Program. Lang. Syst. 5, 356–380 (1983)
Jorrand, P., Lalire, M.: Toward a quantum process algebra. In: Proceedings of the First ACM Conference on Computing Frontiers, pp. 111–119 (2004)
Mitchison, G., Josza, R.: Counterfactual computation. Proc. R. Soc. Lond. A 457, 1175–1193 (2001)
Nagarajan, R., Papanikolaou, N., Williams, D.: Simulating and compiling code for the sequential quantum random access machine. Electron. Notes Theor. Comput. Sci. 170, 101–124 (2007)
Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press, Cambridge (2000)
Ömer, B.: Structured Quantum Programming, Ph.D thesis, Technical University of Vienna (2003)
Roman, S.: Advanced Linear Algebra. Springer, Berlin (2008)
Sanders, J.W., Zuliani, P.: Quantum programming. In: Proceedings, Mathematics of Program Construction, LNCS, pp. 80–99 (2000)
Selinger, P.: Towards a quantum programming language. Math. Struct. Comput. Sci. 14, 527–586 (2004)
Selinger, P.: A brief survey of quantum programming languages. In: Proceedings of the 7th International Symposium Functional and Logic Programming (FLOPS), pp. 1–6 (2004)
Svore, K.M., Aho, A.V., Cross, A.W., Chuang, I., Markov, I.L.: A layered software architecture for quantum computing design tools. IEEE Comput. 39, 74–83 (2006)
Ying, M.S.: Floyd-Hoare logic for quantum programs. ACM Trans. Program. Langu. Syst. 33, 19 (2011)
Ying, M.S., Duan, R.Y., Feng, Y., Ji, Z.F.: Predicate Transformer Semantics of Quantum Programs, Semantic Techniques in Quantum Computation. Cambridge University Press, Cambridge (2010)
Ying, M.S., Feng, Y.: Quantum loop programs. Acta Informatica 47, 221–250 (2010)
Ying, M.S., Feng, Y.: A flowchart language for quantum programming. IEEE Trans. Softw. Eng. 37, 466–485 (2011)
Zuliani, P.: Nondeterminstic quantum programming. In: Proceedings of the 2nd International Workshop on Quantum Programming Languages, pp. 179–195 (2004)
Zuliani, P.: Compiling quantum programs. Acta Informatica 41, 435–473 (2005)
Acknowledgments
We are grateful to Runyao Duan and Yuan Feng for useful discussions. This work was partly supported by the Australian Research Council (Grant No: DP110103473) and the National Natural Science Foundation of China (Grant No: 60736011).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Li, Y., Yu, N. & Ying, M. Termination of nondeterministic quantum programs. Acta Informatica 51, 1–24 (2014). https://doi.org/10.1007/s00236-013-0185-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-013-0185-3