Sunteți pe pagina 1din 313

FitVisible

Aceasta este versiunea electronica a cart ii Metode Numerice publicata de


Editura Tehnic a. Cartea a fost culeasa folosind sistemul L
A
T
E
X a lui Leslie
Lamport, o extindere a programului T
E
X scris de Donald Knuth. Versiunea
electronica foloseste formatul Portable Document Format (PDF) elaborat de
Adobe Systems. Traducerea formatului L
A
T
E
X n PDF a fost realizata cu pro-
gramul pdflatex elaborat de Han The Thanh. Hiperlegaturile din versiunea
electronica au fost generate automat folosind pachetul hyperref al lui Sebastian
Rahtz.
COPYRIGHT c 1998, Corneliu Berbente, Sorin Mitran, Silviu
Zancu
Toate drepturile asupra edit iei electronice sunt rezervate autorilor. Nu este
permisa tiparirea cont inutului acestei edit ii fara consimt amantul scris al auto-
rilor.
COPYRIGHT c 1997, Editura Tehnica
Toate drepturile asupra edit iei tiparite sunt rezervate editurii.
Adresa: EDITURA TEHNIC

A
Piat a Presei Libere, 1
33 Bucuresti, Romania
cod 71341
Redactor: ing. Vasile Buzatu
Tehnoredactor: Diana Jilavu
Coperta: Sorin Mitran
Bun de tipar: 15.11.1997; Coli tipo: 17,75
CZU: 519.6
ISBN 973-31-1135-X
PREFAT

A
Extraordinara dezvoltare a tehnicii de calcul din ultima perioada permite si-
mularea unui tot mai mare numar de probleme zice, ingineresti sau economice.

In paralel, a avut loc o dezvoltare a programelor disponibile zicianului, ingine-


rului sau economistului, oferindu-le o bogata gama de algoritmi pentru rezolvarea
unor aplicat ii concrete. Utilizarea acestei bogat ii de tehnici si informat ii necesita
nsa, o baza teoretica solida pentru a efectiv folosite.
Reprezentarea printr-un numar nit de cifre semnicative a numerelor n
calculator introduce dicultat i extrem de mari n asigurarea condit iilor pentru
aplicarea unora din not iunile fundamentale ale matematicilor moderne, legate
de procesul de trecere la limit a, amendand astfel utilizarea ecienta a unor te-
oreme de baza din analiza.

In schimb, se introduc erorile de rotunjire a caror
propagare, n interact ie cu alte tipuri de erori (inerente sau de metoda) este
greu de urmarit. Prinre consecint e, se poate ntampla ca varainate echivalente
teoretic (spre exemplu pe baza unor teoreme privind unicitatea solut iei) sa duca,
numeric, la rezultate foarte diferite. Ca urmare, este explicabila tendint a de a se
descoperi noi si noi formule de calcul numeric, chiar daca n esent a (matematic)
acestea difera foarte put in.
Aceasta carte prezinta o viziune detaliata asupra teoriei si practicii metodelor
numerice, rod al unei activitat i de aproape 20 de ani n acest domeniu. Algorit-
mii cei mai utilizat i sunt prezentat i integral. O serie de algoritmi avansat i, de
larga aplicabilitate sunt de asemenea inclusi. Autorii au ncercat o prezentare
intuitiva a teoriei ce sta la baza metodelor numerice considerate, urmarindu-se
mai mult usurint a nt elegerii materialului. Locul demonstrat iilor riguroase de
altfel dicile si nu ntotdeauna eciente didactic e luat, ntr-o serie de cazuri,
de observat ii critice si de bun simt . O observat ie de bun simt este si aceea
de a face apel la mai multa teorie atunci cand modalitat ile cunoscute au fost
epuizate. Ca atare, se vor regasi n carte si o serie de cunostint e mai avansate
necesare dezvoltarii unor metode numerice performante.
Sunt incluse capitole privind: aproximarea funct iilor, derivarea si integrarea
numerica, problemele algebrei liniare, ecuat ii si sisteme de ecuat ii neliniare, op-
timizare, ecuat ii diferent iale.

In prezentarea algoritmilor s-a optat pentru folo-
sirea unui meta-limbaj, asemanator celui din programul Matlab. Cititorul poate
transcrie un algoritm n limbajul de programare preferat cu usurint a. Pentru a
prentimpina cererile unor utilizatori ce doresc programe sursa sau direct execu-
tabile, cartea este suplimentata de un bogat material oferit pe Internet la adresa
http://www.propulsion.pub.ro. La acest sit se pot regasi implementari n
Pascal, FORTRAN si C++ ale celor mai utilizat i algoritmi, exemple extinse,
legaturi la alte situri de pe Internet de interes pentru analiza numerica. Cei cu
acces la Internet pot benecia de programele de instruire asistata de calculator
ce sunt disponibile la acest sit, unde este disponibila o versiune electronica a
acestei cart i, o serie de lucrari de laborator si numeroase aplicat ii mici ce pot
rulate direct din browser-ul preferat.
Pe tot parcursul prezentarii, elementele teoretice sunt completate cu nume-
roase exemple detaliat rezolvate. Acestea provin din cele mai variate domenii:
ingineria mecanica, ingineria electrica, zica si chimie. S-a ncercat formularea
unor exemple init iale simple, ce sa se concentreze pe aspectele strict numerice,
iar apoi, a unor exemple apropriate problemelor reale. Se spera ca aceasta mo-
dalitate de prezentare sa e utila atat studentului cat si practicianului metodelor
numerice.
1997 Autorii
CUPRINS V
Cuprins
1 Aproximarea funct iilor de o variabila 1
1.1 Aproximarea prin interpolare . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Interpolarea polinomiala globala . . . . . . . . . . . . . . 3
1.1.2 Interpolare cu funct ii spline . . . . . . . . . . . . . . . . . 10
1.1.3 Interpolare cu funct ii trigonometrice . . . . . . . . . . . . 16
1.1.4 Interpolare n planul complex . . . . . . . . . . . . . . . . 23
1.2 Aproximarea mini-max . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.1 Polinoamele Cebasev . . . . . . . . . . . . . . . . . . . . . 30
1.2.2 Minimizarea erorii la interpolarea polinomiala . . . . . . . 32
1.2.3 Aproximarea aproape mini-max a unei funct ii . . . . . . . 34
1.3 Aproximarea n sensul celor mai mici patrate . . . . . . . . . . . 36
1.4 Elemente de teoria aproximarii . . . . . . . . . . . . . . . . . . . 40
1.4.1 Spat ii vectoriale . . . . . . . . . . . . . . . . . . . . . . . 41
1.4.2 Produsul scalar si ortogonalitate . . . . . . . . . . . . . . 42
1.4.3 Norme, operatori si funct ionale . . . . . . . . . . . . . . . 47
1.4.4 Problema generala a celei mai bune aproximari . . . . . . 49
2 Derivarea si integrarea numerica 53
2.1 Derivarea numerica . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.1.1 Derivate folosind polinoame de interpolare . . . . . . . . . 54
2.1.2 Formularea operatoriala . . . . . . . . . . . . . . . . . . . 57
2.1.3 Polinoame de interpolare n funct ie si derivata . . . . . . 59
2.1.4 Derivate folosind funct ii spline . . . . . . . . . . . . . . . 61
2.1.5 Derivate folosind diverse aproximat ii . . . . . . . . . . . . 61
2.2 Integrarea numerica . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.2.1 Formule Newton-Cotes nchise . . . . . . . . . . . . . . . 63
2.2.2 Formule de integrare deschise . . . . . . . . . . . . . . . . 68
2.2.3 Tehnici de atingere a unei precizii impuse . . . . . . . . . 76
3 Rezolvarea ecuat iilor neliniare 85
3.1 Metoda njumatat irii intervalelor . . . . . . . . . . . . . . . . . . 86
3.2 Procedee iterative . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.1 Iterat ia simpla . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.2 Metoda Newton-Raphson . . . . . . . . . . . . . . . . . . 89
VI CUPRINS
3.2.3 Metoda secantei . . . . . . . . . . . . . . . . . . . . . . . 91
3.2.4 Metoda parabolelor tangente . . . . . . . . . . . . . . . . 93
3.3 Determinarea radacinilor polinoamelor . . . . . . . . . . . . . . . 96
3.3.1 Metoda Lobacevschi-Graee . . . . . . . . . . . . . . . . . 96
3.3.2 Metode de factorizare a polinoamelor . . . . . . . . . . . 101
4 Erorile de calcul numeric 109
4.1 Surse de erori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.2 Propagarea erorilor n calcule . . . . . . . . . . . . . . . . . . . . 111
5 Rezolvarea sistemelor liniare 115
5.1 Metode directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.1.1 Metoda eliminarii a lui Gauss . . . . . . . . . . . . . . . 116
5.1.2 Metoda Gauss-Jordan . . . . . . . . . . . . . . . . . . . . 121
5.1.3 Propagarea erorilor la metodele de eliminare. Ranarea
solut iei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.1.4 Interpretarea matriceala a metodelor de eliminare . . . . 124
5.1.5 Calculul matricei inverse . . . . . . . . . . . . . . . . . . 125
5.1.6 Relat ia Sherman-Morisson . . . . . . . . . . . . . . . . . . 128
5.1.7 Ranarea matricei inverse . . . . . . . . . . . . . . . . . 129
5.1.8 Efectele erorilor din datele init iale . . . . . . . . . . . . . 131
5.1.9 Factorizarea L U . . . . . . . . . . . . . . . . . . . . . . 132
5.1.10 Descompunerea SV D . . . . . . . . . . . . . . . . . . . . 134
5.1.11 Sisteme cu matrice rare . . . . . . . . . . . . . . . . . . . 135
5.2 Metode iterative . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.2.1 Metoda iterativa Jacobi . . . . . . . . . . . . . . . . . . . 138
5.2.2 Metoda iterativa Gauss-Seidel . . . . . . . . . . . . . . . . 140
5.2.3 Accelerarea convergent ei metodelor iterative . . . . . . . . 143
5.3 Comparat ii ntre metode . . . . . . . . . . . . . . . . . . . . . . . 145
5.4 Elemente de calcul matriceal . . . . . . . . . . . . . . . . . . . . 146
6 Vectori si valori proprii 151
6.1 Elemente introductive . . . . . . . . . . . . . . . . . . . . . . . . 151
6.2 Metode pentru cateva valori proprii . . . . . . . . . . . . . . . . . 152
6.2.1 Metoda puterii directe . . . . . . . . . . . . . . . . . . . . 152
6.2.2 Metoda puterii inverse . . . . . . . . . . . . . . . . . . . . 155
6.2.3 Metoda deplasarii . . . . . . . . . . . . . . . . . . . . . . 156
6.3 Determinarea tuturor valorilor si vectorilor proprii . . . . . . . . 156
6.4 Metoda Danilevschi . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.5 Metodele QR si LR . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.5.1 Rezultate teoretice preliminarii . . . . . . . . . . . . . . . 163
6.5.2 Algoritmi auxiliari . . . . . . . . . . . . . . . . . . . . . . 169
6.5.3 Formularea metodelor QR si LR . . . . . . . . . . . . . . 171
6.5.4 Reducerea numarului de operat ii la factorizare . . . . . . 172
6.5.5 Accelerarea metodelor QR si LR . . . . . . . . . . . . . . 175
6.5.6 Calculul vectorilor proprii . . . . . . . . . . . . . . . . . . 176
CUPRINS VII
7 Metode de optimizare 181
7.1 Minimizarea n lungul unei direct ii . . . . . . . . . . . . . . . . . 183
7.2 Metode de minimizare fara calculul derivatelor . . . . . . . . . . 187
7.3 Metoda gradientului . . . . . . . . . . . . . . . . . . . . . . . . . 190
7.4 Metoda Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
7.5 Metode cvasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . 196
7.6 Metode de gradient conjugat . . . . . . . . . . . . . . . . . . . . 198
7.6.1 Rezolvarea sistemelor de ecuat ii liniare folosind metode
de optimizare . . . . . . . . . . . . . . . . . . . . . . . . 200
7.7 Metode specice de optimizare . . . . . . . . . . . . . . . . . . . 204
7.8 Probleme de optimizare cu restrict ii . . . . . . . . . . . . . . . . 205
8 Rezolvarea sistemelor neliniare 213
8.1 Iterat ia simpla . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
8.2 Metoda iterativa Newton . . . . . . . . . . . . . . . . . . . . . . 216
8.3 Metode cvasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . 219
8.4 Metoda gradientului . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.5 Metoda hibrida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9 Rezolvarea ecuat iilor diferent iale 229
9.1 Considerat ii generale . . . . . . . . . . . . . . . . . . . . . . . . 229
9.2 Metode cu pasi separat i . . . . . . . . . . . . . . . . . . . . . . . 230
9.2.1 Formule Euler . . . . . . . . . . . . . . . . . . . . . . . . 230
9.2.2 Formule Runge-Kutta . . . . . . . . . . . . . . . . . . . . 233
9.2.3 Formule Runge-Kutta-Gill . . . . . . . . . . . . . . . . . . 234
9.2.4 Alegerea pasului la rezolvarea ecuat iei diferent iale . . . . 235
9.3 Extrapolare Richardson. Metoda Bulirsch-Stoer . . . . . . . . . . 238
9.4 Metode cu pasi legat i . . . . . . . . . . . . . . . . . . . . . . . . . 239
9.4.1 Formule explicite . . . . . . . . . . . . . . . . . . . . . . . 239
9.4.2 Formule implicite . . . . . . . . . . . . . . . . . . . . . . . 241
9.5 Propagarea erorilor. Stabilitate. . . . . . . . . . . . . . . . . . . . 243
9.6 Sisteme de ecuat ii diferent iale. Ecuat ii de ordin superior . . . . . 247
9.6.1 Probleme cu valori init iale . . . . . . . . . . . . . . . . . . 248
9.6.2 Probleme cu valori la limite . . . . . . . . . . . . . . . . . 249
9.6.3 Ecuat ii diferent iale de ordin superior . . . . . . . . . . . 254
9.7 Sisteme cu scari disparate . . . . . . . . . . . . . . . . . . . . . . 255
10 Ecuat ii diferent iale cu derivate part iale 263
10.1 Ecuat ii cu derivate part iale de ordinul I . . . . . . . . . . . . . . 264
10.2 Ecuat ii cu derivate part iale de ordinul II . . . . . . . . . . . . . . 270
10.2.1 Ecuat ii cu derivate part iale de tip parabolic . . . . . . . . 273
10.2.2 Ecuat ii cu derivate part iale de tip eliptic . . . . . . . . . . 287
10.2.3 Ecuat ii cu derivate part iale de tip hiperbolic . . . . . . . 295
10.2.4 Metoda caracteristicilor . . . . . . . . . . . . . . . . . . . 297
10.2.5 Scheme cu diferent e nite . . . . . . . . . . . . . . . . . . 300
1
Capitolul 1
Aproximarea funct iilor de o
variabila
Problema aproximarii unei funct ii de o variabila se poate pune n situat ii
diverse, urmatoarele doua ind mai frecvente:
1. funct ia este cunoscuta, dar are o forma complicata, dicil de manipulat n
calcule (spre exemplu pentru operat ii de derivare, integrare, etc.);
2. funct ia nu este complet cunoscuta, ind date numai valorile ei pe o mult ime
discreta si nita de puncte.

In primul caz, aproximarea se poate face, n principiu, oricat de exact, res-


trict iile ind legate de condit ia ca funct ia care aproximeaza sa e cat mai simpla.

In al doilea caz informat iile sunt reduse si se completeaza cu presupuneri supli-


mentare, privind gradul de regularitate al funct iei (continuitatea funct iei si a
derivatelor sale, etc.).

In ambele cazuri, este importanta alegerea unui criteriu
de aproximare.
Fie [a, b] R un interval pe dreapta reala si x
i
, i 1, 2, . . . , N, N N,
o ret ea de puncte de diviziune ale acestui interval, x
i
[a, b], x
1
= a, x
N
= b.
Punctele de diviziune se numesc noduri. Presupunem date valorile n noduri ale
2 1. Aproximarea functiilor de o variabil a
unei funct ii reale f
y
i
= f(x
i
), i 1, N . (1.1)
Notam cu g(x) funct ia cu care vrem sa aproximam pe f(x) pe intervalul dat.
Iata cateva criterii de aproximare:
a) Interpolare.

In acest caz, funct ia mai simpla g(x) este determinata din
condit ia ca s a ia aceleasi valori n noduri
g(x
i
) = y
i
, i 1, N . (1.2)
Criteriul de aproximare prin interpolare presupune tacit ca nodurile (x
i
, y
i
)
sunt cunoscute exact. Daca din diverse motive cel mai adesea datorita
unui procedeu de masurare nodurile sunt afectate de erori atunci criteriul
de interpolare este inadecvat.
b) Minimizarea abaterii maxime. Se impune condit ia ca abaterea maxima sa
e minima pe intervalul ales, adica
max
x[a,b]
[f(x) g(x)[ = minim. (1.3)
Relat ia (1.3) are analogul discret
max
i1,N
[y
i
g(x
i
)[ = minim. (1.4)
Aproximarea facuta pe baza criteriului de mai sus se numeste aproximare
mini-max.
c) Minimizarea sumei patratelor abaterilor n noduri.

In acest caz se impune
ca
S =
n

i=1
(y
i
g(x
i
))
2
= minim . (1.5)
Se observa c a, n cazul interpolarii, aceasta suma este chiar nula, adica are
cea mai mica valoare posibila. Totusi, aceasta observat ie nu face superuu
criteriul (1.5) care este mai general si permite tratarea datelor cunoscute
incert, asa cum se va vedea mai departe. Metoda care foloseste acest
criteriu este ntalnita sub numele de metoda celor mai mici patrate.
1.1 Aproximarea prin interpolare
Presupunand ca nodurile x
i
sunt distincte, condit ia de interpolare (1.1) repre-
zinta un sistem de N condit ii si va duce n general la un sistem de N ecuat ii
cu N necunoscute. Considerentele de simplitate amintite mai sus ne sugereaza
1.1. Aproximarea prin interpolare 3
c-alegerea formei funct iei de aproximare sa e facuta astfel ncat sistemul de
condit ii sa conduca la ecuat ii liniare. O posibila alegere este urmatoarea: se
ia un set de N funct ii simple, cunoscute, g
k
(x), k 1, 2, ..., N si un set de
N parametrii nedeterminat i (scalari) a
k
, k 1, 2, ..., N, n funct ie de care se
scrie aproximanta g(x)
g(x) =
N

k=1
a
k
g
k
(x) . (1.6)
Deoarece nu ne-am nscris ntr-un formalism riguros, vom face unele observat ii
de bun simt . Astfel, am ales N parametri nedeterminat i a
k
, deoarece avem
N condit ii. Pe de alta parte, setul de funct ii g
k
(x) trebuie sa cont ina elemente
distincte, astfel ncat introduse n forma (1.6), numarul de parametri sa nu se
reduca
1
.

Intr-un limbaj mai riguros, se spune ca cele N funct ii cunoscute g
k
trebuie sa e liniar independente.

In lipsa altei analize, ne putem limita la
funct ii despre care stim ca au aceasta proprietate. Un astfel de set l reprezinta
monoamele x
k1
, k 1, 2, ..., N, n care caz funct ia de interpolare este un
polinom de gradul N 1
g(x) =
N

k=1
a
k
x
k1
. (1.7)
Alte seturi de funct ii pot funct iile trigonometrice, exponent iale, etc., pe care
le vom trata ulterior.
1.1.1 Interpolarea polinomiala globala
Revenind la forma (1.7) se pune problema gasirii coecient ilor a
k
din condit ia
de interpolare, adica a rezolvarii sistemului de ecuat ii liniare
N

k=1
a
k
x
k1
= y
i
, i 1, N . (1.8)
Daca N este mare, rezolvarea sistemului (1.8) este dicila sau cel put in necon-
venabila.

In orice caz, nodurile x
i
ind distincte, sistemul de ecuat ii (1.8) este
un sistem cu determinant Vandermonde diferit de zero si are o solut ie unica,
bine determinata pentru coecient ii a
k
.

In consecint a, oricare ar calea pe care
se construieste efectiv polinomul de interpolare (1.7), acesta este unic pentru o
funct ie si o diviziune data. Aproximarea efectuata este o interpolare globala n
sensul ca se foloseste un singur polinom pe tot intervalul [a, b].
Forma Newton a polinomului de interpolare.
O modalitate convenabila de construct ie a polinomului de interpolare l consti-
tuie polinomul lui Newton cu diferent e divizate. Fiind date perechile de puncte
1
Spre exemplu, daca g
2
= g
1
, = 0 atunci a
1
g
1
+a
2
g
2
= (a
1
+a
2
)g
1
, deci n loc de doi
parametri independent i a
1
si a
2
ar apare doar o combinat ie a

1
= a
1
+ a
2
.
4 1. Aproximarea functiilor de o variabil a
(x
i
, y
i
), se introduc urmatoarele rapoarte denumite diferent e divizate (DD)
DD(x
2
, x
1
) =
y
2
y
1
x
2
x
1
,
DD(x
3
, x
2
, x
1
) =
DD(x
3
, x
2
) DD(x
2
, x
1
)
x
3
x
1
,

DD(x
N
, x
N1
, . . . , x
1
) =
DD(x
N
, . . . , x
2
) DD(x
N1
, . . . , x
1
)
x
N
x
1
. (1.9)
Diferent ele divizate care se construiesc folosind k+1 puncte se numesc diferent e
divizate de ordinul k. Se poate demonstra prin induct ie matematica, urmatoarea
expresie a diferent ei divizate de ordinul N 1:
DD(x
N
, x
N1
, . . . , x
1
) =
N

i=1
y
i

j=1

(x
i
x
j
) . (1.10)
Semnul

denota omiterea factorului j = i din produs. Relat ia (1.10) ind
simetrica, rezulta ca valoarea diferent ei divizate nu depinde de ordinea n care
luam punctele x
i
. Din punct de vedere practic, este mai comod ca diferent ele
divizate sa nu se calculeze cu formula (1.10) ci recursiv, alcatuindu-se un tabel
(Tab. 1.1).
Funct ia de aproximare g(x) este un polinom de gradul N 1, pe care l vom
nota cu p
N1
(x). Vom scrie
f(x) = p
N1
(x) +R
N1
(x) , (1.11)
unde R
N1
(x) este restul sau eroarea de aproximare la interpolarea polinomiala.
Pe de alta parte, t in and seama de denit ia diferent elor divizate, se poate scrie
f(x) = y
1
+ (x x
1
) DD(x, x
1
) =
y
1
+ (x x
1
) DD(x
2
, x
1
) + (x x
1
)(x x
2
) DD(x, x
2
, x
1
) .
(1.12)

In relat ia (1.12) ultima diferent a divizata este formata cu punctul curent x.


Continuand procedeul (1.12) pana se iau n considerat ie toate nodurile, rezulta
p
N1
(x) = y
1
+ (x x
1
) DD(x
2
, x
1
) + (x x
1
)(x x
2
) DD(x, x
2
, x
1
) +
(1.13)
. . . + (x x
1
)(x x
2
) . . . (x x
N1
) DD(x
N
, x
N1
, . . . , x
1
) ,
R
N1
=
N

i=1
(x x
i
) DD(x, x
N
, x
N1
, . . . , x
1
) . (1.14)
1.1. Aproximarea prin interpolare 5
Se verica direct din (1.14) ca restul se anuleaza n noduri (R
N1
(x
i
) =
0, i = 1, 2, ..., N) si deci p
N1
(x) dat de (1.13) este polinomul de interpolare
corespunzator celor N puncte date. Forma (1.13) se numeste polinomul lui
Newton cu diferent e divizate.
Pentru scrierea polinomului (1.13) se alcatuieste mai intai tabloul diferent elor
divizate de diverse ordine. Nu este necesar ca tabloul sa cuprinda toate diferent ele
divizate posibile. Este sucient sa procedam n ordinea nodurilor, din aproape
n aproape, conform denit iilor (1.9). Un exemplu de calcul este prezentat n
tabelul 1.1 unde s-a notat cu DD
i
diferent a divizata de ordinul i (i = 1, 2, 3).
Polinomul obt inut este
p
3
(x) = 2 + (x 1) (1) + (x 1)(x 2) (2) + (x 1)(x 2)(x 3) (1) .

In ceea ce priveste restul R


N1
(x) (eroarea la interpolare), se poate face o
evaluare daca avem informat ii suplimentare referitoare la funct ia aproximata
f(x) si la derivatele sale.

In acest scop, consideram funct ia ajutatoare Q(t)
denita prin relat ia
Q(t) = f(t) p
N1
(t)
N

i=1
(t x
i
) DD(x, x
N
, x
N1
, . . . , x
1
) . (1.15)
Se observa ca funct ia Q(t) se anuleaza pentru t = x si t = x
i
, i = 1, 2, ...N, adica
are N +1 zerouri. Presupunand ca f(t) este derivabila de un numar convenabil
de ori, putem aplica funct iei Q(t) si derivatelor sale teorema lui Rolle. Rezulta,
succesiv, ca derivata Q

(t) are cel put in N zerouri, derivata Q

(t) are cel put in


N 1 zerouri s.a.m.d., astfel ca derivata de ordinul N are cel put in un zero pe
intervalul (a, b). Fie t = acest zero. Derivand relat ia (1.15) de N ori, si facand
t = , se obt ine
f
(N)
() = N! DD(x, x
N
, x
N1
, . . . , x
1
) ,
relat ie din care putem deduce expresia diferent ei divizate de ordinul N n funct ie
de derivata de ordinul N.

In acest fel, restul la interpolare (1.14) capata forma
R
N1
(x) =
N

i=1
(x x
i
) f
(N)
()/N! . (1.16)
Prezent a produselor

(x x
i
), sugereaza ca restul este mai mic (n modul)
cand punctul curent x este centrat pe intervalul care cont ine diviziunea si mai
mare cand x este luat spre marginile intervalului sau n afara lui acest ultim
caz este denumit extrapolare. Deoarece derivata de ordinul N a funct iei n
punctul nu este accesibila (din diverse motive), evaluari ale restului se pot
face presupunand ca, la schimbarea diviziunii, punctul (necunoscut) nu se
deplaseaza mult, astfel ncat derivata respectiva sa e aproximativ constanta,
si refacand calculul pentru o noua diviziune a intervalului se poate testa astfel
si sensibilitatea erorii la includerea de noi puncte de interpolare.
6 1. Aproximarea functiilor de o variabil a
Tabelul 1.1: Un tabel de diferent e divizate
x
i
y
i
DD
1
DD
2
DD
3
DD
4
1 2
2 3 1
3 0 -3 -2
5 6 3 2 1
4 4 2 1 -3/2 -5/6
De regula, este nerecomandabila utilizarea unui numar mare de noduri la
interpolare, mai ales daca se intent ioneaza calcularea unor derivate cu ajutorul
acestui polinom. Uzual, nu se folosesc toate cele N noduri, ci doar 3-5 noduri
cele mai apropriate de punctul n care se cere valoarea funct iei.

In consecint a,
exista posibilitatea unor variante chiar cand nu putem ndesi ret eaua prin ale-
gerea altor noduri.
Interpolarea polinomiala apare deseori ca o componenta a altor algoritmi
numerici cum ar integrarea sau derivarea numerica a unor funct ii.

In aceste
aplicat ii se considera deseori cazul diviziunilor egale
x
i+1
x
i
= h, i = 1, 2, . . . , N 1 ,
h ind pasul ret elei. Se introduc operatorii si denumit i diferent a la dreapta
respectiv, diferent a la stanga, prin relat iile
f(x) = f(x +h) f(x) , (1.17)
f(x) = f(x) f(x h) . (1.18)
Rezultatul aplicarii operatorului sau asupra lui f(x) se numeste diferent a
nita (de ordinul I). Pentru n ntreg, se deneste un operator de translat ie, E,
prin relat ia
E
n
f(x) = f(x +nh), n Z . (1.19)
Avem E
1
f(x) = f(x + h), E
0
f(x) = f(x), E
1
f(x) = f(x h). Se observa ca
ntre operatorii , si E exista relat iile
= E E
0
, = E
0
E
1
. (1.20)
Diferent ele divizate se pot exprima n funct ie de diferent ele nite si de pasul h
DD(x
2
, x
1
) = [f(x
1
+h) f(x
1
)] /h = [f(x
1
)] /h, (1.21)
DD(x
N
, x
N1
) = [f(x
N
) f(x
N
h)] /h = [f(x
N
)] /h . (1.22)
Prin induct ie, se demonstreaza usor ca
DD(x
N
, x
N1
, . . . , x
1
) =

N1
f(x
1
)
(N 1)!h
N1
=

N1
f(x
N
)
(N 1)!h
N1
, (1.23)
1.1. Aproximarea prin interpolare 7
unde exponentul indica aplicarea repetata a operatorului.
Punand variabila curenta x sub forma
x = x
i
+h, [0, N 1] , (1.24)
se poate obt ine expresia polinomul de interpolare Newton cu diferent e nite la
dreapta
p
N1
(x) = y
1
+y
1
+
1
2
( 1)
2
y
1
+. . . +C
N1


N1
y
1
, (1.25)
unde C
k

, k = 0, 1, . . . , N1 sunt coecient ii binomiali. Restul R


N1
(x) capata
forma
R
N1
(x
1
+h) = h
N
C
N

f
(N)
() . (1.26)
Calculul se face alc atuind un tablou al diferent elor nite, similar cu tabloul
diferent elor divizate.

In mod asemanator, notand


x = x
N
+h, [N + 1, 0] , (1.27)
se obt in expresii cu diferent e la stanga
p
N1
(x) = y
N
+y
N
+
1
2
( + 1)
2
y
N
+. . . + (1)
N1
C
N1


N1
y
N
R
N1
(x
N
+h) = (1)
N
h
N
C
N

f
(N)
() . (1.28)
Forma Lagrange a polinomului de interpolare.
Polinomul de interpolare Lagrange se scrie alegand funct iile g
k
(x) din relat ia
(1.6) sub forma unor polinoame denumite polinoame Lagrange si notate cu
L
k
(x), k = 1, 2, ..., N. Aceste polinoame au expresiile
L
k
(x) =
N

j=1

x x
j
x
k
x
j
, k 1, N , (1.29)
unde produsul

se ia pentru j ,= k. Se observa direct din (1.29) ca


L
k
(x
j
) = 0 daca x
j
,= x
k
; L
k
(x
j
) = 1 daca x
j
= x
k
. (1.30)
Polinomul de interpolare Lagrange se scrie
p
N1
(x) =
N

k=1
y
k
L
k
(x) , (1.31)
deci coecient ii a
k
din expresia (1.6) sunt chiar valorile funct iei f(x) n noduri,
a
k
= y
k
. Se verica direct, t inand cont de proprietat ile (1.30) ca p
N1
(x
i
) =
y
i
, i = 1, 2, ..., N.
8 1. Aproximarea functiilor de o variabil a
Exemplu. Utilizand primele patru noduri din tabelul 1, polinoamele Lagrange
sunt
/1(x) =
(x 2)(x 3)(x 5)
(1 2)(1 3)(1 5)
=
1
8
(x 2)(x 3)(x 5),
/2(x) =
(x 1)(x 3)(x 5)
(2 1)(2 3)(2 5)
=
1
3
(x 1)(x 3)(x 5),
/3(x) =
(x 1)(x 2)(x 5)
(3 1)(3 2)(3 5)
=
1
4
(x 1)(x 2)(x 5),
/4(x) =
(x 1)(x 2)(x 3)
(5 1)(5 2)(5 3)
=
1
24
(x 1)(x 2)(x 3),
iar polinomul de interpolare este
p3(x) = 2/1(x) + 3/2(x) + 0/3(x) + 6/4(x) = x
3
8x
2
+ 18x 9 ,
identic cu polinomul obt inut prin metoda diferent elor divizate. Aducerea polinomului
la forma canonica a fost facuta numai pentru compararea celor doua metode, neind
n general necesara n calculul numeric.
Convergent a interpolarii polinomiale globale.
Expresiile restului R
N1
(x) obt inute la interpolarea polinomiala sugereaza o
crestere a preciziei atunci cand numarul N de noduri creste. Spre exemplu,
n cazul diviziunilor egale, expresiile (1.26) si (1.28) indica proport ionalitatea
abaterii cu h
N
(h ind pasul diviziunii) dar si cu alt i factori cum ar derivata de
ordinul N. Interpolarea ar convergenta daca atunci cand numarul de puncte
de interpolare creste indenit N , restul scade oricat de mult R
N1

0. Se pune ntrebarea: este interpolarea polinomiala ntotdeauna convergenta?
Raspunsul la aceastantrebare este negativ.

Inca din 1901, Runge a dat exemplul
funct iei
f(x) = 1/(1 +x
2
), x [5, 5] .
Se poate verica faptul ca [R
N1
(x)[ cand N , diviziunile intervalului
[5, 5] ind luate egale. Comportarea interpolarii pentru N = 6 si N = 11 este
redata n gura 1.1. Mai general, acest rezultat negativ se exprima prin teorema
lui Faber care spune ca pentru orice diviziune a intervalului [a, b] exista o funct ie,
chiar continua, fat a de care abaterea polinomului de interpolare creste oricat de
mult cand N . Faptul ca exista sigur cel put in o funct ie pentru care
interpolarea polinomiala globala nu converge reduce aplicabilitatea practica a
procedeului, acesta folosindu-se ndeosebi ca o componenta a altor algoritmi
numerici, pentru valori mici ale lui N.
1.1. Aproximarea prin interpolare 9
Figura 1.1: Polinoamele de interpolare pN1(x) cu N = 6, 11 suprapuse peste f(x).
Aspecte practice ale interpolarii polinomiale.
Evident, polinoamele Newton si Lagrange difera numai prin forma, pentru
aceeasi ret ea restul ind acelasi n ambele cazuri. Din punct de vedere al calcu-
lului numeric, este preferata folosirea polinomului Newton ce necesita un numar
de operat ii aritmetice mai mic, de O(3N
2
/2) fat a de O(4N
2
) pentru polinomul
Lagrange. Necesarul de memorie este acelasi pentru ambii algoritmi. Pentru
polinomul Newton ar parea ca este nevoie de o matrice suplimentara pentru
tabelul de diferent e divizate.

Insa din tabelul de diferent e divizate se folosesc
efectiv doar N coecient i existand posibilitatea refolosirii celulelor de memorie
precum n algoritmul
2
d y
j = 2 : N
_
k = N : 1 : j
[d
k
(d
k
d
k1
)/(x
k
x
kj1
)
(1.32)
n urma caruia diferent ele divizate de pe diagonala tabelului se obt inn vectorul
d ce a fost init ializat cu ordonatele y. Aceasta este partea cea mai costisitoare
a interpolarii Newton necesitand O(3N
2
/2) operat ii aritmetice. Evaluarea po-
linomului ntr-un punct u se face ecient prin schema lui Horner
S d
N
j = (N 1) : 1 : 1
[S d
j
+ (u x
j
) S
(1.33)
2
Am folosit notat ia Matlab j = j
ini
: pas : j
fin
pentru bucle: variabila j este init ializata la
valoarea j
ini
si apoi incrementata cu pas. Instruct iunile din bucla, delimitate de [ se executa
repetat pana cand j > j
fin
Daca pas nu este precizat, precumn j = j
ini
: j
fin
, se subnt elege
pas = 1.
10 1. Aproximarea functiilor de o variabil a
Figura 1.2: Aproximarea funct iei lui Runge f(x) printr-o linie poligonala s(x).
necesitand numai O(3N) operat ii. Evaluarea polinomului Lagrange ntr-un
punct u necesita O(4N
2
) prin
S 0
k = 1 : N
_

P 1
j = 1 : k 1
[P P (u x
j
)/(x
k
x
j
)

_
j = k + 1 : N
[P P (u x
j
)/(x
k
x
j
)
S S +y
k
P
1.1.2 Interpolare cu funct ii spline
Am vazut ca interpolarea polinomiala globala, pe tot intervalul [a, b], nu converge
ntotdeauna. Desigur, daca am reusi sa micsoram diviziunea fara a modica gra-
dul polinomului de interpolare, rezultatul ar putea modicat. Spre exemplu,
aproximarea unei funct ii derivabile cu o linie poligonala se poate face oricat de
bine cand numarul de laturi ale poligonului creste innit (g. 1.2). Evident,
funct ia poligonala nu se identica cu o funct ie de gradul 1 deoarece depinde
si de diviziunea aleasa. Acest exemplu conduce la ideea de interpolare polino-
miala pe port iuni, la care pe ecare subdiviziune a intervalului [a, b] denim un
alt polinom de interpolare. Funct ia poligonala este unul dintre exemplele cele
mai simple ale acestui tip de interpolare prin funct ii spline
3
. Aceste funct ii
sunt caracterizate prin formele lor pe subintervalele dintre doua noduri (care
pot diverse funct ii cunoscute) si prin anumite condit ii de racordare n noduri.

In cele ce urmeaza, vom considera doar cazul funct iilor spline polinomiale fara
decient a.
3
Se citeste splain.
1.1. Aproximarea prin interpolare 11
Figura 1.3: Subintervalele de denire a unei funct ii spline.
Denit ie. Fie [a, b] R un interval pe dreapta reala si x
i
, i = 1, 2, ..., N o
ret ea de puncte de diviziune (x
1
= a, x
N
= b). Notam cu I
i
subintervalele
[x
i
, x
i+1
). Funct ia s : [a, b] R se numeste funct ie spline polinomiala de
ordinul m daca
1. restrict iile ei pe subintervalele I
i
sunt polinoame de gradul m, s[
Ii
=
p
m,i
;
2. s este derivabila de m1 ori pe intervalul [a, b], s C
(m1)
[a, b].
A doua condit ie cont ine n sine condit ia de racordare n noduri
p
(k)
m,i
(x
i+1
) = p
(k)
m,i+1
(x
i+1
), k = 0, 1, . . . , m1 , (1.34)
adica la frontiera x
i+1
dintre doua subintervale, polinomul din stanga p
m,i
si
primele sale m 1 derivate trebuie sa aibe aceleasi valori cu ale polinomului
din dreapta, p
m,i+1
.

In afara intervalului [a, b] funct ia s se poate prelungi prin
polinoame de grad m. Condit iile de racordare n noduri pot slabite, astfel
ncat funct ia s sa nu mai e de clasa C
(m1)
pe tot intervalul [a, b], ci sa e
derivabila de mai put ine ori pe diverse subintervale.

In acest caz, obt inem funct ii
spline cu decient a.
Funct ia spline de ordinul ntai (linia poligonala).
Funct ia spline este formata din segmente de ecuat ie
p
1,i
(x) = y
i
+m
i
(x x
i
), x [x
i
, x
i+1
), (1.35)
m
i
= (y
i+1
y
i
)/h
i
, h
i
x
i+1
x
i
, (1.36)
m
i
reprezentand panta pe intervalul I
i
(vezi g. 1.3). Funct ia spline de ordinul
ntai este simpla, dar nu furnizeaza derivata funct iei interpolate.
12 1. Aproximarea functiilor de o variabil a
Funct ia spline de ordinul doi.
Funct ia este formata din segmente de parabola, racordate n noduri pana la
derivata de ordinul 1, inclusiv
p
2,i
(x) = y
i
+m
i
(x x
i
) +a
i
(x x
i
)
2
, x [x
i
, x
i+1
), i 1, N 1 . (1.37)
Forma polinomiala (1.37) satisface automat condit ia p
2,i
(x
i
) = y
i
prin modul
de scriere. Condit iile de racordare
p
2,i
(x
i+1
) = y
i+1
(1.38)
conduc la urm atoarele ecuat ii pentru coecient ii a
i
a
i
= (y
i+1
y
i
)/h
2
i
m
i
/h
i
, i 1, N 1 . (1.39)
Eliminarea lui a
i
din condit iile de racordare
p
2,i
(x
i+1
) = y
i+1
,
p

2,i
(x
i+1
) = p

2,i+1
(x
i+1
) ,
(1.40)
care se pot scrie n nodurile x
i
, i = 1, 2, 3, . . . , N 2 conduce la sistemul
m
i
+m
i+1
= 2(y
i+1
y
i
)/h
i
, i 2, N 1 , (1.41)
ce trebuie completat cu o singura condit ie. Spre exemplu, se poate da panta la
unul din capetele intervalului (m
1
sau m
N
). Necesitatea condit iei suplimentare
provine din faptul ca nu mai putem impune condit ia de racordare n derivata n
nodul x
N
.

In ambele cazuri, sistemul devine determinat:
1. m
1
dat duce la substituirea
m
i+1
= 2(y
i+1
y
i
)/h
i
m
i
, i 1, N 1 ; (1.42)
2. m
N
dat permite retrosubstituirea
m
i
= 2(y
i+1
y
i
)/h
i
m
i+1
, i N 1, 1 . (1.43)
Funct ia spline de ordinul trei sau cubica.
Este una din cele mai utilizate funct ii spline, avand derivate continue pana la
ordinul doi inclusiv, ceea ce permite calculul razei de curbura. Din condit iile de
continuitate pe noduri pana la derivata de ordinul 2 inclusiv
p
3,i
(x
i+1
) = y
i+1
,
p

3,i
(x
i+1
) = p

3,i+1
(x
i+1
) ,
p

3,i
(x
i+1
) = p

3,i+1
(x
i+1
) ,
(1.44)
1.1. Aproximarea prin interpolare 13
pentru i = 1, 2, 3, . . . , N 2, se deduc coecient ii polinomului de gradul 3
p
3,i
(x) = y
i
+m
i
(x x
i
) +b
i
(x x
i
)
2
+a
i
(x x
i
)
3
(1.45)
care reprezinta comportarea funct iei spline pe ecare subinterval (x
i
, x
i+1
), i
1, N 1
a
i
= (m
i+1
+m
i
)/h
2
i
2(y
i+1
y
i
)/h
3
i
, (1.46)
b
i
= 3(y
i+1
y
i
)/h
2
i
(m
i+1
+ 2m
i
)/h
i
. (1.47)
Pantele pe noduri, m
i
, sunt date n acest caz de sistemul

i
m
i1
+ 2m
i
+
i
m
i
= d
i
, i 2, N 2 (1.48)
ce trebuie completat cu doua condit ii, pentru a suplini condit iile de racordare
n prima si a doua derivata ce nu mai pot scrise n x
N
. S-au facut notat iile

i
h
i
/(h
i1
+h
i
),
i
1
i
, h
i
x
i+1
x
i
, (1.49)
d
i
3 [
i
(y
i+1
y
i
)/h
i
+
i
(y
i
y
i1
)/h
i1
] .
Sistemul de condit ii de racordare impuse lasa de data aceasta doua grade de
libertate, ce pot precizarea pantelor la capete, m
1
si m
N
, sau, mai general,
precizarea unei relat ii, n general liniara, ale acestor pante cu pantele vecine, de
forma
_
2m
1
+
1
m
2
= d
1

N
m
N1
+ 2m
N
= d
N
.
. (1.50)

In relat iile (1.50), coecient ii


1
, d
1
,
N
, d
N
sunt dat i prin natura condit iilor
puse la capetele intervalului, deci nu sunt dedusi din relat iile (1.49) care nu
sunt denite pentru i = 1 si i = N. Spre exemplu, a da pantele m
1
si m
N
revine la a impune

1
= 0, d
1
= 2m
1
,
N
= 0, d
N
= 2m
N
.
Sistemul de N ecuat ii cu N necunoscute Am = d, obt inut prin reuniunea egali-
tat ilor (1.48) si (1.50), are matrice tridiagonala. Ne punem mai ntai problema
existent ei unei solut ii. Elementele din matricea A rezultate din condit iile de
racordare (1.48) sunt diagonal dominante pe linii, adica 2 > [
i
[ + [
i
[ = 1.
Cum o matrice diagonal dominanta este, n general, inversabila, este sucient
ca si condit iile suplimentare (1.50) sa pastreze aceasta proprietate. Practic,
problema este rezolvabila daca impunem condit ii necontradictorii si distincte.
Forma tridiagonal a a matricei A permite o rezolvare foarte ecienta prin
descompunerea matricei ntr-un produs de doua matrice bidiagonale
4
A = L R
4
Un caz particular al factorizarii Doolittle ce va prezentata n capitolul 5, cunoscut ca
algoritmul lui Thomas.
14 1. Aproximarea functiilor de o variabil a
sau explicit
A =
_

_
1 0 0 0
l
2
1 0 0
0 l
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1 0
0 0 l
N
1
_

_
r
1

1
0 0
0 r
2
.
.
. 0 0
0 0
.
.
.
N2
0
.
.
.
.
.
.
.
.
. r
N1

N1
0 0 0 r
N
_

_
.
Coecient ii necunoscut i r
i
, i = 1, 2, ..., N si l
i
, i = 2, 3, ..., N se determina prin
identicarea elementelor din A si din matricea produs. Elementele supradiago-
nalei din matricea R au fost deja identicate. Determinarea pantelor se bazeaza
pe asociativitatea produsului de matrice
(L R) m = L (R m) = d .
Introducem vectorul z = R m. Etapele algoritmului sunt
1. factorizarea A = L R
r
1
2;
i = 2 : N
[l
i

i
/r
i1
; r
i
2 l
i

i1
2. rezolvarea sistemului bidiagonal L z = d
z
1
d
1
i = 2 : N
[z
i
d
i
l
i
z
i1
3. rezolvarea sistemului bidiagonal R m = z
m
N
z
N
/r
N
i = (N 1) : 1 : 1
[m
i
(z
i

i
m
i+1
)/r
i
Observat ii. 1. Un caz particular important de funct ie spline de ordinul trei
este cel al interpolarii spline cubice naturale denit prin condit iile n capete
s

(x
1
) = s

(x
N
) = 0
ceea ce conduce la
2m
1
+m
2
= 3(y
2
y
1
)/h
1
,
m
N1
+ 2m
N
= 3(y
N
y
N1
)/h
N1
, (1.51)
1.1. Aproximarea prin interpolare 15
adica

1
= 1, d
1
= 3(y
2
y
1
)/h
1
,
N
= 1, d
N
= 3(y
N
y
N1
)/h
N1
, (1.52)
cu notat iile anterioare. Se poate demonstra ca impunerea acestor condit ii de
capat minimizeaza integrala
I =
_
xN
x1
[f

(x)]
2
dx, (1.53)
unde f(x) este funct ia exacta, necunoscuta, de clasa C
(2)
[a, b] ce este aproximata
de interpolarea spline. Minimizarea integralei (1.53) prin impunerea condit iilor
naturale (1.51) conduce la cea mai neteda interpolare spline cubica.

In absent a
unor informat ii precise asupra pantelorn capete m
1
, m
N
, se recomanda folosirea
condit iilor naturale ce conduc de regula la minizarea erorii de interpolare.
2. Folosita pentru reprezentarea unor curbe date (traiectorii ale unei scule,
prole aerodinamice, etc.), funct ia spline cubica poate avea abateri n zonele
cu pante mari. De aceea, se recomanda vericari mai atente n vecinatatea
nodurilor cu pante mari, m
i
5.
3. Restrict iile unei funct ii spline s(x) pe intervalele I
i
nu trebuie sa e
obligatoriu polinoame. Se pot racorda alte funct ii, sau polinoame cu alte funct ii
spre exemplu, cercuri cu polinoame. Aceste combinat ii pot avantajoase n
cazul cand pantele pe noduri sunt mari.
4. Pentru interpolarea spline nu s-a dedus o expresie a erorii de aproxi-
mare, de o maniera directa ca la interpolarea polinomiala. S-a ret inut doar
armat ia ca, o funct ie continua poate aproximata oricat de bine pe tot inter-
valul [x
1
, x
N
] atunci cand numarul de diviziuni creste, adica interpolarea spline
este ntotdeauna convergenta. Deoarece derivata de ordinul m, s
(m)
, a unei
funct ii spline polinomiale este o funct ie treapta (constanta pe port iuni), iar o
funct ie treapta aproximeaza oricat de bine o funct ie continua pe interval cand
num arul de diviziuni creste, se poate da o evaluare a erorii n funct ie de abate-
rea maxima ntre derivatele f
(m)
(x) si s
(m)
(x), presupunand ca f
(m)
(x) exista
si este continua
max [f(x) s(x)[ (b a)
m
max

f
(m)
(x) s
(m)
(x)

/m! .
Pentru m = 1, marginea erorii reprezinta tocmai produsul dintre marimea inter-
valului si diferent a maxima de pante ntre funct ia f si linia poligonala. Aceasta
evaluare nu corespunde nsa neaparat funct iei spline de interpolare, dar suge-
reaza o anumita relat ie cu modul n care funct ia treapta s
(m)
(x) aproximeaza
derivata de ordinul m a funct iei f(x).
Exemplu. Vom considera problema interpolarii spline a funct iei lui Runge f(x) =
1/(1+x
2
) pe intervalul [5, 5] pentru care am vazut ca interpolarea polinomiala globala
esueaza. Se adopta o diviziune echidistanta a intervalului cu h = [5 (5)]/(N 1),
x
k
= x1 + (k 1)h, k 1, N. Se vor considera trei tipuri de condit ii n capete:
1. precizarea valorilor exacte ale pantei m1 = f

(5), mN = f

(5) ceea ce conduce


la 1 = 0, d1 = 2f

(5), N = 0, dN = 2f

(5) ;
16 1. Aproximarea functiilor de o variabil a
Figura 1.4: Logaritmul zecimal al erorii relative la interpolarea spline a f, f

, f

.
2. extrapolarea liniara a pantelor adiacente m1 = m2, mN1 = mN ceea ce
conduce la 1 = 2, d1 = 0, N = 2, dN = 0 ;
3. condit ii naturale (1.52).
Calitatea aproximarii se apreciaza prin evaluarea erorilor relative

k
=
1000

i=1

f
(k)
(ui) s
(k)
(ui)

f
(k)
(ui)

, k = 0, 1, 2
pentru diverse valori ale lui N unde |ui, i 1, 1000 este o diviziune echidistanta
na a intervalului [5, 5]. Rezultatele sunt prezentate n gura (1.4). Se observa
ca interpolarea este convergenta, eroarea relativa scazand rapid cu cresterea lui N.
Pentru un numar mic de puncte toate condit iile de capat dau rezultate comparabile. Pe
masura ce diviziunea devine sucient de na pentru a descrie precis variat iile funct iei,
condit iile exacte dau eroarea minima dupa cum era de asteptat, urmate de condit iile
naturale si apoi de cele de extrapolare a pantei. Se remarca pierderea a 1,2 ordine de
precizie a aproximarii n urma derivarii.
1.1.3 Interpolare cu funct ii trigonometrice
Interpolarea polinomiala nu este adecvata aproximarii tuturor tipurilor de funct ii.
Vom considera acum o alta alegere a funct iilor liniar independente din (1.6),
anume funct iile trigonometrice (g. 1.5)
cos(2kx), k 0, N; sin(2mx), m 1, N 1 . (1.54)
Aceasta baza este deosebit de ecace n aproximarea funct iilor periodice f(x) =
f(x + 1). Funct iile periodice cu o alta perioada f(z) = f(z + T) pot aduse
la forma anterioara prin transformarea x = z/T.

In cazul interpolarii cu funct ii
1.1. Aproximarea prin interpolare 17
Figura 1.5: Primele 11 funct ii din baza trigonometrica.
trigonometrice, funct iile sinus si cosinus mpreuna formeaza o baza
5
. Avem un
numar de 2N funct ii n aceasta baza. Ca atare, vom considera un numar par
2N de puncte de diviziune echidistante pe intervalul [0, 1]
x
j
= j/2N, j 0, 2N 1 . (1.55)
Se verica direct ca setul (1.54) prezinta urmatoarele proprietat i de ortogonali-
tate pe mult imea discreta de puncte x
i
= 0, 1/2N, 2/2N, ..., (2N 1)/2N
2N1

j=0
cos 2kx
j
cos 2mx
j
=
_
_
_
0, k ,= m
N, k = m ,= 0, N
2N, k = m = 0, N
(1.56)
2N1

j=0
sin 2kx
j
sin 2mx
j
=
_
0, k ,= m
N, k = m
;
2N1

j=0
cos 2kx
j
sin 2mx
j
= 0 ,
k 0, N, m 1, N 1 . Demonstrat ia se construieste prin transformarea
produselor de funct ii trigonometrice n sume de sinus si cosinus. Acestea se pot
nlocui cu funct ii exponent iale, sin x = (e
ix
e
ix
)/2i, cos x = (e
ix
+ e
ix
)/2,
rezultand progresii geometrice simplu de nsumat (vezi si 1.1.4).
5
Strict vorbind doar mult imea innita {1, cos x, sin x, cos 2x, sin 2x, . . . } formeaza o baza a
spat iului de funct ii. Pastrarea unui numar nit de funct ii conduce la aparit ia unor erori ce
vor considerate mai jos.
18 1. Aproximarea functiilor de o variabil a
Utilizand setul de funct ii de baza (1.54), aproximanta prin interpolare se
scrie sub forma polinomului Fourier
g(x) =
1
2
a
0
+
N1

k=1
[a
k
cos(2kx) +b
k
sin(2kx)] +
1
2
a
N
cos 2Nx , (1.57)
ce satisface 2N condit ii de interpolare
g(x
j
) = f(x
j
) y
j
, j 0, 2N 1 .
Coecient ii a
k
, b
k
se determina prin utilizarea proprietat ilor de ortogonalitate
(1.56). Prezentam calculul doar pentru coecient ii b
k
. Polinomul (1.57) se
evalueaza n punctele x
j
, relat ia obt inuta se amplica cu sin 2mx
j
iar apoi se
calculeaza suma de la j = 0 la j = 2N 1
2N1

j=0
y
j
sin 2mx
j
=
a
0
2
2N1

j=0
sin 2mx
j
+
N1

k=1
_
a
k
2N1

j=0
(cos 2kx
j
sin 2mx
j
) +
b
k
2N1

j=0
(sin 2kx
j
sin 2mx
j
)
_
+
a
N
2
2N1

j=0
(cos 2Nx
j
sin 2mx
j
) .
Se poate observa schimbarea ordinii de nsumare din relat ia de mai sus ce per-
mite aplicarea (1.56) obt inandu-se
2N1

j=0
g(x
j
) sin(2mx
j
) =
2N1

j=0
y
j
sin(2mx
j
) = b
m
N .
Un calcul analog pentru ceilalt i coecient i conduce la relat iile
a
k
=
1
N
2N1

j=0
y
j
cos 2kx
j
, b
m
=
1
N
2N1

j=0
y
j
sin 2mx
j
(1.58)
cu k 0, N, m 1, N 1.

In aplicat ii, coecient ii a


k
, b
k
se evalueza mult mai economic decat prin
calculul direct al sumelor de mai sus prin folosirea transformarii Fourier rapide
prezentate n 1.1.4. Se poate lesne observa din (1.58) ca vom avea tot i a
k
= 0
pentru funct ii impare f(x) = f(x) si tot i b
m
= 0 pentru funct ii pare f(x) =
f(x).
Aparit ia unei oarecare asimetrii termenii n cos sunt mai numerosi decat cei
n sin este legata de alegerea unui numar par de 2N intervale n care se divide
perioada funct iei. Daca se aleg 2N + 1 intervale, forma funct iei de interpolare
este
g(x) =
1
2
a
0
+
N

k=1
[a
k
cos(2kx) +b
k
sin(2kx)] ,
1.1. Aproximarea prin interpolare 19
coecient ii a
k
si b
k
ind dat i de
a
k
=
2
2N + 1
2N

j=0
y
j
cos 2kx
j
, b
m
=
2
2N + 1
2N

j=0
y
j
sin 2mx
j
,
cu k 0, N, m 1, N, x
j
= j/(2N + 1).
Convergent a interpolarii trigonometrice.
Se pot determina exprimari ale erorii de interpolare n genul restului R
N1
(x)
de la interpolarea polinomiala si pentru interpolarea trigonometrica. Expresiile
obt inute sunt nsa sub o forma integrala greu utilizabila practic. Vom prefera
o discut ie mai put in formala a erorii si convergent ei procedeului. Daca funct ia
f admite o dezvoltare n serie Fourier marirea numarului de noduri conduce
la aproximat ii din ce n ce mai bune.

Intr-adevar, ridicand expresia (1.57) la
patrat membru cu membru, nsumand valorile pe noduri si t inand seama de
relat iile de ortogonalitate (1.56), se obt ine
1
4
a
2
0
+
1
2
N1

k=1
(a
2
k
+b
2
k
) +
1
4
a
2
N
=
1
2N
2N1

j=0
y
2
j
(1.59)
relat ie denumita egalitatea lui Parseval discreta. Cand N creste, suma din
membrul drept se aproprie de integrala
_
1
0
y
2
dx. Daca integrala este marginita
6
suma este de asemenea marginita. Ca urmare, seria patratelor coecient ilor este
convergenta, ceea ce arata ca a
2
k
, b
2
k
devin din ce n ce mai mici cand N creste.
Interpolarea trigonometrica este asadar convergenta pentru funct ii f continue
sau cu un numar nit de discontinuitat i acestea ind condit ii suciente pentru
a asigura existent a integralei anterioare. Stabilirea convergent ei este importanta
pentru validarea interpolarii trigonometrice.

In aplicat ii nsa mai apar si alte
aspecte ale comportarii erorii la interpolare. Vom considera doar doua mai
importante: rapiditatea convergent ei si efectul considerarii doar a unui numar
nit de funct ii trigonometrice n dezvoltarea (1.57).
Fara a ncerca o denit ie formal a, vom spune ca o interpolare trigonome-
trica este rapid convergenta daca numarul de termeni N necesar realizarii unei
precizii impuse a aproximarii este mic.

Int elesul cuvantului mic depinde
de aplicat ie, dar un domeniu orientativ ar 2 N 128. Urmarirea g. 1.5
sugereaza ca includerea mai multor termeni n polinomul Fourier (1.57) permite
descrierea unei funct ii cu variat ii mai rapide pe intervalul [0, 1]. Fie x cea mai
mica distant a de pe abscisa pe care funct ia f are o variat ie semnicativa. Deo-
arece f are perioada 1, spunem ca = 1/x este frecvent a variat iilor celor mai
rapide ale funct iei. Pentru a descrie variat iile date de frecvent a cea mai rapida
a funct iei f polinomul (1.57) trebuie sa cont ina un num ar de termeni N .
Acest rezultat este cunoscut sub numele de criteriul Nyquist ce rezulta dintr-
un rezultat mai general denumit teorema de esantionare Shannon. Observat i ca
6
Intr-o formulare riguroasa daca y = f(x) este patrat integrabila pe [0, 1], ceea ce se scrie
f L
2
[0, 1].
20 1. Aproximarea functiilor de o variabil a
Figura 1.6: Comportarea polinoamelor trigonometrice cu N = 8, 16, 32, 64 la inter-
polarea funct iei treapta. Pe masura ce N creste, interpolarea se aproprie mai mult de
funct ia exacta fara nsa a elimina oscilat iile n zona punctelor de discontinuitate.
pentru a avea N frecvent e n polinomul (1.57) este nevoie de 2N puncte (x
j
, y
j
).
De aici o formulare echivalenta a criteriului Nyquist este ca numarul de noduri
sa e minim de doua ori frecvent a cea mai rapida.
Daca f are variat ii lente atunci este mic si numarul de termeni din poli-
nomul (1.57) este de asemenea mic. Funct iile cu variat ii rapide au nsa mare
necesitand un numar mare de termeni n polinomul (1.57). Cea mai rapida
frecvent a de variat ie posibila a unei funct ii ar ceea ce corespunde
la x = 0, adica f sa prezinte discontinuitat i. Cum nu vom putea ndeplini
niciodata criteriul Nyquist N pentru funct ii discontinue, interpolarea tri-
gonometrica va avea erori mai mari n asemenea cazuri. Erorile ce apar sunt
concentrate n jurul discontinuitat ilor, comportare cunoscuta sub denumirea de
fenomenul Gibbs. Un exemplu faimos al fenomenul Gibbs este aproximarea unui
semnal dreptunghiular y(x) = 1 pentru n < x < n + 1/2, y(x) = 1 pentru
n + 1/2 < x < n + 1 si y(n + 1/2) = 0 cu n N, exemplu prezentat n g.
1.6. Ne asteptam asadar ca interpolarea trigonometrica sa e lent convergenta
pentru funct ii discontinue si rapid convergenta pentru funct ii netede, cu variat ii
lente.
Sa presupunem acum ca nu este ndeplinit criteriul Nyquist
7
si am luat un
numar prea mic N < de termeni n dezvoltarea (1.57). Ne punem problema
daca coecient ii a
k
, b
k
k N determinat i prin relat iile (1.58) sunt corect i, adica
au aceleasi valori ca n cazul n care criteriul Nyquist ar satisfacut. Raspunsul
este negativ. Sa refacem calculul anterior ce a furnizat valorile coecient ilor
b
k
, de data aceasta pentru dezvoltarea Fourier completa a funct iei f ce are
7
Deoarece funct ia f este n general necunoscuta si ca atare nu cunoastem frecvent a .
1.1. Aproximarea prin interpolare 21
coecient ii exact i
k
,
k
f(x) =
1
2

0
+

k=1
[
k
cos(2kx) +
k
sin(2kx)] . (1.60)
Ca mai nainte, evaluam (1.60) n x
j
, nmult im cu sin 2mx
j
si nsumam de la
j = 0 la j = 2N 1. Urmarim doar termenii cu produse de funct ii sinus
ceilalt i dau contribut ii nule conform (1.56)

2N1
j=0
f(x
j
) sin 2mx
j
=

2N1
k=1
_

2N1
j=0
(sin 2kx
j
sin 2mx
j
)
_
+

4N1
k=2N
_

2N1
j=0
(sin 2kx
j
sin 2mx
j
)
_
+ . . . +

2(p+1)N1
k=2pN
_

2N1
j=0
(sin 2kx
j
sin 2mx
j
)
_
+ . . . .

Insa sin 2(2pN +k)x


j
= sin 2kx
j
pentru x
j
= j/(2N). Se obt ine asadar
b
m
=
m
+
m+2N
+
m+4N
+. . . ,
altfel spus contribut iile frecvent elor mari m+ 2N, m+ 4N, . . . apar mascate n
coecientul b
m
. Fenomenul de mascare
8
impune sa urmarimn aplicat ii variat ia
coecient ilor a
k
, b
k
la dublarea lui N. Fie a
(2N)
k
, b
(2N)
k
coecient ii determinat i
folosindu-se 2N puncte si a
(4N)
k
, b
(4N)
k
coecient ii determinat i folosindu-se 4N
puncte. Daca a
(2N)
k

= a
(4N)
k
, b
(2N)
k

= b
(4N)
k
pentru k N atunci numarul
de puncte a fost considerat sucient de mare pentru a elimina fenomenul de
mascare.
Exemplu. Folosind interpolarea trigonometrica sa se aproximeze pozit ia punctelor
situate pe elipsa
x
2
/a
2
+ y
2
/b
2
= 1 .
Rezolvare. Ca n orice problema de aproximare, alegerea variabilelor este importanta.
Reprezentarea n coordonate carteziene x, y este dezavantajoasa, conducand la doua
funct ii
y = b
_
1 x
2
/a
2
.
De aceea se prefera coordonatele polare r, sau coordonatele paramametrice r, t.

In
coordonatele polare x = r cos , y = r sin , elipsa este data de funct ia
r() = ab
_
a
2
sin
2
+ b
2
cos
2

1/2
,
cu [0, 2]. Funct ia r() are perioada 2. O aducem la perioada 1 prin transfor-
marea s = /2,
r(s) = ab
_
a
2
sin
2
2s + b
2
cos
2
2s

1/2
.
8
Comportarea este descrisa deseori prin denumirea din engleza de aliasing.
22 1. Aproximarea functiilor de o variabil a
Figura 1.7: Variat ia erorii relative la interpolarea trigonometrica a unor elipse. Re-
zultatele pentru reprezentarea parametrica sunt unite cu linii.

In reprezentarea parametrica, elipsa este descrisa de x = a cos t, y = b sin t, astfel


ncat obt inem
r(t) =
_
a
2
sin
2
t + b
2
cos
2
t

1/2
cu t [0, 2]. Aducem funct ia la perioada 1 prin s = t/2 si avem o a doua reprezen-
tare
r(s) =
_
a
2
sin
2
2s + b
2
cos
2
2s

1/2
Vom nota prin gN(s) polinomul trigonometric ce interpoleaza r(s) n 2N puncte echi-
distant repartizate n intervalul [0, 1]. Evaluam calitatea interpolarii pentru diverse
valori ale lui N = 4, 8, . . . , 256 prin calculul erorii relative pe o diviziune mai deasa
|j = j/2048, j 0, 2048
N =
4N

j=0
[r(j) gN(j)[ / [r(j)[ .
Presupunem ca a = 1 si vom studia comportarea erorii relative pentru mai multe valori
ale lui b, n cele doua reprezentari adoptate.
Rezultatele sunt prezentate n g. 1.7.

In toate cazurile, interpolarea este conver-
genta: pe masura ce N creste eroarea se aproprie de zero. Cea mai rapida convergent a
se obt ine pentru a/b = 1/2 deoarece funct ia ce descrie elipsa are variat ii lente pe inter-
valul [0, 1]. Odata cu scaderea raportului a/b, observam ca este nevoie de un numar
mai mare de termeni n polinomul trigonometric pentru a se obt ine o precizie data.
Elipsa are variat ii rapide n punctele (1, 0) si este nevoie de mai mult i termeni pentru
a satisface criteriul Nyquist.

In plus, este de asteptat ca aproximarea sa e afectata si
de fenomenul Gibbs n zona punctelor (1, 0) variat iile funct iilor sunt ntr-atat de
1.1. Aproximarea prin interpolare 23
rapide ncat nesatisfacerea criteriului Nyquist le face sa apara ca niste discontinuitat i.
Se poate observa ca, pentru un acelasi raport a/b reprezentarea parametrica (puncte
unite cu linii n g. 1.7) conduce la erori mai mici n toate cazurile studiate, aratand
important a unei alegeri judicioase a reprezentarii.
Sa mai remarcam ca, o data atinsa o precizie de circa 12 cifre, n cazul unei funct ii
r(s) netede, a/b = 1/2, cresterea lui N nu mai mbunatat este calitatea aproximarii.
Calculele au fost efectuate n virgula mobila cu o precizie de circa 11, 12 cifre semni-
cative. Odata atins acest prag, cresterea lui N produce efecte detrimentale deoarece
prin cresterea numarului de operat ii aritmetice are loc o acumulare a erorilor de rotu-
njire. Daca ntr-adevar este nevoie de o acuratet e mai mare trebuie lucrat n precizie
sporita.
1.1.4 Interpolare n planul complex
Anumite aplicat ii importante impun interpolarea n planul complex. Printre
acestea se num ara transformarea conforma si transformata Fourier discreta care
au multe aspecte asemanatoare. Transformarea conforma a unui contur (C) de
forma oarecare din planul complex z = x + iy, pe un cerc (K) de raza egala
cu unitatea plasat n planul = + i, astfel ncat exteriorul conturului sa
se transforme pe exteriorul cercului (g. 1.8), este o problema des ntalnita
n mecanica uidelor incompresibile sau n electricitate. Conform teoremei de
reprezentare Riemann, odata precizate contururile, se mai pot alege trei para-
metrii reali. Acestia se determina de regula din impunerea unor corespondent e
ce au semnicat ie zica. Vom ncerca mai ntai determinarea formei generale a
transformarii conforme, lasand la urma stabilirea celor trei parametrii. Forma
generala a transformarii conforme este o serie care se limiteaza la un numar
convenabil de termeni M
9
z =
M2

n=1
C
n

n
. (1.61)
Cei M coecient i C
n
, n = 1, 0, . . . , M2 se determina din condit ii de cores-
pondent a ntre punctele P
k
(z
k
) de pe contur si punctele
k
(
k
), k = 0, M 1
de pe cerc. Prin urmare se obt ine sistemul de ecuat ii
z
k
=
M2

n=1
C
n

n
k
. (1.62)
Este convenabil campart irea cercului sa se facan part i egale, adica sa luam

k
= exp(ik), i

1, 2/M . (1.63)
Coecient ii C
n
sunt solut ia sistemului
M2

n=1
C
n
e
ikn
= z
k
, (1.64)
9
Forma reprezentata a fost astfel aleasa ncat punctele de la innit ale celor doua plane
complexe sa corespunda.
24 1. Aproximarea functiilor de o variabil a
Figura 1.8: Corespondent a punctelor din planul zic si cel de calcul.
punctele z
k
ind date. Sistemul (1.64) se inverseaza usor, t inand seama ca
funct iile exp(ikn) formeaza un sistem ortogonal.

Intr-adevar, nmult ind
(1.64) membru cu membru, cu exp(ijk), j = 1, 2, ..., M 2 si sumand dupa k,
se obt ine succesiv
M1

k=0
z
k
e
ijk
=
M1

k=0
M2

n=1
C
n
e
ik(jn)
=
M2

n=1
C
n
M1

k=0
e
ik(jn)
. (1.65)
Dar progresia geometrica de rat ie exp i(j n) se poate suma obt inandu-se
M1

k=0
e
ik(jn)
=
1 e
i(jn)M
1 e
i(jn)
=
_
0 daca j ,= n
M daca j = n
.

In consecint a, din (1.65) se obt ine


C
j
=
1
M
M1

k=0
e
ijk
, j 1, M 2 . (1.66)
Trebuie ment ionat ca problema nu s-ancheiat odata cu gasirea coecient ilor
C
j
pentru un M ales. Anume, mai trebuie vericata atingerea preciziei dorite
prin considerarea a unor puncte intermediare ca, de exemplu,

k
= exp [i(k + 1/2)] , k 0, M 1 .
Daca axele z

k
sunt prea ndepartate de conturul (C) atunci trebuie ndesita
ret eaua de puncte de calcul si, n consecint a, marit numarul de termeni n seria
(1.61).
Rezultatele obt inute se nscriu ntr-o formulare mai generala, importanta
pentru multe aplicat ii
10
. Pentru ret eaua de puncte x
j
= jh, j = 0, 1, . . . , N1,
10
Algoritmul TFR prezentat n continuare este, conform unor studii statistice de utilizare
a calculatoarelor, al doilea cel mai des utilizat algoritm, ind devansat doar de rezolvarea
directa a sistemelor liniare. Exemple de aplicat ii: modelari meteorologice, analize de vibrat ii
mecanice, prelucrare de imagini.
1.1. Aproximarea prin interpolare 25
avand pasul h = 1/N, setul de valori ale unei funct ii u n noduri se noteaza
u
(N)
si se numeste funct ie ret ea. Notand mai departe cu radacina de ordinul
N a unitat ii
= exp(2i/N), (1.67)
se deneste transformata Fourier discreta directa (TFDD) a funct iei u
(N)
ca
ind o alta funct ie ret ea, notata U
(N)
, ale carei valori n noduri sunt date de
relat iile
U
(N)
k
=
N1

j=0
u
(N)
j

jk
, k 0, N 1 . (1.68)
Se observa ca (1.66) este un caz particular de TFD. Prescurtam notat ia prin
adoptarea semnului = pentru TFD data de (1.68)
u
(N)
=U
(N)
.
Sistemul (1.68) se poate inversa, prin aplicarea relat iilor de ortogonalitate obt i-
nandu-se
u
(N)
j
=
1
N
N1

k=0
U
(N)
k

jk
, j 0, N 1 . (1.69)
denumita transformata Fourier discreta inversa (TFDI) ce va notata
u
(N)
= U
(N)
.
Calculul direct al sumelor din (1.68) revine la nmult irea vectorului u
(N)
cu
matricea = [
jk
], j, k 0, N 1 si ar necesita O(N
2
) operat ii aritmetice.

Insa matricea are proprietat i remarcabile, provenite din structura sa ciclica,


ce permit o evaluare n numai O(N log N) operat ii. Castigul este enorm, iar
algoritmul ce realizeaza acest castig se numeste transformata Fourier rapida
sau prescurtat TFR
11
. Vom prezenta cea mai simpla deducere a algoritmului, o
exemplicare a tehnicii generale divide et impera o problema dicila se poate
rezolva uneori mai usor prin descompunerea n doua probleme mai simple.
Vom presupune ca funct ia ret ea u
(N)
este denita pe un numar par de puncte
N = 2P. Din funct ia ret ea u
(2P)
construim doua noi funct ii ret ea v
(P)
, w
(P)
denite n punctele de indice par, respectiv impar
v
(P)
m
= u
(2P)
2m
, w
(P)
m
= u
(2P)
2m+1
, m 0, P 1 .
11
O aplicat ie tipica provine din domeniul previziunilor meteo pe termen scurt pe care se
bazeaza navigat ia aeriana si marina. Tipic, pentru o previziune pe 3 zile, se calculeaza 10
6
TFD-uri de lungime N = 2
14
. Un calculator performant, de viteza 10
9
operat ii aritmetice pe
secunda, n-ar reusi calculul produselor matrice-vector decat n 74 ore prea tarziu ca sa mai
e de folos. Cu folosirea TFR timpul se reduce la circa 4 minute!
26 1. Aproximarea functiilor de o variabil a
Suma (1.68) se poate scrie
U
(2P)
k
=
2P1

j=0
u
(2P)
j

jk
=
P1

m=0
_
v
(P)
m

2mk
+w
(P)
m

(2m+1)k
_
=
P1

m=0
v
(P)
m

2mk
+
k
P1

m=0
w
(P)
m

2mk
. (1.70)

Insa
2
este radacina de ordinul N/2 = P a unitat ii astfel ncat se observa
aparit ia n (1.70) a transformatelor
v
(P)
=V
(P)
, w
(P)
=W
(P)
,
relat iile de legatura ntre cele trei transformate ind deosebit de simple
U
(2P)
k
= V
(P)
k
+
k
W
(P)
k
, U
(2P)
k+P
= V
(P)
k

k
W
(P)
k
, k 0, P 1 (1.71)
unde s-a folosit identitatea
k+P
=
k
. Acest rezultat este cunoscut ca lema
lui Danielson si Lanczos. Evaluarea directa a lui U
(2P)
ar costat O(4P
2
)
operat ii aritmetice. Acum avem de evaluat dou a transformate, V
(P)
, W
(P)
ce
ecare necesita O(P
2
) operat ii pentru un total de O(2P
2
) operat ii. Reducerea
la jumatate a calculelor este beneca, nsa se poate castiga si mai mult daca N
este o putere a lui 2, N = 2
q
.

In acest caz separarea pe indici pari si impari
poate continua pana cand se ajunge la transformarea unui vector de lungime
1 ce nu necesita nici o operat ie aritmetica deoarece se reduce la transformarea
de identitate, U
(1)
= u
(1)
. Singurele operat ii artimetice ce mai raman sunt
nmult irile cu
k
din (1.71). Calculul se poate vizualiza ca parcurgerea arborelui
cu q = log
2
N nivele din g. 1.9. Pe ecare nivel sunt necesare doar N operat ii
aritmetice astfel ncat obt inem costul ment ionat anterior de O(N log
2
N).
Separarea repetata n indici pari si impari conduce la o alta ordonare a
componentelor vectorului u
(N)
. Exemplicam pentru N = 2
3
= 8. Vectorul
u
(N)
are componente de indici de la 0 la 7. Procedeul de separare par-impar se
aplica de doua ori dupa cum este aratat n urmatoarea schema
etapa 0: 0 1 2 3 4 5 6 7
etapa 1: 0 2 4 6 1 3 5 7
etapa 2: 0 4 2 6 1 5 3 7

Inmult irile cu diversele puteri ale lui trebuie sa le ncepem asupra vectorului
permutat u
0
, u
4
, u
2
, u
6
, u
1
, u
5
, u
3
, u
7
. Permutarea se poate construi nsa foarte
usor daca scriem indicii init iali si nali n binar
etapa 0: 000
2
001
2
010
2
011
2
100
2
101
2
110
2
111
2
etapa 2: 000
2
100
2
010
2
110
2
001
2
101
2
011
2
111
2
.
Observat i ca inversarea ordinei de citire a indicilor din ultima etapa corespunde
chiar la numerotarea naturala 0, 1, . . . , 7 anume: 000
2
citit de la dreapta la
1.1. Aproximarea prin interpolare 27
Figura 1.9: Arborele de recurent a de la TFR.
stanga este 000
2
= 0, 100
2
citit de la dreapta la stanga este 001
2
= 1,. . . ,011
2
citit de la dreapta la stanga este 110
2
= 6, 111
2
citit de la dreapta la stanga
este 111
2
= 7. Rezultatul este valabil pentru orice N = 2
q
iar permutarea nala
a indicilor se zice n ordine bit-inversata. Putem da acum algoritmul TFR
j = 1 : N 2
_
k invbit(j, q)
daca k > j permut a(u
j
, u
k
)
rad exp(semn 2i/N);

0
1
j = 1 : N/2

j
rad
j1
t 1; p 2; s N/2

cat timp p N
_

_
j = 0 : p : N 1
_

_
r 0
k = 0 : t 1
_

_
tmp u
j+k
u
j+k
tmp +
r
u
j+k+t
u
j+k+t
tmp
r
u
j+k+t
r r +s
t 2t; p 2p; s s/2 .
Vectorul init ial u este nlocuit de transformata sa discreta ca atare algoritmul
nu necesita memorie suplimentara. Variabila semn ia valoarea 1 pentru TFR
directa si 1 pentru TFR inversa; n acest ultim caz vectorul nal mai trebuie
mpart it la N. Funct ia invbit(j, q) ntoarce indicele ce se obt ine prin inversarea
ordinei bit ilor de la 0 la q 1 din j. Operat ia se poate exprima ntr-un limbaj
de nivel nalt prin nmult iri si mpart iri cu 2, dar de regula este implementata
ecient la nivel de cod masina. Vericarea condit iei k > j are rolul de a nu
strica permutarile deja efectuate n cadrul buclei.
Algoritmul TFR poate folosit pentru calculul coecient ilor polinomului
trigonometric (1.57) precizat i de relat iile (1.58). O cale evidenta este sa se scrie
c
k
a
k
+ib
k
=
1
N
2N1

j=0
y
j
exp(2ijk/2N), k 0, N
si sa se aplice TFR asupra vectorului y
j
, j 0, 2N 1 ce are 2N componente.

Insa, daca vectorul y


j
este real, se poate obt ine rezultatul cu doar jumatate
28 1. Aproximarea functiilor de o variabil a
Figura 1.10: O masuratoare experimentala a unei vibrat ii compuse complexe.
din efortul de calcul printr-o separare n componente pare si impare
z
m
= y
2m
+iy
2m+1
, m 0, N 1 .
Introducem transformatele directe z =Z, (y
2m
) =P, (y
2m+1
) =I. Avem
Z
k
= P
k
+iI
k
, Nc
k
= P
k
+I
k
exp(ik/N) .
Se verica imediat ca TFD, F a unei funct ii reale f satisface F
Nk
= F

k
, unde
F

k
este conjugata complexa a lui F
k
. Ca atare
Z
Nk
= P
Nk
+iI
Nk
= P

k
+iI

k
Z

Nk
= P
k
iI
k
si putem deduce expresiile P
k
= (Z
k
+ Z

Nk
)/2, I
k
= i(Z
k
Z

Nk
)/2 astfel
ncat
c
k
=
1
2N
(Z
k
+Z

Nk
)
i
2N
(Z
k
Z

Nk
) exp(ik/N), k 0, N . (1.72)
Exista multe astfel de combinat ii posibile ce furnizeaza moduri economice de a
calcula transformata Fourier a unui vector ce are proprietat i de simetrie supli-
mentare.
Exemplu. Prezentam o aplicat ie reala tipica. Un senzor de vibrat ii a masurat
deplasarile unei componente mecanice rezultand datele din g. 1.10. Vibrat iile de
frecvent a mai joasa de 1 Hz nu prezentau interes astfel ncat fereastra de timp n
care s-au masurat datele a fost de t = 1 sec. Se cere identicarea frecvent elor de
amplitudine maxima astfel ncat sa se poata identica sursele de excitat ie ce produc
vibrat ia componentei.
Rezolvare. Masuratorile au fost efectuate cu patru rate de esantionare N = 256,
512, 1024 rezultand datele u
(256)
, u
(512)
, u
(1024)
. Pentru identicarea frecvent elor do-
minante se calculeaza spectrul de putere al semnalului denit de
Pu(f) = 2U(f)U(f) ,
unde u =U. Spectrul se calculeaza prin aplicarea TFR asupra datelor din g. 1.10.
Deoarece semnalul este real se aplica relat ia (1.72), lungimea transformatelor ind
1.1. Aproximarea prin interpolare 29
Figura 1.11: Spectrele de putere ale semnalului anterior pentru N = 256, 512, 1024.
N/2. Rezultatele sunt prezentate n g. 1.11. Maximele locale sunt denumite picuri
si corespund la vibrat iile predominante. Se poate observa ca la trecerea la o rata de
esantionare mai mare uneori apar noi picuri n domeniul frecvent elor mari iar unele
picuri din domeniul frecvent elor mici dispar. De asemenea, amplitudinile asociate unui
pic se modica uneori. Alte picuri nu par afectate de cresterea ratei de esantionare.
Comportarea rezulta din fenomenul de mascare discutat n 1.1.3. De exemplu,
picurile , sunt stabile la trecerea de la spectrul 2 la 3. Rezulta ca pentru aceste
frecevent e mici criteriul Nyquist este statisfacut si n plus nu are loc mascharea unor
frecvent e mai nalte. Picul din spectrul 2, construit cu N = 512 dispare complet
nsa la trecerea la spectrul 3, construit cu N = 1024.

In spectrul 2 picul era
fals, n sensul ca nu reprezenta o vibrat ie reala cu frecvent a f. De fapt, rata de
esantionare folosita era prea mica astfel ncat se nregistra contribut ia unei frecvent e
mai nalte f

2f, frecvent a a carei contribut ie devine discernabila atunci cand se


dubleaza rata de esantionare n spectrul 3.

Intr-adevar pentru a discerne frecvent a
f

= 350 Hz criteriul Nyquist indica necesitatea a cel put in 700 puncte, condit ie
realizata doar de masurarea u
(1024)
. Exemplul arata important a studiilor de rezolut ie
n aplicat ii de aproximare spectrala, studii n care se urmareste stabilitatea spectrului
la modicarea ratelor de esantionare.

In aplicat ii practice, fenomenul de mascare se
elimina prin folosirea unor ltre trece-jos cu pret ul pierderii port iunii de frecvent e
nalte a spectrului.
30 1. Aproximarea functiilor de o variabil a
1.2 Aproximarea mini-max
Trecem acum la considerarea celui de-al doilea criteriu de aproximare (1.3).
Exemplul lui Runge din 1.1.1 a aratat ca aproximarea prin interpolare, chiar
daca trece prin noduri, poate prezenta erori mari (chiar innit de mari!) ntre
noduri. De aici provine ideea de a ncerca gasirea unei aproximari optimale pe
tot intervalul [a, b], nu numai n noduri. O exprimare matematica a acestei idei
este sa se minimizeze eroarea maxima ntre funct ia f(x) si aproximanta g(x),
adica criteriul (1.3) pe care-l repetam aici
max
x[a,b]
[f(x) g(x)[ = minim . (1.73)
Astfel formulata problema este momentan incomplet denita deoarece nu am
precizat din ce mult ime de funct ii luam pe g(x).
1.2.1 Polinoamele Cebasev
Vomncepe prin a presupune iarasi ca funct ia aproximanta g(x) apart ine mult imii
polinoamelor. Criteriul de minimizare a erorii maxime (1.73) face referire la
un anume interval [a, b]. Deoarece rezultatele de mai jos depind de interval,
adoptam un interval canonic [1, 1]. O transformare de scara x = z(b a)/2 +
(b+a)/2, x [a, b], z [1, 1] poate aduce orice alt interval nit pe cel canonic.
De data aceasta nu vom scrie funct ia aproximanta g(x) ca o combinat ie li-
niara de monoame. Examinnd comportarea monoamelor x
k
pe intervalul [1, 1]
se constata ca toate iau valori absolute maxime la capetele intervalului; prin ur-
mare este de asteptat ca erorile de aproximare sa nu e distribuite uniform pe
interval. Aceasta sugereaza cautarea unor polinoame care sa nu varieze mono-
ton pe [1, 1]. Intuitiv, variat ia monotona face dicila descrierea unor variat ii
rapide ale funct iei f n interiorul intervalului [1, 1]. Ceea ce ne trebuie este o
mult ime de polinoame denite pe [1, 1] care sa poata descrie astfel de variat ii
ntr-un mod cat mai economic, adica folosind un numar mic de polinoame.
Funct iile trigonometrice considerate anterior prezentau part ial o astfel de com-
portare: cos 2x si sin 2x descriau variat iile de perioada 1, cos 4x si sin 4x
descriau variat iile de perioada 1/2, s.a.m.d. Spunem part ial deoarece nu a fost
ndeplinita si dorint a de economicitate avem doua funct ii, sin si cos pentru
descrierea variat iilor de o anumita perioada. Pe baza funct iilor trigonometrice
putem nsa introduce o clasa remarcabila de polinoame descoperite de Cebasev
a caror proprietat i sunt deosebit de favorabile aproximarii optimale c autate n
aceasta sect iune.
Vom lua z [1, 1]. Introducem variabila [0, ] prin relat iile
z = cos , = arccos z .
Sa consideram acum funct ia T
n
(z) = cos n. Funct ia are n radacini pe (1, 1)
T
n
(z) = cos n = 0
k
= (2k 1)/2n, k 1, n ,
1.2. Aproximarea mini-max 31
Figura 1.12: Primele 5 polinoame Cebasev.
Tabelul 1.2: Polinoame Cebasev
n T
n
(z) z
n
0 1 T
0
1 z T
1
2 1 + 2z
2
(T
0
+T
2
)/2
3 3z + 4z
3
(3T
1
+T
3
)/4
4 1 8z
2
+ 8z
4
(3T
0
+ 4T
2
+T
4
)/8
5 5z 20z
3
+ 16z
5
10T
1
+ 5T
3
+T
5
z
k
= cos
k
= cos[(2k 1)/2n], k 1, n .
Din identitatea trigonometrica cos n+cos(n2) = 2 cos(n1) cos deducem
o relat ie de recurent a pentru T
n
(z)
T
n
(z) = 2zT
n1
(z) T
n2
(z) . (1.74)
Deoarece T
0
(z) = 1, T
1
(z) = z iar T
2
(z), T
3
(z), . . . rezulta din (1.74) prin
operat ii de adunare si nmult ire, putem observa ca T
n
(z) sunt polinoame de
gradul n, denumite polinoame Cebasev relative la intervalul compact [1, 1].
Funct ia cos n se numeste funct ia generatoare a acestor polinoame.
Gracele primelor cateva polinoame Cebasev sunt prezentate n g. 1.12 iar
expresiile lor n tabelul 1.2 mpreun a cu exprimarile monoamelor z
n
n funct ie
de T
k
(z), k 0, n. Se observa din g. 1.12 ca ecare polinom Cebasev de grad
mai nalt poate descrie variat ii mai rapide ale unei funct ii pe intervalul [1, 1].
Din formula de recurent a, se observa ca n T
n
(z) coecientul lui z
n
este
2
n1
, astfel ncat polinomul

T
n
(z) 2
1n
T
n
(z) are coecientul lui z
n
egal
32 1. Aproximarea functiilor de o variabil a
cu unitatea. Polinoamele cu un coecient 1 al termenului de grad maxim se
numesc polinoame monice. Proprietatea esent iala a polinoamelor Cebasev ce le
face adecvate aproximarii mini-max este:
Teorema. Dintre toate polinoamele monice de grad n xat,

T
n
(z) are cea mai
mica margine n valoare absoluta pe intervalul [1, 1].
Demonstrat ie. Proced am prin reducere la absurd.

In acest scop sa observam
mai ntai ca funct ia


T
n
(z)

= 2
1n
[cos n[ ia de n+1 ori valorea maxima 2
1n
pe [1, 1], anume n punctele distincte z

k
= cos(k/n), k 0, n. Sa consideram
apoi un alt polinom monic de acelasi grad p
n
(z), si sa presupunem prin absurd
ca acesta ar avea o margine superioara mai mica n modul dect

T
n
(z) pe [1, 1],
adica
sup
z[1,1]
[ p
n
(z)[ < sup
z[1,1]


T
n
(z)

= 2
1n
. (1.75)

In consecint a, chiar n punctele z

k
[ p
n
(z

k
)[ < 2
1n
. (1.76)
Considernd diferent a d
n1
(z) a polinoamelor

T
n
(z) si p
n
(z), d
n1
(z)

T
n
(z)
p
n
(z) vom obt ine, evident, un polinom de gradul n 1. Din (1.76) rezulta
(1)
k
_

T
n
(z

k
) p
n
(z

k
)

= (1)
k+n
d
n1
(z
k
) > 0, k n, 0
adica d
n1
(z) are n schimbari de semn pe (1, 1), deci polinomul de gradul
n1, d
n1
(z), ar avea n radacini, ceea ce este absurd. Rezulta ca presupunerea
(1.75) nu este adevarata, deci oricare ar polinomul monic p
n
(z) avem
sup
z[1,1]
[ p
n
(z)[ 2
1n
. 2 (1.77)

In continuare se dau doua aplicat ii importante ale polinoamelor mini-max.


1.2.2 Minimizarea erorii la interpolarea polinomiala
Trecem la un prim exemplu concret de aplicare a criteriului mini-max, anume n
formularea generala (1.73) vom lua funct ia aproximanta un polinom de gradul
N 1
max
x[a,b]
[f(x) p
N1
(x)[ = minim.
Dorim sa determinam, dintre toate polinoamele de grad N 1, pe cel ce mini-
mizeaza abaterea maxima fat a de funct ia f(x). Polinomul obt inut va numit
polinom mini-max de grad N1 al funct iei f(x) pe intervalul [a, b]. Este conve-
nabil sa privim polinomul p
N1
ca ind denit de faptul ca trece prin nodurile
(x
i
, y
i
), i 1, N. Nodurile nsa, spre deosebire de problema anterioara de
1.2. Aproximarea mini-max 33
interpolare, sunt acuma necunoscute. Vom minimiza eroarea maxima printr-o
alegere adecvata a nodurilor. Eroarea este n acest caz chiar restul interpolarii
ce are forma (1.16)
R
N1
(x) =
N

i=1
(x x
i
) f
(N)
()/N! .

In general derivata f
(N)
() nu este cunoscuta, astfel ncat se poate pune doar
problema minimizarii produsului. Acest este un polinom de gradul N. Utilizand
schimbarea de variabila
x = z(b a)/2 + (b +a)/2 (1.78)
trecem de la intervalul [a, b] pe care dorim sa minimizam eroarea la intervalul
[1, 1]. Se obt ine, considerand si (1.77)

i=1
(x x
i
)

=
_
b a
2
_
N

i=1
(z z
i
)

_
b a
2
_
N
2
1N
.
Rezulta ca optimul, corespunzand egalitat ii, se realizeaza daca punctele z
i
sunt
radacinile polinomului Cebasev de gradul n. Vom aranja indicii astfel ncat
radacinile sa apara n ordine crescatoare
z
Ni+1
= cos[(2i 1)/2N], i 1, N . (1.79)

In aceste condit ii se obt ine cea mai mica margine superioara pentru restul
la interpolare
[R
N1
(x)[ 2
12N
(b a)
N
max
[a,b]

f
(N)
()

/N! .
Marginea depinde de marimea intervalului (a, b), de numarul de noduri N
si de derivata f
(N)
. Rezultatul obt inut se poate enunt a: dintre toate poli-
noamele de interpolare de grad N 1, cel ce minimizeaza eroarea maxima
max [f(x) p
N1
(x)[ cu x [1, 1] este cel construit cu abscisele nodurilor
date de radacinile polinomului Cebasev de grad N.
Exemplu. Am vazut ca interpolarea funct iei lui Runge f(x) = 1/(1 + x
2
) pe
[5, 5] cu o repartit ie echidistanta a nodurilor nu converge. Vom determina acum un
alt polinom ce aproximeaza pe f(x) dar la care nodurile nu mai sunt luate echidistant,
ci sunt determinate de criteriul mini-max, anume vom lua x
k
= 5z
k
, k 1, N, cu z
k
determinate de (1.79). Ca n exemplele precedente calitatea aproximarii este apreciata
prin evaluarea erorii relative =

500
i=1
[f(ui) pN1(ui)[ / [f(ui)[ pe o diviziune mai
na a intervalului [5, 5]. Variat ia erorii cu N este
N 5 10 15 20 25 30 35 40 45 50
lg 0.4 0.8 1.2 1.6 2.1 2.4 3.0 3.3 3.8 4.2
obervandu-se ca aproximarea converge. Observam acum clar important a alegerii no-
durilor pe care se bazeaza o interpolare. Aproximarea prezenta este tot o interpolare,
bazata nsa pe alte noduri decat cele echidistante considerate anterior. Comportarea
aproximarii este redata n g. 1.13. Se observa ca, pentru N mic, apar oscilat ii ntre
noduri dar, spre deosebire de cazul redat n g. 1.1, acestea nu mai cresc la innit.
34 1. Aproximarea functiilor de o variabil a
Figura 1.13: Polinoamele de interpolare cu noduri alese optimal pentru N = 11, 21, 31
suprapuse peste f(x). Nodurile sunt reprezentate doar pentru N = 31.
1.2.3 Aproximarea aproape mini-max a unei funct ii
Vom considera acum o relaxare a criteriului (1.73) anume
max
x[a,b]
[f(x) p
N
(x)[ e . (1.80)
Criteriul (1.80) este mai larg decat cel anterior (1.73) deoarece nu mai impunem
determinarea polinomului aproximant p
N
(x) astfel ncat sa realizam un minim
al erorii, ci doar ca eroarea sa devina mai mica decat un prag dat e. De data
aceasta gradul polinomului nu se mai considera xat, ci cautam polinomul de
gradul cel mai mic ce satisface condit ia (1.80). Asemenea probleme apar tipic n
situat ii n care dorim o aproximare cat mai economica n operat ii aritmetice
12
.
Vom lua [1, 1] pentru intervalul din (1.80) si vom presupune ca funct ia f(x)
are o dezvoltare n serie de puteri
f(x) =
M

k=0
b
k
x
k
, (1.81)
unde eventual putem avea M . Puterile x
k
se pot exprima n funct ie de
polinoamele Cebasev (vezi tabel 1.2) astfel ncat f se poate scrie
f(x) =
M

k=0
a
k
T
k
(x) . (1.82)
Am vazut ca polinoamele Cebasev sunt mai eciente n descrierea variat iilor
unei funct ii pe [1, 1] decat monoamele x
k
. Este asadar de asteptat ca sirul
12
Procedeul ce urmeaza mai este cunoscut sub denumirea de economizare de serii.
1.2. Aproximarea mini-max 35
a
k
de coecient i sa scada mai repede n modul decat sirul b
k
. Dorim sa
pastram un numar de termeni cat mai mic posibil n dezvoltarea (1.82) pentru
a reduce numarul de operat ii aritmetice. Ca atare, trunchiem dezvoltarea la
k = N, aproximarea ind
p
N
(x) =
N

k=0
a
k
T
k
(x).
Deoarece [T
k
(x)[ 1, vom putea trunchia seria (1.82) la cel mai mic N pentru
care avem
[f(x) p
N
(x)[ =
M

k=N+1
[a
k
[ < e .
Polinomul p
N
(x) obt inut poate diferit de polinomul mini-max de grad N
al funct iei f(x) si este uzual denumit polinom aproape mini-max. Apare imediat
ntrebarea: de ce mai e nevoie de un procedeu diferit de cel din 1.2.2? De ce nu
construim direct polinomul mini-max de grad N? Observat i nsa can procedeul
din 1.2.2 gradul polinomului se considera cunoscut. De asemenea, cu toate ca
se stie ca polinomul mini-max realizeaza o eroare minima, nu este cunoscuta
valoarea efectiva a acestei erori. Urmand algoritmul din aceasta sect iune, avem
certitudinea ndeplinirii unei condit ii de eroare impusa.
Exemplu.

Intr-un calculator de navigat ie aeriana, este nevoie de un algoritm de
aproximare a funct iei cos x. Abaterea maxima admisa este e 10
5
pe intervalul
[/2, /2]. Calculatorul lucreaza n timp real. Ca atare este esent ial ca algoritmul
sa e cat mai economic posibil. Pentru a rezolva problema se trece la intervalul [1, 1],
cu schimbarea de variabila x = z/2. Funct ia cos(z/2) are dezvoltarea n serie
cos

2
z = 1
1
2!
_

2
_
2
z
2
+
1
4!
_

2
_
4
z
4
+ . . . + (1)
n
1
(2n)!
_

2
_
2n
z
2n
+ R2n+1.
Restul dezvoltarii poate marginit dupa cum urmeaza
[R2n+1[ =

cos
(2n+1)

(2n + 1)!
_

2
_
2n
[z[
2n+1

1
(2n + 1)!
_

2
_
2n
.
Restul devine mai mic decat eroarea impusa pentru n = 5. Deci suma Taylor
S10(z) = 1
1
2!
_

2
_
2
z
2
+
1
4!
_

2
_
4
z
4

1
6!
_

2
_
6
z
6
+
1
8!
_

2
_
8
z
8

1
10!
_

2
_
10
z
10
realizeaza condit ia de eroare impusa si avem M = 10 n (1.81).

Inlocuim monoamele
z
k
din S10(z) prin expresiile lor n funct ie de polinoamele Cebasev folosind relat iile
din tabelul 1.2. Se obt in urmatoarele valori ale coecient ilor a
k
din (1.82)
a0 a2 a4 a6 a8 a10
0.472 0.499 2.79 10
2
5.96 10
4
6.69 10
6
4.92 10
8
Coecient ii de indici impari sunt nuli. Avem [a8[ +[a10[ < e = 10
5
astfel ncat putem
sa trunchiem la N = 6 si obt inem aproximarea
p6(x) = 0.999993 0.499912x
2
+ 0.0414876x
4
1.27122 10
3
x
6
36 1. Aproximarea functiilor de o variabil a
Figura 1.14: Variat ia erorii e(z) = cos z p6(z).
ce realizeaza eroarea impusa dar cu 40% mai put ine operat ii aritmetice decat S10.
Gracul erorii cos x p6(x) prezentat n gura (1.14) conrma atingerea preciziei
impuse.
1.3 Aproximarean sensul celor mai mici patrate
Reamintim ca, n acest caz, criteriul de aproximare l reprezinta minimizarea
sumei (1.5)
S =
N

k=1
[y
k
g(x
k
)]
2
= minim, (1.83)
valorile (x
k
, y
k
) ind date. Este convenabil ca aproximanta g(x) sa se puna sub
forma (1.6)
g(x) =
n

j=1
a
j
g
j
(x) , (1.84)
g
j
(x) ind funct ii cunoscute, liniar independente, iar a
j
, j = 1, 2, . . . , n parame-
tri nedeterminat i. Ca si n 1.2, criteriul (1.83) pune o problema de minimizare
a erorii. Vom vedea cum cateva not iuni mai avansate, considerate n 1.4, ne
vor conduce la concluzia ca atat criteriul mini-max cat si cel al celor mai mici
patrate sunt doar formulari diferite ale unui acelasi criteriu de aproximare op-
timala. Deocamdata vom considera nsa doar aspectele simple ale teoriei.
Aproximarea n sensul celor mai mici patrate este utilizata mai ales n cazul
prelucrarii datelor experimentale.

In acest caz, nu se recomanda folosirea inter-
polarii deoarece valorile masurate cont in erori inerente, repartizate probabilistic
1.3. Aproximarea n sensul celor mai mici patrate 37
avand caracterul unor perturbat ii care trebuie, dimpotriva, eliminate
13
. Este
deci evident ca numarul de parametri n trebuie sa e mai mic decat numarul
de noduri N, n < N.
Criteriul (1.83), ca si 1.73, minimizeaza o eroare.

In acest caz nsa eroarea
este scrisa ca o suma de patrate. Consecint a esent iala a acestei alegeri este
ca S(a
1
, . . . , a
n
) este derivabila, fapt ce poate exploatat pentru a determina
coecient ii a
i
. Pentru ca S(a
1
, . . . , a
n
) sa aibe un extrem trebuie ca derivatele
part iale n raport cu a
i
sa se anuleze
S/a
i
= 0, i 1, n. (1.85)
Observat i introducerea unui indice i diferit de cel de nsumare j din (1.84).
Relat iile (1.85) reprezinta un sistem de n ecuat ii cu n necunoscute. Deoarece
S este o suma de patrate extremul dat de condit iile (1.86) exista si reprezinta
chiar un minim. Folosind expresiile (1.83) si aranjand termenii se obt ine
n

j=1
a
j
_
N

k=1
g
i
(x
k
)g
j
(x
k
)
_
=
N

k=1
y
k
g
i
(x
k
), i 1, n, (1.86)
adica un sistem de n ecuat ii pentru cei n parametrii a
j
, j 1, n.
Forma sumei S se poate generaliza ntrucatva introducand o funct ie pondere
w(x), pozitiva, continua, cu valori n intervalul [0, 1], care sa ia n considerare
unele distinct ii privind important a valorilor luate n noduri. Se va scrie atunci
S =
N

k=1
w(x
k
)[y
k
g(x
k
)]
2
= minim, (1.87)
iar sistemul (1.86) se va nlocui cu
n

j=1
a
j
_
N

k=1
w(x
k
)g
i
(x
k
)g
j
(x
k
)
_
=
N

k=1
y
k
w(x
k
)g
i
(x
k
), i 1, n . (1.88)
Sistemele (1.86) sau (1.88) se pot rezolva prin metodele din capitolul 5, de
rezolvare a sistemelor de ecuat ii liniare. O observat ie importanta este legata de
faptul ca aceste sisteme pot ridica probleme legate de introducerea unor erori
mari n calculul numeric, mai ales cand diviziunile sunt egale
14
. Funct iile g
j
(x)
se pot alege din baza canonica
g
j
(x) = x
j1
, j 1, n, (1.89)
sau baze formate din diverse polinoame ortogonale pe mult imea discreta de
puncte x
k
, k 1, N (vezi 1.4.2). Alegerea de polinoame ortogonale are avantajul
considerabil al reducerii erorilor ce pot apare la rezolvarea sistemelor (1.86) sau
13
Un exemplu ar eliminarea zgomotului de fond de la aparatura radio.
14
In limbajul din capitolul 5, matricea sistemului (1.86) sau (1.88) este rau condit ionata,
iar rezolvarea cere tehnici speciale cum ar descompunerea n valori singulare.
38 1. Aproximarea functiilor de o variabil a
Figura 1.15: Abaterile geometrice e (n microni) nregistrate la prelucrarea mecanica
a 1000 de piese.
(1.88). Deseori, din informat ii suplimentare, cunoastem forma cea mai adecvata
a funct iilor g
j
(x). Un exemplu este prezentat la sfarsitul sect iunii. Folosirea
unei combinat ii liniare (1.84) pentru funct ia aproximanta g(x) este convenabila
deoarece conduce la un sistem liniar de ecuat ii pentru coecient ii a
i
. Se pot
adopta nsa si alte forme, cu complicat ia posibilei aparit ii a unui sistem neliniar
de ecuat ii, mult mai dicil de rezolvat.

Incheiem cu observat ia ca nu s-a precizat
nca ce grad al polinomului ar conduce la cea mai mica eroare, adica la cea mai
mica valoare a lui S n (1.83). Un criteriu util pentru alegerea gradului este
minimizarea expresiei

U = S/(N n) (1.90)
prin varierea lui n.
Exemplul 1.

In cadrul unei operat ii de prelucrare mecanica se nregistreaza aba-
terile din g. 1.15 de la cotele nominale. Sunt reprezentate si marginile ce determina
rebuturi. Se punentrebarea daca are loc vreo crestere sistematica a abaterilor datorita
uzurii utilajului.
Rezolvare. Construim o aproximare liniara prin cele mai mici patrate. Procedeul
este denumit regresie liniara. Expresia pentru abaterile e funct ie de numarul de piese
prelucrate p este
e = ap + b
iar coecient ii a, b rezulta din rezolvarea sistemului
_
_
_
_

N
k=1
p
2
k
_
a +
_

N
k=1
p
k
_
b =
_

N
k=1
e
k
p
k
_
_

N
k=1
p
k
_
a + Nb =
_

N
k=1
e
k
_
Se obt ine a = 1.11 10
2
/piesa si b = 4.78 ceea ce indica o crestere cu 1 a
abaterii la ecare 100 de piese prelucrate, crestere datorata probabil uzurii utilajului.
De asemenea din faptul ca reglajul init ial a fost efectuat astfel ncat sa se produca o
abatere negativa de circa 5 se poate deduce ca aparit ia uzurii era prevazuta.
1.3. Aproximarea n sensul celor mai mici patrate 39
Exemplul 2. O serie de masuratori chimice au furnizat ratele de react ie din tabelul
de mai jos. Din teoria react iilor chimice se cunoaste dependent a ratei de react ie de
temperatura
k = cT

exp(K/1T) .
Se cere estimarea parametrilor c, , K pe baza masuratorilor efectuate. Constanta
gazelor 1 =8314 J/mol/K este cunoscuta.
T k T k T k
K mol/cm
3
K mol/cm
3
K mol/cm
3
2000 8.4765e12 2600 5.0189e12 3200 3.3146e12
2100 7.6895e12 2700 4.6544e12 3300 3.1169e12
2200 7.0071e12 2800 4.3282e12 3400 2.9364e12
2300 6.4118e12 2900 4.0351e12 3500 2.7711e12
2400 5.8892e12 3000 3.7708e12 3600 2.6194e12
2500 5.4280e12 3100 3.5317e12 3700 2.4799e12
Rezolvare. Dependent a k(c, , K) este neliniara. Putem nsa logaritma relat ia de
mai sus
ln k = ln c + ln T K/1T
si reobt inem o dependent a liniara de parametrii c, , K. Se construieste suma
S =
N

j=1
(ln c + ln Tj K/1Tj ln kj)
2
.
Condit iile de extrem S/(ln c) = 0, S/ = 0, S/K = 0 conduc la sistemul
_

_
N ln c +
_

N
j=1
ln Tj
_

_

N
j=1
1/Tj
_
K/1 =
_

N
j=1
ln kj
_
_

N
j=1
ln Tj
_
ln c +
_

N
j=1
ln
2
Tj
_

_

N
j=1
ln Tj/Tj
_
K/1 =
_

N
j=1
ln kj ln Tj
_
_

N
j=1
1/Tj
_
ln c +
_

N
j=1
ln Tj/Tj
_

_

N
j=1
1/T
2
j
_
K/1 =
_

N
j=1
ln kj/Tj
_
a carui solut ie este ln c = 44.97, c = 3.39 10
19
mol/K
2
/cm
3
/s, = 2, K = 46000
J/mol.
Exemplul 3. Sa presupunem date masuratori zice ale energiei de vibrat ie ale
unei molecule de O2. Se cunoaste dependent a energiei de temperatura
e =
hv/kT
exp(hv/kT) 1
RT
Se cere , frecvent a fotonilor emisi la saltul ntre doua nivele energetice.
Rezolvare.

In acest caz nu avem nici o posibilitate de a liniariza problema. Notam
x = hv/k. Suma patratelor este
S =
N

j=1
_
x/Tj
exp(x/Tj) 1
RTj ej
_
2
,
40 1. Aproximarea functiilor de o variabil a
Tabelul 1.3: Coecient ii polinomului aproximant din exemplul 4.
a
1
a
2
a
3
a
4
a
5
a
6
a
7
Simpla -526.0 4769 4059 1242 -1683 11.79 0.7434
Dubla 40.00 10.00 5.000 3.000 2.000 1.000 1.000
iar din S/v = 0 se obt ine o ecuat ie neliniara de forma f(x) = 0, sau explicit
N

j=1
__
x/Tj
exp(x/Tj) 1
RTj ej
_
[exp(x/Tj) 1] x/Tj exp(x/Tj)
[exp(x/Tj) 1]
2
_
= 0
Determinarea solut iei se poate efectua prin metodele din capitolul 4.
Exemplul 4. (Dorn) Dam un exemplu al erorilor mari ce pot aparea atunci cand
nu lucram cu funct ii ortogonale. Generam un set de noduri |x
k
, y
k
, k 1, 15 unde
luam x
k
= k 1, y
k
= f(x
k
) cu f(x) = 40 + 10x + 5x
2
+ 3x
3
+ 2x
4
+ x
5
+ x
6
. Vom
ncerca reobt inerea coecient ilor polinomului f prin metoda celor mai mici patrate
folosind alegerea (1.89), gj = x
j1
, j 1, 7. Coecient ii obt inut i n urma rezolvarii
sistemului liniar
15
n simpla (32 bit i) si dubla precizie (64 bit i) sunt prezentat i n tabel
1.3. Acumularea rezultatelor part iale s-a facut n precizie extinsa (80 bit i) n ambele
cazuri. Se poate observa ca obt inem abateri mari de la valorile exacte ale coecient ilor
n simpla precizie. Marirea preciziei furnizeaza rezultatul exact, astfel ncat suntem
asigurat i ca modul de calcul este corect si abaterile din calculul n simpla precizie t in
de nsasi natura problemei. Exemplul este reluat la sfarsitul sect iunii 1.4 cu folosirea
unor funct ii ortogonale pentru gj pentru a vedea efectul benec al acestora.
Sa presupunem acum ca nu am cunoaste gradul polinomului ce ar conduce la o
cea mai mica eroare. Rezolvand problema pentru diverse valori ale lui n se obt in
urmatoarele valori pentru S/(N n)
n 1 2 3 4 5 6 7 8 9
S/(N n) 5.3E11 5.1E10 1.8E09 1.3E07 9.4E05 3.3E05 3.2E04 5.2E04
Se observa ca cea mai mica valoare a sumei se obt ine aproape de gradul polinomului
f, n = 8.
1.4 Elemente de teoria aproximarii
Din cele prezentate pana acum, s-ar parea ca problemele de aproximare pre-
zinta multe aspecte ad hoc, lasate la alegerea celui care abordeaza o problema
concreta sau alta. Pentru a putea vedea modul natural n care apar criteriile de
aproximare discutate pana acum avem nevoie de un cadru teoretic mai general.
Efortul depus n asimilarea acestuia este pe deplin rasplatit n aprecierea unitat ii
problemelor de aproximare deja parcurse.

In plus, deoarece aproximarea sta la
baza multor altor algoritmi, cadrul teoretic va avea aplicat ii directe si n alte
15
Prin eliminare Gauss cu pivotare completa vezi capitolul 5.
1.4. Elemente de teoria aproximarii 41
procedee numerice. Vom prefera o prezentare mai degraba intuitiva decat rigu-
roasa a not iunilor de analiza funct ionala utile teoriei aproximarii. De asemenea,
vomncerca formularea unei analogii geometrice utile asimilarii acestor not iuni.
1.4.1 Spat ii vectoriale
Astfel, forma (1.6) a funct iei de aproximare g(x) a fost aleasa astfel ncat de-
terminarea coecient ilor a
k
, k 1, N sa conduca la sisteme de ecuat ii liniare.
S-a remarcat apoi ca nici setul de funct ii g
k
(x) nu poate complet arbitrar,
ajungandu-se la sugerarea proprietat ii de independent a liniar a. De fapt, am
ales elemente dintr-o structura bine cunoscuta din algebra, aceea de spat iu vec-
torial sau spat iu liniar. Notam un spat iu vectorial oarecare prin 1. Elemen-
tele spat iului se numesc vectori. Denumirea sugereaza originea geometrica a
not iunilor, nsa vom putea interpreta ca vectori si funct iile g
k
(x) sau funct ia
g(x).

In denit ia acestei structuri algebrice intra operat ii de adunare ntre vec-
tori si de nmult ire a vectorilor cu numere reale sau complexe, denumite scalari,
cum ar parametrii a
k
. Mult imea din care se iau scalarii o notam cu S. De
regula avem scalari din mult imea numerelor reale, S = R, sau din mult imea
numerelor complexe, S = C. Fara a repeta toate proprietat ile din denit ia
unui spat iu vectorial, vom ret ine ca prin nmult irea unui scalar cu un vector,
rezultatul este un vector, iar la adunarea vectorilor se obt in tot vectori.
Vectorii nenuli u
k
, k = 1, N se numesc liniar dependent i daca unul dintre ei
se poate exprima ca o combinat ie liniara a celorlalt i, adica sa existe scalarii a
k
,
nu tot i nuli, astfel ncat sa aibe loc egalitatea
N

k=1
a
k
u
k
= 0 . (1.91)
Daca a
M
este unul din coecient ii nenuli, vectorul u
M
se poate exprima ca o
combinat ie liniara a celorlalt i
u
M
=
1
a
M
_
M1

k=1
a
k
u
k
+
N

k=M+1
a
k
u
k
_
. (1.92)

In egalitatea (1.91), 0 din membrul drept este vectorul nul al spat iului, diferit de
scalarul zero. Din context se poate nt elege ntotdeauna semnicat ia lui 0. Daca
vectorii u
k
nu pot pusi n relat ii de forma (1.91) decat atunci cand scalarii
a
k
sunt tot i nuli, vectorii se vor numi liniar independent i. Numarul maxim
de vectori liniar independent i dintr-un spat iu vectorial se numeste dimensiunea
spat iului. Aceasta dimensiune poate nita sau innita.
O data stabilit cat de mare este un spat iu vectorial 1, ne punem problema
cum putem sa descriem ecient un element oarecare u 1. Instrumentul adec-
vat este not iunea de baza a unui spat iu vectorial ce este orice mult ime de vectori
liniar independent i n numar egal cu dimensiunea spat iului 1. Orice alt element
al spat iului poate exprimat ca o combinat ie liniara a elementelor din baza.
42 1. Aproximarea functiilor de o variabil a

Intr-adevar, daca u
k
, k 1, N este o baza a unui spat iu vectorial de di-
mensiune N, orice alt vector u
N+1
formeaza cu u
k
un set de vectori liniari
dependent i altfel am avea N + 1 vectori liniari independent i si dimensiunea
spat iului ar N + 1 n loc de N. Vectorul u
N+1
se poate exprima sub forma
(1.92), ca o combinat ie liniara de vectorii din baza
16
. Imediat ce baza este
stabilita un element oarecare din 1 poate descris doar prin cei N scalari
(a
1
, a
2
, . . . , a
N
).
Dam cateva exemple utile de spat ii vectoriale.
1. Spat iul euclidian de dimensiune 3. Avem 3 vectori

i,

j,

k ce sunt liniar
independent i iar orice alt vector se poate exprima ca o combinat ie liniara
a acestora, de exemplu

V =

i +

j +

k/2, sau pe scurt



V (1, 1, 1/2).
2. Polinoamele p
N1
(x) de grad cel mult egal cu N 1 formeaza un spat iu
vectorial de dimensiune N, pe care-l vom nota
N1
.

Intr-adevar mo-
noamele x
k1
, k 1, N sunt liniar independente. Un alt element al
spat iului vectorial, de exemplu p
2
(x) = 1 + x + x
2
/2, se poate exprima
ca o combinat ie liniara de monoame. Notat ia prin coecient ii scalari este
p
2
(1, 1, 1/2).
3. Mult imea C
()
(, ) a funct iilor innit derivabile pe axa reala for-
meaza un spat iu de dimensiune innita.

Intr-adevar monoamele x
k
, k N
sunt liniar independente, iar k poate lua valori oricat de mari. Orice
funct ie innit derivabila se poate scrie ca o combinat ie liniara de mo-
noame conform teoremei de dezvoltare n serie Taylor. De exemplu e
x
=
1 + x + x
2
/2 + x
3
/6 + . . . a carei notat ie prin coecient i este e
x

(1, 1, 1/2, 1/6, . . . ).


4. Mult imea C
(0)
[0, 1] a funct iilor continue pe intervalul [0, 1]. Sunt liniar
independente funct iile sin 2kx, cos 2kx, k Z. Conform teoremei de
dezvoltare n serie Fourier, orice funct ie continua se poate scrie ca o
combinat ie liniara de sin si cos, n particular f(x) = (2 cos x+sin x) cos x =
1 + cos 2x +
1
2
sin 2x, sau notand doar coecient ii f (1, 1, 1/2).
Observat i cum n toate exemplele de mai sus a aparut aceeasi notat ie prin
coecient i (1, 1, 1/2) pentru elemente foarte diferitentre ele. Notat ia ne permite
stabilirea unor analogii ntre spat iile mai abstracte de funct ii si cel geometric
familiar. Analogiile nu sunt demonstrat ii matematice, dar vom prefera sa m
onesti asupra modului n care se ajunge la o demonstrat ie calea se bazeaza de
cele mai multe ori pe o intuit ie ce este doar apoi vericata riguros.
1.4.2 Produsul scalar si ortogonalitate
Sa folosim analogia pentru a introduce o clasicare a bazelor.

Incepem cu
considerarea spat iului vectorial plan familiar.

In g. 1.16 sunt prezentate doua
16
Mai trebuie demonstrat ca avem a
N+1
= 0 astfel ncat sa putem scrie u
N+1
=
a
1
N+1

N
k=1
a
k
u
k
. Daca prin absurd a
N+1
= 0, am avea

N
k=1
a
k
u
k
= 0 cu unul din-
tre coecient ii a
k
, k 1, N nenul astfel ncat {u
k
} nu ar o baza n contradict ie cu ipoteza.
1.4. Elemente de teoria aproximarii 43
Figura 1.16: O baza neortogonala si una ortonormata.
baze. Ne punem problema descrierii schimbarii pozit iei unui element din A n
B, traiectoria ind paralela cu primul vector din baza.

In baza (a) descrierea
este complicata: se modica ambele coordonate si n plus unitat ile de masura
sunt diferite pe cele doua direct ii.

In baza (b) deplasarea se descrie simplu. Din
geometrie, stim ca simplitatea provine din faptul ca baza (b) este ortonormata.
Am dori ca si n cazul spat iilor vectoriale abstracte sa avem posibilitatea folosirii
unor baze n care deplasarile sa poata descrise simplu. Pentru aceasta trebuie
sa generalizam not iunea geometrica de ortogonalitate prin introducerea unei
funct ii care sa ne arate cat de aproape de a ortogonali se aa doi vectori.
Funct ia c autata este denumita produs scalar. Vom nota produsul scalar a doi
vectori u, v prin (u, v). Denit ia formala a produsului scalar este precizata de
proprietat ile urmatoare, unde u, v, w 1, a, b S:
1. (, ) : 1 1 S;
2. (u, u) 0 si (u, u) = 0 u = 0;
3. (u, v) = (v, u)

;
4. (au +bv, w) = a(u, w) +b(v, w).
Ortogonalitatea a doi vectori nenuli se poate acum deni: u, v ,= 0 sunt
ortogonali daca (u, v) = 0. O baz a de vectori u
k
, k 1, N este ortogonala
daca j ,= k, j, k 1, N (u
j
, u
k
) = 0 si ortonormata daca este ortogonala
si n plus k, k 1, N (u
k
, u
k
) = 1. Ortogonalitatea unor vectori implica
si independent a liniara. Prin reducere la absurd, daca vectorii nenuli u
k
, k
1, N ar ortogonali doi cate doi, dar liniar dependent i atunci n

N
k=1
a
k
u
k
= 0
am avea un coecient nenul, e a
M
acesta. Efectuand produsul scalar al sumei
cu u
M
rezulta a
M
(u
M
, u
M
) = 0 datorita ortogonalitat ii. Dar u
M
,= 0 si deci
(u
M
, u
M
) > 0 si rezulta contradict ia a
M
= 0.
Avem acum denita general not iunea de ortogonalitate. Am vazut ca bazele
ortonormate permit descrieri mai simple ale elementelor unui spat iu vectorial.
Ne punem ntrebarea: putem dintr-o baza oarecare u
k
, k 1, N sa obt inem
44 1. Aproximarea functiilor de o variabil a
una ortonormata g
k
, k 1, N? Raspunsul este pozitiv si furnizat de urmatorul
algoritm denumit procedeul Gram-Schmidt
g
1
= u
1
/(u
1
, u
1
)
k = 2 : N
_
v
k
= u
k

k1
j=1
(u
k
, g
j
)g
j
g
k
= v
k
/(v
k
, v
k
) .
Geometric, n etapa k, se scad din vectorul u
k
componentele sale n direct iile
g
1
, g
2
, . . . , g
k1
ce sunt deja ortogonale. Vectorul v
k
ce ramane din diferent a
este sigur ortogonal pe g
1
, g
2
, . . . , g
k1
. Mai ramane doar de adus la lungime
unitara prin mpart irea g
k
= v
k
/(v
k
, v
k
). Sa consideram acum cateva exemple
de produse scalare si baze ortonormate utile n aplicat ii.
Polinoame ortogonale.
Ortonormarea monoamelor 1, x, x
2
, . . . produce o baza p
0
(x), p
1
(x), p
2
(x), . . .
ale carei elemente sunt evident polinoame. Aceste polinoame ortogonale au
multe aplicat ii iar expresiile lor rezulta din procedeul Gram-Schmidt ca ind
p
0
(x) = 1, p
1
(x) = x
1
, (1.93)
pentru primele doua elemente, celelalte elemente ale bazei ind denite de relat ia
recursiva
p
n
(x) = (x
n
)p
n1
(x)
n
p
n2
(x) , n 2 . (1.94)
Coecient ii
n
,
n
sunt dependent i de produsul scalar ales ind precizat i de
relat iile

n
= (xp
n1
, p
n1
)/(p
n1
, p
n1
),
n
= (xp
n1
, p
n2
)/(p
n2
, p
n2
) . (1.95)
Relat iile (1.93)-(1.95) se pot verica usor prin induct ie. Urmarind relat iile de
mai sus se poate observa ca vom avea totdeauna un coecient unitar al terme-
nului de grad maxim, adica polinoamele obt inute vor sub forma lor monica
(vezi 1.2.1). De regula asupra formei monice se impune o condit ie de standar-
dizare ce revine la nmult irea cu o constanta. Sa consideram cazurile cele mai
des ntalnite.
1. Polinoamele Legendre P
n
(x). Se considera 1 = C
(0)
[1, 1] si se adopta
produsul scalar
(u, v) =
_
1
1
u(x)v(x)dx . (1.96)
Condit ia de standardizare este P
n
(1) = 1. Deci P
0
(x) = 1,
1
= (x, 1)/(1, 1)
= 0 si deci P
1
(x) = x. Apoi
2
= (x
2
, x)/(x, x) = 0,
2
= (x
2
, 1)/(1, 1) =
1/3 si deci P
2
(x) = x
2
1/3. Impunerea condit iei de standardizare con-
duce la P
2
(x) = 3x
2
/2 1/2. Primele cateva polinoame Legendre sunt
date n tabelul 1.4.
1.4. Elemente de teoria aproximarii 45
2. Polinoamele Cebasev T
n
(x). Se considera tot 1 = C
(0)
[1, 1] dar se
adopta produsul scalar
(u, v) =
_
1
1
u(x)v(x)(1 x
2
)
1/2
dx . (1.97)
Observat i ca diferent a fat a de produsul scalar anterior (1.96) este aparit ia
unei funct ii de pondere w(x) = (1 x
2
)
1/2
. Intuitiv, ponderea adoptata
acorda o mai mare important a punctelor de la capetele de interval 1.
Condit ia de standardizare este T
n
(1) = 1. Expresiile lor au fost deja
prezentate n tabelul 1.2. Sa aplicamnsa (1.93)-(1.95) pentru a vedea ca
ntr-adevar reobt inem acele expresii. Avem T
0
(x) = 1,
1
= (x, 1)/(1, 1).
Apar integrale ce se calculeaza prin substitut ia trigonometrica x = cos
(x, 1) =
_
1
1
x(1 x
2
)
1/2
dx =
_

0
cos d = 0
si deci T
1
(x) = x. Apoi
2
= (x
2
, x)/(x, x) = 0,
2
= (x
2
, 1)/(1, 1) =
1/2 deci T
2
(x) = x
2
1/2. Am reobt inut forma monica a polinomului
Cebasev pentru n = 2. Aplicarea condit iei de standardizare conduce la
T
2
(x) = 2x
2
1, adica exact forma din tabelul 1.2.
3. Polinoamele Laguerre L
n
(x). Se considera 1 = C
(0)
[0, ) si se adopta
produsul scalar
(u, v) =
_

0
u(x)v(x) exp(x) dx . (1.98)
Domeniul de denit ie al elementelor din acest spat iu vectorial este acum
innit la dreapta. Observat i ca un astfel de spat iu permite tratarea pro-
blemelor de aproximare a unor funct ii denite pe toata semiaxa reala
pozitiva. Ponderea w(x) = exp(x) atenueaza comportarea la innit
a funct iilor u(x), v(x) astfel ncat integrala (1.98) sa convearga pentru
u(x), v(x) ce nu cresc mai repede decat un polinom. Condit ia de standar-
dizare este: coecientul termenului de grad maxim sa e 2
n
. Expresiile
primelor cateva polinoame sunt date n tabelul 1.4.
4. Polinoamele Hermite H
n
(x). Se considera 1 = C
(0)
(, ) si se adopta
produsul scalar
(u, v) =
_

u(x)v(x) exp(x
2
) dx . (1.99)
Evident acest spat iu vectorial reprezinta extinderea celui anterior la toata
axa reala. Condit ia de standardizare este: coecientul termenului de grad
maxim sa e (1)
n
/n!.
46 1. Aproximarea functiilor de o variabil a
Tabelul 1.4: Primele cateva polinoame ortogonale
n P
n
H
n
L
n
0 1 1 1
1 x 2x x
2 (1 + 3x
2
)/2 2 + 4x
2
(2 4x +x
2
)/2
3 (3x + 5x
3
)/2 12x + 8x
3
(6 18x + 9x
2
x
3
)/6
4 (3 30x
2
+ 35x
4
)/8 12 48x
2
+ 16x
4
(24 96x + 72x
2
16x
3
+x
4
)/24
Ortogonalitate pe mult imi discrete.

In paragraful anterior s-au introdus produse scalare denite prin integrale, adec-
vate situat iilor n care cautam aproximari pe intervale continue. Daca nsa ne
intereseaza o aproximare punctuala, n nodurile x
k
, k 1, N, atunci este
mai util sa introducem produse scalare denite prin sume. Vom introduce
acum polinoame ortogonale discrete, rezultate din aplicarea procedeului Gram-
Schmidt asupra bazei 1, x, x
2
, . . . utilizand aceste noi produse scalare. O
prima rasplata a abordarii abstracte a not iunii de ortogonalitate este ca relat iile
(1.93)-(1.95) raman valabile deoarece ele nu fac referire la forma particulara a
produsului scalar. Polinoamele ortogonale obt inute de data aceasta vor de-
pendente de nodurile alese x
k
, k 1, N si vom include mult imea nodurilor ca
un argument pentru a sublinia acest fapt.
1. Polinoamele Legendre discrete P
n
(x; x
k
). Se considera 1 = C
(0)
[1, 1],
nodurile se considera n acest interval 1 x
k
1 si se adopta produsul
scalar
(u, v) =
N

k=1
u(x
k
)v(x
k
) . (1.100)
2. Polinoamele Cebasev discrete T
n
(x; x
k
). Se considera 1 = C
(0)
(1, 1),
nodurile se iau 1 < x
k
< 1 si se adopta produsul scalar
(u, v) =
N

k=1
u(x
k
)v(x
k
)(1 x
2
k
)
1/2
. (1.101)
3. Polinoamele Hermite discrete H
n
(x; x
k
). Se considera 1 = C
(0)
[0, )
si se adopta produsul scalar
(u, v) =
N

k=1
u(x
k
)v(x
k
) exp(x
k
) . (1.102)
1.4. Elemente de teoria aproximarii 47
4. Polinoamele Laguerre discrete L
n
(x; x
k
). Se considera tot 1 = C
(0)
(, )
si se adopta produsul scalar
(u, v) =
N

k=1
u(x
k
)v(x
k
) exp(x
2
k
) . (1.103)
1.4.3 Norme, operatori si funct ionale
Not iunea de ortogonalitate din sect iunea anterioara ne-a permis sa descriem
orientarea relativa a doi vectori. Mai avem nevoie de un instrument ce sa poata
masura marimea unui vector, instrument furnizat de not iunea matematica de
norma. Norma unui vector u 1 se noteaza |u| si este un numar real pozitiv.
Cu a S, u, v 1, denit ia formala este precizata de
1. || : 1 R
+
;
2. |u| = 0 u = 0;
3. |u +v| |u| +|v|; (inegalitatea triunghiului)
4. |au| = [a[ |u| .
O clasa importanta de norme este denita prin
|u|
p
=
_
_
b
a
[u(x)[
p
dx
_
1/p
(1.104)
pe cazul continuu, cu analogul discret pe mult imea de noduri x
k
, k 1, N
|u|
p
=
_
N

k=1
[u(x
k
)[
p
_
1/p
. (1.105)
Presupunem ca aceste integrale si sume exista. Acestea se numesc norme p
continue sau discrete, respectiv. Se observa imediat ca norma 2 discreta a unui
vector obisnuit u R
N
corespunde denit iei clasice a modulului unui vector
|u|
2
= (

N
k=1
u
2
k
)
1/2
, astfel ncat ne putem ntari intuit ia perceperii normei
ca marime a unui element dintr-un spat iu vectorial. Se poate demonstra ca
atunci cand p avem
|u|

= sup
x[a,b]
[u(x)[ (1.106)
n cazul continuu si
|u|

= max
k1,N
[u(x
k
)[ (1.107)
48 1. Aproximarea functiilor de o variabil a
Figura 1.17: Discurile |x|
p
1.
n cazul discret. Un alt exemplu important de norma este norma indusa de
produsul scalar, n cazul n care acesta din urma este deja denit
|u| = (u, u)
1/2
. (1.108)
Se poate verica satisfacerea proprietat ilor unei norme.

In particular inegalita-
tea triunghiului rezulta din forma generala a inegalitat ii Cauchy-Buniacovski
[(u, v)[ |u| |v| . (1.109)
Este important sa se formeze o intuit ie a semnicat iei adoptarii unei norme
sau alta. Apelam la spat iul vectorial cel mai familiar, al vectorilor din planul
R
2
si desenam n g. 1.17 discurile ce satisfac |x|
p
1, pentru p = 1, 2, 3 si
p = .
Distant a dintre doi vectori se poate acum introduce imediat ca ind o funct ie
d : 1 1 R
+
denita prin
d(u, v) = |u v| .
Altfel spus distant a dintre doi vectori este marimea vectorului diferent a. De-
nirea unei distant e permite introducerea vecinatat ilor si a not iunilor conexe, n
particular continuitatea.
Norma si produsul scalar sunt exemple de aplicat ii sau funct ii prin care unor
elemente ale unui spat iu vectorial li se face sa corespunda un numar. Se pot
deni si alte funct ii ale caror valori pot scalari sau chiar vectori. O aplicat ie
denita pe un spat iu vectorial care ia valori scalare se numeste funct ionala. Spre
exemplu, pe spat iul vectorial al funct iilor continue C
(0)
[a, b],
_
b
a
u(x)dx este o
funct ionala deoarece integrarea face sa corespunda un numar ecarei funct ii u
. O funct ie denita pe un spat iu vectorial, cu valori n alt spat iu vectorial
(eventual acelasi) e denumita operator. Spre exemplu, daca R
n
este spat iul vec-
torilor coloana cu n componente (x
1
, x
2
, ..., x
n
)
T
, atunci nmult irea vectorului
cu o matrice patrata cu n n elemente poate considerata un operator.
Cu ajutorul normelor, putem compara si aplicat iile denite pe spat ii vec-
toriale. Sa consideram ca aplicat ia f : 1
1
1
2
este liniara, adica a, b S,
u, v 1
1
avem
f(au +bv) = af(u) +bf(v) .
1.4. Elemente de teoria aproximarii 49
O aplicat ie liniara f este marginita daca exista un numar real pozitiv M astfel
ncat |f(u)| M|u|. Cu alte cuvinte, norma valorilor aplicat iei liniare este
raportat a la norma vectorului. Cel mai mic numar M pentru care are loc
inegalitatea se numeste norma aplicat iei f si se noteaza |f|. Prin urmare,
putem scrie
|f(u)| |f| |u| (1.110)
pentru orice aplicat ie liniara marginita. Mai mult, o aplicat ie liniara marginita
este si continua, deci (1.110) implica si continuitatea.
1.4.4 Problema generala a celei mai bune aproximari
Sa vedem acum modul n care not iunile introduse permit o abordare generala a
problemei de aproximare. Reamintin problema de aproximare: avem o funct ie
f complicata sau incomplet cunoscuta si dorim gasirea unei aproximante g. Am
dori ca diferent a dintre f si g sa e cat mai mica posibila, adica sa minimizam
distant a
d(f, g) = |f g| . (1.111)
Din aceasta formulare generala, putem reobt ine criteriile de aproximare ment io-
nate la nceputul capitolului. Daca adoptam oricare dintre normele discrete si
impunem realizarea unei erori nule, d(f, g) = 0, obt inem
|f g|
p
=
_
N

k=1
[f(x
k
) g(x
k
)[
p
_
1/p
= 0 ,
ceea ce nu se poate realiza decat daca
g(x
k
) = y
k
, k 1, N ,
cu y
k
= f(x
k
) sau exact condit ia de interpolare (1.1). Daca adoptam norma
pe cazul continuu, problema revine la a minimiza
max
x[a,b]
[f(x) g(x)[ ,
sau criteriul mini-max (1.3). Alegerea normei discrete conduce la criteriul
mini-max discret (1.4). Alegerea normei 2 pe cazul discret conduce la minimi-
zarea sumei
S =
N

k=1
[y
k
g(x
k
)]
2
,
adica criteriul celor mai mici patrate (1.5).
Teoria generala ne furnizeaza cadrul de a pune anumite ntrebari peste care
am sarit n prezentarea elementara anterioara. Exista o cea mai buna aproxi-
mare? Daca exista, carui spat iu vectorial apart ine? Putem construi un sir de
50 1. Aproximarea functiilor de o variabil a
Figura 1.18: Cea mai buna aproximare este ortogonala pe subspat iul aproximantei.
aproximat ii care sa convearga la cea mai buna aproximare? Nu vom parcurge
aici n detaliu aceste chestiuni. Vom face mai degraba o discut ie calitativa,
apeland la intuit ia geometric a din spat iul vectorial euclidian.

Incepem printr-un exemplu simplu din geometria plana. Sa presupunem ca


dorim s a aproximam cat mai bine punctul X(a, b) din plan folosind elemente
doar de pe axa x
1
, adica de forma (x
1
, 0) (g. 1.18). Scriem
d(X, P) = |X P| = minim,
ceea ce conduce la d(X, P) =
_
(a )
2
+b
2

1/2
=minim, pentru norma 2 dis-
creta. Este clar ca cea mai mica abatere dintre toate punctele pe axa x
1
se
obt ine pentru punctul P ce are proprietatea ca XP este ortogonal pe axa x
1
.
Axa x
1
este un subspat iu al planului, iar P parcurge doar acest subspat iu. Cea
mai buna aproximare a lui X de catre P se obt ine atunci cand diferent a XP
este ortogonala pe subspat iul parcurs de P.
Concluzia de mai este general valabila ntr-un spat iu n care avem denit
un produs scalar, iar norma rezulta din acest produs scalar conform (1.108).
De exemplu, sa adoptam spat iul C
()
(, ) ce are baza 1, x, x
2
, . . . . Pro-
blema analoaga celei anterioare este sa se aproximeze funct ia X = a+bx cat mai
bine cu o constanta P = . Reprezentarea prin coordonate X (a, b, 0, . . . ),
P (, 0, 0, . . . ) ne convinge imediat ca avem aceeasi problema ca n cazul an-
terior, iar solut ia este data si n acest caz de condit ia de ortogonalitate. Este
educativa demonstrat ia generala a acestui rezultat.
Teorema. Fie 1 un spat iu vectorial n care avem denit un produs scalar, si o
un subspat iu al lui 1. Daca v u este ortogonal pe orice w din o atunci
u este cea mai buna aproximare a lui v prin elemente din o, anume u
realizeaza minimul distant ei d(u, v).
Demonstrat ie. Sa vedem daca vreun alt w o realizeaza o distant a mai
mica:
d
2
(v, w) = (v w, v w) = (v u +u w, v u +u w) = (v u, v u)+
2(u w, v u) + (u w, u w) = |v u|
2
+|u w|
2
+ 2(u w, v u).
1.4. Elemente de teoria aproximarii 51
Dar v u este ortogonal pe orice element din o, n particular pe u w deci
(u w, v u) = 0 si avem d
2
(v, w) = |v u|
2
+ |u w|
2
|v u|
2
, adica
distant a de la orice alt element w la v este mai mare decat cea de la u la v. 2
Ortogonalitatea pe un subspat iu de dimensiune n se verica prin ortogona-
litatea pe elementele unei baze a acelui subspat iu, cel mai ecient chiar pe una
ortonormata g
1
, g
2
, . . . , g
n
. Condit ia de cea mai buna aproximanta g a unei
funct ii f dintr-un spat iu 1 cu produs scalar se scrie asadar
(f g, g
k
) = 0, k 1, n. (1.112)
Observat i ca (1.86) sau (1.88) se pot obt ine din condit ia generala (1.112) prin
alegerea produsului scalar obisnuit ntre vectori din R
n
cu ponderea w. Scriind
aproximanta sub forma unei combinat ii liniare g =

n
j=1
a
j
g
j
sistemul (1.112)
se poate rezolva pentru coecient ii a
k
a
k
= (f, g
k
)/(g
k
, g
k
), k 1, n, (1.113)
ce sunt numit i coecient i Fourier generalizat i. De exemplu alegerea bazei tri-
gonometrice cos(2kx), k 0, N; sin(2mx), m 1, N 1 denita pe punctele
discrete x
j
= j/2N, j 0, 2N 1 si a produsului scalar obisnuit permite
obt inerea relat iilor (1.58) folosind rezultatul general (1.113).
Rezultate ca cele de mai sus arata utilitatea spat iilor vectoriale n care se in-
troduce un produs scalar si norma indusa prin relat ia (1.108). Un astfel de spat iu
se numeste spat iu prehilbertian.

Intr-un spat iu prehilbertian putem obt ine pen-
tru un n xat coecient ii aproximantei g =

n
j=1
a
j
g
j
prin relat iile (1.113). Pe
masura ce n creste, am dori ca g sa ramana n spat iul considerat. Acest dezide-
rat conduce natural la spat ii Hilbert H, denite prin faptul ca limitele sirurilor
fundamentale apart in si ele lui H. Spat iile vectoriale din exemplele din 1.4.1
sunt spat ii de acest tip, ele numindu-se complete. Aceste not iuni sunt deosebit
de importante pentru procedeele numerice si merita sa zabovim put in.
Daca revedet i exemplele prezentate pana acum, vet i observa ca deseori s-a
calculat o eroare fat a de un rezultat exact cunoscut.

In exemplicarea unui
procedeu numeric alegerea unei probleme la care cunoastem deja raspunsul este
perfect acceptabila. Dar n aplicat iile reale nu cunoastem raspunsul exact. Cum
putem, n asemenea condit ii, sa ne dam seama de convergent a unui algoritm
numeric? Not iunile de mai sus furnizeaza cadrul matematic n care putem da un
raspuns la aceasta ntrebare. Reamintim denit ia convergent ei unui sir catre o
limita: a este limita a sirului a
n
cu n Ndaca > 0 exista un N

astfel ncat
[a
n
a[ < pentru n > N

. Observat i ca n aceasta denit ie a convergent ei


valoarea limitei se presupune cunoscuta.

In afara de aceasta denit ie se mai
introduce n analiza not iunea de sir fundamental sau Cauchy a
n
caracterizat
prin faptul ca sirul este convergent daca > 0, p N exista un N

astfel ncat
[a
n+p
a
n
[ < pentru n > N

. Observat i elementul esent ial al denit iei unui


sir fundamental: convergent a este denita prin aproprierea termenilor succesivi.
Pentru vericarea convergent ei nu este nevoie sa cunoastem limita sirului.

In
52 1. Aproximarea functiilor de o variabil a
aplicat ii, aceasta este situat ia uzuala. Putem obt ine aproximat ii succesive, dar
nu, de regula, si limita exacta a sirului de aproximat ii. Lucrandn spat ii Hilbert
vom avea un bun indiciu al convergent ei, atunci cand aproximat iile succesive
devin apropriate ntre ele.
Spat iile Hilbert au multe alte proprietat ile utile aplicat iilor numerice. Doua
exemple ar : (1) teorema de reprezentare Frechet-Riesz ce ne asigura ca rezul-
tatul aplicarii unei funct ionale f (e.g. integrala denita) asupra unui element
u H este el nsusi exprimabil ca un produs scalar f(u) = (u, v
f
), unde v
f
este
un element al spat iului care depinde de f ; (2) teoreme generale asupra propri-
etat ilor operatorilor printre care se remarca cele de descompunere spectrala.
Exemplu. Reluam exemplul 4 din 1.3, de data aceasta folosind ca baza un set de
polinoame ortogonale denite pe mult imea discreta |x
k
= k1, k 1, N, cu N = 15.
Funct ia aproximata este polinomul f(x) = 40 +10x+5x
2
+3x
3
+2x
4
+x
5
+x
6
. Cum
nu avem vreun motiv sa acordam vreunui nod o important a deosebita luam ponderea
w = 1 si adoptam polinoamele Legendre discrete. Acestea sunt denite pe [1, 1] astfel
ncat este nevoie sa introducem transformarea z = 2x/(N1)1. Funct ia aproximanta
se scrie g(z) =

n
j=0
ajPj(z) cu n = 6. Conform relat iilor de recurent a (1.93)-(1.95)
primele 7 polinoame Legendre discrete sunt P0(z) = 1, P1(z) = z, P2(z) =
8
21
+ z
2
,
P3(z) =
167
245
z + z
3
, P4(z) =
1296
12005

331
343
z
2
+ z
4
, P5(z) =
44252
151263
z
545
441
z
3
+ z
5
,
P6(z) =
36000
1294139
+
2042
3773
z
2

115
77
z
4
+ z
6
.
Coecient ii a
k
rezulta imediat din (1.113)
aj =
_
N

k=1
f(z
k
)Pj(z
k
)
_
/
_
N

k=1
P
2
j
(z
k
)
_
.
Efectuand calculul n numere rat ionale a produselor scalare rezulta coecient ii
a0 =
75236936
1764735
a1 =
1058398
84035
a2 =
18800
2401
a3 =
1868
441
a4 =
269
77
a5 = 1 a6 = 1
ce introdusi n combinat ia liniara de mai sus dau exact funct ia f. Calculul n simpla
precizie furnizeaza valorile coecient ilor aj
a0 = 42.633556 a1 = 12.594727 a2 = 7.8300747 a3 = 4.2358241
a4 = 3.4935030 a5 = 0.99998158 a6 = .99996691
cu o eroare relativa maxima de = 3 10
5
fat a de valorile exacte. Se observa
ca folosirea unei baze ortogonale a permis obt inerea unei erori mici lucrand chiar n
simpla precizie.
53
Capitolul 2
Derivarea si integrarea
numerica
2.1 Derivarea numerica
Pentru derivarea numerica, punctul de plecare l constituie tot gasirea unei
funct ii aproximante. Ideea consta n aproximarea derivatei funct iei date cu
derivata aproximantei. Cele mai uzuale formule de calcul se obt in plecand de la
aproximarea prin interpolare. Utilizand aceeasi diviziune a intervalului pe care
se aa punctele n care se doreste calculul derivatei, x
i
, i = 1, 2, . . . , N, vom
scrie derivata sub forma
y


df
dx
=
dg
dx
+
dR
dx
, (2.1)
unde g este aproximanta iar R restul (eroarea).

In formulele de aproximare numerica a derivatei, se utilizeaza de regula va-


lorile funct iei f n cateva din punctele x
i
. Fie h distant a tipica ntre aceste
abscise. Un aspect important al aproximarii numerice este stabilirea ordinului
erorii. Eroarea se poate scrie sub forma
e =
df
dx

dg
dx
=
dR
dx
= O(h
k
) . (2.2)
54 2. Derivarea s i integrarea numeric a
Simbolul O este folosit pentru a elimina constantele ce nmult esc expresia de
interes de sub paranteze, n cazul de fat a h
k
. Ordinul erorii este exponentul k.
Se observa ca la micsorarea pasului h, eroarea e va scadea mai repede cu cat
ordinul erorii k este mai mare. Spre exemplu, pentru k = 1 o njumatat ire a
pasului conduce tipic la o eroare de doua ori mai mica, pe cand pentru k = 2
eroarea scade de patru ori.
2.1.1 Derivate folosind polinoame de interpolare

In cazul interpolarii polinomiale, cu diviziuni egale, se poate scrie


x = x
i1
+h, [0, n], n 1, N 1 , (2.3)
g(x) = y
i1
+y
i1
+C
2

2
y
i1
+. . . +C
n

n
y
i1
p
n
(x) (2.4)
R = R
n
(x) = h
n+1
C
n+1

f
(n+1)
() . (2.5)
Se observa ca exista doi parametri la dispozit ie:
1. punctul x
i1
fat a de care calculam diferent ele la dreapta;
2. gradul n al polinomului de interpolare.
Derivata (2.1) se scrie
y

=
df
dx
=
1
h
df
d
=
1
h
dp
n
d
+
1
h
dR
n
d
. (2.6)
Prezent a pasului h la numitor n relat ia (2.6) sugereaza tendint a cresterii erorii
la derivarea aproximativa. Astfel, daca eroarea la interpolare era de ordinul
n + 1, R = O(h
n+1
), eroarea la derivare este ordinul n, R

= O(h
n
), datorita
mpart irii la h. De aceea, se iau o serie de precaut iuni ca:
1. utilizarea unor polinoame de aproximare de grad nu prea mare (n < 7)
(pentru a preveni aparit ia vreunei comportari prezise de teorema lui Faber,
vezi 1.1.1);
2. centrarea punctului n care se face calculul pe intervalul (x
i1
, x
i1
+nh);
3. calculul derivatei folosind polinoame de grade diferite daca diferent ele
sunt mari, se iau precaut iuni suplimentare (micsorarea pasului, aproxima-
rea spline sau prin alte metode de aproximare, etc.).
Consideram acum cateva cazuri particulare utile.
2.1. Derivarea numerica 55
Cazul n = 1.
Din relat iile (2.4)-(2.6) se obt ine
y

=
1
h
y
i1
+
h
2
d
d
[( 1)f

()] . (2.7)
Pentru valorile = 0 si = 1, ce corespund la capetele intervalului (x
i1
, x
i
)
se obt ine
y

i1
=
y
i
y
i1
h

h
2
f

(), (2.8)
y

i
=
y
i
y
i1
h
+
h
2
f

() . (2.9)
Aproximat ia (2.8) utilizeaza punctul x
i
ce se aa la dreapta punctului x
i1
n care se evalueaza derivata si se numeste, uzual, formula la dreapta. Analog
(2.9) se numeste formula la stanga. Ambele formule au o eroare de ordinul ntai.
Spunem pe scurt ca sunt formule de ordinul I.
Cazul n = 2.

In acest caz, din (2.4)-(2.6), se obt ine


y

=
1
h
y
i1
+
2 1
2h

2
y
i1
+
h
2
6
d
d
[( 1)( 2)f

()] . (2.10)
Pentru = 1, din (2.10) rezulta
y

i
=
y
i+1
y
i1
2h

h
2
6
f

() , (2.11)
n timp ce, pentru = 0, se deduce
y

i1
=
y
i+1
+ 4y
i
3y
i1
2h
+
h
2
3
f

() . (2.12)
Comparand formulele (2.11) si (2.12), se observa ca, la acelasi grad al polinomu-
lui de interpolare, plasarea punctului de calcul spre centrul diviziunii conduce
la reducerea de doua ori a erorii. Mai importanta este nsa comparat ia cu cazul
anterior, n = 1. Se observa ca formulele (2.11), (2.12) sunt de ordinul doi fat a
de formulele (2.8), (2.9) care sunt de ordinul ntai. Castigul de precizie este
obt inut cu pret ul considerarii variat iei funct iei peste un interval mai mare, 2h,
pentru n = 2, fat a de h, pentru n = 1.
Cu ajutorul expresiei (2.10) se poate calcula si derivata de ordinul doi
y

=

2
y
i1
h
2
+
h
6
d
2
d
2
[( 1)( 2)f

()] . (2.13)
56 2. Derivarea s i integrarea numeric a
Pentru = 1, se obt ine
y

i
=

2
y
i1
h
2

h
2
3
_
d
d
_
=1
f
(4)
() =
y
i+1
2y
i
+y
i1
h
2

h
2
12
f
(4)
() ,
(2.14)
eroarea ind de ordinul doi. A doua egalitate (2.14) se obt ine cu ajutorul unor
formule Taylor pentru y
i1
, sau prin utilizarea unui polinom de gradul trei. Se
constata o precizie superioara, datorata centrarii punctului, fat a de cazul = 0,
pentru care din (2.13) rezulta formula
y

i1
=

2
y
i1
h
2
hf

() +
2h
2
3
_
d
d
_
=0
f
(4)
() (2.15)
la care eroarea este de ordinul ntai.
Exemplu. (Efectul reprezentarii nite n numere masina a numerelor reale) Se
calculeaza derivatele y

, y

ale funct iei y(x) = e


x/2
n punctul xi = 2.5 folosind for-
mulele de mai sus. Valorile exacte sunt y

i
= 1.74517, y

i
= 0.87259.

In formulele de
derivare apare pasul h. Valoarea acestuia este necunoscuta. Din denit ia derivatei
y

(x0) = lim
xx
0
y(x) y(x0)
x x0
(2.16)
ne-am putea astepta ca valorile cele mai exacte s a e obt inute pentru h 0. Vom
considera valorile h
k
= 10
k
, k = 1, 16. Aproximarile derivatelor pentru cateva valori
ale lui h sunt prezentate n tabelul de mai jos. S-au considerat urmatoarele cazuri: (1)
y

i

= (yi yi1)/h, (2) y

i

= (yi+1 yi)/h, (3) y

i
= (yi+1 yi1)/2h, (4) y

i

= (yi+2
2yi+1+yi)/h
2
, (5) y

i

= (yi+12yi+yi1)/h
2
. S-a utilizat o precizie de lucru de 80 bit i.
Se poate observa ca micsorarea pasului conduce init ial la mbunatat irea preciziei, dar,
dupa un anumit prag, apar abateri mari. Acestea sunt rezultatul pierderii numarului de
cifre semnicative din diferent a yi yi1. De exemplu, dacan calculator se memoreaza
7 cifre zecimale, iar yi, yi1 au primele 6 cifre zecimale identice, diferent a are o singura
cifra zecimala exacta.
lg hCazul 1 2 3 4 5
-1 1.70226 1.78954 1.74590 0.91752 0.87277
-4 1.74513 1.74522 1.74517 0.87202 0.87239
-7 1.74517 1.74517 1.74517 0.00000 0.00000
-10 1.70985 1.70985 1.70985 7.310
8
0.00000
Marirea preciziei de lucru nu elimina fenomenul de pierdere de cifre semnicative.
Acesta se va produce la valori mai mici ale pasului h. O prezentare sugestiva a acestei
comportari universale a procedeului de aproximare numerica a derivatei este data n
g. 2.1 unde se reprezinta grac logaritmul zecimal al erorii
lg e1 = lg

i
y

, lg e2 = lg

i
y

(2.17)
funct ie de logaritmul pasului. Reprezentarea logaritmica este convenabila pentru veri-
carea practica a ordinului erorii prezis teoretic. Daca din teorie se prezice ca e = O(h
k
),
atunci dependent a dintre eroare si pas se exprima logaritmic prin lg e = C + k lg h,
2.1. Derivarea numerica 57
Figura 2.1: Variat ia erorii absolute n estimarea derivatelor funct ie de pasul h.
unde C este o constanta. Putem construi regresia lineara (vezi Exemplul 1 din 1.3)
a valorilor erorii calculate n experimente numerice si sa vericam obt inerea ordinului
de eroare. Trebuie sa eliminam din datele de intrare cele ce sunt afectate de pier-
derea catastrofala de cifre semnicative. Pentru cazurile 1, 3 si 5 se obt in dreptele
0.364134 +0.999353 lg h, 1.00836 +2.05568 lg h, 1.72727 +2.00789 lg h respectiv.
Aceste drepte sunt reprezentate cu linie groasa n g. 2.1. Se conrma si prin expe-
riment numeric ordinele O(h) pentru cazul 1, O(h
2
) pentru cazurile 3, 5, ce au fost
prezise teoretic.
2.1.2 Formularea operatoriala
Folosind operatorul de translat ie, se pot obt ine operatorii de derivare. Astfel,
plecand de la expresia (1.19)
f(x
0
+h) = (E
0
+ )

y
0
, (2.18)
prin derivare, se obt ine
df
dx
=
1
h
d
d
_
(E
0
+ )

y
0
_
=
1
h
_
(E
0
+ )

ln(E
0
+ )

y
0
= (2.19)
1
h
_
ln(E
0
+ )
_ _
(E
0
+ )

y
0
_
=
1
h
_
ln(E
0
+ )

f(x) (2.20)
unde s-a evident iat prin [ ] operatorul ce trebuie aplicat. Prin identicare,
rezulta operatorul de derivare cu diferent a la dreapta ()
d
dx
=
1
h
ln(E
0
+ ) . (2.21)
58 2. Derivarea s i integrarea numeric a

In mod similar, folosind operatorul diferent a la stanga (), se obt ine


d
dx
=
1
h
ln(E
0
) . (2.22)
Extinderea operat iei de derivare a funct iei exponent iale la derivarea operatorilor
este justicata prin analogia expresiilor utilizate cu seria binomiala. Practic,
expresiile (2.21) si (2.22) se utilizeaza sub forma obt inuta prin dezvoltarea n
serie a logaritmului
d
dx
=
1
h
_


2
2
+

3
3


4
4
+. . .
_
(2.23)
=
1
h
_
+

2
2
+

3
3
+

4
4
+. . .
_
. (2.24)
Operatorii (2.23) si (2.24) pot aplicat i oricarui polinom de interpolare cu
diferent e la dreapta sau la stanga care aproximeaza funct ia f(x).

In acest fel,
se obt in, pe cale formala, relat ii similare cu cele precedente. Prin aplicarea
repetata a operatorilor (2.23) se obt in operatorii derivatelor de ordin superior.
Spre exemplu, pentru derivata de ordinul doi rezulta
d
2
dx
2
=
1
h
2
_

3
+
11
2

4
+. . .
_
(2.25)
=
1
h
2
_

2
+
3
+
11
2

4
+. . .
_
. (2.26)
Exemplu. Fie f : [0, 1] R o funct ie a carei valori n nodurile xj = j/n,
j = 0, n sunt fj = f(xj) si sunt cunoscute. Se cere o estimare de O(h
4
) a derivatei
f

0
= f

(x0 = 0) unde h = 1/n.


Rezolvare. Fiind disponibile doar punctele la dreapta, vom aplica (2.23). Numarul
de termeni luat i din dezvoltarea n serie determina ordinul formulei.

In cazul de fat a,
va trebui sa consideram patru termeni
f

0

=
1
h
_


2
2
+

3
3


4
4
_
f0 . (2.27)
Aplicarea repetata a operatorului de diferent a la dreapta conduce la f0 = f1
f0,
2
f0 = (f0) = (f1 f0) = f1 f0 = f2 2f1 +f0,
3
f0 = (
2
f0) =
f3 3f2 +3f1 f0,
4
f0 = (
3
f0) = f4 4f3 +6f2 4f1 +f0. Se remarca aparit ia
coecient ilor din dezvoltarea binomiala (1 a)
n
. Rezulta formula
f

0

=
1
h
_

1
4
f4 +
4
3
f3 3f2 + 4f1
25
12
f0
_
. (2.28)
Pentru a verica ordinul formulei, folosim primii 5 termeni din dezvoltarea n serie
Taylor a funct iei f, T5(x) = f0 + f

0
x + f

0
x/2 + f
(3)
0
x/6 + f
(4)
0
x/24 + f
(5)
0
x/120 si se
obt ine
1
h
_

1
4
T5(4h) +
4
3
T5(3h) 3T5(2h) + 4T5(h)
25
12
T5(0)
_
= f

0
h
4
f
(5)
0
/5 , (2.29)
deci eroarea este ntr-adevar de ordinul IV.
2.1. Derivarea numerica 59
2.1.3 Polinoame de interpolare n funct ie si derivata
Sa presupunem ca sunt date valorile unei funct ii y
i
si ale derivatei sale y

i
n
nodurile x
i
[a, b], i = 1, N. Pentru evaluarea derivatei n alte puncte din
intervalul [a, b], se poate urma procedeul anterior de derivare a polinomului de
interpolare ce satisface p
N1
(x
i
) = y
i
. O metoda mai precisa, ce foloseste si
informat iile asupra derivatei n noduri, este nsa sa se construiasca polinomul
de grad 2N 1 ce satisface
p
2N1
(x
i
) = y
i
, p

2N1
(x
i
) = y

i
, i = 1, N. (2.30)
O astfel de interpolare ce foloseste si valorile unor derivate n noduri se numeste
de tip Hermite. Polinomul de interpolare Hermite este unic denit pentru abs-
cise distincte, i ,= j x
i
,= x
j
. Ca si polinomul de interpolare uzual, polinomul
de interpolare Hermite are o forma Newton, ce utilizeaza diferent e divizate, si
o forma Lagrange.
Forma Newton a polinomului de interpolare Hermite utilizeaza o generalizare
diferent elor divizate, denumita diferent e divizate cu repetit ie n care se deneste
DD(x
i
, x
i
) f

(x
i
) = y

i
. (2.31)
Regula recursiva (1.9), de obt inere a diferent elor divizate superioare, ramane
valabila. Explicit, forma Newton a polinomului Hermite este
p
2N1
(x) = y
1
+ (x x
1
) DD(x
1
, x
1
) + (x x
1
)
2
DD(x
1
, x
1
, x
2
) + (2.32)
(x x
1
)
2
(x x
2
) DD(x
1
, x
1
, x
2
, x
2
) +. . . (2.33)
ce se poate compara cu (1.13). Coecient ii formei Newton se pot calcula con-
venabil tabelar precum n exemplul de mai jos.
x
1
y
1

x
1
y
1
DD(x
1
, x
1
) = y

1

x
2
y
2
DD(x
1
, x
2
) =
y
2
y
1
x
2
x
1
DD(x
1
, x
1
, x
2
) =
DD(x
2
, x
1
) DD(x
1
, x
1
)
x
2
x
1

x
2
y
2
DD(x
2
, x
2
) = y

2
DD(x
1
, x
2
, x
2
) =
DD(x
2
, x
2
) DD(x
2
, x
1
)
x
2
x
1

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Forma Lagrange a polinomului de interpolare Hermite este
p
2N1
(x) =
N

k=1
/
k
(x)y
k
+
N

k=1
B
k
(x)y

k
, (2.34)
unde impunem proprietat ile
/
k
(x
j
) =
kj
, /

k
(x
j
) = 0, B
k
(x
j
) = 0, B

k
(x) =
kj
(2.35)
60 2. Derivarea s i integrarea numeric a
prin analogie cu procedeul din 1.1. S-a utilizat simbolul Kronecker:
kj
= 0,
daca j ,= k;
kj
= 1, daca j = k. Polinoamele /
k
, B
k
se pot exprima funct ie de
polinoamele Lagrange (1.29) L
k
/
k
(x) = [1 2(x x
k
)L

k
(x
k
)] L
2
k
(x) , (2.36)
B
k
(x) = (x x
k
)L
2
k
(x) . (2.37)
Printr-un procedeu asemanator celui folosit pentru determinarea formulei
(1.16), se poate obt ine expresia restului la interpolarea Hermite
R
2N1
(x) f(x) p
2N1
(x) =
N

i=1
(x x
i
)
2
f
(2N)
()/(2N)! . (2.38)
Exemplu. Vom calcula derivata funct iei f(x) = sinx n x = 1/8 folosind forma
Newton a polinomul Hermite. Utilizam nodurile xj = (j 1)/4, j = 1, 2. Tabelul
diferent elor divizate este
xj yj
0 0
0 0
1
4

2
2
2

2 4(2

2 )
1
4

2
2

2
2
2

2( 4) 4(2

2 + 4) 64

2
unde valorile obt inute din derivata exacta f

(x) = cos x au fost ncadrate. Forma


Newton a polinomului Hermite este
p2(x) = x + x
2
4(2

2 ) + x
2
(x 1/4)
_
4(2

2 + 4) 64

2
_
, (2.39)
ceea ce conduce la urmatoarea forma canonica a polinomului
p2(x) = + (48

2 16 4

2) x + (192

2 + 48 + 24

2) x
2
. (2.40)
Derivata ceruta este p

2
(1/8) = 2.90188 foarte apropriata de cea exacta f

(1/8) =
2.90245 si cu mult mai precisa decat estimarea centrata de ordinul II (f(1/4)
f(0))/(1/4) = 2.82843. Gracul logaritmului erorii relative lg = lg [(p

2
(x) f

(x)) /f

(x)[
de mai jos arata prezicerea corecta a 3 cifre semnicative n evaluarea derivatei pe in-
tervalul [0, 1/4].
2.1. Derivarea numerica 61
2.1.4 Derivate folosind funct ii spline
Funct ia spline polinomiala de ordinul 3 poate utilizata pentru calculul apro-
ximativ al derivatelor de ordinul 1 si 2.

In acest scop, se determina coecient ii
m
i
, a
i
, b
i
, restrict ia funct iei spline pe intervalul (x
i
, x
i+1
) ind
p
3,i
(x) = y
i
+m
i
(x x
i
) +b
i
(x x
i
)
2
+a
i
(x x
i
)
3
, (2.41)
determinata n paragraful 1.1.2. Derivatele de ordinul 1 si 2 se aproximeaza prin
derivatele de acelasi ordin ale polinomului p
3,i
y

= m
i
+ 2b
i
(x x
i
) + 3a
i
(x x
i
)
2
, y

= 2b
i
+ 6a
i
(x x
i
) . (2.42)
Eroarea la aproximarea derivatei de ordinul k poate evaluata cu ajutorul
relat iei (vezi Observat ia 4 din 1.1.2)
max
x[a,b]

f
(k)
(x) s
(k)
m
(x)


(b a)
mk
(mk)!
max
x[a,b]

f
(m)
(x) s
(m)
m
(x)

, (2.43)
unde m este ordinul funct iei spline (m = 3 pentru funct ia spline cubica). Deo-
arece funct ia spline este derivabila de m1 ori pe (a, b), am notat prin s
(m)
m
o
funct ie treapta, obt inuta prin derivarea restrict iilor funct iei s pe subintervale.
Exemplul din paragraful 1.1.2 prezinta si comportarea numerica a derivatelor.
2.1.5 Derivate folosind diverse aproximat ii
Formule de derivare se pot obt ine folosind oricare dintre procedeele de apro-
ximare prezentate n capitolul 1. Consideram pe scurt cateva alte procedee
inidicand domeniile tipice de aplicare.
Interpolare trigonometrica.
Prin derivarea expresiei (1.57), se obt ine
df
dx
= y


=
dg
dx
=
2
N1

k=1
[ka
k
sin(2kx) +kb
k
cos(2kx)] N a
N
sin 2Nx. (2.44)
Rezultatul este o noua funct ie ce are coecient ii Fourier 2ka
k
, 2kb
k
. Con-
siderat iile din 1.1.3 asupra convergent ei interpolarii trigonometrice se aplica
acum noii funct ii.

In particular, vom urmari daca c
k
= 2k(a
2
k
+ b
2
k
)
1/2
devin
sucient de mici pe masura ce N creste. O proprietate importanta a apro-
ximarilor trigonometrice este c a, pentru funct ii netede, coecient ii c
k
scad mai
repede decat orice putere a lui h = 1/N ncepand de la un anumit rang k.
Prin analogie cu analiza de ordin de eroare de la formularile anterioare, spu-
nem ca aproximarea trigonometrica a derivatei este de ordin innit. Aceasta
62 2. Derivarea s i integrarea numeric a
proprietate sta la baza metodelor spectrale de rezolvare a ecuat iilor diferent iale.
Aplicabilitatea generala a procedeului este nsa limitata de cerint a de netezime.
De exemplu, daca funct ia f prezinta discontinuitat i izolate, vor aparea erori
importante de mascare (vezi 1.1.3).
Aproximarea mini-max.
Se deriveaza polinomul aproape mini-max (vezi 1.2.3). Gradul acestui polinom
se ia, n general, mai mic decat gradul polinomului de interpolare corespunzator
unei diviziuni alese. Astfel de aproximari se utilizeaza cand se doreste minimi-
zarea numarului de operat ii aritmetice necesare estimarii derivatei.
Aproximarea prin metoda celor mai mici patrate.
Se deriveaza aproximanta (1.83).

In general, derivatele astfel obt inute sunt mai
netede decat n cazul unei interpolari care foloseste toate punctele din ret ea. Se
foloseste tipic pentru date cunoscute incert (masuratori experimentale).
2.2 Integrarea numerica
Integrarea numerica a funct iilor de o variabila reprezinta o aplicat ie imediata
a aproximarii.

In general, prin integrare numerica erorile de calcul se reduc,
variat iile se netezesc. Cazurile mai dicile sunt legate de integrarea funct iilor
care prezinta variat ii rapide de semn pe intervalul de integrare, astfel ncat
termenii nsumat i se compenseaza, iar rezultatul, un numar mic n modul, apare
ca diferent a a unor numere mari n modul
1
. Asemenea funct ii sunt indicate
pentru testarea diferitelor formule de integrare propuse. Schema generala pentru
a obt ine o formula de integrare numerica este urmatoarea:
1. Se introduce o diviziune a intervalului de calcul [a, b] prin punctele x
i
,
i 1, N.
2. Se scrie funct ia de integrat f(x), punandu-se n evident a aproximanta g(x)
si eroarea (restul) R(x)
f(x) = g(x) +R(x) . (2.45)
3. Se integreaza relat ia (2.45) termen cu termen, obt inandu-se o valoare apro-
ximativa si o eroare pentru integrare
_
b
a
f(x)dx =
_
b
a
g(x)dx +
_
b
a
R(x)dx . (2.46)
1
Vezi capitolul 4.
2.2. Integrarea numerica 63
Integrala aproximantei g(x) se evalueaza numeric pe ecare subinterval al
diviziunii
I =
_
b
a
g(x)dx =
N

k=1
a
k
I
k
, I
k

_
b
a
g
k
(x)dx . (2.47)
Uzual aproximanta g(x) se alege de forma (1.6), astfel ncat integralele I
k
sa poata evaluate exact. Eroarea de integrare este n acest caz integrala
restului
=
_
b
a
R(x)dx . (2.48)
4. Se cauta o posibilitate de minimizare a erorii.

In efectuarea diverselor calcule ment ionate mai sus, sunt utile cateva rezul-
tate din analiza pe care le reamintim fara demonstrat ie.
Teorema de valoare medie a unei integrale. Pentru f, g continue pe [a, b] si
g(x) 0 pe [a, b], exista un [a, b] astfel ncat
_
b
a
f(x)g(x)dx = f()
_
b
a
g(x)dx.
Teorema valorii intermediare. Fie f continua pe [a, b] si m valoarea sa minima
si M valoarea sa maxima pe acest interval. Pentru orice r [m, M] exista
un [a, b] astfel ncat f() = r.
Teorema fundamentala a analizei. Daca f este continua pe [a, b], atunci funct ia
(x) =
_
x
a
f(t)dt este derivabila n orice punct c [a, b] si derivata sa este

(c) = f(c).
2.2.1 Formule Newton-Cotes nchise
Formulele de integrare care utilizeaza valorile funct iei la capetele intervalului de
integrare, y
1
= f(a), y
N
= f(b) sunt denumite formule nchise. Foarte uzuale
sunt metodele care utilizeaza interpolarea polinomiala pe o diviziune echidis-
tanta a intervalului de integrare a = x
1
, x
2
, . . . , x
N
= b cu x
i+1
x
i
h =
(b a)/(N 1), formulele obt inute ind denumite de tip Newton-Cotes.

In
obt inerea formulelor de integrare, este convenabila forma Newton cu diferent e
nite a polinomului de interpolare (1.25). Vom remarca nsa ca se prefera uti-
lizarea unor polinoame de grad mic (unu, doi sau trei), pe subintervale, ceea ce
revine de fapt, la integrarea unor funct ii spline, racordate pe noduri numai prin
valorile funct iei f(x), dar nu si prin derivate.

In cele ce urmeaza vom folosi
n
pentru a nota familia polinoamelor de grad cel mult n.
64 2. Derivarea s i integrarea numeric a
Formula trapezelor.
Funct ia aproximanta este o linie poligonala. Pe ecare subinterval (x
i
, x
i+1
),
funct ia f(x) se nlocuieste cu aproximarea sa printr-un polinom de gradul ntai
plus un rest. Conform (1.25), polinomul se scrie
p
1
(x) = y
i
+y
i
, (2.49)
cu [0, 1], unde restul (1.26) este
R
1
(x) = h
2
C
2

(
i
),
i
(x
i
, x
i+1
) . (2.50)
Pe intervalul (x
i
, x
i+1
), variabila x se poate exprima
x = x
i
+h,
de unde dx = hd. Integrala exacta a aproximantei (2.49) este
I
i
=
_
1
0
(y
i
+y
i
)d = (y
i
+y
i+1
)/2 , (2.51)
iar eroarea pe interval rezulta din integrarea restului (2.50)

i
= (h
3
/2)
_
1
0
( 1)f

[
i
()] d,
i
(x
i
, x
i+1
) .
Expresia erorii poate transformata aplicand teorema de medie pentru inte-
grale. Avem ( 1) 0 si vom presupune ca f

[
i
()] este continua pe
[x
i
, x
i+1
], astfel ncat condit iile teoremei sa e satisfacute. Se obt ine

i
= [h
3
f

i
)/2]
_
1
0
( 1)d = h
3
f

i
)/12 , (2.52)
cu

i
[x
i
, x
i+1
], n general diferit de
i
din (2.50). Formula (2.51) se aplica pe
ecare subinterval si vom obt ine, prin sumare, valoarea aproximativa a integralei
I =
N1

i=1
I
i
=
h
2
(y
1
+ 2y
2
+. . . + 2y
N1
+y
N
) . (2.53)
Eroarea la integrare este suma erorilor pe subintervale, =

N1
i=1

i
= (h
3
/12)

N1
i=1
f

i
).

Insa (N 1)
1

N1
i=1
f

i
) este o valoare medie a valorilor
funct iei f

n punctele

i
si am presupus f

continua. Conform teoremei valorii


intermediare, exista un [x
1
, x
N
] astfel ncat
1
N 1
N1

i=1
f

i
) = f

() (2.54)
2.2. Integrarea numerica 65
si eroarea se poate scrie
=
h
2
12
(b a)f

() =
(b a)
3
12(N 1)
2
f

() . (2.55)
Expresia (2.55) sugereaza ca, pentru funct ii cu derivata de ordinul doi continua,
eroarea la integrare scade aproximativ cu patratul numarului de intervale N1.
Spunem astfel ca eroarea la formula trapezelor este de ordinul doi, = O(h
2
).
Se observa ca, fat a de eroarea pe un subinterval
i
= O(h
3
), eroarea pe tot
intervalul este cu un ordin mai mic datorita acumularii erorii din nsumare.
Se remarca, de asemenea, ca formula trapezelor este exacta pentru toate poli-
noamele de gradul 1, adica pentru f
1
.
Formulele Simpson.
Urmarim obt inerea unor formule mai precise pe subintervalele de calcul. Din
procedeul general, observam ca acest deziderat se poate realiza prin folosirea
unor polinoame de interpolare de grad mai mare pe subintervale. Deoarece,
pentru polinoame de grad mai mare de unu, avem nevoie de mai mult de doua
noduri, vom grupa convenabil subintervalele (x
i
, x
i+1
). Din punctul de vedere
al aproximarii funct iei f(x) pe tot intervalul de calcul [a, b] procedeul revine la
folosirea unei interpolari spline cu decient a, ale carei restrict ii pe subintervale
sunt polinoame.
Formula Simpson 1/3.

Incepem cu polinoame de gradul doi pe subinterval.
Avem nevoie de trei noduri si ca atare vom obt ine o formula de integrare pe
(x
i1
, x
i+1
)
2
. Polinomul aproximant este
p
2
(x) = y
i1
+y
i1
+( 1)
2
y
i1
/2
conform (1.25) iar restul are forma
R
2
(x) = h
3
C
3

f
(3)
(
i
),
i
(x
i1
, x
i+1
) .
Formula obt inuta prin integrarea lui p
2
(x) este
I
i
= h
_
2
0
p
2
(x
i1
+h)d =
h
3
(y
i1
+ 4y
i
+y
i+1
) . (2.56)
Aplicarea teoremei de medie la integrarea restului trebuie efectuata pe subin-
tervalele pe care C
3

nu schimba semnul
h
3
_
2
0
C
3

f
(3)
(
i
)d =
h
3
3!
_
f
(3)
(
(1)
i
)
_
1
4
_
+f
(3)
(
(2)
i
)
_

1
4
__
.
Rezultatul obt inut este nsa o supraestimare. Faptul ca s-au obt inut coecient i
numerici de semne contrare sugereaza ca avem un efect de compensare a erorilor.
2
Aici si n cele ce urmeaza vom alege intervalele astfel ncat formulele sa e centrate pe
punctul x
i
.
66 2. Derivarea s i integrarea numeric a
Ne convingem de aceasta prin intermediul unui alt procedeu de calcul al erorii
ce are aplicabilitate mai larg a. Consideram valoarea aproximativa a integralei
I
i
=
h
3
[f(x
i1
) + 4f(x
i
) +f(x
i+1
)]
si vom presupune f derivabila de minim 5 ori. Dezvoltam n serie Taylor n
jurul punctului x
i1
expresia de mai sus
I
i
= 2hf
i1
+ 2h
2
f

i1
+ 4h
3
f

i1
/3 + 2h
4
f
(3)
i1
/3 + 5h
5
f
(4)
i1
/18 +h
6
f
(5)
i1
/10 +. . .
unde am notat f
(k)
i
= f
(k)
(x
i
). Pe de alta parte, introducem
F(x) =
_
x
xi1
f(x)dx,
valoarea exacta a integralei pe intervalul (x
i1
, x). Avem, n particular, F(x
i1
) =
0, si F(x
i1
+ 2h) este valoarea exacta pe intervalul (x
i1
, x
i+1
). Conform te-
oremei fundamentale a analizei, F

(x) = f(x). Ca atare, dezvoltarea n serie


Taylor n jurul punctului x
i1
a valorii exacte F(x
i1
+ 2h) este
2hf
i1
+ 2h
2
f

i1
+ 4h
3
f

i1
/3 + 2h
4
f
(3)
i1
/3 + 4h
5
f
(4)
i1
/15 + 4h
6
f
(5)
i1
/45 +. . .
Diferent a = F(x
i1
+ 2h) I
i
este eroarea cautata si are expresia
= h
5
f
(4)
i1
/90 h
6
f
(5)
i1
/90 +. . . .
Astfel, chiar daca am pornit cu un polinom aproximant de gradul doi, formula
obt inuta este exacta si pentru polinoame de gradul trei. Acest rezultat face ca
formula lui Simpson (2.56) sa e economica n numarul de evaluari ale funct iei
f necesare realizarii unei anumite precizii, de unde larga sa folosire n aplicat ii.
Considerand acum problema integrarii pe tot intervalul [a, b] vom introduce
un numar impar de 2N +1 noduri, pentru a avea un numar ntreg de perechi de
intervale, pe care sumam relat ia (2.56) si obt inem formula de integrare Simpson
I =
h
3
(y
1
+ 4y
2
+ 2y
3
+. . . + 2y
2N1
+ 4y
2N
+y
2N+1
) . (2.57)
Estimarea erorii la integrare este
= (b a)
5
f
(4)
() / 2880N
4
, (a, b) . (2.58)
Din (2.58), se observa ca eroarea este invers proport ionala cu puterea a patra
a numarului de perechi de subintervale N, adica = O(h
4
). Spunem ca formula
Simpson 1/3 este de ordinul IV.
Fomula Simpson 3/8. Trecem acum la urmatorul polinom de interpolare,
cel de gradul 3. Considerand 4 puncte de diviziune pe intervalul (x
i1
, x
i+2
),
polinomul de interpolare este
p
3
(x) = y
i1
+y
i1
+( 1)
2
y
i1
/2 +( 1)( 2)
3
y
i1
/3! ,
2.2. Integrarea numerica 67
iar, prin integrare, se obt ine formula lui Simpson 3/8
I
i
= h
_
3
0
p
3
(x
i1
+h)d =
3h
8
(y
i1
+ 3y
i
+ 3y
i+1
+y
i+2
) , (2.59)
cu eroarea

i
= h
5
_
3
0
C
4

f
(4)
(
i
) d = 3h
5
f
(4)
(
i
)/80,
i
(x
i1
, x
i+2
) . (2.60)
Considerand 3N + 1 puncte de diviziune, cu pasul h = (b a)/3N, formula de
integrare pe (a, b) se va scrie
I =
3h
8
(y
1
+ 3y
2
+ 3y
2
+ 2y
4
+. . . + 2y
3N2
+ 3y
3N1
+ 3y
3N
+y
3N+1
) ,
(2.61)
iar eroarea de integrare pe (a, b) este
= (b a)
5
f
(4)
() / 6480N
4
= O(h
4
), (a, b) . (2.62)
La acelasi interval (a, b) si acelasi N, eroarea este mai mica decat n cazul
formulei Simpson 1/3 datorita factorului numeric de la numitor. Cum nsa o
precizie sporita la integrare este obt inuta ndeosebi prin marirea numarului de
subintervale, observam ca marirea gradului polinomului de interpolare p
3
(x) nu
conduce la un ordin al erorii mai mare, formula 3/8 ind tot de ordinul IV
ca si formula 1/3. Datorita numarului mai mic de evaluari de funct ie cerute
este preferabila folosirea formulei Simpson 1/3 celei 3/8.
Informativ, damsi formula obt inuta prin interpolare cu un polinom de gradul
4, pe intervalul (x
i2
, x
i+2
)
I
i
=
2h
45
(7y
i2
+ 32y
i1
+ 12y
i
+ 32y
i+1
+ 7y
i+2
) , (2.63)
cu eroarea

i
= 8h
7
f
(7)
(
i
)/945,
i
(x
i1
, x
i+2
) . (2.64)

In acest caz, cresterea gradului polinomului de interpolare a condus la o scadere


importanta a erorii. Pe tot interalul [a, b] avem = O(h
6
) fat a de = O(h
4
)
din (2.62).
Formulele de mai sus se pot obt ine si pe doua alte cai ce permit extinderi
importante. Sa consideram ca integrala pe un interval [a, b] se poate aproxima
ca o medie ponderat a a valorilor funct iei n punctele x
i
, i = 1, . . . , N
I =
_
b
a
f(x)dx

=
N

i=1
A
i
y
i
, (2.65)
68 2. Derivarea s i integrarea numeric a
unde A
i
sunt ponderi necunoscute. Putem impune ca integrala sa e evaluata
exact pentru funct ii polinomiale pana la gradul N 1. De exemplu, pentru
N = 3, obt inem sistemul de ecuat ii
_

_
_
b
a
dx = b a = A
1
+A
2
+A
3
_
b
a
xdx = (b
2
a
2
)/2 = A
1
x
1
+A
2
x
2
+A
3
x
3
_
b
a
x
2
dx = (b
2
a
2
)/3 = A
1
x
2
1
+A
2
x
2
2
+A
3
x
2
3
(2.66)
unde am nlocuit rand pe rand funct ia f(x) cu un polinom de gradul 0,1,2.
Se obt in coecient ii A
1
= A
3
= h/3, A
2
= 4h/3, adica exact cei din formula
Simpson 1/3 (2.56). Procedeul de mai sus este cunoscut sub denumirea de
identicare a coecient ilor de integrare.
Un al doilea procedeu este dat de nlocuirea funct iei f cu forma Lagrange a
polinomului de interpolare (1.31)
_
b
a
f(x)dx =
_
b
a
N

i=1
y
i
L
i
(x)dx +
_
b
a
f
(N)
()
N!
N

i=1
(x x
i
) dx, (2.67)
unde s-a utilizat forma (1.16) a restului. Comparand cu (2.65) se observa ca
A
i
=
_
b
a
L
i
(x)dx. (2.68)

In nal, sa adaugam, ca n numeroase situat ii practice, este convenabil sa se


evident ieze o funct ie pondere w(x) n operat iile de integrare. Se generalizeaza
astfel operat ia de medie ponderata din aritmetica. Utilizand (2.67) avem
_
b
a
w(x)f(x)dx =
_
b
a
w(x)
_
N

i=1
L
i
(x)y
i
+
f
(N)
()
N!
N

i=1
(x x
i
)
_
dx =
N

i=1
A
i
y
i
+,
A
i
=
_
b
a
w(x)L
i
(x)dx, =
_
b
a
w(x)
f
(N)
()
N!
N

i=1
(x x
i
) dx, (a, b).
2.2.2 Formule de integrare deschise
O ntrebare imediata asociata formulei generale de integrare (2.65) este daca
alegerea altor puncte x
i
si ponderi A
i
ar putea aduce avantaje de calcul. Vom
considera n cele ce urmeaza cateva asemenea cazuri.

In general, n obt inerea
acestor formule nu se utilizeaza valorile funct iei f din capetele intervalului.
Astfel de formule se numesc formule deschise.
Formule de integrare deschise de tip Newton Cotes
Aceste formule se obt in utilizand un polinom de interpolare care nu trece prin
capetele intervalului, deci cu un polinom cu doua grade mai mic decat n cazul
2.2. Integrarea numerica 69
formulelor nchise. Revenim la obt inerea formulelor de integrare prin integrarea
polinomului de aproximare. De data aceasta folosim o forma n care nu apar
valorile n capete
p
N3
(x
1
+h) = y
2
+ ( 1)y
2
+C
2
1

2
y
2
+. . . +C
N3
1

N3
y
2
, (2.69)
[0, N 1], eroarea ind
R
N1
(x
1
+h) = h
N2
C
N2
1
f
(N2)
() . (2.70)
Evident, formulele de mai sus se pot utiliza pentru N > 3. Putem obt ine
diverse formule prin alegerea intervalului de integrare si a gradului polinomului
de aproximare.
Pentru N = 4, calculam integrala polinomului aproximant de la = 0 la
= 2 si se obt ine
I
i
= 2hy
i
,
i
= h
3
f

(
i
)/3 . (2.71)

In acest caz, intervalul de integrare a fost (x


i1
, x
i+1
), dar termenul y
i+1
s-a
redus, astfel ncat formula (2.71) nu cont ine nici una din valorile de la capetele
intervalului. Observam ca se obt ine acelasi ordin al erorii O(h
3
) ca la
formula trapezelor (2.53), folosindnsa o singura evaluare a funct iei fat a de doua
n (2.53). Factorul numeric din expresia erorii de mai sus este nsa mai mare
decat cel din (2.55). Ca atare, avantajul de calcul obt inut poate nesemnicativ
n practica.
Pentru N = 6 si x (x
i1
, x
i+3
) se obt ine o formula cu acelasi ordin de
eroare ca formula Simpson
I
i
=
4h
3
(2y
i
y
i+1
+ 2y
i+2
),
i
=
14h
5
45
f
(4)
(
i
) . (2.72)
Coecientul numeric din formula erorii este iarasi mai mare decat cel din (2.58)
si numarul de evaluari de funct ie este acelasi. Ca atare, nu se obt ine vreun
avantaj de calcul.
Formule deschise de tip Gauss.

In formula generala de integrare (2.65), observamnsa ca avem la dispozit ie 2N


parametrii, nu numai ponderile A
i
ci si abscisele n care evaluam funct ia x
i
.
Pana acum am utilizat abscise echidistante si am obt inut formule exacte pentru
polinoame de grad pana la N 1, prin alegerea a N ponderi. Putem spera ca,
prin utilizarea tuturor celor 2N parametri, sa obt inem formule exacte pentru
polinoame pana la gradul 2N 1. Calea de a obt ine astfel de formule este data
de un rezultat teoretic important formulat de Gauss.
Punctul de plecare este formula de aproximare a valorii unei integrale
_
b
a
w(x)f(x)dx

=
N

i=1
A
i
f(x
i
) , (2.73)
70 2. Derivarea s i integrarea numeric a
unde w(x) este o funct ie pondere pozitiva, iar coecient ii A
i
sunt alesi astfel
ncat formula este exacta pentru toate polinomale de grad pana n N 1.
Teorema. Daca abscisele x
i
, din (2.73) se aleg ca ind zerourile unui polinom
q(x) de gradul N ce satisface relat ia de ortogonalitate
_
b
a
w(x)p(x)q(x)dx = 0 (2.74)
pentru orice polinom p(x) de grad pana la N 1, atunci formula (2.73)
este exacta pentru toate polinoamele de grad pana la 2N 1.
Demonstrat ie. Fie f un polinom de grad cel mult 2N 1. Acesta se poate
scrie f = pq + r unde p, r sunt polinoame de grad cel mult N 1. Deoarece
x
i
, i = 1, . . . , N sunt zerourile polinomului q, avem f(x
i
) = r(x
i
) si
_
b
a
w(x)f(x)dx =
_
b
a
w(x) [p(x)q(x) +r(x)] dx =
_
b
a
w(x)r(x)dx =
N

i=1
A
i
r(x
i
) =
N

i=1
A
i
f(x
i
) , (2.75)
unde ultima egalitate rezulta din alegerea coecient ilor A
i
enunt ata. 2
Se poate demonstra ca zerourile unui polinom ce satisface (2.74) sunt sim-
ple si sunt n interiorul intervalului [a, b], adica x
i
(a, b). Pozit iile zerourilor
depind, n general, de intervalul [a, b]. Pentru a obt ine valori standard ale absci-
selor, se folosesc domenii de integrare canonice, specice ecarui tip de ponderi
w(x). Aparit ia funct iei de ponderen formula (2.73) faciliteaza tratarea cazurilor
cu singularitat i integrabile dupa cum vom vedea mai jos. Odata stabilita familia
de polinoame ortogonale, prin alegerea ponderii w(x), se aa radacinile aces-
tora, iar coecient ii A
i
rezulta prin integrarea polinoamelor Lagrange asociat i
radacinilor conform relat iei (2.68).
Am vazut nsa n 1.1.1, ca interpolarea polinomiala globala nu converge
ntotdeauna catre funct ia f. O ntrebare naturala este daca o asemenea com-
portare nu ar ap area si n formulele de integrare Gauss. Condit ia de ortogo-
nalitate (2.74) joaca un rol esent ial aici si se poate demonstra (Stieltjes) ca,
pentru funct ii f continue, aproximarea Gauss converge catre valoarea exacta a
integralei pe masura ce N .
Fie acum f o funct ie de clasa C
2N
[a, b] oarecare, nu neaparat un polinom.
Dorim sa determinam daca se obt ine o eroare mai mica la integrare prin folosirea
unei formule Gauss cu N noduri, prin comparat ie cu formularile anterioare.
Teorema de mai sus sugereaza compararea cu un polinom de grad 2N 1. Un
polinom de grad 2N 1 poate denit de valorile funct iei si derivatei n cele
N noduri, dup a cum am vazut la interpolarea Hermite 2.1.3,
p
2N1
(x
i
) = f(x
i
), p

2N1
(x
i
) = f

(x
i
), i = 1, N . (2.76)
2.2. Integrarea numerica 71
Eroarea la interpolare este data de (2.38), de unde rezulta
_
b
a
w(x)f(x)dx
_
b
a
w(x)p
2N1
(x)dx =
_
b
a
w(x)
N

i=1
(x x
i
)
2
f
(2N)
((x))
(2N)!
dx.
(2.77)
Formula de integrare Gauss, ind exacta pentru polinoame de grad maxim 2N
1, rezulta
_
b
a
w(x)p
2N1
(x)dx =
N

i=1
A
i
p
2N1
(x
i
) =
N

i=1
A
i
f(x
i
) , (2.78)
de unde eroarea la integrarea funct iei f este
=
_
b
a
w(x)f(x)dx
N

i=1
A
i
f(x
i
) =
1
(2N)!
_
b
a
w(x)
N

i=1
(x x
i
)
2
f
(2N)
((x)) dx.
(2.79)
Nodurile x
i
se aleg ca ind radacinile polinomului q(x) de gradul N si ortogonal
pe orice polinom p(x) de grad pana la N1. Conform teoremei de medie, avem
=
f
(2N)
()
(2N)!
_
b
a
w(x)q
2
(x) dx, (a, b). (2.80)
Recunoastem aparit ia produsului scalar
(q, q) =
_
b
a
w(x)q
2
(x) dx (2.81)
(vezi 1.4.2). Ca atare, eroarea la integrarea Gauss este
= f
(2N)
() (q, q)/(2N)! . (2.82)
Daca f C
2N
[a, b], atunci f
(2N)
() este marginita. Produsul (q, q) se poate
evalua folosind relat iile de recurent a (1.94) si este de asemenea marginit.

In
plus, factorul (q, q)/(2N)! scade rapid cu cresterea lui N. Sa consideram acum
cele mai des ntalnite cazuri.
Formule Gauss-Legendre.
Mai ntai luam ponderea w(x) = 1, adica vom considera integrala obisnuita.
Intervalul canonic uzual este [1, 1]. Orice alt interval de integrare [a, b] poate
usor transformat n [1, 1] prin substitut ia z = 2(x a)/(b a) 1
_
b
a
f(x)dx =
b a
2
_
+1
1
F(z)dz, F(z) f
_
b a
2
z +
b +a
2
_
. (2.83)
72 2. Derivarea s i integrarea numeric a

In cazul de fat a condit ia de ortogonalitate este


_
+1
1
p(x)q(x)dx = 0 , (2.84)
identica cu (1.96), asancat polinoamele q(x) sunt polinoamele Legendre. Pozit iile
zerourilor z
i
si ponderile aferente A
i
sunt redate, pentru cateva valori ale lui N,
n tabelul (2.1). Integrala pe [1, 1] se aproximeaza prin
_
+1
1
F(z)dz

=
N

i=1
A
i
F(z
i
) , (2.85)
iar cea pe [a, b] prin
_
b
a
f(x)dx

=
b a
2
N

i=1
A
i
f(x
i
) , (2.86)
cu x
i
= (b a)z
i
/2+(a+b)/2. Din relat iile de recurent a (1.94) si (2.82) rezulta
eroarea la integrare
= 2
2N+1
(N!)
4
f
(2N)
()/(2N + 1)[(2N)!]
3
(2.87)
pe intervalul [1, 1] sau
= (b a)
2N+1
(N!)
4
f
(2N)
()/(2N + 1)[(2N)!]
3
(2.88)
pe intervalul [a, b] folosind substitut ia de mai sus. Abscisele x
i
n care se eva-
lueaza funct ia F nu sunt de regula echidistante. Putem nsa pune n evident a
un pas mediu h = (b a)/N, pentru a determina ordinul erorii n vederea
compararii cu metodele anterioare. Se obt ine
=
_
b a
N
_
2N+1
N
2N+1
f
(2N)
()
(N!)
4
(2N + 1)[(2N)!]
3
<
h
2N+1
f
(2N)
()
(N!)
4
(2N)!
(2.89)
si se observa obt inerea unui ordin al erorii de O(h
2N+1
), folosind doar N evaluari
ale funct iei f. Mai mult, coecientul numeric din (2.89) scade exponent ial cu
cresterea lui N (vezi tabelul 2.1).
Formule Gauss-Cebasev.
Consideram acum ponderea w(z) = (1 z
2
)
1/2
pe intervalul [1, 1]. Se poate
observa ca funct ia pondere prezinta singularitat i n 1. Utilitatea practica a
unei astfel de ponderi este integrarea numerica a funct iilor ce prezinta acelasi
gen de singularitate integrabila n capetele domeniului de integrare. Fie f(z) o
2.2. Integrarea numerica 73
Tabelul 2.1: Radacinile zi, ponderile Ai si eroarea la integrarea Gauss-Legendre
N z
i
A
i

2 1/

3 1
h
5
f
(4)
()
2
8
3
3
5
3

_
3/5
0
5/9
8/9
h
7
f
(6)
()
2
16
3
3
5
3
7
4
0.86113 63115 94053
0.33998 10435 84856
0.34785 48451 37454
0.65214 51548 62546
h
9
f
(8)
()
2
15
3
12
5
3
7
3
5
0.90617 98459 38664
0.53846 93101 05683
0
0.23692 68850 56189
0.47862 86704 99366
0.56888 88888 88889
5h
11
f
(10)
()
2
36
3
16
7
3
11
astfel de funct ie si sa presupunem ca avem de evaluat integrala acestei funct ii
pe [1, 1]. Putem da factor comun fort at termenul singular
_
+1
1
f(z) dz =
_
+1
1
w(z)F(z) dz
unde F(z) este acum o funct ie continua. Cea de-a doua integrala se poate
evalua prin folosirea formulelor Gauss-Cebasev. Avantajul unui astfel de pro-
cedeu consta n izolarea comportarii singulare din capete n funct ia pondere.
Radacinile si ponderile sunt (vezi si 1.2.1)
z
i
= cos [(2i 1)/2N] , A
i
= /N, i = 1, n. (2.90)
Integrala pe [1, 1] se evalueaza ca
_
+1
1
F(z)

1 z
2
dz =

N
N

i=1
F(z
i
) +
2F
(2N)
()
2
N
(2N)!
, (1, 1) (2.91)
unde ultimul termen este eroarea la integrare. Deoarece toate ponderile A
i
de la
formulele Gauss-Cebasev au aceeasi valoare, aceste formule necesita un numar de
operat ii mai mic pentru atingerea unui anumit ordin de precizie, n comparat ie
cu formulele Gauss-Legendre. De aceea, n situat ii precum efectuarea unui mare
numar de integrale din interiorul unei bucle, se prefera utilizarea unei formule
Gauss-Cebasev.
Formule Gauss-Laguerre.
Un alt gen de comportare singulara apare la integrarea pe un interval semi-
innit. Ponderea adecvata este n acest caz w(x) = exp(x) si familia de
polinoame ortogonale indusa de aceasta funct ie pondere este cea a polinoamelor
Laguerre din 1.4.2. Formula de calcul este n acest caz
_

0
e
x
f(x) dx =
N

i=1
A
i
f(x
i
) +
(N!)
2
(2N)!
f
(2N)
(), (0, ) (2.92)
cu radacinile si ponderile din tabelul 2.2.
74 2. Derivarea s i integrarea numeric a
Tabelul 2.2: Radacinile xi, ponderile Ai si eroarea la integrarea Gauss-Laguerre
N x
i
A
i
2
0.58578 64376
3.41421 35623
8.53553 39059 E-1
1.46446 60941 E-1
3
0.41577 45568
2.29428 03603
6.28994 50829
7.11093 00993 E-1
2.78517 73357 E-1
1.03892 56502 E-2
4
0.32254 76896
1.74576 11012
4.53662 02969
9.39507 09123
6.03154 10434 E-1
3.57418 69244 E-1
3.88879 08515 E-2
5.39294 70556 E-1
5
0.26356 03197
1.41340 30591
3.59642 57710
7.08581 00058
12.64080 08443
5.21755 61058 E-1
3.98666 81108 E-1
7.59424 49682 E-2
3.61175 86799 E-3
2.33699 72386 E-5
Tabelul 2.3: Radacinile zi, ponderile Ai si eroarea la integrarea Gauss-Hermite
N x
i
A
i
2 0.70710 67812 8.86226 92545 E-1
3
0
1.22474 48714
1.18163 59006
2.95408 97515 E-1
4
0.52464 76233
1.65068 01239
8.04914 09001 E-1
8.13128 35447 E-2
5
0
0.95857 24646
2.02018 28705
9.45308 72048 E-1
3.93619 32315 E-1
1.99532 42059 E-2
Formule Gauss-Hermite.

In ne, pentru domeniile de integrare innite se poate folosi ponderea w(x) =


exp(x
2
) si polinoamele Hermite asociate. Formula de integrare numerica este
_

e
x
2
f(x) dx =
N

i=1
A
i
f(x
i
) +
(N!)

2
N
(2N)!
f
(2N)
(), (, ) (2.93)
cu radacinile si ponderile din tabelul 2.3
Exemplu. (Calculul lungimii de arc al unui sfert de elipsa) Punctele de pe o elipsa
satisfac ecuat ia (x/a)
2
+ (y/b)
2
= 1 si pot descrise parametric prin x = a cos ,
y = b sin . Presupunem a > b. Lungimea de arc ceruta este
L =
_
dl =
_
_
dx
2
+ dy
2
=
_
/2
0
_
a
2
sin
2
+ b
2
cos
2
d . (2.94)
2.2. Integrarea numerica 75
Figura 2.2: Eroarea relativa funct ie de pasul convent ional h = 2/n la integrare
Gauss-Cebasev.
Prin substitut ia z = cos se obt ine
L = b
_
1
0

1 + k
2
z
2

1 z
2
dz =
b
2
_
1
1

1 + k
2
z
2

1 z
2
dz , (2.95)
unde k
2
(a
2
b
2
)/b
2
iar ultima egalitate s-a obt inut observand ca funct ia de sub
integrala este para. Integralele de tipul de mai sus se numesc integrale eliptice si
formeaza un capitol important al analizei matematice. Se observa ca am obt inut o
integrala de forma
L =
b
2
_
1
1
f(z)

1 z
2
dz =
b
2
I , (2.96)
n care apare ponderea Cebasev w(z) = 1/

1 z
2
. Pentru evaluarea integralei folosim
formula (2.91) cu coecient ii din (2.90). Pentru a = 5, b = 4 rezulta k = 3/4, iar sirul
de aproximat ii succesive ale integralei ce se obt ine marind ordinul formulei Gauss-
Cebasev utilizate este
Ordin 2 3 4 5 6 7
I 3.556041 3.544605 3.545250 3.545205 3.545209 3.545208
(2.97)
Teoria funct iilor eliptice furnizeaza valoarea I = 3.54520849. Se observa convergent a
rapida catre valoarea de referint a. Este instructiv n acest sens gracul de convergent a
n coordonate logaritmice (g. 2.2). Se observa pe acest grac cum panta curbei scade
continuu, denotand o scadere a erorii mai rapida decat cea polinomiala (pentru care
gracul ar fost o linie dreapta n coordonate logaritmice, vezi Exemplul din 2.1.1
si g. 2.1). O astfel de comportare a erorii se numeste spectrala si, n comparat ie cu
comportarile erorii O(h
k
) de la integrarea polinomului de interpolare, la o aproximare
spectrala avem = O(h

). Ordinul innit se interpreteaza n sensul ca eroarea scade


mai repede decat orice putere a lui h.

In cazul de fat a de exemplu ntre n = 2 si n = 3
eroarea a avut o comportare = O(h
0.7
) pe cand ntre n = 16 si n = 17 comportarea
a fost = O(h
640
).
76 2. Derivarea s i integrarea numeric a
2.2.3 Tehnici de atingere a unei precizii impuse
Pentru toate formulele de integrare prezentate anterior s-a determinat si o ex-
presie a erorii de integrare. Tipic, forma acestei expresii este
= C f
(k)
() h
m
, (2.98)
unde C este o constanta. Sunt foarte rare nsa aplicat iile n care derivata este
cunoscuta. Dupa cum s-a ment ionat, partea importanta a expresiei (2.98) este
dependent a de pasul h.

Intrebarea ce apare totdeauna ntr-o aplicat ie este: cum
se poate stabili pasul h necesar atingerii unei precizii impuse ? Vom considera
acum cateva tehnici ce permit determinarea preciziei de integrare. O trasatura
importanta a tehnicilor considerate este ca ele pot aplicatempreuna cu oricare
dintre formulele de integrare considerate mai sus.
Reguli de integrare recursive.
Singura modalitate practica de vericare a convergent ei aproximarilor numerice
ale unei integrale este repetarea calculelor cu un pas mai mic. O tehnica des
utilizata este njumatat irea pasului. Consideram intervalul [a, b] si o diviziune
echidistanta a sa n N part i egale. Pasul diviziunii este h
N
= (b a)/N iar
nodurile sunt x
(N)
j
= a + jh, j = 0, N
3
. Prin njumatat irea pasului obt inem
h
2N
= (ba)/2N, x
(2N)
j
= a+jh, j = 0, 2N. Deoarece x
(2N)
2j
= x
(N)
j
, j = 0, N ,
rezulta y
(2N)
2j
= y
(N)
j
unde y
(2N)
2j
= f(x
(2N)
2j
), y
(N)
j
= f(x
(N)
j
). Deci valorile
funct iei cunoscute din calculul efectuat cu pasul h
N
pot refolosite n calculul
efectuat cu pasul h
2N
. Noua aproximare a integralei se poate exprima recursiv
utilizand vechea aproximare si valorile funct iei f n noile noduri x
(2N)
2j+1
, j =
0, 2N 1. Sa stabilim efectiv aceste reguli pentru doua dintre formulele cele
mai utilizate, cea a trapezelor (2.53) si formula Simpson 1/3 (2.56).
Vom nota prin T(h
N
) aproximarea integralei I obt inuta prin formula trape-
zelor (2.53) cu N intervale si prin T(h
2N
) aproximarea obt inuta cu 2N intervale.
2T(h
N
)/h
N
si 2T(h
2N
)/h
2N
sunt
_
y
(N)
0
+ + 2y
(N)
1
+ . . . + 2y
(N)
N1
+ + y
(N)
N
_
_
y
(2N)
0
+ 2y
(2N)
1
+ 2y
(2N)
2
+ . . . + 2y
(2N)
2N2
+ 2y
(2N)
2N1
+ y
(2N)
2N
_
,
respectiv. Valorile egale au fost aliniate pe verticala. T inand cont ca avem
h
2N
= h
N
/2 se obt ine
T(h
2N
) =
1
2
T(h
N
) +h
2N
N

j=1
y
(2N)
2j1
. (2.99)
3
Datorita operat iilor succesive de njumatat ire este preferabila nceperii numerotarii nodu-
rilor de la 0.
2.2. Integrarea numerica 77
Formula trapezelor furnizeaza o regula recursiva deosebit de simpla datorita
faptului ca avem aceeasi coecient i numerici la formulele din etapele N si 2N.
Pentru alte formule, regulile recursive sunt mai complicate datorita alternant ei
coecient ilor. Exemplicam modalitatea de abordare pentru formula Simpson
1/3. Vom nota prin S(h
2N
) suma din (2.56). Deoarece formula lucreaza
cu un numar par de intervale, vom face trecerea de la etapa 2N la etapa 4N.
Coecient ii asociat i valorilor nodale sunt reprezentat i grac pe schema de mai
jos.
Valorile funct iei ce trebuiesc calculate n etapa 4N sunt cele de indice im-
par. Pentru cele de indice par se pot refolosi rezultatele etapei 2N. Datorita
alternant ei coecient ilor este convenabil sa separam suma S(h
2N
) n suma com-
ponentelor pare si a celor impare
S(h
2N
) = S
par
(h
2N
) +S
impar
(h
2N
) , (2.100)
S
par
(h
2N
) =
h
2N
3
_
y
(2N)
0
+ 2y
(2N)
2
+. . . + 2y
(2N)
2N2
+y
(2N)
2N
_
, (2.101)
S
impar
(h
2N
) =
4h
2N
3
_
y
(2N)
1
+y
(2N)
3
+. . . +y
(2N)
2N3
+y
(2N)
2N1
_
. (2.102)
Regula recursiva de trecere la noua etapa este
S
par
(h
4N
) =
1
2
S
par
(h
2N
) +
1
4
S
impar
(h
2N
), (2.103)
S(h
4N
) = S
par
(h
4N
) +S
impar
(h
4N
) . (2.104)
Regulile recursive se folosesc n cadrul unei bucle de vericare a convergent ei
aproximarilor. Exemplicam, pentru regula recursiva Simpson 1/3, n algo-
ritmul de mai jos.

In urma aplicarii algoritmului, se obt ine un sir de aproximat ii
ale integralei S
1
, S
2
, . . . , S
M
calculate cu 2
1
, 2
2
, . . . , 2
M
subintervale.
M 1, N 2, h (b a)/2
S
par
h(f(a) +f(b))/3, S
impar
4hf(a +h)/3
S
1
S
par
+S
impar
78 2. Derivarea s i integrarea numeric a
repeta
_

_
N 2N, M M + 1, doih h, h h/2
S
par
S
par
/2 +S
impar
/4
x a +h, S
impar
0
k = 1 : 2 : N
_
S
impar
S
impar
+f(x)
x x +doih
S
impar
4hS
impar
/3
S
M
S
par
+S
impar
pana cand [S
M
S
M1
[ [S
M
[ +
S
sau M > M
max
.
(2.105)
Condit ia de oprire a iterat iei este cea de atingere a unei erori relative impuse
[(S
M
S
M1
)/S
M
[ , (2.106)
transcrisa convenabil pentru a permite si S
M
= 0
4
(sau foarte mic).

In plus, se
impune un numar maximal de subdivizari M
max
ce nu trebuie depasit.
Extrapolarea Richardson.
Sunt multe situat ii n care evaluarea funct iei f este costisitoare si este de dorit
obt inerea unei precizii sporite cu un numar minim de evaluari ale funct iei. Vom
considera acum un procedeu de mbunat at ire a aproximat iilor ce se bazeaza pe
cunoasterea formei erorii de integrare (2.98). Consideram mai ntai aproximarea
prin formula trapezelor. Valoarea exacta a integralei este
I = T(h) +Cf
(2)
(
1
)h
2
. (2.107)

Injumatat ind pasul avem


I = T(h/2) +Cf
(2)
(
2
)h
2
/4 , (2.108)
cu
1
,=
2
n general. Daca se poate presupune nsa ca f
(2)
(
1
)

= f
(2)
(
2
)
5
se
poate elimina Cf
(2)
(
1
) din cele doua ecuat ii de mai sus si obt ine
I

= T(h/2) + [T(h/2) T(h)] /3 . (2.109)
Tipic, noua aproximare este de un ordin de precizie mai ridicat
I = T(h/2) + [T(h/2) T(h)] /3 +O(h
k
) , (2.110)
cu k > 2. Acelasi procedeu aplicat pentru formula Simpson, la care avem
I = S(h) +Cf
(4)
()h
4
, (2.111)
conduce la
I = S(h/2) + [S(h/2) S(h)] /15 +O(h
k
), k > 4 . (2.112)
4

S
este denumit coecient de sigurant a si permite oprirea iterat iilor si cand S
M
= 0.
Uzual se ia
S
= si condit ia de oprire a iterat iilor se scrie |S
M
S
M1
| (1 +|S
M
|).
5
Presupunerea f
(2)
(
1
)

= f
(2)
(
2
) implica e ca
1
nu difera de
2
e ca f
(2)
(x) nu are
variat ii importante pe intervalul considerat.
2.2. Integrarea numerica 79
Algoritmul Romberg.
Punctul slab al tehnicii de mai sus este presupunerea f
(2)
(
1
)

= f
(2)
(
2
). Exista
nsa o cale de a justica acest pas pentru funct ii netede, f C
(2m)
[a, b]. Punctul
de pornire l constituie formula Euler-MacLaurin
6
_
1
0
F(t) dt =
F(0) +F(1)
2
+
m1

k=1
A
2k
_
F
(2k1)
(0) F
(2k1)
(1)
_
A
2m
F
(2m)
(
0
),
cu
0
[0, 1] si A
2k
constante numerice. Aplicam formula pentru F(t) = f(x
j
+
t h) si obt inem
_
xj+1
xj
f(x) dx =
h[f(x
j
) +f(x
j+1
)]
2
+
m1

k=1
A
2k
h
2k
_
f
(2k1)
(x
j
) f
(2k1)
(x
j+1
)
_
A
2m
h
2m+1
f
(2m)
(
i
) .
Prin sumarea

2
N
1
j=0
, se obt ine
_
b
a
f(x) dx =
2
N
1

j=0
h[f(x
j
) +f(x
j+1
)]
2
+
m1

k=1
A
2k
h
2k
_
f
(2k1)
(a) f
(2k1)
(b)
_
A
2m
(b a)h
2m
f
(2m)
() .
Prima suma este chiar aproximarea prin formula trapezelor T(h), astfel ncat
avem
I =
_
b
a
f(x) dx = T(h) +a
2
h
2
+a
4
h
4
+. . . +a
2m
h
2m
f
(2m)
() . (2.113)
De data aceasta, observam ca s-a obt inut un coecient a
2
al primului ter-
men din eroare, ce este constant. Ca atare, extrapolarea Richardson este justi-
cata. De fapt procedeul de extrapolare poate repetat de m1 ori. Aceasta
combinat ie dintre regula trapezelor recursiva si extrapolare Richardson este cu-
noscuta ca metoda Romberg. Fie R(n, m) estimarea integralei obt inuta cu 2
n
su-
bintervale si m etape de extrapolare Richardson. Avem R(n, 0) = T((ba)/2
n
)
si
R(n, m) = R(n, m1) +
1
4
m
1
[R(n, m1) R(n 1, m1)] . (2.114)

In scrierea programelor de calcul, este recomandata utilizarea formei de mai sus


n care se adauga o corect ie R(n, m1) R(n1, m1), la o aproximat ie deja
efectuata R(n, m1), spre deosebire de forma
R(n, m) =
4
m
4
m
1
R(n, m1)
1
4
m
1
R(n 1, m1) . (2.115)
6
Formula rezulta din integrarea prin part i repetata si alegerea convenabila a constantelor
de integrare:

1
0
F(t) dt =

(t
1
2
)F(t)

1
0

1
0
(t
1
2
) F

(t) dt = . . .
80 2. Derivarea s i integrarea numeric a
Calculul se organizeaza convenabil ntr-un tabel
R(0, 0)
R(1, 0) R(1, 1)
R(2, 0) R(2, 1) R(2, 2)
.
.
.
.
.
.
.
.
.
.
.
.
R(M, 0) R(M, 1) R(M, 2) R(M, M)
(2.116)
ce se parcurgen sensul umplerii triunghiurilor inferioare: R(0, 0), R(1, 0), R(1, 1),
R(2, 0), R(2, 1), R(2, 2), . . . . Noi evaluari ale funct iei f sunt necesare doar pen-
tru prima coloana ce cont ine R(0, 0), R(1, 0), . . . . Algoritmul este
n 0; h b a; N 1
R(0, 0) h(f(a) +f(b))/2
repeta
_

_
n n + 1; N 2N; doih h; h h/2
R(n, 0) = 0; x a +h
k = 1 : 2 : N
_
R(n, 0) R(n, 0) +f(x)
x x +doih
R(n, 0) R(n 1, 0)/2 +hR(n, 0)
AtinsPrecizie fals; m 0; putere4 1
repeta
_

_
putere4 4 putere4; m m+ 1
dif R(n, m1) R(n 1, m1)
R(n, m) R(n, m1) +dif / (putere4 1)
AtinsPrecizie [R(n, m) R(n, m1)[ (1 +[R(n, m1)[)
pana cand m > n sau AtinsPrecizie
pana cand AtinsPrecizie sau n > n
max
.
Partea cea mai sensibila a algoritmului este stabilirea unei condit ii de oprire.
Cea de mai sus este simpla dar funct ioneaza bine doar pentru funct ii netede.

In aplicat ii ale procedeului trebuie atent esantionata funct ia de sub integrala


pentru a determina prezent a unor singularitat i sau zone de variat ii rapide ce ar
mpiedica ameliorarea aproximat iilor prin extrapolarea Richardson.
Integrarea adaptiva.
Pe langa atingerea unei precizii impuse, n practica, se doreste atingerea acestei
precizii cu un numar minim de evaluari ale funct iei f. Algoritmii considerat i
pana acum prezinta dezavantajul ca realizeaza o diviziune a ntregului interval
de integrare. Ori, este adesea cazul ca subdivizarea este necesara numai pe zone
restranse, de variat ie mai rapida a funct iei f (g. 2.3). Strategia adecvata este
de vericare a ndeplinirii unei condit ii de eroare pe ecare subinterval n parte
si de subdivizare numai a acelor subintervale pe care aceasta condit ie nu este
ndeplinita.
2.2. Integrarea numerica 81
Algoritmul poate exprimat elegant sub forma recursiva. Fie F o formula
de integrare pe care o vom aplica pentru a calcula
_
b
a
f(x) dx, cu eroarea relativa
. Notam prin P(F, a, b, y
a
, y
b
, ) funct ia de integrare adaptiva. S-au introdus
ca argumente si y
a
f(a), y
b
f(b), pentru a se putea refolosi evaluarile de
funct ie n capetele intervalului, atunci cand se face o subdivizare. Algoritmul
este
P(F, a, b, y
a
, y
b
, )
_

_
I
ab
F(a, b, y
a
, y
b
)
c (a +b)/2, y
c
f(c)
I
ac
F(a, c, y
a
, y
c
), I
cb
F(c, b, y
c
, y
b
)
I
nou
I
ac
+I
cb
daca [I
nou
I
ab
[ (1 +[I
nou
[) atunci P I
nou
altfel P P(F, a, c, y
a
, y
c
, ) +P(F, c, b, y
c
, y
b
, )
(2.117)
Pentru intervalul [a, b], se efectueaza doua evaluari ale integralei, folosind for-
mula F. Prima I
ab
utilizeaza tot intervalul, cealalta I
nou
utilizeaza o divizare n
doua a intervalului. Daca, ntre cele doua evaluari condit ia de eroarea relativa
este ndeplinita, se accepta evaluarea mai precisa I
nou
. Altfel se repeta aplica-
rea procedeului pe cele doua subintervale [a, c], [c, b]. Procedeul se zice recursiv
deoarece funct ia P se autoapeleaza.
Integrarea adaptiva poate cuplata cu oricare dintre formulele de integrare
prezentate anterior. Pentru formula Simpson 1/3 avem
F(a, b, y
a
, y
b
)
_
h (b a)/2, y
m
f(a +h)
F h(y
a
+ 4y
m
+y
b
)/3
, (2.118)
iar pentru formula Gauss-Legendre de ordinul III (vezi tabel 2.1):
F(a, b, y
a
, y
b
)
_

_
z
1
=
_
3/5, z
2
= 0, z
3
=
_
3/5
A
1
= 5/9, A
2
= 8/9, A
3
= 5/9
m (b a)/2, n (a +b)/2
j = 1 : 3
x
j
= mz
j
+n
F m(A
1
f(x
1
) +A
2
f(x
2
) +A
3
f(x
3
))
. (2.119)
Exemplu 1. Consideram integrala
I =
_
10
0
f(x)dx, f(x) =
1
(x 1)
2
+ 0.01
+
1
(x 3)
2
+ 0.04
(2.120)
ce se poate evalua analitic, I = 45.54044. Ne propunem sa comparam diversele metode
de integrare pe acest caz. Impunem atingerea unei erori relative de = 10
6
(6 cifre
semnicative exacte). Prin regulile recursive, pentru formula trapezelor si formula
Simpson 1/3, se obt in rezultatele din tabelul urmator.
82 2. Derivarea s i integrarea numeric a
Figura 2.3: O funct ie cu variat ii rapide n jurul absciselor x = 1, x = 3 si lente n
rest. Sunt gurate pe axa absciselor si pe gracul funct iei nodurile folosite la integrarea
adaptiva cu formula Simpson 1/3.
M trapeze Simpson 1/3 M trapeze Simpson 1/3
1 4.38356 14.67353 7 45.54563 45.53835
2 12.10104 30.84147 8 45.54017 45.54044
3 26.15636 32.09992 9 45.54037 45.54044
4 30.61403 51.99130 10 45.54042
5 46.64699 43.96342 11 45.54043
(2.121)
cu 2049 de apeluri ale funct iei f pentru formula trapezelor si 1025 pentru formula
Simpson pana la atingerea erorii impuse.
Aplicam acum extrapolarea Richardson asupra rezultatelor de la metoda trapezelor
(metoda Romberg). Se obt ine tabelul de mai jos.
nm 0 1 2 3 4
0 5.667271
1 4.383564 3.955662
2 12.101037 14.673528 15.388053
3 26.156360 30.841468 31.919330 32.181731
4 30.614030 32.099919 32.183816 32.188014 32.188039
(2.122)
Algoritmul se opreste la n = 4, m = 4, deoarece corect ia adusa de extrapolare este
mica, lasand primele 6 cifre semnicative nemodicate. Dar rezultatul este foarte
departe de cel exact si de fapt nu avem nici o cifra semncativa corecta. Funct ia f
prezinta doua puncte de variat ie foarte rapida, la x = 1si x = 3. Acestea apar ca niste
singularitat i daca rata de esantionare a funct iei f nu este sucient de na.
2.2. Integrarea numerica 83

In ne, comparam diversele formule de integrare n interiorul procedurii adaptive


P(F, a, b, ya, y
b
, ). Se obt in rezultatele
Formula Trapeze Simpson 1/3 GL II GL III GL IV
I 45.5419 45.5405 45.5404 45.5405 45.5404
evaluari f 839 557 877 573 485
(2.123)
unde prin GLn s-a notat formula Gauss-Legendre de ordinul n. Procedeul adap-
tiv determina n general corect cele 6 cifre semnicative cerute. Except ie face doar
metoda trapezelor. Nesatisfacerea preciziei n acest caz este rezultatul condit iei de
oprire a iterat iilor. S-a presupus necunoscuta valoarea exacta si s-au comparat doua
aproximat ii succesive pentru a se estima eroarea.

In termenii din capitolul 1 s-a aplicat
criteriul de convergent a pentru siruri Cauchy. Criteriul este nsa strict valabil doar
cand n . Exemplul de aici ne arata pericolul identicarii aproprierii dintre doua
aproximat ii cu aproprierea aproximat iilor de solut ia exacta. Pentru a preveni o esti-
mare eronata a preciziei cu care s-a determinat un rezultat trebuie impusa o condit ie
de eroare mai stricta decat cea dorita efectiv n rezultatul nal. Refacand calculul cu
= 10
7
se obt ine I = 45.5407 pentru metoda trapezelor cu 1801 evaluari ale funct iei
f.
Numarul de evaluari de funct ie scade cu cresterea ordinului de integrare. Castigul
devine din ce n ce mai mic nsa. Diferent a de numar de evaluari ntre Simpson 1/3 si
GLII ce sunt procedee cu comportari comparabile ale erorii provine de la posibilitatea
reutilizarii nodurilor n formula Simpson. La formulele Gauss-Legendre modicarea
intervalului conduce si la modicarea pozit iei nodurilor.
Prin comparat ie cu regula recursiva Simpson se observa reducerea semnicativa a
numarului de evaluari ale funct iei f n cazul procedurii adaptive ce utilizeaza formula
Simpson 1/3. Nodurile folosite pentru atingerea unei erori relative de = 10
3
sunt
reprezentate n g. 2.3. Se observa ndesirea nodurilor n zonele de variat ie rapida
a funct iei. Pentru obt inerea aceleasi precizii regula recursiva Simpson mparte tot
intervalul cu aceesi net e rezultand multe evaluari ale funct iei inutile, n zonele de
variat ie lenta.
Exemplul 2. Fie acum integrala
I =
_
10
0
f(x)dx, f(x) =
1
(x 1)
2
+ 1
+
1
(x 3)
2
+ 4
(2.124)
ce are valoarea exacta I = 3.38318. Funct ia este asemanatoare celei din exemplu
precedent dar are un aspect mult mai neted. Procedeul Romberg furnizeaza tabelul:
nm 0 1 2 3 4 5
0 3.039931
1 2.439083 2.238800
2 2.737904 2.837511 2.877425
3 3.326170 3.522259 3.567908 3.578868
4 3.365313 3.378361 3.368768 3.365607 3.364771
5 3.378763 3.383246 3.383572 3.383807 3.383878 3.383897
6 3.382077 3.383182 3.383178 3.383172 3.383169
84 2. Derivarea s i integrarea numeric a
Valoarea la care s-a ndeplinit condit ia de eroare este I = 3.38317 dupa 65 de evaluari
ale funct iei f. Funct ia ind neteda extrapolarea Richardson funct ioneaza corect obt inandu-
se si un efort de calcul mult inferior celor 1025 de evaluari de funct ie necesare atingerii
aceleasi precizii prin regula trapezelor recursiva (de 16 ori mai put ine calcule!).
85
Capitolul 3
Rezolvarea ecuat iilor
neliniare
Vom aborda, la nceput problema gasirii radacinilor reale ale unei funct ii
F(x), denita pe un interval [a, b], adica a valorilor variabilei x pentru care are
loc relat ia
F(x) = 0, x [a, b]. (3.1)
Daca F(x) este o funct ie liniara problema este banala si admite o solut ie ana-
litica. Ca atare vom presupune ca F(x) este neliniara, caz n care problema
devine dicila datorita absent ei vreunei teoreme matematice ce sa furnizeze
numarul radacinilor sau vecinatat ile n care acestea se aa n cazul general.
De aceea o prima etapa n rezolvarea ecuat iei (3.1) este cautarea radacinilor
pentru care se folosesc rezultate din analiza matematica, precum teorema lui
Rolle, sau esantionarea funct iei F(x). Dupa determinarea intervalelor pe care
se aa radacini se trece la restrangerea acestor intervale, proces cunoscut si sub
denumirea de localizare a radacinilor. Localizarea radacinilor se efectueaza de
regula prin procedee sigure dar nu deosebit de eciente. Pentru a obt ine rapid
o precizie ridicata a aproximat iei unei radacini se efectueaza o ultima etapa de
ranare a radacinilor.
Uzual, procedeele de rezolvare a ecuat iei (3.1) furnizeaza un sir de aproximat ii
x
n

nN
ce tinde catre o radacin a .

In analiza acestor procedee este util sa se
86 3. Rezolvarea ecuatiilor neliniare
stabileasca o modalitate de cuanticare a rapiditat ii cu care sirul tinde catre li-
mita. Spunem ca sirul x
n

nN
converge liniar catre daca exista c < 1, N N
astfel ncat
[x
n+1
[ c [x
n
[ , n > N . (3.2)
Sirul x
n

nN
converge patratic catre daca exista C, N astfel ncat
[x
n+1
a[ C [x
n
a[
2
, n > N . (3.3)
Analog se pot deni ordine de convergent a superioare, existand nsa, un numar
mic de algoritmi ce au ordine de convergent a mai mari de 2. Multe metode
prezinta un ordin de convergent a intermediar ntre cel liniar si cel patratic.
Spunem ca sirul x
n

nN
converge superliniar catre daca exista N si un alt
sir
n

nN
cu lim
n

n
= 0 astfel ncat
[x
n+1
a[ [
n
[ [x
n
a[ , n > N (3.4)
Ordinul de convergent a va indica numarul de iterat ii ce trebuiesc efectuate
pentru a atinge o anumita precizie. Metodele cu ordin de convergent a mai
ridicat tind sa efectueze mai multe operat ii aritmetice pe iterat ie. De aceea este
necesara si o cuanticare a efortului de calcul ntr-o iterat ie pentru a avea o
estimare realista a timpului de calcul. Uzual, unitatea de lucru adoptata este
numarul de evaluari ale funct iei F(x) ntr-o iterat ie.
3.1 Metoda njumatat irii intervalelor
Metoda este exemplul clasic de un procedeu de localizare. Vom presupune ca
din etapa de cautare s-a determinat un interval [a, b] pentru care F(a)F(b) < 0,
ceea ce denota existent a a cel put in unei radacini (eventual un numar impar) n
acest interval. Metoda njumatat irii mparte intervalul n doua part i egale prin
punctul
c = (a +b)/2 . (3.5)
Daca F(c) = 0, atunci c este o radacina. Daca F(c) ,= 0, se calculeaza semnul
produsului F(a)F(c). Daca acesta este negativ, F(a)F(c) < 0, atunci radacina
se aa n intervalul [a, c], altfel radacina se aa n [c, b]. Calculele se reiau pe
noul subinterval.
Metoda este simpla si necesita doar o evaluare de funct ie per iterat ie. Con-
vergent a este nsa doar liniara (c = 1/2 n 3.2), algoritmul efectuand tipic un
3.2. Procedee iterative 87
mare numar de iterat ii. Algoritmul este
F
a
F(a); F
b
F(b); m 0; e b a
repeta
_

_
e 0.5e; c a +e; F
c
= F(c)
daca semn(F
a
) = semn(F
c
) atunci
[b c; F
b
F
c
altfel
[a c; F
a
F
c
m m+ 1
pana cand m > m
max
sau [b a[ < sau [F
c
[ <
(3.6)
Se poate observa utilizarea a unui cumul de trei condit ii de oprire: depasirea
numarului maxim de iterat ii, restrangerea intervalului sub un prag ales , sau
obt inerea unei valori a funct iei mai mici decat numarul mic .

In algoritm
valoarea c este actualizata prin adagarea unei mici corect ii e, spre deosebire de
transcrierea directa a formulei (3.5). Aceasta conduce tipic la un control mai
bun al erorilor numerice pe parcursul iterat iilor.
3.2 Procedee iterative
Metoda njumatat irii intervalului este simpla dar converge lent, deci nu este
indicata atunci cand se doreste o precizie ridicata (un numar mare de cifre
semnicative exacte). De obicei, metoda njumat at irii intervalului serveste pen-
tru stabilirea intervalului pe care exista o r adacina reala, dupa care se aplica
procedee care converg mai rapid.
3.2.1 Iterat ia simpla
Se scrie ecuat ia (3.1) sub forma
F(x) = x f(x) = 0 , (3.7)
unde f(x) se numeste funct ie iterata, iar [a, b] este un interval pe care stim
ca exist a o radacina x = (separata, spre exemplu, cu metoda njumatat irii
intervalelor). Prin urmare
F() = f() = 0, (a, b). (3.8)
Se construieste urmatorul sir, n mod recurent,
x
k+1
= f(x
k
), k = 0, 1, 2, . . . . (3.9)
Vom cauta sa stabilimn ce condit ii sirul (3.9) converge spre valorea , plecand
de la un punct arbitrar x
0
(a, b).

In acest scop, vom calcula distant a la
radacina
[x
k+1
[ = [f(x
k
) f()[ = [f

()[ [x
k
[ , (x
k
, ) . (3.10)
88 3. Rezolvarea ecuatiilor neliniare
Am t inut seama ca este radacina, si am folosit formula cresterilor nite (La-
grange) presupunand ca f(x) este derivabila pe intervalul (a, b). Notand cu m
cea mai mare valoare a modulului derivatei f/(x)
m = sup
x(a,b)
[f

(x)[ , (3.11)
din (3.10) se obt ine
[x
k+1
[ m[x
k
[ . (3.12)
Rezulta ca, pentru ca sirul x
k+1
sa aiba ca limita pe este sucient ca
m < 1 , (3.13)
convergent a procedeului ind liniara. Condit ia (3.13) este si necesara daca
dorim ca sirul (3.9) sa convearga spre , oricare ar punctul de plecare x
0
.
Astfel, valorile derivatei, n modul, trebuie sa e subunitare ntr-o vecinatate a
radacinii , inclusa n intervalul pe care cautam radacina. Sirul (3.9) deneste
un procedeu de determinare a unei radacini reale denumit iterat ie simpla. Forma
(3.7) a ecuat iei are o interpretare geometrica simpla, ilustrata n g. 3.1. Se
observa ca, radacinile reale, daca exista, se gasesc la intersect ia funct iei y = f(x)
cu prima bisectoare. Plecand dintr-un punct x
0
, este accesibila doar radacina
x =
2
n vecinatatea careia [f

(x)[ < 1. Pe de alta parte [f

(x
0
)[ > 1 deci
condit ia (3.13) nu estentodeauna necesara. Pentru oprirea iterat iilor un criteriu
simplu este ca distant a ntre doua aproximat ii succesive sa e sucient de mica.
Fie precizia dorita si n + 1 rangul ultimei iterat ii astfel ncat
[x
n+1
x
n
[ . (3.14)
Mai departe, se obt ine succesiv
[x
n+1
x
n
[ = [f(x
n
) x
n
[ = [F(x
n
)[ = [F(x
n
) F()[ = (3.15)
[x
n
[ [F

(
n
)[ = [x
n
[ [1 f

(
n
)[ [x
n
[ [1 m[ (3.16)
T inand, mai departe cont de (vezi si 3.10)
[x
n+1
[ m[x
n
[ , [x
n
[ m/(1 m) (3.17)
rezulta ca distant a la radacina ultimei valori calculate, x
n+1
satisface inegalita-
tea
[x
n+1
[ m/(1 m) . (3.18)

In consecint a, daca panta m este foarte apropiata de unitate, distant a la


radacina poate de alt ordin de marime decat ales.

In particular, daca nu
s-a vericat condit ia de existent a a radacinii, s-ar putea ca aceasta sa nici nu
existe (g. 3.1). De aceea, n programul de calcul, se recomanda testarea valorii
[f

(x)[.
3.2. Procedee iterative 89
Figura 3.1: (a) Exemplu de convergent a a iterat iei simple. (b) Exemplu de divergent a
a iterat iei simple.
3.2.2 Metoda Newton-Raphson
Condit ia (3.13) este destul de restrictiva, anumite radacini neputand atinse
(cum ar radacina corespunzatoare punctului A din g. 3.1). De aceea, ne
propunem construirea unui alt sir iterativ ce sa tinda spre radacina x = ,
x
k+1
= x
k
+ (f(x
k
) x
k
) , k = 0, 1, 2, . . . , (3.19)
unde s-a introdus parametrul de ajustare . Evident, pentru = 1 se obt ine
iterat ia simpla. Pe de alta parte, distant a la radacina este
[x
k+1
[ [x
k
+ (f(x
k
) f() + x
k
)[ = (3.20)
[x
k
[ [1 (1 f

(
k
))[ ,
k
(x
k
, ) . (3.21)
Pentru a realiza convergent a sirului (4.15) este sucient sa avem
[1 (1 f

(x))[ < 1, x (a, b) (3.22)


pe intervalul unde cautam radacina. Se observa ca amnlocuit
k
cu x, deoarece

k
este, n general, necunoscut.

In particular, daca am cunoaste
k
, luand
= 1/ [1 f

(
k
)] (3.23)
am avea x
k+1
= , adica radacina ar determinata.
Pentru
k
= x
k
, din (3.23) si (3.19), se obt ine formula iterativa Newton-
Raphson
x
k+1
= x
k
F(x
k
)/F

(x
k
), k = 0, 1, . . . , F

(x
k
) ,= 0 , (3.24)
90 3. Rezolvarea ecuatiilor neliniare
ale carei condit ii de convergent a le vom preciza mai jos. Din punct de ve-
dere geometric, procedeul iterativ (3.24) corespunde apropierii de radacina prin
punctele de intersect ie ale tangentelor duse la curba F(x) n punctele (x
k
, F(x
k
))
(g. 3.2). Altfel spus, urmatoarea aproximat ie a radacinii x
k+1
este data de
radacina unei liniarizari a funct iei F(x). Aceeasi idee, de aproximare locala
liniara, rezulta si pe cale analitica din formula lui Taylor
F(x) = F(x
k
) + (x x
k
)F

(x
k
) + (x x
k
)
2
F

(
k
)/2,
k
(x, x
k
) . (3.25)
Aproximarea liniara a funct iei F(x) va
L(x) = F(x
k
) + (x x
k
)F

(x
k
) , (3.26)
ce are radacina data de formula (3.24).
Stabilim acum condit iile de convergent a a metodei Newton-Raphson. Pentru
x = , din (3.25) rezulta
0 = F(x
k
) + ( x
k
)F

(x
k
) + ( x
k
)
2
F

(
k
)/2 . (3.27)
sau, considerand F

(x
k
) diferit de zero,
= x
k

F(x
k
)
F

(x
k
)

(x
k
)
2
2F

(x
k
)
F

(
k
) . (3.28)
Scazand relat iile (3.24) si (3.28) se obt ine distant a la radacina n aproximat ia
k + 1
[x
k+1
[ = (x
k
)
2
[F

(
k
)/F

(x
k
)[ /2 M(x
k
)
2
, (3.29)
unde am notat cu M marginea
M = sup
x

,x

(a,b)
[F

(x

)/F

(x

)[ , F

(x

) ,= 0 . (3.30)
Relat ia (3.29) arata ca de la o etapa k la o etapa k+1 distant a scade aproximativ
cu patratul distant ei la radacina din etapa precedenta, adica metoda Newton-
Raphson are o viteza de convergent a patratica, superioara aproximat iei simple.
Efortul de calcul este de doua unitat i de lucru deoarece la ecare iterat ie se
evalueaza atat funct ia cat si derivata acesteia. Astfel, notand cu x
0
punctul de
start, se obt ine
[x
k+1
[ M
1
[M(x
0
)]
2
k+1
. (3.31)

In consecint a, o condit ie sucienta de convergent a este


M[x
0
[ < 1 . (3.32)
Daca M este nit, condit ia (3.32) este satisfacuta ntotdeauna daca plecam su-
cient de aproape de radacina. Alta condit ie de convergent a pentru metoda
3.2. Procedee iterative 91
Figura 3.2: Reprezentarea geometrica a iterat iilor din metoda Newton-Raphson (a)
si secantei (b).
Newton-Raphson este urmatoarea: metoda converge ntotdeauna daca n ve-
cinatatea radacinii derivatele F

(x) si F

(x) pastreaza un semn constant.


Daca s-a stabilit ca intervalul pe care se gaseste radacina este (a, b), se poate
pleca cu aproximat ia init iala
x
0
= (a +b)/2 . (3.33)
Se recomanda ca n orice etapa sa controlamntre ce valori se gaseste radacina,
tangenta putand dusa dintr-un capat al intervalului sau din celalalt (daca
noua valoare calculata cu (3.24) iese n afara intervalului n care se gaseste
radacina). Daca se iese din interval indiferent de capatul unde se duce tangenta,
se recomanda o noua njumatat ire a intervalului.
3.2.3 Metoda secantei
Metoda Newton-Raphson prezinta dezavantajul necesitat ii cunoasterii derivatei
funct iei F(x). Putem nsa nlocui linearizarea ce foloseste tangenta la gracul
funct iei cu cea ce foloseste secanta construita cu doua iterat ii succesive (g.
3.2). Formula de iterare este
x
k+1
= x
k
(x
k
x
k1
) F(x
k
)/ [F(x
k
) F(x
k1
)] , (3.34)
ceea ce revine la a nlocui
F

(x
k
)

= [F(x
k
) F(x
k1
)] / (x
k
x
k1
) (3.35)
n (3.24), adica o aproximare cu diferent e nite a derivatei. Pentru pornirea
metodei este nevoie de doua valori x
0
, x
1
. Uzual, daca se cunoaste intervalul
[a, b] pe care se aa o radacina, se ia x
0
= a, x
1
= b.

In acest caz metoda poate
interpretata ca o mbunatat ire a metodei njumatat irii intervalului prin faptul
92 3. Rezolvarea ecuatiilor neliniare
ca mparte intervalul [a, b] n segmente proport ionale, dintre care cel mai mic
cont ine rad acina (g. 3.3).

In vederea analizei convergent ei metodei notam F


k
= F(x
k
) si e
k
= x
k
,
eroarea n iterat ia k. Avem
e
k+1
= x
k+1
= x
k

(x
k
x
k1
) F
k
F
k
F
k1
=
F
k
e
k1
F
k1
e
k
F
k
F
k1
. (3.36)
Dand factor comun fort at pe e
k
e
k1
si inserand raportul unitar (x
k
x
k1
)/(x
k

x
k1
) se obt ine
e
k+1
= e
k
e
k1
_
x
k
x
k1
F
k
F
k1
_ _
F
k
/e
k
F
k1
/e
k1
x
k
x
k1
_
. (3.37)
Dezvoltarea n serie Taylor n jurul radacinii
F(x
k
) = F( +e
k
) = F() +e
k
F

() +e
2
k
F

()/2 +O(e
3
k
) (3.38)
conduce la
F
k
/e
k
= F

() +e
k
F

()/2 +O(e
2
k
) . (3.39)

Inlocuind n (3.37) se obt ine relat ia de recurent a n erori


e
k+1

= [F

()/2F

()] e
k
e
k1
, (3.40)
asem anatoare relat iei (3.29) de la procedeul Newton-Raphson.

In deducerea
relat iei (3.40) s-a nlocuit aproximarea prin diferent e nite a derivatei cu F

().
Relat ia sugereaza un ordin de convergent a mai mare decat liniar dar sub cel
patratic
[e
k+1
[ = A[e
k
[
p
. (3.41)
Avem [e
k
[ = A[e
k1
[
p
de unde [e
k1
[ =
_
A
1
[e
k
[
_
1/p
.

Inlocuind n (3.40) vom
obt ine
2A
1+1/p
[F

()[ / [F

()[

= [e
k
[
1p+1/p
. (3.42)
Membrul stang este n general nit pe cand n membrul drept e
k
0. Singura
posibilitate ca relat ia sa ramana valabila pe masura ce k creste este ca
1 p + 1/p = 0 (3.43)
ceea conduce la p = (1 +

5)/2

= 1.62, ordinul de convergent a al metodei
secantei. Valoarea obt inuta ar indica o convergent a mai lenta decat metoda
Newton-Raphson.

Insa, n ecare iterat ie metoda secantei efectueaza o singura
evaluare a funct iei F. Pentru doua iterat ii ale metodei secantei (pentru a avea
acelasi efort de calcul ca si metoda Newton-Raphson), ordinul de convergent a ar
p
2
= 2.62, metoda secantei ind mai rapida decat metoda Newton-Raphson.
3.2. Procedee iterative 93
Figura 3.3: (a) Metoda secantei restrange intervalul pe care se aa radacina la (x2, x1),
mai mic decat intervalul (c, b) furnizat de metoda njumatat irii. (b) Metoda parabo-
lelor tangente restrange rapid, din ambele capete, intervalul pe care se aa radacina
de la (a0, b0) la (a1, b1).
3.2.4 Metoda parabolelor tangente

In cadrul metodei Newton-Raphson procesul iterativ se bazeaza pe aproxima-


rea liniar a locala a funct iei F(x). Imediat este sugerata ideea construirii unei
metode mai rapid convergente prin folosirea unei aproximari locale mai exacte,
de exemplu prin parabole. O parabola ce aproximeaza local funct ia F(x) s-ar
putea obt ine din trunchierea dezvoltarii n serie Taylor
F(x)

= F(x
k
) + (x x
k
)F

(x
k
) + (x x
k
)
2
F

(
k
)/2 . (3.44)
Aparit ia derivatei de ordinul doi este dezavantajoasa nsa, datorita pierderii de
precizie.
Mai convenabil este sa se construiasca o parabola ce foloseste informat ii din
doua puncte ale funct iei. Daca acestea se aleg ca ind capetele intervalului [a, b]
pe care stim ca se aa o radacina se obt ine o metoda foarte rapid convergenta
1
.
Vom construi doua parabole care trec prin (a, F(a)), (b, F(b)), una ind tangenta
la F(x) n x = a, cealalta ind tangenta la F(x) n x = b (g. 3.3). Se consi-
dera ca F(x) are derivate continui pana la ordinul 3 inclusiv (F(x) C
3
[a, b]).
Parabolele se exprima ca polinoamele de gradul doi p
i
(x), i 1, 2, de forma
p
i
(x) = A
i
x
2
+B
i
x +C
i
. (3.45)
Coecient ii A
i
, B
i
,C
i
, i 1, 2, sunt determinat i din condit iile
p
1
(a) = F(a), p
1
(b) = F(b), p

1
(a) = F

(a) . (3.46)
p
2
(a) = F(a), p
2
(b) = F(b), p

2
(b) = F

(b) . (3.47)
1
Metoda a fost elaborata de prof. M. Blumenfeld, 1977.
94 3. Rezolvarea ecuatiilor neliniare
Notand cu
i
abaterea polinomului p
i
(x) fat a de funct ia F(x),
i
(x) = F(x)
p
i
(x), se obt in relat iile

1
(x) = (x a)
2

1
(
1
)/2,
2
(x) = (x b)
2

2
(
2
)/2, (3.48)
cu
1
(a, x),
2
(x, b). Daca derivata

i
(x) = F

(x) este diferita de zero pe


(a, b), rezulta ca derivatele

i
(x) sunt monotone pe (a, b) si se pot anula n cel
mult un punct. Sa consideram, spre exemplu, abaterea
1
(x). Deoarece
1
(b) =
0, rezulta ca

1
(
1b
) = 0, adica

1
= 0 pentru valoarea
1b
care corespunde
lui x = b.

In mod similar se obt ine o singura valoare
2a
care anuleaza pe

2
.
T inand cont de (3.48), se deduc inegalitat ile
F

(x)
1
(x) < 0, F

(x)
2
(x) > 0, (3.49)
pentru F

(x) ,= 0 de unde rezulta ca pentru x (a, b)

1
(x)
2
(x) < 0 . (3.50)

In consecint a, daca derivata F

(x) nu se anuleaza pe (a, b), F(x) se gaseste


ntre cele doua parabole tangente denite de (3.46,3.47).
Solut ia ecuat iei p
1
(x) = 0, care se gaseste n intervalul (a, b) este
x
0
= a + 2l(b a)/
_
_
k
2
+ 4l(k + 1) k
_
, k
2
+ 4l(k + 1) 0, (3.51)
k (b a)F

(a)/[F(a) F(b)], l = F(a)/[F(a) F(b)] . (3.52)


La aplicarea algoritmului, se utilizeaza o singura formula, schimband capatul
de tangent a, pentru a obt ine un sir care converge spre radacina cu valori din
ambele part i (n masura n care F

(x) pastreaza un semn constant).


Exemplul 1. Sa se gaseasca radacinile reale ale ecuat iei
F(x) x ln [x[ 1.2 = 0 (3.53)
situate n intervalul (1, 2).
Rezolvare. Pentru etapa init iala de cautare folosim sirul lui Rolle sintetizat n
urmatorul tabel
x 1 0 1 2
F(x) -2.2 , +[ + -0.2 , 0.107
F

(x) 2 + +[ - 0 + 0.5
F

(x) + + +[ + + +
Se deduce prezent a a trei radacini, cate una n ecare din intervalele (1, 0), (0, 1),
(1, 2). E preferabil sa se evite singularitatea din x = 0, luand primele doua inter-
vale ca (1, ), (, 1) cu apropriat de zero si care pastreaza semnul funct iei F.
Cum F(0.1) = 1.00259 > 0 si F(0.1) = 1.20259 > 0, vom considera intervalele
(1, 0.1), (0.1, 1) si (1, 2). Am ncheiat etapa de cautare a radacinilor. Trecem
la restrangerea intervalelor sau localizarea acestora. Pentru aceasta etapa utilizam
njumatat irea intervalelor. Nu se recomanda efectuarea unui mare numar de iterat ii.
Patru iterat ii ale metodei conduc la intervalele precizate n tabelul urmator pentru
prima radacina
3.2. Procedee iterative 95
k a
k
c
k
b
k
f(a
k
) f(c
k
) f(b
k
)
0 -1.000000 -0.550000 -0.100000 -2.200000 -1.152163 1.002585
1 -0.550000 -0.325000 -0.100000 -1.152163 -0.401070 1.002585
2 -0.325000 -0.212500 -0.100000 -0.401070 0.136313 1.002585
3 -0.325000 -0.268750 -0.212500 -0.401070 -0.154776 0.136313
4 -0.268750 -0.240625 -0.212500 -0.154776 -0.016109 0.136313
Un calcul asemanator furnizeaza intervalele (0.4375, 0.49375) si (1.75, 1.78125) pen-
tru celelalte doua radacini. Valorile funct iei la mijloacele acestor doua intervale sunt
f(0.465625) = 0.0299 si f(1.765625) = 0.00288, sucient de mici. S-a ncheiat etapa
de localizare a radacinilor.
Pentru ranarea radacinilor vom compara mai multe metode. Iterat ia simpla con-
duce la relat ia
x
k+1
= f(x
k
) = ln [x
k
[ + 1.2 (3.54)
cu m = [f

(x)[ = 1/ [x[ < 1 doar pentru intervalul (1.75, 1.78125). Pentru celelalte
doua intervale se poate folosi modicarea iterat iei simple (3.19) pentru care trebuie
sa satisfaca (3.22), ce n cazul de fat a devine
[1 (1 1/x)[ < 1 . (3.55)
Alegem = 0.1 pentru intervalul (0.26875, 0.2125) si = 0.5 pentru intervalul
(0.4375, 0.49375). Aceste alegeri nu sunt unicele posibile. Vom compara aceste trei
variante ale iterat iei simple cu metoda Newton-Raphson si a secantei. Ne propu-
nem determinarea radacinilor cu sase cifre semnicative exacte si astfel ncat valoarea
funct iei sa e mai mica de 10
7
. Primele cateva iterat ii sunt redate n tabelul urmator.
k = 0.1 secanta Newton = 0.5 secanta Newton
0 -0.240625 -0.240625 -0.240625 0.465625 0.465625 0.465625
1 -0.239014 -0.268750 -0.237501 0.480625 0.437500 0.491765
2 -0.238236 -0.238841 -0.237517 0.487271 0.493294 0.493235
3 -0.237862 -0.237449 0.490374 0.493245 0.493239
4 -0.237682 -0.237517 0.491855 0.493239
5 -0.237596 0.492568
6 -0.237555 0.492913
= 1 secanta Newton
1.765625 1.765625 1.765625
1.768505 1.772176 1.772266
1.770134 1.772250 1.772250
1.771055 1.772250
1.771869
1.772228
1.772248
Iterat iile au fost oprite n momentul atingerii condit iilor impuse. Metodele de
iterat ie simpla au necesitat 18, 18 si 20 de iterat ii pana la atingerea acestor condit ii.
96 3. Rezolvarea ecuatiilor neliniare
Se observa convergent a mult mai rapida a metodelor Newton si secanta fat a de iterat ia
simpla. Metoda Newton converge n general mai repede, nsa metoda secantei reali-
zeaza numarul minim de evaluari de funct ie pana la atingerea preciziei impuse.
Exemplu 2. Sa se determine radacina ecuat iei
F(x) = e
x
cos x = 0
cuprinsa n intervalul (-2,-1) cu 7 cifre semnicative exacte.
Rezolvare. Vom compara de data aceasta metoda Newton-Raphson cu metoda
parabolelor tangente. Valoarea de start furnizata de metoda parabolelor tangente
(3.51) este x0 = 0.17271412. Din acest punct de start se obt ine radacina evidenta
din x = 0. Efectuam totusi calculul pentru a compara cele doua metode. Iterat iile
succesive sunt
k x
k
Newton x
k
Parabole tangente
1 0.0419823 0.0376656
2 0.0016474 -0.0001885
3 0.0000027 0.0000000
Se observa convergent a mai rapida catre solut ie a metodei parabolelor tangente pe
acest exemplu.
3.3 Determinarea radacinilor polinoamelor
Metodele prezentate anterior permit determinarea radacinilor unei funct ii F(x)
oarecare. Daca funct ia F(x) are o forma particulara se pot elabora algoritmi
mai performant i ce exploateaza acest fapt. Spre exemplu, metodele anterioare
necesita o aproximare init iala a unei radacini si nu pot garanta obt inerea tuturor
radacinilor funct iei F(x). Daca F(x) este o funct ie polinomiala cu coecient i
reali se pot elabora metode care permit determinarea tuturor radacinilor fara a
nevoie de furnizarea unor aproximat ii init iale.
3.3.1 Metoda Lobacevschi-Graee
Se consider a polinomul P
n
(x) de gradul n, cu coecient i reali
P
n
(x) =
n

j=0
a
nj
x
j
= a
0
n

j=1
(x x
j
), a
0
,= 0 , (3.56)
avand radacinile x
j
, j = 1, 2, . . . , n, reale sau complex conjugate (coecient ii a
j
ind numere reale). Reamintim prima relat ie Vieta care furnizeaza o legatura
dintre coecient ii unui polinom si radacinile acestuia
x
1
+x
2
+. . . +x
n
= a
1
/a
0
. (3.57)
Daca una din radacini, sa zicem x
1
, ar mult mai mare n modul decat toate
celelalte, [x
1
[ [x
j
[, j = 2, n, relat ia (3.57) ar conduce la
x
1

= a
1
/a
0
, (3.58)
3.3. Determinarea radacinilor polinoamelor 97
iar radacina x
1
se zice preponderenta.

In general, nu vom putea presupune
ca un polinom oarecare are o radacina preponderenta. Daca nsa una dintre
radacini este mai mare n modul decat toate celelalte [x
1
[ > [x
j
[, j = 2, n, prin
ridicarea la o putere mare m ea va deveni preponderenta [x
m
1
[

x
m
j

, j =
2, n. Procedeul Lobacevschi-Graee furnizeaza o metoda de ridicare succesiva
la patrat a r adacinilor ce permite separarea radacinilor preponderente.
Se observa imediat ca, schimband x n x, se obt ine
P
n
(x) = (1)
n
a
0
n

j=1
(x +x
j
) . (3.59)
Facand apoi produsul
(1)
n
P
n
(x)P
n
(x) = a
2
0
n

j=1
(x
2
x
2
j
) , (3.60)
se obt ine un polinom de gradul n, n variabila x
2
. Repetand procedeul pentru
polinomul n variabila x
2
se obt ine un polinom de gradul nn variabila x
4
si asa
mai departe.

Intr-o etapa s vom nota
z = x
m
, m = 2
s
, s N, (3.61)
iar polinomul n variabila z se va scrie
Q
n
(z) = a
m
0
n

j=1
(z x
m
j
) =
n

j=0
(1)
j
A
(s)
nj
z
j
, m = 2
0
, 2
1
, . . . , 2
s
. (3.62)
Evident, coecient ii A
j
(s) nu se obt in cu ajutorul radacinilor x
j
deoarece
acestea sunt necunoscutele problemei, ci prin nmultirea directa a polinoamelor
P
n
(z) si P
n
(z). Notand cu A
(s+1)
j
valorile acestor coecient i n etapa s +1, se
obt ine urmatoarea relat ie de recurent a (prin identicarea coecient ilor):
A
(s+1)
j
=
_
A
(s)
j
_
2
+ 2
n

k=0
(1)
k
A
(s)
jk
A
(s)
j+k
, j = 0, n, (3.63)
unde s-a facut convent ia ca termenii de indice j +k > n sau de indice j i < 0
sunt considerat i nuli.
Gasirea radacinilor n metoda Lobacevschi-Graee se bazeaza pe interpre-
tarea semnului si valorilor coecient ilor A
(s)
j
n diverse etape s. Pentru a arata
cum se procedeaza, vom considera trei cazuri, discutate mai jos.
Cazul radacinilor reale si distincte.
Sa presupunem ca toate radacinile x
j
, j = 1, n, ale polinomului P
n
(x) sunt
distincte. Radacinile vor ordonate dupa indici astfel, n ordinea descrescatoare
a modulelor,
[x
1
[ > [x
2
[ > . . . > [x
n
[ . (3.64)
98 3. Rezolvarea ecuatiilor neliniare
Relat iile Vieta, dintre radacini si coecient i, pentru polinomul Q
n
(z) din (3.62)
sunt
x
m
1
+x
m
2
+. . . +x
m
n
= A
(s)
1
/A
(s)
0
(3.65)
x
m
1
x
m
2
+x
m
1
x
m
3
+. . . +x
m
n1
x
m
n
= A
(s)
2
/A
(s)
0
(3.66)
x
m
1
x
m
2
x
m
3
+x
m
1
x
m
2
x
m
4
+. . . +x
m
n2
x
m
n1
x
m
n
= A
(s)
3
/A
(s)
0
(3.67)

x
m
1
x
m
2
. . . x
m
n
= A
(s)
n
/A
(s)
0
(3.68)
Tinand cont de inegalitat ile (3.64) rezulta ca, la un anumit m, termenul x
m
1
va
deveni preponderent n relat ia (3.65); la fel se va ntmpla cu termenul x
m
1
x
m
2
n relat ia (3.66) si asa mai departe.

In consecint a, pentru m sucient de mare,
sistemul (3.65)-(3.68) se aproximeaza prin cantitat i care reprezinta patrate per-
fecte
x
m
1

= A
(s)
1
/A
(s)
0
(3.69)
x
m
1
x
m
2

= A
(s)
2
/A
(s)
0
(3.70)

x
m
1
x
m
2
. . . x
m
n

= A
(s)
n
/A
(s)
0
, (3.71)
de unde se obt in imediat modulele radacinilor
x
j
=
_
A
(s)
j
/A
(s)
j1
_
1/m
, j = 1, n. (3.72)
Determinarea semnului se face prin introducerean ecuat ia init iala P
n
(x) = 0. O
problema care se pune este aceea de a sti cand termenii ret inut i n sistemul (3.69-
3.71) au devenit ntr-adevar preponderent i, astfel ncat sa se produca separarea
radacinilor. Pentru aceasta se calculeaza rapoartele
r
(s)
j
=
_
A
(s1)
j
_
2
/A
(s)
j
, j = 1, n 1 , (3.73)
n ecare etapa s. Cu m = 2
s
, avem m/2 = 2
s1
. Daca separarea s-ar produs
n iterat ia s 1 atunci ar trebui ca
x
m/2
1

= A
(s1)
1
/A
(s1)
0
.
Cu atat mai mult n iterat ia urmatoare
x
m
1

= A
(s)
1
/A
(s)
0
Ca atare, raportul r
(s)
1
ar trebui sa e aproape de unu, r
(s)
n1

= 1. Rat ionamentul
se repeta pentru ceilalt i coecient i astfel ca ajungem la urmatorul criteriu de
separare: daca toate rapoartele r
(s)
j
, j = 1, n 1 tind catre unu atunci s-a
produs separarea radacinilor polinomului ce au fost presupuse distincte.
3.3. Determinarea radacinilor polinoamelor 99
Cazul radacinilor reale, multiple n modul.
Putem trata si cazul n care polinomul P
n
(x) are mai multe radacini reale, de
acelasi modul. Sa presupunem
[x
1
[ = [x
2
[ = . . . = [x
M
[ > [x
M+1
[ > [x
M+1
[ > . . . > [x
n
[ , (3.74)
adica cea mai mare radacina n modul apare de M ori. Atunci partea prepon-
derenta a primei relat ii Vieta (3.65) este
x
m
1
+x
m
2
+. . . +x
m
M
= M x
m
1

= A
(s)
1
/A
(s)
0
, (3.75)
iar cea a relat iei Vieta M este
x
m
1
x
m
2
. . . x
m
M
= x
mM
1

= A
(s)
M
/A
(s)
0
. (3.76)
Sa deducem criteriul de separare. Daca separarea s-ar produs n iterat ia s 1
atunci ar trebui ca
x
m/2
1

= A
(s1)
1
/A
(s1)
0
/M ,
iar n iterat ia urmatoare
x
m
1

= A
(s)
1
/A
(s)
0
/M .
Ca atare, raportul r
(s)
1
ar trebui sa e aproape de M, r
(s)
1

= M. Deci, cand
un raport r
j
tinde catre un numar ntreg M, atunci s-a produs separarea unei
radacini M-multiple n modul. Calculul radacinii se efectueaza folosind relat ia
Vieta M
x
1
=
_
A
(s)
M
/A
(s)
0
_
1/mM
(3.77)
deoarece se obt ine o aproximat ie mai buna datorita exponentului mai mare.
Se observa ca pentru calculul unei radacini M-multiple n modul se folosesc
coecient i cu diferent a ntre indici egala cu M.
Daca radacina multipla n modul nu este si cea mai mare n modul,
[x
1
[ > . . . > [x
k
[ = . . . = [x
M
[ > . . . > [x
n
[ , (3.78)
atunci formulele de mai sus se aplica cu o deplasare cu k a indicilor. Anume
raportul r
(s)
k
va tinde catre M la separarea radacinii x
m
k
, iar calculul acesteia se
efectueaza conform formulei
x
k
=
_
A
(s)
k+M
/A
(s)
k
_
1/mM
. (3.79)
100 3. Rezolvarea ecuatiilor neliniare
Cazul radacinilor complexe.
Sa presupunem acum ca x
1
, x
2
sunt radacini complex conjugate
[x
1
[ = [x
2
[ > . . . > [x
n
[ . (3.80)
Vom scrie
x
1
= e
i
, x
2
= e
i
(3.81)
cu = [x
1
[ = [x
2
[ modulul radacinilor si argumentul acestora. Prima relat ie
Vieta (3.65) devine
2
m
cos m +x
m
3
+. . . +x
m
n

= A
(s)
1
/A
(s)
0
. (3.82)
Termenul 2
m
cos m nu poate considerat preponderent datorita factorului
oscilant cos m. A doua relat ie Vieta (3.66) are partea preponderenta

2m

= A
(s)
2
/A
(s)
0
. (3.83)
Modulul se determina analog determinarii unei radacini reale, 2-multipla n
modul
=
_
A
(s)
2
/A
(s)
0
_
1
2m
. (3.84)
Mai ramane de determinat criteriul de separare. Daca separarea s-ar
produs n iterat ia s 1 atunci ar trebui ca

m/2

= A
(s1)
2
/A
(s1)
0
,
iar n iterat ia urmatoare

m

= A
(s)
2
/A
(s)
0
.
Ca atare, raportul r
(s)
2
ar trebui sa e aproape de unu, r
(s)
2

= 1. Pe de alta
parte, raportul
r
(s)
1
=
_
A
(s1)
1
_
2
/A
(s)
1
(3.85)
este oscilant datorita schimbarii semnului termenului 2
m
cos m. Asadar, vom
recunoaste prezent a radacinilor complex conjugate prin aparit ia unor rapoarte
oscilante. Separarea modulului unei perechi de radacini complex conjugate se
produce atunci cand raportul imediat vecin celui oscilant tinde catre unu.
3.3. Determinarea radacinilor polinoamelor 101
Regulile de determinare a radacinilor.
Sintetiz and rezultatele discut iilor de mai sus vom stabili urmatoarele concluzii.
1. Modulele radacinilor, reale sau complexe, sunt date de rapoartele coe-
cientilor A
(s)
j
, j = 1, n 1 care reprezinta patrate perfecte, n ordinea indicilor.
Coecient ii A
(s)
0
si A
(s)
n
sunt ntodeauna patrate perfecte.
2. Vericarea ca un anumit A
(s)
j
este un patrat perfect se stabileste prin
raportul r
(s)
j
dintre valorile coecientului A
(s)
j
n etape succesive, care tinde
catre unitate,
r
(s)
j
=
_
A
(s1)
1
_
2
/A
(s)
1
1 (3.86)
cand patratul perfect se realizeaza.
3. Daca rapoartele r
(s)
j
care tind catre unitate au indici consecutivi, atunci
se obt in radacini simple.
4. Daca A
(s)
j
si A
(s)
j+M
sunt patrate perfecte consecutive, atunci modulul
unor radacini are ordinul de multiplicitate M. Daca ntre r
(s)
j
si r
(s)
j+M
exista M

rapoarte oscilante, atunci vor apare M

perechi de radacini complex conjugate.


Daca ntre r
(s)
j
si r
(s)
j+M
nu exista rapoarte oscilante, ci r
(s)
j
M, atunci se va
produce o radacina reala cu ordinul de multiplicitate M.
5. Metoda prezentata furnizeaza doar modulele radacinilor.

In cazul radacinilor
reale, semnul se stabileste prin nlocuirea n ecuat ia originala, P
n
(x) = 0.

In ca-
zul radacinilor complexe, modulul odata determinat, se determina partea reala si
imaginara folosind relat iile ntre r adacini si coecient i pentru ecuat ia P
n
(x) = 0.
Nu se recomanda determinarea argumentului din relat ii de forma (3.82) deoarece
numarul m este mare si se obt in multe solut ii ale ecuat iilor de forma cos m = ,
R, care trebuie vericate apoi n ecuat ia init iala.
6. Principalul avantaj al metodei Graee-Lobacevski este furnizarea tutu-
ror radacinilor, reale si complexe, ale unui polinom cu coecient i reali. Printre
dezavantaje se numara: posibilitatea depasirii superioare de registru, necesita-
tea examinarii de catre utilizator a tabloului coecient ilor precum si necesitatea
rezolvarii unor sisteme de ecuat ii neliniare n cazul existent ei radacinilor com-
plexe.
7. Datorita lucrului cu numere mari, aproximat iile radacinilor furnizate de
metoda Lobacevschi-Graee sunt destul de imprecise. Ca atare metoda va
folosita pentru localizarea tuturor radacinilor. Dupa localizare, se va trece la
ranarea acestora prin procedeele de factorizare a polinoamelor prezentate mai
jos.
3.3.2 Metode de factorizare a polinoamelor
Se cunoaste faptul ca, daca un polinom are ca radacina simpla pe x = , atunci
el este divizibil cu x. Prin procedee de localizare a radacinilor precum metoda
Lobacevschi-Graee, sau teoreme asupra vecinatat ii n care se aa radacina
unui polinom, se poate obt ine o aproximat ie init iala a radacinii
0
. Procedeele
102 3. Rezolvarea ecuatiilor neliniare
uzuale de ranare, precum metoda Newton-Raphson, pot apoi folosite pentru
cresterea preciziei aproximat iei init iale.

In aplicarea metodei Newton-Raphson
se foloseste schema lui Horner pentru a evalua valorile unui polinom cu un numar
minim de operat ii aritmetice.
Schema lui Horner.

Impart ind polinomul P


n
(x) prin monomul x se obt ine
P
n
(x) =
n

j=0
a
nj
x
j
= (x )
n1

j=0
b
nj1
x
j
+b
n
, (3.87)
unde b
j
, j = 0, n sunt coecient i care se determina prin identicarea termenilor
av and aceeasi putere a lui x,
b
0
= a
0
, b
k
= a
k
+b
k1
, k = 1, n. (3.88)
Din (3.87) se observa ca valoarea polinomului n x = este chiar b
n
. Relat ia de
recurent a (3.88) deneste schema lui Horner, ce permite determinarea valorii
P
n
() cu doar n nmult iri si n 1 adunari.
Schema lui Horner poate adaptata si pentru evaluarea derivatelor unui
polinom. Deoarece valoarea polinomului n x = este b
n
putem considera
P
n
() = b
n
() si deriva relat iile de recurent a dupa (3.88)
db
k
d
= b
k1
+
db
k1
d
, k = 1, n. (3.89)
S-au obt inut relat ii de recurent a pentru noii coecient i
c
k1

db
k
d
, k = 1, n, (3.90)
ce satisfac relat iile de recurent a
c
0
= b
0
, c
k
= b
k
+c
k1
, k = 1, n 1. (3.91)
Valoarea derivatei polinomului n x = este P
n
() = c
n1
.
Determinarea radacinilor simple.
Data ind aproximat ia init iala a unei radacini simple
0
, ranarea iterativa prin
procedeul Newton-Raphson se exprima ca

m+1
=
m
b
n
(
m
)/c
n1
(
m
) (3.92)
3.3. Determinarea radacinilor polinoamelor 103
cu b
n
, c
n1
calculat i folosind recurent ele (3.88, 3.91), respectiv. Algoritmul
complet este

0
; m 0; M 1; EvalPolinom(, b, c);
repeta
_

_
daca [c[ <
1
atunci Determina multiplicitatea M

nou
Mb/c; EvalPolinom(, b, c)
AtinsPrecizie [
nou
[ (1 +[
nou
[) sau [b[ <

nou
; m m+ 1
pana cand AtinsPrecizie sau m > m
max
(3.93)
unde este eroarea relativa maxim admisa pentru radacina, este valoarea
maxim admisa pentru valoare polinomului, iar M este multiplicitatea radacinii
cautate. Init ial se presupune M = 1. Valoarea
1
este folosita si pentru a stabili
un prag pentru valoarea derivatei. Valori ale derivatei sub acest prag indica
probabilitatea unor radacini multiple. Procedura de evaluare a polinomului
este
EvalPolinom(, b, c)
_

_
b a
0
; c b
k = 1 : (n 1)
[b a
k
+b, c b +c
b a
n
+b
(3.94)
Metoda poate aplicata direct pentru calculul radacinilor complexe, deoarece
polinomul este o funct ie analitica n tot planul C.
Determinarea radacinilor multiple.
Daca este o radacina multipla, derivata polinomului n va nula, P

n
() = 0.
Numerele b
n
, c
n1
vor tinde catre zero simultan, iar convergent a procedeu-
lui Newton-Raphson se nrautat este. Se poate efectua o modicare simpla a
procedeului ce mbunatat este convergent a. Fie M ordinul de multiplicitate a
radacinii. Aplicam procedeul Newton-Raphson funct iei f(x) = [P
n
(x)]
1/m
ce
are derivata f

(x) = [P
n
(x)]
1/m1
/m. Iterat ia Newton-Raphson se exprima ca

m+1
=
m
Mb
n
(
m
)/c
n1
(
m
) , (3.95)
forma folosita n algoritmul de mai sus. Mai ramane de stabilit o modalitate
de determinare a multiplicitat ii M. Se stie ca daca radacina are ordinul de
multiplicitate M, avem P
(k)
() = 0 pentru k = 1, 2, . . . , M1 si P
(M)
() ,= 0.
Ca atare, la detectarea posibilitat ii unei radacini multiple (prin faptul ca prima
derivata a devenit mica) vom evalua toate derivatele polinomului. Prima dintre
derivatele polinomului ce este nenula va furniza multiplicitatea radacinii.
Pentru evaluarea derivatelor se foloseste schema lui Horner completa. De-
terminarea tuturor derivatelor unui polinomn x = este echivalenta cu dezvol-
tarea n serie Taylor n jurul lui x =
P
n
(x) = C
0
+C
1
(x ) +C
2
(x )
2
+. . . +C
n
(x )
n
, C
k
= P
(k)
n
()/k! .
(3.96)
104 3. Rezolvarea ecuatiilor neliniare
Prin aplicarea schemei Horner (3.88) se observa (vezi 3.87) ca se obt in coecient ii
polinomului P
n1
(x) din factorizarea
P
n
(x) = (x )P
n1
(x) +C
0
, (3.97)
cu C
0
= P
n
(). Coecient ii polinomului P
n1
(x) sunt b
0
, b
1
, . . . , b
n1
din 3.87.
Daca se mai aplica o data schema lui Horner asupra polinomului P
n1
(x) vom
obt ine coecient ii lui P
n2
(x) din factorizarea
P
n1
(x) = (x )P
n2
(x) +C
1
, (3.98)
si asa mai departe. Aplicarea de n ori a schemei Horner va furniza tot i coecient ii
C
k
, k = 0, n 1, deci implicit toate derivatele P
(k)
n
() = k! C
k
. Algoritmul este
k = 0 : n
[C
k
= a
nk
k = 0 : (n 1)
_
j = (n 1) : k : 1
[C
j
C
j
+C
j+1
(3.99)
Procedura de determinare a multiplicitat ii unei radacini, ce a fost ment ionata
n algoritmul (3.93), va determina primul indice k pentru care [k! C
k
[ > , iar
acesta va luat ca multiplicitatea radacinii M.
Determinarea radacinilor complex conjugate (Metoda Bairstow).

In cazul cand polinomul P


n
(x) are coecient ii reali, radacinile complexe (daca
exista) sunt conjugate, iar calculul cu numere complexe poate evitat.

In acest
scop, se utilizeaza o factorizare cu un polinom de gradul doi de forma x
2
+px+q
P
n
(x) =
n

j=0
a
nj
x
j
= (x
2
+px +q)
n2

j=0
b
nj2
x
j
+Rx +S . (3.100)
Identicarea termenilor conduce la relat iile
b
k
= a
k
pb
k1
qb
k2
, k = 0, n 2 , (3.101)
R = a
n1
pb
n2
qb
n3
, S = a
n
qb
n2
. (3.102)
unde s-a convenit b
2
= b
1
= 0. Daca extindem relat ia de recurent a pentru
k = 0, n, vom obt ine R = b
n1
, S = b
n
+pb
n1
. Pentru ca factorul x
2
+px +q
sa divida pe P
n
(x) exact trebuie ca restul sa e nul R(p, q) = 0, S(p, q) = 0,
ceea ce este echivalent cu
b
n
(p, q) = 0, b
n1
(p, q) = 0 . (3.103)
Relat iile (3.103) formeaza un sistem de doua ecuat ii cu doua necunoscute.
Ecuat iile sunt nelineare si pentru rezolvarea sistemului se aplica tot o metoda
3.3. Determinarea radacinilor polinoamelor 105
de tip Newton-Raphson
2
. Vom aplica principiul liniarizarii, pastrand numai
termenii liniari din dezvoltarile n serie Taylor a funct iilor b
n
(p, q), b
n1
(p, q) n
jurul unei aproximat ii curente (p
m
, q
m
)
b
n
(p, q)

= b
n
(p
m
, q
m
) + (p p
m
)
_
b
n
p
_
m
+ (q q
m
)
_
b
n
q
_
m
= 0 , (3.104)
b
n1
(p, q)

= b
n1
(p
m
, q
m
) + (p p
m
)
_
b
n1
p
_
m
+ (q q
m
)
_
b
n1
q
_
m
= 0 .
(3.105)
Urmatoarea aproximat ie (p
m+1
, q
m+1
), va data de solut ia sistemului liniarizat
de mai sus. Pentru obt inerea derivatelor part iale diferent iem relat ia de recurent a
(3.101)
b
k
p
= b
k1
p
b
k1
p
q
b
k2
p
,
b
k
q
= b
k2
p
b
k1
q
q
b
k2
q
.
(3.106)
Daca notam c
k
b
k
/p, d
k
b
k+1
/q, obt inem
c
k
= b
k1
pc
k1
qc
k2
, d
k
= b
k1
pd
k1
qd
k2
(3.107)
pentru k = 0, n si cu c
1
= c
2
= d
1
= d
2
= 0. Cum cele doua relat ii de
recurent a sunt identice vom pastra numai una dintre ele pentru calcule. Sistemul
liniarizat devine
_
(p
m+1
p
m
)c
n
+ (q
m+1
q
m
)c
n1
= b
n
(p
m+1
p
m
)c
n1
+ (q
m+1
q
m
)c
n2
= b
n1
. (3.108)
Matricea sistemului se numeste matrice Jacobiana, si este nesingulara pentru
radacini complexe simple. Solut ia sistemului este, n aceste condit ii,
p p
m+1
p
m
= (b
n1
c
n1
b
n
c
n2
)/J , (3.109)
q q
m+1
q
m
= (b
n
c
n1
b
n1
c
n
)/J , (3.110)
cu J c
n
c
n2
c
2
n1
.
Procedeul poate repetat pentru polinomul
P
n2
(x) =
n2

j=0
b
nj2
x
j
(3.111)
pana la factorizarea polinomului P
n
(x) n produse de polinoame de grad cel
mult doi. Se obt in perechi de solut ii de forma
x
1,2
=
_
p
_
p
2
4q
_
/2 . (3.112)
2
Vezi capitolul 8.
106 3. Rezolvarea ecuatiilor neliniare
Aproximat ia init iala (p
0
, q
0
) se poate obt ine dintr-un procedeu de localizare.
Este recomandabila folosirea coordonatelor polare
x
1
= e
i
, x
2
= e
i
, x
1
x
2
=
2
= q, x
1
+x
2
= 2 cos = p . (3.113)
Prin folosirea metodei Lobacevschi-Graee pentru localizarea radacinilor se obt ine
o aproximat ie init iala foarte buna pentru . Mai trebuie doar ncercate diverse
valori pentru pentru a vedea ce valori init iale conduc la convergent a proce-
deului. Exista si alte rezultate teoretice ce pot folosite pentru localizarea
radacinilor. Spre exemplu, daca notam
R
1
= 1 +[a
0
[
1
max
0<kn
[a
k
[ , R
2
=
_
1 +[a
n
[
1
max
0k<n
[a
k
[
_
1
, (3.114)
atunci toate rad acinile nenule ale polinomului cu coecient ii a
k
se vor aa n
coroana
R
2
< R
1
. (3.115)
Algoritmul Bairstow este
p p
0
; q q
0
; m 0;
repeta
_

_
c
0
0; c
1
0; b
0
0; b
1
0
k = 0 : n
_
_
b
2
b
1
; b
1
b
0
; c
2
c
1
; c
1
c
0
b
0
a
k
pb
1
qb
2
c
0
b
1
pc
1
qc
2
J c
0
c
2
c
2
1
;
daca [J[ <
1
atunci mesaj(Radacini multiple); stop
p (b
1
c
1
b
0
c
2
)/J; q (b
0
c
1
b
1
c
0
)/J;
p
nou
p +p; q
nou
q +q
AtinsPrecizie [p[ +[q[ (1 +[p
nou
[ +[q
nou
[) sau [b
0
[ +[b
1
[ <
p p
nou
; q q
nou
; m m+ 1
pana cand AtinsPrecizie sau m > m
max
.
(3.116)
Exemplu 1. Sa se determine radacinile polinomului
p5(x) = x
5
4x
4
+ x
3
+ 3x
2
x + 6 .
Rezolvare. Vom folosi metoda Lobacevschi-Graee pentru a determina aproximat iile
init iale ale radacinilor. Rezultatele aplicarii relat iei (3.63) sunt redate n urmatorul
tabel.
3.3. Determinarea radacinilor polinoamelor 107
s A
(s)
0
A
(s)
1
A
(s)
2
A
(s)
3
A
(s)
4
A
(s)
5
0 1.00 4.000E+00 1.000E+00 -3.000E+00 -1.000E+00 -6.000E+00
1 1.00 1.400E+01 2.300E+01 -3.700E+01 -3.500E+01 3.600E+01
2 1.00 1.500E+02 1.495E+03 3.987E+03 3.889E+03 1.296E+03
3 1.00 1.951E+04 1.047E+06 4.657E+06 4.790E+06 1.680E+06
4 1.00 3.785E+08 9.139E+11 1.172E+13 7.301E+12 2.821E+12
5 1.00 1.433E+17 8.263E+23 1.241E+26 -1.285E+25 7.959E+24
6 1.00 2.053E+34 6.828E+47 1.543E+52 -1.811E+51 6.334E+49
Calculul s-a desfasurat cu mai multe cifre semnicative decat sunt asate n
tabel. Dupa 6 iterat ii valorile coecient ilor sunt A
(6)
0
= 1, A
(6)
1
= 2.05336782
10
34
, A
(6)
2
= 6.82754862 10
47
, A
(6)
3
= 1.54270278 10
52
, A
(6)
4
= 1.81053152
10
51
, A
(6)
5
= 6.33402866 10
49
. Pentru stabilirea convergent ei metodei se calcu-
leaza si rapoartele din (3.73):
s r
(s)
1
r
(s)
2
r
(s)
3
r
(s)
4
0
1 1.14 0.04 -0.24 -0.03
2 1.31 0.35 0.34 0.31
3 1.15 2.14 3.41 3.16
4 1.01 1.20 1.85 3.14
5 1.00 1.01 1.11 -4.15
6 1.00 1.00 1.00 -0.09
Se observa obt inerea izolarii a trei radacine reale din rapoartele r
(s)
1
, r
(2)
2
, r
(s)
3
ce
tind toate catre 1. Raportul r
(s)
4
oscileaza denotand prezent a unei perechi de radacini
complexe, conjugate. Procedeul furnizeaza doua valori posibile pentru radacina de
modul maxim
x1 =
_
A
(6)
1
/A
(6)
0
_
1/64
= 3.4366. (3.117)
Cum p5(3.4366) = 0.00269734 si p5(3.4366) = 1032.99 alegem x1 = 3.4366. Analog
obt inem
x2 =
_
A
(6)
2
/A
(6)
1
_
1/64
= 1.62659 x2 = 1.62659 (3.118)
x3 =
_
A
(6)
3
/A
(6)
2
_
1/64
= 1.16958 x3 = 1.16958 (3.119)
Modulul perechii de radacini complexe este
=
_
A
(6)
5
/A
(6)
3
_
1/(264)
= 0.9579761 (3.120)
Ranarea solut iilor reale conduce la radacinile
x1 = 3.43663, x2 = 1.62659, x3 = 1.16958 (3.121)
dupa o singura iterat ie Newton-Raphson. Se observa calitatea extrem de buna a a-
proximat iilor init iale furnizate de procedeul Lobacevschi-Graee. Pentru radacinile
108 3. Rezolvarea ecuatiilor neliniare
complexe am putea extrage factorii deja gasit i si sa rezolvam ecuat ia patratica ce
rezulta. Vom proceda nsa la aplicarea procedeului Bairstow pentru exemplicarea
modului de lucru. Luam q =
2
si p = 0 ca aproximat ie init iala ceea ce corespunde la
= /2. Se obt in urmatoarele rezultate
Iterat ie p q b0 b1 R S
0 0.0000 0.9180 -1.25E-01 -1.08E+00 -1.0753 -0.1249
1 -0.1052 0.9028 1.43E-01 -3.60E-02 -0.0360 0.1468
2 -0.1064 0.9407 -7.04E-04 3.54E-04 0.0004 -0.0007
3 -0.1064 0.9178 -4.73E-09 1.76E-08 0.0000 0.0000
Radacinile complexe satisfac ecuat ia
x
2
+ px + q = 0 (3.122)
cu p = 0.1063682185, q = 0.91771811581 de unde radacinile
x4,5 = 0.0531841 0.956499i . (3.123)
Se observa o convergent a rapida a iterat iilor. Plecarea din = 0 nsa nu converge
catre solut ie.
Exemplu 2. Sa se determine radacinile polinomului
p4(x) = x
4
6x
3
+ 18x
2
30x + 25
Rezolvare. Cum nici unul din rapoartele r1, r2, r3 nu se stabilizeaza deducem
prezent a a doua perechi de radacini complexe, de acelasi modul
1 = 2 = 3 = 4 = (A4/A0)
1/(464)
=

5 .
Fie radacinile x1,2 = a1 + ib1, x3,4 = a2 + ib2. Rezulta
a
2
1
+ b
2
1
= a
2
2
+ b
2
2
= 5 .
Utilizand primele doua relat ii Vieta pentru polinomul original se obt ine
a1 + a2 = 3, a1a2 = 2
de unde a1 = 1, b1 = 2, a2 = 2, b2 = 1. Prin urmare radacinile sunt
x1,2 = 1 + 2i, x3,4 = 2 + i .
Exemplu 3. Un ultim exemplu cu implicat ii profunde pentru matematica provine
din ntrebarea relativ simpla: din ce puncte ale planului complex converge metoda
Newton pentru aarea radacinilor de ordinul p ale unitat ii? Procesul iterativ este
z
k+1
= z
k
(z
p
k
1)/(pz
p1
k
), p > 1. (3.124)
Pentru aarea raspunsului se efectueaza o serie de experimente numerice, luand diverse
puncte din [2, 2] [2, 2] ca puncte de start. Se nregistreaza numarul de iterat ii
necesare atingerii unei radacini sau faptul ca procesul diverge. Frontiera dintre dome-
niul atractiv, pentru care procesul converge si cel repulsiv, pentru care procesul
diverge este extrem de complicata. Cercetari matematice moderne au aratat ca este
vorba de o noua structura matematica cu proprietat i remarcabile, printre care si o
dimensiune a frontierei ce nu este un numar ntreg. O asemenea mult ime Julia este
reprezentata pe coperta pentru p = 6. Nuant ele de culori nchise indica convergent a
rapida catre o radacina pe cand cele deschise indica divergent a.
109
Capitolul 4
Erorile de calcul numeric

In momentul de fat a, suntem n posesia unui bagaj de metode numerice


sucient pentru a considera mai n detaliu problema erorilor de calcul numeric.
Se poate observa ca o formula de calcul numeric se aplica de obicei n mod
repetat.

In consecint a, prezinta important a nu numai eroarea introdusa ntr-o
etapa, ci si tendint a de a amplica sau, dimpotriva, de a atenua erorile introduse
anterior, adica stabilitatea metodei numerice. Studiul erorilor numerice ramane
deci o problema deschisa, care trebuie luatan considerare pentru ecare metoda
de calcul n parte.
4.1 Surse de erori
Erorile inerente sunt erorile legate de cunoasterea aproximativa a unor valori
provenite din masuratori sau din faptul ca avem de-a face cu numere irat ionale
(algebrice sau transcendente: numerele , e,

3 s.a.). Evident, rezultatul
oricaror calcule depinde si de precizia datelor introduse init ial. Ca erori ine-
rente pot considerate si erorile de conversie facute la trecerea n baza 2 a unor
numere care se introduc n memoria calculatoarelor numerice actuale. Spre
110 4. Erorile de calcul numeric
exemplu, numarul 0.1 reprezentat printr-un numar nit de zecimale n baza 10,
devine o fract ie zecimala periodica n baza 2 (0.1
10
= 0.0(0011)
2
).
Erorile de metoda sau erorile de trunchiere sunt provenite din aproximat iile
facute la deducerea formulelor de calcul. Exemple: restul R
N
(x) la interpolarea
polinomiala, distant a [x
n+1
[ la radacina, din metodele iterative de calcul,
eroarea
i
= h
3
/12 f

() introdusa de formula de integrare a trapezelor pe un


interval egal cu pasul h, erorile introduse prin trunchierea seriilor la un anumit
rang, etc. Spre deosebire de erorile inerente, erorile de metoda pot reduse, n
principiu, oric at de mult.
Erorile de rotunjire sunt legate de posibilitat ile limitate de reprezentare a
numerelor n calculatoarele numerice.

In general, orice calculator poate repre-
zenta numerele cu un numar redus de cifre semnicative, depinzand de lungimea
cuvantului (numarul de bit i) utilizat la stocarea unui numar.

In mod curent se
lucreaza cu un echivalent de circa 7 cifre semnicative n simpla precizie si de
circa 15 cifre semnicative n dubla precizie.
Dupa cum se stie, n memoria interna a calculatoarelor actuale se foloseste
reprezentarea n virgula mobila, n forma normalizata. Astfel, orice numar real
x se scrie
x = f b
n
, [f[ < 1 (4.1)
unde f este un numar real denumit mantisa, b > 0 (b ,= 1) este baza sistemului
de numerat ie utilizat, iar n (ntreg) este exponentul.

In forma normalizata,
mantisa este cuprinsa n intervalul [b
1
, 1)
b
1
[f[ < 1 . (4.2)
Singura except ie de la acesta regula de reprezentare este numarul zero.

In consecint a, un numar real cu mai multe cifre semnicative este rotunjit


la numarul de cifre maxim. Acest lucru se realizeaza prin rotunjirea mantisei.
Alte rotunjiri se efectueaza n decursul operat iilor.

In general, notand cu x valoarea exacta a numarului si cu x valoarea calculata


(aproximativa), eroarea absoluta e
x
se deneste ca diferent a dintre valoarea
exacta si cea aproximativa
e
x
= x x. (4.3)
Raportul e
x
/ x se numeste eroare relativa, notata deseori cu
x

x
= e
x
/ x. (4.4)
Fie t numarul de cifre semnicative. Pentru comoditate, sa presupunem ca
lucram n baza 10 (b = 10). Atunci, un num ar x a carui valoare o presupunem
init ial cunoscuta cu exactitate, se va scrie
x = f 10
n
+g 10
nt
, [f[ , [g[ [0.1, 1), (4.5)
4.2. Propagarea erorilor n calcule 111
unde g cont ine cifrele care nu pot incluse n mantisa f. Rotunjirea se face de
obicei simetric, adica se nlocuieste
[g[ = 1 daca [g[ 0.5, [g[ = 0 daca [g[ < 0.5 . (4.6)

In acest fel, marginea erorii relative este


[e
x
[ = [g[ 10
nt
/ [f[ 10
n
5 10
t
. (4.7)
Erorile cu marginea data de (4.7) se fac la introducerea numerelor reale n
memoria calculatorului numeric. Ele afecteaza rezultatelen funct ie de operat iile
la care sunt supuse valorile introduse.
4.2 Propagarea erorilor n calcule
Propagarea erorilor la nmult ire.
Vom considera doua numere, x si y, introduse cu erorile e
x
, respectiv e
y
x = x +e
x
, y = y +e
y
. (4.8)
Presupunem ca se efectueaza produsul numerelor
xy = ( x +e
x
)(y +e
y
) = x y + y e
x
+ xe
y
, (4.9)
unde s-a neglijat produsul e
x
e
y
considerat ca avand un ordin de marime sucient
de mic. Rezulta eroarea la nmult ire
e
xy
/ x y = e
x
/ x +e
y
/ y =
x
+
y
. (4.10)
Rezulta ca la nmult ire erorile relative introduse init ial se aduna.

In afara
de aceste erori, pot aparea nsa noi erori, deoarece produsul xy poate avea, la
randul sau, un numar de cifre semnicative mai mare decat cel admis (notat cu
t), necesitand o noua rotunjire (simetrica). Not and cu
p
aceasta noua eroare,
vom obt ine eroarea relativa totala
tp
la nmult irea a doua numere

tp
=
x
+
y
+
p
(4.11)
iar ca margine a erorii
[
tp
[ [
x
[ +[
y
[ +[
p
[ < 15 10
t
. (4.12)
Desigur, evaluarea (4.12), bazata pe relat ia (4.7), este acoperitoare deoarece
erorile nu se aduna, ci se compun dupa legi mai complicate (probabilistice).
112 4. Erorile de calcul numeric
Propagarea erorilor la mpart ire.
Cu notat iile (4.8) vom scrie
x/y = ( x +e
x
)/( y +e
y
) = x/ y(1 +e
x
/ x e
y
/ y) = x/ y(1 +
x

y
), (4.13)
unde am neglijat termenii de grad superior lui 2 n e
x
si e
y
. S-a folosit dezvolta-
rea n serie Taylor pentru 1/(1 +
y
)

= 1
y
+. . . . Rezulta ca eroarea relativa
la mpart ire, datorata erorilor de reprezentare n calculator (e
x
si e
y
), este
e
x/y
/( x/ y) =
x

y
, (4.14)
adica este egala cu diferent a erorilor relative introduse init ial n valorile numara-
torului si numitorului. La acestea se adauga eroarea de rotunjire la reprezentarea
raportului x/ y, pe care o vom nota cu
d
, astfel ncat eroarea relativa totala la
mpart irea a doua numere x, y este

td
=
x

y
+
d
. (4.15)
Propagarea erorilor la adunare.

In acest caz, suma a doua numere este


x +y = x + y +e
x
+e
y
, (4.16)
astfel ncat eroarea relativa la sumare este
e
x+y
/( x + y) = (e
x
+e
y
)/( x + y) = x/( x + y)
x
+ y/( x + y)
y
, (4.17)
adica o suma ponderata a erorilor introduse la reprezentarea n calculator a
cantitat ii sumate. Si n acest caz se introduce o eroare suplimentara la repre-
zentarea sumei x + y, a carei valoare relativa o vom nota cu
s
. Ca urmare,
eroarea relativa la sumare,
ts
, va

ts
= x/( x + y)
x
+ y/( x + y)
y
+
s
. (4.18)
Ca aplicat ie, sa scriem eroarea totala la calculul expresiei E = (x + y)z

=
( x + y) z . Rezulta

tE
= x/( x + y)
x
+ y/( x + y)
y
+
z
+
s
+
p
, (4.19)
cu marginea
[
tE
[ 5 10
t
[([ x[ +[ y[)/ [ x + y[ + 3] (4.20)
Ca recomandare generala, n calculul numeric trebuie studiata si propaga-
rea erorilor.

In anumite cazuri, acumularea erorilor poate conduce la rezultate
complet eronate. Pentru a ilustra aceasta posibilitate, sa consideram calculul
integralei
I
n
=
_
1
0
x
n
e
x1
dx. (4.21)
4.2. Propagarea erorilor n calcule 113
Tabelul 4.1: Exemplu de amplicare a erorilor
n I
n
(4.22) I
n
(4.24) n I
n
(4.22) I
n
(4.24)
0 0.632121 0.632121 9 0.091586 0.091612
1 0.367879 0.367879 13 -0.377925 0.066948
3 0.207277 0.207277 17 0.052778
7 0.112383 0.112384 20 0.000000
O modalitate de calcul o reprezinta utilizarea unei relat ii de recurent a
I
n
= 1 nI
n1
, n = 1, 2, . . . , (4.22)
plecand de la valoarea I
0
= 1 e
1
. Rezultatele calculelor pentru diferitele
valori ale lui n sunt date n tabelul 4.1 Se observa ca, pentru n = 13, se obt ine
o valoare negativa a integralei, ceea ce nu este posibil, funct ia integrata ind
pozitiva pe [0, 1]. Rezulta ca valorile obt inute sunt eronate, ncepand cu o
anumita valoare a lui n. Explicat ia o constituie faptul ca valoarea integralei
I
0
se calculeaza cu o eroare e
0
care este amplicata prin aplicarea formulei de
recurent a (4.22) astfel ca, la calculul lui I
13
eroarea este
e
13

= 13! e
0
= 6.227 10
9
e
0
. (4.23)
Pentru a obt ine o valoare corecta n cazul indicilor n mari se aplica formula
(4.22) sub forma
I
n1
= (1 I
n
)/n, n = N, N 1, . . . , (4.24)
n care erorile sunt reduse n ecare etapa. Prin urmare, plecand de la un
N sucient de mare eroarea introdusa din necunoastera valorii I
n
va redusa,
astfel ncat sa obt inem rezultate corecte. Observand ca valoarea integralei scade
cu n, vom alege N = 20 si vom aproxima I
20

= 0, calculand integralele de indice
mai mic din ce n ce mai precis. Valorile obt inute sunt date n acelasi tabel 4.1
(s-a utilizat un calculator HP-25 care lucreaza cu zece zecimale). Se observa ca
rezultatele sunt mai bune la indici mari si identice la indici mici (n < 7).
114 4. Erorile de calcul numeric
115
Capitolul 5
Rezolvarea sistemelor
liniare
Rezolvarea sistemelor cu un mare numar de ecuat ii liniare reprezinta unul
din domeniile n care calculatoarele numerice si-au dovedit din plin ecient a.
Problema rezolvarii sistemelor de ecuat ii liniare este foarte des ntalnita n si-
mularea numerica. Enumeram cateva situat ii: interpolare cu funct ii spline cu-
bice, rezolvarea sistemelor de ecuat ii neliniare cu ajutorul metodelor iterative
care au la baza liniarizarea ecuat iilor, discretizarea ecuat iilor diferent iale ordi-
nare cu condit ii la limita, discretizarea ecuat iilor cu derivate part iale.

In mod
corespunzator, a trebuit sa e puse la punct procedee numerice adecvate, atat
pentru reducerea numarului mare de operat ii, cat si pentru reducerea erorilor
de calcul care cresc cu dimensiunile sistemului de ecuat ii.

In cazul general, problema care trebuie rezolvata poate scrisa sub forma
n

j=1
a
i,j
x
j
= b
i
, i 1, m , (5.1)
116 5. Rezolvarea sistemelor liniare
unde a
i,j
R sunt coecient i, x
j
, j 1, n sunt necunoscutele sistemului, iar b
i
sunt termenii liberi. Vom distinge trei situat ii.
(a) Pentru m < n sistemul este subdeterminat, avem mai put ine ecuat ii decat
necunoscute.

In general, vor trebui alesi nm parametrii pentru a obt ine
o solut ie.
(b) Pentru m = n si det A ,= 0 sistemul este compatibil determinat. Sistemul
are o solut ie unica. Este cazul cel mai des ntalnit. Pentru m = n si
det A = 0 sistemul poate compatibil nedeterminat, cu o innitate de
solut ii posibile, sau incompatibil, cu nici o solut ie.
(c) Pentru m > n sistemul este supradeterminat, caz n care se cauta o solut ie
care sa verice cel mai bine ecuat iile (5.1) n sensul minimizarii reziduu-
lui R =

n
i=1
(b
i

n
j=1
a
i,j
x
j
)
2
.
Nu trebuie uitat ca, la reprezentarea numerelor n calculator nu putem ret ine
decat un numar nit de cifre, iar erorile de rotunjire se propaga dupa regulile
discutate n capitolul 4. Se poate ajunge n situat ia ca din cauza acestor erori,
determinantul sa devina egal cu zero sau sa aiba o valoare foarte mica n modul.
Complexitatea implementarilor prezente n bibliotecile matematice se datoreaza
n mare parte tehnicilor de evitare a acestei situat ii, dar totodata si eforturilor
de minimizare a memoriei utilizate si a timpului de calcul.
Metodele de rezolvare a sistemelor de ecuat ii liniare sunt de doua tipuri: (a)
metode directe (sau metode de eliminare sau metode exacte), n care solut ia este
obt inutan urma unui numar de operat ii dinainte cunoscut; (b) metode iterative,
care se bazeaza pe folosirea unei aproximat ii init iale ce se mbunatat este de la
o etapa la alta.
5.1 Metode directe
5.1.1 Metoda eliminarii a lui Gauss
Metoda consta n eliminarea succesiva a necunoscutelor ntr-o maniera care
conduce la un numar de operat ii mult mai redus decat procedeul care ar utiliza
regula lui Cramer si calculul determinant ilor corespunzatori. Vom observa ca,
n operat ia de eliminare, nu este necesar sa transcriem si necunoscutele; este
sucient sa operam doar cu coecient ii matricei sistemului si cu termenii liberi.
Sa consideram un sistem de n ecuat ii liniare cu n necunoscute scris sub forma
Ax = b , (5.2)
unde A este o matrice patrata, nesingulara (det A ,= 0), de dimensiuni n n,
iar x si b sunt vectori coloana de dimensiune n. Pentru xarea ideilor, vom
considera ca A are coecient ii a
ij
, iar b are componentele b
i
(i, j 1, n). Pe de
alta parte, deoarece operat iile efectuate cu coecient ii a
ij
si cu termenii liberi b
i
5.1. Metode directe 117
sunt simultane, este avantajos n prezentarea teoretica a algoritmului sa renotam
coecient ii b
i
a
i,n+1
si sa consideram matricea extinsa A

=
_

_
a
1,1
a
1,2
. . . a
1,n
[ a
1,n+1
a
2,1
a
2,2
. . . a
2,n
[ a
2,n+1
. . . . . . . . . . . . [ . . .
a
i,1
a
i,2
. . . a
i,n
[ a
i,n+1
. . . . . . . . . . . . [ . . .
a
n,1
a
n,2
. . . a
n,n
[ a
n,n+1
_

_
. (5.3)
Metoda eliminarii a lui Gauss consta n a obt ine zerouri succesiv, ntai pe prima
coloana (sub coecientul a
1,1
), apoi pe a doua coloana (sub coecientul a
2,2
)
s.a.m.d., pe ultima linie a matricei A ramanand doar coecientul a
n,n
(evident
modicat de operat iile de eliminare anterioare). Aceasta revine la a reduce
matricea A la o matrice superior triunghiulara, iar sistemul (5.2) la forma
_

_
a
1,1
a
1,2
. . . . . . . . . a
1,n
0 a
(1)
2,2
. . . . . . . . . a
(1)
2,n
0 0
.
.
. . . . . . . . . .
0 0 0 a
(i1)
i,j
. . . a
(i1)
i,n
0 0 0 0
.
.
. . . .
0 0 0 0 0 a
(n1)
n,n
_

_
x
1
x
2
.
.
.
x
i
.
.
.
x
n
_

_
=
_

_
a
1,n+1
a
(1)
2,n+1
.
.
.
a
(i1)
i,n+1
.
.
.
a
(n1)
n,n+1
_

_
. (5.4)
Indicii superiori indica etapa n care a fost obt inut elementul. Pentru a obt ine
zerourile de sub diagonala principala, se folosesc operat ii simple de nmult ire a
unei linii cu un multiplicator si de scadere din alta linie. Spre exemplu, pentru
a obt ine zerouri pe prima coloana, din linia i se scade prima linie nmult ita cu
multiplicatorul m
i,1
, obt inandu-se
a
(1)
i,1
= a
i,1
m
i,1
a
1,1
= 0 m
i,1
= a
i,1
/a
1,1
. (5.5)
Repetand procedeul pentru i = 2, n, se obt in elemente nule pe coloana ntai n
aceasta prima etapa. Evident, pentru a putea opera, trebuie ca a
1,1
,= 0. Mai
mult, dupa cum vom vedea la paragraful (5.1.3), se recomanda ca a
1,1
sa e n
modul cat mai mare posibil, deoarece n acest mod, erorile de rotunjire sunt re-
duse. Elementul a
i,i
plasat pe diagonala principala se numeste pivot. Obt inerea
unui pivot cu modul cat mai mare este posibila prin schimbari de linii si coloane
care nu afecteaza zerourile deja produse, adica pivotul se poate alege dintre
elementele de sub si/sau la dreapta pozit iei de pe diagonala principala a pivo-
tului.

In funct ie de numarul de elemente dintre care este selectat, pivotul poate
part ial, cand se alege cel mai mare n modul
1
dintre elementele de pe coloana
pivotului, sub diagonala principala, sau total, cand se alege cel mai mare n
modul dintre toate elementele cont inute n linii si coloane care, interschimbate,
nu modica zerourile deja obt inute.

In cazul n care pentru obt inerea unui pivot
1
Cu privire la alegerea elementului cel mai mare n modul, vezi si paragraful 5.1.3.
118 5. Rezolvarea sistemelor liniare
convenabil este necesara o schimbare de linii, aceasta poate facuta efectiv n
matricea extinsa A

, sau se poate memora doar indicele liniei pe care se aa ele-


mentul dorit ca pivot, cu ajutorul unui vector l. Daca n etapa s elementul dorit
ca pivot se aa pe linia i (evident i s, pentru a pastra zerourile deja obt inute),
atunci atribuim l
s
= i. Acest mod de lucru complica algoritmul, fara a aduce
avantaje privind timpul de calcul, astfel ncat recomandam prima varianta. La
interschimbarea a doua coloane (j cu k), vo m observa ca trebuie interschim-
bate si necunoscutele (x
j
cu x
k
). Acest lucru se poate realiza cu ajutorul unui
vector c, care este init ializat cu valorile c = (1, 2, . . . , k, . . . , n). Daca spre
exemplu n prima etapa schimbam coloanele 1 cu k, se schimba corespunzator
si elementele c
1
cu c
k
, iar vectorul c devine c = (k, 2, . . . , 1, . . . , n).

In ecare etapa s 1, n 1, elementele din matrice se modica dupa regula


s = 1 : (n 1)
_

_
i = (s + 1) : n
_

_
m
i,s
a
(s1)
i,s
/a
(s1)
s,s
j = (s + 1) : (n + 1)
_
a
(s)
i,j
a
(s1)
i,j
m
i,s
a
(s1)
s,j
.
(5.6)

Intr-adev ar, n etapa (s) pivotul este a


(s1)
s,s
, iar elementele care se anuleaza
sunt plasate n pozit ia a
i,s
, i s + 1, n. Practic, aceste elemente nu se mai
calculeaza deoarece se stie ca ele sunt nule, iar pe pozit iile acestora se pot
memora multiplicatorii m
i,s
, eventual necesari pentru calcule ulterioare cum
ar ranarea solut iei (paragraful 5.1.3).

In nal, daca matricea A nu este
singulara, se ajunge la forma (5.4) a sistemului, coecient ii a
(i1)
i,j
, i 1, n,
j 1, n + 1 ind obt inut i prin operat ii asupra matricei extinse A

. Ca urmare,
necunoscutele se obt in prin retrosubstituire, dupa schema
x
cn
a
(n1)
n,n+1
/a
(n1)
n,n
i = (n 1) : 1
_
_
x
ci
(a
(i1)
i,n+1

j=i+1
a
(i1)
i,j
x
cj
) / a
(i1)
i,i
,
(5.7)
n care am t inut cont si de eventualele schimbari de coloane necesare n cazul
folosirii pivotarii totale si memorate n vectorul c. Trebuie observat faptul ca
elementele matricei init iale A se pierd daca se folosesc schemele (5.6) si (5.7).

In cazul n care matricea A este necesara pentru calcule ulterioare (cum ar


ranarea inversei, vezi. 5.1.7), trebuie pastrata o copie a acesteia.
Numarul de operat ii necesare pentru obt inerea solut iei prin procedeul de
eliminare gaussiana se calculeaza usor. Evident, nu luam n considerare si
operat iile legate de permutarea elementelor n vederea gasirii pivotului part ial
sau total, deoarece acestea depind de ecare matrice n parte. De regula, se
considera ca mpart irea reprezinta o singura operat ie, n timp ce o adunare
si o nmult ire formeaza mpreuna tot a operat ie (aproximativ acelasi timp
5.1. Metode directe 119
de calcul pe calculator). Amintindu-ne ca operat iile se efectueaza cu elemen-
tele matricei extinse A

, de dimensiuni n (n + 1), vom avea de efectuat, dupa


schema (5.6), ntr-o etapa s, ns mpart iri pentru a obt ine multiplicatorii m
i,s
.
Numarul de adunari si nmult iri este egal cu produsul numarului de valori luate
de indicii i, j, adica (ns)(n+1s). Rezulta numarul de operat ii la eliminarea
Gauss
n
G
=
n1

s=1
[(n s)
2
+ 2(n s)] =
n
3
3
+
n
2
2

5n
6
. (5.8)
Acest numar este foarte mic (ncepand cu n 3) fat a de n n! operat ii cerute de
regula lui Cramer (cu determinant ii calculat i dupa minori). La operat iile (5.8) se
adauga nca aproximativ 1 +(n 1) +n(n 1)/2 = n
2
/2 +n/2 operat ii pentru
retrosubstituirea (5.7). Rezulta numarul total de operat ii pentru eliminarea
gaussiana
n
G
=
n
3
3
+n
2

n
3

n
3
3
+n
2
. (5.9)
aproximat ia ind valabila pentru n 1.
Relat iile (5.6) si (5.7) se pot optimiza obt inand 1 pe diagonala principala,
dupa algoritmul dat de (5.10), unde am inclus si calculul determinantului matri-
cei A, d = det A. Numarul de operat ii se reduce (nesemnicativ) cu n mpart iri
la etapa de retrosubstituire.
Algoritm Gauss Algoritm Gauss-Jordan
[Eliminare ] [Eliminare ]
d 1 d 1
s = 1 : (n 1) s = 1 : n
_

_
j = (s + 1) : (n + 1)
[a
s,j
a
s,j
/a
s,s
]
d d a
s,s
; a
s,s
1
i = (s + 1) : n
_
j = (s + 1) : n
_
a
(s)
i,j
a
(s1)
i,j
a
(s1)
i,s
a
(s1)
i,j
_

_
j = (s + 1) : (n + 1)
[a
s,j
a
s,j
/a
s,s
]
d d a
s,s
; a
s,s
1
i = 1 : n
_

_
daca i ,= s
_
j = (s + 1) : n
_
a
(s)
i,j
a
(s1)
i,j
a
(s1)
i,s
a
(s1)
i,j
[Retrosubstituire ] [Calculul necunoscutelor ]
x
n
a
(n1)
n,n+1
i = 1 : n
i = (n 1) : 1
_
x
i
a
(i1)
i,n+1
_
_
x
i
a
(i1)
i,n+1

j=i+1
a
(i1)
i,j
x
j
(5.10)
120 5. Rezolvarea sistemelor liniare
Exemplu. Folosind metoda eliminarii gaussiene, sa se rezolve sistemul de ecuat ii
_
_
_
x1 +
2
9
x2 + x3 = 2
8x
1 + 2x2 3x3 = 1
x1 + 2x2 5x3 = 1
. (5.11)
Scriem matricea extinsa si efectuam eliminarile dupa regula (5.6). Obt inem succesiv
_
_
1
2
9
1 [ 2
8 2 3 [ 1
1 2 5 [ 1
_
_
s=1

_
1
2
9
1 [ 2
0
2
9
11 [ 17
0
16
9
6 [ 1
_

_
s=2

_
_
1
2
9
1 [ 2
0
2
9
11 [ 17
0 0 82 [ 135
_
_
.
Rezulta
x3 = 135/82 1.6463, x2 = (9/2)
_
17 + 11
135
82
_
= 819/164 4.9939,
x1 = 2 135/82 (2/9)(819/164) = 31/41 0.7561 .
(5.12)
Valoarea din chenar reprezinta pivotul etapei respective. Modul de lucru nu este cel
mai adecvat pentru transpunerea pe calculator deoarece: (a) eliminarile s-au facut
fara a utiliza nici o tehnica de pivotare (part iala sau totala); (b) calculele s-au efectuat
utilizand fract ii ordinare, ceea ce implica programe speciale.
Pentru evident ierea erorilor si t inand cont ca sistemul este foarte mic, reluam
calculele folosind pivotarea part iala si lucrand doar cu trei cifre semnicative
2
. Se
obt ine
_
_
1 0.222 1 [ 2
8 2 3 [ 1
1 2 5 [ 1
_
_
l
1
l
2

_
_
8 2 3 [ 1
1 0.222 1 [ 2
1 2 5 [ 1
_
_
s=1

s=1

_
_
8 2 3 [ 1
0 0.028 1.38 [ 2.13
0 1.75 4.63 [ 1.13
_
_
l
2
l
3

_
_
8 2 3 [ 1
0 1.75 4.63 [ 1.13
0 0.028 1.38 [ 2.13
_
_
s=2

s=2

_
_
8 2 3 [ 1
0 1.75 4.63 [ 1.13
0 0 1.31 [ 2.15
_
_
.
Rezulta
x3 = 0.164 10
1
, x2 = 0.498 10
1
, x1 = 0.755 10
0
. (5.13)
Valorile necunoscutelor ind aproximative, s-a folosit notat ia cu bara x. Scrierea este
cu virgula mobila normalizata n sistem zecimal. Desi sistemul este mic si relativ bine
condit ionat (vezi paragraful 5.1.8, numarul de condit ionare calculat cu (5.64) si norma
euclidiana este (A) = 24, iar calculat cu (5.85) este (A) = 21.6, n timp ce numarul
2
Calculele intermediare au fost efectuate nsa cu sapte cifre semnicative.
5.1. Metode directe 121
de condit ionare al matricei Hilbert
3
3 3 calculat cu (5.85) este 524), utilizarea a
numai trei cifre semnicative a condus la erori resimt ite la a treia cifra semnicativa.
Pentru a observa inuent a alegerii pivotului asupra preciziei rezultatelor, refacem
calculele de mai sus fara a mai schimba liniile 2 cu 3 pentru a aduce valoarea 1.75 pe
pozit ia pivotului n etapa a doua. Se obt ine
_
_
8 2 3 [ 1
0 0.028 1.38 [ 2.13
0 1.75 4.63 [ 1.13
_
_
s=2

_
_
8 2 3 [ 1
0 0.028 1.38 [ 2.13
0 0 81.6 [ 1.13
_
_
,
cu solut iile
x

3
= 0.164 10
1
, x

2
= 0.476 10
1
, x

1
= 0.7 10
0
. (5.14)
Se observa aparit ia unor erori mult mai mari, comparativ cu valorile (5.12). Normele
maxime ale erorilor sunt
|x x| = 0.139 10
1
, |x x

| = 0.234 . (5.15)
5.1.2 Metoda Gauss-Jordan
Este similara cu metoda precedenta, cu deosebirea ca produce zerouri atat de-
desubtul cat si deasupra diagonalei principale, reducand astfel matricea init iala
la o matrice diagonala.

In acest fel, numarul de operat ii este cu circa 50% mai
mare (nu este de doua ori mai mare cum ne-am asteptat, unele reduceri apar
la determinarea necunoscutelor care nu se mai obt in prin retrosubstituire, ci
direct, printr-o singura mpart ire). Ca urmare a numarului sporit de operat ii,
utilizarea metodei Gauss-Jordan la rezolvarea sistemelor de ecuat ii nu este justi-
cata. Aceast a metoda estensa utilizata la calculul numeric al matricei inverse,
operat ie pe care o vom prezenta la paragraful 5.1.5. Numarul de operat ii, n
GJ
,
pentru metoda de eliminare Gauss-Jordan se calculeaza observand ca la ecare
etapa s, se calculeaza n 1 multiplicatori. Algoritmul eliminarii Gauss-Jordan
este dat de (5.10). Rezulta numarul de operat ii la eliminarea Gauss-Jordan
n
GJ
=
n

s=1
[(n 1) + (n 1)(n + 1 s)] =
n
3
2
+n
2

3n
2

n
3
2
+n
2
, (5.16)
aproximat ia ind valabila pentru n 1.
5.1.3 Propagarea erorilor la metodele de eliminare. Ra-
narea solut iei
Formula de calcul a coecient ilor matricei extinse este data de relat iile (5.6) pe
care le retranscriem sub forma
a
(s)
i,j
= a
(s1)
i,j
a
(s1)
i,s
a
(s1)
s,j
/a
(s1)
s,s
, j s + 1, n + 1 , (5.17)
3
Elementele matricei Hilbert sunt date de relat ia hi,j = 1/(i + j + 1). Matri-
cea Hilbert este un caz tipic de matrice rau condit ionata; spre exemplu numarul de
condit ionare al matricei Hilbert de 5 5 este de ordinul 10
5
iar pentru 6 6 este de
ordinul 10
7
.
122 5. Rezolvarea sistemelor liniare
unde i s + 1, n, s 1, n 1 la procedeul Gauss si i = 1, 2, . . . s1, s+1, . . . n,
s 1, n la procedeul Gauss-Jordan. Rezulta eroarea relativa totala

(s)
i,j
=
a
(s1)
i,j
a
(s)
i,j

(s1)
i,j

a
(s1)
i,s
a
(s1)
s,j
a
(s1)
s,s
a
(s)
i,j

+
s
, (5.18)


(s1)
i,s
+
(s1)
s,j

(s1)
s,s
+
p
+
d
.

In expresia (5.18) s-a t inut seama de propagarea erorilor la scadere (sau sumare),
la produs si la mpart ire, dupa regulile date n capitolul 4. Marginea erorii
relative totale este

(s)
i,j
5 10
t
_
_

a
(s1)
i,j
a
(s)
i,j

+ 5

a
(s1)
i,s
a
(s1)
s,j
a
(s1)
s,s
a
(s)
i,j

+ 1
_
_
, (5.19)
unde t este numarul de cifre semnicative cu care se lucreaza. Se observa ca
singurul factor asupra caruia se poate act iona este pivotul a
(s1)
s,s
a carui valoare
n modul se recomanda, n general, sa e cat mai mare.

In legatura cu strategia
pivotului maxim, se poate face nsa si urmatoarea remarca: deoarece, conform
relat iei (5.35), produsul pivot ilor esten modul egal cu valoarea lui det A, rezulta
ca introducerea de pivot i mari, n modul, n primele etape de eliminare, va
implica n mod obligatoriu aparit ia unor pivot i mici n etapele nale, cu atat
mai devreme cu cat valoarea absoluta a determinantului matricei A este mai
mica. Prin urmare, este posibila o strategie optima de alegere a pivot ilor.
Un aspect si mai important legat de strategia alegerii pivotului l constituie
scalarea ecuat iilor (sau precondit ionarea prin echilibrare), care poate facuta
atat pe linii cat si pe coloane. Pentru a nt elege mai bine care este problema,
sa presupunem ca nmult im una din liniile sistemului cu un numar foarte mare.
Acest lucru nu modica teoretic solut ia sistemului dar avem mari sanse ca ele-
mentul maxim n modul sa se ae pe aceasta linie, chiar daca acest lucru nu
s-ar ntamplat cu linia originala. Este necesara deci scalarea matricei care
consta n nmult irea ecarei linii cu cate un multiplicator r
i
astfel ncat eleme-
tele maxime n modul de pe ecare linie sa e egale cu unitatea. Sistemul (5.1)
devine
n

j=1
r
i
a
i,j
x
j
= r
i
b
i
, r
i
= 1/ max
j1,n
[a
ij
[, i 1, n , (5.20)
Pentru a reduce pe cat de mult posibil erorile de rotunjire, multiplicatorul se
alege de forma 1/2
m
astfel ncat elementele maxime de pe ecare linie sa e cat
mai apropiate de unitate.

In cazul n care se calculeaza inversa sau determinan-
tul, acesti multiplicatori trebuie memorat i.
Similar, precondit ionarea prin echilibrare pe coloane, constan transformarea
sistemului (5.1) n sistemul echivalent
n

j=1
p
j
a
i,j
(x
j
/p
j
) = b
i
, p
j
= 1/ max
i1,n
[a
ij
[, j 1, n , (5.21)
5.1. Metode directe 123
Tot pe linia obt inerii unei unei precizii cat mai bune se nscrie si ranarea
solut iei, care consta n mbunatat irea solut iei printr-un proces iterativ. Notand
cu e vectorul eroare si cu x vectorul solut iei aproximative gasite, nlocuind n
sistemul (5.2) vom obt ine o valoare

b ,= b
A x =

b, x = x e , (5.22)
adica apare o diferent a fat a de vectorul b, diferent a pe care o vom nota cu
= b

b . (5.23)
Prin scaderea ecuat iilor (5.2) si (5.22), se obt ine un sistemul
Ae = , (5.24)
care are aceeasi matrice cu sistemul init ial. Prin urmare, sistemul (5.24) se
rezolva cu acelasi algoritm, neind necesare decat operat iile de eliminare aplicate
asupra termenilor liberi. Se obt ine solut ia ranata
x
1
= x +e . (5.25)
Evident, nici aceasta solut ie (5.25) nu este exacta, deoarece la determinarea
vectorului eroare e se introduc aceleasi erori ca la rezolvarea sistemului init ial
(5.2), prin transformarile efectuate asupra matricei A. O noua ranare, plecand
de la x
1
este posibila, dar aceasta nu mbunatat este n mod necesar solut ia
sistemului. Condit ii suciente pentru corectarea solut iei se vor da la paragraful
5.1.7.
Exemplu. Reluam exemplul (5.11). Indiferent de metoda utilizata, solut ia trebuie
vericata n sistem.

In acest fel, se gaseste vectorul erorilor (5.23)
Solut ia 1 2 3 ||/|b|
(5.13) 0.944 10
2
0 0.5 10
2
0.47 10
2
(5.14) 0.328 10
2
0 0.38 10
0
0.19 10
0
Se constata ca, n cazul solut iei (5.14), exista o eroare relativa mare (circa 20%) n
termenii liberi, deci se impune ranarea solut iei. Presupunnd ca efectuam asupra
matricei A aceleasi operat ii care ne-au condus la solut ia (5.14), sistemul (5.24) pentru
determinarea vectorului eroare e conduce la matricea
_
_
8 2 3 [ 0
0 0.028 1.38 [ 0.00328
0 1.75 4.63 [ 0.38
_
_

_
_
8 2 3 [ 0
0 0.028 1.38 [ 0.00328
0 0 81.6 [ 0.585
_
_
,
cu solut ia
e3 = 0.717 10
2
, e2 = 0.236 10
0
, e1 = 0.563 10
1
Solut ia corectata este
x

3
= 0.165 10
1
, x

2
= 0.450 10
1
, x1 = 0.756, ( x

i
= x

i
+ ei) ,
cu norma maxima a erorii
|x x

| = 0.4 10
1
.
Se observa o reducere a normei erorii absoluten raport cu solut ia x

, dar rezultatul este


sub precizia realizata cu pivotare, chiar fara ranare (5.12), care are norma maxima
data de (5.15).
124 5. Rezolvarea sistemelor liniare
5.1.4 Interpretarea matriceala a metodelor de eliminare
Eliminarea elementelor de pe coloane este echivalenta cu nmult irea matricei
A cu anumite matrice simple. Spre exemplu, n prima etapa, matricea A este
nmult ita la stanga cu o matrice notata cu L
1
, n a doua etapa cu o matrice L
2
,
s.a.m.d. Se verica direct ca aceste matrice sunt de forma
L
1
=
_

_
1 0 . . . . . . 0
m
2,1
1 . . . . . . 0
m
3,1
0
.
.
. . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
m
n,1
0 . . . 0 1
_

_
, L
2
=
_

_
1 0 . . . . . . 0
0 1 . . . . . . 0
0 m
3,2
.
.
. . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 m
n,2
. . . . . . 1
_

_
,
adica se obt in din matricea unitate de dimensiuni n n prin introducerea mul-
tiplicatorilor, cu semn schimbat, n pozit iile specicate chiar prin indicii acestor
multiplicatori. Ca proba, elementul p
i,1
din matricea produs L
1
A este
p
i,1
= m
i,1
a
1,1
+ 1 a
i,1
= 0, i = 2, 3, . . . , n . (5.26)

In consecint a, n absent a permutarilor de linii si coloane (pe care de fapt le


efectuam pentru obt inerea pivot ilor de modul convenabil), se obt ine produsul
de matrice
U = L
n1
L
n2
. . . L
2
L
1
A , (5.27)
U ind matricea superior triunghiulara
4
, obt inuta n etapa n1 a eliminarii ga-
ussiene (etapa nala). Vom observa, mai departe, ca matricele L
s
, s 1, n 1
sunt toate inversabile, avand determinant i egali cu unitatea. Mai mult, se ve-
rica direct ca matricele inverse L
1
s
se obt in din matricele L
s
prin schimbarea
semnelor elementelor m
i,s
. Notand cu L = (L
n1
L
n2
. . . L
2
L
1
)
1
matricea
inversa a transformarilor matricei A (5.27), rezulta ca la eliminarea gaussiana
(fara permutari de linii sau coloane), s-a realizat factorizarea
A = L U , (5.28)
unde L este o matrice inferior triunghiulara avand elemente egale cu unitatea
pe diagonala principala, iar n rest multiplicatorii utilizat i la eliminare
L = L
1
1
L
1
2
. . . L
1
n1
=
_

_
1 0 . . . . . . 0
m
2,1
1 . . . . . . 0
m
3,1
m
3,2
1 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
m
n,1
m
n,2
. . . m
n,n1
1
_

_
. (5.29)
4
Literele L si U sunt preluate de la cuvintele din limba engleza lower si upper.
5.1. Metode directe 125
Pe de alta parte, matricea U, superior triunghiulara, are expresia
U =
_

_
a
1,1
a
1,2
a
1,3
. . . a
1,n
0 a
(1)
2,2
a
(1)
2,3
. . . a
(1)
2,n
0 0 a
(2)
3,3
. . . a
(2)
3,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 0 a
(n1)
n,n
_

_
. (5.30)
Permutarea de linii sau coloane revine la nmult irea matricei ale carei linii
sau coloane se permuta, cu o matrice de permutare. Vom nota cu P
i,j
matricea
obt inuta prin permutarea n matricea unitate de aceleasi dimensiuni, a liniilor
sau coloanelor i si j. Pentru a permuta liniile i si j dintr-o matrice oarecare, se
nmult este matricea respectiva cu P
i,j
la stanga, iar pentru a permuta coloanele
i si j, se nmult este cu P
i,j
la dreapta. Presupunem ca, spre exemplu, pentru
a ajunge la forma triunghiulara U

s-au folosit atat permutari de linii cat si de


coloane, astfel ncat, nainte de a efectua eliminarile n coloana a doua, s-au
permutat liniile i, j si coloanele k, l (i, j, k, l 2). Se obt ine
U

= L
n1
. . . L
2
P
i,j
L
1
AP
k,l
(5.31)
unde P
i,j
si P
k,l
sunt matrice de permutare. Din (5.31) se poate trage conclu-
zia ca, datorita permutarilor, matricea A nu se mai descompune chiar ntr-un
produs de matrice triughiulare. De fapt
A = (L
1
1
P
i,j
L
1
2
. . . L
1
n1
)U

P
k,l
, (5.32)
unde am t inut cont ca P
1
i,j
= P
i,j
, sau
P
i,j
AP
k,l
= LU

, (5.33)
unde am t inut cont ca operat iile de permutare de linii si de eliminare sunt
comutative, adica
P
i,j
L
1
1
P
i,j
(L
1
2
. . . L
1
n1
U

P
k,l
) = P
i,j
P
i,j
L
1
1
(L
1
2
. . . L
1
n1
U

P
k,l
) (5.34)
Eliminarea gaussiana poate utilizata si pentru calculul valorii determinant ilor.
Din (5.32) se obt ine
det A = (1)
np
det U

= a
1,1
a
(1)
2,2
. . . a
(n1)
n,n
(1)
np
, (5.35)
unde n
p
reprezinta numarul total de permutari de linii si coloane. Deoarece
det A ,= 0, rezulta ca nici unul dintre pivot ii a
(s1)
s,s
, (s 1, n) nu poate nul.
5.1.5 Calculul matricei inverse
Matricea A este inversabila daca det A ,= 0, condit ie pusa si pentru existent a
solut iei sistemului (5.2). Prin urmare, este de asteptat ca rezolvarea sistemului
126 5. Rezolvarea sistemelor liniare
si inversarea matricei A sa e probleme strans legate.

Intr-adevar, matricea B
este inversa matricei A daca
AB = BA = I . (5.36)
Daca lu am n considerare prima coloana a matricei B, obt inem
_

_
a
1,1
a
1,2
. . . a
1,n
a
2,1
a
2,2
. . . a
2,n
. . . . . . . . . . . .
a
n,1
a
n,2
. . . a
n,n
_

_
b
1,1
b
2,1
. . .
b
n,1
_

_
=
_

_
1
0
. . .
0
_

_
, (5.37)
adica un sistem de n ecuat ii cu n necunoscute. Rezulta deci ca problema deter-
minarii matricei inverse B este echivalenta cu rezolvarea a n sisteme de n ecuat ii
cu n necunoscute. Vom considera matricea M de dimensiuni n 2n, formata
din alaturarea matricei unitate I la matricea A, urmand a aplica transformari
matricei A astfel ncat sa o aducem la matricea unitate I,
M = [A[I] [I[A] . (5.38)

In acest scop, se aplica transformarile de la eliminarea Gauss- Jordan. Rezulta


o relat ie de forma
I = D
(n)
T
n
T
n1
. . . P
i,j
T
1
AP
k,l
, (5.39)
unde P
i,j
, P
k,l
reprezinta matricele de permutare, T
s
, s 1, n sunt matrice care
cont in multiplicatorii, iar D
(n)
este o matrice diagonala
T
1
= L
1
,
T
2
=
_

_
1 m
1,2
. . . . . . 0
0 1 . . . . . . 0
0 m
3,2
.
.
. . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 m
n,2
. . . . . . 1
_

_
, D
(n)
=
_

_
1/a
1,1
0 . . . 0
0 1/a
(1)
2,2
. . . 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1/a
(n1)
n,n
_

_
.
Daca aceleasi transformari la stanga sunt aplicate si matricei unitate, rezulta o
matrice B avand expresia
B = D
(n)
T
n
T
n1
. . . P
i,j
T
1
I . (5.40)
Din (5.39) si (5.40) se obt ine
I = BAP
k,l
, (5.41)
sau, observand ca P
2
k,l
= I si nmult ind egalitatea (5.41) la dreapta si la stnga
cu P
k,l
, se obt ine
P
k,l
IP
k,l
= P
k,l
BAP
k,l
P
k,l
, rezulta (P
k,l
B)A = I, deci A
1
= P
k,l
B , (5.42)
5.1. Metode directe 127
adica matricea inversa se obt ine din matricea B printr-o permutare de linii, co-
respunzatoare permutarilor de coloane efectuate la cautarea pivot ilorn operat iile
de eliminare. Daca s-au efectuat mai multe permutari de coloane, spre exemplu
I = BAP
k1,l1
P
k2,l2
. . . P
km,lm
, (5.43)
rezulta
A
1
= (P
km,lm
. . . (P
k2,l2
(P
k1,l1
B)) . . . ) , (5.44)
adica permutarile de linii n matricea B se efectueaza n ordine inversa fat a de
permutarile de coloane efectuate n matricea A. Daca la cautarea pivot ilor nu
se folosesc schimbari de coloane, atunci A
1
= B.
Lasand la o parte permutarile, numarul de operat ii la inversare este
n
inv
= 3n
3
/2 2n
2
+ 5n/2 + 1 3n
3
/2 2n
2
, (n 1) . (5.45)
Se observa ca numarul de operat ii la inversarea matricelor mari (n 40) este
de circa 3 ori mai mare decat pentru eliminarea Gauss-Jordan si de 4.5 ori
mai mare decat la eliminarea Gauss. Numarul de operat ii se poate reduce nsa
t inand seama de forma particulara a matricei unitate.

Intr-adevar, n prima
etapa a eliminarii, matricea I (plasata n coloanele n +1, 2n) sau orice matrice
de permutare P
i,j
care ar putea aparea n locul ei n urma alegerii pivotului,
cont ine doar un element nenul pe ecare linie.

In urma eliminarii din prima
etapa, coloanele n + 1 . . . 2n vor forma o matrice cu cel mult doua elemente
nenule pe ecare linie cu care se va opera n etapa a doua, s.a.m.d.

In etapa s,
se va opera cu cel mult s elemente diferite de zero pe linia pivotului, n coloanele
n + 1 . . . 2n. Ca urmare, numarul de operat ii poate redus la expresia
n
inv1
= n
3
n
2
+ 1 n
3
n
2
, (5.46)
deci, aproape de 1.5 ori mai mic fat a de (5.45) n cazul matricelor mari. Aceasta
reducere se face pe seama t inerii evident ei pozit iilor elementelor nenule din linia
pivotului. Aceasta evident a nu este dicila deoarece, la ecare etapa se adauga
o coloana noua la precedentele.

In nal, vom observa ca permutarile de linii
(singurele care se aplica pe pozit ia ocupata init ial de matricea I) schimba doar
pozit iile elementelor nenule (nu si numarul acestora).
Determinarea matricei inverse am vazut ca este echivalenta cu rezolvarea a
n sisteme de n ecuat ii simultane (cu aceeasi matrice A), avand ca termeni liberi
coloanele matricei I, iar ca necunoscute elementele matricei inverse. Aceeasi
problema poate rezolvata si prin eliminare gaussiana, retrosubstituirea pentru
gasirea celor n
2
necunoscute cerandnsa n
2
(n+1)/2 operat ii.

In aceste condit ii,
numarul de operat ii pentru inversare este
(a) fara considerarea zerourilor din matricea unitate
n
inv2
= 4n
3
/3 n/3 ; (5.47)
128 5. Rezolvarea sistemelor liniare
(b) cu considerarea zerourilor din matricea unitate
n
inv3
= n
3
+n
2
/2 n/2 . (5.48)
Se observ a ca n
inv2
< n
inv
, n timp ce n
inv3
> n
inv1
.
Exemplu. Ne propunem sa calculam inversa matricei A a sistemului (5.11). Vom
folosi metoda Gauss-Jordan cu pivotare totala pentru matricea extinsa. Avem succesiv
_
1 0.2222 1 [ 1 0 0
8 2 3 [ 0 1 0
1 2 5 [ 0 0 1
_
l1l2

_
_
8 2 3 [ 0 1 0
1 0.2222 1 [ 1 0 0
1 2 5 [ 0 0 1
_
_
s=1

_
8 2 3 [ 0 1 0
0 0.0278 1.375 [ 1 0.125 0
0 1.75 4.625 [ 0 0.125 1
_
l2l3

c2c3
_
_
8 2 3 [ 0 1 0
0 -4.625 1.75 [ 1 0.125 1
0 1.375 0.0278 [ 0 0.125 0
_
_
s=2

_
_
8 0 0.8649 [ 0 1.081 0.6486
0 4.625 1.75 [ 1 0.125 1
0 0 0.4925 [ 0 0.1622 0.2973
_
_
s=3

_
8 0 0 [ 1.756 1.366 1.171
0 4.625 0 [ 3.553 0.4513 0.0564
0 0 0.4925 [ 1 0.1622 0.2973
_
D

_
1 0 0 [ 0.2195 0.171 0.1463
0 1 0 [ 0.7683 0.09758 0.0122
0 0 1 [ 2.030 0.3293 0.06037
_
.
(5.49)
Calculele au fost efectuate cu 4 cifre semnicative. Deoarece am permutat coloanele
2 si 3 pentru aducerea valorii 4.625 pe pozit ia pivotului, matricea inversa B0 se
obt ine din (5.49) prin permutarea liniilor 2 si 3 n matricea formata cu ultimele trei
coloane
B0 =
_
_
0.2195 0.1707 0.1463
2.030 0.3293 0.6037
0.7683 0.09758 0.0122
_
_
. (5.50)
5.1.6 Relat ia Sherman-Morisson
Fie matricea A pentru care am calculat, cu un efort apreciabil, o aproximat ie
a inversei, B

= A
1
. Sa presupunem ca n matricea A sunt cateva elemente
care sufera mici modicari (se poate modica numai un element, sau o linie, sau
o coloan a, etc.). Se pune problema de a folosi munca depusa anterior pentru
calculul matricei inverse B. Acest lucru se poate realiza cu formula Sherman-
Morisson
(A+u v
T
)
1
= A
1
(A
1
u)(vA
1
)
T
/(1 +vA
1
u) , (5.51)
5.1. Metode directe 129
unde u si v sunt doi vectori cu ajutorul carora putem exprima schimbarea din
matricea A de forma
A A+u v
T
. (5.52)
Spre exemplu, daca se modica linia i din matricea A, trebuie ca u
j
= 0,
j 1, ni, u
i
= 1, iar vectorul v cont ine valorile cu care se modica elementele
a
i,j
, j 1, n. Analog, pentru a modica coloana j, v
i
= 0, i 1, n j, v
j
= 1,
iar vectorul u cont ine valorile cu care se modica elementele a
i,j
, i 1, n.
5.1.7 Ranarea matricei inverse
Deoarece n cursul calculelor se produc erori de rotunjire, matricea B, obt inuta
prin oricare din procedeele prezentate, nu este chiar matricea A
1
. Fie B
0
inversa matricei A, obt inuta init ial. Putem deni o matrice a erorilor, F
0
, prin
relat ia
F
0
= I AB
0
. (5.53)
Evident, daca B
0
este exacta, atunci F = 0. Sa presupunem ca erorile sunt
sucient de mici, astfel ncat
|F
0
| 1 , (5.54)
unde |F
0
| reprezinta o norma oarecare a matricei F
0
(vezi si paragraful 5.4).
Mai departe, vom construi un sir de iterat ii astfel ncat
F
k+1
= I AB
k+1
, F
k+1
= F
2
k
, k = 0, 1, 2, . . . (5.55)
T inand cont de (5.54), atunci F
k
0, deoarece
|F
k
| = |F
2
k
0
| |F
0
|
2
k
0, pentru k . (5.56)
Din (5.55) se deduc succesiv
F
k+1
= F
k
F
k
= (I AB
k
)F
k
= F
k
AB
k
F
k
=
= I AB
k
AB
k
F
k
= I A(B
k
+B
k
F
k
) = I AB
k+1
,
(5.57)
sau comparand ultimele doua egalitat i (5.57)
B
k+1
= B
k
+B
k
F
k
= B
k
(I +F
k
) = 2B
k
B
k
AB
k
, k = 0, 1, 2, . . . (5.58)
Relat ia (5.58) arata cum trebuie construite inversele cu o precizie din ce n ce
mai buna, daca este realizata condit ia (5.54). Din relat ia (5.55) se poate scrie
A
1
F
k+1
= A
1
B
k+1
. (5.59)
Rezulta eroarea relativa la inversare, n norma
|A
1
|
k+1
/|A
1
| = |A
1
B
k+1
|/|A
1
| |F
k+1
| . (5.60)
130 5. Rezolvarea sistemelor liniare
Odata gasita o inversa sucient de exacta, se poate obt ine si o solut ie ranata
a sistemului (5.2)
x = A
1
b = B
k+1
b, k 1 . (5.61)
Deoarece procesul de ranare cont ine nmult iri de matrice care necesita circa n
3
operat ii, este de dorit ca |F
0
| sa e cat mai mica n raport cu unitatea, adica
inversarea init iala sa e cat mai buna.
Exemplu. Matricea erorilor pentru matricea inversa B
0
data de (5.50) este
F0 = 10
5

_
_
13.4 7.046 4.214
90 20 40
100 10 10
_
_
, (5.62)
cu norma
|F0| = 10
5
(90 + 20 + 40) = 1.5 10
3
1 .
Deoarece |F0| < 1, putem rana inversa B0 folosind (5.58), unde apare corect ia
B0F0 = 10
5

_
_
2.208 3.33 4.44
57.94 1.68 1.419
2.731 3.339 0.544
_
_
.
Se obt ine matricea ranata B1 si matricea erorilor F1 date de
B1 =
_
_
0.2195 0.171 0.1463
2.0306 0.3293 0.6037
0.7683 0.09758 0.0122
_
_
, F1 = 10
8
_
_
3.923 2.775 2.962
9.94 14.34 7.793
5.6 6.046 0.786
_
_
.
(5.63)
Folosind inversele B0 si B1 pentru rezolvarea sistemului (5.11), se obt in solut iile
x
(0)
= B0b = (0.756, 4.993, 1.6464)
T
, x
(1)
= B1b = (0.7561, 4.9941, 1.6464)
T
,
cu vectorii eroare dat i de
e
(0)
= 10
5
(9.756, 90.024, 5.854)
T
, e
(1)
= 10
5
(0.244, 19.76, 5.854)
T
.
Eroarea relativa la inversare data de relat ia (5.60) n norma || este pentru matricea
neranata B0 data de (5.50)
|0A
1
|/|A
1
| |F0| = 1.5 10
3
,
iar pentru matricea ranata B1 data de (5.63) este
|1A
1
|/|A
1
| |F1| = 0.32 10
6
.
5.1. Metode directe 131
5.1.8 Efectele erorilor din datele init iale
Daca n datele init iale ale sistemului (5.1) exista erori, acestea pot amplicate
n calcul mai mult sau mai put in, n funct ie de numarul de condit ionare al
matricei sistemului. Numarul de condit ionare (sau indicele de condit ionare) al
unei matrice A, nesingulare, este notat cu (A) si are, prin denit ie, expresia
(A) = |A| |A
1
| 1 . (5.64)
Cu cat (A) este mai mare, cu atat matricea este mai rau condit ionata, calculul
matricei inverse ind mai dicil de efectuat. De aceea, este mai utila denit ia
(5.85) pe care o vom da n paragraful 5.1.10.
Exemplu. Numarul de condit ionare al matricei A din exemplul (5.11) calculat
cu relat ia (5.64), folosind norma | | si cu matricea inversa neranata B
0
data de
(5.50) este

(A) = |A|

|B
0
|

= 13 2.962 = 38.5 ,
adica amplicarea erorilor este moderata.
Sa presupunem ca, n matricea init iala A, s-a introdus perturbat ia A astfel
ncat eroarea relativa, n norma, satisface inegalitatea
|A| |A
1
| < 1 . (5.65)
Sa presupunem ca si vectorul b este dat cu eroarea b.

In consecint a, va rezulta
o imprecizie x n solut ie, astfel ncat
(A+A)(x +x) = b +b , (5.66)
sau, t inand cont de (5.1)
A x + (A+A)x = b . (5.67)
Din (5.67) se obt ine succesiv
x = (A+A)
1
(b Ax) = [A(I +A
1
A)]
1
(b Ax) =
= (I +A
1
A)
1
A
1
(b Ax) ,
(5.68)
Inegalitatea (5.65) implica ns a
|(I +A
1
A)
1
| (1 |A
1
A|)
1
(1 |A
1
| |A|)
1
. (5.69)
iar din (5.1) se obt ine
|x|
1
|A| |b|
1
. (5.70)
Utilizand (5.68), rezulta
|x| (1 |A
1
|/|A|)
1
|A
1
|(|b| +|A| |x|) (5.71)
132 5. Rezolvarea sistemelor liniare
sau, mpart ind cu |x| ,= 0 si utilizand (5.70)
|x|
|x|

(A)
1 (A)|A|/|A|
_
|b|
|b|
+
|A|
|A|
_
. (5.72)
Semnul egal n (5.72) corespunde matricelor hermitice, cu norma spectrala.
Se observa important a numarului de condit ionare (A) n amplicarea erorilor
init iale. Legat de eroarea la inversarea matricei A, se stabileste o expresie
similara cu (5.72)
|(A+A)
1
A
1
|
|A
1
|

(A)
1 (A)|A|/|A|
|A|
|A|
. (5.73)
5.1.9 Factorizarea L U
Dupa cum am vazul la paragraful 5.1.4, metoda eliminarii gaussiane fara per-
mutari de linii sau coloane este echivalenta cu descompunerea matricei Antr-un
produs dintre o matrice superior triunghiulara L si una inferior triunghiulara U
A = L U , (5.74)
adica
A =
_

_
l
1,1
0 . . . 0
l
2,1
l
2,2
. . . 0
.
.
.
.
.
.
.
.
.
.
.
.
l
n,1
l
n,2
. . . l
n,n
_

_
u
1,1
u
1,2
. . . u
1,n
0 u
2,2
. . . u
2,n
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 u
n,n
_

_
. (5.75)
Putem folosi descompunerea (5.74) pentru a rezolva sistemul (5.2) t inand cont
de asociativitatea produsului de matrice
Ax = (LU)x = L(Ux) = b , (5.76)
rezolvand pe rand sistemele
Lz = b, Ux = z . (5.77)
Sistemele (5.77) se rezova cu usurint a datorita faptului ca matricele L si U
sunt triunghiulare. Relat ia (5.75) reprezinta un sistem de n
2
ecuat ii cu n
2
+ n
necunoscute, deci trebuie precizate n dintre necunoscute. Cele mai utilizate
alegeri sunt date de factorizarea Doolittle cand se aleg l
i,i
= 1, factorizarea Crout
cand se aleg u
i,i
= 1 si factorizarea Cholesky cand U = L
T
, deci l
i,i
= u
i,i
.
Factorizarea Cholesky este posibila numai daca matricea A este simetrica si
pozitiv denita
5
.
5
O matrice se numeste pozitiv denita daca pentru orice vector x = 0, avem x
T
Ax > 0.
5.1. Metode directe 133
Algoritmul de calcul pentru factorizarea LU se determina relativ usor dezvoltand
relat ia (5.75) si este dat de (5.78)-stanga.
k = 1 : n
_

_
[Se alege u
k,k
sau l
k,k
,
se determina l
k,k
sau u
k,k
]
l
k,k
u
k,k
a
k,k

k1

s=1
l
k,s
u
s,k
i = (k + 1) : n
_

_
j i
u
k,j

(a
k,j

k1

s=1
l
k,s
u
s,j
)
l
k,k
l
i,k

(a
i,k

k1

s=1
l
i,s
u
s,k
)
u
k,k
k = 1 : n
_

_
[Se alege l
k,k
, se determina
u
k,k
care se pastreaza n
locat ia a
k,k
]
a
k,k

(a
k,k

k1

s=1
a
k,s
a
s,k
)
l
k,k
i = (k + 1) : n
_

_
j i
a
k,j

(a
k,j

k1

s=1
a
k,s
a
s,j
)
l
k,k
a
i,k

(a
i,k

k1

s=1
a
i,s
a
s,k
)
a
k,k
(5.78)

In partea dreapta este dat algoritmul n care se aleg valorile l


k,k
, k 1, n, care
se memoreaza separat, iar elementele l
i,j
, i 2, n, j 1, i 1, u
m,p
, m 1, n,
p m, n, se plaseaza pe locul elementelor matricei A.
Din (5.78) observa ca pentru a putea obt ine factorizarea LU este necesar
ca l
k,k
si u
k,k
sa e nenule. Factorizarea LU poate implementata ecient
folosind tehnica pivotului part ial, caz n care PA = LU, iar solut ia se obt ine
rezolvand sistemul echivalent LU = Pb, unde P este matricea care cont ine
toate permutarile de linii efectate asupra matricei A pe parcursul procesului de
factorizare. Condit iile n care o matrice admite o factorizare LU sunt incluse n
urmatoarele teoreme pe care le dam fara demonstrat ie:
Teorema. Daca minorii principali ai matricei A sunt nenuli, atunci aceasta
admite o factorizare LU.
Teorema. Daca A este o matrice reala, simetrica si pozitiv denita, atunci ea
admite o factorizare LU unica, n care U = L
T
.

In cazul n care A este o matrice reala, simetrica si pozitiv denita, descom-


punerea A = LL
T
se numeste factorizarea Cholesky si este data de algoritmul
(5.79).
k = 1 : n
_

_
l
k,k
(a
k,k

k1
s=1
l
2
k,s
)
1/2
i = (k + 1) : n
_
l
i,k
(a
i,k

k1
s=1
l
i,s
l
k,s
)/l
k,k
.
(5.79)
134 5. Rezolvarea sistemelor liniare
5.1.10 Descompunerea SV D

In unele cazuri, metodele prezentate anterior esueaza datorita matricei sistemu-


lui care are determinantul foarte mic ca valoare absoluta. Altfel spus, una din
liniile sistemului este aproape o combinat ie liniara a celorlalte linii
6
.

In aceste
situat ii se recomanda descompunerea SV D
7
pe care o prezentamn acest para-
graf. Dam fara demostrat ie urmatoarea teorema:
Teorema Oricare ar matricea A de m linii si n coloane, cu m n, ea poate
descompus a ntr-un produs de trei matrice
A = U W V
T
, (5.80)
unde U este o matrice ortogonala mn, W este o matrice diagonala n n, iar
V este o matrice ortogonala n n.
Matricele U si V au coloanele ortonormate, adica
U
T
U = V
T
V = I , (5.81)
unde I este matricea unitate n n. Important este faptul ca descompunerea
(5.80) poate facuta si n cazul n care matricea A este singulara.

In cazul n care matricea A este patrata (m = n), sistemul (5.2) se rezolva


usor, deoarece inversele matricelor U, V si W se calculeaza imediat t inand cont
de (5.81) si deci
A
1
= V diag(1/w
i
) U
T
, (5.82)
iar solut ia sistemului (5.2) este
x = V [diag(1/w
i
)] (U
T
b) . (5.83)
Daca matricea A este singulara, unul sau mai multe din elementele w
i
sunt nule,
iar sistemul (5.2) este nedeterminat si poate compatibil sau incompatibil dupa
cum rangul matricei A este sau nu egal cu rangul matricei extinse A

. Daca
sistemul (5.2) este compatibil, se poate arata ca o solut ie particulara poate
obt inuta prin nlocuirea elementelor innite din (5.83) cu zero (adica n loc
de 1/w
i
= vom pune w
i
= 0!). Daca procedam n acelasi fel n cazul n
care sistemul (5.83) este incompatibil, se poate demonstra ca solut ia obt inuta
minimizeaza reziduul
R = |Ax b|
2
, (5.84)
adica vectorul x satisface cel mai bine (5.2) n sensul celor mai mici patrate.

In cazul n care matricea A este aproape singulara, unul sau mai multe
elemente w
i
au valori foarte mici n modul. Spunem n acest caz ca matricea
6
Spunem n acest caz ca matricea A este aproape singulara.
7
Init ialele SV D provin de la cuvintele din limba engleza Singular Value Decomposition.
5.1. Metode directe 135
A este rau condit ionata. Numarul de condit ionare al matricei A poate denit
de raportul (vezi si (5.64))
(A) = w
max
/w
min
, (5.85)
unde
w
max
= max [w
i
[, w
min
= min [w
i
[ . (5.86)
Cu cat num arul de condit ionare este mai mare, cu atat matricea A este mai rau
condit ionat a (vezi paragraful 5.1.8), iar una sau mai multe ecuat ii sunt foarte
aproape de niste combinat ii liniare ale celorlate ecuat ii. Metodele de eliminare,
chiar si cu pivotare totala, pot esua n astfel de cazuri. Folosind descompunerea
(5.80), solut ia obt inuta (5.83) este efectata de prezent a elemetelor w
i
foarte mici
n modul. O modalitate de a evita astfel de probleme consta n renunt area la
ecuat iile care sunt foarte aproape de niste combinat ii liniare ale celorlate ecuat ii
(si deci care nu aduc informat ii suplimentare), ceea ce ce se poate realiza prin
nlocuirea cu zero a elementelor 1/w
i
foarte mari n modul. Se obt in astfel solut ii
care au reziduul R dat de (5.84) mai mic decat cel dat de solut ia obt inuta cu
valorile 1/w
i
ce rezulta din descompunerea (5.80).
Pentru cazul n care numarul de ecuat ii este mai mic decat numarul de
necunoscute (m < n), se poate obt ine o solut ie particulara adaugand n m
linii de zerouri n matricea A obt inand o matrice patrata n n, efectuand apoi
descompunerea (5.80) si nlocuind cu zero termenii 1/w
i
ce corespund valorilor
w
i
mici n modul.
Tehnica descompunerii (5.80) are implementari puternicen toate bibliotecile
matematice de rezolvare a sistemelor de ecuat ii liniare. Algoritmii folosit i sunt
relativ sosticat i, depasind cadrul acestei lucrari, ind folosit i n cazurile dicile
ale sistemelor cu matrice mari si rau condit ionate.
5.1.11 Sisteme cu matrice rare

In practica apar deseori sisteme mari a caror matrice prezinta foarte multe ele-
mente nule. Astfel de matrice se numesc matrice rare. Aplicarea metodelor de
eliminare n forma standard devine neeconomica, atat din punct de vedere al
timpului de calcul cat si din punct de vedere al memoriei utilizate. Se utilizeaza
n acest scop tehnici speciale de memorare n forma compacta a elementelor ne-
nule ale matricei, precum si metode de ordonare care urmaresc, prin intermediul
unor secvent e de pivotare, minimizarea numarului de elemente nenule nou cre-
ate n procesul de eliminare. Ne propunem descrierea sumara a principiilor care
stau la baza lucrului cu matrice rare, o prezentare mai amanunt ita depasind
cadrul acestei cart i.
Majoritatea metodelor utilizate pentru rezolvarea sistemelor cu matrice rare
sunt metode de eliminare de tip Gauss sau metode de factorizare LU, la care
se acorda o atent ie deosebita elementelor nule n scopul micsorarii volumului de
calcul si a memoriei utilizate. Aplicarea ecienta si cu succes a metodelor directe
n rezolvarea sistemelor cu matrice rare depinde de cat de ordonata (simpla)
136 5. Rezolvarea sistemelor liniare
Figura 5.1: Forme speciale de matrice rare.
este structura matricei.

In bibliotecile matematice sunt implementate tehnici
de analiza a structurii matricei si de transformare a acesteia ntr-o structura
sucient de ordonata. Aceste prelucrari au ca rezultat si o crestere a numarului
de condit ionare a matricei, efect nedorit care se poate ameliora prin echilibrarea
(scalarea) matricei, tehnica descrisa la paragraful 5.1.3.

In gura 5.1 sunt reprezentate principalele forme speciale de matrice rare.


Aceste forme speciale au avantajul ca permit evitarea aparit iei elementelor ne-
nule n afara zonelor hasurate.
Sistemele cu matrice banda rezulta n general din discretizarea ecuat iilor
cu derivate part iale. Un caz simplu al matricelor de tip banda a fost descris
la interpolarea cu funct ii spline cubice, paragraful 1.1.2. Pentru sistemele cu
matrice banda, metodele directe de eliminare sau factorizare se dovedesc n
general eciente, cu except ia cazurilor n care dimensiunea sistemului este foarte
mare, cand se recomanda metodele iterative sau combinat ii ntre metode directe
si iterative.
Problema principala care se pune n cazul matricei banda este memorarea
cat mai ecienta a acesteia. Cea mai simpla schema de memorare a unei matrice
simetrice cu lat imea benzii egala cu 2b 1 (gura 5.1) cu elementele a
i,j
= 0
pentru [i j[ b, consta n memorarea doar a elementelor de pe diagonala
principala si a celor de sub ea (j i), avand nevoie de un vector v de dimensiune
n + (n 1) + . . . + (n b + 1) = b(2n b + 1)/2.

In cazul n care memoram
matricea pe linii, elementul a
i,j
se va gasi n vectorul v pe pozit ia k = [1 +
2 + . . . + (i 1)] + j = i(i 1)/2 + j daca i b. Daca i > b, vom avea
1+2+. . . +b = b(b +1)/2 elemente pe primele b linii, apoi b(i b 1) elemente
5.1. Metode directe 137
pana la linia i 1 inclusiv si j (i b) elemente pe linia i, deci elementul a
i,j
se
va gasi pe pozit ia (b 1)i b(b 1)/2 +j.

In cazul matricelor mari care cont in
multe elemente nule n interiorul benzii, se pot folosi scheme adecvate care sa
memoreze numai elementele nenule.
Pentru memorarea unei matrice inferior triunghiulara este nevoie de un vec-
tor v de dimensiune 1 +2 +. . . +n = n(n +1)/2 elemente. Daca matricea este
pastrata pe linii, elementele ei sunt memorate n ordinea a
1,1
, a
2,1
, a
2,2
, a
3,1
,
a
3,2
, a
3,3
, a
4,1
. . . , elementul a
i,j
avand n vectorul v pozit ia i(i 1)/2 +j.
Pentru memorarea unei matrice rare oarecare exista mai multe tehnici dintre
care amintim: memorare prin identicare binara, memorare compacta aleatoare,
memorare compacta sistematica, memorare prin utilizarea adreselor nlant uite,
s.a. De regula, o tehnica de memorare care minimizeaza capacitatea de memorie
utilizata plateste pret ul unui timp mai mare de calcul si viceversa. Pentru exem-
plicare, prezentam pe scurt doua tehnici: memorare prin identicare binara si
memorare compacta sistematica. Vom folosi ca exemplu matricea
A =
_

_
a
1,1
0 a
1,3
0 0
0 0 0 0 0
0 0 a
3,3
0 a
3,5
a
4,1
0 0 a
4,4
0
_

_
. (5.87)
Matricea se memoreaza folosind doua zone: o zona primar a n care sunt memo-
rate elementele nenule ale matricei A si o zona secundara n care sunt pastrate
informat ii necesare gasirii rapide a acestora. Ambele tehnici folosesc o zona
primara reprezentata de vectorul
v = (a
1,1
, a
1,3
, a
3,3
, a
3,5
, a
4,1
, a
4,4
). (5.88)

In cazul memorarii prin identicare binara, zona secundara se bazeaza pe


natura binara a sistemului de calcul. Pentru ecare element a
i,j
al matricei A
se memoreaza o cifra binara: 0 daca a
i,j
= 0 si 1 daca a
i,j
,=0. Pentru matricea
(5.87), zona secundara va data de succesiunea de cifre binare
1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 .
Aceasta schema necesita calcule complicate (care sa permita accesul la bit)
pentru identicarea pozit iei elementelor matricei.

In cazul memorarii compacte sistematice, avem doua zone secundare, prima


n care se memoreaza indicii de coloana c
k
al elementului v
k
, iar cea de a doua
n care se memoreaza indicele de coloana f
i
al primului element nenul din e-
care linie. Pentru matricea (5.87) memorata n vectorul (5.88), cele doua zone
secundare sunt
c = (1, 3, 3, 5, 1, 4), f = (1, 3, 3, 1, 3) . (5.89)
Numarul de elemente nenule de pe linia i este dat de f
i+1
f
i
. Avem deci
3 1 = 2 elemente nenule pe prima linie, 3 3 = 0 elemente nenule pe linia
a doua, s.a.m.d. Schema prezentata nu este potrivita extragerii informat iilor
asupra coloanelor matricei A, dar se poate concepe o schema n acest sens.
138 5. Rezolvarea sistemelor liniare
5.2 Metode iterative
Metodele de eliminare comporta un numar de operat ii care creste la sistemele
mari, cu cubul numarului de ecuat ii din sistem, O(n
3
). Operat ii suplimentare
sunt cerute de cautarea pivot ilor, n vederea reducerii erorilor de rotunjire. Me-
todele iterative pot conduce la un numar mai mic de operat ii pe iterat ie. Daca
procedeul iterativ este sucient de rapid convergent se poate obt ine o economie
importanta de timp de calcul.

In plus, metodele iterative permit ment inerea
structurii init iale a unei matrice rare, rezultand un consum redus de memorie.
Principiul general al metodelor iterative poate prezentat prin analogie cu
metoda iterat iei simple (vezi 3.2.1) de rezolvare a ecuat iei F(x) = 0, n care
ecuat ia originala este transcrisa ca
x = f(x) , (5.90)
ce conduce la procedeul iterativ
x
k+1
= f(x
k
) . (5.91)

In cazul sistemelor liniare, Ax = b vom fort a o descompunere a matricei A


A = A+B B (5.92)
si vom scrie forma echivalenta a sistemului liniar init ial
Bx = c (B A)x +b . (5.93)
Analog iterat iei simple, vom considera relat ia (5.93) ca o procedura de obt inere a
unei aproximat ii mbunatat ite a solut iei sistemului x
(k+1)
, data ind o aproximat ie
init iala x
(k)
,
Bx
(k+1)
= (B A)x
(k)
+b . (5.94)
Descompunerea (5.92) se alege astfel ncat:
1. sirul aproximat iilor x
(k)

kN
sa e cat mai rapid convergent catre solut ia
sistemului Ax = b;
2. sistemul Bx = c sa e usor de rezolvat.
5.2.1 Metoda iterativa Jacobi
Metoda iterativa Jacobi foloseste descompunerea
A = D C , (5.95)
unde D este o matrice diagonala, ce trebuie sa e nesingulara det D ,= 0. Siste-
mul Ax = b devine
Dx = Cx +b x = D
1
C x +D
1
b, (5.96)
5.2. Metode iterative 139
si rezulta procesul iterativ
x
(k+1)
= Px
(k)
+d; P D
1
C; d D
1
b; k = 0, 1, . . . , (5.97)
pentru pornirea caruia este nevoie de specicare unei aproximat ii init iale x
(0)
.
Matricea P se numeste matricea rezolvanta a sistemului.
Matricea D poate chiar diagonala principala a matricei A, n care caz
exprimarea pe componente a procedeului este
x
(k+1)
i
= (b
i

i1

j=1
a
i,j
x
(k)
j

n

j=i+1
a
i,j
x
(k)
j
)/a
i,i
, i = 1, n, (5.98)
cu a
i,i
,= 0. O generalizare a procedeului consta n separarea elementelor de pe
diagonala principala a
i,i
= a

i,i
+a

i,i
, a

i,i
,= 0, rezultand procedeul
x
(k+1)
i
= (b
i
a

i,i
x
(k)
i

i1

j=1
a
i,j
x
(k)
j

n

j=i+1
a
i,j
x
(k)
j
)/a

i,i
, i = 1, n. (5.99)
Va trebui sa stabilim n ce condit ii sirurile (5.98) sau (5.99) converg spre
solut ia sistemului Ax = b. Pentru a determina o condit ie sucienta de convergent a,
vom nota cu x solut ia exacta si cu e
(k)
eroarea n aproximat ia k
e
(k)
= x x
(k)
. (5.100)
Facand diferent a ecuat iilor (5.96) si (5.97), se obt ine imediat
e
(k+1)
= Pe
(k)
(5.101)
sau, trecand la norme si notand cu e
(0)
eroarea init iala
_
_
_e
(k+1)
_
_
_ |P|
_
_
_e
(k)
_
_
_ |P|
2

_
_
_e
(k1)
_
_
_ . . . |P|
k

_
_
_e
(0)
_
_
_ . (5.102)

In consecint a, o condit ie sucienta de convergent a a procedeului iterativ Jacobi


este ca norma matricei rezolvante sa e subunitara
|P| 1 . (5.103)
Desigur, matricea rezolvanta P depinde de matricea D extrasa din A. Este
avantajos, prin urmare, sa facem descompunerea astfel ncat |P| sa e cat
mai mica.

In mod uzual, se extrage ntreaga diagonala a matricei A, adica
se utilizeaza sirul (5.98).

In acest caz, ndeplinirea oricareia dintre condit iile
urmatoare este sucienta pentru a asigura convergent a procedeului Jacobi:
(a) diagonal-dominant a matricei A pe linii
[a
i,i
[ >
i1

j=1
[a
i,j
[ +
n

j=i+1
[a
i,j
[ , i = 1, n; (5.104)
140 5. Rezolvarea sistemelor liniare
(b) diagonal-dominant a matricei A pe coloane
[a
j,j
[ >
j1

i=1
[a
i,j
[ +
n

i=j+1
[a
i,j
[ , j = 1, n; (5.105)
(c) satisfacerea relat iei
n

i=1
_
_
i1

j=1
(a
i,j
/a
i,i
)
2
+
n

j=I+1
(a
i,j
/a
i,i
)
2
_
_
< 1 . (5.106)
Condit iile (5.104-5.106) se obt in utilizand respectiv norma maxima, norma
1 si norma euclidiana pentru matricea rezolvanta P (vezi paragraful 5.4).
Procedeul Jacobi (5.98) se aplica prin algoritmul
i = 1 : n
_

_
daca [a
i,i
[ < atunci Termen diagonal practic nul; stop.
m 1/a
i,i
; b
i
mb
i
j = 1 : n
[daca i ,= j atunci a
i,j
ma
i,j
xvechi x
0
; k 0;
repeta
_

_
i = 1 : n
_

_
s b
i
j = 1 : n
[daca i ,= j atunci s s a
i,j
xvechi
j
xnou
i
s
AtinsPrecizie |xnou xvechi| (1 +|xnou|)
xvechi xnou; k k + 1
pana cand AtinsPrecizie sau k > k
max
(5.107)
Marimea este un numar mic, tipic epsilon masina, ce stabileste un prag pentru
elementele diagonale. Acolo unde se efectueaza operat ii identice asupra tutu-
ror elementelor unui vector nu vom mai transcrie explicit bucla de parcugere
a indicilor. Spre exemplu, prin xvechi xnou n algoritmul de mai sus se
subnt elege
j = 1 : n
[xvechi
j
xnou
j
.
. (5.108)
5.2.2 Metoda iterativa Gauss-Seidel

In aceasta metoda, ideea consta n a folosi noile valori ale componentelor vecto-
rului necunoscutelor x
(k+1)
imediat ce au fost calculate. Sirul de iterat ii (5.98)
se nlocuieste cu
x
(k+1)
i
= (b
i

i1

j=1
a
i,j
x
(k+1)
j

n

j=i+1
a
i,j
x
(k)
j
)/a
i,i
, i = 1, n. (5.109)
5.2. Metode iterative 141
Relat ia (5.109) corespunde la descompunerea matricei A ntr-o matrice diago-
nal a, nesingulara D, o matrice strict inferior triunghiulara T si o matrice strict
superior triunghiulara S
A = D T S . (5.110)
Matricele T, S au elementele diagonale nule. Procedeul iterativ este
Dx
(k+1)
= b +Tx
(k+1)
+Sx
(k)
x
(k+1)
= Px
(k)
+d , (5.111)
cu P (D T)
1
S, d (D T)
1
b. Condit ia de convergent a este, ca si la
metoda Jacobi, ca norma matricei rezolvante P sa e subunitara
|P| < 1
_
_
(D T)
1
S
_
_
< 1 . (5.112)
Evaluarea inversei (DT)
1
este costisitoare, necesitand O(n
3
/6) operat ii, ast-
fel ncat se cauta condit ii mai simple de convergent a a procedeului Gauss-Seidel.
Una dintre ele este: daca matricea A este diagonal-dominanta pe linii, (5.104),
atunci metoda Gauss-Seidel converge cel put in tot atat de rapid ca metoda Ja-
cobi. Pentru transcrierea acestei condit ii vom folosi urmatoarele notat ii
p
i

i1

j=1
[a
i,j
/a
i,i
[ , q
i

n

j=i+1
[a
i,j
/a
i,i
[ . (5.113)
Condit ia de diagonal-dominant a pe linii a matricei A revine la a scrie
r
i
p
i
+q
i
< 1, i = 1, n. (5.114)
Sa demonstram enunt ul anterior n aceste condit ii. Sistemul de ecuat ii Ax = b
se scrie sub forma
x
i
= (b
i

i1

j=1
a
i,j
x
j

n

j=i+1
a
i,j
x
j
)/a
i,i
, i = 1, n (5.115)
cu x
i
valorile exacte ale necunoscutelor si a
i,i
presupusi nenuli (a
i,i
,= 0). Facand
scaderea membru cu membru a sistemelor de egalitat i (5.115) si (5.109), se
obt ine
x
i
x
(k+1)
i
=
i1

j=1
a
i,j
a
i,i
(x
j
x
(k+1)
j
)
n

j=i+1
a
i,j
a
i,i
(x
j
x
(k)
j
) , (5.116)
sau, observand ca n (5.116) au aparut componentele vectorului eroare absoluta
si trecand la module

e
(k+1)
i


i1

j=1

a
i,j
a
i,i
e
(k+1)
j

+
n

j=i+1

a
i,j
a
i,i
e
(k)
j

(5.117)
142 5. Rezolvarea sistemelor liniare
Inegalitatea poate majorata n continuare, introducand norma maxima a vec-
torului eroare,
_
_
_e
(k)
_
_
_

= max
j

e
(k)
j

. (5.118)

In acest fel, utilizand si notat iile (5.113), se obt ine

e
(k+1)
i

p
i
_
_
_e
(k+1)
_
_
_

+q
i
_
_
_e
(k)
_
_
_

. (5.119)
Inegalitatea (5.119), ind adevarata pentru orice i = 1, n, este adevarata si
pentru acel i = i

pentru care [e
(k+1)
i
[ este maxim. Deci:
_
_
_e
(k+1)
_
_
_

p
i
_
_
_e
(k+1)
_
_
_

+q
i
_
_
_e
(k)
_
_
_

(5.120)
_
_
_e
(k+1)
_
_
_

i
1 p

i
_
_
_e
(k)
_
_
_

. (5.121)
Pe de alta parte, utilizand condit ia (5.114), rezulta
q

i
1 p

i
=
r

i
q

i
1 p

i
r

i
p

i
1 p

i
= r

i
< 1 . (5.122)
Deoarece, n cazul diagonal-dominant ei matricei A, cantitatea r = max
i
r
i
re-
prezinta tocmai norma maxima a matricei rezolvante a procedeului Jacobi,
(r |P
J
|) din (5.121) rezulta ca rata de micsorare a erorii de la o aproximat ie
la alta este mai mica sau cel mult egala cu r, adica procedeul Gauss-Seidel
converge cel put in tot atat de rapid ca procedeul Jacobi.
Pentru aplicat ii se recomanda ca, n cazul cand matricea A este dominanta
pe linii, sa se ia startul cu ecuat ia i = i
1
din (5.109) n care se realizeaza
dominant a maxima a elementului diagonal. Prima necunoscuta calculata va
x
i1
.

In acest fel, se realizeaza reducerea maxima a erorii la start, deoarece
p
i1
= 0, q
i1
= r
i1
= minim. (5.123)

In continuare, pot ordonate celelalte ecuat ii dupa gradul de dominant a a


elementelor diagonale.

In cazul cand matricea are elementele dominante pe
coloane (5.105), procedeul Gauss-Seidel este de asemenea convergent.
Exista si alte condit ii n care procedeul este convergent. Un alt criteriu,
important pentru aplicat ii, este ca iterat ia Gauss-Seidel este convergenta daca
matricea A este simetrica si pozitiv denita.
5.2. Metode iterative 143
Algoritmul pentru procedeul Gauss-Seidel este
xvechi x
0
; xnou x
0
; k 0;
repeta
_

_
i = 1 : n
_

_
s b
i
j = 1 : n
[daca i ,= j atunci s s a
i,j
xnou
j
xnou
i
s
AtinsPrecizie |xnou xvechi| (1 +|xnou|)
xvechi xnou; k k + 1
pana cand AtinsPrecizie sau k > k
max
.
(5.124)
Se observa asemanarea cu algoritmul pentru metoda Jacobi (5.107). Ca si n acel
algoritm s-a considerat ca liniile matricei A si ale vectorului b au fost mpart ite
la termenii de pe diagonala.Vectorul xvechi este utilizat numai n condit ia de
stabilire a convergent ei.
5.2.3 Accelerarea convergent ei metodelor iterative
Accelerarea convergent ei procedeelor iterative este posibila daca avem informa-
t ii privind valorile proprii ale matricei rezolvante.

Intr-adevar, condit ia necesara
si sucienta pentru ca orice metoda iterativa sa e convergenta este
(P) = max
i
[
i
[ < 1 (5.125)
unde
i
, i = 1, n sunt valorile proprii ale matricei P. Valoarea proprie maxima
n modul este numita raza spectrala si se noteaza cu (P). Dicultatea aplicarii
acestui criteriu consta n faptul ca, n general, problema determinarii valorilor
proprii ale unei matrice este mai complicata decat problema rezolvarii sistemu-
lui Ax = b. De aceea, se cauta obt inerea unor metode de accelerare care sa
ocoleasca problema determinarii valorilor proprii, utilizand informat ii minime.
Vom da doua exemple.
Cazul matricelor pozitiv denite.
Exista sisteme ale caror matrice A sunt cunoscute ca ind pozitiv denite (de
obicei si simetrice), adica avand valorile proprii pozitive. Fie m cea mai mica si
M cea mai mare valoare proprie (M > m > 0). Aceste valori (vezi Cap. 6) se
determina mai usor.
Se deneste sirul de iterat ii
x
(k+1)
= x
(k)
+(b Ax
(k)
) = (I A)x
(k)
+b , (5.126)
care aminteste de tehnica folosita pentru accelerarea convergent ei iterat iei sim-
ple (3.19). Matricea rezolvanta este
P = I A, (P) = 1 (A) (5.127)
144 5. Rezolvarea sistemelor liniare
avand valorile proprii (P) funct ii de parametrul de accelerare . Valoarea
minima a lui max [(P)[ se obt ine pentru
=
2
m+M
, (P) =
M m
M +m
< 1 (5.128)
si este subunitara pentru orice M, m > 0. Se observa important a raportului
M/m pentru convergent a procedeului iterativ. Acest raport reprezinta o evalu-
are a numarului de condit ionare al matricei A, notat (A).
Accelerarea convergent ei procedeului Gauss-Seidel.
Sirul iterativ (5.126) se poate generaliza introducand o matrice B, usor inver-
sabila, astfel ncat
x
(k+1)
= x
(k)
+B(b Ax
(k)
) = (I BA)x
(k)
+Bb . (5.129)
Matricea B si parametrul se aleg astfel ncat matricea rezolvanta a sistemului
(5.129),
P = I BA, (5.130)
sa aiba o raza spectrala (P) cat mai mica. Se observa ca, n cazul procedeului
Jacobi (5.97), se obt ine = 1 si B = D
1
. Din punctul de vedere al aplicat iilor,
este util sa observam ca procedeele de accelerare a iterat iilor iaun calcul o parte
convenabila din elementul de pe diagonala principala (vezi 5.99). Spre exemplu,
n cazul metodei Gauss-Seidel sirul de iterat ii (5.109) se nlocuieste prin
x
(k+1)
i
= (1 )x
(k)
i
+(b
i

i1

j=1
a
i,j
x
(k+1)
j

n

j=i+1
a
i,j
x
(k)
j
)/a
i,i
(5.131)
pentru i = 1, n. Din punct de vedere matriceal, (5.131) este echivalenta cu
descompunerea matricei A sub forma
A =
1
D (
1
1)D T S . (5.132)
Comparand (5.132) cu (5.110) se observa ca singura modicare este reampar-
t irea diagonalei matricei A, o operat ie put in costisitoare. Sirul iterativ va
denit acum sub forma
Dx
(k+1)
= (1 )Dx
(k)
+(Tx
(k+1)
+Sx
(k)
+b) , (5.133)
de unde, prin nmult ire cu D
1
, se obt ine
x
(k+1)
= (1 )x
(k)
+D
1
(Tx
(k+1)
+Sx
(k)
+b) , (5.134)
expresie echivalenta cu (5.131). Explicitand x
(k+1)
din (5.134) se obt ine
x
(k+1)
= (I D
1
T)
1
_
(1 )I +D
1
S

x
(k+1)
(5.135)
+(I D
1
T)
1
D
1
b ,
5.3. Comparat ii ntre metode 145
matricea rezolvanta avand expresia
P = (D T)
1
[(1 )D +S] . (5.136)
Pentru = 1, din (5.136) se regaseste matricea rezolvanta a metodei Gauss-
Seidel standard. O condit ie necesara de convergent a a sirului iterativ (5.135)
este ca produsul valorilor proprii n modul sa e subunitar.

In acest fel se obt ine
intervalul de valori ale parametrului de accelerare
0 < < 2 . (5.137)
Metodele care utilizeaza 0 < < 1 se numesc metode de subrelaxare, iar meto-
dele cu 1 < < 2 se numesc metode de suprarelaxare.

In lipsa altor informat ii
privind valorile proprii ale matricei P, parametrul se alege prin ncercari.
5.3 Comparat ii ntre metode
Am prezentat o serie de algoritmi din cele doua clase mari de metode: de
eliminare si iterative. Sa efectuam acum o comparat ie ntre cele doua clase
de metode.
Ca numar de operat ii.
Oricare din metodele iterative prezentate necesita O(n
2
) operat ii aritmetice per
iterat ie. Prin urmare, metodele iterative devin avantajoase daca numarul k de
iterat ii nu este prea mare. Spre exemplu, o comparat ie cu metoda de eliminare
Gauss conduce la concluzia ca, pentru a avea un numar apropiat de operat ii,
este necesar ca numarul de iterat ii k sa satisfaca inegalitatea
k 1 +n/3

= n/3 . (5.138)
Inegalitatea (5.138) este cu atat mai usor de satisfacut cu cat numarul de ecuat ii
n este mai mare. Practic, condit ia (5.138) se realizeaza pentru n & 50.
Ca propagare a erorilor.
Metodele iterative sunt, n general, mai avantajoase, deoarece erorile sunt di-
minuate la ecare pas prin nmult irea cu norma matricei rezolvante, care este
subunitara ( |P| < 1). De fapt, rata de diminuare a erorii corespunde razei
spectrale a matricei rezolvante. Totodata, la ecare iterat ie se introduc erori de
rotunjire.
Sa consideram ca dorim sa obt inem un rezultat cu q zecimale exacte.

In
acest scop sunt necesare k iterat ii, astfel ncat, n absent a erorilor de rotunjire,
se obt ine (vezi 5.102)
_
_
_e
(k)
_
_
_ |P|
k

_
_
_e
(0)
_
_
_ 10
q
, (5.139)
146 5. Rezolvarea sistemelor liniare
e
(0)
ind eroarea de start. Logaritmand a doua inegalitate n baza 10, rezulta
k lg |P| + lg
_
_
_e
(0)
_
_
_ q . (5.140)
Prin urmare, se obt ine o condit ie pentru numarul de iterat ii k
k
_
q + lg
_
_
_e
(0)
_
_
_
_
/ lg |P| , |P| < 1 . (5.141)
Rezulta c a numarul de iterat ii necesar creste cu precizia impusa q, cu eroarea
init iala e
(0)
si scade cu lg |P|. Daca se adauga si efectul erorilor de rotunjire,
marginea (5.141) trebuie majorata.
Deoarece e
(0)
nu se cunoaste, se pot utiliza evaluari obt inute cu ajutorul
unor prime iterat ii.

Intr-adevar, din inegalitatea (5.139) se poate obt ine
_
_
_e
(k)
_
_
_

1
_
_
_x
(k)
x
(k1)
_
_
_

k
1
_
_
_x
(1)
x
(0)
_
_
_ 10
q
, (5.142)
cu |P| . Pentru procedeul Jacobi, |P| este usor de calculat. Pentru pro-
cedeul Gauss-Seidel, n cazul matricei diagonal-dominante pe linii se ia (vezi si
5.121)
= max
i
q
i
1 p
i
(5.143)
ceea ce corespunde la folosirea normei ||

pentru eroare.

In acest fel se obt ine
o evaluare a numarului de iterat ii n funct ie de prima aproximat ie x
(1)
k
_
q + lg
_
_
_x
(1)
x
(0)
_
_
_ lg |1 |
_
/ lg . (5.144)
5.4 Elemente de calcul matriceal
Asa cum s-a vazut, n rezolvarea sistemelor de ecuat ii (dar nu numai aici) in-
tervin operat ii cu matrice, ndeosebi matrice patrate. Operam de multe ori cu
matrice, chiar cand acest lucru nu apare n mod explicit, asa cu se ntampla
spre exemplu n cazul eliminarii unor necunoscute din ecuat iile sistemului.
Presupunem cunoscute operat iile de adunare si nmult ire ale matricelor.
Amintim doar ca adunarea este denita pentru matrice de acelasi tip (cu acelasi
numar de linii si coloane) si ca, la nmult irea de matrice, numarul de coloane
ale matricei din stanga trebuie sa e egal cu num arul de linii ale matricei din
dreapta. Aceasta condit ie se realizeaza ntotdeauna pentru matricele patrate de
aceeasi dimensiune. Produsul matricelor nu este comutativ.
Fie A o matrice patrata de dimensiuni n n. Matricea obt inuta prin
nmult irea lui A cu ea nsasi de k ori este tot o matrice patrata si se noteaza
cu A
k
. Prin analogie cu puterile scalarilor, prin A
0
se nt elege matricea unitate
I, o matrice patrata de dimensiune n. Cu puterile matricelor patrate se pot
construi polinoame de matrice, n mod asemanator cu cazul scalarilor.
5.4. Elemente de calcul matriceal 147
Matricele pot nmult ite (la dreapta sau la stanga) cu vectori (coloana sau
linie) de dimensiuni corespunzatoare, rezultatul ind un vector. Ca urmare, o
matrice poate privita si ca un operator (funct ie sau aplicat ie) denit pe un
spat iu vectorial cu valori care reprezinta, de asemenea, elementele unui spat iu
vectorial (de dimensiune nita).
Ca si n cazul vectorilor, compararea matricelor (ntr-un anumit sens) cu
numere reale se poate face introducand norme de matrice. Norma unei matrice
oarecare A se noteaza cu |A| si ndeplineste axiomele generale ale normelor
1. |A| > 0;
2. |A| = [[ |A| cu C;
3. |A+B| |A| +|B|.
Din acestea mai rezulta
|AB| |A| |B| . (5.145)
Daca x este un vector asupra caruia opereaza matricea A, atunci normele |A|
si |x| sunt compatibile daca are loc inegalitatea
|Ax| |A| |x| . (5.146)
Se poate arata ca inegalitat ile (5.145) si (5.146) se pot deduce din condit iile im-
puse normelor operatorilor liniari si continui pe spat ii vectoriale de dimensiune
nita (vezi si 1.4.3). Printre normele de matrice des utilizate care ndeplinesc
condit iile impuse se numara:
1. norma maxima
|A|

= sup
i

j
[a
i,j
[ , (5.147)
data de suma maxima a modulelor elementelor matricei, pe linii;
2. norma unu
|A|
1
= sup
j

i
[a
i,j
[ , (5.148)
data de suma maxima a modulelor elementelor matricei, pe coloane;
3. norma euclidiana
|A|
E
=
_
_

i,j
[a
i,j
[
2
_
_
1/2
; (5.149)
148 5. Rezolvarea sistemelor liniare
4. norma spectrala
|A|
2
= ((A

A))
1/2
, (5.150)
adica raza spectrala a matricei produs A

A, cu A

matricea adjuncta a
lui A, care se obt ine prin transpunerea si conjugarea complexa a matricei
A
A

=

A
T
. (5.151)
Pentru vectori se utilizeaza normele precizate n (1.105). Normele de matrice
sunt compatibile cu normele vectoriale de acelasi indice.

In particular, norma
spectrala |A|
2
este compatibila cu norma euclidiana a vectorului x. Daca vec-
torul x are componente complexe norma sa euclidiana este denita de
|x|
2
=
_
(x, x) =
n

i=1
x
i
x
i
. (5.152)
Produsul scalar a doi vectori ce au componente complexe este denit ca
x y = (x, y) =
n

i=1
x
i
y
i
(5.153)
si are proprietat ile
(x, y) = (y, x), (x, y) = (x, y), (x, y) =

(x, y). (5.154)
Un sir de matrice A
n
este convergent daca sirurile a
i,j

n
sunt convergente.
Limitele acestor siruri formeaza o matrice A care este, prin denit ie, limita
sirului de matrice A
n
.

In acest fel, convergent a sirului de matrice s-a redus
la convergent a sirurilor de numere.

In mod similar, se introduce convergent a
sirurilor de vectori. O condit ie sucienta pentru convergent a seriei matriceale
S =

n=0
A
n
(5.155)
este ca norma matricei A sa e subunitara, |A| > 1.

In acest caz se obt ine
suma seriei
S = (I A)
1
, (5.156)
egal a cu inversa matricei I A. Se observa analogia cu seria geometrica de
numere. Din (5.156) se obt ine, trecand la norme, o inegalitate importanta
_
_
(I A)
1
_
_

n=0
|A|
n
= (1 |A|)
1
. (5.157)
5.4. Elemente de calcul matriceal 149
Condit ia necesara si sucienta pentru ca seria (5.155) sa e convergenta este ca
toate valorile proprii
i
ale matricei A sa e subunitare n modul, adica raza
spectrala (A) a matricei A sa e subunitara
(A) = max
i
[
i
[ < 1 . (5.158)
Deoarece orice procedeu iterativ este de forma
x
(k+1)
= Px
(k)
+d , (5.159)
unde P este matricea rezolvanta, rezulta ca
x
(k+1)
= (I +P +P
2
+. . . +P
k
)d +P
k+1
x
(0)
. (5.160)
Deoarece vectorii d si x
(0)
sunt arbitrari, pentru ca procedeul iterativ sa e
convergent, trebuie ca seria de matrice sa e convergenta, deci ca raza spectrala
a matricei P sa e subunitara, (P) < 1.
150 5. Rezolvarea sistemelor liniare
151
Capitolul 6
Vectori si valori proprii
6.1 Elemente introductive
Fie A o matrice patrata, de dimensiuni n n. Se numeste valoare proprie o
marime scalara care satisface relat ia
Ax = x, (6.1)
vectorul x ind vectorul propriu corespunzator valorii proprii . Sistemul de
ecuat ii liniare (6.1) se poate scrie (A I)x = 0, deci este omogen si admite o
solut ie nenula daca si numai daca determinantul sistemului este nul
P() det(AI) = 0 . (6.2)
Polinomul de gradul n, P() se numeste polinomul caracteristic al matricei A iar
ecuat ia (6.2) se numeste ecuat ie caracteristica. Conform teoremei fundamentale
a algebrei exista n valori proprii care sunt tocmai radacinile polinomului carac-
teristic. Mult imea valorilor proprii se numeste spectrul matricei A si se noteaza
152 6. Vectori s i valori proprii
cu spec(A). Vectorii proprii, ca solut ii ale unor sisteme de ecuat ii omogene, sunt
determinat i p ana la o constanta multiplicativa. Gasirea valorilor si vectorilor
proprii prezinta o important a practica deosebita pentru rezolvarea sistemelor
de ecuat ii diferent iale liniare, pentru studiul stabilitat ii miscarilor mecanice sau
de alta natura, inclusiv pentru studiul stabilitat ii diverselor metode numerice.
Trebuie remarcat nsa ca determinarea practica a valorilor si vectorilor proprii
nu se face, n general, plecand de la construirea polinomului caracteristic, de-
oarece mici abateri n valorile coecient ilor acestui polinom conduc la abateri
mari n valorile solut iilor (se spune ca problema rezolvarii ecuat iei caracteristice
este rau condit ionata). Ca urmare, procedeele care determina valorile proprii
prin construirea polinomului caracteristic sunt limitate la matrice de dimensiuni
mici (n 10) unde erorile de rotunjire introduse nu sunt importante.
Vom da n continuare o serie de procedee, precizand avantajele si limitele lor
de aplicabilitate. Ne vom limita, n general, la cazul matricelor reale.
6.2 Metode pentru cateva valori proprii
Metodele numerice pentru rezolvarea problemei Ax = x se pot clasica n
metode ce urmaresc determinarea tuturor valorilor proprii si n metode ce de-
termina doar cateva dintre valorile proprii. Ne ndreptam mai ntai atent ia
asupra celei de-a doua clase de metode. Prezinta un interes deosebit n aplicat ii
determinarea valorilor proprii extremale, care delimiteaza spectrul matricei A.
De aici si marea varietate de metode concepute pentru a determina valorile pro-
prii cele mai mari sau mai mici. Vom considera cateva dintre metodele cele mai
folosite.
6.2.1 Metoda puterii directe
Metoda puterii directe permite determinarea valorii proprii de modul maxim,
n ipoteza ca vectorii proprii ai matricei formeaza o baza, adica sunt liniar
independent i. Acest lucru se ntampla ntotdeana cand valorile proprii sunt
distincte. Daca exista valori multiple, atunci vectorii proprii pot sau nu sa
e liniar independent i. Spre exemplu, matricea unitate I are toate valorile
proprii egale (
i
= 1, i = 1, n), dar vectorii proprii sunt liniar independent i. Se
considera un vector y cunoscut, de obicei de forma cat mai simpla. In ipoteza
ca vectorii proprii x
i
, i = 1, n, ai matricei A formeaza o baza, putem scrie
y =
n

i=1
c
i
x
(i)
, (6.3)
unde c
i
sunt scalari.
Cazul valorilor proprii reale.
Valorile proprii, reale
i
, i = 1, n se pot ordona sub forma
[
1
[ > [
2
[ . . . [
n
[ (6.4)
6.2. Metode pentru cateva valori proprii 153
astfel ncat valoarea proprie
1
este cea mai mare dintre ele n modul.

Inmult ind
repetat vectorul y cu matricea A si utilizand relat ia (6.1), se obt ine
z
(1)
= Ay =
n

i=1
c
i
Ax
(i)
=
n

i=1
c
i

i
x
(i)
(6.5)
(6.6)
z
(k)
= A
k
y = Az
(k1)
=
n

i=1
c
i

k
i
x
(i)
=
k
1
_
c
1
x
(1)
+O
_

k
2
/
k
1
_
_
(6.7)
z
(k+1)
= A
k+1
y =
n

i=1
c
i

k+1
i
x
(i)
=
k+1
1
_
c
1
x
(1)
+O
_

k+1
2
/
k+1
1
_
_
. (6.8)
Pentru k sucient de mare termenii de ordinul (
2
/
1
)
k
devin neglijabili, astfel
ncat putem aproxima
z
(k)

=
k
1
c
1
x
(1)
, z
(k+1)

=
k+1
1
c
1
x
(1)
. (6.9)
Prin urmare, luand o componenta de indice i a vectorilor z
(k)
si z
(k+1)
, se obt ine
valoarea proprie de modul maxim

1

= z
(k+1)
i
/z
(k)
i
. (6.10)
O estimare mbunatat ita a valorii proprii este furnizata de raportul Rayleigh

1

=
_
z
(k)
_
T
z
(k+1)
/
_
z
(k)
_
T
z
(k)
=
_
z
(k)
_
T
Az
(k)
/
_
z
(k)
_
T
z
(k)
. (6.11)

In ceea ce priveste vectorul propriu corespunzator x


(1)
, acesta are direct ia
z
(k+1)
. Practic, vectorul y se alege sub forme ca: y = (1, 0, . . . ), y = (1, 1, . . . )
sau alte forme convenabile, deci coecient ii c
i
nu trebuie cunoscut i efectiv,
condit iile de aplicabilitate ale procedeului (vectori proprii liniar independent i, c
1
,=
0) vericandu-se prin comportarea sirurilor z
(k+1)
i
/z
(k)
i
, 1, n. Daca aceste siruri
par convergente, ncepand cu anumit k, si tind spre aceasi valoare (care repre-
zinta, la limita, valoarea proprie
1
) atunci se poate trage concluzia ca procedeul
este aplicabil. Pentru reducerea erorilor de rotunjire se recomanda normarea
prin mpart ire cu
_
_
z
(k)
_
_
, n ecare etapa. Daca nu exista o singur a valoare
proprie reala de modul maxim, spre exemplu daca
[
1
[ = [
2
[ > [
3
[ . . . [
n
[ , (6.12)
atunci dupa k iterat ii se obt ine
z
(k)

=
k
1
_
c
1
x
(1)
+c
2
x
(2)
_
, z
(k+1)

=
k+1
1
_
c
1
x
(1)
+c
2
x
(2)
_
, (6.13)
termenii neglijat i ind de ordinul (
3
/
1
)
k
. Se observa ca valoarea proprie se
poate calcula ca si pana acum, din (6.10); n schimb vectorii proprii x
(1)
si x
(2)
154 6. Vectori s i valori proprii
intra n combinat ie liniara, cu cel put in unul dintre coecient ii c
1
, c
2
nenul. Se
poate scrie nsa Ax
(1)
=
1
x
(1)
, Ax
(2)
=
1
x
(2)
de unde se deduce imediat ca

1
_

k
1
_
c
1
x
(1)
+c
2
x
(2)
__
= A
_

k
1
_
c
1
x
(1)
+c
2
x
(2)
__
, (6.14)
adica z
(k)
este de asemenea un vector propriu corespunzator valorii
1
. Un
al doilea vector propriu liniar independent de z
(k)
se va gasi n mod similar,
repetand procedeul pentru un alt vector y
(1)
, liniar independent de y. Viteza
de convergent a a procedeului depinde de modulul raportului
3
/
1
.
Cazul valorilor proprii complex conjugate.
Presupunem ca valorile proprii de modul maxim
1
,
2
sunt complex conjugate

1
=

2
, [
1
[ = [
2
[ > [
3
[ . . . [
n
[ , (6.15)
si ca vectorii proprii x
i
, i = 1, n sunt liniar independent i. Vom observa, mai
ntai, ca vectorii proprii x
(1)
si x
(2)
sunt de asemenea complex conjugat i, asa
cum rezulta imediat din relat ia de denit ie (6.1) pentru matrice reale. Metoda
se aplica similar cu cazul valorilor proprii reale dar necesita utilizarea rezulta-
telor din mai multe iterat ii succesive daca dorim evitarea lucrului cu variabile
complexe. In iterat ia k se obt ine
z
(k)
=
k
1
_
c
1
x
(1)
+

k
1
/
k
1
c
2
x
(2)
+O
_

k
3
/
k
1
_
_
, x
(2)
= x
(1)
, c
2
= c
1
. (6.16)
Ultima egalitate se obt ine t inand cont ca s-a plecat cu un vector real y. Se cauta
o modalitate de a exprima cantitat ile reale
1
+
1
,
1

1
funct ie de marimile dis-
ponibile pe parcursul iterat iilor. Pentru k sucient de mare se obt in combinat iile
u
ki
z
(k+1)
i
z
(k1)
i
(z
(k)
i
)
2
=

c
i
x
(1)
i

2
(
1

1
)
k1
(
1

1
)
2
, (6.17)
v
ki
z
(k+2)
i
z
(k1)
i
z
(k+1)
i
z
(k)
i
= u
ki
(
1
+
1
) , (6.18)
de pe o componenta i oarecare. Din relat iile (6.17-6.18) se obt in valorile proprii,
observand ca

1
+
1
= v
ki
/u
ki
+O(
k
3
/
k
1
),
1

1
= u
k+1,i
/u
k
+O(
k
3
/
k
1
) . (6.19)
Notand
1
a +ib, rezulta
a = v
ki
/2u
ki
, a
2
+b
2
= u
k+1,i
/u
ki
. (6.20)

In ceea ce priveste vectorul propriu corespunz ator, x


(1)
se poate proceda n
felul urmator: vectorul propriu ind determinat pan a la o constanta multipli-
cativa, putem lua aceasta constanta egala cu c
1
, astfel ncat
c
1
x
(1)
i
=
i
e
i1
, i = 1, n. (6.21)
6.2. Metode pentru cateva valori proprii 155
Notand apoi cu argumentul numarului complex
1
din (6.16) se deduce
z
(k)
i
=
k
1
c
1
x
(1)
+
k
1
c
1
x
(1)
= 2 [
1
[
k
cos(
i
+), i = 1, n, (6.22)
iar din (6.17) se obt ine
u
ki
= 4 [
1
[
2k

2
i
sin
2
< 0 . (6.23)
Putem acuma deduce necunoscutele
i
,
i

i
=

u
ki
/2 [[
k
sin , cos(
i
+) = z
k
i
sin /

u
ki
. (6.24)
Exemplu. Sa se determine valoarea proprie de modul maxim a matricei
A =
_
_
1 2 3
2 1 2
3 2 1
_
_
Rezolvare. Deoarece matricea A este simetrica, toate valorile proprii sunt reale.
Pentru aarea valorii proprii de modul maxim vom aplica metoda puterii pornind cu
vectorul y = (1, 0, 0)
T
. Primele cateva iterat ii sunt redate n tabelul de mai jos. S-au
utilizat notat iile
r
(k)
i
= z
(k+1)
i
/zi (6.25)
iar R este raportul Rayleigh.
k z
(k)
1
z
(k)
2
z
(k)
2
r
(k)
1
r
(k)
2
r
(k)
3
R
2 14 10 10 4.571 5.800 7.200 5.5455
3 64 58 72
5 2196 1882 2228 5.758 5.701 5.646 5.7013
6 12644 10730 12580
Valorile proprii ale matricei sunt 1 = 5.701562, 2 = 2, 3 = 0.01562. Se
observa obt inerea primelor 4 cifre semnicative dupa circa 6 iterat ii. O estimare mai
buna a valorii proprii este furnizata de raportul Rayleigh. Aceasta comportare este
caracteristica pentru matricele simetrice, unde raportul Rayleigh tinde catre valoarea
proprie conform
_
z
(k)
_
T
z
(k+1)
/
_
z
(k)
_
T
z
(k)
= 1 + O
_

2k
1
/
2k
2
_
.
De asemenea, se observa cresterea rapida a componentelor vectorului z
(k)
pe masura
ce k creste. De aceea se recomanda mpart irea la norma vectorului la ecare iterat ie.
6.2.2 Metoda puterii inverse
Este utilizata pentru a gasi cea mai mica valoare proprie n modul, diferita de
zero.

In aceste condit ii, matricea A este nesingulara si A
1
exista. Notand cu

1
aceasta valoare proprie de modul minim, se scrie
0 < [
1
[ < [
2
[ . . . [
n
[ . (6.26)
156 6. Vectori s i valori proprii
Din Ax = x se obt ine
x = A
1
x A
1
x =
1
x, (6.27)
sau ca matricea inversa are valorile proprii 1/. Prin urmare, 1/
1
este valoarea
proprie de modul maxim a matricei A
1
si se poate aplica metoda puterii directe
acestei matrice, n ipoteza ca vectorii proprii formeaza o baza. Plecand de la un
vector init ial arbitrar y = z
(0)
, se formeaza sirul
z
(k+1)
= A
1
z
(k)
, k = 0, 1, . . . . (6.28)
Practic, nu se calculeaza inversa matricei A, deoarece este mai economica rezol-
varea repetata a sistemului de ecuat ii
Az
(k+1)
= z
(k)
, (6.29)
prin eliminare gaussiana de exemplu. Mai departe, toate considerat iile de la
metoda puterii directe sunt aplicabile si n acest caz.
6.2.3 Metoda deplasarii
Se bazeaza pe observat ia ca, daca matricea A are valoarea proprie atunci
matricea A qI, unde q este un scalar, are valoarea proprie q . Scalarul
q reprezint a tocmai deplasarea si poate utilizat pentru a gasi si alte valori
proprii decat cele maxime sau minime n modul. Spre exemplu, daca am gasit
valoarea de modul maxim
1
(folosind metoda puterii directe), atunci valoarea
proprie cea mai departata de
1
, e aceasta
j
, va avea proprietatea
[
j

1
[ = sup
i=1,n
[
j

1
[ . (6.30)

In consecint a, metoda puterii directe aplicata matricei A


1
I ne va conduce
la valoarea proprie
j
.
Metoda deplasarii originii poate folosita n combinat ie cu metoda puterii
inverse atunci cand cunoastem aproximativ valoarea proprie

= .

In aceste
condit ii matricea AI are o valoare proprie mica, n modul, deci sirul similar
cu (6.29)
(AI)z
(k+1)
= z
(k)
(6.31)
va converge rapid, furnizand valoarea exacta .
6.3 Determinarea tuturor valorilor si vectorilor
proprii
Metodele prezentate pana n prezent, desi foarte simple, permit determinarea
numai a unor valori proprii particulare, ind limitate si de condit ia ca vectorii
6.4. Metoda Danilevschi 157
proprii sa formeze un sistem liniar independent. Metodele mai generale, care
permit determinarea tuturor valorilor si vectorilor proprii, se bazeaza, n esent a,
pe aducerea matricei la o forma particulara prin transformari similare.
Doua matrice patrate A si B de dimensiune n se numesc matrice asemenea
(sau similare), daca exista o matrice P, inversabila, astfel ncat au loc relat iile
B = PAP
1
, A = P
1
BP . (6.32)
Doua matrice asemenea au aceleasi valori proprii.

Intr-adevar, daca este o
valoare proprie a matricei A, adica Ax = x cu x ,= 0, t inand cont de relat iile
(6.32) se obt ine
P
1
BPx = x B(Px) = (Px), (6.33)
adica matricea B are aceleasi valori proprii ca si A.

In plus, daca pentru o
valoare proprie matricea A are vectorul propriu x, atunci pentru matricea B
vectorul propriu corespunzator lui este
y = Px, (6.34)
adica se obt ine din vectorul x prin nmult ire cu matricea P de premultiplicare.
Este de dorit ca transformarile similare specicate prin matricele P, P
1
cu care nmult im matricea A, sa conduca la matrice B simple, avand valorile
proprii si vectorii proprii usor de determinat. Exista mai multe astfel de forme
simple. Prima pe care o vom considera n cele ce urmeaza este forma Frobenius
utlizata n metoda Danilevschi. Apoi vom prezenta algoritmii LR si QR de
aducere a matricei A la forma triunghiulara.
6.4 Metoda Danilevschi
Aceasta metoda aduce matricea A la forma
F =
_

_
p
1
p
2
. . . p
n1
p
n
1 0 . . . 0 0
0 1 . . . 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1 0
_

_
, (6.35)
denumita forma Frobenius, prin transformari similare. Avantajul formei Frobe-
nius este obt inerea imediata a ecuat iei caracteristice a matricei
(1)
n
det(F I) =
n

i=1
p
i

ni
= 0 . (6.36)
Vom deduce relat ia (6.36) pe o cale care sa permita totodata si construirea
vectorilor proprii y ai matricei F.

In acest scop, vom scrie, conform denit iei
158 6. Vectori s i valori proprii
(6.1), egalitatea Fy = y, adica
_

_
p
1
p
2
. . . p
n1
p
n
1 0 . . . 0 0
0 1 . . . 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 1 0
_

_
y
1
y
2
y
3
.
.
.
y
n
_

_
=
_

_
y
1
y
2
y
3
.
.
.
y
n
_

_
. (6.37)
Operand de la ultima linie catre prima, se obt ine
y
nj
= y
nj+1
, (6.38)
pentru j = 1, n 1, si
n

i=1
p
i
y
i
= y
i
. (6.39)
Exprimand componentele y
1
, y
2
, . . . , y
n1
n funct ie de y
n
, din ecuat iile (6.38)
rezulta
y
n1
= y
n
, y
n2
=
2
y
n
, . . . , y
1
=
n1
y
n
. (6.40)

Inlocuind n (6.39), rezulta


y
n
_

i=1
p
i

ni
_
= 0 . (6.41)
Deoarece y
n
,= 0 (altfel toate componentele vectorului y ar nule), din (6.41)
se obt ine tocmai ecuat ia caracteristica (6.36). Luand y
n
= 1, vectorul propriu
y are expresia
y = (
n1
,
n2
, . . . , , 1)
T
. (6.42)

In concluzie, vectorii proprii ai matricei Frobenius se construiesc cu ajutorul


puterilor valorii proprii, adica pot determinat i imediat ce au fost determinate
valorile proprii. Aceasta proprietate remarcabila pune n evident a si anumite
limitari ale formei Frobenius. Astfel, daca valorile proprii sunt multiple, vecto-
rii corespunzatori ai unei matrice Frobenius nu pot decat liniar dependent i.
Aceasta proprietate nu este nsa general valabila pentru orice matrice. Spre
exemplu, matricea unitate are toate valorile proprii egale, n timp ce vectorii
proprii sunt tot i liniar independent i. Concluzia este c a forma Frobenius nu este
sucient de generala, adica nu orice matrice poate adusa la aceasta form a prin
transformari similare. Totusi, o matrice oarecare A ar putea descompusa n
blocuri, dintre care cele corespunzatoare valorilor proprii distincte, ar blocuri
Frobenius.
6.4. Metoda Danilevschi 159

In metoda Danilevschi aducerea la forma Frobenius a unei matrice patrate


A se face ncepand cu ultima linie, dupa schema
_

_
a
1,1
a
1,2
. . . a
1,n1
a
1,n
a
2,1
a
2,2
. . . a
2,n1
a
2,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n1,1
a
n1,2
. . . a
n1,n1
a
n1,n
a
n,1
a
n,2
. . . a
n,n1
a
n,n
_

_
(6.43)

_
a
(1)
1,1
a
(1)
1,2
. . . a
(1)
1,n1
a
(1)
1,n
a
(1)
2,1
a
(1)
2,2
. . . a
(1)
2,n1
a
(1)
2,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
(1)
n1,1
a
(1)
n1,2
a
(1)
n1,n1
a
(1)
n1,n
0 0 . . . 1 0
_

_
. (6.44)
S-a presupus a
n
,
n1
,= 0 si s-au eliminat celelalte elemente din linia a n-a. Daca
a
n,n1
= 0, se folosesc permutari de coloane. Mai mult, permutarile de coloane
sunt indicate pentru a avea elemente a
n,n1
cat mai mari n modul, n vederea
reducerii erorilor de rotunjire. Prin urmare, se recomanda utilizarea pivot ilor
(totali sau part iali), analog cu eliminarea gaussiana. Pentru schema (6.43), s-au
folosit multiplicatorii
m
n1,j
= a
n,j
/a
n,n1
pentru j ,= n 1, m
n1,n1
= 1/a
n,n1
. (6.45)
Se observa ca indicii multiplicatorilor se aleg dintre indicii elementelor cu care
se construiesc acesti multiplicatori, diferit i de indicele liniei care se modica.
Eliminarile si aparit ia elementului 1 nu sunt nsa suciente; mai trebuie ca
matricea obt inuta sa e similara cu A.

In acest scop, vom observa ca etapa
(6.43) revine la nmult irea lui A la dreapta cu matricea M
1
,
M
1
=
_

_
1 0 . . . 0 0
0 1 . . . 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
m
n1,1
m
n1,2
. . . m
n1,n1
m
n1,n
0 0 . . . 0 1
_

_
, (6.46)
obt inuta din matricea unitate, prin introducerea multiplicatorilor. Prin urmare,
matricea obt inuta n dreapta, n schema (6.43), este matricea AM
1
. Faptul
ca M
1
se aplica la dreapta este legat de operarea cu coloane (multiplicatorii
m
n1,j
se aplica unor coloane); pe de alta parte, la nmult ire, matricea din
dreapta se introduce prin coloane. Matricea inversa M
1
1
, necesara pentru a face
transformarea similara, este obt inuta din matricea unitate prin introducerea n
160 6. Vectori s i valori proprii
matricea unitate, n linia n 1, a liniei elementelor modicate n matricea A
M
1
1
=
_

_
1 0 . . . 0 0
0 1 . . . 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
a
n,2
. . . a
n,n1
a
n,n
0 0 . . . 0 1
_

_
. (6.47)
Vericarea egalitat ii M
1
1
M
1
= I se face usor, observand ca n matricea
produs raman nemodicate toate liniile cu except ia liniei n 1, singura care
trebuie vericata ca apart inand matricei unitate I.

In aceasta vericare, ca si
n cele care urmeaza este utila urmatoarea regula simpla: daca, la nmult irea a
doua matrice, matricea din stanga are o linie de indice i din matricea unitate I,
atunci n matricea produs linia i coincide cu linia i a matricei din dreapta; daca
matricea din dreapta are o coloana j din matricea unitate I, atunci coloana j
din matricea produs este dat a de matricea din stanga.
Prin urmare, dupa o prima etapa se obt ine matricea similara
A
2
= M
1
1
A
1
M
1
, A
1
A. (6.48)
Se observa ca linia n deja obt inuta, din matricea Frobenius, se pastreaza la
nmult irea cu M
1
1
. Procedeul se repeta pentru liniile n 1, n 2, . . . , 2 din
matricele similare A
2
, A
3
, . . . , A
n1
pana se ajunge la forma Frobenius. Odata
determinate valorile proprii, vectorii proprii y ai matricei Frobenius se deduc din
(6.42) iar, vectorii proprii x ai matricei A se deduc acumuland postmultiplicarile
(vezi 6.33)
x = M
1
M
2
. . . M
n1
y . (6.49)
Daca ntr-o etap a se folosesc permutari de linii, este necesar sa permutam
si coloanele de acelasi indice cu al liniilor de permutare si invers astfel ncat sa
se pastreze similitudinea cu matricea A. Aceste permutari trebuie sa e facute
astfel ncat sa nu afectam elementele de tip Frobenius deja produse. Aceasta
revine n etapa k (cand pivotul este a
(k)
nk+1,nk
) sa nu permutam linii si coloane
de indice mai mare ca n k. Rezulta ca pivotul poate realizat numai cu
permutari de coloane.
Daca ntr-o etapa k nu este posibil sa obt inem un element diferit de zero n
pozit ia de sub diagonala, nseamna ca toate elementele din stanga lui a
(k)
nk+1,nk
sunt nule. Rezult a ca procedeul de aducere la forma Frobenius nu mai poate
continuat n maniera init iala. Se poate proceda prin subdivizarea matricei An
blocuri dar nu vom intra n detalii aici.
Metoda Danilevschi permite determinarea valorilor proprii distincte. De ase-
menea se pot valorile proprii multiple, dar numai daca vectorii proprii asociat i nu
sunt liniar independent i. Deoarece metoda construieste polinomul caracteristic
(nu valorile proprii), pot apare erori mari n calculul numeric.

Intr-adevar, erori
mici n coecient ii unui polinom pot produce abateri mari n valorile radacinilor
6.4. Metoda Danilevschi 161
polinomului (inclusiv aparit ia unor valori complexe n locul celor reale). Analiza
erorilor se poate efectua t inand seama ca transformarile se fac dupa schema
A
i+1
= M
1
i
A
i
M
i
. (6.50)
Rezulta ca erorile se transmit dupa regula
|A
i+1
|
|A
i+1
|
(M
i
)
_
|A
i
|
|A
i
|
+
|M
i
|
|M
i
|
+
_
_
M
1
i
_
_
_
_
M
1
i
_
_
_
. (6.51)
Prin urmare, este util ca numarul de condit ionare al matricelor M
i
sa e egal
cu unitatea ((M
i
) = 1, ntr-o norma oarecare). Aceasta condit ie nu este,
n general, realizabila, asa cum rezulta din forma matricelor M
i
. Daca, spre
exemplu, a
ni+1,ni
este pivot astfel ncat
|M
i
|
1
= 1 + max
j=ni

a
ni+1,j
a
ni+1,ni

, |M
i
|
1
= [a
ni+1,ni
[ > 1 , (6.52)
rezulta (folosind norma ||
1
n numarul de condit ionare)

1
(M
i
) = [a
ni+1,ni
[ + max
j=ni
[a
ni+1,j
[ > 1 . (6.53)

In consecint a, metoda se recomanda la determinarea valorilor si vectorilor pro-


prii de mici dimensiuni (n 10), prezentand avataje din punct de vedere al
numarului de operat ii.
Exemplu. Pentru matricea de la exemplul anterior sa se determine toate valorile
proprii folosind metoda Danilevschi.
Rezolvare. Se aduce matricea A la forma Frobenius, folosind transformari elemen-
tare.

In prealabil se aduce pivotul 3 n pozit ia (3,2) prin permutarea coloanelor 1,2.
Matricea de permutare este P12. Notand
A1 = P12AP12 =
_
_
1 2 2
2 1 3
2 3 1
_
_
, M1 =
_
_
1 0 0
2/3 1/3 1/3
0 0 0
_
_
,
am obt inut o noua matrice similara cu A. Se elimina elementele a31si a33 de pe ultima
linie, operand cu coloana a doua.

In locul elementului a32 = 3 se obt ine valoarea 1,
mpart ind cu 3 toata coloana a doua. Toate operat iile revin la nmult irea la dreapta
cu matricea M1, formata cu multiplicatori. Se obt ine
A1M1 =
_
_
1/3 2/3 4/3
4/3 1/3 8/3
0 1 0
_
_
.

In acest fel, s-au obt inut pe pozit ia ultimei linii elemente corespunzatoare din matricea
Frobenius. Pentru ca transformarea sa e similara se va nmult i la stanga cu matricea
M
1
1
=
_
_
1 0 0
2 3 1
0 0 1
_
_
,
162 6. Vectori s i valori proprii
se obt ine
A2 = M
1
1
A1M1 =
_
_
1/3 2/3 4/3
10/3 10/3 32/3
0 1 0
_
_
.

In etapa urmatoare se elimina elementele 10/3 si 32/3 de pe linia a doua din matricea
A, operand cu coloana ntaia.

In pozit ia (2,1) se obt ine elementul 1. Totul revine la a
nmult i la dreapta cu matricea M2, iar la stanga cu inversa ei M
1
2
M2 =
_
_
3/10 1 16/5
0 1 0
0 0 1
_
_
, M
1
2
=
_
_
10/3 10/3 32/2
0 1 0
0 0 1
_
_
,
astfel ncat
A3 = M
1
2
A2M2 =
_
_
3 14 8
1 0 0
0 1 0
_
_
= F,
A3 ind o matrice Frobenius. Valorile proprii sunt solut iile ecuat iei caracteristice

3
3
2
14 8 = 0 .
Se obt in valorile proprii
1 = (5 +

41), 2 = 2, 3 = (5

41)/2 .
Vectorii proprii ai matricei Frobenius F sunt
yi = (
2
i
, 1, 1)
T
, i = 1, 2, 3.
Pentru a obt ine vectorii proprii xi ai matricei init iale A, se utilizeaza matricele de
postmultiplicare
xi = P12M1M2yi, i = 1, 2, 3.
Desi s-a lucrat cu fract ii rat ionale, s-a utilizat pivot pentru a atrage atent ia aupra
tehnicii uzuale de lucru cu numere masina afectate de erori de rotunjire.
6.5 Metodele QR si LR
Metodele QR si LR, pe care le vom prezenta n continuare, determina valorile si
vectorii proprii ale unei matrice patrate A, prin aducerea acesteia la o matrice
superior triunghiulara prin transformari de similitudine. Valorile proprii ale
unei matrice triunghiulare T sunt chiar elementele de pe diagonala deoarece
calculul polinomului caracteristic conduce la
P() = det(T I) =

t
1,1
t
1,2
. . . t
1,n
0 t
2,2
. . . t
2,n
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 t
n,n

(6.54)
6.5. Metodele QR si LR 163
si dezvoltand dupa minori obt inem
det(T I) = (t
1,1
)(t
2,2
) . . . (t
n,n
) , (6.55)
un polinom cu radacinile t
1,1
, t
2,2
, . . . , t
n,n
.
Algoritmul QR reprezinta culminarea unui lung proces de cautare a unor
algoritmi robusti de determinare a tuturor valorilor proprii ale unei matrice si
are o important a deosebita n aplicat ii.

In aplicarea practica a algoritmului QR
apar o serie de etape intermediare ce pot crea impresia ca metoda este destul
de complicata. Dupa cum vom vedea nsa, esent a algoritmului este aplicarea
metodei puterii simultan asupra mai multor vectori init iali.
6.5.1 Rezultate teoretice preliminarii
Pentru prezentarea completa a acestor metode vom avea nevoie de o serie de
rezultate teoretice. Vom include si demonstrat iile acestor rezultate deoarece
furnizeaza indicat ii asupra modului n care se pot construi algoritmi numerici.
Am vazut, n cadrul metodei Danilevschi, ca nu orice matrice poate adusa
la forma Frobenius. Acum urmarim aducerea la forma triunghiulara deci, apare
imediat ntrebarea daca exista o transformare de similitudine ntre o matrice
oarecare A si o matrice triunghiulara. Scopul principal al acestei sect iuni este
sa investigam acest aspect.
Transformari unitare.

In plus, analiza de eroare de la metoda Danilevschi a aratat important a obt inerii


unor transformari similare la care numarul de condit ionare sa e egal cu uni-
tatea. Daca matricele de transformare M sunt unitare, adica daca M

M = I
atunci vom avea n mod evident (M) = 1 daca folosim norma spectrala (5.150)
(M) = |M|
2
_
_
M
1
_
_
2
= |M|
2
|M

|
2
=
_
(M

M) (MM

) =
_
(I)(I) = 1 .
Prin M

s-a notat adjuncta matricei M (vezi (5.151)).


Vom folosi una din notat iile Q, U, R pentru matrice unitare. Valorile proprii
ale unei matrice unitare au modulul egal cu unitatea.

Intr-adevar, daca efectuam
produsul scalar al vectorilor coloana din ecare membru a relat iei de valori
proprii
Qx = x, (6.56)
cu vectorul linie x

rezulta
x

Qx = x

x. (6.57)
Prin operat iile de transpunere si complex conjugare a relat iei (6.56) rezulta
x

=

x

, (6.58)
164 6. Vectori s i valori proprii
ce nlocuit n partea din dreapta a (6.57) conduce la
x

Qx =

x

x =

x. (6.59)
Dar Q este unitara Q

Q = I, asa ca rezulta
x

x = (

)x

x, (6.60)
de unde

= 1, deci modulul unei valori proprii a lui Q este egal cu unitatea.


Cum valorile proprii ale inversei Q
1
= Q

sunt 1/ rezulta ca si acestea au


modulul egal cu unitatea.
Reectori elementari.
Sa consideram acum modalitat ile de obt inere a unei matrice unitare. Exista
doua procedee mai utilizate. Primul, denumit procedeul Householder, con-
struieste o matrice unitara pornind de la un vector coloana v prin
U = I vv

. (6.61)
Vectorul v

este un vector linie astfel ncat produsul vv

este o matrice. Sa ve-


dem ce condit ii trebuie impuse vectorului v pentru ca matricea U sa e unitara.
Adjuncta lui U este
U

= (I vv

= I

(v v
T
)
T
= I ( vv
T
)
T
= I v v
T
= I vv

, (6.62)
adica tot U. Se spune ca matricea U este autoadjuncta. Avem
U

U = (I vv

)(I vv

) = I 2vv

+vv

vv

. (6.63)
Cum v este vector coloana si v

este un vector linie, v

v este un produs scalar


ce este chiar patratul normei euclidiene a lui v
v

v =
n

i=1
v
i
v
i
= |v|
2
2
. (6.64)
Se obt ine
U

U = I + (|v|
2
2
2)vv

, (6.65)
deci matricea U este unitara daca matricea vv

este nula sau daca


|v|
2
=

2 . (6.66)
Prima posibilitate implica v = 0 si nu prezinta interes pentru aplicat ii. O
matrice unitara de forma (6.61) cu v ce satisface (6.66) se numeste reector
elementar. Denumirea provine de la modul de transformare a coordonatelor
6.5. Metodele QR si LR 165
unui punct. Spre exemplu, n doua dimensiuni (n = 2) daca v = [

2, 0]
T
se
obt ine
U = I
_
2
0
_
_
2 0

=
_
1 0
0 1
_

_
2 0
0 0
_
=
_
1 0
0 1
_
. (6.67)
Coordonatele [x, y]
T
ale unui punct se transforma conform
U
_
x
y
_
=
_
x
y
_
, (6.68)
adica s-a efectuat o reexie fat a de axa Oy pe care vectorul v este ortogonal.

In cazul general, vectorul v deneste normala unui plan fat a de care se reecta
coordonatele unui punct.

In aplicat ii vom avea de evaluat produsul U

A sau AU. S-ar parea ca sunt


necesare O(n
3
) operat ii aritmetice pentru aplicarea unui reector elementar.
Lucrurile nu stau asa si este esent ial pentru economicitatea metodei QR sa
observam c a reectorul elementar U nu trebuie calculat n mod explicit. Putem
evalua rezultatul AU prin
AU = A(I vv

) = AAvv

= Awv

(6.69)
cu w = Av. Evaluarea lui w costa O(n
2
) operat ii si efectuarea produsului ex-
terior wv

nc a O(n
2
) pentru un total de O(2n
2
), mult mai mic decat O(n
3
).
Dat ind vectorul v, algoritmul de aplicare la dreapta a unei transformari Ho-
useholder asupra matricei A este
j = 1 : n
_
_
w
j
0
k = 1 : n
[w
j
w
j
+a
jk
v
k

j = 1 : n
_
k = 1 : n
[a
jk
a
jk
v
j
w
k
.
(6.70)
Analog evaluam U

A prin
U

A = (I vv

)A = Avv

A = Avw
T
(6.71)
cu w
T
= v

A. Algoritmul este o modicare simpla a celui de mai sus.


Rotat ii elementare.
Al doilea procedeu de obt inere a unei matrice unitare este cunoscut sub numele
de procedeu Givens sau procedeu Jacobi. Si acest procedeu are o semnicat ie
geometrica, matricea R efectuand rotat ia coordonatelor unui punct n jurul unei
axe oarecare.

In acest caz matricea unitara R
jk
se obt ine din matricea unitate
I prin modicarea a patru elemente conform
r
j,j
= e
i
cos , r
j,k
= e
i
sin , (6.72)
r
k,j
= e
i
sin , r
k,k
= e
i
cos .
166 6. Vectori s i valori proprii
Se poate verica usor prin calculul produsului R

R ca matricea R este unitara.


Parametrii reali , , denesc rotat ia efectuata, ind vorba de o rotat ie de
unghi . Daca matricea A asupra careia aplicam o rotat ie Givens are toate
elementele reale atunci = = 0. Axa de rotat ie este denita de produsul
vectorial al versorului de pe direct ia j cu cel de pe direct ia k.
Sa consideram cazul unei matrice A reale. Situat ia tipica de aplicare a unei
rotat ii Givens este urmatoarea: dorim sa anulam un singur element subdiagonal
din A, e acesta a
jk
,= 0 cu j > k. Vom presupune ca elementele subdiagonale
de pe coloanele de indice i < k au fost deja anulate. La premultiplicarea matricei
A cu R

jk
= R
T
jk
se vor produce modicari ale liniilor j si k ale matricei. Spre
exemplu, pentru j = 4, k = 2
_

_
1 0 0 0
0 c 0 s
0 0 1 0
0 s 0 c
_

_
_

_
a
11
a
12
a
13
a
14
0 a
22
a
23
a
24
0 a
32
a
33
a
34
0 a
42
a
43
a
44
_

_
=
_

_
a
11
a
12
a
13
a
14
0 ca
22
sa
42
ca
23
sa
43
ca
24
sa
44
0 a
32
a
33
a
34
0 sa
22
+ca
42
sa
23
+ca
43
sa
24
+ca
44
_

_
,
cu c = cos , s = sin . Condit ia ce trebuie satisfacuta de este sa
22
+ca
42
= 0
n exemplul de mai sus, sau
sa
kk
+ca
jk
= 0 (6.73)
n cazul general. Ecuat ia trigonometrica (6.73) nu se rezolva direct. Este mai
economic sa calculam pe s, c prin
daca [a
jk
[ > [a
kk
[
atunci t a
kk
/a
jk
; s 1/

1 +t
2
; c s t
altfel t a
jk
/a
kk
; c 1/

1 +t
2
; s c t
(6.74)
cu o singura extragere de radical si evitarea mpart irii la un numar foarte mic.
Ca si n cazul transformarii Householder, matricea R
jk
nu se calculeaza
explicit ca apoi sa se efectueze produsul R

jk
A, deoarece aplicarea algoritmului
general denmult ire a doua matrice ar costa O(n
3
) operat ii. Se calculeaza efectul
aplicarii rotat iei R

jk
A prin
i = k : n
[a
ki
ca
ki
sa
ji
; a
ji
sa
ki
+ca
ji
(6.75)
cu un cost de doar O(4(n k)).

In cazul postmultiplicarii AR
jk
se procedeaza
n mod asemanator.
Un pas n aducerea la forma triunghiulara.
Acum ca avem la dispozit ie procedee de construct ie a unei matrice unitare,
sa vedem modul n care acestea pot folosite pentru a aduce pe A la forma
6.5. Metodele QR si LR 167
triunghiulara. Prin analogie cu procesul de eliminare Gauss, ne propunem sa
eliminam mai ntai elementele de sub diagonala principala, de pe prima coloana
a matricei A. Trebuie sa gasim o matrice unitara U ce realizeaza transformarea
U

AU =
_

_
w
1
. . . w
n1
0 a
(1)
2,2
. . . a
(1)
2,3
.
.
.
.
.
.
.
.
.
.
.
.
0 a
(1)
2,n
. . . a
(1)
n,n
_

_
. (6.76)
Elementul de pe pozit ia 1, 1 trebuie sa e chiar o valoare proprie a lui A deo-
arece U

AU are aceleasi valori proprii ca si A, iar calculul polinomului caracte-


ristic al matricei U

AU conduce la aparit ia factorului ( ). Este convenabil


sa introducem o diviziune n port iuni a matricei din dreapta sub forma
U

AU =
_
w
T
0
n1
A
n1
_
(6.77)
unde este o valoare proprie a lui A, w un vector coloana de dimensiune n1,
0
n1
vectorul nul de dimensiune n 1, iar A
n1
o matrice patrata de ordinul
n 1.
Prima coloana a unei matrice se obt ine prin nmult irea acesteia la dreapta
cu vectorul e
(1)
= [1, 0, . . . , 0]
T
U

AUe
(1)
=
_

0
n1
_
= e
(1)
. (6.78)
Dar U

= U
1
si nmult ind la stanga cu U se obt ine
AUe
(1)
= Ue
(1)
, (6.79)
deci condit ia ca U sa conduca la eliminarea elementelor subdiagonale de pe
prima coloana a matricei A este ca Ue
(1)
sa e proport ional cu vectorul propriu
al matricei A asociat valorii proprii . Notam prin x acest vector propriu. De-
oarece x este determinat pana la o constanta multiplicativa putem presupune
|x|
2
= 1 si
Ue
(1)
= x, ,= 0 , C. (6.80)
Relat ia (6.80) ne spune ca trebuie sa gasim o transformare a vectorului e
(1)
n vectorul x printr-o matrice unitara. Interpretarile geometrice ale procedeelor
Householder si Givens ne furnizeaza imediat modalitatea de construct ie a lui U.
Cum o reexie sau o rotat ie nu vor modica modulul unui vector va trebui sa
avem
_
_
_e
(1)
_
_
_
2
= [[ |x|
2
= [[ = 1. (6.81)
Daca adoptam procedeul Householder, matricea U este data de U = I vv

cu v vectorul normalei la planul fat a de care reexia lui y =


1
e
(1)
este chiar
168 6. Vectori s i valori proprii
Figura 6.1: Interpretarea geometrica a procedeului Householder.
x. Prin analogie cu cazul bidimensional (g. 6.1) unde x y este normala la
planul de reexie, banuim ca
v = a(x y) , (6.82)
cu a o constanta ce este determinata din condit ia ca U sa e unitara
|v|
2
2
= 2 a
2
= 2 |x y|
2
2
. (6.83)
Intuit ia din cazul bidimensional este vericata pe cazul general prin calcul,
Ux y = (I vv

)x y = x vv

x y = x a
2
(x y)(x

)x y
= (x y)[1 a
2
(x

x y

x)] .
Trebuie ca Ux y = 0 pentru x arbitrar, deci impunem
1 a
2
(x

x y

x) = 0. (6.84)

Inlocuind a
2
din (6.83) se obt ine
|x y|
2
2
2(x

x y

x) = 0, (6.85)
sau, t inand cont ca |x y|
2
2
=
_
(x y, x y) = (xy) (x

) (vezi relat ia
5.153) si ca x

x = y

y,
y

x = x

y. (6.86)
Relat ia (6.86) determina parametrul ,
(
1
e
(1)
)

x = x

1
e
(1)
x
1
= x
1
, (6.87)
unde x
1
este prima componenta a lui x. Condit ia de mai sus spune ca x
1
trebuie sa e o cantitate reala. Cum [[ = 1 rezulta
= x
1
/ [x
1
[ (6.88)
daca [x
1
[ ,= 0. Daca x
1
= 0 atunci luam = 1. Matricea U este complet
determinata.
6.5. Metodele QR si LR 169
Un calcul asemanator se poate efectua pentru a determina si matricea de
rotat ie ce realizeaza eliminarea elementelor subdiagonale de pe prima coloana.
Nu vom intra n detalii deoarece acest procedeu este de regula mai costisitor
din punct de vedere al operat iilor aritmetice, datorita necesitat ii de a evalua
radicali. Except ia de la aceasta regula generala este pentru o matrice cu un
mare numar de zerouri deja existente sub diagonala principala.

In acest caz se
poate proceda dupa cum s-a exemplicat n prezentarea transformarii Givens.
Teorema Schur.
Odata eliminat i termenii subdiagonali de pe prima coloana calculul se poate
repeta pentru prima coloana a matricei A
1
si asa mai departe, pana la aducerea
completa a matricei originale A la forma triunghiulara. Metoda de mai sus este
enunt ata formal n urmatoarea teorema importanta.
Teorema. (Schur) Orice matrice patrata A de dimensiuni n n este unitar
similara cu o matrice triunghiulara T.
Demonstrat ie. Vom proceda prin induct ie. Orice matrice de ordinul n = 1
este triunghiulara. S a consideram acum teorema adevarata pentru orice matrice
de ordinul n 1, spre exemplu pentru matricea A
n1
din (6.77) pentru care
matricea unitara de aducere la forma triunghiulara este U
n1
U

n1
A
n1
U
n1
= T
n1
. (6.89)
Matricea
U
n
= U
_
1 0
T
n1
0
n1
U
n1
_
(6.90)
cu U construit ca mai sus realizeaza aducerea matricei A la forma tringhiulara.

Intr-adevar, avem
U

n
AU
n
=
_
1 0
T
n1
0
n1
U

n1
_
U

AU
_
1 0
T
n1
0
n1
U
n1
_
=
_
1 0
T
n1
0
n1
U

n1
_ _
w
n1
0
n1
A
n1
_ _
1 0
T
n1
0
n1
U
n1
_
=
_
1 0
T
n1
0
n1
U

n1
_ _
w
n1
U

n1
0
n1
A
n1
U
n1
_
=
_
w
n1
U

n1
0
n1
T
n1
_
unde ultima matrice este de forma triunghiulara. 2
6.5.2 Algoritmi auxiliari
Metodele LR si QR cuprind un numar de algoritmi subsidiari ce le fac sa e
ecace. Sa consideram mai ntai aceste part i componente a ntregului algoritm
LR sau QR.
170 6. Vectori s i valori proprii
Deat ie.
Teorema Schur ne asigura ca o transformare unitara, similara de la matricea A
la o forma triunghiulara exista.

Insa suntemn situat ia neplacuta ca trebuie sa
cunoastem deja vectorii si valorile proprii pentru a determina efectiv matricea
de transformare. Modul efectiv n care se aplica rezultatele de mai sus este n
reducerea ordinului matricei cu care se lucreaza n momentul cand una dintre
valori proprii a fost izolata. Acest proces este cunoscut ca deat ie si cuprinde
urmatoarele etape:
1. se calculeaza vectorul propriu x asociat valorii proprii ;
2. se ia = x
1
/ [x
1
[ pentru x
1
,= 0 sau = 1 pentru x
1
= 0;
3. se ia a =

2/
_
_
x e
(1)
_
_
, v = a(x e
(1)
) si U = I vv

;
4. se calculeaza U

AU si se izoleaza submatricea A
n1
(6.77).
La sfarsitul unei etape de deat ie se obt ine o matrice mai mica asupra careia
se poate opera n continuare cu o economie de operat ii aritmetice fat a de cazul
n care s-ar ncerca determinarea transformarii globale ce aduce pe A la forma
triunghiulara.
Factorizarea QR.
Am vazut n 5.1.9 cum o matrice A se poate descompune ntr-un produs de
doua matrice, una inferior triunghiulara si alta superior triunghiulara. Exista
multe alte tipuri de factorizare
A = BC (6.91)
a unei matrice A. O clasa importanta o constituie factorizarile ortogonale, la
care vectorii coloana ai matricei B sunt ortogonali (vezi 1.4.2) doi cate doi.
Printre factorizarile ortogonale, cea mai utila este factorizarea QR a lui House-
holder
A = QR (6.92)
n care Q este o matrice unitara si R o matrice superior triunghiulara. Dupa
cum sugereaza aproprierea de nume, factorizarea QR este o parte esent iala a
metodei QR de determinare a valorilor proprii.
Deoarece Q este unitara din (6.92) se obt ine
Q

A = R. (6.93)
Ideea de baza a algoritmului de factorizare este construirea pas cu pas a matricei
Q

prin eliminarea succesiva a elementelor subdiagonale de pe coloanele matricei


A
U
n1
. . . U
2
U
1
A = R (6.94)
6.5. Metodele QR si LR 171
unde U
1
elimina elementele subdiagonale de pe coloana 1, U
2
cele de pe coloana
2 si asa mai departe. Daca A este de forma generala, cea mai ecienta me-
toda de construire a matricelor U
j
j 1, n 1 este prin aplicarea reectorilor
elementari. Matricea Q este
Q = U
1
U
2
. . . U
n1
, (6.95)
unde am t inut cont ca U
j
= U

j
pentru un reector elementar.
Algoritmul de factorizare construieste n mod explicit matricea R. Nu este
nevoie de construirea explicita a matricei Q. Aceasta se memoreaza prin succe-
siunea de vectori v
j
din denirea reectorilor U
j
U
j
= I v
j
v

j
. (6.96)
Tot calculul poate organizat astfel ncat vectorii v
j
sa e pastrat i n locat iile
din matricea An care s-au creat elemente nule. Costul unei factorizari este de
O(n
3
) operat ii pentru o matrice A oarecare.
6.5.3 Formularea metodelor QR si LR
Suntem acum pregatit i pentru prezentarea metodelor QR si LR de calcul a va-
lorilor proprii.

Incepem cu metoda QR. Am vazut ca odata cunoscuta o valoare
proprie putem reduce ordinul problemei prin aplicarea tehnicii de deat ie. O
idee imediata este folosirea metodei puterii pentru a determina valoarea proprie
cea mai mare n modul. Am putea reduce ordinul problemei, aplica din nou me-
toda puterii asupra noi matrice si asa mai departe. Sa rescriem metoda puterii
folosind notat ii ce sugereaza generalizarea procedeului
z
(s)
= Aq
(s1)
q
(s)
= z
(s)
/
_
_
z
(s)
_
_
2
=
_
q
(s)

Aq
(s)
,
(6.97)
pentru s = 1, 2, . . . . Algoritmul porneste cu un vector init ial de norma egala
cu unitatea q
(0)
, si efectueaza normalizarea vectorului z
(s)
(aducerea la norma
egal cu unitatea) la ecare iterat ie. Valoarea proprie este estimata prin raportul
Rayleigh (6.11), t inandu-se cont ca q
(s)
este normalizat.
Sa ncercam acum sa aplicam metoda puterii asupra mai multor vectori
init iali
Q
(0)
=
_
q
(0)
1
q
(0)
2
. . . q
(0)
n
_
(6.98)
n sperant a obt inerii mai multor valori proprii simultan.

In acest caz va trebui ca
matricea Q
(0)
sa e ortogonala pentru a asigura liniar independent a vectorilor
de start. Algoritmul devine
Z
(s)
= AQ
(s1)
Q
(s)
R
(s)
= Z
(s)
T
(s)
=
_
Q
(s)

AQ
(s)
.
. (6.99)
172 6. Vectori s i valori proprii
Modicarea esent iala este nlocuirea operat iei de normalizare din (6.97) cu o
descompunere ortogonala de tip QR. Se asigura astfel independent a liniara
a vectorilor asupra carora va act iona matricea A n iterat ia urmatoare, ceea
ce ajuta la accelerarea convergent ei. Valorile proprii apar acum pe diagonala
matricei T
(s)
ce nu este altceva decat generalizarea raportului Rayleigh.
Nu vom intra n toate detaliile tehnice asupra convergent ei procedeului de
mai sus. Putemnsa arma ca sirul de matrice T
(s)
tinde catre o matrice cvasi-
triunghiulara ce are aceleasi valori proprii ca si A. O matrice cvasitriunghiulara
difera de una triunghiulara doar prin blocuri izolate de dimensiune 22 grupate
n jurul diagonalei principale. Aceste blocuri sunt de regula asociate valorilor
proprii complexe.
Sa vedem legatura dintre T
(s)
si T
(s1)
.

Incepem cu T
(s1)
T
(s1)
=
_
Q
(s1)
_

AQ
(s1)
=
_
Q
(s1)
_

Z
(s)
=
_
Q
(s1)
_

Q
(s)
R
(s)
. (6.100)
Cum un produs de matrice unitare este tot o matrice unitara, am obt inut
T
(s1)
= Q
(s1)
T
R
(s1)
T
cu Q
(s1)
T

_
Q
(s1)
_

Q
(s)
, R
(s1)
T
R
(s)
. (6.101)
Pe de alta parte din Q
(s)
R
(s)
= Z
(s)
= AQ
(s1)
rezulta R
(s)
=
_
Q
(s)

AQ
(s1)
si putem scrie T
(s)
ca
T
(s)
=
_
Q
(s)
_

AQ
(s)
=
_
Q
(s)
_

A
_
Q
(s1)
_

Q
(s1)
Q
(s)
= R
(s1)
T
Q
(s1)
T
.
(6.102)
Rezulta urmatoarea regula de evaluare a matricei T
(s)
: se calculeaza factorizarea
QR a matricei T
(s1)
si se inverseaza factorii
Q
(s1)
R
(s1)
= T
(s1)
T
(s)
= R
(s1)
Q
(s1)
. (6.103)

In metoda LR calculele se desfasoara asemanator


L
(s1)
R
(s1)
= T
(s1)
T
(s)
= L
(s1)
R
(s1)
. (6.104)
Dezavantajul metodei LR consta n necesitatea efectuarii de operat ii de pivo-
tare pentru a preveni mpart irile la zero sau numere foarte mici n modul si o
convergent a mai lenta comparativ cu metoda QR.
6.5.4 Reducerea numarului de operat ii la factorizare
Elementele sirului T
(s)
din (6.103) pot doar converge catre o matrice cvasitri-
unghiulara, dar pe parcursul iterat iilor au o forma oarecare. Aceasta face ca
operat ia de factorizare QR sa e excesiv de costisitoare. Este convenabil ca
iterat iile QR sa se efectueze asupra unei matrice ce are aceleasi valori proprii ca
6.5. Metodele QR si LR 173
si A, dar sa prezinte o forma ce economiseste din operat iile aritmetice necesare
factorizarii. O astfel de form a este
H =
_

_
h
1,1
h
1,2
h
1,3
. . . h
1,n1
h
1,n
h
2,1
h
2,2
h
2,3
. . . h
2,n1
h
2,n
0 h
3,2
h
3,3
. . . h
3,n1
h
3,n
0 0 h
4,3
. . . h
4,n1
h
4,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 . . . h
n,n1
h
n,n
_

_
denumita forma Hessenberg superioara. Analog matricea transpusa se spune
ca este de forma Hessenberg inferioara. Prin forma Hessenberg, fara vreun alt
calicativ, vom nt elege forma superioara.
Algoritmul QR devine n acest caz
Q
(s1)
R
(s1)
= H
(s1)
H
(s)
= R
(s1)
Q
(s1)
. (6.105)
Forma Hessenberg se pastreaza la inversarea factorilor deoarece Q
(s1)
se poate
construi astfel ncat sa e o matrice Hessenberg. Odata determinata forma
Hessenberg init iala, ecare iterat ie QR va necesita O(n
2
) operat ii aritmetice.
Aducerea la forma Hessenberg prin matrice cu multiplicatori.

In cadrul algoritmului LR, aducerea la forma Hessenberg se efectueaza prin


matrice cu multiplicatori, care elimina elementele a
jk
cu j > k +1 de pe ecare
coloana, ncepand cu prima. Spre exemplu, pentru eliminarea elementelor de
pe coloana 1, matricea de multiplicatori este
M
1
=
_

_
1 0 0 . . . 0
0 1 0 . . . 0
0 m
3,2
1 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 m
n,2
0 . . . 1
_

_
, m
i,2
= a
i,1
/a
2,1
, (6.106)
pentru i 3, n. Se poate remarca similitudinea cu matriciele de la eliminarea
gaussiana. Matricea se poate scrie ca
M
1
= I m
2
e
T
2
, (6.107)
m
2
=
_
0 0 m
3,2
. . . m
n,2

T
, e
2
=
_
0 1 0 . . . 0

T
. (6.108)
Inversa este
M
1
1
=
_

_
1 0 0 . . . 0
0 1 0 . . . 0
0 m
3,2
1 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 m
n,2
0 . . . 1
_

_
= I +m
2
e
T
2
, (6.109)
174 6. Vectori s i valori proprii
ceea ce se poate verica prin calcul direct
M
1
M
1
1
= (I m
2
e
T
2
)(I +m
2
e
T
2
) (6.110)
= I m
2
e
T
2
+m
2
e
T
2
m
2
_
e
T
2
m
2
_
e
T
2
= I . (6.111)
Matricea M
1
1
va nmult i, la dreapta, matricea A, pentru ca transformarea sa
e similara si valorile proprii sa nu se modice. Se observa ca zerourile obt inute
n coloana i de matricea M
1
A se ment in si n matricea similara M
1
AM
1
1
,
deoarece prima coloana din matricea M
1
1
este identica cu prima coloana din
matricea unitate. Acest lucru a fost posibil tocmai pentru ca matricea M
1
are coloana multiplicatorilor deplasata cu un indice mai spre dreapta fat a de
matricea de eliminare gaussiana. Rezulta ca orice matrice A poate adusa la
forma Hessenberg prin transformari similare (eventual folosind permutari) n
numar nit.
Daca elementul a
2,1
este nul, un alt element a
i,2
i 3, n poate adus n
pozit ia (1, 2), prin permutari de linii. Evident, daca tot i coecient ii a
i,1
= 0,
i 2, n, rezulta ca a
1,1
este valoare proprie si procedeul se va aplica matricei
ramase, de dimensiuni (n 1) (n 1). Permutarile de linii sau coloane sunt
recomandate chiar daca a
2,1
,= 0, pentru obt inerea de pivot part ial sau total.
Inversa matricei de permutare a liniilor sau coloanelor k si 1 este tot P
k1
(P
1
k1
=
P
k1
). Regula este urmatoarea: daca am permuta liniile k si 1, este necesar
pentru ca transformarea sa e similara, sa permutam si coloanele de aceeasi
indici. Num arul de operat ii pentru aducerea la forma Hessenberg fara permutari
este aproximativ 2n
3
/3 5n
2
/2.
Aducerea la forma Hessenberg prin transformari similare unitare.
Matricea A se poate aduce la forma Hessenberg prin transformari similare ce
folosesc reectori sau rotat ii elementare. Aceste metode au avantajul unei
condit ionari optime, desi numarul de operat ii este mai mare decat n cazul fo-
losirii multiplicatorilor.

In cazul general este mai ecienta folosirea reectorilor
si nu vom descrie decat acest procedeu.
Ideea de baza este aceeasi ca la folosirea multiplicatorilor: se aduc rand pe
rand coloanele matricei A la forma Hessenberg. Dupa etapa s 1 coloanele 1,
2, . . . , s 1 sunt n forma Hessenberg iar matricea are forma
A
(s1)
=
_

_
a
(s1)
11
a
(s1)
12
. . . a
(s1)
1,s1
a
(s1)
1,s
. . . a
(s1)
1,n
a
(s1)
21
a
(s1)
22
. . . a
(s1)
2,s1
a
(s1)
2,s
. . . a
(s1)
2,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . a
(s1)
s,s1
a
(s1)
s,s
. . . a
(s1)
s,n
0 0 . . . 0 a
(s1)
s+1,s
. . . a
(s1)
s+1,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 0 a
(s1)
n,s
. . . a
(s1)
n,n
_

_
. (6.112)
6.5. Metodele QR si LR 175
Sa determinam modul n care aducem coloana s la forma Hessenberg. Este
comod sa introducem o transcriere pe blocuri a matricei,
A
(s1)
=
_
B C
D E
_
, (6.113)
unde B, C, D, E sunt submatrice din A
(s1)
. Submatricea B este de dimensiuni
s s si este de forma Hessenberg. Submatricea C este de dimensiuni (n s)
(n s). Submatricea D este de dimensiuni (n s) s si are elemente nenule
doar pe ultima coloana. Fie d aceasta coloana,
d =
_
a
(s1)
s+1,s
a
(s1)
s+2,s
. . . a
(s1)
n,s
_
T
. (6.114)
Submatricea E este de dimensiuni (n s) (n s). Transformarea unitara
trebuie sa lase neafectata partea deja adusa la forma Hessenberg, B. Forma
matricei de transformare din etapa s este
U
s
=
_
I 0
0 U
_
(6.115)
deoarece calculul produsului U

s
A
(s1)
U
s
conduce la
_
I 0
0 U

_ _
B C
D E
_ _
I 0
0 U
_
=
_
I 0
0 U

_ _
B CU
D EU
_
(6.116)
=
_
B CU
U

D U

EU
_
. (6.117)
Pentru un reector elementar U

= U. Deducem condit ia de obt inere a formei


Hessenberg n etapa s
Ud = e
(1)
, (6.118)
cu e
(1)
= (1, 0, . . . , 0)
T
, un vector unitar cu n s componente. Aceasta este si-
milara problemei (6.80), iar interpretarea geometrica a reectorului Householder
ne furnizeaza solut ia
U = I vv

, v = a(d e
(1)
) , (6.119)
cu = (d
1
/ [d
1
[) |d|
2
, a =

2
_
_
d e
(1)
_
_
2
, d
1
= a
(s1)
s+1,s
.
6.5.5 Accelerarea metodelor QR si LR
Aplicarea factorizarii QR sau LR asupra formei Hessenberg a unei matrice re-
duce numarul de operat ii aritmetice efectuate ntr-o iterat ie. O a doua cale de
reducere a timpului de calcul este reducerea numarului de iterat ii. Iterat iile QR
si LR tind sa aduca forma Hessenberg la o forma cvasi-triunghiulara. Pentru a
reduce numarul de iterat ii necesare atingerii acestei forme se pot folosi tehnici
176 6. Vectori s i valori proprii
de accelerare sugerate de modicarile efectuate asupra metodei puterii pentru
a obt ine metoda puterii inverse sau cea a deplasarii.
Cea mai utilizata tehnica este cea a deplasarii originii. Se urmareste ameli-
orarea convergent ei atunci cand apare un bloc 2 2 pe diagonala. Relat iile de
iterare QR devin
H
(s)
k
s
I = Q
(s)
R
(s)
(6.120)
H
(s+1)
k
s
I = R
(s)
Q
(s)
(6.121)
unde k
s
este deplasarea. Deplasarea se poate alege ca ind ultimul element de
pe diagonal a, h
(s)
n,n
sau radacina cea mai apropriata n modul de h
(s)
n,n
a ecuat iei

h
(s)
n1,n1
k h
(s)
n1,n
h
(s)
n,n1
h
(s)
n,n
k

= 0 . (6.122)
Odata asigurata izolarea unei valori proprii se trece la deat ia matricei.
6.5.6 Calculul vectorilor proprii
Calculul vectorilor proprii pentru o matrice cvasisuperior triunghiulara se face
usor, valorile proprii ind cunoscute. Fie matricea superior triunghiulara de
dimensiuni 5 5
H
s
=
_

1
a
1
b
1
c
1
d
1
0
2
b
2
c
2
d
2
0 0
3
c
3
d
3
0 0 0
4
d
4
0 0 0 0
5
_

_
(6.123)
forma la care presupunem ca s-a ajuns dupa un numar s de iterat ii. Notam mai
departe cu y un vector propriu oarecare al matricei care satisface relat ia
H
s
y =
i
y, i 1, 5, y = (y
1
, y
2
, y
3
, y
4
, y
5
)
T
. (6.124)
Pentru componentele y
i
, se obt ine sistemul
y
5
(
i

5
) = 0
y
4
(
i

4
) = d
4
y
5
y
3
(
i

3
) = d
3
y
5
+c
3
y
4
(6.125)
y
2
(
i

2
) = d
2
y
5
+c
2
y
4
+b
2
y
3
y
1
(
i

1
) = d
1
y
5
+c
1
y
4
+b
1
y
3
+a
1
y
2
Sistemul (6.125) poate determina componentele y
i
, cel mult pana la o constanta
multiplicativa. Acest sistem este simplu, principala dicultate nu este legata de
gasirea necunoscutelor ci mai degraba de discernarea solut iilor care apar.
6.5. Metodele QR si LR 177
Cazul valorilor proprii distincte.
In acest caz se obt in 5 vectori liniar independent i. Spre exemplu, pentru i = 1,
din primele 4 ecuat ii (6.125) rezulta
y
2
= y
3
= y
4
= y
5
= 0 , (6.126)
n timp ce ultima ecuat ie este identic vericata. Concluzia este: y
1
poate lua
orice valoare diferita de zero (vectorii proprii sunt prin denit ie nenuli). Luand
y
1
= 1 se poate scrie vectorul propriu corespunzator valorii
1
y
(1)
= (1, 0, 0, 0, 0)
T
(6.127)
Pentru i = 2 (
i
=
2
), din (6.125) se obt ine
y
3
= y
4
= y
5
= 0, y
1
(
2

1
) = a
1
y
2
, y
2
,= 0, (6.128)
vectorul propriu corespunzator ind
y
(2)
= (y
1
, 1, 0, 0, 0)
T
, y
1
= a
1
/(
2

1
) (6.129)
si asa mai departe.
Cazul valorilor proprii multiple.
Fie
1
=
2
,=
3
,=
4
,=
5
. Din primele 3 ecuat ii (6.125) se obt ine
y
3
= y
4
= y
5
= 0 (6.130)
iar din ultimele doua
0 y
2
= 0, 0 y
1
= a
1
y
2
. (6.131)
Cele doua egalitat i (6.131) conduc la concluzii diferite, n funct ie de coecientul
a
1
, si anume
a
1
= 0 y
1
, y
2
arbitrari, nu tot i nuli. (6.132)
Cu y
1
, y
2
arbitrari si y
3
, y
4
, y
5
nuli, se pot obt ine doi vectori liniar independent i,
corespunzator valorilor proprii egale,
1
,
2
y
(1)
= (1, 0, 0, 0, 0)
T
, y
(2)
= (0, 1, 0, 0, 0)
T
, a
1
= 0 . (6.133)
Pentru a
1
,= 0 din (6.131) se obt ine
y
2
= 0, y
1
,= 0 (altfel arbitrar). (6.134)
Prin urmare, daca a
1
,= 0 nu se pot obt ine doi vectori liniar independent i
corespunzator valorilor proprii egale
1
,
2
. Rezulta ca sistemul de vectori
proprii ai matricei H
s
(si deci nici ai matricei init iale A, similara H
s
) nu pot
forma o baza. Se spune ca matricea este defectiva. Este de asteptat ca, n
178 6. Vectori s i valori proprii
urma erorilor de calcul numeric, natura vectorilor proprii sa apara modicata,
mai ales cand valorile proprii sunt multiple sau foarte apropriate. Din acest
punct de vedere, trebuie spus ca procedeul QR este cel mai stabil, furnizand
rezultatele cele mai apropriate de situat ia reala. Se observa ca, determinarea
vectorilor proprii se poate face sucient de comod din forma triunghiulara, fara a
necesara reducerea la forma canonica Jordan (care este o matrice triunghiulara
mai particulara). Aducerea la forma canonica Jordan nu este recomandata,
aceasta operat ie putand introduce erori mari datorita instabilitat ii numerice.
De fapt, n general, aducerea unei matrice (superior) triunghiulare la forma
canonica Jordan prin transformari unitare sau chiar prin transformari simple
stabilizate (cu pivot) nu este garantata.
Odat a determinat i vectorii proprii y ai matricei triunghiulare, vectorii proprii
x ai matricei init iale A se deduc utilizand matricele de postmultiplicare aplicate
lui A.
Exemplu. Sa se aduca la forma superior Hessenberg, prin transformari similare
matricea
A =
_
_
12 20 41
9 15 63
20 50 35
_
_
.
Sa se calculeze apoi factorizarea LR a matricei Hessenberg obt inute.
Rezolvare. Vom folosi transformari de eliminare. Avem de eliminat un singur
element a31 = 20. Deoarece elementul a21 = 9 nu este pivot vom schimba ntre ele
liniile 2 si 3 si coloanele 2 si 3 pentru a obt ine o matrice similara
A1 = P23AP23 =
_
_
12 41 20
20 35 50
9 63 15
_
_
Pentru a elimina elementul a31 = 9 vom folosi pivotul a21 = 20 si multiplicatorul
m32 = a31/a21 = 9/20, ceea ce duce la matricele
M1 =
_
_
1 0 0
0 1 0
0 9/20 1
_
_
, M
1
1
=
_
_
1 0 0
0 1 0
0 9/20 1
_
_
.
Se obt ine
A2 = M1A1M
1
1
=
_
_
12 32 20
20 115/2 50
0 765/8 75/2
_
_
= H
de forma Hessenberg.
Pentru descompunerea LR a matricei H, trebuie eliminate elementele h21 = 20 si
h32 = 765/8. Deoarece h11 = 12 nu este pivot, se permuta liniile 1 si 2 si se obt ine
H1 = P12H =
_
_
20 115/2 50
12 32 20
0 765/8 75/2
_
_
.
6.5. Metodele QR si LR 179
Rezulta multiplicatorul l21 = h21/h11 = 3/5 si matricea de multiplicare la stanga
L1
L1 =
_
_
1 0 0
3/5 1 0
0 0 1
_
_
, L1H1 =
_
_
20 115/2 50
0 5/2 50
0 765/8 75/2
_
_
.
Pentru eliminarea elementului din pozit ia (3,2) permutam liniile 2 si 3 pentru a
obt ine un pivot. Obt inem
P23L1H1 =
_
_
20 115/2 50
0 765/8 75/2
0 5/2 50
_
_
L2 =
_
_
1 0 0
0 1 0
0 4/153 1
_
_
, R =
_
_
20 25/2 50
0 765/8 75/2
0 0 2500/51
_
_
L2P23L1P12H = R .
Mai departe, t inand cont ca P23P23 = I se deduce
L2(P23L1P23)P23P12H = R
unde matricea P23L1P23 similara cu L1, o vom nota cu L11
L11 =
_
_
1 0 0
0 1 0
3/5 0 1
_
_
, L2L11 =
_
_
1 0 0
0 1 0
3/5 4/153 1
_
_
.
Rezulta ca s-a obt inut o descompunere LR pentru matricea H permutata
P23P12H = LR, L = (L2L11)
1
=
_
_
1 0 0
0 1 0
3/5 4/153 1
_
_
n timp ce matricea H are descompunerea
H = L

R, L

= P12P23L =
_
_
3/5 4/153 1
1 0 0
0 1 0
_
_
.
180 6. Vectori s i valori proprii
181
Capitolul 7
Metode de optimizare
Metodele de optimizare sunt n general metode de descrestere, ce determina
minimul unei funct ii U de n variabile reale care se numeste funct ie scop sau
funct ie obiectiv. De aici si denumirea lor de metode de minimizare a funct iilor de
mai multe variabile. Evident, problema gasirii maximului revine la minimizarea
funct iei cu semn schimbat. Metodele de descrestere au convergent a globala,
adica permit gasirea solut iei chiar daca punctul de plecare este ndepartat de
solut ie.
Metodele de optimizare au un domeniu de aplicabilitate foarte larg. Pe de o
parte, majoritatea fenomenelor naturii sau economice reprezinta compromisuri
ntre cauze contradictorii, si ca atare multe din problemele ingineriei, economiei,
matematicii, statisticii, medicinei, dar mai cu seama procesele decizionale se pot
formula ca probleme de optimizare. Pe de alta parte, majoritatea metodelor
numerice pot reformulate ca probleme de optimizare. Aceste reformulari duc
uneori la obt inerea unor metode performante, cum ar cele pentru rezolvarea
sistemelor de ecuat ii liniare, pe care le prezentamn sect iunea 7.6.1 si cele pentru
rezolvarea sistemelor de ecuat ii neliniare pe care le vom prezenta n capitolul
8.1.
182 7. Metode de optimizare
Figura 7.1: Minime pentru o funct ie de o singura variabila.
Un punct de extrem (minim sau maxim) poate global (valoarea extrema
din tot domeniul), sau local, (valoarea extrema dintr-un subdomeniu), poate
simplu sau multiplu (g. 7.1).

In general, intereseaza minimul global, care se
poate obt ine: (a) repetand calculul pentru puncte de start diferite si alegand
apoi punctul n care valoarea funct iei U este cea mai mica; (b) dupa obt inerea
minimului local, se da o perturbat ie ntr-o direct ie oarecare; daca algoritmul
revine n acelasi punct, atunci acesta este un candidat serios pentru minim
global.
Pentru ca un punct x

sa e un minim local unic n cazul unei probleme


de optimizare fara restrict ii, trebuie ndeplinite condit iile de optimalitate, care
sunt condit ii suciente
U(x

) = 0, G(x

)
2
U(x

) > 0 , (7.1)
adica n punctul de minim gradientul funct iei scop trebuie sa e nul iar matricea
derivatelor part iale de ordinul al doilea, numita matrice hessian, trebuie sa e
pozitiv denita
1
.
Clasicarea metodelor de optimizare poate facuta dupa mai multe criterii.
Din punct de vedere al restrict iilor impuse variabilelor, avem probleme de opti-
mizare fara restrict ii si cu restrict ii. Dupa felul funct iei scop, avem probleme de
optimizare liniare, n care atat funct ia cat si restrict iile sunt liniare si probleme
de optimizare neliniare. Dupa efortul de calcul al derivatelor, avem metode
de tip Newton la care se calculeaza matricea hessian (care cont ine derivatele
part iale de ordinul al doilea) si vectorul gradient (derivatele de ordinul ntai),
metode cvasi-Newton si metode de gradient i conjugat i, la care se calculeaza
numai derivatele part iale de ordinul ntai, si metode la care nu se calculeaza
derivate part iale.
1
O matrice G se numeste pozitiv denita, daca oricare ar vectorul nenul y, are loc
inegalitatea y
T
Gy > 0.

In cazul unidimensional (n = 1 ) n locul matricei G avem derivata a
doua, care, daca este pozitiva, atunci gracul funct iei t ine apa, iar funct ia are un minim.
7.1. Minimizarea n lungul unei direct ii 183
Metodele de optimizare sunt metode iterative. Valoarea aproximativa punc-
tului unde funct ia U ia cea mai mica valoare se calculeaza iterativ cu formula
x
k+1
= x
k
+
k
p
k
, k = 1, 2, . . . , (7.2)
unde p
k
este o direct ie de descrestere, iar
k
un numar real pozitiv care se
determina astfel ncat U(x
k+1
) < U(x
k
). Pentru start este necesar un punct de
plecare x
0
R
n
.
7.1 Minimizarea n lungul unei direct ii
Minimizarean lungul unei direct ii reprezinta o etapa a calculului minimului unei
funct ii de mai multe variabile. Spre exemplu, scalarul
k
din relat ia (7.2) poate
determinat ca o solut ie a problemei de optimizare
k
= min

U(x
k
+ p
k
),
unde vectorii x
k
si p
k
sunt cunoscut i, iar funct ia U ramane de o sigura variabila,
U = f().
Fie f : R R funct ia reala de o variabila reala al carei minim dorim sa-l
determinam.

In cazul n care derivata f

este usor de determinat analitic, pro-


blema determinarii extremului funct iei f este echivalenta cu rezolvarea ecuat iei
f

(x) = 0. Se verica apoi care din solut iile astfel determinate corespund unui
minim al funct iei f, calculand o valoare n imediata vecinatate a extremului si
comparand-o cu valoarea funct iei n punctul de extrem. Atunci cand minimi-
zarea unidirect ionala reprezinta o etapa a calculului minimului unei funct ii de
mai multe variabile, derivata f

este n general imposibil de determinat analitic.


Determinarea minimului funct iei f cuprinde doua etape: (a) localizarea mi-
nimului, etapa n care se obt ine un interval (a, b) care cont ine minimul si (b)
reducerea lungimii intervalului care cont ine minimul, pana c and lungimea aces-
tuia devine sucient de mica, adica [b a[ < e, cu e impus. Se poate folosi si
o condit ie de lungime relativa a intervalului de forma [b a[ < [a[, avand n
vedere faptul ca

m
, unde
m
reprezinta distant a relativa minima ntre
doua numere reprezentabile, si care este de acelasi ordin cu epsilon masina
M
(vezi capitolul 4).
Exemplu. Pentru a verica armat ia de mai sus, aproximam funct ia f folosind
seria Taylor n jurul punctului a din vecinatatea punctului de minim
f(b)

= f(a) + f

(a)(b a)
2
/2 . (7.3)
S-au neglijat termenii de ordinul trei si mai mare si s-a t inut cont ca n vecinatatea
minimului f

0. Valorile a si b nu pot luate oricat de apropiate decat daca este


ndeplinita condit ia
[f(b) f(a)[ > m[f(a)[ , (7.4)
astfel ncat reprezentarile numerelor f(a) si f(b) sa e diferite. Rezulta
[b a[

2m
[f(a)[
f

(a)
= [a[

2
[f(a)[
a
2
f

(a)
. (7.5)
184 7. Metode de optimizare
Figura 7.2: Localizarea minimului pentru o funct ie de o variabila.
Daca
_
2[f(a)[/(a
2
f

(a)) 1, atunci [ba[ [a[

m, iar condit ia pe care o impunem


[ba[ < [a[ duce la limitarea >

m. Spre exemplu, daca m = 10


8
, determinarea
minimului o putem face cel mult pana cand lungimea intervalului ce cont ine minimul
devine mai micadecat

10
8
= 10
4
.
Localizarea minimului.
Pentru localizarea minimului este nevoie de cel put in trei puncte (g. 7.2),
spre deosebire de localizarea solut iei unei ecuat ii f(x) = 0, unde sunt necesare
numai doua puncte care ndeplinesc condit ia f(a) f(b) < 0. Avand trei puncte
a < b < c, minimul x
m
este cont inut de intervalul (a, c) daca f(a) > f(b) < f(c).
Fiind date doua valori a < b pentru care f(a) > f(b), localizarea minimului se
poate face dupa urmatorul algoritm:
Date: a < b, f(a) > f(b)
f
a
f(a); f
b
f(b)
Repeta
_

_
c b +k(b a), f
c
f(c)
daca f
c
> f
b
_
atunci x
m
(a, c), stop
altfel a = b, b = c, f
a
= f
b
, f
b
= f
c
.
Pasul de cautare nu trebuie sa e constant, ba dimpotriva, este avantajos ca el
sa creasca de la o etapa la alta astfel ncat localizarea minimului sa e facuta
cat mai repede: h
k+1
= k h
k
, cu k > 1.
Algoritmul prezentat se poate mbunatat i folosind o interpolare parabolica.
Prin (a, f
a
), (b, f
b
) si (c, f
c
) se duce o parabola si se calculeaza punctul de minim
u al acesteia. Daca u > c, se recomanda ca lungimea u c sa nu e prea mare,
spre exemplu u c < 50(c b). Daca u (b, c) si f(b) > f(u) < f(c), atunci
7.1. Minimizarea n lungul unei direct ii 185
minimul funct iei f este ntre b si c.

In caz contrar, avem de a face cu un esec al
extrapolarii parabolice.
Determinarea minimului.
Etapa de determinare efectiv a a minimului x
m
, se poate face e prin reducerea
lungimii intervalului care-l cont ine, e aproximand funct ia f(x) cu o funct ie
mai simpla g(x) pentru care minimul se poate determina pe cale analitica; spre
exemplu, prin cele trei puncte (a, f
a
), (b, f
b
), (c, f
c
), se poate duce un polinom de
interpolare de gradul al doilea, al carui minim se calculeaza cu usurint a. Prima
varianta este sigura, dar are dezavantajul unei convergent e slabe (liniare). A
doua varianta converge n general mult mai repede, dar exista si posibilitatea
ca punctul calculat ca minim al parabolei sa iasa din intervalul care cont ine
minimul. Un algoritm din prima categorie, de reducere a lungimii intervalului,
cunoscut sub denumirea de algoritmul sect iunii de aur, este dat de (7.6) si este
descris n continuare.
Algoritmul sect iunii de aur.
Date: a < b < c; f(a) > f(b) < f(c); >

M
; w = 0.38197; w
1
= 1 w
x
0
a; x
3
c; f
0
f(a); f
3
f(c)
daca [c b[ > [b a[
_
atunci x
1
b; x
2
b +w(c b)
altfel x
2
b; x
1
b w(b a)
f
1
f(x
1
); f
2
f(x
2
)
cat timp [x
3
x
0
[ > [x
1
+x
2
[
_

_
daca f
2
< f
1
_

_
atunci x
0
x
1
; x
1
x
2
; x
2
w
1
x
1
+wx
3
f
0
f
1
; f
1
f
2
; f
2
f(x
2
)
altfel x
3
x
2
; x
2
x
1
; x
1
w
1
x
2
+wx
0
f
3
f
2
; f
2
f
1
; f
1
f(x
1
)
daca f
1
< f
2
_
atunci x
min
x
1
; f
min
f
1
altfel x
min
x
2
; f
min
f
2
.
(7.6)
Fie a < b < c cu f
a
> f
b
< f
c
, nu neaparat b = (a + c)/2. Daca notam
w = (b a)/(c a), atunci 1 w = (c b)/(c a). Se pune problema sa alegem
punctul x (a, c) astfel ncat sa micsoram intervalul care cont ine punctul de
minim. Sa presupunem (b, c) acest intervalul de lungime mai mare unde vom
alege pe x si sa notam z = (x b)/(c a). Tripletul care cont ine minimul
x
m
va a < b < x, sau b < x < c, de lungimi raportate (x a)/(c a) =
w + z, respectiv (c b)/(c a) = 1 w. Strategia este de a minimiza cea
mai dezavantajoasa posibilitate, lucru care se realizeaza impunand ca cele doua
lungimi sa e egale: 1 w = w + z, rezultand z = 1 2w. Cum aceasta
strategie a fost folosita si la determinarea punctului b la pasul anterior, adica
(x b)/(c b) = (b a)/(c a) = w, rezulta x b = w(c b) = z(c a), sau
186 7. Metode de optimizare
1 w = (c b)/(c a) = z/w. Rezulta n nal ecuat ia w
2
3w + 1 = 0, cu
solut ia w = (3

5)/2

= 0.38197. Pozit ia punctului x este acum determinata,


x = b + w(c b) = c (1 w)(c b), adica la distant a 0.38197(c b) de b si
la 0.61803(c b) de punctul c. Lungimea intervalului care cont ine minimul se
reduce cu factorul 0.61803 de la o iterat ie la alta, valoare apropiata de 0.5 de la
metoda bisect iei.
Metoda sect iunii de aur se bazeaza pe strategia pesimista a considerarii
celei mai dezavantajoase situat ii posibile, presupunand ca minimul se aa de
ecare data n intervalul cel mai mare, astfel ncat se impune ca lungimile celor
doua intervale sa e egale rezultand un algoritm lent dar sigur. Pentru marirea
vitezei de deplasare catre minim, se poate construi o parabola printre punctele
(a, f
a
), (b, f
b
) si (c, f
c
) si se calculeaza minimul acesteia (dar care poate sa e
la fel de bine si un maxim!)
x = b
1
2
(b a)
2
[f(b) f(c)] (b c)
2
[f(b) f(a)]
(b a)[f(b) f(c)] (b c)[f(b) f(a)]
. (7.7)
De asemenea, se poate folosi o interpolare cu o parabola cubica, caz n care se
foloseste si derivata funct iei f.
Un algoritm foarte utilizat, care combina robustet ea metoda sect iunii de aur
cu viteza interpolarii parabolice, este algoritmul lui Brent. Algoritmul foloseste
sase puncte a, b, u, v, t si x, nu neaparat distincte, denite dupa cum urmeaza: a
si b delimiteaza intervalul care cont ine minimul, x este punctul n care funct ia f
are cea mai mica valoare calculata pana la un moment dat, t este valoarea
anterioara a lui x, v este valoarea anterioara a lui t, iar u este punctul n
care s-a facut ultima evaluare a funct iei f. Interpolarea parabolica se face
folosind punctele x, t si v. Pentru ca rezultatul interpolarii parabolice sa e
acceptat, trebuie impuse cateva masuri de sigurant a: (a) minimul calculat sa
e n intervalul (a, b); (b) deplasarea fat a de ultima valoare care aproximeaza
minimul lui f sa e mai mica dacat jumatatea deplasarii anterioare, pentru a
avea certitudinea ca avem un proces convergent catre punctul minim; (c) punctul
de minim calculat u sa nu e foarte apropiat de o valoare anterior calculata p,
adica [u p[ > p, cu > 0. Pentru oprirea iterat iilor se foloseste condit ia
[b a[ e = 2[x[ +
s
, (7.8)
adica lungimea itervalului care cont ine punctul de minim sa e mai mica decat
o lungime impusa e, iar
s
este un numar mic (spre exemplu
s
= ) introdus
pentru a evita nedeterminarea care apare pentru cazul n care punctul de minim
este chiar x = 0. Condit ia (7.8) asigur a precizia relativa de calcul pentru punctul
de minim data de relat ia
[x x
min exact
[ [ x[ +
s
, (7.9)
unde reamintim c a valoarea nu trebuie sa e mai mica decat radacina patrata
a lui epsilon masina, adica

M
.
7.2. Metode de minimizare fara calculul derivatelor 187
Algoritmul cont ine o prima parte destinata init ializarii variabilelor
b c; f
b
f
c
; u b; f
u
f
b
; w = 0.381966; ma xiter = 100
daca f
b
< f
a
atunci t b; f
t
f
b
; v a; f
v
f
a
altfel t a; f
t
f
a
; v b; f
v
f
b
iter 1; ud 0; x = b a;
x 0.5(b +a); f
x
f(x); e (2 [x[ + 1)
(7.10)
urmata de bucla iterativa principala
cat timp (b a) > esi iter maxiter
_

x
m
0.5(b +a)
daca [x[ > 0.5ud sau u a < e sau b u < e
_

_
atunci
daca x > x
m
atunci x w(a x) altfel x w(b x)
ud max([b x), [a x[)
altfel
r (x t)(f
x
f
v
); q (x v)(f
x
f
t
); p (x v)q (x t)r
x 0.5p/(q r); ud [x[
f
u
f(u); u x +x
daca f
u
f
x
_

atunci
daca u x atunci a x altfel b x
v t; t x; x u; f
v
f
t
; f
t
f
x
; f
x
f
u
altfel
daca u < x atunci a u altfel b u

_
daca f
u
f
t
sau t = x
atunci
v t; t u; f
v
f
t
; f
t
f
u
altfel
daca f
u
f
v
sau v = x sau v = t atunci v u; f
v
f
u
e (2 [x[ + 1); iter iter + 1
7.2 Metode de minimizare fara calculul deriva-
telor
Cea mai simpla modalitate de determinare a minimului unei funct ii reale de mai
multe variabile reale, U : R
n
R , consta n minimizarea funct iei U de-a lungul
direct iilor denite de versorii e
i
si este data de algoritmul (7.11). Algoritmul
(7.11) se repeta p ana cand se obt ine minimul funct iei U (se poate folosi o condit ie
de forma (7.18)). Aceasta metoda, numita si metoda cautarii unidimensionale,
se dovedeste inecienta pentru ca, e nu este capabila sa atinga minimul, e
apropierea de acesta se face cu pasi mici.
188 7. Metode de optimizare
Devine clar ca pentru a obt ine o metoda mai ecienta este necesar a gasi
direct ii de deplasare mai eciente. Astfel de direct ii sunt direct iile conjugate.
Date: x
0
, U(x)
i = 1 : n
_
x
i
= min
R
U(x
i1
+e
i
) .
(7.11)
Direct ii conjugate.
Fie forma patratica denita de
(x) = U(x
k
) +
n

j=1
(x
j
x
k
j
)
T
U
x
j

k
+
1
2
n

j,p=1
(x
j
x
k
j
)
T

2
U
x
j
x
p

k
(x
p
x
k
p
) .
(7.12)
Forma (7.12) coincide cu primii trei termeni din dezvoltarea n serie Taylor a
funct iei U(x) n vecinatatea punctului x
k
. Notand cu g
k
gradientul funct iei U n
punctul x
k
si cu G
k
matricea hessian n acelasi punct, expresia (7.12) se poate
scrie vectorial
(x) = U
k
+ (x x
k
)
T
g
k
+
1
2
(x x
k
)
T
G
k
(x x
k
) , (7.13)
iar gradientul funct iei este
= g
k
+G
k
(x x
k
) . (7.14)
Punctul x
k
s-a obt inut pentru valoarea care asigura un minim pentru
funct ia (x
k1
+p
k1
), deci vectorul g
k
va perpendicular pe direct ia p
k1
,
adica (p
k1
)
T
g
k
= 0 (vezi 7.3). Deplasarea spre aproximat ia urmatoare x
k+1
a
minimului funct iei va trebui facuta astfel ncat sa nu se piarda castigul obt inut
pe direct ia p
k1
. Pentru aceasta trebuie ca gradientul funct iei n punctul x
k+1
sa ramana perpendicular pe direct ia p
k1
, adica (g
k+1
)
T
p
k1
= 0. T inand
cont de (7.14), putem scrie = g
k+1
+ G
k
(x x
k+1
). Scazand cele doua
relat ii si t inand cont ca deplasarea din x
k
n x
k+1
s-a facut dupa direct ia p
k
,
rezulta
g
k+1
= g
k
+G(x
k+1
x
k
) = g
k
+
k
Gp
k
, (7.15)
unde
k
R.

Inmult ind relat ia (7.15) cu (p
k1
)
T
, se obt ine
(p
k1
)
T
g
k+1
= (p
k1
)
T
g
k
+
k
(p
k1
)
T
Gp
k
(7.16)
si cum (p
k1
)
T
g
k+1
= (p
k1
)
T
g
k
= 0, rezulta condit ia care trebuie ndeplinita
de direct iile de deplasare
(p
k1
)
T
Gp
k
= 0 . (7.17)
7.2. Metode de minimizare fara calculul derivatelor 189
Doua direct ii care ndeplinesc condit ia (7.17) se numesc direct ii G-conjugate.
Pentru o forma patratica , folosind deplasari pe direct ii conjugate denite de
(7.17), minimul funct iei este atins dupa exact n deplasari. Pentru aceasta, mai
trebuie ndeplinita o condit ie necesara: la ecare etapa, minimizarea funct iei
dupa direct ia p
k
trebuie facuta exact pentru a asigura condit ia (p
k
)
T
g
k
= 0.
Pentru funct ii care sunt diferite de o forma patratica, minimul nu se atinge dupa
n deplasari, dar algoritmul are o convergent a buna.
Ramane problema determinarii acestor direct ii fara a folosi matricea hessian
G. Powell a fost primul care a gasit o modalitate de a obt ine un set de n direct ii
conjugate folosind urmatorul algoritm:
Date: x
0
, U(x), , n, maxiter
l = 1 : maxiter
_

_
u
i
= e
i
Se init ializeaza direct iile de cautare dupa ecare n + 1 iterat ii.
U
0
U(x
0
)
k = 1 : (n + 1)
_

_
i = 1 : n
x
i
min
R
U(x
i1
+u
i
) Se minimizeaza U n lungul direct iilor u
i
.
i = 1 : (n 1)
u
i
u
i+1
u
n
x
n
x
0
Se nlocuieste ultima direct ie a setului cu
direct ia care trece prin punctele x
n
si x
0
.
x
0
min
R
U(x
n
+u
n
) Se reinit ializeaza punctul de start.
daca [U U
0
[ < (1 +[U[) atunci minim determinat stop.
Condit ia de oprire folosita este de forma
[U
k+1
U
k
[ < (1 +[U
k+1
[) , (7.18)
unde am vazut la 7.1 ca

M
,
M
ind epsilon masina. Condit ia (7.18)
asigura precizia relativa pentru valoarea minimului U(x

), daca acesta ia valori


departate de zero. Daca valoarea minima este chiar zero sau foarte apropiata
de zero, atunci testul (7.18) asigura precizia absoluta .
Powell a demostrat nca din 1964 ca, pentru o forma patratica (7.13), k
iterat ii din algoritmul prezentat mai sus produc un set de direct ii u
i
dintre care
ultimele k sunt G-conjugate, cu condit ia ca minimizarile n lungul direct iilor u
i
sa e facute exact. O iterat ie se obt ine dupa n + 1 minimizari dupa direct iile
date de vectorii u
i
, i = 1, n, si x
n
x
0
. Exista tendint a ca direct iile construite
sa devina liniar dependente. Acest lucru poate evitat (a) printr-o init ializare
a direct iilor u
i
= e
i
la ecare n + 1 iterat ii (asa cum s-a si procedat mai sus),
sau (b) n loc de a renunt a fara discernamant la ultima direct ie, se renunt a la
direct ia care a produs cea mai mare descrestere.
Revenind la relat ia (7.13), sa observam ca pentru a deni o forma patratica
este nevoie de un numar de parametrii de ordinul n
2
. Mai exact, matricea G ind
simetrica, suma elementelor distincte este 1+2+. . .+n = n(n+1)/2. Daca t inem
cont si de cele n componente ale gradientului, rezulta n(n + 3)/2 parametrii
190 7. Metode de optimizare
ce denesc o forma patratic a.

In timp ce matricea hessian G este constanta,
gradientul se modica, dar este nul n punctul de minim.

In concluzie, indiferent
de metoda pe care o vom folosi, cu sau fara calculul derivatelor funct iei scop,
chiar pentru o forma patratica, determinarea minimului nainte de obt inerea
celor O(n
2
) parametrii este cel mult ntamplatoare.
Diferent a esent iala ntre metodele de optimizare consta n modul n care se
calculeaza acesti parametrii. Spre exemplu, n cazul unei forme patratice, fo-
losind matricea hessian, determinarea minimului revine la rezolvarea sistemului
de ecuat ii liniare G (x x
0
) = g
0
(vezi relat ia 7.14). Evaluarea derivatelor,
cand acest lucru este posibil fara dicultat i suplimentare, va constitui cea mai
ecienta modalitate de obt inere a informat iei necesare determinarii minimului.
7.3 Metoda gradientului
Este cea mai simpla metoda de descrestere care foloseste derivatele funct iei U.
Se bazeaza pe observat ia ca suprafet ele cu n 1 dimensiuni de forma
U (x) = K
i
= constant, i = 1, 2, 3, . . . , (7.19)
denumite si suprafet e de nivel pentru funct ia U(x), sunt astfel dispuse ncat
constantele K
i
iau valori crescatoare cand ne deplasam pe direct ia pozitiva a
vectorului gradient
g grad U U
_
U
x
1
,
U
x
2
, ...,
U
x
n
_
T
. (7.20)
Din cele trei notat ii uzuale din (7.20), o vom prefera pe prima, adica n mod
curent vom nota gradientul cu g.
Deoarece g este variabil, deplasarea trebuie sa e sucient de mica pentru
ca plecand dintr-un punct oarecare, sa ntalnim suprafet e de nivel superioare.
Daca, dimpotriva, ne deplasam n sens opus (g ), vom ntalni constante de
nivel K
i
cu valori descrescatoare.
Exemplu. Fie funct ia U = x
2
+y
2
. Suprafet ele de nivel sunt cilindri coaxiali
cu axa Oz iar

K
i
reprezinta razele cercurilor de intersect ie cu planul xOy. Pe
de alta parte, gradientul este g U = 2(

ix+

jy),

i si

j ind versorii axelor Ox


si Oy. Se observa ca n orice punct gradientul este orientat n sensul cresterii
razei, deci a cresterii constantelor K
i
(g. 7.3).
Pentru determinarea minimului funct iei U, construim sirul de iterat ii
x
k+1
= x
k

k
g
k
, U(x
k+1
) < U(x
k
) , (7.21)
unde x
k
= (x
k
1
, x
k
2
, ..., x
k
n
)
T
, iar
g
k
=
_
g
k
1
, g
k
2
, ..., g
k
n
_
T
=
_
U(x
k
)
x
1
,
U(x
k
)
x
2
, ...,
U(x
k
)
x
n
_
T
(7.22)
7.3. Metoda gradientului 191
Figura 7.3: Gradientul funct iei U = x
2
+ y
2
.
este vectorul gradient n x
k
si
k
un scalar pozitiv. Direct ia p
k
= g
k
este
o direct ie de descrestere pentru funct ia U n punctul x
k
(este chiar direct ia
de maxima descrestere n x
k
). Determinarea scalarului
k
se face cu una
din metodele prezentate n 7.1. Daca minimul
k
se determina exact, atunci
gradientul g
k+1
este perpendicular pe g
k
, adica
x
k+1
= x
k

k
g
k
, (g
k
)
T
g
k+1
= 0 . (7.23)
Ultima egalitate (7.23) exprima faptul ca punctul n care produsul scalar
al gradient ilor g
k
si g
k+1
este nul reprezinta un punct de minim unidirect ional.

Intr-adevar, daca vectorul g


k
ar avea o componenta diferita de zero dupa direct ia
g
k+1
, atunci funct ia U ar scadea n continuare, ceea ce contrazice denit ia
minimului.
Metoda gradientului utilizata cu valoarea optima pentru scalarul
k
(caz
n care spunem ca am folosit un pas optimal sau pas Cauchy), are o viteza de
convergent a liniara, adica distant a la punctul de minim tinde spre zero ca o
progresie geometrica de rat ie subunitara (vezi 7.5). Convergent a devine lenta,
de regula, cand numarul de variabile n creste si de asemenea, n vecinatatea
minimului cand vectorul g tinde catre zero. Metoda de cautare a minimului
dupa direct ia g
k
, utilizand un singur parametru
k
, a fost descrisa n 7.1.

In continuare, dam un algoritm general pentru metodele de optimizare care


192 7. Metode de optimizare
folosesc gradientul funct iei scop:
Date: x
0
, U(x), U(x), , maxiter
x x
0
; U
k
U(x
0
); g
k
U(x
0
)
p g
k
Init ializarea direct iei de descrestere.
i = 1 : maxiter
_

_
x min
R
U(x +p)
U
k+1
U(x); g
k+1
U(x)
daca U
k+1
U
k
atunci esec stop.
[test convergent a]
[actualizarea direct iei de descrestere p]
U
k
U
k+1
.
(7.24)
Algoritmii care folosesc calculul gradientului funct iei scop U se deosebesc
prin modul de calcul al direct iei de descrestere p. Cateva precizari sunt nece-
sare n cele ce urmeaza. O prima problema o constituie alegerea metodei de
minimizare unidirect ionala, pentru care recomandam algoritmul lui Brent. O
a doua problema o constituie precizia cu care trebuie efectuata minimizarea
unidirect ionala. Unele metode (cum ar metoda gradientului) nu necesita un
calcul precis, n timp ce convergent a altor metode impune un calcul exact al mi-
nimului unidirect ional (metodele cvasi-Newton, metodele de gradient conjugat).
Un criteriu practic pentru o minimizare unidirect ionala aproximativa este legat
de proiect ia direct iei de descrestere pe direct ia gradientului (care se numeste
derivata direct ionala)
[(p
k
)
T
U(x
k
+
k
p
k
)[ [(p
k
)
T
g
k
[, 0 < 1 . (7.25)
Pentru = 0 avem (p
k
)
T
g
k+1
= 0, adica minimizarea unidirect ionala s-a facut
exact. Pe l anga criteriul (7.25) se poate impune o condit ie de descrestere su-
cienta de forma
U
k+1
U
k

k
(g
k
)
T
p
k
. (7.26)
Valori uzuale: [10
5
, 10
1
], (, 1).
O a treia problema o constituie testul de convergent a.

In general, trei criterii
sunt mai des folosite:
1. |x
k+1
x
k
|
x
(1 +|x
k+1
|)
2. |U
k+1
U
k
|
U
(1 +|U
k+1
|)
3. |U(x
k+1
)|
g
.
(7.27)
Primul criteriu arata ca primele t cifre semnicative ale aproximat iilor punctul
de minim din doua iterat ii succesive sunt identice, daca
x
= 10
t
, n timp ce
cel de-al doilea criteriu arata ca primele t cifre semnicative ale valorii funct iei
scop sunt identice,
U
= 10
t
. S-au luat masuri de precaut ie pentru cazul
n care punctul de minim este chiar x = 0 sau valoarea minima este U = 0,
scriind spre exemplu |x
k+1
x
k
|
x
|x
k+1
| +
s
n loc de |x
k+1
x
k
|
x
.
7.4. Metoda Newton 193
Criteriului 3 trebuie folosit cu atent ie, deoarece satisfacerea lui nu nseamna n
mod obligatoriu atingerea unui punct de minim, ci poate si un punct de maxim
sau punct sa (un punct de inexiunen cazul unidimensional). Trebuie reamintit
(vezi 7.1) ca valorile impuse pentru precizia relativa trebuie sa ndeplineasca
condit iile
x

M
,
U

M
, iar pentru criteriul 3,
g

3

M
, unde
M
este epsilon masina..
7.4 Metoda Newton
Asa cum s-a precizat, metoda gradientului are o viteza de convergent a liniara,
adica la ecare iterat ie distant a la punctul de minim scade ca termenii unei
progresii geometrice de rat ie subunitara. Acest lucru se mai poate scrie si n
funct ie de comportarea raportului distant elor pana la punctul de minim, notat
cu x

, pentru doua iterat ii succesive, k si k + 1


lim
k
sup
|x
k+1
x

|
|x
k
x

|
r
= c . (7.28)
Daca r = 1 si c (0, 1), atunci convergent a este liniara. Daca c este apropiat
de unitate, convergent a este lenta. Daca r = 1 si c = 0, avem convergent a
superliniara. Daca r > 1 si c este nit, r se numeste ordin de convergent a.
Pentru r = 2 convergent a este patratica.
Metoda Newton se bazeaza pe aproximarea funct iei de minimizat U(x) , la
iterat ia k, cu o forma patratica
k
(x) denita de (7.13). Funct ia
k
are un
minim x = x

daca matricea G
k
este pozitiv denita
1
, adica daca pe orice
direct ie ne-amndeparta de punctul x

exista inegalitatea
k
(x)
k
(x

) > 0
ntr-o vecinatate sucient de mica. Punctul de minim x = x

, este un punct
stat ionar, adica derivatele part iale de ordinul ntai, deci gradientul
k
, se
anuleazan acest punct. Prin urmare, pentru valori sucient de mici ale distant ei
pana la minim |x x

| < , putem scrie t inand cont de (7.13)

k
(x)
k
(x

=
1
2
(x x

)
T
G
k
(x x

) > 0 . (7.29)
Pe de alta parte, rezolvarea sistemului
k
= 0, se poate face utilizand
metoda iterativa Newton (vezi 8.2)
G
k
(x
k+1
x
k
) = g
k
x
k+1
= x
k
G
1
k
g
k
= x

. (7.30)
Pentru determinarea punctului de minim (x

reprezinta aproximat ia x
k+1
pentru minimul x

al funct iei U ) este necesara rezolvarea unui sistem de n


ecuat ii liniare cu n necunoscute, adica circa n
3
/3 + n
2
operat ii, n cazul cand
folosim metoda de eliminare a lui Gauss (vezi capitolul 5). Din a doua egalitate
(7.30), se observa ca direct ia de deplasare x

x
k
spre punctul de minim nu
este direct ia g
k
a metodei gradientului, aceasta ind modicata prin nmult ire
cu inversa matricei hessiene, G
1
k
. Direct ia de descrestere p
k
data de relat ia
p
k
= G
1
k
g
k
, (g
k
)
T
p
k
< 0 , (7.31)
194 7. Metode de optimizare
Figura 7.4: Deplasarea catre minim.
pentru ecare iterat ie k, se numeste direct ie Newton. Proiect ia direct iei New-
ton dupa direct ia gradientului este negativa deoarece matricele G
k
si G
1
k
sunt
pozitiv denite
(g
k
)
T
p
k
= (g
k
)
T
G
1
k
g
k
< 0 , (7.32)
inegalitatea (g
k
)
T
p
k
< 0 ind denitorie pentru orice direct ie de descrestere p
k
.
Ca si n cazul metodei Newton pentru sisteme neliniare (vezi capitolul 5),
aproximarea cu o forma patratica conduce la rezultate bune daca aproximat ia
init iala este sucient de apropiata de solut ie. Aceasta nseamna ca, daca hessi-
ana exista si este pozitiv denita, ncepand cu un anumit x
k
sucient de aproape
de minimul x = x

, metoda Newton de descrestere converge iar convergent a este


patratica.

In forma prezentata, metoda Newton are o serie de neajunsuri. Astfel, daca


ntr-un anumit punct x
k
, hessiana G
k
nu este pozitiv denita, direct ia Newton
nu mai este o direct ie de descrestere si se poate ca U
k+1
> U
k
(punctul A, gura
7.4).

In zonele n care funct ia U are o variat ie plata, putand aproximata local
cu o funct ie de gradul 1 (hiperplan), hessiana se anuleaza (G = 0), iar ecuat ia
(7.30) nu are solut ie (punctul L, gura 7.4). Daca n aceste cazuri introducem
o matrice pozitiv denita n locul hessianei, deplasarea spre minimul x

va
continua si n aceste situat ii.

In cazul unidimensional, aceasta revine la a urma
n punctele A si L direct ia parabolelor tangente la funct ia y de minimizat, dar
avand tot timpul o curbura pozitiva, direct iile modicate obt inute ducandu-ne
n punctele m
A
si m
L
respectiv.
Avand la baza metoda Newton, au fost dezvoltate o serie de metode care
pastreaza convergent a locala buna (patratica), dar prezinta si o convergent a
globala, eliminand neajunsurile prezentate anterior. Dintre acestea, prezentam
n continuare metoda regiunii de ncredere n model.
7.4. Metoda Newton 195
Algoritmul metodei regiunii de ncredere n model (7.35) se bazeaza ca si
metoda Newton pe aproximarea funct iei scop U(x) cu o forma patratica (x)
data de (7.13). Fiind vorba de o aproximare valabila local, se stabileste o zona
de ncredere n model, adica zona n care se admite ca aproximeaza bine pe
U.

In aceasta zona care este o sfera cu centrul n x
k
de raza
k
, se determina
punctul de minim pentru (x). Daca minimul aproximantei (x) se aan afara
regiunii de ncredere, acesta nu este luat n considerare. Raman de rezolvat doua
probleme: marimea razei
k
a regiunii de ncredere si determinarea direct iei de
descrestere p
k
.
Marimea razei regiunii de ncredere la pasul k + 1 se alege n funct ie de
valoarea anterioara si de raportul r
k
dintre reducerea efectiva si cea prezisa,
r
k
= [U(x
k+1
) U(x
k
)]/[(x
k+1
) (x
k
)] . (7.33)
Pentru valori mici ale raportului r
k
(evident r
k
> 0 daca ne deplasam spre
minim), se ia
k+1
<
k
, n timp ce pentru valori care tind catre unitate se
poate lua
k+1
>
k
.
Direct ia de cautare p
k
se determina plecand de la direct ia Newton denita
de (7.31), rescrisa n forma
(G
k
+I)p
k
= g
k
, (7.34)
unde se alege astfel ncat matricea G
k
+I sa e pozitiv denita, evitandu-se
astfel una din situat iile nedorite care apar n aplicarea metodei Newton. Pentru
= 0 regasim metoda Newton daca noua aproximat ie a punctului de minim nu
iese n afara regiunii de ncredere, adica daca |p
k
|
2
<
k
. Pentru 0 se cauta
o direct ie de descrestere pentru care minimul aproximantei sa se ae chiar la
frontiera regiunii de ncredere, adica |p
k
|
2
=
k
. Deoarece matricea G
k
+ I
este pozitiv denita, rezolvarea sistemului de ecuat ii (7.34) se face mai ecient
folosind descompunerea Cholesky G
k
+ I = R
T
R (vezi capitolul 5). Numarul
maxim de iterat ii maxiter n care apreciem ca trebuie gasit minimul se alege cu
atat mai mare cu cat numarul n de variabile ale funct iei scop U este mai mare.
Numarul de iterat ii np pentru calculul direct iei de descrestere nu trebuie sa e
mai mare decat 3, pentru ca efortul de calcul depus pentru o iterat ie sa nu e
exagerat de mare.
196 7. Metode de optimizare
Algoritmul regiunii de ncredere n model.
Date: x
0
, U(x), U(x), G(x), , ,
1
,
2
,
0
,
0
, ,
p
, maxiter, np
[Valori uzuale pentru constante: = 0.25, = 0.75,
1
= 0.5,
2
= 2]
x x
0
;
0
;
0;
U
k
U(x
0
); g
k
U(x
0
); G
k
G(x
0
);
k
U
k
k = 1 : maxiter
_

Calculul direct iei de descrestere p


k
_

_
d 1; ip 1
cat timp [d[ >
p
[[ + 10
5
si ip < np
_

_
factorizare Cholesky G
k
+I = R
T
R
rezolva sistemul R
T
Rp
k
= g
k
rezolva sistemul R
T
q = p
k
d (|p
k
|/|q|)
2
(|p
k
|/ 1)
+d
ip ip + 1
(7.35)

_
x
k+1
x
k
+p
k
; U
k+1
U(x
k+1
); g
k+1
U(x
k+1
); G
k+1
G(x
k+1
)

k+1
U
k
+ (p
k
)
T
g
k+1
+
1
2
(p
k
)
T
G
k+1
(p
k
)
d U
k+1
U
k
daca [d[ < [U
k+1
[ atunci minim calculat stop.
r
k
d/[(x
k+1
) (x
k
)]
daca r
k
> atunci x
k
x
k+1
; g
k
g
k+1
; G
k
G
k+1
Actualizarea razei regiunii de ncredere
_

_
daca r
k

atunci
1

altfel daca r
k
>
atunci
2
.
7.5 Metode cvasi-Newton
Metodele cvasi-Newton constau n aproximarea matricei G cu o matrice B,
simetrica si pozitiv denita. Pentru a combina proprietat ile de convergent a
globala ale metodei gradientului cu cele de convergent a locala rapida ale metodei
Newton, ecuat ia pentru direct ia Newton p
k
(7.30) se nlocuieste cu ecuat ia
B
k
p
k
= g
k
, (7.36)
iar deplasarea se ia cu ponderea
k
s
k
x
k+1
x
k
=
k
p
k
, (7.37)

k
ind determinat n ecare etapa prin condit ia de minim al funct iei de o
variabila f(
k
) U(x
k
+
k
p
k
).
7.5. Metode cvasi-Newton 197
Pentru actualizarea matricei B
k
la pasul k+1, adica pentru calculul matricei
B
k+1
, se dezvolta funct ia U n serie Taylor n jurul punctului x
k+1
, pastrandu-se
doar primii trei termeni
U(x) = U(x
k+1
) + (x x
k+1
)
T
g
k+1
+
1
2
(x x
k+1
)
T
G
k+1
(x x
k+1
) , (7.38)
pentru care
g

= g
k+1
+G
k+1
(x x
k+1
)

= g
k+1
+B
k+1
(x x
k+1
) , (7.39)
Impunand ca B
k+1
sa aproximeze matricea hessian G
k+1
pentru x = x
k
, se
obt ine condit ia cvasi-Newton
B
k+1
s
k
= g
k+1
g
k
y
k
. (7.40)
Relat ia (7.40) nu este sucienta pentru determinarea matricei B
k+1
, astfel
nc at ea trebuie completata cu o condit ie suplimentara. De exemplu, putem
impune ca matricea B
k+1
sa nu difere mult de B
k
, adica |B
k+1
B
k
| sa e
minim. Folosind norma Frobenius ponderata si determinand matricea B
k+1
ca
o solut ie a problemei de minimizare
min|W
1/2
(B
k+1
B
k
)W
1/2
|
F
[ B
k+1
s
k
= y
k
, (7.41)
unde matricele B si W sunt simetrice si pozitiv denite, iar W satisface condit ia
cvasi-Newton Ws
k
= y
k
, se obt ine formula Davidon-Fletcher-Powell (DFP)
B
k+1
= B
k
+
z
k
(y
k
)
T
+y
k
(z
k
)
T
(y
k
)
T
s
k

(z
k
)
T
s
k
[(y
k
)
T
s
k
]
2
y
k
(y
k
)
T
z
k
y
k
B
k
s
k
= y
k
+
k
g
k
.
(7.42)

In mod similar, rezolvarea problemei de optimizare


min|W
1/2
(B
1
k+1
B
1
k
)W
1/2
|
F
[ B
k+1
s
k
= y
k
, (7.43)
conduce la formula Broyden-Fletcher-Goldfarb-Shanno (BFGS)
B
k+1
= B
k
+
y
k
(y
k
)
T
(y
k
)
T
s
k

B
k
s
k
(s
k
)
T
B
k
(s
k
)
T
(B
k
s
k
)
. (7.44)
Ambele formule (7.42) si (7.44) se pot simplica t inand cont ca B
k
s
k
=
k
g
k
si au urmatoarea proprietate remarcabila: daca B
k
este pozitiv denita atunci
B
k+1
este pozitiv denita.
Relat iile (7.36) si (7.37) se pot scrie si sub forma
x
k+1
= x
k

k
B
1
k
g
k
. (7.45)
Avantajul relat iei (7.45) consta n eliminarea rezolvarii sistemului de ecuat ii
liniare. Notand H = B
1
, pentru DFP se obt ine
198 7. Metode de optimizare
H
k+1
= H
k
+
s
k
(s
k
)
T
(y
k
)
T
s
k

H
k
y
k
(y
k
)
T
H
k
(y
k
)
T
(H
k
y
k
)
, (7.46)
iar pentru BFGS
H
k+1
=
_
I
s
k
(y
k
)
T
(y
k
)
T
s
k
_
H
k
_
I
y
k
(s
k
)
T
(y
k
)
T
s
k
_
+
s
k
(s
k
)
T
(y
k
)
T
s
k
=
= H
k

H
k
y
k
(s
k
)
T
+s
k
(y
k
)
T
H
k
(y
k
)
T
s
k
+
s
k
(y
k
)
T
H
k
y
k
(s
k
)
T
[(y
k
)
T
s
k
]
2
+
s
k
(s
k
)
T
(y
k
)
T
s
k
.
(7.47)
Formulele pentru inversa matricei hessiene prezinta avantajul principal al
numarului mai mic de operat ii, nsa sunt mai put in stabile din punct de vedere
al pastrarii pozitivitat ii matricelor H.

In plus, matricele B
k
, simetrice si pozitiv
denite, admit o descompunere Choleski de forma B
k
= R
T
k
R
k
.

In acest caz,
rezolvarea sistemului (7.36) necesita numai O(n
2
), operat ii.

In plus, factorii
descompunerii Choleski se pot actualiza direct n O(n
2
) operat ii.

In toate cazurile, ca matrice init iala se poate lua matricea unitate sau orice
matrice simetrica si pozitiv denita. Se observa ca formula BFGS pentru ma-
tricea B este mai simpla, n timp ce pentru matricea H este preferabila formula
DFP. La aplicarea formulelor de mai sus, se evita nmult irea matricelor, uti-
lizandu-se numai produse de vectori sau de vectori si matrice. Convergent a
acestor metode este globala si superliniara.
Exista pericolul ca, din cauza acumularii erorilor de rotunjire, matricele
B sau H sa devina singulare sau sa-si piarda pozitivitatea. O modalitate de
corect ie consta n reinit ializarea matricelor B sau H cu matricea unitate dupa
n iterat ii.
Convergent a metodelor cvasi-Newton depinde esent ial de exactitatea cu care
se determina minimul unidirect ional la ecare etapa. Metoda BFGS se dovedeste
mai put in sensibila din acest punct de vedere, ind mai stabila decat metoda
DFP. Aplicate unor funct ii patratice (U = x
T
Ax, A matrice constanta), meto-
dele cvasi-Newton converg n maximum n iterat ii (n ind numarul de variabile
independente) cand matricea B va cont ine elementele matricei hessiene.
7.6 Metode de gradient conjugat
Metodele de gradient conjugat nu se deosebesc esent ial de metodele cvasi-
Newton din punct de vedere al scopului, si anume obt inerea minimului unei
forme patratice n n iterat ii. Ambele clase de metode necesita calculul derivate-
lor part iale de ordinul ntai si au aceeasi convergent a superliniara. Deosebirea
esent iala consta n faptul ca metodele de gradient conjugat nu necesita memo-
rarea unei matrice.
7.6. Metode de gradient conjugat 199
Fie gradientul formei patratice denita de (7.13), evaluat n punctul x
k+1
(x
k+1
) g
k+1
= g
k
+G(x
k+1
x
k
) = g
k
+
k
Gp
k
, (7.48)
unde am consderat x
k+1
= x
k
+
k
p
k
, iar direct iile de descrestere construite
dupa regula
p
k+1
= g
k+1
+
k
p
k
. (7.49)
Avem de determinat doi parametrii:
k
si
k
. Pentru a pastra avantajul castigat
la iterat iile anterioare (vezi 7.2), vom impune ca direct iile p
k+1
si p
k
sa e G-
conjugate, adica (p
k+1
)
T
Gp
k
= 0.

Inmult ind la dreapta transpusa relat iei (7.49)
cu Gp
k
, se obt ine

k
= (g
k+1
)
T
Gp
k
/(p
k
)
T
Gp
k
. (7.50)

Inmult ind la dreapta aceeasi relat ie cu Gp


k+1
, se obt ine egalitatea
(p
k+1
)
T
Gp
k+1
= (g
k+1
)
T
Gp
k+1
, (7.51)
Punand condit ia ca vectorii g
k
si g
k+1
sa e perpendiculari ((g
k+1
)
T
g
k
= 0),
folosind relat ia (7.51) si scot and din (7.48) Gp
k
= (g
k+1
g
k
)/
k
, din relat ia
(7.50) se obt ine

k
= (g
k+1
)
T
Gp
k
/(g
k
)
T
Gp
k
= (g
k+1
)
T
g
k+1
/(g
k
)
T
g
k
. (7.52)
Pentru determinarea lui
k
vom folosi din nou condit ia ca vectorii g
k
si g
k+1
sa e perpendiculari.

Inmult ind relat ia (7.48) cu (g
k+1
)
T
, respectiv cu (g
k
)
T
,
se obt in relat iile

k
= (g
k
)
T
g
k
/(g
k
)
T
Gp
k
= (g
k+1
)
T
g
k+1
/(g
k+1
)
T
Gp
k
, (7.53)
relat ii care nu sunt utile din punct de vedere practic deoarece nu avem la
dispozit ie hessiana G. Vom arata nsa ca ponderea
k
din relat ia (7.48) este
chiar valoarea care rezulta din problema de optimizare
k
= min
R
U(x
k
+p
k
).
Pentru aceasta trebuie sa aratam ca vectorii g
k+1
si p
k
sunt perpendiculari,
adica (p
k
)
T
g
k+1
= 0.

Inmult ind la stanga relat ia (7.48) cu (p
k
)
T
si t inand cont
de relat ile (7.49) si (7.51), se obt ine succcesiv
(p
k
)
T
g
k+1
= (p
k
)
T
g
k
+
k
(p
k
)
T
Gp
k
= (g
k
+
k1
p
k1
)
T
g
k

k
(g
k
)
T
Gp
k
= (g
k
)
T
g
k
+
k1
(p
k1
)
T
g
k
(g
k
)
T
g
k+1
+ (g
k
)
T
g
k
=
k1
(p
k1
)
T
g
k
. (7.54)
Daca la pasul anterior cautarea unidirect ionala s-a facut exact, adica ponderea

k1
a fost determinata astfel ncat (p
k1
)
T
g
k
= 0, atunci avem (p
k
)
T
g
k+1
= 0.
Am obt inut astfel setul de direct ii G-conjugate p
k
construite cu relat ia (7.49),
cu valoarea
k
data de relat ia (7.52). Pentru construirea setului de direct ii p
k
200 7. Metode de optimizare
nu este nevoie de matricea hessian G, dar este necesar ca ponderile
k
sa e
calculate exact.
Desi teoretic am gasit o singura cale de obt inere a unui set de direct ii G-
conjugate, n practica se ntalnesc mai multe variante, n funct ie de modul cum
se calculeaza parametrul :
Metoda Fletcher-Reeves
k
= (g
k+1
)
T
g
k+1
/(g
k
)
T
g
k
;
Metoda Polak-Ribi`ere
k
= (g
k+1
)
T
y
k
/(g
k
)
T
g
k
, y
k
= g
k+1
g
k
;
Metoda Hestens-Stiefel
k
= (g
k+1
)
T
y
k
/(y
k
)
T
p
k
.
Pentru o forma patratica relat iile de mai sus sunt echivalente. Astfel, numa-
r atorul relat iei Polak-Ribi`ere se mai scrie (g
k+1
)
T
(g
k+1
g
k
) = (g
k+1
)
T
g
k+1
,
deoarece (g
k+1
)
T
g
k
= 0, iar numitorul relat iei Hestens-Stiefel se scrie (y
k
)
T
p
k
=
(g
k+1
)
T
p
k
(g
k
)
T
p
k
= 0 (g
k
)
T
g
k
= (g
k
)
T
g
k
.
Se observa tendint a metodei Polak-Ribi`ere de reinit ializare a direct iei de
cautare dupa direct ia gradientului simplun situat iile dicile, cand x
k+1
x
k
este
foarte mic si g
k+1
g
k
. Din aceasta cauza, pentru funct ii obiectiv complicate
metoda Polak-Ribi`ere se dovedeste a mai robusta. Metoda Hestens-Stiefel are
si la numitor termenul y
k
= g
k+1
g
k
, fapt care provoaca dicultat i n situat ia
mai sus amintita.
Avans and la ecare iterat ie cu pasul optim
k
=

k
, convergent a metodelor
de gradient conjugat este superliniara. Pentru a evita efectele nedorite datorate
acumularii erorilor de rotunjire, se recomanda reinit ializarea algoritmului dupa
n + 1 pasi, punandu-se
k+1
= 0. Ea este sugerata si de faptul ca, pentru o
funct ie patratica, metodele de gradient conjugat converg n cel mult n iterat ii.
Metodele de gradient conjugat necesita O(n) operat ii pe iterat ie; de aseme-
nea, au proprietat i de convergent a globala. Ca urmare, la rezolvarea probleme-
lor cu un numar mare de variabile se recomanda folosirea metodelor de gradient
conjugat n locul metodelor cvasi-Newton.
7.6.1 Rezolvarea sistemelor de ecuat ii liniare folosind me-
tode de optimizare
Metodele de optimizare pot aplicate cu succes pentru rezolvarea sistemelor de
ecuat ii liniare (capitolul 5), ndeosebi pentru sisteme mari, atunci cand metodele
directe nu mai sunt eciente. Deoarece numarul de variabile este mare, n astfel
de situat ii sunt preferate metodele de gradient conjugat.
Pentru a folosi o metoda de optimizare, trebuie denita funct ia obiectiv U.
Fie sistemul de ecuat ii liniare
Ax = b , (7.55)
unde A este o matrice simetrica pozitiv denita, adica avem A
T
= A si x
T
Ax >
0 pentru orice x ,= 0.

In aceste condit ii, problema rezolvarii sistemului (7.55)
este echivalenta cu problema minimizarii formei patratice
U(x) = x, Ax) 2 x, b) , (7.56)
7.6. Metode de gradient conjugat 201
unde pentru produsul scalar s-a utilizat notat ia
x, b) x
T
b =

n
i=1
x
i
b
i
. (7.57)

In cazul n care matricea A este simetrica, gradientul funct iei U este dat de
relat ia
g(x) U(x) = 2(b Ax) . (7.58)
Se observ a ca funct ia U are un extrem pentru solut ia x a sistemului (7.55).

In
lungul unei direct ii de descrestere p avem relat iile
U(x +p) = x +p, A(x +p)) 2 x +p, b)
= x, Ax) +x, Ap) +p, Ax) +
2
p, Ap) 2 x, b) 2p, b)
= U(x) + 2p, Ax) 2p, b) +
2
p, Ap)
= U(x) + 2p, Ax b) +
2
p, Ap) . (7.59)
Am folosit egalitatea x, Ap) =

A
T
x, p
_
=

p, A
T
x
_
, si cum A
T
= A, rezulta
x, Ap) = p, Ax). Observam cum coecientul lui
2
este pozitiv, p, Ap) > 0
deoarece matricea A este pozitiv denita, deci funct ia U are un minim pentru
=

care poate determinat din condit ia


d
d
U(x +p) = 2 p, Ax b) + 2p, Ap) , (7.60)
rezultand

= p, b Ax) / p, Ap) . (7.61)


Cu valoarea

data de (7.61), obt inem minimul funct iei U dupa direct ia p


U(x +

p) = U(x) +

[2 p, Ax b) +

p, Ap)]
= U(x) +

[2 p, Ax b) +p, b Ax)]
= U(x)

p, b Ax)
= U(x) p, b Ax)
2
/ p, Ap) . (7.62)
Dam n continuare algoritmul de determinare a minimului funct iei U data de
(7.56) folosind metoda gradientului pentru care direct ia de descrestere este p =
g data de (7.58). Condit ia de oprire folosita este |b Ax|
2
2
< .
Date: x
0
, A, b, maxiter,
iter 1; norm 1; x x
0
cat timp norm > si iter maxiter
_
_
p b Ax; norm p, p)
norm/ p, Ap)
x x +p .
202 7. Metode de optimizare
Determinarea minimului funct iei U data de (7.56) se poate face folosind
orice alta metoda de optimizare. Spre exemplu, aplicarea metodei Fletcher-
Reeves duce la algoritmul (7.65).

In partea stanga am prezentat o varianta mai
usor de urmarit n timp ce n partea dreapta este o varianta optimizata pentru
codicareantr-un limbaj de programare. Testul de oprire este

r
k+1
, r
k+1
_
< ,
unde r
k+1
este reziduul la pasul k + 1 care coincide cu gradientul funct iei scop
denita de (7.56). Iterat iile se opresc si n cazul n care naintarea spre minim
devine lenta, adica

p
k
, p
k
_
< .
Numarul de iterat ii necesare obt inerii solut iei sistemului (7.56) depinde de
numarul de condit ionare al matricei A (vezi capitolul 5). Pentru a mari vi-
teza de convergent a, se poate mbunatat i condit ionarea sistemului (7.56) prin
transformarea sa ntr-un sistem echivalent

A x =

b , (7.63)
unde

A = S
T
AS, x = S
1
x,

b = S
T
b . (7.64)
Spunem ca am efectuat o precondit ionare a sistemului.
Algoritmul Fletcher-Reeves pentru sisteme liniare.
Date: x
0
, A, b, maxiter, , Date: x
0
, A, b, maxiter, ,
r
0
b Ax
0
x x
0
; r b Ax; p r
p
0
r
0
c r, r) ; d c
k = 0 : (maxiter 1) k = 1 : maxiter
_

_
daca

p
k
, p
k
_
1/2
< stop

r
k
, r
k
_
/

p
k
, Ap
k
_
x
k+1
x
k
+
k
p
k
r
k+1
r
k

k
Ap
k
daca

r
k+1
, r
k+1
_
< stop

r
k+1
, r
k+1
_
/

r
k
, Ar
k
_
p
k+1
r
k+1
+
k
p
k
.
_

_
daca p, p)
1/2
< stop
z Ap; c/ p, z)
x x +p
r r z
d r, r)
daca d < stop
p r + (d/c)p
c d .
(7.65)
Daca matricea sistemului original are multe elemente nule (matrice rara),
operat ia de precondit ionare poate duce la pierderea acestui avantaj. Din acest
punct de vedere, n loc de a efectua o precondit ionare explicita a sistemului ori-
ginal urmat a apoi de rezolvarea numerica a sistemului obt inut, este mai avan-
tajoasa din punct de vedere numeric folosirea unei tehnici de precondit ionare
implicita folosind relat iile
x
k
= S
1
x
k
; p
k
= S
1
p
k
r
k
=

b

A x
k
= S
T
b (S
T
AS)(S
1
x
k
) = S
T
r
k
r = S r
k
= Q
1
r
k
, unde Q
1
= S S
T
.
(7.66)
7.6. Metode de gradient conjugat 203

In aceste condit ii obt inem



k
=

r
k
, r
k
_
/
_
p
k
,

A p
k
_
=

S
T
r
k
, S
T
r
k
_
/

S
1
p
k
, (S
T
AS)(S
1
p
k
)
_
=

SS
T
r
k
, r
k
_
/

SS
1
p
k
, Ap
k
_
=

Q
1
r
k
, r
k
_
/

p
k
, Ap
k
_
=

r
k
, r
k
_
/

p
k
, Ap
k
_
. (7.67)
Relat ia de deplasare catre minimul ce reprezinta solut ia sistemului (7.63) este
x
k+1
= x
k
+
k
p
k
, (7.68)
sau t inand cont de (7.66), se obt ine
S
1
x
k+1
= S
1
x
k
+
k
S
1
p
k
. (7.69)

Inmult ind la stanga cu S relat ia (7.69), obt inem


x
k+1
= x
k
+
k
p
k
. (7.70)
Analog se obt in relat iile
r
k+1
= r
k

k
Ap
k
,
k
=

r
k+1
, r
k+1
_
/

r
k
, r
k
_
, p
k+1
= r
k+1
+
k
p
k
.
(7.71)
Dam n continuare algoritmul pentru rezolvarea sistemului de ecuat ii liniare
folosind metoda de gradient conjugat Fletcher-Reeves cu precondit ionare.
Date: x
0
, A, b, maxiter, , Date: x
0
, A, b, maxiter, ,
r
0
b Ax
0
x x
0
; r b Ax
rezolva sistemul Q r
0
= r
0
rezolva sistemul Qz = r
p
0
r
0
p r; c z, r)
k = 0 : (maxiter 1) k = 1 : maxiter
_

_
daca

p
k
, p
k
_
1/2
< stop

k

r
k
, r
k
_
/

p
k
, Ap
k
_
x
k+1
x
k
+
k
p
k
r
k+1
r
k

k
Ap
k
rezolva sistemul Q r
k+1
= r
k+1
daca

r
k+1
, r
k+1
_
< atunci
daca

r
k+1
, r
k+1
_
2
< stop

r
k+1
, r
k+1
_
/

r
k
, r
k
_
p
k+1
r
k+1
+

k
p
k
.
_

_
daca p, p)
1/2
< stop
z Ap; c/ p, z)
x x +p
r r z
rezolva sistemul Qz = r
d z, r)
daca d <
_
_
atunci
e r, r)
daca e < stop
p z + (d/c)p
c d .
Din nou, n partea stanga prezentam o varianta mai usor de urmarit n timp ce
n partea dreapta optimizata pentru codicarea ntr-un limbaj de programare.
204 7. Metode de optimizare
Deoarece la ecare pas trebuie rezolvat un sistem de forma Qx = y, matricea Q
trebuie aleasa astfel ncat sistemul sa e usor de rezolvat. Daca spre exemplu
matricea Q este diagonala, atunci efortul de calcul pentru rezolvarea sistemului
este minim la ecare pas, n timp ce forme mai complicate ale matricei Q permit
obt inerea unui sistem mai bine condit ionat si deci un numar mai mic de iterat ii
necesare obt inerii solut iei. Ne aam n fat a unui exemplu tipic de compromis
ntre un efort minim pe iterat ie dar numar mare de iterat ii si un efort mai mare
pe iterat ie care duce la micsorarea numarului de iterat ii.
7.7 Metode specice de optimizare
Din aceasta categorie fac parte metodele care sunt special construite pentru
funct ii scop ce au forme particulare. Fie funct ia scop de forma
U(x) =
1
2

n
j=1
F
2
j
(x) =
1
2
|F|
2
2
, (7.72)
unde F : R
n
R
n
. O problema de optimizare cu funct ia scop de forma (7.72)
se mai ntalneste sub denumirea de problema celor mai mici patrate neliniare.
Observam ca
g
i
= U/x
i
=

n
j=1
(F
j
/x
i
)F
j
, i 1, n , (7.73)
sau vectorial
U(x) g(x) = J
T
(x)F(x) , (7.74)
unde J este matricea jacobiana a funct iei F. Not and cu [G
i
]
j,p
= (
2
F
i
)/(x
j
x
p
),
se obt ine

2
U(x) = J
T
(x)J(x) +Q(x) , (7.75)
unde cu Q s-a notat matricea
Q(x) =

n
i=1
F
i
(x)G
i
(x) . (7.76)
Daca minimul funct iei U este zero sau foarte mic, atunci n vecinatatea acestuia
avem valori mici pentru funct iile F
i
astfel ncat se poate neglija termenul Q(x)
din relat ia (7.75), aproximand
2
hessiana cu relat ia
G(x) =
2
U(x)

= J
T
(x)J(x) , (7.77)
obt inand deci o metoda cu ecient a comparabila metodelor de tip Newton.
Dintre metodele care rezolva problema celor mai mici patrate neliniare, metoda
Levenberg-Marquardt face parte din categoria metodelor regiunii de ncredere
n model prezentate la 33. Algoritmul prezentat pentru metoda regiunii de
ncredere poate aplicat direct pentru metoda Levenberg-Marquardt, dar t inand
cont de aproximarea hessianei cu (7.77) pot aduse mbunatat iri modului de
calcul al direct iei de descrestere p.
2
Aceasta ipoteza nu mai este justicata daca

U(x

) este de acelasi ordin de marime cu


valoarea proprie maxima a matricei J
T
J, unde cu x

s-a notat punctul n care U ia valoarea


minima.
7.8. Probleme de optimizare cu restrict ii 205
Figura 7.5: Exemplu de restrict ie liniara.
7.8 Probleme de optimizare cu restrict ii
Majoritatea problemelor practice se formuleaza ca probleme de optimizare la
care variabilele funct iei obiectiv sunt supuse unor restrict ii. Este bine de ret inut
faptul ca deseori metodele de optimizare pentru probleme cu restrict ii au la baza
metodele de optimizare fara restrict ii, cu mici modicari. Spat iul nu ne permite
prezentarean detaliu a metodelor de optimizare cu restrict ii, dar cateva not iuni
de baza sunt necesare.
Restrict iile pot liniare sau neliniare. Restrict iile liniare pot scrise n
forma generala
Ax = b , (7.78)
cand avem de a face cu restrict ii egalitat i liniare, sau
Ax b , (7.79)
cand avem de a face cu restrict ii inegalitat i liniare. Matricea A are m linii,
unde m este numarul de restrict ii impuse celor n variabile ale funct iei scop.
Un punct x R
n
este admisibil daca ndeplineste condit iile (7.78) sau (7.79)
dupa cum este cazul. Spre exemplu, n cazul n = 2, o restrict ie egalitate de
forma x
1
x
2
= 1 impune ca minimul sa e cautat pe o dreapta (g. 7.5),
iar o restrict ie inegalitate de forma x
1
x
2
1 face ca punctele admisibile
sa e plasate n semiplanul de deasupra dreptei x
2
= 1 x
1
. Se observa ca
restrict iile egalitate reduc dimensiunea problemei: minimizarea unei funct ii scop
de n variabile supuse la m restrict ii independente, se poate obt ine aplicand o
metoda de optimizare fara restrict ii pentru o funct ie scop de n m variabile.
O prima posibilitate de rezolvare a problemelor cu restrict ii liniare este de a
folosi o metoda de optimizare fara restrict ii mpreuna cu o strategie de penalizare
a funct iei scop daca algoritmul ncearca sa iasa din domeniul D al punctelor
206 7. Metode de optimizare
admisibile. Practic se redeneste funct ia scop

U(x) =
_
U(x), pentru x D
, pentru x / D
(7.80)
unde U(x
0
). Aceasta strategie are dezavantajul micsorarii vitezei de con-
vergent a, n special daca minimul este n apropierea frontierei lui D.
O alta posibilitate o constituie tehnicile de transformare. Spre exemplu, n
cazul particular al unor restrict ii tip margini simple de forma
i
x
i

i
,
i 1, m

, x
i

i
, i m

+ 1, m se poate utiliza urmatoarea transformare de


tip Valentine:
x
i
=
1
2
[(
i

i
) cos z
i
+ (
i
+
i
)], i 1, m

x
i
=
i
z
2
i
, i m

+ 1, m .
(7.81)
Tehnicile bazate pe transformari prezinta dezavantajul cresterii neliniaritat ii
funct iei scop transformate

U.

In plus,

U poate deveni nemarginita sau poate
avea derivate discontinue ori hessiana nedenita sau singulara. Metode mai
performante se bazeaza pe combinat ii ntre tehnicile algebrei liniare si cele ale
optimizarii fara restrict ii.
Restrict iile neliniare pot la randul lor de tip egalitate sau inegalitate
f
i
(x) = 0, sau f
i
(x) 0, i 1, n , (7.82)
unde f
i
: R
n
R iar m este numarul de restrict ii. Pentru rezolvarea pro-
blemelor de optimizare cu restrict ii neliniare se pot folosi tehnici de penalizare,
extensii ale metodelor de rezolvare a problemelor cu restrict ii liniare sau metode
specice restrict iilor neliniare cum ar metoda de lagrangean proiectat.
Algoritmul Simplex.
Numeroase probleme din practica conduc la necesitatea optimizarii unei funct ii
scop liniare
3
de forma
U(x
1
, x
2
, . . . , x
n
) =
n

j=1

j
x
j
, (7.83)
unde cel put in un coecient
j
este nenul, cu restrict ii de forma
x
j
0, j 1, n ,

n
j=1
a
ij
x
j
b
i
, i 1, m
1
, b
i
0 ,

n
k=1
a
kj
x
j
b
k
, k m
1
+ 1, m
2
, b
k
0 , (7.84)

n
l=1
a
lj
x
j
= b
l
, l m
2
+ 1, m, b
l
0 .
3
O funct ie U : R
n
R este liniara daca ndeplineste urmatoarele doua condit ii: U(x) =
U(x) si U(x + y) = U(x) + U(y), oricare ar vectorii x, y R
n
si scalarii , , R.
7.8. Probleme de optimizare cu restrict ii 207
Figura 7.6: Un exemplu simplu de programare liniara.
Vom urmari n continuare obt inerea unei valori maxime (pe care o vom numi
n continuare valoare optima) a funct iei U. Problema determinarii unei valori
minime pentru U se reduce la determinarea unei valori maxime pentru U.
Restrict iile de forma x
j
0 sunt impuse de semnicat ia zica a variabilelor.
Frontiera domeniului admisibil, care cont ine tot i vectorii x R
n
carendeplinesc
simultan condit iile (7.84) si care se numesc vectorii admisibili, este denita de
ecuat iile liniare obt inute prin transformarea inegalitat ilor n egalitat i. Vectorul
admisibil care realizeaza valoarea maxima a funct iei scop U se numeste vector
optimal. Condit iile b
i
0 pot ntotdeauna ndeplinite (n cazul n care b
p
< 0,
se nmult este cu 1 inegalitatea respectiva). Deoarece gradientul unei funct ii
liniare de forma (7.83) este nenul n orice punct, rezulta ca valoarea optima se
aa pe frontiera domeniului admisibil. Aceasta valoare maxima este nita numai
daca restrict iile (7.84) denesc un poliedru convex. Mai mult, daca valoarea
optima este unica, atunci ea se va gasi ntr-unul din varfurile poliedrului.
Problema determinarii valorii optime a funct iei U se reduce principial la
cautarea acesteia pe frontiera domeniului valorilor admisibile. Vectorul optimal
trebuie sa satisfaca sistemul de m ecuat ii liniare ce denesc frontiera si care
cont in n necunoscute, x
j
, j 1, n, n 7 m.
Exemplu.

In gura (7.6) este exemplicat cazul
U(x1, x2) = x1 + x2, (7.85)
cu restrict iile
x1 + x2 10, 2x1 + x2 3, x1 + x2 3, x1 0, x2 0 . (7.86)
Pe gura se observa domeniul admisibil, precumsi vectorul optimal unic x = (1.75, 6.50)
aat pe frontiera.

In cazul n care n este mare, parcurgerea la ntamplare a frontierei poate


total inecienta. Algorimul simplex ofera o modalitate de cautare a valorii
208 7. Metode de optimizare
optime asigurand n acelasi timp doua lucruri: (a) valoarea funct iei scop U
creste de la un pas la altul; (b) valoarea optima este obt inuta n maximum
M pasi, unde M = max(n, m). Este interesant ca desi algoritmul simplex a
fost elaborat nca din 1948 de G.B. Dantzig iar proprietatea (b) de mai sus era
conrmata practic, aceasta a fost demostrata riguros abia n 1982 de S. Smale.
Pentru prezentarea algoritmului simplex, vom apela la doua exemple simple.
Exemplul I. Se cere sa se gaseasca valoarea maxima a funct iei
U = x2 3x3 , (7.87)
cu restrict iile
x1 + 2x2 3x3 = 3, x2 x3 x4 = 1, x1, x2, x3, x4 0 , (7.88)
si binent eles xi 0. Se observa valoarea funct iei U este cu atat mai mare cu cat x2 este
mai mare si x3 mai mic. Rescriem prima relat ie (7.88) n forma x1 = 32x2 +3x3 0.
Ultima inegalitate este impusa de condit ia x1 0; rezulta x2
3
2
(1 + x3). Pentru
7.8. Probleme de optimizare cu restrict ii 209
Tabelul 7.1: Exemplu de calcul pentru algoritmul simplex
x2 x3 x1 x3 x1 x4
U 0 1 1 U 3/2 1/2 1/2 U 4 1 1
x1 3 2 3 x2 3/2 1/2 3/2 x2 9 2 3
x4 1 1 2 x4 5/2 1/2 1/2 x3 5 1 2
valoarea x3 = 0 care convine din punctul de vedere al unei valori cat mai mari pentru
U, se obt ine x2 3. Luand x3 = 0, x2 = 3/2, rezulta x1 = 0, x4 = 5/2 si U = 3/2.
Exemplul II. Consideram funct ia scop
U = x2 x3 , (7.89)
cu restrict iile
x1 + 2x2 3x3 = 3, x2 + 2x3 + x4 = 1, x1, x2, x3, x4 0 . (7.90)
Procedand la fel ca n exemplul precedent, obt inem x1 = 3 2x2 + 3x3 0 rezultand
x2
3
2
(1 + x3) si x4 = 1 + x2 2x3 0, rezultand x3
1
2
(1 + x2). Suntem tentat i
de valorile x3 = 0, x2 = 3 cu care am obt inut cu atata usurint a U = 3 n exemplul
precedent. Daca introducem nsa inegalitatea pentru x2 obt inuta mai sus n expresia
funct iei scop, obt inem U
3
2
+
1
2
x3, rezultat care sugereaza ca valoarea minima nu
se obt ine pentru x3 = 0.

Intr-adevar, putem scrie x2
3
2
(1 + x3)
3
2
[1 +
1
2
(1 + x2)],
rezultand x2 = 9, x3 = 5, x1 = 0, x4 = 0, U = 4.

Incepem sa simt im nevoia unei
metodologii mai riguroase, fara de care este clar ca nu vom putea rezolva problemele
cu mai multe variabile.
Prezentam algoritmul simplex folosindu-ne de exemplul 2 si cu ajutorul tabelului
7.1. Observamn prima parte a tabelului (primele 4 coloane) ca variabilele x1 si x4 apar
distinct de variabilele x2 si x3, de care depinde n mod explicit funct ia U. Variabilele
x1 si x4 care apar pe prima coloana se numesc variabile de baza. Variabilele de baza
sunt acele variabile care apar ntr-o singura relat ie-restrict ie (si numai ntr-una), avand
coecientul pozitiv si care se pot exprima numai n funct ie de celelalte variabile.

In
consecint a, funct ia scop se poate exprima n asa fel ncat sa nu cont ina nici o variabila
de baza.

In exemplul nostru avem variabile de baza x1 si x4. Din tabel citim de pe
prima linie U = 0 +1 x2 1 x3, de pe linia a doua x1 = 3 2x2 +3x3 s.a.m.d. De pe
linia funct iei scop cautam un coecient pozitiv si gasim 1 pe coloana variabilei x2, adica
la cresterea valorii x2 creste si valoarea funct iei scop U. Pe coloana lui x2 cautam un
coecient negativ, si gasim valoarea 2 pe linia lui x1.

Inseamna ca nu putem creste
oricat de mult valoarea x2, deoarece acest lucru poate duce la obt inerea unei valori
negative pentru variabila de baza pentru care am gasit coecientul negativ, n cazul
nostru x1. De fapt, rata cresterii funct iei U este data de multiplicatorul pij =

j
|a
ij
|
bi,
unde j = 1 este coecientul lui x2 din expresia funct iei U, aij = 2 este coecientul
negativ de pe coloana lui x2, iar bi = 3 este termenul liber din expresia variabilei de
baza x1, (i = 1, j = 2). Daca pe coloana lui x2 tot i coecient ii ar fost pozitivi, ar
nsemnat ca puteam creste oricat de mult pe x2, iar funct ia scop ar crescut de
210 7. Metode de optimizare
asemenea oricat de mult, caz n care problema este ncheiata. Pasul urmator consta n
interschimbarea variabilelor x2 si x1, adica din relat ia de denit ie a variabilei de baza
x1 se expliciteaza x2, iar expresia obt inuta este folosita pentru a obt ine U si x4 numai
n funct ie de x1 si x3. Se obt in relat iile x2 =
1
2
(3 x1 + 3x3), U =
1
2
(3 x1 + x3)
si x4 =
1
2
(5 x1 x3), relat ii prezente prin coecient i n partea a doua a tabelului
7.1.

In general, se procedeza la interschimbarea variabilelor xi si xj corespunzatoare
unui multiplicator pij =

j
|a
ij
|
bi maxim.

In continuare, cautam un coecient pozitiv
pe linia funct iei U, si gasim valoarea
1
2
pe coloana x3, adica U nca mai creste cu x3.
Repetam procedeul, cautam un coecient negativ pe coloana x3, gasim valoarea
1
2
pe linia x4 si interschimbam variabilele x3 si x4 ca la pasul anterior. Obt inem ultimele
patru coloane din tabelul 7.1. Pe linia funct iei U citim U = 4 x1 x4. Calculul s-a
ncheiat, deoarece coecient ii variabilelor din expresia funct iei U sunt tot i negativi.
Solut ia o citim pe coloana funct iei scop, adica U = 4, x2 = 9, x3 = 5, iar pentru
celelalte variabile obt inem x1 = x4 = 0.
Stim n acest moment sa rezolvam o problema de programare liniara n
forma standard restransa. Forma standard se caracterizeaza prin faptul ca cele
m restrict ii (m < n) sunt egalitat i.

In plus, matricea A ce se formeaza cu
coecient ii a
ij
, i 1, m, j 1, n, trebuie sa e nedegenerata, adica rang(A) =
m.

In plus, daca dispunem de un set de nm variabile de baza, spunem ca avem
o problema n forma standard restransa. Dupa cum vom vedea n continuare,
orice problema de programare liniara de forma (7.83) se poate transforma ntr-o
forma standard restransa.
Restrict iile inegalitat i se transforma n restrict ii egalitat i cu ajutorul vari-
abilelor auxiliare.

In cazul n care nu putem izola variabilele de baza ca n
exemplele precedente, adica nu putem izola nm variabile care sa apara ntr-o
singura relat ie-restrict ie cu coecient pozitiv, apelam la variabile ctive (sau
articiale). Spre exemplu, restrict iile (7.84) se rescriu n forma
x
j
0, j 1, n ,
z
i
= b
i

n
j=1
a
ij
x
j
+y
i
, i 1, m
1
, b
i
0 ,
z
k
= b
k

n
k=1
a
kj
x
j
y
k
, k m
1
+ 1, m
2
, b
k
0 , (7.91)
z
l
= b
l

n
l=1
a
lj
x
j
, l m
2
+ 1, m, b
l
0 ,
unde am introdus variabilele auxiliare y
i
0, i 1, m
2
si variabilele articiale
z
i
0, i 1, n. Un set de variabile de baza se obt ine prin determinarea valorii
maxime pentru funct ia scop auxiliara
U

n
i=1
z
i
, (7.92)
care va corespunde cu z
i
= 0, utilizand acelasi mod de calcul.

In continuare
se aplica algoritmul simplex pentru aarea valorii maxime a funct iei U date de
(7.83). Daca nu se poate obt ine valoarea maxima pentru U

cu z
i
= 0, nseamna
ca nu exista nici un vector admisibil cu restrict iile date de (7.84).
7.8. Probleme de optimizare cu restrict ii 211
Figura 7.7: Domeniul de calcul pentru problema (7.93).
Exemplu. Sa se gaseasca minimul funct iei
U(x1, x2) = F
2
1
(x1, x2) + F
2
2
(x1, x2) ,
F1(x1, x2) x1 + 3 lg [x1[ x
2
2
, F2(x1, x2) 2x
2
1
+ 1 x1x2 5x1 ,
(7.93)
situat n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare .

Intrucat domeniul n care se cauta solut iile este destul de mare, se pune
problema alegerii unei valori init iale. O modalitate o constituie mpart irea domeniul n
mai multe subdomenii (12 patrate n exemplul nostru) prin paralele la axele de coordo-
nate (gura 7.7) si evaluarea funct iei U n centrele Ci(i = 1, 2, . . . , 12), obt inandu-se
valorile din tabelul 7.2.
Tabelul 7.2: Valori ale funct iei U n domeniul de calcul
Punct C
1
C
2
C
3
C
4
C
5
C
6
U 0.9945 5.3624 5.9612 31.4492 7.9348 4.8236
Punct C
7
C
8
C
9
C
10
C
11
C
12
U 9.0558 5.0507 24.6631 25.4427 17.0483 0.9060
Pe baza tabelului, se poate stabili o ordine pentru punctele de start n vederea
gasirii minimelor: C12, C1, C6, C8 s.a.m.d.

In tabelul 7.3 sunt prezentate comparativ rezultatele obt inute cu metodele gra-
dient, Fletcher-Reeves, Polak-Rib`ere, Hestens-Stiefel si Davidon-Fletcher-Powell. Pen-
tru punctul de start x
0
= (3.5, 2.5) toate metodele converg la solut ia x1 = 3.48744,
x2 = 2.26163. S-a folosit testul de convergent a |g
k
| < 10
5
. Metodele DFP si
cele de gradient conjugat converg rapid, dar remarcam numarul mare de evaluari
212 7. Metode de optimizare
Tabelul 7.3: Rezultatele obt inute la rezolvarea sistemului (7.93)
Metoda Nr. iterat ii Nr. eval. funct ie Nr. eval. gradient
Gradient simplu 17 478 18
Hestens-Stiefel 6 155 7
Fletcher-Reeves 8 225 9
Polak-Rib`ere 6 155 7
DFP 6 168 7
Figura 7.8: Drumul parcurs de metodele DFP si gradient simplu.
ale funct iei U, acesta datorandu-se exclusiv preciziei impuse la calculul scalarului ,
convergent a acestor metode depinzand de precizia cu care se calculeaza optim.
Folosind ca punct de start punctul (0.5, 0.5), metodele de optimizare determina mi-
nimul local al funct iei U dat de x = (0.47980, 0.32323). Folosind aceeasi condit ie
|g
k
|<10
5
, metoda gradientului are nevoie pentru determinarea minimului de 7
iterat ii, Hestens-Stiefel 8, Fletcher-Reeves 9 si Polak-Ribi`ere 10 iterat ii.

In gura (7.8) este reprezentat drumul parcurs de metodele DFP si gradient simplu
pentru punctul de start x
0
= (3.5, 2.5). curbele de nivel U = Ki sunt trasate pentru
valorile Ki |0.906, 0.7, 0.5, 0.3, 0.128, 0.1, 0.05, 0.026, 0.01, 0.0052, 0.00076. Primul
pas este identic pentru ambele metode. Se observa inecient a metodei gradientului
care avanseaza n zig-zag. Cu cat distant a fat a de minim scade, metoda gradientului
devine si mai inecienta. Explicat ia constan faptul ca metoda gradientului se bazeaza
doar pe informat ia furnizata de gradientul funct iei scop, care este nul n punctul de
minim si foarte mic n vecinatatea acestuia.
213
Capitolul 8
Rezolvarea sistemelor
neliniare
Vom considera n sisteme de n ecuat ii cu n necunoscute, de forma
F
i
(x
1
, x
2
, ..., x
n
) = 0, i 1, n , (8.1)
unde F
i
reprezinta funct ii cunoscute de n variabile x
1
, x
2
, ..., x
n
, presupuse con-
tinue, mpreuna cu derivatele lor part iale pana la un ordin convenabil (de obicei,
pana la ordinul doi) pentru ca anumite relat ii de calcul sa e valabile. Se va
urmari gasirea solut iilor reale ale sistemului (8.1) ntr-un anumit domeniu de
interes, domeniu n care se considera valabile si proprietat ile de continuitate
impuse funct iilor F
i
si derivatelor lor.
Sistemul (8.1) se scrie vectorial
F(x) = 0 , (8.2)
unde x = (x
1
, x
2
, . . . , x
n
)
T
si F = (F
1
, F
2
, . . . , F
n
)
T
. Notat ia mai apropiata de
scrierea init iala ar fost F(x
T
), dar s-a renunt at la indicarea transpunerii, fapt
neesent ial de altfel. Cu notat ia (8.2), solut iile reale se cauta pe un domeniu
D R
n
, iar F : D R
n
.
Metodele de rezolvare pot sugerate de metodele utilizate la rezolvarea
ecuat iilor ntr-o singura variabila (capitolul 3). Analogia dintre sistemul (8.2)
si ecuat ia ntr-o singura variabila (3.1), desi formala, este utila. Rezolvarea
unui sistem de n ecuat ii neliniare cu n necunoscute este mult mai dicila n
214 8. Rezolvarea sistemelor neliniare
cazul general n 2 decat pentru n = 1, din mai doua motive.

In primul
rand, pentru n 2 nu mai este posibila localizarea solut iei. Nu mai dispunem
de o metod a analoaga metodei njumatat irii intervalelor pentru separarea unui
interval n care se gaseste sigur o solut ie, ca n cazul unei singure variabile. De
fapt, mult imea vectorilor x nu poate ordonata, ncepand cu n 2. Localizarea
solut iei reprezinta un avantaj covarsitor al cazului unidimensional, pentru ca o
solut ie localizata nu mai poate scapata. Din aceasta cauza, ori de cate ori este
posibil, se recomanda retranscrierea sistemului astfel ncat rezolvarea acestuia sa
se reduca la rezolvarea unei probleme unidimensionale.

In cazul ndimensional,
nu se poate sti niciodata cu certitudine ca solut ia se aa ntr-o anumita zona
pana cand solut ia nu este calculata.

In al doilea rand, un sistem de n ecuat ii cu n
necunoscute poate avea una, niciuna sau mai multe solut ii reale.

In cazul n care
sistemul are mai multe solut ii, trebuie gasita acea solut ie care are semnicat ie
zica (n general rezolvam numeric ecuat ii pentru ca acestea fac parte dintr-un
model matematic care corespunde, n limita unor ipoteze, unui fenomen zic,
economic, etc.).
Rezolvarea unor sisteme de ecuat ii neliniare implica utilizarea unui algo-
ritm iterativ: pornind de la o aproximat ie init iala, algoritmul o va mbunatat ii
de la o iterat ie la alta pana cand va ndeplinita o condit ie de convergent a.
Convergent a algoritmului, n special pentru problemele multi-dimensionale, poate
depinde n mod esent ial de c at buna este valoarea init iala. Aceasta valoare tre-
buie obt inuta, ori de cate ori este posibil, pe baza unui studiu analitic.
8.1 Iterat ia simpla
Metoda iterat iei simple este, asa cum sugereaza si numele, atat iterativa cat
si simpla; din pacate nsa nu este n general si ecienta. Prezent a ei n acest
capitol reprezinta un punct de plecare si de comparat ie pentru celelalte metode.
Sistemul (8.2) se mai poate scrie sub forma echivalenta
F
i
x
i
f
i
(x) = 0, i 1, n , (8.3)
unde f
i
(x) sunt funct ii de n variabile. Iterat ia simpla este denita prin sirul de
iterat ii
x
k+1
i
= f
i
(x
k
), i 1, n, k = 0, 1, 2, . . . , (8.4)
unde indicele superior indica iterat ia. Startul se ia cu vectorul init ial x
0
din
domeniul D n care se cauta solut ia.
Presupunand ca exista o solut ie reala = (
1
,
2
, . . . ,
n
), astfel ncat =
f
i
(), vom putea calcula distant ele la aceasta cu ajutorul diferent elor
x
k+1
i

i
= f
i
(x
k
)
i
= f
i
(x
k
) f
i
() =
n

j=1
(x
k
j

j
)
f
i
x
j
(
k
), i 1, n .
Ultima egalitate de mai sus s-a obt inut aplicand formula cresterilor nite pentru
o funct ie de n variabile. Derivatele part iale f
i
/x
j
se evalueaza n punctul
k
8.1. Iterat ia simpla 215
apart inand cubului ndimensional (x
k
, );
k
depinde atat de iterat ie cat si de
funct ia f
i
. Notand mai departe cu m
i
modulul maxim al derivatelor part iale
m
i
= sup
j
[f
i
(x)/x
j
[ , x (x
k
, ), se obt in imediat inegalitat ile
[x
k+1
i

i
[ m
i
n

j=1
[x
k
j

j
[, i 1, n . (8.5)
Se observa ca distant a dintre doua componente [x
k+1
i

i
[ are o margine care
depinde de distant ele dintre toate componentele vectorilor x
k
si . Ajungem
astfel, n mod resc, la necesitatea de a introduce norme de vectori. Spre exem-
plu, luand modulul maxim al diferent elor componentelor celor doi vectori x si
, se obt ine
|x
k+1
|

n m |x
k
|

, unde m sup
i
m
i
. (8.6)
Din relat ia (8.6) rezulta ca o condit ie sucienta pentru ca sirul de iterat ii (8.4)
sa e convergent catre solut ia este
n m < 1, sau sup
i,j
[f
i
/x
j
[ < 1/n, i, j 1, n . (8.7)
Condit ia (8.7) coincide cu condit ia sucienta de convergent a (3.13) pentru n =
1. Se observa ca restrict ia este cu atat mai severa, cu cat numarul de variabile
independente este mai mare.
O sumare a inegalitat ilor (8.5) dupa indicele i conduce la norma | |
1
(suma
modulelor componentelor vectorilor)
|x
k+1
|
1
|x
k
|
1
n

i=1
m
i
n m |x
k
|
1
. (8.8)
Se observa ca utilizarea normei | |
1
conduce la aceeasi condit ie sucienta de
convergent a (8.7).
O condit ie mai slaba de convergent a se poate obt ine scriind succesiv
[x
k+1
i

i
[ |x
k
|

j=1

f
i
(
k
)
x
j

, i 1, n,
k
(x
k
, ) , (8.9)
sau pentru indicele i
max
care corespunde normei vectoriale maxime
|x
k+1
|

|x
k
|

j=1

f
imax
(
k
)
x
j

. (8.10)
Desi
k
depinde si de indicele i prin forma funct iei f
i
(x), putem evalua suma
din dreapta inegalitat ilor (8.9) si (8.10) n funct ie de norma maxima a matricei
jacobiene J a sistemului de funct ii f
n

j=1

f
i
(
k
)
x
j

sup
i
n

j=1

f
i
(
k
)
x
j

|J(

k
)|

, (8.11)
216 8. Rezolvarea sistemelor neliniare

k
ind un punct independent de indicele i. Prin urmare, se obt ine condit ia
sucienta de convergent a
|J(

k
)|

< 1,

k
(x
k
, ) . (8.12)
Condit ia (8.12) este n general mai slaba decat (8.7).
O formulare generala a condit iei n care se realizeaza convergent a iterat iei
simple este (ntr-un spat iu Banach) ca sistemul de funct ii f sa e contractant,
adica pentru orice pereche de puncte x
1
, x
2
sa se realizeaze inegalitatea
|f(x
2
) f(x
1
)| q|x
2
x
1
|, unde q [0, 1) , (8.13)
Condit iile de convergent a se pot testa n domeniul n care se a a solut ia. Aceste
testari pot implica nsa un volum mare de calcul, cand numarul de variabile este
mare sau/si solut ia este localizata slab.
Din existent a a doua condit ii (8.7) si (8.12) care, n general, nu coincid,
putem nt elege mai bine n ce sens aceste condit ii sunt doar suciente. Ele
nu sunt neaparat necesare, n sensul ca ar putea exista o condit ie mai put in
restrictiva care sa asigure descresterea distant ei la radacina, ncepand, daca nu
chiar cu prima iterat ie, cel put in cu un anumit k > 1.
Daca suntem sucient de aproape de solut ie, condit ia (8.12) poate scrisa
folosind orice alta norma a matricei jacobiene. Viteza de convergent a este cu
atat mai mare cu cat norma (subunitara) este mai mica.

In cazul cand (8.13) este satisfacuta, distant a la radacina poate evaluata


cu relat ia
|x
k+1
|
q
k
1 q
|x
1
x
0
|, q [0, 1] , k = 1, 2, . . . . (8.14)
8.2 Metoda iterativa Newton
Ca si n cazul unei singure variabile (de fapt, chiar ntr-o masura mai mare),
condit iile suciente de convergent a ale iterat iei simple sunt destul de restrictive
pentru a o face impracticabila n majoritatea cazurilor. De aceea, vom cauta
alte metode iterative cu domeniu mai larg si viteza mai mare de convergent a.

In
acest scop, vom aplica formula lui Taylor pentru o funct ie de n variabile F
i
(x)
sub forma
F
i
(x) = F
i
(x
k
) +
n

j=1
(x
j
x
k
j
)
F
i
x
j
+
1
2
n

j,p=1
(x
j
x
k
j
)(x
p
x
k
p
)

2
F
i
(
k
)
x
j
x
p
.
Daca n expresiile de mai sus neglijam ultimul termen si facem x = x
k+1
, atunci
condit ia de deplasare spre solut ie, F
i
(x
k+1
) = 0, ne conduce la sistemul
n

j=1
(x
k+1
j
x
k
j
)
F
i
(x
k
)
x
j
= F
i
(x
k
), i 1, n , (8.15)
8.2. Metoda iterativa Newton 217
care reprezinta metoda iterativa Newton, ce ne furnizeaza vectorul xn aproximat ia
k + 1 n funct ie de datele din aproximat ia anterioara.
Matricea sistemului (8.15) se construieste cu derivatele part iale de ordinul
ntai ale funct iilor F
i
(x), i 1, n, formand matricea jacobiana a sistemului de
funct ii F care se noteaza cu J(x), F

(x) sau F
x
(x). Vom adopta prima notat ie.
Matriceal, sistemul de ecuat ii (8.15) se scrie
J(x
k
)(x
k+1
x
k
) = F(x
k
) . (8.16)
Sistemul de ecuat ii liniare (8.15) sau (8.16) se poate rezolva cu metoda eliminarii
gaussiene (capitolul 5). Matricea jacobiana se calculeaza analitic sau, daca nu
este posibil, numeric, utilizand diferent e nite.
Pentru a studia convergent a metodei, consideram x = ( ind o solut ie).
Obt inem
0 = F
i
(x
k
) +
n

j=1
(
j
x
k
j
)
F
i
x
j
+V
i
, i 1, n , (8.17)
unde s-a notat cu V
i
cantitatea
V
i
=
1
2
n

j,p=1
(
j
x
k
j
)

2
F
i
(
k
)
x
j
x
p
(
p
x
k
p
), i 1, n . (8.18)
Vectorial, relat ia (8.17) se poate scrie
J(x
k
)( x
k
) = F(x
k
) V . (8.19)
Scazand egalitat ile (8.16) si (8.19), se obt ine
J(x
k
) (x
k+1
) = V, sau x
k+1
= J
1
(x
k
) V . (8.20)
Din (8.20), folosind o norma oarecare se obt ine o evaluare a distant ei la radacina
n aproximat ia k + 1
|x
k+1
| |J
1
(x
k
)| |V | . (8.21)
Daca se ia norma maxima, din (8.18) rezulta
|V |

= sup
i
[V
i
[ M
n

j,p=1
[x
k
j

j
[ [x
k
p

p
[ n
2
M|x
k
|
2

, (8.22)
unde M =
1
2
sup
i,j,p

2
F
i
x
j
x
p

. (8.23)
Se obt ine deci
|x
k+1
|

C|x
k
|
2

, unde C = M n
2
sup
k
|J
1
(x
k
)|

. (8.24)
218 8. Rezolvarea sistemelor neliniare
Plecand de la o aproximat ie init iala x
0
, se obt in succesiv
|x
1
|

C |x
0
|
2

= C
1
(C |x
0
|

)
2
1
|x
2
|

C |x
1
|
2

= C
1
(C |x
0
|

)
2
2
. . .
|x
k
|

C
1
(C |x
0
|

)
2
k
.
(8.25)
Prin urmare, metoda converge daca este satisfacuta inegalitatea
C |x
0
|

< 1 . (8.26)
Daca se utilizeaza norma 1, cu ajutorul relat iei (8.18) se obt ine
|V |
1
=

n
i=1
[V
i
[ |x
k
|
2
1

n
i=1
M
i
nM|x
k
|
2
1
,
unde M
i
=
1
2
sup
i,j

2
F
i
x
j
x
p

, iar M = sup
i
M
i
.
(8.27)
Introducand apoi norma 1 n relat ia (8.21) si folosind inegalitatea (8.27), rezulta
|x
k+1
|
1
C
1
|x
k
|
2
1
, unde C
1
= M n sup
k
|J
1
(x
k
)|
1
. (8.28)
Parcurcand aceleasi etape ca n relat iile (8.21), rezulta ca, daca este ndeplinita
inegalitatea
C
1
|x
0
|
1
< 1 , (8.29)
metoda are o convergent a patratica, ca si n cazul cand utiliz am norma maxima.
Condit ia (8.29) poate mai avantajoasa decat (8.26), deoarece scalarul C
1
este
proport ional cu n, n comparat ie cu scalarul C, care este proport ional cu n
2
.

In
schimb, norma 1 este mai mare, n general, decat norma maxima ind satisfacuta
nsa inegalitatea
n |x
0
|

|x
0
|
1
, pentru n 1 . (8.30)
Convergent a are loc ntotdeauna daca este satisfacuta o condit ie de forma
(8.26) sau (8.29), independent de norma utilizata.

In toate cazurile, pentru
vericarea condit iilor de convergent a, sunt necesare evaluari ale inversei matricei
jacobiene si ale derivatelor part iale de ordinul al doilea ale funct iilor F
i
(x),
distant a x
0
ind nsa necunoscuta.
O condit ie de convergent a care utilizeaza rezultatele calculului ntr-o prima
aproximat ie a fost data de Kantorivici.

In acest scop se evalueaza derivatele de
ordinul 2 ntr-o sfera nchisa U
0
de centru x
0
si de raza 2
_
_
x
1
x
0
_
_
. Condit ia
de convergent a este
h
0
2K|J
1
(x
0
)|

|x
1
x
0
|

1 , (8.31)
unde K = sup
i

j,p
sup
xU0

2
f
i
(x)
x
j
x
p

. (8.32)
8.3. Metode cvasi-Newton 219
Notand cu U
0
radacina, eroarea este evaluata prin relat ia
|x
k
|

(1/2)
k1
(h
2
k
1
0
)|x
1
x
0
|

. (8.33)
Rezulta n toate cazurile ca, daca jacobiana J(x) este nesingulara si deri-
vatele de ordinul 2 sunt marginite problema care mai ramane este gasirea unui
punct de plecare x
0
sucient de aproape de solut ie. Desigur, se poate proceda
la mpart irea domeniului D n subdomenii mai mici, n care sa cautam solut ia
succesiv plecand, spre exemplu, din centrul subdomeniului. Reinit ializarea s-ar
face daca dupa un numar xat de iterat ii sirul x
k
nu se stabilizeaza, sau iese
n afara subdomeniului considerat. Acest mod de lucru se poate dovedi nsa
nepractic n cazul unui numar mare de variabile. Spre exemplu, daca ecare
latura a unui cub ndimensional se divide n N part i, numarul de subdomenii
care rezulta este N
n
, ceea ce duce la numere foarte mari pentru N, n 5. De
aceea, pentru apropierea de solut ie se utilizeaza metode care converg n condit ii
mai largi. Acestea sunt metodele de descrestere prezentate n capitolul 7.
8.3 Metode cvasi-Newton
Am vazut ca metoda Newton cere evaluarea matricei jacobiene J(x), adica
evaluarea a n
2
funct ii la ecare iterat ie. Daca nu este posibila obt inerea pe
cale analitica a expresiilor derivatelor part iale ce intra n component a matricei
jacobiene, valoarea acestora poate aproximata folosind o formula cu diferent e
nite de forma
(F
i
)/(x
j
) [F
i
(x
1
, x
2
, . . . , x
j
+h, . . . , x
n
) F
i
(x
1
, x
2
, . . . , x
n
)]/h , (8.34)
fapt care nu reduce nsa numarul de operat ii. Numarul de operat ii poate redus
daca se utilizeaza o matrice B care aproximeaza jacobiana, astfel ncat n locul
sistemului (8.16) se va scrie
B
k
s
k
= F
k
, (8.35)
unde s
k
x
k+1
x
k
si F
k
= F(x
k
). Aproximat ia B
k
a jacobienei trebuie actu-
alizata n etapa urmatoare, lucru se face scriind ca B
k+1
aproximeaza J(x
k+1
),
adica
F
k

= F
k+1
+J(x
k+1
)(x
k
x
k+1
)

= F
k+1
B
k+1
s
k
. (8.36)
Rezulta relat ia cvasi-Newton
B
k+1
s
k
= y
k
, unde y
k
F
k+1
F
k
. (8.37)
Relat ia (8.35) nu este sucienta pentru determinarea elementelor matricei
B
k+1
. Ea se completeaz a cu condit ia ca matricele B
k+1
si B
k
sa difere cat mai
put in de la o iterat ie la alta, adica B
k+1
se determina ca solut ie a problemei de
optimizare
B
k+1
= min|B B
k
|
2
[ B s
k
= y
k
. (8.38)
220 8. Rezolvarea sistemelor neliniare
Vom rezolva problema de optimizare (8.38) indirect, impunand ca B
k
si
B
k+1
sa nu difere pe direct iile perpendiculare pe s
k
, adica pentru orice vector
z pentru care z
T
s
k
= 0, sa avem
B
k
z = B
k+1
z . (8.39)
Din (8.39) si (8.37) se deduce ca (B
k+1
B
k
) se poate alege de forma
B
k+1
B
k
= c (s
k
)
T
(8.40)
c ind un vector arbitrar. Din relat iile (8.35) si (8.37) rezulta succesiv
(B
k+1
B
k
)s
k
= F
k+1
c(s
k
)
T
s
k
= F
k+1
c = F
k+1
/(s
k
)
T
s
k
(8.41)
Rezulta formula iterativa Broyden
B
k+1
= B
k
+
F
k+1
(s
k
)
T
(s
k
)
T
s
k
= B
k
+
(y
k
B
k
s
k
)(s
k
)
T
(s
k
)
T
s
k
. (8.42)
Vom arata acum ca, matricele B
k+1
furnizate de (8.42) sunt cele mai apro-
piate n norma euclidiana sau Frobenius de matricele B
k
.

Intr-adevar, se poate
scrie
|B
k+1
B
k
|
2
= |(y
k
B
k
s
k
)(s
k
)
T
|
2
/(s
k
)
T
s
k
= |(B B
k
)s
k
(s
k
)
T
|
2
/(s
k
)
T
s
k
|B B
k
|
2
|s
k
(s
k
)
T
|
2
/(s
k
)
T
s
k
= |B B
k
|
2
.
Am t inut seama ca norma euclidiana, a matricei s
k
(s
k
)
T
este egala cu produsul
scalar (s
k
)
T
s
k
|s s
T
|
2
2

n
i=1

n
j=1
s
2
i
s
2
j
=

n
i=1
s
2
i

n
j=1
s
2
j
= [(s)
T
s]
2
. (8.43)

In acest fel, plecand de la o aproximat ie init iala B


0
a jacobienei (care ar putea
chiar jacobiana n x
0
, B
0
= J(x
0
)), matricele B se construiesc cu numai n
evaluari de funct ii. Pret ul acestei simplicari l repezinta scaderea vitezei de
convergent a de la patratica la superliniara.
Rezolvarea sistemului de ecuat ii (8.35), care necesita circa n
3
/3 operat ii,
poate evitata construind iterativ matricea inversa B
1
k
. Un avantaj al formei
(8.40) este ca se matricea B
k+1
se poate inversa direct. Mai general, oricare ar
matricea A si vectorii u, v, exist a egalitatea
(A+u v)
1
= A
1

A
1
uv
T
A
1
1 +v
T
(A
1
u)
. (8.44)
Relat ia (8.44) se verica direct, nmult ind cu matricea (A + u v
T
). Facand
A = B
k
, u = c, v = s
k
, din (8.44) se obt ine
H
k+1
= H
k
+
(s
k
H
k
y
k
)(s
k
)
T
H
k
(s
k
)
T
(H
k
y
k
)
, unde H
k
= B
1
k
, (8.45)
8.4. Metoda gradientului 221
cu condit ia (s
k
)
T
(H
k
y
k
) ,= 0.

In acest fel, rezulta
x
k+1
= x
k
H
k
F
k
. (8.46)
Aplicarea formulei (8.46) cere evaluarea a n funct ii (F
k+1
) si O(n
2
) operat ii
pentru determinarea pozit iei x
k+1
. Prin urmare, numarul de operat ii scade n
comparat ie cu (8.37) dar metoda se dovedeste mai put in stabila din punct de
vedere numeric.
Evitarea rezolvarii sistemului de ecuat ii liniare (8.35) se poate face folosind
o factorizare B
k
= Q
k
R
k
unde Q
k
este ortogonala si R
k
este superior triun-
ghiulara. Rezolvarea sistemului (8.35) se va face n O(n
2
) operat ii, iar matricea
B
k+1
se poate obt ine tot n O(n
2
).

In concluzie, metodele cvasi-Newton reduc numarul de operat ii pentru o


iterat ie cu pret ul realizarii doar a unei convergent e locale.
8.4 Metoda gradientului
Aplicarea metodei gradientului prezentata n capitolul 7 la rezolvarea sistemelor
de ecuat ii neliniare se bazeaza pe observat ia ca rezolvarea sistemului (8.1) poate
formulata ca o problema de minimizare pentru o funct ie ajutatoare U(x), care
va scrisa sub forma
U(x) =
1
2

n
j=1
F
2
j
(x) . (8.47)

In acest fel, vom avea avantajul convergent ei globale a metodei gradientului,


n raport cu metodele de tip Newton care au convergent a locala. Rezolvarea
sistemului de ecuat ii F
j
(x) = 0 este echivalent a cu gasirea unui minim U = 0.
Vectorul gradient al funct iei ajutatoare este dat de relat ia
U(x) g(x) = J
T
(x)J(x) . (8.48)
T inand seama de forma speciala (8.47) a funct iei U si de convergent a sirului
U(x
k
) la zero, putem da unele expresii simplicate pentru parametrul
k
. Fo-
losind spre exemplu o aproximat ie liniara pentru U(x
k

k
g
k
) vom scrie,
dezvoltand n serie n jurul valorii
k
= 0

k
= U(x
k
)/(g
k
)
T
g
k
, (g
k
)
T
g
k
=

n
j=1
(g
k
j
)
2
. (8.49)
Rezulta noua pozit ie a punctului x n aproximat ia k + 1
x
k+1
= x
k
g
k
U(x
k
)/

n
j=1
(g
k
j
)
2
, (8.50)
cu condit ia ca funct ia scop sa descreasca, adica U(x
k+1
) < U(x
k
).
Putem nsa folosi o aproximat ie liniara pentru funct iile F
j
(x
k

k
g
k
), j
1, n, de forma
F
j
(x
k

k
g
k
)

= F
j
(x
k
)
k
n

p=1
(F
j
(x
k
)/x
p
) g
k
p
. (8.51)
222 8. Rezolvarea sistemelor neliniare
Funct ia f(
k
) U(x
k

k
g
k
) si derivata f

(
k
) le putem aproxima cu relat iile
f(
k
)

=
1
2
n

j=1
_
F
j
(x
k
)
k
v
k
j

2
, v
k
j

n

p=1
F
j
(x
k
)
x
p
g
k
p
, (8.52)
f

(
k
)

=
n

j=1
_
F
j
(x
k
)
k
v
k
j

v
k
j
, (8.53)
unde am notat cu v
k
j
, j 1, n componentele vectorului v
k
= J(x
k
) g
k
obt inut
prin nmult irea matricei jacobiene J cu vectorul gradient g. Folosind relat ia
(8.53), din ecuat ia f

(
k
) = 0 rezulta o valoare aproximativa pentru
k
optim

=
n

j=1
F
j
(x
k
) v
k
j
/
n

j=1
(v
k
j
)
2
= (v
k
)
T
F(x
k
)/(v
k
)
T
v
k
, (8.54)
noua pozit ie a punctului de minim aproximativ ind x
k+1
= x
k

k
g
k
.
Expresiile aproximative (8.49) si (8.54) sunt utile deoarece convergent a me-
todei gradientului nu este condit ionata de determinarea precisa a valorii

k
;
singura condit ie este ca valoarea funct iei U sa scada, adica U
k+1
< U
k
. De-
terminarea unei valori mai exacte pentru
k
optim se poate face cu una din
metodele prezentate la 7.1. Deoarece, pe masura ce ne apropiem de minim, com-
ponentele gradientului se micsoreaza (n punctul de minim avem, prin denit ie
g = 0), erorile introduse prin calcul fac ca direct ia spre minim sa e din ce
n ce mai put in precis determinata. Pe de alta parte, deplasarile spre minim
devin din ce n ce mai mici.

In consecint a, metoda gradientului converge rapid
n primii pasi, apoi din ce n ce mai lent. Pe de alta parte, metoda Newton
are o comportare inversa, viteza ei de convergent a crescand pe masura ce ne
apropiem de solut ie. Aceste observat ii sugereaza o combinare a celor doua me-
tode n felul urmator: plecand dintr-un punct x
0
, se aplica metoda gradientului
cateva iterat ii k
0
(k
0
n), atata timp cat converge rapid, vericandu-se si daca
funct ia U 0. Se aplica apoi metoda Newton, plecand din punctul x
k0
, pentru
a creste viteza de convergent a si a realiza o precizie ridicata a solut iei. Procesul
este aseman ator etapelor de localizare si ranare de la rezolvarea unei singure
ecuat ii neliniare f(x) = 0 (3).
Algoritmul metodei hibride.
Date: x
0
, U(x), J(x),
0
,
0
, , maxiter
x x
0
;
0
; F
k
F(x
0
); U
k
U(x
0
)
k = 1 : maxiter
_

Calculul direct iei de descrestere p


k
x x +p; F
k+1
F(x); J
k
J(x)
[Actualizare ] - ca la MRI (7.35).
daca U
k+1
> U
k
esec stop.
daca [U
k+1
U
k
[ < [U
k+1
[minim calculat stop.
F
k
F
k+1
(8.55)
8.5. Metoda hibrida 223
Figura 8.1: Direct ia de descrestere pentru metoda hibrida.

_
J
k
J(x)
rezolva sistemul J
k
p
N
= F
k
daca |p
N
|
_

_
atunci p p
N
altfel
p
G
J
T
k
F
k
[U(x J
T
k
F
k
) = minim
n
G
|p
G
|
daca n
G

_
atunci p p
G
+(p
N
p
G
) [ |p| =
altfel p (/n
G
)p
g
8.5 Metoda hibrida
Aceasta metoda face parte din clasa metodelor regiunii de ncredere n model
prezentate la 33.

In principiu, metoda hibrida urmareste combinarea avantaju-
lui de convergent a local a patratica a metodei Newton cu convergent a globala
a metodei gradientului. Pentru funct ia scop U de forma (7.72) se foloseste
ca aproximanta o forma patratica data de (7.13). Pentru matricea hessian se
poate folosi aproximat ia data de (7.77). Daca evaluarea exacta a derivatelor
part iale este imposibila sau foarte dicila, putem e sa folosim o matrice care
aproximeaza hessiana ca n metoda Broyden, e sa le evaluam numeric folosind
diferent e nite de forma
F
i
/x
j

= [F(x
1
, . . . , x
j
+h, . . . , x
n
) F(x
1
, . . . , x
j
, . . . , x
n
)]/h . (8.56)
Algoritmul metodei hibride este asemanator cu cel al metodei regiuni dencredere,
cu o deosebire la calculul direct iei de descrestere. Mai ntai se ncearca avansul
dupa direct ia Newton data de (7.31). Daca pasul Newton p
k
N
iese din afara
regiunii de ncredere (g.8.1), adica |p
k
N
|
2
>
k
, atunci se calculeaza pasul op-
timal pe direct ia gradientului negativ p
k
G
=

k
g
k
, iar daca |p
k
G
|
2
<
k
, atunci
224 8. Rezolvarea sistemelor neliniare
Figura 8.2: Curbele de nivel ale funct iilor F1 si F2.
se cauta cauta o deplasare convenabila ntre cele doua direct ii, folosind o medie
ponderata p
k
= p
k
N
+(1 )p
k
G
. Observam cum pentru = 1 regasim direct ia
Newton, iar pentru = 0 deplasarea se face pe direct ia gradientului negativ
cu pas optimal. Algoritmul pentru metoda hibrida de rezolvare a sistemelor de
ecuat ii neliniare este dat de (8.55).
Exemplu 1. Sa se gaseasca solut iile sistemului de ecuat ii
_
x1 + 3 lg [x1[ = x
2
2
2x
2
1
+ 1 = x1x2 + 5x1 ,
(8.57)
situate n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare. Sistemul (8.57) rescrie n forma
_
F1(x1, x2) x1 + 3 lg [x1[ x
2
2
= 0
F2(x1, x2) 2x
2
1
+ 1 x1x2 5x1 = 0 .
(8.58)
Vom utiliza metodele Newton si Broyden, precum si metoda gradientului cu relat iile
aproximative (8.49) si (8.54) pentru calculul scalarului . Metodele de optimizare de
gradient, gradient conjugat si Davidon-Fletcher-Powell au fost aplicate n exemplul din
capitolul (7) pentru funct ia scop U =
1
2
(F
2
1
+F
2
2
). Matricea jacobiana a sistemului de
funct ii (F1, F2) este
J =
_
1 + 3(lg e)/x1 2x2
4x1 x2 5 x1
_
. (8.59)
Curbele de nivel
1
F1 = 0 si F2 = 0 sunt date n gura (8.2). Solut ia sistemului
(8.58) reprezinta din punct de vedere geometric, punctele n care curbele de nivel din
planul z = 0 ale celor doua funct ii se intersecteaza. Dupa cum se vede si din gura,
1
Curba de nivel reprezinta acea curba din planul z = K pe care o funct ie de doua
variabile z(x, y) are aceeasi valoare K. Pentru trei variabile avem suprafet e de nivel.
8.5. Metoda hibrida 225
Tabelul 8.1: Rezultatele obt inute la rezolvarea sistemului (8.57)
Metoda Nr. iterat ii Nr. eval. funct ie Nr. eval. gradient
Newton 3 4 4
Broyden 14 15 0
Gradient (8.49) 34 104 35
Gradient (8.54) 34 104 35
sistemul admite doua solut ii, dintre care numai una este n domeniul de interes. Se
observa ca mai exista o zona, marcata cu cercul A, unde curbele de nivel ale celor doua
funct ii se apropie destul de mult. Astfel de zone sunt dicile si pot provoca divergent a
metodelor de rezolvare.
Drept criterii de convergent a se recomanda, ntr-o norma de vectoriala oarecare
|F
k + 1
| < F , |x
k + 1
x
k
| < x|x
k + 1
| , (8.60)
unde valorile F si x se aleg n funct ie de precizia dorita, x este de forma 10
t
,
cu t numarul de cifre semnicative exacte dorite pentru solut ie. Pentru F = 10
11
,
cu metoda Newton folosind ca punct de plecare x1 = (3.5, 2.5), se determina solut ia
x1 = 3.48744, x2 = 2.26163 n 3 iterat ii (tabelul 8.1). Cu metoda gradientului solut ia
este obt inuta dupa 34 iterat ii cu ambele formule (8.49) si (8.54) pentru scalarul .
Desi s-au efectuat mai multe iterat ii decat cu metoda gradientului cu minimizare
unidimensionala mai exacta (cand au fost necesare numai 17 iterat ii), numarul de
evaluari ale funct iei scop U este sensibil mai mic, 104 fat a de 478.
Metoda Newton esueaza daca se porneste din punctul x1 = (0.5, 0.5), desi valoarea
funct iei U n acest punct este relativ mica, U = 0.9945. La fel se ntampla si pentru
alte puncte de plecare cu valori x1 apropiate de zero. Explicat ia constan faptul ca atat
valoarea funct iei F1, cat si valoarea derivatei F1/x1 sunt innite n x = 0. Plecand
din acelasi punct, x1 = (0.5, 0.5), metoda gradientului cu scalarul calculat cu relat ia
(8.49) oscileaza circa 50 iterat ii n jurul minimului local U(0.4798, 0.32323)

= 0.476,
dupa care scapa si sare la cea dea doua solut ie a sistemului, x1 = 1.4589, x2 =
1.39677. Folosind formula (8.49), metoda gradientului oscileaza n jurul minimul
local al funct iei U. Practic determina acest minim, care nsa nu este o solut ie a
sistemului (8.58).
Cea de-a doua solut ie a sistemului (care nu este ceruta n enunt ul problemei),
x1 = 1.4589, x2 = 1.39677, poate obt inuta cu metoda Newton n 5 iterat ii pornind
din punctul x
0
= (2.5, 0.5).
Trebuie ment ionat ca problema propusa poate rezolvata mai simplu, exprimand
pe x2 din ecuat ia a doua n funct ie de x1 si nlocuind n prima ecuat ie. Se obt in
relat iile
x2 = 2x1 5 + 1/x1, F(x1) = x1 + 3 lg [x1[ (2x1 5 + 1/x1)
2
= 0 .
Gracul funct iei F(x1) este dat n gura 8.3. Ecuat ia obt inuta se poate rezolva cu
metoda Newton-Raphson, sau orice alta metoda de rezolvare a unei ecuat ii neliniare.
Avantajul principal constan posibilitatea localizarii radacinilor. Reducerea numarului
226 8. Rezolvarea sistemelor neliniare
Figura 8.3: Gracul funct iei F(x).
de ecuat ii cuplate n sistem prin substituiri, este n general avantajoasa.

In plus, ori
de cate ori este posibil, este beneca obt inerea unei dependent e de o singura variabila
pentru a folosi avantajul localizarii solut iei.
Exemplu 2. Sa consideram o problema reala din domeniul investigat iilor radar.
Un impuls radar pleaca din E si sufera reexii de pe doua frontiere. Un receptor,
plasat n R, masoara timpul dupa care este recept ionat semnalul, T2. Un alt receptor
plasat n E masoara timpul de parcugere pe verticala, t2. Intereseaza determinarea
adancimii z1. Necunoscutele sunt x1, c1 si z1. Pozit ia punctului de refract ie depinde
de proprietat ile dielectrice ale mediului. Timpul de parcurgere a distant ei EABCR
este
T2 =
_
h
2
+ (d x1)
2
/c +
_
z
2
1
+ x
2
1
/c1 . (8.61)
Pozit ia punctului de refract ie se determina din aplicarea principiului lui Fermat
T2/x1 =

0 (8.62)
Rezulta urmatorul sistem de ecuat ii
f1(x1, c1, z1) = t2 2(h/c + z1/c1) (8.63)
f2(x1, c1, z1) = T2 2
_
_
h
2
+ (d x1)
2
/c +
_
z
2
1
+ x
2
1
/c1
_
(8.64)
f3(x1, c1, z1) = x1c
_
h
2
+ (d x1)
2
(d x1)c1
_
z
2
1
+ x
2
1
(8.65)
Rezolvarea sistemului prin metoda Newton nu necesita decat o singura iterat ie
pentru atingerea preciziei cerute. Exemplu de date numerice:
t2 = 10.4 ns, T2 = 11.3 ns z1 = 36.0 cm, c1 = 12.3 cm/ns. (8.66)
8.5. Metoda hibrida 227
Figura 8.4: Drumul optic al unei unde prin doua medii.
228 8. Rezolvarea sistemelor neliniare
229
Capitolul 9
Rezolvarea ecuat iilor
diferent iale
9.1 Considerat ii generale
Ecuat iile diferent iale ordinare (sau ecuat iile diferent iale care cont in ca necu-
noscute funct ii care depind de o singura variabila independenta) se ntalnesc n
mod curent n descrierea fenomenelor din natura. Funct iile necunoscute pot
viteze, temperaturi, densitat i, sarcini electrice, etc. Variabila independenta este
n multe cazuri timpul, cand se descriu fenomene evolutive, sau o coordonata
spat iala, cand se descriu fenomene unidimensionale.

In ecuat iile diferent iale apar derivatele de diverse ordine ale funct iilor ne-
cunoscute. Ordinul cel mai mare al derivatei funct iei necunoscute da ordi-
nul ecuat iei diferent iale. Daca avem un sistem de ecuat ii diferent iale (adica
mai multe ecuat ii care cont in mai multe funct ii necunoscute, n numar egal cu
numarul ecuat iilor diferent iale), ordinul sistemului este egal cu suma ordinelor
ecuat iilor diferent iale care l formeaza.

In general, ecuat ia diferent iala (sau sistemul de ecuat ii diferent iale) nu deter-
mina complet funct ia (sau funct iile) necunoscuta. Pentru a determina complet
solut ia, este necesar ca, odat a cu ecuat ia (sau sistemul) sa se impuna un numar
de condit ii suplimentare egal cu ordinul ecuat iei diferent iale (sau sistemului de
ecuat ii diferent iale).
230 9. Rezolvarea ecuatiilor diferentiale
Deoarece rezolvarea ecuat iilor de ordin mai mare ca unu se poate reduce
la rezolvarea unor sisteme formate numai din ecuat ii diferent iale de ordinul
ntai, vom prezenta la nceput metodele de rezolvare numerica a acestor ecuat ii
mai simple. Trebuie spus ca, pana la aparit ia calculatoarelor electronice, chiar
rezolvarea unei singure ecuat ii diferent iale de ordinul ntai putea ridica dicultat i
mari, de natura practica (volum mare de calcule pentru obt inerea unei precizii
acceptabile).
Se consider a o funct ie y = y(x), continua si derivabila pe intervalul de
denit ie (sau cel put in pe intervalul pe care se cauta solut ia); e [a, b] inter-
valul pe care se cauta solut ia. Ecuat ia diferent iala de ordinul ntai se scrie sub
forma implicita
E(x, y, y

) = 0, unde y

dy/dx , (9.1)
x [a, b] ind variabila independenta. Se presupune ca expresia E(x, y, y

) se
poate explicita n raport cu derivata de ordinul ntai y

obt inand forma explicita


y

= f(x, y) , (9.2)
funct ia f(x, y) ind denita si derivabila pe un dreptunghi [a, b] [c, d] R
2
.
Funct ia f(x, y) se numeste funct ie panta, deoarece n punctul de coordonate
(x, y) valoarea ei este egala cu valoarea derivatei ntai a funct iei y(x), numeric
egala cu panta tangentei la grac n acest punct. Pentru a determina complet
solut ia se d a condit ia suplimentara
x = x
0
, y = y
0
; x
0
[a, b], y
0
[c, d] , (9.3)
unde de obicei x
0
= a sau x
0
= b.
9.2 Metode cu pasi separat i
Pentru rezolvarea numerica a ecuat iei (9.2) cu condit ia (9.3) se mparte in-
tervalul [a, b] n n diviziuni. Punand x
0
= a si x
n
= b, se noteaza cu x
m
(m = 0, 1, . . . , n) nodurile diviziunii, iar cu h = x
m+1
x
m
pasul de integrare.
O metoda cu pasi separat i (sau metoda pas cu pas) este o metoda care
determina valoarea funct iei la pasul m+ 1 folosind numai valori de la pasul m.
9.2.1 Formule Euler
Cea mai simpla metoda pas cu pas este metoda Euler de ordinul ntai.

In acest
caz, deplasarea din punctul x
m
se face dupa direct ia tangentei n acest punct la
curba y = y(x). Notand cu K
1
valoarea derivatei y

m
, conform cu (9.2) se poate
scrie
K
1
= y

m
= f(x
m
, y
m
) , (9.4)
9.2. Metode cu pasi separat i 231
iar formula Euler de ordinul 1 este
y
m+1
= y
m
+hK
1
. (9.5)
Plecand de la valoarea y
0
pentru x = x
0
, aplicand formula (9.5) se obt in va-
lorile y
m
, m = 1, 2, . . . , n ale funct iei necunoscute, adica o funct ie ret ea care
aproximeaza funct ia cautata (barele indica valori aproximative).
Pentru a determina eroarea de trunchiere pentru formula (9.5), se admite ca
funct ia y poate reprezentata printr-o formula Taylor astfel ncat
y
m+1
= y
m
+hy

m
+ (h
2
/2)y

(
m
), unde
m
(x
m
, x
m+1
) . (9.6)
T inand seama ca ambele formule (9.5) si (9.6) se aplica plecand din x = x
m
,
rezulta eroarea de trunchiere pentru un pas e
Tm
e
Tm
= y
m+1
y
m+1
= (h
2
/2)y

(
m
) , (9.7)
proport ionala cu pasul diviziunii la puterea a doua. Pentru ntregul interval, n
cazul cel mai defavorabil, erorile se aduna
e
T
=
n

m=1
e
Tm
=
h
2
2
ny

) =
b a
2
hy

),

(a, b) (9.8)
si deci eroarea este proport ionala cu pasul la puterea ntaia. De aceea, for-
mula (9.5) este denumita formula de ordinul ntai, indicand marimea erorii de
trunchiere n raport cu pasul diviziunii.
Formule Euler de ordinul 2.
O formula de ordinul 2 este de forma
y
m+1
= y
m
+h(w
1
K
1
+w
2
K
2
) , (9.9)
unde K
1
este dat de (9.4), iar K
2
este de forma
K
2
= f(x +h, y +hK
1
) , (9.10)
iar parametrii , , w
1
si w
2
se determina din condit ia ca (9.9) sa coincida
cu primii trei termeni din dezvoltarea n serie Taylor a funct iei y(x) n jurul
punctului x
m
y
m+1
= y
m
+hy

m
+ (h
2
/2)y

m
+ (h
3
/6)y

(
m
),
m
(x
m
, x
m+1
) , (9.11)
unde derivata de ordinul 2, y

se calculeaza astfel
y

= (y

= [f(x, y)]

= f
x
+f
y
y

, f
x
f/x, f
y
f/y . (9.12)
T inand cont de faptul ca y

m
= f(x
m
, y
m
) = K
1
, din (9.11) rezulta
y
m+1
= y
m
+hK
1
+ (h
2
/2)(f
xm
+f
ym
K
1
) + (h
3
/6)y

(
m
) , (9.13)
232 9. Rezolvarea ecuatiilor diferentiale
unde f
xm
f(x
m
, y
m
)/x . Pe de alta parte, utilizand o formula Taylor
pentru K
2
(ca funct ie de doua variabile), din (9.10) se obt ine
K
2
= K
1
+h(f
xm
+K
1
f
ym
) +O(h
2
) . (9.14)
Deoarece K
2
este derivata ntai a funct iei y, vom pastra numai termenii de
ordinul h. Introducand (9.14) n (9.9), se obt ine
y
m+1
= y
m
+h(w
1
+w
2
)K
1
+h
2
w
2
(f
xm
+K
1
f
ym
) +O(h
3
) . (9.15)
Identicand relat ia (9.15) cu primii trei termeni din (9.13), rezulta sistemul
w
1
+w
2
= 1, w
2
= 1/2, w
2
= 1/2 . (9.16)
Sistemul (9.16) are patru necunoscute si numai trei ecuat ii. Teoretic exista o
innitate de posibilitat i de a construi o metoda de ordinul 2, doua variante ind
mai des ntalnite. Prima dintre acestea se obt ine alegand w
2
= 1/2. Rezulta
= = 1, w
1
= 1/2, obt inandu-se formula Euler mbunatat ita
y
m+1
= y
m
+
h
2
(K
1
+K
2
), K
2
= f(x
m
+h, y
m
+hK
1
) . (9.17)
Cea dea doua se obt ine alegand w
2
= 1. Rezulta = = 1/2, w
1
= 0,
obt inandu-se formula Euler modicata
y
m+1
= y
m
+hK
2
, K
2
= f(x
m
+h/2, y
m
+K
1
h/2) . (9.18)
Pentru ambele variante K
1
se calculeaza cu relat ia (9.4). Eroarea de trunchiere
la pasul m este e
Tm
= y
m+1
y
m+1
= O(h
3
).

In consecint a, formulele (9.17) si
(9.18) vor da o eroare de ordinul h
2
relativ la ntregul interval.
Formulele Euler admit o interpretare geometrica, prezentata n gura (9.1).

In punctul A(x
m
, y
m
) se construieste tangenta la gracul funct iei y(x) de panta
K
1
. Punctul B se aa pe aceasta tangenta, y
B
= y
m
+ hK
1
reprezentand
valoarea aproximativa pentru y(x
m+1
) obt inuta cu metoda Euler de ordinul
ntai.

In punctul B(x
m+1
, y
B
), se evalueaza prima derivata a funct iei y, y

B
=
f(x
m+1
, y
B
) K
2
. Bara de deasupra semnica faptul ca este vorba de o valoare
aproximativa, valoarea exacta s-ar obt ine n punctul E. Valoarea y
m+1
se obt ine
cu metoda Euler mbunatat ita aproximand funct ia pe intervalul [x
m
, x
m+1
] cu
bisectoarea unghiului format de cele doua pante, K
1
si K
2
. Pe gura, y
m+1
=
y
C
.
Pentru metoda Euler modicata, n punctul A(x
m
, y
m
) se construieste tan-
genta la gracul funct iei y(x) de panta K
1
. Punctul D(x
m+1
+h/2, y
D
) se aa
pe aceasta tangenta, y
D
= y
m
+(h/2)K
1
.

In punctul D, se evalueaza prima de-
rivata a funct iei y: y

D
= f(x
m+1
+h/2, y
D
) K
2
. Bara de deasupra semnica
faptul ca este vorba de o valoare aproximativa, valoarea exact a s-ar obt ine n
punctul F. Valoarea y
m+1
se obt ine cu metoda Euler modicata aproximand
funct ia pe intervalul [x
m
, x
m+1
] cu dreapta de panta K
2
. Pe gur a, y
m+1
= y
C
.
9.2. Metode cu pasi separat i 233
Figura 9.1: Interpretarea geometrica a metodelor Euler de ordinul 2.
9.2.2 Formule Runge-Kutta
Din prezentarea anterioara se observa ca, luandn calcul mai multe puncte (deci
folosind mai multe evaluari ale funct iei panta f(x, y)), se obt in formule de ordin
de precizie mai ridicat. De aici apare ideea de a utiliza o expresie generala de
forma
y
m+1
= y
m
+h
s

i=1
w
i
K
i
, (9.19)
K
i
= f(x
m
+
i
h, y
m
+h
i1

j=1

ij
K
j
), i 1, s, j 1, i 1,
1
=
10
= 0 ,
(9.20)
unde s este ordinul formulei, iar scalarii w
i
,
i
,
ij
se determina din condit ia
ca expresia (9.19) sa coincida cu formula Taylor pana la termenii n h
s
inclusiv.
S-a renunt at a se mai pune bara pentru a indica valorile aproximative. Pentru
s = 4, relat iile (9.20) se scriu
K
1
= f(x
m
, y
m
), K
2
= f(x
m
+
2
h, y
m
+
21
hK
1
) ,
K
3
= f[x
m
+
3
h, y
m
+h(
32
K
2
+
31
K
1
)] ,
K
4
= f[x
m
+
4
h, y
m
+h(
43
K
3
+
42
K
2
+
41
K
1
)] .
(9.21)
Pentru s = 2 se regasesc formulele Euler de ordinul 2. Numarul de parametri
este mai mare decat numarul de condit ii pentru ca acestia sa e unic determinat i
ncepand s 2.

In consecint a, pentru acelasi ordin s 2, se obt in diverse
formule, unii dintre parametri ind alesi din motive de simplitate sau de simetrie
a formulelor. Formulele astfel obt inute se numesc formule de tip Runge-Kutta.
Una dintre cele mai utilizate este formula Runge-Kutta standard de ordinul 4,
234 9. Rezolvarea ecuatiilor diferentiale
care utilizeaza derivate calculate la capete si la jumatatea pasului. Aceasta are
forma
y
m+1
= y
m
+ (h/6)(K
1
+ 2K
2
+ 2K
3
+K
4
) , (9.22)
K
1
= f(x
m
, y
m
), K
2
= f(x
m
+
h
2
, y
m
+
h
2
K
1
)
K
3
= f(x
m
+
h
2
, y
m
+
h
2
K
2
), K
4
= f(x
m
+h, y
m
+hK
3
) .
(9.23)
9.2.3 Formule Runge-Kutta-Gill
O alta formula Runge-Kutta de ordin 4, ceva mai complicata, dar care prezinta
interes din punctul de vedere al controlului propagarii erorilor, este data de
urmatorul algoritm:
Date: x
0
, x
n
, Y
0
x = x
0
, y = Y
0
, Q
0
= 0, h = (x
n
x
0
)/n
m = 0 : (n 1),
_

_
K
1
f(x
m
, Y
m
), Y
1
Y
m
+
h
2
(K
1
2Q
0
),
Q
1
Q
0
+ 3[
1
2
(K
1
2Q
0
)]
1
2
K
1
,
K
2
f(x
m
+
h
2
, Y
1
), Y
2
Y
1
+h(1 1/

2)(K
2
Q
1
),
Q
2
Q
1
+ 3[(1 1/

2)(K
2
Q
1
)] (1 1/

2)K
2
,
K
3
f[x
m
+
h
2
, Y
2
], Y
3
Y
2
+h(1 + 1/

2)(K
3
Q
2
)
Q
3
Q
2
+ 3[(1 + 1/

2)(K
3
Q
2
)] (1 + 1/

2)K
3
,
K
4
f(x
m
+h, Y
3
), y
m+1
Y
3
+
h
6
(K
4
2Q
3
),
Q
4
Q
3
+ 3[
1
6
(K
4
2Q
3
)]
1
2
K
4
Q
0
Q
4
.
(9.24)
Prezent a radicalilor n expresiile (9.24) este utila deoarece acestia introduc
ntotdeauna o eroare de rotunjire a carei evolut ie se poate controla la ecare pas.
Aceasta observat ie sta la baza metodelor de tip Runge-Kutta-Gill.

In metodele
Runge-Kutta-Gill de ordinul 4, erorile de rotunjire se iau n considerat ie la
ecare pas prin patru componente Q
1
, Q
2
, Q
3
, Q
4
. Se atrage atent ia ca relat iile
(9.24) nu trebuie modicate (nu se fac simplicari, reduceri, etc.), ci se pastreaza
n forman care sunt scrise, tocmai pentru a putea urmari propagarea erorilor de
rotunjire. Valorile parametrului Q
4
dau o indicat ie asupra tendint ei (crestere,
stat ionare, descrestere) a acestor erori de rotunjire. Astfel, daca |Q
4
| depaseste
o anumita margine impusa
1
, se reduce pasul h. De asemenea, pasul h poate
marit daca se apreciaza ca valoarea |Q
4
| este prea mica
2
.
1
Algoritmul este prezentat n forma generala pentru rezolvarea sistemelor de ecuat ii
diferent iale, care vor prezentate mai jos.

In acest caz, Q si K sunt vectori.
2
Trebuie avut n vedere faptul ca metoda Runge-Kutta-Gill este superioara metodei Runge-
Kutta standard din punct de vedere al propagarii erorilor de rotunjire numai daca toate
calculele se efectueaza cu acelasi numar de cifre semnicative. Spre exemplu, lucrand cu un
calculator personal, nu vom observa diferent e semnicative ntre cele doua metode, deoarece
calculele intermediare se efectueaza pe 80 de bit i, indiferent de numarul de bit i folosit i de
compilator pentru reprezentarea unui numar real.
9.2. Metode cu pasi separat i 235
9.2.4 Alegerea pasului la rezolvarea ecuat iei diferent iale
Estimarea erorii la formulele pas cu pas se poate face repetand calculul cu
pas modicat. Spre exemplu, pentru a verica daca pasul h este sucient de
mic pentru asigurarea unei precizii corespunzatoare, se avanseaza doi pasi din
punctul x
m
cu pasul h, apoi se reface calculul cu pasul dublu 2h, dupa schema
x
m
+h +h = x
m
+ 2h . (9.25)

In aceste condit ii, neglijand erorile de rotunjire pe distant a h, utilizand o formula


Taylor, se poate scrie
y(x + 2h) = y
2h
+ (2h)
s+1
y
(s+1)
(1)
/(s + 1)! ,
y(x + 2h) = y
h
+h
s+1
_
y
(s+1)
(21)
+y
(s+1)
(22)
_
/(s + 1)!
= y
h
+ 2h
s+1
y
(s+1)
(2)
/(s + 1)! ,
(9.26)
unde
1
,
2
(x, x + 2h),
21
(x, x + h),
22
(x + h, x + 2h). Pentru s = 4
avem
y
2h
= y(x) + 2hy

(x)
+
(2h)
2
2
y

(x)
+
(2h)
3
6
y

(x)
+
(2h)
4
24
y
(4)
(x)
y
h
= y(x) +hy

(x)
+
h
2
2
y

(x)
+
h
3
6
y

(x)
+
h
4
24
y
(4)
(x)
+
+hy

(x+h)
+
h
2
2
y

(x+h)
+
h
3
6
y

(x+h)
+
h
4
24
y
(4)
(x+h)
.
Considerand derivatele aproximativ egale
y
(s+1)
(
1
)

= y
(s+1)
(
2
) y
(s+1)
(), (x, x + 2h) , (9.27)
din (9.26) se obt ine
y
h
y
2h
= 2h
s+1
2
s
1
(s + 1)!
y
(s+1)
()
2h
s+1
(s + 1)!
y
(s+1)
() =
y
h
y
2h
2
s
1
. (9.28)
Am notat y
h
, y
2h
valorile aproximative ale funct iei y n x+2h obt inute cu pasii
de integrare h respectiv 2h. Putem corecta valoarea y
h
, presupusa mai exacta
decat y
2h
, cu relat ia
y(x + 2h)

= y
h
+e, e (y
h
y
2h
)/(2
s
1) . (9.29)
Am obt inut de asemenea o posibilitate de a evalua eroarea absoluta prin terme-
nul e. Se poate deci impune micsorarean continuare a pasului, daca e depaseste
o anumita margine superioara sau, dimpotriva, marirea pasului n cazul n care
e are o valoare prea mica.
Sa presupunem ca dorim ca eroarea absoluta sa nu depaseasca valoarea im-
pusa e
0
.

In general, eroarea unei metode de ordinul s este de forma
e = h
s+1
y
(s+1)
()
/(s + 1)! . (9.30)
236 9. Rezolvarea ecuatiilor diferentiale
Se obt ine

e
0
e

=
h
s+1
0
h
s+1

y
(s+1)
(0)
y
(s+1)
()

h
0
= S h
_
e
0
[e[
_ 1
s+1
, (9.31)
unde S = [y
(s+1)
(0)
/y
(s+1)
()
[
1
s+1
este, pentru h sucient de mic, de ordinul unitat ii
(rezultate bune n majoritatea cazurilor pot obt inute cu S = 0.9). Daca
eroarea obt inuta cu pasul h este mai mare decat cea impusa (e > e
0
), atunci
calculul trebuie reluat cu un pas mai mic, h
0
ind o estimare buna a marimii
acestui pas. Daca n schimb eroarea obt inuta este mult mai mica decat cea
impusa (e e
0
), nseamna ca pasul de integrare este mai mic decat cel necesar,
iar relat ia (9.31) poate folosita pentru estimarea pasului urmator.
De regula, n locul erorii absolute se foloseste eroarea relativa denita ca
= [e/y
ref
[, unde y
ref
este o valoare de referint a a necunoscutei y (spre exemplu
ultima valoare calculata, y
ref
= y
m+1
= y
h
).

In acest caz se poate scrie
h
0
= S h (
0
/)
1
s+1
. (9.32)
Metoda prezentata este abila, dar conduce la cresterea timpului de calcul,
ceea ce nu se justica ntotdeauna. Pentru obt inerea unei estimari a erorii
absolute e cu pasul h, efectuam s+s+s = 3s evaluari ale funct iei panta f(x, y),
dintre care K
1
= f(x
m
, y
m
) este aceeasi pentru integrarea cu h si 2h. Pentru
Runge-Kutta de ordinul 4, sunt necesare 11 evaluari ale funct iei panta pentru
doi pasi, deci 5.5 evaluari pentru un pas. Rezulta un efort de calcul suplimentar
de 1.5 evaluari ale funct iei panta pentru a obt ine o estimare a erorii absolute si
a pasului optim de integrare.

In cazul n care pasul h este relativ mare, factorul
de sigurant a S poate diferi mult de unitate.

In aceasta situat ie, o estimare a
erorii se face comparand cele doua valori obt inute
e

= y
h
y
2h
,

= (y
h
y
2h
)/y
h
. (9.33)
O modalitate mai simpla pentru a verica marimea pasului de integrare la
metoda Runge-Kutta standard, este evaluarea raportului
r = [(K
2
K
3
)/(K
1
K
2
)[ . (9.34)
Observand ca pantele K
2
, K
3
se evalueaza n acelasi punct x = x
m
+ h/2 iar
K
1
, K
2
se evalueaza n puncte diferite, pe considerente empirice, se recomanda
ment inerea pasului daca raportul r este de ordinul 10
2
.

In cazul unor ordine
de marime diferite de 10
2
, pasul se modica (spre exemplu, se njumatat este
daca r 10
1
).
O alta cale de a obt ine informat ii privitoare la precizia calculelor si a pasului
necesar este de a folosi doua formule Runge-Kutta de ordine s si p, de regula
p = s + 1. Aceasta nseamna s +p = 2s + 1 evaluari n total pentru a obt ine o
valoare aproximativa cu o eroare de ordinul h
s
precum si o estimare a acestei
erori si a pasului optim de integrare. La prima vedere, pret ul platit pare prea
9.2. Metode cu pasi separat i 237
Tabelul 9.1: Valorile coecient ilor pentru Kutta-Merson
i a
i
a
i
b
i

i

i1

i2

i3

i4
1 1/6 1/15 0
2 0 0 1/3 1/3
3 0 3/10 1/3 1/6 1/6
4 2/3 4/15 1/2 1/8 0 3/8
5 1/6 1/30 1 1/2 0 3/2 2
mare.

In realitate nu este asa deoarece ambele formule folosesc aceleasi puncte
pentru evaluarea funct iei panta, adica numai p evaluari! Acest lucru este po-
sibil, deoarece raportul dintre numarul de evaluari ale funct iei panta si ordinul
metodei creste cu ordinul metodei dupa cum urmeaza:
Numar de evaluari 1 2 3 4 5 6 7 8
Ordinul metodei Runge-Kutta 1 2 3 4 4 5 6 6 .
Formulele din categoria de mai sus se pot scrie n forma generala
y
m+1
y
p
= y
m
+h

p
i=1
a
i
K
i
, y
s
= y
m
+h

p
i=1
b
i
K
i
,
K
i
= f(x +
i
h, y
m
+h

i1
j=1

ij
K
j
) .
(9.35)
O estimare a erorii de trunchiere pentru y
s
poate obt inuta cu relat ia
e = y
p
y
s
= h
p

i=1
(a
i
b
i
)K
i
, (9.36)
iar pasul de integrare necesar obt inerii unei precizii impuse se calculeaza cu
relat ia
h
0
= S h (e
0
/[e[)
1/p
. (9.37)
Din aceasta categorie, prezent am metodele Kutta-Merson si Runge-Kutta-Fehlberg.
Metoda Kutta-Merson foloseste doua formule Runge-Kutta de ordine 4, res-
pectiv 5. Coecient ii din formulele (9.35) si (9.36) sunt dat i n tabelul (9.1).
Pentru obt inerea relat iei (9.37) este nevoie de numai 5 evaluari ale funct iei panta,
fat a de 5.5 necesare n varianta integrarii cu pasul dublu cu eroarea absoluta
data de (9.33). Varianta pasului dublu este nsa mai robusta.
S-a construit o metoda de ordinul 4mpreuna cu o estimare a erorii cu numai
5 evaluari ale funct iei panta.
Metoda Runge-Kutta-Fehlberg foloseste o formula de ordinul 4 cu 5 evaluari
ale funct iei panta si o formula de ordinul 5 cu 6 evaluari. Aceasta nseamna 6
evaluari n total pentru a obt ine o valoare aproximativa cu o eroare de ordinul
h
5
precum si o estimare a acestei erori si a pasului optim de integrare. Valorile
coecient ilor a
i
, b
i
,
i
,
ij
sunt dat i n tabelul 9.2.
238 9. Rezolvarea ecuatiilor diferentiale
Tabelul 9.2: Valorile coecient ilor pentru Runge-Kutta-Fehlberg
i ai ai bi i i1 i2 i3 i4 i5
1 16/135 1/360 0 0
2 0 0 1/4 1/4
3 6656/12825 128/4275 3/8 3/32 9/32
4 28561/56430 2197/75240 12/13 1932/2197 7200/2197 7296/2197
5 9/50 1/50 1 439/216 8 3680/513 845/4104
6 2/55 2/55 1/2 8/27 2 3544/2565 1859/4104 11/40
9.3 Extrapolare Richardson. Metoda Bulirsch-
Stoer
Tehnica extrapolarii de tip Richardson constan construirea unei funct ii y
m+1
(h)
prin calcularea mai multor valori y
m+1
folosind diferit i pasi h = x
m+1
x
m
,
aproximarea acesteia cu o funct ie mai simpla (spre exemplu polinom) si calcu-
larea unei valori aproximative y
ex
m+1
corespunzatoare unei valori h mai mici, n
particular pentru h = 0.
Fie y
m
y(x
m
) valori calculate pana la un moment dat si x
m+1
= x
m
+H
punctul n care dorim sa calculam o valoarea aproximativa y
m+1
. Intervalul
(x, x +H) cu x x
m
se mparte n n subintervale egale, x
i+1
x
i
h = H/n,
i 1, n. Pentru diferite valori n, deci pasi de integrare diferit i, se obt in mai
multe valori aproximative ale necunoscutei y n punctul x
m+1
. Se obt in astfel
perechi de valori (h, y
m+1
(h)), cu ajutorul carora se poate calcula o valoare
aproximativa y
m+1
(0). De asemenea, avand mai multe valori y
m+1
pentru pasi
de integrare diferit i, se poate estima eroarea e y y
m+1
. Daca aceasta este
prea mare, calculul se repeta pentru un n mai mare (respectiv, un pas mai mic).
Extrapolarea Richardson da rezultate foarte bune pentru ecuat ii diferent iale a
caror solut ii sunt funct ii monotone (sau fara variat ii mari ale primei derivate)
si nu au puncte singulare n intervalul de interes.
Pentru obt inerea unui algoritm performant, trebuie precizate urmatoarele:
(a) metoda de integrare pe intervalul (x, x + H); (b) metoda de aproximare a
funct iei y
m+1
(h).
Metoda Bulirsch-Stoer, foloseste urmatoarea strategie de marire a numarului
de intervale n:
n
j
= 2n
j2
n = 2, 4, 6, 8, 12, 16, . . . , (9.38)
care evita scaderea prea rapida a pasului de integrare n cazul uzual n
j
=
2n
j1
. Pentru integrarea numerica a ecuat iei diferent iale se foloseste o metoda
9.4. Metode cu pasi legat i 239
de ordinul 2, denita de urm atorul algoritm:
z
0
y(x
m
); z
1
= z
0
+h f(x
m
, y
0
)
i = 1 : (n 1)
[z
i+1
= z
i1
+ 2hf(x
m
+ih, y
i
)
y
m+1
=
1
2
[z
n
+z
n1
+hf(x +H, z
n
)] .
(9.39)
Unul din avantajele formulelor (9.39) consta n faptul ca avem nevoie de nu-
mai o evaluare a funct iei panta. Avantajul esent ial l constituie nsa faptul ca
dezvoltarea n serie Taylor a erorii cont ine numai termenii cu puteri pare
e y
m+1
y(x +H) =

i=1
a
i
h
2i
. (9.40)
Astfel, daca avem doua valori y
n
si y
n/2
obt inute cu n respectiv n/2 subintervale,
obt inem o valoare mbunatat ita
y(x +H) (1/3)(4y
n
y
n/2
) (9.41)
de ordinul patru si nu trei cum ar fost normal pentru o formula de ordinul doi.
Pentru extrapolare la valoarea h = 0, Burlisch si Stoer au gasit mai ecienta
aproximarea cu funct ii rat ionale n locul interpol arii polinomiale.
9.4 Metode cu pasi legat i
Principalele decient e ale metodelor cu pasi separat i sunt: (a) necesitatea evaluarii
la ecare pas a unui numar de funct ii cel put in egal cu ordinul metodei; (b) eva-
luarea dicila a erorii de trunchiere.
Decient ele semnalate pot nlaturate folosind metode care utilizeaza mai
bine valorile deja calculate ale funct iei necunoscute. Aceste metode se numesc
metode cu pasi legat i sau metode multipas. Ideea este urmatoarea: sa presupu-
nem, revenind la ecuat ia (9.2), ca se cunoaste solut ia y(x). Atunci funct ia panta
f(x, y(x)) este o anumita funct ie de x, notata cu (x) f(x, y(x)). Integrand
ecuat ia (9.2) termen cu termen, pe un interval [x
mk
, x
m+1
], m = 0, 1, 2, . . . ,
se obt ine
y
m+1
= y
mk
+
_
xm+1
x
mk
(x) dx (9.42)
(gura 9.2).

In relat ia (9.42), funct ia (x) este necunoscuta, dar poate apro-
ximata utilizand spre exemplu un polinom de interpolare.
9.4.1 Formule explicite
Pentru a lua n considerat ie valori deja calculate ale funct iei y(x), vom utiliza
polinomul cu diferent e la stanga. Introducem numarul real prin relat ia
x = x
m
+h, 1 . (9.43)
240 9. Rezolvarea ecuatiilor diferentiale
Figura 9.2: Funct ia (x).
Funct ia (x) se va reprezenta n forma
(x) (x
m
+h) =
m
+
m
+. . . + (1)
r
C
r

m
+R
r
, (9.44)
r ind gradul polinomului de interpolare, operatorul diferent a la stanga, iar
R
r
restul la interpolare
R
r
= (1)
r+1
h
r+1
C
r+1


(r+1)
(), (x
mr
, x) . (9.45)
T inand seama de (9.44), relat ia (9.42) se scrie
y
m+1
= y
mk
+h
_
1
k
_

m
+
m
+. . . + (1)
r
C
r

m
_
d +
m
,
(9.46)

m
ind eroarea la integrare la pasul m

m
= (1)
r+1
h
r+2
_
1
k
C
r+1


r+1
() d . (9.47)
Constatam ca avem doi parametri la dispozit ie: r, gradul polinomului de
interpolare, grad care da ordinul de precizie al formulei (egal cu r +1) si k, pa-
rametrul care da intervalul de integrare. Existent a acestor doi parametri permit
obt inerea de formule diferite, la acelasi ordin de precizie.

In cele ce urmeaza dam
unele formule mai des folosite obt inute direct din aplicarea formulelor generale
(9.46) si (9.47).
a) Pentru r = 3, k = 0, se obt ine formula predictor a lui Adams
y
(A)
m+1
= y
m
+
h
24
(55f
m
59f
m1
+ 37f
m2
9f
m3
) ,

m
=
251
720
h
5

(4)
() =
251
720
h
5

(4)
m
+O(h
6
) .
(9.48)
9.4. Metode cu pasi legat i 241
b) Pentru r = 3, k = 3, se obt ine formula predictor a lui Milne
y
(M)
m+1
= y
m3
+
4h
3
(2f
m
f
m1
+ 2f
m2
) ,

m
=
14
45
h
5

(4)
() =
14
45
h
5

(4)
m
+O(h
6
) .
(9.49)
c) Pentru r = 5, k = 5, se obt ine o formula de ordinul 6
y
m+1
= y
m
+
3h
10
(11f
m
14f
m1
+ 26f
m2
14f
m3
+ 11f
m4
) ,

m
=
41
140
h
7

(6)
() =
41
140
h
7

(6)
m
+O(h
8
) .
(9.50)
Observat ii.
1. Formulele prezentate n acest paragraf sunt explicite pentru ca tot i terme-
nii din dreapta semnului egal sunt cunoscut i. Formulele explicite cu pasi
legat i se mai numesc formule predictor.
2. Formulele explicite multipas necesita evaluarea unei singure funct ii f
m
la
ecare pas, indiferent de ordinul de pecizie al formulei.
3. Erorile de trunchiere
m
au expresii simple care permit evaluarea erorii n
mod simplu. Spre exemplu, utilizand formulele Adams si Milne, se obt ine,
cu o aproximat ie de ordinul O(h
6
)
y
m+1
= y
(A)
m+1
+
251
27
(y
(M)
m+1
y
(A)
m+1
) +O(h
7
) . (9.51)
4. Formulele multipas nu pot lua startul singure; pentru start se utilizeaza o
formula pas cu pas, n general de acelasi ordin.
5. Luand n considerare si evaluarea erorii, economia de calcul pentru me-
todele cu pasi legat i este nca si mai mare, n comparat ie cu metodele cu
pasi separat i.
9.4.2 Formule implicite
Deoarece polinomul de interpolare obt inut din (9.44) se extrapoleaza n x
m+1
,
erorile
m
ale formulelor multipas explicite sunt relativ mari. Pentru reducerea
acestor erori, se folosesc formule implicite. Formulele implicite cu pasi legat i se
mai numesc formule corector. Dupa cum vom vedea, formulele corector nu pot
folosite singure, ele avand nevoie de o valoare aproximativ a init iala pe care o
mbunatat esc iterativ. Aceasta valoare aproximativa este furnizata de o formula
predictor, ansamblul celor doua formule formand o formula predictor-corector.

In scopul evitarii extrapolarii, la construirea polinomului de interpolare se


ia n considerat ie si valoarea y
m+1
. Se redeneste variabila (9.43) prin
x = x
m+1
+h, 0 (9.52)
242 9. Rezolvarea ecuatiilor diferentiale
iar funct ia (x) se reprezinta sub forma similara cu (9.44)
(x) (x
m+1
+h) =
m+1
+
m+1
+. . . + (1)
r
C
r

m+1
+R
r
,
(9.53)
restul ind dat de relat ia (9.45). Relat iile (9.42) si (9.53) ne conduc la
y
m+1
= y
mk
+h
_
0
k1
(
m+1
+
m+1
+. . . + (1)
r
C
r

m+1
)d +
m
,

m
= (1)
r+1
h
r+2
_
0
k1
C
r+1


r+1
()d .
(9.54)
De aceasta data, expresiile pentru y
m+1
sunt implicite deoarece
m+1
de-
pinde de valoarea necunoscuta y
m+1
,
m+1
= f(x
m+1
, y
m+1
). Pentru a vedea
modul de lucru efectiv, se considera mai nt ai cateva formule uzuale
a) Formula corector a lui Adams se obt ine pentru r = 3, k = 0
y
(A)
m+1
= y
m
+
h
24
(9f
m+1
+ 19f
m
5f
m1
+f
m2
) ,

m
=
19
720
h
5

(4)
() =
19
720
h
5

(4)
m
+O(h
6
) .
(9.55)
b) Formula corector a lui Milne se obt ine pentru r = 3, k = 1
y
(M)
m+1
= y
m1
+
h
3
(f
m+1
+ 4f
m
+f
m1
) ,

m
=
1
90
h
5

(4)
() =
1
90
h
5

(4)
m
+O(h
6
) .
(9.56)
c) Pentru r = 5, k = 3, se obt ine urmatoarea formula de ordinul 6:
y
m+1
= y
m3
+
2h
45
(7f
m+1
+ 32f
m
+ 12f
m1
+ 32f
m2
+ 7f
m3
) ,

m
=
8
945
h
7

(6)
() =
8
945
h
7

(4)
m
+O(h
8
) .
(9.57)
Se constata ca toate formulele implicite au structura
y
m+1
= a +b hf(x
m+1
, y
m+1
) , (9.58)
unde a si b sunt constante. Relat ia (9.58) reprezinta o ecuat ie n necunoscuta
y
m+1
care poate rezolvata numeric iterativ. Condit ia sucienta ca sirul de
iterat ii
y
(k+1)
m+1
= a +b hf(x
m+1
, y
(k)
m+1
) (9.59)
sa e convergent este (vezi 3.2.1)
[b h f/y[ < 1 (9.60)
si poate satisfacuta ntotdeauna pentru h sucient de mic. Problema este ca
precizia dorita sa se atinga astfel ncat numarul de evaluari ale funct iei panta
9.5. Propagarea erorilor. Stabilitate. 243
f(x, y) s a e mai mic decat ordinul metodei, n caz contrar dispare avantajul
volumului de calcul mai redus al formulelor multipas, n raport cu formulele
pas cu pas. De aceea, pentru start se alege valoarea y
(0)
m+1
data de o formula
multipas explicita, de acelasi ordin, formula utilizata ca predictor, n timp ce
formula implicita (9.58) foloseste drept corector. O asemenea combinat ie se
numeste formula predictor-corector.
Metoda predictor-corector ne furnizeaza posibilitatea de evaluare a erorii si
de a face astfel o noua corect ie. Astfel, utilizand formulele Adams (9.48) si
(9.55), se obt ine
y
m+1
= y
(Ac)
m+1

19
270
(y
(Ac)
m+1
y
(Ap)
m+1
) +O(h
6
) . (9.61)
Diferent a dintre valorile date de cele doua metode, ne permite sa apreciem
oportunitatea schimbarii pasului.
La fel, neglijand erorile de rotunjire, utilizand formulele predictor-corector
Milne de ordinul 4 (9.49) si (9.56), se obt ine
y
m+1
= y
(Mc)
m+1

1
29
(y
(Mc)
m+1
y
(Ap)
m+1
) +O(h
6
) . (9.62)
9.5 Propagarea erorilor. Stabilitate.
Dupa cum s-a vazut n capitolul 4, orice calcul numeric este afectat de erori de
metoda si de erori de rotunjire. O metodan care erorile introdusentr-o anumita
etapa nu sunt amplicate la pasii urmatori de calcul se numeste stabila. Trebuie
observat nsa ca aceast a denit ie se aplica numai pentru probleme corect puse,
adica pentru ecuat ii diferent iale si condit ii la limite pentru care solut iile exista
si sunt stabile. O solut ie este instabila n sensul lui Hadamard daca variat ii mici
n parametri introduc variat ii mari n solut ie. Evident ca n asemenea cazuri
orice metoda numerica utilizata va conduce la erori necontrolabile.
Pe de alta parte, erorile absolute pot amplicate, dar n acelasi timp, este
posibil ca erorile relative n modul sa raman a pe loc sau chiar sa scada, ca
urmare a cresterii valorilor solut iei, n modul.

In acest caz, se poate spune ca
metoda este relativ stabila.
Pentru a scoate n evident a mai concret situat iile care pot apare, vom con-
sidera ca, la pasul x = x
m
, ecuat ia de rezolvat are forma
y

= f
m
+a
m
(x x
m
) +b
m
(y y
m
) f(x, y) , (9.63)
cu condit ia ca pentru x = x
m
, y = y
m
, iar a
m
, b
m
, f
m
sunt constante pe
intervalul (x
m
, x
m+1
). Vom presupune b
m
,= 0, altfel problema se reduce la o
simpla integrala obisnuit a. Ecuat ia (9.63) are solut ia exacta
y = y
m
A
m
e
bm(xxm)
+A
m
+B
m
(x x
m
),
A
m
= f
m
/b
m
a
m
/b
2
m
, B
m
= a
m
/b
m
, b
m
,= 0 .
(9.64)
Asa cum se observa, membrul drept din (9.63) cont ine primii 3 termeni din
dezvoltarea Taylor a funct iei de dou a variabile f(x, y). Daca f(x, y) este o
244 9. Rezolvarea ecuatiilor diferentiale
funct ie de gradul ntai n variabilele x, y, atunci expresia (9.64) este exacta,
daca valorile y
m
sunt exacte. Pentru x = x
m+1
, solut ia (9.64) devine
y
m+1
= y
m
A
m
e
bmh
+A
m
+B
m
h . (9.65)
Sa comparam rezultatul (9.65) cu formulele Runge-Kutta de ordinul 4 si
Milne-predictor de acelasi ordin. Pentru ecuat ia (9.63), formula Runge-Kutta
(9.22) da
y
(RK)
m+1
= y
(RK)
m


A
m

4
n=0
(b
m
h)
n
/n! +

A
m
+

B
m
h +e
Rm
, (9.66)
e
Rm
ind eroarea de rotunjire cu care obt inem numeric valoarea y
(RK)
m+1
. S-a
folosit bara pentru a indica valorile aproximative. Pe de alta parte, s-a avut
n vedere ca, la pasul x = x
m
, problema se rezolva prin metoda Runge-Kutta
pentru o condit ie init iala alterata (y = y
m
).
Eroarea absolut a e
m+1
este, conform denit iei, diferent a y
m+1
y
(RK)
m+1
e
(RK)
m+1
= e
(RK)
m
(A
m


A
m
)(e
bmh
1)

A
m
(b
m
h)
5
5!
e
bmm
+ (B
m


B
m
) e
Rm
.
(9.67)
S-a folosit formula Taylor pentru a nlocui

4
n=0
(b
m
h)
n
/n! = e
bmh

(bmh)
5
5!
e
bmm
, (x
m
, x
m+1
) . (9.68)
Prin sumare de la x = x
0
la x = x
m+1
, din (9.67) se obt ine
e
(RK)
m+1
= e
0

i=0
_
(A
i


A
i
)(e
bih
1) +

A
i
(b
i
h)
5
5!
e
bi
(B
i


B
i
)h +e
Ri
_
.
(9.69)
Erorile init iale e
(RK)
0
si e
R0
putand considerate nule, iar coecient ii A
i
,

A
i
si
B
i
,

B
i
, egali, relat ia (9.69) se poate scrie
e
(RK)
m+1
=
m

i=1
_
(1 e
bih
)(A
i


A
i
)

A
i
(b
i
h)
5
5!
e
bi
+ (B
i


B
i
)h +e
Ri
_
. (9.70)
Pe de alta parte, prin sumare, din (9.65) se obt ine
y
m+1
= y
0
+
m

i=0
_
(1 e
bih
)A
i
+B
i
h

. (9.71)
Eroarea relativa
m+1
va raportata la valoarea exacta y
m

(RK)
m+1
= e
(RK)
m+1
/y
m+1
. (9.72)
Din relat iile (9.70) si (9.71) se deduce ca
9.5. Propagarea erorilor. Stabilitate. 245
1. Daca b
m
h (0, 1), atunci e
bm
> 1, unde b
m
= (f/x)
m
, eroarea
absoluta e
(RK)
m+1
creste n modul cu numarul m de pasi parcursi. Totodata creste
valoarea y
m+1
daca A
m
,= 0. Prin urmare, eroarea relativa
(RK)
m+1
poate mica,
iar solut ia relativ stabila. Cazul critic se produce pentru
A
m
= 0, y

m
= a
m
+b
m
f
m
= 0 (9.73)
n care caz termenul exponent ial dispare din solut ia exacta. Aceasta situat ie se
poate produce pentru anumite condit ii la limite.

In fapt, anularea derivatei y

n ecare punct conduce la o funct ie de gradul ntai. Ca urmare, atat eroarea


absoluta e
(RK)
m+1
cat si cea relativa,
(RK)
m+1
pot creste oricat de mult, indiferent
de metoda numerica folosita. De aceea se spune ca solut ia, pentru condit ia la
limita care satisface (9.73), este inerent instabila numeric.
2. Daca b
m
h (1, 0), atunci e
bmh
< 1, iar solut ia poate deveni instabila
odata cu scaderea n modul a valorilor solut iei.

In continuare, vom arata particularitat ile propagarii erorilor pentru formu-


lele multipas. Pentru a aplica formula Milne (9.56) ecuat iei (9.63), vom scrie

f
m+1
=

f
m
+ a
m
h +

b
m
( y
(M)
m+1
y
(M)
m
) (9.74)
de unde, prin sumare, se obt ine

f
m+1
=

f
0
+
m

i=0
_
a
i
h +

b
i
( y
(M)
i+1
y
(M)
i
)
_
, i 0, m , (9.75)
bara indicand ca valorile se calculeaza cu erori de trunchiere si rotunjire. Pentru
a
i
=constant= a, b
i
=constant= b, din (9.75) se obt ine

f
m+1
=

f
0
+ ah(m+ 1) +

b( y
(M)
m+1
y
0
), m = 0, 1, 2, . . . . (9.76)
T inand seama de (9.76), din formula Milne (9.56) se obt ine urmatoarea
ecuat ie n diferent e pentru y
(M)
m
(1

bh/3) y
(M)
m+1
4

bh/3 y
(M)
m
(1 +

bh/3) y
(M)
m+1
(9.77)
= 2h(f
0

by
0
) + 2a h
2
m .
Ecuat ia n diferent e (9.77) se rezolva similar cu ecuat iile diferent iale cu
coecient i constant i, neomogene. Astfel, ecuat ia omogena (f ara membrul drept)
admite solut ii de forma y
m
= r
m
, numerele r ind date de solut iile ecuat iei ca-
racteristice
(1

bh/3)r
2
(4

bh/3)r (1 +

bh/3) = 0 . (9.78)
Se obt in solut iile
r
1
= (2

bh +
_
9 + 3

b
2
h
2
)/(3

bh)
r
2
= (1/r
1
)(3 +

bh)/(3

bh) = (2

bh
_
9 + 3

b
2
h
2
)/(3

bh) .
(9.79)
246 9. Rezolvarea ecuatiilor diferentiale
Solut ia generala a ecuat iei (9.77) se obt ine adunand la solut ia ecuat iei omogene
o solut ie particulara. Astfel, introducand si o eroare de rotunjire, e
Rm
, rezulta
y
(M)
m
= C
1
r
1m
+C
1
r
2m
+y
0
( a +

bf
0
)/

b
2
m( ah)/

b +e
Rm
. (9.80)
Pentru determinarea constantelor C
1
si C
2
, se pun condit iile
_
x = x
0
, m = 0, y
(M)
0
= y
0
, e
R0
= 0
x = x
1
, m = 1, y
(M)
1
= y
1
,
(9.81)
valoarea y
1
ind furnizata de o metoda pas cu pas sau de o alta metoda. Pe de
alta parte, solut ia exacta (9.65), pentru a
i
= a =constant si b
i
= b =constant,
devine
y
m+1
= y
m
A
m
(e
b h
1) ha/b . (9.82)

Inlocuind apoi A
m
din (9.64) si f
m
dintr-o relat ie de tipul (9.76) din (9.82) se
obt ine urmatoarea ecuat ie n diferent e nite
y
m+1
y
m
e
b h
= [(a +bf
0
)/b
2
y
0
](e
b h
1) ha/b +h(a/b)(e
b h
1)m .
Solut ia ecuat iei n diferent e nite de mai sus este
y
m
= Ke
b hm
+y
0
m(a +bf
o
)/b +e

Rm
, (9.83)
unde e

Rm
este o constanta de rotunjire, iar constanta K se determina din
condit ia x = x
0
, y
m
= y
0
, e

R0
= 0. Rezulta solut ia exacta n absent a ero-
rilor de rotunjire
y
m
=
(a +bf
0
)
b
2
(e
b hm
1)
a h
b
m+y
0
+e

Rm
. (9.84)
Se observa prezent a termenului exponent ial e
b hm
. Pe de alta parte, utilizand
condit ia (9.81), ecuat ia (9.80) devine
y
(M)
m
=
1

b
2
( a +

b

f
0
)(r
1m
1) +C
2
(r
2m
r
1m
)
1

b
a hm+y
0
+e
Rm
. (9.85)
Impunand, pentru comparat ie, condit ia ca la primul pas erorile de trunchiere
sa e neglijabile si luand n plus a = a,

b = b, vom scrie
y
(M)
m
= y
1
=
1
b
2
(a +b f
0
)(e
b h
1) ha/b +e

R1
. (9.86)
Se deduce astfel expresia constantei C
2
din solut ia (9.85)
C
2
=
3b h
29+3b
2
h
2
_
a+bf0
b
2
(r
1
e
b h
) +e
R1
e

R1
_
=
=
3b h
29+3b
2
h
2
_
a+bf0
b
2
_
b
5
h
5
180
+O(b
6
h
6
)
_
+e
R1
e

R1
_
.
(9.87)
9.6. Sisteme de ecuat ii diferent iale. Ecuat ii de ordin superior 247

In (9.87) s-a t inut seama ca dezvoltarile n serie Taylor ale funct iilor r
1
si e
bh
coincid pana la termenii n b
5
h
5
. Mai precis
r
1
=

4
i=0
(bh)

i!
+
b
5
h
5
72
+O(b
6
h
6
), [b h[ < 1 . (9.88)
Eroarea absoluta n cazul metodei Milne-predictor este
e
(M)
m
= y
m
y
(M)
m
=
1
b
2
(a +b f
0
)(e
b hm
r
1m
) C
2
(r
2m
r
1m
) +e

Rm
e
Rm
,
depinzand atat de r
1
cat si de r
2
(vezi (9.79)). Se observa aparit ia unui termen
suplimentar n ecuat ia cu diferent e Milne, legat de existent a a doua solut ii r
1
,
r
2
ale ecuat iei n diferent e (9.77), fat a de solut ia exacta (9.84). Dintre cele doua
solut ii, r
1
este cea care urmeaza ndeaproape exponent iala e
bh
, n timp ce r
2
este o solut ie straina.
Daca bh (0, 1), atunci r
1
> 1, iar r
2
avand dezvoltarea r
2
= (1 bh/3 +
b
2
h
2
/18 +. . . ) este, n modul, subunitar ([r
2
[ < 1). Ca urmare, solut ia proprie,
r
1m
, este preponderenta, iar erorile de trunchiere sunt proport ionale cu [e
bh
r
1
[,
daca (a +bf
0
) ,= 0. Solut ia este relativ stabila: eroarea relativa [
m
[ descreste.
Daca bh (1, 0), atunci termenul n r
2m
este preponderent ([r
2
> 1) si
solut ia este numeric instabila, atat eroarea absolut a cat si cea relativa crescand
n modul.
Cazul critic este: a +bf
0
= 0, a +

bf
0
,= 0, caz n care avem
C
2
3 b h
2
_
9 + 3

b
2
h
2
_
a +

bf
0

b
2
r
1
+e
R1
e

R1
_
, (9.89)
iar solut ia este instabila numeric, ca si n cazul metodei Runge-Kutta (instabi-
litate inerenta).
9.6 Sisteme de ecuat ii diferent iale. Ecuat ii de
ordin superior
Sistemele de ecuat ii diferent iale ordinare se rezolva numeric prin extinderea unor
procedee utilizate la rezolvarea ecuat iei diferent iale de ordinul nt ai. Aspecte
noi sunt introduse nsa de condit iile impuse pentru select ionarea solut iei. Din
acest punct de vedere distingem doua categorii de probleme: (a) probleme cu
valori init iale (Cauchy); (b) probleme cu valori la limite.

In ambele cazuri se
considera sistemul de ecuat ii diferent iale adus la forma canonica, adica la forma
y

i
= f
i
(x, y
i
), i 1, n , (9.90)
n ind numarul de ecuat ii, egal cu numarul funct iilor necunoscute y
i
(x). Funct iile
f
i
(x, y
i
) pot cont ine pe langa variabila independenta x, toate necunoscutele y
i
,
dar nu pot cont ine nici o derivata.
Ordinul sistemului de ecuat ii diferent iale se obt ine adunand ordinele tuturor
ecuat iilor din sistem. Numarul de condit ii necesare pentru ca solut ia sa e unic
determinata este egal cu ordinul sistemului (n cazul de fat a ordinul este n).
248 9. Rezolvarea ecuatiilor diferentiale
9.6.1 Probleme cu valori init iale

In acest caz, considerand un interval [a, b] pe care se construieste solut ia, condit iile
sunt impusentr-un singur punct, uzual x = a. Combinat ia de ecuat ii diferent iale
cu condit ii ntr-un sigur punct,
y

i
= f(x, y
1
, , y
n
), x = a, y = y
i0
, i 1, n , (9.91)
se numeste problema Cauchy, sau problema cu valori init iale. Se presupun
ndeplinite condit iile necesare pentru ca problema Cauchy sa admita solut ie
unica. Fie x
i
, i = 0, 1, . . . , N o partit ie uniforma a intervalului [a, b], x
0
= a,
x
N
= b avand pasul h = (x
N
x
0
)/N. Aplicand formula Runge-Kutta de
ordinul patru (9.22) pentru ecare ecuat ie a sistemului (9.90) se obt ine
y
i,m+1
= y
i,m
+
h
6
(K
i1
+ 2K
i2
+ 2K
i3
+K
i4
), i 1, n , (9.92)
unde
K
i1
= f
i
(x
m
, y
i,m
), K
i2
= f
i
(x
m
+
h
2
, y
i,m
+
h
2
K
i1
),
K
i3
= f
i
(x
m
+
h
2
, y
i,m
+
h
2
K
2
), K
i4
= f
i
(x
m
+h, y
i,m
+hK
i3
) .
(9.93)
Ordinea de calcul a derivatelor este urmatoarea: se calculeaza K
i1
pentru tot i
indicii i = 1, 2, . . . , n, apoi K
i2
, s.a.m.d. Plecand din punctul x
0
cu valorile
init iale date de (9.91) se calculeaza valorile y
i,m
pas cu pas.
Criteriile de modicare a pasului sunt similare cu cele din cazul unei singure
ecuat ii diferent iale. Folosirea criteriului simplu consta n calculul raportului
r = sup
i

K
i2
K
i3
K
i1
K
i2

0.01 (9.94)
si njumatat irea pasului daca r 0.1, sau dublarea pasului daca r 0.001.
Criteriul calcului dublu cu pasii h si 2h considera, dupa modelul (9.25) can-
titatea
= sup
i
[y
(h)
i
y
(2h)
i
[
2
s
1
, (9.95)
unde y
(h)
i
este calculat cu pasul h iar y
(2h)
i
cu pasul 2h, s ind ordinul metodei.
Pasul se pastreza daca se aa ntr-un interval considerat dinainte. Limitele
pentru se stabilesc n funct ie de problema care se rezolva.

In cazul cand se
lucreaza adimensional, (10
6
, 10
4
) este un interval uzual, n funct ie de
precizia dorita si de calculator.

In locul normei maxime din relat iile (9.94) si
(9.95), se pot folosi orice alte norme de vectori.

In mod similar, pentru rezolvarea sistemului (9.90) se pot utiliza metode


multipas. Pentru formula predictor-corector Adams, spre exemplu, se scrie
y
(Ap)
i,m+1
= y
i,m
+
h
24
(55f
i,m
59f
i,m1
+ 37f
i,m2
9f
i,m3
) ,
y
(Ac)
i,m+1
= y
i,m
+
h
24
(9f
i,m+1
+ 19f
i,m
5f
i,m1
+f
i,m2
) ,
y
i,m+1
= y
(Ac)
i,m+1

19
270
(y
(Ac)
i,m+1
y
(Ap)
i,m+1
), i 1, n .
(9.96)
9.6. Sisteme de ecuat ii diferent iale. Ecuat ii de ordin superior 249
Condit ia de convergent a a procedeului predictor-corector (vezi relat iile (8.7) si
(8.12)) este luata sub una din formele
h sup [f
i
/y
j
[ < (1/n)(24/9); h [f
i
/y
j
[

< (24/9), i, j 1, n , (9.97)


unde J = (f
i
/y
j
)
i,j1,n
este matricea jacobiana a funct iilor panta.
Criteriul de ment inere sau de modicare a pasului l reprezinta pastrarea
sub o anumita limita a diferent ei de valori ntre formula predictor si formula
corector, spre exemplu
19
270
sup [y
(Ac)
i,m+1
y
(Ap)
i,m+1
[ < , (9.98)
cu = 10
s
, s ind numarul de cifre semnicative exacte dorite n solut ia
aproximativa. Daca s-a lucrat adimensional, normandu-se rezonabil variabilele,
(10
6
, 10
4
) pentru o precizie corespunzand la 4 6 zecimale.
9.6.2 Probleme cu valori la limite
Consideram n cele ce urmeaza sistemul de ecuat ii cu condit iile la limite
y

i
= f(x, y
1
, , y
n
),
_
x = x
0
, y
j
= y
j,0
, j 1, n
1
,
x = x
N
, y
k
= y
k,N
, k 1, n
2
.
(9.99)
Avem deci n
1
condit ii impuse la un capat al intervalului si n
2
condit ii la celalalt
capat, cu n
1
+ n
2
= n. Deoarece n punctul init ial x = x
0
nu sunt date toate
valorile funct iilor y
i,0
, i 1, n, startul nu poate luat. Metodele de rezolvare a
problemelor cu condit ii la limite se mpart n doua mari categorii: (a) metoda
tirului care se bazeaza pe transformarea problemei cu condit ii la limite ntr-o
problema cu condit ii init iale, prin estimarea valorilor lipsa de la unul din capetele
intervalului n asa fel ncat sa e ndeplinite condit iile la limita de la celalalt
capat; (b) metode cu diferent e nite n care se folosesc expresii cu diferent e nite
pentru aproximarea derivatelor pe o diviziune a intervalului de integrare.
Metoda tirului.
Din punct de vedere al dicultat ii rezolvarii unei probleme cu condit ii la limite,
distingem dou a situat ii pe care le vom trata separat: (a) probleme cu valori la
limite uniparametrice, cand n
1
= 1 sau n
2
= 1; (b) probleme cu valori la limite
cu doi sau mai mult i parametri.
Probleme cu valori la limite uniparametrice. Sa consideram ca, pentru
sistemul (9.90) condit iile (9.91) sunt de forma
_
x = x
0
, y
j
= y
j,0
, j 1, n 1 ,
x = x
N
, y
n
= y

n,N
,
(9.100)
250 9. Rezolvarea ecuatiilor diferentiale
adica nu este cunoscuta valoarea y
n,0
la x = x
0
. Vom considera y
n,0
ca
parametru si vom observa ca acesta trebuie determinat astfel ncat la x = x
N
sa e satisfacuta condit ia din (9.100), adica este solut ia ecuat iei
F() y
n,N
() y

n,N
= 0, y
n,0
. (9.101)
Fie

valoarea care satisface ecuat ia (9.101). Pentru a o gasi numeric,


trebuie mai ntai localizata, adica trebuie gasite doua valori
k1
,
k2
astfel
ncat F() sa-si schimbe semnul. Aceste valori se aleg prin ncercari, avand n
vedere si eventuale alte informat ii (s.e. de natura zica). Se introduce apoi
un sir iterativ folosind metoda coardei prezentata n capitolul 3, adica pentru
ecare pereche
k2
,
k1
, cu F(
k2
) F(
k1
) < 0 se determina
k
cu relat ia

k
=
k1

F(
k1
)(
k1

k2
)
F(
k1
) F(
k2
)
. (9.102)

In iterat ia urmatoare se atribuie valoarea


k
uneia din valorile
k1
,
k2
ast-
fel ncat sa se pastreze schimbarea de semn. Procedeul se opreste daca sunt
ndeplinite condit iile [F()[ <
F
, sau [
k

k1
[ <

[
k
[ +
s
, unde
s
este
valoarea introdusa pentru eventualitatea cand

= 0.
Un caz particular l constituie ecuat iile diferent iale de ordinul doi
3
de forma
y

= f(x, y, y

), y(x
0
) = , y(x
N
) = . (9.103)

In cazul n care f este de forma


f(x, y, y

) = u(x) +v(x)y +w(x)y

, (9.104)
atunci ecuat ia este liniara iar solut ia este de forma
y(x) = y
1
(x) + (1 )y
2
(x) , (9.105)
unde y
1
si y
2
sunt doua solut ii obt inute pentru doua valori diferite ale parame-
trului y

(x
0
), iar se determina din condit ia ca y(x
N
) = rezultand
= [ y
2
(x
N
)]/[y
1
(x
N
) y
2
(x
N
)] . (9.106)
Cele doua solut ii se pot obt ine simultan, rezolvand sistemul
y

1
= y
3
, y

2
= y
4
, y

3
= f(x, y
1
, y
3
), y

4
= f(x, y
2
, y
4
) ,
y
1
(x
0
) = , y
2
(x
0
) = , y
3
(x
0
) =
1
= 0, y
4
(x
0
) =
2
= 1 ,
(9.107)
unde pentru cele doua valori ale parametrului am ales
1
= 0 si
2
= 1, iar
pentru rezolvare putem folosi oricare din metodele pas cu pas. Valorile y
1
(x
m
) si
y
2
(x
m
) obt inute prin integrare numerica trebuie memorate n doi vectori pentru
a putea construi n nal solut ia cu relat ia (9.105) folosind dat de (9.106).
3
Vezi paragraful 9.6.3 pentru ecuat ii diferent iale de ordin superior.
9.6. Sisteme de ecuat ii diferent iale. Ecuat ii de ordin superior 251

In cazul n care ecuat ia (9.103) este neliniara, n locul metodei coardei (9.102)
se poate folosi metoda Newton pentru rezolvarea ecuat iei (9.101), n care se
construieste sirul de aproximat ii ale valorii

dat de relat ia

k+1
=
k
F(
k
)/F

(
k
) , (9.108)
unde
F() y
N
() = 0, y

(x
0
) . (9.109)
Pentru determinarea derivatei funct iei F, F

F/ = y(x
N
)/, se deri-
veaza funct ia y

data de (9.103) n raport cu


y

=
f
x
x

+
f
y
y

+
f
y

. (9.110)
Notand u y/ si t inand cont ca
x

= 0,
y

2
y
x
2
_
=

2
x
2
_
y

_
= u

, (9.111)
si ca y(x
0
)/ = 0, y

(x
0
)/ = 1, obt inem ecuat ia diferent iala de ordinul
doi cu condit ii init iale
u

= u
f(x, y, y

)
y
+u

f(x, y, y

)
y

, u(x
0
) = 0, u

(x
0
) = 1 . (9.112)
Cu ales se rezolva numeric cu o metoda pas cu pas sistemul de ecuat ii
diferent iale
y

1
= y
2
, y

2
= f(x, y, y

), y

3
= y
4
, y

4
= y
3
(f/y) +y
4
(f/y

) ,
y
1
(x
0
) = , y
2
(x
0
) = , y
3
(x
0
) = 0, y
4
(x
0
) = 1 ,
(9.113)
unde y
1
y, y
3
u. Valoarea u(x
N
) y
3
(x
N
) este tocmai F

(), astfel ncat o


valoare mai buna pentru se poate calcula cu relat ia (9.108). Ca test de oprire
se poate folosi condit ia
[
k+1

k
[ < [
k+1
[ +
s
, (9.114)
unde valoarea
s
(pentru care se poate lua
s
= ) trebuie introdusa pentru a
elimina nedeterminarea ce poate aparea daca valoarea exacta este chiar = 0.
Pentru
s
= 0 si = 10
s
, condit ia (9.114) este ndeplinita atunci cand
k+1
si

k
au s cifre semnicative identice.
Probleme cu valori la limite cu doi sau mai mult i parametri.

In cazul cand problema are mai mult i parametri dicultat ile cresc; pasul esent ial
l reprezinta trecerea de la un parametru la doi parametri, mai departe extinde-
rea ind evidenta. Pentru exemplicare sa presupunem sunt impuse condit iile
_
x = x
0
, y
j
= y
j,0
, j 1, n 2 ,
x = x
N
, y
n1
= y

n1,N
, y
n,N
= y

n,N
.
(9.115)
252 9. Rezolvarea ecuatiilor diferentiale
Vom considera ca parametri valorile y
n1,0
=
1
, y
n,0
=
2
. Solut iile sistemului
(9.115) trebuie sa verice sistemul de ecuat ii
_
F
1
(
1
,
2
) y
n1,N
(
1
,
2
) y

n1,N
= 0 ,
F
2
(
1
,
2
) y
n,N
(
1
,
2
) y

n,N
= 0 .
(9.116)
Cu y
n1,N
(
1
,
2
) si y
n,N
(
1
,
2
) s-au notat valorile funct iilor y
n1
respectiv
y
n
care se obt in prin integrare numerica la x = x
N
cu parametrii
1
si
2
alesi .
Pentru a gasi solut ia (

1
,

2
) care satisface condit iile (9.116) se poate aplica
una din metodele de rezolvare a sistemelor de ecuat ii neliniare prezentate n
capitolul 8, sau se poate aplica o metoda de optimizare pentru funct ia scop
U(
1
,
2
) =
1
2
[F
2
1
(
1
,
2
) +F
2
2
(
1
,
2
)] . (9.117)
Spre exemplu, utiliz and metoda gradientului (vezi 8.4), se scrie sirul de iterat ii

k+1
=
k

k
g
k
unde g este vectorul gradient, g
k
= U(
k
1
,
k
2
) = J
T
F,
J este jacobiana funct iei vectoriale F = (F
1
, F
2
)
T
. Parametrul
k
> 0 se
determina optimizand descresterea funct iei U n lungul direct iei gradientului
negativ g.
Plecand dintr-un punct ales init ial (
0
1
,
0
2
), este necesara cunoasterea ma-
tricei jacobian J
0
pentru a gasi direct ia de descrestere. Cum n general este
imposibil de determinat expresia analitica a jacobienei, aceasta se poate apro-
xima cu ajutorul diferent elor la dreapta
J
0

=
_
[F
1
(
10
+h
1
,
20
) F
10
]/h
1
[F
1
(
10
,
20
+h
2
) F
10
]/h
2
[F
2
(
10
+h
1
,
20
) F
20
]/h
1
[F
1
(
10
,
20
+h
2
) F
20
]/h
2
_
.
(9.118)
Procedeul este acelasi indiferent de numarul de parametri (n 2). Daca
numarul de parametri este mai mare decat 2, se recomanda o metoda de des-
crestere cvasi-Newton sau de gradient conjugat.
Vom observa ca numarul real de parametri nu poate depasi 2 daca ordinul
sistemului n 4, 3 daca n 6, n general [n/2] (parte ntreaga) deoarece putem
alege convenabil ca punct de plecare x
0
sau x
N
, adica punctul unde se dau cele
mai multe condit ii.
Metode cu diferent e nite.
Se bazeaza pe folosirea unei o ret ele de puncte de diviziune ale intervalului care
se stabileste nainte de integrarea ecuat iilor diferent iale. De regula nu se cunosc
dinainte zonele n care funct iile necunoscute prezinta variat ii mai rapide unde
nodurile ret elei ar trebui sa e mai dese. Desi exista tehnici adaptive si pen-
tru metodele cu diferent e nite, care constau n ndesirea ret elei n zonele de
variat ie rapida a funct iilor necunoscute, acestea sunt mai complexe decat cele
corespunzatoare metodelor pas cu pas folosite la metoda tirului, astfel ncat
metodele cu diferent e nite se recomanda sa e folosite pentru rezolvarea pro-
blemelor cu condit ii la limita a caror solut ie nu prezinta zone de variat ie rapida.
9.6. Sisteme de ecuat ii diferent iale. Ecuat ii de ordin superior 253
Fie un sistem de ecuat ii diferent iale y

i
= f
i
(x, y
1
, . . . , y
n
) scris n forma
vectoriala
Y

= F(x, Y ) , (9.119)
cu condit iile la limita de forma (9.99). Se aproximeza derivatele cu diferent e
nite la dreapta
y

i
(x
m
) = (y
m+1
i
y
m
i
)/h +O(h), i 1, n, m 0, N 1 , (9.120)
sau, cu efecte benece asupra preciziei, cu diferent e centrate
y

i
(x
m
) = (y
m+1
i
2y
m
i
+y
m1
i
)/(2h) +O(h
2
), i 1, n, m 1, N 1 ,
(9.121)
unde pentru simplitate am considerat o diviziune cu pasul constant h = x
m+1

x
m
. Considerand spre exemplu schema cu diferent e nite la dreapta, sistemul
(9.119) se scrie n forma
Y
m+1
Y
m
= hF[
1
2
(x
m+1
+x
m
),
1
2
(Y
m+1
+Y
m
)] +O(h
2
) . (9.122)
Neglijand termenii O(h
2
), relat ia (9.122) se scrie n forma
E
m+1
= Y
m+1
Y
m
hF[
1
2
(x
m+1
+x
m
),
1
2
(Y
m+1
+Y
m
)] = 0, m 0, N 1 ,
(9.123)
obt inand un sistem de n N ecuat ii neliniare cu n (N + 1) necunoscute y
m
i
,
pentru a carui rezolvare vom folosi metoda iterativa Newton prezentata la ??.
Cele n ecuat ii lipsa se completeaza folosind condit iile la limita (9.99) care uneori
pot date n forma generala
L
0j
(x
0
, y
1
, . . . , y
n
) = 0, j 1, n
1
,
L
Nk
(x
0
, y
1
, . . . , y
n
) = 0, k 1, n
2
,
(9.124)
unde L
0j
si L
Nk
sunt expresii liniare sau neliniare care cont in funct iile necunos-
cute y
i
, i 1, n. Relat iile (9.124) se pun n aceasi forma cu (9.123)
E
0
i
0, i 1, n n
1
, E
0
i
= L
0i
(x
0
, y
1
, . . . , y
n
), i n n
1
+ 1, n,
E
N+1
i
= L
Ni
(x
0
, y
1
, . . . , y
n
), i 1, n
2
, E
N+1
i
0, i n
2
+ 1, n .
(9.125)
Asa cum se va vedea n continuare, este convenabil ca cele n
1
condit ii la limita
x = x
0
sa e plasate n vectorul E
0
pentru ultimele valori ale indicelui i, iar cele
de la limita x = x
N
pentru primele valori ale indicelui i. Ecuat iile (9.123) se
liniarizeaza folosind o dezvoltare n serie Taylor pentru funct iiile de mai multe
variabile E
m+1
i
(y
m
1
, . . . , y
m
n
, y
m+1
1
, . . . , y
m+1
n
), pentru care vom folosi notat ia
vectoriala E
m+1
(Y
m
, Y
m+1
)
E
m+1
(Y
m
+Y
m
, Y
m+1
+Y
m+1
)

= E
m+1
(Y
m
, Y
m+1
)+
+

n
i=1
(E
m+1
/y
i,m
)y
i,m
+

n
i=1
(E
m+1
/y
i,m+1
)y
i,m+1
.
(9.126)
254 9. Rezolvarea ecuatiilor diferentiale
Se obt ine un sistem de ecuat ii liniare de forma
n

j=1
J
i,j
y
m
i
+
n

j=1
J
i,n+j
y
m+1
i
= E
m
i
, J
i,j
=
E
m
i
y
m
j
, J
i,n+j
=
E
m
i
y
m+1
j
.
(9.127)
Desi sistemul (9.127) este de regula mare
4
se poate rezolva foarte ecient cu
metoda eliminarii gaussiene daca de t ine cont de structura matricei sistemului
care cont ine elementele nenule grupate n blocuri de dimensiuni n2n. Relat ia
(9.128) ilustreaza structura sistemului liniar pentru n = 3 si N = 4, cu 2 condit ii
la x = x
0
, y
1
(x
0
) = y
10
, y
2
(x
0
) = y
20
si o condit ie la x = x
N
, y
1
(x
N
) = y
1N
. Au
fost reprezentate numai elementele nenule. Pentru astfel de sisteme cu matrice
rare exista tehnici eciente de optimizare a memoriei utilizate (vezi 5.1.11), cu
pret ul unor calcule suplimentare.
Dupa cum am vazut la 8.2, metoda iterativa Newton converge rapid daca dis-
punem de un punct sucient de apropiat de solut ie. Pentru obt inerea aproximat ii
de start, se poate folosi o metoda pas cu pas cu care se integreaza ecuat iile
diferent iale cu condit iile la limita completate la unul din capetele intervalului,
la fel ca la metoda tirului.

In unele cazuri avem de rezolvat de mai multe ori
acelasi sistem de ecuat ii diferent iale care sufera mici modicari.

In asemenea
cazuri, o solut ie obt inuta poate folosita ca punct de start pentru calculele
urmatoare.
_

_
x x x
x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x x x x
x x x
_

_
y
0
3
y
1
1
y
1
2
y
1
3
y
2
1
y
2
2
y
2
3
y
3
1
y
3
2
y
3
3
y
N
2
y
N
3
_

_
=
_

_
E
0
3
E
1
1
E
1
2
E
1
3
E
2
1
E
2
2
E
2
3
E
3
1
E
3
2
E
3
3
E
N
2
E
N
3
_

_
(9.128)
9.6.3 Ecuat ii diferent iale de ordin superior
Vom considera ecuat ia diferent iala de forma
y
(n)
= E(x, y

, y

, . . . , y
(n1)
) , (9.129)
4
Spre exemplu pentru cinci funct ii necunoscute si o discretizare cu 200 de noduri avem
1000 de ecuat ii cu 1000 de necunoscute.
9.7. Sisteme cu scari disparate 255
E ind o funct ie care asigura existent a solut iei pe un interval [a, b] R.
Se observ a c a ecuat ia (9.129) poate transformata ntr-un sistem de ecuat ii
diferent iale de forma canonica (9.90), notand
y
1
y, y
2
y

, y
3
y

, . . . , y
n
y
(n1)
. (9.130)

In acest caz, funct iile f


i
= (x
i
, y
1
, y
2
, . . . , y
n
) au expresiile
f
i
= y
i+1
, i 1, n 1; f
n
= E(x, y
1
, y
2
, . . . , y
n
) (9.131)
si deci problema se reduce la rezolvarea unui caz particular de sistem de ecuat ii
diferent iale. Vom observa ca problema cu valori init iale revine la cunoasterea
funct iei y si a derivatelor pana la ordinul n 1 inclusiv n punctul x = x
0
.
9.7 Sisteme cu scari disparate
Sistemele de ecuat ii diferent iale ordinare cu scari disparate provin de regula
din descrierea unor fenomene evolutive cu scari de timp diferite. De exemplu,
controlul automat al traiectoriei unei aeronave impune corect ii rapide n cazul
unor abateri de la traiectoria programata. Un alt exemplu poate preluat n
cazul react iilor chimice complexe cu o gama larga de valori pentru vitezele de
react ie.

In astfel de situat ii, condit iile de stabilitate ale metodelor de rezolvare
impun pasi de integrare exagerat de mici si care nu sunt justicat i de vitezele
de variat ie ale unor funct ii necunoscute.
Pentru exemplicare, vom considera sistemul
_
y

1
= 998y
1
+ 1998y
2
, y
1
(0) = 1 ,
y

2
= 999y
1
1999y
2
, y
2
(0) = 0 ,
(9.132)
cu solut ia y
1
= 2e
x
e
1000x
, y
2
= e
x
+ e
1000x
.

In cazul folosirii unei
metode explicite, termenul e
1000x
din solut ia exacta impune un pas de integrare
h 1/1000 pentru asigurarea stabilitat ii, chiar daca e
1000x
devine complet
neglijabil n comparat ie cu e
x
imediat ce ne departam de origine.

In astfel
de situat ii, se recomanda folosirea unei formule implicite.

In general, folosirea
unor formule implicite duce la condit ii mult mai put in restrictive din punct de
vedere al stabilit at ii.

In cazul ecuat iilor diferent iale liniare, folosind o formula
implicita, se obt ine o metoda necondit ionat stabila.
Se pot folosi formulele de tip predictor-corector prezentate la 9.4. O dicul-
tate suplimentara o constituie n acest caz startul metodei, care trebuie facut
cu o metoda pas cu pas. Folosirea unei formule explicite ar duce la necesitatea
utilizarii unui pas foarte mic, astfel ncat se recomanda folosirea unei formule
implicite. Spre exemplu, o formula implicita de ordinul ntai se scrie
y
m+1
i
= y
m
i
+hf
i
(x
m+1
, y
m+1
k
), i, k 1, n , (9.133)
obt inandu-se un sistem de ecuat ii neliniare cu necunoscutele y
m+1
i
, care se poate
liniariza dezvoltand n serie Taylor funct iile de n + 1 variabile f
i
(x
m+1
, y
m+1
k
)
256 9. Rezolvarea ecuatiilor diferentiale
si pastrand numai termenii liniari
y
m+1
i
= y
m
i
+h
_
_
f
i
(x
m+1
, y
m
k
) +
n

j=1
(y
m+1
j
y
m
j
)
f
i
(x
m
, y
m
k
)
y
j
_
_
. (9.134)
Obt inem astfel o metoda semi-implicita. Marimea pasului va impusa acumn
principal de precizie (care este de ordinul ntai) si nu de stabilitatea metodei,
care este n general asigurata.
Pentru a obt ine o metoda de ordinul al doilea, vom scrie
y
m+1
i
= y
m
i
+
h
2
[f
i
(x
m
, y
m
) +f
i
(x
m+1
, y
m+1
m
)] . (9.135)
Liniarizand din nou obt inem
y
m+1
i
= y
m
i
+
h
2
_
_
f
i
(x
m
, y
m
k
) +f
i
(x
m+1
, y
m
k
) +
n

j=1
(y
m+1
j
y
m
j
)
f
i
(x
m
, y
m
k
)
y
j
_
_
.
Este posibila si obt inerea unor metode pas cu pas de ordine mai mari de 2 cu
pret ul unor calcule laborioase, care nu ntotdeauna sunt justicate daca folosim
o liniarizare de forma (9.134) sau celei de mai sus.
Exemplul 1. Fie ecuat ia diferent iala y

= 4kxy

(4k
2
x
2
+m
2
2k)y +m
2
e
kx
2
,
y(0) = 1, y

(0) = m a. Se cere solut ia pe intervalul [0, 1.6], pentru (a) a = 1, m =


15, k = 1 si (b) a = 13, m = 1, k = 0.
Rezolvare. Ecuat ia are solut ia y = [1 + a sin(mx)]e
kx
2
, deci vom putea compara
rezultatele numerice cu cele exacte.

In gura 9.3 sunt reprezentate funct iile y(x) si
y
(6)
(x) pentru k = 1. Rezultatele calculelor sunt date n tabelele 9.3 si 9.4, pentru (a),
respectiv (b). S-au folosit metodele Runge-Kutta-Gill, Adams si Milne cu pasii (a) h =
0.05, 0.02, 0.01, respectiv (b) h = 0.2, 0.1, 0.05. Pentru metodele predictor-corector
sunt date trei seturi de rezultate: P predictor, C1 o singura corect ie, C2 doua corect ii.
Valorile din tabele reprezinta erorile absolute calculate cu formula e = ( y yexact) si
amplicate cu 10
4
, respectiv 10
6
. Pe ultima coloana este dat numarul de evaluari ale
funct iei panta F pentru x = 1.6 care poate calculat cu relat ia nF = sr+(Nr)(1+c),
unde s este ordinul metodei pas-cu-pas folosita pentru start, r este gradul polinomului
de interpolare folosit n formula multipas, N = (xmax xmin)/h este numarul de pasi,
iar c este numarul de corect ii efectuate cu formula corector.
Pentru cazul (a), pasul h = 0.05 se dovedeste a prea mare. Spre exemplu,
eroarea absoluta n x = 0.4 pentru metoda Runge-Kutta este 8.9 10
3
. Expresia
erorii pentru o metoda de ordinul 4 este de forma e = Ch
5

(4)
(), unde C este o
constanta, iar (x) f(x, y(x)) = y

(x). Pentru exemplul considerat avem

(4)
y
(6)
(x) = [120 + 720x
2
+480x
4
+64x
6
+cos(15x)(8 313 300x 525 600x
+2880x
5
+sin(15x)(9 912 255 + 2 876 220x
2
53 520x
4
+64x
6
)]e
x
2
,
deci e(0.4) = C (3 10
7
) (6.8 10
6
)

= 2.2C. Pentru acest pas metodele predictor-
corector dau rezultate foarte proaste. Pentru h = 0.01 si x = 1.61, eroarea absoluta
9.7. Sisteme cu scari disparate 257
Figura 9.3: Gracele funct iilor y, y
(6)
.
este de ordinul 10
3
la toate metodele folosite. Cresterea preciziei prin folosirea for-
mulelor implicite de tip corector nu este posibila deoarece pasul este nca prea mare
(relat ia (9.60)). Pentru h = 0.01 iese n evident a superioritatea (din punct de vedere
al efortului de calcul) metodelor predictor-corector. Spre exemplu, folosind formulele
Milne cu 2 corect ii, cu pret ul a 484 evaluari ale funct iilor panta, se obt ine acelasi or-
din de precizie cu metoda Runge-Kutta care necesita 640 evaluari, adica cu 32% mai
mult, iar daca folosim o singura corect ie, rezultate bune se obt in cu pret ul a numai
326 evaluari, adica aproape de doua ori mai put ine evaluari decat cu Runge-Kutta.
Pentru cazul (b), erorile absolute se ment in n limite normale (adica O(h
5
)) pentru
toate formulele aplicate. Derivata din expresia erorii absolute este
(4)
(x) y
(6)
(x) =
13 sin(x), astfel ca putem folosi pasi de integrare mai mari.

In Tabelul 9.4 sunt
date si erorile absolute (multiplicate cu 10
6
) obt inute aplicand relat ia (9.62), iar
reprezinta valoarea corect iei din aceasta relat ie, =
1
29
(y
(c)
m+1
y
(p)
m+1
). Dupa cum se
observa din relat iile (9.48) si (9.49) precizia formulei Adams-predictor este mai mare
decat a formulei Milne-predictor, iar din relat iile (9.55) si (9.56) se poate vedea cum
formula Milne-corector este n general mai precisa decat Adams-corector. Fat a de
cazul precedent, folosirea celei de-a doua corect ii duce la rezultate mai exacte. Cele
mai bune rezultate le avem pentru h = 0.05 cu Milne folosind formula corector de doua
ori. Ordinul de precizie este acelasi cu cel dat de formula Runge-Kutta, dar cu un efort
de calcul cu aproximativ 30% mai mic, n timp ce folosirea unei singure corect ii duce
la un efort de calcul cu 83% mai mic fat a de Runge-Kutta si rezultate acceptabile.
Metoda Runge-Kutta se dovedeste nsa mai stabila n situat ii dicile decat formulele
predictor-corector care sunt mai sensibile datorita extrapolarii din formula predictor si
a procedeului de tip iterat ie simpla din formula corector a carei condit ie sucienta
de convergent a este data de (9.60). Aplicarea formulei (9.62) nu duce la rezultate
sensibil mai exacte, nsa reprezinta o informat ie utila privind ordinul de marime a
erorii absolute, n special n situat iile n care solut ia nu are variat ii puternice.

In tabelul 9.5 sunt datele referitoare la efortul de calcul necesar obt inerii unei
258 9. Rezolvarea ecuatiilor diferentiale
Tabelul 9.3: a = 1, m = 15, k = 1, erori absolute 10
4
Metoda x = 0.4 x = 0.8 x = 1.2 x = 1.6 nr.F
h = 0.05
RKG -89 -61 546 4750 128
Adams P -197 -1656 -3441 1446 41
C1 -740 -2732 -5517 -1818 70
C2 -55 -1009 -6492 -34264 99
Milne P 50 1089 -44215 452606 41
C1 -475 1344 -45857 533875 70
C2 -10 -156 -1311 -8149 99
h = 0.02
RKG -3.6 -7.0 -3.55 66.9 320
Adams P -9.65 -39 -160 -673 89
C1 -6.61 -42 -183 -772 166
C2 8.4 16 -4.2 -272 243
Milne P -4.8 -16.3 -49 -157 89
C1 -3.5 -16.7 -74 -239 166
C2 1.7 5.1 4.2 -43 243
h = 0.01
RKG -0.25 -0.54 -0.6 2.8 640
Adams P 0.028 -0.51 -4.8 -31 169
C1 0.210 -0.45 -5.2 -32 326
C2 0.640 1.8 1.4 -9.8 483
Milne P -0.17 -0.42 -1.74 -8 169
C1 -0.02 -0.38 -2.18 -10 326
C2 0.13 0.34 0.46 -1.4 484
solut ii aproximative cu precizie impusa. Pentru cazul (a) s-a impus o precizie relativa
de 10
6
, iar pentru cazul (b), o precizie absoluta de 10
6
. Pentru metodele pas cu pas,
Runge-Kutta (RK4), Kutta-Merson (KM) si Runge-Kutta-Fehlberg (RKF), s-a folosit
integrarea adaptiva descrisa la 9.2.4, n timp ce pentru formulele predictor-corector
Adams si Milne s-a integrat cu pas constant. Pentru primul caz, dintre metodele unipas
metoda Runge-Kutta s-a dovedit mai ecienta, n timp ce pentru cazul al doilea mai
ecienta este metoda Runge-Kutta-Fehlberg. Nu putem trage concluzii denitive pe
baza exemplelor considerate, pe de o parte pentru ca doar doua exemple reprezinta
prea put ina informat ie pentru a generaliza, iar pe de alta parte pentru ca, efortul de
calcul de la metodele adaptive depinde uneori si de o alegere norocoasa a pasului
de plecare, daca micsorarea pasului se face prin njumatat ire. Aplicarea relat iei (9.29)
este cu atat mai ecienta cu cat derivata
(4)
y
(6)
are variat ii cat mai mici. Aceeasi
observat iei este valabila si n ceea ce priveste estimarea pasului optim de integrare dat
de (9.32), unde este esent iala folosirea unei valori pentru factorul de sigurant a de cel
mult 0.9.
Pentru cazul (b) ordinul metodelor si spune cuvantul, efortul de calcul ind sensibil
9.7. Sisteme cu scari disparate 259
egal pentru toate metodele folosite. Pentru cazul (a) rezultate mai bune se obt in
cu metodele multipas. Rezultatele mai bune ale formulei Milne le punem pe seama
preciziei superioare a formulei corector fat a de formula corector Adams. Rezultatele
mai slabe date de formulele Runge-Kutta-Merson si Runge-Kutta-Fehlberg se datoresc
n principal aproximarilor ce intervin n estimarea erorii, vezi (9.36).

In concluzie, ori de cate ori timpul de calcul nu costituie o problema si nu avem


informat ii suplimentare privind solut ia unui sistem de ecuat ii diferent iale, se reco-
manda metoda Runge-Kutta-Gill cu criteriul pasului dublu, ca ind cea mai sigura
cale.
Exemplul 2. Sa se rezolve ecuat ia diferent iala f

+ f f

= 0 cu condit iile la
limite pe intervalul [0, ], f(0) = 0, f

(0) = 0, f

() = 1. (Ecuat ia este ntalnita la


calculul stratului limita laminar incompresibil pe o placa plana. Este cunoscuta sub
denumirea de solut ia lui Blasius).
Rezolvare. Se scrie sistemul de ecuat ii diferent iale echivalent, folosind notat iile
y1 = f(x), y2 = f

(x), y3 = f

(x). Sistemul obt inut este y

1
= y2, y

2
= y3, y

3
= y1y2
cu condit iile la limite y1(0) = y2(0) = 0, y

2
() = 1. Prin urmare avem de rezolvat
o problema bilocala. Un element suplimentar l constituie faptul ca intervalul pe care
se cauta solut ia este innit.

In acest caz, putem proceda pe doua cai: (a) se face
o schimbare de variabila independenta convenabila, care transforma intervalul [0, )
ntr-un interval nit (transformarea trebuie sa e o biject ie); (b) se porneste calculul
cu un anumit pas, urmarindu-se daca funct iile y1, y2, y3 au tendint a sa se stabilizeze
dupa o anumita distant a pe x. Parametrul problemei este y3(0) despre care se stie ca
este pozitiv (din considerente zice).
S-a plecat cu valoarea y3(0) = 0.20, folosind un pas constant n x (h = 0.20) si
s-a integrat pana la x = 6. S-a obt inut y2(6) 1 = 0.434162. Pentru y3(0) = 0.60
s-a obt inut y2(6) 1 = 0.177466, prin urmare s-a realizat o schimbare de semn.

In
continuare, s-a aplicat metoda coardei. Rezultatele iterat iilor dupa parametrul =
y3(0) si funct ia scop U() = y2(6, ) 1 sunt date n tabelul 9.6. S-a folosit formula
Runge-Kutta de ordinul 4.
Criteriul de oprire a iterat iilor a fost [U()[ < . La iterat ia a 4-a s-a realizat aceasta
condit ie pentru = 10
4
. Cu y3(0) = 0.469625 obt inut n aceasta a 4-a iterat ie, s-au
calculat funct iile y1, y2 si y3 pentru diferite valori ale lui x (pasul h = 0.20), ale caror
valori sunt date n tabelul 9.7.
Din tabelul 9.7 se observa variat ia lenta a funct iilor y2 si y3 pentru x 3, ceea ce
justica oprirea calculului la x = 6 (n loc de x ). Cresterea usoara a funct iei y2
peste valoarea 1 de la x = 5.4 la x = 6.0, sugereaza o eventuala necesitate de crestere
a preciziei. Astfel, s-a mai efectuat o iterat ie (a cincea) pentru obt inerea unei valori
mai precise pentru . Din tabelul 9.6 se obt ine valoarea y3(0) = 0.469604 ( = 10
5
.
Cu aceasta valoare mbunatat ita rezulta y2(5.6) = 0.9999926 si y2(6.0) = 1.000005,
precizie care poate considerata cu totul satisfacatoare.
260 9. Rezolvarea ecuatiilor diferentiale
Tabelul 9.4: a = 13, m = 1, k = 0, erori absolute 10
6
Metoda x = 0.4 x = 0.8 x = 1.2 x = 1.6 nr.F
h = 0.2
RKG -67 -112 -106 -38 32
Adams P -67 -112 -941 -190 17
C1 210 476 22
C2 54 52 27
Milne P -900 -481 17
C1 13 139 22
extrapolare -18 118 22
-1 0.8 22
C2 -61 -42 27
h = 0.1
RKG -4 -6 -6 -1 64
Adams P -30 -5 13 25
C1 11 22 23 38
C2 7 10 2 51
Milne P -4 -36 -20 -2 25
C1 0.4 5 7 38
extrapolare -0.9 4 7 38
-0.09 0.3 0.5 38
C2 -1 -0.2 -1.3 51
h = 0.05
RKG -0.3 -0.4 -0.3 0.03 128
Adams P -1 -0.1 0.6 0.7 41
C1 0.3 1 1 0.8 70
C2 0.3 0.8 0.8 0.03 99
Milne P -1 -0.9 -0.3 0.1 41
C1 -0.03 0.2 0.3 0.3 70
extrapolare -0.08 0.1 0.1 0.3 70
-0.01 0.01 0.02 0.02 70
C2 -0.05 0.08 0.09 -0.05 99
Tabelul 9.5: Numarul de evaluari ale funct iei panta
Metoda RK4 KM RKF Adams Milne
(a) 1812 3800 3400 2142 1608
(b) 84 40 36 48 48
9.7. Sisteme cu scari disparate 261
Tabelul 9.6: Exemplul 2
Iter
1

2
U(
1
) U(
2
)
0 0.20 0.600000 -0.434162 0.177466
1 0.20 0.483939 -0.434162 0.020252
2 0.20 0.471284 -0.434162 0.002388
3 0.20 0.469800 -0.434162 2.826710
4
4 0.20 0.469625 -0.434162 3.347510
5
5 0.20 0.469604 -0.434162 3.964610
6
Tabelul 9.7: Funct iile y1, y2, y3
x y
1
y
2
y
3
0.0 0.0 0.0 0.469625
0.6 0.084392 0.280590 0.461758
1.2 0.333678 0.545273 0.410585
1.8 0.728912 0.761092 0.300455
2.4 1.231590 0.901101 0.167563
3.0 1.795654 0.969088 0.067715
3.6 2.385699 0.992919 0.019338
4.2 2.983684 0.998850 0.003870
4.8 3.583403 0.999893 0.000543
5.4 4.183392 1.000022 0.000054
6.0 1.783410 1.000034 3.747510
6
262 9. Rezolvarea ecuatiilor diferentiale
263
Capitolul 10
Ecuat ii diferent iale cu
derivate part iale
Ecuat iile diferent iale cu derivate part iale (sau pe scurt, ecuat ii cu derivate
part iale - EDP) sunt ntalnite n mod inevitabil atunci cand se modeleaza feno-
mene reale, a caror complexitate implica, n general, determinarea unor funct ii
de doua sau mai multe variabile independente.

Intr-adevar, o descriere mai
apropiata de realitate a fenomenelor care se desfasoara n spat iu comporta cel
put in dou a variabile independente, iar urmarirea desfasurarii lor poate necesita
introducerea unei noi variabile independente, timpul.
Diversitatea ecuat iilor si sistemelor de ecuat ii diferent iale este extraordinara,
iar condit iile la limite si init iale (al caror rol este deosebit de important) nu fac
decat sa adauge noi cazuri si tipuri de probleme de rezolvat. Nu este deci de
mirare ca n domeniul EDP (n special al ecuat iilor neliniare) teoria matematica
nu este sucient de elaborata. Din aceste motive, abordarea numerica, desi
capabila, n principiu, sa furnizeze date noi, nu poate n masura sa t ina
loc si de teorie, recomandandu-se o extrema prudent a n validarea rezultatelor
264 10. Ecuatii diferentiale cu derivate partiale
obt inute n cazurile neacoperite sucient de teorie. Reconrmarea rezultatelor
obt inute pe diverse cai, sucient de distincte ntre ele, este o metoda utila,
poate singura n anumite situat ii extreme, dar trebuie luata cu titlu provizoriu,
testarea ulterioara ramanand deschisa.
Ecuat iile cu derivate part iale pot clasicate n funct ie de mai multe criterii;
dupa ordinul derivatelor part iale, se clasica n ecuat ii de ordinul ntai, ordinul
al doilea, ordinul n; dupa caracterul de liniaritate se mpart n ecuat ii liniare,
cvasi-liniare si neliniare; dup a tipul inuent ei domeniului de integrare asupra
solut iei ntr-un punct, se mpart n ecuat ii eliptice, parabolice si hiperbolic;
dupa forma condit iilor la limita ntalnim probleme Dirichlet, Neuman si mixt.

In cele ce urmeaza, vom aborda unele tipuri de EDP mai uzuale, cu condit ii
init iale si la limite pentru care teoria asigura existent a si unicitatea solut iilor.
10.1 Ecuat ii cu derivate part iale de ordinul I
Ecuat ia cu derivate part iale de ordinul ntai se scrie sub forma
n

i=1
A
i
(x
1
, . . . , x
n
, u)
u
x
i
= B(x
1
, . . . , x
n
, u) , (10.1)
n care u este funct ia necunoscuta, x
i
, i 1, n variabilele independente, iar
funct iile A
i
, i 1, n si B depind cel mult de funct ia u (nu si de derivatele
part iale u/x
i
). Daca A
i
si B nu depind de funct ia u ecuat ia se numeste
liniara; daca B 0, ecuat ia se numeste omogena.
Rezolvarea ecuat iei cu derivate part iale (10.1) se reduce la rezolvarea unui
sistem de ecuat ii diferent iale ordinare numit sistem caracteristic
dx
1
A
1
(x
1
, . . . , x
n
, u)
= . . . =
dx
n
A
n
(x
1
, . . . , x
n
, u)
=
du
B(x
1
, . . . , x
n
, u)
. (10.2)
Solut ia ecuat iei (10.1) este o suprafat a ndimensionalantr-un domeniu
n+1

R
n+1
, de forma F(x
1
, . . . , x
n
, u) = 0 sau u = f(x
1
, . . . , x
n
) care verica ecuat ia
(10.1) si anumite condit ii de select ie. Problema este studiata complet pentru
cazul cand suprafat a integrala ndimensionala trece printr-o suprafat a (n
1)dimensionala data n domeniul (n + 1)dimensional (problema Cauchy).
Suprafat a poate data sub forma intersect iei a doua suprafet e ndimensionale
F
1
(x
1
, . . . , x
n
, u) = 0
F
2
(x
1
, . . . , x
n
, u) = 0
_
() . (10.3)

In principiu, solut ia generala a sistemului de ecuat ii diferent iale (10.2), sis-


tem de ordinul n, depinde de n constante arbitrare C
i
, i 1, n si se poate scrie
sub forma

i
(x
1
, . . . , x
n
, u) = C
i
, i 1, n . (10.4)
10.1. Ecuat ii cu derivate part iale de ordinul I 265
Funct iile
i
(x
1
, . . . , x
n
, u) sunt determinate de forma sistemului caracteristic.
Suprafet ele
i
= C
i
se numesc suprafet e caracteristice, iar intersect iile lor de-
pinzand de un singur parametru, se numesc linii caracteristice.
Condit iile (10.3), mpreuna cu (10.4) formeaza un sistem de n+2 ecuat ii din
care, n principiu, prin exprimarea celor n + 1 variabile x
1
, . . . , x
n
, u n funct ie
de C
i
, i 1, n si introducerea lor n a (n + 2)-a ecuat ie ramasa, se obt ine o
relat ie ntre parametrii C
i
, sub forma
(C
1
, . . . , C
n
) = 0 (10.5)
care, prin (10.4), da tocmai solut ia F(x
1
, . . . , x
n
, u) = 0 a problemei
(C
1
, . . . , C
n
) = (
1
, . . . ,
n
) F(x
1
, . . . , x
n
, u) = 0 . (10.6)

In calculul numeric, solut ia se cautantr-un anumit volum (n+1)dimensional

n+1
care cont ine suprafat a data de (10.3). Se alege o diviziune convenabila a
suprafet ei . Valorile n noduri (x
(k)
10
, . . . , x
(k)
n0
, u
(k)
0
) , k = 1, 2, . . . , N, sunt
condit ii init iale pentru sistemul de ecuat ii diferent iale (10.2), ale carui solut ii
sunt liniile de camp ale vectorului de componente (A
i
, i 1, n, B). Se obt in N
linii de camp ale suprafet ei integrale.
Daca B 0 (ecuat ie omogena), sistemul (10.2) se simplica deoarece o inte-
grala prima este u = const. Ramane de rezolvat sistemul de ecuat ii diferent iale
dx
1
A
1
(x
1
, . . . , x
n
, u
0
)
= . . . =
dx
n
A
n
(x
1
, . . . , x
n
, u
0
)
, (10.7)
u
0
ind data de condit ia init iala (10.3). Din (10.7) se obt in liniile de camp ale
unui vector de componente A
i
, i 1, n pe care u = const.
Scheme explicite.
O prima etapa n rezolvarea numerica a unei ecuat ii cu derivate part iale o con-
stituie discretizarea, care consta pe de o parte n divizarea domeniului cu aju-
torul unei ret ele de calcul, iar pe de alta parte n nlocuirea ecuat iei cu derivate
part iale cu o ecuat ie mai simpla. Exista mai multe metode pentru nlocuirea
ecuat iei cu derivate part iale: metode cu diferent e nite, metode cu volume -
nite, metode cu elemente nite, metode spectrale.

In acest capitol, vom prezenta
elementele de baza pentru rezolvarea numerica a ecuat iilor cu derivate part iale
folosind metode cu diferent e nite.
Consideram ecuat ia unidimensionala a propagarii undelor
u
t
+a
u
x
= 0, x [0, 1], t [0, T] , (10.8)
unde a este o constanta pozitiva. Am folosit notat ia u
n
i
u(x
i
, t
n
). Pentru a
rezolva ecuat ia (10.8), sunt necesare condit ii init iale de forma
u(x, 0) = f(x) . (10.9)
266 10. Ecuatii diferentiale cu derivate partiale
Figura 10.1: Ret eaua de calcul pentru ecuat ia (10.8).

In multe cazuri sunt date si condit ii la limita


u(0, t) = g
0
(t), u(1, t) = g
1
(t) , (10.10)
funct iile f, g
0
si g
1
ind date. Pentru a rezolva numeric ecuat ia (10.8), se
mparte domeniul dreptunghiular de dimensiuni 1 si T cu ajutorul unei ret ele
cu pasi egali, pentru simplitate, h pe direct ia Ox si k pe direct ia Ot, ca n gura
10.1. Una din modalitat ile de a obt ine o ecuat ie cu diferent e nite este de a
folosi dezvoltarea n serie Taylor a funct iei u(x, t) n jurul punctului (x
i
, t
n
)
u(x
i1
, t
n
) = u(x
i
, t
n
) h
u(x
i
, t
n
)
x
+O(h
2
), (10.11)
u(x
i
, t
n+1
) = u(x
i
, t
n
) +k
u(x
i
, t
n
)
t
+O(k
2
) ,
unde x
i
= ih, i 0, I, t
n
= nk, n 0, N, h = 1/I, k = T/N. Rezulta
u(x
i
, t
n
)
x

u
x

n
i
=
u
n
i
u
n
i1
h
+O(h),
u
t

n
i
=
u
n+1
i
u
n
i
k
+O(k) .
(10.12)
Neglijand termenii O(k) si O(h), rezulta ecuat ia n diferent e nite
v
n+1
i
= v
n
i
+c(v
n
i1
v
n
i
), i 1, I, n 0, N , (10.13)
unde cu v
n
i
s-a notat valoarea aproximativa a funct iei u(ih, nk), iar c = ak/h
este cunoscut sub denumirea de numar Courant
1
. Relat ia (10.13) este o schema
explicita cu diferent e nite, deoarece valorile v
n+1
i
se determina direct, folosind
numai valorile v
n
i
de la momentul de timp anterior. Valorile v
n
i
sunt aproxi-
mative deoarece din dezvoltarile (10.11) am folosit numai termenii de ordinul
10.1. Ecuat ii cu derivate part iale de ordinul I 267
Figura 10.2: Rezultate obt inute cu schema explicita (10.13).
ntai. Spunem ca formulele (10.12) au ordinul ntai de precizie. Observam cum
pentru c = 1 se obt ine solut ia exacta v
n+1
i
= v
n
i1
.
Exemplu. Vom rezolva ecuat ia
u
t
+
u
x
= 0, (10.14)
cu condit iile init iale si la limita
u(x, 0) = 0, 0 < x 1, u(0, t) = 1, t 0 . (10.15)
La momentul init ial de timp t = 0 funct ia necunoscuta u este nula pentru toate
valorile x din domeniul de calcul, mai put in valoarea x = 0 unde exista o perturbat ie
u = 1. Aceasta perturbat ie se va propaga n timp si spat iu. Rezultatele obt inute
cu schema explicita (10.13) sunt date n gura 10.2. Se observa diferent e mari ntre
rezultatele obt inte cu ret ele diferite. Desi ar fost de asteptat ca cele mai bune
rezultate sa e obt inute pentru k = 0.01, acestea se obt in pentru h = 0.1 (k/h = 1).
Rezultate slabe sunt obt inute pentru k = 0.1, h = 0.01, care difera mult de cele
obt inute cu k = 0.1, h = 0.1. Desi pasul mai mic h = 0.01 pe direct ia Ox nsemna
o aproximare mai buna a derivatei spat iale si ne-ar ndreptat i sa speram la rezultate
mai bune, acest lucru nu se ntampla, ba din contra, rezultatele nu mai au nici o
semnicat ie zica. Asa cum vom vedea mai departe, acest lucru se datoreste faptului
ca schema (10.13) este instabila pentru valori k/h > 1.
Dupa cum am vazut din exemplul precedent, folosirea unei ret ele foarte
ne (altfel spus, norma ret elei este foarte mica) nu este ntotdeauna sucienta.
1
Dupa matematicianul Richard Courant (1988-1972) care a avut o contribut ie importanta
n domeniul metodelor numerice pentru rezolvarea ecuat iilor neliniare cu derivate part iale.
268 10. Ecuatii diferentiale cu derivate partiale
Ret eaua de calcul trebuie de multe ori sa ndeplineasca anumite condit ii pentru
ca o schema cu diferent e nite sa e convergenta.
Denit ie. O metoda cu diferent e nite este convergenta, daca solut ia obt inuta
cu ajutorul ecuat iei cu diferent e converge catre solut ia exacta atunci cand
norma ret elei tinde la zero.
T inand cont de (10.2), caracteristicile ecuat iei (10.8) sunt date de
dt = dx/a , (10.16)
adica drepte de panta dt/dx = 1/a. Condit ia de convergent a pentru schema
explicita (10.13) este este data de criteriul CFL (Courant-Friederichs-Lewy)
care impune ca domeniul de inuent a numerica sa includa domeniul de inuent a
zica (g.10.1; vezi si 10.2.3, g.10.15). Domeniul de inuent a a punctului B
este format din totalitatea punctelor care primesc informat ie din B. Domeniul
de inuent a zica este marginit la dreapta de BD, n timp ce domeniul de
inuent a numerica este marginit la dreapta de BA. Schema explicita (10.13)
este convergenta deci daca ret eaua ndeplineste condit ia
0 < c ak/h 1 . (10.17)
Daca condit ia (10.17) nu este ndeplinita, schema (10.13) nu este convergenta
deoarece nu este stabila (vezi par. 43).
Daca pentru aproximarea derivatei spat iale n locul diferent ei la stanga
(10.12) folosim diferent e la dreapta
u
x

n
i
=
u
n
i+1
u
n
i
h
+O(h),
u
t

n
i
=
u
n+1
i
u
n
i
k
+O(k) , (10.18)
obt inem
v
n+1
i
= v
n
i
+c(v
n
i
v
n
i+1
) . (10.19)
Utilizand schema (10.19) pentru rezolvarea ecuat iei (10.14), valorile v
n+1
i
pentru
toate momentele de timp raman egale cu valorile init iale v
0
i
, deoarece schema
(10.19) nu permite propagarea informat iei de la stanga la dreapta, ci numai de
la dreapta la stanga. Schema (10.19) ar putea folosita n cazul c < 0, caz n
care schema (10.12) nu mai este adecvata.
Putem ncerca o aproximare mai buna pentru derivata spat iala folosind di-
ferent e centrate
u
x

n
i
=
u
n
i+1
u
n
i1
2h
+O(h
2
) , (10.20)
obt inandu-se
v
n+1
i
= v
n
i
+ (c/2)(v
n
i1
v
n
i+1
) , (10.21)
10.1. Ecuat ii cu derivate part iale de ordinul I 269
Figura 10.3: Rezultate obt inute pentru ecuat ia (10.14), cu schemele explicite (10.21)
si (10.22) pentru t = 0.5.
schema care este instabila pentru orice valoare a numarului Courant c. Ob-
servam cum un ordin mai mare n aproximarea derivatelor part iale, nu nseamna
neaparat precizie mai buna.
O schema explicita des ntalnita este schema Lax-Wendro data de
v
n+1
i
= (1 c
2
)v
n
i

c
2
(1 c)v
n
i+1
+
c
2
(1 +c)v
n
i1
, (10.22)
care are ordinul de precizie O(h
2
). Pentru c = 1 se obt ine solut ia exacta v
n+1
i
=
v
n
i1
, la fel ca la schema (10.13).
Exemplu.

In gura (10.3) sunt date rezultatele obt inute la momentul de timp
t = 0.5 pentru ecuat ia (10.14) rezolvata cu schemele explicite (10.21) si (10.22). Re-
zultatele obt inute cu schema (10.21) sunt proaste chiar si pentru h = k = 0.05, n timp
ce rezultate foarte bune se obt in cu schema (10.22) pentru h = k = 0.05, acceptabile
pentru h = 0.05,k = 0.01, si proaste pentru h = 0.05, k = 0.1 deoarece schema este
instabila.
Scheme implicite.
Convergent a condit ionata este o caracteristica a schemelor explicite si impune
adeseori pasi de timp foarte mici. Pentru a evita acest neajuns, se folosesc
schemele implicite, n care derivatele spat iale se aproximeaza folosind valorile
aproximative v
i
nu la momentul n, ci la momentul n + 1,
u
x

n+1
i
=
u
n+1
i+1
u
n+1
i
h
+O(h) . (10.23)
270 10. Ecuatii diferentiale cu derivate partiale
Figura 10.4: Rezultate obt inute pentru ecuat ia (10.14), cu schemele implicite (10.24)
si (10.25) pentru t = 0.5.
Se obt in ecuat iile cu diferent e nite
v
n+1
i
= (cv
n+1
i1
+v
n
i
)/(1 +c), i = 1, 2, . . . . (10.24)
Schema (10.24) este necondit ionat convergenta.
O alta schema implicita este cea atribuita lui Wendro, data de relat ia
v
n+1
i
= v
n
i1
+
1c
1+c
(v
n
i
v
n
i1
), (10.25)
care este de asemenea necondit ionat convergenta.
Exemplu.

In gura (10.4) sunt date rezultatele obt inute la momentul de timp t =
0.5 pentru ecuat ia (10.14) rezolvata cu schemele implicite (10.24) si (10.25). Amandoua
schemele sunt convergente pentru toate valorile h si k. Rezultate foarte bune s-au
obt inut cu schema (10.25) pentru h = k = 0.05 si acceptabile n rest.
10.2 Ecuat ii cu derivate part iale de ordinul II
Vom considera ecuat ia cu derivate part iale de ordinul doi cvasiliniara de forma
n

i=1
A
i

2
u
x
2
i
+
n

i=1
B
i
u
x
i
+C = 0 , (10.26)
cu A
i
, B
i
, C = f(x
1
, . . . , x
n
, u). Forma (10.26) nu cont ine derivate mixte (este
o forma canonica) si se poate obt ine prin schimbari de variabile adecvate, dupa
cum se va putea vedea n continuare. Ecuat ia (10.26) este de tip
10.2. Ecuat ii cu derivate part iale de ordinul II 271
(a) eliptic, daca tot i coecient ii A
i
(x
1
, . . . , x
n
, u), i 1, n au acelasi semn;
(b) parabolic, daca exista un indice j astfel ncat A
j
= 0, A
i
,= 0 (i ,= j) si
B
j
,= 0;
(c) hiperbolic, daca tot i coecient ii A
i
au acelasi semn, cu except ia unuia care
are semn opus.
Aceasta clasicare este importanta, deoarece este legata de modul n care
un punct din domeniu este inuent at de (comunica cu) punctele din vecinatate.

In cazul ecuat iei de tip eliptic, punct este inuent at de toate punctele din
orice vecinatate (disc, bula) a lui. Un exemplu tipic de ecuat ie de tip eliptic,
este ecuat ia lui Laplace
u =

2
u
x
2
+

2
u
y
2
+

2
u
z
2
= 0 . (10.27)
Datorita inuent ei reciproce o problema de tip eliptic nu se poate rezolva nu-
meric decat simultan pentru toate punctele din domeniu. Condit iile la limita n
acest caz se impun pe frontiere nchise.

In cazul ecuat iei de tip parabolic exista posibilitatea unui mars n calculul
numeric, n direct ia x
j
pentru care A
j
= 0. Ecuat ia se scrie sub forma
B
j
u
x
j
= F(x
1
, . . . , x
n
, u,
u
x
i
,

2
u
x
2
i
), i 1, n, i,=j , (10.28)
iar problema se rezolva simultan numai pentru punctele situate pe suprafet ele
x
j
= const, nu pentru toate nodurile din domeniu, ceea ce simplica esent ial
calculul. Problemele cu ecuat ii de tip parabolic sunt comparativ mai simple
(la acelasi numar de variabile) decat cele cu ecuat ii de tip eliptic. Exemplu
tipic de ecuat ie de tip parabolic, este ecuat ia de transmitere a caldurii n regim
nestat ionar
u
t
=

2
u
x
2
+

2
u
y
2
, (10.29)
t ind timpul. Ecuat ia (10.29) n trei variabile independente (x, y, t) este, n ge-
neral, mai usor de rezolvat numeric decat ecuat ia (10.27) n variabilele (x, y, z).

In cazul ecuat iei de tip hiperbolic, exista puncte care nu se pot inuent a
reciproc. Un exemplu l reprezinta miscarile supersonice, unde perturbat iile
mici sunt limitate la interiorul unui con, denumit con Mach. Prin urmare, n
rezolvarea numerica trebuie evitata comunicarea numerica a nodurilor care nu
comunica zic ntre ele. Un exemplu tipic de ecuat ie de tip hiperbolic este
ecuat ia undelor

2
u
t
2
= a
2

2
u
x
2
, (10.30)
a ind viteza de propagare a undei (a = const).

In cazul ecuat iilor hiperbolice
exista mai multe direct ii caracteristice distincte de-a lungul carora se poate
272 10. Ecuatii diferentiale cu derivate partiale
Figura 10.5: Domeniul de calcul.
avansa plecand de la o stare init iala. Problemele pot include nsa, pe langa
condit ii init iale, si condit ii la limite caz n care solut iile sunt esent ial diferite.
Pentru exemplicare consideram ecuat ia
a u
xx
+b u
xy
+c u
yy
= f , (10.31)
unde u
x
u/x, u
y
u/y, u
xx

2
u/x
2
, u
xy

2
u/xy, u
yy

2
u/y
2
, iar a, b, c si f sunt funct ii de x, y si u. Se cunosc valorile funct iei
u si ale derivatelor u
x
si u
y
pe curba si sub aceasta (gura 10.5). Se pune
problema daca aceste valori cunoscute sunt suciente pentru a putea determina
valorile derivatelor de ordinul al doilea, u
xx
, u
xy
si u
yy
. Vom scrie
d(u
x
) = u
xx
dx +u
xy
dy
d(u
y
) = u
yx
dx +u
yy
dy .
(10.32)
Ecuat iile (10.31) si (10.32) formeaza sistemul
_
_
a b c
dx dy 0
0 dx dy
_
_
_
_
u
xx
u
xy
u
yy
_
_
=
_
_
f
d(u
x
)
d(u
y
)
_
_
. (10.33)
Solut ia sistemului (10.33) exista si este unica daca determinantul matricei sis-
temului este nenul, adica
a(dy)
2
b dxdy +c(dx)
2
,= 0 . (10.34)
Daca curba are panta m = dy/dx astfel ncat a m
2
b m + c = 0, atunci
sistemul (10.33) este nedeterminat, necunoscutele u
xx
, u
xy
, u
yy
neputand
determinate n mod unic.
Ecuat ia (10.34) poate avea:
10.2. Ecuat ii cu derivate part iale de ordinul II 273
(a) doua radacini reale distincte, m
1
,= m
2
, daca b
2
4 a c > 0; n acest caz
ecuat ia este de tip hiperbolic;
(b) doua radacini reale confundate, m
1
= m
2
, daca b
2
4 a c = 0; ecuat ia este
de tip parabolic;
(c) doua radacini complex conjugate, daca b
2
4 a c < 0; ecuat ia este de tip
eliptic.
Nedeterminarea care se obt ine n cazul n care este o curba caracteristica a
unei ecuat ii de tip hiperbolic sugereaza ideea ca este posibil ca pe aceasta curba
ecuat ia (10.31) sa poata nlocuita cu o ecuat ie mai simpla. Dupa cum vom
vedea la 10.2.4, ecuat ia cu derivate part iale de ordinul al doilea se poate nlocui
pe o curba caracteristica cu o ecuat ie diferent iala ordinara, mult mai simplu de
rezolvat numeric.
10.2.1 Ecuat ii cu derivate part iale de tip parabolic
Vom considera cea mai simpla ecuat ie de tip parabolic sub forma
u
t
=

2
u
x
2
. (10.35)
Ecuat ia (10.35) este un caz particular al ecuat iei (10.31), cu y t, a = 1, b = 0,
c = 0, f = 0. Avem b
2
4ac = 0, deci ecuat ia este de tip parabolic.
Exemplu. Ecuat ia (10.35) se ntalneste n transmiterea caldurii n regim nesta-
t ionar. Absent a constantelor zice n (10.35) se explica prin faptul ca s-au introdus
variabile adimensionalizate: u, temperatura adimensionalizata, t, x timpul si coor-
donata spat iala, de asemenea adimensionalizate. Transferul caldurii printr-o bara n
care una din dimensiuni este mult mai mare decat celelelalte doua si deci fenomenul
se poate considera unidimensional, n regim nestat ionar, este descris de ecuat ia
cp

T
t
=

2
T
x
2
, (10.36)
unde este densitatea materialului n kg/m
3
, cp caldura specica n j/kg K, iar
este conductivitatea termica, j/m grad. Ecuat ia (10.36) are condit iile init iale si la
limite
T(x, 0) = F(x), x [0, L]
T(0, t) = G0(t), T(L, t) = G1(t), t 0 .
(10.37)
Din punct de vedere zic, F(x) reprezinta distribut ia de temperatura ntr-o bara de
lungime L, la momentul init ial t = 0, iar G0(t) si G1(t) temperaturile la care se ment in
capetele barei, spre exemplu, ca urmare a contactului cu mediul ambiant sau cu alte
corpuri.

In locul temperaturii date, se poate impune uxul de temperatura, adica
derivata T/x, de regula nul. Funct iile G0 si G1 sunt, n cazul general, funct ii de
timp, n timp ce funct ia F(x) este n general funct ie de coordonata spat iala x. Vom
lua n considerare pentru simplitate n cele ce urmeaza cazul n care funct iile G0 si G1
sunt constante, G0 = T0, G1 = T1.
274 10. Ecuatii diferentiale cu derivate partiale
Se introduc coordonata adimensionalizata x si temperaturatura adimensionalizata
u prin relat iile
x = x/L, u = (T T1)/(T0 T1) . (10.38)
Ecuat ia (10.36) devine
cp

L
2
u
t
=

2
u
x
2
. (10.39)
Variabila adimensionalizata pentru timp este sugerata de coecientul derivatei u/t .
Folosirea unei variabile adimensionale pentru timp este posibila numai daca cp/ =
const.

t = t/[(cp/)L
2
] . (10.40)
Adimensionalizarea este recomandata deoarece conduce n general la reducerea numa-
rului de parametrii, iar valorile variabilelor dependente si a funct iilor necunoscute au
acelasi ordin de marime.
Se obt ine n nal ecuat ia (10.35).

In continuare renunt am la notat ia cu bara
pentru variabilele adimensionalizate.
Ecuat ia (10.35) se rezolva pentru urmatoarele condit ii:
(a) condit ii init iale (t = 0)
u(x, 0) = f(x), x [0, 1] ; (10.41)
(b) condit ii la limite (x = 0; x = 1)
u(0, t) = g
0
(t), u(1, t) = g
1
(t), t 0 . (10.42)

In relat iile (10.41) si (10.42), f(x), g


0
(t) si g
1
(t) sunt funct ii date.
Metoda de rezolvare numerica consta nmpart irea domeniului dreptunghiu-
lar (gura 10.6) de dimensiuni 1 si T (durata pe care urmarim desfasurarea
fenomenului) n subdiviziuni prin noduri cu pasi egali
2
, h n direct ia x si k n
direct ia t
h = 1/I, k = T/N , (10.43)
I si N ind ntregi sucient de mari. Un nod oarecare de coordonate (ih, nk)
va notat cu doi indici (i, n), i 0, I, n 0, N. Pentru variabila timp vom
utiliza indici superiori.
Ecuat ia (10.35) se va scrie n noduri, aproximand derivatele part iale cu
diferent e nite. Aceasta operat ie se numeste discretizare (cu diferent e nite)
deoarece valorile funct iei se vor calcula doar n noduri, adica pe o mult ime
discreta de puncte.
Deoarece calculul numeric ne va furniza doar valori aproximative pentru
funct ia u, vom scrie
u = v +w , (10.44)
v reprezentand valorile aproximative ale funct iei u, iar w eroarea.
2
Folosirea diviziunilor echidistante duce la simplicarea relat iilor ulterioare, neind obli-
gatorie.
10.2. Ecuat ii cu derivate part iale de ordinul II 275
Figura 10.6: Discretizarea ecuat iilor parabolice.
Scheme explicite.
Aproximand derivatele part iale cu diferent e nite sub forma
3
(v
n+1
i
v
n
i
)/k = (v
n
i1
2v
n
i
+v
n
i+1
)/h
2
, (10.45)
se obt ine o expresie explicita pentru valoarea funct iei la momentul de timp n+1
n funct ie de valorile la momentul anterior n
v
n+1
i
= v
n
i1
+ (1 2)v
n
i
+v
n
i+1
, (10.46)
unde am notat cu parametrul ret elei
= k/h
2
. (10.47)
Se observa ca pentru calculul valorii v
n+1
i
sunt necesare trei valori la momen-
tul n: v
n
i1
, v
n
i
si v
n
i+1
. Pentru n = 0, aceste valori sunt cunoscute din condit iile
init iale si la limite.

Intr-adevar, din (10.46), (10.41) si (10.42) se obt ine
v
1
i
= f
i1
+ (1 2)f
i
+f
i+1
, i 1, I 1
v
1
0
= g
0
(k); v
1
I
= g
1
(k); v
0
i
= f(x
i
) .
(10.48)

In acest fel, calculul poate continua pas cu pas n direct ia axei timpului.
Relat ia (10.46) este explicita deoarece sistemul de I + 1 ecuat ii care se obt ine
pentru i 0, I este practic rezolvat. Ramane de studiat problema convergent ei
metodei explicite (denit ia convergent ei a fost data la 41).

In cazul de fat a, trebuie studiata comportarea solut iei data de schema ex-
plicita (10.45) sau (10.46) cu condit iile la limite si init iale (10.48).
3
Aproximarea se face cu ajutorul dezvoltarii n serie Taylor, dupa cum se va vedea n
continuare cand se va analiza convergent a schemei.
276 10. Ecuatii diferentiale cu derivate partiale

Intr-un punct oarecare (ih, nk), ecuat ia exacta (10.35) se scrie


(u/t)
n
i
= (
2
u/x
2
)
n
i
. (10.49)
Derivatele part iale din (10.49) se vor exprima cu ajutorul dezvoltarilor n serie
Taylor ale valorilor funct iei u(x, t) n puncte vecine. Astfel,
u
n
i1
= u
n
i
h(u/x)
n
i
+
h
2
2
_

2
u/x
2
_
n
i

h
3
6
_

3
u/x
3
_
n
i
+
+
h
4
24
_

4
u/x
4
_
n
i

h
5
120
_

5
u/x
5
_
n
i
+O(h
6
) ,
(10.50)
u
n+1
i
= u
n
i
+k (u/t)
n
i
+
k
2
2
_

2
u/t
2
_
n
i
+O(k
3
) , (10.51)
de unde rezulta
(u/t)
n
i
=
1
k
(u
n+1
i
u
n
i
)
k
2
_

2
u/t
2
_
n
i
+O(k
2
) ,
_

2
u/x
2
_
n
i
=
1
h
2
(u
n
i1
2u
n
i
+u
n
i+1
)
h
2
12
_

4
u/x
4
_
n
i
+O(h
4
) .
(10.52)
S-a presupus ca derivatele part iale ale funct iei u n raport cu variabilele t, x
sunt denite pana la ordinele necesare. Cu ajutorul relat iilor (10.52), ecuat ia
(10.49) conduce la sistemul
u
n+1
i
= u
n
i1
+ (1 2)u
n
i
+u
n
i+1
+z
n
i
, i 1, I 1, n 0, N . (10.53)
Fat a de ecuat iile (10.46) pentru valorile aproximative n noduri v
n
i
, sistemul
(10.53) pentru valorile exacte u
n
i
cont ine reziduul z
n
i
avand expresia
z
n
i
/k = (k/2)(
2
u/t
2
)
n
i
(h
2
/12)(
4
u/x
4
)
n
i
+O(k
2
) +O(h
4
) . (10.54)
Scazand relat iile (10.53) si (10.46), se obt ine pentru eroarea w denita de (10.44)
w
n+1
i
= w
n
i1
+ (1 2)w
n
i
+w
n
i+1
+z
n
i
. (10.55)
Condit ia de convergent a a schemei cu diferent e, se poate formula sub forma
w
n
i
0, cand I, N . (10.56)
Pentru a stabili n ce condit ii se realizeaza (10.56), vom urmari comportarea
modulelor erorilor maxime. Din (10.56) se obt ine pentru > 0

w
n+1
i

w
n
i1

+[1 2[ [w
n
i
[ +

w
n
i+1

+[z
n
i
[ . (10.57)
Notam cu w
n
= max
i
[w
n
i
[. Inegalitatea (10.57) ind adevarata pentru orice i,
este adevarata si pentru acel i
max
care realizeaza maximul modulului; valoarea
acestui i
max
ind necunoscuta, o vom nota tot cu i.

In acest fel, din (10.57) se
obt ine succesiv
w
n+1

w
n
i1

+[1 2[ [w
n
i
[ +

w
n
i+1

+[z
n
i
[ ,
w
n+1
(2 +[1 2[)w
n
+z
n
, unde z
n
= max
i
[z
n
i
[ .
(10.58)
10.2. Ecuat ii cu derivate part iale de ordinul II 277
Pentru ca eroarea w
n
sa nu creasca de la un moment de timp n la momentul
urmator n + 1, este necesar si sucient ca
2 +[1 2[ 1 0 < 1/2 . (10.59)
Cu condit ia (10.59), se obt ine
w
n+1
w
n
+z
n
, n 0, N . (10.60)
Sumand egalitatea (10.60) termen cu termen de la 0 la N 1, si efectuand
reducerile, rezulta
w
n
w
0
+
N1

n=0
z
n
w
0
+Nz
max
= w
0
+T
z
max
k
, (10.61)
unde w
0
reprezinta eroarea la momentul init ial t = 0, iar z
max
= max
n
z
n
. Deo-
arece problema se rezolva pentru condit iile init iale si la limite impuse, eroarea
w
0
este nula (w
0
= 0); n orice caz, chiar daca n condit iile impuse sunt erori,
acestea nu se datoreaza metodei.
Cu aceasta observat ie si t inand cont de (10.54), se obt ine
lim
N
w
n
0, w
n
0, cand N , (10.62)
adica metoda explicita cu diferent e nite converge, cu condit ia (10.59). Con-
vergent a condit ionata este o situat ie general ntalnita la metodele explicite si
conduce la cresterea volumului de calcul pentru obt inerea unei precizii cores-
punzatoare. Spre exemplu, pentru h = 0.01, sunt necesari cel put in 5000 de
pasi pentru T = 1 (k 5 10
5
).

In acelasi timp, este interesant de observat
ca, pentru k xat, micsorarea pasului h dupa direct ia x, poate duce la rezutate
eronate daca nu se respecta condit ia 1/2.
Urmarind (gura 10.6), vomncerca sa dam o explicat ie calitativa a fenome-
nului de convergent a condit ionata pentru schemele explicite. Astfel, cunoscand
valorile funct iei u pe linia AB, se pot calcula valorile aproximative v
n
i
pen-
tru punctele din interiorul triunghiului ABP, fara a utiliza valorile impuse de
condit iile la limite. Altfel spus, punctul P primeste inuent a (n procesul nu-
meric de calcul) numai de la punctele din interiorul triunghiului ABP, fapt ce
ar corespunde zic unei ecuat ii de tip hiperbolic si nu parabolic. O schema cu
diferent e 100% parabolica ar trebui sa nu poata determina valoarea funct iei u
ntr-un punct de pe linia CD fara ca valorile din punctele C si D sa e luate n
calcul. O astfel de comportare o au schemele implicite care vor prezentate n
continuare.
Un aspect interesant al schemelor cu diferent e nite l constituie schemele
optimale. Acestea constaun alegerea parametrului ret elei astfel ncat eroarea
de trunchiere sa e cat mai mica. Pentru exemplicare, vom considera schema
explicita (10.46),
u
n+1
i
= u
n
i1
+ (1 2)u
n
i
+u
n
i+1
+z
n
i
, (10.63)
278 10. Ecuatii diferentiale cu derivate partiale
cu eroarea de trunchiere z
n
i
data de relat ia (10.54). Pentru ecuat ia caldurii
(10.35) se arata usor ca
2
u/t
2
=
4
u/x
4
, astfel ncat din (10.54) se vede
usor ca pentru k = h
2
/6, adica = 1/6, eroarea de trunchiere devine
z
n
i
= O(k
3
+kh
4
) = O(k
3
) = O(h
6
) , (10.64)
adica s-a castigat un ordin de precizie numai prin alegerea adecvata a ret elei
de calcul. Acest castig nu este nsa atat de spectaculos, deoarece egalitatea

2
u/t
2
=
4
u/x
4
este adevarata pentru ecuat ia u/t =
2
u/x
2
cu condit ia
ca derivatele respective sa e evaluate exact. Ori, folosind diferent e nite,
aceasta egalitate este vericata aproximativ, n funct ie de ordinul aproximarii
si de pasul ret elei. Relat ia (10.54) se scrie pentru = 1/6 n forma
z
n
i
= kh
2
/2[(
2
u/t
2
)
n
i
(
4
u/x
4
)
n
i
] +O(k
3
+kh
4
) , (10.65)
unde diferent a (
2
u/t
2
)
n
i
(
4
u/x
4
)
n
i
nu este strict egala cu zero.
Scheme implicite.
Revenind la ecuat ia (10.35), vom utiliza aceeasi ret ea de puncte, cu deosebirea
ca, fat a de schema explicita (10.45), n membrul drept vom introduce valorile
funct iei aproximante v la momentul n + 1. Se scrie deci
(v
n+1
i
v
n
i
)/k = (v
n+1
i1
2v
n+1
i
+v
n+1
i+1
)/h
2
, i 1, I 1, n 0, N . (10.66)
Sistemul de ecuat ii (10.66) nu mai este explicit, ci reprezinta un sistem de ecuat ii
liniare cu matrice tridiagonala, care furnizeaza valorile funct iei n noduri, la
momentul de timp n + 1
v
n+1
i1
(1 + 2)v
n+1
i
+v
n+1
i+1
= v
n
i
, i 1, I 1, n 0, N . (10.67)
Sistemul de ecuat ii (10.67) se rezolva n mod repetat, pentru momente de timp
succesive. Spre exemplu, pentru n = 0, se obt ine sistemul
Av
(1)
= b
(0)
, (10.68)
cu v
(1)
= (v
1
1
, v
1
2
, . . . , v
1
I1
)
T
, x
i
= ih,
b
(0)
= (f(x
1
) +g
0
(k), f(x
2
), . . . , f(x
I2
), f(x
I1
) +g
1
(k))
T
, (10.69)
A =
_
_
_
_
_
_
_
_
(1 + 2) 0 . . . 0
(1 + 2) . . . 0
0
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
.
0 0 (1 + 2)
_
_
_
_
_
_
_
_
. (10.70)
10.2. Ecuat ii cu derivate part iale de ordinul II 279
Se observa ca matricea sistemului A /
I1
depinde numai de parametrul
ret elei . Pentru rezolvarea sistemului liniar (10.68) se poate folosi metoda
directa descrisa la 1.1.2, care t ine cont de forma tridiagonala a matricei A.
T inand cont de particularitat ile sistemului (10.70), algoritmul de rezolvare a
ecuat iei caldurii folosind schema implicita (10.66) se poate scrie formal dupa
cum urmeaza:
Date : condit iile init iale f(x); condit iile la limita g
0
(t); g
1
(t), h, , T
k h
2
Factorizare A = L R
r
1
(1 + 2)
i = 2 : (I 1)
_
l
i
/r
i1
r
i
r
1
l
i

i = 0 : I
_
v
0
i
f(ih)
n = 0 : (T/k)
_
v
n+1
0
g
0
((n + 1)k)
v
n+1
I
g
1
((n + 1)k)

_
Rezolva sistemul Lz = b
z
1
v
n
1
v
n+1
0
i = 2 : (I 2)
[z
i
v
n
i
l
i
z
i1
)
z
I1
v
n
i1
v
n+1
I
Rezolva sistemul Rv = z
v
n+1
I1
z
I1
/r
I1
i = (I 2) : 1
_
v
n+1
i
(z
i
v
n+1
i+1
)/r
i
.
(10.71)
Deoarece matricea este diagonal dominanta (1 + 2 > 2), sistemul poate
rezolvat si prin metode iterative (s.e. prin metoda Gauss-Seidel). Valorile
funct iei la momentul n = 1, v
(1)
, sunt utilizate pentru calculul valorilor v
(2)
de
la momentul n = 2, s.a.m.d. Schema implicita (10.67) converge necondit ionat
(se va demonstra mai jos), adica indiferent de valorile parametrului ret elei .
Aceasta independent a a convergent ei de parametrul ret elei este o proprietate
comuna a schemelor implicite.
Precizia schemelor implicite se poate mbunatat i folosind combinat ii ale va-
lorilor funct iei luate la momentele n si n+1. Notand cu (0, 1) un coecient-
pondere, se scrie
(v
n+1
i
v
n
i
)/k = [(1 )(v
n
i1
2v
n
i
+v
n
i+1
) +(v
n+1
i1
2v
n+1
i
+v
n+1
i+1
)]/h
2
.
(10.72)

In acest fel, derivata u/t se calculeaza pentru un punct intermediar momen-


telor de timp n si n + 1, eroarea de discretizare ind O(k
2
), fat a de O(k) n
cazurile anterioare.

In multe cazuri se ia = 1/2 metoda denumita Crank-
Nicolson, astfel ncat sistemul de ecuat ii pentru calculul valorilor funct iei n
noduri devine
v
n+1
i1
2(1 +)v
n+1
i
+v
n+1
i+1
= v
n
i1
2(1 )v
n
i
v
n
i+1
. (10.73)
Se observa o crestere a gradului de dominant a a elementului diagonal de la
1 + 1/2 la 1 + 1/. Se poate arata ca pentru = (6 1)/12, eroarea de
discretizare n derivata
2
u/x
2
devine de ordinul lui h
4
.
280 10. Ecuatii diferentiale cu derivate partiale
Convergent a, consistent a, stabilitate.
S-a denit anterior convergent a schemelor cu diferent e nite prin condit ia ca
solut ia aproximativa v sa se apropie oricat de mult de solut ia exacta u, atunci
cand norma diviziunii tinde la zero (k 0, h 0).
Deoarece convergent a unei scheme cu diferent e este mai greu de demostrat,
se denesc si alte proprietat i mai slabe ale schemei, care se pot verica mai usor,
ecare n parte, iar mpreuna pot asigura convergent a. Astfel de proprietat i,
mai slabe, sunt consistent a si stabilitatea.
Denit ie. O schema cu diferent e nite este consistenta (cu ecuat ia cu derivate
part iale pe care o aproximeaza) daca tinde spre ecuat ia exacta atunci cand
norma diviziunii tinde la zero (k 0, h 0).
De obicei schemele provenite din aproximarile derivatelor prin diferent e -
nite, avand erorile de discretizare O(h
p
+ k
m
), p, m N
+
sunt consistente.
Exista nsa si combinat ii mai put in ortodoxe care conduc la erori de discre-
tizare de ordine de marime care depind de rapoarte ale pasilor, spre exemplu
O(h
p
/k
m
), p, m N
+
.

In acest caz, eroarea de discretizare nu tinde neaparat
la zero odata cu norma ret elei, ci poate avea valori nite.
Exemplu. Consideram schema de discretizare a ecuat iei caldurii sub forma
(v
n+1
i
v
n1
i
)/2k = (v
n
i1
v
n1
i
v
n+1
i
+ v
n
i+1
)/h
2
, (10.74)
n care valoarea aproximativa a funct iei v
n
i
a fost scrisa ca medie aritmetica a valorilor
v
n1
i
si v
n+1
i
, 2v
n
i
= v
n1
i
+ v
n+1
i
. Pentru a stabili eroarea de trunchiere, dezvoltam
n serie Taylor funct ia u n jurul punctului (i, n)
u
n
i1
= u
n
i
hux +
h
2
2
uxx
h
3
6
uxxx +
h
4
24
uxxxx
h
5
120
uxxxxx + O(h
6
)
u
n1
i
= u
n
i
kut +
k
2
2
utt
k
3
6
uttt + O(k
4
) .
Adunand si scazand relat iile pentru u
n1
i
si u
n+1
i
, rezulta
2u
n
i
= u
n1
i
+ u
n+1
i
k
2
utt + O(k
4
), ut =
1
2k
(u
n+1
i
u
n1
i
) +
k
2
6
uttt + O(k
4
) .
Pentru uxx se obt ine relat ia
uxx =
1
h
2
(u
n
i1
u
n1
i
u
n+1
i
+ u
n
i+1
)
h
2
12
uxxxx +
k
2
h
2
utt + O(
k
4
h
2
) + O(h
4
) ,
iar pentru ecuat ia caldurii
(u
n+1
i
u
n1
i
)/(2k) = (u
n
i1
u
n1
i
u
n+1
i
+ u
n
i+1
)/h
2

(h
2
/12)uxxxx + (k
2
/h
2
)utt + O(k
4
/h
2
) + O(h
4
) (k
3
/6)uttt + O(k
4
) .
Eroarea de discretizare cont ine termenul (k/h)
2
_

2
u/t
2
_
n
i
care poate diferit de
zero daca h 0 si k = ch 0, unde c este o constanta diferita de zero. Deci, daca
diviziunile k, h tind la zero, spre exemplu ind tot timpul egale (c = 1), schema
(10.74) aproximeaza de fapt o ecuat ie care cont ine termenul
2
u/t
2
si care nu mai
reprezinta ecuat ia caldurii. Daca avem k/h 1, c 1, efectul acestui termen de
ordinul doi, devine neglijabil.
10.2. Ecuat ii cu derivate part iale de ordinul II 281
Denit ie. O schema numerica de calcul (n particular o schema cu diferent e)
este stabila daca nu amplica erorile n decursul aplicarii ei.

In afara erorilor provenite din trunchiere sau rotunjire, surse de instabili-


tate pot si nepotrivirile (discontinuitat ile) din condit iile la limite si init iale.
Modalitat ile de amplicare a erorilor sunt foarte variate, astfel ncat stabilitatea
poate studiata n diverse moduri.

In cele ce urmeaza, vom utiliza stabilitatea
n sensul lui von Neuman. Important a studierii consistent ei si stabilitat ii este
data de
Teorema lui Lax. O schema de calcul consistenta si stabila este convergenta.

In cele ce urmeaza, vom aplica teorema lui Lax la studiul unor scheme despre
care stim precis ca sunt consistente, astfel ncat stabilitatea devine sucienta
pentru convergent a.
Pentru schema implicita (10.67), vom studia stabilitatea n sensul lui von
Neuman. Se introduce n schema o perturbat ie w, de forma
w = (t)e
jx
, R, j =

1 , (10.75)
unde (t) este amplitudinea, iar R numarul de unda al perturbat iei. De-
oarece sursa perturbat iilor n calculul numeric o constituie erorile de calcul s-a
pastrat notat ia w. Prin urmare, n (10.67) se face nlocuirea
v
n
i
v
n
i
+w
n
i
; w
n
i
=
n
e
jxi
. (10.76)
Rezulta ecuat ia care da evolut ia perturbat iei
w
n+1
i1
(1 + 2)w
n+1
i
+w
n+1
i+1
= w
n
i
. (10.77)

Impart ind (10.77) membru cu membru cu w


n
i
, se obt ine
(
n+1
/
n
)[e
jh
(1 + 2) +e
jh
] = 1 ,
[
n+1
/
n
[ 1/[1 + 2(1 cos h)[ = 1/(1 + 4sin
2 h
2
) 1 .
(10.78)
Din (10.78) rezulta ca raportul amplitudinilor perturbat iei la momentele n + 1
si n scade sau ramane cel mult nemodicat, oricare ar pasul h si lungimea de
unda a perturbat iei.

In consecint a, perturbat iile schemei cu diferent e date de
erorile de diverse tipuri, nu se amplica, deci schema implicita este necondit ionat
stabila.
Exemplu. Revenind la schema explicita (10.46) vom studia studia stabilitatea
acesteia. Ecuat ia care da evolut ia perturbat iei w data de (10.75) este
w
n+1
i
= w
n
i1
+ (1 2)w
n
i
+ w
n
i+1
.
Rezulta condit ia
[
n+1
/
n
[ = [e
jh
+ (1 2) + e
jh
[ = [2(cos h 1) + 1[ 1,
sau
[4sin
2
h/2 1[ 1 1/2.
Condit ia de convergent a 1/2 a schemei explicite (10.46) este necesara deci asi-
gurarii stabilitat ii.
282 10. Ecuatii diferentiale cu derivate partiale
Figura 10.7: Discretizarea ecuat iei parabolice cu doua variabile spat iale.
Ecuat ii parabolice cu doua variabile spat iale.
Vom lua ca model ecuat ia caldurii adimensionalizata
u
t
=

2
u
x
2
+

2
u
y
2
, (10.79)
cu condit iile init iale si la limite
u(x, y, 0) = h(x, y), 0 x 1, 0 y 1,
u(0, y, t) = f
0
(y, t), u(1, y, t) = f
1
(y, t), 0 y 1, 0 < t T,
u(x, 0, t) = g
0
(x, t), u(x, 1, t) = g
1
(x, t), 0 x 1, 0 < t T .
(10.80)
Vom considera cazul unei ret ele rectangulare (gura 10.7), unde pentru simpli-
tate consideram pasii de discretizare spat ial egali, h
x
= h
y
= h
x = i h, y = j h, t = nk, i 1, I, j 1, J, n 1, N . (10.81)
Aproximand derivatele spat iale cu diferent e nite la momentul de timp n,
se obt ine relat ia explicita
v
n+1
i,j
= (1 4)v
n
i,j
+[(v
n
i+1,j
+v
n
i1,j
) + (v
n
i,j+1
+v
n
i,j1
)] . (10.82)
Eroarea de trunchiere a relat iei (10.82) este O(k
2
+k h
2
), unde k este pasul de
timp. Condit ia de convergent a a schemei explicite (10.82) se determina n mod
similar cu cazul unei singure variabile spat iale
0 < k/h
2
1/4 . (10.83)
Restrict ia (10.83) impusa parametrului ret elei pentru ca schema explicita (10.82)
sa e stabila, duce la necesitatea folosirii unor pasi de timp mici, rezultand un
volum mare de calcule. Acest neajuns poate nlaturat prin folosirea unei
10.2. Ecuat ii cu derivate part iale de ordinul II 283
scheme implicite. Spre exemplu, se poate folosi schema Crank-Nicolson pentru
ecuat ia (10.79)
v
n+1
i,j
v
n
i,j
=
k
2
_
_

2
u
x
2
+

2
u
y
2
_
n
i,j
+
_

2
u
x
2
+

2
u
y
2
_
n+1
i,j
_
, (10.84)
obt inandu-se
v
n+1
i,j
v
n
i,j
=

2
(v
n
i+1,j
2v
n
i,j
+v
n
i1,j
+v
n
i,j+1
2v
n
i,j
+v
n
i,j1
+
v
n+1
i+1,j
2v
n+1
i,j
+v
n+1
i1,j
+v
n+1
i,j+1
2v
n+1
i,j
+v
n+1
i,j1
) . (10.85)
Schema Crank-Nicolson (10.85) este stabila pentru orice valoare a parametrului
ret elei = k/h
2
. Pentru ecare nivel de timp n, se obt ine un sistem de (I
1)(J1) ecuat ii liniare unde Ih = 1 si Jh = 1. Acest sistem nu mai are matrice
tridiagonala ca n cazul schemei implicite (10.67) pentru ecuat ia caldurii cu o
singura variabila spat iala, neajuns care poate evitat folosind metoda direct iilor
alternante.
Metoda direct iilor alternante.
Un sistem de n ecuat ii liniare cu n necunoscute, cu matrice este tridiagonala
se rezolva direct.

In cazul ecuat iilor parabolice cu o singura variabila spat iala
folosirea schemei implicite (10.67) a dus la rezolvarea unui astfel de sistem
4
.
Obt inerea si n cazul ecuat iilor parabolice cu doua variabile spat iale a unui sis-
tem liniar tridiagonal, se poate realiza daca folosim o schema semi-implicita.
Spre exemplu, vom folosi o formula implicita pentru aproximarea derivatei
spat iale
2
u/x
2

2
u
x
2

n+1
i,j

= (u
n+1
i+1,j
2 u
n+1
i,j
+u
n+1
i1,j
)/h
2
(10.86)
si o formul a explicita pentru derivata spat iala
2
u/y
2

2
u
y
2

n
i,j

= (u
n
i,j+1
2 u
n
i,j
+u
n
i,j1
)/h
2
. (10.87)
Pentru ecare j 1, J, se obt ine un sistem de I 1 ecuat ii liniare
5
cu tot atatea
necunoscute
v
n+1
i1,j
+ (1 + 2)v
n+1
i,j
v
n+1
i+1,j
= v
n
i,j1
+ (1 2)v
n
i,j
+v
n
i,j+1
.
(10.88)
4
Nu orice schema implicita duce la aparit ia unui sistem cu matrice tridiagonala, ci numai
cele la care diferent ele nite pentru aproximarea derivatei spat iale folosesc numai trei puncte
alaturate la momentul de timp n + 1.
5
Numarul de puncte pe o dreapta y = const este I + 1, punctele de pe frontiera ind date
prin condit iile la limite.
284 10. Ecuatii diferentiale cu derivate partiale
Pentru determinarea valorilor v
n+1
i,j
, trebuie rezolvate J 1 astfel de sisteme
(vezi gura 10.7). Efortul de calcul este sensibil mai mic la rezolvarea a J 1
sisteme tridiagonale de cate I 1 ecuat ii decat pentru rezolvarea unui singur
sistem de (I 1)(J 1) ecuat ii cu tot atatea necunoscute.
La pasul urmator este recomandat sa folosim o formula explicita pentru
aproximarea derivatei spat iale
2
u/x
2
si o formula implicita pentru derivata
spat iala
2
u/y
2
, obt inand
v
n+2
i,j1
+ (1 + 2)v
n+2
i,j
v
n+2
i,j+1
= v
n+1
i1,j
+ (1 2)v
n+1
i,j
+v
n+1
i+1,j
.
(10.89)
Metoda direct iilor alternante consta n aplicarea relat iei (10.88) pentru determi-
narea valorilor aproximative ale funct iei necunoscute de la momentul de timp
n + 1, apoi a relat iei (10.89) pentru determinarea valorilor de la momentul de
timp n + 2, dupa care procedeul se repeta.
Ecuat ii parabolice neliniare.
Problemele prezentate pana aici legate de rezolvarea numerica a ecuat iilor cu
derivate part iale folosind scheme cu diferent e nite si stabilitatea acestora au
fost particularizate pentru ecuat ii liniare cu coecient i constant i. Ecuat ia cu
derivate part iale (10.26) este liniara daca coecient ii A
i
, B
i
si C sunt cel mult
funct ii de variabilele independente. Daca numai coecient ii derivatelor part iale
de ordin maxim depind de variabilele independente si de funct ia necunoscuta u,
dar nu si de derivatele part iale ale acesteia, atunci ecuat ia se numeste cvasili-
niara.
Ecuat iile parabolice neliniare pot rezolvate cu ajutorul schemelor explicite.
Asa cum am vazut anterior, stabilitatea schemelor explicite impune restrict ii
privind valorile parametrului ret elei = k/h
2
.

In cazul ecuat iilor neliniare,
aceste restrict ii devin si mai dure, n plus ele depinzand si de funct ia necunoscuta
u, motiv pentru care schemele explicite sunt put in utilizate.
Pentru exemplicare, consideram ecuat ia neliniara

2
u
x
2
= f(x, t, u,
u
t
,
u
x
) , (10.90)
unde f(x, t, u, u
x
, u
t
) este o expresie care cont ine variabilele independente x si
t, funct ia necunoscuta u si derivatele part iale de ordinul ntai u/x, u/t. O
schema implicita se poate obt ine daca scriem

2
x
v
n+1
i
= f[ih, (n + 1)k, v
n+1
i
, (v
n+1
i
v
n
i
)/k, (v
n+1
i+1
v
n+1
i1
)/2h] , (10.91)
sau prescurtat
2
x
v
n+1
i
f
n+1
i
, unde

2
x
v
n+1
i
(v
n+1
i1
2v
n+1
i
+v
n+1
i+1
)/h
2
. (10.92)
Folosind metoda iterat iei simple, se construieste sirul

2
x
(v
n+1
i
)
m+1
= (f
n+1
i
)
m+1
, m = 0, 1, 2, . . . , (10.93)
10.2. Ecuat ii cu derivate part iale de ordinul II 285
pana cand [(v
n+1
i
)
m+1
(v
n+1
i
)
m
[ < . Pentru m = 0, (v
n+1
i
)
0
se obt ine
rezolvand ecuat ia neliniara

2
x
(v
n+1
i
)
0
= (f
n+1
i
)
0
f
n
i
f[ih, nt, v
n
i
, ((v
n+1
i
)
0
v
n
i
)/k, (v
n
i+1
v
n
i1
)/2h] .
(10.94)
Daca sirul (10.93) converge, convergent a este liniara. Dupa cum se observa, la
ecare iterat ie m trebuie rezolvat un sistem tridiagonal de ecuat ii liniare.
O alta modalitate de liniarizare a sistemului neliniar (10.91) o constituie
metoda Newton. Termenul din dreapta egalitat ii (10.90) se poate dezvolta n
serie Taylor ca o funct ie de mai multe variabile, pastrand numai termenii de
ordinul ntai
f(x, t, u
m+1
, u
m+1
t
, u
m+1
x
) = f(z
m
) + (u
m+1
u
m
)
f(z
m
)
u
+(u
m+1
t
u
m
t
)
f(z
m
)
u
t
+ (u
m+1
x
u
m
x
)
f(z
m
)
u
x
,
unde z
m
(x, t, u
m
, u
m
t
, u
m
x
). Rezulta un sistem tridiagonal de forma
a
i
(v
n+1
i1
)
m+1
b
i
(v
n+1
i
)
m+1
+c
i
(v
n+1
i+1
)
m+1
= d
i
, i 1, I 1 , (10.95)
unde
a
i
=
1
h
2
+
1
2h
f(z
m
)
ux
, b
i
=
2
h
2
+
f(z
m
)
u
+
1
k
f(z
m
)
ut
, c
i
=
1
h
2

1
2h
f(z
m
)
ux
,
d
i
= f(z
m
) (
f(z
m
)
u
+
1
k
f(z
m
)
ut
)v
m
i,n+1

1
2h
f(z
m
)
ux
(v
m
i+1,n+1
v
m
i1,n+1
) .
(10.96)

In obt inerea relat iilor (10.96) s-a t inut cont de relat ia (v


n
i
)
m+1
(v
n
i
)
m
0,
deoarece valorile v
i,n
sunt cunoscute, ind calculate anterior. Daca sirul (10.96)
converge, convergent a este patratica, dar la ecare iterat ie trebuie evaluate deri-
vatele part iale f(z
m
)/u, f(z
m
)/u
t
, f(z
m
)/u
x
, derivate a caror expresii
analitice trebuie determinate anterior.

In cazul ecuat iilor parabolice cu doua sau
trei variabile spat iale, liniarizarea sistemului neliniar se face n mod asemanator,
dar sistemul liniar ce rezulta nu mai are matrice tridiagonala. Pentru a obt ine
sisteme liniare cu matrice tridiagonala, se poate folosi metoda direct iilor alter-
nante, prezentata anterior.
O metoda mai simpla si eleganta este propusa de Saulyev. Vom exemplica
aceasta metoda pentru ecuat ia cadurii adimensionalizata (10.35) n care vom
aproxima derivata spat iala (
2
u/x
2
)
n
i
cu formula cu diferent e centrate

2
u
x
2

n
i

=
1
h
_
u
x

n
i+1/2

u
x

n
i1/2
_
, (10.97)
n care (u/x)
n
i1/2
se nlocuieste cu (u/x)
n+1
i1/2
, iar derivatele de ordinul
ntai se aproximeaza tot cu diferent e centrate
u
x

n
i+1/2

=
1
h
(v
n
i+1
v
n
i
),
u
x

n+1
i+1/2

=
1
h
(v
n+1
i
v
n+1
i1
) . (10.98)
286 10. Ecuatii diferentiale cu derivate partiale
Figura 10.8: Ecuat ia caldurii rezolvata cu schema explicita (10.46).
Folosind diferent e la dreapta pentru u/t, se obt ine
(1 +)v
n+1
i
= v
n
i
+(v
n+1
i1
v
n
i
+v
n
i+1
) . (10.99)
Formula (10.99) este explicita daca efectueaza calculele de la frontiera din stanga
la cea din dreapta pentru tot i pasii de timp n = 1, 2, 3, . . . .

In mod analog,
daca n (10.97) se nlocuieste (u/x)
n
i+1/2
cu (u/x)
n+1
i+1/2
, se obt ine
(1 +)v
n+1
i
= v
n
i
+(v
n+1
i+1
v
n
i
+v
n
i1
) . (10.100)
Formula (10.100) este explicita daca efectueaza calculele de la frontiera din
dreapta la cea din stanga pentru tot i pasii de timp n = 1, 2, 3, . . . . Se recomanda
folosirea alternativa a formulelor (10.99) si (10.100).
Exemplu.

In gura 10.8 sunt prezentate rezultatele obt inute folosind schema
explicita (10.46) pentru ecuat ia adimensionalizata a caldurii
u/t =
2
u/x
2
, u(x, 0) = 4x(1 x), u(0, t) = u(1, t) = 0,
pentru doua momente de timp diferite si trei valori ale parametrului ret elei. Pasul h
s-a ment inut constant la valoarea h = 0.1. Se observa instabilitatea schemei explicite
pentru = 0.55. Rezultatele cele mai bune s-au obt inut pentru = 0.1, datorita
faptului ca n acest caz pasul de timp este cel mai mic si deci eroarea de trunchiere
este cea mai mica.

In gura 10.9 sunt date rezultatele obt inute cu schema implicita (10.67) si cu
schema Saulyev. Se observa cum ambele scheme sunt stabile si pentru = 2 (ele
sunt de altfel necondit ionat stabile). De aceasta data pasul de timp k s-a ment inut
constant la valoarea k = 0.001, modicarea parametrului ret elei facandu-se prin
ndesirea ret elei pe direct ia x. Se observa de asemenea cum rezultate mai bune se
10.2. Ecuat ii cu derivate part iale de ordinul II 287
Figura 10.9: Ecuat ia caldurii rezolvata cu schema implicita Saulyev (10.99), (10.100).
obt in pentru = 0.1, desi = 2, implica acelasi pas de timp si o ret ea spat iala mai
na. Pentru a explica acest lucru, sa consideram eroarea de trunchiere a schemei
explicite (10.67) care are aceeasi forma cu (10.54). T inand cont de faptul ca k = h
2
obt inem
z
n
i
= (k
2
/2)[(
2
u/t
2
)
n
i
(
4
u/x
4
)
n
i
] + O(k
3
) . (10.101)
Pentru ecuat ia caldurii avem
2
u/t
2
=
4
u/x
4
. Putem considera (
2
u/t
2
)
n
i

=
(
4
u/x
4
)
n
i
pentru ecuat ia cu diferent e nite, astfel ncat ecuat ia (10.101) se scrie
z
n
i
= (k
2
/2)(
2
u/t
2
)
n
i
[1 1/(6)] + O(k
3
) . (10.102)
Funct ia f() = 1 1/(6) are un minim pentru = 1/6, f(1/6) = 0. Pentru valori
> 1/6, funct ia f() este crescatoare, deci eroare de trunchiere creste.
10.2.2 Ecuat ii cu derivate part iale de tip eliptic
Pentru studiul solut iilor numerice ale ecuat iilor cu derivate part iale de tip eliptic,
vom lua ca model ecuat ia lui Poisson

2
u
x
2
+

2
u
y
2
= (x, y) . (10.103)
Pentru ecuat ia (10.103), se pot formula trei tipuri de probleme, dupa con-
dit iile impuse pe frontiera domeniului D R
2
unde se cauta solut ia. Astfel
exista:
288 10. Ecuatii diferentiale cu derivate partiale
1. Probleme de tip Dirichlet.

In acest caz, se da valoarea funct iei u pe fron-
tiera a domeniului D
u(x, y)[

= f(x, y) , (10.104)
f(x, y) ind o funct ie cunoscuta.
2. Probleme de tip Neumann.

In acest caz se da derivata funct iei u dupa
direct ia normalei n la curba du/dn, presupusa neteda
du
dn

= g(x, y) , (10.105)
g(x, y) ind o funct ie cunoscuta.
3. Probleme mixte (Dirichlet si Neuman).

In acest caz se impune pe frontiera
o condit ie de forma
a(x, y) u(x, y)[

+b(x, y)
du
dn

= c(x, y) , (10.106)
a(x, y), b(x, y) si c(x, y) ind funct ii cunoscute.
Discretizarea se poate face n toate cazurile folosind o ret ea cu pasi egali n
direct ia axelor x, y (h
x
= h
y
= h). Mai mult, printr-o transformare simpla de
coordonate, se poate plasa ntotdeauna domeniul D n interiorul unui patrat
de latura egala cu unitatea avand unul din varfuri n originea axelor (gura
10.10).

In acest fel, N ind numarul de intervale n direct ia x sau y, pasul este
h = 1/N. Coordonatele unui punct din ret ea sunt (ih, jk), i si j ind numarul
de pasi parcursi n cele doua direct ii, plecand din origine. Daca frontiera este
curbilinie, nodurile ret elei se mpart n doua categorii: (a) - noduri de categoria
N
I
, care au toate nodurile vecine (la distant a h) n interiorul domeniului D sau
pe ; (b) - noduri de categoria N
E
, care au cel put in un punct la distant a h n
exteriorul lui D.
Aproximarea cu diferent e se face diferit pentru cele doua categorii de noduri.
Pentru un nod M
ij
N
I
, aproximarea cu ajutorul diferent elor nite are eroarea
O(h
2
) si se scrie
v
i1,j
+v
i+1,j
+v
i,j1
+v
i,j+1
4v
i,j
= h
2

i,j
, (10.107)
unde i, j 1, N 1, M
ij
N
I
. Daca domeniul D este rectangular, atunci
(10.107) reprezint a unica forma de aproximare.

In cazul ecuat iei lui Laplace

2
u
x
2
+

2
u
y
2
= 0 , (10.108)
relat ia (10.107) se poate scrie
v
i,j
=
1
4
(v
i1,j
+v
i+1,j
+v
i,j1
+v
i,j+1
), i, j 1, N 1, M
ij
N
I
, (10.109)
10.2. Ecuat ii cu derivate part iale de ordinul II 289
Figura 10.10: Domeniu de calcul pentru ecuat ia Poisson.
adica valoarea aproximativa a funct iei u (pe care continuam sa o notam cu v)
ntr-un punct oarecare este media aritmetica a valorilor din punctele vecine.
O problema care se pune este si modul de numerotare a punctelor din ret ea.

In general, se recomanda numerotarea care duce la matrice cat mai simetrice


si diagonal dominante, cel put in pe anumite linii sau coloane. Aceasta asigura
proprietat i de convergent a mai bune ale metodelor iterative de rezolvare a sis-
temului (10.107), care are, n general un numar mare de necunoscute ((N 1)
2
n cazul domeniului patrat).
Un mod recomandabil de numerotare care duce la matrice bloc-tridiagonale
este cel care satisface condit ia de constant a a sumei indicilor
i +j = k, k = 2, 3, 4, . . . , 2N 2 . (10.110)
At at pentru ecuat ia Poisson cat si Laplace, dupa ce se aproximeaza cu
diferent e nite, rezulta un sistem de (N 1)
2
ecuat ii cu (N 1)
2
necunos-
cute. Ecuat iile care alcatuiesc sistemul sunt liniare daca provin din discretizarea
unei ecuat ii cu derivate part iale liniare.

In cazul ecuat iilor cu derivate part iale
neliniare, prin discretizare se obt ine un sistem de ecuat ii algebrice neliniare.
Pentru rezolvarea sistemului de ecuat ii liniare (10.109) scris matriceal
Av = b (10.111)
se pot folosi atat metode directe cat si metode iterative (vezi capitolul 5).
Numarul de necunoscute este n general mare; spre exemplu, pentru ecuat ia
Laplace n spat iu, pentru N = 11, rezulta un sistem de 1000 ecuat ii cu 1000
necunoscute, iar pentru N = 101, rezulta 10
6
ecuat ii. Numarul mare de necu-
noscute pune probleme din punct de vedere al stocarii matricei A, iar numarul
mare de operat ii pune probleme din punct de vedere al erorilor de rotunjire.
Metodele directe sunt folosite n cazul problemelor mici, atunci cand matricea
A este rara (multe elemente sunt nule) sau cand matricea A este de tip banda.

In celelate cazuri, metodele iterative se dovedesc mult mai eciente.


290 10. Ecuatii diferentiale cu derivate partiale
Metodele iterative se clasica n metode iterative punctuale, la care calculul
valorilor necunoscute la iterat ia k + 1, v
(k+1)
i,j
, se face pentru ecare punct n
parte, si metode iterative n bloc, la care se calculeaza mai multe valori simul-
tan. Vom exemplica folosirea metodelor iterative pentru ecuat ia Laplace cu
discretizarea (10.109).
Metodele iterative punctuale.
Prezentam pe scurt metodele Jacobi, Gauss-Seidel, supra-relaxarilor succesive,
gradientului.
(a) Metoda Jacobi. Relat ia (10.109) se aplica n forma
v
(k+1)
i,j
=
1
4
(v
(k)
i1,j
+v
(k)
i+1,j
+v
(k)
i,j1
+v
(k)
i,j+1
) , (10.112)
unde i, j 1, N 1, k = 0, 1, 2 . . . . Valoarea v
(k+1)
i,j
se calculeaza folosind numai
valori de la iterat ia anterioara.

In consecint a, valorile v
(k)
i,j
trebuie pastrate
pana cand noile valori sunt calculate n totalitate, ceea ce poate constitui un
dezavantaj.
(b) Metoda Gauss-Seidel. Relat ia (10.109) se aplica n forma
v
(k+1)
i,j
=
1
4
(v
(k+1)
i1,j
+v
(k)
i+1,j
+v
(k+1)
i,j1
+v
(k)
i,j+1
) , (10.113)
unde i, j 1, N 1, k = 0, 1, 2 . . . , deci valorile calculate la iterat ia k + 1
(punctele sub linia groasa din gura (10.11) sunt imediat introduse n calcul.
(c) Metoda supra-relaxarilor succesive se bazeaz a pe accelerarea covergent ei
cu ajutorul unui factor de relaxare
6
(1, 2)
v
(k+1)
i,j
= v
(k)
i,j
+[ v
(k+1)
i,j
v
(k)
i,j
] = (1 )v
(k)
i,j
+ v
(k+1)
i,j
, (10.114)
unde v
(k+1)
i,j
reprezinta valoarea calculata la iterat ia k + 1, folosind de exemplu
metoda Gauss-Seidel.
(d) Metoda gradientului. Fie funct ia
U(v) = v
T
Av 2b
T
v , (10.115)
care are un minim egal cu b
T
A
1
b cand v = A
1
b. Se observa ca minimul
funct iei U(v) coincide cu solut ia sistemului Av = b. Metoda gradientului pre-
zentata la 7.3, consta n construirea sirului v
k+1
= v
k

k
g
k
,
k
> 0, unde
g
k
= U(v
k
) = 2(Av
k
b) 2r
k
, r
k
b Av
k
reprezentand reziduul la
iterat ia k. Mai eciente sunt metodele de gradient conjugat a caror aplicare la
rezolvarea sistemelor de ecuat ii liniare a fost prezentata la ??.
O problema comuna metodelor iterative o constituie parcurgerea ret elei de
calcul (sau renumerotarea necunoscutelor). Pentru exemplul considerat, par-
curgerea se poate face e pe orizontala, e pe verticala (g. 10.11), evident,
existand mai multe posibilitat i de parcurgere.
6
In cazul problemelor neliniare, se utilizeaza deseori un factor de subrelaxare (0, 1).
10.2. Ecuat ii cu derivate part iale de ordinul II 291
Figura 10.11: Parcurgerea domeniului de calcul la metodele iterative.
Metode iterative n bloc.
Dupa cum am vazut, metodele iterative punctuale calculeaza valoarea v
(k+1)
i,j
pe
baza unei formule explicite, n care tot i termenii din dreapta semnului egal sunt
considerat i cunoscut i. Pentru a nt elege mai bine principiul metodelor iterative
n bloc, consideram metoda Gauss-Seidel, pentru care rescriem relat ia (10.113)
n forma
v
(k+1)
i,j
=
1
4
(v
(k+1)
i1,j
+v
(k)
i+1,j
+v
(k+1)
i,j1
+v
(k+1)
i,j+1
) . (10.116)
unde i, j 1, N 1, k = 0, 1 . . . . Relat ia (10.116) nu mai este explicita, de-
oarece toate valorile de pe linia i sunt considerate la iterat ia k + 1. Pentru
j = const, rezulta un sistem de I 1 ecuat ii cu I 1 necunoscute cu matrice
tridiagonala
v
(k+1)
i1,j
+ 4v
(k+1)
i,j
v
(k+1)
i+1,j
= v
(k+1)
i,j1
+v
(k)
i,j+1
. (10.117)
Redenirea formulei explicite ntr-o formula implicita duce la cresterea vitezei
de convergent a, pentru care se plateste pret ul unei complicari a algoritmului.
Viteza de convergent a este n general mbunatat ita daca dup a folosirea for-
mulei implicite (10.116) la iterat ia k + 1 se foloseste formula
v
(k+2)
i,j
=
1
4
(v
(k+2)
i1,j
+v
(k+2)
i+1,j
+v
(k+2)
i,j1
+v
(k+1)
i,j+1
) (10.118)
la iterat ia urmatoare, adica schimbarea sensului de parcurgere a punctelor din
domeniul de calcul. De aceasta data, rezulta un sistem de J 1 ecuat ii cu J 1
necunoscute, cu matrice tridiagonal a
v
(k+2)
i,j1
+ 4v
(k+2)
i,j
v
(k+2)
i,j+1
= v
(k+2)
i1,j
+v
(k+1)
i+1,j
. (10.119)
O alta metod a iterativa n bloc este metoda direct iilor alternante prezentata
anterior la paragraful 43. Derivatele part iale din ecuat ia Laplace u
xx
+u
yy
= 0
292 10. Ecuatii diferentiale cu derivate partiale
le vom nlocui de data aceasta cu diferent e nite dupa schema
(v
(k+1)
i1,j
2v
(k+1)
i,j
+v
(k+1)
i+1,j
) + (v
(k)
i,j1
2v
(k)
i,j
+v
(k)
i,j+1
) = 0, (10.120)
adica u
xx
cu o formula implicita, iar u
yy
cu o formula explicita. Din relat ia
(10.120), adaugand si scazand valoarea 4v
i,j
, rezulta
(v
(k+1)
i1,j
2v
(k+1)
i,j
+v
(k+1)
i+1,j
) + (v
(k)
i,j1
2v
(k)
i,j
+v
(k)
i,j+1
) + 4v
i,j
4v
i,j
= 0 .
Considerand prima valoare v
i,j
la iterat ia k si cea dea a doua la iterat ia k + 1,
rezulta
v
(k+1)
i,j
= v
(k)
i,j
+
1
4
(v
(k+1)
i1,j
2v
(k+1)
i,j
+v
(k+1)
i+1,j
) +
1
4
(v
(k)
i,j1
2v
(k)
i,j
+v
(k)
i,j+1
)
sau

1
4
v
(k+1)
i1,j
+
3
2
v
(k+1)
i,j

1
4
v
(k+1)
i+1,j
=
1
4
v
(k)
i,j1

1
2
v
(k)
i,j
+
1
4
v
(k)
i,j+1
. (10.121)
Am obt inut o relat ie identica cu (10.88) pentru =
1
4
, relat ia (10.121) repre-
zentand formula de baza pentru metoda direct iilor alternante.

In mod analog,
folosind o formula implicita pentru u
yy
si una explicita pentru u
xx
, se obt ine

1
4
v
(k+2)
i,j1
+
3
2
v
(k+2)
i,j

1
4
v
(k+2)
i,j+1
=
1
4
v
(k+1)
i1,j

1
2
v
(k+1)
i,j
+
1
4
v
(k+1)
i+1,j
. (10.122)
Observam cum pe baza unor prelucrari efectuate asupra relat iei (10.120), am
obt inut o ecuat ie cu diferent e nite, pentru o alta ecuat ie cu derivate part iale,
si anume pentru ecuat ia de tip parabolic u
t
= u
xx
+u
yy
. Altfel spus, schemele
cu diferent e nite (10.121) si (10.122) nu sunt consistente cu ecuat ia cu derivate
part iale de tip eliptic u
xx
+u
yy
= 0, ci cu ecuat ia parabolica u
t
= u
xx
+u
yy
, a
carei solut ie pentru valori de timp sucient de mari coincide cu solut ia ecuat iei
u
xx
+ u
yy
= 0.

In general, solut ia unei probleme de echilibru (care nu depinde
de timp), poate obt inuta ca o solut ie a unei probleme ctive dependente de
timp, pentru t = T sucient de mare. De fapt, rezolvarea unei probleme eliptice
cu o metoda iterativa, este analoaga cu rezolvarea unei probleme dependente de
timp, numai ca pasul de timp variaza de la punct la punct.
Cazul frontierelor curbe.

In acest caz, mult imea N


E
a punctelor care au noduri la distant a h exterioare
domeniului D este nevida. Scrierea ecuat iilor cu diferent e nite pentru aceste
puncte depinde de natura condit iilor impuse pe frontiera. Vom considera cazul
problemelor de tip Dirichlet si Neuman, problema mixta ind o combinat ie a
celor doua.

In cazul problemelor de tip Dirichlet, sunt date valorile funct iei u pe frontiera
. Fie punctul 1 N
E
(gura 10.12) punctul n care dorim sa aproximam cu
diferent e ecuat ia lui Poisson (10.103). Am notat cu ah si bh, a, b (0, 1)
10.2. Ecuat ii cu derivate part iale de ordinul II 293
Figura 10.12: Frontiera curba, condit ii Dirichlet.
distant ele de la punctul 1 la punctele A, B de pe frontiera. Folosind formula
Taylor, se obt ine
u
A
= u
1
ah(u/x)
1
+
1
2
a
2
h
2
(
2
u/x
2
)
1
+O(h
3
) ,
u
B
= u
1
+bh(u/y)
1
+
1
2
b
2
h
2
(
2
u/y
2
)
1
+O(h
3
) .
(10.123)
Deoarece, pe langa derivatele de ordinul 2 care apar n ecuat ia lui Poisson, au
aparut si derivate de ordinul 1, aceste din urm a trebuie eliminate.

In acest scop,
sunt necesare nca dou a relat ii. Ca urmare, se iau nca doua puncte din ret ea,
punctele 2 si 3 (gura 10.12) si se scrie
u
2
= u
1
+h(u/x)
1
+
1
2
h
2
(
2
u/x
2
)
1
+O(h
3
) ,
u
3
= u
1
h(u/y)
1
+
1
2
h
2
(
2
u/y
2
)
1
+O(h
3
) .
(10.124)
Combinand primele relat ii din (10.123) si (10.124) ntre ele, iar apoi si ultimele,
se obt ine
u
A
+au
2
= (1 +a)u
1
+
h
2
2
a(1 +a)(
2
u/x
2
)
1
+O(h
3
) ,
u
B
+au
3
= (1 +b)u
1
+
h
2
2
b(1 +b)(
2
u/y
2
)
1
+O(h
3
) .
(10.125)
Ecuat ia (10.103) se scrie, n punctul 1
(
2
u/x
2
)
1
+ (
2
u/y
2
)
1
=
1
. (10.126)
Ca urmare, exprimand derivatele de ordinul 2 din relat iile (10.125) se obt ine
ecuat ia
u
1
_
1
a
+
1
b
_
+
u
2
1 +a
+
u
3
1 +b
=
h
2
2

1

u
A
a(1 +a)

u
B
b(1 +b)
, u
1
N
E
.
(10.127)
Din relat iile (10.125), se observa ca derivatele de ordinul 2 se calculeaza n
punctele de categoria N
E
cu precizia O(h), fat a de O(h
2
) n relat iile (10.107).
Ca urmare, eroarea de discretizare n (10.127) este mai mare. Acest aspect
294 10. Ecuatii diferentiale cu derivate partiale
Figura 10.13: Frontiera curba, condit ii Neuman.
este mai general: scrierea echivalentului n diferent e nite n punctele de langa
frontiera, de categoria N
E
, se face cu o precizie mai mica.

In cazul problemelor de tip Neuman, sunt date la frontiera derivatele dupa


direct ia normalei la . Notand cu n
1
, n
2
, n
3
versorii vectorilor 1A, 2A, 2A
(gura 10.13), punctul A ind cel mai apropiat de punctul 1 n care vrem sa
scriem o relat ie pentru valorile funct iei necunoscute, vom scrie
n
k
=
k

i +
k

j, k = 1, 2, 3 (10.128)
si vom obt ine, cu o aproximat ie O(h
2
)
u
k
= u
A
l
k
(
k
u/x +
k
u/y)
A
+O(h
2
), l
k
= Ak, k = 1, 2, 3 . (10.129)
Eliminand, mai departe, pe u
A
, rezulta
u
2
u
1
= (l
1

1
l
2

2
)(u/x)
A
+ (l
1

1
l
2

2
)(u/y)
A
,
u
3
u
1
= (l
1

1
l
3

3
)(u/x)
A
+ (l
1

1
l
3

3
)(u/y)
A
.
(10.130)
Pe de alta parte, derivata normala
_
du
dn
_
A
=
A
_
u
x
_
A
+
_
u
y
_
A
(10.131)
este cunoscuta, astfel ncat relat ia cautata ntre u
1
, u
2
, u
3
este tocmai condit ia
de compatibilitate a sistemului de 3 ecuat ii cu necunoscutele (u/x)
A
, (u/y)
A
format cu relat iile (10.130) si (10.131)

u
2
u
1
l
1

1
l
2

2
l
1

1
l
2

2
u
3
u
1
l
1

1
l
3

3
l
1

1
l
3

3
(du/dn)
A

A

A

. (10.132)
Ecuat ia (10.132) nlocuieste ecuat ia lui Poisson n punctul 1, cu aproximat ia
O(h) care reprezinta eroarea la interpolarea liniara a derivatelorn relat ia (10.129).
Exemplu. Fie ecuat ia Laplace cu condit iile la limita
uxx + uyy = 0, u(0, y) = u(1, y) = 1, u(x, 0) = u(x, 1) = 0 . (10.133)
10.2. Ecuat ii cu derivate part iale de ordinul II 295
Figura 10.14: Distribut ia de temperaturi ntr-o placa.
Solut ia ecuat iei (10.133) reprezinta distribut ia de temperaturi n regim stat ionar pen-
tru o placa patrata. S-a folosit pentru rezolvare schema (10.109) pentru o ret ea cu
pasul h = 0.1.

In punctele din colt urile placii s-a luat valoarea u = 0.5 deoarece
n aceste puncte condit iile la limite prezinta discontinuitat i. Distribut ia de tempera-
turi, precum si curbele de nivel u = K, pentru K |0.2, 0.4, 0.6, 0.8 sunt date n
gura (10.14). Pentru rezolvarea sistemului de ecuat ii liniare s-au folosit metodele
Jacobi, Gauss-Seidel si relaxarilor succesive. S-a folosit condit ia de oprire a iterat iilor
|v
k+1
v
k
| < , cu = 10
4
. Numarul de iterat ii necesare obt inerii preciziei impuse
poate citit din tabelul urmator
metoda Jacobi GS = 1.2 = 1.4 = 1.5 = 1.6 = 1.8
nr.iter. 121 68 48 31 23 22 42
Se observa superioritatea metodei supra-relaxarilor succesive fat a de celelalte metode
pentru [1.2, 1.8], precum si existent a unui minim pentru = 1.6, minim care
depinde n general de ecuat ia care se rezolva. Pentru = 1 se regaseste metoda
Gauss-Seidel, iar pentru = 2 metoda nu converge.
10.2.3 Ecuat ii cu derivate part iale de tip hiperbolic
Pentru studiul solut iilor numerice ale ecuat iilor cu derivate part iale de tip hi-
perbolic, vom lua ca model ecuat ia undelor

2
u
t
2


2
u
x
2
= 0 , (10.134)
a carei solut ie generala este de forma
u(x, t) = f(x +t) +g(x t) , (10.135)
unde f si g sunt doua funct ii arbitrare de clasa C
2
. Ecuat ia (10.134) poate avea
296 10. Ecuatii diferentiale cu derivate partiale
Figura 10.15: Domeniile de inuent a si de dependent a.
(a) numai condit ii init iale
u(x, 0) = f(x), u/t(x, 0) = g(x), < x < + , (10.136)
caz n care funct iile f si g din (10.134) sunt chiar cele date de (10.136),
sau
(b) condit ii init iale si condit ii la limite
u(x, 0) = f(x), u/t(x, 0) = g(x), 0 < x < 1 ,
u(0, t) = h
0
(t), u(1, t) = h
1
(t) .
(10.137)

In acest caz, pentru a nu avea discontinuitat i ntre condit iile init iale si cele
la limite, trebuie ca f(0) = h
0
(0) si g(0) = h
1
(0).
Ecuat ia undelor are caracteristicile

1
(x, t) = x t,
2
(x, t) = x +t . (10.138)
Cele doua caracteristici care trec printr-un punct P(x
0
, t
0
) (gura 10.15) taie
axa Ox n punctele A si B. Valoarea solut iei n punctul P, depinde numai
de valorile din interiorul triunghiul PAB. Segmentul AB se numeste domeniu
(interval) de dependent a. Pe de alta parte, prin punctul Q(x
0
, 0) de pe axa Ox,
trec cele doua caracteristici de ecuat ii x + t = x
0
si x t = x
0
care