triqs::hilbert_space::space_partition
#include <triqs/hilbert_space.hpp>
template<typename StateType, typename OperatorType> class space_partition
Implementation of the automatic partitioning algorithm
Partitions a Hilbert space into a set of subspaces invariant under action of a given Hermitian operator (Hamiltonian). Optionally modifies the partition so that a given operator generates only one-to-one connections between the subspaces. For a detailed description of the algorithm see Computer Physics Communications 200, March 2016, 274-284 (section 4.2).
Template parameters
StateType: Many-body state type, must model [[statevector_concept]]
OperatorType: Imperative operator type, must provide StateType operator()(StateType const&)