6.7 R´ esolution des syst` emes d’´ equations non lin´ eaires
247
for i=1:n
Fxn(i)=eval(F(i,:));
for j=1:n; Jxn(i,j)=eval(J((i-1)*n+j,:)); end
end
[L,U,P]=lu(Jxn);
else
for i=1:n, Fxn(i)=eval(F(i,:)); end
end
iter=iter+1; step=step+1; Fxn=-P*Fxn;
y=forwardcol(L,Fxn);
deltax=backwardcol(U,y);
x = x + deltax;
err=norm(deltax);
if iter > nmax
error(’ Pas de converge dans le nombre d’’it´ erations fix´ e’);
end
end
return
2. R´ esolution approch´ ee des syst` emes lin´ eaires
Une autre possibilit´ e consiste ` a r´ esoudre le syst` eme lin´ eaire (6.42) par une
m´ ethode it´ erative avec un nombre d’it´ erations fix´ e a priori. Les algorithmes
qui en r´ esultent sont les m´ ethodes dites de Newton-Jacobi, Newton-SOR ou
Newton-Krylov en fonction de la m´ ethode it´ erative utilis´ ee pour le syst` eme
lin´ eaire (voir [BS90], [Kel99]). Nous nous limiterons ici `
a la description de la
m´ ethode de Newton-SOR.
Par analogie avec ce qui a ´ et´ e fait `
a la Section 4.2.1, d´ ecomposons la
matrice jacobienne `
a l’´ etape k de la fa¸ con suivante :
J F (x
(k) ) = D k − E k − F k ,
o` u D k = D(x
(k) ), −E k = −E(x
(k) ) et −F k = −F(x
(k) ), sont respectivement
la diagonale et les parties triangulaires sup´ erieure et inf´ erieure de la matrice
J F (x
(k) ). Nous supposerons D k inversible. La m´ ethode SOR pour r´ esoudre
le syst` eme lin´ eaire dans (6.42) se pr´ esente comme suit : poser δx
(k)
0
= 0 et
r´ esoudre
δx
(k)
r = M k δx
(k)
r−1 − ω k (D k − ω k E k )
−1 F(x
(k) ), r = 1, 2, . . .,
(6.44)
o` u M k est la matrice d’it´ eration de la m´ ethode SOR
M k = [D k − ω k E k ]
−1 [(1 − ω k )D k + ω k F k ] ,
et ω k un param` etre de relaxation positif dont la valeur optimale peut rarement
ˆ etre d´ etermin´ ee a priori. Supposons qu’on effectue seulement m ´ etapes. En
rappelant que δx
(k)
r
= x
(k)
r
− x
(k) et en notant encore x
(k+1) la solution
247
for i=1:n
Fxn(i)=eval(F(i,:));
for j=1:n; Jxn(i,j)=eval(J((i-1)*n+j,:)); end
end
[L,U,P]=lu(Jxn);
else
for i=1:n, Fxn(i)=eval(F(i,:)); end
end
iter=iter+1; step=step+1; Fxn=-P*Fxn;
y=forwardcol(L,Fxn);
deltax=backwardcol(U,y);
x = x + deltax;
err=norm(deltax);
if iter > nmax
error(’ Pas de converge dans le nombre d’’it´ erations fix´ e’);
end
end
return
2. R´ esolution approch´ ee des syst` emes lin´ eaires
Une autre possibilit´ e consiste ` a r´ esoudre le syst` eme lin´ eaire (6.42) par une
m´ ethode it´ erative avec un nombre d’it´ erations fix´ e a priori. Les algorithmes
qui en r´ esultent sont les m´ ethodes dites de Newton-Jacobi, Newton-SOR ou
Newton-Krylov en fonction de la m´ ethode it´ erative utilis´ ee pour le syst` eme
lin´ eaire (voir [BS90], [Kel99]). Nous nous limiterons ici `
a la description de la
m´ ethode de Newton-SOR.
Par analogie avec ce qui a ´ et´ e fait `
a la Section 4.2.1, d´ ecomposons la
matrice jacobienne `
a l’´ etape k de la fa¸ con suivante :
J F (x
(k) ) = D k − E k − F k ,
o` u D k = D(x
(k) ), −E k = −E(x
(k) ) et −F k = −F(x
(k) ), sont respectivement
la diagonale et les parties triangulaires sup´ erieure et inf´ erieure de la matrice
J F (x
(k) ). Nous supposerons D k inversible. La m´ ethode SOR pour r´ esoudre
le syst` eme lin´ eaire dans (6.42) se pr´ esente comme suit : poser δx
(k)
0
= 0 et
r´ esoudre
δx
(k)
r = M k δx
(k)
r−1 − ω k (D k − ω k E k )
−1 F(x
(k) ), r = 1, 2, . . .,
(6.44)
o` u M k est la matrice d’it´ eration de la m´ ethode SOR
M k = [D k − ω k E k ]
−1 [(1 − ω k )D k + ω k F k ] ,
et ω k un param` etre de relaxation positif dont la valeur optimale peut rarement
ˆ etre d´ etermin´ ee a priori. Supposons qu’on effectue seulement m ´ etapes. En
rappelant que δx
(k)
r
= x
(k)
r
− x
(k) et en notant encore x
(k+1) la solution
