Why does Matlab give different eigenvalues for the same matrix?
显示 更早的评论
Dear all,
I am computing the eigenvalues for a generalized problem with shift inverted using the function eigs. The problem is that if I repeat the calculation with the same matrices I obtain different eigenvalues. For example: -5.87e-4 + i 1.677622 and 1.105e-3 + i 1.679422. What does it depend on? Have you ever experienced such a behaviour?
Thaks,
Nora
回答(2 个)
John D'Errico
2015-5-28
You are using eigs. For some eigenvalues, those estimates can vary, because eigs uses a random start.
If you insist on getting a deterministic result, you will need to either
1. Use eig, which does not use a random start.
2. Use eigs, but set v0. From the help, we see:
eigs(A,K,SIGMA,OPTS) and eigs(A,B,K,SIGMA,OPTS) specify options:
...
OPTS.v0: starting vector [N-by-1 vector | {randomly generated}]
...
类别
在 帮助中心 和 File Exchange 中查找有关 Linear Algebra 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!