code: def hessian_local_log_likelihood(self, x):
          
          T, D = self.T, self.D_latent
          assert x.shape == (T, D)
  
          hfun = hessian(self.local_log_likelihood)
          H_diag = np.zeros((T, D, D))
          for t in range(T):
              H_diag[t] = hfun(x[t], self.data[t], self.inputs[t])
          return H_diag
docs: return d^2/dxt^2 log p(y | x) for each time bin
          Optionally override this in base classes