numerical errors in eigen decomp
2 次查看(过去 30 天)
显示 更早的评论
Hi, I have computed a matrix, which (If it was done right) i know to be Positive semi definite. I did a eigen decomposition using eig and got the following result
min(eig(m2))
ans =
-9.8601e-14
A sample of the other eigen values is below -0.0000, -0.0000, -0.0000, 0.0000, 0.0000, 0.0000, 1.0047, 4.6499, 10.6999, 33.8846, 38.4610, 46.6943, 49.3577, 51.3520, 156.0164, 217.2181, 315.0000
Is it safe to assume the negative eigen values are through numerical issues and not due to a problem in the matrix computation?
0 个评论
采纳的回答
the cyclist
2011-4-12
Yes. "eig" was probably about the first MATLAB function ever written, decades ago, so I think you will find it reliable. :-)
A value of e-14 is about the numerical error you would expect in a double-precision calculation of this type.
2 个评论
Andrew Newell
2011-4-12
In addition, judging by the spread of eigenvalues, your matrix is ill-conditioned. That would contribute to the error.
Matt Tearle
2011-4-12
Yep. Largest evalue is 10^2, smallest is 10^-13. That's as much accuracy as you can expect from double precision arithmetic. I'd call that good and move on.
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!