A Quantum Programming Language

Slides:



Advertisements
Similar presentations
University of Queensland
Advertisements

Chapter 15 Debugging. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display Debugging with High Level Languages.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
LECTURE 1 CMSC 201. Overview Goal: Problem solving and algorithm development. Learn to program in Python. Algorithm - a set of unambiguous and ordered.
Lecture 1 Introduction to the ABAP Workbench
Quantum Phase Estimation using Multivalued Logic.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
CSTEP Cluster Sampling for Tail Estimation of Probability.
Quantum Phase Estimation using Multivalued Logic Vamsi Parasa Marek Perkowski Department of Electrical and Computer Engineering, Portland State University.
Quantum Speedups DoRon Motter August 14, Introduction Two main approaches are known which produce fast Quantum Algorithms The first, and main approach.
Software Testing and Quality Assurance
Discrete-Event Simulation: A First Course Steve Park and Larry Leemis College of William and Mary.
Quantum Computing Ambarish Roy Presentation Flow.
An Algebraic Foundation for Quantum Programming Languages Andrew Petersen & Mark Oskin Department of Computer Science The University of Washington.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Anuj Dawar.
Chapter 2: Algorithm Discovery and Design
GUI for Computer Architecture Simulation Technical Problem Currently there are tools to aid in the study of computer architecture, but they lack a flexible.
Computational Thinking Related Efforts. CS Principles – Big Ideas  Computing is a creative human activity that engenders innovation and promotes exploration.
CSE 1340 Introduction to Computing Concepts Class 2.
DEVSView: A DEVS Visualization Tool Wilson Venhola.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Computer Architecture and Organization Introduction.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile Doctorate of Computer Science Dissertation Defense June 26, 2009.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
ISYS 562 Microcomputer Business Applications David Chao.
The Road to Quantum Computing: Boson Sampling Nate Kinsey ECE 695 Quantum Photonics Spring 2014.
Practice and Evaluation. Practice Develop a java class called: SumCalculator.java which computes a sum of all integer from 1 to 100 and displays the result.
Overview Overview A Quantum Computation Simulation Language Anomaly Detection in the Windows Registry Detecting Splice Sites in Genes Rotationally Invariant.
Quantum Computer Simulation Alex Bush Matt Cole James Hancox Richard Inskip Jan Zaucha.
1 hardware of quantum computer 1. quantum registers 2. quantum gates.
Abstraction of Deutsch Algorithm and Its Implementation on QCL.
Quantum Computing Paola Cappellaro
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
Graphene So what’s the most efficient way to spam all your Facebook friends? Team Adith Tekur (System Architect/Tester) Neha Rastogi (System Integrator)
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Quantum Processing Simulation
Cove: A Practical Quantum Computer Programming Framework Summer 2008 Status Matt Purkeypile.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile (DCS3) Winter 2009.
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Higher Computing Science 2016 Prelim Revision. Topics to revise Computational Constructs parameter passing (value and reference, formal and actual) sub-programs/routines,
CS223: Software Engineering
An Introduction to Quantum Computation Sandy Irani Department of Computer Science University of California, Irvine.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Chapter 1: Introduction to Computers and Programming.
Quantum Computer Simulation Alex Bush Matt Cole James Hancox Richard Inskip Jan Zaucha.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
1 An Introduction to Quantum Computing Sabeen Faridi Ph 70 October 23, 2007.
Beginner’s Guide to Quantum Computing Graduate Seminar Presentation Oct. 5, 2007.
The Software Development Cycle
Quantum Computing Dorca Lee.
A Ridiculously Brief Overview
Chap 4 Quantum Circuits: p
Qubit Recycling in Quantum Computation
OSU Quantum Information Seminar
Event loops 17-Jan-19.
Quantum Computation and Information Chap 1 Intro and Overview: p 28-58
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Event loops.
Chapter 2: Building a System
Presentation transcript:

A Quantum Programming Language -HSK A Quantum Programming Language Presented by Team HSK: Katherine Heller, Krysta Svore, Maryam Kamvar

What is Q-HSK? Q-HSK is a language which we designed to facilitate the implementation and simulation of quantum algorithms on a classical computer

Quantum Computation Problems can be solved exponentially faster than with classical computation Problems include summation, factoring, searching Quantum mechanics is used to solve these problems Current technology is limited Factors the number 15 Decoheres for large number of qubits Qubits and quantum gates are used Qubits take values 0, 1, or superposition of values Gates include Hadamard, Unitary, Fourier

Key Features Familiar C-style syntax Matrix operations via CBLAS Complex and real data types A quantum type qreg A graphical view of quantum algorithms Lucid representation of quantum qubits, registers, and gates Interactive user options (start, stop, pause, change animation rate) Detailed text output to trace algorithm

A Simple Example int main( ){ int a, i; qreg q[5]; i = 0; while (i < 5){ q[i] = 0; i = i + 1; } q = computeHadamard(q); a = measureReg(q); printf(“This is the measure: %d”, a); return 0; H M q

Simulation of Shor’s Algorithm Factors numbers which are divisible by two prime numbers Simulates steps of a quantum computer Demonstrates Hadamard gate Unitary gate Quantum Fourier transform Measurement of quantum registers Quantum registers of type qreg Arrays of type complex Advanced arithmetic operations Illustrates translation process and graphics

Architecture of Q-HSK System lex.yy.c y.tab.c translate.c Program.q Lexical Analyzer Syntax Analyzer Parser Translator Program.cpp g++ Executable Java javac Graphics

Testing Regression testing Integration testing Baby steps Ensure backward compatibility Prevent new bugs in old code Integration testing Connect Q-HSK program, translation, and graphics Provide a robust system Baby steps Test incrementally Test frequently

Everything we need to know we learned in PLT… Communication Detail the design early Explicit definitions of the input/output for each component Incremental Development Create goal points along the way Start small and expand Demo product to potential users for constructive feedback Make system more robust over time

Future Goals Expand graphics to include complete code display and tracing Expand to include a double-click for a detailed description of the operations in a quantum gate Expand error handling Expand to include building of algorithms from the graphical display Build a quantum computer And of course win the Turing Award

Conclusion Q-HSK enables simple programming of quantum algorithms with built-in graphics Q-HSK is a valuable learning tool for both experts and beginners Q-HSK is the perfect tool for quantum simulation and computation USE -HSK!