cove: a practical quantum computer programming framework

Post on 06-Jan-2016

24 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

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.

• 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.

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.

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)

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.

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.

Tafliovich’s approach

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

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.

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.

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.

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.

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.

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.

Questions?

top related