I write code to study quantum physics. I develop tools in the framework of Python open-source software development. My projects are hosted on GitHub. The main ones are listed below.
Mitiq: This is the first open-source toolchain for quantum error mitigation for noisy quantum computers. It’s a Unitary Fund flagship project, developed by the technical team (Unitary Labs) and the wider community. Mitiq implements a set of hybrid quantum-classical techniques, such as zero-noise extrapolation and probabilistic error cancellation, which reduce (mitigate) errors in short-depth quantum algorithms providing advantages now to a “cross-your-fingers” approach to using real quantum processors. Written in Python, it is compatible with quantum circuits written in Cirq, Qiskit, PyQuil and runs on any back-end.
QuTiP: I am lead developer of the Quantum Toolbox in Python. With Shahnawaz Ahmed, my main contribution is the permutational symmetric quantum solver module, piqs. I also wrote several tutorials in the form of Jupyter notebooks. I am one of the mentors for Google Summer of Code through NumFOCUS. I help develop new code lines, maintain the QuTiP project and help out in the community. From 2018 I have begun speaking about this project at academic institutions, conferences and quantum computing startups.
Interactive notebooks: This repository contains lectures and interactive Jupyter notebooks (interactive Python) on QuTiP and open science development. They are hosted on the cloud thanks to MyBinder. They allow you to begin tinker with quantum mechanics in Python without any local installation: start exploring Schrödinger cats in a couple of minutes. They were used in a short intensive course held at ICTP in the Summer of 2019.
Scikit-project is a cheatsheet to develop a scientific open-source library from scratch. It helps you design, code, test, document, distribute and preserve your software package using the wonderful tools of the Python ecosystem. It is a project that aims at making open science more scalable.
PIQS: Together with Shahnawaz Ahmed, I wrote a library for the exact calculation of Lindblad dynamics of ensembles of two-level systems, i.e. spins, atoms, or simply qubits, subject to both local and collective dissipation processes. Exploiting permutational symmetry, the permutational invariant quantum solver (PIQS) exponentially reduces the computational resources required to represent the Liouvillian space. This independent library, distributed with pip and on conda-forge, has then evolved into a QuTiP module.