#include <triqs/atom_diag/atom_diag.hpp>

template<bool Complex> class atom_diag

Lightweight exact diagonalization solver This class is provided as a simple tool to diagonalize Hamiltonians of finite fermionic systems of a moderate size.

Template parameters

  • Complex: Allow the Hamiltonian to be complex.

Member types

scalar_t std::conditional_t<Complex, std::complex<double>, double> Type of matrix elements (double/dcomplex)
matrix_t matrix<atom_diag::scalar_t> Matrix type
block_matrix_t std::vector<matrix_t> Block-diagonal matrix type
full_hilbert_space_state_t vector<atom_diag::scalar_t> State vector in the full Hilbert space, written in the eigenbasis of \(\hat H\).
many_body_op_t triqs::operators::many_body_operator_generic<scalar_t> Many-body operator type used by this atom_diag specialization.