stéphane canu et gilles gasso {stephane.canu, …/cite> ·...

45
Méthodes itératives pour la solution d’un systè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

Upload: duongnguyet

Post on 13-Jul-2018

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 2: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 3: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 4: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 5: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 6: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 7: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 8: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 9: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 10: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 11: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 12: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 13: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 14: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 15: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 16: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 17: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 18: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 19: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 20: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 21: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 22: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 23: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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‖∞

Page 24: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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 ?

Page 25: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 26: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 27: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 28: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 29: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 30: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

É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 ?

Page 31: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

É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 ?

Page 32: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 33: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 34: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 35: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 36: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 37: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 38: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 39: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 40: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 41: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 42: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 43: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 44: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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

Page 45: Stéphane Canu et Gilles Gasso {stephane.canu, …/cite> · Méthodesitérativespourlasolutiond’un

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