WavefunctionArea

class WavefunctionArea(bands: BandsArea, wavefunction: ndarray, sublattices: AliasArray | None = None, system=None)

Attributes

bands_disentangled

Disentangle the bands from the wavefunction.

disentangle

Give back a Disentanlement-class, and save the class for further usage.

fatbands

Return FatBands with the pDOS for each sublattice.

fatbands_disentangled

Return FatBands with the pDOS for each sublattice.

fatbandsarea

fatbandsarea_disentangled

overlap_matrix

Give back the overlap matrix

wavefunction_area

Methods

_calc_overlap_matrix()

Calculate the overlap of all the wavefunctions with each other

operator(operator[, disentangle, names])

Apply the operator on the wavefunction.

spatial_ldos([energies, broadening])

Calculate the spatial local density of states at the given energy

operator(operator: ndarray | Callable[[ndarray], ndarray], disentangle: bool = False, names: List[str] | None | str = None) FatBands

Apply the operator on the wavefunction. Only from-to same band, no correlations between bands.

Parameters:
operatornp.ndarray or Callable

The operators to apply on the system. This should be in the shape of (ham_idx, ham_idx). Optionally, this can be 3D, (op_idx, ham_idx, ham_idx), with op_idx different operators. If this is a function (Callable), the function should accept the k-vector to build the operator for that k-vector, and return a np.ndarray as would be provided if it were not a Callable mentioned above.

disentanglebool

If the bands and the results should be disentangled. Defualt: False.

namesUnion[Optional[List[str]], str]

The names for the labels of the operators.

Returns:
class:

~pybinding.FatBands ..

spatial_ldos(energies: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes] | None = None, broadening: float | None = None) Series | SpatialLDOS

Calculate the spatial local density of states at the given energy

\[\text{LDOS}(r) = \frac{1}{c \sqrt{2\pi}} \sum_n{|\Psi_n(r)|^2 e^{-\frac{(E_n - E)^2}{2 c^2}}}\]

for each position \(r\) in system.positions, where \(E\) is energy, \(c\) is broadening, \(E_n\) is eigenvalues[n] and \(\Psi_n(r)\) is eigenvectors[:, n].

Parameters:
energiesArraylike

The energy value for which the spatial LDOS is calculated.

broadeningfloat

Controls the width of the Gaussian broadening applied to the DOS.

Returns:
StructureMap
property bands_disentangled: Bands

Disentangle the bands from the wavefunction.

ReturnsBands

The reordered eigenvalues in a Bands-class.

property disentangle

Give back a Disentanlement-class, and save the class for further usage.

ReturnsDisentangle

Class to perform disentanglement

property fatbands: FatBands

Return FatBands with the pDOS for each sublattice.

ReturnsFatBands

The (unsorted) bands with the pDOS.

property fatbands_disentangled: FatBands

Return FatBands with the pDOS for each sublattice.

ReturnsFatBands

The (sorted) bands with the pDOS.

property overlap_matrix: ndarray

Give back the overlap matrix

Returnsnp.ndarray

The overlap matrix between the different k-points.