diff --git a/enterprise/signals/gp_signals.py b/enterprise/signals/gp_signals.py index 21ad177d..e51c50e0 100644 --- a/enterprise/signals/gp_signals.py +++ b/enterprise/signals/gp_signals.py @@ -876,5 +876,13 @@ def solve(self, right, left_array=None, logdet=False): TNT = self.Nmat.solve(T, left_array=T) return TNT - np.tensordot(self.MNF(T), self.MNMMNF(T), (0, 0)) + elif left_array is not None and right.ndim == left_array.ndim and right.ndim <= 2: + # needed for Fe calculation and OS statistics + T = right + L = left_array + + LNT = self.Nmat.solve(T, left_array=L) + + return LNT - np.tensordot(self.MNF(L), self.MNMMNF(T), (0, 0)) else: raise ValueError("Incorrect arguments given to MarginalizingNmat.solve.")