code: def create_matrix_rotation_2d(angle, matrix=None):
      rotation = np.array(
          [
              [np.cos(angle), -np.sin(angle)],
              [np.sin(angle), np.cos(angle)],
          ]
      )
      if matrix is None:
          return rotation
  
      return np.dot(matrix, rotation)
  
imports: import random
  import numpy
  import paddle
  from paddle.nn.functional import avg_pool2d, avg_pool3d
  from typing import List, Tuple, Union, Callable
  from copy import deepcopy
  from scipy.ndimage import map_coordinates, fourier_gaussian
  from scipy.ndimage.filters import gaussian_filter, gaussian_gradient_magnitude
  from scipy.ndimage.morphology import grey_dilation
  from skimage.transform import resize
  from scipy.ndimage.measurements import label
label_desc: Use image node_id 21 for calling a global function with example usage: create_matrix_rotation_2d(angle, matrix) and returns: np, rotation