Specify eigenvector for eigs
5 次查看(过去 30 天)
显示 更早的评论
Is there a way I can speed up the eigenvalue computation time by feeding the function eigs a "guess" eigenvector? I am dealing with large, sparse matrices such that everytime I run the eigenvalue problem, the eigenvector chosen based on smallest eigenvalue changes slightly compared to the last time. As far as I know, in an iterative method, using some sort of a "guess" as an input would make the code more efficient. So perhaps, using the previous eigenvector as a guess would make the generalized eigenvalue problem more efficient.
0 个评论
回答(1 个)
Vladimir Sovkov
2020-8-22
Matlab documentation:
'StartVector' — Initial starting vector
random vector (default) | vector
Initial starting vector, specified as the comma-separated pair consisting of 'StartVector' and a numeric vector.
The primary reason to specify a different random starting vector is when you want to control the random number stream used to generate the vector.
Note
eigs selects the starting vectors in a reproducible manner using a private random number stream. Changing the random number seed does not affect the starting vector.
Example: d = eigs(A,k,sigma,'StartVector',randn(m,1)) uses a random starting vector that draws values from the global random number stream.
Data Types: double
2 个评论
John D'Errico
2020-8-24
It did not speed anything up, because that is not the purpose of being able to provide a starting vector. It should not help.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!