Discrete Fourier Transform Functions#

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

zk1,k2,,kd=σjd=0nd1j2=0n21j1=0n11wj1,j2,,jdexp[δ2πi(=1djkn)].

for k=0,,n1 and {1,,d}, where σ is a scale factor, δ=1 for the forward transform, and δ=+1 for the backward(inverse) transform. In the forward transform, the input sequence (wj1,j2,,jd) 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 available data storage formats for the various configurations are described in Storage Formats.

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