triqs::hilbert_space::imperative_operator
#include <triqs/hilbert_space/imperative_operator.hpp>
template<typename HilbertType, typename ScalarType, bool UseMap> class imperative_operator
This class is the imperative version of the [[many_body_operator]]
It is created from a many_body_operator object, and is used to act on a [[state]]. There is an optimization option UseMap (useful when HilbertType = sub_hilbert_space), which allows the user to give a map describing the connections between Hilbert subspaces generated by this operator.
Template parameters
HilbertType: Hilbert space type, one of [[hilbert_space]] and [[sub_hilbert_space]]
ScalarType: Type of operator’s coefficients, normally double or std::complex<double>
UseMap: Use a user-provided connection map on construction
Warning
HilbertType = sub_hilbert_space implies that the operator generates only one-to-one connections between the used subspaces. If this not the case, one has to use HilbertType = hilbert_space.