FEAST eigensolverΒΆ

The FEAST eigensolver significantly differs from traditional solvers like the ones found in LAPACK and ARPACK. It takes its inspiration from the density-matrix representation and contour integration in quantum mechanics. When solving a series of eigenvalue problems which are close to one another, as is the case for band structure calculations, the results of the previous calculation can be used as the starting point for the next. The algorithm also features natural parallelism where different eigenvalues can be computed separately without overlap.

Pybinding has experimental support for this solver. It can be accessed via solver.feast(). However, it is disabled by default and you will need to recompile the package in order to install it. Since FEAST requires Intel PARDISO, you will need to have Intel MKL installed before you continue. Next, remove any existing pybinding installation by executing the following command in terminal:

pip3 uninstall pybinding

Finally, reinstall it with MKL turned on:

PB_MKL=ON pip3 install pybinding --no-binary pybinding

Note that pybinding is written twice. This is not a mistake. The --no-binary pybinding flag tells pip to compile from source. Since this is all experimental: expect errors and no support.