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

Similar documents
4th year Project demo presentation

Parallelization of the QC-lib Quantum Computer Simulator Library

Parallelization of the QC-lib Quantum Computer Simulator Library

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

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

Simulating and compiling code for the Sequential Quantum Random Access Machine

Introduction to Quantum Computing

Great Ideas in Theoretical Computer Science. Lecture 28: A Gentle Introduction to Quantum Computation

MAA509: Quantum Computing and Information Introduction

Lecture 22: Quantum computational complexity

output of newer technologies and the subsequent adoption by the general population. The

Quantum Phase Estimation using Multivalued Logic

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

Introduction to Quantum Computing

Digital Electronics Part 1: Binary Logic

Quantum Computation. Michael A. Nielsen. University of Queensland

Lecture 1: Introduction to Quantum Computing

An Architectural Framework For Quantum Algorithms Processing Unit (QAPU)

QUANTUM COMPUTER SIMULATION

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

Quantum Computing. Thorsten Altenkirch

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

Quantum Computers. Peter Shor MIT

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

Introduction to Quantum Computation

Intoduction to topological order and topologial quantum computation. Arnau Riera, Grup QIC, Dept. ECM, UB 16 de maig de 2009

Chapter 1. Introduction

Quantum Random Access Memory

Parallel Simulation of Quantum Search

Introduction to Quantum Computing

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Compute the Fourier transform on the first register to get x {0,1} n x 0.

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

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010

Simon s algorithm (1994)

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

FPGA-Based Circuit Model Emulation of Quantum Algorithms

Towards a Quantum Programming Language

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

Lecture 1: Introduction to Quantum Computing

QLang: Qubit Language

Introduction to Quantum Algorithms Part I: Quantum Gates and Simon s Algorithm

Shor s Prime Factorization Algorithm

CprE 281: Digital Logic

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

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

Chapter 10. Quantum algorithms

Quantum Information Processing with Liquid-State NMR

1.0 Introduction to Quantum Systems for Information Technology 1.1 Motivation

Adiabatic quantum computation a tutorial for computer scientists

Introduction to Quantum Computing

Boolean circuits. Lecture Definitions

Introduction to Quantum Computing

Method For Driving Starting Quantum State to Target One

CSI717 Quantum Computer Programming George Mason University Mid-Term Exam Spring 2007

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

Quantum data and control made easier

Lecture 2: From Classical to Quantum Model of Computation

An Implementation of Compact Genetic Algorithm on a Quantum Computer

Complex numbers: a quick review. Chapter 10. Quantum algorithms. Definition: where i = 1. Polar form of z = a + b i is z = re iθ, where

Introduction to Quantum Information Processing

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

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

CS 126 Lecture T6: NP-Completeness

6.896 Quantum Complexity Theory September 9, Lecture 2

DEVELOPING A QUANTUM CIRCUIT SIMULATOR API

QuIDD-Optimised Quantum Algorithms

Quantum Computing Lecture 8. Quantum Automata and Complexity

An FPGA-based real quantum computer emulator

arxiv: v3 [cs.dm] 13 Feb 2018

Classical Verification of Quantum Computations

THE RESEARCH OF QUANTUM PHASE ESTIMATION

Quantum Programming. Juliana K. Vizzotto 1 and Amr Sabry 2. 8 November Yale CS Colloquium Page 1. 1 Federal University of Rio Grande do Sul

Extended Superposed Quantum State Initialization Using Disjoint Prime Implicants

Method For Sampling Probability Distributions Using a Quantum Computer

Quantum Computing. Vraj Parikh B.E.-G.H.Patel College of Engineering & Technology, Anand (Affiliated with GTU) Abstract HISTORY OF QUANTUM COMPUTING-

A Parallel Environment for Simulating Quantum Computation. Geva Patz

Quantum Computing. Separating the 'hope' from the 'hype' Suzanne Gildert (D-Wave Systems, Inc) 4th September :00am PST, Teleplace

Lecture 3: Constructing a Quantum Model

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

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

Semiconductors: Applications in spintronics and quantum computation. Tatiana G. Rappoport Advanced Summer School Cinvestav 2005

Latches. October 13, 2003 Latches 1

Quantum Circuits and Algorithms

Data Structures. Outline. Introduction. Andres Mendez-Vazquez. December 3, Data Manipulation Examples

From Physics to Logic

Quantum computation: a tutorial

Computer organization

Chapter 2. Basic Principles of Quantum mechanics

Gates for Adiabatic Quantum Computing

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Logical AND. Logical XOR

Outline. policies for the first part. with some potential answers... MCS 260 Lecture 10.0 Introduction to Computer Science Jan Verschelde, 9 July 2014

Compiling Techniques

Quantum Information Processing and Diagrams of States

1 Brief Introduction to Quantum Mechanics

A High Level Programming Language for Quantum Computing

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

Topic 8: Sequential Circuits

Transcription:

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

Why aren t there more quantum algorithms? there are only a few problems for which quantum computers can offer exponential speed-up over classical computers (Shor s, Grover s) difficult to go about finding a quantum algorithm compared to classical algorithms because quantum computers are very different than classical computers, so the approach to an algorithm is very different too.

Unique Problems Researchers work and look for quantum algorithms that solve problems that are not known to be solved classically in polynomial time, which is difficult since to find such a problem we would assume quantum computers can not solve NP-complete problems in faster exponential time as opposed to classical computers. (Superpolynomial speed-up cannot arise from problems that have polynomial-time classical algorithms, like P AND NP). In order to achieve super-polynomial speed-up, we would need to find a problem which is neither in P nor is NP-complete. Due to the success of classical algorithms, there are few natural problems that fit these requirements.

most of the focus in classical computing has been on classifying problems as polynomial time or as NP-hard, which has left few well-studied problems outside that are not known to be outside of these two classes. Also searching for super-polynomial speed-up is difficult, and what might be a more useful approach is to try to find faster quantum algorithms for problems already known to be classically solvable in polynomial time. This provides polynomial factor speed-ups, which can lead to finding other new techniques for designing quantum algorithms.

Applying quantum physics computer scientists have less experience with quantum mechanics in comparison to physicists. In order for a quantum algorithm to provide speed-up over a classical computation it must use interference, which is a concept less known by computer scientists.

Quantum Programming Languages A programming language for quantum hardware to help us control the quantum computing device and implement a quantum algorithm To provide tools for researchers to understand how quantum computation works and how to reason formally about quantum algorithms Classical Programming : DATA + CONTROL = PROGRAMMING Quantum Programming: QUANTUM DATA + CONTROL = QUANTUM PROGRAMMING This gives us the option to manipulate quantum data without having to have the knowledge of the underlying operating system and quantum hardware

Architectures for Quantum Computing 1. Quantum Circuits: a. Input Device - where we can feed in quantum data b. Basic Gates - quantum circuits c. Device to measure - result is a sequence of bits that can be stored/manipulated later 2. Quantum Turing Machines: a. A quantum analog of Turing Machines b. Convenient for discussing quantum complexity, but not a design for a programming language 3. Quantum Random Access Memory Model (QRAM): a. A classical computer, playing the role of the master b. A quantum computer device, that can be accessed by the master computer on request

QRAM Idea: A programmer writes classical code in a classical language, but when they need the extra quantum power, they can add a few lines of quantum assembler code. No need to know how qubits are physically stored, initialized, manipulated, or measured. Quantum Hardware Interface, QHI, will translate assembler commands issued by the master into explicit actions performed by the quantum device.

Quantum Processor 1. A set of quantum data storage registers a. Quantum Register: An interface to an addressable sequence of qubits. Each q-register as a unique identifier by which it is referred. b. The first thing to do is ask the quantum device through the quantum hardware interface to initialize a sequence of qubits 2. Utilities that apply operations on the storage After the quantum register has been initialized and manipulated, the programmer can issue a command that will measure selected portions. This will return a classical value to the main program.

Quantum Programming INITIALIZE R 2 allocated a 2 qubit register names R and initializes it to 00> U TENSOR H H creates a unitary matrix U of size 4 x 4 APPLY U R applies U to R MEASURE R RES measures the q-register R and stores the result in the bit array RES

Languages Imperative Programming: program that is mainly a sequence of commands with flow control statements. C, Python, Java Logical Programming: a program is a specification of properties and relations in a fragment of first-order logic Functional Programming: specifications of a function. The program will be provided with an acceptable value for the function and it will compute the return value. (QUANTUM DATA AND CLASSICAL CONTROL)

Imperative Quantum Programming Languages: QCL (Quantum Computation Language): high level, architecture independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal. This allows for the complete implementation and simulation of quantum algorithms (including classical components) in one consistent formalism. Standard Library includes: controlled-not with many target qubits, Hadamard operation on many qubits, parse and controlled phase. Functional Quantum Programming Languages QFL and QPL: QFC and QPL are two closely related quantum programming lan by Peter Selinger. They differ only in their syntax. These languages have classical control flow but can operate on quantum or classical data.