# triqs::atom_diag::atom_diag¶

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