Sherman–Morrison formula
La formule de Sherman-Morrison permet de calculer efficacement l'inverse d'une matrice obtenue par une mise à jour de rang 1. Si A est une matrice inversible et u, v sont des vecteurs colonne tels que A + uvᵀ est inversible, alors l'inverse de A + uvᵀ s'exprime en fonction de A⁻¹ par la formule (A + uvᵀ)⁻¹ = A⁻¹ − (A⁻¹uvᵀA⁻¹)/(1 + vᵀA⁻¹u). Cette formule évite de recalculer complètement l'inverse et est très utile en optimisation et dans les algorithmes itératifs.
Contents
What you will learn
- Identifier les hypothèses nécessaires à la formule.
- Calculer une mise à jour d’inverse de rang 1 étape par étape.
- Détecter le dénominateur nul et les situations numériquement sensibles.
In plain terms
Imaginez un calcul qui utilise déjà l’inverse d’une grande matrice. Une nouvelle information modifie cette matrice d’une façon très simple : chaque colonne reçoit un multiple du même vecteur. Recommencer toute l’inversion serait coûteux.
La formule de Sherman-Morrison corrige directement l’inverse connu. Elle ne demande que des produits matrice-vecteur, un produit entre deux vecteurs et une division. Cette économie est possible parce que la modification ajoute au plus une direction indépendante : elle est de rang au plus 1.
Definition
La formule de Sherman-Morrison est une identité de mise à jour d’inverse. On part d’une matrice carrée réelle A dont l’inverse A−1 est connu. Deux vecteurs colonnes u et v, de même nombre de composantes que A, forment la matrice uvT. Cette matrice est de rang au plus 1 : toutes ses colonnes sont des multiples de u.
La matrice modifiée est A + uvT. Si le nombre 1 + vTA−1u n’est pas nul, cette matrice est inversible et son inverse s’obtient par une correction de A−1 : . Le dénominateur est un scalaire, tandis que le numérateur est une matrice de rang au plus 1.
La formule réutilise donc l’inverse disponible au lieu d’inverser la matrice modifiée depuis le début. Elle concerne précisément une perturbation écrite comme le produit d’un vecteur colonne par un vecteur ligne.
The principle
Soit A une matrice carrée réelle inversible. Soient u et v deux vecteurs colonnes compatibles. Si le scalaire 1 + vTA−1u est non nul, alors A + uvT est inversible et :
Le terme soustrait est la correction apportée à l’inverse initial. Le calcul s’arrête après cette correction ; aucune nouvelle inversion complète n’est nécessaire.
When to use it
La formule s’applique à une matrice carrée A déjà inversible et à une modification exactement écrite sous la forme uvT. Les vecteurs colonnes u et v doivent avoir la dimension de A. Il faut enfin vérifier que le scalaire 1 + vTA−1u est différent de zéro.
Si ce scalaire vaut zéro, la division est impossible et A + uvT n’est pas inversible. Par exemple, avec A égale à la matrice identité, u non nul et v = −u/(uTu), le dénominateur s’annule. Il faut alors renoncer à chercher un inverse ordinaire de la matrice modifiée. Si la modification n’est pas de rang 1, cette formule seule ne suffit pas et un autre calcul d’inversion est requis.
A step-by-step example
On part de la matrice A et des deux vecteurs colonnes u et v suivants. L’inverse de A est déjà connu. Toutes les valeurs restent exactes pendant le calcul :
1. La mise à jour et la matrice modifiée valent :
et .
et .
2. Le dénominateur est non nul : .
3. La correction vaut .
4. On la soustrait à A−1 :
3. La correction vaut .
4. On la soustrait à A−1 :
Le contrôle consiste à multiplier la matrice modifiée par le résultat. On obtient exactement la matrice identité : .
In practice
En optimisation, une itération peut modifier une matrice par une information de rang 1. Si l’inverse précédent est disponible et que le dénominateur reste non nul, Sherman-Morrison met cet inverse à jour sans reprendre toute l’inversion.
Dans un algorithme itératif, le même geste se répète : on forme les produits avec A−1, on contrôle le scalaire au dénominateur, puis on applique la correction. Une inversion directe reste l’alternative lorsque la modification n’a pas la forme uvT ou lorsque l’inverse initial n’est pas disponible.
Un dénominateur très proche de zéro constitue aussi un signal d’alerte en calcul numérique : la division amplifie les erreurs d’arrondi. Dans cette situation, mieux vaut employer une méthode numérique adaptée plutôt que la formule telle quelle.
Not to be confused with
Une mise à jour de rang 1 ne signifie pas que la matrice modifiée a elle-même le rang 1. Dans l’exemple, uvT est de rang 1, mais A + uvT est inversible et possède donc le rang 2. Le rang décrit ici la correction, pas la matrice finale.
La formule ne doit pas non plus être confondue avec une méthode générale pour calculer un premier inverse. Elle suppose A−1 déjà connu. Si seul A est donné, il faut d’abord obtenir son inverse par une méthode d’inversion adaptée.
Limits and pitfalls
Dénominateur nul. Le seuil exact est 1 + vTA−1u = 0. La formule présente alors une division par zéro et la matrice A + uvT est singulière ; aucun inverse ordinaire ne peut être produit.
Dénominateur presque nul. La formule reste algébriquement valable si le scalaire n’est pas exactement nul, mais le quotient peut devenir très sensible aux erreurs numériques. Il faut surveiller sa taille à l’échelle des données et préférer un calcul numériquement plus stable si nécessaire.
Mauvaise factorisation. Modifier un seul coefficient donne bien une mise à jour de rang au plus 1, mais modifier plusieurs coefficients arbitraires ne le garantit pas. Avant d’appliquer la formule, il faut vérifier que toute la perturbation est exactement égale à uvT.
Matrice initiale non inversible. L’absence de A−1 bloque la formule, même si la matrice modifiée devient inversible. Il faut alors traiter directement la nouvelle matrice au lieu de forcer une mise à jour inexistante.
Further reading
La fiche matrice inverse replace A−1 dans son cadre général et rappelle ce que signifie annuler l’action d’une matrice par multiplication.
La formule invite ensuite à étudier les mises à jour de rang supérieur : la même question demeure, mais une correction construite avec plusieurs directions demande un cadre plus général que le produit uvT.
Explore mathematics differently
Discover our magazines, podcasts and games to explore mathematics differently.
See our offers
