-
Sparse Simulation of VQE Circuits for Quantum Chemistry
Authors:
Damian S. Steiger,
Thomas Häner,
Scott N. Genin,
Helmut G. Katzgraber
Abstract:
The Variational Quantum Eigensolver (VQE) is a promising algorithm for future Noisy Intermediate-Scale Quantum (NISQ) devices to simulate chemical systems. In this paper, we consider the classical simulation of the iterative Qubit Coupled Cluster (iQCC) ansatz. To this end, we implement a multi-threaded sparse wave function simulator and simulate iQCC circuits with up to 80 qubits and 980 entangle…
▽ More
The Variational Quantum Eigensolver (VQE) is a promising algorithm for future Noisy Intermediate-Scale Quantum (NISQ) devices to simulate chemical systems. In this paper, we consider the classical simulation of the iterative Qubit Coupled Cluster (iQCC) ansatz. To this end, we implement a multi-threaded sparse wave function simulator and simulate iQCC circuits with up to 80 qubits and 980 entanglers to compare our results to experimental values and previous approximate simulations. In contrast to previous iQCC simulations, e.g., for computing the emission spectra of a phosphorescent emitting material, our approach features a variational guarantee, such that the resulting energies are true upper bounds on the exact energies. Additionally, our method is two orders of magnitude more memory-efficient, because it does not store the transformed Hamiltonians. Our theoretical analysis also enables the construction of ansätze with a limited number of nonzero amplitudes, for which our simulator can obtain exact results. This will allow one to generate complex benchmarking instances for future NISQ quantum computers and simulators.
△ Less
Submitted 15 April, 2024;
originally announced April 2024.
-
Disentangling Hype from Practicality: On Realistically Achieving Quantum Advantage
Authors:
Torsten Hoefler,
Thomas Haener,
Matthias Troyer
Abstract:
Quantum computers offer a new paradigm of computing with the potential to vastly outperform any imagineable classical computer. This has caused a gold rush towards new quantum algorithms and hardware. In light of the growing expectations and hype surrounding quantum computing we ask the question which are the promising applications to realize quantum advantage. We argue that small data problems an…
▽ More
Quantum computers offer a new paradigm of computing with the potential to vastly outperform any imagineable classical computer. This has caused a gold rush towards new quantum algorithms and hardware. In light of the growing expectations and hype surrounding quantum computing we ask the question which are the promising applications to realize quantum advantage. We argue that small data problems and quantum algorithms with super-quadratic speedups are essential to make quantum computers useful in practice. With these guidelines one can separate promising applications for quantum computing from those where classical solutions should be pursued. While most of the proposed quantum algorithms and applications do not achieve the necessary speedups to be considered practical, we already see a huge potential in material science and chemistry. We expect further applications to be developed based on our guidelines.
△ Less
Submitted 2 July, 2023;
originally announced July 2023.
-
Space-time optimized table lookup
Authors:
Thomas Häner,
Vadym Kliuchnikov,
Martin Roetteler,
Mathias Soeken
Abstract:
We describe a space-time optimized circuit for the table lookup subroutine from lattice-surgery surface code primitives respecting 2D grid connectivity. Table lookup circuits are ubiquitous in quantum computing, allowing the presented circuit to be used for applications ranging from cryptography to quantum chemistry. Surface code is the leading approach to scalable fault-tolerant quantum computing…
▽ More
We describe a space-time optimized circuit for the table lookup subroutine from lattice-surgery surface code primitives respecting 2D grid connectivity. Table lookup circuits are ubiquitous in quantum computing, allowing the presented circuit to be used for applications ranging from cryptography to quantum chemistry. Surface code is the leading approach to scalable fault-tolerant quantum computing pursued by industry and academia. We abstract away surface code implementation details by using a minimal set of operations supported by the surface code via lattice-surgery. Our exposition is accessible to a reader not familiar with surface codes and fault-tolerant quantum computing.
△ Less
Submitted 2 November, 2022;
originally announced November 2022.
-
QParallel: Explicit Parallelism for Programming Quantum Computers
Authors:
Thomas Häner,
Vadym Kliuchnikov,
Martin Roetteler,
Mathias Soeken,
Alexander Vaschillo
Abstract:
We present a language extension for parallel quantum programming to (1) remove ambiguities concerning parallelism in current quantum programming languages and (2) facilitate space-time tradeoff investigations in quantum computing. While the focus of similar libraries in the domain of classical computing (OpenMP, OpenACC, etc.) is to divide a computation into multiple threads, the main goal of QPar…
▽ More
We present a language extension for parallel quantum programming to (1) remove ambiguities concerning parallelism in current quantum programming languages and (2) facilitate space-time tradeoff investigations in quantum computing. While the focus of similar libraries in the domain of classical computing (OpenMP, OpenACC, etc.) is to divide a computation into multiple threads, the main goal of QParallel is to keep the compiler and the runtime system from introducing parallelism-inhibiting dependencies, e.g., through reuse of qubits in automatic qubit management. We describe the syntax and semantics of the proposed language extension, implement a prototype based on Q#, and present several examples and use cases to illustrate its performance benefits. Moreover, we introduce a tool that guides programmers in the placement of parallel regions by identifying the subroutines that profit most from parallelization, which is especially useful if the programmer's knowledge of the source code is limited. Support for QParallel can be added to any multithreading library and language extension, including OpenMP and OpenACC.
△ Less
Submitted 7 October, 2022;
originally announced October 2022.
-
The multiplicative complexity of interval checking
Authors:
Thomas Häner,
Mathias Soeken
Abstract:
We determine the exact AND-gate cost of checking if $a\leq x < b$, where $a$ and $b$ are constant integers. Perhaps surprisingly, we find that the cost of interval checking never exceeds that of a single comparison and, in some cases, it is even lower.
We determine the exact AND-gate cost of checking if $a\leq x < b$, where $a$ and $b$ are constant integers. Perhaps surprisingly, we find that the cost of interval checking never exceeds that of a single comparison and, in some cases, it is even lower.
△ Less
Submitted 25 January, 2022;
originally announced January 2022.
-
Leveraging state sparsity for more efficient quantum simulations
Authors:
Samuel Jaques,
Thomas Häner
Abstract:
High-performance techniques to simulate quantum programs on classical hardware rely on exponentially large vectors to represent quantum states. When simulating quantum algorithms, the quantum states that occur are often sparse due to special structure in the algorithm or even in the underlying problem. We thus introduce a new simulation method that exploits this sparsity to reduce memory usage and…
▽ More
High-performance techniques to simulate quantum programs on classical hardware rely on exponentially large vectors to represent quantum states. When simulating quantum algorithms, the quantum states that occur are often sparse due to special structure in the algorithm or even in the underlying problem. We thus introduce a new simulation method that exploits this sparsity to reduce memory usage and simulation runtime. Moreover, our prototype implementation includes optimizations such as gate (re)scheduling, which amortizes data structure accesses and reduces memory usage.
To benchmark our implementation, we run quantum algorithms for factoring, computing integer and elliptic curve discrete logarithms, and for chemistry. Our simulator successfully runs a factoring instance of a 20-bit number using 102 qubits, and elliptic curve discrete logarithm over a 10-bit curve with 110 qubits. While previous work needed a supercomputer to simulate such instances of factoring, our approach succeeds in less than 4 minutes using a single core and less than 100 MB of memory. To the best of our knowledge, we are the first to fully simulate a quantum algorithm to compute elliptic curve discrete logarithms.
△ Less
Submitted 4 May, 2021;
originally announced May 2021.
-
Distributed Quantum Computing with QMPI
Authors:
Thomas Häner,
Damian S. Steiger,
Torsten Hoefler,
Matthias Troyer
Abstract:
Practical applications of quantum computers require millions of physical qubits and it will be challenging for individual quantum processors to reach such qubit numbers. It is therefore timely to investigate the resource requirements of quantum algorithms in a distributed setting, where multiple quantum processors are interconnected by a coherent network. We introduce an extension of the Message P…
▽ More
Practical applications of quantum computers require millions of physical qubits and it will be challenging for individual quantum processors to reach such qubit numbers. It is therefore timely to investigate the resource requirements of quantum algorithms in a distributed setting, where multiple quantum processors are interconnected by a coherent network. We introduce an extension of the Message Passing Interface (MPI) to enable high-performance implementations of distributed quantum algorithms. In turn, these implementations can be used for testing, debugging, and resource estimation. In addition to a prototype implementation of quantum MPI, we present a performance model for distributed quantum computing, SENDQ. The model is inspired by the classical LogP model, making it useful to inform algorithmic decisions when programming distributed quantum computers. Specifically, we consider several optimizations of two quantum algorithms for problems in physics and chemistry, and we detail their effects on performance in the SENDQ model.
△ Less
Submitted 3 May, 2021;
originally announced May 2021.
-
Prospects of Quantum Computing for Molecular Sciences
Authors:
Hongbin Liu,
Guang Hao Low,
Damian S. Steiger,
Thomas Häner,
Markus Reiher,
Matthias Troyer
Abstract:
Molecular science is governed by the dynamics of electrons, atomic nuclei, and their interaction with electromagnetic fields. A reliable physicochemical understanding of these processes is crucial for the design and synthesis of chemicals and materials of economic value. Although some problems in this field are adequately addressed by classical mechanics, many require an explicit quantum mechanica…
▽ More
Molecular science is governed by the dynamics of electrons, atomic nuclei, and their interaction with electromagnetic fields. A reliable physicochemical understanding of these processes is crucial for the design and synthesis of chemicals and materials of economic value. Although some problems in this field are adequately addressed by classical mechanics, many require an explicit quantum mechanical description. Such quantum problems represented by exponentially large wave function should naturally benefit from quantum computation on a number of logical qubits that scales only linearly with system size. In this perspective, we focus on the potential of quantum computing for solving relevant problems in the molecular sciences -- molecular physics, chemistry, biochemistry, and materials science.
△ Less
Submitted 17 May, 2021; v1 submitted 19 February, 2021;
originally announced February 2021.
-
Enabling Dataflow Optimization for Quantum Programs
Authors:
David Ittah,
Thomas Häner,
Vadym Kliuchnikov,
Torsten Hoefler
Abstract:
We propose an IR for quantum computing that directly exposes quantum and classical data dependencies for the purpose of optimization. The Quantum Intermediate Representation for Optimization (QIRO) consists of two dialects, one input dialect and one that is specifically tailored to enable quantum-classical co-optimization. While the first employs a perhaps more intuitive memory-semantics (quantum…
▽ More
We propose an IR for quantum computing that directly exposes quantum and classical data dependencies for the purpose of optimization. The Quantum Intermediate Representation for Optimization (QIRO) consists of two dialects, one input dialect and one that is specifically tailored to enable quantum-classical co-optimization. While the first employs a perhaps more intuitive memory-semantics (quantum operations act as side-effects), the latter uses value-semantics (operations consume and produce states). Crucially, this encodes the dataflow directly in the IR, allowing for a host of optimizations that leverage dataflow analysis. We discuss how to map existing quantum programming languages to the input dialect and how to lower the resulting IR to the optimization dialect. We present a prototype implementation based on MLIR that includes several quantum-specific optimization passes. Our benchmarks show that significant improvements in resource requirements are possible even through static optimization. In contrast to circuit optimization at run time, this is achieved while incurring only a small constant overhead in compilation time, making this a compelling approach for quantum program optimization at application scale.
△ Less
Submitted 14 August, 2021; v1 submitted 26 January, 2021;
originally announced January 2021.
-
Quantum computing enhanced computational catalysis
Authors:
Vera von Burg,
Guang Hao Low,
Thomas Häner,
Damian S. Steiger,
Markus Reiher,
Martin Roetteler,
Matthias Troyer
Abstract:
The quantum computation of electronic energies can break the curse of dimensionality that plagues many-particle quantum mechanics. It is for this reason that a universal quantum computer has the potential to fundamentally change computational chemistry and materials science, areas in which strong electron correlations present severe hurdles for traditional electronic structure methods. Here, we pr…
▽ More
The quantum computation of electronic energies can break the curse of dimensionality that plagues many-particle quantum mechanics. It is for this reason that a universal quantum computer has the potential to fundamentally change computational chemistry and materials science, areas in which strong electron correlations present severe hurdles for traditional electronic structure methods. Here, we present a state-of-the-art analysis of accurate energy measurements on a quantum computer for computational catalysis, using improved quantum algorithms with more than an order of magnitude improvement over the best previous algorithms. As a prototypical example of local catalytic chemical reactivity we consider the case of a ruthenium catalyst that can bind, activate, and transform carbon dioxide to the high-value chemical methanol. We aim at accurate resource estimates for the quantum computing steps required for assessing the electronic energy of key intermediates and transition states of its catalytic cycle. In particular, we present new quantum algorithms for double-factorized representations of the four-index integrals that can significantly reduce the computational cost over previous algorithms, and we discuss the challenges of increasing active space sizes to accurately deal with dynamical correlations. We address the requirements for future quantum hardware in order to make a universal quantum computer a successful and reliable tool for quantum computing enhanced computational materials science and chemistry, and identify open questions for further research.
△ Less
Submitted 3 March, 2021; v1 submitted 28 July, 2020;
originally announced July 2020.
-
Lowering the T-depth of Quantum Circuits By Reducing the Multiplicative Depth Of Logic Networks
Authors:
Thomas Häner,
Mathias Soeken
Abstract:
The multiplicative depth of a logic network over the gate basis $\{\land, \oplus, \neg\}$ is the largest number of $\land$ gates on any path from a primary input to a primary output in the network. We describe a dynamic programming based logic synthesis algorithm to reduce the multiplicative depth in logic networks. It makes use of cut enumeration, tree balancing, and exclusive sum-of-products (ES…
▽ More
The multiplicative depth of a logic network over the gate basis $\{\land, \oplus, \neg\}$ is the largest number of $\land$ gates on any path from a primary input to a primary output in the network. We describe a dynamic programming based logic synthesis algorithm to reduce the multiplicative depth in logic networks. It makes use of cut enumeration, tree balancing, and exclusive sum-of-products (ESOP) representations. Our algorithm has applications to cryptography and quantum computing, as a reduction in the multiplicative depth directly translates to a lower $T$-depth of the corresponding quantum circuit. Our experimental results show improvements in $T$-depth over state-of-the-art methods and over several hand-optimized quantum circuits for instances of AES, SHA, and floating-point arithmetic.
△ Less
Submitted 6 June, 2020;
originally announced June 2020.
-
Enabling Accuracy-Aware Quantum Compilers using Symbolic Resource Estimation
Authors:
Giulia Meuli,
Mathias Soeken,
Martin Roetteler,
Thomas Häner
Abstract:
Approximation errors must be taken into account when compiling quantum programs into a low-level gate set. We present a methodology that tracks such errors automatically and then optimizes accuracy parameters to guarantee a specified overall accuracy while aiming to minimize the implementation cost in terms of quantum gates. The core idea of our approach is to extract functions that specify the op…
▽ More
Approximation errors must be taken into account when compiling quantum programs into a low-level gate set. We present a methodology that tracks such errors automatically and then optimizes accuracy parameters to guarantee a specified overall accuracy while aiming to minimize the implementation cost in terms of quantum gates. The core idea of our approach is to extract functions that specify the optimization problem directly from the high-level description of the quantum program. Then, custom compiler passes optimize these functions, turning them into (near-)symbolic expressions for (1) the total error and (2) the implementation cost (e.g., total quantum gate count). All unspecified parameters of the quantum program will show up as variables in these expressions, including accuracy parameters. After solving the corresponding optimization problem, a circuit can be instantiated from the found solution. We develop two prototype implementations, one in C++ based on Clang/LLVM, and another using the Q# compiler infrastructure. We benchmark our prototypes on typical quantum computing programs, including the quantum Fourier transform, quantum phase estimation, and Shor's algorithm.
△ Less
Submitted 5 January, 2021; v1 submitted 18 March, 2020;
originally announced March 2020.
-
Improved quantum circuits for elliptic curve discrete logarithms
Authors:
Thomas Häner,
Samuel Jaques,
Michael Naehrig,
Martin Roetteler,
Mathias Soeken
Abstract:
We present improved quantum circuits for elliptic curve scalar multiplication, the most costly component in Shor's algorithm to compute discrete logarithms in elliptic curve groups. We optimize low-level components such as reversible integer and modular arithmetic through windowing techniques and more adaptive placement of uncomputing steps, and improve over previous quantum circuits for modular i…
▽ More
We present improved quantum circuits for elliptic curve scalar multiplication, the most costly component in Shor's algorithm to compute discrete logarithms in elliptic curve groups. We optimize low-level components such as reversible integer and modular arithmetic through windowing techniques and more adaptive placement of uncomputing steps, and improve over previous quantum circuits for modular inversion by reformulating the binary Euclidean algorithm. Overall, we obtain an affine Weierstrass point addition circuit that has lower depth and uses fewer $T$ gates than previous circuits. While previous work mostly focuses on minimizing the total number of qubits, we present various trade-offs between different cost metrics including the number of qubits, circuit depth and $T$-gate count. Finally, we provide a full implementation of point addition in the Q# quantum programming language that allows unit tests and automatic quantum resource estimation for all components.
△ Less
Submitted 26 January, 2020;
originally announced January 2020.
-
Assertion-Based Optimization of Quantum Programs
Authors:
Thomas Häner,
Torsten Hoefler,
Matthias Troyer
Abstract:
Quantum computers promise to perform certain computations exponentially faster than any classical device. Precise control over their physical implementation and proper shielding from unwanted interactions with the environment become more difficult as the space/time volume of the computation grows. Code optimization is thus crucial in order to reduce resource requirements to the greatest extent pos…
▽ More
Quantum computers promise to perform certain computations exponentially faster than any classical device. Precise control over their physical implementation and proper shielding from unwanted interactions with the environment become more difficult as the space/time volume of the computation grows. Code optimization is thus crucial in order to reduce resource requirements to the greatest extent possible. Besides manual optimization, previous work has adapted classical methods such as constant-folding and common subexpression elimination to the quantum domain. However, such classically-inspired methods fail to exploit certain optimization opportunities across subroutine boundaries, limiting the effectiveness of software reuse. To address this insufficiency, we introduce an optimization methodology which employs annotations that describe how subsystems are entangled in order to exploit these optimization opportunities. We formalize our approach, prove its correctness, and present benchmarks: Without any prior manual optimization, our methodology is able to reduce, e.g., the qubit requirements of a 64-bit floating-point subroutine by $34\times$.
△ Less
Submitted 23 November, 2020; v1 submitted 30 September, 2018;
originally announced October 2018.
-
Managing approximation errors in quantum programs
Authors:
Thomas Häner,
Martin Roetteler,
Krysta M. Svore
Abstract:
We address the problem of distributing approximation errors in large-scale quantum programs. It has been known for some time that when compiling quantum algorithms for a fault-tolerant architecture, some operations must be approximated as they cannot be implemented with arbitrary accuracy by the underlying gate set. This leads to approximation errors which often can be grouped along subroutines th…
▽ More
We address the problem of distributing approximation errors in large-scale quantum programs. It has been known for some time that when compiling quantum algorithms for a fault-tolerant architecture, some operations must be approximated as they cannot be implemented with arbitrary accuracy by the underlying gate set. This leads to approximation errors which often can be grouped along subroutines that the given quantum algorithm is composed of. Typically, choices can be made as to how to distribute approximation errors so that the overall error is kept beneath a user- or application-defined threshold. These choices impact the resource footprint of the fault-tolerant implementation. We develop an automatic approximation error management module to tackle the resulting optimization problems. The module is based on annealing and can be integrated into any quantum software framework. Using the benchmark of simulating an Ising model with transverse field, we provide numerical results to quantify the benefits and trade-offs involved in our approach.
△ Less
Submitted 6 July, 2018;
originally announced July 2018.
-
Quantum circuits for floating-point arithmetic
Authors:
Thomas Häner,
Mathias Soeken,
Martin Roetteler,
Krysta M. Svore
Abstract:
Quantum algorithms to solve practical problems in quantum chemistry, materials science, and matrix inversion often involve a significant amount of arithmetic operations which act on a superposition of inputs. These have to be compiled to a set of fault-tolerant low-level operations and throughout this translation process, the compiler aims to come close to the Pareto-optimal front between the numb…
▽ More
Quantum algorithms to solve practical problems in quantum chemistry, materials science, and matrix inversion often involve a significant amount of arithmetic operations which act on a superposition of inputs. These have to be compiled to a set of fault-tolerant low-level operations and throughout this translation process, the compiler aims to come close to the Pareto-optimal front between the number of required qubits and the depth of the resulting circuit. In this paper, we provide quantum circuits for floating-point addition and multiplication which we find using two vastly different approaches. The first approach is to automatically generate circuits from classical Verilog implementations using synthesis tools and the second is to generate and optimize these circuits by hand. We compare our two approaches and provide evidence that floating-point arithmetic is a viable candidate for use in quantum computing, at least for typical scientific applications, where addition operations usually do not dominate the computation. All our circuits were constructed and tested using the software tools LIQ$Ui|\rangle{}$ and RevKit.
△ Less
Submitted 5 July, 2018;
originally announced July 2018.
-
Advantages of a modular high-level quantum programming framework
Authors:
Damian S. Steiger,
Thomas Häner,
Matthias Troyer
Abstract:
We review some of the features of the ProjectQ software framework and quantify their impact on the resulting circuits. The concise high-level language facilitates implementing even complex algorithms in a very time-efficient manner while, at the same time, providing the compiler with additional information for optimization through code annotation - so-called meta-instructions. We investigate the i…
▽ More
We review some of the features of the ProjectQ software framework and quantify their impact on the resulting circuits. The concise high-level language facilitates implementing even complex algorithms in a very time-efficient manner while, at the same time, providing the compiler with additional information for optimization through code annotation - so-called meta-instructions. We investigate the impact of these annotations for the example of Shor's algorithm in terms of logical gate counts. Furthermore, we analyze the effect of different intermediate gate sets for optimization and how the dimensions of the resulting circuit depend on a smart choice thereof. Finally, we demonstrate the benefits of a modular compilation framework by implementing map** procedures for one- and two-dimensional nearest neighbor architectures which we then compare in terms of overhead for different problem sizes.
△ Less
Submitted 5 June, 2018;
originally announced June 2018.
-
Optimizing Quantum Circuits for Arithmetic
Authors:
Thomas Häner,
Martin Roetteler,
Krysta M. Svore
Abstract:
Many quantum algorithms make use of oracles which evaluate classical functions on a superposition of inputs. In order to facilitate implementation, testing, and resource estimation of such algorithms, we present quantum circuits for evaluating functions that are often encountered in the quantum algorithm literature. This includes Gaussians, hyperbolic tangent, sine/cosine, inverse square root, arc…
▽ More
Many quantum algorithms make use of oracles which evaluate classical functions on a superposition of inputs. In order to facilitate implementation, testing, and resource estimation of such algorithms, we present quantum circuits for evaluating functions that are often encountered in the quantum algorithm literature. This includes Gaussians, hyperbolic tangent, sine/cosine, inverse square root, arcsine, and exponentials. We use insights from classical high-performance computing in order to optimize our circuits and implement a quantum software stack module which allows to automatically generate circuits for evaluating piecewise smooth functions in the computational basis. Our circuits enable more detailed cost analyses of various quantum algorithms, allowing to identify concrete applications of future quantum computing devices. Furthermore, our resource estimates may guide future research aiming to reduce the costs or even the need for arithmetic in the computational basis altogether.
△ Less
Submitted 31 May, 2018;
originally announced May 2018.
-
Programming Quantum Computers Using Design Automation
Authors:
Mathias Soeken,
Thomas Häner,
Martin Roetteler
Abstract:
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…
▽ More
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. Some parts of the calculation may still be performed manually due to the lack of efficient methods. This, in turn, may lead to a design gap, which will prevent the programming of a quantum computer. In this paper, we discuss the challenges in fully-automatic quantum compilation. We motivate directions for future research to tackle these challenges. Yet, with the algorithms and approaches that exist today, we demonstrate how to automatically perform the quantum programming flow from algorithm to a physical quantum computer for a simple algorithmic benchmark, namely the hidden shift problem. We present and use two tool flows which invoke RevKit. One which is based on ProjectQ and which targets the IBM Quantum Experience or a local simulator, and one which is based on Microsoft's quantum programming language Q$\#$.
△ Less
Submitted 2 March, 2018;
originally announced March 2018.
-
OpenFermion: The Electronic Structure Package for Quantum Computers
Authors:
Jarrod R. McClean,
Kevin J. Sung,
Ian D. Kivlichan,
Yudong Cao,
Chengyu Dai,
E. Schuyler Fried,
Craig Gidney,
Brendan Gimby,
Pranav Gokhale,
Thomas Häner,
Tarini Hardikar,
Vojtěch Havlíček,
Oscar Higgott,
Cup** Huang,
Josh Izaac,
Zhang Jiang,
Xinle Liu,
Sam McArdle,
Matthew Neeley,
Thomas O'Brien,
Bryan O'Gorman,
Isil Ozfidan,
Maxwell D. Radin,
Jhonathan Romero,
Nicholas Rubin
, et al. (10 additional authors not shown)
Abstract:
Quantum simulation of chemistry and materials is predicted to be an important application for both near-term and fault-tolerant quantum devices. However, at present, develo** and studying algorithms for these problems can be difficult due to the prohibitive amount of domain knowledge required in both the area of chemistry and quantum algorithms. To help bridge this gap and open the field to more…
▽ More
Quantum simulation of chemistry and materials is predicted to be an important application for both near-term and fault-tolerant quantum devices. However, at present, develo** and studying algorithms for these problems can be difficult due to the prohibitive amount of domain knowledge required in both the area of chemistry and quantum algorithms. To help bridge this gap and open the field to more researchers, we have developed the OpenFermion software package (www.openfermion.org). OpenFermion is an open-source software library written largely in Python under an Apache 2.0 license, aimed at enabling the simulation of fermionic models and quantum chemistry problems on quantum hardware. Beginning with an interface to common electronic structure packages, it simplifies the translation between a molecular specification and a quantum circuit for solving or studying the electronic structure problem on a quantum computer, minimizing the amount of domain expertise required to enter the field. The package is designed to be extensible and robust, maintaining high software standards in documentation and testing. This release paper outlines the key motivations behind design choices in OpenFermion and discusses some basic OpenFermion functionality which we believe will aid the community in the development of better quantum algorithms and tools for this exciting area of research.
△ Less
Submitted 27 February, 2019; v1 submitted 20 October, 2017;
originally announced October 2017.
-
0.5 Petabyte Simulation of a 45-Qubit Quantum Circuit
Authors:
Thomas Häner,
Damian S. Steiger
Abstract:
Near-term quantum computers will soon reach sizes that are challenging to directly simulate, even when employing the most powerful supercomputers. Yet, the ability to simulate these early devices using classical computers is crucial for calibration, validation, and benchmarking. In order to make use of the full potential of systems featuring multi- and many-core processors, we use automatic code g…
▽ More
Near-term quantum computers will soon reach sizes that are challenging to directly simulate, even when employing the most powerful supercomputers. Yet, the ability to simulate these early devices using classical computers is crucial for calibration, validation, and benchmarking. In order to make use of the full potential of systems featuring multi- and many-core processors, we use automatic code generation and optimization of compute kernels, which also enables performance portability. We apply a scheduling algorithm to quantum supremacy circuits in order to reduce the required communication and simulate a 45-qubit circuit on the Cori II supercomputer using 8,192 nodes and 0.5 petabytes of memory. To our knowledge, this constitutes the largest quantum circuit simulation to this date. Our highly-tuned kernels in combination with the reduced communication requirements allow an improvement in time-to-solution over state-of-the-art simulations by more than an order of magnitude at every scale.
△ Less
Submitted 18 September, 2017; v1 submitted 4 April, 2017;
originally announced April 2017.
-
ProjectQ: An Open Source Software Framework for Quantum Computing
Authors:
Damian S. Steiger,
Thomas Häner,
Matthias Troyer
Abstract:
We introduce ProjectQ, an open source software effort for quantum computing. The first release features a compiler framework capable of targeting various types of hardware, a high-performance simulator with emulation capabilities, and compiler plug-ins for circuit drawing and resource estimation. We introduce our Python-embedded domain-specific language, present the features, and provide example i…
▽ More
We introduce ProjectQ, an open source software effort for quantum computing. The first release features a compiler framework capable of targeting various types of hardware, a high-performance simulator with emulation capabilities, and compiler plug-ins for circuit drawing and resource estimation. We introduce our Python-embedded domain-specific language, present the features, and provide example implementations for quantum algorithms. The framework allows testing of quantum algorithms through simulation and enables running them on actual quantum hardware using a back-end connecting to the IBM Quantum Experience cloud service. Through extension mechanisms, users can provide back-ends to further quantum hardware, and scientists working on quantum compilation can provide plug-ins for additional compilation, optimization, gate synthesis, and layout strategies.
△ Less
Submitted 29 January, 2018; v1 submitted 23 December, 2016;
originally announced December 2016.
-
Factoring using 2n+2 qubits with Toffoli based modular multiplication
Authors:
Thomas Häner,
Martin Roetteler,
Krysta M. Svore
Abstract:
We describe an implementation of Shor's quantum algorithm to factor n-bit integers using only 2n+2 qubits. In contrast to previous space-optimized implementations, ours features a purely Toffoli based modular multiplication circuit. The circuit depth and the overall gate count are in O(n^3) and O(n^3 log(n)), respectively. We thus achieve the same space and time costs as Takahashi et al., while us…
▽ More
We describe an implementation of Shor's quantum algorithm to factor n-bit integers using only 2n+2 qubits. In contrast to previous space-optimized implementations, ours features a purely Toffoli based modular multiplication circuit. The circuit depth and the overall gate count are in O(n^3) and O(n^3 log(n)), respectively. We thus achieve the same space and time costs as Takahashi et al., while using a purely classical modular multiplication circuit. As a consequence, our approach evades most of the cost overheads originating from rotation synthesis and enables testing and localization of faults in both, the logical level circuit and an actual quantum hardware implementation. Our new (in-place) constant-adder, which is used to construct the modular multiplication circuit, uses only dirty ancilla qubits and features a circuit size and depth in O(n log(n)) and O(n), respectively.
△ Less
Submitted 1 June, 2017; v1 submitted 23 November, 2016;
originally announced November 2016.
-
High Performance Emulation of Quantum Circuits
Authors:
Thomas Häner,
Damian S. Steiger,
Mikhail Smelyanskiy,
Matthias Troyer
Abstract:
As quantum computers of non-trivial size become available in the near future, it is imperative to develop tools to emulate small quantum computers. This allows for validation and debugging of algorithms as well as exploring hardware-software co-design to guide the development of quantum hardware and architectures. The simulation of quantum computers entails multiplications of sparse matrices with…
▽ More
As quantum computers of non-trivial size become available in the near future, it is imperative to develop tools to emulate small quantum computers. This allows for validation and debugging of algorithms as well as exploring hardware-software co-design to guide the development of quantum hardware and architectures. The simulation of quantum computers entails multiplications of sparse matrices with very large dense vectors of dimension $2^n$, where $n$ denotes the number of qubits, making this a memory-bound and network bandwidth-limited application. We introduce the concept of a quantum computer \textit{emulator} as a component of a software framework for quantum computing, enabling a significant performance advantage over simulators by emulating quantum algorithms at a high level rather than simulating individual gate operations. We describe various optimization approaches and present benchmarking results, establishing the superiority of quantum computer emulators in terms of performance.
△ Less
Submitted 21 April, 2016;
originally announced April 2016.
-
A Software Methodology for Compiling Quantum Programs
Authors:
Thomas Häner,
Damian S. Steiger,
Krysta Svore,
Matthias Troyer
Abstract:
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 a…
▽ More
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. Our software methodology facilitates more rapid innovation among quantum algorithm designers, quantum hardware engineers, and experimentalists. It enables scalable compilation of complex quantum algorithms and can be targeted to any specific quantum hardware implementation.
△ Less
Submitted 11 May, 2016; v1 submitted 5 April, 2016;
originally announced April 2016.