Pseudo-Mode Splitting Index
measurePMSI.RdComputes the pseudo-mode splitting index of each pair of adjacent modes.
Arguments
- modes
Finite numeric matrix, samples by modes, with at least one column. Attributes other than
dimdo not reach the outputs.- denominator
"homogeneous", the sum of the squared norms of the pair, or"regularized", which adds the \(10^{-8}\) of the UPEMD definition, an absolute scale absent from the homogeneous form. No default; emd 0.8.1 has only the regularized form.
Details
For each pair of adjacent columns,
$$\mathrm{PMSI}(c_i, c_{i+1}) = \max\left\{\frac{\langle c_i, c_{i+1} \rangle}{\|c_i\|_2^2 + \|c_{i+1}\|_2^2}, 0\right\},$$
with \(10^{-8}\) added to the denominator under "regularized".
Value
Numeric vector with one value per pair of adjacent modes, of length one less than the number of columns.
Conditions
A pair of adjacent modes with zero energy under "homogeneous" stops
the function with an error of class xemdZeroEnergy.
Examples
Time <- seq_len(1000) / 1000
Tones <- cbind(cos(2 * pi * 2 * Time), 0.25 * cos(2 * pi * 24 * Time),
0.0625 * cos(2 * pi * 288 * Time))
Mixed <- cbind(rowSums(Tones), Tones)
measurePMSI(Mixed, denominator = "homogeneous")
#> [1] 0.4839319 0.0000000 0.0000000
measurePMSI(Mixed, denominator = "regularized")
#> [1] 0.4839319 0.0000000 0.0000000