code: def _compute_pairwise_distance(
      x: np.ndarray,
      y: np.ndarray,
      symmetric: bool,
      distance_callable: DistanceCallable,
  ) -> np.ndarray:
      """Compute pairwise distance between two numpy arrays.
  
      Parameters
      ----------
      x: np.ndarray (2d or 3d array)
          First time series.
      y: np.ndarray (2d or 3d array)
          Second time series.
      symmetric: bool
          Boolean that is true when distance_callable(x,y) == distance_callable(y,x).
          Used in some to speed up pairwise computation for symmetric distance functions.
      distance_callable: Callable[[np.ndarray, np.ndarray], float]
          No_python distance callable to measure the distance between two 2d numpy
          arrays.
  
      Returns
      -------
      np.ndarray (2d of size mxn where m is len(x) and n is len(y)).
          Pairwise distance matrix between the two time series.
      """
      _x = _make_3d_series(x)
      _y = _make_3d_series(y)
      x_size = _x.shape[0]
      y_size = _y.shape[0]
  
      pairwise_matrix = np.zeros((x_size, y_size))
  
      for i in range(x_size):
          curr_x = _x[i]
          for j in range(y_size):
              if symmetric and j < i:
                  pairwise_matrix[i, j] = pairwise_matrix[j, i]
              else:
                  pairwise_matrix[i, j] = distance_callable(
                      curr_x, _y[j]
                  )
      return pairwise_matrix
  
file_path: sktime/sktime/distances/_numba_utils.py
imports: from typing import Callable
  import numpy
  from sktime.distances.base import DistanceCallable
  from sktime.utils.numba.njit import njit
label_desc: Use image node_id 2 for calling a global function with example usage: _compute_pairwise_distance(x, y, symmetric, distance_callable) and returns: pairwise_matrix