Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

A Procedural Formalism for Quantum Computing

Bernhard Ömer

Published Jan 1, 2002• 85 citations
OpenAlex

Abstract

Despite many common concepts with classical computer science, quantum computing is still widely considered as a special discipline within the broad field of theoretical physics. One reason for the slow adoption of QC by the computer science community is the confusing variety of formalisms (Dirac notation, matrices, gates, operators, etc.), none of which has any similarity with classical programming languages, as well as the rather “physical” terminology in most of the available literature. QCL (Quantum Computation Language) tries to fill this gap: QCL is a hight level, architecture independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal. This allows for the complete implementation and simulation of quantum algorithms (including classical components) in one consistent formalism. Chapter 1 is an introduction into the basic concepts of quantum programming,

Related papers

Procedural Quantum Programming

Bernhard Ömer

While classical computing science has developed a variety of methods and programming languages around the concept of the universal computer, the typical description of quantum algorithms still uses a purely mathematical, non‐constructive formalism which makes no difference between a hydrogen atom and a quantum computer. This paper investigates, how the concept of procedural programming languages, the most widely used classical formalism for describing and implementing algorithms, can be adopted to the field of quantum computing, and how non‐classical features like the reversibility of unitary transformations, the non‐observability of quantum states or the lack of copy and erase operations can be reflected semantically. It introduces the key concepts of procedural quantum programming (hybrid target architecture, operator hierarchy, quantum data types, memory management, etc.) and presents the experimental language QCL, which implements these principles.

AIP conference proceedings•Jan 1, 2002•13 citations

An axiomatization of quantum computational Logic

Vladimir L. Vasyukov

One of the logical proposals that arise from quantum computation is the idea to use the quantum theoretical formalism to represent parallel reasoning. To this aim a quantum computation is considered by means of convenient unitary operators assuming arguments and values in particular sets of qubit systems. Isolating some important unitary operators that have a special role in quantum computation (logical gates or quregisters) we obtain an opportunity to yield the language of Quantum Computational Logic (QCL) (cf. [Cattaneo et al., 2003; Cattaneo et al., 2004; Dalla Chiara et al., 2004]). The basic concept of the semantics of this language is the notion of quantum computational realization such that the meaning associated to any sentence is a quregister. Unlike the semantic of a standard quantum logic QCL-conjunction and QCL-disjunction do not correspond to lattice operations since they are not generally idempotent. Moreover, in QCL the weak distributivity principle breaks down and both the excluded middle and the non contradiction principles are violated. Finally, the axiomatizability of QCL is still an open problem. In the paper an axiomatization of QCL is proposed construing it as a kind of so-called Goldblatt’s binary logic. Some metalogical theorems (paraconsistency and completeness) are proved.

Logical Investigations•Jan 1, 2023•0 citations

Q#, a quantum computation package for the .NET platform

Ahmed S. Tolba, Magdi Z. Rashad, Mohamed A. El-dosuky

Quantum computing is a promising approach of computation that is based on equations from Quantum Mechanics. A simulator for quantum algorithms must be capable of performing heavy mathematical matrix transforms. The design of the simulator itself takes one of three forms: Quantum Turing Machine, Network Model or circuit model of connected gates or, Quantum Programming Language, yet, some simulators are hybrid. We studied previous simulators and then we adopt features from three simulators of different implementation languages, different paradigms, and for different platforms. They are Quantum Computing Language (QCL), QUASI, and Quantum Optics Toolbox for Matlab 5. Our simulator for quantum algorithms takes the form of a package or a programming library for Quantum computing, with a case study showing the ability of using it in the circuit model. The .NET is a promising platform for computing. VB.NET is an easy, high productive programming language with the full power and functionality provided by the .NET framework. It is highly readable, writeable, and flexible language, compared to another language such as C#.NET in many aspects. We adopted VB.NET although its shortage in built-in mathematical complex and matrix operations, compared to Matlab. For implementation, we first built a mathematical core of matrix operations. Then, we built a quantum core which contains: basic qubits and register operations, basic 1D, 2D, and 3D quantum gates, and multi-view visualization of the quantum state, then a window for demos to show you how to use and get the most of the package.

arXiv:1302.5133•Feb 20, 2013•2 citations

Basics of Quantum Computing

Ahcène Bounceur, Mohammad Ali A. Hammoudeh, Bamidele Adebisi +1 more

This chapter offers an introduction to the emerging domain of quantum programming. Quantum computing demands a paradigm shift from classical approaches. Traditional programming constructs are insufficient for exploiting the complete capabilities of quantum algorithms. Instead, quantum programming languages such as Qiskit, Quipper, and Q# provide frameworks for expressing quantum algorithms in a quantum-native manner. This chapter starts by examining the fundamental principles that establish the distinctive computational paradigm of quantum computing. Then, an introduction to fundamental quantum concepts, including superposition, entanglement, and quantum gates, is provided. It explains how quantum gates manipulate qubits, orchestrating complex quantum operations. Moreover, it explores quantum parallelism and interference, which underpin the unique computational power of quantum computers. Furthermore, the chapter explores the problems of quantum error correction and fault tolerance, which are essential for mitigating the effects of decoherence and noise in quantum systems. These techniques pave the way for scalable and reliable quantum computation. Overall, this chapter serves as a comprehensive primer on quantum computing principles and their implications for programming. By explaining the fundamentals of quantum mechanics and clarifying their role in computation, it provides a foundational understanding essential for navigating the emerging field of quantum computing.

CRC Press eBooks•Dec 9, 2024•0 citations

Quantum programming languages

Josefína Čížková

Quantum programming languages Abstract We describe basic principles and properties of a quantum system and their use for Shor's algorithm. This algorithm promises to factorize integers in better time complexity on a quantum computer simulator. We also describe Shor's algorithm in the programming language Q#, which allows us to simulate a quantum algorithm on a classical computer. Finally, two other quantum programming languages are introduced, Qiskit and QCL, again illustrated by factorization.

•Jan 1, 2021•0 citations

Models of quantum computation and quantum programming languages

Jarosław Adam Miszczak

Models of quantum computation and quantum programming languages The goal of the presented paper is to provide an introduction to the basic computational models used in quantum information theory. We review various models of quantum Turing machine, quantum circuits and quantum random access machine (QRAM) along with their classical counterparts. We also provide an introduction to quantum programming languages, which are developed using the QRAM model. We review the syntax of several existing quantum programming languages and discuss their features and limitations.

arXiv:1012.6035•Bulletin of the Polish Academy of Sciences Technical Sciences•Sep 1, 2011•34 citations
Despite many common concepts with classical computer science, quantum computing is still widely considered as a special discipline within the broad field of theoretical physics. One reason for the slow adoption of QC by the computer science community is the confusing variety of formalisms (Dirac notation, matrices, gates, operators, etc.), none of which has any similarity with classical programming languages, as well as the rather “physical” terminology in most of the available literature. QCL (Quantum Computation Language) tries to fill this gap: QCL is a hight level, architecture independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal. This allows for the complete implementation and simulation of quantum algorithms (including classical components) in one consistent formalism. Chapter 1 is an introduction into the basic concepts of quantum programming,
While classical computing science has developed a variety of methods and programming languages around the concept of the universal computer, the typical description of quantum algorithms still uses a purely mathematical, non‐constructive formalism which makes no difference between a hydrogen atom and a quantum computer. This paper investigates, how the concept of procedural programming languages, the most widely used classical formalism for describing and implementing algorithms, can be adopted to the field of quantum computing, and how non‐classical features like the reversibility of unitary transformations, the non‐observability of quantum states or the lack of copy and erase operations can be reflected semantically. It introduces the key concepts of procedural quantum programming (hybrid target architecture, operator hierarchy, quantum data types, memory management, etc.) and presents the experimental language QCL, which implements these principles.
One of the logical proposals that arise from quantum computation is the idea to use the quantum theoretical formalism to represent parallel reasoning. To this aim a quantum computation is considered by means of convenient unitary operators assuming arguments and values in particular sets of qubit systems. Isolating some important unitary operators that have a special role in quantum computation (logical gates or quregisters) we obtain an opportunity to yield the language of Quantum Computational Logic (QCL) (cf. [Cattaneo et al., 2003; Cattaneo et al., 2004; Dalla Chiara et al., 2004]). The basic concept of the semantics of this language is the notion of quantum computational realization such that the meaning associated to any sentence is a quregister. Unlike the semantic of a standard quantum logic QCL-conjunction and QCL-disjunction do not correspond to lattice operations since they are not generally idempotent. Moreover, in QCL the weak distributivity principle breaks down and both the excluded middle and the non contradiction principles are violated. Finally, the axiomatizability of QCL is still an open problem. In the paper an axiomatization of QCL is proposed construing it as a kind of so-called Goldblatt’s binary logic. Some metalogical theorems (paraconsistency and completeness) are proved.
Quantum computing is a promising approach of computation that is based on equations from Quantum Mechanics. A simulator for quantum algorithms must be capable of performing heavy mathematical matrix transforms. The design of the simulator itself takes one of three forms: Quantum Turing Machine, Network Model or circuit model of connected gates or, Quantum Programming Language, yet, some simulators are hybrid. We studied previous simulators and then we adopt features from three simulators of different implementation languages, different paradigms, and for different platforms. They are Quantum Computing Language (QCL), QUASI, and Quantum Optics Toolbox for Matlab 5. Our simulator for quantum algorithms takes the form of a package or a programming library for Quantum computing, with a case study showing the ability of using it in the circuit model. The .NET is a promising platform for computing. VB.NET is an easy, high productive programming language with the full power and functionality provided by the .NET framework. It is highly readable, writeable, and flexible language, compared to another language such as C#.NET in many aspects. We adopted VB.NET although its shortage in built-in mathematical complex and matrix operations, compared to Matlab. For implementation, we first built a mathematical core of matrix operations. Then, we built a quantum core which contains: basic qubits and register operations, basic 1D, 2D, and 3D quantum gates, and multi-view visualization of the quantum state, then a window for demos to show you how to use and get the most of the package.
This chapter offers an introduction to the emerging domain of quantum programming. Quantum computing demands a paradigm shift from classical approaches. Traditional programming constructs are insufficient for exploiting the complete capabilities of quantum algorithms. Instead, quantum programming languages such as Qiskit, Quipper, and Q# provide frameworks for expressing quantum algorithms in a quantum-native manner. This chapter starts by examining the fundamental principles that establish the distinctive computational paradigm of quantum computing. Then, an introduction to fundamental quantum concepts, including superposition, entanglement, and quantum gates, is provided. It explains how quantum gates manipulate qubits, orchestrating complex quantum operations. Moreover, it explores quantum parallelism and interference, which underpin the unique computational power of quantum computers. Furthermore, the chapter explores the problems of quantum error correction and fault tolerance, which are essential for mitigating the effects of decoherence and noise in quantum systems. These techniques pave the way for scalable and reliable quantum computation. Overall, this chapter serves as a comprehensive primer on quantum computing principles and their implications for programming. By explaining the fundamentals of quantum mechanics and clarifying their role in computation, it provides a foundational understanding essential for navigating the emerging field of quantum computing.
Quantum programming languages Abstract We describe basic principles and properties of a quantum system and their use for Shor's algorithm. This algorithm promises to factorize integers in better time complexity on a quantum computer simulator. We also describe Shor's algorithm in the programming language Q#, which allows us to simulate a quantum algorithm on a classical computer. Finally, two other quantum programming languages are introduced, Qiskit and QCL, again illustrated by factorization.
Models of quantum computation and quantum programming languages The goal of the presented paper is to provide an introduction to the basic computational models used in quantum information theory. We review various models of quantum Turing machine, quantum circuits and quantum random access machine (QRAM) along with their classical counterparts. We also provide an introduction to quantum programming languages, which are developed using the QRAM model. We review the syntax of several existing quantum programming languages and discuss their features and limitations.