code: def _sliding_dot_products(q, t, q_len, t_len):
      """Compute the sliding dot products between a query and a time series.
  
      Parameters
      ----------
      q: numpy.array
          Query.
      t: numpy.array
          Time series.
      q_len: int
          Length of the query.
      t_len: int
          Length of the time series.
  
      Returns
      -------
      dot_prod: numpy.array
                  Sliding dot products between q and t.
      """
      # Reversing query and padding both query and time series
      t_padded = np.pad(t, (0, t_len))
      q_reversed = np.flipud(q)
      q_reversed_padded = np.pad(q_reversed, (0, 2 * t_len - q_len))
  
      # Applying FFT to both query and time series
      t_fft = np.fft.fft(t_padded)
      q_fft = np.fft.fft(q_reversed_padded)
  
      # Applying inverse FFT to obtain the convolution of the time series by
      # the query
      element_wise_mult = np.multiply(t_fft, q_fft)
      inverse_fft = np.fft.ifft(element_wise_mult)
  
      # Returns only the valid dot products from inverse_fft
      dot_prod = inverse_fft[q_len - 1 : t_len].real
  
      return dot_prod
  
file_path: sktime/sktime/transformations/panel/matrix_profile.py
imports: import numpy
  import pandas
  from sktime.transformations.base import BaseTransformer
label_desc: Use image node_id 1 for calling a global function with example usage: _sliding_dot_products(q, t, q_len, t_len) and returns: dot_prod