Je recherche une bibliothèque qui effectue des opérations matricielles sur de grandes matrices clairsemées sans sacrifier la stabilité numérique. Les matrices seront 1000+ par 1000+ et les valeurs de la matrice seront comprises entre 0 et 1000. Je vais exécuter l' algorithme de calcul d'index donc je vais générer des vecteurs de lignes (clairsemés) de la matrice en série. Au fur et à mesure que je développe chaque ligne, je devrai tester l'indépendance linéaire. Une fois que j'ai rempli ma matrice avec le nombre souhaité de vecteurs linéairement indépendants, je devrai ensuite transformer la matrice en forme d'échelon de ligne réduite.
Le problème est maintenant que mon implémentation utilise l'élimination gaussienne pour déterminer l'indépendance linéaire (garantissant la forme de l'échelon de ligne une fois que tous mes vecteurs de ligne ont été trouvés). Cependant, compte tenu de la densité et de la taille de la matrice, cela signifie que les entrées de chaque nouvelle ligne deviennent exponentiellement plus grandes au fil du temps, car le lcm des entrées principales doit être trouvé afin d'effectuer l'annulation. La découverte de la forme réduite de la matrice aggrave encore le problème.
Donc, ma question est, existe-t-il un algorithme, ou mieux encore une implémentation, qui peut tester l'indépendance linéaire et résoudre la forme d'échelon de ligne réduite tout en gardant les entrées aussi petites que possible? Un test efficace d'indépendance linéaire est particulièrement important car dans l'algorithme de calcul d'index, c'est de loin le plus.