triqs.operators.util.observables.S_op
- triqs.operators.util.observables.S_op(component, spin_names, n_orb, off_diag=None, map_operator_structure=None, orb_names=None)[source]
Create a component of the spin vector operator.
\[\hat S_{x,y,z} = \frac{1}{2}\sum_{i\sigma\sigma'} a^\dagger_{i\sigma} \mathbf{\tau}^{x,y,z}_{\sigma\sigma'} a_{i\sigma'}, \quad\hat S_\pm = \hat S_x \pm i \hat S_y.\]- Parameters:
component (string) – Component to be created, one of ‘x’, ‘y’, ‘z’, ‘+’, or ‘-‘.
spin_names (list of strings) – Names of the spins, e.g. [‘up’,’down’].
n_orb (int) – Number of orbitals.
off_diag (boolean) – Do we have (orbital) off-diagonal elements? If yes, the operators and blocks are denoted by (‘spin’, ‘orbital’), otherwise by (‘spin_orbital’,0).
map_operator_structure (dict) – Mapping of names of GF blocks names from one convention to another, e.g. {(‘up’, 0): (‘up_0’, 0), (‘down’, 0): (‘down_0’,0)}. If provided, the operators and blocks are denoted by the mapping of
('spin', 'orbital')
.
- Returns:
S – The component of the spin vector operator.
- Return type: