calculateEigensolutions

calculateEigensolutions(configuration, kpoint=None, diagonalization_method=None)

Calculates eigenvalues and eigenvectors (in orbital space) for an LCAO or Semi-Empirical calculation.

Parameters:
  • configuration (BulkConfiguration | MoleculeConfiguration) – The configuration with attached calculator for which the eigenstate should be calculated.

  • kpoint (list(3) of floats) – The k-point in fractional coordinates that the Bloch state should be calculated for.
    Default: [0.0, 0.0, 0.0]

  • diagonalization_method

    Method used for diagonalizing the hamiltonian.

    This parameter allows to choose between a full diagonalization solver and an iterative subspace solver. The full diagonalization solver evaluates all bands from the lowest energy one to a given number of bands above fermi level. The iterative subspace solver allows to evaluate a given number of bands around fermi level, or around an energy of choice.

    The full diagonalization solver is more robust, but can be proibitively expensive for very large systems.

    The iterative solver can deal with very large systems (tens of thousands atoms and beyond) and greatly outperforms when calculating a small number of eigenvalues, but it is also inherently less robust.

    Note: if FullDiagonalizationSolver all eigenvalues are calculated, regardless the value of bands_above_fermi_level.


    Default: FullDiagonalizationSolver

Type:

FullDiagonalizationSolver | IterativeDiagonalizationSolver

Returns:

The eigensolutions.

Return type:

Eigensolutions