code: def blockwise_dot(*matrices):
      n = len(matrices)
      if n % 2 != 0:
          raise Exception(
              "blockwise_dot expects an even number of arguments, "
              "but len(matrices) is {}.".format(n)
          )
      shape = (matrices[0].shape[0], matrices[n // 2].shape[1])
      result = np.zeros(shape)
      for i in range(n // 2):
          result += np.dot(matrices[i], matrices[n // 2 + i])
      return result
  
imports: import numpy
  import ray
  import ray.experimental.array.remote
label_desc: Use image node_id 9 for calling a global function with example usage: blockwise_dot() and returns: result