10namespace triqs_ctint {
12 using triqs::det_manip::det_manip;
20 template <
bool dag>
struct arg_t {
44 using c_t = arg_t<false>;
45 using cdag_t = arg_t<true>;
47 template <
bool dag> std::ostream &operator<<(std::ostream &os, arg_t<dag>
const &c) {
48 os << (c.dagger ?
"cdag_t{" :
"c_t{") <<
"tau=" << c.tau <<
", "
49 <<
"u=" << c.u <<
", "
50 <<
"vertex_label=" << c.vertex_label <<
", "
51 <<
"pos=" << c.pos <<
", "
52 <<
"s=" << c.s <<
"}";
65 array_const_view<double, 4>
alpha;
67 g_tau_t::target_t::scalar_t operator()(c_t
const &c, cdag_t
const &cdag)
const {
74 auto [s, dtau] = cyclic_difference(c.
tau, cdag.
tau);
82 using det_t = det_manip<G0hat_t>;
array_const_view< double, 4 > alpha
The alpha function.
gf_const_view< imtime, g_tau_t::target_t > G0_shift_tau
The (shifted) non-interacting Green function.
static constexpr bool dagger
bool operator<(arg_t const &x) const
Lexicographical sorting of arg_t. This determines the order of row and columns inside the dets.