Dmrg of Heisenberg model

From Wikipedia, the free encyclopedia
Jump to: navigation, search

This example presents the infinite DMRG algorithm. It is about 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[edit]

The Starting Point[edit]

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 \mathfrak{H} with the base \{|S,S_z\rangle\}\equiv\{|1,1\rangle,|1,0\rangle,|1,-1\rangle\}. With this base the spin operators are S_x, S_y and S_z for the single site. For every "block", the two blocks and the two sites, there is its own Hilbert space \mathfrak{H}_b, its base \{|w_i\rangle\} (i:1\dots \dim(\mathfrak{H}_b))and its own operators O_b:\mathfrak{H}_b\rightarrow\mathfrak{H}_b:

  • Block: \mathfrak{H}_B, \{|u_i\rangle\}, H_B, S_{x_B}, S_{y_B}, S_{z_B}
  • left-site: \mathfrak{H}_l, \{|t_i\rangle\}, S_{x_l}, S_{y_l}, S_{z_l}
  • right-site: \mathfrak{H}_r, \{|s_i\rangle\}, S_{x_r}, S_{y_r}, S_{z_r}
  • Universe: \mathfrak{H}_U, \{|r_i\rangle\}, H_U, S_{x_U}, S_{y_U}, S_{z_U}

At the starting point all four Hilbert spaces are equivalent to \mathfrak{H}, all spin operators are equivalent to S_x, S_y and S_z and H_B=H_U=0. This is always (at every iterations) true only for left and right sites.

Step 1: Form the Hamiltonian matrix for the Superblock[edit]

The ingredients are the four Block operators and the four Universe-Block operators, which at the first iteration are 3\times3 matrices, the three left-site spin operators and the three right-site spin operators, which are always 3\times3 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:


\mathbf{H}_{SB}=-J\sum_{<i,j>}\mathbf{S}_{x_i}\mathbf{S}_{x_j}+\mathbf{S}_{y_i}\mathbf{S}_{y_j}+\mathbf{S}_{z_i}\mathbf{S}_{z_j}

These operators live in the superblock state space: \mathfrak{H}_{SB}=\mathfrak{H}_B\otimes\mathfrak{H}_l\otimes\mathfrak{H}_r\otimes\mathfrak{H}_U, the base is \{|f\rangle=|u\rangle\otimes|t\rangle\otimes|s\rangle\otimes|r\rangle\}. For example: (convention):


|1000\dots0\rangle\equiv|f_1\rangle=|u_1,t_1,s_1,r_1\rangle\equiv|100,100,100,100\rangle


|0100\dots0\rangle\equiv|f_2\rangle=|u_1,t_1,s_1,r_2\rangle\equiv|100,100,100,010\rangle

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


\mathbf{H}_{SB}=\mathbf{H}_B+\mathbf{H}_U+\sum_{<i,j>}\mathbf{S}_{x_i}\mathbf{S}_{x_j}+\mathbf{S}_{y_i}\mathbf{S}_{y_j}+\mathbf{S}_{z_i}\mathbf{S}_{z_j}

The operators are (d*3*3*d)\times(d*3*3*d) matrices, d=\dim(\mathfrak{H}_B)\equiv\dim(\mathfrak{H}_U), for example:


\langle f|\mathbf{H}_B|f'\rangle\equiv\langle u,t,s,r|H_B\otimes\mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}|u',t',s',r'\rangle


\mathbf{S}_{x_B}\mathbf{S}_{x_l}=S_{x_B}\mathbb{I}\otimes\mathbb{I}S_{x_l}\otimes\mathbb{I}\mathbb{I}\otimes\mathbb{I}\mathbb{I}=S_{x_B}\otimes S_{x_l}\otimes\mathbb{I}\otimes\mathbb{I}

Step 2: Diagonalize the superblock Hamiltonian[edit]

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:

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

If |\Psi\rangle=\sum\Psi_{i,j,k,w}|u_i,t_j,s_k,r_w\rangle is the target state, expectation value of various operators can be measured at this point using |\Psi\rangle.

Step 3: Reduce Density Matrix[edit]

Form the reduce density matrix \rho for the first two block system, the Block and the left-site. By definition it is the (d*3)\times(d*3) matrix: 
\rho_{i,j;i',j'}\equiv\sum_{k,w}\Psi_{i,j,k,w}\Psi_{i',j',k,w}
Diagonalize \rho and form the m\times (d*3) matrix T, which rows are the m eigenvectors associated with the m largest eigenvalue e_\alpha of \rho. So T is formed by the most significant eigenstates of the reduce density matrix. You choose m looking to the parameter P_m\equiv\sum_{\alpha=1}^m e_\alpha: 1-P_m\cong 0.

Step 4: New, Block and Universe Block, operators[edit]

Form the (d*3)\times(d*3) matrix representation of operators for the system composite of Block and left-site, and for the system composite of right-site and Universe-Block, for example: 
H_{B-l}=H_B\otimes\mathbb{I}+S_{x_B}\otimes S_{x_l}+S_{y_B}\otimes S_{y_l}+S_{z_B}\otimes S_{z_l}


S_{x_{B-l}}=\mathbb{I}\otimes S_{x_l}


H_{r-U}=\mathbb{I}\otimes H_U+S_{x_r}\otimes S_{x_U}+S_{y_r}\otimes S_{y_U}+S_{z_r}\otimes S_{z_U}


S_{x_{r-U}}=S_{x_r}\otimes\mathbb{I}

Now, form the m\times m matrix representations of the new Block and Universe-Block operators, form a new block by changing basis with the transformation T, for example:

\begin{matrix}
&H_B=TH_{B-l}T^\dagger

&S_{x_B}=TS_{x_{B-l}}T^\dagger

\end{matrix}

At 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[edit]

See also[edit]