Intelligent Tensors in Julia
2019-07-23 , Elm A

We present ITensors.jl, a ground-up rewrite of the C++ ITensor package for tensor network simulations in Julia. We will motivate the use of tensor networks in physics and give some examples for how ITensors.jl can help make the use and development of tensor network algorithms easier for researchers, users, and developers.


Tensor network methods are an extremely useful class of simulation algorithms in physics. They work by constructing a graph of tensors -- of which matrices and vectors are low-dimensional examples -- and making local optimizations to these tensors to capture the essential physics of a many-body system. ITensor (Intelligent Tensor) is a leading C++ package created to make tensor network methods accessible to a wider group of scientists and programmers. In this talk, we present ITensors.jl, a ground-up rewrite of ITensor in Julia, which uses the lessons from the C++ project to offer much of the same powerful functionality in a more concise and elegant format, substantially lowering the "barrier to entry" for using tensor network techniques. We will present some usage examples that are common in physics applications to exemplify the ITensors.jl user interface and design philosophy. Using Julia, we can create a tensor network package expressive enough to capture a variety of physics that's also accessible enough for more physicists and computer scientists to use.

Katharine Hyatt graduated in June 2018 with a PhD in condensed matter physics from UC Santa Barbara. She now works as a postdoctoral researcher at the Flatiron Institute's Center for Computational Quantum Physics, searching for new numerical methods to investigate many-body systems in two (and higher dimensions) and interesting applications for them. She is also a sometime Julia language contributor.

Matthew Fishman graduated in the spring of 2018 with a PhD in physics from Caltech. His thesis was on the development of new tensor network algorithms for studying quantum many-body systems. In the fall of 2019, he started as an Associate Data Scientist at the Center for Computational Quantum Physics, part of the Flatiron Institute in New York City. There, he is a developer of the ITensor library, a leading software package for performing tensor network calculations.