From 39856359ac648fa83f035c6f5dbbb3b6dd34dca5 Mon Sep 17 00:00:00 2001 From: Philipp Arras <c@philipp-arras.de> Date: Fri, 13 May 2022 13:02:14 +0200 Subject: [PATCH] Use "multiplicative" for CalibrationLiklihood --- resolve/likelihood.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resolve/likelihood.py b/resolve/likelihood.py index 99e32643..885f2198 100644 --- a/resolve/likelihood.py +++ b/resolve/likelihood.py @@ -198,11 +198,10 @@ def CalibrationLikelihood( cops = _duplicate(_obj2list(calibration_operator, ift.Operator), len(obs)) log_icovs = _duplicate(_obj2list(log_inverse_covariance_operator, ift.Operator), len(obs)) model_d = _duplicate(_obj2list(model_visibilities, ift.Field), len(obs)) - model_d = [ift.makeOp(mm) @ cop for mm, cop in zip(model_d, cops)] if len(obs) > 1: raise NotImplementedError - obs, model_d, log_icov = obs[0], model_d[0], log_icovs[0] + obs, model_d, log_icov, cop = obs[0], model_d[0], log_icovs[0]; cops[0] dt = DtypeConverter(model_d.target, np.complex128, obs.vis.dtype) dt_icov = DtypeConverter(model_d.target, np.float64, obs.weight.dtype) @@ -213,11 +212,12 @@ def CalibrationLikelihood( inverse_covariance=obs.weight, nthreads=nthreads, mask=obs.mask, + multiplicative=dt(model_d) ) - return e @ dt @ model_d + return e @ dt @ cop else: s0, s1 = "model data", "inverse covariance" e = VariableCovarianceDiagonalGaussianLikelihood( obs.vis, s0, s1, mask=obs.mask, nthreads=nthreads ) - return e @ ((dt @ model_d).ducktape_left(s0) + (dt_icov @ log_icov).ducktape_left(s1)) + return e @ ((dt @ model_d @ cop).ducktape_left(s0) + (dt_icov @ log_icov).ducktape_left(s1)) -- GitLab