berry_curvature¶
-
sisl.physics.electron.
berry_curvature
(state, energy, dHk, dSk=None, degenerate=None, complex=False)[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_{n,\alpha\beta} = - \frac2\hbar^2\Im\sum_{m\neq n} \frac{v_{nm,\alpha} v_{mn,\beta}} {[\epsilon_m - \epsilon_n]^2}\]Note that this method optionally returns the complex valued equivalent of the above. I.e. \(\Im\) is not applied if complex is true.
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. This is done 3 times along each of the Cartesian directions.
complex (logical, optional) – whether the returned quantity is complex valued (i.e. not only the imaginary part is returned)
See also
velocity
calculate state velocities
velocity_matrix
calculate state velocities between all states
References
- 1
Wang, J. R. Yates, I. Souza, D. Vanderbilt, “Ab initio calculation of the anomalous Hall conductivity by Wannier interpolation”, PRB, 74, 195118 (2006)
- 2
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)
(complex if complex is True).- Return type