code: def _matmul(
      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 matmul wrapper."""
      a = ops.convert_to_tensor(a)
      b = ops.convert_to_tensor(b)
      if a_is_sparse or b_is_sparse:
          raise NotImplementedError(
              "Numpy backend does not support sparse matmul."
          )
      if transpose_a or adjoint_a:
          a = _matrix_transpose(a, conjugate=adjoint_a)
      if transpose_b or adjoint_b:
          b = _matrix_transpose(b, conjugate=adjoint_b)
      return np.matmul(a, b)
  
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 14 for calling a global function with example usage: _matmul(a, b, transpose_a, transpose_b, adjoint_a, adjoint_b, a_is_sparse, b_is_sparse, name) and returns: np