From 97fc279eed7a210ef736cc19cd38ccfdcbfa6d8a Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Tue, 3 Nov 2020 15:09:07 +0100 Subject: [PATCH] Bug in covariance fixed that appeared when working with several replica of different length. --- pyerrors/pyerrors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyerrors/pyerrors.py b/pyerrors/pyerrors.py index a87185d7..6c6a1130 100644 --- a/pyerrors/pyerrors.py +++ b/pyerrors/pyerrors.py @@ -852,12 +852,12 @@ def covariance(obs1, obs2, correlation=False, **kwargs): r_length.append(len(obs1.deltas[r_name])) - gamma += np.sum(obs1.deltas[r_name] * obs2.deltas[r_name]) / len(obs1.deltas[r_name]) + gamma += np.sum(obs1.deltas[r_name] * obs2.deltas[r_name]) e_N = np.sum(r_length) tau_combined = (obs1.e_tauint[e_name] + obs2.e_tauint[e_name]) / 2 - dvalue += gamma * (1 + 1 / e_N) / e_N * 2 * tau_combined + dvalue += gamma / e_N * (1 + 1 / e_N) / e_N * 2 * tau_combined if np.abs(dvalue / obs1.dvalue / obs2.dvalue) > 1.0: dvalue = np.sign(dvalue) * obs1.dvalue * obs2.dvalue