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 SparseGeometrygreen
(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 (notself.parent.Sk
), for instancespin
- 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 (notself.parent.Sk
), for instancespin
- 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 (notself.parent.Sk
), for instancespin
- Returns
- leftthe left self-energy
- rightthe right self-energy
-