
From:  Dimitris Papavasiliou 
Subject:  Re: [Helpgsl] 2d FFTs, DCTs, etc. 
Date:  Tue, 16 May 2006 00:04:18 +0300 
Useragent:  Mail/News 1.5 (X11/20060228) 
Brian Gough wrote:
Well I implemented the DCT (and just type II) myself, so it probably isn't what you're looking for.Hello,Thanks for your message.The Mixed radix FFTs in GSL are a reimplementation of FFTPACK. The DCT and DST from FFTPACK were not implemented though due to lack of resources. From my point of view, that would be the first priority to add to the existing ffts.
> b) Is there a reason why there are no vector/matrix interfaces to the > fft functions (in constrast to the wavelets routines)?It would be more logical to do it the other way round I think (that is implement just gsl_vector versions and let the user create a view of his arrays if needed) but it's the same thing I guess. It also means that my wrappers won't be of much use (and I just finished the templates for double and float today, oh well). Let me know if you're interested in any of them or the DCTs (although they'll need some work for the initial permutation).The normal GSL convention is that we don't duplicate array and vector functions as the vector functions are just a wrapper with v>data, v>stride, v>size arguments. Some functions do have these, but it's historical. A vector wrapper could be useful if people want that, but I'd like to keep it out of gsl itself as it means there are twice as many functions to maintain and test.
> c) Is there a reason why there are no twodimensional fft routines? For > real data there would be the problem of computing them inplace I > suppose but for complex data computation is pretty simple using > rowcolumn decomposition.Well as I've written in a previous message I've arrived at the same conclusion.At the time I wrote the FFTs I was looking for a good multidimensional solution. I did not find anything that was substantially better than the user calling the FFT on the rows and columns themselves, so I did not implement anything
Dimitris P.
[Prev in Thread]  Current Thread  [Next in Thread] 