[Arpack-ng] Getting best possible solution after fixed iterations

classic Classic list List threaded Threaded
1 message Options
bitslayer bitslayer
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

[Arpack-ng] Getting best possible solution after fixed iterations


In my use case, I don't need the exact solutions of an eigenproblem, I
just need ARPACK to give me the N lowest (real part) vectors it can find
after no more than X iterations --- that is, if it finds all N
eigenvectors to the specified tolerance in less than X iterations then
great, but if it doesn't then I still want it to give me the N lowest
vectors it found even if they aren't fully converged.

(The background is that I have an iterative optimization algorithm, so
to make a long story short I just need a cheaply obtainable improved
solution to input to the next step of the iteration, not a perfect
solution, and since the optimization problem is expressed in terms of a
Rayleigh quotient something like the Arnoldi iteration should do a good
job of finding such a solution;  in fact, I have good experience using
ARPACK in the past but I am now working with matrices that it is
struggling with.)

The documentation says that after X iterations have passed it gives you
all of the eigenvectors that have converged, which is not what I want as
I want *all* N vectors even if they haven't converged.  So my question
is:  when the docs say that it only gives you the eigenvectors that
converged, does it mean that it does a transformation which got rid of
the rest and so they are inaccessible?  Or does it mean that if I, say,
override the number of converged eigenvectors and set it to the number
that I want before calling the routine that extracts the eigenvectors,
then I can get the full set?  Put another way, if I replace the number
of converged eigenvectors with the number I want, then will this result
in garbage, or will it give me what I am looking for?

Thanks a lot in advance!
Arpack-ng mailing list
[hidden email]