# sisl.physics.SemiInfinite

class sisl.physics.SemiInfinite(spgeom, infinite, eta=0.0001)

Bases: SelfEnergy

Self-energy object able to calculate the dense self-energy for a given SparseGeometry in a semi-infinite chain.

Parameters
• spgeom (SparseGeometry) – any sparse geometry matrix which may return matrices

• infinite (str) – axis specification for the semi-infinite direction (+A/-A/+B/-B/+C/-C)

• eta (float, optional) – the default imaginary part ($$\eta$$) of the self-energy calculation

Methods

 broadening_matrix(*args, **kwargs) Calculate the broadening matrix by first calculating the self-energy Calculate the broadening matrix from the self-energy self_energy(*args, **kwargs)
__init__(spgeom, infinite, eta=0.0001)[source]

Create a SelfEnergy object from any SparseGeometry

Calculate the broadening matrix by first calculating the self-energy

Any arguments that is passed to this method is directly passed to self_energy.

See self_energy for details.

This corresponds to:

$\boldsymbol\Gamma = i(\boldsymbol\Sigma - \boldsymbol \Sigma ^\dagger)$

Examples

Calculating both the self-energy and the broadening matrix.

>>> SE = SelfEnergy(...)
>>> self_energy = SE.self_energy(0.1)


For a huge performance boost, please do:

>>> SE = SelfEnergy(...)
>>> self_energy = SE.self_energy(0.1)


Notes

When using both the self-energy and the broadening matrix please use se2broadening after having calculated the self-energy, this will be much, MUCH faster!

se2broadening

converting the self-energy to the broadening matrix

self_energy

the used routine to calculate the self-energy before calculating the broadening matrix

$\boldsymbol\Gamma = i(\boldsymbol\Sigma - \boldsymbol \Sigma ^\dagger)$