Vous êtes sur la page 1sur 32

Université du Québec à Chicoutimi

Méthodes d’analyse de l’ingénieur


8GEN455 (01)

Chapitre 3
Systèmes d’équations
1 algébriques
Par: Omar Noui, Ph. D.
2
3.2: Systèmes linéaires
▪ Un système linéaire s’écrit sous la forme 𝐴𝑥Ԧ = 𝑏 tels que:
𝑎11 𝑎12 𝑎13 … 𝑎1𝑛 𝑥1 𝑏1
𝑎2,1 𝑎22 𝑎23 … 𝑎2𝑛 𝑥2 𝑏2
𝐴 = 𝑎31 𝑎32 𝑎33 … 𝑎3𝑛 , 𝑥Ԧ = 𝑥3 𝑒𝑡 𝑏 = 𝑏3
⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮
𝑎𝑛1 𝑎𝑛2 𝑎𝑛3 … 𝑎𝑛𝑛 𝑥𝑛 𝑏𝑛
▪ La méthode classique de substitution successive est très difficile à
décrire sous forme d’algorithme.
▪ Les systèmes linéaires les plus faciles à résoudre sont les systèmes
diagonaux.
3
3.2: Systèmes linéaires
▪ Matrice triangulaire: Une matrice est dite triangulaire inférieure (ou
supérieure) si tous les 𝑎𝑖𝑗 (ou tous les 𝑎𝑗𝑖 ) sont nuls pour 𝑖 < 𝑗. Une
matrice triangulaire supérieure est la transposée d’une matrice
triangulaire inférieure.
▪ Les systèmes triangulaires sont aussi faciles à résoudre.
▪ Pour résoudre un système triangulaire inférieur (supérieur), il suffit
d’utiliser la méthode de la descente (remontée) triangulaire:
𝑥1 = 𝑏1 Τ𝑎11
𝑖−1

𝑥𝑖 = 𝑏𝑖 − ෍ 𝑎𝑖𝑘 𝑥𝑘 ൘𝑎𝑖𝑖 𝑝𝑜𝑢𝑟 𝑖 = 2,3, … , 𝑛


𝑘=1
4
3.2: Systèmes linéaires

▪ Le déterminant d’une matrice triangulaire est:


𝑛
det 𝐴𝑡𝑟𝑖𝑎𝑛𝑔 = ෑ 𝑎𝑖𝑖
𝑖=1
▪ Les matrices triangulaires sont primordiales pour la résolution des
systèmes linéaires.
▪ Méthode directe: Une méthode de résolution d’un système
linéaire est dite directe si la solution peut être obtenue par cette
méthode en un nombre fini et prédéterminé d’opérations.
▪ Les méthodes qui ne sont pas directes sont dites itératives. Elles
peuvent converger ou diverger selon le cas.
3.3: Opérations élémentaires sur les lignes
5

▪ Multiplication d’une ligne par un scalaire: on remplace la ligne 𝑖 par


un multiple d’elle-même (𝑙𝑖 ← 𝜆𝑙𝑖 ). Dans ce cas, la matrice 𝑊 est une
matrice diagonale dont tous les éléments diagonaux sont 1 sauf 𝑤𝑖𝑖 =
𝜆. Pour obtenir 𝑊 −1 , on remplace 𝜆 par 1/𝜆 dans 𝑊. Ici det 𝑊𝐴 =
𝜆 det 𝐴
▪ Permutation de deux lignes: on intervertit la ligne 𝑖 et la ligne 𝑗 (𝑙𝑖 ↔
𝑙𝑗 ). Dans ce cas, la matrice 𝑊 est obtenue en permutant les lignes 𝑖 et
𝑗 de la matrice identité. Ici 𝑊 −1 = 𝑊 et Ici det 𝑊𝐴 = − det 𝐴

▪ Opération 𝒍𝒊 ← 𝒍𝒊 + 𝝀𝒍𝒋 : On remplace la ligne 𝑖 par la ligne 𝑖 plus un


multiple de la ligne 𝑗. Dans ce cas, la matrice 𝑊 vaut 1 partout sur la
diagonale et 0 partout sauf 𝑤𝑖𝑗 = 𝜆. Pour obtenir 𝑊 −1 , on remplace 𝜆
par −𝜆 dans 𝑊. Ici det 𝑊𝐴 = det 𝐴
3.4: Élimination de Gauss
6

▪ La méthode de l’élimination de Gauss consiste à éliminer tous les termes sous


la diagonale de la matrice 𝐴 en utilisant les opérations élémentaires sur les
lignes pour obtenir une matrice triangulaire supérieure.
▪ Pour que les opérations élémentaires soient effectuées simultanément sur les
lignes de la matrice 𝐴 et sur celles du vecteur 𝑏, on emploie la matrice
augmentée:
𝑎11 𝑎12 𝑎13 … 𝑎1𝑛 𝑏1
𝑎2,1 𝑎22 𝑎23 … 𝑎2𝑛 𝑏2
𝑎31 𝑎32 𝑎33 … 𝑎3𝑛 𝑏3
⋮ ⋮ ⋮ ⋱ ⋮ ⋮
𝑎𝑛1 𝑎𝑛2 𝑎𝑛3 … 𝑎𝑛𝑛 𝑏𝑛

▪ La méthode d’élimination de Gauss revient à factoriser la matrice 𝐴 en un


produit de deux matrice triangulaires 𝐿 et 𝑈 (dans le cas où aucune
permutation de ligne n’est effectuée).
▪ La méthode de Gauss est un cas particulier de la décomposition 𝐿𝑈.
3.5: Décomposition LU
7

 Principe de la méthode:
▪ Le principe est d’exprimer la matrice 𝐴 comme produit de deux matrices
triangulaires 𝐿 et 𝑈 de telle sorte que:
𝐴𝑥Ԧ = 𝐿𝑈𝑥Ԧ = 𝑏
▪ 𝐿 est triangulaire inférieure et 𝑈 est triangulaire supérieure.
▪ On pose alors 𝑈𝑥Ԧ = 𝑦.
Ԧ La résolution se fait en deux étapes:
𝐿𝑦Ԧ = 𝑏

𝑈𝑥Ԧ = 𝑦Ԧ

▪ La décomposition 𝐿𝑈 n’est pas unique.


▪ Cas particulier: Décomposition de Crout:
𝑎11 𝑎12 𝑎13 𝑎14 𝑙11 0 0 0 1 𝑢12 𝑢13 𝑢14
𝑎2,1 𝑎22 𝑎23 𝑎24 𝑙21 𝑙22 0 0 0 1 𝑢23 𝑢24
𝑎31 𝑎32 𝑎33 𝑎34 = 𝑙31 𝑙32 𝑙33 0 0 0 1 𝑢34
𝑎41 𝑎42 𝑎43 𝑎44 𝑙41 𝑙42 𝑙43 𝑙44 0 0 0 1
3.5: Décomposition LU
8
 Décomposition de Crout: (cas de dimension 4)
1. Produit des lignes de L par la première colonne de U: donne la première colonne
de L.
2. Produit de la première ligne de L par les autres colonnes de U: donne la première
ligne de U.
3. Produit des lignes de L par la deuxième colonne de U donne la deuxième
colonne de L.
4. Produit de la deuxième ligne de L par les colonnes de U: donne la deuxième
ligne de U.
5. Produit des lignes de L par la troisième colonne de U: donne la troisième colonne
de L:
6. Produit de la troisième ligne de L par la quatrième ligne de U: donne la troisième
ligne de U.
7. Produit de la quatrième ligne de L par la quatrième colonne de U: donne la
dernière colonne de L.
3.5: Décomposition LU
9

 Décomposition de Crout: (Algorithme)


Décomposition LU de la matrice (sans permutation de lignes)
1. Première colonne de 𝐿: 𝑙𝑖1 = 𝑎𝑖1 pour 𝑖 = 1,2,3, … , 𝑛
2. Première ligne de 𝑈: 𝑢1𝑖 = 𝑎1𝑖 Τ𝑙11 pour 𝑖 = 2,3, … , 𝑛
3. Pour 𝑖 = 2,3, … , 𝑛 − 1:
a) Calcul du pivot: 𝑙𝑖𝑖 = 𝑎𝑖𝑖 − σ𝑖−1
𝑘=1 𝑙𝑖𝑘 𝑢𝑘𝑖

b) Pour j= 𝑖 + 1, 𝑖 + 2, … , 𝑛:
i. Calcul de la 𝑖 è𝑚𝑒 colonne de 𝐿: 𝑙𝑗𝑖 = 𝑎𝑗𝑖 − σ𝑖−1
𝑘=1 𝑙𝑗𝑘 𝑢𝑘𝑖

ii. Calcul de la 𝑖 è𝑚𝑒 ligne de 𝑈: 𝑢𝑖𝑗 = 𝑎𝑖𝑗 − σ𝑖−1


𝑘=1 𝑙𝑖𝑘 𝑢𝑘𝑗 Τ𝑙𝑖𝑖

4. Calcul de 𝑙𝑛𝑛 : 𝑙𝑛𝑛 = 𝑎𝑛𝑛 − σ𝑛−1


𝑘=1 𝑙𝑛𝑘 𝑢𝑘𝑛
3.5: Décomposition LU
10

 Décomposition de Crout: (Algorithme suite)


Descente triangulaire
1. 𝑦1 = 𝑏1 Τ𝑙11
2. Pour 𝑖 = 2,3, … , 𝑛:
𝑖−1
𝑦𝑖 = 𝑏𝑖 − ෍ 𝑙𝑖𝑘 𝑦𝑘 ൗ𝑙𝑖𝑖
𝑘=1

Remontée triangulaire
1. 𝑥𝑛 = 𝑦𝑛
2. Pour 𝑖 = 𝑛 − 1, 𝑛 − 2, … , 2,1:
𝑛
𝑥𝑖 = 𝑦𝑖 − ෍ 𝑢𝑖𝑘 𝑥𝑘
𝑘=𝑖+1
3.5: Décomposition LU
11

 Décomposition de Crout:
▪ L’algorithme ne fonctionne que si les pivots sont tous non nuls. Ce n’est pas
toujours le cas et il est possible qu’il faille permuter deux lignes pour éviter
cette situation.
▪ Une fois utilisés, les éléments 𝑎𝑖𝑗 de la matrice 𝐴 ne servent plus à rien. Ils
peuvent alors être détruits au fur et à mesure que la décomposition progresse.
▪ Notation LU compacte: On remplace les éléments 𝑎𝑖𝑗 par les coefficients 𝑢𝑖𝑗 et
𝑙𝑖𝑗 :
𝑙11 𝑢12 𝑢13 𝑢14
𝑙21 𝑙22 𝑢23 𝑢24
𝑙31 𝑙32 𝑙33 𝑢34
𝑙41 𝑙42 𝑙43 𝑙44
▪ La notation compacte revient à mettre en mémoire la matrice 𝐿 + 𝑈 − 𝐼 et à
détruire la matrice 𝐴
3.5: Décomposition LU
12

 Décomposition LU et permutation de lignes:


▪ Dans le cas de présence de pivot nul, il faut essayer de permuter deux
lignes.
▪ Afin de garder la trace des permutations effectuées lors de la
décomposition, on introduit un vecteur 𝑂 dit de permutation qui contient la
numérotation des équations.
▪ La permutation de lignes s’effectue toujours après le calcul de chaque
colonne de 𝐿.
▪ On place en position de pivot le plus grand terme en valeur absolue de
cette colonne.
▪ On peut calculer le déterminant de A à l’aide de la méthode de Crout:
𝑛
det 𝐴 = −1 𝑁 ෑ 𝑙𝑖𝑖
𝑖=1

Où 𝑁 est le nombre de fois où on a interverti deux lignes


3.5: Décomposition LU
13

 Décomposition LU et permutation de lignes:


▪ Nous pouvons écrire que 𝑃. 𝐴 = 𝐿. 𝑈 où 𝑃 est une matrice de permutation.

▪ Une décomposition 𝐿𝑈 pour la résolution d’un système de dimensions 𝑛 × 𝑛


𝑛3 −𝑛 2𝑛3 −3𝑛2 +𝑛
nécessite exactement multiplications et additions.
3 6

▪ La remontée et descente triangulaires nécessitent 𝑛2 multiplications et 𝑛2 − 𝑛


additions.

▪ Total des opérations pour un algorithme de décomposition LU:

𝑛3 +3𝑛2 −𝑛
1. multiplications/divisions.
3

2𝑛3 +3𝑛2 −5𝑛


2. additions/soustractions.
6
3.6: Quelques cas intéressants
14

 Matrices définies positives:


▪ Une matrice symétrique 𝐴 est dite définie positive si:
𝑛
𝑛
Ԧ 𝑥Ԧ = 𝑥Ԧ 𝑇 𝐴𝑥Ԧ = ෍
𝐴𝑥. ෍ 𝑎𝑖𝑗 𝑥𝑖 𝑥𝑗 > 0 ∀𝑥Ԧ ≠ 0
𝑖=1
𝑗=1

▪ Théorème: Soit 𝐴 une matrice symétrique. Les énoncés suivants sont


équivalents:
1. 𝐴 est une matrice définie positive.
2.Toutes les valeurs propres de 𝐴 sont réelles et strictement positives.
3.Les déterminants de toutes les sous-matrices principales de 𝐴 sont
strictement positifs.
4.Il existe une factorisation dite de Choleski 𝐴 = 𝐿𝐿𝑇 où 𝐿 est une matrice
triangulaire inférieure dont les termes diagonaux sont tous strictement
positifs. 𝐿 est inversible.
3.6: Quelques cas intéressants
15

Factorisation de Choleski:
▪ Algorithme:
1. Premier pivot: 𝑙11 = 𝑎11 ;
2. Première colonne:
pour 𝑖 allant de 2 à 𝑛: 𝑙𝑖1 = 𝑎𝑖1 /𝑙11 ;
3. Pour 𝑘 allant de 2 à 𝑛:
a) Terme diagonal (pivot):
𝑘−1
2
𝑙𝑘𝑘 = 𝑎𝑘𝑘 − ෍ 𝑙𝑘𝑗
𝑗=1

b) Colonne 𝑘:
pour 𝑖 allant de 𝑘 + 1 à 𝑛:
𝑘−1
𝑙𝑖𝑘 = 𝑎𝑖𝑘 − ෍ 𝑙𝑖𝑗 𝑙𝑘𝑗 ൗ𝑙𝑘𝑘
𝑗=1
3.6: Quelques cas intéressants
16

 Factorisation de Choleski:
▪ La résolution d’un système linéaire se fait aussi en deux étapes:
1.Un système triangulaire inférieure 𝐿𝑦Ԧ = 𝑏
2.Un système triangulaire supérieure 𝐿𝑇 𝑥Ԧ = 𝑦Ԧ
▪ Le déterminant de A se calcule par:
𝑛
det 𝐴 = (det 𝐿)2 = ෑ 𝑙𝑖𝑖2
𝑖=1

▪ Il n’est pas possible d’appliquer la factorisation de Choleski à une matrice qui


n’est pas définie positive.
▪ Il est aussi possible de factoriser une matrice définie positive de la manière
suivante 𝐴 = 𝐿1 𝐷𝐿𝑇1 , où 𝐷 est une matrice diagonale dont les termes sont positifs
et 𝐿1 est triangulaire inférieure dont les termes de la diagonale sont tous égaux
à 1.
𝐴 = 𝐿1 𝐷𝐿𝑇1 = 𝐿1 𝐷1/2 𝐷1/2 𝐿𝑇1 = 𝐿𝐿𝑇
3.6: Quelques cas intéressants
17

 Les systèmes tridiagonaux:

▪ Une matrice est tridiagonale si ses seuls termes non nuls sont situés sur la
diagonale principale et les deux diagonales adjacentes:

𝑎11 𝑎12 0 … 0 𝐷1 𝑆1 0 … 0
𝑎21 𝑎22 𝑎23 … 0 𝐼1 𝐷2 𝑆2 … 0
0 𝑎32 𝑎33 ⋱ 0 𝑜𝑢 0 𝐼2 𝐷3 ⋱ 0
⋮ ⋱ ⋱ ⋱ 𝑎𝑛−1 𝑛 ⋮ ⋱ ⋱ ⋱ 𝑆𝑛−1
0 0 0 𝑎𝑛 𝑛−1 𝑎𝑛 𝑛 0 0 0 𝐼𝑛−1 𝐷𝑛

▪ Les formules utilisées dans la décomposition de Crout sont simplifiées et le


nombre d’opérations est réduit au minimum.
3.6: Quelques cas intéressants
18

 Les systèmes tridiagonaux:


▪ Algorithme:
1. Étant donnés:
• Des vecteurs S, D et I contenant respectivement les diagonales supérieure,
principale et inférieure de la matrice 𝐴;
• Un vecteur 𝑏 contenant le membre de droite du système;
• Un vecteur 𝑦 qui contiendra la solution de 𝐿𝑦 = 𝑏;
• Un vecteur 𝑥 qui contiendra la solution finale de 𝑈𝑥 = 𝑦
2. 𝑦 1 = 𝑏(1)/𝐷(1)
3. Pour 𝑖 allant de 2 à 𝑛:
a. 𝑆 𝑖 − 1 = 𝑆(𝑖 − 1)/𝐷(𝑖 − 1).
b. 𝐷 𝑖 = 𝐷 𝑖 − 𝐼(𝑖 − 1) × 𝑆(𝑖 − 1).
c. 𝑦 𝑖 = (𝑏 𝑖 − 𝐼 𝑖 − 1 ∗ 𝑦(𝑖 − 1))/𝐷(𝑖).
4. 𝑥 𝑛 = 𝑦(𝑛).
5. Pour 𝑖 allant de 𝑛 − 1 à 1:
a. 𝑥 𝑖 = 𝑦 𝑖 − 𝑆 𝑖 × 𝑥 𝑖 + 1 .
3.6: Quelques cas intéressants
19

 Matrices à diagonale strictement dominante:


▪ Une matrice est dite à diagonale strictement dominante
par lignes si:
𝑛
𝑎𝑖𝑖 > ෍ 𝑎𝑖𝑗 ∀𝑖
𝑗=1,𝑗≠𝑖

Ou par colonnes si:


𝑛
𝑎𝑖𝑖 > ෍ 𝑎𝑗𝑖 ∀𝑖
𝑗=1,𝑗≠𝑖

▪ Si 𝐴 est à diagonale strictement dominante par lignes ou par colonnes, alors 𝐴


est inversible et l’élimination de Gauss peut être effectuée sans pivoter les
lignes et le résultat sera stable par rapport aux erreurs d’arrondis. Il en est de
même pour la factorisation 𝐿𝑈.
▪ Si 𝐴 est symétrique, à diagonale strictement dominante et dont les termes
diagonaux sont tous positifs, alors 𝐴 est définie positive et admet une
factorisation de Choleski.
3.7: Calcul de la matrice inverse
20

▪ L’usage de la matrice inverse est rarement nécessaire pour la résolution


de systèmes linéaires.

▪ Pour retrouver la 𝑖 𝑒𝑚𝑒 colonne de la matrice inverse 𝐴−1 de 𝐴, il suffit de


résoudre le système linéaire:
𝐴𝑐𝑖 = 𝑒𝑖

Le membre de droite 𝑒𝑖 est un vecteur dont toutes les composantes sont


nulles sauf la 𝑖 𝑒𝑚𝑒 qui vaut 1.

▪ Le calcul de la matrice inverse 𝐴−1 de dimension 𝑛 × 𝑛 nécessite la


résolution de 𝑛 systèmes linéaires.

▪ Vu le grand nombre d’opérations nécessaires pour trouver l’inverse


d’une matrice, il ne faut jamais calculer 𝐴−1 pour résoudre un système
linéaire.
3.8: Effet de l’arithmétique flottante
21
▪ Les matrices sensibles à l’arithmétique flottante sont nommées matrices
mal conditionnées.
▪ Dans la résolution des systèmes linéaires, une petite modification sur un
terme de la matrice peut entraîner une grande modification de la solution
exacte.
▪ Lorsque le pivot est presque nul, la division par ce pivot mène à une
opération risquée. La solution à ce problème consiste à permuter des
lignes même si le pivot n’est pas nul.
▪ La stratégie de recherche de pivot consiste, une fois la 𝑖 è𝑚𝑒 colonne de L
calculée, à placer en position de pivot le plus grand terme en valeur
absolue de cette colonne (en dessous pivot actuel).
▪ Dans le cas où l’ordre de grandeur des éléments de la matrice sont très
différents, on effectue une mise à l’échelle. Ceci consiste à diviser chaque
ligne du système par le plus grand terme de la ligne de A.
3.9: Conditionnement d’une matrice
22

▪ Norme vectorielle: C’est une application de ℝ𝑛 dans ℝ qui associe à un


vecteur 𝑥Ԧ un scalaire noté 𝑥Ԧ et qui vérifie les propriétés suivantes:
1. 𝑥Ԧ > 0, sauf si 𝑥Ԧ = 0
2. Si 𝛼 est un scalaire, alors: 𝛼 𝑥Ԧ = 𝛼 𝑥Ԧ
3. 𝑥Ԧ + 𝑦Ԧ ≤ 𝑥Ԧ + 𝑦Ԧ (inégalité triangulaire)
▪ La norme euclidienne d’un vecteur 𝑥Ԧ de dimension 𝑛, notée 𝑥Ԧ 2, est
définie par:
𝑥Ԧ 2 = 𝑥12 + 𝑥22 + ⋯ + 𝑥𝑛2

▪ La norme euclidienne vérifie les trois propriétés d’une norme vectorielle.


▪ Norme 𝒍𝟏 : 𝑥Ԧ 1 = σ𝑛𝑖=1 𝑥𝑖
▪ Norme 𝒍∞ : 𝑥Ԧ ∞ = max 𝑥𝑖
1≤𝑖≤𝑛
3.9: Conditionnement d’une matrice
23

▪ Norme matricielle: C’est une application qui associe à une matrice 𝐴 un


scalaire noté 𝐴 et qui vérifie les propriétés suivantes:
1. 𝐴 > 0, sauf si 𝐴 = 0
2. Si 𝛼 est un scalaire, alors: 𝛼𝐴 = 𝛼 𝐴
3. 𝐴 + 𝐵 ≤ 𝐴 + 𝐵 (inégalité triangulaire)
4. 𝐴. 𝐵 ≤ 𝐴 . 𝐵

▪ Norme matricielle induite: Étant donné une norme vectorielle, la norme


matricielle induite (ou subordonnée) à cette norme vectorielle est définie
par:
𝐴𝑥Ԧ
𝐴 = sup
𝑥Ԧ ≠0 𝑥Ԧ
3.9: Conditionnement d’une matrice
24
▪ Les normes matricielles induites par les normes 𝑙1 et 𝑙∞ sont respectivement
données par:
𝐴𝑥Ԧ 1 𝑛
𝐴 1 = sup = max ෍ 𝑎𝑖𝑗
𝑥Ԧ 1 ≠0 𝑥
Ԧ 1 1≤𝑗≤𝑛 𝑖=1
𝐴𝑥Ԧ ∞ 𝑛
𝐴 ∞ = sup = max ෍ 𝑎𝑖𝑗
𝑥Ԧ 1 ≠0 𝑥Ԧ ∞ 1≤𝑖≤𝑛 𝑗=1
▪ On définit la norme de Frobenius par:
𝑛
2
𝐴 𝐹 = ෍ 𝑎𝑖𝑗
𝑖,𝑗=1

▪ Normes compatibles: Une norme vectorielle et une norme matricielle sont dites
compatibles si la condition:
𝐴𝑥Ԧ ≤ 𝐴 𝑥Ԧ
est valide quels que soient la matrice 𝐴 et le vecteur 𝑥.
Ԧ
▪ Si une norme matricielle est induite à une norme vectorielle, les deux normes
sont automatiquement compatibles.
▪ Les normes 𝐴 𝐹 et 𝑥Ԧ 2 sont compatibles.
3.9: Conditionnement d’une matrice
25

▪ Conditionnement d’une matrice: noté 𝑐𝑜𝑛𝑑 𝐴, est défini par:


𝑐𝑜𝑛𝑑 𝐴 = 𝐴 𝐴−1

▪ Pour calculer un conditionnement, on utilise souvent la norme


𝐴 ∞ , noté 𝑐𝑜𝑛𝑑∞ 𝐴.

▪ Le conditionnement est un nombre supérieur ou égal à 1.


3.9: Conditionnement d’une matrice
26

▪ Bornes d’erreurs et conditionnement: Considérons un système linéaire 𝐴𝑥Ԧ = 𝑏.


Notons par 𝑥Ԧ sa solution exacte, 𝑥 ∗ sa solution approchée et 𝑒Ԧ = 𝑥Ԧ − 𝑥 ∗
l’erreur.
❑ Pour que les vecteurs soient proches, la norme de l’erreur 𝑒Ԧ = 𝑥Ԧ − 𝑥 ∗
devrait être petite.
❑ On définit le résidu par: 𝑟Ԧ = 𝑏 − 𝐴𝑥 ∗ . On a alors 𝑟Ԧ = 𝐴𝑒Ԧ
❑ En introduisant des normes compatibles sur 𝑟Ԧ = 𝐴𝑒Ԧ et 𝑒Ԧ = 𝐴−1 𝑟,
Ԧ on a:
𝑟Ԧ
≤ 𝑒Ԧ ≤ 𝐴−1 𝑟Ԧ
𝐴
❑ En introduisant des normes compatibles sur 𝐴𝑥Ԧ = 𝑏 et 𝑥Ԧ = 𝐴−1 𝑏, on a:
𝑏
≤ 𝑥Ԧ ≤ 𝐴−1 𝑏
𝐴
3.9: Conditionnement d’une matrice
27
 Bornes d’erreurs et conditionnement:
1 𝑟Ԧ 𝑒Ԧ 𝑟Ԧ
≤ ≤ 𝑐𝑜𝑛𝑑 𝐴
𝑐𝑜𝑛𝑑 𝐴 𝑏 𝑥Ԧ 𝑏
▪ Le terme du milieu représente l’erreur relative entre 𝑥Ԧ et 𝑥 ∗ .
▪ Si 𝑐𝑜𝑛𝑑 𝐴 est prêt de 1, alors les bornes de l’erreur relative sont très proches. Si 𝑟Ԧ est
petite, alors l’erreur relative est également petite.
▪ Si 𝑐𝑜𝑛𝑑 𝐴 est grand, la valeur de l’erreur relative est située entre 0 et un nombre très
grand.
▪ Même si la norme du résidu est petite, il est possible que l’erreur liée à
l’approximation soit quand même très grande.
▪ Plus 𝑐𝑜𝑛𝑑 𝐴 est grand, plus il faut faire attention à l’algorithme de résolution utilisé.
Même si une matrice est bien conditionnée, un mauvais algorithme de résolution
peut mener à des résultats erronés.
𝑥Ԧ − 𝑥 ∗ 𝑏 𝑥Ԧ 𝑏 − 𝐴𝑥 ∗
𝑐𝑜𝑛𝑑 𝐴 ≥ max ,
𝑥Ԧ 𝑏 − 𝐴𝑥 ∗ 𝑥Ԧ − 𝑥 ∗ 𝑏
3.9: Conditionnement d’une matrice
28

 Bornes d’erreurs et conditionnement:


▪ Lorsqu’on résout un système linéaire 𝐴𝑥Ԧ = 𝑏 sur ordinateur où la représentation
des nombres n’est pas exacte, on résout en fait:
𝐴 + 𝐸 𝑥∗ = 𝑏
Où 𝐸 repésente une perturbation du système initial.
▪ Si 𝑥Ԧ et 𝑥 ∗ deux vecteurs tels que 𝐴𝑥Ԧ = 𝑏 et 𝐴 + 𝐸 𝑥 ∗ = 𝑏, alors:
𝑥Ԧ − 𝑥 ∗ 𝐸
≤ 𝑐𝑜𝑛𝑑 𝐴
𝑥 ∗ 𝐴
❑Le terme de gauche est une approximation de l’erreur relative.
❑Le terme de droite est en quelque sorte l’erreur relative liée aux coefficients
de la matrice 𝐴 multipliée par 𝑐𝑜𝑛𝑑 𝐴.
❑Si 𝑐𝑜𝑛𝑑 𝐴 est petit, une petite perturbation sur 𝐴 entraîne une petite
perturbation sur 𝑥.Ԧ
❑Si 𝑐𝑜𝑛𝑑 𝐴 est grand, une petite perturbation sur 𝐴 pourrait résulter en une très
grande perturbation sur 𝑥.Ԧ
3.10: Systèmes non linéaires
29
 Méthode de Newton: (système de deux équations)
▪ Soit le système non linéaire suivant:
𝑓1 𝑥1 , 𝑥2 = 0

𝑓2 𝑥1 , 𝑥2 = 0
▪ Soit 𝑥10 , 𝑥20 une approximation initiale de la solution. Le but est de déterminer une
correction 𝛿𝑥1 , 𝛿𝑥2 à 𝑥10 , 𝑥20 pour obtenir:
𝑓 𝑥 + 𝛿𝑥1 , 𝑥2 + 𝛿𝑥2 = 0
ቊ1 1
𝑓2 𝑥1 + 𝛿𝑥1 , 𝑥2 + 𝛿𝑥2 = 0
▪ En utilisant le développement de Taylor en deux variables et en négligeant les termes
d’ordre supérieur ou égal à 2, on trouve:
𝜕𝑓1 0 0 𝜕𝑓1 0 0
𝑥1 , 𝑥2 𝛿𝑥1 + 𝑥1 , 𝑥2 𝛿𝑥2 = −𝑓1 𝑥10 , 𝑥20
𝜕𝑥1 𝜕𝑥2
𝜕𝑓2 0 0 𝜕𝑓2 0 0
𝑥1 , 𝑥2 𝛿𝑥1 + 𝑥1 , 𝑥2 𝛿𝑥2 = −𝑓2 𝑥10 , 𝑥20
𝜕𝑥1 𝜕𝑥2
▪ Ce système linéaire s’écrit sous la forme compacte:
𝐽 𝑥10 , 𝑥20 𝛿 𝑥Ԧ = −𝑅(𝑥10 , 𝑥20 )
▪ On pose ensuite 𝑥11 = 𝑥10 + 𝛿𝑥1 et 𝑥21 = 𝑥20 + 𝛿𝑥2 .
3.10: Systèmes non linéaires
30

 Méthode de Newton: (généralisation)


▪ Soit le système non linéaire suivant:
𝑓1 𝑥Ԧ = 0
𝑓2 𝑥Ԧ = 0

𝑓𝑛 𝑥Ԧ = 0
Avec 𝑥Ԧ = 𝑥1 , 𝑥2 , … , 𝑥𝑛 .
▪ À chaque itération nous solutionnons le système linéaire:
𝐽 𝑥 𝑖 𝛿 𝑥Ԧ = −𝑅(𝑥 𝑖 )
𝜕𝑓1 𝑖 𝜕𝑓1 𝑖 𝜕𝑓1 𝑖
𝑥 𝑥 ⋯ 𝑥
𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛 𝑓1 (𝑥 𝑖 ) 𝛿𝑥1
𝜕𝑓2 𝑖 𝜕𝑓2 𝑖 𝜕𝑓2 𝑖
𝛿𝑥2
𝐽 𝑥 𝑖 = 𝜕𝑥1 𝑥 𝜕𝑥2 𝑥 ⋯ 𝜕𝑥𝑛 𝑥 , 𝑅 𝑥 𝑖 = 𝑓2 (𝑥 ) 𝑒𝑡 𝛿 𝑥Ԧ =
𝑖

⋮ ⋮
⋮ ⋮ ⋱ ⋮ 𝛿𝑥𝑛
𝜕𝑓𝑛 𝑖 𝜕𝑓𝑛 𝑖 𝜕𝑓𝑛 𝑖 𝑓𝑛 (𝑥 𝑖 )
𝑥 𝑥 ⋯ 𝑥
𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛
3.10: Systèmes non linéaires
31
 Méthode de Newton: (algorithme)
1. Étant données:
▪ un critère d’arrêt 𝜖𝑎 .
▪ Un nombre maximal d’itérations 𝑁.
▪ Une approximation initiale 𝑥 0 = (𝑥10 , 𝑥20 , … , 𝑥𝑛0 ) de la solution.
▪ La précision machine 𝜖𝑚 .
2. Pour 𝑖 ≥ 0, effectuer:
a) Résolution du système linéaire:
𝐽 𝑥 𝑖 𝛿 𝑥Ԧ = −𝑅(𝑥 𝑖 )
b) Mise à jour: 𝑥 𝑖+1 = 𝑥 𝑖 + 𝛿 𝑥Ԧ
𝛿 𝑥Ԧ
c) Si < 𝜖𝑎 et 𝑅(𝑥 𝑖+1 ) ≤ 𝜖𝑎
𝑥 𝑖+1 +𝜖𝑚
▪ Convergence atteinte.
▪ Écrire la solution 𝑥 𝑖+1 .
▪ Arrêt.
d) Si le nombre maximal d’itérations 𝑁 est atteint:
▪ Convergence non atteinte en 𝑁 itérations.
▪ Arrêt.
3.10: Systèmes non linéaires
32
 Méthode de Newton:
▪ La convergence de la méthode de Newton dépend de 𝑥 0 .
▪ Lorsqu’il y a convergence, elle est toujours quadratique. En posant 𝑒 𝑖 = 𝑥Ԧ − 𝑥 𝑖 on a:
2
𝑒 𝑖+1 ≈𝐶 𝑒𝑖
▪ La convergence quadratique est perdue si la matrice jacobienne est singulière au
point 𝑥,
Ԧ solution du système.
▪ Pour obtenir la convergence quadratique, on doit calculer et décomposer une
matrice de dimension 𝑛 à chaque itération. De plus il faudra fournir un programme
informatique permettant de calculer les 𝑛 fonctions 𝑓𝑖 𝑥Ԧ et les 𝑛2 dérivées
partielles.
▪ Pour éviter le calcul des 𝑛2 dérivées partielles, on utilise la méthode de Newton
modifiée qui consiste à remplacer les dérivées partielles par des différences
centrées.
𝜕𝑓1 𝑓𝑖 𝑥1 , … , 𝑥𝑗−1 , 𝑥𝑗 + ℎ, … , 𝑥𝑛 − 𝑓𝑖 𝑥1 , … , 𝑥𝑗−1 , 𝑥𝑗 − ℎ, … , 𝑥𝑛
𝑥Ԧ ≈
𝜕𝑥𝑗 2ℎ

Vous aimerez peut-être aussi