1 / 14

Cove: A Practical Quantum Computer Programming Framework

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.

ghalib
Download Presentation

Cove: A Practical Quantum Computer Programming Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 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)

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

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

  7. Tafliovich’s approach • Typical of many of the nonprocedural or non-object oriented approaches.

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

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

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

  11. Brief Comparison of Approaches

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

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

  14. Questions?

More Related