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-collinear 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
statearray_like

vectors describing the electronic states, 2nd dimension contains the states

Sarray_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 have been evaluated at.

Returns
numpy.ndarray

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

See also

DOS

total DOS

PDOS

projected DOS

Notes

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