• Aucun résultat trouvé

Ce chapitre regroupe un certain nombre de consid´erations sur les diff´erentes m´ethodes de r´esolution d’un syst`eme lin´eaire (pr´esent´ees en d´etail dans le chapitre??), leurs conditions d’utilisation, leurs avantages respectifs, leur vitesse de convergence le cas ´ech´eant.

Les m´ethodes de r´esolution des syst`emes lin´eaires se classent en trois grandes cat´egories 1) M´ethodes directes : ces m´ethodes conduisent `a une r´esolution exacte du syst`eme (sous l’hypoth`ese id´ealis´ee que les op´erations ´el´ementaires soient effectu´ees `a pr´ecision infinie).

2) M´ethodes it´eratives : bas´ees sur un proc´ed´e it´eratif qui construit une suite d’approxi-mations de la solution, qui converge vers cette solution.

3) M´ethodes rapides. Il s’agit en fait de m´ethodes directes, mais qui m´eritent de figurer `a part dans cette classification. La plupart ne sont applicables que dans des situations tr`es particuli`eres : op´erateur de type Laplacien non perturb´e (les inhomog´en´eit´es sont exclues), sur un maillage cart´esien.

Pr´ecisons tout de suite que cette classification n’est pas ´etanche, car certaines m´ethodes directes au sens pr´ec´edent (comme la m´ethode du gradient conjugu´e) produisent une suite d’approximations de la solution, et peuvent ˆetre utilis´ees (et donc consid´er´ees) comme des m´ethodes it´eratives. Nous r´eserverons donc l’adjectifdirectesaux m´ethodes qui ne donnent aucune approximation de la solution avant d’avoir ´et´e men´ees `a terme.

Remarque 5.1. Une distinction essentielle entre les deux types d’approches est li´ee `a la mani`ere d’appr´ehender la matrice dans l’implantation effective de ces m´ethodes sur ordinateur. Les m´ethodes directes n´ecessitent un stockage de la matrice, alors que les m´ethodes it´eratives utilisent typiquement des produits matrice-vecteur successifs (la ma-trice elle-mˆeme n’est pas touch´ee), de telle sorte que l’on peut effectuer l’assemblage en temps r´eel et ´economiser la place m´emoire de stockage de la matrice. Cet avantage est particuli`erement sensible dans le cas d’un maillage structur´e, qui conduit `a une matrice qui ne contient qu’un petit nombre d’entr´ees diff´erentes.

Nous supposerons ici que les op´erations ´el´ementaires sont r´ealis´ees avec une pr´ecision infinie : les erreurs d’arrondi ne sont pas prises en compte.

Nous commen¸cons par aborder la notion de conditionnement d’une matrice, ingr´edient essentiel pour mesurer la difficult´e de r´esolution d’un syst`eme lin´eaire.

57

58 5. R´ESOLUTION EFFECTIVE

5.1. Conditionnement

Etant donn´ee une norme matricelle subordonn´ee´ 1, le conditionnement d’une matrice A inversible est d´efini comme κ(A) = kAk

A−1

. Nous ne consid´ererons ici que la norme subordonn´ee `a la norme euclidienne sur Rn. Ce conditionnement peut ˆetre introduit comme majorant du facteur d’amplification entre une perturbation sur les donn´ees (se-cond membre du syst`eme) ou sur la matrice elle-mˆeme, et la solution du probl`eme (voir section 12.1, page 149). Au-del`a de ce rˆole d’estimateur de l’instabilit´e d’un probl`eme (tr`es important pour des probl`emesxr´eels, pour lesquels les donn´ees sont susceptibles d’ˆetre entˆach´ees d’erreurs), il intervient de fa¸con essentielle dans les estimations de vitesses de convergence des m´ethodes it´eratives (notamment des m´ethodes de gradient d´ecrites ci-apr`es). Plus pr´ecis´ement, on peut estimer (voir remarque 12.1, page 149) `a Cκ (resp.

C√

κ) le nombre d’it´erations n´ecessaires (donc le temps de calcul pour une taille de ma-trice donn´ee) pour obtenir une pr´ecision donn´ee par une m´ethode de gradient (resp. de gradient conjugu´e).

Nous nous int´eresserons ici principalement `a la r´esolution de syst`emes lin´eaires pour les-quels la matriceAprovient de la discr´etisation par ´el´ements finis d’un probl`eme elliptique, auquel cas Aest sym´etrique d´efinie positive. Le conditionnement est alors ´egal au rapport des valeurs propres extrˆemes λn1. Avant d’aborder la question de l’estimation effec-tive de ce conditionnement, il est indispensable de bien comprendre les deux remarques suivantes :

Remarque 5.2. Bien que les deux notions puissent interagir comme nous le verrons, il faut distinguer le conditionnement d’une matrice A issue de la discr´etisation d’une forme bilin´eaire a(·,·), de la quantit´e kak/α (o`u α est la constante de coercivit´e de a(·,·)).

Prenons l’exemple du Laplacien en dimension 1 avec conditions de Dirichlet homog`enes.

La forme bilin´eaire s’´ecrit au niveau continu a(u, v) =

Z

I

uv, de telle sorte que, si l’on munit H01 de la norme |u|1 = R

(u)2, le probl`eme au niveau continu est parfaitement xconditionn´e puisque kak/α = 1. Le probl`eme consistant `a trouver utel que

a(u, v) =hϕ , vi ∀v∈H01(Ω),

consiste exactement `a r´ealiser l’identification de Riez-Fr´echet ; l’inversion est donc une isom´etrie entre V et V, et, si l’on perturbe le second membre abstrait ϕ par dϕ, on a, avec des notations ´evidentes,

|du|

|u| ≤ kdϕk kϕk .

Le Laplacien est vu ici comme un op´erateur de H01 dans son dual H−1, cette application est alors une isom´etrie, et comme telle parfaitement conditionn´ee.

Pour le probl`eme discret sur le domaine I =]0,1[, le second membre est donn´e sous la forme d’une fonction de L2(I). Le syst`eme lin´eaire dans Rn obtenu peut ˆetre vu comme la version discr`ete du Laplacien, mais pour la norme euclidienne sur Rn. Cette norme euclidienne correspond (`a un facteur multiplicatif pr`es) `a la norme L2 surI. L’op´erateur discret A correspond ainsi (toujours `a un facteur multiplicatif pr`es, qui n’affectera pas le

1. Norme du typekAk= supkAuk/kuk, o`uk·kest une norme deRn.

5.1. CONDITIONNEMENT 59

conditionnement) au Laplaciencomme op´erateur de L2 dans L2. Cet op´erateur au niveau continu est dit non-born´e, il n’est pas d´efini pour toutes les fonctions, et son spectre est une suite de r´eels positifs2qui tend vers +∞: il est infiniment mal conditionn´e. Le fait de discr´etiser tronque les hautes fr´equences du spectre : seules les oscillations de fr´equence au maximum de l’ordre deh(1/h2 pour les valeurs propres correspondantes, puisqu’on d´erive deux fois) peuvent exister. En cons´equence, on obtient un conditionnement de l’ordre de 1/h2, ce que l’on peut v´erifier sur le Laplacien discret en diff´erence finie (voir exemple 12.3).

Cette explosion du conditionnement reproduit simplement au niveau discret le caract`ere non born´e du Laplacien comme op´erateur de L2 dansL2.

Remarque 5.3. On prendra garde au fait que, en ´el´ements finis (dans le cas d’un maillage uniforme) tout se passe `a une ´echelle de l’ordre du volume d’un ´el´ement (hd en dimension d), mais cela n’invalide pas ces consid´erations sur le conditionnement, qui est homog`ene d’ordre 0. Plus pr´ecis´ement, la discr´etisation du probl`eme de valeur propre continu, par exemple

−△u=λu,

dans le cas du Laplacien, conduit `a r´esoudre le probl`eme aux valeurs propres g´en´eralis´e AuhhM uh,

o`u M est la matrice dite de masse, telle que (M uh, vh) = R

uhvh. Dans le cas d’un maillage uniforme, cette matrice est spectralement proche de hdId (voir exercice ??). Or on peut montrer que les premi`eres valeurs propres de ce probl`eme discr´etis´e tendent vers les premi`eres valeurs propres de l’op´erateur continu. On appellera dans la suite λh1/hd la premi`ere valeur propre renormalis´ee par la matrice de masse, ou simplement renormalis´ee, qui se comporte comme la plus petite valeur propreλ1 du probl`eme continu.

Il est possible d’´evaluer le conditionnement d’une matrice r´esultant de la discr´etisation d’un probl`eme elliptique en se fondant sur les consid´erations suivantes :

(i) la plus petite valeur propre est associ´ee aux grandes longueur d’onde en espace, qui sont bien captur´ees par la m´ethode num´erique. En cons´equence, λ1 ne d´epend pas au premier ordre du pas de discr´etisation (sous r´eserve de renormaliser par la matrice de masse conform´ement `a la remarque 5.3 ci-dessus), mais seulement de la g´eom´etrie. C’est la premi`ere valeur propre de l’op´erateur avec les conditions aux limites consid´er´ees. On se reportera `a la section 10.4, page 138 pour une preuve de ces consid´erations.

(ii) la plus grande valeur propre est un reflet de la discr´etisation. Elle ne correspond `a rien de physique, mais aux fonctions de hautes fr´equences spatiales qui vivent dans l’espace discret. Conform´ement `a la remarque 5.2, qui sera d´evelopp´ee ci-dessous, elle se comporte en 1/h2, o`u hest la taille du plus petit´el´ement3.

Estimation effective du conditionnement. Soit Ω un domaine de R2 (l’approche se g´en´eralise sans probl`eme aux dimensions sup´erieures). La plus petite valeur propre du

2. SurI, les vecteurs propres sont les fonctions sin(kπx), de valeurs propres associ´ees π2k2.

3. On prendra garde que dans le cas de maillages non uniformes (tailles des ´el´ements tr`es diff´erentes) et non isotropes (possiblit´e d’avoir des ´el´ements tr`es allong´es), lehqui intervient dans l’estimation d’erreur est ce qu’on appelle le diam`etre de la triangulation, `a savoir le diam`etre du plus grand´el´ements, alors qu’icihd´esigne la plus haute fr´equence susceptible d’ˆetre captur´ee par le maillage, c’est `a dire en fait le plus petit ρK (diam`etre du cercle inscrit dans un ´elementKde la triangulation).

60 5. R´ESOLUTION EFFECTIVE

L1+ L2+

L1

L2

Figure 1. Estimation deλ1

Laplacien avec conditions de Dirichlet homog`enes s’´ecrit, d’apr`es le th´eor`eme de Courant-Fisher,

λ1 = inf

v∈H01(Ω)

(Av, v)

|v|2 ,

de telle sorte que pour tout Ω+ contenant Ω, tout Ω contenu dans Ω, on a λ1(Ω+)≤λ1(Ω)≤λ1(Ω).

Or la proposition 13.15, page 165, donne l’expression de la plus petite valeur propre dans un rectangle L1×L2 :

λ12 1

L21 + 1 L22

.

Ces propri´et´es permettent d’encadrer assez pr´ecis´ement Λ1 pour des domaines pas trop

´eloign´es d’un rectangle. Ainsi, pour le domaine repr´esent´e sur la figure 1, on a π2

1

(L+1)2 + 1 (L+2)2

≤λ1≤π2 1

(L1)2 + 1 (L2)2

.

La plus grande valeur propre correspond aux plus grandes fr´equences rendues possibles par le maillage. On peut l’estimer en suivant la d´emarche suivante. Notons tout d’abord que le th´eor`eme de Gerchgorin (voir th´eor`eme 13.14, page 164) permet de majorer cette plus grande valeur propre par la somme des valeurs absolues des ´el´ements de n’importe quelle ligne de la matrice. Pour la matrice du Laplacien dicr´etis´e par ´el´ements finis sur un maillage uniforme (diam`etre h), les ´el´ements de la matrice sont tous de mˆeme ordre

Z

∇wi· ∇wj ≈(Volume de l’´el´ement)×(valeur du gradient)2 ≈hd×h−2 =hd−2, ce qui donne (C est une constante universelle pour des maillages uniformes r´eguliers) λN ≤ Chd−2. Le th´eor`eme 13.13, page 164, permet de minorer cette plus grande valeur propre :

λN ≥ (Av, v)

|v2| ,

5.2. M´ETHODES DIRECTES 61

pour tout vecteur v. Si l’on prend, dans le cas du Laplacien discret, le vecteur associ´e `a une fonction de base (dont la norme euclidienne est 1), on obtient

λN ≥ Z

|∇wi|2≈hd×h−1=hd−2.

La plus grande valeur propre se comporte donc comme hd−2. Si l’on normalise par la matrice de masse (ce qui revient essentiellement `a diviser par le volume caract´eristique d’un ´el´ement hd), on obtient h−2.

En conclusion, la plus petite valeur propre (normalis´ee) ´etant essentiellement une constante du probl`eme (elle ne d´epend pas du param`etre de discr´etisation), on obtient un condition-nement de l’ordre de 1/h2.

Remarque 5.4. On notera que le conditionnement du Laplacien (ou d’un op´erateur du mˆeme type, comme celui de l’´elasticit´e) `a nombre de points fix´e (donc taille de matrice fix´ee) d´ecroit avec la dimension. En effet, pour N points de maillage en dimension d, la taille des mailles varie comme N−1/d, de telle sorte que le conditionnement se comporte en N2/d. Le nombre de points total n’intervient pas en effet dans le conditionnement, mais bien le nombre de points dans une direction d’espace, qui conditionne la capacit´e `a capturer des hautes fr´equences.

5.2. M´ethodes directes

Les m´ethodes directes pr´esent´ees dans le chapitre ?? (voir section 12.2) sont en g´en´eral inutilisables pour des probl`emes de taille industrielle. Elles sont n´eammoins importantes pour les raisons suivantes :

(1) Elle peuvent ˆetre utilis´ees sur des cas test de taille raisonnable (typiquement des probl`emes elliptiques bidimensionnels sur des maillages de l’ordre de 100×100), et permettent de tester des m´ethodes num´eriques en s’affranchissant des erreurs li´ees `a la r´esolution effective des syst`emes. La m´ethode utilis´ee par d´efaut dansFreefem++

est ainsi une m´ethode directe, de type d´ecomposition LU.

(2) Elles sont `a la base d’un certain nombre de pr´econditionneurs, utilis´es pour acc´el´erer la convergence de m´ethodes it´eratives (par exemple pr´econditionnement LU incom-plet).

(3) Une approche de d´ecomposition de domaine permet parfois de se ramener `a des sous-syst`emes `a r´esoudre de taille raisonnable, mˆeme si le probl`eme global excluait a priori l’utilisation de m´ethodes directes. On peut alors tirer parti du fait que l’on doive r´esoudre un grand nombre de fois (dans le cadre d’un algorithme it´eratif li´e `a l’approche de d´ecomposition de domaine) le mˆeme syst`eme pour des donn´ees diff´erentes. On peut ainsi, par exemple, construire la d´ecompositionLU d’une ma-trice associ´ee `a un sous-domaine, la conserver en m´emoire, et utiliser cette mˆeme d´ecomposition pour r´esoudre le syst`eme local (par la r´esolution de deux syst`emes triangulaires) `a chaque it´eration.

62 5. R´ESOLUTION EFFECTIVE

5.3. M´ethodes it´eratives

Nous d´ecrivons ici les m´ethodes de type gradient, bas´ees sur des principes tr`es g´en´eraux qui s’´etendent `a la minimisation de fonctionnelles non quadratiques.

La plus simple de ces m´ethodes est la

M´ethode de gradient `a pas fixe. Il s’agit d’une strat´egie tr`es g´en´erale de recherche de minimum d’une fonctionnelle, que l’on peut voir comme une discr´etisation en temps (il s’agit d’un temps virtuel sans signification physique) d’une ´equation d’´evolution appel´ee flot-gradient. Consid´erons une fonctionnelle J d´erivable d’un espace de HilbertH dansR, et l’´equation diff´erentielle

du

dt =−∇J(u), u(0) =u0.

Si la trajectoire tend, quand t tend vers +∞, vers un point u de H, alors u est point fixe de l’´equation, et donc∇J(u) = 0. Il s’ensuit queuest un point critique deJ. Dans le cas g´en´eral, il peut s’agir d’un point-selle (la fonctionnelle augmente si l’on perturbeu dans certaines directions, diminue pour d’autres direction), ou d’un extremum local. Dans le cas o`u la fonctionnelle est convexe, le point limite, s’il existe, minimise la fonctionnelle J surH. La m´ethode de gradient consiste `a construire la suite associ´ee `a la discr´etisation de cette ´equation diff´erentielle par une m´ethode d’Euler explicite : pour un pas de temps ρ >0 fix´e, on construit

u0=u0, uk+1−uk

ρ =−∇J(uk).

Cette approche permet de construire une approximation de la solution du syst`eme Au= b, o`u A est sym´etrique d´efinie positive, et b ∈ Rn un second membre. On introduit la fonctionnelle

J(v) = 1

2(Av , v)−(b, v), de gradient ∇J(v) =Av−b,

et l’on introduit un pas de tempsρ >0. La discr´etisation du flot gradient par une m´ethode d’Euler explicite s’´ecrit donc

uk+1=uk−ρ∇J(uk) =uk−ρ(Auk−b),

qui est exactement l’algorithme 12.9. Pourρ assez petit, on a convergence de l’algorithme vers la solution u du syst`eme lin´eaire, ce qu’on peut voir comme un r´esultat sur le com-portement asymptotique de l’algorithme de discr´etisation en temps.

Remarque 5.5. Cet algorithme peut ˆetre utilis´e dans le cas o`u la matrice est simplement sym´etrique positive. Dans le cas o`ub est dans l’image deA(cas pour lequel des solutions existent), on v´erifie imm´ediatement que l’on a convergence vers une solution dont la pro-jection (orthogonale) sur kerAs’identifie `a celle deu0. Cette propri´et´e peut ˆetre utile dans le cas o`u l’on r´esout un probl`eme d´eg´en´er´e, comme un probl`eme de d´eformation d’un solide

´elastique qui glisse sans frottement sur un support plan (le mouvement de translation pa-rall`element au support, qui n’introduit aucune d´eformation, donc laisse inchang´ee l’´energie

´elastique, est dans le noyau de la matriceA). Noter que dans le casu0 = 0 (qui correspond

`a ce que l’on fait en pratique, `a moins de disposer d’une premi`ere approximation de la solution), la solution trouv´ee est dans l’orthogonal du noyau de A.

5.3. M´ETHODES IT´ERATIVES 63

Les sections 12.3.2 et 12.3.3 d´ecrivent les m´ethodes de gradient `a pas optimal et de gradient conjugu´es, extensions de la m´ethode pr´ec´edente, qui permettent d’approcher la solution beaucoup plus rapidement.

Remarque 5.6. La m´ethode de gradient conjugu´e apparaˆıt (`a la fois selon l’analyse de convergence et dans les faits) comme la meilleure m´ethode de gradient parmi celles pr´esent´ees. On prendra n´eammoins garde au fait que ses qualit´es sont li´ees `a la pr´eservation de certaines orthogonalit´es ou relation de conjugaison entre les r´esidus et directions de descente (voir proposition 12.15), propri´et´es qui sont ´etablies par r´ecurrence. Or il arrive souvent que l’on utilise cet algorithme dans le cas o`u le produit matrice vecteur fasse intervenir un syst`eme `a r´esoudre. Si ce syst`eme, que l’on r´esout `a chaque it´eration, est r´esolu lui-mˆeme de fa¸con imparfaite (par exemple par utilisation d’une m´ethode it´erative, ou du simple fait des erreurs d’arrondi machine), les propri´et´es ne seront pas pr´eserv´ees, et la vitesse de convergence, ni mˆeme la convergence elle-mˆeme, ne sont garanties. La m´ethode de gradient `a pas fixe est plus robuste en ce sens que chaque ´etape est semblable

`

a la premi`ere4 : l’algorithme refait le point `a chaque ´etape, en quelque sorte. On peut d’ailleurs montrer (voir [8]) la convergence de ce type d’algorithme dans le cas o`u l’on commet `a chaque it´eration une certaine erreur (si cette erreur n’est pas trop importante).

L’algorithme du gradient conjugu´e se comporte pourtant bien en pratique, mˆeme si l’´etape interm´ediaire est r´esolue imparfaitement, auquel cas le r´esidu peut ne pas ˆetre strictement d´ecroissant.

4. On pourra penser `a un randonneur perdu la nuit dans la montagne. S’il s’arrange pour faire r´eguli`erement un pas dans une direction qui abaisse sensiblement son altitude, mˆeme si ¸ca n’est pas la direction de plus grande pente, il finira par atteindre la vall´ee. S’il s’avise de se suivre l’id´ee du chemin optimal qu’il peut avoir en tˆete, alors les erreurs accumul´ees peuvent le d´evier de son objectif.