TRIQS/triqs_ctseg 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
dets.hpp
1// Copyright (c) 2022--present, The Simons Foundation
2// Copyright (c) 2022--present, Max Planck Institute for Polymer Research, Mainz, Germany
3// This file is part of TRIQS/ctseg and is licensed under the terms of GPLv3 or later.
4// SPDX-License-Identifier: GPL-3.0-or-later
5// See LICENSE in the root of this distribution for details.
6
7#pragma once
8#include <triqs/gfs.hpp>
9#include <triqs/det_manip.hpp>
10
11#include "./tau_t.hpp"
12
13using namespace triqs::gfs;
14using namespace triqs::mesh;
15
16namespace triqs_ctseg {
17
20 gf<imtime, matrix_real_valued> Delta;
21
22 double operator()(std::pair<tau_t, int> const &x, std::pair<tau_t, int> const &y) const {
23 double res = Delta(double(x.first - y.first))(x.second, y.second);
24 return (x.first >= y.first ? res : -res); // x,y first are tau_t, wrapping is automatic in
25 // the - operation, but need to compute the sign
26 }
27 };
28
29 using det_t = triqs::det_manip::det_manip<Delta_block_adaptor>;
30
31} // namespace triqs_ctseg
A lambda to adapt Delta(tau) for the call by det_manip.
Definition dets.hpp:19