4th year Project demo presentation

Similar documents
- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin

Parallelization of the QC-lib Quantum Computer Simulator Library

Parallelization of the QC-lib Quantum Computer Simulator Library

Quantum Information Processing and Diagrams of States

An Implementation of Compact Genetic Algorithm on a Quantum Computer

Introduction to Quantum Computation

Technical Manual. Colm Ó héigeartaigh CASE May 6, 2003

phys4.20 Page 1 - the ac Josephson effect relates the voltage V across a Junction to the temporal change of the phase difference

Introduction to Quantum Computing

Introduction to Quantum Computing

Extended Superposed Quantum State Initialization Using Disjoint Prime Implicants

Classical Verification of Quantum Computations

Introduction to Quantum Computing

Quantum Computers. Todd A. Brun Communication Sciences Institute USC

Concepts and Algorithms of Scientific and Visual Computing Advanced Computation Models. CS448J, Autumn 2015, Stanford University Dominik L.

Quantum Computing Virtual Machine. Author: Alexandru Gheorghiu Scientific advisor: PhD. Lorina Negreanu

Simon s algorithm (1994)

Parallel Simulation of Quantum Search

Database Manipulation Operations on Quantum Systems

Quantum Computing: From Circuit To Architecture

quantum mechanics is a hugely successful theory... QSIT08.V01 Page 1

1.0 Introduction to Quantum Systems for Information Technology 1.1 Motivation

1 Measurements, Tensor Products, and Entanglement

QUANTUM COMPUTER SIMULATION

IBM quantum experience: Experimental implementations, scope, and limitations

Errata list, Nielsen & Chuang. rrata/errata.html

Introduction to Quantum Information Processing

*WILEY- Quantum Computing. Joachim Stolze and Dieter Suter. A Short Course from Theory to Experiment. WILEY-VCH Verlag GmbH & Co.

An Architectural Framework For Quantum Algorithms Processing Unit (QAPU)

Quantum Computing. Thorsten Altenkirch

Quantum parity algorithms as oracle calls, and application in Grover Database search

A Parallel Environment for Simulating Quantum Computation. Geva Patz

Quantum computing and mathematical research. Chi-Kwong Li The College of William and Mary

Quantum Wireless Sensor Networks

Quantum Computing. 6. Quantum Computer Architecture 7. Quantum Computers and Complexity

Quantum Information Processing

Quantum Computing. Joachim Stolze and Dieter Suter. A Short Course from Theory to Experiment. WILEY-VCH Verlag GmbH & Co. KGaA

with the ability to perform a restricted set of operations on quantum registers. These operations consist of state preparation, some unitary operation

Shor s Algorithm. Polynomial-time Prime Factorization with Quantum Computing. Sourabh Kulkarni October 13th, 2017

α x x 0 α x x f(x) α x x α x ( 1) f(x) x f(x) x f(x) α x = α x x 2

Quantum Communication Complexity

Logical error rate in the Pauli twirling approximation

Logic gates. Quantum logic gates. α β 0 1 X = 1 0. Quantum NOT gate (X gate) Classical NOT gate NOT A. Matrix form representation

Secrets of Quantum Information Science

CSCI 2570 Introduction to Nanocomputing. Discrete Quantum Computation

Universal Single Server Blind Quantum Computation Revisited

Quantum Random Access Memory

Index. Vladimir Silva 2018 V. Silva, Practical Quantum Computing for Developers,

A High Level Programming Language for Quantum Computing

Information Theory Meets Quantum Physics

Quantum Computation. Michael A. Nielsen. University of Queensland

C/CS/Phys C191 Grover s Quantum Search Algorithm 11/06/07 Fall 2007 Lecture 21

Quantum Computing: A Future Trends in Computing

10.2 Introduction to quantum information processing

CS257 Discrete Quantum Computation

Quantum Computing Lecture 8. Quantum Automata and Complexity

Grover s algorithm. We want to find aa. Search in an unordered database. QC oracle (as usual) Usual trick

Quantum Computation, NP-Completeness and physical reality [1] [2] [3]

Large-Scale Quantum Architectures

A parallel quantum computer simulator

Describing Quantum Circuits with Systolic Arrays

Introduction to Quantum Branching Programs

How quantum computation gates can be realized in terms of scattering theory approach to quantum tunneling of charge transport

Quantum computing with superconducting qubits Towards useful applications

The Future. Currently state of the art chips have gates of length 35 nanometers.

Volume 2, Issue 9, September 2014 International Journal of Advance Research in Computer Science and Management Studies

b) (5 points) Give a simple quantum circuit that transforms the state

IBM Systems for Cognitive Solutions

Reversible and Quantum computing. Fisica dell Energia - a.a. 2015/2016

Tutorial on Quantum Computing. Vwani P. Roychowdhury. Lecture 1: Introduction

)j > Riley Tipton Perry University of New South Wales, Australia. World Scientific CHENNAI

quantum information technology Tad Hogg HP Labs

Systems and Software for Quantum Computing. Travis Humble Quantum Computing Institute Oak Ridge National Laboratory

Design and implementation of a new meteorology geographic information system

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

Shor s Prime Factorization Algorithm

Attacking the ECDLP with Quantum Computing

UNIT-VIII COMPUTABILITY THEORY

Quantum Information Processing with Liquid-State NMR

Mathematics. B.A./B.Sc. III year. Paper-I. Linear Algebra and Linear Programming

Quantum algorithms (CO 781, Winter 2008) Prof. Andrew Childs, University of Waterloo LECTURE 1: Quantum circuits and the abelian QFT

Performance Evaluation of the Matlab PCT for Parallel Implementations of Nonnegative Tensor Factorization

Quantum Computers. Peter Shor MIT

Quantum Computer Architecture

Security Implications of Quantum Technologies

Quantum Computers: A Review Work

arxiv:quant-ph/ v1 28 May 1998

Algorithms, Logic and Complexity. Quantum computation. basic explanations! &! survey of progress

Seminar 1. Introduction to Quantum Computing

10.2 Introduction to quantum information processing

Quantum computing. Jan Černý, FIT, Czech Technical University in Prague. České vysoké učení technické v Praze. Fakulta informačních technologií

Quantum Computation 650 Spring 2009 Lectures The World of Quantum Information. Quantum Information: fundamental principles

Short introduction to Quantum Computing

Quantum Searching. Robert-Jan Slager and Thomas Beuman. 24 november 2009

Short Course in Quantum Information Lecture 2

Introduction to Quantum Computing

Simulation of quantum computers with probabilistic models

A Research Tool for the Automated Synthesis of Quantum Algorithms

6.2 Introduction to quantum information processing

Universal Blind Quantum Computing

Transcription:

4th year Project demo presentation Colm Ó héigeartaigh CASE4-99387212 coheig-case4@computing.dcu.ie 4th year Project demo presentation p. 1/23

Table of Contents An Introduction to Quantum Computing The Quantum Computing Language The Bloch Sphere The GUI Parallelizing the QCL 4th year Project demo presentation p. 2/23

An Introduction to Quantum Computing A qubit has two base states, denoted by the Dirac notation, 0 and 1. A qubit can be in a linear combination of states, denoted by; (1) φ = α 0 + β 1 The power of quantum computing largely derives from two physical phenomena; superposition and entanglement. 4th year Project demo presentation p. 3/23

Superposition and Entanglement Superposition is the property of being able to exist in multiple states at the same time. Entanglement is a correlation between qubits that is stronger than any possible correlation in classical physics. An example is one of the Bell states; (2) φ = 00 + 11 (2) Bell states are used as the basis for quantum teleportation and super-dense coding. 4th year Project demo presentation p. 4/23

Quantum Algorithms The two most famous quantum algorithms are Shor s Algorithm and Grover s Algorithm. Shor s algorithm can factor a large composite number that is the product of two prime numbers in polynomial time. Grover s algorithm can search an unstructured database in quadratic time. 4th year Project demo presentation p. 5/23

Quantum Algorithms(2) Discovering new algorithms is complicated by the difficulty in getting the quantum state to decohere to the wanted values. It is also complicated by the fact that every operation in Quantum Computing must be reversible. This means any matrix used must be Unitary. This is a major restriction on what can be done. 4th year Project demo presentation p. 6/23

The future of Quantum Computing It is unclear as yet how powerful the quantum computing paradigm is. The fact that an NP problem such as factoring can be solved in exponential time is encouraging. The complexity space of the quantum computer is a subset of PSPACE, ie. those problems bounded on memory, but unbounded on time. It is probable Quantum Computing will solve a few more NP problems, and speed up the solution to many more. 4th year Project demo presentation p. 7/23

The Future(2) A useful Quantum Computer has never been built, due to the engineering difficulties involved in preventing the quantum state from decohering. A Quantum Computer was built in 2001 at IBM with 7 qubits, which demonstrated Shor s algorithm, factoring 15 into 5 and 3! 4th year Project demo presentation p. 8/23

The Quantum Computing Language The QCL is a programming language designed to approach quantum computing programming using the syntax of a procedural language like "C". It provides a base set of operators, yet is extremely powerful. The QCL contains a number of classical components such as if statements, for/while/until loops, functions, etc. 4th year Project demo presentation p. 9/23

The QCL(2) Qubits are manipulated by declaring quantum registers, qureg, with an arbitrary number of qubits. An operator can be applied to a quantum register. QCL defines many operators for quantum registers, among them; Rot(real theta, qureg q) and Mix(qureg q). 4th year Project demo presentation p. 10/23

The Bloch Sphere A qubit is normally represented as a linear combination of the basis states 0 and 1 ; (3) φ = α 0 + β 1 This can also be represented as; (4) φ = cos θ 2 0 + eiϕ sin θ 2 1 The numbers θ and ϕ in equation (2) define a point on the unit three-dimensional sphere. This sphere is called the Bloch Sphere. 4th year Project demo presentation p. 11/23

The Bloch Sphere(2) 4th year Project demo presentation p. 12/23

The Bloch Sphere(3) The Bloch Sphere provides a useful means of visualizing the state of a single qubit. However, there is no simple generalization of the Bloch sphere known for multiple qubits. A classical bit would be represented on the bloch sphere as being either at the north pole of the sphere or at the south pole. A qubit however, can be a point anywhere on the surface of the sphere. 4th year Project demo presentation p. 13/23

The Bloch Sphere(4) The latitude defines how close the qubit is to the poles, depending on the probability amplitudes. The qubit exists on every point on the longitude semicircle To draw the bloch sphere, the GNU libplot library is used. Libplot is a freely available C/C++ function library for device-independent 2-D vector graphics. 4th year Project demo presentation p. 14/23

The Bloch Sphere(5) The QCL uses GNU Bison and Flex to provide a correct syntax for the language. Bison is used in the QCL to ensure that whatever is typed in at the command line is syntactically correct in accordance with the grammar of the QCL. Flex is used to scan the input and to execute the corresponding C++ code. The semantics of the Bloch Sphere command are handled deeper in the code. 4th year Project demo presentation p. 15/23

The GUI The server program is designed to run on a Linux cluster and monitors the nodes dynamically. It packages this information in a class and broadcasts it to the client programs, which display the information graphically. The server program extracts information from the cluster by running and parsing various Linux commands. The client program displays the information dynamically, by querying the server every five seconds. 4th year Project demo presentation p. 16/23

The GUI The client uses the proxy pattern to contact the server, and the observer pattern is used on the server, to update the object the server broadcasts whenever the state of the cluster changes. The client application is embedded inside an application called WeirdX. WeirdX is a pure Java X Window System Server. It allows you to run a graphical application on a server machine and then to redirect the graphical output to another machine where it is displayed using WeirdX. 4th year Project demo presentation p. 17/23

Parallelizing the QCL- Motivation Simulating a quantum computer on a classical computer is a computationally hard problem. As the qubits in the quantum register are superposed with each other, the number of basevectos increases exponentially. Applying an operation to a quantum state is simply a matrix-vector multiplication. 4th year Project demo presentation p. 18/23

Parallelizing the QCL(2) The CA Linux cluster was used in this project for parallel computation in the QCL. The mpich implementation of the Message Passing Interface(MPI) library is used in this project. The number of nodes to run the program must be specified on the command line. QCL is allowed to execute normally on the head node, all other nodes are trapped inside a loop awaiting instructions from the head node. 4th year Project demo presentation p. 19/23

Parallelizing the QCL(3) Data is sent to nodes from the head node and gathered back in using different MPI operations. Various kinds of matrix-vector multiplication algorithms are implemented in the QCL. The Block-checkerboard partitioning algorithm sees the matrix being divided up into small squares of size (2x2). Each node gets a block and a portion of the vector. 4th year Project demo presentation p. 20/23

Parallelizing the QCL(4) The Self-Scheduling or Master-Slave algorithm broadcasts the vector X to each node, and the farms out one row at a time to all the nodes. This is inefficient due to the large amount of communication required. The Block-striped partioning algorithm stripes a matrix of size (n x n) row-wise among p processes, so that each processor stores n/p rows of the matrix. The next approach is combine the Compressed Sparse Row storage format 4th year Project demo presentation p. 21/23 with the block-striped partioning approach.

Parallelizing the QCL(5) An efficient way of storing spares matrices is the CSR approach. Instead of a large rectangular array, three arrays are used to store the matrix. This greatly reduces communication overhead. The final approach uses block-checkerboard partitioning again, but it is more advanced than the first example, in that it only sends the vector portions to the head nodes of each column of the matrix, who then redistribute it down the column. 4th year Project demo presentation p. 22/23

Parallelizing the QCL(6) When all the results come back from the nodes, they need to be recombined, and the answer must be stored back in the original quantum register. 4th year Project demo presentation p. 23/23