Intel® oneAPI Math Kernel Library Developer Reference - C
The following notation is necessary to explain the underlying mathematical definitions used in the text:
R = (-∞, +∞) | The set of real numbers. |
Z = {0, ±1, ±2, ...} | The set of integer numbers. |
ZN = Z× ... ×Z | The set of N-dimensional series of integer numbers. |
p = (p1, ..., pN) ∈ZN | N-dimensional series of integers. |
u:ZN→R | Function u with arguments from ZN and values from R. |
u(p) = u(p1, ..., pN) | The value of the function u for the argument (p1, ..., pN). |
w = u*v | Function w is the convolution of the functions u, v. |
w = u•v | Function w is the correlation of the functions u, v. |
Given series p, q∈ZN:
series r = p + q is defined as rn = pn + qn for every n=1,...,N
series r = p - q is defined as rn = pn - qn for every n=1,...,N
series r = sup{p, q} is defines as rn = max{pn, qn} for every n=1,...,N
series r = inf{p, q} is defined as rn = min{pn, qn} for every n=1,...,N
inequality p≤q means that pn≤qn for every n=1,...,N.
A function u(p) is called a finite function if there exist series Pmin, Pmax∈ZN such that:
u(p)
≠ 0
impliesPmin≤p≤ Pmax.
Operations of convolution and correlation are only defined for finite functions.
Consider functions u, v and series Pmin, PmaxQmin, Qmax∈ZN such that:
u(p)
≠ 0
implies
Pmin≤p≤ Pmax.
v(q)
≠ 0
implies
Qmin≤q≤ Qmax.
Definitions of linear correlation and linear convolution for functions u and v are given below.
If function w = u*v is the convolution of u and v, then:
w(r)
≠ 0
implies
Rmin≤r≤Rmax,
where
Rmin =
Pmin + Qmin and
Rmax =
Pmax + Qmax.
If Rmin≤r≤Rmax, then:
w(r) =
∑u(t)·v(r−t)
is the sum for all
t∈ZN such that
Tmin≤t≤Tmax,
where
Tmin =
sup{Pmin,
r− Qmax} and
Tmax =
inf{Pmax,
r− Qmin}.
If function w = u•v is the correlation of u and v, then:
w(r)
≠ 0
implies
Rmin≤r≤Rmax,
where
Rmin =
Qmin - Pmax and
Rmax =
Qmax - Pmin.
If Rmin≤r≤Rmax, then:
w(r) =
∑u(t)·v(r+t)
is the sum for all
t∈ZN such that
Tmin≤t≤Tmax,
where
Tmin =
sup{Pmin, Qmin−r}
and
Tmax =
inf{Pmax, Qmax−r}.
Representation of the functions u, v, was the input/output data for the Intel® oneAPI Math Kernel Library convolution and correlation functions is described in theData Allocation.