code: def tensor_jacobian_product(fun, argnum=0):
      """Builds a function that returns the exact tensor-Jacobian product, that
      is the Jacobian matrix left-multiplied by tensor. The returned function
      has arguments (*args, tensor, **kwargs)."""
  
      def vector_dot_fun(*args, **kwargs):
          args, vector = args[:-1], args[-1]
          return np.tensordot(
              vector, fun(*args, **kwargs), axes=np.ndim(vector)
          )
  
      return jacobian(vector_dot_fun, argnum)
  
imports: from __future__ import absolute_import
  from functools import partial
  from collections import OrderedDict
  import warnings
  from .wrap_util import unary_to_nary
  from .builtins import tuple
  from .core import make_vjp, make_jvp
  from .extend import primitive, defvjp_argnum, vspace
  import autograd.numpy
label_desc: Use image node_id 10 for calling a global function with example usage: tensor_jacobian_product(fun, argnum) and returns: jacobian, np