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 个)

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}]
...
Are you 100% sure that you used the same matrix for your computations?

3 个评论

Could you save the matrix as matfile and post, including the code that reproduces the different eigenvalues?
It is a very big matrix. I'll try to post it.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Linear Algebra 的更多信息

提问:

2015-5-28

评论:

2015-5-28

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by