EDIT: Ich teste, ob irgendwelche Eigenwerte eine Größe von eins oder mehr haben.
Ich muss den größten absoluten Eigenwert einer großen, spärlichen, nicht symmetrischen Matrix finden.
Ich habe die R- eigen()
Funktion verwendet, die den QR-Algo von entweder EISPACK oder LAPACK verwendet, um alle Eigenwerte zu finden, und dann benutze ich abs()
, um die absoluten Werte zu erhalten. Ich muss es jedoch schneller machen.
Ich habe auch versucht, die ARPACK-Schnittstelle in igraph
R-Paket zu verwenden. Es gab jedoch einen Fehler für eine meiner Matrizen.
Die endgültige Implementierung muss von R aus zugänglich sein.
Es wird wahrscheinlich mehrere Eigenwerte gleicher Größe geben.
Hast du irgendwelche Vorschläge?
EDIT:
Genauigkeit muss nur sein 1e-11
. Eine "typische" Matrix war bisher . Ich konnte eine QR-Faktorisierung durchführen. Es ist jedoch auch möglich, viel größere zu haben. Ich fange gerade an, über den Arnoldi-Algorithmus zu lesen. Ich verstehe, dass es mit Lanczsos zusammenhängt.
EDIT2: Wenn ich mehrere Matrizen habe, die ich " teste " und ich weiß, dass es eine große Untermatrix gibt, die sich nicht ändert. Kann man es ignorieren / verwerfen?