The Density Matrix Renormalization Group (DMRG) method
The block decimation idea

Let us try a simple idea, using the recursion scheme described above. At every step in the recursion, we add one spin on the right, and our basis dimension grows by a factor . At some point during this recursion, the matrix will be too large to deal with. So let us fix a maximum number of states that we want to keep, . At certain point during the process, the basis dimension will become larger than . It is here that we start applying the truncation rule: diagonalize the Hamiltonian matrix exactly, and keep only the states with lowest eigenvalues(see Fig. [fig:nrg]).
As the system grows, the basis of the left block changes as we rotate to the new basis of eigenstates of the Hamiltonian. This is done by using a unitary transformation . This matrix is nothing else but the matrix with the eigenstates ordered in columns. Therefore, adding a spin to the block now involves two steps: (i) we need to build the ‘tilde’ operators as before, and (ii) rotate the Hamiltonian matrix and the tilde operators to the new basis.

Let us assume that our old block before adding a site has a basis , of dimension , and the site has a basis of dimension . The new block basis has dimension , such that we can easily diagonalize it to obtain all the eigenvalues and corresponding eigenvectors . We build the matrix as the unitary matrix with the eigenvectors with largest eigenvalues in the columns: Before the rotation, the operators had matrix elements: We can now rotate all the tilde operators to the new basis as: where the new matrices will have dimensions . we can now use these matrices to continue to block-growing process by adding another site. This can be repeated until the energy per site converges, or until we reach a desired system size.
It may seem that this new basis would be a natural choice is we assume that the physics of the problem is described by different manifolds with different energy scales. If we keep the lowest energy states and we get rid of the high energy states we can expect to get the low energy physics right. This in fact is the case in problems such as the Kondo and Anderson impurity problems@hewson. However, in strongly correlated, many-body problems such as the Heisenberg chain, this scheme performs poorly.
The density matrix truncation: the kernel of the DMRG

The problem was solved by Steve White by using what he called the ‘density matrix truncation’. He realized (without knowing at the time) that instead of getting rid of high energy states, one has to redistribute the ‘entanglement’ and minimize the loss of information. However, the way he formulated the problem did not incorporate the idea of entanglement, a concept that entered the picture much later after quantum information ideas were used to understand why and when the DMRG actually works. Before introducing these ideas, we shall describe the original formulation of the density matrix truncation@dmrg.
In order to introduce this new concept, we are going to use a new scheme: We are going to use two blocks instead of one, a left block, and a right block, as shown in Fig.[fig:two_blocks]. We are going to grow both blocks simultaneously using the same procedure outlined previously: at every step we add one site at the right of the left block, and one site to the left of the right block. The ground state can then be written as: where the sum runs over all the states of the left block and right block , with the corresponding coefficients .
Now the idea is as follows: once we reach the desired basis dimension , we shall rotate the left block to a new basis . We want to pick these states in such a way that when we truncate the basis, the “distance” between the original ground state , and the new, truncated, variational approximation , is minimized: where
We are going to anticipate the solution: pick the basis given by the eigenvectors of the reduced density matrix of the left block with the largest eigenvalues. In order to justify this result, we first need to introduce some important concepts. The reduced density matrix

Imagine that we have a bipartite system, composed by subsystem and subsystem , as shown in Fig.[fig:partition]. The Hilbert space of the system will be given by the tensor product of the Hilbert spaces of the two subsystems: , and will have dimension . Assume that the state of our system is described by a normalized wave-function that has support on . We define the reduced density matrix of subsystem as Its corresponding matrix form is This operator describes the density matrix of a mixed state, in which the system is in contact with a bath or environment . This is the price we have to pay for our ignorance of subsystem .
The reduced density matrix has some nice properties:
It is Hermitian (or symmetric in case of real matrices). This means that its eigenvalues are real.
Its eigenvalues are non-negative.
The trace equals to unity: .
Its eigenvectors and eigenvalues form an orthonormal basis.
This means that the reduced density matrix can be re-defined in the new eigenvector basis as: with and .
These same considerations are valid for the block .
The Singular Value decomposition (SVD)
Consider an arbitrary matrix of dimensions . One can prove that can de factorized as where is a () unitary matrix, is a unitary matrix, and is a diagonal matrix with real non-negative numbers along the diagonal, and zeroes elsewhere. Since and are unitary, they satisfy: Their columns are orthonormal vectors, so and can be regarded as rotation matrices. The diagonal matrix elements of are known as the “singular values” of .
The Schmidt decomposition
Let us apply the SVD to our quantum wave-function ([psi]), and for illustration, let us assume that . The coefficients define a matrix . After a SVD, they can be re-written as: The wave-function can now be expressed as: where we have defined the states and . Due to the properties of and , these states define a new orthogonal basis. This final expression is known as the “Schmidt decomposition” of the state , and the bases as the “Schmidt bases”..
In general, we have that the state can be written in the new basis as:
In the Schmidt basis, the reduced density matrices for the subsystems and are and
At this point, we realize some interesting observations:
The eigenvalues of the reduced density matrices are , the square of the singular values.
The two reduced density matrices share the spectrum.
The Schmidt bases are the eigenvectors of the reduced density matrices.
Optimizing the truncated wave-function
We here go back to the original problem of optimizing the wave-function in a reduced basis. In order to solve it, we are going to reformulate the question as: Given a matrix , what is the optimal matrix with fixed rank that minimizes the Frobenius distance between the two matrices? It turns out, this is a well known problem called the “low ranking approximation”.
If we order the eigenvalues of the reduced density matrix in decreasing order , it is straightforward to see that the Frobenius distance between the two matrices is given by This proves that the optimal basis is given by the eigenvectors of the reduced density matrix with the largest eigenvalues.
Infinite-size DMRG
The above considerations allow us now to introduce the DMRG algorithm in a very natural way. We are going to present it in the traditional formulation, starting with the infinite-size algorithm, followed by the finite-size scheme.
The main idea behind the infinite-size algorithm consists in growing the left and right blocks by adding one site at a time. As we add sites, the basis of the blocks will grow, until we reach the desired maximum number of states . At this point we need to start applying the density matrix truncation on both blocks. This process is repeated until we reach a desired system-size, or the error in the energy is below a pre-defined tolerance.
[fig:infinite]
The algorithm illustrated in Fig.[fig:infinite] could be outlined as below:
Build all the operator matrices for a single-site Hamiltonian, and the operators involved in the interactions between the site an the rest of the system.
Start growing the blocks by adding single-sites, as outlined in the exact diagonalization section. We assume that the Hilbert space for the single site has dimension . When the size of the bocks become larger than , we start applying the density matrix truncation as follows:
Using a suitable library routine (Lanczos,Davidson), diagonalize the full Hamiltonian (sometimes called super-Hamiltonian) of the two blocks combined (sometimes refereed to as superblock), to obtain the ground state .
Calculate the reduced density matrix of the left block, and right blocks. When the system is symmetric under reflections, we only need one of them.
For each of the blocks, diagonalize the density matrix to obtain the full spectrum and eigenvectors.
Truncate the basis by keeping only the eigenvectors with the largest eigenvalues.
Rotate the Hamiltonian and the operators involved in the interactions between blocks to the new basis.
Add a new site to the left and right blocks, to build new blocks of dimension , and reiterate the diagonalization and truncation steps. Stop when we reach the desired system-size, or the error in the energy is below a pre-defined tolerance.
In the early days of DMRG it was assumed that this scheme would lead to a good approximation of the system properties in the thermodynamic limit. Today we know that he best way to reach the thermodynamic limit is by using the finite-size algorithm on systems of fixed length, and doing a careful finite-size analysis of the results.
Let us now explain some of these steps in more detail.
Adding a single site to the block
[fig:add_site]
Same as we did in the exact diagonalization section, we can add sites to the blocks by performing tensor products of the “tilde” operators on the block, and single-site operators.
Assume that we are in the iteration of the algorithm, with our left and right blocks having length . Let us label our basis states for the left block , and our basis states for the single site that comes to the right (See Fig.[fig:add_site]). When we add the site to the block, we obtain a new basis for the new combined block as .
Let us assume for illustration purposes that we are dealing once more with the Heisenberg chain. All these ideas can be easily generalized to arbitrary models. Same as we did in the exact diagonalization section, we obtain the new Hamiltonian matrix for the combined block as: In this expression, the “tilde” operators are in the basis, while the others are defined in the single-site basis.
A similar expression applies to the right block, which is obtained from the single site at position , with basis and dimension , and the right block with basis and dimension :
Building the super-Hamiltonian
We now need to combine the left and right blocks to form the super-Hamiltonian: where where obtained above, and only involve terms in the left (right) block. The single sites at positions and were absorbed by the left and right blocks, respectively, so in order to build the interactions, we have to rotate the corresponding operators to the new basis of the blocks. This is again done in the same spirit of the “tilde” transformation: or:
Density matrix truncation and the rotation to the new basis
The truncation process is similar to the one use in numerical renormalization group, but instead of using the matrix of eigenvectors of the Hamiltonian, we use the eigenvectors of the left and right reduced density matrix. Therefore, the new basis states for the left and right block are related to the states in the previous step as: where and If we keep only states, the matrices will have dimensions . If the basis had already been truncated in the previous step, then .
We can now use these transformations to obtain the matrix elements for all the operators in the new truncated basis. For instance, an operator acting on a site inside the left block will be transformed as: and a similar expression can be obtained for operators in the right block.
The Finite-size DMRG
[fig:finite]
As we mentioned before, the proper way to reach the thermodynamic limit with DMRG is by studying finite systems and performing a finite-size analysis. In order to study finite system, a generalization of the above ideas needs to be applied. The finite-size DMRG (illustrated in Fig.[fig:finite]) can be summarized as follows:
Run the infinite-size algorithm until the desired system size is reached. During this process, store all the left and right blocks, with their corresponding operators and basis transformations. This step is typically referred to as the ``warmup''.
Once the desired system size is reached we start performing ``DMRG sweeps'', from right-to-left, and left-to-right to optimize the bases and improve accuracy. A left-to-right sweep is described as follows:
Add a site to the left block using the same idea of the infinite-size DMRG. Since the total size of the system needs to be kept fixed, we need to ``shrink'' the right block. This is done by using the smaller right block from the infinite-size step, or from the previous right-to-left sweep.
Using a suitable library routine (Lanczos,Davidson), diagonalize the super Hamiltonian (sometimes called super-Hamiltonian) of the two blocks combined, same as for the infinite-size DMRG.
Calculate the reduced density matrix of the left block.
Diagonalize the density matrix to obtain the full spectrum and eigenvectors.
Truncate the basis by keeping only the eigenvectors with the largest eigenvalues.
Rotate the Hamiltonian and the operators of the left block involved in the interactions between blocks to the new basis.
Iterate until reaching the far right end of the system, with a right block containing a single site. This completes the left-to-right sweep.
Perform a right-to-left sweep, by growing the right block one site at a time, and using the left block from the previous left-to-right sweep.
Re-iterate the sweeping. Stop when the change in the energy is below a pre-defined tolerance. One typically stops at a point when both blocks have the same size, the ``symmetric configuration''.
This sweeping process works in a similar fashion as a self-consistent loop, where we iteratively improve the solution. In fact, the DMRG can be formulated as a variational method, in which the variational parameters are continuously improved to minimize an energy functional. Intuitively a way to see it is by imagining a “demon” probing the environment around the block for the optimal states to improve the basis to represent the ground-state. These states are “absorbed” inside the block by the density matrix and its eigenvectors.
As described above, the shrinking block is replaced by the block from the previous sweep in the opposite direction. This means that all the information about the block and its operators needs to be stored, either in memory, or dumped on disk or stored in memory.