triqs.operators.util.hamiltonians.h_int_slater

triqs.operators.util.hamiltonians.h_int_slater(spin_names, n_orb, U_matrix, off_diag=None, map_operator_structure=None, H_dump=None, complex=False, orb_names=None)[source]

Create a Slater Hamiltonian using fully rotationally-invariant 4-index interactions.

\[\hat{H} = \frac{1}{2} \sum_{ijkl,\sigma \sigma'} U_{ijkl} \hat{c}_{i \sigma}^\dagger \hat{c}_{j \sigma'}^\dagger \hat{c}_{l \sigma'} \hat{c}_{k \sigma}.\]
Parameters:
spin_nameslist of str

Names of the spins, e.g. ['up', 'down'].

n_orbint

Number of orbitals.

U_matrixnumpy.ndarray

The fully rotationally-invariant 4-index interaction \(U_{ijkl}\).

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.

H_dumpstr, optional

Name of a file to which a textual dump of the generated terms is written.

complexbool, optional

Whether the interaction is allowed to be complex. If False and U_matrix carries complex elements, an exception is raised.

Returns:
Operator

The Slater interaction Hamiltonian \(\hat{H}\).