Home / Mumerical Methods / Exact Diagonalization

Exact Diagonalization

1D lattice

A small 1D lattice with number of sites $L=8$.

The ED method allows us to calculate the full spectrum of the Hamiltonian describing a particular system. The method is based on three major steps, namely (a) create appropriate basis states, (b) compute the matrix elements of the Hamiltonian using the basis states and (c) diagonalize the Hamiltonian matrix to obtain the eigenspectrum. We use the Fock state basis to span the Hilbert space of the system. For example, for the one-dimensional bosonic system with $L$ number of sites, the basis vectors can be written as $$ \{|n_1,~n_2,~n_3,~.~.~.~n_L\rangle\} \equiv |n_1\rangle \otimes |n_2\rangle \otimes |n_3\rangle \otimes~.~.~.~|n_L\rangle $$ where $n_i$ is the number of particles at $i^{th}$ site. Assuming the on-site dimension to be $m$, the full Hilbert space dimension $D = m^L$ without considering any symmetry in the system. Because of this exponential growth of $D$, it becomes impossible to store a single vector for a large system. For example, if we consider hard-core bosons ($m = 2$) and small system of length $L=30$ it takes $8$GB of memory to store a single $2^{30}$ dimensional vector with "double" precision. On the other hand, the computational complexity to get all the eigenstate cranks up to $\mathcal{O} (D^3)$.
However, one can exploit the use of good quantum numbers of the system to reduce the basis dimension substantially. To get the essence, in the model
\begin{equation}\label{eq:bhham} {H} = -\sum\limits_{\langle i,j \rangle}t_{i,j}(a^\dagger_{i}a_{j}+ H.c.) + \frac{U}{2}\sum\limits_i{n}_{i}({n}_{i} - 1) - \sum\limits_i\mu_i n_{i} \end{equation}
for example, known as the Hubbard model, the total number of particles $N=\sum_j n_j$ is a conserved quantity. This assumption ensures that the Hamiltonian is block diagonal, and each block can be solved separately. This substantially reduces the effective computational cost and memory needed for the calculations. Note that this process makes the Hamiltonian matrix less sparse, which consumes more time to diagonalize.
Lanczos or Arnoldi method makes it more efficient if we are only interested in lowe-lying states, which is often sufficient for essential studies. In this process, we approximate a Hamiltonian ($H$) in a $p$-dimensional orthonormal basis space generated from Krylov space: a vector space created by an arbitrary vector $v$ and the $H$, given by
\begin{equation} \{ v,~Hv,~H^2v,~H^3v,~.~.~.~H^{p-1}v \}. \end{equation}
In this orthonormal basis, the $H$ becomes $\tilde H$, whose largest eigenvalue converges rapidly to that of $H$ with increasing $p$. In general, with $p\ll D$, the first eigenstate is achieved with high accuracy and to improve the accuracy of excited states, one can increase $p$ further.
To compare the ED method with other numerical methods, I have shown the first Mott lobe of the Bose Hubbard model in the DMRG chapter, calculated using different methods.
The ED method can also be used to study the dynamics of systems. As mentioned in the beginning, we can have access to the system's dynamical property by solving the corresponding time-dependent Schrödinger-equation. In other words, we need to calculate the time-evolution operator ${\mathcal{U}}(t) = e^{-iH(t)t/\hbar}$ and a given state $|\Psi(t=0)\rangle$ can be evolved in time $t$ as \begin{equation}\label{eq:tSchr} |\Psi(t)\rangle = {\mathcal{U}}(t) |\Psi(t)\rangle. \end{equation} Note that the exponentiation is a computationally demanding task, which again restricts us to small system sizes.

Related references

  1. Anders W. Sandvik, Computational Studies of Quantum Spin Systems, arXiv:1101.3281 (2011).

Free resources

  1. QuSpin: Phillip Weinberg, Markus Schmitt, and Marin Bukov, Python package for exact diagonalization.

Explore other numerical methods

Cluster Mean Field Theory → Matrix Product States → Density Matrix Renormalization Group method → Time-Evolution Block Decimation →
← Back to Numerical Methods