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