Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- MKL 3D FFT of 1D function (fortran)

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

karagiannis__dionysi

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-07-2015
08:22 AM

56 Views

MKL 3D FFT of 1D function (fortran)

Dear all,

I want to perform a 3D Fourier transformation (using fortran) of a complex function which is in a 10^9 array, where each element corresponds to a 3D vector k. So each element of the array is in fact a particle in Fourier space with k vector being its wavenumber.

In a mathematical notation I want to do:

F(x)=3D integral(f(k vector)*exp(i*k*x))dx

F(x) is a real function and x is a real 3D vector

f(k) is a complex function of vector k

k*x is the dot product of the two 3D vectors

What is the dimension of the transformation I should put in DFTI_DIMENSION one or three. Examples I have seen for the 3D case the f(k) input function has to be a 3D matrix (while mine is 1D) and what it does is the FFT of each dimension in the matrix. Is there a way to specify the k vectors in the transformation? `What configurations I have to do to get a real function from a complex one?`

Something like this would do the trick:

status = DftiCreateDescriptor(hand,<precision>, DFTI_REAL,<dimension>,<sizes>) status = DftiSetValue(hand, DFTI_CONJUGATE_EVEN_STORAGE, DFTI_COMPLEX_COMPLEX)

Link Copied

0 Replies

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