triqs.operators.util.observables.L2_op
- triqs.operators.util.observables.L2_op(spin_names, n_orb, off_diag=None, map_operator_structure=None, basis='spherical', T=None, orb_names=None)[source]
Create the square of the orbital angular-momentum operator.
\[\hat{L}^2 = \hat{L}_x^2 + \hat{L}_y^2 + \hat{L}_z^2.\]- Parameters:
- spin_nameslist of str
Names of the spins, e.g.
['up', 'down'].- n_orbint
Number of orbitals.
- off_diagbool, optional
If
True, operators and blocks are labelled by('spin', 'orbital'); otherwise by('spin_orbital', 0).- map_operator_structuredict, optional
Mapping of GF-block names from one convention to another, e.g.
{('up', 0): ('up_0', 0), ('down', 0): ('down_0', 0)}. If provided, the operators and blocks use the image of('spin', 'orbital')under this map.- basisstr, optional
Basis in which the interaction matrix is computed. One of:
'spherical': spherical harmonics (default),'cubic': cubic harmonics (valid only for integer orbital momenta, i.e. oddn_orb),'other': arbitrary basis specified by the transformation matrix \(T\).
- Tnumpy.ndarray, optional
Transformation matrix for the basis change. Required when
basis='other'.
- Returns:
- Operator
The square of the orbital angular-momentum operator \(\hat{L}^2\).