5.4 R´esolution it´erative du syst`eme d’´equations
5.4.3 R´esolution du syst`eme par it´erations
5.4.3.1 D´efinition de la suite
Le syst`eme d´efini par l’´equation (5.9) de la proposition (5.4.1) peut ˆetre r´esolu par
it´erations successives :
(
x
0:conditions initiales
x
i=G·x
i−1+h (5.11)
A chaque it´eration, une nouvelle valeur de la solutionx du syst`eme initial est calcul´ee.
Les conditions initiales peuvent ˆetre obtenues en suivant la m´ethodologie d´efinie dans la
section 5.3.2.
5.4.3.2 Convergence de la suite
Th´eor`eme 5.4.2 La suite (5.11) converge si le rayon spectral de la matriceG, not´eρ(G),
est strictement inf´erieur `a 1.
Th´eor`eme 5.4.3 Si la suite (5.11) converge, alors elle converge vers la solutionxcherch´ee.
Propri´et´e 5.4.4 La vitesse de convergence de la suite (5.11) est d’autant plus ´elev´ee que
le rayon spectral de la matriceG est faible.
D´emonstration
Soit la suite d´efinie par l’´equation (5.11). Cette suite est convergente si :
lim
i→+∞
x
i=x
On notee
il’´ecart entre l’estimation x
ide la solution `a l’it´erationiet la solution exacte
x:
e
i=x
i−x
Consid´erons le syst`eme `a r´esoudre donn´e par l’´equation (5.9) et la formule de r´ecurrence
(5.11) utilis´ee. On a :
(
x=G·x+h
x
i=G·x
i−1+h
En soustrayant les deux ´equations, on obtient :
x
i−x=G·x
i−1−G·x
⇐⇒ x
i−x=G·(x
i−1−x)
⇐⇒ e
i=G·e
i−1Par d´efinition de l’erreur e
i, on a :
e
i=G
i·e
0La suite est convergente si l’´ecart entre l’estimationx
ide la solution et sa valeur exacte
xtend `a ˆetre nul pour un nombre important d’it´erations :
lim
i→+∞
e
i= 0
Il est d´emontr´e dans [141] que, pour toute matriceM carr´ee, et pour tout vecteurv, on
a :
lim
k→+∞M
k·v= 0 ⇐⇒ ρ(M)<1
On en d´eduit alors :
ρ(G)<1 ⇐⇒ lim
i→+∞e
i= 0 ⇐⇒ lim
i→+∞x
i=x
Ainsi, la suite (5.11) utilis´ee pour r´esoudre le syst`eme A·x = b converge si le rayon
spectral de la matriceG, c’est-`a-dire sa valeur propre maximale, est inf´erieur `a 1. De plus,
si la suite converge, elle converge alors vers la solutionx cherch´ee.
5.4.3.3 Lien entre le conditionnement du syst`eme initial et la convergence de
la suite
Proposition 5.4.5 La convergence de la suite (5.11) ne d´epend que de la matrice A du
syst`eme initial.
D´emonstration
La suite converge si : ρ(G)<1.
De plus, on a : G=α
−1·V ·I
n×m·D·V
Tavec :
• α=σ
max(Σ)
• Σ +D=α·I
m×nLes matrices Σ et V ´etant issues de la d´ecomposition de la matrice A en valeurs
sin-guli`eres, seule celle-ci influence la convergence de la suite.
Th´eor`eme 5.4.6 Si la matrice A du syst`eme `a r´esoudre est mal conditionn´ee, alors la
suite (5.11) utilis´ee pour le r´esoudre converge mal.
D´emonstration
D´etant une matrice diagonale, par d´efinition, le rayon spectral de la matriceGd´epend
du rapport entre les valeurs contenues sur la diagonale de la matriceD et le nombreα :
ρ(G) = σ
max(D)
α
On rappelle la d´ecomposition en valeurs singuli`eres de la matriceAdonn´ee par l’´equation
(5.7) :
A=U·Σ·V
TOn sait que les valeurs singuli`eres deAsont les mˆemes que celles de Σ, et en particulier :
σ
min(A) =σ
min(Σ) et σ
max(A) =σ
max(Σ)
La matrice A est suppos´ee mal conditionn´ee, c’est-`a-dire : κ(A) =
σmax(A)σmin(A)
≫1
En particulier, on a :
κ(A) −→
σmin(A)→0+∞ ⇐⇒ κ(A) −→
σmin(Σ)→0+∞
D’apr`es l’´equation (5.10), on a :
Σ +D=α·I
m×nLe conditionnement de la matrice diagonale α·I
m×nest ´egal `a 1, car :
σ
min(α·I
m×n) =σ
max(α·I
m×n) =α
Les matrices Σ etD´etant diagonales, on a ainsi, d’apr`es l’´equation (5.10) :
(
σ
max(Σ) +σ
min(D) =α
σ
min(Σ) +σ
max(D) =α
Commeσ
max(Σ) =α, on en d´eduit :
(
σ
min(D) = 0
σ
max(D) =α−σ
min(Σ)
En particulier, on a :
σ
max(D) −→
σmin(Σ)→0α ⇐⇒ σ
maxα(D) −→
σmin(Σ)→01 ⇐⇒ ρ(G) −→
σmin(Σ)→01
On met ainsi en avant les deux r´esultats suivants :
ρ(G) −→
σmin(Σ)→01
κ(A) −→
σmin(Σ)→0+∞
Par cons´equent, des valeurs tr`es faibles de σ
min(Σ) impliquent `a la fois un mauvais
conditionnement du syst`eme, ainsi qu’une non-convergence de la m´ethode it´erative.
5.4.4 R´esultats obtenus
Nous choisissons d’impl´ementer cette m´ethode de r´esolution `a l’aide de Matlab, et
d’uti-liser ainsi les outils de d´ecomposition de matrices en valeurs singuli`eres qui lui sont propres.
Les ex´ecutions repr´esent´ees par la figure 5.2 sont une nouvelle fois utilis´ees pour ´evaluer
l’exactitude des solutions obtenues. Deux cas de figures sont trait´es :
• Cas n˚1 : le syst`eme initial A·x = b r´esolu comporte 46 ´equations ; les r´esultats
obtenus sont ensuite utilis´es pour estimer le temps d’ex´ecution de l’application pour
156 jeux d’entr´ees diff´erents. Les temps d’ex´ecution consid´er´es varient entre 2 et
1500 secondes.
• Cas n˚2 : l’ensemble des exp´eriences utilis´ees est restreint `a celles dont le temps
d’ex´ecution est sup´erieur `a 400 secondes.
Au cours des it´erations, la solution calcul´ee doit converger, si cela est possible, vers la
solution cherch´ee. Connaissant le temps d’ex´ecution r´eel des applications mesur´e par l’outil
de profilinggprof, il est possible de calculer l’erreur relative entre ce temps mesur´e et celui
estim´e `a l’aide de la solution du syst`eme d´etermin´ee. Cette erreur relative constitue le
crit`ere sur lequel nous basons l’´evaluation de l’exactitude des solutions obtenues `a chaque
it´eration.
La figure 5.8 montre l’´evolution de ce crit`ere au cours des it´erations, dans les deux cas
de figures consid´er´es. Des donn´ees num´eriques sont disponibles dans le tableau 5.2. Ces
donn´ees confirment ce qui a ´et´e d´emontr´e pr´ec´edemment. Dans les deux cas, le syst`eme est
mal conditionn´e. Cependant, dans le cas n˚1, la m´ethode parvient `a trouver une solution
g´en´erant une erreur globale sur l’ensemble des jeux d’entr´ees consid´er´es inf´erieure `a 25%,
contrairement au second cas, ou celle-ci est sup´erieure `a 70%. De plus, il est possible
de constater que la m´ethode converge plus rapidement vers une solution dans le premier
cas que dans le second. Ceci s’explique par le conditionnement des matrices des syst`emes
r´esolus, tr`es sup´erieur dans le cas n˚2. Les propri´et´es de convergence de la suite vis-`a-vis
du conditionnement de la matrice du syst`eme sont ainsi v´erifi´ees.
Erreur relative
glo-bale `a l’ensemble des
ex´ecutions consid´er´ees
Nombre d’it´erations
n´ecessaires `a la
conver-gence de la m´ethode
Conditionnement de
la matrice du syst`eme
r´esolu
Cas n˚1 23,6% 9000 3,45×10
27Cas n˚2 71,8% 18000 3,73×10
40Tab.5.2 – Donn´ees num´eriques relev´ees au cours de l’´evaluation de la m´ethode it´erative
non-am´elior´ee
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x 104 0 500 1000 1500 2000 2500 Itérations Critère minimisé :
Erreur relative entre le temps d’exécution réel et estimé
(a) Cas n˚1 : estimation sur la totalit´e des exp´eriences 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x 104 0 5 10 15x 10 4 Itérations Critère minimisé :
Erreur relative entre le temps d’exécution réel et estimé
(b) Cas n˚2 : restriction des exp´eriences utilis´ees
Fig.5.8 – Evolution de l’erreur relative entre le temps d’ex´ecution r´eel et celui estim´e par
la m´ethode it´erative non-am´elior´ee
Enfin, la figure 5.9 pr´esente `a la fois les temps d’ex´ecution mesur´es et ceux estim´es
par la m´ethode it´erative d´ecrite pr´ec´edemment. Dans le cas n˚1, les temps d’ex´ecution
estim´es sont proches des temps mesur´es. Une diff´erence globale de 23,6% les s´epare (cf.
tableau 5.2). En majorit´e, les erreurs commises par la m´ethode it´erative concernent les
ex´ecutions dont les temps d’ex´ecution sont faibles. En revanche, le cas n˚2, pour lequel le
conditionnement de la matrice du syst`eme est tr`es ´elev´e, donne des r´esultats totalement
inacceptables. En effet, en plus d’ˆetre ´eloign´es de la r´ealit´e, les temps d’ex´ecution estim´es
sont parfois n´egatifs.
0 20 40 60 80 100 120 140 160 −200 0 200 400 600 800 1000 1200 1400 1600
Exécutions du programme pour différents jeux d’entrées
Temps d’exécution du programme (en s)
Temps d’exécution réel du programme Temps d’exécution déterminé par la méthode itérative non−améliorée
(a) Cas n˚1 : estimation sur la totalit´e des exp´eriences 0 5 10 15 20 25 30 35 −1000 −500 0 500 1000 1500 2000 2500
Exécutions du programme pour différents jeux d’entrées
Temps d’exécution (en s)
Temps d’exécution réel du programme Temps d’exécution déterminé par la méthode itérative non−améliorée
(b) Cas n˚2 : restriction des exp´eriences utilis´ees