EDIT: Je teste si des valeurs propres ont une magnitude de un ou plus.
J'ai besoin de trouver la plus grande valeur propre absolue d'une grande matrice clairsemée et non symétrique.
J'ai utilisé la eigen()
fonction de R , qui utilise l'algo QR d'EISPACK ou de LAPACK pour trouver toutes les valeurs propres, puis j'utilise abs()
pour obtenir les valeurs absolues. Cependant, je dois le faire plus rapidement.
J'ai également essayé d'utiliser l'interface ARPACK dans le igraph
package R. Cependant, cela a donné une erreur pour l'une de mes matrices.
L'implémentation finale doit être accessible depuis R.
Il y aura probablement plusieurs valeurs propres de même ampleur.
Avez-vous des suggestions?
EDIT: La
précision doit seulement être 1e-11
. Une matrice "typique" a jusqu'à présent été . J'ai pu y faire une factorisation QR. Cependant, il est également possible d'en avoir de plus grandes. Je commence actuellement à lire sur l'algorithme Arnoldi. Je comprends que cela est lié à Lanczsos.
EDIT2: Si j'ai plusieurs matrices que je "teste" et que je sais qu'il existe une grande sous-matrice qui ne varie pas. Est-il possible de l'ignorer / de la rejeter?