Programming a quantum computer with quantum instructions
Morten Kjaergaard, Mollie E. Schwartz, Ami Greene, Gabriel O. Samach, Andreas Bengtsson, Michael O'Keeffe, Christopher M. McNally, Jochen Braumüller, David K. K… 展开作者
Morten Kjaergaard, Mollie E. Schwartz, Ami Greene, Gabriel O. Samach, Andreas Bengtsson, Michael O'Keeffe, Christopher M. McNally, Jochen Braumüller, David K. Kim, Philip Krantz, Milad Marvian, Alexander Melville, Bethany M. Niedzielski, Youngkyu Sung, Roni Winik, Jonilyn Yoder, Danna Rosenberg, Kevin Obenland, Seth Lloyd, Terry P. Orlando, Iman Marvian, Simon Gustavsson, William D. Oliver
The equivalence between the instructions used to define programs and the input data on which the instructions operate is a basic principle of classical computer architectures and programming. Replacing classical data with quantum states enables fundamentally new computational capabilities with scaling advantages for many applications, and numerous models have been proposed for realizing quantum computation. However, within each of these models, the quantum data are transformed by a set of gates that are compiled using solely classical information. Conventional quantum computing models thus break the instruction-data symmetry: classical instructions and quantum data are not directly interchangeable. In this work, we use a density matrix exponentiation protocol to execute quantum instructions on quantum data. In this approach, a fixed sequence of classically-defined gates performs an operation that uniquely depends on an auxiliary quantum instruction state. Our demonstration relies on a 99.7% fidelity controlled-phase gate implemented using two tunable superconducting transmon qubits, which enables an algorithmic fidelity surpassing 90% at circuit depths exceeding 70. The utilization of quantum instructions obviates the need for costly tomographic state reconstruction and recompilation, thereby enabling exponential speedup for a broad range of algorithms, including quantum principal component analysis, the measurement of entanglement spectra, and universal quantum emulation.
Candidates for quantum computing which offer only restricted control, e.g., due to lack of access to individual qubits, are not useful for general purpose quantum computing. We present concrete proposals for the use of systems with such limitations as RISQ - reduced instruction set quantum computers and devices - for simulation of quantum dynamics, for multi-particle entanglement and squeezing of collective spin variables. These tasks are useful in their own right, and they also provide experimental probes for the functioning of quantum gates in pre-mature proto-types of quantum computers.
We study effects of the physical realization of quantum computers on their logical operation. Through simulation of physical models of quantum computer hardware, we analyse the difficulties that are encountered in programming physical implementations of quantum computers. We discuss the origin of the instabilities of quantum algorithms and explore physical mechanisms to enlarge the region(s) of stable operation.
The task of programming a quantum computer is just as strange as quantum mechanics itself. But it now looks like a simple 3D puzzle may be the future tool of quantum software engineers.
We study effects of the physical realization of quantum computers on their logical operation. Through simulation of physical models of quantum computer hardware, we analyze the difficulties that are encountered in programming physical realizations of quantum computers. Examples of logically identical implementations of the controlled-NOT operation and Grover's database search algorithm are used to demonstrate that the results of a quantum computation are unstable with respect to the physical realization of the quantum computer. We discuss the origin of these instabilities and discuss possibili…
Arrays of weakly-coupled quantum systems can be made to compute by subjecting them to a sequence of electromagnetic pulses of well-defined frequency and length. Such pulsed arrays are true quantum computers: bits can be placed in superpositions of 0 and 1, logical operations take place coherently, and dissipation is required only for error correction. Programming such computers is accomplished by selecting the proper sequence of pulses.
In this paper we discuss analogue computers based on quantum optical systems accelerating dynamic programming for some computational problems. These computers, at least in principle, can be realized by actually existing devices. We estimate an acceleration in resolving of some NP-hard problems that can be obtained in such a way versus deterministic computers
We execute the quantum eraser, the Elitzur-Vaidman bomb, and the Hardy's paradox experiment using high-level programming language on a generic, gate-based superconducting quantum processor made publicly available by IBM. The quantum circuits for these experiments use a mixture of one-qubit and multi-qubit gates and require high entanglement gate accuracy. The results aligned with theoretical predictions of quantum mechanics to high confidence on circuits using up to 3 qubits. The power of quantum computers and high-level language as a platform for experimenting and studying quantum phenomena i…
This study examines the simulation of quantum algorithms on a classical computer. The program code implemented on a classical computer will be a straight connection between the mathematical formulation of quantum mechanics and computational methods. The computational language will include formulations such as quantum state, superposition and quantum operator.
While not yet in commercial existence, quantum computers have the ability to solve certain classes of problems that are not efficiently solvable on existing Turing Machine based (classical) computers. For quantum computers to be of use, methods of programming them must exist. Proposals exist for programming quantum computers, but all of the existing ones suffer from flaws that make them impractical in commercial software development environments. Cove is a framework for programming quantum computers that extends existing classical languages to allow for quantum computation, thus providing a qu…
With the rapid development of quantum hardware technologies, benchmarking the performance of quantum computers has become attractive. In this paper, we propose a new aspect of benchmarking quantum computers by evaluating the limitation of hardware utilization using a multi-programming mechanism -- a technique that simultaneously executes multiple circuits in a quantum machine. This is the first attempt to compare the evaluation of multi-programming on trapped-ion and superconducting devices. Based on the experimental results, performing multi-programming on a trapped-ion device demonstrates be…
Quantum computing is a new emerging computer technology. Current quantum computing devices are at a development stage where they are gradually becoming suitable for small real-world applications. This lecture is devoted to the practical aspects of programming such quantum computing devices. The first part of these lecture notes focuses on programming gate-based quantum computers, and the second part shows how to program quantum annealers.
The number of qubits in current quantum computers is a major restriction on their wider application. To address this issue, Ying conceived of using two or more small-capacity quantum computers to produce a larger-capacity quantum computing system by quantum parallel programming ([M. S. Ying, Morgan-Kaufmann, 2016]). In doing so, the main obstacle is separating the quantum gates in the whole circuit to produce a tensor product of the local gates. In this study, we theoretically analyse the (sufficient and necessary) separability conditions of multipartite quantum gates in finite or infinite dim…
We present a new quantum programming language called "Quala" that enables true full-stack programming of quantum hardware. Quala allows seamless integration of abstraction layers such as the digital circuit layer and the analog control pulse waveform layer. Additionally, the language supports user-issued low-level hardware instructions like FPGA actions. Mid-circuit measurements and branching decision logic support real-time, adaptive programs. This flexibility allows users to write code for everything from quantum error correction to analog quantum simulation. The combination of a user-facing…
Quantum systems have potential to demonstrate significant computational advantage, but current quantum devices suffer from the rapid accumulation of error that prevents the storage of quantum information over extended periods. The unintentional coupling of qubits to their environment and each other adds significant noise to computation, and improved methods to combat decoherence are required to boost the performance of quantum algorithms on real machines. While many existing techniques for mitigating error rely on adding extra gates to the circuit, calibrating new gates, or extending a circuit…
Classical programming languages cannot model essential elements of complex systems such as true random number generation. This paper develops a formal programming language called the lambda-q calculus that addresses the fundamental properties of complex systems. This formal language allows the expression of quantumized algorithms, which are extensions of randomized algorithms in that probabilities can be negative, and events can cancel out. An illustration of the power of quantumized algorithms is the ability to efficiently solve the satisfiability problem, something that many believe is beyon…
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…
The primordial model of quantum computation was introduced over thirty years ago and the first quantum algorithms have appeared for over twenty years. Yet the exact architectures for quantum computer seem foreign to an undergraduate student major in computer science or engineering, even though the mass media has helped popularize the terminologies in the past decade. Despite being a cutting-edge technology from both the theoretical and the experimental perspectives, quantum computation is indeed imminent and it would be helpful to give the undergraduate students at least a skeleton understandi…
Recent developments in quantum hardware indicate that systems featuring more than 50 physical qubits are within reach. At this scale, classical simulation will no longer be feasible and there is a possibility that such quantum devices may outperform even classical supercomputers at certain tasks. With the rapid growth of qubit numbers and coherence times comes the increasingly difficult challenge of quantum program compilation. This entails the translation of a high-level description of a quantum algorithm to hardware-specific low-level operations which can be carried out by the quantum device…
Crosstalk is a major source of noise in Noisy Intermediate-Scale Quantum (NISQ) systems and is a fundamental challenge for hardware design. When multiple instructions are executed in parallel, crosstalk between the instructions can corrupt the quantum state and lead to incorrect program execution. Our goal is to mitigate the application impact of crosstalk noise through software techniques. This requires (i) accurate characterization of hardware crosstalk, and (ii) intelligent instruction scheduling to serialize the affected operations. Since crosstalk characterization is computationally expen…
Qubit mapping is essential to quantum computing's fidelity and quantum computers' resource utilization. Yet, the existing qubit mapping schemes meet some challenges (e.g., crosstalk, SWAP overheads, diverse device topologies, etc.), leading to qubit resource under-utilization, high error rate, and low fidelity in computing results. This paper presents QuCloud+, a new qubit mapping scheme capable of handling these challenges. QuCloud+ has several new designs. (1) QuCloud+ enables multi-programming quantum computing on quantum chips with 2D/3D topology. (2) It partitions physical qubits for conc…
We discuss the problem of finite-horizon dynamic programming (DP) on a quantum computer. We introduce a query model for studying quantum and classical algorithms for solving DP problems, and provide example oracle constructions for the travelling salesperson problem, the minimum set-cover problem, and the edit distance problem. We formulate open questions regarding quadratic quantum speedups for DP and discuss their implications. We then prove lower bounds for the query complexity of quantum algorithms and classical randomized algorithms for DP, and show that no greater-than-quadratic speedup …
Gate-based quantum programming languages are ubiquitous but measurement-based languages currently exist only on paper. This work introduces MCBeth, a quantum programming language which allows programmers to directly represent, program, and simulate measurement-based and cluster state computation by building upon the measurement calculus. While MCBeth programs are meant to be executed directly on hardware, to take advantage of current machines we also provide a compiler to gate-based instructions. We argue that there are clear advantages to measurement-based quantum computation compared to gate…
Recent developments in engineering and algorithms have made real-world applications in quantum computing possible in the near future. Existing quantum programming languages and compilers use a quantum assembly language composed of 1- and 2-qubit (quantum bit) gates. Quantum compiler frameworks translate this quantum assembly to electric signals (called control pulses) that implement the specified computation on specific physical devices. However, there is a mismatch between the operations defined by the 1- and 2-qubit logical ISA and their underlying physical implementation, so the current pra…
It is widely anticipated that a large-scale quantum computer will offer an evermore accurate simulation of nature, opening the floodgates for exciting scientific breakthroughs and technological innovations. Here, we show a complete, instruction-by-instruction rubric to simulate U(1), SU(2), and SU(3) lattice gauge theories on a quantum computer. These theories describe quantum electrodynamics and chromodynamics, the key ingredients that form the fabric of our universe. We further provide a concrete estimate of the quantum computational resources required for an accurate simulation of lattice g…
Parallel operations in conventional computing have proven to be an essential tool for efficient and practical computation, and the story is not different for quantum computing. Indeed, there exists a large body of works that study advantages of parallel implementations of quantum gates for efficient quantum circuit implementations. Here, we focus on the recently invented efficient, arbitrary, simultaneously entangling (EASE) gates, available on a trapped-ion quantum computer. Leveraging its flexibility in selecting arbitrary pairs of qubits to be coupled with any degrees of entanglement, all i…