A Review of Simulation Techniques of Quantum Computing

Total Page:16

File Type:pdf, Size:1020Kb

A Review of Simulation Techniques of Quantum Computing A review of simulation techniques of quantum computing Bart lomiej Bukowski Krak´owQuantum Informatics Seminar (KQIS) AGH University of Science and Technology, Krak´ow [email protected] Krak´ow,8.05.19 1 / 33 Simulation techniques of quantum computing Agenda 1 Quantum computations preliminaries 2 Simulating quantum processes 3 Quantum computations simulation techniques 4 Quantum Multiple-Valued Decision Diagrams 5 Ryoshi IDE 2 / 33 Simulation techniques of quantum computing Quantum bits - Qubits State vector basis states in Dirac notation j i = αj0i + βj1i 1 0 α; β 2 j0i = j1i = C 0 1 jαj2 + jβj2 = 1 3 / 33 Simulation techniques of quantum computing Multiple Qubits Tensor product N N N jφi = j 1i j 2i ··· j ni j 1i = α0j0i + α1j1i j 2i = β0j0i + β1j1i 2 3 α0β0 N α0 N β0 6α0β17 j 1i j 2i = = 6 7 = α1 β1 4α1β05 α1β1 α0β0j00i + α0β1j01i + α1β0j10i + α1β1j11i 4 / 33 Simulation techniques of quantum computing Quantum register n-qubit system state 2n−1 X n jφi = αj jjin = α0j0in + α1j1in + ··· + α2n−1j2 − 1in j=0 αj 2 C 2n−1 X 2 jaj j = 1 j=0 5 / 33 Simulation techniques of quantum computing Quantum operations Unitary operator Any operation on a quantum system can be represented by a unitary matrix U which operates on its state vector. The matrix U is unitary, when UUy = UyU = I . Uy is a Hermitian conjugate of U and Uy = (U)T = UT , where U denotes a complex conjugate of matrix U and UT denotes the matrix transposition. a b U = c d α j i = β a b α aα + bβ j 0i = Uj i = · = c d β cα + dβ 6 / 33 Simulation techniques of quantum computing Quantum gates Name Symbol Matrix " # 1 1 Hadamard H p1 2 1 −1 " # 0 −i Pauli-Y Y i 0 " # p 1 − i 1 + i Square Root of Not X 1 2 1 + i 1 − i " # eiγ 0 Phase Scale (by angle γ) θ 0 eiγ " −i γ # e 2 0 Rotation Z Rz i γ 0 e 2 7 / 33 Simulation techniques of quantum computing Quantum circuits Example quantum circuit x1 X • x2 Matrix representation of presented circuit 021 0 0 031 020 0 1 031 B60 1 0 07C B60 0 0 17C C01(X ⊗ I ) = B6 7C B6 7C @40 0 0 15A @41 0 0 05A 0 0 1 0 0 1 0 0 20 0 1 03 60 0 0 17 = 6 7 40 1 0 05 1 0 0 0 8 / 33 Simulation techniques of quantum computing Simulating Quantum Physics with Computers It is impossible to represent the results of quantum mechanics with a classical universal device. [1] Our only hope is that we're going to simulate probabilities. [1] 9 / 33 Simulation techniques of quantum computing Problems with Simulation of Quantum Processes Naive vector-matrix representation memory consumption Qubit Number 5 10 20 21 State vector 512 B 16 kB 16 MB 32 MB Operation matrix 16 kB 16 MB 16 TB 64 TB Memory needed to represent state vector: O(2n). Memory needed to represent unitary matrix: O(22n). Modifying quantum state time complexity Complexity of matrix-vector multiplication requires O(2n) operations for very sparse matrices, but even O(22n) for others. Complexity of matrix-matrix multiplication ranges from O(22n) to O(23n) depending on algorithm and matrix features. 10 / 33 Simulation techniques of quantum computing List of available simulation techniques Numerical Linear Algebra Methods Qubit-wise multiplication [11] P-blocked state representation Hash Table State Representation Decision Diagrams Quantum Multi-Valued Decision Diagrams [20] [19] 11 / 33 Simulation techniques of quantum computing Overview of Quantum Computer Simulators Simulation Libraries libquantum [12] Quantum++ [12] Qlib for MatLab [13] Quantum Programming Languages OpenQASM [14] QML Frameworks Q# [15] Qiskit [16] ProjectQ [4] GUI Simulators QuIDE [17] quirk [18] 12 / 33 Simulation techniques of quantum computing Qubit-wise Multiplication Split the operation on 2n-element vector into smaller matrices Unitary operation on n-qubit system can be expressed as composition of simple, one- or two-qubit elementary gates [11] Example A = I ⊗ I ⊗ H ⊗ I ⊗ I = j0i ⊗ j0i ⊗ j0i ⊗ j0i ⊗ j0i 0 = j0i ⊗ j0i ⊗ Hj0i ⊗ j0i ⊗ j0i Memory usage reduction from O(22n) to O(2n). Avoiding operations on big matrices. 13 / 33 Simulation techniques of quantum computing P-blocked State Representation p − blocked state [21] ρ = ρ1 ⊗ ρ2 ⊗ · · · ⊗ ρk ρi is the state of at most p qubits p p each pi state is represented as density matrix 2 × 2 complexity reduction from O(2n) to O(k22p) (for best case p = 1 −! O(4k)) Drawbacks no entanglements in p + 1 qubits qubit entanglement tracking algorithm for the worst case p = n operations on state vector require O(22n) memory alongside with complications of performed operations because of entanglement tracking algorithm Bell states or any m-qubit GHZ state cannot be represented using this technique 14 / 33 Simulation techniques of quantum computing Hash Table State Representation Improvement over Qubit-wise Multiplication State vector is very sparse Store only non-zero complex values that represent probability of collapsing to certain quantum state 2 3 000 0 6 7 0016 0 7 6 7 6 1 7 010 6 2 7 Keys Values 6 7 0116 0 7 1 6 7 2 2 = 6 1 7 100 6 7 1 6 2 7 4 6 7 2 1016 0 7 1 6 7 6 − p 6 − p1 7 2 110 6 2 7 4 5 111 0 15 / 33 Simulation techniques of quantum computing Binary Decision Diagrams Observation State vector and operation matrices repeat themselves. 2 3 000 0 q0 6 7 0016 0 7 6 7 6 1 7 010 6 2 7 6 7 q1 q1 011 6 0 7 6 7 = 6 1 7 100 6 7 6 2 7 6 7 q2 q2 q2 1016 0 7 6 7 6 − p1 7 110 6 2 7 4 5 111 0 1 − p1 0 2 2 16 / 33 Simulation techniques of quantum computing QMDDs as an enhancement over Decision Diagrams Elementary quantum operations typically affect only a small number of the qubits of a quantum system. The transformation matrix/state vector for the whole system often contains the same pattern repeatedly throughout the matrix. Transformation matrices/state vectors are often sparse with many zero entries frequently appearing in blocks. Every modification of quantum system, that is represented by 2n × 2n matrix can be partitioned into 4 sub-matrices of dimension 2n−1 × 2n−1 as follows: U U U = 00 01 U10 U11 Every state of quantum system can be represented by vector of size 2n that can be partitioned into 2 sub-vectors of size 2n−1: = 0 1 17 / 33 Simulation techniques of quantum computing QMDDs as an enhancement over Decision Diagrams x x2 1 x1 00 01 10 11 2 3 00 0 0 1 0 6 7 x2 x2 x2 01 6 0 0 0 −i 7 6 7 10 6 i 0 0 0 7 4 5 11 0 1 0 0 1 −i 0 i a) Transformation matrix b) Decision Diagram with multiple terminal nodes 18 / 33 Simulation techniques of quantum computing QMDDs as an enhancement over Decision Diagrams x1 x1 0 0 0 0 i x2 x2 x2 0 0 −i i 0 0 0 0 −i 1 1 c) Decision Diagram with edge d) Quantum Multiple-Valued weights Decision Diagram 19 / 33 Simulation techniques of quantum computing QMDDs as an enhancement over Decision Diagrams x x2 1 x1 00 01 10 11 0 0 2 3 i 00 0 0 1 0 6 7 x2 01 6 0 0 0 −i 7 6 7 10 6 i 0 0 0 7 0 0 4 5 −i 11 0 1 0 0 1 a) Transformation matrix d) Quantum Multiple-Valued Decision Diagram 20 / 33 Simulation techniques of quantum computing Quantum Multi-Valued Decision Diagrams - definition Representation of an r n × r n complex matrix as a rooted directed acyclic graph. It has two types of vertices: single terminal vertex and zero or more non-terminal vertices. Each non-terminal vertex denotes the partitioning of a matrix by the application of following equation: " # N(U ) N(U ) U U U = 00 01 ∗ b00 b01 N(U10) N(U11) Ub10 Ub11 There is an initial edge pointing to the root vertex with complex weight representing the QMDD normalization factor. QMDD is reduced: No duplicated edges. All vertices are unique. Above points are also applicable to states vectors. 21 / 33 Simulation techniques of quantum computing QMDDs - normalization QMDDs are built and normalized bottom-up. The non-terminal vertex v is normalized if w(ej ) = 1 for the lowest j for which w(ej ) 6= 0 for j being the outgoing edge's index. −1 −i i x1 x1 0 0 0 0 −i i 22 / 33 Simulation techniques of quantum computing QMDDs - matrices creation and multiplication p1 p1 2 2 x1 x1 x1 0 0 0 0 0 0 x1 x2 x x2 x2 2 0 0 x3 X • x3 x3 x3 x3 x3 a) Quantum Circuit 0 0 0 0 0 0 0 0 0 0 −1 −1 1 1 1 b) First gate c) Second gate d) Gates combined 23 / 33 Simulation techniques of quantum computing QMDDs - multiplication matrix and state vector qi qi qi qi × = + U00 U01 U10 U11 0 1 U00 · 0 U10 · 0 U01 · 1 U11 · 1 qi qi qi + = 0 1 φ0 φ1 0 + φ0 1 + φ1 24 / 33 Simulation techniques of quantum computing QMDDs - complexity Memory State vector worst case (full binary tree): Pi=0 i n nodes: jvj = 1 + i=0 2 = 2 complex values on edges: 2 · (2n − 1) + 1 = 2n+1 − 1 approximately twice as many than in array-based solution only if no redundancies are found Unitary matrix worst case (full quad-tree): Pn−1 i 4n−1 nodes: jvj = 1 + i=0 4 = 1 + 3 Elementary quantum gates targeting single qubit and arbitrary number of control qubits require only linear number of nodes Operations time complexity Kronecker product: O(jvj) Multiplying matrices/state vectors: O(n · jvj) Measuring state vector: O(jvj + n) 25 / 33 Simulation techniques of quantum computing QMDDs - experimental results LiqUI [2] QX [3] ProjectQ [4] QuiDDPro [5] QMDD Computation #Qubits Time[s] Memory[MB] Time[s] Memory[MB] Time[s] Memory[MB] Time[s] Memory[MB] #Nodes Time[s] Memory[MB] #Nodes Entanglemnet 22 3.53 193.33 0.42 200.47 1.08 152.41 0.04 14.93 45 <0.01 48.02 43 23 4.09 248.25 0.80 396.94 0.49 248.01 0.04 14.92 47 <0.01 48.03 45 31 0.04 14.93 63 <0.01 48.11 61 100 0.14 15.98 201 <0.01 49.32 199 QFT 18 3.02 192.91 0.27 16.56 0.87 57.82 24.21 192.77 65535 0.01 48.47 18 21 6.46 192.83 3.63 102.75 0.66 100.75 10208.06 2511.26 4194303 0.01 48.78 21 31 0.03 50.53 31 64 0.09 68.00
Recommended publications
  • Graphical and Programming Support for Simulations of Quantum Computations
    AGH University of Science and Technology in Kraków Faculty of Computer Science, Electronics and Telecommunications Institute of Computer Science Master of Science Thesis Graphical and programming support for simulations of quantum computations Joanna Patrzyk Supervisor: dr inż. Katarzyna Rycerz Kraków 2014 OŚWIADCZENIE AUTORA PRACY Oświadczam, świadoma odpowiedzialności karnej za poświadczenie nieprawdy, że niniejszą pracę dyplomową wykonałam osobiście i samodzielnie, i nie korzystałam ze źródeł innych niż wymienione w pracy. ................................... PODPIS Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Informatyki Praca Magisterska Graficzne i programowe wsparcie dla symulacji obliczeń kwantowych Joanna Patrzyk Opiekun: dr inż. Katarzyna Rycerz Kraków 2014 Acknowledgements I would like to express my sincere gratitude to my supervisor, Dr Katarzyna Rycerz, for the continuous support of my M.Sc. study, for her patience, motivation, enthusiasm, and immense knowledge. Her guidance helped me a lot during my research and writing of this thesis. I would also like to thank Dr Marian Bubak, for his suggestions and valuable advices, and for provision of the materials used in this study. I would also thank Dr Włodzimierz Funika and Dr Maciej Malawski for their support and constructive remarks concerning the QuIDE simulator. My special thank goes to Bartłomiej Patrzyk for the encouragement, suggestions, ideas and a great support during this study. Abstract The field of Quantum Computing is recently rapidly developing. However before it transits from the theory into practical solutions, there is a need for simulating the quantum computations, in order to analyze them and investigate their possible applications. Today, there are many software tools which simulate quantum computers.
    [Show full text]
  • QUANTUM COMPUTER and QUANTUM ALGORITHM for TRAVELLING SALESMAN PROBLEM Utpal Roy, Sanchita Pal Chawdhury, Susmita Nayek
    ISSN: 0974-3308, VOL. 2, NO. 1, JUNE 2009 © SRIMCA 54 QUANTUM COMPUTER AND QUANTUM ALGORITHM FOR TRAVELLING SALESMAN PROBLEM Utpal Roy, Sanchita Pal Chawdhury, Susmita Nayek ABSTRACT Depending upon the extraordinary power of Quantum Computing Algorithms various branches like Quantum Cryptography, Quantum Information Technology, Quantum Teleportation have emerged [1-4]. It is thought that this power of Quantum Computing Algorithms can also be successfully applied to many combinatorial optimization problems. In this article, a class of combinatorial optimization problem is chosen as case study under Quantum Computing. These problems are widely believed to be unsolvable in polynomial time. Mostly it provides suboptimal solutions in finite time using best known classical algorithms. Travelling Salesman Problem (TSP) is one such problem to be studied here. A great deal of effort has already been devoted towards devising efficient algorithms that can solve the problem [5-18]. Moreover, the methods of finding solutions for the TSP with Artificial Neural Network and Genetic Algorithms [5-8] do not provide the exact solution to the problems for all the cases, excepting a few. A successful attempt has been made to have a deterministic solution for TSP by applying the power of Quantum Computing Algorithm. Keywords: Quantum Computing, Travelling Salesman Problem, Quantum algorithms. 1. INTRODUCTION A quantum computer is a device that can arbitrarily manipulate the quantum state of a part or itself. The field of quantum computation is largely a body of theoretical promises for some impressively fast algorithms which could be executed on quantum computers. The field of quantum computing has advanced remarkably in the past few years since Shor [1] presented his quantum mechanical algorithm for efficient prime factorization of very large numbers, potentially providing an exponential speedup over the fastness on known classical algorithm.
    [Show full text]
  • Download the 3Rd Edition of the Book of Abstracts
    Book of Abstracts 3rd BSC International Doctoral Symposium Editors Nia Alexandrov María José García Miraz Graphic and Cover Design: Cristian Opi Muro Laura Bermúdez Guerrero This is an open access book registered at UPC Commons (http://upcommons.upc.edu) under a Creative Commons license to protect its contents and increase its visibility. This book is available at http://www.bsc.es/doctoral-symposium-2016 published by: Barcelona Supercomputing Center supported by: The “Severo Ochoa Centres of Excellence" programme 3rd Edition, September 2016 Introduction ACKNOWLEDGEMENTS The BSC Education & Training team gratefully acknowledges all the PhD candidates, Postdoc researchers, experts and especially the Keynote Speaker Francisco J. Doblas-Reyes and the tutorial lecturers Vassil Alexandrov and Javier Espinosa, for contributing to this Book of Abstracts and participating in the 3rd BSC International Doctoral Symposium 2016. We also wish to expressly thank the volunteers that supported the organisation of the event: Carles Riera and Felipe Nathan De Oliveira. BSC Education & Training team [email protected] 5 Introduction 6 Introduction CONTENTS EDITORIAL COMMENT ................................................................................................ 11 WELCOME ADDRESS .................................................................................................. 13 PROGRAM .................................................................................................................... 15 KEYNOTE SPEAKER ...................................................................................................
    [Show full text]
  • Models of Quantum Computation and Quantum Programming Languages
    Models of quantum computation and quantum programming languages Jaros law Adam MISZCZAK Institute of Theoretical and Applied Informatics, Polish Academy of Sciences, Ba ltycka 5, 44-100 Gliwice, Poland The goal of the presented paper is to provide an introduction to the basic computational mod- els used in quantum information theory. We review various models of quantum Turing machine, quantum circuits and quantum random access machine (QRAM) along with their classical counter- parts. We also provide an introduction to quantum programming languages, which are developed using the QRAM model. We review the syntax of several existing quantum programming languages and discuss their features and limitations. I. INTRODUCTION of existing models of quantum computation is biased towards the models interesting for the development of Computational process must be studied using the fixed quantum programming languages. Thus we neglect some model of computational device. This paper introduces models which are not directly related to this area (e.g. the basic models of computation used in quantum in- quantum automata or topological quantum computa- formation theory. We show how these models are defined tion). by extending classical models. We start by introducing some basic facts about clas- A. Quantum information theory sical and quantum Turing machines. These models help to understand how useful quantum computing can be. It can be also used to discuss the difference between Quantum information theory is a new, fascinating field quantum and classical computation. For the sake of com- of research which aims to use quantum mechanical de- pleteness we also give a brief introduction to the main res- scription of the system to perform computational tasks.
    [Show full text]
  • One-Way Quantum Computer Simulation
    One-Way Quantum Computer Simulation Eesa Nikahd, Mahboobeh Houshmand, Morteza Saheb Zamani, Mehdi Sedighi Quantum Design Automation Lab Department of Computer Engineering and Information Technology Amirkabir University of Technology Tehran, Iran {e.nikahd, houshmand, szamani, msedighi}@aut.ac.ir Abstract— In one-way quantum computation (1WQC) model, universal quantum computations are performed using measurements to designated qubits in a highly entangled state. The choices of bases for these measurements as well as the structure of the entanglements specify a quantum algorithm. As scalable and reliable quantum computers have not been implemented yet, quantum computation simulators are the only widely available tools to design and test quantum algorithms. However, simulating the quantum computations on a standard classical computer in most cases requires exponential memory and time. In this paper, a general direct simulator for 1WQC, called OWQS, is presented. Some techniques such as qubit elimination, pattern reordering and implicit simulation of actions are used to considerably reduce the time and memory needed for the simulations. Moreover, our simulator is adjusted to simulate the measurement patterns with a generalized flow without calculating the measurement probabilities which is called extended one-way quantum computation simulator (EOWQS). Experimental results validate the feasibility of the proposed simulators and that OWQS and EOWQS are faster as compared with the well-known quantum circuit simulators, i.e., QuIDDPro and libquantum for simulating 1WQC model1. Keywords-Quantum Computing, 1WQC, Simulation 1 INTRODUCTION Quantum information [2] is an interdisciplinary field which combines quantum physics, mathematics and computer science. Quantum computers have some advantages over the classical ones, e.g., they give dramatic speedups for tasks such as integer factorization [3] and database search [4].
    [Show full text]
  • Dissertação André Silva.Pdf
    Andr´ePaulo Pires Miranda Ferreira da Silva Simulation of a Quantum Algorithm using Quantum Fourier Transforms Thesis submitted to the University of Coimbra for the degree of Master in Engineering Physics Supervisor: Prof. Dr. Maria Helena Vieira Alberto Coimbra, 2018 Esta c´opiada tese ´efornecida na condi¸c~aode que quem a consulta reconhece que os direitos de autor s~aoperten¸cado autor da tese e que nenhuma cita¸c~aoou informa¸c~ao obtida a partir dela pode ser publicada sem a refer^enciaapropriada. This copy of the thesis has been supplied on condition that anyone who consults it is understood to recognize that its copyright rests with its author and that no quotation from the thesis and no information derived from it may be published without proper acknowledgement. ii Acknowledgments O desenvolvimento desta tese foi uma aventura, no que toca a todas as ´areasnovas que tive que explorar. Sabendo que a minha forma¸c~aona ´areade computa¸c~ao qu^antica era b´asica,n~aobastou gostar do tema para suceder, foi preciso um grande esfor¸coque sozinho n~aoseria poss´ıvel. Merece uma men¸c~aoespecial, a Prof. Dra. Maria Helena Vieira Alberto. Mesmo sem ter obriga¸c~oes(nem ser a sua ´area),disponibilizou-se a ajudar-me, orientar- me e corrigir-me durante todo o esfor¸coque foi a conclus~aoda tese. Nos temas mais dif´ıceisnunca negou a disponibilidade para me ajudar. E teve sempre muita paci^enciapara me explicar os mais f´aceis.Por todo o esfor¸coe dedica¸c~ao,um muito obrigado.
    [Show full text]
  • Jquantum Manual
    A Quantum Computer Simulator Version 0.9beta — Documentation — Andreas de Vries FH Sudwestfalen¨ University of Applied Sciences, Haldener Straße 182, D-58095 Hagen, Germany e-mail: [email protected] Contents 1 About this Program 1 2 Short manual 1 2.1 Installation . 1 2.2 The structure of the work space window . 2 2.3 How to initialize a quantum register . 2 2.4 Design a circuit . 3 2.5 Run the algorithm . 3 3 Theoretical Background 4 3.1 Why quantum computers? . 4 3.2 What is quantum computation? . 5 3.3 Quantum logic . 5 3.4 Where can I get more information? . 5 1 About this Program The program jQuantum is a quantum computer simulator. It simulates the implementation of quantum circuits on a small quantum register up to about 15 qubits. Its main intention is to create images — images which may help to learn and understand quantum circuits, and which perhaps will serve as building blocks for inventing new quantum algorithms. 2 Short manual 2.1 Installation You need the Java Virtual Machine JRE 1.4.1 or higher to run jQuantum. If you do not have it, you can simply download it from http://java.sun.com. To start jQuantum, under most platforms you simply click 1 on the jar-file. If this does not work you can start the shell, change into the directory of jQuantum.jar and and type in: java -jar jQuantum.jar 2.2 The structure of the work space window After having started the program, you see the work space window (Fig.
    [Show full text]
  • Programming and Simulation of Quantum Agents
    Saarland University Faculty of Natural Sciences and Technology I Department of Computer Science Diploma Thesis Programming and Simulation of Quantum Agents submitted by René Schubotz on 03/31/2007 Supervisor Dr. Matthias Klusch German Research Center for Artificial Intelligence Deduction and Multiagent Systems Advisor Dr. Matthias Klusch Reviewers Dr. Matthias Klusch Prof. Dr. Wolfgang Wahlster Statement Hereby I confirm that this thesis is my own work and that I have documented all sources used. Saarbrücken, 03/31/2007 Declaration of Consent Herewith I agree that my thesis will be made available through the library of the Computer Science Department. Saarbrücken, 03/31/2007 Contents 1 Introduction 9 2 A Quantum Computing Primer 11 2.1 Bras and Kets ....................................... 11 2.2 Quantum Bit Registers .................................. 11 2.3 Projective Measurement of Quantum Bits ....................... 12 2.4 Unitary evolution and reversibility ........................... 12 2.5 Quantum Entanglement ................................. 13 2.6 Quantum Computation ................................. 14 2.6.1 Elementary Quantum Gates ........................... 14 2.6.2 Universal Quantum Gates ............................ 15 2.7 Quantum Communication ................................ 16 2.7.1 Quantum Teleportation ............................. 16 2.7.2 Superdense Coding ................................ 18 2.7.3 No-Cloning Theorem ............................... 19 2.8 Quantum Oracles ..................................... 19 2.8.1
    [Show full text]
  • Towards a Novel Environment for Simulation of Quantum Computing
    Computer Science 16 (1) 2015 http://dx.doi.org/10.7494/csci.2015.16.1.103 • Joanna Patrzyk Bartłomiej Patrzyk Katarzyna Rycerz Marian Bubak TOWARDS A NOVEL ENVIRONMENT FOR SIMULATION OF QUANTUM COMPUTING Abstract In this paper, we analyze existing quantum computer simulation techniqu- es and their realizations to minimize the impact of the exponential complexity of simulated quantum computations. As a result of this investigation, we pro- pose a quantum computer simulator with an integrated development environ- ment – QuIDE – supporting the development of algorithms for future quantum computers. The simulator simplifies building and testing quantum circuits and understanding quantum algorithms in an efficient way. The development envi- ronment provides flexibility of source code edition and ease of the graphical building of circuit diagrams. We also describe and analyze the complexity of algorithms used for simulation as well as present performance results of the simulator as well as results of its deployment during university classes. Keywords quantum computation, quantum computer simulators, development environment, quantum algorithms, SUS survey Citation Computer Science 16 (1) 2015: 103–129 103 8 kwietnia 2015 str. 1/27 104 Joanna Patrzyk, Bartłomiej Patrzyk, Katarzyna Rycerz, Marian Bubak 1. Introduction In recent years, the field of quantum computing has developed significantly. In [25] and [30], the results of experimental realizations of Shor’s Prime Factorization Algorithm [44] are presented. Moreover, the first prototypes of a quantum central processing unit were built: one realizing the von Neumann’s architecture [28] and another exploiting quantum annealing [21, 24]. Quantum computers can offer an exponential speedup compared to conventional computers [7].
    [Show full text]
  • Quantum Computer Simulation Using CUDA Alexander Smith Khashayar Khavari University of Toronto Department of Electrical and Computer Engineering
    1 Quantum Computer Simulation Using CUDA Alexander Smith Khashayar Khavari University of toronto Department of Electrical and Computer Engineering I. INTRODUCTION Quantum computing has captured the attention of many researchers in the past decade. While researchers in the fields of electrical engineering and physics have concentrated on realizing a physical machine that satisfies the criteria of a quantum computing, others in the research community are developing algorithms that can take advantage of such machines. Through exploitation of the inherit superposition observed at the quantum level, many interesting quantum algorithms (q-algorithms) have been developed. These range from simple communication between two points using super-dense coding to factorization of a large number into its prime components through Shor’s algorithm. Despite the dedication and hard work of physicists and engineers, a physically stable quantum computer is still a dream to be fulfilled. To deal with this problem and to encourage development of more q-algorithms, it has been proposed to simulate the functionality of a quantum computer using a classical one. Quantum computer simulation allows researchers to validate existing quantum algorithms without the need for a physical quantum computer. However, the inherent complexity of a quantum system results in extremely time-consuming simulations on a classical machine. In a physical quantum computer, quantum superposition of states allows the simultaneous manipulation of all possible combinations of a set of bits in a single operation, speeding up many algorithms exponentially when compared to a classical computer. This is main challenge that a classical simulator has to face. Because of this, quantum algorithms, which are supposed to reduce exponential processing times to linear ones, run more slowly than their classical counterparts when simulated.
    [Show full text]
  • Q# , a Quantum Computation Package for the .NET Platform
    Q# , a quantum computation package for the .NET platform A. S. Tolba, M. Z. Rashad, and M. A. El-Dosuky Dept. of Computer Science, Faculty of Computers and Information Sciences, Mansoura University, Mansoura, Egypt. [email protected], [email protected], [email protected] October 2007 ABSTRACT Quantum computing is a promising approach of computation that is based on equations from Quantum Mechanics. A simulator for quantum algorithms must be capable of performing heavy mathematical matrix transforms. The design of the simulator itself takes one of three forms: Quantum Turing Machine, Network Model or circuit model of connected gates or, Quantum Programming Language, yet, some simulators are hybrid. We studied previous simulators and then we adopt features from three simulators of different implementation languages, different paradigms, and for different platforms. They are Quantum Computing Language (QCL), QUASI, and Quantum Optics Toolbox for Matlab 5. Our simulator for quantum algorithms takes the form of a package or a programming library for Quantum computing, with a case study showing the ability of using it in the circuit model. The .NET is a promising platform for computing. VB.NET is an easy, high productive programming language with the full power and functionality provided by the .NET framework. It is highly readable, writeable, and flexible language, compared to another language such as C#.NET in many aspects. We adopted VB.NET although its shortage in built-in mathematical complex and matrix operations, compared to Matlab. For implementation, we first built a mathematical core of matrix operations. Then, we built a quantum core which contains: basic qubits and register operations, basic 1D, 2D, and 3D quantum gates, and multi-view visualization of the quantum state, then a window for demos to show you how to use and get the most of the package.
    [Show full text]
  • Technical University of Crete Department of Electronic and Computer Engineering
    Technical University of Crete Department of Electronic and Computer Engineering Techniques for Simulating Quantum Computers by Koufogiannakis Christos This thesis is submitted in partial fulfillment of requirements for the Diploma Degree in Electronic and Computer Engineering Committee: Samoladas Vasilis (supervisor) Dollas Apostolos Petrakis Euripides June 2004 Abstract The first algorithm of practical interest that takes advantage of quantum mechanics was proposed by Peter Shor in 1994. Shor described a polynomial time quantum algorithm for factoring integers. Factoring is considered to be a hard problem for classical computers. Indeed, the efficiency of the famous public-key cryptosystem RSA is based on the assumption that classical computers cannot factor big integers fast. On the other hand a quantum computer would be able to break the RSA system relatively easy. A number of quantum algorithms have been proposed since 1994, like Grover’s algorithm for database search, quantum cryptography and quantum teleportation. Unfortunately, current technology makes it impossible to build large scale quantum computers to run these algorithms. This is a great roadblock for those who want to test their algorithms or those who want to write new quantum algorithms. Therefore, the only way to test quantum algorithms is by simulating them on classical computers. However, the exponential state explosion makes quantum simulation a difficult task for classical computers. In this thesis we describe how Binary/Algebraic Decision Diagrams (BDDs, ADDs) can be used to simulate quantum circuits, and especially Shor’s algorithm. i Acknowledgements I would like to thank, my supervisor, Prof. Vasilis Samoladas, for introducing me to the subject of quantum computing and providing me with many constructive conversations.
    [Show full text]