# FeastSolver¶

class FeastSolver(number_of_eigenvalues=None, lambda_min=None, lambda_max=None)

Calculate the density matrix using the feast algorithm

Parameters: number_of_eigenvalues (int > 0) – The estimated number of eigenvalues. Default: 1.5 $$\times$$ number of electrons. lambda_min (PhysicalQuantity of type energy) – The lower bound on the eigenvalue spectrum to calculate. Default: -20.0 * Hartree lambda_max (PhysicalQuantity of type energy) – The upper bound on the eigenvalue spectrum to calculate. Default: 0.0 * Hartree
lambdaMax()
Returns: Upper bound on the eigenvalue spectrum. PhysicalQuantity of type energy
lambdaMin()
Returns: Lower bound on the eigenvalue spectrum. PhysicalQuantity of type energy
numberOfEigenvalues()

The estimated number of eigenvalues.

Returns: None when the estimated number of eigenvalues is set to 1.5 $$\times$$ number of electrons. int | None

## Usage Example¶

Define a density matrix method that uses the Feast Solver

density_matrix_method = FeastSolver(
lambda_min=-1.0*Hartree,
lambda_max= 1.0*Hartree,
number_of_eigenvalues=10,
)


## Notes¶

The FeastSolver is useful if only a small part of the eigenvalue spectrum (eigenvector space) is needed. The parameters lambda_min and lambda_max specify the limits of the sought eigenvalue spectrum and number_of_eigenvalues is an estimate for the number of eigenvalues to be found within this interval. The algorithm works most efficiently if the estimate is approximately a factor 1.5 larger than the actual number of eigenvalues within the interval. For more details on the Feast algorithm, visit the Feast website.