Vous êtes sur la page 1sur 6

TD-1 : Solution des systèmes d’équations algébriques linéaires

Remarques.

- Seul un exemple de chacune des méthodes étudiées est traité ici.

- Le reste des exemples sont à traiter par chacun des étudiants.

- Pour les méthodes de Jacobi et Gauss-Seidel, s’il y a divergence, donnez


une explication possible de cette divergence.

Exercice 2

On considère le système suivant

1 4 1 
A = 1 6 − 1 b = [7 13 5]
2 − 1 2 

1- Élimination de Gauss : la solution en utilisant l’élimination de Gauss a


déjà été abordée durant le TD et de ce fait la solution de ce système
ne sera pas reprise.
2- Méthode de Crout : L’algorithme de la méthode est le suivant :

 PHASE DE DECOMPOSITION
 Calcul des éléments de la première colonne de L :
𝐿𝐿11 = 𝐴𝐴11 = 1
𝐿𝐿21 = 𝐴𝐴21 = 1
𝐿𝐿31 = 𝐴𝐴31 = 2
 Mise des éléments diagonaux de U à 1 :
𝑈𝑈11 = 1
𝑈𝑈22 = 1
𝑈𝑈33 = 1
 Calcul des éléments de la première ligne de U :
𝐴𝐴12 4
𝑈𝑈12 = = =4
𝐿𝐿11 1
𝐴𝐴13 1
𝑈𝑈13 = = =1
𝐿𝐿11 1
 Calcul du reste des éléments de L puis ceux de U ligne par ligne
en commençant à partir de la deuxième ligne selon l’algorithme
suivant :
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑖𝑖 = 2: 𝑛𝑛 = 3
𝑗𝑗−1

𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑗𝑗 = 2: 𝑖𝑖 𝐿𝐿𝑖𝑖𝑖𝑖 = 𝐴𝐴𝑖𝑖𝑖𝑖 − � 𝐿𝐿𝑖𝑖𝑖𝑖 𝑈𝑈𝑘𝑘𝑘𝑘


𝑘𝑘=1
𝑖𝑖−1
�𝐴𝐴𝑖𝑖𝑖𝑖 − ∑𝑘𝑘=1 𝐿𝐿𝑖𝑖𝑖𝑖 𝑈𝑈𝑘𝑘𝑘𝑘 �
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑙𝑙 = 𝑖𝑖 + 1: 3 𝑈𝑈𝑖𝑖𝑖𝑖 =
𝐿𝐿𝑖𝑖𝑖𝑖

Ligne 2 (i=2)

• 𝒋𝒋 = 𝟐𝟐: 𝒊𝒊 = 𝟐𝟐

𝑗𝑗 = 2 𝐿𝐿22 = 𝐴𝐴22 − ∑1𝑘𝑘=1 𝐿𝐿2𝑘𝑘 𝑈𝑈𝑘𝑘2 = 𝐴𝐴22 − 𝐿𝐿21 𝑈𝑈12 = 6 − 1 ∗ 4 = 2

• 𝒍𝒍 = 𝒊𝒊 + 𝟏𝟏 = 𝟐𝟐 + 𝟏𝟏 = 𝟑𝟑 ∶ 𝒏𝒏 = 𝟑𝟑

�𝐴𝐴23 −∑1𝑘𝑘=1 𝐿𝐿2𝑘𝑘 𝑈𝑈𝑘𝑘3 � (𝐴𝐴23 −𝐿𝐿21 𝑈𝑈13 ) (−1−1∗1)


𝑙𝑙 = 3 𝑈𝑈23 = 𝐿𝐿22
= = = −1
𝐿𝐿22 2

Ligne 3 (i=3)

j=2 :3

j=2 𝐿𝐿32 = 𝐴𝐴32 − ∑1𝑘𝑘=1 𝐿𝐿3𝑘𝑘 𝑈𝑈𝑘𝑘2 = 𝐴𝐴32 − 𝐿𝐿31 𝑈𝑈12 = −1 − 2 ∗ 4 = −9

j=3 𝐿𝐿33 = 𝐴𝐴33 − ∑2𝑘𝑘=1 𝐿𝐿3𝑘𝑘 𝑈𝑈𝑘𝑘3 = 𝐴𝐴33 − 𝐿𝐿31 𝑈𝑈13 − 𝐿𝐿32 𝑈𝑈23 = 2 − 2 ∗ 1 − (−9) ∗
(−1) = −9

Les matrices L et U sont donc :

1 0 0 1 4 1
𝐿𝐿 = �1 2 0� 𝑈𝑈 = �0 1 −1�
2 −9 −9 0 0 1

 PHASE DE SOLUTION
Le système AX=b est transformé en un système LUX=b. On pose alors :
UX=Y et on résout d’abord LY=b en balayant ce système du haut vers le
bas.
𝑦𝑦1 =7
� 𝑦𝑦1 + 2𝑦𝑦2 = 13
2𝑦𝑦1 − 9𝑦𝑦2 − 9𝑦𝑦3 = 5
D’où :
𝑦𝑦1 = 7
13 − 7
𝑦𝑦2 = =3
2
2 ∗ 7 − 9 ∗ 3 − 5 14 − 27 − 5
𝑦𝑦3 = = = −2
9 9
Ensuite on résout le système UX=Y en le balayant du bas vers le haut.
𝑥𝑥1 + 4𝑥𝑥2 + 𝑥𝑥3 = 7
� 𝑥𝑥2 − 𝑥𝑥3 = 3
𝑥𝑥3 = −2
D’où :
𝑥𝑥3 = −2 𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦𝑦 5
𝑥𝑥2 = 3 − 2 = 1 �⎯⎯⎯� 𝑋𝑋 = � 1 �
𝑥𝑥1 = 7 − 4 ∗ 1 + 2 = 5 −2

Méthode de JACOBI

Le système à résoudre est le suivant :

𝑥𝑥1 + 4𝑥𝑥2 + 𝑥𝑥3 = 7


�𝑥𝑥1 + 6𝑥𝑥2 − 𝑥𝑥3 = 13
2𝑥𝑥1 − 𝑥𝑥2 + 2𝑥𝑥3 = 5

On commence d’abord par mettre le système dans sa forme explicite qu’on


peut tirer à partir de la relation de récurrence suivante (voir le cours sur les
méthodes itératives de résolution des systèmes linéaires) :

𝑛𝑛 (0)
�𝑏𝑏𝑖𝑖 − ∑𝑗𝑗=1 𝐴𝐴𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 �
(1) 𝑗𝑗≠𝑖𝑖
𝑥𝑥𝑖𝑖 = 𝑖𝑖 = 1,2, … , 𝑛𝑛
𝐴𝐴𝑖𝑖𝑖𝑖

Qui donne :

𝑥𝑥1 = (7 − 4𝑥𝑥2 − 𝑥𝑥3 )/1


� 𝑥𝑥2 = (13 − 𝑥𝑥1 + 𝑥𝑥3 )/6
𝑥𝑥3 = (5 − 2𝑥𝑥1 + 𝑥𝑥2 )/2

Du fait qu’aucune information n’est disponible sur le choix de la solution


initiale, on prendra alors :

𝑋𝑋 (0) = [0 0 0]

Itération 1
(𝟏𝟏) (𝟏𝟏) (𝟏𝟏)
Dans la méthode de Jacobi, les différentes variables 𝒙𝒙𝟏𝟏 , 𝒙𝒙𝟐𝟐 et 𝒙𝒙𝟑𝟑 sont
toutes calculées en utilisant la solution précédente c’est à
(𝟎𝟎) (𝟎𝟎) (𝟎𝟎)
dire 𝒙𝒙𝟏𝟏 , 𝒙𝒙𝟐𝟐 𝒆𝒆𝒆𝒆 𝒙𝒙𝟑𝟑 .
(1)
⎧ 𝑥𝑥1 = 7 − 4 ∗ 0 − 0 = 7.00000
⎪ (1) 13 − 0 + 0 13
𝑥𝑥2 = = = 2.16670
6 6

⎪ 𝑥𝑥 (1) = 5 − 0 + 0 = 5 = 2.50000
⎩ 3 2 2

On calcul ensuite le plus grand ∆𝑥𝑥𝑖𝑖 qui dans ce cas correspond à la première
variable.

7−0
∆𝑥𝑥1 = � � = 𝑖𝑖𝑖𝑖𝑖𝑖
0

Si on choisit 𝜀𝜀 = 10−4 alors :

∆𝑥𝑥1 ≤ 10−4 ? 𝑁𝑁𝑁𝑁𝑁𝑁

On passe alors à la deuxième itération

Itération 2
(2)
⎧𝑥𝑥1 = 7 − 4 ∗ 2.16670 − 2.50000 = −4.16680
⎪ (2) 13 − 7.00000 + 2.50000
𝑥𝑥2 = = 1.41670
⎨ 6
⎪𝑥𝑥 (2) = 5 − 2 ∗ 7.00000 + 2.16670 = −3.41660
⎩ 3 2
∆𝑥𝑥1 = 2.6799 ∆𝑥𝑥2 = 0.3461 ∆𝑥𝑥3 = 2.3666

∆𝑥𝑥1 = 2.6799 ≤ 10−4 ? 𝑁𝑁𝑁𝑁𝑁𝑁

Itération 3
(3)
⎧ 𝑥𝑥1 = 7 − 4 ∗ 1.41670 + 3.41660 = 4.7498
⎪ (3) 13 + 4.16680 − 3.411660
𝑥𝑥2 = = 2.29250
6

⎪ 𝑥𝑥 (3) = 5 + 2 ∗ 4.16680 + 1.41670 = 7.3752
⎩ 3 2
∆𝑥𝑥1 = 2.13990 ∆𝑥𝑥2 = 0.61820 ∆𝑥𝑥3 = 3.15860

∆𝑥𝑥3 = 3.1586 ≤ 10−4 ? 𝑁𝑁𝑁𝑁𝑁𝑁

Itération 4
(4)
𝑥𝑥1 = 7 − 4 ∗ 2.29250 − 7.37520 = −9.54520
(4) 13 − 4.74980 + 7.37520
𝑥𝑥2 = = 2.60420
6
(4) 5 − 2 ∗ 4.74980 + 2.29250
𝑥𝑥3 = = −1.10350
2
∆𝑥𝑥1 = 3.00960 ∆𝑥𝑥2 = 0.13600 ∆𝑥𝑥3 = 1.14960

∆𝑥𝑥1 = 3.00960 ≤ 10−4 ? 𝑁𝑁𝑁𝑁𝑁𝑁

Vu l’évolution des résultats au fil des itérations, il semble que la méthode


diverge. On peut expliquer cette divergence par le fait que la matrice A n’est
pas à diagonale dominante. Il en sera de même si on applique la méthode
de Gauss-Seidel.

METHODE DE GAUSS-SEIDEL

Contrairement à la méthode Jacobi, dans la méthode de Gauss Seidel dès


qu’une variable est calculée, elle est immédiatement utilisée pour calculer les
variables suivantes.

On commence d’abord par mettre le système dans sa forme explicite qu’on


peut tirer à partir des équations de récurrence suivantes :
(𝑘𝑘)
⎧ (𝑘𝑘+1)
�𝑏𝑏1 − ∑𝑛𝑛𝑗𝑗=2 𝐴𝐴1𝑗𝑗 𝑥𝑥𝑗𝑗 �
⎪ 𝑥𝑥1 =
⎪ 𝐴𝐴11
⎪ 𝑖𝑖−1 (𝑘𝑘+1) (𝑘𝑘)
(𝑘𝑘+1)
�𝑏𝑏𝑖𝑖 − ∑𝑗𝑗=1 𝐴𝐴𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 − ∑𝑛𝑛𝑗𝑗=𝑖𝑖+1 𝐴𝐴𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 �
𝑥𝑥 = 𝑖𝑖 = 2 à 𝑛𝑛 − 1
⎨ 𝑖𝑖 𝐴𝐴𝑖𝑖𝑖𝑖
⎪ (𝑘𝑘+1)
⎪ �𝑏𝑏𝑛𝑛 − ∑𝑛𝑛−1
𝑗𝑗=1 𝐴𝐴𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 �
⎪ (𝑘𝑘+1)
𝑥𝑥𝑛𝑛 =
⎩ 𝐴𝐴𝑛𝑛𝑛𝑛

𝑥𝑥1 = 7 − 4𝑥𝑥2 − 𝑥𝑥3



⎪𝑥𝑥 = 13 − 𝑥𝑥1 + 𝑥𝑥3
2
6
⎨ 5 − 2𝑥𝑥
⎪𝑥𝑥 = 1 + 𝑥𝑥2
⎩ 3
2

Du fait qu’aucune information n’est disponible sur le choix de la solution


initiale, on prendra alors :

𝑋𝑋 (0) = [0 0 0]
Itération 1
(1)
⎧ 𝑥𝑥1 = 7.00000 − 4 ∗ 0 − 0 = 7.00000
⎪ (1) 13 − 7.00000 + 0 6
𝑥𝑥2 = = = 1.00000
6 6

⎪𝑥𝑥 (1) 5 − 2 ∗ 7.00000 + 1.00000 8.00000
⎩ 3 = =− = −4.00000
2 2
7−0
∆𝑥𝑥1 = � � = inf ∆𝑥𝑥2 = inf ∆𝑥𝑥3 = 𝑖𝑖𝑖𝑖𝑖𝑖
0

∆𝑥𝑥1 = 𝑖𝑖𝑖𝑖𝑖𝑖 ≤ 10−4 ? 𝑁𝑁𝑁𝑁𝑁𝑁

Itération 2
(2)
⎧ 𝑥𝑥1 = 7 − 4 ∗ 1.00000 + 4.00000 = 7.00000
⎪ (2) 13 − 7.00000 − 4.00000
𝑥𝑥2 = = 0.33333
6

⎪𝑥𝑥 (2) = 5 − 2 ∗ 7.00000 + 0.33333 = −4.33334
⎩ 3 2
7−7
∆𝑥𝑥1 = � �=0
7
0.33333 − 1.00000 −4.33334 + 4.00000
∆𝑥𝑥2 = � � = 0.66667 ; ∆𝑥𝑥3 = � �
1.00000 4.00000
= 0.08334

∆𝑥𝑥2 = 0.66667 ≤ 10−4 ? 𝑁𝑁𝑁𝑁𝑁𝑁

Itération 3
(3)
⎧ 𝑥𝑥1 = 7 − 4 ∗ 0.33333 + 4.33334 = 10.00002
⎪ (3) 13 − 𝑥𝑥1 + 𝑥𝑥3 13 − 10.00002 − 4.33334
𝑥𝑥2 = = = −0.22223
6 6

⎪𝑥𝑥 (3) = 5 − 2𝑥𝑥1 + 𝑥𝑥2 = 5 − 2 ∗ 10.00002 − 0.22223 = −7.61114
⎩ 3 2 2

Au vu de ces résultats on a tendance à dire que la méthode diverge.

Vous aimerez peut-être aussi