Documente Academic
Documente Profesional
Documente Cultură
x
0
donne : initialisation
x
n+1
= g(x
n
)
(III.1)
Si cette iteration converge, elle converge vers le point-xe de g, donc de
Figure III.2 Forme f(x) = 0 et forme point-xe equivalente dune
equation.
mani`ere equivalente vers le zero recherche de f. La condition de convergence
essentielle est une condition de contraction sur la fonction g.
34
Def. 1.1 (Application contractante) : On dit quune application denie de
[a, b] dans [a, b] est contractante, ou que cest une contraction, sil existe un
nombre 0 k < 1 tel que, pour tout couple de points distincts (x
1
, x
2
) de
[a, b], on ait :
|g(x
1
) g(x
2
)| k|x
1
x
2
|
k est le facteur de contraction. Il donne la vitesse de convergence de literation.
Dans le cas o` u g est derivable, la condition de contraction se ram`ene `a la
condition suivante sur la derivee : |g
(s) +
(x
n
s)
2
2
g
(s) +O((x
n
s)
3
)
Methodes dordre un
Si g
(s)|
Lecart au pas n+1 est donc du meme ordre que lecart au pas n. Le facteur
de reduction derreur est asymptotiquement donne par |g
(s)|
La convergence est dite quadratique. La reduction du nombre des iterations
est spectaculaire d`es lordre 2.
`
A partir dune erreur de 0.1, on obtient 10
8
en trois iterations.
On peut essayer, pour chaque probl`eme particulier, de construire une iteration
de point-xe convergente. Il est evidemment plus interessant dutiliser des
methodes generales applicables pour toute equation f(x) = 0. Voici une fa-
mille de methodes classiques tr`es utiles dans la pratique.
1.4 Methode de Newton et Quasi-Newton
On obtient evidemment une forme point-xe equivalente `a f(x) = 0 en
considerant la famille x = x (x)f(x), avec denie et non nulle sur un
intervalle [a, b] contenant la racine s. Parmi tous les choix possibles pour ,
le choix qui conduit `a la convergence la plus rapide est =
1
f
(f
derivee
de f). La methode obtenue ainsi est la methode de Newton. Il est facile de
verier que literation
x
n+1
= x
n
f(x
n
)
f
(x
n
)
(III.2)
est dordre deux si elle converge.
Evidemment la methode de Newton nest
plus ecace si f
(x
n
). Cest un
inconvenient dans la pratique o` u lon ne dispose pas toujours dexpression
analytique pour la fonction f.
36
Figure III.3 Interpretation geometrique de la methode de Newton.
Une solution simple est fournie par la methode de la secante ou de fausse-
position dans laquelle on remplace le calcul de f
(x
n
) par lapproximation
f
(x
n
)
f(x
n
) f(x
n1
)
x
n
x
n1
Ce qui donne
x
n+1
= x
n
f(x
n
)(x
n
x
n1
)
f(x
n
) f(x
n1
)
(III.3)
Les procedures de resolution dequations de type f(x) = 0 que lon trouve
dans les outils generiques dalgorithmique (Matlab par exemple), combinent
en general une premi`ere approche de la racine par quelques pas de dichotomie,
suivis, pour la convergence ne, par une methode rapide an dobtenir une
grande precision en peu diterations. Lalgorithme propose par Matlab est d u
` a Dekker (1969). La methode rapide utilisee est une interpolation quadratique
inverse, assurant lordre deux de convergence (comme Newton), sans calcul
de la derivee de f.
37
1.5 Methode de Newton et Quasi-Newton pour les syst`emes
La methode de Newton se generalise en dimension superieure ` a un. On
peut en eet montrer que le choix du n + 1
e
itere x
n+1
est tel que
f(x
n+1
) = O(|x
n+1
x
n
|
2
)
En eet un developpement simple donne :
f(x
n+1
) = f(x
n
) + (x
n+1
x
n
)f
(x
n
) +O(|x
n+1
x
n
|
2
)
On voit donc que le choix
x
n+1
= x
n
f(x
n
)
f
(x
n
)
assure bien
f(x
n+1
) = O(|x
n+1
x
n
|
2
)
On retrouve ainsi lordre 2 de la methode de Newton.
Dans le cas dun syst`eme de N equations non-lineaires, on peut ecrire
F(X
n+1
) = F(X
n
) +F
(X
n
)(X
n+1
X
n
) +O(X
n+1
X
n
2
)
la meme idee conduit au choix suivant pour literation vectorielle :
X
n+1
= X
n
{F
(X
n
)}
1
F(X
n
) (III.4)
o` u F
(X
n
) designe la matrice jacobienne de coecients
F
i
x
j
(X
N
). Pratique-
ment le n +1
e
itere est calcule ` a chaque iteration par resolution de syst`emes
lineaires
F
(X
n
)[X
n+1
X
n
] = F(X
n
) (III.5)
La matrice F
(X
n
) doit etre assemblee et recalculee et le syst`eme doit etre
resolu ` a chaque iteration. Ceci rend la methode de Newton tr`es co uteuse en
temps de calcul.
Pour eviter ces inconvenients, on utilise des methodes dites de Quasi-Newton
dans lesquelles sont proposees des approximations de linverse de la matrice
Jacobienne. Une methode classique et ecace de ce type est la methode
BFGS (Broyden-Fletcher-Goldfarb-Shanno).
38
1.5.1 Application `a loptimisation
Dans un contexte doptimisation, la recherche du minimum dune fonc-
tionnelle J peut etre ramenee ` a la recherche du point qui annule son gradient
J(x), x designant la parametrisation du probl`eme (voir chapitre ??). On
pourra alors utiliser les methodes de type Newton ou Quasi-Newton (nous
renvoyons `a la litterature pour les methodes doptimisation en dimension
un du type de la methode de la section doree qui ne necessite pas le calcul
des derivees). Ces methodes demandent le calcul exact ou approche de la
matrice des derivees partielles secondes ou matrice Hessienne. La methode
BFGS permet de construire directement une approximation de linverse de la
Hessienne H, en demarrant de la matrice identite (H
0
= Id) et en appliquant
literation suivante :
H
p+1
= H
p
+
1 +
p
T
H
p
p
x
p
T
x
p
x
p
T
x
p
T
1
2
x
p
T
(H
p
+ (H
p
)
T
)
p
x
p
p
(III.6)
o` u p indique literation doptimisation, x
p
= x
p
x
p1
la variation du pa-
ram`etre et
p
= J (x
p+1
)J (x
p
) . Voir chapitre ?? pour des developpements
sur loptimisation.
39
2 Interpolation
Une collection de valeurs notees y
i
etant donnees pour un ensemble dabs-
cisses x
i
, pour i = 0 `a n, linterpolation est le procede qui consiste ` a determiner
une fonction, dune famille choisie a priori, prenant les valeurs donnees aux
abscisses correspondantes. Le choix de fonctions polynomiales est le plus
classique. Dans ce cas, le polynome dinterpolation est le polyn ome de degre
minimal passant par les n + 1 points donnes. Ce polyn ome est unique et il
est de degre inferieur ou egal `a n. Si lon exprime le polyn ome recherche dans
la base canonique sous la forme
P(x) = a
0
+a
1
x +a
2
x
2
+... +a
n
x
n
on doit resoudre un syst`eme lineaire de n + 1 equations `a n + 1 inconnues.
Sous cette forme le calcul est donc co uteux. La solution de ce syst`eme est
tr`es sensible aux erreurs darrondis.
5 4 3 2 1 0 1 2 3 4 5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
Figure III.4 Interpolation polynomiale de degre 10 pour une fonction
sinusode.
2.1 Polyn omes de Lagrange
Une solution simple, elegante et economique de ce probl`eme est fournie
par lutilisation de la base des polyn omes de Lagrange.
40
On consid`ere les n + 1 polynomes L
i
de degre n qui verient, pour tout i
et j compris entre 0 et n, les egalites :
L
i
(x
i
) = 1
L
i
(x
j
) = 0
(III.7)
Les polynomes L
i
sont determines de facon unique par les n + 1 equations
ci-dessus. Il est facile de montrer quils forment une base de lespace des
polynomes de degre inferieur ou egal ` a n et quils secrivent :
L
i
(x) =
n
j=0j=i
x x
j
x
i
x
j
(III.8)
Exprime dans cette nouvelle base, le polyn ome dinterpolation secrit
P(x) =
n
i=0
y
i
L
i
(x) (III.9)
La relation ci-dessus, facile ` a verier, explique linteret de la base de La-
grange. Les coecients du polyn ome dinterpolation cherche sont, dans cette
base, tout simplement les valeurs y
i
donnees. Exprime autrement, le change-
ment de base, de la base canonique ` a la base de Lagrange, a transforme le
syst`eme ` a resoudre en un syst`eme ` a matrice identite.
2.2 Limites de linterpolation polynomiale
Linterpolation polynomiale est la base de nombreuses techniques numeriques,
en particulier les techniques dintegration approchee. Elle se generalise de
facon naturelle aux cas de dimension superieure `a un.
Cependant elle a des limites :
theoriques : on nest pas assure de la convergence du polyn ome dinter-
polation vers la fonction interpolee lorsque lon fait tendre le nombre
de points dinterpolation (et donc le degre du polyn ome) vers linni
(voir le phenom`ene de Runge pour la fonction f(x) =
1
1+x
2
) ;
numeriques : meme dans le cas o` u la convergence theorique est as-
suree, les instabilites de calcul provenant de laccumulation des erreurs
darrondis, auxquelles le procede dinterpolation polynomiale est parti-
culi`erement sensible, limite lusage de cette technique d`es que le nombre
de points dinterpolation depasse la dizaine ;
41
! " # $ % & % $ # " !
&'!
&
&'!
%
%'!
$
Figure III.5 Divergence de linterpolation polynomiale pour la fonction
y =
1
1+x
2
. Phenom`ene de Runge. En pointilles : la fonction, en traits pleins :
le polynome dinterpolation de degre 10 construit sur 11 points reguli`erement
espaces.
pratiques : remarquons que dans de nombreux cas, les valeurs donnees
resultent dexperiences ou de calculs prealables. Ces valeurs sont donc
approximatives. Le probl`eme reel nest alors plus un probl`eme din-
terpolation, mais plut ot un probl`eme de meilleure approximation pour
lequel les methodes de moindres carres, presentees plus bas, sont mieux
adaptees.
2.3 Interpolation par des splines
Pour eviter linconvenient, signale plus haut, de laugmentation du degre
du polyn ome et de linstabilite qui en resulte, lorsque le nombre de points
est grand, tout en restant dans un procede dinterpolation, on subdivise len-
semble des points donnes en plusieurs sous-ensembles. On realise les inter-
polations sur ces petits sous-ensembles, ce qui permet de se limiter `a des
polynomes de bas degre. Les fonctions polynomiales par morceaux obtenues
sont `a la base des elements nis de Lagrange.
Les interpolations ci-dessus produisent des fonctions globalement conti-
nues mais non contin ument derivables.
Les splines cubiques dinterpolation sont des fonctions cubiques par mor-
42
Figure III.6 Une fonction ane par morceaux.
x
0
= a x
2N
= b x
i+1
x
i
x
i+2
Figure III.7 Une fonction polynomiale de degre deux par morceaux.
ceaux, globalement C
2
. On obtient leur expression analytique, segment par
segment, en imposant les conditions suivantes aux points x
i
dinterpolation
s(x
i
) = y
i
donne pour i = 0, ..n, s
et s
continues
Les inconnues du probl`eme sont alors les derivees secondes C
i
de la spline
5 4 3 2 1 0 1 2 3 4 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figure III.8 Spline cubique dinterpolation pour y =
1
1+x
2
.
43
aux points x
i
. On suppose la derivee seconde de la spline ane par intervalles.
On int`egre deux fois en prenant en compte les conditions de continuite de la
derivee et les valeurs donnees y
i
aux points x
i
. On en deduit les expressions
suivantes de la spline sur chaque intervalle [x
i
, x
i+1
] :
S
i
(x) =
C
i
6
[
(x
i+1
x)
3
h
i
h
i
(x
i+1
x)] +
C
i+1
6
[
(xx
i
)
3
h
i
h
i
(x x
i
)]
+y
i
(x
i+1
x)
h
i
+y
i+1
(xx
i
)
h
i
(III.10)
avec h
i
= x
i+1
x
i
, et o` u les C
i
sont solutions du syst`eme tridiagonal :
h
i1
6
C
i1
+
h
i1
+h
i
3
C
i
+
h
i
6
C
i+1
=
y
i+1
y
i
h
i
y
i
y
i1
h
i1
pour i = 1, ..n 1, complete, en general, par C
0
= C
n
= 0.
Voici par exemple (Figure III.8) la spline cubique dinterpolation de la
fonction f(x) =
1
1 +x
2
sur 10 intervalles. On observe la stabilite de cette
interpolation par contraste avec le resultat obtenu (Figure III.5) par inter-
polation polynomiale.
3 Approximation au sens des moindres carres
Linstabilite du procede dinterpolation polynomiale lorsque le nombre de
points augmente, dune part, lincertitude des resultats de mesure, dautre
part, conduisent ` a preferer ` a linterpolation des methodes dapproximation.
Ainsi il est clair que lexperimentateur qui rel`evera 100 points quasiment
alignes sera plus interesse par la droite passant au mieux par ces 100
points plut ot que par le polyn ome de degre 99 realisant linterpolation exacte.
La plus cel`ebre et la plus utile des methodes dapproximation est la
methode des moindres carres. La formalisation de lidee intuitive dune droite
representant au mieux un nuage de points au sens des moindres carres se
fait de la mani`ere suivante.
3.1 Droite des moindres carres
Soient N valeurs y
1
, y
2
, ...y
i
, ...y
N
donnees aux N abscisses x
1
, x
2
, ...x
i
, ...x
N
.
Le polynome P de degre un : P(x) = a
0
+a
1
x (represente par une droite) qui
44
Figure III.9 Droite des moindres carres
realise la meilleure approximation au sens des moindres carres des valeurs y
i
donnees aux points x
i
est celui qui minimise la somme des carres des ecarts
entre les y
i
et les P(x
i
), soit
S(a
0
, a
1
) =
N
i=1
[y
i
(a
0
+a
1
x
i
)]
2
(III.11)
S apparat comme le carre de la norme euclidienne du vecteur de composantes
y
i
(a
0
+a
1
x
i
). La minimisation de S sinterpr`ete donc comme la recherche
du vecteur le plus proche du vecteur Y IR
N
de composantes y
i
, dans le
sous-espace de dimension deux engendre par les vecteurs U, de composantes
toutes egales `a 1, et X, de composantes x
i
. Comme la norme utilisee est la
norme euclidienne, le vecteur le plus proche est le projete orthogonal. On
obtient ses composantes a
0
et a
1
en ecrivant les relations dorthogonalite :
_
_
(Y a
0
U a
1
X|U) =
N
i=1
[y
i
(a
0
+a
1
x
i
)] 1 = 0
(Y a
0
U a
1
X|X) =
N
i=1
[y
i
(a
0
+a
1
x
i
)] x
i
= 0
(III.12)
Ceci conduit au syst`eme dit des equations normales pour a
0
et a
1
, coecients
de la droite des moindres carres (ou de regression) cherchee.
45
_
_
_
_
_
_
N
N
i=1
x
i
N
i=1
x
i
N
i=1
x
2
i
_
_
_
_
_
_
_
_
_
_
a
0
a
1
_
_
_
_
=
_
_
_
_
_
_
N
i=1
y
i
N
i=1
x
i
y
i
_
_
_
_
_
_
(III.13)
3.2 Generalisation : polynome des moindres carres
Il est facile de generaliser le calcul precedent au cas de la recherche du po-
lyn ome de degre m, avec m << N, qui realise la meilleure approximation
au sens des moindres carres des y
i
. Ce polyn ome minimise
S(a
0
, a
1
, ...a
m
) =
N
i=1
[y
i
(a
0
+a
1
x
i
+a
2
x
2
i
+....a
m
x
m
i
)]
2
(III.14)
On obtient les relations dorthogonalite :
_
_
(Y a
0
U a
1
X ...a
m
X
m
|U) = 0
(Y a
0
U a
1
X ...a
m
X
m
|X) = 0
....
(Y a
0
U a
1
X ...a
m
X
m
|X
m
) = 0
(III.15)
o` u lon a note X
m
le vecteur de composantes x
m
i
. Les valeurs des coe-
cients a
k
du polynome des moindres carres sen deduisent apr`es resolution
du syst`eme lineaire deduit de (III.15).
Remarque 3.1 : Le syst`eme des moindres carres ci-dessus est mal condi-
tionne (il est de plus en plus sensible aux erreurs darrondis `a mesure que
m augmente). On se limite habituellement `a des polynomes de degre peu
eleve. La resolution pratique des probl`emes de moindres carres se fait par
des algorithmes speciques delimination pour des syst`emes rectangulaires
surdetermines. Ces algorithmes utilisent la factorisation QR (technique de
Householder).
On peut envisager, comme dans le cas de linterpolation, la recherche
dune meilleure approximation par des splines en decoupant lensemble des
points en sous-ensembles plus petits. Cette idee de meilleure approximation
au sens des moindres carres par des splines est `a la base de nombreuses
techniques dapproximation et de representation de donnees.
46
4 Integration numerique
La plupart des formules dintegration numerique proviennent de methodes
dinterpolation polynomiales. Le calcul de lintegrale dune fonction est ap-
proche par le calcul exact de lintegrale dun polyn ome interpolant cette
fonction en certains points x
k
pour k = 1, ..p. On obtient ainsi une forme
generale pour les quadratures numeriques
b
a
f(x)dx =
p
k=1
A
k
f(x
k
) (III.16)
Les x
k
sont alors les points dintegration et les coecients A
k
les poids de la
formule de quadrature.
Le co ut dune formule est mesure par le nombre de calculs de f necessaires,
donc par le nombre de points dintegration. Le crit`ere decacite choisi est le
degre maximal de lespace des polyn omes pour lequel la formule est exacte. La
precision dune formule dintegration numerique est mesuree par son ordre.
Def. 4.1 : On dit quune formule est dordre k si k est le plus grand entier
pour lequel elle donne lintegrale exacte de tout polynome de degre k. On
montre que lerreur dintegration est alors, pour toute fonction susamment
reguli`ere, un inniment petit dordre k du pas dintegration h.
4.1 Formules des rectangles
Ce sont les formules ` a un point dintegration qui proviennent dinterpo-
lation par des polyn omes constants.
b
a
f(x)dx (b a)f() (III.17)
Le co ut dune telle formule `a un point est celui dune evaluation de f. Les
choix classiques sont = a, = b et le choix donnant la meilleure formule
dite formule du point-milieu (exacte pour les fonctions anes) est =
a+b
2
.
4.2 Formule des trap`ezes
On consid`ere cette fois linterpolation par un polyn ome de degre un
construit sur les points a et b. On obtient la formule classique des trap`ezes :
b
a
f(x)dx
b a
2
[f(a) +f(b)] (III.18)
47
Cette formule, `a deux points, est clairement exacte pour les polynomes de
degre 1.
4.3 Formule de Simpson
En utilisant linterpolation sur les trois points a,
a+b
2
, b, on obtient la for-
mule de Simpson, que lon verie etre exacte pour les polynomes de degre
3.
b
a
f(x)dx
b a
6
[f(a) + 4 f(
a +b
2
) +f(b)] (III.19)
Cette formule `a trois points necessite donc trois evaluations de f par seg-
ment (voir cependant, paragraphe 4.5 dans le cas dun segment global sub-
divise en sous-intervalles, les formules composites de calcul dintegrales par
les methodes des trap`ezes et de Simpson).
4.4 Formules de Gauss
Dans les formules precedentes le choix des points dintegration etait xe
(extremites et/ou milieu des intervalles dintegration). Dans les formules de
type Gauss, les points dintegration sont choisis de mani`ere ` a obtenir la
precision la plus elevee.
La Formule de Gauss Legendre ` a 2 points, est exacte pour les polynomes
de degre 3 :
b
a
f(x)
b a
2
[f(
1
) +f(
2
)]. (III.20)
avec
1
=
a +b
2
b a
2
3
3
et
2
=
a +b
2
+
b a
2
3
3
4.5 Formules composites, maillages et methodes adap-
tatives
Toutes les formules presentees ci-dessus sont des formules de base, utili-
sables sur de petits elements en dimension un, deux ou trois. Pour faire un
calcul reel, il faut prealablement decouper le domaine dintegration global
en un ensemble de petits sous-domaines elementaires. Voici, pour xer les
48
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
10
20
30
40
50
60
70
80
90
100
110
Figure III.10 Choix optimal de points dintegration par Matlab pour la
fonction f(x) =
1
(x0.3)
2
+0.01
+
1
(x0.7)
2
+0.02
.
idees, le calcul global, de lintegrale dune fonction f, par la methodes des
trap`ezes, sur un intervalle [a, b] decoupe uniformement en N sous-intervalles
de longueur h (le pas dintegration) :
b
a
f(x)dx
h
2
(f(a) +f(b)) +h
N1
i=1
f(a +ih)
et le meme calcul par Simpson
b
a
f(x)dx
h
3
(f(a) +f(b)) +
2h
3
P1
i=1
f(a + 2ih) +
4h
3
P
i=1
f(a + (2i 1)h)
o` u P = N/2.
Cependant, un decoupage geometrique uniforme en sous-intervalles egaux
nest pas optimal. Loperation de discretisation geometrique ou maillage
que lon retrouvera dans le contexte des methodes de dierences, delements
ou de volumes nis est determinante pour la precision du resultat. Il faut
mettre plus de points dintegration l`a o` u la fonction presente des variations
relatives rapides. Dans les outils generiques comme Matlab, on trouve des
procedures de quadrature adaptatives qui choisissent automatiquement les
49
points dintegration (ou la taille des mailles) selon les variations de la fonc-
tion ` a integrer. Typiquement, ces methodes utilisent des indicateurs derreurs
locaux bases sur lecart entre deux calculs eectues avec deux methodes de
base dierentes, trap`ezes et Simpson par exemple (voir Fig III.10).
50
5 Resolution des equations dierentielles
Nous limiterons lexpose au cas simple dequations dierentielles ordi-
naires de la forme
_
_
_
Trouver la fonction y : x y(x) telle que :
y
x
n+1
xn
y
(x) dx = y(x
n+1
) y(x
n
) =
x
n+1
xn
f(x, y(x)) dx
`
A titre dexemple, on obtient les schemas suivants :
A lordre 1, avec une formule exacte pour les polyn omes constants par
morceaux, on obtient le schema dEuler explicite :
y
n+1
y
n
= hf(x
n
, y
n
)
Toujours ` a lordre 1, mais en utilisant le point darrivee, on obtient le
schema dEuler implicite :
y
n+1
y
n
= hf(x
n+1
, y
n+1
)
53
A lordre 2, en utilisant la methode des trap`ezes, on obtient le schema
des trap`ezes ou de Crank-Nicolson :
y
n+1
y
n
=
h
2
[f(x
n
, y
n
) +f(x
n+1
, y
n+1
)].
En general un schema explicite a une complexite plus faible mais impose des
conditions de stabilite plus restrictives (voir plus loin).
x
y
y(x)
x
0
x
n
x
n+1
y
0
y
n
y
n+1
Figure III.11 Interpretation de la methode dEuler comme methode de la
tangente. En chaque point x
n
, utiliser un developpement de Taylor ` a lordre
un revient `a remplacer la courbe solution par sa tangente.
5.3 Interpretations de la methode dEuler explicite
La methode dEuler est le prototype le plus simple des methodes numeriques
de resolution des equations dierentielles. Pour lequation
y
0
donne
y
n+1
= y
n
+hf(x
n
, y
n
)
(III.22)
Cest la plus simple des methodes explicites ` a un pas.
54
1. La methode dEuler provient du developpement de Taylor dordre un
de y au voisinage de x
n
. On peut montrer que, lorsque cette methode
converge, lerreur est un inniment petit dordre un en h.
2. Geometriquement, elle revient ` a remplacer localement en chaque point
x
n
, la courbe solution par sa tangente. On voit donc quau cours du
processus numerique, on va passer, `a chaque pas dune courbe solution
` a une courbe voisine correspondant ` a une condition initiale leg`erement
dierente. Si le probl`eme est stable, on pourra obtenir la convergence.
Par contre, les resultats peuvent vite devenir catastrophiques dans un
cas instable (exemple ?? du chapitre 1).
3. Enn, en utilisant lequivalence entre un probl`eme dierentiel et une
equation integrale, on peut interpreter, on la vu plus haut, la methode
dEuler comme le resultat de lapplication de la formule des rectangles
basee sur le point x
n
y(x
n+1
) = y(x
n
) +
x
n+1
xn
f(t, y(t))dt y
n+1
= y
n
+hf(x
n
, y
n
)
5.4 Methodes de Runge et Kutta
Dans les methodes de resolution des probl`emes ` a valeurs initiales, le pro-
cessus de calcul est un processus ni. On avance de N pas, `a partir du temps
initial jusquau temps nal et on sarrete. Chaque valeur est donc calculee
une fois pour toutes. Sauf technique plus complexe dadaptation de maillages,
il ny a pas de reiteration pour ameliorer le resultat. Il faudra donc utiliser
des methodes susamment precises. Ceci explique le recours ` a des methodes
dordre eleve. Les methodes de Runge et Kutta sont les generalisations de la
methode dEuler `a des ordres superieurs ` a un. Elles sobtiennent ` a partir de
formules dintegration numeriques plus precises que la formule des rectangles.
Considerons tout dabord lutilisation de la formule des trap`ezes. Elle conduit
` a la methode
y
0
donne
y
n+1
= y
n
+
h
2
[f(x
n
, y
n
) +f(x
n+1
, y
n+1
)]
(III.23)
Cette methode est une methode implicite. Le calcul de la nouvelle valeur
y
n+1
necessite la resolution dune equation. Si lon veut obtenir une methode
55
explicite du meme ordre, on peut proceder de la mani`ere suivante :
_
_
y
0
donne
y
n+1
= y
n
+hf(x
n
, y
n
)
y
n+1
= y
n
+
h
2
[f(x
n
, y
n
) +f(x
n+1
, y
n+1
)]
(III.24)
Ceci peut sinterpreter comme une iteration de point-xe (limitee ici `a un
pas) pour resoudre lequation du schema implicite des trap`ezes (voir plus bas
??). On obtient ainsi la methode de Runge et Kutta dordre 2 : RK2.
De meme lutilisation de la formule dintegration de Simpson est ` a la base de
la formule de Runge et Kutta dordre 4 : RK4. Cest lune des formules
les plus utilisees, elle secrit :
_
_
y
0
donne, puis pour n 0
k
1
= hf(x
n
, y
n
)
k
2
= hf(x
n
+h/2, y
n
+k
1
/2)
k
3
= hf(x
n
+h/2, y
n
+k
2
/2)
k
4
= hf(x
n
+h, y
n
+k
3
)
y
n+1
= y
n
+
1
6
[k
1
+ 2k
2
+ 2k
3
+k
4
]
(III.25)
Pour reduire la complexite en stockage de ce schema (pas de stockage des
coecients k
i
), on peut utiliser le schema de Runge-Kutta sans stockage
suivant :
y
n+1
= y
n
+
p
hf(y
n+1
), p = 1...q,
p
]0, 1]
o` u lon passe de n ` a n + 1 apr`es q sous-iterations, sans stocker les va-
leurs intermediaires. Les coecients
p
doivent etre cales pour realiser une
integration exacte `a un ordre donne pour une fonction f donnee (ce qui est
une limitation de cette technique).
Considerons lequation y
_
v
0
= y
n
v
1
= v
0
+h
1
v
0
v
2
= v
0
+h
2
v
1
y
n+1
= v
2
on a donc :
y
n+1
= y
n
+h
2
y
n
+h
2
2
y
n
Or y
(x) =
2
y(x) do` u par identication :
2
= 1 et
1
2
=
1
2
.
56
5.5 Application aux syst`emes dierentiels
0 2 4 6 8 10 12 14 16 18 20
50
100
150
200
250
300
0 2 4 6 8 10 12 14 16 18 20
0
100
200
300
400
500
600
Figure III.12 Syst`eme proie-predateur : les proies sont representees en
trait continu, les predateurs en pointilles. En haut le cas b = 0.01 : proies
en milieu ni, en bas le cas b = 0 : pas de limite au developpement de la
population des proies, hormis la presence de predateurs.
On peut generaliser simplement lapplication des methodes de Runge et
57
Kutta aux syst`emes. Pour un syst`eme de deux equations couplees de la forme
_
_
_
y
0
, z
0
donnes
y
_
y
0
, z
0
donnes, puis pour n 0
k
1
= hf(x
n
, y
n
, z
n
) l
1
= hg(x
n
, y
n
, z
n
)
k
2
= hf(x
n
+h/2, y
n
+k
1
/2, z
n
+l
1
/2) l
2
= hg(x
n
+h/2, y
n
+k
1
/2, z
n
+l
1
/2)
k
3
= hf(x
n
+h/2, y
n
+k
2
/2, z
n
+l
2
/2) l
3
= hg(x
n
+h/2, y
n
+k
2
/2, z
n
+l
2
/2)
k
4
= hf(x
n
+h, y
n
+k
3
, y
n
+l
3
) l
4
= hg(x
n
+h, y
n
+k
3
, y
n
+l
3
)
y
n+1
= y
n
+
1
6
[k
1
+ 2k
2
+ 2k
3
+k
4
] z
n+1
= z
n
+
1
6
[l
1
+ 2l
2
+ 2l
3
+l
4
]
(III.27)
Voici trois applications classiques
1. Le syst`eme proies-predateurs :
_
_
y
1
= ( a by
1
cy
2
) y
1
y
2
= ( + y
1
)y
2
y
1
(0) = 300 y
2
(0) = 150
a = 2, b = 0.01 (ou b = 0), c = 0.01, = 1, = 0.01
(III.28)
dont voici le programme en langage Matlab utilisant le schema RK2.
x=0:0.1:20;
h=0.1;
a= 2;
b=0.01;
c=0.01;
alpha=1;
gamma=0.01;
y(1)=300;
58
z(1)= 100;
for i=1:200
k1=h*(a -b*y(i)-c*z(i))*y(i);
l1=h*(-alpha +gamma*y(i))*z(i);
k2=h*(a-b*(y(i)+k1) -c*(z(i)+l1))*(y(i)+k1);
l2=h*(-alpha +gamma*(y(i)+k1))*(z(i)+l1);
y(i+1)=y(i)+(k1+k2)/2;
z(i+1)=z(i)+(l1+l2)/2;
end
hold on
plot(x,y)
plot(x,z,--)
hold off
2. Lequation du pendule amorti :
_
(t) +
(t) +k
2
sin((t)) = 0 sur [0, 4]
(0) =
2
et
(0) = 0
(III.29)
k = 5 et = 0.1
3. Le syst`eme dynamique de Lorentz :
x = (y x), y = x y xz, z = xy z (III.30)
dont les conditions initiales sont precisees dans le programme ci-dessous :
! Etude du systeme dynamique de Lorentz
x1=x0=-10.;
y1=y0=20.;
z1=z0=-5.;
epsilon=1.e-2 ! perturbation 1 pourcent
sigma=10.*(1.+epsilon)
ro=28.*(1.+epsilon)
beta=2.6667*(1.+epsilon)
59
! " # $ % &! &"
%
$
#
"
!
"
#
$
%
2 1.5 1 0.5 0 0.5 1 1.5 2
8
6
4
2
0
2
4
6
8
theta(t)
t
h
e
t
a
`
(
t
)
Figure III.13 Oscillation du pendule amorti : les angles sont representes
en pointilles, leurs derivees en trait continu. En bas le diagramme de phase,
angles / vitesses angulaires
irkmax=4 ! Runge et Kutta a 4 pas
dt=1.e-3 ! pas de temps
do kt=1,10000 ! boucle en temps
do irk=1,irkmax ! boucle Runge et Kutta sans stockage
alpha=1./(irkmax+1-irk);
x1=x0+dt*alpha*(sigma*(y1-x1));
y1=y0+dt*alpha*(ro*x1-y1-x1*z1);
60
z1=z0+dt*alpha*(x1*y1-beta*z1);
enddo
x0=x1; y0=y1; z0=z1;
enddo
Ci-dessus le pas de temps a ete xe a priori, ` a la suite dessais numeriques.
Nous pouvons, par une analyse de stabilite, proposer un crit`ere pour son
choix. Cependant, lanalyse de stabilite sav`ere souvent dicile pour
les syst`emes couples. Dans ce cas, on eectue lanalyse pour chaque
equation, en laissant invariantes les autres variables. Le pas de temps
sera alors le minimum des pas de temps produits par ces analyses. Par
exemple, dans le cas du syst`eme de Lorentz on obtient :
dt = min(
2
|
x
x y
|, 2|
y
x +y +xz
|, 2|
z
z xy
|)
5.6 Methodes `a pas multiples
Les methodes de Runge et Kutta sont des methodes `a un pas. Pour obtenir
des methodes dordre de precision eleve, on peut aussi augmenter le nombre
de pas. Dans ce cas, la solution au point n+1 sera fonction des solutions aux
p pas precedents avec p > 1. La construction de ces schemas peut se faire en
utilisant la derivation numerique et la precision du schema sera donnee par
la precision de cette derivation. Ainsi, pour un schema `a lordre 2, on peut
combiner les expressions ci-dessous :
y(x
n+1
) = y(x
n
) +hy
(x
n
) +
h
2
2
y
(x
n
) +...
y(x
n1
) = y(x
n
) hy
(x
n
) +
h
2
2
y
(x
n
) +...
pour aboutir au schema saute-mouton (leap-frog en anglais) :
y
n+1
y
n1
2h
= f(x
n
, y
n
) (III.31)
Un autre schema ` a deux pas largement utilise est le schema implicite dordre
deux de Gear :
3
2
y
n+1
2y
n
+
1
2
y
n1
= hf(x
n+1
, y
n+1
) (III.32)
61
On trouvera dans les ouvrages specialises un grand nombre de formules multi-
pas dordre eleve (voir cependant la remarque 5.1 sur les avantages pratiques
des methodes ` a un pas de type Runge-Kutta). Remarquons toutefois, quun
schema dordre eleve na dinteret que si lon est assure de la regularite suf-
sante de la solution. Pour une solution discontinue ou peu reguli`ere des
methodes dordre bas sont mieux adaptees. Dautre part, il y a, en general,
sauf evidemment dans le cas de schemas implicites, antagonisme entre ordre
eleve et stabilite.
5.7 Stabilite
Par opposition ` a lordre de precision qui utilise la solution du probl`eme
continu, le concept de stabilite est base sur la solution discr`ete. Il rend
compte du comportement reel de la solution approchee pour une valeur pra-
tique, donc non nulle, du pas h.
Lors dun calcul reel, les erreurs darrondis, inevitables, saccumulent. Ceci
est particuli`erement evident dans le processus de resolution dune equation
dierentielle o` u lon progresse pas ` a pas `a partir dune valeur initiale. Il existe
diverses conditions de stabilite. Tout dabord la solution numerique doit res-
ter bornee. Cette exigence minimale de stabilite peut se reveler insusante
dans la pratique, la borne obtenue etant souvent une exponentielle de la
duree qui donc crot inniment lorsque celle-ci augmente.
On introduit alors des crit`eres de stabilite plus exigeants an que la solution
numerique reproduise le comportement physique de la solution exacte. Par
exemple, pour des probl`emes dissipatifs, on imposera des conditions de sta-
bilite permettant dobtenir une solution de norme decroissante. Le concept
de A-stabilite, sous sa forme la plus simple, est base sur lanalyse du com-
portement, selon les valeurs du pas h, des solutions numeriques de lequation
mod`ele
y
i
.
Donc h <
1
max(
i
)
. Si certaines valeurs propres sont grandes, ceci imposera
des pas h tr`es petits, et donc des dicultes pour le calcul des solutions sur
de longues durees. On dit, dans ce cas, que le syst`eme dierentiel est raide
(sti en anglais).
_
a
11
x
1
+a
12
x
2
+......a
1n
x
n
= b
1
a
21
x
1
+a
22
x
2
+......a
2n
x
n
= b
2
...............
...............
..............
a
n1
x
1
+a
n2
x
2
+......a
nn
x
n
= b
n
qui secrit matriciellement
AX = B
Soit lapplication lineaire representee par la matrice A, si X represente x
et B, b, AX = B correspond `a (x) = b.
6.1 Existence et unicite de la solution
Theor`eme 6.1 (Syst`emes de Cramer) : Une condition necessaire et su-
sante pour quun syst`eme lineaire de n equations `a n inconnues admette une
solution unique pour tout second membre B IR
n
est de mani`ere equivalente
que
det(A) = 0
Ker() = {0}
rg() = dim(Im()) = n
les vecteurs lignes ou les vecteurs colonnes de A sont independants
la seule solution de AX = 0 est X = 0
6.2 Methodes directes
Les methodes directes de resolution des syst`emes lineaires sont des methodes
dans lesquelles la solution est obtenue de facon exacte en un nombre ni
doperations. De facon exacte sentend, sur un ordinateur, aux erreurs dar-
rondis machine pr`es. Le prototype de methode directe est la methode du pi-
vot de Gauss. Cette methode permet de ramener la resolution dun syst`eme
64
general ` a la resolution dun syst`eme triangulaire superieur. La triangula-
risation de Gauss consiste ` a annuler, par etape, colonne par colonne, les
coecients sous-diagonaux de la matrice par combinaison des lignes avec
une ligne de reference ou ligne pivot.
`
A la premi`ere etape, la ligne pivot
est la premi`ere ligne, puis la k
e
` a letape k et ainsi de suite jusqu` a letape
n 1. Le coecient diagonal A
k,k
de la ligne de reference sappelle le pivot.
Lelimination se fait selon
A
(k+1)
i,j
= A
(k)
i,j
A
(k)
i,k
A
(k)
k,k
A
(k)
k,j
pour k = 1...N1, i = k +1...N et j = k +1...N, sans oublier de combiner
de la meme fa con les composantes du second-membre. La rencontre de pivot
nul peut necessiter la permutation de lignes du syst`eme. Cependant pour
certaines classes de matrices, en particulier les matrices symetriques denies
positives, on est assure de pouvoir triangulariser le syst`eme par Gauss sans
permutation. La methode du pivot equivaut alors ` a une factorisation de type
A = LU
de la matrice A. L est une matrice triangulaire inferieure ` a diagonale unite
et U une matrice triangulaire superieure. Une fois obtenu le syst`eme trian-
gulaire superieur equivalent au syst`eme initial, sa resolution se fait ensuite
explicitement par un processus de remontee. On commence par calculer la
derni`ere composante du vecteur inconnu en utilisant la derni`ere equation et
on remonte equation par equation en determinant les composantes corres-
pondantes.
Dans le cas dune matrice A symetrique, on peut utiliser la symetrie pour
obtenir une factorisation de Crout :
A = LDL
T
avec D diagonale.
Dans le cas dune matrice A symetrique denie positive, la methode de Cho-
leski conduit ` a une factorisation :
A = LL
T
On trouve la matrice L, qui cette fois nest plus `a diagonale unite, par un
algorithme didentication de coecients.
65
De
A
ij
=
k=1,i
L
ik
L
jk
pour j i
on deduit pour tout i :
L
ii
=
A
ii
k=1,i1
L
2
ik
et pour tout j < i
L
ij
=
(A
ij
k=1,j1
L
ik
L
jk
)
L
jj
Les methodes directes presentent lavantage de fournir la solution exacte (aux
erreurs darrondis machine pr`es) en un nombre ni doperations (de lordre
de
n
3
3
pour Gauss). La methode du pivot de Gauss sapplique `a tout syst`eme
inversible. Par contre les methodes directes ont un co ut important en sto-
ckage memoire (bien que des techniques de stockage minimal associees ` a des
algorithmes de numerotation optimale des inconnues permettent de le reduire
sensiblement). Ceci rend leur application pratiquement impossible, en letat
actuel de la technologie, pour de gros syst`emes `a plus de 10
5
inconnues, et
donc en particulier pour la resolution de probl`emes industriels en dimension
3 despace.
Nous renvoyons `a la litterature pour plus de precisions sur les methodes
directes (voir Lascaux-Theodor, Ciarlet, Lucquin-Pironneau).
6.3 Methode de Gauss-Seidel ou de relaxation
Soit encore
AX = B
le syst`eme lineaire `a resoudre. La methode de Gauss-Seidel correspond aussi
` a la decomposition de la matrice A sous la forme
A = D E F
avec D matrice diagonale constituee des elements diagonaux a
ii
de A,
66
E, matrice triangulaire inferieure stricte, constituee des elements stric-
tements sous-diagonaux de A : a
ij
pour i > j, et
F, matrice triangulaire superieure stricte, constituee des elements stric-
tements sur-diagonaux de A : a
ij
pour i < j.
Mais on denit cette fois la methode de Gauss-Seidel comme la methode
iterative :
_
_
_
X
(0)
donne
X
(k+1)
= (D E)
1
F X
(k)
+ (D E)
1
B
(III.34)
La matrice diteration de Gauss-Seidel est donc
L = (D E)
1
F
et la condition de convergence sexprime par
(L) < 1
On observe que la methode de Gauss-Seidel correspond ` a lecriture ligne par
ligne suivante :
x
k+1
i
=
b
i
j<i
a
ij
x
k+1
j
j>i
a
ij
x
k
j
a
ii
(III.35)
Elle utilise les informations les plus recentes sur les composantes des iteres.
La methode de Gauss-Seidel converge en general plus vite que la methode de
Jacobi. Par contre, Gauss-Seidel nest pas adaptee ` a la vectorisation.
Les methodes de relaxation sont des extrapolations de la methode de
Gauss-Seidel dependant dun param`etre . Ce param`etre est determine pour
obtenir une convergence plus rapide. Les methodes de relaxation secrivent :
_
_
_
X
(0)
donne
X
(k+1)
= (D E)
1
(F + (1 )D) X
(k)
+ (D E)
1
B
(III.36)
La methode de relaxation secrit ligne par ligne comme une extrapolation de
la composante obtenue par Gauss-Seidel. On a :
X
k+1
i
(relax) = X
k+1
i
(GS) + (1 ) X
k
i
(relax)
La methode de Gauss-Seidel correspond au cas = 1. Dans le cas de matrices
A symetriques denies positives, les methodes de relaxation convergent pour
0 < < 2.
67
6.4 Methodes de descente - Methode du gradient
Les methodes de descente sont des methodes iteratives qui utilisent lequivalence
entre les probl`emes suivants (voir th
`
Eor
Eme ??) :
_
_
_
Trouver X IR
N
tel que
AX = B
(III.37)
et
_
_
Trouver X IR
N
tel que
J(X) =
1
2
(AX, X) (B, X) soit minimal
(III.38)
et qui sont donc limitees au cas des syst`emes lineaires dont la matrice A
est symetrique denie positive. Elles se generalisent, par contre, au cas non-
lineaire de la minimisation de fonctionnelles strictement convexes quelconques
(voir chapitre ??).
Les methodes de descente sont basees sur le calcul de la solution comme
limite dune suite minimisante de la forme quadratique J. Cette suite est
construite comme une suite recurrente :
_
_
_
X
(0)
donne
X
(k+1)
= X
(k)
k
d
(k)
(III.39)
avec d
(k)
IR
N
vecteur donnant la direction de descente ` a letape k et
k
IR
coecient determine de mani`ere `a minimiser J dans la direction d
(k)
.
J(X
(k)
k
d
(k)
) J(X
(k)
d
(k)
) IR
Apr`es developpement, on obtient
k
comme valeur annulant la derivee de J
par rapport ` a , soit :
k
=
(G
(k)
, d
(k)
)
(Ad
(k)
, d
(k)
)
avec
G
(k)
= grad(J(X
(k)
)) = AX
(k)
B
68
On peut montrer que la methode de Gauss-Seidel est la methode de descente
correspondant aux choix des axes de coordonnees comme directions succes-
sives de descente. Dans le cas de la methode du gradient, on choisit
comme direction de descente la direction du vecteur gradient de J au point
X
(k)
. Cette direction est la direction de variation maximale de J. On dit
encore direction de plus profonde descente, do` u le nom :steepest descent
method , employe dans certains ouvrages en anglais.
Literation de la methode du gradient secrit :
_
_
_
X
(0)
donne
X
(k+1)
= X
(k)
k
G
(k)
(III.40)
avec
k
=
G
(k)
2
(AG
(k)
, G
(k)
)
6.4.1 Vitesse de convergence. Conditionnement.
`
A partir de G
(k+1)
= AX
(k+1)
B et de X
(k+1)
= X
(k)
k
G
(k)
, on
obtient la recurrence suivante sur les gradients :
G
(k+1)
= G
(k)
k
AG
(k)
On en deduit G
(k+1)
2
= G
(k)
2
2
k
(AG
(k)
, G
(k)
) +
2
k
AG
(k)
2
avec
k
=
G
(k)
2
(AG
(k)
, G
(k)
)
on obtient :
G
(k+1)
2
= G
(k)
G
(k)
2
AG
(k)
2
(AG
(k)
, G
(k)
)
2
1
2
G
(k)
max
min
1
69
Def. 6.1 : Pour une matrice symetrique reelle le nombre
K(A) =
max
min
rapport des plus grandes et plus petites valeurs propres de A est appele nombre
de conditionnement de la matrice A.
Plus il est proche de 1, plus vite la methode du gradient converge. Les
techniques de preconditionnement ont, entre autres, pour but de rapprocher
les valeurs propres extremes an daccelerer la convergence des methodes
iteratives.
Remarque 6.1 : Le nombre de conditionnement est, en particulier, egal
`a 1 pour la matrice identite. Dailleurs, dans ce cas, lexpression `a minimi-
ser decrirait, en dimension deux, un ensemble de cercles concentriques. Les
gradients ayant la direction dun rayon, on obtiendrait la solution en une
iteration. Cette remarque est `a la base de lidee de la methode du gradient
conjugue.
6.5 Methode du gradient conjugue
Dans le cas dune matrice symetrique denie positive quelconque A, les
iso-J sont des hyper-ellipses. Elles redeviennent des cercles pour le produit
scalaire denie par A :
X, Y (X, Y )
A
= (AX, Y )
Do` u lidee de remplacer les directions de descente dans la methode du gra-
dient, par des directions conjuguees, cest `a dire orthogonales au sens du
produit scalaire (., .)
A
.
70
On obtient alors lalgorithme :
_
_
X
0
IR
N
donne
d
0
= G
0
= AX
0
B
puis pour k = 0, 1...
k
=
G
k
2
(Ad
k
, d
k
)
X
k+1
= X
k
k
d
k
G
k+1
= G
k
k
Ad
k
k+1
=
G
k+1
2
G
k
2
d
k+1
= G
k+1
+
k+1
d
k
(III.41)
Nous renvoyons ` a la litterature pour une etude exhaustive de la methode
du gradient conjugue. Retenons que la propriete de A-orthogonalite entrane
une convergence theorique en N iterations. Ce qui en ferait une methode di-
recte. Cependant, elle serait alors plus ch`ere que Choleski. De plus, les erreurs
darrondis font que les proprietes dorthogonalite ne sont pas veriees exac-
tement. Il faut donc considerer le gradient conjugue comme une methode
iterative. On montre que sa vitesse de convergence depend egalement du
conditionnement de la matrice A. On est conduit ` a preconditionner A pour
obtenir des performances interessantes. Parmi les preconditionnements clas-
siques, on citera le preconditionnement SSOR (O. Axelsson) et par Choleski
incomplet (Meijerink et Van der Vorst).
Dans le cas o` u la matrice du syst`eme nest pas symetrique denie positive,
il est plus dicile dobtenir des methodes iteratives performantes. Mention-
nons la methode GMRES (Saad et Schultz), dont il existe egalement une
version pour la resolution de syst`emes non-lineaires.
6.6 Application des methodes de gradient au cas non-
lineaire
Dans le cas plus general de minimisation dune fonctionnelle J strictement
convexe non necessairement quadratique, le gradient J est non-lineaire.
Cependant les methodes de gradient peuvent sappliquer (on peut meme les
71
appliquer sans garantie de convergence, car dans tous les cas on reduira J,
voir chapitre ??). La determination du pas optimal
k
` a literation k se fait
alors par une methode de recherche de largument
k
qui minimise la fonc-
tion J(X
k
J(X
k
)). On est ramene `a un probl`eme en dimension un pour
lequel diverses techniques existent, en particulier les algorithmes de recherche
de type section doree.
Lextension de la methode du gradient conjugue au cas non-lineaire necessite,
de plus, la denition des directions de descente conjuguees. Lalgorithme le
plus ecace est celui de Polak-Ribi`ere. Les directions de descente successives
sont donnees par
d
k+1
= J(X
k+1
) +
k+1
d
k
avec cette fois
k+1
=
(J(X
k+1
), J(X
k+1
) J(X
k
))
J(X
k
)
2
7 Calcul des valeurs et vecteurs propres
Les methodes ecaces de calcul des elements propres dune matrice,
dont on verra plus loin des applications, en vibrations de structures, par
exemple, utilisent toujours des techniques iteratives. Commen cons par expo-
ser la methode la plus simple, la methode de la puissance.
7.1 La methode de la puissance
La methode de la puissance est basee sur le fait suivant. Si la matrice A
admet une seule valeur propre de plus grand module, literation vectorielle
V
k+1
=
AV
k
AV
k
i=1
i
e
i
et supposons que e
1
soit vecteur propre associe ` a la valeur propre
1
de plus
grand module. Il est alors facile dobtenir :
V
k+1
=
N
i=1
k+1
i
i
e
i
(
N
i=1
(
k+1
i
i
)
2
)
1
2
On en deduit :
lim
k
V
k
=
k+1
1
1
|
k+1
1
1
|
e
1
= e
1
La valeur propre de module maximal sobtenant simplement par
1
= lim
k
(AV
k
, V
k
)
(V
k
, V
k
)
Les limites de cette methode sont les suivantes :
elle ne converge ecacement que dans le cas de valeurs propres simples
de plus grand module. La vitesse de convergence depend de la vitesse
` a laquelle les rapports (
1
)
k
tendent vers zero quand k augmente. La
convergence sera donc dautant plus rapide que lecart entre la plus
grande valeur propre et les suivantes est grand. Dans le cas de valeurs
propres multiples, la convergence est ralentie. Dans le cas de valeurs
propres distinctes, mais de module egal (valeurs propres opposees ou
complexes conjuguees) lalgorithme se complique, on ne peut obtenir
directement les valeurs propres et les vecteurs propres associes ;
elle ne fournit quune valeur propre. Les techniques de deation, pour
en deduire les suivantes, sont peu ecaces et trop sensibles aux erreurs
darrondis.
Voici ses avantages :
elle est facile ` a implementer ;
elle permet de calculer ecacement les vecteurs propres et dameliorer
sensiblement la precision des valeurs propres, si lon a obtenu, par une
autre methode, des approximation des valeurs propres ;
enn, il est facile de ladapter ` a la recherche dune autre valeur propre
que la plus grande, comme on va le voir plus loin.
73
Remarque 7.1 : On pourrait penser que le cas
1
= 0, toujours possible
theoriquement si lon choisit, par hasard, un vecteur initial V
0
orthogonal
au vecteur propre e
1
recherche, pose des probl`emes. En realite, voici une
situation o` u paradoxalement, les erreurs darrondis sont beneques. Dans la
pratique la composante
1
sera toujours non-nulle. Et meme si elle est faible,
literation nira par converger vers le vecteur propre e
1
associe `a la valeur
propre de plus grand module.
7.1.1 Methode de la puissance inverse
Il est clair que si lon peut obtenir la plus grande valeur propre, on peut
obtenir la plus petite (et le vecteur propre associe) ` a partir dune iteration
utilisant la matrice inverse. On sait, en eet, que les valeurs propres de A
1
sont les inverses des valeurs propres de A. Ceci conduit ` a literation
_
_
V
0
donne,
puis pour k = 0, 1, ...
A
V
(k+1)
= V
(k)
k+1
= |
V
(k+1)
|
V
(k+1)
=
V
(k+1)
k+1
(III.42)
Les V
(k)
convergent vers le vecteur propre recherche, la plus petite valeur
propre en module de A sobtient comme lim
k
1
k
. La matrice A est en general
factorisee une fois pour toutes, la resolution du syst`eme se reduit ` a celle de
deux syst`emes triangulaires.
Remarque 7.2 : Dans les applications aux vibrations, la plus petite va-
leur propre correspond au mode fondamental. Cest donc souvent celle que
lon recherche. Il arrive egalement que lon soit interesse par les modes de
frequences proches dune frequence donnee. Cest en particulier le cas lorsque
lon cherche `a eviter des phenom`enes de resonance. Dans ce cas la valeur
propre recherchee est la plus proche dune valeur donnee. Il est facile duti-
liser alors la methode de la puissance inverse sur la matrice decalee AI,
dont la plus petite valeur propre, en module, donnera bien la valeur propre
de A la plus proche de .
74
7.2 Methodes des sous-espaces
An de calculer simultanement plusieurs valeurs propres et leurs vecteurs
propres associes, on it`ere sur plusieurs vecteurs au lieu dun seul. Bien s ur,
il faut empecher tous les vecteurs de converger vers le meme vecteur propre
(celui associe ` a la plus grande valeur propre). Pour cela, la methode des sous-
espaces consiste ` a initialiser literation par un ensemble de m vecteurs ortho-
normes de IR
N
, puis `a reorthonormaliser reguli`erement les vecteurs iteres. La
reorthonormalisation est une operation co uteuse en temps de calcul. On evite
de la faire `a chaque iteration. Elle utilise une factorisation QR (Q matrice or-
thogonale, cest `a dire telle que Q
T
Q = I, et R matrice triangulaire superieure
de taille m m) de type Gram-Schmidt que lon peut implementer par la
technique de Householder (voir Lascaux-Theodor). En pratique, si lon veut
obtenir p valeurs propres et vecteurs propres avec une precision acceptable,
il faut iterer sur un ensemble de m > 2p vecteurs.
7.3 Methode QR
Pour obtenir lensemble des valeurs propres et des vecteurs propres dune
matrice, la principale methode utilisee est la methode QR. Cest une iteration
de type sous-espace, avec comme sous-espace, lespace IR
N
tout entier. Lal-
gorithme QR secrit :
_
_
A
0
= A ! initialisation
puis pour k = 0, 1...
Q
k
R
k
= A
k
! factorisation QR
A
k+1
= R
k
Q
k
! iteration par calcul du produit
(III.43)
Il est facile de verier qu` a chaque iteration A
k+1
= Q
T
k
A
k
Q
k
, donc que les
matrices A
k
obtenues sont semblables `a A pour tout k.
La methode QR est un des algorithmes les plus co uteux de lanalyse
numerique matricielle. En pratique, on nit`ere pas sur la matrice initiale,
mais sur une matrice semblable H de forme Hessenberg (ses coecients H
i,j
sont nuls pour i > j + 1) ou tridiagonale dans le cas symetrique. Ce qui
reduit sensiblement le nombre doperations. De nombreux travaux ont ete
menes pour demontrer et aussi pour accelerer la convergence de la methode
QR. On peut citer en particulier les methodes avec shift dues ` a Wilkinson.
Le cas de matrices A symetriques reelles se rencontre dans de nombreux
probl`emes interessants en pratique comme en vibrations de structures par
75
exemple. On a montre la convergence de la suite de matrices tridiagonales
symetriques vers une matrice diagonale dont les coecients sont donc les
valeurs propres recherchees (Wilkinson, Parlett, Saad).
7.4 Methode de Lanczos
Si lon ne recherche quune partie des valeurs propres et des vecteurs
propres on utilisera la methode de Lanczos. Cette methode permet de reduire
la dimension du probl`eme avant de poursuivre par une methode generale, QR
par exemple. La methode de Lanczos est une methode de calcul de valeurs
propres de type sous-espace appliquee au cas de matrices symetriques reelles.
Elle permet de construire iterativement, colonne par colonne, une matrice
tridiagonale de taille reduite (matrice de Rayleigh) dont les elements propres
sont des approximations dun sous-ensemble delements propres de la matrice
A. On obtient les valeurs propres de plus grand module par iteration directe,
et comme pour la methode de la puissance, celles de plus petit module par
iteration inverse. Elle sinterpr`ete en fait comme une methode de projection.
On projette le probl`eme AV = V dans un sous-espace de dimension m <<
N, selon (AV V, q
i
) = 0 pour i = 1...m. Voici lalgorithme de Lanczos
pour la recherche des m plus grandes valeurs propres et des vecteurs propres
associes dune matrice A symetrique reelle N N :
_
_
Soit q
0
= 0 et q
1
IR
N
tel que q
1
2
= 1
On calcule successivement pour k = 1, 2...m1
w
k
= Aq
k
k1
q
k1
! iteration directe
k
= (w
k
, q
k
) ! produit scalaire
v
k
= w
k
k
q
k
! orthogonalisation
k
= v
k
2
! Calcul de la norme euclidienne
q
k+1
= v
k
/
k
! normalisation
(III.44)
On obtient ainsi m vecteurs orthonormes q
i
et une matrice T tridiagonale
symetrique m m (matrice de Rayleigh) constituee delements diagonaux
T
i,i
=
i
et extradiagonaux T
i,i+1
= T
i+1,i
=
i
. Les valeurs propres et
vecteurs propres de T se calculent par la methode QR. On obtient ainsi les m
plus grandes valeurs propres de A et les composantes des vecteurs propres de
A dans la base des q
i
. Cet algorithme est assez delicat. Les erreurs darrondis
produisent, comme pour le gradient conjugue, des defauts dorthogonalite.
Il est necessaire de reorthogonaliser de temps en temps les q
i
(voir Lascaux-
Theodor et Parlett pour plus de details).
76