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:
- 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.