Specify eigenvector for eigs

조회 수: 5 (최근 30일)
Jack A.M.
Jack A.M. 2020년 8월 22일
댓글: John D'Errico 2020년 8월 24일
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.

답변 (1개)

Vladimir Sovkov
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
Jack A.M.
Jack A.M. 2020년 8월 24일
Thanks Vladimir. I tried introducing the eigenvector as the starting vector, however, that did not speed up the computation time.
John D'Errico
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.

댓글을 달려면 로그인하십시오.

카테고리

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