code: def _matvec(
      a,
      b,
      transpose_a=False,
      transpose_b=False,
      adjoint_a=False,
      adjoint_b=False,
      a_is_sparse=False,
      b_is_sparse=False,
      name=None,
  ):  # pylint: disable=unused-argument
      """Numpy matvec wrapper."""
      return np.squeeze(
          _matmul(
              a,
              b[..., np.newaxis],
              transpose_a=transpose_a,
              transpose_b=transpose_b,
              adjoint_a=adjoint_a,
              adjoint_b=adjoint_b,
              a_is_sparse=a_is_sparse,
              b_is_sparse=b_is_sparse,
          ),
          axis=-1,
      )
  
imports: import collections
  import functools
  import numpy
  from tensorflow_probability.python.internal.backend.numpy import _utils
  from tensorflow_probability.python.internal.backend.numpy import ops
label_desc: Use image node_id 15 for calling a global function with example usage: _matvec(a, b, transpose_a, transpose_b, adjoint_a, adjoint_b, a_is_sparse, b_is_sparse, name) and returns: np