500 likes | 659 Views
Projects on Quantum Circuits Simulation. George F. Viamontes, Igor L. Markov, and John P. Hayes {gviamont,imarkov,jhayes}@umich.edu Advanced Computer Architecture Laboratory University of Michigan, EECS. EECS Department University of Michigan, Ann Arbor, MI 48109.
E N D
Projects on Quantum CircuitsSimulation George F. Viamontes, Igor L. Markov, and John P. Hayes {gviamont,imarkov,jhayes}@umich.edu Advanced Computer Architecture Laboratory University of Michigan, EECS EECS Department University of Michigan, Ann Arbor, MI 48109
Quantum Approaches to Logic Circuit Synthesis and TestingThe University of Michigan: John Hayes and Igor Markov Quantum domain Parallelism Microscale Practical logic circuits Synthesis and test algorithms Classical domain Automation Scalability
New Ideas • Integrated approach to both quantum and classical logic circuits • Exploit quantum methods for classical circuit synthesis and testing problems • Scalable representation of quantum circuits • Multiobjective optimization techniques that are suited to automation (CAD)
Impact • Quantum approaches promise more efficient computation in critical applications. • Automation is key to large-scale quantum circuit development • Development of practical algorithms for quantum circuit synthesis and test • Use of quantum methods to improve testing and synthesis of classical circuits
Ongoing Projects at U.Michigan • Simulation of quantum circuits • BDD-based QuIDDPro simulator • Simulating Grover’s algorithm • Synthesis of two-qubit circuits • Bounds for gate counts in two-qubit circuits • Quantum algorithms that improve memory usage • Quantum counters
Quantum Circuit Simulation Using QuIDDs • Motivation • Need for a better way to simulate quantum circuits • Quantum Information Decision Diagram (QuIDD) • Novel data representation that usesBinary Decision Diagrams (BDD) widely used in computer-aided circuit design • Captures some exponentially-sized matrices and vectors in a form that grows polynomially with the number of qubits • Multiplies matrices and vectors in compressed form • QuIDDPro Simulator • Our QuIDD-based simulator implemented in C++ • Experiments with Grover’s algorithm demonstrate fast execution andlow memory utilization
Problem • Simulation of quantum computing on a classical computer • Requires exponentially growing time and memory resources • Goal: Improve classical simulation • Their Solution: Quantum Information Decision Diagrams (QuIDDs)
H H Operations on Multiple Qubits • Tensor product of operators/qubits
Previous Work • Traditional array-based representations are insensitive to the values stored • Qubit-wise multiplication • 1-qubit operator and n-qubit state vector • State vector requires exponential memory • BDD techniques • Multi-valued logic for q. circuit synthesis [1] • Shor’s algorithm simulator (SHORNUF) [8]
Redundancy in Quantum Computing • Matrix/vector representation of quantum gates/state vectors contains block patterns • The tensor product propagates block patterns in vectors and matrices
Data Structure that Exploits Redundancy • Binary Decision Diagrams (BDDs) exploit repeated sub-structure • BDDs have been used to simulate classical logic circuits efficiently [6,2] • Example: f = a AND b f a Assign value of 1 to variable x b Assign value of 0 to variable x 1 0
BDDs in Linear Algebra • Algebraic Decision Diagrams (ADDs) treat variable nodes as matrix indices [2], also MTBDDs • ADDs encode all matrix elements aij • Input variables capture bits of iand j • Terminals represent the value of aij • CUDD implements linear algebra for ADDs (without decompression)
Quantum Information Decision Diagrams (QuIDDs) • QuIDDs: an application of ADDsto quantum computing • QuIDD matrices : row (i), column (j) vars • QuIDD vectors: column vars only • Matrix-vector multiplication performed in terms of QuIDDs
QuIDD Vectors f 00 01 10 11 0 + 0i 0 1 + 0i 1 Terminal value array
QuIDD Data Representation f 00 01 10 11 00 01 10 11 0 1
QuIDDs and ADDs • All dimensions are 2n • Row and column variables are interleaved • Terminals are integers which map into an array of complex numbers
QuIDD Data Representation f R1,R0 \ C1, C0 00 01 10 11 00 01 10 11 0 1 C0 = 1, R0=0, R1=1
QuIDD Operations • Based on the Apply algorithm [4,5] • Construct new QuIDDs by traversing two QuIDD operands based on variable ordering • Perform “op” when terminals reached (op is *, +, etc.) • General Form:f op g where f and g are QuIDDs, and x and y are variables in f and g, respectively:
Tensor Product • Given A B • Every element of a matrix Ais multiplied by the entirematrix B • QuIDD Implementation: Use Apply • Operands are AandB • Variables of operandBare shifted • “op” is defined to be multiplication
Other Operations • Matrix multiplication • Modified ADD matrix multiply algorithm [2] • Support for terminal array • Support for row/column variable ordering • Matrix addition • Call to Apply with “op” set to addition • Qubit measurement • DFS traversal or measurement operators
QuIDDPro Simulation Results(Grover’s search algorithm) for Oracle 1 Memory Usage Runtime Blitz++ Matlab Linear Growth using QuIDDPro 15 qubits
QuIDDPro Simulation of Grover’s Algorithm Memory Usage Runtime Same results for any oracle that distinguishes a unique element
QuIDDPro Simulation of Grover’s Algorithm Memory Usage Runtime O(n) O(p(n)(√2)n)
Number of Iterations • Use formulation from Boyer et al. [3] • Exponential runtime(even on an actual quantum computer) • Actual Quantum Computer Performance: ~ O(1.41n) time and O(n) memory
Simulation Results forGrover’s Algorithm • Linear memory growth(numbers of nodes shown)
Oracle 1: Peak Memory Usage (MB) Linear Growth using QuIDDPro
Validation of Results • SANITY CHECK: Make sure that QuIDDPro achieves highest probability of measuring the item(s) to be searched using the number of iterations predicted by Boyer et al. [3]
Grover Results Summary • Asymptotic performance • QuIDDPro: ~ O(1.44n) time and O(n) memory • Actual Quantum Computer • ~ O(1.41n) time and O(n) memory • Outperforms other simulation techniques • MATLAB:(2n) time and (2n) memory • Blitz++:(4n) time and (2n) memory
What about errors? • Do the errors and mixed states that are encountered in practical quantum circuits cause QuIDDs to explode and lose significant performance?
NIST Benchmarks • NIST offers a multitude of quantum circuit descriptions containing errors/decoherence and mixed states • NIST also offers a density matrix C++ simulator called QCSim • How does QuIDDPro compare to QCSim on these circuits?
QCSim vs. QuIDDPro • dsteaneZ: 13-qubit circuit with initial mixed state that implements the Steane code to correct phase flip errors • QCSim: 287.1 seconds, 512.1MB • QuIDDPro: 0.639 seconds, 0.516 MB
QCSim vs. QuIDDPro (2) • dsteaneX: 12-qubit circuit with initial mixed state that implements the Steane code to correct bit flip errors • QCSim: 53.2 seconds, 128.1MB • QuIDDPro: 0.33 seconds, 0.539 MB
Key Formula • Given QuIDDs , the tensor product QuIDD contains nodes
Persistent Sets • A set is persistent if and only if the set of n pair-wise products of its elements is constant (i.e. the pair-wise product n times) • Consider the tensor product of two matrices whose elements form a persistent set • The number of unique elements in the resulting matrix will be a constant with respect to the number of unique elements in the operands
Relevance to QuIDDs • Tensor products with n QuIDDs whose terminals form a persistent set produce QuIDDs whose sets of terminals do not increase with n
Main Results • Given a persistent set and a constant C, consider n QuIDDs with at most C nodes each and terminal values from . • The tensor product of those QuIDDs has O(n) nodes and can be computed in O(n) time. • Matrix multiplication with QuIDDs A and B as operands requires time and produces a result with nodes [2]
Applied to Grover’s Algorithm • Since O(1.41n) Grover iterations are required, and thus O(1.41n) matrix multiplications, does Grover’s algorithm induce exponential memory complexity when using QuIDDs? • Answer: NO! • The internal nodes of the state vector/density matrix QuIDD are the same at the end of each Grover iteration • Runtime and memory requirements are therefore polynomial in the size of the oracle QuIDD
Work in Progress:On The Power of Grover’s Algorithm • Database search with a black-box predicatep(x)=1 • Classical evaluation of p(x) on one input (queries) • Quantum (parallel) evaluation of p(x) facilitates an implementation with fewer queries • We also assume that p(x) is given as a BDD/QuIDD • BDDs are used to represent functions in practical CAD • However, a BDD is not really a black-box • BDD operations evaluate p(x) on multiple inputs at once(no quantum computation is involved) • Grover on QuIDDs: same query complexity as in the quantum case • In practice this simulation is very fast and needs little memory Non-trivial assumption
Ongoing Work • Explore error/decoherence models • Simulate Shor’s algorithm • QFT and its inverse are exponential in size as QuIDDs • Other operators are linear in size as QuIDDs • QFT and its inverse are an asymptotic bottleneck • Limitations of quantum computing
Relevant Work G. Viamontes, I. Markov, J. Hayes, “Improving Gate-Level Simulation of Quantum circuits,” Los Alamos Quantum Physics Archive, Sept. 2003 (quant-ph/0309060) G. Viamontes, M. Rajagopalan, I. Markov, J. Hayes, “Gate-Level Simulation of Quantum Circuits,” Asia South Pacific Design Automation Conference, pp. 295-301, January 2003 G. Viamontes, M. Rajagopalan, I. Markov, J. Hayes, ‘Gate-Level Simulation of Quantum Circuits,” 6th Intl. Conf. on Quantum Communication, Measurement, and Computing, pp. 311-314, July 2002
References [1] A. N. Al-Rabadi et al., “Multiple-Valued Quantum Logic,” 11th Intl. Workshop on Post Binary ULSI, Boston, MA, May 2002. [2] R. I. Bahar et al., “Algebraic Decision Diagrams and their Applications”, In Proc. IEEE/ACM ICCAD, pp. 188-191, 1993. [3] M. Boyer et al., “Tight Bounds on Quantum Searching”, Fourth Workshop on Physics and Computation, Boston, Nov 1996. [4] R. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation”, IEEE Trans. On Computers, vol. C-35, pp. 677-691, Aug 1986. [5] E. Clarke et al., “Multi-Terminal Binary Decision Diagrams and Hybrid Decision Diagrams”, In T. Sasao and M. Fujita, eds, Representations of Discrete Functions, pp. 93-108, Kluwer, 1996.
References [6] C.Y. Lee, “Representation of Switching Circuits by Binary Decision Diagrams,” Bell System Technical Jour., 38:985-999, 1959. [7] D. Gottesman, “The Heisenberg Representation of Quantum Computers,” Plenary Speech at the 1998 Intl. Conf. on Group Theoretic Methods in Physics, http://xxx.lanl.gov/abs/quant-ph/9807006 [8] D. Greve, “QDD: A Quantum Computer Emulation Library,” http://home.plutonium.net/~dagreve/qdd.html