def ln_likelihood(p, joker_params, data):
P, phi0, ecc, omega, s, K, *v_terms = p
# a little repeated code here...
# phi0 now is implicitly relative to data.t_offset, not mjd=0
t = data._t_bmjd
zdot = rv_from_elements(times=t, P=P, K=1., e=ecc,
omega=omega, phi0=phi0,
anomaly_tol=joker_params.anomaly_tol)
# TODO: right now, we only support a single, global velocity trend!
A1 = np.vander(t, N=joker_params._n_trend, increasing=True)
A = np.hstack((zdot[:,None], A1))
p = np.array([K] + v_terms)
ivar = get_ivar(data, s)
dy = A.dot(p) - data.rv.value
return 0.5 * (-dy**2 * ivar - log_2pi + np.log(ivar))
评论列表
文章目录