SparseRecursionSelfEnergy

class SparseRecursionSelfEnergy(save_self_energies=None, tolerance=None, maximum_iteration=None, sparse_threshold=None, storage_strategy=None)

Self-energy calculator based on the Sparse Recursion method. This method is an iterative scheme for getting self energies, with convergence \(O(2^N)\)

Parameters:
  • storage_strategy (SaveInMemory | StoreOnDisk | NoStorage) – The way self energies are stored between iterations.
    Default: SaveInMemory()
  • tolerance (float > 0) – The tolerance of convergence of the self energies before termination of the recursion.
    Default: 1e-13
  • maximum_iteration (int > 0) – The maximum number of recursion steps allowed before termination.
    Default: 400
  • 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 since version 2017.0: Use storage_strategy instead.

maximumIteration()
Returns:The maximum number of recursion steps.
Return type:int
saveSelfEnergies()

Deprecated since version 2017.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
tolerance()
Returns:The tolerance of convergence.
Return type:float

Usage Examples

Define that the self energies on the complex contour are calculated with the recursion method, and the self energies are not saved.

device_algorithm_parameters = DeviceAlgorithmParameters(
    self_energy_calculator_complex=SparseRecursionSelfEnergy(storage_strategy=NoStorage()),
)

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

Notes

The SparseRecursionSelfEnergy uses the iterative scheme by Lopez, Lopez and Rubio [dLSLSR85] for calculating the self energy matrix. The sparse recursion method is identical to the recursion method provided by RecursionSelfEnergy, but exploits inherent sparsity. This provides increased performance for all but the smallest systems.

References

[dLSLSR85]M. P. Lopez Sancho, J. M. Lopez Sancho, and J. Rubio. Highly convergent schemes for the calculation of bulk and surface Green functions. J. Phys. F: Metal Physics, 15(4):851, 1985. URL: http://stacks.iop.org/0305-4608/15/i=4/a=009.