stéphane canu et gilles gasso {stephane.canu, … · 2016-11-20 · exempleintroductif on cherche...
TRANSCRIPT
Méthodes itératives pour la solution d’unsystème linéaire
Stéphane Canu et Gilles Gasso{stephane.canu, gilles.gasso}@litislab.eu
ASI 3 - Calcul numérique pour l’ingénieur
November 19, 2016
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 2 / 42
Exemple introductifOn cherche à résoudre le système suivant :
2x1 +4x2 −2x3 −6x4 = −61x1 +3x2 −6x4 = 03x1 −x2 +x3 −6x4 = 8
−x2 +2x3 −6x4 = 6
Si nous connaissons un vecteur x∗1, x∗2, x∗3, x∗4 "proche" de la solution, on peutcalculer une nouvelle approximation de la solution
x1 =−6− 4x∗2 + 2x∗3 + 6x∗4
2x2 =
0− 1x∗1 − 0x∗3 + 6x∗43
x3 =8− 4x∗1 + x∗2 + 6x∗4
1x4 =
6− 4x∗1 + x∗2 − 2x∗3−6
et ainsi de suite jusqu’à convergence.
La politique des « petits » pas...
on cherche à créer une suite de vecteurs {x (k), k ∈ IN} qui converge vers x̃solution de Ax̃ = b
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 4 / 42
Trois méthodes itérativesSystème à résoudre : Ax̃ = b avec A ∈ Rn×n, x̃ , b ∈ Rn
Trois méthodes itératives
Jacobi : {x (k)J , k ∈ IN}
Gauss Seidel {x (k)GS , k ∈ IN}
Relaxation {x (k)R , k ∈ IN}
A chaque itération ... le vecteur d’erreurs : e(k) = x (k) − x̃ doit diminuer
comment choisir ?il existe plein d’autres méthodes...la question centrale : quand convergent-elles ?question corollaire : à quelle vitesse convergent-elles ?
parmi celles qui convergent on prend celle qui converge le plus vite !
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 5 / 42
La méthode de Jacobi
Ax = b ⇐⇒i−1∑j=1
Aijxj + Aiixi +n∑
j=i+1
Aijxj = bi ∀ i = 1, n
Fonction x← Jacobi(A, b, x)
Tant que (on a pas convergé) fairePour i = 1, n faire
yi =bi −
∑i−1j=1 Aijxj −
∑nj=i+1 Aijxj
AiiFin PourPour i = 1, n faire
xi = yiFin Pour
Fait
parallélisable
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 6 / 42
Exemple : méthode de Jacobi
A =
3 1 −11 2 0−1 1 4
avec b =
111
et x(0) =
000
Itération 1
y1 = b1−A12∗x(2)−A13∗x(3)A11
= 1−0+03 = 1
3
y2 = b2−A21∗x(1)−A23∗x(3)A22
= 1−0−02 = 1
2
y3 = b3−A31∗x(1)−A32∗x(2)A33
= 1+0−04 = 1
4
→ x(1) =
(1/31/21/4
)
Itération 2
y1 = b1−A12∗x(2)−A13∗x(3)A11
= 1−1/2+1/43 = 3
12
y2 = b2−A21∗x(1)−A23∗x(3)A22
= 1−1/3−02 = 1
3
y3 = b3−A31∗x(1)−A32∗x(2)A33
= 1+1/3−1/24 = 5
24
→ x(2) =
(3/121/35/24
)
norm(A ∗ x0 − b) = 1.7321norm(A ∗ x1 − b) = 0.4488norm(A ∗ x2 − b) = 0.1718
[x2 A\b
]=
0.2500 0.29410.3333 0.35290.2083 0.2353
Les itérations de Gauss Seidel
Fonction x← Gauss_Seidel(A, b, x)
Tant que (on a pas convergé) fairePour i = 1, n faire
xi =bi −
∑i−1j=1 Aijxj −
∑nj=i+1 Aijxj
Aii;
Fin PourFait
plus « simple », mais non parallélisable
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 8 / 42
Exemple : méthode de Gauss-Seidel
A =
3 1 −11 2 0−1 1 4
avec b =
111
et x(0) =
000
Itération 1
x1 = b1−A12∗x(2)−A13∗x(3)A11
= 1−0+03 = 1
3
x2 = b2−A21∗x(1)−A23∗x(3)A22
= 1−1/3−02 = 1
3
x3 = b3−A31∗x(1)−A32∗x(2)A33
= 1+1/3−1/34 = 1
4
→ x(1) =
(1/31/31/4
)
Itération 2
x1 = b1−A12∗x(2)−A13∗x(3)A11
= 1−1/3+1/43 = 11
36
x2 = b2−A21∗x(1)−A23∗x(3)A22
= 1−11/36−02 = 25
72
x3 = b3−A31∗x(1)−A32∗x(2)A33
= 1+11/36−25/724 = 69
288
→ x(2) =
(11/3625/7269/288
)
norm(A ∗ x0 − b) = 1.7321norm(A ∗ x1 − b) = 0.0833norm(A ∗ x2 − b) = 0.0852
[x2 A\b
]=
0.3056 0.29410.3472 0.35290.2212 0.2353
Les itérations de relaxation
Fonction x← Relaxation(A, b, x, ω)
Tant que (on a pas convergé) fairePour i = 1, n faire
xi = ω
(bi −
∑i−1j=1 Aijxj −
∑nj=i+1 Aijxj
Aii
)+ (1− ω)xi
Fin PourFait
pour ω = 1 c’est Gauss Seidel
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 10 / 42
Quand s’arrêter ?‖xnew − xold‖ < ε
un nombre maximal d’itérations est atteint
Fonction y← Gauss_Seidel(A, b, x, ε, n_ite_max)Pour i = 1, n faire
yi = xi xi = yi + 2 ∗ εFin Pourn_ite = 0Tant que (‖x−y‖ > ε ET n_ite < n_ite_max) faire
Pour i = 1, n fairexi = yi
Fin PourPour i = 1, n faire
yi =bi −
∑i−1j=1 Aijyj −
∑nj=i+1 Aijxj
AiiFin Pourn_ite = n_ite + 1
Fait
x = xold
y = xnew
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 11 / 42
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 12 / 42
Formulation matricielle des itérations
Soit {x (k) ∈ Rn, k ∈ IN} la suite de vecteurs générés par une des 3méthodes itératives.
On veut établir que chaque itération k correspond à la relationmatricielle
Mx(k+1) = Nx(k) + b
où M et N sont des matrices carrées de taille n et b un vecteur de Rn
On peut réécrire cette relation matricielle sous la forrme :
x(k+1) = M−1N x(k) + M−1b= C x(k) + d
Chaque méthode itérative (Jacobi, Gauss-Seidel ou relaxation) admetsa matrice C = M−1N et son vecteur d = M−1bLa convergence des méthodes itératives dépend de la matrice C
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 13 / 42
Décomposition d’une matrice
Revenons au système Ax = b. Nous pouvons décomposer la matrice A
A = D + U + La11 a12 a13a21 a22 a23a31 a32 a33
=
a11 0 00 a22 00 0 a33
+
0 a12 a130 0 a230 0 0
+
0 0 0a21 0 0a31 a32 0
diagonale triangulaire sup triangulaire inf
Ax = Dx + (L+ U)xa11x1 + a12x2 + a13x3a21x1 + a22x2 + a23x3a31x1 + a32x2 + a33x3
=
a11x1 +0 +00 +a22x2 +00 +0 +a33x3
+
0 +a12x2 +a13x3a21x1 +0 +a23x3a31x1 +a32x2 +0
Ax = Dx + Lx + Ux
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 14 / 42
Décomposition d’une matrice
Revenons au système Ax = b. Nous pouvons décomposer la matrice A
De manière générale : A = D + L+ U avec :
D = diag(a11, a22, ..., ann)
L =
0 0 ... ... 0a21 0 ... ... 0a31 a32 ... ... 0... 0 0an1 an2 ... an,n−1 0
U =
0 a12 a13 ... a1n0 0 ... ... a2n0 ... ...... an−2,n−1 an−2,n... 0 an−1,n0 0 ... 0 0
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 15 / 42
Les itérations de Jacobi : forme matricielle
Le point fixeAx = b
(D + L+ U)x = bDx + (L+ U)x = b
Dx = −(L+ U)x + b
Les itérations de Jacobi
Dx(k+1) = −(U + L)x(k) + b
x(k+1) = −D−1(U + L)︸ ︷︷ ︸CJ
x(k) + D−1b︸ ︷︷ ︸dJ
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 16 / 42
Les itérations de Jacobi s’écrivent alors
Fonction x← Jacobi(A, b, x)
Tant que (on a pas convergé) fairePour i = 1, n faire
yi =
bi −i−1∑j=1
Aijxj −n∑
j=i+1
Aijxj
AiiFin PourPour i = 1, n faire
xi = yiFin Pour
Fait
Fonction x← Jacobi(A, b, x)
Tant que (on a pas convergé) fairex = D\
(b − (L+ U)x
)Fait
x(k+1) = CJ︸︷︷︸−D−1(U+L)
x(k) + dJ︸︷︷︸D−1b=D\b
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 17 / 42
Gauss Seidel et la relaxation
les itérations de Gauss Seidel s’écrivent
(D + L)x(k+1) = −Ux(k) + bx(k+1) = (D + L)−1(−U)︸ ︷︷ ︸
CGS
x(k) + (D + L)−1b︸ ︷︷ ︸dGS
et les itérations de relaxation s’écrivent
(D + ωL)x(k+1) =((1− ω)D − ωU
)x(k) + ωb
x(k+1) = ((D + ωL))−1((1− ω)D − ωU)︸ ︷︷ ︸Cr
x(k)+
((D + ωL))−1(ωb)︸ ︷︷ ︸dr
Pour w = 1, on retrouve bien l’équivalence des formulations des méthodesde Gauss Seidel et de la relaxation
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 18 / 42
Condition suffisante de convergencex(k+1) = Cx(k) + d
Si x̃ est solution du problème, on a x̃ = Cx̃ + d et donc
x(k+1) − x̃ = C (x(k) − x̃)= C 2(x(k−1) − x̃). . .
= C k+1(x(0) − x̃)
Si maintenant on raisonne en norme :erreur à l’étape k+1︷ ︸︸ ︷‖x(k+1) − x̃‖ = ‖C k+1(x(0) − x̃)‖
≤ ‖C k+1‖‖x(0) − x̃‖ ≤ ‖C‖k+1︸ ︷︷ ︸→0 ?
‖x(0) − x̃‖︸ ︷︷ ︸erreur initiale
ce faisant, nous avons démontré le résultat suivant :
Theorem (convergence d’une suite vectorielle)
S’il existe une norme matricielle telle que ‖C‖ < 1 alors la suite x(k)
converge vers x̃ = (I − C )−1d
Normes matricielles d’opérateurC’est une norme construite à partir d’une norme vectorielle et définie par :
‖C‖ = supx6=0
‖Cx‖‖x‖
Par construction on a bien :
‖ABx‖ ≤ ‖A‖‖Bx‖ ≤ ‖A‖‖B‖‖x‖ ⇒ ‖AB‖ ≤ ‖A‖‖B‖
Exemples (théorèmes) :
‖C‖1 = maxj
∑i
|Cij |
‖C‖∞ = maxi
∑j
|Cij |
‖C‖2 =I max
i
√µi où µi est valeur propre de C>C .
I pour C symétrique : maxi|λi | λi =
õi est val. propre de C .
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 20 / 42
démonstrations : de manière générale nous allons montrer les deux inégalitéssuivantes
φ(C ) ≤ ‖C‖ ≤ φ(C )
Cas de la norme ‖C‖1 : on commence par trouver une borne sur cette norme :
‖C‖1 = supx6=0
‖Cx‖‖x‖
= supx6=0
∑i
∣∣∣∑j Cijxj
∣∣∣‖x‖
≤ supx6=0
∑i
∑j |Cij ||xj |‖x‖
≤ supx6=0
∑j
(∑i
|Cij |) |xj |‖x‖
≤ supx 6=0
∑j
(max
j
∑i
|Cij |) |xj |‖x‖
≤ supx 6=0
(max
j
∑i
|Cij |)∑
j
|xj |‖x‖
≤ maxj
∑i
|Cij | car |xj |‖x‖ ≤ 1
en choisissant le vecteur ej = (0, . . . , 0, 1, 0, . . . , 0)>, on atteint la borne
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 21 / 42
Le cas de la norme 2on passe par le système des vecteurs propres : C>Cvi = µivi
x =∑i
ξivi ⇔ x = Pξ ; ‖x‖2 = ξ>P>Pξ =∑i
ξ2i
‖C‖22 = supx6=0
‖Cx‖2
‖x‖2
= supx6=0
x>C>Cx‖x‖2
= supx6=0
x>C>C(∑
i ξivi
)‖x‖2
= supx6=0
x>(∑
i ξiµivi
)‖x‖2
= supx6=0
∑i ξ
2i µi
‖x‖2≤ max
iµi
Là encore, en choisissant le vecteur propre associé, on atteint la borne :
‖Cvi‖2
‖vi‖2= viC>Cvi = µi
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 22 / 42
Illustration 2d...
‖A‖ = supx 6=0
‖Ax‖‖x‖
= sup‖x‖=1
‖Ax‖
Definitionrayon spectral
ρ(A) = max1≤i≤n
|λi |
Propriétés des normes (Op)
‖A‖ > 0 si A 6= 0‖A‖ = 0⇔ A = 0‖kA‖ = |k |‖A‖‖A+ B‖ ≤ ‖A‖+ ‖B‖‖AB‖ ≤ ‖A‖‖B‖
Propriétés des normes‖A‖1 = maxj
∑i |Aij |
‖A‖∞ = maxi∑
j |Aij |A sym. : ‖A‖2 = ρ(A)
A sym. : ρ(A) ≤ ‖A‖‖A‖2 ≤
√|A‖1|A‖∞
Résumons nous (normes matricielles ?)1 on cherche à résoudre Ax = b2 on utilise une méthode itérative : x(k+1) = Cx(k) + d3 l’erreur... e(k) = C ke(0)
4 ... peut être contrôlée : ‖e(k)‖ ≤ ‖C‖k‖e(0)‖5 si l’on trouve une norme telle que ‖C‖ < 1 la suite converge6 définir une norme telle que ‖C k‖ ≤ ‖C‖k
7 définition : ‖C‖ = supx 6=0‖Cx‖‖x‖
8 théorèmes (bien pratiques...):I ‖C‖1 = max
j
∑i
|Cij |
I ‖C‖∞ = maxi
∑j
|Cij |
I ‖C‖2 = maxi
õi
9 on teste les différentes normes pour avoir ‖C‖ < 1
A quelles conditions sur A, la méthode itérative converge ?
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 25 / 42
Le cas des matrices à diagonale dominante
DefinitionUne matrice carrée A est à diagonale dominante si
. ∀i = 1, n |Aii | >n∑
j=1,j 6=i
|Aij |
TheoremSi A est à diagonale dominante alors les méthodes de Jacobi et de GaussSeidel convergent
Démonstration :
Jacobi : ‖C‖∞ = ‖D−1(L+ U)‖∞ = maxi
1|Aii |
∑j 6=i
|Aij | < 1
Gauss Seidel : on montre que si Gauss Seidel diverge, alors A n’est pasà diagonale dominante : 1 < maxi 1
|Aii |∑i−1
j=1 |Aij |+∑n
j=i+1 |Aij |. Lesdétails de la preuve ne sont pas évidents...
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 26 / 42
Exemple : la matrice est-elle à diagonaledominante ?
A1 =
3 −1 11 −2 01 1 4
; A2 =
2 −1 0 0−1 2 −1 00 −1 2 −10 0 −1 2
; A3 =
−9 3 1 −11 2 0 0−1 1 8 −5−2 1 4 6
Remarques :toute matrice à diagonale dominante est régulièreon retrouve ce type de matrice dans les méthodes à éléments finis(cf meca/EP)
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 27 / 42
Le cas des matrices positives
Definition (rappel)
Une matrice carrée A est définie positive si elle est symétrique et si∀x 6= 0 ∈ IRn x>Ax > 0
TheoremSi A est strictement symétrique définie positive alors la méthode de GaussSeidel converge et la méthode de la relaxation converge pour 0 < ω < 2
Démonstration : GVL page 512 théorème 10.1.2
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 28 / 42
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 29 / 42
Étude des perturbations (ou des erreurs)
A =
10 7 8 77 5 6 58 6 10 97 5 9 10
; b =
32233331
admet comme solution x =
1111
b + δb =
32, 122, 933, 130, 9
admet comme solution x + δx =
9, 2−12, 64, 51, 1
Pour la norme infinie :
‖δb‖∞‖b‖∞
= 0, 003‖δx‖∞‖x‖∞
= 13, 6
C’est la nature de la matrice A qui est en cause :comment mesurer cet effet ?
Étude des perturbations (ou des erreurs)
A =
10 7 8 77 5 6 58 6 10 97 5 9 10
; b =
32233331
admet comme solution x =
1111
b + δb =
32, 122, 933, 130, 9
admet comme solution x + δx =
9, 2−12, 64, 51, 1
Pour la norme infinie :
‖δb‖∞‖b‖∞
= 0, 003‖δx‖∞‖x‖∞
= 13, 6
C’est la nature de la matrice A qui est en cause :comment mesurer cet effet ?
Conditionnement d’un système linéaire
Ax = b A(x + δx) = b + δb
‖b‖ = ‖Ax‖ ≤ ‖A‖ ‖x‖ ⇒ 1‖x‖≤ ‖A‖‖b‖
‖δx‖ = ‖A−1δb‖ ≤ ‖A−1‖ ‖δb‖ ⇒ ‖δx‖ ≤ ‖A−1‖ ‖δb‖
‖δx‖‖x‖
≤ ‖A−1‖‖A‖‖δb‖‖b‖
cond(A) : conditionnement de A
cond(A) = ‖A−1‖‖A‖ = |λ1||λn|
cond(A) proche de 1 : stablecond(A) grand devant 1 : instable
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 31 / 42
Illustration en 2 d
Ax = b(a11x1 + a12x2 = b1a21x1 + a22x2 = b2
)
cond(A) proche de 1 : stable cond(A) grand devant 1 : instable
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 32 / 42
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 33 / 42
A définie positive : les méthodes de gradient
Theorem (Formulation variationnelle)
Si A est une matrice définie positive de taille n, alors :
Ax = b ⇐⇒ minx∈IRn
12
x>Ax− b>x︸ ︷︷ ︸J(x)
Démonstration :
J(x + εd) = 12 (x + εd)>A(x + εd)− b>(x + εd)
= 12 (x>Ax + εd>Ax + εx>Ad + ε2d>Ad)− b>x + εb>d
= 12 x>Ax− b>x + ε
(d>Ax− d>b
)+ ε2d>Ad
= J(x) + εd>(Ax− b) + ε2
2 d>Ad
pour x = A−1b, J(x + εd) ≥ J(x)
Ici ε est un scalaire réel et d ∈ IRn un vecteur quelconque.
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 34 / 42
Algorithme d’optimisation
Ax = b ⇐⇒ minx∈IRn
12 x>Ax− b>x
J(x) =12
x>Ax− b>x
x(k+1) = x(k) + ρd
d : direction de descenteρ : pas de descente
J(x(k+1)) < J(x(k))
limk→∞
x(k) = A−1b
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 35 / 42
calcul du pas optimald connu : x(k+1) = x(k) + ρd
J(x(k+1)) = J(x(k) + ρd) = J(x(k)) + ρd>(Ax(k) − b) +ρ2
2d>Ad
∂J(x(k+1))
∂ρ= d>(Ax(k) − b) + ρd>Ad
∂J(x(k+1))
∂ρ= 0 ⇔ ρ = −d>(Ax(k) − b)
d>Ad
Tant que (on n’a pas convergé) faired =direction_de_descente(A, b, x)ρ = −d>(Ax−b)
d>Adx = x + ρd
Fait
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 36 / 42
Illustration 2d
J(x) =12
x>Ax− b>x
lignes d’iso cout : {x ∈ IR2 | J(x) = Cte }
on choisit l’opposé de la direction du gradient : d = −(Ax− b)Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 37 / 42
Illustration 2d
J(x) =12
x>Ax− b>x
lignes d’iso cout : {x ∈ IR2 | J(x) = Cte }
on choisit l’opposé de la direction du gradient : d = −(Ax− b)Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 37 / 42
Algorithme du gradient à pas optimal
Fonction x← gradient_pas_optimal(x, ε)
x = initialisationd = b− AxTant que (norm(d) > ε) faire
ρ = d>dd>Ad
x = x + ρdd = b− Ax
Fait
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 38 / 42
Autres algorithmes de gradient
Gradient conjugué : converge exactement en n itérations
à chaque itération on se rapproche de la cible...
variantes pour les matrices non définies positives...
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 39 / 42
Plan1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxationLes itérations de JacobiLes itérations de Gauss SeidelLes itérations de relaxationCritères de convergence
3 Convergence des méthodes itérativesFormulation matricielle des itérationsCondition suffisante de convergenceNormes matriciellesThéorèmes de convergence
4 Etude des perturbations : notion de conditionnement5 Les méthodes de gradient6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 40 / 42
Conclusion
3 méthodes itératives (Jacobi, Gauss Seidel, relaxation)
chaque itération ≤ O(n2) : produit matrice vecteurI encore mieux si A est sparse (creuse)I peut s’appliquer à des matrices par blocs
convergent à certaines conditions sur A
pour comprendre : il faut connaitre la notion de norme matricielleI l’importance des valeurs propres
il existe des méthodes plus sophistiquéesI à chaque itération on se rapproche de la cible...
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 41 / 42
Différents types de matrices
quelconque : n lignes p colonnes . . . . . . . . QRI petite, moyenne, grandeI pleine, creuse, par blocksI complexe, réelle, binaire
carrée : n lignes n colonnesI quelconque (carrée) . . . . . . . . . . . . . . . . . . . . . LUI symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . LDL’I symétriques positive . . . . . . Cholesky : LL’, GSI diagonale dominante . . . . . . . . . . . . . . . . . JacobiI triangulaire . . . . . . . . . . . . . . . . tri_sup et tri_infI diagonale
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 42 / 42
Différents types de matrices
quelconque : n lignes p colonnes . . . . . . . . QRI petite, moyenne, grandeI pleine, creuse, par blocksI complexe, réelle, binaire
carrée : n lignes n colonnesI quelconque (carrée) . . . . . . . . . . . . . . . . . . . . . LUI symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . LDL’I symétriques positive . . . . . . Cholesky : LL’, GSI diagonale dominante . . . . . . . . . . . . . . . . . JacobiI triangulaire . . . . . . . . . . . . . . . . tri_sup et tri_infI diagonale
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 42 / 42