The ITensor Software Library for Tensor Network Calculations

Matthew Fishman, Steven R. White, E. Miles Stoudenmire
7/28/2020
cs.MScond-mat.str-elphysics.comp-ph

Official code: ITensor/ITensors.jl (676 stars, Apache-2.0, last commit 2026-04-29). 1 more implementation below.

Abstract

ITensor is a system for programming tensor network calculations with an interface modeled on tensor diagram notation, which allows users to focus on the connectivity of a tensor network without manually bookkeeping tensor indices. The ITensor interface rules out common programming errors and enables rapid prototyping of tensor network algorithms. After discussing the philosophy behind the ITensor approach, we show examples of each part of the interface including Index objects, the ITensor product operator, tensor factorizations, tensor storage types, algorithms for matrix product state (MPS) and matrix product operator (MPO) tensor networks, quantum number conserving block-sparse tensors, and the NDTensors library. We also review publications that have used ITensor for quantum many-body physics and for other areas where tensor networks are increasingly applied. To conclude we discuss promising features and optimizations to be added in the future.

View on arXivView PDF

Code Implementations(2)

Apache-2.0

A Julia library for efficient tensor computations and tensor network calculations. ITensors.jl is supported by the Simons Foundation's Flatiron Institute.

676144Julia, DockerfileJul 19, 20195 months agoApache-2.0
dmrgmatrix-product-statespepsphysicstensor-decomposition+3 more
ITensor/ITensorOfficial100%
Apache-2.0

A C++ library for efficient tensor network calculations

407171C, C++Aug 11, 20112 years agoApache-2.0
chemistryphysicstensor-decompositiontensors

Similar Papers

Cite this paper

@article{fishman2020itensor,
  title  = {The ITensor Software Library for Tensor Network Calculations},
  author = {Matthew Fishman and Steven R. White and E. Miles Stoudenmire},
  year   = {2020},
  eprint = {2007.14822},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2007.14822}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2007.14822.svg)](https://codeofpaper.com/paper/2007.14822)

Discussion