code: def _matmul(a, b, xp):
      if xp is numpy:
          # numpy 1.9 does not support matmul.
          # So we use numpy.einsum instead of numpy.matmul.
          return xp.einsum("...jk,...kl->...jl", a, b)
      else:
          return xp.matmul(a, b)
  
file_path: chainer/chainer/functions/noise/simplified_dropconnect.py
imports: import numpy
  from chainer import backend
  from chainer import function_node
  import chainer.functions
  from chainer.utils import type_check
  from chainer import variable
label_desc: Use image node_id 2 for calling a global function with example usage: _matmul(a, b, xp) and returns: xp, xp