This is a (by far non-exhaustive) list of some references for the various ideas behind the code. They can be cited like this:
- [TeNPyNotes] for TeNPy/software related sources
white1992
(lowercase first-author + year) for entries from literature.bib.
[TeNPyNotes] are lecture notes, meant as an introduction to tensor networks (focusing on MPS), and introduced TeNPy to the scientific community by giving examples how to call the algorithms in TeNPy. [TeNPySource] is the location of the source code, and the place where you can report bugs. We have split example notebooks into [TeNPyNotebooks] to keep the git history of the original repository clean. [TeNPyDoc] is where the documentation is hosted online. [TeNPyForum] is the place where you can ask questions and look for help when you are stuck with implementing something.
The following links are not physics-related, but are good to know if you want to work with TeNPy (or more generally Python).
schollwoeck2011
is an extensive introduction to MPS, DMRG and TEBD with lots of details on the implementations, and a classic read, although a bit lengthy. Our [TeNPyNotes] are a shorter summary of the important concepts, similar as orus2014
. paeckel2019
is a very good, recent review focusing on time evolution with MPS. The lecture notes of eisert2013
explain the area law as motivation for tensor networks very well. PEPS are for example reviewed in verstraete2008
, eisert2013
and orus2014
. stoudenmire2012
reviews the use of DMRG for 2D systems. cirac2009
discusses the different groups of tensor network states.
white1992,white1993
is the invention of DMRG, which started everything. vidal2004
introduced TEBD. white2005
and hubig2015
solved problems for single-site DMRG. mcculloch2008
was a huge step forward to solve convergence problems for infinite DMRG. singh2010,singh2011
explain how to incorporate Symmetries. haegeman2011
introduced TDVP, again explained more accessible in haegeman2016
. zaletel2015
is another standard method for time-evolution with long-range Hamiltonians. karrasch2013
gives some tricks to do finite-temperature simulations (DMRG), which is a bit extended in hauschild2018a
. vidal2007
introduced MERA. The scaling S = c/6log(χ) at a 1D critical point is explained in pollmann2009
.
literature.bib
- HDF5
"Hierarchical Data Format 5 (R)", https://portal.hdfgroup.org/display/HDF5/HDF5 A file format and library for saving data (including metadata). We use it through the python interface of the h5py library, see
/intro/input_output
.- TeNPyDoc
Online documentation, https://tenpy.readthedocs.io/
- TeNPyForum
Community forum for discussions, FAQ and announcements, https://tenpy.johannes-hauschild.de
- TeNPyNotebooks
Collection of example [jupyter] notebooks using TeNPy: https://github.com/tenpy/tenpy_notebooks
- TeNPyNotes
"Efficient numerical simulations with Tensor Networks: Tensor Network Python (TeNPy)" J. Hauschild, F. Pollmann, SciPost Phys. Lect. Notes 5 (2018),
1805.00055
,10.21468/SciPostPhysLectNotes.5
also below ashauschild2018a
.- TeNPySource
- conda
"conda package manger", https://docs.conda.io/en/latest/ A package and environment management system that allows to easily install (multiple version of) various software, and in particular python packages like TeNPy.
- git
"git version control system", https://git-scm.com A software which we use to keep track of changes in the source code.
- jupyter
Jupyter notebooks, https://jupyter.org/ An amazing interface for (python) notebooks which can contain both source code, text and outputs in a single file. They provide a good way to get started with python, we use them for examples.
- matplotlib
"Matplotlib", https://matplotlib.org/ A Python 2D plotting library. Some TeNPy functions expect
matplotlib.axes.Axes
as arguments to plot into.- pip
"pip - the Python Package installer", https://pip.pypa.io/en/stable/ Traditional way to handle installed python packages with
pip install ...
andpip uninstall ...
on the command line.- yaml
"YAML Ain't Markup Language", https://yaml.org A human-readable file format for configuration files. TeNpy (optionally) uses it through pyyaml for reading in simulation parameters, and in some places in the documentation to keep things more readable.