Semester project: A practical introduction into surface code compilation at LSI, EPFL.
Professor: Prof. Giovanni De
Micheli
Supervisor: Mathias Soeken,
Ph.D.
Student: Nicolas Bähler

Elementary surface code operations: Single-qubit preparation in the X basis
(i), and the Z basis (ii), destructive single-qubit measurement, in the X basis
(iii), and the Z basis (iv), two-qubit joint measurement of XX (v) and ZZ (vi),
a Move of a logical qubit from one patch to an unused patch (vii), two-qubit
preparation (viii) and destructive measurement (ix) in the Bell basis, and
finally a Hadamard gate using 3 ancilla logical qubits (x).
[1]
The semester project is mainly based on this paper [1]. First, it introduces surface codes as a means to implement fault-tolerant quantum computing. Upon this basis, the authors propose a compilation scheme for quantum circuits taking into account the geometrical constraints of todays hardware and the surface code itself. Further, the novel technique allows to compile significant parts of the circuit in a parallel fashion, which is a huge advantage over naive compilation for surface codes.
This repository is an implementation of the proposed compilation scheme. For a comprehensive introduction to the topic, refer to the Jupyter notebooks. A more lightweight introduction can be found in the following Medium post.