 # High-Performance Simulation of Quantum Computation using QuIDDs George F. Viamontes, Manoj Rajagopalan, Igor L. Markov, and John P. Hayes Advanced Computer.

## Presentation on theme: "High-Performance Simulation of Quantum Computation using QuIDDs George F. Viamontes, Manoj Rajagopalan, Igor L. Markov, and John P. Hayes Advanced Computer."— Presentation transcript:

High-Performance Simulation of Quantum Computation using QuIDDs George F. Viamontes, Manoj Rajagopalan, Igor L. Markov, and John P. Hayes Advanced Computer Architecture Laboratory University of Michigan

Problem  Simulation of quantum computing on a classical computer Requires exponentially growing time and memory resources using standard linear algebra  Goal: Improve classical simulation  Solution: Compress redundancy in the matrices and vectors used in quantum computing

Redundancy in Quantum Computing  Matrix representation of quantum gates contain block patterns  The Tensor (Kronecker) Product Create state vectors and operators involving multiple qubits Propagates block patterns in vectors and matrices

Example of Propagated Block Patterns Only TWO distinct blocks!

No Need to Repeat Identical Items  Analogy: ISP automated tech support system “We’re sorry, you are not supported under the terms and conditions of service” “Is it between 8AM and 4:30PM?” YES NO “Call back later”“Are you running Windows?” “Can you reboot the system?” Tech Support Dept. YES NO YES NO No Need to have separate copies of this message for each path that leads to it.

Data Structure that Exploits Redundancy  Binary Decision Diagrams (BDDs) exploit repeated sub-structure  BDDs have been used to simulate classical logic circuits efficiently [1,2]  Example: f = a AND b a f b 10 Assign value of 1 to variable x Assign value of 0 to variable x

Some Basic BDD Properties   Number of nodes in BDD A is denoted as |A|  Most BDD operations are based on a recursive procedure called Apply Generally takes two BDDs, A and B, as arguments Apply(A,B) has space and time complexity: Apply is an algorithmic form of Boole’s Expansion

BDDs in Linear Algebra  Variants of BDDs have been used in other problem domains Algebraic Decision Diagrams (ADDs) treat variable nodes as matrix indices  ADDs compress repeated block patterns in matrices and vectors Linear Algebraic operations exist which manipulate ADDs in their compressed state

Quantum Information Decision Diagrams  Quantum Information Decision Diagrams (QuIDDs) An application of ADDs to the quantum computing domain  Similar structure to ADDs  Three types of nodes Row Column Terminal  Use modified form of ADD operations

QuIDD Structure  BDD variable ordering Defines the order in which different node types appear  QuIDD variable ordering interleaves row and column variables  Terminal nodes are always last

Quantum Circuit Simulation Issues Specific to QuIDDs  Use state vector representation Though QuIDDs can also model the density matrix representation in principle  Avoid multiplying operators together for efficiency Tensor products and matrix-vector multiplications are done however

QuIDD Vectors  Use column and terminal variables  Represent qubit state vectors  Some examples: f f 00 01 10 11 00 01 10 11 T T

QuIDD Matrices  Use row, column, and terminal variables  Represent gates or operators

Example: 2-Qubit Hadamard QuIDD f 00 01 10 11 10011100

QuIDD Operations  Based on the Apply algorithm [2,4] Construct new QuIDDs by traversing two QuIDD operands Perform “op” when terminals are reached (op can be *, +, etc.) The variable ordering directs the traversal 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 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

Matrix Multiplication  A modified form of the Apply function  Dot-product can be done on QuIDDs without decompression “Skipped” nodes are counted A factor of is multiplied by dot- products  QuIDD Implementation Modified ADD matrix multiply algorithm  Support complex number terminals Account for row/column variable ordering

Other Operations  Matrix addition Call to Apply with “op” set to addition  Scalar operations A special one-operand version of Apply  Qubit measurement A combination of matrix multiplications, tensor products, and scalar operations

Simulation of Grover’s Algorithm  QuIDDPro was tested by running instances of Grover’s Algorithm  Results indicate linear memory usage in many cases Any circuit with an oracle whose QuIDD form is polynomial in # of qubits

Sample Circuit Representation H H H Oracle H H Conditional Phase Shift H H H |0> |1>..................

Simulation of Grover’s Algorithm  We used Boyer et al.’s formulation to compute the number of iterations  # iterations = Where M=# of solutions, N=# of elements in data set Exponential runtime even on a real quantum computer  When M=1, the number of iterations is exponential in the number of qubits

Projected Grover Iterations  SANITY CHECK: Make sure that the number of iterations predicted by Boyer et al. results in the highest probability of measuring the item(s) to be searched

Experimental Results Consistent with Predictions

Simulation Results for Grover’s Algorithm  Growth of QuIDDs in Grover’s algorithm is linear Values expressed in number of nodes

Grover’s Algorithm: Results using Oracle 1  Oracle 1 searches for one element in the data set  Worst-case polynomial oracle  Linear memory asymptotics  Run-times are extremely low comparatively

Grover’s Algorithm: Results using Oracle 1 Linear Growth using QuIDDPro

Grover’s Algorithm: Results using Mod 1024 Oracle  Finds elements in the data set whose 10 least significant bits are 1  Useful in demonstrating asymptotics Memory and runtime are governed purely by the size of the system

Grover’s Algorithm: Results using Mod 1024 Oracle  For data up to 25 qubits, linear least- squares regression shows that memory (MB) varies as 7.5922 + 0.0410n Linear Growth using QuIDDPro

Conclusions and Future Work  Asymptotic performance close to ideal quantum computers in certain cases E.g. when QuIDD form of oracle is poly-sized  QuIDDPro:  Ideal Quantum Computer:  Far more efficient than other classical simulation techniques in every other case MATLAB: Blitz++:  We plan to simulate other algorithms like Shor’s using QuIDDPro  Details in quant-ph/0208003

References  C.Y. Lee, “Representation of Switching Circuits by Binary Decision Diagrams”, Bell System Technical Jour., 38:985-999, 1959.  R. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation”, IEEE Trans. On Computers, vol. C-35, pp. 677-691, Aug 1986.  R. I. Bahar et al., Algebraic Decision Diagrams and their Applications”, In Proc. IEEE/ACM ICCAD, pp. 188- 191, 1993.  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.  M. Boyer et al., “Tight Bounds on Quantum Searching”, Fourth Workshop on Physics and Computation, Boston, Nov 1996.

Download ppt "High-Performance Simulation of Quantum Computation using QuIDDs George F. Viamontes, Manoj Rajagopalan, Igor L. Markov, and John P. Hayes Advanced Computer."

Similar presentations