Physics:DMRG of the Heisenberg model

From HandWiki

Within the study of the quantum many-body problem in physics, the DMRG analysis of the Heisenberg model is an important theoretical example applying techniques of the density matrix renormalization group (DMRG) to the Heisenberg model of a chain of spins. This article presents the "infinite" DMRG algorithm for the S=1 antiferromagnetic Heisenberg chain, but the recipe can be applied for every translationally invariant one-dimensional lattice.

DMRG is a renormalization-group technique because it offers an efficient truncation of the Hilbert space of one-dimensional quantum systems.

The algorithm

The Starting Point

To simulate an infinite chain, starting with four sites. The first is the block site, the last the universe-block site and the remaining are the added sites, the right one is added to the universe-block site and the other to the block site.

The Hilbert space for the single site is with the base {|S,Sz}{|1,1,|1,0,|1,1}. With this base the spin operators are Sx, Sy and Sz for the single site. For every block, the two blocks and the two sites, there is its own Hilbert space b, its base {|wi} (i:1dim(b))and its own operators Ob:bbwhere

  • block: B, {|ui}, HB, SxB, SyB, SzB
  • left-site: l, {|ti}, Sxl, Syl, Szl
  • right-site: r, {|si}, Sxr, Syr, Szr
  • universe: U, {|ri}, HU, SxU, SyU, SzU

At the starting point all four Hilbert spaces are equivalent to , all spin operators are equivalent to Sx, Sy and Sz and HB=HU=0. In the following iterations, this is only true for the left and right sites.

Step 1: Form the Hamiltonian matrix for the Superblock

The ingredients are the four block operators and the four universe-block operators, which at the first iteration are 3×3 matrices, the three left-site spin operators and the three right-site spin operators, which are always 3×3 matrices. The Hamiltonian matrix of the superblock (the chain), which at the first iteration has only four sites, is formed by these operators. In the Heisenberg antiferromagnetic S=1 model the Hamiltonian is:

𝐇SB=Ji,j𝐒xi𝐒xj+𝐒yi𝐒yj+𝐒zi𝐒zj

These operators live in the superblock state space: SB=BlrU, the base is {|f=|u|t|s|r}. For example: (convention):

|10000|f1=|u1,t1,s1,r1|100,100,100,100

|01000|f2=|u1,t1,s1,r2|100,100,100,010

The Hamiltonian in the DMRG form is (we set J=1):

𝐇SB=𝐇B+𝐇U+i,j𝐒xi𝐒xj+𝐒yi𝐒yj+𝐒zi𝐒zj

The operators are (d*3*3*d)×(d*3*3*d) matrices, d=dim(B)dim(U), for example:

f|𝐇B|fu,t,s,r|HB𝕀𝕀𝕀|u,t,s,r

𝐒xB𝐒xl=SxB𝕀𝕀Sxl𝕀𝕀𝕀𝕀=SxBSxl𝕀𝕀

Step 2: Diagonalize the superblock Hamiltonian

At this point you must choose the eigenstate of the Hamiltonian for which some observables is calculated, this is the target state . At the beginning you can choose the ground state and use some advanced algorithm to find it, one of these is described in:

  • The Iterative Calculation of a Few of the Lowest Eigenvalues and Corresponding Eigenvectors of Large Real-Symmetric Matrices, Ernest R. Davidson; Journal of Computational Physics 17, 87-94 (1975)

This step is the most time-consuming part of the algorithm.

If |Ψ=Ψi,j,k,w|ui,tj,sk,rw is the target state, expectation value of various operators can be measured at this point using |Ψ.

Step 3: Reduce density matrix

Form the reduced density matrix ρ for the first two block system, the block and the left-site. By definition it is the (d*3)×(d*3) matrix: ρi,j;i,jk,wΨi,j,k,wΨi,j,k,w*

Diagonalize ρ and form the m×(d*3) matrix T, which rows are the m eigenvectors associated with the m largest eigenvalues eα of ρ. So T is formed by the most significant eigenstates of the reduced density matrix. You choose m looking to the parameter Pmα=1meα: 1Pm0.

Step 4: New block and universe-block operators

Form the (d*3)×(d*3) matrix representation of operators for the system composite of the block and left-site, and for the system composite of right-site and universe-block, for example:

HBl=HB𝕀+SxBSxl+SyBSyl+SzBSzl

SxBl=𝕀Sxl

HrU=𝕀HU+SxrSxU+SyrSyU+SzrSzU

SxrU=Sxr𝕀

Now, form the m×m matrix representations of the new block and universe-block operators, form a new block by changing basis with the transformation T, for example:HB=THBlTSxB=TSxBlTAt this point the iteration is ended and the algorithm goes back to step 1. The algorithm stops successfully when the observable converges to some value.

Further reading

See also

References