4.3 M´ ethodes it´ eratives stationnaires et instationnaires
135
Exemple 4.3 Consid´ erons la matrice A ∈ R
46×46 associ´ ee ` a l’approximation
par diff´ erences finies centr´ ees de l’op´ erateur de Laplace ∆· = ∂
2 ·/∂x
2
1 +∂
2 ·/∂x
2
2
sur le carr´ e Ω = [−1, 1]
2 (voir Section 11.4 et p. ex. [IK66]). Cette matrice peut
ˆ etre construite avec les commandes MATLAB suivantes : G=numgrid(’B’,20);
A=delsq(G) et correspond ` a la discr´ etisation de l’op´ erateur diff´ erentiel sur une
sous-r´ egion de Ω ayant la forme d’un domaine ext´ erieur `
a un papillon. La matrice A poss` ede 174 coefficients non nuls. La Figure 4.4 montre la structure
de la matrice A (points noirs) et les coefficients ajout´ es par le remplissage li´ es
aux factorisations ILU(1) et ILU(2) (repr´ esent´ es respectivement par des carr´ es et des triangles). Remarquer que ces coefficients sont tous contenus dans
l’enveloppe de A car aucun changement de pivot n’a ´ et´ e effectu´ e.
•
Fig. 4.4. Structure de la matrice A de l’Exemple 4.3 (points noir s) ; coefficients
ajout´ es par les factorisations ILU(1) et ILU(2) (respectivement carr´ es et triangles)
La factorisation ILU(p) peut ˆ etre effectu´ ee sans connaˆ ıtre la valeur des
coefficients de A, mais en se donnant seulement leur niveau de remplissage. On peut donc distinguer la factorisation symbolique (g´ en´ eration des
niveaux) et la factorisation effective (calcul des coefficients de ILU(p) en
partant des informations contenues dans la fonction de niveau). Cette
approche est particuli` erement efficace quand on doit r´ esoudre plusieurs
syst` emes lin´ eaires dont les matrices ont la mˆ eme structure et des coefficients diff´ erents.
Observer cependant que, pour certaines matrices, le niveau de remplissage
n’est pas toujours un bon indicateur de la grandeur effective des coefficients. Dans ce cas, il vaut mieux contrˆ oler la grandeur des coefficients de
R et n´ egliger les coefficients trop petits. Par exemple, on peut d´ elaisser
les ´ el´ ements a
(k+1)
ij
tels que
|a
(k+1)
ij
| ≤ c|a
(k+1)
ii
a
(k+1)
jj
|
1/2 ,
i,j = 1, . . . , n,
avec 0 < c < 1 (voir [Axe94]).
0
5
10
15
20
25
30
35
40
45
0
5
10
15
20
25
30
35
40
45
135
Exemple 4.3 Consid´ erons la matrice A ∈ R
46×46 associ´ ee ` a l’approximation
par diff´ erences finies centr´ ees de l’op´ erateur de Laplace ∆· = ∂
2 ·/∂x
2
1 +∂
2 ·/∂x
2
2
sur le carr´ e Ω = [−1, 1]
2 (voir Section 11.4 et p. ex. [IK66]). Cette matrice peut
ˆ etre construite avec les commandes MATLAB suivantes : G=numgrid(’B’,20);
A=delsq(G) et correspond ` a la discr´ etisation de l’op´ erateur diff´ erentiel sur une
sous-r´ egion de Ω ayant la forme d’un domaine ext´ erieur `
a un papillon. La matrice A poss` ede 174 coefficients non nuls. La Figure 4.4 montre la structure
de la matrice A (points noirs) et les coefficients ajout´ es par le remplissage li´ es
aux factorisations ILU(1) et ILU(2) (repr´ esent´ es respectivement par des carr´ es et des triangles). Remarquer que ces coefficients sont tous contenus dans
l’enveloppe de A car aucun changement de pivot n’a ´ et´ e effectu´ e.
•
Fig. 4.4. Structure de la matrice A de l’Exemple 4.3 (points noir s) ; coefficients
ajout´ es par les factorisations ILU(1) et ILU(2) (respectivement carr´ es et triangles)
La factorisation ILU(p) peut ˆ etre effectu´ ee sans connaˆ ıtre la valeur des
coefficients de A, mais en se donnant seulement leur niveau de remplissage. On peut donc distinguer la factorisation symbolique (g´ en´ eration des
niveaux) et la factorisation effective (calcul des coefficients de ILU(p) en
partant des informations contenues dans la fonction de niveau). Cette
approche est particuli` erement efficace quand on doit r´ esoudre plusieurs
syst` emes lin´ eaires dont les matrices ont la mˆ eme structure et des coefficients diff´ erents.
Observer cependant que, pour certaines matrices, le niveau de remplissage
n’est pas toujours un bon indicateur de la grandeur effective des coefficients. Dans ce cas, il vaut mieux contrˆ oler la grandeur des coefficients de
R et n´ egliger les coefficients trop petits. Par exemple, on peut d´ elaisser
les ´ el´ ements a
(k+1)
ij
tels que
|a
(k+1)
ij
| ≤ c|a
(k+1)
ii
a
(k+1)
jj
|
1/2 ,
i,j = 1, . . . , n,
avec 0 < c < 1 (voir [Axe94]).
0
5
10
15
20
25
30
35
40
45
0
5
10
15
20
25
30
35
40
45
