Closed chillenzer closed 1 year ago
Is your formula for the correlation matrix actually correct? What we want to compute is
C_{ab} = \left\langle O_a O_b \right\rangle - \left\langle O_a \right\rangle \left\langle O_b \right\rangle.
The first term is fine but for the second term you are using the following matrix inside of pe.Obs:
pe.Obs
vevs = self.vevs.sort_values(by=["Bin_index", "Op_index"]).Vac_exp.values.reshape(self.num_bins, self.num_ops) vev_matrix = vevs[:, :, np.newaxis] * vevs[:, np.newaxis, :] / self.NT**2 pe.Obs([vev_matrix[:, op_idx1, op_idx2]], ["glue_bins"])
which for my understanding means multiply the two spacetime averages of $O_{a/b}$ and only afterwards take an expectation value. Shouldn't it be
vevs = self.vevs.sort_values(by=["Bin_index", "Op_index"]).Vac_exp.values.reshape(self.num_bins, self.num_ops) vev_matrix = pe.Obs(vevs[:, :, np.newaxis]) * pe.Obs(vevs[:, np.newaxis, :]) / self.NT**2
(modulo details of correctly calling pe.Obs)?
Just confirmed that this issue is real. Working on it.
Is your formula for the correlation matrix actually correct? What we want to compute is
The first term is fine but for the second term you are using the following matrix inside of
pe.Obs
:which for my understanding means multiply the two spacetime averages of $O_{a/b}$ and only afterwards take an expectation value. Shouldn't it be
(modulo details of correctly calling
pe.Obs
)?