cove: a practical quantum computer programming framework

14
Cove: A Practical Quantum Computer Programming Framework Summer 2008 Status Matt Purkeypile

Upload: ghalib

Post on 06-Jan-2016

24 views

Category:

Documents


2 download

DESCRIPTION

Cove: A Practical Quantum Computer Programming Framework. Summer 2008 Status Matt Purkeypile. Brief Introduction to Quantum Information. The quantum unit of information is the quantum bit, or qubit. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cove: A Practical Quantum Computer Programming Framework

Cove: A Practical Quantum Computer Programming

Framework

Summer 2008 Status

Matt Purkeypile

Page 2: Cove: A Practical Quantum Computer Programming Framework

Brief Introduction to Quantum Information

• The quantum unit of information is the quantum bit, or qubit.

• Unlike a classical bit, a qubit can be 1 and 0 at the same time. This is known as superposition.

• Measurement “collapses” a qubit in superposition to 1 or 0 based on probabilities.

• A collection of qubits is called a quantum register.• Existing computers are called classical.

– Quantum computers were first thought of in the 1980s.– While quantum computers exist in the lab, there are no

commercial ones yet- best guess is around 2021 +- 5 years.

Page 3: Cove: A Practical Quantum Computer Programming Framework

Comparison of Classical and Quantum Information

Based on P. Kaye, R. Laflamme, and M. Mosca, An Introduction to Quantum Computing. New York City, New York: Oxford University Press, 2007.

Page 4: Cove: A Practical Quantum Computer Programming Framework

What Can Quantum Computers Do That Classical Ones Cannot?

• Solve certain types of problems faster than classical computers– Factoring, exponential improvement.

• Means encryption systems such as ones used to protect Internet communication can be broken.

– Unsorted search, quadratic improvement.

• Perhaps not surprisingly, simulation of quantum systems.– Classical computers experience an exponential slow

down when simulating quantum systems and quantum computers. (Exponential improvement)

Page 5: Cove: A Practical Quantum Computer Programming Framework

Limitations of quantum computers

• No-cloning: arbitrary qubits cannot be copied. – Teleportation transfers the state of one qubit to

another, but the source is destroyed in the process- so no-cloning is not violated.

• Probabilistic output. • No observation during computation.• Computation must be reversible.

– It has been shown any computation can be made reversible.

Page 6: Cove: A Practical Quantum Computer Programming Framework

Existing programming techniques

• A majority of the existing programming techniques face significant hurdles to use in mainstream commercial software development. This includes (but is not limited to):– Not scalable.– Unfamiliar techniques such as functional

programming.– General lack of readability.

Page 7: Cove: A Practical Quantum Computer Programming Framework

Tafliovich’s approach

• Typical of many of the nonprocedural or non-object oriented approaches.

Page 8: Cove: A Practical Quantum Computer Programming Framework

Omer’s QCL

• Procedural approach based on C, hard to extend.

• One of the most complete programming proposals.

• One of the closest works to Cove.

Page 9: Cove: A Practical Quantum Computer Programming Framework

What is Cove?

• A framework for programming quantum computers that focuses on ease of use for commercial programmers.

• As a framework it is expandable and flexible.– Key idea: “programming to interfaces”.

• Built on existing classical languages, so the focus of Cove is on quantum computation and not providing classical features.

• Try to shield the user from lower level issues such as error correction.

Page 10: Cove: A Practical Quantum Computer Programming Framework

Cove Example

• Operators applied to registers, not vice versa as in other techniques.• Expandable• Base library specifies what must be provided, implementations specify how.• Implementations can be swapped out.• Utilizes an “Expanded QRAM” model which is a refinement on the QRAM

model, which takes into account that the quantum resource may be remote.

Page 11: Cove: A Practical Quantum Computer Programming Framework

Brief Comparison of Approaches

Cove Omer TafliovichReadability and writeability

Good- readability is a key goal

Fair, there are some obscure abbreviations

Poor (how to type on a keyboard?)

Classical computation

Good, built on a classical language.

Poor, a quantum specific language lacking classical features.

Poor, a quantum specific language lacking classical features.

Expandability Good, as a framework designed to be expanded

Fair to poor, is a procedural approach.

Poor, has to be formally proven.

Integration with existing software

Good, designed to integrate with any supported classical language

Fair, needs some sort of interface.

Fair, needs some sort of interface.

Page 12: Cove: A Practical Quantum Computer Programming Framework

Current Status

• Proposal accepted in February.• Key Cove components:

– Base library: initial version complete– Classical utilities: current area of focus

• Much of the work is linear algebra.

– Local simulation: little work done, this will allow working code to be written.

• Will expand to use big floats for more accurate simulations.

– Documentation: created in the code as it is developed.– Unit tests to help show correctness and reduce bugs.

• Can also be used to help verify implementations are interchangeable.

• Refinement is anticipated.

Page 13: Cove: A Practical Quantum Computer Programming Framework

Taking a “Science 2.0” Approach

• All documents, source code, tickets (to do’s), help, and so on will be available on the web.– Access to certain items restricted until closer to

completion.

• Detailing thoughts, progress, and stumbling blocks through a blog.– Will also be useful in detailing the design rationale in

the dissertation.

• Site is at: https://cove.purkeypile.com – https for cypherpunks.

Page 14: Cove: A Practical Quantum Computer Programming Framework

Questions?