def _forward_prop_random_thru_post_mm(self, mx, vx, return_info=False):
"""Propagate uncertain inputs thru posterior, using Moment Matching
Args:
mx (float): input means, size K x Din
vx (TYPE): input variances, size K x Din
return_info (bool, optional): Description
Returns:
float, size K x Dout: output means
float, size K x Dout: output variances
"""
psi0 = np.exp(2.0 * self.sf)
psi1, psi2 = compute_psi_weave(
2 * self.ls, 2 * self.sf, mx, vx, self.zu)
mout = np.einsum('nm,dm->nd', psi1, self.A)
Bpsi2 = np.einsum('dab,nab->nd', self.B_sto, psi2)
vout = psi0 + Bpsi2 - mout**2
if return_info:
return mout, vout, psi1, psi2
else:
return mout, vout
评论列表
文章目录