The design of efficient quantum circuits is an important issue in quantum computing. It is in general a formidable task to find a highly optimized quantum circuit for a given unitary matrix. We propose a quantum circuit design method that has the following unique feature: It allows to construct efficient quantum circuits in a systematic way by reusing and combining a set of highly optimized quantum circuits. Specifically, the method realizes a quantum circuit for a given unitary matrix by implementing a linear combination of representing matrices of a group, which have known fast quantum circuits. We motivate and illustrate this method by deriving extremely efficient quantum circuits for the discrete Hartley transform and for the fractional Fourier transforms. The sound mathematical basis of this design method allows to give meaningful and natural interpretations of the resulting circuits. We demonstrate this aspect by giving a natural interpretation of known teleportation circuits.
The evolution of quantum hardware is highlighting the need for advances in quantum software engineering that help developers create quantum software with good quality attributes. Specifically, reusability has been traditionally considered an important quality attribute in terms of efficiency of cost and effort. Increasing the reusability of quantum software will help developers create more complex solutions, by reusing simpler components, with better quality attributes, as long as the reused components have also these attributes. This work focuses on the reusability of oracles, a well-known pa…
We provide a reusability report of the method presented by Chen et al. in "Optimizing quantum annealing schedules with Monte Carlo tree search enhanced with neural networks" and add further benchmarks on Max-Cut problems.
By considering an unreliable oracle in a query-based model of quantum learning, we present a tradeoff relation between the oracle's reliability and the reusability of quantum state of the input data. The tradeoff relation manifests as the fundamental upper bound on the reusability. This limitation on the reusability would increase the quantum access to the input data, i.e., the usage of quantum random access memory (qRAM), repeating the preparation of a superposition of `big' input data on the query failure. However, it is found that, a learner can obtain a correct answer even from an unreliab…
TBTK is a software development kit for quantum mechanical calculations and is designed to enable the development of applications that investigate problems formulated on second-quantized form. It also enables method developers to create solvers for tight-binding, DFT, DMFT, quantum transport, etc., that can be easily integrated with each other. Both through the development of completely new solvers, as well as front and back ends to already well established packages. TBTK provides data structures tailored for second-quantization that will encourage reusability and enable scalability for quantum…
Technical University of Applied Sciences Regensburg(雷根斯堡应用技术大学);Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院);Technical University of Applied Sciences Regensburg/Siemens AG, Foundational Technologies(雷根斯堡应用技术大学/西门子股份公司基础技术)
Quantum computers are available to use over the cloud, but the recent explosion of quantum software platforms can be overwhelming for those deciding on which to use. In this paper, we provide a current picture of the rapidly evolving quantum computing landscape by comparing four software platforms---Forest (pyQuil), Qiskit, ProjectQ, and the Quantum Developer Kit (Q\#)---that enable researchers to use real and simulated quantum devices. Our analysis covers requirements and installation, language syntax through example programs, library support, and quantum simulator capabilities for each platf…
Quantum cryptography -- the application of quantum computing techniques to cryptography has been extensively investigated. Two major directions of quantum cryptography are quantum key distribution (QKD) and quantum encryption, with the former focusing on secure key distribution and the latter focusing on encryption using quantum algorithms. In contrast to the success of the QKD, the development of quantum encryption algorithms is limited to designs of mostly one-time pads (OTP) that are unsuitable for most communication needs. In this work we propose a non-OTP quantum encryption scheme utilizi…
This article provides a personal perspective on research in Automated Quantum Software Engineering (AQSE). It elucidates the motivation to research AQSE (why?), a precise description of such a framework (what?), and reflections on components that are required for implementing it (how?).
Quantum computing has the potential to offer substantial computational advantages over conventional computing. Recent advances in quantum computing hardware and algorithms have enabled a class of classically parallel quantum workloads, whereby individual quantum circuits can execute independently on many quantum processing units. Here, we present the full-stack software framework developed at Quantum Brilliance to enable multi-modal parallelism for hybrid quantum workloads. Our software provides the capability to distribute quantum workloads across multiple quantum accelerators hosted by nodes…
Linear Software Models enable rigorous linear algebraic procedures for modular design of classical software systems. These procedures apply a spectral approach to matrix representations - e.g. the Laplacian - of the software system. Recent intensive research efforts towards quantum computers have increased expectations that quantum computing could in due time materialize as a practical alternative to classical computing. It is reasonable to inquire about quantum software desirable features and prepare in advance modular design procedures for quantum software systems. However, it does not make …
Quantum software plays a critical role in exploiting the full potential of quantum computing systems. As a result, it is drawing increasing attention recently. As research in quantum programming reaches maturity with a number of active research and practical products, software metric researchers need to focus on this new paradigm to evaluate it rigorously and quantitatively. As the first step, this paper proposes some basic metrics for quantum software, which mainly focus on measuring the size and structure of quantum software. These metrics are defined at different abstraction levels to repre…
Quantum software plays a critical role in exploiting the full potential of quantum computing systems. As a result, it has been drawing increasing attention recently. This paper defines the term "quantum software engineering" and introduces a quantum software life cycle. The paper also gives a generic view of quantum software engineering and discusses the quantum software engineering processes, methods, and tools. Based on these, the paper provides a comprehensive survey of the current state of the art in the field and presents the challenges and opportunities we face. The survey summarizes the…
Real-time control software and hardware is essential for operating quantum computers. In particular, the software plays a crucial role in bridging the gap between quantum programs and the quantum system. Unfortunately, current control software is often optimized for a specific system at the cost of flexibility and portability. We propose a systematic design strategy for modular real-time quantum control software and demonstrate that modular control software can reduce the execution time overhead of kernels by 63.3% on average while not increasing the binary size. Our analysis shows that modula…
Quantum computers promise to transform our notions of computation by offering a completely new paradigm. To achieve scalable quantum computation, optimizing compilers and a corresponding software design flow will be essential. We present a software architecture for compiling quantum programs from a high-level language program to hardware-specific instructions. We describe the necessary layers of abstraction and their differences and similarities to classical layers of a computer-aided design flow. For each layer of the stack, we discuss the underlying methods for compilation and optimization. …
As quantum internet technologies develop, the need for simulation software and education for quantum internet rises. QuNetSim aims to fill this need. QuNetSim is a Python software framework that can be used to simulate quantum networks up to the network layer. The goal of QuNetSim is to make it easier to investigate and test quantum networking protocols over various quantum network configurations and parameters. The framework incorporates many known quantum network protocols so that users can quickly build simulations and beginners can easily learn to implement their own quantum networking pro…
We set down the principles behind a modeling language for quantum software. We present a minimal set of extensions to the well-known Unified Modeling Language (UML) that allows it to effectively model quantum software. These extensions are separate and independent of UML as a whole. As such they can be used to extend any other software modeling language, or as a basis for a completely new language. We argue that these extensions are both necessary and sufficient to model, abstractly, any piece of quantum software. Finally, we provide a small set of examples that showcase the effectiveness of t…
University of Florence(佛罗伦萨大学);European Laboratory for Non-Linear Spectroscopy (LENS)(欧洲非线性光谱实验室(LENS));University of Lisbon(里斯本大学);Instituto de Telecomunicações(电信研究所);CNR-INO(意大利国家研究委员会-国家光学研究所);Scuola Internazionale Superiore di Studi Avanzati (SISSA)(国际高等研究院(SISSA))
In this paper we present the high-level functionalities of a quantum-classical machine learning software, whose purpose is to learn the main features (the fingerprint) of quantum noise sources affecting a quantum device, as a quantum computer. Specifically, the software architecture is designed to classify successfully (more than 99% of accuracy) the noise fingerprints in different quantum devices with similar technical specifications, or distinct time-dependences of a noise fingerprint in single quantum machines.
Open source software is becoming crucial in the design and testing of quantum algorithms. Many of the tools are backed by major commercial vendors with the goal to make it easier to develop quantum software: this mirrors how well-funded open machine learning frameworks enabled the development of complex models and their execution on equally complex hardware. We review a wide range of open source software for quantum computing, covering all stages of the quantum toolchain from quantum hardware interfaces through quantum compilers to implementations of quantum algorithms, as well as all quantum …
We introduce a simulator for a quantum internet with the specific goal to support software development. A quantum internet consists of local quantum processors, which are interconnected by quantum communication channels that enable the transmission of qubits between the different processors. While many simulators exist for local quantum processors, there is presently no simulator for a quantum internet tailored towards software development. Quantum internet protocols require both classical as well as quantum information to be exchanged between the network nodes, next to the execution of gates …
We show that, on the abstraction level of quantum circuit diagrams, quantum circuit algorithms belong to the species of interactive sequential algorithms that we studied in earlier work. This observation leads to a natural specification language for quantum circuit algorithms.
We introduce a pictorial approach to quantum information, called holographic software. Our software captures both algebraic and topological aspects of quantum networks. It yields a bi-directional dictionary to translate between a topological approach and an algebraic approach. Using our software, we give a topological simulation for quantum networks. The string Fourier transform (SFT) is our basic tool to transform product states into states with maximal entanglement entropy. We obtain a pictorial interpretation of Fourier transformation, of measurements, and of local transformations, includin…