spin_orbital_moment¶
-
sisl.physics.electron.
spin_orbital_moment
(state, S=None)[source]¶ Calculate the spin magnetic moment per orbital site (equivalent to spin-moment per orbital)
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,o}^x &= \psi_{i,o}^* | \boldsymbol\sigma_x \mathbf S | \psi_i \rangle \\ \mathbf{S}_{i,o}^y &= \psi_{i,o}^* | \boldsymbol\sigma_y \mathbf S | \psi_i \rangle \\ \mathbf{S}_{i,o}^z &= \psi_{i,o}^* | \boldsymbol\sigma_z \mathbf S | \psi_i \rangle\end{split}\]Note that this is equivalent to
PDOS
without the distribution function and energy grid.- Parameters
state (array_like) – vectors describing the electronic states, 2nd dimension contains the states
S (array_like, optional) – overlap matrix used in the \(\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_moment
spin moment for states (equivalent to the
spin_orbital_moment.sum(1)
)
- Returns
spin moments per state with final dimension
(state.shape[0], state.shape[1] // 2, 3)
.- Return type