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 two-body 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 (2-site update):
DMRG code for MPO's (MATLAB function)
Initialization for MPO version (MATLAB 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.2e-3
Total ground energy error (DMRG, χ = 32): dE = 1.0e-5
Local Hamiltonian version of DMRG
Hamiltonian structure and block Hamiltonians:
Superblock Hamiltonian (2-site update)
DMRG code for local Hamiltonians (MATLAB function)
Initialization for local version (MATLAB 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.2e-3
Total ground energy error (DMRG, χ = 32): dE = 1.0e-5