2,243 research outputs found
Gate-Level Simulation of Quantum Circuits
While thousands of experimental physicists and chemists are currently trying
to build scalable quantum computers, it appears that simulation of quantum
computation will be at least as critical as circuit simulation in classical
VLSI design. However, since the work of Richard Feynman in the early 1980s
little progress was made in practical quantum simulation. Most researchers
focused on polynomial-time simulation of restricted types of quantum circuits
that fall short of the full power of quantum computation. Simulating quantum
computing devices and useful quantum algorithms on classical hardware now
requires excessive computational resources, making many important simulation
tasks infeasible. In this work we propose a new technique for gate-level
simulation of quantum circuits which greatly reduces the difficulty and cost of
such simulations. The proposed technique is implemented in a simulation tool
called the Quantum Information Decision Diagram (QuIDD) and evaluated by
simulating Grover's quantum search algorithm. The back-end of our package,
QuIDD Pro, is based on Binary Decision Diagrams, well-known for their ability
to efficiently represent many seemingly intractable combinatorial structures.
This reliance on a well-established area of research allows us to take
advantage of existing software for BDD manipulation and achieve unparalleled
empirical results for quantum simulation
How to Efficiently Handle Complex Values? Implementing Decision Diagrams for Quantum Computing
Quantum computing promises substantial speedups by exploiting quantum
mechanical phenomena such as superposition and entanglement. Corresponding
design methods require efficient means of representation and manipulation of
quantum functionality. In the classical domain, decision diagrams have been
successfully employed as a powerful alternative to straightforward means such
as truth tables. This motivated extensive research on whether decision diagrams
provide similar potential in the quantum domain -- resulting in new types of
decision diagrams capable of substantially reducing the complexity of
representing quantum states and functionality. From an implementation
perspective, many concepts and techniques from the classical domain can be
re-used in order to implement decision diagrams packages for the quantum realm.
However, new problems -- namely how to efficiently handle complex numbers --
arise. In this work, we propose a solution to overcome these problems.
Experimental evaluations confirm that this yields improvements of orders of
magnitude in the runtime needed to create and to utilize these decision
diagrams. The resulting implementation is publicly available as a quantum DD
package at http://iic.jku.at/eda/research/quantum_dd
Statistical Assertions for Validating Patterns and Finding Bugs in Quantum Programs
In support of the growing interest in quantum computing experimentation,
programmers need new tools to write quantum algorithms as program code.
Compared to debugging classical programs, debugging quantum programs is
difficult because programmers have limited ability to probe the internal states
of quantum programs; those states are difficult to interpret even when
observations exist; and programmers do not yet have guidelines for what to
check for when building quantum programs. In this work, we present quantum
program assertions based on statistical tests on classical observations. These
allow programmers to decide if a quantum program state matches its expected
value in one of classical, superposition, or entangled types of states. We
extend an existing quantum programming language with the ability to specify
quantum assertions, which our tool then checks in a quantum program simulator.
We use these assertions to debug three benchmark quantum programs in factoring,
search, and chemistry. We share what types of bugs are possible, and lay out a
strategy for using quantum programming patterns to place assertions and prevent
bugs.Comment: In The 46th Annual International Symposium on Computer Architecture
(ISCA '19). arXiv admin note: text overlap with arXiv:1811.0544
- …