From 126e1461b9f6362ae7e820dbd0a9ad208477e22c Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 3 Mar 2014 18:27:38 +0100 Subject: [PATCH] Attempts to fix the conjugation in the dot-product --- src/cosmopower.cpp | 2 +- src/fourier/details/euclidian_maps.hpp | 4 ++-- src/fourier/details/euclidian_spectrum_1d.hpp | 9 ++++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/cosmopower.cpp b/src/cosmopower.cpp index a96a6bb..20026a2 100644 --- a/src/cosmopower.cpp +++ b/src/cosmopower.cpp @@ -212,7 +212,7 @@ double CosmoPower::powerBDM(double k) double CosmoPower::powerTest(double k) { - return 1/(1+k*k); + return normPower;//1/(1+k*k); } /* diff --git a/src/fourier/details/euclidian_maps.hpp b/src/fourier/details/euclidian_maps.hpp index 5b9b95d..5673565 100644 --- a/src/fourier/details/euclidian_maps.hpp +++ b/src/fourier/details/euclidian_maps.hpp @@ -254,8 +254,8 @@ namespace CosmoTool for (long p = 0; p < plane_size; p++) { long q0 = N0*p, q1 = (p+1)*N0-1; - result += conj(d1[q0]) * d2[q0]; - result += conj(d1[q1]) * d2[q1]; + result += 2*conj(d1[q0]) * d2[q0]; + result += 2*conj(d1[q1]) * d2[q1]; } } return result; diff --git a/src/fourier/details/euclidian_spectrum_1d.hpp b/src/fourier/details/euclidian_spectrum_1d.hpp index 4d6fb9b..01a7dac 100644 --- a/src/fourier/details/euclidian_spectrum_1d.hpp +++ b/src/fourier/details/euclidian_spectrum_1d.hpp @@ -138,7 +138,7 @@ namespace CosmoTool plane_size *= dims[q]; } - for (long p = 1; p < plane_size/2; p++) + for (long p = 1; p < plane_size/2+1; p++) { long q = (p+1)*dims[0]-1; long q2 = (plane_size-p+1)*dims[0]-1; @@ -147,6 +147,13 @@ namespace CosmoTool d[q] = conj(d[q2]); } + for (long p = 1; p < plane_size/2+1; p++) + { + long q = (p)*dims[0]; + long q2 = (plane_size-p)*dims[0]; + d[q] = conj(d[q2]); + } + if (alleven) { long q = 0;