Matt Purkeypile January 2008

Slides:



Advertisements
Similar presentations
University of Queensland
Advertisements

CSCI 4550/8556 Computer Networks Comer, Chapter 22: The Future IP (IPv6)
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.
Quantum Computers Gates, circuits and programming.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile Fall 2008.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Lab/Sessional -CSE-374. SYSTEM DEVELOPMENT LIFE CYCLE.
Quantum Error Correction Michele Mosca. Quantum Error Correction: Bit Flip Errors l Suppose the environment will effect error (i.e. operation ) on our.
An Algebraic Foundation for Quantum Programming Languages Andrew Petersen & Mark Oskin Department of Computer Science The University of Washington.
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 Heuristics: Tad Hogg’s Perspective George Viamontes February 4, 2002.
Quantum Simulators DoRon Motter August 2, Introduction Currently a wide variety of quantum simulators are available Good to know to avoid duplication.
Quantum Mechanics from Classical Statistics. what is an atom ? quantum mechanics : isolated object quantum mechanics : isolated object quantum field theory.
Quantum Computing Lecture 1 Michele Mosca. l Course Outline
By: Mike Neumiller & Brian Yarbrough
Debasis Sadhukhan M.Sc. Physics, IIT Bombay. 1. Basics of Quantum Computation. 2. Quantum Circuits 3. Quantum Fourier Transform and it’s applications.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile Doctorate of Computer Science Dissertation Defense June 26, 2009.
1 hardware of quantum computer 1. quantum registers 2. quantum gates.
Abstraction of Deutsch Algorithm and Its Implementation on QCL.
1 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lecture 20 (2009)
Quantum Processing Simulation
Cove: A Practical Quantum Computer Programming Framework Summer 2008 Status Matt Purkeypile.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile (DCS3) Winter 2009.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
IPQI-2010-Anu Venugopalan 1 qubits, quantum registers and gates Anu Venugopalan Guru Gobind Singh Indraprastha Univeristy Delhi _______________________________________________.
Quantum Computing: An Introduction Khalid Muhammad 1 History of Quantum Computing Bits and Qubits Problems with the Quantum Machine.
An Introduction to Quantum Computation Sandy Irani Department of Computer Science University of California, Irvine.
Adiabatic Quantum Computing Josh Ball with advisor Professor Harsh Mathur Problems which are classically difficult to solve may be solved much more quickly.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
1 An Introduction to Quantum Computing Sabeen Faridi Ph 70 October 23, 2007.
Intro to Quantum Algorithms SUNY Polytechnic Institute Chen-Fu Chiang Fall 2015.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
 Programming methodology: ◦ is a process of developing programs that involves strategically dividing important tasks into functions to be utilized by.
Advanced Computer Systems
Unit 2 Technology Systems
Software Engineering (CSI 321)
Binary Notation and Intro to Computer Graphics
Quantum Computer Programming Framework Design
Test Automation CS 4501 / 6501 Software Testing
Poomipat Phusayangkul
Introduction to Quantum Computing Lecture 1 of 2
Introduction to System Analysis and Design
ECE 551: Digital System Design & Synthesis
CS101 Introduction to Computing Lecture 19 Programming Languages
CSC480 Software Engineering
Ap computer science 2 AP COMPUTER SCIENCE A EXAM SPRING OF EVERY YEAR
UNH Programming Assistance Center Automation
Quantum Computers Superposition Interference Entanglement and Quantum Error Correction Lesson 1 By: Professor Lili Saghafi
Introduction to Problem Solving and Programming CS140: Introduction to Computing 1 8/19/13.
Creating and Using Classes
Phil Tayco Slide version 1.0 Created Oct 2, 2017
Learning to Program in Python
Introduction to Quality and its Importance
Introduction to Quality and its Importance
CIS16 Application Development – Programming with Visual Basic
Winter 2018 CISC101 12/1/2018 CISC101 Reminders
Quantum Computing Dorca Lee.
Fundamentals of Programming
Heuristic Evaluation Jon Kolko Professor, Austin Center for Design.
Chap 4 Quantum Circuits: p
OSU Quantum Information Seminar
Richard Cleve DC 2117 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Lecture 24 (2009) Richard.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Instructions in Machine Language
Linear Optical Quantum Computing
Introduction to Quality and its Importance
Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Lecture 4 (2005) Richard Cleve DC 653
R for Data Science Data science Data science is a booming field in today’s world. Since Artificial Intelligence is the main focus of today’s technology,
Presentation transcript:

Matt Purkeypile January 2008 Research Proposal Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile January 2008

Introduction Quantum computers are fundamentally different than existing “classical” computers. Classical unit of information: bit, 0 or 1. While the speed of classical computers has increased, they still operate the same. Quantum unit of information: qubit: 0, 1, or a combination (superposition) of 0 and 1. The qubit is not a probabilistic bit. Nor does it consist of 3 states. Interference between qubits is a key part of quantum computation

Introduction Continued Quantum computers are predicted to appear around 2021 ± 5 years. Experimental ones of a few qubits have been built. There are limitations on quantum computation that do not apply to classical computation. Since quantum computers operate differently than classical computers, they must be programmed using new methods. This has been recognized as a challenge since the beginning of the field in the 1980s.

Research Project Design of a usable quantum computer programming framework. This framework will be built on top of a classical language. This means it will run on current computers. Means that a simulation of a quantum computer can also be implemented.

Hypothesis “A practical framework for quantum computing can be designed for existing modern object oriented classical languages that can be shown to satisfy a list of functional and usability properties.”

Why Develop a Framework? Many existing quantum programming proposals are languages specific for quantum computing. Existing proposals have neglected usability. The fact that the quantum resource may be remote has also been largely ignored. The proposed framework targets commercial programmers instead of physicists and computer scientists.

Proof Criteria Establish a list of functional properties. Establish a list of usability properties. Design of framework Implementation of the framework. Show that the framework satisfies the functional and usability properties.

Subset of Project: The Qubit A subset of the project has been carried out, focusing only on the qubit. The purpose of carrying out a subset of the project as part of the proposal is to: Show that the project is viable. Show that the design of a common library is largely language independent. Common library has been implemented in C# and Python. To illustrate what the end project will look like.

Isn’t a Qubit Trivial? A classical bit has two operations: not and noop (no operation). There are seven common operations for a qubit. Additionally, users can define their own. The current C# implementation is currently a few thousand lines of code.

Included primarily to show that it is nontrivial Included primarily to show that it is nontrivial. Not going to focus on the details.

Comparison to Existing Proposals Hadamard transformation and arbitrary operation in Omer’s QCL (developed for his Ph.D.): The purpose of Mix() isn’t clear. Abbreviated names may lead to confusion. Utilizes a procedural approach- hard to enforce limitations of quantum computing.

Comparison to Existing Proposals Hadamard operation followed by a measurement, in Sanders and Zuliani’s (Programming research group at Oxford) qGCL: What does this do? How do you even type this? More typical of existing proposals. This is why the proposal focuses on usability.

Comparison to Existing Proposals Equivalent of last example (Hadamard operation followed by measurement) in the proposed framework: The code is meant to be readable. A more verbose method is also provided for operations. This more verbose method takes arbitrary operations. The other common operations are prefixed by “Operation” so they show up together in IDEs.

Questions?