docstr: ...Numerical consistency check of hessian for Hawkes loglik
          
docstr_tok: ["...","Numerical","consistency","check","of","hessian","for","Hawkes","loglik"]
code: def test_ModelHawkesSumExpKernLogLik_hessian(self):
      """...Numerical consistency check of hessian for Hawkes loglik"""
      for model in [self.model]:
          hessian = model.hessian(self.coeffs).todense()
          # Check that hessian is equal to its transpose
          np.testing.assert_array_almost_equal(
              hessian, hessian.T, decimal=10
          )
  
          np.set_printoptions(precision=3, linewidth=200)
  
          # Check that for all dimension hessian row is consistent
          # with its corresponding gradient coordinate.
          for i in range(model.n_coeffs):
  
              def g_i(x):
                  return model.grad(x)[i]
  
              def h_i(x):
                  h = model.hessian(x).todense()
                  return np.asarray(h)[i, :]
  
              self.assertLess(check_grad(g_i, h_i, self.coeffs), 1e-5)
  
file_path: tick/tick/hawkes/model/tests/model_hawkes_sumexpkern_loglik_test.py
imports: import unittest
  import numpy
  from scipy.optimize import check_grad
  from tick.hawkes.model import ModelHawkesSumExpKernLogLik
  from tick.hawkes.model.tests.model_hawkes_test_utils import hawkes_log_likelihood, hawkes_sumexp_kernel_intensities
label_desc: Use image node_id 10 for calling the Test obj's underlying member method code with example usage: obj.test_ModelHawkesSumExpKernLogLik_hessian() and returns: model, np