Template Function sequant::mbpt::detail::validate_ref_av_connections¶
Defined in File op.hpp
Function Documentation¶
-
template<typename T>
void sequant::mbpt::detail::validate_ref_av_connections(const EVOptions<T> &opts, bool full_contractions)¶ Rejects connectivity constraints that ref_av cannot honor.
ref_av honors the constraints when it takes full contractions only, see ref_av_full_contractions(). Otherwise it contracts partially and the residual operators become RDMs after Wick’s theorem has run. An RDM of rank above one contains both connected and disconnected contributions (its cumulant and products of lower-rank cumulants), and the residual operators of a term can form an RDM of any rank, so whether the operators feeding it are connected is not a property of a term; neither connect nor do_not_connect can be given the meaning defined in EVOptions, and both are rejected.
- Parameters:
opts – the options passed to ref_av
full_contractions – true if ref_av takes full contractions only, see ref_av_full_contractions()
- Throws:
Exception – (or aborts, per SEQUANT_ENFORCE) if
full_contractionsis false andopts.connectoropts.do_not_connectis non-empty- Pre:
Called before any screening or operator-label lowering, so invalid requests are rejected regardless of the expression