code: def test_matmul():
      # 1-dim x n-dim
      a = tl.randn((4,))
      b = tl.randn((2, 3, 4, 5))
      res = tl.matmul(a, b)
      assert_equal(res.shape, (2, 3, 5))
  
      # n_dim x 1-dim
      a = tl.randn((5,))
      res = tl.matmul(b, a)
      assert_equal(res.shape, (2, 3, 4))
  
      # n-dim x n-dim
      a = tl.randn((2, 3, 6, 4))
      res = tl.matmul(a, b)
      assert_equal(res.shape, (2, 3, 6, 5))
  
imports: from concurrent.futures import ThreadPoolExecutor
  import pytest
  from time import time
  import numpy
  from scipy.linalg import svd
  from scipy import special
  import tensorly
  from ..None import backend
  from ..testing import assert_allclose, assert_array_equal, assert_equal, assert_, assert_array_almost_equal, assert_raises
  from tensorly.tenalg.svd import SVD_FUNS, svd_interface
label_desc: Use image node_id 14 for calling a global function with example usage: test_matmul() without return types