From 919e243922401ec5f2b9425229314a116b6b4d4d Mon Sep 17 00:00:00 2001 From: Philipp Haim Date: Wed, 11 Dec 2019 14:14:31 +0100 Subject: [PATCH] Simplified average_fluctuation_realized --- nifty6/library/correlated_fields.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/nifty6/library/correlated_fields.py b/nifty6/library/correlated_fields.py index c645e21a..0b0ab98d 100644 --- a/nifty6/library/correlated_fields.py +++ b/nifty6/library/correlated_fields.py @@ -633,16 +633,15 @@ class CorrelatedFieldMaker: space = space + spaces[0] sub_spaces = set(spaces) sub_spaces.remove(space) + #Domain containing domain[space] and domain[0] iff total_N>0 sub_dom = makeDomain([samples[0].domain[ind] - for ind in set([0,]) | set([space,])]) + for ind in (set([0,])-set(spaces))|set([space,])]) co = ContractionOperator(sub_dom, len(sub_dom)-1) + size = co.domain.size/co.target.size res = 0. for s in samples: r = s.mean(sub_spaces) - if min(spaces) == 0: - res = res + (r - r.mean(spaces[:-1]))**2 - else: - res = res + (r - co.adjoint(r.mean(spaces[:-1])))**2 + res = res + (r - co.adjoint(co(r)/size))**2 res = res.mean(spaces[0])/len(samples) if np.isscalar(res): return np.sqrt(res) -- GitLab