Example codes: finite DMRG
Please look at the readme page if you have not done so already. Here we present an implementation of the density matrix renormalization group (DMRG) algorithm to solve for the ground state of a finite 1D quantum system with open boundary conditions. We present two versions of the code: the first requires the Hamiltonian to be expressed as an MPO and the second requires the Hamiltonian to be expressed as a sum of nearest neighbor twobody terms. By convention we set the number of tensors in the MPS to be the same as the number of lattice sites, such that the first and last MPS tensor have a trivial (dim 1) index on the left and right respectively. We enforce the MPS tensors to be orthonormal, where 'A' denote left orthogonal tensors and 'B' denote right orthogonal tensors. These 'A' and 'B' tensors are stored separately, such that any center of orthogonality can be realized without additional manipulation of the MPS tensors.

Computational cost: O(χ^3)

Finite open chain

Utilizes orthonormal form of MPS tensors
Network structure (left orthogonal form):
Network structure (mixed orthogonal form):
Orthogonality relations:
Index ordering conventions:
MPO version of DMRG
MPO structure and block Hamiltonians:
MPO for superblock (2site update):
DMRG code for MPO's (Python module)
Initialization for MPO version (Python script)
'mainDMRG_MPO' benchmark:
Method: finite DMRG for MPS of bond dimensions χ = 16 and χ = 32
Test problem: 1D quantum XX model (lattice of N = 50 sites, open boundaries)
Running time: approx 12 secs
Quantities computed: ground energy
Typical results:
Total ground energy error (DMRG, χ = 16): dE = 1.2e3
Total ground energy error (DMRG, χ = 32): dE = 1.0e5
Local Hamiltonian version of DMRG
Hamiltonian structure and block Hamiltonians:
Superblock Hamiltonian (2site update)
DMRG code for local Hamiltonians (Python module)
Initialization for local version (Python script)
'mainDMRG_Loc' benchmark:
Method: finite DMRG for MPS of bond dimensions χ = 16 and χ = 32
Test problem: 1D quantum XX model (lattice of N = 50 sites, open boundaries)
Running time: approx 12 secs
Quantities computed: ground energy
Typical results:
Total ground energy error (DMRG, χ = 16): dE = 1.2e3
Total ground energy error (DMRG, χ = 32): dE = 1.0e5