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!