class_docstr: An abstract class for models that implement a model with first
  order and second information, namely gradient and hessian norm
  information
  
  Attributes
  ----------
  n_calls_hessian_norm : `int` (read-only)
      Number of times ``hessian_norm`` has been called so far
  
  dtype : `{'float64', 'float32'}`, default='float64'
      Type of the data arrays used.
  
  Notes
  -----
  This class should be not used by end-users, it is intended for
  development only.
docstr: Computes the norm given by coeffs^top * H * coeffs here H
  is the hessian of the model computed at ``point``
  
  Parameters
  ----------
  coeffs : `numpy.ndarray`
      Vector where the hessian norm is computed
  
  point : `numpy.ndarray`
      Vector where we compute the hessian of the model
  
  Returns
  -------
  output : `float`
      Value of the hessian norm
code: def hessian_norm(
      self, coeffs: np.ndarray, point: np.ndarray
  ) -> float:
      """Computes the norm given by coeffs^top * H * coeffs here H
      is the hessian of the model computed at ``point``
  
      Parameters
      ----------
      coeffs : `numpy.ndarray`
          Vector where the hessian norm is computed
  
      point : `numpy.ndarray`
          Vector where we compute the hessian of the model
  
      Returns
      -------
      output : `float`
          Value of the hessian norm
      """
      if not self._fitted:
          raise Exception(
              "Must must fit data before calling ``hessian_norm`` "
          )
      if len(coeffs) != self.n_coeffs:
          raise ValueError(
              (
                  "``coeffs`` has size %i while the model"
                  + "expects %i coefficients"
              )
              % (len(coeffs), self.n_coeffs)
          )
      if len(point) != self.n_coeffs:
          raise ValueError(
              (
                  "``point`` has size %i while the model"
                  + "expects %i coefficients"
              )
              % (len(coeffs), self.n_coeffs)
          )
      self._inc_attr(N_CALLS_HESSIAN_NORM)
      self._inc_attr(
          PASS_OVER_DATA, step=self.pass_per_operation[HESSIAN_NORM]
      )
      return self._hessian_norm(coeffs, point)
  
file_path: tick/tick/base_model/model_second_order.py
imports: from abc import abstractmethod
  import numpy
  from .None import ModelFirstOrder
  from .model import PASS_OVER_DATA, HESSIAN_NORM, N_CALLS_HESSIAN_NORM
label_desc: Use image node_id 3 for calling the ModelSecondOrder obj's underlying member method code with example usage: obj.hessian_norm(coeffs, point) and returns: self