Quantum computing has been attracting the attention of both applied research and companies. Continuous progress on fundamental hardware technology promises to bring us more reliable and large-scale quantum computers on which to run the next generation of quantum algorithms. These programs are compiled and executed on dedicated platforms, and similarly to classical programs, a large effort is required to test these platforms and create a robust software toolchain.
Quantum computing has been attracting the attention of both applied research and companies. Continuous progress on fundamental hardware technology promises to bring us more reliable and large-scale quantum computers on which to run the next generation of quantum algorithms. These programs are compiled and executed on dedicated platforms, and similarly to classical programs, a large effort is required to test these platforms and create a robust software toolchain.
Quantum computing has been attracting the attention of both applied research and companies. Continuous progress on fundamental hardware technology promises to bring us more reliable and large-scale quantum computers on which to run the next generation of quantum algorithms. These programs are compiled and executed on dedicated platforms, and similarly to classical programs, a large effort is required to test these platforms and create a robust software toolchain.Unlike previous studies which focused on cross-optimization and cross-backend testing, this dissertation aims to create the first approach for cross-platform testing which compares execution on diverse quantum computing platforms. To inform the design of the method, we will first perform an empirical study of bugs in quantum computing platforms and a review of the characteristics of realistic quantum programs.The final approach for cross-platform testing will include three components: a learning-based method to generate realistic quantum programs, an approach to map and run them on multiple platforms, and finally a quantum-specific statistical test to compare two multivariate binary distributions returned as the output of quantum programs.
Quantum Computing (QC) has evolved into a computational model that can potentially solve problems of classes that cannot be solved by classical systems. This review gives a discussion on the innovation of software frameworks, experimental platforms and quantum computing tools used to compute quantum algorithm development, simulation and implementation. It concentrates on widely used programming environments, which compile abstract quantum models into practical workflows, including Cirq, TensorFlow Quantum, ProjectQ and Qiskit. The paper, besides describing the long-lasting problems related to scalability, error correction, and hardware reliability, also considers the architecture of the modern quantum computing platforms. Finally, new advances are outlined, such as quantum cloud service and the integration of artificial intelligence and quantum computing, and their role in the development of QC to viable and lucrative deployments. All in all, the discussion suggests that even now quantum computing still needs to be taken to the next level in terms of hardware infrastructure and software development that would allow progressing to the next stage of quantum technology testing and implementation.
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 computing paradigms, including quantum annealing, and discrete and continuous-variable gate-model quantum computing. The evaluation of each project covers characteristics such as documentation, licence, the choice of programming language, compliance with norms of software engineering, and the culture of the project. We find that while the diversity of projects is mesmerizing, only a few attract external developers and even many commercially backed frameworks have shortcomings in software engineering. Based on these observations, we highlight the best practices that could foster a more active community around quantum computing software that welcomes newcomers to the field, but also ensures high-quality, well-documented code.
Quantum computing is getting increasing interest from both academia and industry, and the quantum software landscape has been growing rapidly. The quantum software stack comprises quantum programs, implementing algorithms, and platforms like IBM Qiskit, Google Cirq, and Microsoft Q#, enabling their development. To ensure the reliability and performance of quantum software, various techniques for testing and analyzing it have been proposed, such as test generation, bug pattern detection, and circuit optimization. However, the large amount of work and the fact that work on quantum software is performed by several research communities, make it difficult to get a comprehensive overview of the existing techniques. In this work, we provide an extensive survey of the state of the art in testing and analysis of quantum software. We discuss literature from several research communities, including quantum computing, software engineering, programming languages, and formal methods. Our survey covers a wide range of topics, including expected and unexpected behavior of quantum programs, testing techniques, program analysis approaches, optimizations, and benchmarks for testing and analyzing quantum software. We create novel connections between the discussed topics and present them in an accessible way. Finally, we discuss key challenges and open problems to inspire future research.
With high density and high performance applications, classical CMOS technology's drawbacks may be addressed via a method called quantum computing. This research is attracting more and more scholarly/technically focused on core area of QC and attention on its challenges because to its potential to revolutionize the current computing environment. This paper looks/finds at the many technologies that support quantum computing and provides a brief overview of its fundamental concepts. The resources, which include quantum programming languages, simulators, hardware platforms, and software development kits, have made it possible to conduct cutting-edge research and explore the seemingly endless potential of quantum computing. It also covers the most recent developments, challenges that persist, ongoing progress, and possible futures applications and challenges in this quickly changing field.
In recent years quantum computing has evolved from a research concept subject to reality. Companies and scientists around the world are creating physical quantum systems using different quantum technologies to advance the field. Although most of this focus is on superconducting, qubit-based implementations, recently there has been work in the development of boson-based quantum computers. The basic processing unit for these devices are continuous variable (CV), multi-photonic modes in Gaussian states. Due to the novel nature of this technology there is a lack of work on analyzing the compilation process of current photonic devices. One of the leading companies in this field developed a cross-platform Python library for simulating and executing programs on quantum photonic hardware, Strawberry Fields (SF). This paper will focus on analyzing the SF compilers, and proposing an additional compilation step that will enable future, more flexible hardware implementations.