code: def loglik(self, theta, t=None):
          
          if t is None:
              t = self.T - 1
          l = np.zeros(shape=theta.shape[0])
          for s in range(t + 1):
              l += self.logpyt(theta, s)
          return l
docs: log-likelihood at given parameter values. 
  
          Parameters
          ----------
          theta: dict-like
              theta['par'] is a ndarray containing the N values for parameter par
          t: int 
              time (if set to None, the full log-likelihood is returned)
  
          Returns
          -------
          l: float numpy.ndarray
              the N log-likelihood values