triqs.atom_diag.AtomDiag
- triqs.atom_diag.AtomDiag(*args, **kwargs)[source]
Create and return an exact diagonalization solver. Depending on the type of h returns
AtomDiagReal
orAtomDiagComplex
Use the QR algorithm to diagonalize the Hamiltonian. Auto-partitions the Hamiltonian into subspaces (blocks) such that all creation and annihilation operators map one subspace to exactly one other subspace.
- h: Operator (Real)
Hamiltonian to be diagonalized.
- fops: list of tuple of strings and ints
List of all annihilation / creation operator flavors (indices). Must at least contain all flavors met in h.
- qn_vector: list of Operator (Real), optional
Vector of quantum number operators to be used for the auto-partitioning
- n_min, n_max: integers, optional
Truncate the Fock-space to states with particle number in [n_min, n_max] Cannot be combined with qn_vector