Presentation is loading. Please wait.

Presentation is loading. Please wait.

Improving Gate-Level Simulation of Quantum Circuits George F. Viamontes, Igor L. Markov, and John P. Hayes Advanced.

Similar presentations


Presentation on theme: "Improving Gate-Level Simulation of Quantum Circuits George F. Viamontes, Igor L. Markov, and John P. Hayes Advanced."— Presentation transcript:

1 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 DARPA

2 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)

3 Outline Background QuIDD Structure QuIDD Operations Simulation Results Complexity Analysis Results Ongoing Work

4 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 –n qubits represents different values simultaneously –Measurement is probabilistic and destructive

5 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

6 Qubit Notation Qubits expressed in Dirac notation Vector representation: and are complex numbers called probability amplitudes s.t.

7 Data Manipulation Qubits are manipulated by operators –Analogous to logic gates Operators are unitary matrices Matrix-vector multiplication describes operator functionality U

8 Operations on Multiple Qubits Tensor product of operators/qubits HH

9 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]

10 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

11 Example of Propagated Block Patterns

12 Outline Background QuIDD Structure QuIDD Operations Simulation Results Complexity Analysis Results Ongoing Work

13 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 a f b 10 Assign value of 1 to variable x Assign value of 0 to variable x

14 BDDs in Linear Algebra Algebraic Decision Diagrams (ADDs) treat variable nodes as matrix indices [2], also MTBDDs ADDs encode all matrix elements a ij –Input variables capture bits of i and j –Terminals represent the value of a ij CUDD implements linear algebra for ADDs (without decompression)

15 Quantum Information Decision Diagrams (QuIDDs) QuIDDs: an application of ADDs to quantum computing QuIDD matrices : row (i), column (j) vars QuIDD vectors: column vars only Matrix-vector multiplication performed in terms of QuIDDs

16 QuIDD Vectors f 00 01 10 11 Terminal value array 0 + 0i 1 + 0i 0 1

17 QuIDD Matrices 00 01 10 11 10011100 f 1 0

18 QuIDDs and ADDs All dimensions are 2 n Row and column variables are interleaved Terminals are integers which map into an array of complex numbers

19 Outline Background QuIDD Structure QuIDD Operations Simulation Results Complexity Analysis Results Conclusions

20 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:

21 Tensor Product Given A B –Every element of a matrix A is multiplied by the entire matrix B QuIDD Implementation: Use Apply –Operands are A and B –Variables of operand B are shifted –“op” is defined to be multiplication

22 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

23 Outline Background QuIDD Structure QuIDD Operations Simulation Results Complexity Analysis Results Ongoing Work

24 H H H Oracle H H Conditional Phase Shift H H H |0> |1>.................. Grover’s Algorithm - Search for items in an unstructured database of N items - Contains n = log N qubits and has runtime

25 Number of Iterations Use formulation from Boyer et al. [3] Exponential runtime (even on an actual quantum computer) Actual Quantum Computer Performance: ~ O(1.41 n ) time and O(n) memory

26 Simulation Results for Grover’s Algorithm Linear memory growth (numbers of nodes shown)

27 Results: Oracle 1 Linear Growth using QuIDDPro

28 Oracle 1: Runtime (s) No. Qubits (n)OctaveMATLABBlitz++QuIDDPro 1080.66.640.150.33 112.65e222.50.480.54 128.36e274.21.490.83 132.75e32.55e24.701.30 141.03e41.06e314.62.01 154.82e46.76e344.73.09 16> 24 hrs 1.35e24.79 17> 24 hrs 4.09e27.36 18> 24 hrs 1.23e311.3 19> 24 hrs 3.67e317.1 20> 24 hrs 1.09e426.2

29 Oracle 1: Peak Memory Usage (MB) No. Qubits (n)OctaveMATLABBlitz++QuIDDPro 102.64e-21.05e-23.52e-29.38e-2 115.47e-22.07e-28.20e-20.121 120.1054.12e-20.1760.137 130.2138.22e-20.3090.137 140.4260.1640.5590.137 150.8370.3281.060.137 161.740.6562.060.145 173.341.314.060.172 184.592.628.060.172 1913.45.2416.10.172 2027.810.532.10.172 Linear Growth using QuIDDPro

30 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]

31 Consistency with Theory

32 Grover Results Summary Asymptotic performance –QuIDDPro: ~ O(1.44 n ) time and O(n) memory –Actual Quantum Computer ~ O(1.41 n ) time and O(n) memory Outperforms other simulation techniques –MATLAB:  (2 n ) time and  (2 n ) memory –Blitz++:  (4 n ) time and  (2 n ) memory

33 What about errors? Do the errors and mixed states that are encountered in practical quantum circuits cause QuIDDs to explode and lose significant performance?

34 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?

35 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

36 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

37 Outline Background QuIDD Structure QuIDD Operations Simulation Results Complexity Analysis Results Ongoing Work

38 Recall the Tensor Product

39 Key Formula Given QuIDDs, the tensor product QuIDD contains nodes

40 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

41 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

42 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]

43 Applied to Grover’s Algorithm Since O(1.41 n ) Grover iterations are required, and thus O(1.41 n ) 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

44 Outline Background QuIDD Structure QuIDD Operations Simulation Results Complexity Analysis Results Ongoing Work

45 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

46 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,” 6 th Intl. Conf. on Quantum Communication, Measurement, and Computing, pp. 311-314, July 2002

47 References [1] A. N. Al-Rabadi et al., “Multiple-Valued Quantum Logic,” 11 th 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.

48 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/9807006http://xxx.lanl.gov/abs/quant- ph/9807006 [8] D. Greve, “QDD: A Quantum Computer Emulation Library,” http://home.plutonium.net/~dagreve/qdd.html


Download ppt "Improving Gate-Level Simulation of Quantum Circuits George F. Viamontes, Igor L. Markov, and John P. Hayes Advanced."

Similar presentations


Ads by Google