Rubber DUQ: Flexible Dynamic Universal Quantum programming
Lead Research Organisation:
University of Edinburgh
Department Name: Sch of Informatics
Abstract
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.
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.
| Title | Inconspiquous |
| Description | A compiler framework to translate quantum programs into quantum circuits, including noise, and optimise them. |
| Type Of Technology | Software |
| Year Produced | 2024 |
| Open Source License? | Yes |
| Impact | Interest from colleagues working on quantum error correction and on xDSL. |
| URL | https://github.com/xdslproject/inconspiquous |
| Description | ARC Quantum Technologies video |
| Form Of Engagement Activity | A press release, press conference or response to a media enquiry/interview |
| Part Of Official Scheme? | No |
| Geographic Reach | International |
| Primary Audience | Media (as a channel to the public) |
| Results and Impact | Created an outreach video describing quantum technologies, produced by the Glasgow Science Museum, which sparked questions and discussions afterwards, yielding many requests for further information. |
| Year(s) Of Engagement Activity | 2024 |
| URL | https://www.supa.ac.uk/quantum-technologies-theme-page |
| Description | Quantum Computing for financial services podcast |
| Form Of Engagement Activity | A broadcast e.g. TV/radio/film/podcast (other than news/press) |
| Part Of Official Scheme? | No |
| Geographic Reach | International |
| Primary Audience | Industry/Business |
| Results and Impact | Appeared in podcast about Quantum Computing for Financial Services. Several enquiries from colleagues in financial services resulted. |
| Year(s) Of Engagement Activity | 2024 |
| URL | https://edinburgh-innovations.ed.ac.uk/case-studies/quantum-computing-natwest-efi?s=L |
| Description | Quantum Programming Zoo |
| Form Of Engagement Activity | Participation in an activity, workshop or similar |
| Part Of Official Scheme? | No |
| Geographic Reach | International |
| Primary Audience | Industry/Business |
| Results and Impact | Created an online wiki resource surveying existing quantum programming platforms and comparing their features. Many colleagues in academia and industry reported using it to get an overview of which platform to use for a certain project. |
| Year(s) Of Engagement Activity | 2024 |
| URL | https://www.wiki.ed.ac.uk/display/QPZOO/ |
