Name

KrylovSelfEnergy — Class for representing a self energy calculation using the iterative Krylov scheme.

Synopsis

Namespace: NanoLanguage
KrylovSelfEnergy(
save_self_energies,
lambda_min
)

Description

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

KrylovSelfEnergy Arguments

save_self_energies

If True, the self energies are stored between iterations for maximum speed.

Type: Boolean (True/False)

Default: True
lambda_min

The smallest logarithmic decrement of a mode to take into account.

Type: Strictly positive float.

Default: 0.1

KrylovSelfEnergy Methods

A KrylovSelfEnergy object provides the following methods:

  • lambdaMin(): Query method for getting the lambda min value defined in paper (......)

  • saveSelfEnergies(): Query method for getting the Boolean telling if the self energies should be saved or not

  • setSaveSelfEnergies(): Set method for setting the Boolean telling if the self energies should be saved or not

Usage Examples

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

 calculator=DeviceHuckelCalculator(
    self_energy_calculator_real=KrylovSelfEnergy(
          save_self_energies=true,
          lambda_min=0.05) )

Notes

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