spin_moment
- sisl.physics.electron.spin_moment(state, S=None, projection='diagonal')[source]
Spin magnetic moment (spin texture) and optionally orbitally resolved moments
This calculation only makes sense for non-colinear calculations.
The returned quantities are given in this order:
Spin magnetic moment along
directionSpin magnetic moment along
directionSpin magnetic moment along
direction
These are calculated using the Pauli matrices
, and :If projection is orbitals/basis/true, the above will be the orbitally resolved quantities.
- Parameters:
state (
ndarray
) – vectors describing the electronic states, 2nd dimension contains the statesS (
ndarray
, optional) – overlap matrix used in the calculation. If None the identity matrix is assumed. The overlap matrix should correspond to the system and point the eigenvectors has been evaluated at.projection (Union[ProjectionTypeTrace, ProjectionTypeDiag, ProjectionTypeHadamard, True, False]) – how the projection should be done
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.
- Returns:
spin moments per state with final dimension
(3, state.shape[0])
, or(3, state.shape[0], state.shape[1]//2)
if projection is orbitals/basis/true- Return type:
- Parameters:
projection (Union[ProjectionTypeTrace, ProjectionTypeDiag, ProjectionTypeHadamard, True, False])