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

ACM Journal on Emerging Technologies in Computing Systems

Ket Quantum Programming

Evandro C. R. Rosa, Rafael de Santiago

Published Oct 22, 2021• 15 citations
Publisher

Abstract

Quantum programming languages (QPL) fill the gap between quantum mechanics and classical programming constructions, simplifying the development of quantum applications. However, most QPL addresses the inherent quantum programming problem, neglecting quantum computer implementation constraints. We present a runtime architecture for classical-quantum execution that mitigates the limitation of interaction between classical and quantum computers originated from the cloud-based model of quantum computation provided by several vendors, which implies a quantum computer processing in batch. In the proposed runtime architecture, we introduce (i) runtime quantum code generation to enable generic quantum programming and dynamic quantum execution; and (ii) the concept of futures to handle dynamic interaction between classical and quantum computers. To support our proposal, we have implemented the Ket Quantum Programming framework that features a Python-embedded classical-quantum programming language named Ket, the C++ quantum programming library Libket, and Ket Bitwise (quantum computing) Simulator. The last one improves over the bitwise representation, making the simulation time not dependent on the number of qubits but the amount of superposition and entanglement of simulation.

DOI
10.1145/3474224

Related papers

Classical and Quantum Data Interaction in Programming Languages: A Runtime Architecture

Evandro C. R. Rosa, Rafael de Santiago

We propose a runtime architecture that can be used in the development of a quantum programming language and its programming environment. The proposed runtime architecture enables dynamic interaction between classical and quantum data following the restriction that a quantum computer is available in the cloud as a batch computer, with no interaction with the classical computer during its execution. It is done by leaving the quantum code generation for the runtime and introducing the concept of futures for quantum measurements. When implemented in a quantum programming language, those strategies aim to facilitate the development of quantum applications, especially for beginning programmers and students. Being suitable for the current Noisy Intermediate-Scale Quantum (NISQ) Computers, the runtime architecture is also appropriate for simulation and future Fault-Tolerance Quantum Computers.

arXiv:2006.00131•May 29, 2020•0 citations

Ket Programming Guide

Evandro C. R. da Rosa, Jerusa Marchi, Rafael de Santiago

The development of quantum computing necessitates specialized software tools. Ket is an open-source quantum programming platform that enables gate-based quantum development in Python, supported by a Rust-based runtime library and simulator. This paper presents a programming guide for the Ket platform. It covers the core concepts required to develop quantum applications, including quantum process management, gate operations, measurement strategies, and Hamiltonian construction. Designed for readers with prior knowledge of quantum computing and Python, this guide bridges the gap between theoretical algorithms and practical software implementation. To consolidate these concepts, the paper concludes with a practical tutorial applying QAOA, VQE, and FALQON to the Max-Cut problem, ultimately equipping researchers and developers to fully utilize the Ket platform.

Simpósio Brasileiro de Computação e Comunicação Quânticas (SBCCQ)•Jul 19, 2026•0 citations

OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators

Nader Khammassi, I. Ashraf, J. van Someren +6 more

With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving, and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. First, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it, and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this article, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code, which is technology independent and can be simulated using the QX simulator.

arXiv:2005.13283•ACM Journal on Emerging Technologies in Computing Systems•Dec 20, 2021•58 citations

A compact program code for simulations of quantum algorithms in classical computers

P. Nyman

A general quantum simulation language on a classical computer provides the opportunity to compare an experiential result from the development of quantum computers with mathematical theory. The intention of this research is to develop a program language that is able to make simulations of all quantum algorithms in same framework. This study examines the simulation of quantum algorithms on a classical computer with a symbolic programming language. We use the language Mathematica to make simulations of well-known quantum algorithms. The program code implemented on a classical computer will be a straight connection between the mathematical formulation of quantum mechanics and computational methods. This gives us an uncomplicated and clear language for the implementations of algorithms. The computational language includes essential formulations such as quantum state, superposition and quantum operator. This symbolic programming language provides a universal framework for examining the existing as well as future quantum algorithms. This study contributes with an implementation of a quantum algorithm in a program code where the substance is applicable in other simulations of quantum algorithms.

Laser Physics•Feb 1, 2009•1 citation

QCOR

Tiffany M. Mintz, Alexander McCaskey, Eugene Dumitrescu +3 more

Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR , which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.

ACM Journal on Emerging Technologies in Computing Systems•Mar 18, 2020•42 citations

Qutes: A High-Level Quantum Programming Language for Simplified Quantum Computing

Simone Faro, Francesco Pio Marino, Gabriele Messina

Quantum computing leverages the principles of quantum mechanics to perform computations far beyond the capabilities of classical systems, particularly in fields such as cryptography and optimization. However, current quantum programming languages often require low-level implementation, posing significant barriers for many developers due to their steep learning curve and limited abstraction. In response, we introduce Qutes, a high-level quantum programming language designed to simplify quantum algorithm development while maintaining the flexibility required for advanced applications. By abstracting complex quantum operations and allowing intuitive expressions through high-level constructs, Qutes enables users to write efficient quantum programs without extensive knowledge of quantum mechanics or circuit design. Built upon Qiskit, Qutes translates its syntax directly into executable quantum code, facilitating seamless integration with quantum hardware. This paper provides an overview of the language's architecture, core functionalities, and its ability to unify classical and quantum operations within a single framework. Additionally, we demonstrate Qutes' application in key quantum algorithms, showcasing its potential to make quantum programming more accessible and practical for a wider range of developers and researchers.

ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC)•Jul 20, 2025•2 citations
Quantum programming languages (QPL) fill the gap between quantum mechanics and classical programming constructions, simplifying the development of quantum applications. However, most QPL addresses the inherent quantum programming problem, neglecting quantum computer implementation constraints. We present a runtime architecture for classical-quantum execution that mitigates the limitation of interaction between classical and quantum computers originated from the cloud-based model of quantum computation provided by several vendors, which implies a quantum computer processing in batch. In the proposed runtime architecture, we introduce (i) runtime quantum code generation to enable generic quantum programming and dynamic quantum execution; and (ii) the concept of futures to handle dynamic interaction between classical and quantum computers. To support our proposal, we have implemented the Ket Quantum Programming framework that features a Python-embedded classical-quantum programming language named Ket, the C++ quantum programming library Libket, and Ket Bitwise (quantum computing) Simulator. The last one improves over the bitwise representation, making the simulation time not dependent on the number of qubits but the amount of superposition and entanglement of simulation.
We propose a runtime architecture that can be used in the development of a quantum programming language and its programming environment. The proposed runtime architecture enables dynamic interaction between classical and quantum data following the restriction that a quantum computer is available in the cloud as a batch computer, with no interaction with the classical computer during its execution. It is done by leaving the quantum code generation for the runtime and introducing the concept of futures for quantum measurements. When implemented in a quantum programming language, those strategies aim to facilitate the development of quantum applications, especially for beginning programmers and students. Being suitable for the current Noisy Intermediate-Scale Quantum (NISQ) Computers, the runtime architecture is also appropriate for simulation and future Fault-Tolerance Quantum Computers.
The development of quantum computing necessitates specialized software tools. Ket is an open-source quantum programming platform that enables gate-based quantum development in Python, supported by a Rust-based runtime library and simulator. This paper presents a programming guide for the Ket platform. It covers the core concepts required to develop quantum applications, including quantum process management, gate operations, measurement strategies, and Hamiltonian construction. Designed for readers with prior knowledge of quantum computing and Python, this guide bridges the gap between theoretical algorithms and practical software implementation. To consolidate these concepts, the paper concludes with a practical tutorial applying QAOA, VQE, and FALQON to the Max-Cut problem, ultimately equipping researchers and developers to fully utilize the Ket platform.
With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving, and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. First, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it, and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this article, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code, which is technology independent and can be simulated using the QX simulator.
A general quantum simulation language on a classical computer provides the opportunity to compare an experiential result from the development of quantum computers with mathematical theory. The intention of this research is to develop a program language that is able to make simulations of all quantum algorithms in same framework. This study examines the simulation of quantum algorithms on a classical computer with a symbolic programming language. We use the language Mathematica to make simulations of well-known quantum algorithms. The program code implemented on a classical computer will be a straight connection between the mathematical formulation of quantum mechanics and computational methods. This gives us an uncomplicated and clear language for the implementations of algorithms. The computational language includes essential formulations such as quantum state, superposition and quantum operator. This symbolic programming language provides a universal framework for examining the existing as well as future quantum algorithms. This study contributes with an implementation of a quantum algorithm in a program code where the substance is applicable in other simulations of quantum algorithms.
Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR , which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.
Quantum computing leverages the principles of quantum mechanics to perform computations far beyond the capabilities of classical systems, particularly in fields such as cryptography and optimization. However, current quantum programming languages often require low-level implementation, posing significant barriers for many developers due to their steep learning curve and limited abstraction. In response, we introduce Qutes, a high-level quantum programming language designed to simplify quantum algorithm development while maintaining the flexibility required for advanced applications. By abstracting complex quantum operations and allowing intuitive expressions through high-level constructs, Qutes enables users to write efficient quantum programs without extensive knowledge of quantum mechanics or circuit design. Built upon Qiskit, Qutes translates its syntax directly into executable quantum code, facilitating seamless integration with quantum hardware. This paper provides an overview of the language's architecture, core functionalities, and its ability to unify classical and quantum operations within a single framework. Additionally, we demonstrate Qutes' application in key quantum algorithms, showcasing its potential to make quantum programming more accessible and practical for a wider range of developers and researchers.