sisl.physics.Spin
- class sisl.physics.Spin(kind='', dtype=None)
Bases:
object
Spin class to determine configurations and spin components.
The basic class
Spin
implements a generic method to determine a spin configuration.Its usage can be summarized in these few examples:
>>> Spin(Spin.UNPOLARIZED) == Spin("unpolarized") == Spin() True >>> Spin(Spin.POLARIZED) == Spin("polarized") == Spin("p") True >>> Spin(Spin.NONCOLINEAR, dtype=np.complex128) == Spin("non-collinear") == Spin("nc") True >>> Spin(Spin.SPINORBIT, dtype=np.complex128) == Spin("spin-orbit") == Spin("so") == Spin("soc") True
Note that a data-type may be associated with a spin-object. This is not to say that the data-type is used in the configuration, but merely that it helps any sub-classed or classes who use the spin-object to determine the usage of the different spin-components.
- Parameters:
dtype (
numpy.dtype
, optional) – the data-type used for the spin-component. Default isnp.float64
Methods
copy
()Create a copy of the spin-object
Attributes
Data-type kind
Data-type of the spin configuration
True if the configuration is polarized
Whether the spin-box is only using the diagonal components
True if the configuration non-collinear
True if the configuration is polarized
True if the configuration is spin-orbit
True if the configuration is not polarized
A unique ID for the kind of spin configuration
Number of elements to describe the spin-components
Number of spinor components (1 or 2)
- NONCOLINEAR = 2
- POLARIZED = 1
- SPINORBIT = 3
- UNPOLARIZED = 0
- X = array([[0.+0.j, 1.+0.j], [1.+0.j, 0.+0.j]])
- Y = array([[ 0.+0.j, -0.-1.j], [ 0.+1.j, 0.+0.j]])
- Z = array([[ 1.+0.j, 0.+0.j], [ 0.+0.j, -1.+0.j]])
- property dkind
Data-type kind
- property dtype
Data-type of the spin configuration
- property is_colinear
True if the configuration is polarized
- property is_diagonal
Whether the spin-box is only using the diagonal components
This will return true for non-polarized and polarized spin configurations. Otherwise false.
- property is_noncolinear
True if the configuration non-collinear
- property is_polarized
True if the configuration is polarized
- property is_spinorbit
True if the configuration is spin-orbit
- property is_unpolarized
True if the configuration is not polarized
- property kind
A unique ID for the kind of spin configuration
- property size
Number of elements to describe the spin-components
- property spinor
Number of spinor components (1 or 2)