• Aucun résultat trouvé

M´ ETHODESIT ERATIVESDER ESOLUTIONDESYST EMESLIN EAIRES ´ ´ ` ´

N/A
N/A
Protected

Academic year: 2022

Partager "M´ ETHODESIT ERATIVESDER ESOLUTIONDESYST EMESLIN EAIRES ´ ´ ` ´"

Copied!
16
0
0

Texte intégral

(1)

M ´ ETHODES IT ERATIVES DE R ´ ESOLUTION DE SYST ´ EMES LIN ` EAIRES ´

David Ryckelynck

Centre des Mat ´eriaux, Mines ParisTech

8 octobre 2015

(2)

Plan du cours

1

Motivations

2

La m ´ethode de Gauss Seidel

3

Les m ´ethodes de descente

4

M ´ethodes multigrilles

5

Exercice

Mast `ere DMS 2015, Sch ´emas d’int ´egration temporelle 2/16

(3)

Motivations

Le passage `a l’ ´echelle pour le calcul parall `ele est plus facile avec les m ´ethodes it ´eratives qu’avec les m ´ethodes directes.

Pas de probl `eme de num ´erotation des inconnues `a optimiser.

Mais :

La convergence en un nombre

raisonnable

d’it ´erations, n’est pas toujours acquise, elle d ´epend de la structure de la matrice, du point de d ´epart, du crit `ere d’arr ˆet... A ´etudier au cas par cas.

Peu adapt ´e `a la r ´esolution de probl `emes `a second membres multiples, si ceux-ci sont tr `es diff ´erents les uns des autres.

Il existe des m ´ethodes de factorisation L.U multifrontales tr `es performantes en calcul

parall `ele (voir MUMPS http://mumps.enseeiht.fr/index.php?page=doc).

(4)

La m ´ethode de Gauss Seidel

On cherche q ∈ R

N

tel que :

K.q = F

avec la s ´eparation de K en sa diagonale D, sa partie inf ´erieure L et sa partie sup ´erieure U : K = L + D + U

On choisit q

(o)

et on construit l’it ´er ´e q

(i+1)

tel que :

(L + D).q

(i+1)

= FU.q

(i)

Il s’agit d’un syst `eme lin ´eaire `a matrice triangulaire inf ´erieure. Sa r ´esolution se fait progressivement de l’indice 1 `a l’indice N. c’est une op ´eration dite de descente.

Le nombre d’op ´erations que l’on peut traiter en parall `ele n’est pas tr `es important. Surtout au d ´ebut du calcul de q

(i+1)

. Il y a peu d’additions et de multiplications `a r ´ealiser en parall `ele.

C’est une m ´ethode de point fixe associ ´ee au probl `eme x = (L + D)

−1

.(F − U.x). Il faut que le rayon spectral de (L + D)

−1

.U soit inf ´erieur `a 1 pour qu’il y ait convergence. Si K est sym ´etrique d ´efinie positive, ou strictement `a diagonale dominante (|K

ii

| > P

j6=i

|K

ij

|), la m ´ethode converge.

Mast `ere DMS 2015, La m ´ethode de Gauss Seidel Sch ´emas d’int ´egration temporelle 4/16

(5)

Les m ´ethodes de descente

On cherche q ∈ R

N

tel que :

K.q = F On suppose K sym ´etrique d ´efinie positive (SPD en Anglais).

K.q = Fq = arg min

q?

J(q

?

) avec

J(q

?

) = 1

2 q

?T

.K.q

?

q

?T

.F

Convexit ´e :

J(q

b

) ≥ J(q

a

) + (q

b

q

a

)

T

.∇J(q

a

)

∇J(q

a

) = K.q

a

F Preuve :

J(q

b

) = J(q

a

) + (q

b

q

a

)

T

.∇J(q

a

) + 1

2 (q

b

q

a

)

T

.K.(q

b

q

a

) Donc le minimum local est le minimum global :

∇J(q) = 0

(6)

La plus forte pente (Steepest Descent)

En q

a

la plus forte pente est dans la direction du gradient : r = −∇J(q

a

)

donc r = FK.q

a

, c’est le r ´esidu du syst `eme lin ´eaire `a r ´esoudre.

Le probl `eme de minimisation dans la direction r s’ ´ecrit : trouver α ∈ R tel que α = arg min

α?

J(q

a

+ α

?

r)

On obtient :

α = r

T

.r r

T

.K.r

Mast `ere DMS 2015, Les m ´ethodes de descente Sch ´emas d’int ´egration temporelle 6/16

(7)

M ´ethode de la plus forte pente

A chaque ´etape on minimise J dans la direction de la plus forte pente :

Initialisation avec q

(o)

donn ´e. On en d ´eduit r

(o)

= FK.q

(o)

. y

(i)

= K.r

(i)

α

(i)

=

r(i)T.r(i)

r(i)T.y(i)

q

(i+1)

= q

(i)

+ α

(i)

r

(i)

r

(i+1)

= r

(i)

− α

(i)

y

(i)

Arr ˆet des it ´erations si kr

(i+1)

k <

tol

.

P ´eriodiquement, le r ´esidu exacte est recalcul ´e pour r ´eduire la propagation d’erreurs d’arrondi.

Toutes ces op ´erations sont facilement parall ´elisables sur plusieurs coeurs de processeurs.

(8)

Propri ´et ´e de la m ´ethode de la plus forte pente

Les directions de descente successives sont orthogonales : r

(i+1)T

.r

(i)

= r

(i)T

.r

(i)

r

(i)T

.r

(i)

r

(i)T

.y

(i)

.y

(i)T

.r

(i)

= 0

Mast `ere DMS 2015, Les m ´ethodes de descente Sch ´emas d’int ´egration temporelle 8/16

(9)

M ´ethode du gradient conjugu ´e

On souhaite une orthogonalit ´e des directions de descente au sens de la matrice K (directions K-conjugu ´ees) pour ´eviter des effets zig-zag lors de la convergence.

Initialisation avec q

(o)

donn ´e. On en d ´eduit r

(o)

= FK.q

(o)

, d

(o)

= r

(o)

. y

(i)

= K.d

(i)

α

(i)

=

d(i)T.r(i)

d(i)T.y(i)

q

(i+1)

= q

(i)

+ α

(i)

d

(i)

r

(i+1)

= r

(i)

− α

(i)

y

(i)

β

(i+1)

=

krkr(i+1)(i)kk22

d

(i+1)

= r

(i+1)

+ β

(i+1)

d

(i)

Arr ˆet des it ´erations si kr

(i+1)

k <

tol

.

Propri ´et ´e :

r

(i+1)T

.d

(i)

= 0

(10)

Propri ´et ´e de convergence de la m ´ethode du gradient conjugu ´e

Apr `es N it ´erations, deux cas de figure se pr ´esentent : Soit le r ´esidu est nul r

(N)

= 0, donc il y a convergence.

Soit il est orthogonal aux N directions de descente d

(o)

, . . . , d

(N−1)

. Or ces directions sont K-orthogonales. Elles constituent une base de R

N

. Donc le r ´esidu est nul. Il y a convergence.

La convergence est plus rapide selon les modes ”locaux” que selon les modes ”globaux” ( `a grande longueur de variation).

Mast `ere DMS 2015, Les m ´ethodes de descente Sch ´emas d’int ´egration temporelle 10/16

(11)

M ´ethode du gradient conjugu ´e pr ´econditionn ´e

Initialisation avec q

o

donn ´e. On en d ´eduit r

(o)

= FK.q

(o)

, d

(o)

= M

−1

r

(o)

, g

(o)

= d

(o)

. z

(i)

= K.d

(i)

α

(i)

=

r(i)T.g(i)

d(i)T.z(i)

q

(i+1)

= q

(i)

+ α

(i)

d

(i)

r

(i+1)

= r

(i)

− α

(i)

z

(i)

g

(i+1)

= M

−1

.r

(i+1)

β

(i+1)

=

r(i+1)T.g(i+1)

r(i)T.g(i)

d

(i+1)

= g

(i+1)

+ β

(i+1)

d

(i)

Arr ˆet des it ´erations si kr

(i+1)

k <

tol

. Pr ´econditionneur de Jacobi : M = diag(K

ii

).

Pr ´econditionneur par factorisation incompl `ete de Cholesky : On cherche G triangulaire inf ´erieure aussi creuse que possible tel que :

kK − G.G

T

k < ∆

tol

, M = G.G

T

On peut choisir G

−1

tel que la structure creuse de cette matrice soit celle de la matrice M.

(12)

La m ´ethode GMRES (Generalized Minimum Residual Saad & Schultz 1986)

L’objectif est d’ ´etendre l’algorithme de gradient conjugu ´e au traitement des syst `emes `a matrice non sym ´etrique.

La solution approch ´ee donn ´ee par l’algorithme du Gradient Conjugu ´e appartient `a un sous-espace de Krylov :

e qq

(o)

∈ span{r

(o)

, K.r

(o)

, K

2

.r

(o)

, . . . , K

m

.r

(o)

}

Pour GMRES, on cherche le minimum de la norme des r ´esidus dans un sous-espace : e q = arg min

q?∈q(o)+

span

{v(1),v(2),...,v(m)}

kF − K.q

?

k

o `u (v

(k)

)

mk=1

est une base orthogonale du sous-espace de Krylov

span{r

(o)

, K.r

(o)

, K

2

.r

(o)

, . . . , K

m−1

.r

(o)

}. Cette base est construite par la m ´ethode d’Arnoldi : v

(1)

= r

(o)

/kr

(o)

k. Puis, de j = 1 `a m − 1

H

ij

= (K.v

(j)

)

T

.v

(i)

, i = 1, . . . , j b v

(j+1)

= K.v

(j)

− P

j

i=1

v

(i)

H

ij

H

j+1j

= k b v

(j+1)

k

Si H

j+1j

= 0 alors on arr ˆete les it ´erations, sinon v

(j+1)

= b v

(j+1)

/H

j+1j

Propri ´et ´e :

K.[v

(1)

, . . . , v

(m)

] = [v

(1)

, . . . , v

(m+1)

].H

Mast `ere DMS 2015, Les m ´ethodes de descente Sch ´emas d’int ´egration temporelle 12/16

(13)

Quelques remarques sur la convergence des modes propres `a grande valeur propre

Consid ´erons le cas d’une matrice exprim ´ee dans la base de ses modes propres :

K =

λ

1

0 0

0 . . . 0

0 0 λ

N

Soit q la solution exacte de K.q = F.

Alors

r

(o)

=

λ

1

0 0

0 . . . 0

0 0 λ

N

 .(q − q

(o)

)

et

α

(1)

= P

N

i=1

λ

2i

(q

i

− q

i(o)

)

2

P

N

i=1

λ

3i

(q

i

− q

i(o)

)

2

Les modes aux valeurs propres ´elev ´ees jouent un r ˆole plus important que les autres dans le calcul de α. On constate que la vitesse de convergence de la solution est plus rapide pour les

composantes port ´ees par ces modes.

(14)

M ´ethodes multigrilles

On associe au probl `eme `a r ´esoudre un probl `eme `a grille grossi `ere, ne contenant pas les modes `a valeurs propres ´elev ´ees du probl `eme d’origine. On note K, b b q et b F, la matrice, la solution et le second membre du probl `eme grossier. Ce probl `eme a N b inconnues, avec N b < N.

On d ´efinit un op ´erateur de restriction R ∈ R

N×Nb

tel que : b F = R.F On d ´efinit un op ´erateur de prolongement P ∈ R

N×bN

tel que :

e q = P.b q avec, pour F et b q quelconques :

e q

T

.F = b q

T

. F b ⇒ R = P

T

Dans le cadre de la m ´ethode des ´el ´ements finis P est construit par une m ´ethode d’interpolation.

Mast `ere DMS 2015, M ´ethodes multigrilles Sch ´emas d’int ´egration temporelle 14/16

(15)

M ´ethodes multigrilles

Apr `es quelques ´etapes du gradient conjugu ´e on peut am ´eliorer la convergence sur les modes `a valeurs propres basses en traitant un probl `eme directe `a l’ ´echelle grossi `ere :

r = FK.q

(ν)

K.δb b q = R.r q

(ν+1)

= q

(ν)

+ P.δb q Puis refaire ν ´etapes de gradient conjugu ´e. Il s’agit d’un cycle en V.

On peut aussi commencer par une ´etape directe sur le probl `eme grossier. Il s’agit alors d’une

approche Full-Multigrid.

(16)

Exercice

D ´ecouverte de :

scipy.sparse.linalg.cg(A, b, x0=None, tol=1e-05) scipy.sparse.linalg.gmres(A, b, x0=None, tol=1e-05)

http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.

linalg.cg.html

Sur quel type de matrice peut-on comparer ces deux m ´ethodes ?

Comparer la pr ´ecision pour un nombre d’it ´erations fix ´ees ( `a l’aide du maximum d’it ´eration).

Comparer le temps d’ex ´ecution pour une pr ´ecision donn ´ee.

Comparer la forme des r ´esidus pour une pr ´ecision donn ´ee.

Retrouver dans le code source

Mast `ere DMS 2015, Exercice Sch ´emas d’int ´egration temporelle 16/16

Références

Documents relatifs

la derni`ere in´egalit´e r´esultant de

´ Enoncer le th´eor`eme de la limite monotone pour les suites, puis d´emontrer l’un des quatre r´esultats (au

Donn´ ee: une machine de Turing M , qui ne revient jamais en d´ ebut de ruban, ne revient jamais dans l’´ etat initial, n’´ ecrit jamais de blancs?. Question: M ne s’arrˆ ete

[r]

Donner la d´efinition de la borne sup´erieure de A ainsi qu’une condition n´ecessaire et suffisante pour son existence. En particulier, on peut faire la seconde partie en admettant

(la dynamique de f sur I correspond au carr´ e en gras dans le dessin ci-dessous)3. Calculer

La principale (dont les autres d´ ecoulent) est la suivante : Pour deux arˆ etes parall` eles, la diff´ erence de cotes entre les extr´ emit´ es est la mˆ eme (pour une

Cette expression peut aussi permettre de voir la pression exerc´ee par le flux de photons ou de l’onde ´electromagn´etique sur la surface S, en effet, il suffit de diviser la force