Function ref_av(ExprPtr, const OpConnections<mbpt::OpType>&, bool, bool, bool)

Function Documentation

ExprPtr ref_av(ExprPtr expr, const OpConnections<mbpt::OpType> &op_connections = default_op_connections(), bool use_topology = true, bool screen = true, bool skip_clone = false)

computes the reference expectation value

Note

equivalent to vac_av if the reference state is the Wick vacuum, i.e. if get_default_context().index_space_registry()->reference_occupied_space() == get_default_context().index_space_registry()->vacuum_occupied_space()

Parameters:
  • expr[in] input expression

  • op_connections[in] list of pairs of operators to be connected; connections are left-to-right, i.e., pair {opL,opR} declares that opL and opR are to be connected when opR precedes opL, i.e. opL is to the left of opR; e.g., {{OpType::h, OpType::t}} will ensure that each OpType::h will be connected to at least one OpType::t on its right (preceding it). The default list of connections is given by default_op_connections()

  • use_topology[in] if true, WickTheorem uses topological equivalence of terms, default is true

  • screen[in] if true, expressions are screened before lowering to Tensor level and calling WickTheorem, default is true

  • skip_clone[in] if true, will not clone the input expression

Returns:

the reference expectation value