J'essaie de diagonaliser des matrices denses et mal conditionnées. En précision machine, les résultats sont inexacts (renvoyant des valeurs propres négatives, les vecteurs propres n'ont pas les symétries attendues). Je suis passé à la fonction Eigensystem [] de Mathematica pour profiter d'une précision arbitraire, mais les calculs sont extrêmement lents. Je suis ouvert à toutes sortes de solutions. Existe-t-il des packages / algorithmes bien adaptés aux problèmes mal conditionnés? Je ne suis pas un expert en préconditionnement, donc je ne sais pas combien cela pourrait aider. Sinon, je ne pense qu'à des solveurs de valeurs propres de précision arbitraire parallélisés, mais je ne connais rien au-delà de Mathematica, MATLAB et C ++.
Pour donner un aperçu du problème, les matrices sont grandes, mais pas énormes (4096x4096 à 32768x32768 tout au plus). Ils sont réels, symétriques et les valeurs propres sont limitées entre 0 et 1 (exclusif), de nombreuses valeurs propres étant très proches de 0 et aucune proche de 1. La matrice est essentiellement un opérateur de convolution. Je n'ai pas besoin de diagonaliser toutes mes matrices, mais plus je peux agrandir, mieux c'est. J'ai accès à des clusters informatiques avec de nombreux processeurs et des capacités informatiques distribuées.
Je vous remercie