code: def numba_create_bounding_matrix(
      x: np.ndarray,
      y: np.ndarray,
      window: float = -1.0,
      itakura_max_slope: float = -1.0,
  ) -> np.ndarray:
      """Numba compiled way of creating bounding matrix.
  
      Parameters
      ----------
      x: np.ndarray (2d array)
          First time series.
      y: np.ndarray (2d array)
          Second time series.
      window: float, defaults = -1.
          Float that is the % radius of the sakoe chiba window (if using Sakoe-Chiba
          lower bounding). Must be between 0 and 1.
      itakura_max_slope: float, defaults = -1.
          Gradient of the slope for itakura parallelogram (if using Itakura
          Parallelogram lower bounding). Must be between 0 and 1.
      """
      if window != -1.0:
          bounding_matrix = sakoe_chiba(x, y, window)
      elif itakura_max_slope != -1.0:
          bounding_matrix = itakura_parallelogram(
              x, y, itakura_max_slope
          )
      else:
          bounding_matrix = no_bounding(x, y)
  
      return bounding_matrix
  
file_path: sktime/sktime/distances/_lower_bounding_numba.py
imports: import math
  from typing import Union
  import numpy
  from sktime.utils.numba.njit import njit
label_desc: Use image node_id 6 for calling a global function with example usage: numba_create_bounding_matrix(x, y, window, itakura_max_slope) and returns: bounding_matrix