Factorisation de Cholesky

La factorisation de Cholesky, nommée d'après André-Louis Cholesky, consiste, pour une matrice symétrique définie positive A, à déterminer une matrice triangulaire inférieure L telle que : A=LLT.

La matrice L est en quelque sorte une « racine carrée » de A. Cette décomposition permet notamment de calculer la matrice inverse A−1, de calculer le déterminant de A (égal au carré du produit des éléments diagonaux de L) ou encore de simuler une loi multinormale. Elle est aussi utilisée en chimie quantique pour accélérer les calculs (voir Décomposition de Cholesky (chimie quantique)).

Exemple

La matrice symétrique A :

( 1 1 1 1 1 5 5 5 1 5 14 14 1 5 14 15 ) {\displaystyle {\begin{pmatrix}1&1&1&1\\1&5&5&5\\1&5&14&14\\1&5&14&15\\\end{pmatrix}}}

est égale au produit de la matrice triangulaire L :

( 1 0 0 0 1 2 0 0 1 2 3 0 1 2 3 1 ) {\displaystyle {\begin{pmatrix}1&0&0&0\\1&2&0&0\\1&2&3&0\\1&2&3&1\\\end{pmatrix}}}

avec à sa droite sa transposée LT :

( 1 1 1 1 0 2 2 2 0 0 3 3 0 0 0 1 ) {\displaystyle {\begin{pmatrix}1&1&1&1\\0&2&2&2\\0&0&3&3\\0&0&0&1\\\end{pmatrix}}}

Théorème

Théorème — Si A est une matrice symétrique définie positive, il existe une matrice réelle triangulaire inférieure L telle que[1]:

A=LLT.

De plus cette décomposition est unique si l'on impose à L d'avoir des coefficients diagonaux strictement positifs.

Démonstration

Notons B = ( e 1 , . . . e n ) {\displaystyle B=(e_{1},...e_{n})} la base canonique de R n {\displaystyle \mathbb {R} ^{n}} .

A est symétrique définie positive, donc elle représente un certain produit scalaire dans B.

Soit B = ( e 1 , . . . e n ) {\displaystyle B'=(e_{1}',...e_{n}')} une base orthonormée pour ce produit scalaire. On note P la matrice de passage de B' vers B.

La formule de changement de base pour une application bilinéaire donne A = P T I n P = P T P {\displaystyle A=P^{T}\mathrm {I} _{n}P=P^{T}P}

On va chercher à bien choisir B' de sorte que P soit triangulaire supérieure à coefficient diagonaux positifs.

Pour cela on cherche B' orthonormée telle que :

k { 1 , . . . , n } , { V e c t ( e 1 , . . . , e k ) = V e c t ( e 1 , . . . , e k ) e k . e k > 0 {\displaystyle \forall k\in \{1,...,n\},{\begin{cases}{\rm {Vect}}(e_{1},...,e_{k})={\rm {Vect}}(e_{1}',...,e_{k}')\\e_{k}.e_{k}'>0\end{cases}}}

L'algorithme de Gram-Schmidt garantit l'existence et l'unicité d'une telle base, d'où l'existence et l'unicité de P. Enfin on pose L = P T {\displaystyle L=P^{T}} dont on déduit la forme voulue.

Algorithme

On cherche la matrice :

L = [ l 11 l 21 l 22 l n 1 l n 2 l n n ] {\displaystyle L={\begin{bmatrix}l_{11}\\l_{21}&l_{22}\\\vdots &\vdots &\ddots \\l_{n1}&l_{n2}&\cdots &l_{nn}\end{bmatrix}}}

De l'égalité A=LLT on déduit :

a i j = ( L L T ) i j = k = 1 n l i k l j k = k = 1 min { i , j } l i k l j k , 1 i , j n {\displaystyle a_{ij}=\left(LL^{T}\right)_{ij}={\sum _{k=1}^{n}l_{ik}l_{jk}}={\sum _{k=1}^{\min \left\{i,j\right\}}l_{ik}l_{jk}},\;1\leq i,j\leq n}

puisque lpq=0 si 1 ≤ p < qn.

La matrice A étant symétrique, il suffit que les relations ci-dessus soient vérifiées pour ij, c'est-à-dire que les éléments lij de la matrice L doivent satisfaire :

a i j = k = 1 i l i k l j k , 1 i j n {\displaystyle a_{ij}={\sum _{k=1}^{i}l_{ik}l_{jk}},\;1\leq i\leq j\leq n}

Pour i=1, on détermine la première colonne de L :

a 11 = l 11 l 11 {\displaystyle a_{11}=l_{11}l_{11}} d'où l 11 = a 11 {\displaystyle l_{11}={\sqrt {a_{11}}}}
a 1 j = l 11 l j 1 {\displaystyle a_{1j}=l_{11}l_{j1}} d'où l j 1 = a 1 j l 11 , 2 j n {\displaystyle l_{j1}={\frac {a_{1j}}{l_{11}}},\;\;\;2\leq j\leq n}

On détermine la i-ème colonne de L 2 ≤ in, après avoir calculé les (i–1) premières colonnes :

a i i = l i 1 l i 1 + + l i i l i i {\displaystyle a_{ii}=l_{i1}l_{i1}+\ldots +l_{ii}l_{ii}} d'où l i i = a i i k = 1 i 1 l i k 2 {\displaystyle l_{ii}={\sqrt {a_{ii}-{\sum _{k=1}^{i-1}l_{ik}^{2}}}}}
a i j = l i 1 l j 1 + + l i i l j i {\displaystyle a_{ij}=l_{i1}l_{j1}+\ldots +l_{ii}l_{ji}} d'où l j i = a j i k = 1 i 1 l i k l j k l i i , i + 1 j n {\displaystyle l_{ji}={\frac {a_{ji}-{\sum _{k=1}^{i-1}l_{ik}l_{jk}}}{l_{ii}}},\;\;\;i+1\leq j\leq n}

Il résulte du théorème précédent qu'il est possible de choisir tous les éléments lii>0 en assurant que toutes les quantités

a 11 , , a i i k = 1 i 1 l i k 2 , {\displaystyle a_{11},\ldots ,a_{ii}-{\sum _{k=1}^{i-1}l_{ik}^{2}},\ldots }

sont positives.

Décomposition de Cholesky alternative

La décomposition de Cholesky alternative permet d'éviter l'utilisation des racines carrées au sein des sommes, source potentielle de problème en calcul numérique, elle se calcule de la façon suivante[2] :

A = L D L T {\displaystyle A=LDL^{\mathrm {T} }}

D est une matrice diagonale, et L une matrice triangulaire inférieure avec des 1 sur sa diagonale.

D j j = A j j k = 1 j 1 L j k 2 D k k {\displaystyle D_{jj}=A_{jj}-\sum _{k=1}^{j-1}L_{jk}^{2}D_{kk}}
L i j = 1 D j j ( A i j k = 1 j 1 L i k L j k D k k ) , pour  i > j . {\displaystyle L_{ij}={\frac {1}{D_{jj}}}\left(A_{ij}-\sum _{k=1}^{j-1}L_{ik}L_{jk}D_{kk}\right),\qquad {\text{pour }}i>j.}


Les factorisations LDLT et LLT (notez que la matrice L est différente dans les deux cas) sont liées :

A = L D L T = L D 1 2 D 1 2 L T = L D 1 2 ( D 1 2 ) T L T = L D 1 2 ( L D 1 2 ) T {\displaystyle A=LDL^{\mathrm {T} }=LD^{\frac {1}{2}}D^{\frac {1}{2}}L^{\mathrm {T} }=LD^{\frac {1}{2}}(D^{\frac {1}{2}})^{\mathrm {T} }L^{\mathrm {T} }=LD^{\frac {1}{2}}(LD^{\frac {1}{2}})^{\mathrm {T} }}

La dernière expression étant le produit d'une matrice triangulaire et de sa transposée, de la même manière que dans la factorisation LLT.

On remarquera que la racine carrée d'une matrice diagonale (ici, D1/2) se calcule trivialement en prenant les racines carrées de chacun de ses éléments.

Histoire

La décomposition porte le nom d'André-Louis Cholesky un officier et ingénieur français. Elle figure dans le manuscrit intitulé « Sur la résolution numérique des systèmes d'équations linéaires », manuscrit porté en 2005 aux Archives de l'École Polytechnique. Daté du 2 décembre 1910, son contenu n'était auparavant connu que par une publication du commandant Benoît, qui décrivit la méthode de Cholesky en 1924, soit plusieurs années après sa mort[3]. Il est probable que Cholesky ait découvert cette méthode en 1902[3].

La méthode, définie pour un problème de topographie, resta longtemps inconnue des mathématiciens[3]. Elle fut remise en avant par John Todd (en) en 1946 dans son cours d'analyse numérique au King's College de Londres[3].

Cette méthode est aujourd'hui centrale en analyse numérique.

Note

  1. Xavier Gourdon, Les Maths en tête: Algèbre, page 247
  2. (en) D. Watkins, Fundamentals of Matrix Computations, p. 84.
  3. a b c et d Claude Brezinski et Dominique Tournès, « André–Louis Cholesky (1875-1918), mathématicien, topographe, enseignant et officier », sur Images des maths, .

Voir aussi

Articles connexes

Bibliographie

La méthode de Cholesky est essentielle en analyse numérique. Il existe donc une multitude de références, parmi lesquelles :

  • Philippe Ciarlet, Introduction à l'analyse numérique matricielle et à l'optimisation, 1985 (rééd. 2001), éd. Masson, coll. Math. Appl. pour la Maîtrise (ISBN 2-225-68893-1)
  • Patrick Lascaux et Raymond Theodor, Analyse numérique matricielle appliquée à l'art de l'ingénieur - Volume 1 Méthodes directes, Dunod,

Lien externe

  • Sur la résolution numérique des systèmes linéaires, manuscrit de Cholesky en ligne et commenté sur le site BibNum.
v · m
Matrices
Forme
Transformée
Relation
Propriété
Famille
Associée
Résultats
Décompositions
Articles liés
v · m
Recherche de zéro
Transformations de matrice
Résolutions de systèmes
Intégration numérique
Équations différentielles
Interpolation numérique
  • icône décorative Portail de l’algèbre