Projects on Quantum Circuits Simulation EECS Department University of Michigan, Ann Arbor, MI 48109 George F. Viamontes, Igor L. Markov, and John P. Hayes.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
MATH 224 – Discrete Mathematics
Efficient Discrete-Time Simulations of Continuous- Time Quantum Query Algorithms QIP 2009 January 14, 2009 Santa Fe, NM Rolando D. Somma Joint work with.
Introduction to Algorithms Rabie A. Ramadan rabieramadan.org 2 Some of the sides are exported from different sources.
Quantum Packet Switching A. Yavuz Oruç Department of Electrical and Computer Engineering University of Maryland, College Park.
Quantum Phase Estimation using Multivalued Logic.
Quantum Speedups DoRon Motter August 14, Introduction Two main approaches are known which produce fast Quantum Algorithms The first, and main approach.
Chapter 2: Fundamentals of the Analysis of Algorithm Efficiency
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
CSE621/JKim Lec4.1 9/20/99 CSE621 Parallel Algorithms Lecture 4 Matrix Operation September 20, 1999.
DARPA Scalable Simplification of Reversible Circuits Vivek Shende, Aditya Prasad, Igor Markov, and John Hayes The Univ. of Michigan, EECS.
Quantum Computing Ambarish Roy Presentation Flow.
Quantum Computation and Error Correction Ali Soleimani.
An Algebraic Foundation for Quantum Programming Languages Andrew Petersen & Mark Oskin Department of Computer Science The University of Washington.
High-Performance Simulation of Quantum Computation using QuIDDs George F. Viamontes, Manoj Rajagopalan, Igor L. Markov, and John P. Hayes Advanced Computer.
Improving Gate-Level Simulation of Quantum Circuits George F. Viamontes, Igor L. Markov, and John P. Hayes Advanced.
DARPA Simulation and Synthesis of Quantum Circuits Igor L. Markov and John P. Hayes Advanced Computer Architecture Laboratory University of Michigan, EECS.
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
Quantum Computing Lecture 22 Michele Mosca. Correcting Phase Errors l Suppose the environment effects error on our quantum computer, where This is a description.
Quantum Search Algorithms for Multiple Solution Problems EECS 598 Class Presentation Manoj Rajagopalan.
Anuj Dawar.
1 Recap (I) n -qubit quantum state: 2 n -dimensional unit vector Unitary op: 2 n  2 n linear operation U such that U † U = I (where U † denotes the conjugate.
An Arbitrary Two-qubit Computation in 23 Elementary Gates or Less Stephen S. Bullock and Igor L. Markov University of Michigan Departments of Mathematics.
Grover’s Algorithm in Machine Learning and Optimization Applications
Quantum Counters Smita Krishnaswamy Igor L. Markov John P. Hayes.
A Fault-tolerant Architecture for Quantum Hamiltonian Simulation Guoming Wang Oleg Khainovski.
The Quantum 7 Dwarves Alexandra Kolla Gatis Midrijanis UCB CS
DARPA Advanced Computer Architecture Laboratory Simulation, Synthesis and Testing of Quantum Circuits John P. Hayes and Igor L. Markov Advanced Computer.
ROM-based computations: quantum versus classical B.C. Travaglione, M.A.Nielsen, H.M. Wiseman, and A. Ambainis.
Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.
Quantum Communication, Quantum Entanglement and All That Jazz Mark M. Wilde Communication Sciences Institute, Ming Hsieh Department of Electrical Engineering,
Identifying Reversible Functions From an ROBDD Adam MacDonald.
Ketan Patel, Igor Markov, John Hayes {knpatel, imarkov, University of Michigan Abstract Circuit reliability is an increasingly important.
Lecture note 8: Quantum Algorithms
Algorithms Artur Ekert. Our golden sequence H H Circuit complexity n QUBITS B A A B B B B A # of gates (n) = size of the circuit (n) # of parallel units.
October 1 & 3, Introduction to Quantum Computing Lecture 1 of 2 Introduction to Quantum Computing Lecture 1 of 2
Analysis of Algorithms These slides are a modified version of the slides used by Prof. Eltabakh in his offering of CS2223 in D term 2013.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
DISCRETE COMPUTATIONAL STRUCTURES CS Fall 2005.
Short course on quantum computing Andris Ambainis University of Latvia.
Algorithm Analysis (Algorithm Complexity). Correctness is Not Enough It isn’t sufficient that our algorithms perform the required tasks. We want them.
Quantum Computer Simulation Alex Bush Matt Cole James Hancox Richard Inskip Jan Zaucha.
JAVA AND MATRIX COMPUTATION
A Study of Error-Correcting Codes for Quantum Adiabatic Computing Omid Etesami Daniel Preda CS252 – Spring 2007.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Quantum Convolutional Coding Techniques Mark M. Wilde Communication Sciences Institute, Ming Hsieh Department of Electrical Engineering, University of.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
2-0 Copyright © 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin “ Introduction to the Design & Analysis of Algorithms, ” 2 nd ed., Ch. 2 Theoretical.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 653 Lecture.
Murali Venkatasubramanian Vishwani D. Agrawal Ph.D. Candidate James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University.
Capabilities and limitations of quantum computers Michele Mosca 1 November 1999 ECC ’99.
Fidelity of a Quantum ARQ Protocol Alexei Ashikhmin Bell Labs  Classical Automatic Repeat Request (ARQ) Protocol  Quantum Automatic Repeat Request (ARQ)
Quantum Computation Stephen Jordan. Church-Turing Thesis ● Weak Form: Anything we would regard as “computable” can be computed by a Turing machine. ●
Lecture 4 Jianjun Hu Department of Computer Science and Engineerintg University of South Carolina CSCE350 Algorithms and Data Structure.
Hierarchical Systolic Array Design for Full-Search Block Matching Motion Estimation Noam Gur Arie,August 2005.
1 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lectures
Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: Boolean Matching.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
1 An Introduction to Quantum Computing Sabeen Faridi Ph 70 October 23, 2007.
Quantum Bits (qubit) 1 qubit probabilistically represents 2 states
Quantum Algorithms Oracles
Introduction to Quantum Computing Lecture 1 of 2
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Mapping Techniques Dr. Xiao Qin Auburn University.
A low cost quantum factoring algorithm
Chap 4 Quantum Circuits: p
Chapter 2.
OSU Quantum Information Seminar
Improving Quantum Circuit Dependability
Presentation transcript:

Projects on Quantum Circuits Simulation EECS Department University of Michigan, Ann Arbor, MI George F. Viamontes, Igor L. Markov, and John P. Hayes Advanced Computer Architecture Laboratory University of Michigan, EECS

Quantum Approaches to Logic Circuit Synthesis and Testing The University of Michigan: John Hayes and Igor Markov Quantum domain Classical domain Synthesis and test algorithms Automation Scalability Parallelism Microscale Practical logic circuits

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 uses Binary 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 and low 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)

Operations on Multiple Qubits Tensor product of operators/qubits HH

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

Example of Propagated Block Patterns

QuIDD Structure

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

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)

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

QuIDD Vectors f Terminal value array 0 + 0i 1 + 0i 0 1

QuIDD Data Representation f 1 0

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

f 1 0 QuIDD Data Representation C0 = 1, R0=0, R1=1 R1,R0 \ C1, C0

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

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

Simulation Results

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

QuIDDPro Simulation Results (Grover’s search algorithm) for Oracle 1 Runtime Memory Usage Linear Growth using QuIDDPro 15 qubits Matlab Blitz++

QuIDDPro Simulation of Grover’s Algorithm Same results for any oracle that distinguishes a unique element Memory Usage Runtime

O(p(n)(√2) n ) O(n) QuIDDPro Simulation of Grover’s Algorithm Memory Usage 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.41 n ) time and O(n) memory

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

Oracle 1: Runtime (s) No. Qubits (n)OctaveMATLABBlitz++QuIDDPro e e e32.55e e41.06e e46.76e > 24 hrs 1.35e > 24 hrs 4.09e > 24 hrs 1.23e > 24 hrs 3.67e > 24 hrs 1.09e426.2

Oracle 1: Peak Memory Usage (MB) No. Qubits (n)OctaveMATLABBlitz++QuIDDPro e-21.05e-23.52e-29.38e e-22.07e-28.20e e e 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]

Consistency with Theory

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

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: seconds, 512.1MB –QuIDDPro: seconds, 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, MB

Complexity Analysis Results

Recall the Tensor Product

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.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 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 predicate p(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 (quant- ph/ ) G. Viamontes, M. Rajagopalan, I. Markov, J. Hayes, “Gate-Level Simulation of Quantum Circuits,” Asia South Pacific Design Automation Conference, pp , 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 , July 2002

References [1] A. N. Al-Rabadi et al., “Multiple-Valued Quantum Logic,” 11 th Intl. Workshop on Post Binary ULSI, Boston, MA, May [2] R. I. Bahar et al., “Algebraic Decision Diagrams and their Applications”, In Proc. IEEE/ACM ICCAD, pp , [3] M. Boyer et al., “Tight Bounds on Quantum Searching”, Fourth Workshop on Physics and Computation, Boston, Nov [4] R. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation”, IEEE Trans. On Computers, vol. C-35, pp , Aug [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 , Kluwer, 1996.

References [6] C.Y. Lee, “Representation of Switching Circuits by Binary Decision Diagrams,” Bell System Technical Jour., 38: , [7] D. Gottesman, “The Heisenberg Representation of Quantum Computers,” Plenary Speech at the 1998 Intl. Conf. on Group Theoretic Methods in Physics, ph/ http://xxx.lanl.gov/abs/quant- ph/ [8] D. Greve, “QDD: A Quantum Computer Emulation Library,”