Abstract
The rapid progress of computer technology has been accompanied by a corresponding evolution of software development, from hardwired components and binary machine code to high level programming languages, which allowed to master the increasing hardware complexity and fully exploit its potential.
This paper investigates, how classical concepts like hardware abstraction, hierarchical programs, data types, memory management, flow of control, and structured programming can be used in quantum computing. The experimental language QCL will be introduced as an example, how elements like irreversible functions, local variables, and conditional branching, which have no direct quantum counterparts, can be implemented, and how nonclassical features like the reversibility of unitary transformation or the nonobservability of quantum states can be accounted for within the framework of a procedural programming language.
Similar content being viewed by others
References
Aaby, A. A. (1996). Introduction to Programming Languages. Available at http://cs.wwc.edu/ aabyan/221_2/PLBOOK/
Bani-Eqbal, B. (1992). Exclusive Normal Form of Boolean Circuits, Technical Report Series, UMCS-92-4-1, University of Manchester, Manchester, UK. Available at http://www.cs.man.ac.uk/cstechrep/Abstracts/UMCS-92-4-1.html
Bennett, C. H. (1973). Logical reversibility of computation. IBM Journal of Research and Development 17, 525.
Dahl, O.-J., Dijkstra, E. W., and Hoare, C. A. R. (1972). 1972 Structured Programming, Academic, London.
Deutsch, D. (1989). Quantum Computational Networks. Proceedings of the Royal Society of London, A 439, 553–558.
Dijkstra, E. W. (1969). In Structured Programming, Software Engineering Techniques, J. N. Buxton and B. Randell, eds., NATO Science Committee, Brussels, Belgium, pp. 84–88.
Ekert, A. and Jozsa, R. (1996). Shor's quantum algorithm for factoring numbers. Reviews in Modern Physics 68(3), 733–753.
Nielsen, M. A. and Chuang, I. L. (2000). Quantum Computation and Quantum Information, Cambridge University Press, Cambridge, UK.
Ömer, B. (1998). A Procedural Formalism for Quantum Computing, Master-Thesis, Technical University Vienna, Vienna, Austria. Available at http://tph.tuwien.ac.at/oemer/qcl.html
Shor, P. W. (1994). Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th IEEE Symposium on Foundations of Computer Science, S. Goldwasser, ed., IEEE Computer Society, Los Alamitos, California, USA pp. 124–134.
Wallace, J. (2001). Quantum computer simulators. In Partial Proceedings of the 4th International Conference CASYS 2000, D. M. Dubois (ed.), International Journal of Computing Anticipatory Systems, Vol. 10, pp. 230–245.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ömer, B. Classical Concepts in Quantum Programming. Int J Theor Phys 44, 943–955 (2005). https://doi.org/10.1007/s10773-005-7071-x
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/s10773-005-7071-x