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.