
The finite DMRG starts with an effective superblock \( B_{\text S}(L, m^2) \) of a fixed length \(L\):
- In the first step the superblock is divided into left \( B_{\text L}(l, m) \) and right block \( B_{\text R}(L-l-2, m) \). Also, two sites are needed for the next step.
- In the next step, the two single sites are integrated tensorially into left and right block, respectively. In this way the dimension of the blocks is doubled and they become larger by one site each: \( B_{\text L}(l+1, 2m) \) and \( B_{\text R}(L-l-1, 2m) \). Then the two blocks are combined to form a superblock \( B_{\text S}(L, (4m)^2) \), whose Hamiltonian \( H_{\text S}(L, (4m)^2) \) is diagonalized using Davidson's algorithm, and the ground state of the superblock is obtained.
- The two enlarged blocks \( B_{\text L}(l+1, 2m) \) and \( B_{\text R}(L-l-1, 2m) \) are again truncated to dimension \(m\), in the same way as in infinite DMRG.
These three steps are repeated for a subsequent left sweep. Here, in the first step, the left block is decreased by one site: \( B_{\text L}(l-1, m) \) and the right block is increased by one site: \( B_{\text R}(L-l-1, m) \). After that, steps #2 and #3 follow analogously. The left sweep is performed until the left block consists of only one site: \( B_{\text L}(1, 2) \) and the right block consists of all except one site: \( B_{\text R}(L-1, m) \).
During the right sweep, on the other hand, in the first step the right block is decreased by one site: \( B_{\text R}(L-l-3, m) \) and the left block is increased by one site: \( B_{\text L}(l+1, m) \). Otherwise, the algorithm runs analogously to the left sweep until the right block consists of only one site: \( B_{\text R}(1, 1) \) and the left block consists of all except one site: \( B_{\text L}(L-1, m) \). After the left and right sweeps are done, finite DMRG has done a sweep.