def _sample(self,lagged_outputs):
     if not self._broken:
         try:
             ylags = self._pad_ylags(lagged_outputs)
             A,sigma = sample_mniw(self.n,self.sigma_n,self.M_n,np.linalg.inv(self.K_n))
             return A.dot(ylags) + np.linalg.cholesky(sigma).dot(np.random.randn(sigma.shape[0]))
         except np.linalg.LinAlgError:
             print 'WARNING: particle broke'
             self._broken = True
     return -99999*np.ones(self.M_n.shape[0])
 def _sample(self, lagged_outputs):
     if not self._broken:
         try:
             ylags = self._pad_ylags(lagged_outputs)
             A, sigma = sample_mniw(self.n, self.sigma_n, self.M_n,
                                    np.linalg.inv(self.K_n))
             return A.dot(ylags) + np.linalg.cholesky(sigma).dot(
                 np.random.randn(sigma.shape[0]))
         except np.linalg.LinAlgError:
             print 'WARNING: particle broke'
             self._broken = True
     return -99999 * np.ones(self.M_n.shape[0])
 def __str__(self):
     return '\n'.join(map(str,sample_mniw(self.n,self.sigma_n,self.M_n,np.linalg.inv(self.K_n))))
 def __str__(self):
     return '\n'.join(
         map(
             str,
             sample_mniw(self.n, self.sigma_n, self.M_n,
                         np.linalg.inv(self.K_n))))