Le seul résultat inverse explicite que je connaisse est la règle de Cramer , qui s'est récemment révélée calculable en temps (comme l'élimination gaussienne; cependant, incertain de la constante devant le facteur principal).O ( n3)
UNEUNEdet ( A ) ≠ 0XbXUNE
Pour être sûr, il est probablement préférable de s'assurer que n'est pas non plus numériquement déficient en rang (c'est-à-dire qu'il n'a pas de petites valeurs singulières).UNE
Le problème avec la règle de Cramer est que ses propriétés de stabilité sont inconnues sauf pour (qui est stable en avant, mais pas en arrière). (Voir Exactitude et stabilité des algorithmes numériques , 2e édition, par N. Higham.) Il n'est pas considéré comme un algorithme fiable; L'élimination gaussienne avec pivot partiel (GEPP) est favorisée.n= 2
Je m'attendrais à ce que le problème avec BLAS + LAPACK pour effectuer GEPP dans une résolution ODE soit une différence finie utilisée dans une méthode ODE implicite. Je sais que les gens ont résolu des programmes linéaires dans le cadre d'une évaluation à droite, et parce qu'ils l'ont fait naïvement (il suffit de brancher le programme linéaire à résoudre sur le côté droit, en appelant un algorithme simplex), ils ont considérablement réduit la précision de leur solution calculée et a considérablement augmenté le temps nécessaire pour résoudre le problème. Un de mes collègues a trouvé un moyen de résoudre ces problèmes de manière beaucoup plus efficace et précise; Je vais devoir regarder pour voir si sa publication a encore été publiée. Vous pouvez avoir un problème similaire, que vous choisissiez d'utiliser GEPP ou la règle de Cramer.
S'il existe un moyen de calculer une matrice jacobienne analytique pour votre problème, vous souhaiterez peut-être le faire pour vous éviter quelques maux de tête numériques. Il sera moins coûteux à évaluer et probablement plus précis qu'une approximation par différence finie. Les expressions pour la dérivée de l'inverse de la matrice peuvent être trouvées ici si vous en avez besoin. L'évaluation de la dérivée de l'inverse de la matrice semble nécessiter au moins deux ou trois résolutions de système linéaire, mais elles seraient toutes avec la même matrice et différents côtés à droite, donc ce ne serait pas beaucoup plus cher qu'un système linéaire unique résoudre.
Et s'il existe un moyen de comparer votre solution calculée à une solution avec des valeurs de paramètres connues, je le ferais, afin que vous puissiez diagnostiquer si vous avez rencontré l'un de ces pièges numériques.