J'utilise Mathematica pour résoudre des problèmes. J'ai une question sur l'inverse de la matrice.
si je ne veux qu'un seul élément de la matrice inverse, existe-t-il un algorithme plus rapide que d'utiliser Inverse
pour calculer la matrice inverse entière et extraire l'élément que je veux?
algorithms
user15964
la source
la source
Réponses:
Je n'ai pas vu exactement cela dans Mathematica mais je pense que pouvoir résoudre un ensemble d'équations pour une seule inconnue peut être pris en charge.
Le moyen direct serait bien sûr de mettre en œuvre les algorithmes matriciels inverses et de les faire s'arrêter lorsque l'élément particulier est déterminé. Il serait probablement intéressant de voir quelles optimisations vous pouvez avoir pour chaque algorithme si l'objectif est d'obtenir un seul élément.
Mais selon le premier paragraphe, une idée pourrait être d'exprimer votre matrice inverse en tant qu'inconnues dans le système d'équations, puis d'essayer de résoudre uniquement pour l'inconnu dont vous avez besoin (car la résolution de l'équation définie pour une seule inconnue devrait être prise en charge). Si vous obtenez une meilleure mémoire et de meilleures performances CPU, alors il peut être sûr de dire que Mathematica n'a pas réellement résolu toute l'équation mais a juste fait ses optimisations pour déterminer uniquement votre inconnu. Bien sûr, vous pouvez obtenir de moins bonnes performances car vous n'utilisez pas directement des algorithmes inverses. Si vous décidez d'essayer, faites-nous savoir si cela a fonctionné!
la source