sisl.physics.electron.EigenvalueElectron

class sisl.physics.electron.EigenvalueElectron[source]

Bases: CoefficientElectron

Eigenvalues of electronic states, no eigenvectors retained

This holds routines that enable the calculation of density of states.

Methods

DOS(E[, distribution])

Calculate DOS for provided energies, E.

copy()

Return a copy (only the coefficients are copied).

degenerate(atol)

Find degenerate coefficients with a specified precision

iter([asarray])

An iterator looping over the coefficients in this system

occupation([distribution])

Calculate the occupations for the states according to a distribution function

remove(index[, inplace])

Return a new coefficient without the specified coefficients

sub(index[, inplace])

Return a new coefficient with only the specified coefficients

Attributes

c

dkind

The data-type of the coefficient (in str)

dtype

Data-type for the coefficients

eig

Eigenvalues

info

parent

shape

Returns the shape of the coefficients

DOS(E, distribution='gaussian')[source]

Calculate DOS for provided energies, E.

This routine calls sisl.physics.electron.DOS with appropriate arguments and returns the DOS.

See DOS for argument details.

Parameters:

distribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[~collections.abc.Buffer | ~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]] | ~numpy._typing._nested_sequence._NestedSequence[~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]]] | bool | int | float | complex | str | bytes | ~numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes]], ~numpy.ndarray])

copy()

Return a copy (only the coefficients are copied). parent and info are passed by reference

Parameters:

coefficient (Coefficient)

Return type:

Coefficient

degenerate(atol)

Find degenerate coefficients with a specified precision

Parameters:

atol (float) – the precision above which coefficients are not considered degenerate

Returns:

a list of indices

Return type:

list of numpy.ndarray

iter(asarray=False)

An iterator looping over the coefficients in this system

Parameters:

asarray (bool, optional) – if true the yielded values are the coefficient vectors, i.e. a numpy array. Otherwise an equivalent object is yielded.

Yields:
  • coeff (Coefficent) – the current coefficent as an object, only returned if asarray is false.

  • coeff (numpy.ndarray) – the current the coefficient as an array, only returned if asarray is true.

occupation(distribution='fermi_dirac')[source]

Calculate the occupations for the states according to a distribution function

Parameters:

distribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[~collections.abc.Buffer | ~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]] | ~numpy._typing._nested_sequence._NestedSequence[~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]]] | bool | int | float | complex | str | bytes | ~numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes]], ~numpy.ndarray]) – distribution used to find occupations

Returns:

len(self) with occupation values

Return type:

numpy.ndarray

remove(index, inplace=False)

Return a new coefficient without the specified coefficients

Parameters:
Returns:

a new coefficient without containing the requested elements

Return type:

Coefficient

sub(index, inplace=False)

Return a new coefficient with only the specified coefficients

Parameters:
Returns:

a new coefficient only containing the requested elements, only if inplace is false

Return type:

Coefficient

c
property dkind

The data-type of the coefficient (in str)

property dtype

Data-type for the coefficients

property eig

Eigenvalues

info
parent
property shape

Returns the shape of the coefficients