def from_moments_iso(mu, sigma_sq, Z=0.):
     dim = mu.shape[-1]
     return Distribution(mu, psd_matrices.EyeMatrix(sigma_sq, dim), Z)
 def conditional_for(self, i):
     Lambda = psd_matrices.EyeMatrix(self._Lambda.elt(i, i), 1)
     return Potential(self._J_diff[..., i:i + 1].copy(), Lambda,
                      self._Z_diff).translate(self._X[..., i:i + 1])
 def from_moments_iso(mu, sigma_sq):
     sigma_sq = np.asarray(sigma_sq)
     return Distribution(mu, psd_matrices.EyeMatrix(
         sigma_sq, mu.shape[-1])).to_potential()