From 82e3b3f02b6ed8e15167c01f34c4dbceb6da8df2 Mon Sep 17 00:00:00 2001 From: Michel Ferrero Date: Tue, 1 Apr 2014 17:09:04 +0200 Subject: [PATCH] Fix a bug in bosonic Fourier transform Appears for full_bins and bosonic GFs. --- triqs/gfs/local/fourier_matsubara.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/triqs/gfs/local/fourier_matsubara.cpp b/triqs/gfs/local/fourier_matsubara.cpp index eb141322..a2a37027 100644 --- a/triqs/gfs/local/fourier_matsubara.cpp +++ b/triqs/gfs/local/fourier_matsubara.cpp @@ -160,7 +160,8 @@ namespace gfs { gt[t] = convert_green(g_out(t.index() == L ? 0 : t.index()) + oneBoson(a1, b1, t, beta) + oneBoson(a2, b2, t, beta) + oneBoson(a3, b3, t, beta)); } - if (gt.mesh().kind() == full_bins) gt.on_mesh(L) = -gt.on_mesh(0) - convert_green(ta(1)(0, 0)); + double pm = (gw.domain().statistic == Fermion ? -1.0 : 1.0); + if (gt.mesh().kind() == full_bins) gt.on_mesh(L) = pm * (gt.on_mesh(0) + convert_green(ta(1)(0, 0))); // set tail gt.singularity() = gw.singularity(); }