triqs::atom_diag::atom_diag::constructor

#include <triqs/atom_diag/atom_diag.hpp>

Synopsis

  1. atom_diag ()
  2. atom_diag (atom_diag::many_body_op_t const & h,
  3. atom_diag (atom_diag::many_body_op_t const & h,
    atom_diag::many_body_op_t const & hyb,
  4. atom_diag (atom_diag::many_body_op_t const & h,
    int n_min,
    int n_max)
  5. atom_diag (atom_diag::many_body_op_t const & h,
    std::vector<many_body_op_t> const & qn_vector)

Documentation

1) Construct in an uninitialized state.

2) Reduce a given Hamiltonian to a block-diagonal form and diagonalize it

This constructor calls the auto-partition procedure, and the QR algorithm to diagonalize the blocks. The invariant subspaces of the Hamiltonian are chosen such that all creation and annihilation operators from the provided fundamental operator set map one subspace to one subspace.

5) Reduce a given Hamiltonian to a block-diagonal form and diagonalize it

This constructor uses quantum number operators to partition the Hilbert space into invariant subspaces, and the QR algorithm to diagonalize the blocks of the Hamiltonian. The quantum numbers must be chosen such that all creation and annihilation operators from the provided fundamental operator set map one subspace to one subspace.

Parameters

  • h Hamiltonian operator to be diagonalized.

  • fops Fundamental operator set; Must at least contain all fundamental operators met in h.

  • qn_vector Vector of quantum number operators.