code: def hessian_vec(func, point_ndim=1, func_out_ndim=None):
      """Wrap autograd hessian function.
  
      We note that the hessian function of autograd is not vectorized
      by default, thus we modify its behavior here.
  
      We force the hessian to return a tensor of shape (n_points, dim, dim)
      when several points are given as inputs.
  
      Parameters
      ----------
      func : callable
          Function whose hessian values
          will be computed.
      func_out_ndim : int
          Unused. Here for API consistency.
  
      Returns
      -------
      func_with_hessian : callable
          Function that returns func's hessian
          values at its inputs args.
      """
      hessian_func = hessian(func)
  
      def _hess(x):
          if x.ndim == point_ndim:
              return hessian_func(x)
          return _np.stack([hessian_func(one_x) for one_x in x])
  
      return _hess
  
file_path: geomstats/geomstats/_backend/autograd/autodiff.py
imports: import autograd
  import autograd.numpy
  from autograd import jacobian
label_desc: Use image node_id 9 for calling a global function with example usage: hessian_vec(func, point_ndim, func_out_ndim) and returns: _hess, _np, hessian_func