Specify eigenvector for eigs
5 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Vladimir Sovkov
on 22 Aug 2020
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 Comments
John D'Errico
on 24 Aug 2020
It did not speed anything up, because that is not the purpose of being able to provide a starting vector. It should not help.
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!