code: def _jacobian_product_sq_euc(X, Y, E, G):
      """Compute the square Euclidean product between the Jacobian
      (a linear map from m x d to m x n) and a matrix E.
  
      Parameters
      ----------
      X: array-like, shape=(m, d), dtype=float64
          First time series.
      Y: array-like, shape=(n, d), dtype=float64
          Second time series.
      E: array-like, shape=(m, n), dtype=float64
      G: array-like, shape=(m, d), dtype=float64
          Product with Jacobian.
          ([m x d, m x n] * [m x n] = [m x d]).
      """
      m = X.shape[0]
      n = Y.shape[0]
      d = X.shape[1]
  
      for i in range(m):
          for j in range(n):
              for k in range(d):
                  G[i, k] += E[i, j] * 2 * (X[i, k] - Y[j, k])
  
file_path: tslearn/tslearn/metrics/soft_dtw_fast.py
imports: import numpy
  from numba import njit, prange
  from tslearn.backend.backend import instantiate_backend
label_desc: Use image node_id 12 for calling a global function with example usage: _jacobian_product_sq_euc(X, Y, E, G) without return types