Specify eigenvector for eigs

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 日

0 投票

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.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLinear Algebra についてさらに検索

質問済み:

2020 年 8 月 22 日

コメント済み:

2020 年 8 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by