ANSD Dr.
O Diop
ISE1 & ISEP3 2024 -
2025
C ALCUL S CIENTIFIQUE
Chapitre 3 : Systèmes tridiagonales et méthodes de Cholesky
Exercice 1
1. Soit A une matrice tridiagonale, symétrique et définie positive. Donner l’expression
de la matrice R vérifiant A = RRT .
2. Ecrire le code python de la décomposition de Cholesky d’une matrice tridiago-
nale A.
Exercice 2 On applique la méthode de Gauss au système tridiagonal suivant
b1 c 1 0 x1 k1
a2 b 2 c2 x2 k2
a3 b3 c3
x3
k3
.. .. .. .. = .. (1)
. . .
.
.
an−1 bn−1 cn−1
xn−1
kn−1
0 an bn xn kn
1. Montrer que la triangularisation supérieure de revient à poser :
cn = 0
c1
ω1 =
b1
k1
y1 = b1 (2)
ci
ωi =
bi −ai wi−1
ki −ai yi−1
yi =
bi −ai ωi−1
2. Evaluer le nombre d’opérations nécessaires.
3. Reprendre ces deux premières questions pour le cas de la triangurisation inférieure.
4. Ecrire une fonction python permettant de résoudre un système tri-diagonale
Tp 1 Matrice tridiagonale (du laplacien 1d) Pour N entier, on définit la matrice tridi-
agonale d’ordre N .
2 −1 0 ... 0
...
−1 2 −1 0
AN =
.. .. ..
0 . . . 0
.. ..
. . −1 2 −1
0 . . . 0 −1 2
On se propose, dans ce Tp, de résoudre un système Ax = b où A est une matrice
tridiagonale. On utilisera les méthodes directes présentées dans le cours.
1
1. Ecrire le système A4 x = b sous la forme d’un système A0 x = b0 où A0 est une
matrice triangulaire inférieure (on utilisera la méthode de Gauss inférieur).
2. Ecrire le système A4 x = b sous la forme d’un système A0 x = b0 où A0 est une
matrice triangulaire supérieur (on utilisera la méthode de Gauss supérieur).
3. La matrice A est elle décomposable par LU ?
4. La matrice A est elle décomposable par Cholesky?
5. Calculer la factorisation LU de la matrice A4 .
6. Calculer la factorisation de Cholesky de la matrice A4 .
7. Ecrire un code python permettant de vérifier si une matrice A est décomposable
par la méthode LU.
8. Ecrire un code python permettant de vérifier si une matrice A est décomposable
par la méthode de Cholesky.
9. Ecrire le code python de la méthode de Gauss inférieur pour le système Ax = b.
10. Ecrire le code python de la méthode de Gauss Supérieur pour le système Ax = b.
11. Afficher les matrices bidiagonales L et U de la décmoposition LU de A
12. Donner la solution de Ax = b par la méthode LU en utilisant les formules données
dans le cours (cas de matrices bidiagonales).
13. Ecrire un code python permettant d’obtenir la matrice tridiagonale A pour N
donné en paramètre.
14. Ecrire un code python permettant de vérifier si une matrice A est décomposable
par LU.
15. Donner la solution de Ax = b par la méthode LU en résolvant Ly = b puis U x = y.
16. Afficher la matrice bidiagonale R de la décomposition de Cholesky de la matrice
A
17. Donner la solution de Ax = b par la méthode de Cholesky