Inconsistent EigenVectors on running same problem multiple times

1 次查看(过去 30 天)
Hi All,
In my FEM code, I run EIG or EIGS command for getting eigenvalues and eigenvectors. Strangely, it is returning different eigenvectors that are inconsistent each time for the same code and same inputs.
Any help will be appreciated.
Best regards,

回答(1 个)

Walter Roberson
Walter Roberson 2016-1-9
If I recall, a few weeks ago someone mentioned that there is a random initialization going on (might have been by at the qr level.) Try setting the random seed, trying, setting it again, see if you get the same results.
  9 个评论
Guillaume
Guillaume 2016-1-11
No, as has been said, you can fix the seed of RNG to the same number before each time you call eigs, so that the 'random' number it uses is always the same and thus, always returns the same result.
As per Walter's later comment:
rng(12345); %use any seed you want
[A1,B1] = eigs(KM,20,'sm');
rng(12345); %as long as it's always the same
[A2,B2] = eigs(KM,20,'sm');
Steven Lord
Steven Lord 2016-1-11
Or set the v0 option in your EIGS call to fix the starting vector. By default, it is randomly generated.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by