triqs.atom_diag.AtomDiag

triqs.atom_diag.AtomDiag(*args, **kwargs)[source]

Lightweight exact diagonalization solver

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.

Parameters:
  • h (Operator) – 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, optional) – Vector of quantum number operators to be used for the auto-partitioning

  • n_min (integers, optional) – Truncate the Fock-space to states with particle number in [n_min, n_max] Cannot be combined with qn_vector

  • n_max (integers, optional) – Truncate the Fock-space to states with particle number in [n_min, n_max] Cannot be combined with qn_vector