Showing posts with label Vandriessche. Show all posts
Showing posts with label Vandriessche. Show all posts

Wednesday, January 20, 2010

D'Hondt and Vandriessche: Distributed Quantum Programming

D'Hondt and Vandriessche have posted a paper on arXiv titled Distributed Quantum Programming. The technique the paper describes is pretty mathematical, so I wouldn't classify it as a "practical" approach to quantum programming. Nonetheless, it is great to see continued work in the subject. At the end of the paper they discuss a "distributed quantum virtual machine", which is also worth checking out. Good to see details of how we may actually interact with quantum computers in standard way- taking Knill's QRAM a step farther. They also describe a GUI for the quantum virtual machine's design tool:

(Image is from the paper itself.)

Here's the abstract of the paper:
In this paper we explore the structure and applicability of the Distributed Measurement Calculus (DMC), an assembly language for distributed measurement-based quantum computations. We describe the formal language’s syntax and semantics, both operational and denotational, and state several properties that are crucial to the practical usability of our language, such as equivalence of our semantics, as well as compositionality and context-freeness of DMC programs. We show how to put these properties to use by constructing a composite program that implements distributed controlled operations, in the knowledge that the semantics of this program does not change under the various composition operations. Our formal model is the basis of a quantum virtual machine construction for distributed quantum computations, which we elaborate upon in the latter part of this work. This virtual machine embodies the formal semantics of DMC such that programming execution no longer needs to be analysed by hand. Far from a literal translation, it requires a substantial concretisation of the formal model at the level of data structures, naming conventions and abstraction mechanisms. At the same time we provide automatisation techniques for program specification where possible to obtain an expressive and user-friendly programming environment.