class ELPASolver(bands_above_fermi_level=None, processes_per_kpoint=None)

Calculate the density matrix by direct diagonalization.

  • bands_above_fermi_level (int | Automatic | All) – The number of bands above the Fermi level. Must be either a non-negative integer, All or Automatic. When set to All the total number of bands will be equal to the total number of basis functions. When set to Automatic an adaptive method will be used. For most systems, Automatic provides a major speed-up as compared to All. If the number of states above the Fermi level changes significantly from one diagonalization step to another, the adapative method may lead to slowing down of the calculation.
    Default: Automatic
  • processes_per_kpoint (int) – The number of processes to use per kpoint. Must be a positive integer.
    Default: The number will be determined automatically from the total number of k-points and processes such as to keep the number as small as possible. One may set this number manually in order to reduce the memory requirements for each process.
Returns:The initial guess for the number of bands above the Fermi level.
Return type:int | All
Returns:Number of processes per kpoint.
Return type:int


ELPASolver is an alias for DiagonalizationSolver.