A Numba JIT-compiled version of non-normalized (i.e., without z-normalization) mSTOMP for parallel computation of the multi-dimensional distance profile Parameters ---------- d : int The total number of dimensions in `T` k : int The total number of sliding
(
d,
k,
idx,
p_norm,
T,
m,
excl_zone,
T_A_subseq_isfinite,
T_B_subseq_isfinite,
p,
p_norm_even,
p_norm_odd,
p_norm_first,
)
| 595 | fastmath=config.STUMPY_FASTMATH_FLAGS, |
| 596 | ) |
| 597 | def _compute_multi_p_norm( |
| 598 | d, |
| 599 | k, |
| 600 | idx, |
| 601 | p_norm, |
| 602 | T, |
| 603 | m, |
| 604 | excl_zone, |
| 605 | T_A_subseq_isfinite, |
| 606 | T_B_subseq_isfinite, |
| 607 | p, |
| 608 | p_norm_even, |
| 609 | p_norm_odd, |
| 610 | p_norm_first, |
| 611 | ): |
| 612 | """ |
| 613 | A Numba JIT-compiled version of non-normalized (i.e., without z-normalization) |
| 614 | mSTOMP for parallel computation of the multi-dimensional distance profile |
| 615 | |
| 616 | Parameters |
| 617 | ---------- |
| 618 | d : int |
| 619 | The total number of dimensions in `T` |
| 620 | |
| 621 | k : int |
| 622 | The total number of sliding windows to iterate over |
| 623 | |
| 624 | idx : int |
| 625 | The row index in `T` |
| 626 | |
| 627 | p_norm : numpy.ndarray |
| 628 | The output p_norm |
| 629 | |
| 630 | T : numpy.ndarray |
| 631 | The time series or sequence for which to compute the matrix profile |
| 632 | |
| 633 | m : int |
| 634 | Window size |
| 635 | |
| 636 | excl_zone : int |
| 637 | The half width for the exclusion zone relative to the current |
| 638 | sliding window |
| 639 | |
| 640 | T_A_subseq_isfinite : numpy.ndarray |
| 641 | A boolean array that indicates whether a subsequence in `T_A` contains a |
| 642 | `np.nan`/`np.inf` value (False) |
| 643 | |
| 644 | T_B_subseq_isfinite : numpy.ndarray |
| 645 | A boolean array that indicates whether a subsequence in `T_B` contains a |
| 646 | `np.nan`/`np.inf` value (False) |
| 647 | |
| 648 | p : float |
| 649 | The p-norm to apply for computing the Minkowski distance. Minkowski distance is |
| 650 | typically used with `p` being 1 or 2, which correspond to the Manhattan distance |
| 651 | and the Euclidean distance, respectively. |
| 652 | |
| 653 | p_norm_even : numpy.ndarray |
| 654 | The even input p-norm array between some query sequence,`Q`, and |