spin_moment

sisl.physics.electron.spin_moment(state, S=None)[source]

Calculate the spin magnetic moment (also known as spin texture)

This calculation only makes sense for non-colinear calculations.

The returned quantities are given in this order:

  • Spin magnetic moment along \(x\) direction

  • Spin magnetic moment along \(y\) direction

  • Spin magnetic moment along \(z\) direction

These are calculated using the Pauli matrices \(\boldsymbol\sigma_x\), \(\boldsymbol\sigma_y\) and \(\boldsymbol\sigma_z\):

\[\begin{split}\mathbf{S}_i^x &= \langle \psi_i | \boldsymbol\sigma_x \mathbf S | \psi_i \rangle \\ \mathbf{S}_i^y &= \langle \psi_i | \boldsymbol\sigma_y \mathbf S | \psi_i \rangle \\ \mathbf{S}_i^z &= \langle \psi_i | \boldsymbol\sigma_z \mathbf S | \psi_i \rangle\end{split}\]
Parameters
  • state (array_like) – vectors describing the electronic states, 2nd dimension contains the states

  • S (array_like, optional) – overlap matrix used in the \(\langle\psi|\mathbf S|\psi\rangle\) calculation. If None the identity matrix is assumed. The overlap matrix should correspond to the system and \(k\) point the eigenvectors has been evaluated at.

Notes

This routine cannot check whether the input eigenvectors originate from a non-colinear calculation. If a non-polarized eigenvector is passed to this routine, the output will have no physical meaning.

See also

DOS

total DOS

PDOS

projected DOS

spin_orbital_moment

orbital resolved spin-moment

Returns

spin moments per state with final dimension (state.shape[0], 3).

Return type

numpy.ndarray