code: def test_block_diag():
      A = pt.matrix("A")
      B = pt.matrix("B")
      C = pt.matrix("C")
      D = pt.matrix("D")
      X = pt.linalg.block_diag(A, B, C, D)
  
      A_val = np.random.normal(size=(5, 5))
      B_val = np.random.normal(size=(3, 3))
      C_val = np.random.normal(size=(2, 2))
      D_val = np.random.normal(size=(4, 4))
      out_fg = pytensor.graph.FunctionGraph([A, B, C, D], [X])
      compare_numba_and_py(out_fg, [A_val, B_val, C_val, D_val])
  
file_path: pytensor/tests/link/numba/test_slinalg.py
imports: import re
  import numpy
  import pytest
  import pytensor
  import pytensor.tensor
  from pytensor import config
  from pytensor.compile import SharedVariable
  from pytensor.graph import Constant, FunctionGraph
  from tests.link.numba.test_basic import compare_numba_and_py
  from tests.tensor.test_extra_ops import set_test_value
label_desc: Use image node_id 7 for calling a global function with example usage: test_block_diag() without return types