List of Research Exercises
The research exercise aims at exploring themes and topics related to the course contents, but not formally covered during the lectures. The exercise is expected to produce two deliverables which will be jointly assessed:
-
A tutorial on the theme proposed whose objective is to present, in a clear and rigorous way, its kernel concepts / results / questions to an informed audience (i.e. one that has attended the lectures of the course) but with no specific knowledge of the topics addressed. This tutorial will be delivered to the whole class in a 45 min slot. It may be supported by slides, lecture notes, or given entirely on the whiteboard. Each group will freely choose the presentation style that better fits the objective. No written document is mandatory.
-
A report (up to 15 pages), written in a clear and concise way, on a specific question given in the description of each theme.
Themes
T1: The ZX calculus and PyZX
The ZX calculus is a diagramatic notation equipped with a set of rewrite rules for a sort of string diagrams
called ZX-diagrams. Basically, they allow to represent arbitrary linear maps between qubits. Access to documentation and tools is available
here. Additional information can be found in
-
B. Coecke and A. Kissinger. Picturing Quantum Processes: A First Course in Quantum
Theory and Diagrammatic Reasoning . Cambridge University Press, 2017 (basically, chapter 9).
and papers
-
A. Kissinger, J. van Wetering. PyZX: Large Scale Automated Diagrammatic Reasoning, 2017
(available here ).
-
J. van Wetering. ZX-calculus for the working quantum computer scientist, 2020
(available here ).
-
B. Coecke, D. Horsman, A. Kissinger, Q. Wang. Kindergarden quantum mechanics graduates (...or how I learned to stop gluing LEGO together and love the ZX-calculus)
, 2021
(available here ).
The report is expected to focus on tool support for the ZX calculus, namely
PyZX , and illustrate its use in algorithmic design. We suggest using the Grover algorithm and its variants for illustration.
T2: Modelling and analysing QKD in the ZX calculus
The ZX calculus is a diagramatic notation equipped with a set of rewrite rules for a sort of string diagrams called ZX-diagrams. See the description of T1 for access to suitable information and the PyZX tool.
This project aims at exploring the ZX calculus and PyZX to model and analyse the QKD (quantum key distribution) protocol, a basic ingredient in quantum cryptography. See the
quantum safe whitepaper
for context information and the
Qiskit implementation of QKD.
As a starting point for the project, take the paper
-
A. Kissinger, S. Tull, and B. Westerbaan Picture-perfect Quantum Key Distribution , 2017
(available here ).
The report is expected to focus on the use of
PyZX to model the QKD protocol. A brief introduction to QKD and its relevance is also expected.
T3: Modelling and analysing quantum walks in the ZX calculus
The ZX calculus is a diagramatic notation equipped with a set of rewrite rules for a sort of string diagrams called ZX-diagrams. See the description of T1 for access to suitable information and the PyZX tool.
This project aims at exploring the ZX calculus and PyZX to model and analyse quantum walks. Please recall the lecture on this topic by Dr Bruno Chagas [slides].
As a starting point for the project, take the ZX tutorials and
Jaime Santos MSc dissertation. The challenge is to choose from there one or two types of quantum walks and express the corresponding algorithms in ZX.
The report should detail one of those models and study it with PyZX.
T4: Measurement-based quantum computation in the ZX calculus
Specifying algorithms within the measurement-based quantum computation paradigm (see
this paper and the references there in
for an introduction),
was one of the original motivations for the ZX calculus.
This project aims at reviweing this topic from the relevant literature, taking as a starting point the following paper:
-
R. Duncan, A graphical approach to measurement-based quantum computing , 2012
(available here ).
The report should discuss in detail a concrete case/example, possibly resorting to
PyZX.
T5: Circuit optimization in the ZX calculus
One of the target applications of the
ZX calculus is circuit optimization. The following papers are examples of this research thread:
-
Lia Yeh, Emma Dasgupta, Erick Winston, Benchmarking ZX-Calculus Circuit Optimization Against Qiskit Transpilation. 2020
(available here).
-
Michael Hanks et al, Effective Compression of Quantum Braided Circuits Aided by ZX-Calculus. 2020
(available here).
-
A. Kissinger, J. Wetering, Reducing T-count with the ZX-calculus. 2020
(available here).
-
A. Kissinger, J. Wetering, Simulating quantum circuits with ZX-calculus reduced stabiliser
decompositions. 2022
(available here).
The report should give an overview of the area and explore in detail one of these papers.
T6: Automata in string diagrams
The aim of this project is to explore the use of string diagrams to specify (classical) finite automata, starting from the following paper:
-
R. Piedeleu, F. Zanasi, A String Diagrammatic Axiomatisation of Finite-State Automata. 2020
(available here).
If time allows, in the report you may discuss how quantum atomata (as introduced
here) may be captured in a similar way.
T7: Diagramatic reasoning in categories
The objective of this project is twofold: to further explore two new topics in category theory (adjunctions and monads), and to study a graphical language --- a variant of string diagrams --- to reason about them. Although the focus of the project is placed on the topics covered in the course first module, the use of a graphical language bridges to the second one.
The basic reference for this study, and the preparation of the tutorial, is the following paper:
- Dan Mardsen. Category Theory Using String Diagrams, 2014 (available here)
The tutorial shall present the graphical approach to categories and relate it the the study of string diagrms made in the lectures.
For the report, the group is expected to discuss the concepts of adjunction and monad, provide examples and illustrate the proof of some related results with the approach discussed in the above-mentioned paper. The group may like to refer to the following notes on adjunctions
and monads and work through some of the exercises proposed.
T8: Certification of quantum programs with a quantum lambda-calculus
This project, related to the third module of course, aims at exploring quantum lambda-calculus as a basis for certification of quantum software. Certification, i.e. compliance to the specified behaviour, is a fundamental goal for the sotware engineering.
The tutorial should present Selinger and Valiron's version of a quantum lambda calculus with classical control. The basic reference is
-
P. Selinger and B. Valiron. Quantum Lambda Calculus . 2004 (available here).
The report is expected to discuss certification and its relation to the quantum lambda calculus, starting from the following paper
-
C. Chareton et all. Toward Certified Quantum programming . 2019 (available here).