.. SPDX-FileCopyrightText: 2019-2020 Intel Corporation .. .. SPDX-License-Identifier: CC-BY-4.0 .. _onemkl_dft: Discrete Fourier Transform Functions ------------------------------------- The general form of the d-dimensional discrete Fourier transform(DFT) is .. _onemkl_dft_formula: .. math:: 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 :math:k_{\ell} = 0,\dots, n_{\ell}-1 and :math:\ell\in\{1, \dots, d\}, where :math:\sigma is a scale factor, :math:\delta=-1 for the forward transform, and :math:\delta=+1 for the backward(inverse) transform. In the forward transform, the input sequence :math:\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 :ref:onemkl_dft_descriptor class, with the associated configuration parameters, described in :ref:onemkl_dft_enums. Once the descriptor class is defined and :ref:onemkl_dft_descriptor_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 :ref:onemkl_dft_config_storage_formats. .. container:: The routines and objects associated with computing a discrete Fourier transform. .. container:: tablenoborder .. .. list-table:: :header-rows: 1 :widths: 33 64 * - Routines and Objects - Description * - :ref:onemkl_dft_descriptor - A class to define the specific discrete Fourier transform problem to be applied. * - :ref:descriptor::set_value - A member function of descriptor class to set non-default configuration parameters and define the DFT transformation to be applied. * - :ref:descriptor::get_value - A member function of descriptor class to query configuration parameters that define the DFT transformation to be applied. * - :ref:descriptor::commit - A member function of descriptor class to finalize the DFT descriptor before computations. * - :ref:onemkl_dft_compute_forward - Computes the in-place/out-of-place forward transformation. * - :ref:onemkl_dft_compute_backward - Computes the in-place/out-of-place backward transformation. **Parent topic:** :ref:onemkl_domains .. toctree:: :hidden: enums_and_config_params descriptor compute_forward compute_backward