Classical Concepts in Quantum Programming
arXiv:quant-ph/0211100 · doi:10.1007/s10773-005-7071-x
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 non-classical features like the reversibility of unitary transformation or the non-observability of quantum states can be accounted for within the framework of a procedural programming language.
arXiv comment11 pages, 4 figures, software available from http://tph.tuwien.ac.at/~oemer/qcl.html, submitted for QS2002 proceedings
Cited by in corpus (6)
- Quantum walks: a comprehensive review
- Quantum Software Engineering: Landscapes and Horizons
- A distributed simulation framework for quantum networks and channels
- A novel approach to noisy gates for simulating quantum computers
- Quantum Advantage Seeker with Kernels (QuASK): a software framework to speed up the research in quantum machine learning
- Generalised quantum weakest preconditions