Specify eigenvector for eigs
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Vladimir Sovkov
le 22 Août 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 commentaires
John D'Errico
le 24 Août 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.
Voir également
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!