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
13
using namespace
triqs::gfs;
14
using namespace
triqs::mesh;
15
16
namespace
triqs_ctseg {
17
19
struct
Delta_block_adaptor
{
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
triqs_ctseg::Delta_block_adaptor
A lambda to adapt Delta(tau) for the call by det_manip.
Definition
dets.hpp:19
triqs_ctseg
dets.hpp
Generated by
1.15.0