code: def test_matmul_ops_rank_2():
      a = np.random.randn(N, N)
      b = np.random.randn(N, N)
      convert_to_sparse = [[True, False], [False, True], [True, True]]
  
      _check_op(ops.modal_dot, [a, b], a.dot(b), convert_to_sparse)
      _check_op(
          ops.modal_dot,
          [a, b],
          a.T.dot(b),
          convert_to_sparse,
          transpose_a=True,
      )
      _check_op(
          ops.modal_dot,
          [a, b],
          a.dot(b.T),
          convert_to_sparse,
          transpose_b=True,
      )
      _check_op(
          ops.modal_dot,
          [a, b],
          a.T.dot(b.T),
          convert_to_sparse,
          transpose_a=True,
          transpose_b=True,
      )
      _check_op(
          ops.matmul_at_b_a,
          [a, b],
          a.T.dot(b).dot(a),
          convert_to_sparse,
      )
  
imports: import numpy
  import scipy.sparse
  import tensorflow
  from spektral.data.utils import to_disjoint
  from spektral.layers import ops
  from spektral.utils import convolution
  from spektral.utils.sparse import sp_batch_to_sp_tensor, sp_matrix_to_sp_tensor
label_desc: Use image node_id 7 for calling a global function with example usage: test_matmul_ops_rank_2() without return types