480 likes | 607 Views
DARPA. DARPA. Improving Gate-Level Simulation of Quantum Circuits. George F. Viamontes, Igor L. Markov, and John P. Hayes {gviamont,imarkov,jhayes}@umich.edu Advanced Computer Architecture Laboratory University of Michigan, EECS. Problem.
E N D
DARPA DARPA Improving Gate-Level Simulation of Quantum Circuits George F. Viamontes, Igor L. Markov, and John P. Hayes {gviamont,imarkov,jhayes}@umich.edu Advanced Computer Architecture Laboratory University of Michigan, EECS
Problem • Simulation of quantum computing on a classical computer • Requires exponentially growing time and memory resources • Goal: Improve classical simulation • Our Solution: Quantum Information Decision Diagrams (QuIDDs)
Outline • Background • QuIDD Structure • QuIDD Operations • Simulation Results • Complexity Analysis Results • Ongoing Work
Quantum Data • Classical bit • Two possible states: 0 or 1 • Measurement is straightforward • Qubit (properties follow from Q. M.) • Quantum state • Can be in states 0 or 1, but also in a superposition of 0 and 1 • nqubits represents different values simultaneously • Measurement is probabilistic and destructive
Implementations • Liquid and solid state nuclear magnetic resonance (NMR) – nuclear spins • Ion traps – electron energy levels • Electrons floating on liquid helium – electron spins • Optical technologies – photon polarizations • Focus of this work: common mathematical description
Qubit Notation • Qubits expressed in Dirac notation • Vector representation: • and are complex numbers called probability amplitudes s.t.
U Data Manipulation • Qubits are manipulated by operators • Analogous to logic gates • Operators are unitary matrices • Matrix-vector multiplication describes operator functionality
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
Outline • Background • QuIDD Structure • QuIDD Operations • Simulation Results • Complexity Analysis Results • Ongoing Work
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
f QuIDD Matrices 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
Outline • Background • QuIDD Structure • QuIDD Operations • Simulation Results • Complexity Analysis Results • Conclusions
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 entire matrix B • QuIDD Implementation: Use Apply • Operands are AandB • Variables of operandB are 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 Applywith “op” set to addition • Qubit measurement • DFS traversal or measurement operators
Outline • Background • QuIDD Structure • QuIDD Operations • Simulation Results • Complexity Analysis Results • Ongoing Work
Grover’s Algorithm H H H Oracle Conditional Phase Shift |0> H H H |0> . . . . . . . . . H H |1> - Search for items in an unstructured database of N items - Contains n = log N qubits and has runtime
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)
Results: Oracle 1 Linear Growth using QuIDDPro
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
Outline • Background • QuIDD Structure • QuIDD Operations • Simulation Results • Complexity Analysis Results • Ongoing Work
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 is the same at the end of each Grover iteration • Runtime and memory requirements are therefore polynomial in the size of the oracle QuIDD
Outline • Background • QuIDD Structure • QuIDD Operations • Simulation Results • Complexity Analysis Results • Ongoing Work
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