Rubber DUQ: Flexible Dynamic Universal Quantum programming

Lead Research Organisation: University of Edinburgh
Department Name: Sch of Informatics


Quantum computation promises to solve certain problems that are fundamentally out of reach without it. But taking advantage of quantum capability requires a radical change in approach to computation. Quantum computation operates on fundamentally different principles than classical computation.

By far the most prevalent model of quantum computation uses quantum circuits. Programming in this low-level and rigid model needs specialist knowledge. Most current quantum programming languages they describe how to construct a circuit, rather than what the circuit should actually do.

Universal properties can extract conceptual essence without superfluous mathematical details. A quantum programming language based on them can be used by programmers who understand the concepts but not necessarily the mathematics behind quantum computation. Such a language frees the programmer to express algorithms at a higher level of abstraction. Universal quantum programming is also better at preventing and fixing programming errors.

Universal quantum programming has three main advantages. First, programmers can build programs out of smaller components, which can be individually constructed and tested. This is essential for scalability: increasing the size and complexity of programs is only possible if programmers can control this complexity. Second, there are mathematical semantics that abstract from merely implementational details. Programmers can only invent truly new quantum algorithms if the language allows a sufficiently high-level view of computation. Third, the programmer can express their thoughts freely at a natural level of abstraction.

This project has two main contributions towards universal quantum programming. First, as a short-term test case, we focus on dynamic quantum measurement. Every step in a quantum circuit is reversible, and only at the end is classical data extracted by an irreversible measurement. There are many advantages to performing measurements dynamically, partway along the quantum circuit, but this breaks many verification tools for quantum programs. Existing languages can express dynamic measurement at a low level of abstraction, but ideally the programmer need not specify when measurements happen and can leave this burden to the compiler. Supporting dynamic measurement through universal properties lets the programmer write bigger and better quantum programs.

Second, the project will consider robustness in the face of error-prone quantum hardware. Dynamic quantum programs need to deal with noisy measurements. Relatedly, quantum computation can in theory be more energy-efficient than classical computation, but there is currently a lack of in-depth analysis of the in-principle energy use of quantum computation. This project will quantify the effect of dynamic measurement on the robustness of quantum programs, letting the programmer trade off robustness and energy use against quantum measurements.

This project provides Dynamic and Universal Quantum programming, which is more flexible, more scalable, and more verifiable.


10 25 50