dmrg¶
full name: tenpy.algorithms.dmrg
parent module:
tenpy.algorithms
type: module
Classes

Mixer based on density matrices. 

Prototype for an DMRG ‘Engine’. 

Engine which combines legs into pipes as far as possible. 

Engine which keeps the legs separate. 

Base class of a general Mixer. 

Mixer for singlesite DMRG. 

Mixer for twosite DMRG. 
Functions

Compute a ‘rampingup’ chi_list. 

Run the DMRG algorithm to find the ground state of the given model. 
Module description
Density Matrix Renormalization Group (DMRG).
Although it was originally not formulated with tensor networks, the DMRG algorithm (invented by Steven White in 1992 [White1992]) opened the whole field with its enormous success in finding ground states in 1D.
We implement DMRG in the modern formulation of matrix product states [Schollwoeck2011],
both for finite systems ('finite'
or 'segment'
boundary conditions)
and in the thermodynamic limit ('infinite'
b.c.).
The function run()
 well  runs one DMRG simulation.
Internally, it generates an instance of an Engine
.
This class implements the common functionality like defining a sweep,
but leaves the details of the contractions to be performed to the derived classes.
Currently, there are two derived classes implementing the contractions. They should both give the same results (up to rounding errors). Which one is in the end faster is not obvious a priory and might depend on the used model. Just try both of them.
Currently, there is only one Mixer
implemented.
The mixer should be used initially to avoid that the algorithm gets stuck in local energy minima,
and then slowly turned off in the end.
Todo
Write UserGuide/Example!!!
Todo
separate effective Hamiltonian from Engine for better readability?