#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&)

Member types

Non Member functions