JuliaCon 2023

Formalism-agnostic Quantum Hardware Simulation
2023-07-26 , 32-G449 (Kiva)

The design of quantum hardware and the study of quantum algorithms require classical simulations of quantum dynamics. A rich ecosystem of simulation methods and algorithms has been developed over the last 20 years, each applicable to different sub-problems and efficient in different settings. We present a family of symbolic and numeric Julia packages that abstract away many of the methodology decisions, providing a way to focus on the hardware under study instead of the minutia of the methods.


Quantum hardware, if successfully deployed in the future, would provide computational resources unavailable in classical computation. Nonetheless, we still need as-efficient-as-possible classical simulators for quantum dynamics: both in the experimental design process for quantum hardware and in the theoretical study of potential quantum algorithms.

A vast array of techniques have been developed in the last 20 years: the direct non-scalable wavefunction simulators, capable of simulating a wide variety of analog noise processes; but also efficient special-purpose or approximate methods (e.g., Clifford circuit simulators applicable in error correction over thousands of qubits or tensor-network methods for approximate large scale dynamics).
Thus, a lot of questions arise for the scientist designing such machines: which simulation method would permit the study of the particular dynamic of interest, how most efficiently to model the environmental noise, and crucially, how to couple an efficient simulation of one type of quantum dynamics with a completely different methodology that has to be used for a different part of the hardware.

Our answer to these issues is the QuantumSavory.jl family of packages. QuantumSavory provides for a formalism-agnostic way to describe the quantum hardware you want to study. Then it dispatches to the appropriate backend simulator: QuantumClifford.jl for Clifford circuits and error correction; BPGates.jl for even faster simulations of entanglement purification; QuantumOptics.jl for general purpose wavefunction simulations; and other special purpose-packages that can be easily plugged into the interface provided by QuantumSavory.

QuantumSymbolics.jl is another crucial tool enabling the formalism-agnostic simulator: a symbolic quantum-focused CAS build on top of Symbolics.jl. In QuantumSymbolics one can operate on the "Platonic" representation of various quantum states and processes before converting them to a special-purpose numerical object to be used by the backend simulator (e.g. a density matrix for QuantumOptics or a tableau for QuantumClifford).

Of course, these tools would not be complete without support for discrete event simulations (e.g. in quantum networks) and a rich library of plotting recipes for visualization and debugging, of which we provide a brief overview at the end.

I am a researcher in Quantum Information Science. I obtained my PhD in quantum physics at the Yale Quantum Institute at 2019 and have worked as a postdoc and a research scientist at Harvard and MIT since then. Last year I started my own group as an assistant professor at UMass Amherst, in the College of Information & Computer Sciences.

My open source biography starts with my involvement in the SymPy project, developing its plotting module and differential geometry module in 2012. Since then I have counted myself as one of the scientific programming hackers in the python (and more recently julia) ecosystems, in particular with focus on quantum information science.

This speaker also appears in: