mindspore.numpy.correlate
- mindspore.numpy.correlate(a, v, mode='valid')[source]
Cross-correlation of two 1-dimensional sequences.
This function computes the correlation as generally defined in signal processing texts:
\(c_{av}[k] = \sum_{n}{a[n+k] * conj(v[n])}\)
with a and v sequences being zero-padded where necessary and conj being the conjugate.
Note
correlate is currently only used in mindscience scientific computing scenarios and dose not support other usage scenarios.
correlate is not supported on Windows platform yet.
- Parameters
mode (str, optional) –
Specifies padding mode. The optional values are
"same"
,"valid"
and"full"
. Default:"valid"
."same"
: it returns output of length \(max(M, N)\). Boundary effects are still visible."valid"
: it returns output of length \(max(M, N) - min(M, N) + 1\). The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect."full"
: it returns the convolution at each point of overlap, with an output shape of \((N + M - 1,)\).At the end-points of the convolution, the signals do not overlap completely, and boundary effects may be seen.
- Returns
Tensor, Discrete cross-correlation of a and v.
- Raises
TypeError – If a or v is not a tensor.
TypeError – If a and v is of different dtype.
ValueError – If a and v are empty or have wrong dimensions
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore.numpy as mnp >>> from mindspore import Tensor >>> output = mnp.correlate(Tensor([1., 2., 3.]), Tensor([0., 1., 0.5])) >>> print(output) [3.5] >>> output = mnp.correlate(Tensor([1., 2., 3.]), Tensor([0., 1., 0.5]), mode="same") >>> print(output) [2. 3.5 3. ] >>> output = mnp.correlate(Tensor([1., 2., 3., 4., 5.]), Tensor([1., 2.]), mode="full") >>> print(output) [ 2. 5. 8. 11. 14. 5.]