Matrix pseudo-inverse to do inverse discrete fourier transform

1. Feb 6, 2009

thefly

Hello,
can anyone help me with the following problem:
The discrete fourier transform (DFT) in matrix form can be done as follows
F=M*f
where f are the space domain samples, F are the spatial frequency domain samples and M is the DFT matrix containing the exp(j*...) terms.
To compute the inverse DFT, always in matrix form, the following can be used:
f=Mi*F
where Mi is the inverse DFT matrix containing the exp(-j*...) terms.
In general, applying common linear algebra concepts, the inverse could also be obtained as:
f=pinv(M)*F
where pinv is the pseudoinverse.
Playing around with these two ways of doing the inverse DFT I found that they don't always provide equal results. In particular I'm trying to perform DFT and inverse DFT of samples on a 2D spatial domain and the inverse using pinv as serious numeric problems since M is badly conditioned.
Can someone help to understan the difference of the two approaches to the inverse DFT? Are there some hypothesis under which the two give same results?

2. Feb 6, 2009

matematikawan

Is your matrix M a square matrix and non singular? If it is then I think you will always get the same results.

3. Feb 9, 2009

thefly

Thanks for the reply. Unfortunately, the matrix M is usually:
- rectangular because the number of space domain samples is different from frequency domain samples