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.
Return type:PhysicalQuantity of type energy
lambdaMin()
Returns:Lower bound on the eigenvalue spectrum.
Return type: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.
Return type: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.