
Back when I was building my own company, just after my PhD, I participated in a conference called the Munich Quantum Software Conference. In that conference, the last talk was from Austin Fowler and he made a call to the audience:
It is really high time, well past time, that we got busy writing these tools to automate this research so that we can all as a community do better [so send me an email and let’s start building!]
As part of this call, he offered to properly teach QEC to the people involved.
Now, I was a few months out of my PhD and if I had to state one certainty I gained during my PhD I would probably say
Variational quantum algorithms will never work better than classical approaches.
It turns out that my company goal was to sell software tools which, if I wanted to sell them, would need to be useful to my clients. So I was stronfgly convinced that I needed to learn QEC. Here is how I fell into quantum error-correction.
It turns out that I ended up being the main contributor of TQEC from its very beginning and during the first 2 years and a half of its existence. The few bits I am the proudest of are:
- The template and plaquettes approach we used to represent scalable quantum circuits.
- The detector database implementation and its use of the concept of sub-templates that allows
tqecto be very efficient in computing detectors automatically. - The implementation of
tqecd, a generic library to automatically compute detectors from a given quantum circuit. - The layer-based representation used to represent quantum circuits.
- The actual implementation of the translation from an abstract representation of an error-corrected quantum computation into a physical quantum circuit (implementing the builders and the low-level plaquettes required to implement the quantum circuit) which turned out to be very similar to my previous experiences with assembly languages (unforgiving: the tiniest error breaks all your computation).