Ich versuche, einige dichte, schlecht konditionierte Matrizen zu diagonalisieren. Bei der Maschinengenauigkeit sind die Ergebnisse ungenau (Rückgabe negativer Eigenwerte, Eigenvektoren haben nicht die erwarteten Symmetrien). Ich habe auf die Eigensystem [] -Funktion von Mathematica umgestellt, um die willkürliche Genauigkeit zu nutzen, aber die Berechnungen sind extrem langsam. Ich bin offen für eine beliebige Anzahl von Lösungen. Gibt es Pakete / Algorithmen, die für schlecht konditionierte Probleme gut geeignet sind? Ich bin kein Experte für Vorkonditionierung, daher bin ich mir nicht sicher, wie viel dies helfen könnte. Ansonsten kann ich mir nur parallelisierte Eigenwertlöser mit beliebiger Genauigkeit vorstellen, aber ich kenne nichts anderes als Mathematica, MATLAB und C ++.
Um einige Hintergrundinformationen zum Problem zu geben, sind die Matrizen groß, aber nicht riesig (höchstens 4096 x 4096 bis 32768 x 326768). Sie sind real, symmetrisch und die Eigenwerte sind zwischen 0 und 1 (exklusiv) begrenzt, wobei viele Eigenwerte sehr nahe bei 0 und keine nahe bei 1 liegen. Die Matrix ist im Wesentlichen ein Faltungsoperator. Ich muss nicht alle meine Matrizen diagonalisieren, aber je größer ich werden kann, desto besser. Ich habe Zugriff auf Computercluster mit vielen Prozessoren und verteilten Computerfunktionen.
Vielen Dank