A Research Exercise
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 (plus 15 min for Q&A) in the second/third week of February. 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: 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.
T2: Representation of classic data in string diagrams
The aim of this project is study the representation of classic data in process theories adimiting string diagrams. This goes a step further with respect to what we have done in the lectures, resorting to elements, such as indexed families, which were external to the diagrams. The group is expected to prepare a tutorial on this topic based essentially in chapter 8 (possibly complemented with the first three sections of chapter 9) of Coecke and Kissinger's book followed in this course:
-
B. Coecke and A. Kissinger. Picturing Quantum Processes: A First Course in Quantum
Theory and Diagrammatic Reasoning . Cambridge University Press, 2017.
For the report, the group is expected to illustrate what was learnt through its application to the specification of some quantum protocols or programs in the extended process theory.
T3: 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
call 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 paper
-
A. Kissinger, J. van Wetering. PyZX: Large Scale Automated Diagrammatic Reasoning . 2017
(available here ).
The report is expected to focus on tool support for the ZX calculus, namely
PyZX , and illustrate its use through suitable examples.
T4: Case-studies in the ZX calculus
This project aims at discusing concrete applications of the ZX calculus (and, in a sense, of the diagramatic approach to quantum processes discussed in the second module of the course). Documentation on the ZX calculus is available
here.
The tutorial is expected to briefly introducing the ZX calculus and the application examples discussed in the following papers:
-
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-Calculu. 2020
(available here).
The report should explore in detail one of these papers and a second illustration of the ZX calculus the group may find reported in the web.
T5: 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).