Gottfried Helms on Fri, 05 Feb 2010 23:29:31 +0100

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

 Re: error finding eigenspaces

Am 12.01.2010 23:18 schrieb Eliot Brenner:
> When trying to find eigenspaces of a matrix with mateigen() command, I
> get the error message
>
>   ***   missing eigenspace. Compute the matrix to higher accuracy, then
>   ***   restart eigen at the current precision.
>
> can you tell me what this means and how to address it?
>
> Thanks,
> Eliot
>
>
> --
> Eliot Brenner
> http://math.umn.edu/~brenn240

I've got it especially, when I tried to eigenanalyze vandermonde-
like matrices. A characteristic was: having precision 200 digits - I
was able to use, say, 20x20-matrices. With 24x24 that message occured.
I increased precision to 400 - then I could proceed to, say 24x24-
matrices. I was unable to arrive at, say 32x32-matrices even if I
increased precision to 1200 or the like.
Well - two problems added up here: after I recomputed the vandermonde-
like matrix with that precision too (involving recomputations of logarithms
and the like as parameters for the vandermonde matrix), I could solve
even for that matrix-size. Meaning: even if you increase the precision
of the eigensystem-framework, the entries of the matrix remain unaffected
by this...

But even if you recomputed the matrix, I think that's only a very limited
workaround for a small range of extension. Possibly you can do better if
you use another problem-specific eigen-solver; my own final workaround was
twofold:
a) an own solver which works iteratively giving one eigenvector per run
and simply stops, if maximum precision is exhausted (and does not
throw away the whole partial result so far)
b) a problem-specific solution which is usable with that problem-specific
types of matrices.
Happily b) helps me perfectly for 99.9% of my current suits, so I nearly
forgot about a)... :-)

Gottfried