Quantcast
Channel: Intel® Software - Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 3005

MKL 3D FFT of 1D function (fortran)

$
0
0

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)

Viewing all articles
Browse latest Browse all 3005

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>