# Formule de Sherman-Morrison

En algèbre linéaire, la formule de Sherman-Morrison, nommée d'après Jack Sherman et Winifred J. Morrison, calcule l'inverse d'une « mise à jour de rang -1 » d'une matrice dont l'inverse a été précédemment calculée$^,$ C'est-à-dire, étant donné une matrice inversible $A$ et le produit tensoriel $uv^{\textsf {T}}$ des vecteurs $u$ et $v,$ la formule calcule à moindre coût une matrice inverse mise à jour (A+uv$^T$))$^{−1}$.{\textstyle \left(A+uv^{\textsf {T}}\right){\vphantom}}^{\!-1}.}
La formule de Sherman-Morrison est un cas particulier de l'identité de Woodbury. Bien que nommée d'après Sherman et Morrison, elle apparaissait déjà dans des publications antérieures$^,$$^,$.

## Enoncé

On suppose $A\in \mathbb {R} ^{n\times n}$ est une matrice carrée inversible et $u,v\in \mathbb {R} ^{n}$ sont des vecteurs colonnes . Alors $A+uv^{\textsf {T}}$ est inversible si et seulement si $1+v^{\textsf {T}}A^{-1}u\neq 0$ . Dans ce cas,
    $\left(A+uv^{\textsf {T}}\right)^{-1}=A^{-1}-{A^{-1}uv^{\textsf {T}}A^{-1} \over 1+v^{\textsf {T}}A^{-1}u}.$
Ici, $uv^{\textsf {T}}$ est le produit tensoriel de deux vecteurs $u$ et $v$ . La forme générale présentée ici est celle publiée par Bartlett.

## Preuve

Pour prouver le sens réciproque $1+v^{\textsf {T}}A^{-1}u\neq 0\Rightarrow A+uv^{\textsf {T}}$ est inversible avec l'inverse donné comme ci-dessus) est vrai, on vérifie les propriétés de l'inverse. Une matrice $Y$ (dans ce cas, le côté droit de la formule de Sherman-Morrison) est l'inverse d'une matrice $X$ (dans ce cas $A+uv^{\textsf {T}}$ ) si et seulement si $XY=YX=I$.
On vérifie d’abord que le côté droit ( $Y$ ) satisfait $XY=I$ .
    ${\begin{aligned}XY&=\left(A+uv^{\textsf {T}}\right)\left(A^{-1}-{A^{-1}uv^{\textsf {T}}A^{-1} \over 1+v^{\textsf {T}}A^{-1}u}\right)\\[6pt]&=AA^{-1}+uv^{\textsf {T}}A^{-1}-{AA^{-1}uv^{\textsf {T}}A^{-1}+uv^{\textsf {T}}A^{-1}uv^{\textsf {T}}A^{-1} \over 1+v^{\textsf {T}}A^{-1}u}\\[6pt]&=I+uv^{\textsf {T}}A^{-1}-{uv^{\textsf {T}}A^{-1}+uv^{\textsf {T}}A^{-1}uv^{\textsf {T}}A^{-1} \over 1+v^{\textsf {T}}A^{-1}u}\\[6pt]&=I+uv^{\textsf {T}}A^{-1}-{u\left(1+v^{\textsf {T}}A^{-1}u\right)v^{\textsf {T}}A^{-1} \over 1+v^{\textsf {T}}A^{-1}u}\\[6pt]&=I+uv^{\textsf {T}}A^{-1}-uv^{\textsf {T}}A^{-1}\\[6pt]&=I\end{aligned}}$
Pour terminer la preuve de ce sens, il faut montrer que $YX=I$ de la même manière que ci-dessus :
    $YX=\left(A^{-1}-{A^{-1}uv^{\textsf {T}}A^{-1} \over 1+v^{\textsf {T}}A^{-1}u}\right)(A+uv^{\textsf {T}})=I.$
(En fait, la dernière étape peut être évitée puisque pour les matrices carrées $X$ et $Y$, $XY=I$ est équivalent à $YX=I$ .)
Réciproquement, si $1+v^{\textsf {T}}A^{-1}u=0$, alors par le lemme du déterminant, $\det \!\left(A+uv^{\textsf {T}}\right)=(1+v^{\textsf {T}}A^{-1}u)\det(A)=0$, alors $\left(A+uv^{\textsf {T}}\right)$ n'est pas inversible.

## Application

Si l'inverse de $A$ est déjà connue, la formule fournit un moyen numériquement peu coûteux de calculer l'inverse de $A$ corrigé par la matrice $uv^{\textsf {T}}$ (selon le point de vue, la correction peut être vue comme une perturbation ou comme une mise à jour de rang 1). En effet, le calcul n'utilise aucune que des produits par $A^{-1}$, la seule division étant celle d'un scalaire .
En utilisant des colonnes unitaires (colonnes de la matrice identité) pour $u$ ou $v$, les colonnes ou lignes individuelles de $A$ peuvent être manipulées et l'inverse peut être calculé de manière relativement peu coûteuse de cette manière. Dans le cas général, où $A^{-1}$ est une matrice carré de taille $n$ et $u$ et $v$ sont des vecteurs arbitraires de dimension $n$, la matrice entière est mise à jour et le calcul prend $3n^{2}$ multiplications scalaires. Si $u$ est une colonne unitaire, le calcul ne prend que $2n^{2}$ multiplications scalaires. Il en va de même si $v$ est une colonne unitaire. Si les deux $u$ et $v$ sont des colonnes unitaires, le calcul ne prend que $n^{2}$ multiplications scalaires.
Cette formule a également une application en physique théorique. En effet, dans la théorie quantique des champs, on utilise cette formule pour calculer le propagateur d'un champ de spin 1. Le propagateur inverse (tel qu'il apparaît dans le lagrangien) a la forme $A+uv^{\textsf {T}}$. On utilise la formule de Sherman-Morrison pour calculer l'inverse (satisfaisant certaines conditions limites d'ordre temporel) du propagateur inverse — ou simplement du propagateur (de Feynman) — qui est nécessaire pour effectuer tout calcul perturbatif impliquant le champ de spin 1.
L’un des problèmes de cette formule est que l’on sait peu de choses sur sa stabilité numérique. Il n’existe aucun résultat publié concernant ses limites d’erreur. Des preuves anecdotiques suggèrent que l’identité matricielle de Woodbury (une généralisation de la formule de Sherman-Morrison) peut diverger même pour des exemples apparemment bénins (lorsque les matrices originales et modifiées sont bien conditionnées).

## Vérification alternative

Voici une vérification alternative de la formule de Sherman-Morrison utilisant l'identité facilement vérifiable
    $\left(I+wv^{\textsf {T}}\right)^{-1}=I-{\frac {wv^{\textsf {T}}}{1+v^{\textsf {T}}w}}$ .
Soit
    $u=Aw,\quad {\text{et}}\quad A+uv^{\textsf {T}}=A\left(I+wv^{\textsf {T}}\right),$
alors
    $\left(A+uv^{\textsf {T}}\right)^{-1}=\left(I+wv^{\textsf {T}}\right)^{-1}A^{-1}=\left(I-{\frac {wv^{\textsf {T}}}{1+v^{\textsf {T}}w}}\right)A^{-1}$ .
En substituant $w=A^{-1}u$ on a :
    $\left(A+uv^{\textsf {T}}\right)^{-1}=\left(I-{\frac {A^{-1}uv^{\textsf {T}}}{1+v^{\textsf {T}}A^{-1}u}}\right)A^{-1}=A^{-1}-{\frac {A^{-1}uv^{\textsf {T}}A^{-1}}{1+v^{\textsf {T}}A^{-1}u}}$

## Généralisation (identité matricielle de Woodbury)

Étant données $A$ une matrice carrée inversible $n\times n$, $U$ une matrice $n\times k$, et $V$ une matrice $k\times n$, soit $B$ une matrice $n\times n$ telle que $B=A+UV$. Alors, en supposant que $\left(I_{k}+VA^{-1}U\right)$ est inversible, on a
    $B^{-1}=A^{-1}-A^{-1}U\left(I_{k}+VA^{-1}U\right)^{-1}VA^{-1}.$