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

In addition to Bill's reply:
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