RecursiveSI

class sisl.physics.RecursiveSI(spgeom, infinite, eta=0.0001)[source]

Self-energy object using the Lopez-Sancho Lopez-Sancho algorithm

Methods

__init__(self, spgeom, infinite[, eta])

Create a SelfEnergy object from any SparseGeometry

green(self, E[, k, dtype, eps])

Return a dense matrix with the bulk Green function at energy E and k-point k (default Gamma).

self_energy(self, E[, k, dtype, eps, bulk])

Return a dense matrix with the self-energy at energy E and k-point k (default Gamma).

self_energy_lr(self, E[, k, dtype, eps, bulk])

Return two dense matrices with the left/right self-energy at energy E and k-point k (default Gamma).

green(self, E, k=(0, 0, 0), dtype=None, eps=1e-14, **kwargs)[source]

Return a dense matrix with the bulk Green function at energy E and k-point k (default Gamma).

Parameters
Efloat/complex

energy at which the calculation will take place

karray_like, optional

k-point at which the Green function should be evaluated. the k-point should be in units of the reciprocal lattice vectors.

dtypenumpy.dtype

the resulting data type

epsfloat, optional

convergence criteria for the recursion

**kwargsdict, optional

arguments passed directly to the self.parent.Pk method (not self.parent.Sk), for instance spin

Returns
self-energythe self-energy corresponding to the semi-infinite direction
self_energy(self, E, k=(0, 0, 0), dtype=None, eps=1e-14, bulk=False, **kwargs)[source]

Return a dense matrix with the self-energy at energy E and k-point k (default Gamma).

Parameters
Efloat/complex

energy at which the calculation will take place

karray_like, optional

k-point at which the self-energy should be evaluated. the k-point should be in units of the reciprocal lattice vectors.

dtypenumpy.dtype

the resulting data type

epsfloat, optional

convergence criteria for the recursion

bulkbool, optional

if true, \(E\cdot \mathbf S - \mathbf H -\boldsymbol\Sigma\) is returned, else \(\boldsymbol\Sigma\) is returned (default).

**kwargsdict, optional

arguments passed directly to the self.parent.Pk method (not self.parent.Sk), for instance spin

Returns
self-energythe self-energy corresponding to the semi-infinite direction
self_energy_lr(self, E, k=(0, 0, 0), dtype=None, eps=1e-14, bulk=False, **kwargs)[source]

Return two dense matrices with the left/right self-energy at energy E and k-point k (default Gamma).

Note calculating the LR self-energies simultaneously requires that their chemical potentials are the same. I.e. only when the reference energy is equivalent in the left/right schemes does this make sense.

Parameters
Efloat/complex

energy at which the calculation will take place, if complex, the hosting eta won’t be used.

karray_like, optional

k-point at which the self-energy should be evaluated. the k-point should be in units of the reciprocal lattice vectors.

dtypenumpy.dtype, optional

the resulting data type, default to np.complex128

epsfloat, optional

convergence criteria for the recursion

bulkbool, optional

if true, \(E\cdot \mathbf S - \mathbf H -\boldsymbol\Sigma\) is returned, else \(\boldsymbol\Sigma\) is returned (default).

**kwargsdict, optional

arguments passed directly to the self.parent.Pk method (not self.parent.Sk), for instance spin

Returns
leftthe left self-energy
rightthe right self-energy