Mathematical Notation and Definitions

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:ZNR 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 = uv 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 
implies
  Pmin 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.

Linear Convolution

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(tv(rt) is the sum for all t ZN such that Tmin t Tmax,
where Tmin = sup{Pmin, r Qmax} and Tmax = inf{Pmax, r Qmin}.

Linear Correlation

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(tv(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, w as the input/output data for the Intel MKL convolution and correlation functions is described in the Data Allocation.

For more complete information about compiler optimizations, see our Optimization Notice.