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

uniqueString()

Return a unique string representing the state of the object.

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.