I'm trying to do a convolution with two matrices. Therefore I'm using the function zfft2d to transform the two matrices, that probably works fine. Then I multiply the results pointwise and use zfft2d to get the inverse fft. This should be my result for the convolution. But it doesn't work. Has anyone an idea?
If I'm doing the convolution by "hand" I just get another result, I already tried to fill the matrices with zeros up, but that doesn't work either.
Are you able to post any example code? What size of problems are you trying?
The first thing that occurs to me is maybe this is related to scaling. The basic ZFFT routines will scale in such a way that calling a forward transform and then a backward transform do not return the original data. The expert interfaces give you control over scaling, and these could be used to make the scaling work as expected.
The zfft1d c example shows how to use this feature.