KrylovSelfEnergy

class KrylovSelfEnergy(save_self_energies=None, lambda_min=None, sparse_threshold=None, storage_strategy=None)

Self-energy calculator based on the Krylov method. The Krylov scheme uses an iterative approach for getting a subset of all the electrode modes.

Parameters:
  • storage_strategy (SaveInMemory | StoreOnDisk | NoStorage) – The way self energies are stored between iterations.
    Default: SaveInMemory()

  • lambda_min (float > 0) – The smallest logarithmic decrement of a mode to take into account.
    Default: 0.1

  • sparse_threshold (float > 0) – Self energies (in Hartree) smaller than this value treated as 0 when storing as sparse matrix.
    Default: 1e-12

  • save_self_energies
    Deprecated: from v2017.0, use storage_strategy instead.

lambdaMin()
Returns:

The smallest logarithmic decrement of a mode

Return type:

float

saveSelfEnergies()


Deprecated: from v2017.0

sparseThreshold()
Returns:

Values treated as 0.

Return type:

float

storageStrategy()
Returns:

The way self energies are stored between iterations.

Return type:

SaveInMemory | StoreOnDisk | NoStorage

uniqueString()

Return a unique string representing the state of the object.

Usage Examples

Define that the self energy on the real contour is calculated with the Krylov method. Only modes with a decay slower than 0.05 are included.

device_algorithm_parameters = DeviceAlgorithmParameters(
    self_energy_calculator_real=KrylovSelfEnergy(lambda_min=0.05),
)

Examples on how to use the storage_strategy parameter can be found in the Usage Examples of RecursionSelfEnergy.

Notes

KrylovSelfEnergy uses the iterative Krylov subspace method by H. H. Sørensen et. al. [1], [2] for calculating the self energy matrix. The lambda_min parameter determines the size of the Krylov subspace. In the limit lambda_min goes to zero, the full space will be included.