Johannes Hauschild, Jakob Unfried, Sajant Anand, Bartholomew Andrews, Marcus Bintz, Umberto Borla, Stefan Divic, Markus Drescher, Jan Geiger, Martin Hefel, Kévin Hémery, Wilhelm Kadow, Jack Kemp, Nico Kirchner, Vincent S. Liu, Gunnar Möller, Daniel E. Parker, Michael Rader, Anton Romen, Samuel O. Scalet, Leon Schoonderwoerd, Maximilian Schulz, Tomohiro Soejima, Philipp Thoma, Yantao Wu, Philip Zechmann, Ludwig Zweng, Roger S. K. Mong, Michael P. Zaletel, Frank Pollmann
TeNPy (short for ‘Tensor Network Python’) is a python library for the simulation of strongly correlated quantum systems with tensor networks. The philosophy of this library is to achieve a balance of readability and usability for new-comers, while at the same time providing powerful algorithms for experts. The focus is on MPS algorithms for 1D and 2D lattices, such as DMRG ground state search, as well as dynamics using TEBD, TDVP, or MPO evolution. This article is a companion to the recent version 1.0 release of TeNPy and gives a brief overview of the package.
TeNPy (short for ‘Tensor Network Python’) is a python library for the simulation of strongly correlated quantum systems with tensor networks. The philosophy of this library is to achieve a balance of readability and usability for new-comers, while at the same time providing powerful algorithms for experts. The focus is on MPS algorithms for 1D and 2D lattices, such as DMRG ground state search, as well as dynamics using TEBD, TDVP, or MPO evolution. This article is a companion to the recent version 1.0 release of TeNPy and gives a brief overview of the package.
TeNPy (short for ‘Tensor Network Python’) is a python library for the simulation of strongly correlated quantum systems with tensor networks. The philosophy of this library is to achieve a balance of readability and usability for new-comers, while at the same time providing powerful algorithms for experts. The focus is on MPS algorithms for 1D and 2D lattices, such as DMRG ground state search, as well as dynamics using TEBD, TDVP, or MPO evolution. This article is a companion to the recent version 1.0 release of TeNPy and gives a brief overview of the package.
Tensor product state (TPS) based methods are powerful tools to efficiently simulate quantum many-body systems in and out of equilibrium. In particular, the one-dimensional matrix-product (MPS) formalism is by now an established tool in condensed matter theory and quantum chemistry. In these lecture notes, we combine a compact review of basic TPS concepts with the introduction of a versatile tensor library for Python (TeNPy) [1]. As concrete examples, we consider the MPS based time-evolving block decimation and the density matrix renormalization group algorithm. Moreover, we provide a practical guide on how to implement abelian symmetries (e.g., a particle number conservation) to accelerate tensor operations.
We introduce TeMFpy, a Python library for converting fermionic mean-field states to finite or infinite matrix product state (MPS) form. TeMFpy includes new, efficient, and easy-to-understand algorithms for both Slater determinants and Pfaffian states. Together with Gutzwiller projection, these also allow the user to build variational wave functions for various strongly correlated electron systems, such as quantum spin liquids. We present all implemented algorithms in detail and describe how they can be accessed through TeMFpy, including full example workflows. TeMFpy is built on top of TeNPy and, therefore, integrates seamlessly with existing MPS-based algorithms.
In recent years, tree tensor network methods have proven capable of simulating quantum many-body and other high-dimensional systems. This work is a user guide to our Python library PyTreeNet. It includes code examples and exercises to introduce the library's functions and familiarise the reader with the concepts and methods surrounding tree tensor networks. PyTreeNet implements all the tools required to implement general tree tensor network methods, such as tensor decompositions and arbitrary tree structures. The main focus is on the time evolution of quantum systems. This includes an introduction to tree tensor network states and operators and the time-evolving block decimation and time-dependent variational principle. The library's capabilities are showcased with the example of a modified transverse field Ising model on tree structures that go far beyond the ability of common state vector methods.
The simulation of strongly correlated quantum systems on classical computers is an essential tool for investigating and understanding quantum materials.Due to the inherent "curse of dimensionality" of quantum systems, such simulations pose a challenging task, and have spurred the development of several computational approaches and approximations.For quasi one-dimensional lattice systems, the density matrix renormalization group (DMRG) framework (Schollwöck, 2005;White, 1992White, , 1993) has emerged as one of the most successful methods.Modern formulations are based on matrix product states (MPS) and operators (MPO) (Schollwöck, 2011): briefly speaking, a matrix product state is an Ansatz for the quantum many-body wavefunction amendable to efficient numerical manipulation.The favorable approximation properties of matrix product states have been theoretically proven for ground states of gapped Hamiltonians with local interactions (Hastings, 2007;Verstraete & Cirac, 2006), and recent work has extended this to quantum systems at finite temperature (Barthel, 2017).Over the years many variations and generalizations of the DMRG framework have been devised (Barthel, 2013;Stoudenmire & White, 2010;Verstraete, Murg, & Cirac, 2008;Vidal, 2003Vidal, , 2008)), and further developments and improvements of associated algorithms remain an active field of research.
ITensor is a system for programming tensor network calculations with an interface modeled on tensor diagrams, allowing 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 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.