code: def approx_post(self, xp, yt):
          
          xmax, Q = self.approx_likelihood(yt)
          G = np.eye(self.dx)
          covY = linalg.inv(Q)
          pred = kalman.MeanAndCov(mean=self.predmean(xp), cov=self.SigX)
          return kalman.filter_step(G, covY, pred, xmax)
docs: approximates the law of X_t|Y_t,X_{t-1}
          
          returns a tuple of size 3: loc, cov, logpyt