140 likes | 259 Views
Research Proposal Cove: A Practical Quantum Computer Programming Framework. Matt Purkeypile January 2008. Introduction. Quantum computers are fundamentally different than existing “classical” computers. Classical unit of information: bit, 0 or 1.
E N D
Research ProposalCove: A Practical Quantum Computer Programming Framework Matt Purkeypile January 2008
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
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.
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.
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.”
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.
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.
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.
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.
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.
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.
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.