Reply by Rune Allnor October 25, 20082008-10-25
On 24 Okt, 20:02, "Sylvia" <sylvia.za...@gmail.com> wrote:
> Suppose A is a partial Fourier operator of dimension MxN with M<N, we can > generate this via dftmtx command in MATLAB; how to compute (A'*A) for large > scale problems (1000x1000 for example)? as MATLAB goes out of memory?
Homework? The key is to realize that A (or W as it is usually called in the literature) is Unitary. The question becomes far more interesting if you adjust it to "how to compute A*x when M << N?" This corresponds to a long data sequence (or at least a long DFT) where you are only interested in a small section of the frequency band. Rune
Reply by Martin Eisenberg October 24, 20082008-10-24
Sylvia wrote:

> Suppose A is a partial Fourier operator of dimension MxN with > M<N, we can generate this via dftmtx command in MATLAB; how to > compute (A'*A) for large scale problems (1000x1000 for example)?
The question is probably meant to make you realize that you can find the result in your head, and the dftmtx documentation implicitly tells how. Martin -- What is it: is man only a blunder of God, or God only a blunder of man? --Friedrich Nietzsche
Reply by Andor October 24, 20082008-10-24
Sylvia wrote:
> Suppose A is a partial Fourier operator of dimension MxN with M<N, we can > generate this via dftmtx command in MATLAB; how to compute (A'*A) for large > scale problems (1000x1000 for example)? as MATLAB goes out of memory?
I can do that calculation in my head for any dimension, eg 700bln x 700bln. Hint: the result is a diagonal matrix ...
Reply by Sylvia October 24, 20082008-10-24
Suppose A is a partial Fourier operator of dimension MxN with M<N, we can
generate this via dftmtx command in MATLAB; how to compute (A'*A) for large
scale problems (1000x1000 for example)? as MATLAB goes out of memory?

Sylvia