We accidentally built an LLVM compiler for JAX

Sometimes when you build software, you shave a yak so deeply that you end up with a surprisingly nice sweater (while the yak, presumably, wonders why it is suddenly rather drafty). For the past while, my team and I have been building a quantum compiler called Catalyst for the quantum …

What are quantum computers, and how can we train them in Python?

Earlier this year, I was lucky enough to give a talk on quantum computing and near-term quantum machine learning at PyCon 2021. I’ve always loved the PyCon and SciPy conferences; in fact, one of my earliest memories during the first month of my quantum computing job was watching A …

Recursive custom gradients in TensorFlow

Most autodifferentiation libraries, such as PyTorch, TensorFlow, Autograd — and even PennyLane in the quantum case — allow you to create new functions and register custom gradients that the autodiff framework makes use of during backpropagation. This is useful in several cases; perhaps you have a composite function with a gradient that …