model¶
full name: tenpy.models.model
parent module:
tenpy.models
type: module
Classes

Combination of the 

Base class for a general model of a Hamiltonian consisting of twosite couplings. 

Base class for a model with an MPO representation of the Hamiltonian. 

Base class for all models. 

Generalizes 

Base class for a model of nearest neigbor interactions w.r.t. 
Module description
This module contains some base classes for models.
A ‘model’ is supposed to represent a Hamiltonian in a generalized way.
The Lattice
specifies the geometry and
underlying Hilbert space, and is thus common to all models.
It is needed to intialize the common base class Model
of all models.
Different algorithms require different representations of the Hamiltonian.
For example for DMRG, the Hamiltonian needs to be given as an MPO,
while TEBD needs the Hamiltonian to be represented by ‘nearest neighbor’ bond terms.
This module contains the base classes defining these possible representations,
namley the MPOModel
and NearestNeigborModel
.
A particular model like the XXZ_chain
should then
yet another class derived from these classes. In it’s __init__, it needs to explicitly call
the MPOModel.__init__(self, lattice, H_MPO)
, providing an MPO representation of H,
and also the NearestNeigborModel.__init__(self, lattice, H_bond)
,
providing a representation of H by bond terms H_bond.
The CouplingModel
is the attempt to generalize the representation of H
by explicitly specifying the couplings in a general way, and providing functionality
for converting them into H_MPO and H_bond.
This allows to quickly generate new model classes for a very broad class of Hamiltonians.
For simplicity, the CouplingModel
is limited to interactions involving only two sites.
Yet, we also provide the MultiCouplingModel
to generate Models for Hamiltonians
involving couplings between multiple sites.
The CouplingMPOModel
aims at structuring the initialization for most models and is used
as base class in (most of) the predefined models in TeNPy.
See also the introduction in Introduction to models.