Discrete Fourier Transform Functions

The general form of the d-dimensional discrete Fourier transform(DFT) is

\[z_{k_1, k_2,\dots, k_d} = \sigma \displaystyle\sum_{j_d=0}^{n_d-1}\dots\displaystyle\sum_{j_2=0}^{n_2-1}\displaystyle\sum_{j_1=0}^{n_1-1} w_{j_1, j_2,\dots,j_d} \exp \left[ \delta 2\pi i\left( \sum_{\ell=1}^{d} \frac{j_{\ell}k_{\ell}}{n_{\ell}} \right) \right] .\]

for \(k_{\ell} = 0,\dots, n_{\ell}-1\) and \(\ell\in\{1, \dots, d\}\), where \(\sigma\) is a scale factor, \(\delta=-1\) for the forward transform, and \(\delta=+1\) for the backward(inverse) transform. In the forward transform, the input sequence \(\left(w_{j_1, j_2, \dots, j_d}\right)\) belongs to the set of complex-valued sequences or real-valued sequences. Respective domains for the backward transform are represented by complex-valued sequences or complex conjugate-even sequences.

The discrete Fourier transform to be performed is defined by the creation of a descriptor class, with the associated configuration parameters, described in Configuration Parameters and Enums. Once the descriptor class is defined and commit is called and provided with a sycl::queue to define the device and context, it can be used for computing the forward and/or backward transformations.

The routines and objects associated with computing a discrete Fourier transform.

Routines and Objects

Description

descriptor

A class to define the specific discrete Fourier transform problem to be applied.

descriptor::set_value

A member function of descriptor class to set non-default configuration parameters and define the DFT transformation to be applied.

descriptor::get_value

A member function of descriptor class to query configuration parameters that define the DFT transformation to be applied.

descriptor::commit

A member function of descriptor class to finalize the DFT descriptor before computations.

compute_forward

Computes the in-place/out-of-place forward transformation.

compute_backward

Computes the in-place/out-of-place backward transformation.

Parent topic: oneMKL Domains