Académique Documents
Professionnel Documents
Culture Documents
système linéaire
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
i−1
X n
X
Ax = b ⇐⇒ Aij xj + Aii xi + Aij xj = bi ∀ i = 1, n
j=1 j=i+1
Fonction x ← Jacobi(A, b, x)
Tant que (on a pas convergé) faire
Pour i = 1, n faire
bi − i−1
P Pn
j=1 Aij xj − j=i+1 Aij xj
yi =
Aii
Fin Pour
Pour i = 1, n faire
xi = yi
Fin Pour
Fait
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 6 / 42
Exemple : méthode de Jacobi
3 1 −1 1 0
(0)
A= 1 2 0 avec b = 1 et x = 0
−1 1 4 1 0
Itération 1
b1 −A12 ∗x(2)−A13 ∗x(3) 1−0+0 1
y1 = A11 = 3 = 3 !
1/3
b2 −A21 ∗x(1)−A23 ∗x(3) 1−0−0 1 (1)
y2 = A22 = 2 = 2 →x = 1/2
b3 −A31 ∗x(1)−A32 ∗x(2)
1/4
1+0−0 1
y3 = A33 = 4 = 4
Itération 2
norm(A ∗ x0 − b) = 1.7321
0.2500 0.2941
norm(A ∗ x1 − b) = 0.4488
x2 A\b = 0.3333 0.3529
norm(A ∗ x2 − b) = 0.1718 0.2083 0.2353
Les itérations de Gauss Seidel
Fonction x ← Gauss_Seidel(A, b, x)
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 8 / 42
Exemple : méthode de Gauss-Seidel
3 1 −1 1 0
(0)
A= 1 2 0 avec b = 1 et x = 0
−1 1 4 1 0
Itération 1
b1 −A12 ∗x(2)−A13 ∗x(3) 1−0+0 1
x1 = A11 = 3 = 3 !
1/3
b2 −A21 ∗x(1)−A23 ∗x(3) 1−1/3−0 1 (1)
x2 = A22 = 2 = 3 →x = 1/3
b3 −A31 ∗x(1)−A32 ∗x(2) 1+1/3−1/3
1/4
1
x3 = A33 = 4 = 4
Itération 2
norm(A ∗ x0 − b) = 1.7321
0.3056 0.2941
norm(A ∗ x1 − b) = 0.0833
x2 A\b = 0.3472 0.3529
norm(A ∗ x2 − b) = 0.0852 0.2212 0.2353
Les itérations de relaxation
Fonction x ← Relaxation(A, b, x, ω)
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 10 / 42
Quand s’arrêter ?
kxnew − xold k < ε
un nombre maximal d’itérations est atteint
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 11 / 42
Plan
1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxation
Les itérations de Jacobi
Les itérations de Gauss Seidel
Les itérations de relaxation
Critères de convergence
3 Convergence des méthodes itératives
Formulation matricielle des itérations
Condition suffisante de convergence
Normes matricielles
Théorèmes de convergence
4 Etude des perturbations : notion de conditionnement
5 Les méthodes de gradient
6 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 3
méthodes itératives.
On veut établir que chaque itération k correspond à la relation
matricielle
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 −1 N x(k) + M −1 b
= C x(k) + d
A = D + U + L
a11 a12 a13 a11 0 0 0 a12 a13 0 0 0
a21 a22 a23 = 0 a22 0 + 0 0 a23 + a21 0 0
a31 a32 a33 0 0 a33 0 0 0 a31 a32 0
diagonale triangulaire sup triangulaire inf
Ax = Dx + (L + U)x
a11 x1 + a12 x2 + a13 x3 a11 x1 +0 +0 0 +a12 x2 +a13 x3
a21 x1 + a22 x2 + a23 x3 = 0 +a22 x2 +0 + a21 x1 +0 +a23 x3
a31 x1 + a32 x2 + a33 x3 0 +0 +a33 x3 a31 x1 +a32 x2 +0
Ax = Dx + Lx + Ux
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 14 / 42
Décomposition d’une matrice
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 15 / 42
Les itérations de Jacobi : forme matricielle
Le point fixe
Ax =b
(D + L + U)x =b
Dx + (L + U)x =b
Dx = −(L + U)x + b
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)
x(k+1) = CJ x(k) + dJ
|{z} |{z}
−D −1 (U+L) D −1 b=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) + b
x(k+1) = (D + L)−1 (−U) x(k) + (D + L)−1 b
| {z } | {z }
CGS dGS
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 18 / 42
Condition suffisante de convergence
x(k+1) = C x(k) + d
Si xe est solution du problème, on a xe = C xe + d et donc
x(k+1) − xe = C (x(k) − xe)
= C 2 (x(k−1) − xe)
...
= C k+1 (x(0) − xe)
Si maintenant on raisonne en norme :
erreur à l’étape k+1
z }| {
kx(k+1) − xek = kC k+1 (x(0) − xe)k
≤ kC k+1 kkx(0) − xek ≤ kC kk+1 kx(0) − xek
| {z } | {z }
→0 ? erreur initiale
Exemples (théorèmes) :
X
kC k1 = max |Cij |
j
i
X
kC k∞ = max |Cij |
i
j
kC k2 =
√
I max µi où µi est valeur propre de C >C .
i √
I pour C symétrique : max |λi | λi = µi est val. propre de C .
i
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és
suivantes
φ(C ) ≤ kC k ≤ φ(C )
Cas de la norme kC k1 : on commence par trouver une borne sur cette norme :
kC xk
kC k1 = sup
x6=0 kxk
P P
i j Cij xj
= sup
x6=0 P Pkxk
i j |Cij ||xj |
≤ sup
x6=0 kxk
X X |xj |
≤ sup |Cij |
x6=0 j i
kxk
X X |xj |
≤ sup max |Cij |
x6=0 j j
i
kxk
X X |xj |
≤ sup max |Cij |
x6=0 j kxk
X i j
|xj |
≤ max |Cij | car kxk
≤1
j
i
kC vi k2
= vi C > C vi = µi
kvi k2
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 22 / 42
Illustration 2d...
kAxk
kAk = sup = sup kAxk
x6=0 kxk kxk=1
Definition
rayon spectral
Theorem
Si A est à diagonale dominante alors les méthodes de Jacobi et de Gauss
Seidel convergent
Démonstration :
1 X
Jacobi : kC k∞ = kD −1 (L + U)k∞ = max |Aij | < 1
i |Aii |
j6=i
Gauss Seidel : on montre que si Gauss P Seidel diverge,Palors A n’est pas
à diagonale dominante : 1 < maxi |Aii | i−1
1
j=1 |Aij | +
n
j=i+1 |Aij |. Les
détails de la preuve ne sont pas évidents...
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 26 / 42
Exemple : la matrice est-elle à diagonale
dominante ?
2 −1 0
0 −9 3 1 −1
3 −1 1 −1 2 −1 0 1 2 0 0
A1 = 1 −2 0 ; A2 =
0 −1 2 −1 ; A3 = −1
1 8 −5
1 1 4
0 0 −1 2 −2 1 4 6
Remarques :
toute matrice à diagonale dominante est régulière
on 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
Theorem
Si A est strictement symétrique définie positive alors la méthode de Gauss
Seidel converge et la méthode de la relaxation converge pour 0 < ω < 2
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 28 / 42
Plan
1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxation
Les itérations de Jacobi
Les itérations de Gauss Seidel
Les itérations de relaxation
Critères de convergence
3 Convergence des méthodes itératives
Formulation matricielle des itérations
Condition suffisante de convergence
Normes matricielles
Théorèmes de convergence
4 Etude des perturbations : notion de conditionnement
5 Les méthodes de gradient
6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 29 / 42
Étude des perturbations (ou des erreurs)
10 7 8 7 32 1
7 5 6 5 23 1
A= ; b = admet comme solution x =
8 6 10 9 33 1
7 5 9 10 31 1
32, 1 9, 2
22, 9 −12, 6
b + δb =
33, 1
admet comme solution x + δx =
4, 5
30, 9 1, 1
32, 1 9, 2
22, 9 −12, 6
b + δb =
33, 1
admet comme solution x + δx =
4, 5
30, 9 1, 1
Ax = b A(x + δx ) = b + δb
1 kAk
kbk = kAxk ≤ kAk kxk ≤ ⇒
kxk kbk
kδx k = kA δb k ≤ kA k kδb k ⇒ kδx k ≤ kA−1 k kδb k
−1 −1
kδx k kδb k
≤ kA−1 kkAk
kxk kbk
cond(A) : conditionnement de A
|λ1 |
cond(A) = kA−1 kkAk =
|λn |
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 32 / 42
Plan
1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxation
Les itérations de Jacobi
Les itérations de Gauss Seidel
Les itérations de relaxation
Critères de convergence
3 Convergence des méthodes itératives
Formulation matricielle des itérations
Condition suffisante de convergence
Normes matricielles
Théorèmes de convergence
4 Etude des perturbations : notion de conditionnement
5 Les méthodes de gradient
6 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 :
1 >
Ax = b ⇐⇒ minn x Ax − b> x
x∈IR 2
| {z }
J(x)
Démonstration :
1
J(x + εd) = 2 (x + εd)>A(x + εd) − b> (x + εd)
1
= 2 (x> Ax + εd>Ax + εx>Ad + ε2d> Ad) − b> x + εb> d
1
= 2 x> Ax − b> x + ε d>Ax − d> b + ε2 d> Ad
2
= J(x) + εd> (Ax − b) + ε2 d> Ad
x(k+1) = x(k) + ρd
d : direction de descente
ρ : pas de descente
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 35 / 42
calcul du pas optimal
d connu : x(k+1) = x(k) + ρd
ρ2 >
J(x(k+1) ) = J(x(k) + ρd) = J(x(k) ) + ρd> (Ax(k) − b) + d Ad
2
∂J(x(k+1) )
= d> (Ax(k) − b) + ρd> Ad
∂ρ
∂J(x(k+1) ) d> (Ax(k) − b)
=0 ⇔ ρ=−
∂ρ d> Ad
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 36 / 42
Illustration 2d
1 >
J(x) = x Ax − b> x
2
lignes d’iso cout : {x ∈ IR2 | J(x) = Cte }
Fonction x ← gradient_pas_optimal(x, ε)
x = initialisation
d = b − Ax
Tant que (norm(d) > ε) faire
>d
ρ = dd> Ad
x = x + ρd
d = b − Ax
Fait
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 38 / 42
Autres algorithmes de gradient
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 39 / 42
Plan
1 Principe des méthodes itératives
Motivations
2 Les méthodes de Jacobi, de Gauss Seidel et de la relaxation
Les itérations de Jacobi
Les itérations de Gauss Seidel
Les itérations de relaxation
Critères de convergence
3 Convergence des méthodes itératives
Formulation matricielle des itérations
Condition suffisante de convergence
Normes matricielles
Théorèmes de convergence
4 Etude des perturbations : notion de conditionnement
5 Les méthodes de gradient
6 Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 40 / 42
Conclusion
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 41 / 42
Différents types de matrices
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 42 / 42
Différents types de matrices
Canu & Gasso (INSA Rouen - ASI) iter November 19, 2016 42 / 42