FFT with modified fourier coeffitients

FFT with modified fourier coeffitients

Dear MKL forum,
I solve such a problem. Can you help me please?
Lets have a function Y=∑ k=−∞ iYneikπy and then I have a function which is defined as X=∑k=−∞ ik2Yneikπy.

I know the Y. The i is imaginary unit.

How can I compute the X? I think I do the FFT on Y and obtain thus the Yn, right? And then I think I will do the backward FFT of function defined as f=ik2Yn. But what have I do with the summation index k here in the function f?

It is right that FFT(ik2Yn)=X?

I'm not sure absolutely what to do with k when the FFT sum is summated per k. Or can I change something in MKL FFT directly?

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi, please give me a day to think about how to do this using MKL and/or a combination with VML and I will get back to you right away.

many thanks for your time, I'm looking forward - this is really a problem for me...

>>>It is right that FFT(ik2Yn)=X?>>>

I do not know if you will get X , but in tthis case you are doing Inverse FFT on already transformed function so you will get  Y.

Hi, just letting you know that I am still thinking about an elegant way to do this problem. It is turning out to be harder than I thought, and I thank you for coming up with this situation. Sorry it is taking awhile to figure out. From the first glance, I don't think we can support the sum with k^2, it is not and FFT, but I think it still may be possible to compute this in a different way still using MKL.

You have Y, the Fourier transform of Yn.

You want to compute X which is (or rather seems to be) the convolution of Y and some function whose Fourier transform is k2. If this is the case, then our recommendation is the following:

 - take inverse Fourier of Y to obtain Yn

 - compute elementwise multiplication k2 and y (say result is tmp)

 - finally compute FFT of tmp to obtain X

MKL can do the FFT, but the elementwise multiplication of k2 and Yn can be computed by a simple loop. Use the O3 compiler optimization to get the best results out of that loop.

ah yes! many many thanks!

Leave a Comment

Please sign in to add a comment. Not a member? Join today