berry_curvature

sisl.physics.electron.berry_curvature(state, energy, dHk, dSk=None, degenerate=None, degenerate_dir=(1, 1, 1))[source]

Calculate the Berry curvature matrix for a set of states (using Kubo)

The Berry curvature is calculated using the following expression (\(\alpha\), \(\beta\) corresponding to Cartesian directions):

\[\boldsymbol\Omega_{i,\alpha\beta} = - \frac2{\hbar^2}\Im\sum_{j\neq i} \frac{v^\alpha_{ij} v^\beta_{ji}} {[\epsilon_j - \epsilon_i]^2}\]

For details see Eq. (11) in 1 or Eq. (2.59) in 2.

Parameters
  • state (array_like) – vectors describing the electronic states, 2nd dimension contains the states. In case of degenerate states the vectors may be rotated upon return.

  • energy (array_like, optional) – energies of the states. In case of degenerate states the eigenvalues of the states will be averaged in the degenerate sub-space.

  • dHk (list of array_like) – Hamiltonian derivative with respect to \(\mathbf k\). This needs to be a tuple or list of the Hamiltonian derivative along the 3 Cartesian directions.

  • dSk (list of array_like, optional) – \(\delta \mathbf S_k\) matrix required for non-orthogonal basis. Same derivative as dHk. NOTE: Using non-orthogonal basis sets are not tested.

  • degenerate (list of array_like, optional) – a list containing the indices of degenerate states. In that case a prior diagonalization is required to decouple them.

  • degenerate_dir ((3,), optional) – along which direction degenerate states are decoupled.

See also

velocity

calculate state velocities

velocity_matrix

calculate state velocities between all states

Hamiltonian.dHk

function for generating the Hamiltonian derivatives (dHk argument)

Hamiltonian.dSk

function for generating the Hamiltonian derivatives (dSk argument)

References

1

X. Wang, J. R. Yates, I. Souza, D. Vanderbilt, “Ab initio calculation of the anomalous Hall conductivity by Wannier interpolation”, PRB **74**, 195118 (2006)

2

J. K. Asboth, L. Oroslany, A. Palyi, “A Short Course on Topological Insulators”, arXiv *1509.02295* (2015)

Returns

Berry flux with final dimension (state.shape[0], 3, 3)

Return type

numpy.ndarray