JuliaCon 2022 (Times are UTC)

Quantum computing with ITensor and PastaQ
2022-07-27 , Purple

We introduce PastaQ.jl, a computational toolbox for simulating, designing, and benchmarking quantum hardware. PastaQ relies on a tensor network description of quantum processes, built on top of ITensors.jl, a leading library for efficient tensor network algorithms. Leveraging recent developments in tensor network differentiation in ITensor, PastaQ provides access to a broad range of computational tools to tackle a tasks routinely encountered when building quantum computers.


Quantum computers provide a new computational paradigm with far-reaching implications for a variety of scientific disciplines. Small quantum computers exist in today’s laboratories, but due to imperfections and noise, these machines can only handle problems of limited complexity. The successful development of larger quantum devices requires improved qubit manufacturing and control, active error correction, as well as theoretical advances.

In practice, when building a quantum computer, tasks throughout the quantum computing stack rely on efficient classical algorithms running on conventional computers. These tasks include simulations for designing quantum gates and circuits, qubit calibration, and device characterization/benchmarking. Tensor networks are a powerful framework for describing and simulating quantum systems. They play an important role in simulating the quantum dynamics underlying the experimental hardware, reconstructing quantum processes from measurements, and correcting errors in quantum devices.

PastaQ.jl is a new Julia package for quantum computing built on top of ITensors.jl. ITensors.jl is an established tensor network software library with a unique memory-independent array/tensor interface. ITensor provides a high level and flexible interface for easily calling state of the art tensor network algorithms and developing new tensor network algorithms. Recently in ITensor we have been adding support for automatic differentiation by adding differentiation rules with ChainRules.jl. These range from basic rules for tensor contraction to higher level rules for differentiating quantum state evolution. PastaQ builds on top of this new differentiation support in ITensor to enable a variety of quantum computing applications like the design/optimization of quantum gates via optimal control theory, simulation of quantum circuits, classical optimization of variational circuits, quantum tomography, etc. In this talk, we will discuss some basics of tensor network differentiation in ITensor, and discuss how these new differentiation tools are leveraged in PastaQ for advanced applications in designing and analyzing quantum computers.

Associate Data Scientist (Research Software Engineer) at the Center for Computational Quantum Physics (CCQ) at the Flatiron Institute in New York. I'm lead developer of ITensors.jl (co-developed with Miles Stoudenmire), a software library for easily developing and running efficient tensor network calculations. Co-developer of PastaQ.jl with Giacomo Torlai.

I am a research scientists at the Amazon Web Services Center for Quantum Computing, Pasadena (California). Previously I was a research fellow at the Center for Computational Quantum Physics of the Flatiron Institute (New York), and earned a PhD in physics at the University of Waterloo and the Perimeter Institute for Theoretical Physics, Waterloo (Canada). I am the lead developer of PastaQ.jl.
https://twitter.com/giactorlai