A list of terms contributing to the Lehmann representation of a correlation function.
More...
|
| | TermList (Hash const &hasher, KeyEqual const &key_equal, IsNegligible const &is_negligible) |
| |
| void | add_term (TermType const &term) |
| |
| std::size_t | size () const |
| | Number of terms in the container. More...
|
| |
| void | clear () |
| | Remove all terms from the container. More...
|
| |
| std::unordered_set< TermType, Hash, KeyEqual > const & | as_set () const |
| | Access the underlying set of terms. More...
|
| |
| IsNegligible const & | get_is_negligible () const |
| | Access the 'is negligible' predicate. More...
|
| |
| template<typename... Args> |
| ComplexType | operator() (Args &&... args) const |
| |
| void | broadcast (MPI_Comm const &comm, int root) |
| |
| bool | check_terms () const |
| | Check if all terms in the container are not negligible. More...
|
| |
template<typename TermType>
class Pomerol::TermList< TermType >
A list of terms contributing to the Lehmann representation of a correlation function.
A set-like container storing a list of terms contributing to the Lehmann representation of a correlation function.
The terms must support hashing using a function TermType::Hash and a similarity check via TermType::KeyEqual. Similar terms are automatically collected and reduced to one term using operator+=(). A term T is considered negligible and is automatically removed from the container if TermType::IsNegligible(T, current_number_of_terms + 1) evaluates to true.
- Template Parameters
-
| TermType | Type of a single term. |
Definition at line 41 of file TermList.hpp.