Template Struct EVOptions

Struct Documentation

template<typename T>
struct EVOptions

Defines the behavior of expectation value methods. The struct is used by both tensor and operator level methods, but there are parameters in here which are only meaningful at the operator level. Two operators are connected in a term if a factor that Wick’s theorem produces carries indices of both: a contraction or, under a MultiProduct vacuum, also a density or a cumulant.

Pre:

When used with ref_av, the reference differs from the Wick vacuum and the vacuum is not MultiProduct, connect and do_not_connect must both be empty.

Public Members

SEQUANT_DESIGNATED_INIT_ONLY
OpConnections<T> connect = {}

Pairs of operators that must be connected. Operator-level calls use labels: {opL,opR} applies to every matching pair with opL to the left of opR. Tensor-level calls use zero-based normal-operator positions.

OpConnections<T> do_not_connect = {}

Pairs of operators that must not be connected, using the same label or position convention as connect.

bool screen = true

If true, expressions are screened before lowering to Tensor level and calling WickTheorem. Only valid in Operator level calls

bool use_topology = true

If true, WickTheorem uses topological equivalence of terms.

bool skip_clone = false

If true, will not clone the input expression. Only valid in Operator level calls