triqs::hilbert_space::state<HilbertSpace,ScalarType,true>

#include <triqs/hilbert_space/state.hpp>

template<typename HilbertSpace, typename ScalarType> class state<HilbertSpace,ScalarType,true>

State: implementation based on a map

This specialization can work well on huge Hilbert spaces, as long as there are not too many non-vanishing amplitudes in the state.

Template parameters

  • HilbertSpace: Hilbert space type, one of [[hilbert_space]] and [[sub_hilbert_space]]

  • ScalarType: Amplitude type, normally double or std::complex<double>

Member types

Member functions

(constructor)

size

operator()

operator+=

operator-=

operator*=

operator/=

get_hilbert

set_hilbert

Non Member functions

dot_product

foreach