• Aucun résultat trouvé

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

i

l’´ecart entre l’estimation x

i

de 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

i1

Par d´efinition de l’erreur e

i

, on a :

e

i

=G

i

·e

0

La suite est convergente si l’´ecart entre l’estimationx

i

de 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

T

avec :

• α=σ

max

(Σ)

• Σ +D=α·I

m×n

Les 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

T

On 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×n

Le conditionnement de la matrice diagonale α·I

m×n

est ´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(Σ)→0

1 ⇐⇒ ρ(G) −→

σmin(Σ)→0

1

On met ainsi en avant les deux r´esultats suivants :

ρ(G) −→

σmin(Σ)→0

1

κ(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

27

Cas n˚2 71,8% 18000 3,73×10

40

Tab.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

Fig.5.9 – Comparaison entre le temps d’ex´ecution estim´e par la r´esolution it´erative

non-am´elior´ee et le temps d’ex´ecution r´eel du programme

L’´etude r´ealis´ee confirme les conclusions ´emises, `a savoir que la m´ethode, telle qu’elle a

´et´e d´ecrite, peut ne pas converger. La propri´et´e de convergence d´epend bien du

condition-nement du syst`eme `a r´esoudre. Il est donc indispensable de mettre au point une m´ethode

permettant `a la suite d´efinie de converger correctement vers la bonne solution. La section

suivante montre comment cela peut ˆetre r´ealis´e.

5.5 Am´elioration de la convergence de la r´esolution it´erative