  The linear FEAST algorithm is a method for solving linear eigenvalue
problems. It uses complex contour integration to calculate the eigenvectors
whose eigenvalues that are located inside some user-defined region in the
complex plane. This makes it possible to parallelize the process of solving
eigenvalue problems by simply dividing the complex plane into a collection of
disjoint regions and calculating the eigenpairs in each region independently of
the eigenpairs in the other regions. In this paper we present a generalization
of the linear FEAST algorithm that can be used to solve nonlinear eigenvalue
problems. Like its linear progenitor, the nonlinear FEAST algorithm can be used
to solve nonlinear eigenvalue problems for the eigenpairs whose eigenvalues lie
in a user-defined region in the complex plane, thereby allowing for the
calculation of large numbers of eigenpairs in parallel. We describe the
nonlinear FEAST algorithm, and use several physically-motivated examples to
demonstrate its properties.
