COPLAS/HQP talk: Quantum-Classical Programming in Guppy and Brat
Quantum-Classical Programming in Guppy and Brat by Mark Koch,
Abstract:
Practical applications of quantum computers involve a mixture of classical and quantum operations across quite different time scales. At the large scale, we might interleave complete subroutines, such as estimating the value of a quantum observable and calculating its classical parameter updates, as seen in the VQE algorithm. At the small scale, real-time classical logic may decide on the fly, which quantum operations should be applied next while the qubits are still coherent, as needed for example for quantum error correction schemes.
In this talk, I will present two languages that address hybrid quantum-classical computation from opposite ends of this spectrum. First, I will introduce Brat, a purely functional, dependently typed language that enforces a strict distinction between its quantum and classical fragment on the type level. This design allows for staged compilation and makes Brat well suited for the large time scale quantum-classical interaction described above. On the other end of this spectrum, I will introduce Guppy, an imperative quantum programming language embedded in Python that focusses on real-time classical logic and control-flow. Guppy was designed for maximum expressivity as well as ease of use, and I will touch on some of the design trade-offs required for achieving this goal while still providing useful static safety guarantees.
Finally, we will take a closer look at the shared compiler infrastructure underlying Brat and Guppy. Both languages lower to HUGR, Quantinuum's novel quantum–classical intermediate representation, allowing them to benefit from a common optimisation pipeline. Time permitting, I may also briefly touch on some ongoing research in the area of quantum-classical program transformation and optimisation.
Biography: Mark is a research scientist at Quantinuum, where he works on quantum programming languages and compilers. He is also a PhD student at the University of Oxford where his research is focussed on compilation for quantum error correction.
Host: James Avery, DIKU
Zoom link: https://ucph-ku.zoom.us/j/62566506681?pwd=MAlvbliwubdbfyYLTOYRfVgyUioaAn.1
This is a public talk. All are welcome. No registration required. Participation is free. Please note that the talk will be recorded and the recording will be made available publicly afterwards. Feel free to forward this invitation.
The Copenhagen Programming Languages Seminar (COPLAS) is a collaboration between DTU, ITU, Roskilde University, UCPH and AAU. To post to and be informed about COPLAS activities and related talks, visit https://list.ku.dk/postorius/lists/sci-diku-prog-lang.list.ku.dk/.
The Quantum Programming list at UCPH is a mailing list for software and programming language aspects of quantum computing. For more information see https://list.ku.dk/postorius/lists/quantum.list.ku.dk/.