1 Research Proposal Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile January 2008
Jan 08, 2016
1
Research Proposal
Cove: A Practical Quantum Computer Programming
Framework
Matt Purkeypile
January 2008
2
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
3
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.
4
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.
5
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.”
6
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.
7
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.
8
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.
9
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.
10
11
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.
12
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.
13
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.
14
Questions?