fft on a matrix



On 6/11/10 7:16 AM, Chris J Nassar (RIT Student) wrote:
> I'm working on a maxima program that is based almost entirely on
> matrix operations.  I'd like to use the fft() function on a matrix,
> but maxima complains, fft: input is not a list or an array.

Do you mean to do a 2D fft?

If yes, then maxima cannot do that.  (It probably should.  And also
support bfloats.)

But a 2D FFT can be done using 1D FFts.  You take the 1D FFT of each
row.  From this matrix, take the FFT of each column.  So something like
the following:

r: map(fft, m);
r : map(fft, transpose(r));
transpose(r);

Ray