From: Jakob Heide Jørgensen on

> The larger the p the better. Lanczos tends to resolve eigenvalues on the ends of the spectrum faster than in the middle, so the larger the subspace you choose the better off you are. Of course, bear in mind that too large and you may not be able to stomach the workspace. I have no reason for choosing 100 in particular; I just blindly picked something larger than 20. Basically, Lanczos will pick out p eigenvalues to approximate the 80000 eigenvalues that A'*A has. Perhaps crank it up to 200 and crank maxit up as high as you are willing to wait.

Ok. That makes sense. I am running with p=200 and it is going steadily forward. Slow iterations but large progress in each.

> Something else you can try, although I'm not sure you'll be able to complete it is:
> p = colamd(A);
> % Try to get R as in A(:,p) = QR. p is an ordering which hopefully will encourage
> % sparser factors and let you finish. If so, then
> % A(:,p)'*A(:,p) = R'*R, which will have the same eigenvalues as A'*A.
> R = qr(A(:,p),0);
> L = R';
> op = @(x) R\(L\x);
> opts.isreal = true;
> opts.issym = true;
> opts.disp = 1;
> opts.p = 100;
> opts.maxit = 50000;
> eigs(op, size(A,2), 1, 'sm', opts);
>
> Here, you're doing the same thing, but now you are doing shift and invert Lanczos. If you can compute the R from QR then convergence will be much quicker than the 'sa' version (although each step will cost more). I'm afraid, however, that you may not have enough memory to compute R.

Gave (as you expected):

??? Error using ==> qr
Out of memory. Type HELP MEMORY for your options.
First  |  Prev  | 
Pages: 1 2 3 4
Prev: NI USB-6501
Next: Multiple Tabs with dlmwrite