docstr: Test block diagonalization with random inputs.
code: def test_convert_to_block_diag_2d_random(self):
      """Test block diagonalization with random inputs."""
      sizes = np.random.randint(low=2, high=6, size=(3, 2))
      data = [np.random.uniform(size=s) for s in sizes]
      batch_data_padded = np.zeros(
          shape=np.concatenate(
              ([len(sizes)], np.max(sizes, axis=0)), axis=0
          )
      )
      for i, s in enumerate(sizes):
          batch_data_padded[i, : s[0], : s[1]] = data[i]
  
      batch_data_padded_sparse = _dense_to_sparse(batch_data_padded)
      block_diag_data = linalg.block_diag(*data)
      block_diag_sparse = utils.convert_to_block_diag_2d(
          batch_data_padded_sparse, sizes=sizes
      )
  
      self.assertAllEqual(
          tf.sparse.to_dense(block_diag_sparse), block_diag_data
      )
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import linalg
  import tensorflow
  from tensorflow_graphics.geometry.convolution import utils
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 5 for calling the UtilsConvertToBlockDiag2dTests obj's underlying member method code with example usage: obj.test_convert_to_block_diag_2d_random() without return types