6.6 Techniques de post-traitement pour les m´ ethodes it´ eratives
241
La m´ ethode d’Aitken est impl´ ement´ ee en MATLAB dans le Programme 51.
Les param` etres en entr´ ee et en sortie sont les mˆ emes que pour les pr´ ec´ edents
programmes de ce chapitre.
Programme 51 - aitken : Extrapolation d’Aitken
function [xvect,xdif,fx,nit]=aitken(x0,nmax,tol,phi,fun)
%AITKEN Extrapolation d’Aitken
% [XVECT,XDIF,FX,NIT]=AITKEN(X0,NMAX,TOL,PHI,FUN) tente de trouver un
% z´ ero de la fonction continue FUN en appliquant l’extrapolation
% d’Aitken `
a la m´ ethode de point fixe X=PHI(X), en partant de la donn´ ee
% initiale X0.
% XVECT est le vecteur des it´ er´ ees, XDIF est le vecteur des diff´ erences
% entre it´ er´ ees cons´ ecutives, FX est le r´ esidu. TOL est la tol´ erance de
% la m´ ethode.
nit=0; xvect=[x0]; x=x0; fxn=eval(fun);
fx=[fxn]; xdif=[]; err=tol+1;
while err>=tol & nit<=nmax
nit=nit+1; xv=xvect(nit); x=xv; phix=eval(phi);
x=phix; phixx=eval(phi); den=phixx-2*phix+xv;
if den == 0
err=tol*1.e-01;
else
xn=(xv*phixx-phixˆ2)/den;
xvect=[xvect; xn];
xdif=[xdif; abs(xn-xv)];
x=xn; fxn=abs(eval(fun));
fx=[fx; fxn]; err=fxn;
end
end
return
6.6.2 Techniques pour les racines multiples
Comme on l’a not´ e lors de la description de la m´ ethode d’Aitken, on peut
estimer le facteur de convergence asymptotique φ
(α) en prenant les quotients
incr´ ementaux des it´ er´ ees successives λ
(k) d´ efinis en (6.33).
Cette information peut ˆ etre utilis´ ee pour estimer la multiplicit´ e de la racine d’une ´ equation non lin´ eaire. Elle fournit donc un outil pour modifier
l’algorithme de Newton afin de retrouver sa propri´ et´ e de convergence quadratique (voir (6.23)). En effet, en d´ efinissant la suite m
(k) par la relation
λ
(k) = 1 − 1/m
(k) , et en utilisant (6.22), on en d´ eduit que m
(k) tend vers m
quand k → ∞.
Si la multiplicit´ e m est connue a priori, il est tr` es simple d’utiliser la m´ ethode de Newton modifi´ ee (6.23). Dans le cas contraire, on peut recourir `
a
241
La m´ ethode d’Aitken est impl´ ement´ ee en MATLAB dans le Programme 51.
Les param` etres en entr´ ee et en sortie sont les mˆ emes que pour les pr´ ec´ edents
programmes de ce chapitre.
Programme 51 - aitken : Extrapolation d’Aitken
function [xvect,xdif,fx,nit]=aitken(x0,nmax,tol,phi,fun)
%AITKEN Extrapolation d’Aitken
% [XVECT,XDIF,FX,NIT]=AITKEN(X0,NMAX,TOL,PHI,FUN) tente de trouver un
% z´ ero de la fonction continue FUN en appliquant l’extrapolation
% d’Aitken `
a la m´ ethode de point fixe X=PHI(X), en partant de la donn´ ee
% initiale X0.
% XVECT est le vecteur des it´ er´ ees, XDIF est le vecteur des diff´ erences
% entre it´ er´ ees cons´ ecutives, FX est le r´ esidu. TOL est la tol´ erance de
% la m´ ethode.
nit=0; xvect=[x0]; x=x0; fxn=eval(fun);
fx=[fxn]; xdif=[]; err=tol+1;
while err>=tol & nit<=nmax
nit=nit+1; xv=xvect(nit); x=xv; phix=eval(phi);
x=phix; phixx=eval(phi); den=phixx-2*phix+xv;
if den == 0
err=tol*1.e-01;
else
xn=(xv*phixx-phixˆ2)/den;
xvect=[xvect; xn];
xdif=[xdif; abs(xn-xv)];
x=xn; fxn=abs(eval(fun));
fx=[fx; fxn]; err=fxn;
end
end
return
6.6.2 Techniques pour les racines multiples
Comme on l’a not´ e lors de la description de la m´ ethode d’Aitken, on peut
estimer le facteur de convergence asymptotique φ
(α) en prenant les quotients
incr´ ementaux des it´ er´ ees successives λ
(k) d´ efinis en (6.33).
Cette information peut ˆ etre utilis´ ee pour estimer la multiplicit´ e de la racine d’une ´ equation non lin´ eaire. Elle fournit donc un outil pour modifier
l’algorithme de Newton afin de retrouver sa propri´ et´ e de convergence quadratique (voir (6.23)). En effet, en d´ efinissant la suite m
(k) par la relation
λ
(k) = 1 − 1/m
(k) , et en utilisant (6.22), on en d´ eduit que m
(k) tend vers m
quand k → ∞.
Si la multiplicit´ e m est connue a priori, il est tr` es simple d’utiliser la m´ ethode de Newton modifi´ ee (6.23). Dans le cas contraire, on peut recourir `
a
