quantum programming
Recently Published Documents


TOTAL DOCUMENTS

99
(FIVE YEARS 43)

H-INDEX

11
(FIVE YEARS 3)

2022 ◽  
Vol 18 (1) ◽  
pp. 1-24
Author(s):  
N. Khammassi ◽  
I. Ashraf ◽  
J. V. Someren ◽  
R. Nane ◽  
A. M. Krol ◽  
...  

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.


2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-31
Author(s):  
Xiaodong Jia ◽  
Andre Kornell ◽  
Bert Lindenhovius ◽  
Michael Mislove ◽  
Vladimir Zamdzhiev

We consider a programming language that can manipulate both classical and quantum information. Our language is type-safe and designed for variational quantum programming, which is a hybrid classical-quantum computational paradigm. The classical subsystem of the language is the Probabilistic FixPoint Calculus (PFPC), which is a lambda calculus with mixed-variance recursive types, term recursion and probabilistic choice. The quantum subsystem is a first-order linear type system that can manipulate quantum information. The two subsystems are related by mixed classical/quantum terms that specify how classical probabilistic effects are induced by quantum measurements, and conversely, how classical (probabilistic) programs can influence the quantum dynamics. We also describe a sound and computationally adequate denotational semantics for the language. Classical probabilistic effects are interpreted using a recently-described commutative probabilistic monad on DCPO. Quantum effects and resources are interpreted in a category of von Neumann algebras that we show is enriched over (continuous) domains. This strong sense of enrichment allows us to develop novel semantic methods that we use to interpret the relationship between the quantum and classical probabilistic effects. By doing so we provide a very detailed denotational analysis that relates domain-theoretic models of classical probabilistic programming to models of quantum programming.


2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-32
Author(s):  
Charles Yuan ◽  
Christopher McNally ◽  
Michael Carbin

Quantum programming languages enable developers to implement algorithms for quantum computers that promise computational breakthroughs in classically intractable tasks. Programming quantum computers requires awareness of entanglement , the phenomenon in which measurement outcomes of qubits are correlated. Entanglement can determine the correctness of algorithms and suitability of programming patterns. In this work, we formalize purity as a central tool for automating reasoning about entanglement in quantum programs. A pure expression is one whose evaluation is unaffected by the measurement outcomes of qubits that it does not own, implying freedom from entanglement with any other expression in the computation. We present Twist, the first language that features a type system for sound reasoning about purity. The type system enables the developer to identify pure expressions using type annotations. Twist also features purity assertion operators that state the absence of entanglement in the output of quantum gates. To soundly check these assertions, Twist uses a combination of static analysis and runtime verification. We evaluate Twist’s type system and analyses on a benchmark suite of quantum programs in simulation, demonstrating that Twist can express quantum algorithms, catch programming errors in them, and support programs that existing languages disallow, while incurring runtime verification overhead of less than 3.5%.


2021 ◽  
Vol 2 (4) ◽  
pp. 1-37
Author(s):  
X. Fu ◽  
Jintao Yu ◽  
Xing Su ◽  
Hanru Jiang ◽  
Hua Wu ◽  
...  

The increasing control complexity of Noisy Intermediate-Scale Quantum (NISQ) systems underlines the necessity of integrating quantum hardware with quantum software. While mapping heterogeneous quantum-classical computing (HQCC) algorithms to NISQ hardware for execution, we observed a few dissatisfactions in quantum programming languages (QPLs), including difficult mapping to hardware, limited expressiveness, and counter-intuitive code. In addition, noisy qubits require repeatedly performed quantum experiments, which explicitly operate low-level configurations, such as pulses and timing of operations. This requirement is beyond the scope or capability of most existing QPLs. We summarize three execution models to depict the quantum-classical interaction of existing QPLs. Based on the refined HQCC model, we propose the Quingo framework to integrate and manage quantum-classical software and hardware to provide the programmability over HQCC applications and map them to NISQ hardware. We propose a six-phase quantum program life-cycle model matching the refined HQCC model, which is implemented by a runtime system. We also propose the Quingo programming language, an external domain-specific language highlighting timer-based timing control and opaque operation definition, which can be used to describe quantum experiments. We believe the Quingo framework could contribute to the clarification of key techniques in the design of future HQCC systems.


PRX Quantum ◽  
2021 ◽  
Vol 2 (3) ◽  
Author(s):  
Matteo Ippoliti ◽  
Kostyantyn Kechedzhi ◽  
Roderich Moessner ◽  
S.L. Sondhi ◽  
Vedika Khemani

2021 ◽  
Vol 11 (1) ◽  
Author(s):  
Geng-Li Zhang ◽  
Di Liu ◽  
Man-Hong Yung

AbstractExceptional points (EPs), the degeneracy points of non-Hermitian systems, have recently attracted great attention because of their potential of enhancing the sensitivity of quantum sensors. Unlike the usual degeneracies in Hermitian systems, at EPs, both the eigenenergies and eigenvectors coalesce. Although EPs have been widely explored, the range of EPs studied is largely limited by the underlying systems, for instance, higher-order EPs are hard to achieve. Here we propose an extendable method to simulate non-Hermitian systems and study EPs with quantum circuits. The system is inherently parity-time (PT) broken due to the non-symmetric controlling effects of the circuit. Inspired by the quantum Zeno effect, the circuit structure guarantees the success rate of the post-selection. A sample circuit is implemented in a quantum programming framework, and the phase transition at EP is demonstrated. Considering the scalable and flexible nature of quantum circuits, our model is capable of simulating large-scale systems with higher-order EPs.


2021 ◽  
Vol 2 (2) ◽  
pp. 1-36
Author(s):  
Alexander Mccaskey ◽  
Thien Nguyen ◽  
Anthony Santana ◽  
Daniel Claudino ◽  
Tyler Kharazi ◽  
...  

We present qcor—a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler enabling high-level quantum kernel (function) expression in a quantum-language agnostic manner, as well as a hardware-agnostic, retargetable compiler workflow targeting a number of physical and virtual quantum computing backends. qcor leverages novel Clang plugin interfaces and builds upon the XACC system-level quantum programming framework to provide a state-of-the-art integration mechanism for quantum-classical compilation that leverages the best from the community at-large. qcor translates quantum kernels ultimately to the XACC intermediate representation, and provides user-extensible hooks for quantum compilation routines like circuit optimization, analysis, and placement. This work details the overall architecture and compiler workflow for qcor, and provides a number of illuminating programming examples demonstrating its utility for near-term variational tasks, quantum algorithm expression, and feed-forward error correction schemes.


2021 ◽  
Vol 11 (13) ◽  
pp. 5843
Author(s):  
Pedro Sánchez ◽  
Diego Alonso

There are no doubts that quantum programming and, in general, quantum computing, is one of the most promising areas within computer science and one of the areas where most expectations are being placed in recent years. Although the days when reliable and affordable quantum computers will be available is still a long way off, the explosion of programming languages for quantum programming has grown exponentially in recent years. The software engineering community has been quick to react to the need to adopt and adapt well-known tools and methods for software development, and for the design of new ones tailored to this new programming paradigm. However, many key aspects for its success depend on the establishment of an appropriate conceptual framework for the conception and design of quantum programs. This article discusses the concept of module, key in the software engineering discipline, and establishes initial criteria for determining the cohesion and coupling levels of a module in the field of quantum programming as a first step towards a sound quantum software engineering. As detailed in the article, the conceptual differences between classical and quantum computing are so pronounced that the translation of classical concepts to the new programming approach is not straightforward.


2021 ◽  
Author(s):  
Olivia-Linda Enciu

Manual quantum programming is generally diffcult for humans, due to the often hard-to-grasp properties of quantum mechanics and quantum computers. By outlining the target (or desired) behaviour of a particular quantum program, the task of programming can be turned into a search and optimization problem. A flexible evolutionary technique known as genetic programming may then be used as an aid in the search for quantum programs. In this work a genetic programming approach uses an estimation of distribution algorithm (EDA) to learn the probability distribution of optimal solution(s), given some target behaviour of a quantum program.


2021 ◽  
Author(s):  
Olivia-Linda Enciu

Manual quantum programming is generally diffcult for humans, due to the often hard-to-grasp properties of quantum mechanics and quantum computers. By outlining the target (or desired) behaviour of a particular quantum program, the task of programming can be turned into a search and optimization problem. A flexible evolutionary technique known as genetic programming may then be used as an aid in the search for quantum programs. In this work a genetic programming approach uses an estimation of distribution algorithm (EDA) to learn the probability distribution of optimal solution(s), given some target behaviour of a quantum program.


Sign in / Sign up

Export Citation Format

Share Document