Example #1
0
 def inplace_condition_on_cov(self,Sigma_xy,Sigma_yy,my_prediction,obs_distn):
     'cov version useful for linearized approximations; compare to inplace_condition_on for the idea'
     self.Sigma, self.mu # make sure we are in distribution form
     self._mu += Sigma_xy.dot(solve_psd(Sigma_yy+obs_distn.Sigma,obs_distn.mu - my_prediction))
     self._Sigma -= Sigma_xy.dot(solve_psd(Sigma_yy+obs_distn.Sigma,Sigma_xy.T))
     self._J = self._h = None # invalidate
     return self
Example #2
0
def compute_Xs(Gamma_i,Gamma_im1,Oi,Oim1):
    Xihat = solve_psd(Gamma_i.T.dot(Gamma_i), Gamma_i.T.dot(Oi))
    Xip1hat = solve_psd(Gamma_im1.T.dot(Gamma_im1), Gamma_im1.T.dot(Oim1))
    return Xihat, Xip1hat
Example #3
0
def compute_Xs(Gamma_i,Gamma_im1,Oi,Oim1):
    Xihat = solve_psd(Gamma_i.T.dot(Gamma_i), Gamma_i.T.dot(Oi))
    Xip1hat = solve_psd(Gamma_im1.T.dot(Gamma_im1), Gamma_im1.T.dot(Oim1))
    return Xihat, Xip1hat
Example #4
0
 def h(self):
     if self._h is None:
         self._h = solve_psd(self._Sigma,self._mu) if not self._is_diagonal else self._mu / self._Sigma
     return self._h
Example #5
0
 def mu(self):
     if self._mu is None:
         self._mu = solve_psd(self._J,self._h) if not self._is_diagonal else self._h / self._J
     return self._mu