sisl.physics.WideBandSE

class sisl.physics.WideBandSE

Bases: SelfEnergy

Self-energy object with a wide-band electronic structure

Such a self-energy only have imaginary components on the diagonal, with all of them being equal to the eta value.

Parameters:
  • spgeom – for a SparseGeometry only the length will be queried.

  • eta – the imaginary part (\(\eta\)) of the self-energy

Methods

broadening_matrix(*args, **kwargs)

Calculate the broadening matrix by first calculating the self-energy

green([E, k, dtype])

Return a dense matrix with the self-energy

se2broadening(SE)

Calculate the broadening matrix from the self-energy

self_energy([E, k, dtype])

Return a dense matrix with the self-energy

broadening_matrix(*args, **kwargs)

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)
>>> gamma = SE.broadening_matrix(0.1)

For a huge performance boost, please do:

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

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!

See also

se2broadening

converting the self-energy to the broadening matrix

self_energy

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

Return type:

ndarray

green(E=None, k=(0, 0, 0), dtype=np.complex128, **kwargs)

Return a dense matrix with the self-energy

Since \(\mathbf S\) is part of the equation, it depends on whether the passed sparse matrix has a non-orthogonal basis set.

Parameters:
  • E (Optional[complex]) – locally override the eta value for the object, will only use the complex part of the passed energy

  • k (KPoint) – only used if the passed spgeom upon initialization is a sparse matrix. In which case it will use the overlap matrix to return something that is similar to the atomic structure. Otherwise, not used.

  • dtype (np.dtype) – the returned data-type.

Return type:

np.ndarray

static se2broadening(SE)

Calculate the broadening matrix from the self-energy

\[\boldsymbol\Gamma = i(\boldsymbol\Sigma - \boldsymbol \Sigma ^\dagger)\]
Parameters:

SE (matrix) – self-energy matrix

Return type:

ndarray

self_energy(E=None, k=(0, 0, 0), dtype=np.complex128, **kwargs)[source]

Return a dense matrix with the self-energy

Since \(\mathbf S\) is part of the equation, it depends on whether the passed sparse matrix has a non-orthogonal basis set.

Parameters:
  • E (Optional[complex]) – locally override the eta value for the object, will only use the complex part of the passed energy

  • k (KPoint) – only used if the passed spgeom upon initialization is a sparse matrix. In which case it will use the overlap matrix to return something that is similar to the atomic structure. Otherwise, not used.

  • dtype (np.dtype) – the returned data-type.

Return type:

np.ndarray