Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matrix pseudo-inverse to do inverse discrete fourier transform

  1. Feb 6, 2009 #1
    can anyone help me with the following problem:
    The discrete fourier transform (DFT) in matrix form can be done as follows
    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:
    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:
    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?
    Thank you in advance for your help
  2. jcsd
  3. Feb 6, 2009 #2
    Is your matrix M a square matrix and non singular? If it is then I think you will always get the same results.
  4. Feb 9, 2009 #3
    Thanks for the reply. Unfortunately, the matrix M is usually:
    - rectangular because the number of space domain samples is different from frequency domain samples
    - badly conditioned
  5. Feb 13, 2009 #4
    Sorry that I'm not that helpful. This is the first time I seen the term pseudoinverse. Just curious with the idea of computing the inverse of a badly conditioned matrix. How easy and how fast is this method compare to say the Gaussian elimination method ?
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook