Aceasta este versiunea electronic a a c art ii Metode Numerice publicat a de [616659]
FitVisible
Aceasta este versiunea electronic˘ a a c˘ art ¸ii Metode Numerice publicat˘ a de
Editura Tehnic˘ a. Cartea a fost culeas˘ a folosind sistemul L ATEX a lui Leslie
Lamport, o extindere a programului T EX scris de Donald Knuth. Versiunea
electronic˘ a folose¸ ste formatul Portable Document Format (PDF) elaborat de
Adobe Systems . Traducerea formatului L ATEX ˆ ın PDF a fost realizat˘ a cu pro-
gramulpdflatex elaborat de Han The Thanh. Hiperleg˘ aturile din versiunea
electronic˘ a au fost generate automat folosind pachetul hyperref al lui Sebastian
Rahtz.
COPYRIGHT c/circlecopyrt1998, Corneliu Berbente, Sorin Mitran, Silviu
Zancu
Toate drepturile asupra edit ¸iei electronice sunt rezervate autorilor. Nu este
permis˘ a tip˘ arirea cont ¸inutului acestei edit ¸ii f˘ ar˘ a consimt ¸˘ amˆ antul scris al auto-
rilor.
COPYRIGHT c/circlecopyrt1997, Editura Tehnic˘ a
Toate drepturile asupra edit ¸iei tip˘ arite sunt rezervate editurii.
Adresa: EDITURA TEHNIC ˘A
Piat ¸a Presei Libere, 1
33 Bucure¸ sti, Romˆ ania
cod 71341
Redactor: ing. Vasile Buzatu
Tehnoredactor: Diana Jilavu
Coperta: Sorin MitranBun
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 perioad˘ a permite si-
mularea unui tot mai mare num˘ ar de probleme fizice, inginere¸ sti sau economice.
ˆIn paralel, a avut loc o dezvoltare a programelor disponibile fizicianului, ingine-
rului sau economistului, oferindu-le o bogat˘ a gam˘ a de algoritmi pentru rezolvarea
unor aplicat ¸ii concrete. Utilizarea acestei bog˘ at ¸ii de tehnici ¸ si informat ¸ii necesit˘ a
ˆ ıns˘ a, o baz˘ a teoretic˘ a solid˘ a pentru a fi efectiv folosite.
Reprezentarea printr-un num˘ ar finit de cifre semnificative a numerelor ˆ ın
calculator introduce dificult˘ at ¸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, amendˆ and astfel utilizarea eficient˘ a a unor te-
oreme de baz˘ a din analiz˘ a. ˆIn schimb, se introduc erorile de rotunjire a c˘ aror
propagare, ˆ ın interact ¸ie cu alte tipuri de erori (inerente sau de metod˘ a) este
greu de urm˘ arit. Prinre consecint ¸e, se poate ˆ ıntˆ ampla ca varainate echivalente
teoretic (spre exemplu pe baza unor teoreme privind unicitatea solut ¸iei) s˘ a duc˘ a,
numeric, la rezultate foarte diferite. Ca urmare, este explicabil˘ a tendint ¸a de a se
descoperi noi ¸ si noi formule de calcul numeric, chiar dac˘ a ˆ ın esent ¸˘ a (matematic)
acestea difer˘ a foarte put ¸in.
Aceast˘ a carte prezint˘ a o viziune detaliat˘ a asupra teoriei ¸ si practicii metodelor
numerice, rod al unei activit˘ at ¸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
larg˘ a aplicabilitate sunt de asemenea inclu¸ si. Autorii au ˆ ıncercat o prezentare
intuitiv˘ a a teoriei ce st˘ a la baza metodelor numerice considerate, urm˘ arindu-se
mai mult u¸ surint ¸a ˆ ınt ¸elegerii materialului. Locul demonstrat ¸iilor riguroase – de
altfel dificile ¸ si nu ˆ ıntotdeauna eficiente 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 mult˘ a teorie atunci cˆ and modalit˘ at ¸ile cunoscute au fost
epuizate. Ca atare, se vor reg˘ asi ˆ ın carte ¸ si o serie de cuno¸ stint ¸e mai avansate
necesare dezvolt˘ arii unor metode numerice performante.
Sunt incluse capitole privind: aproximarea funct ¸iilor, derivarea ¸ si integrarea
numeric˘ a, 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, asem˘ an˘ ator celui din programul Matlab. Cititorul poate
transcrie un algoritm ˆ ın limbajul de programare preferat cu u¸ surint ¸˘ a. Pentru a
preˆ ıntimpina cererile unor utilizatori ce doresc programe surs˘ a sau direct execu-
tabile, cartea este suplimentat˘ a de un bogat material oferit pe Internet la adresa
http://www.propulsion.pub.ro . La acest sit se pot reg˘ asi implement˘ ari ˆ ın
Pascal, FORTRAN ¸ si C++ ale celor mai utilizat ¸i algoritmi, exemple extinse,
leg˘ aturi la alte situri de pe Internet de interes pentru analiza numeric˘ a. Cei cu
acces la Internet pot beneficia de programele de instruire asistat˘ a de calculator
ce sunt disponibile la acest sit, unde este disponibil˘ a o versiune electronic˘ a a
acestei c˘ art ¸i, o serie de lucr˘ ari de laborator ¸ si numeroase aplicat ¸ii mici ce pot fi
rulate direct din browser-ul preferat.
Pe tot parcursul prezent˘ arii, elementele teoretice sunt completate cu nume-
roase exemple detaliat rezolvate. Acestea provin din cele mai variate domenii:
ingineria mecanic˘ a, ingineria electric˘ a, fizic˘ a ¸ si chimie. S-a ˆ ıncercat formularea
unor exemple init ¸iale simple, ce s˘ a se concentreze pe aspectele strict numerice,
iar apoi, a unor exemple apropriate problemelor reale. Se sper˘ a ca aceast˘ a mo-
dalitate de prezentare s˘ a fie util˘ a atˆ at studentului cˆ at ¸ si practicianului metodelor
numerice.
1997 Autorii
CUPRINS V
Cuprins
1 Aproximarea funct ¸iilor de o variabil˘ a 1
1.1 Aproximarea prin interpolare . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Interpolarea polinomial˘ a global˘ a . . . . . . . . . . . . . . 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 Cebˆ a¸ sev . . . . . . . . . . . . . . . . . . . . . 30
1.2.2 Minimizarea erorii la interpolarea polinomial˘ a . . . . . . . 32
1.2.3 Aproximarea aproape mini-max a unei funct ¸ii . . . . . . . 34
1.3 Aproximarea ˆ ın sensul celor mai mici p˘ atrate . . . . . . . . . . . 36
1.4 Elemente de teoria aproxim˘ arii . . . . . . . . . . . . . . . . . . . 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 general˘ a a celei mai bune aproxim˘ ari . . . . . . 49
2 Derivarea ¸ si integrarea numeric˘ a 53
2.1 Derivarea numeric˘ a . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.1.1 Derivate folosind polinoame de interpolare . . . . . . . . . 54
2.1.2 Formularea operatorial˘ a . . . . . . . . . . . . . . . . . . . 57
2.1.3 Polinoame de interpolare ˆ ın funct ¸ie ¸ si derivat˘ a . . . . . . 59
2.1.4 Derivate folosind funct ¸ii spline . . . . . . . . . . . . . . . 61
2.1.5 Derivate folosind diverse aproximat ¸ii . . . . . . . . . . . . 61
2.2 Integrarea numeric˘ a . . . . . . . . . . . . . . . . . . . . . . . . . 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 ˆ ınjum˘ at˘ at ¸irii intervalelor . . . . . . . . . . . . . . . . . . 86
3.2 Procedee iterative . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.1 Iterat ¸ia simpl˘ a . . . . . . . . . . . . . . . . . . . . . . . . 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 r˘ ad˘ acinilor polinoamelor . . . . . . . . . . . . . . . 96
3.3.1 Metoda Lobacevschi-Graeffe . . . . . . . . . . . . . . . . . 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 elimin˘ arii a lui Gauss . . . . . . . . . . . . . . . 116
5.1.2 Metoda Gauss-Jordan . . . . . . . . . . . . . . . . . . . . 121
5.1.3 Propagarea erorilor la metodele de eliminare. Rafinarea
solut ¸iei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.1.4 Interpretarea matriceal˘ a a metodelor de eliminare . . . . 124
5.1.5 Calculul matricei inverse . . . . . . . . . . . . . . . . . . 125
5.1.6 Relat ¸ia Sherman-Morisson . . . . . . . . . . . . . . . . . . 128
5.1.7 Rafinarea matricei inverse . . . . . . . . . . . . . . . . . 129
5.1.8 Efectele erorilor din datele init ¸iale . . . . . . . . . . . . . 131
5.1.9 Factorizarea L·U. . . . . . . . . . . . . . . . . . . . . . 132
5.1.10 Descompunerea SVD . . . . . . . . . . . . . . . . . . . . 134
5.1.11 Sisteme cu matrice rare . . . . . . . . . . . . . . . . . . . 135
5.2 Metode iterative . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.2.1 Metoda iterativ˘ a Jacobi . . . . . . . . . . . . . . . . . . . 138
5.2.2 Metoda iterativ˘ a 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 cˆ ateva valori proprii . . . . . . . . . . . . . . . . . 152
6.2.1 Metoda puterii directe . . . . . . . . . . . . . . . . . . . . 152
6.2.2 Metoda puterii inverse . . . . . . . . . . . . . . . . . . . . 155
6.2.3 Metoda deplas˘ arii . . . . . . . . . . . . . . . . . . . . . . 156
6.3 Determinarea tuturor valorilor ¸ si vectorilor proprii . . . . . . . . 156
6.4 Metoda Danilevschi . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.5 Metodele QR¸ siLR . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.5.1 Rezultate teoretice preliminarii . . . . . . . . . . . . . . . 163
6.5.2 Algoritmi auxiliari . . . . . . . . . . . . . . . . . . . . . . 169
6.5.3 Formularea metodelor QR¸ siLR . . . . . . . . . . . . . . 171
6.5.4 Reducerea num˘ arului de operat ¸ii la factorizare . . . . . . 172
6.5.5 Accelerarea metodelor QR¸ siLR. . . . . . . . . . . . . . 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 f˘ ar˘ a 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 specifice de optimizare . . . . . . . . . . . . . . . . . . . 204
7.8 Probleme de optimizare cu restrict ¸ii . . . . . . . . . . . . . . . . 205
8 Rezolvarea sistemelor neliniare 213
8.1 Iterat ¸ia simpl˘ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
8.2 Metoda iterativ˘ a Newton . . . . . . . . . . . . . . . . . . . . . . 216
8.3 Metode cvasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . 219
8.4 Metoda gradientului . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.5 Metoda hibrid˘ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9 Rezolvarea ecuat ¸iilor diferent ¸iale 229
9.1 Considerat ¸ii generale . . . . . . . . . . . . . . . . . . . . . . . . 229
9.2 Metode cu pa¸ si 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 pa¸ si 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 sc˘ ari 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 finite . . . . . . . . . . . . . . . . . . 300
1
Capitolul 1
Aproximarea funct ¸iilor de o
variabil˘ a
Problema aproxim˘ arii unei funct ¸ii de o variabil˘ a se poate pune ˆ ın situat ¸ii
diverse, urm˘ atoarele dou˘ a fiind mai frecvente:
1.funct ¸ia este cunoscut˘ a, dar are o form˘ a complicat˘ a, dificil de manipulat ˆ ın
calcule (spre exemplu pentru operat ¸ii de derivare, integrare, etc.);
2.funct ¸ia nu este complet cunoscut˘ a, fiind date numai valorile ei pe o mult ¸ime
discret˘ a ¸ si finit˘ a de puncte.
ˆIn primul caz, aproximarea se poate face, ˆ ın principiu, oricˆ at de exact, res-
trict ¸iile fiind legate de condit ¸ia ca funct ¸ia care aproximeaz˘ a s˘ a fie cˆ at mai simpl˘ a.
ˆIn al doilea caz informat ¸iile sunt reduse ¸ si se completeaz˘ a cu presupuneri supli-
mentare, privind gradul de regularitate al funct ¸iei (continuitatea funct ¸iei ¸ si a
derivatelor sale, etc.). ˆIn ambele cazuri, este important˘ a alegerea unui criteriu
de aproximare .
Fie [a,b]⊂Run interval pe dreapta real˘ a ¸ si xi, i∈{1,2,… ,N},N∈N,
o ret ¸ea de puncte de diviziune ale acestui interval, xi∈[a,b], x1=a,xN=b.
Punctele de diviziune se numesc noduri . Presupunem date valorile ˆ ın noduri ale
2 1.Aproximarea funct ¸iilor de o variabil ˘a
unei funct ¸ii reale f
yi=f(xi), i∈1,N. (1.1)
Not˘ am cug(x) funct ¸ia cu care vrem s˘ a aproxim˘ am pe f(x) pe intervalul dat.
Iat˘ a cˆ ateva criterii de aproximare:
a)Interpolare .ˆIn acest caz, funct ¸ia “mai simpl˘ a” g(x) este determinat˘ a din
condit ¸ia ca s˘ a ia acelea¸ si valori ˆ ın noduri
g(xi) =yi, i∈1,N. (1.2)
Criteriul de aproximare prin interpolare presupune tacit c˘ a nodurile ( xi,yi)
sunt cunoscute exact. Dac˘ a din diverse motive – cel mai adesea datorit˘ a
unui procedeu de m˘ asurare – nodurile sunt afectate de erori atunci criteriul
de interpolare este inadecvat.
b)Minimizarea abaterii maxime. Se impune condit ¸ia ca abaterea maxim˘ a s˘ a
fie minim˘ a pe intervalul ales, adic˘ a
max
x∈[a,b]|f(x)−g(x)|= minim. (1.3)
Relat ¸ia ( 1.3) are analogul discret
max
i∈1,N|yi−g(xi)|= minim. (1.4)
Aproximarea f˘ acut˘ a pe baza criteriului de mai sus se nume¸ ste aproximare
mini-max .
c)Minimizarea sumei p˘ atratelor abaterilor ˆ ın noduri .ˆIn acest caz se impune
ca
S=n/summationdisplay
i=1(yi−g(xi))2= minim . (1.5)
Se observ˘ a c˘ a, ˆ ın cazul interpol˘ arii, aceast˘ a sum˘ a este chiar nul˘ a, adic˘ a are
cea mai mic˘ a valoare posibil˘ a. Totu¸ si, aceast˘ a observat ¸ie nu face superfluu
criteriul ( 1.5) care este mai general ¸ si permite tratarea datelor cunoscute
incert, a¸ sa cum se va vedea mai departe. Metoda care folose¸ ste acest
criteriu este ˆ ıntˆ alnit˘ a sub numele de metoda celor mai mici p˘ atrate .
1.1 Aproximarea prin interpolare
Presupunˆ and c˘ a nodurile xisunt distincte , condit ¸ia de interpolare ( 1.1) repre-
zint˘ a un sistem de Ncondit ¸ii ¸ si va duce ˆ ın general la un sistem de Necuat ¸ii
cuNnecunoscute. Considerentele de simplitate amintite mai sus ne sugereaz˘ a
1.1.Aproximarea prin interpolare 3
c-alegerea formei funct ¸iei de aproximare s˘ a fie f˘ acut˘ a astfel ˆ ıncˆ at sistemul de
condit ¸ii s˘ a conduc˘ a la ecuat ¸ii liniare. O posibil˘ a alegere este urm˘ atoarea: se
ia un set de Nfunct ¸ii simple, cunoscute, gk(x), k∈{1,2,…,N}¸ si un set de
Nparametrii nedeterminat ¸i (scalari) ak, k∈{1,2,…,N}, ˆ ın funct ¸ie de care se
scrie aproximanta g(x)
g(x) =N/summationdisplay
k=1akgk(x) . (1.6)
Deoarece nu ne-am ˆ ınscris ˆ ıntr-un formalism riguros, vom face unele observat ¸ii
de “bun simt ¸”. Astfel, am ales Nparametri nedeterminat ¸i ak, deoarece avem
Ncondit ¸ii. Pe de alt˘ a parte, setul de funct ¸ii gk(x) trebuie s˘ a cont ¸in˘ a elemente
distincte, astfel ˆ ıncˆ at introduse ˆ ın forma ( 1.6), num˘ arul de parametri s˘ a nu se
reduc˘ a1.ˆIntr-un limbaj mai riguros, se spune c˘ a cele Nfunct ¸ii cunoscute gk
trebuie s˘ a fie liniar independente .ˆIn lipsa altei analize, ne putem limita la
funct ¸ii despre care ¸ stim c˘ a au aceast˘ a proprietate. Un astfel de set ˆ ıl reprezint˘ a
monoamele xk−1, k∈{1,2,…,N}, ˆ ın care caz funct ¸ia de interpolare este un
polinom de gradul N−1
g(x) =N/summationdisplay
k=1akxk−1. (1.7)
Alte seturi de funct ¸ii pot fi funct ¸iile trigonometrice, exponent ¸iale, etc., pe care
le vom trata ulterior.
1.1.1 Interpolarea polinomial˘ a global˘ a
Revenind la forma ( 1.7) se pune problema g˘ asirii coeficient ¸ilor akdin condit ¸ia
de interpolare, adic˘ a a rezolv˘ arii sistemului de ecuat ¸ii liniare
N/summationdisplay
k=1akxk−1=yi, i∈1,N. (1.8)
Dac˘ aNeste mare, rezolvarea sistemului ( 1.8) este dificil˘ a sau cel put ¸in necon-
venabil˘ a. ˆIn orice caz, nodurile xifiind distincte, sistemul de ecuat ¸ii ( 1.8) este
un sistem cu determinant Vandermonde diferit de zero ¸ si are o solut ¸ie unic˘ a,
bine determinat˘ a pentru coeficient ¸ii ak.ˆIn consecint ¸˘ a, oricare ar fi calea pe care
se construie¸ ste efectiv polinomul de interpolare ( 1.7), acesta este unic pentru o
funct ¸ie ¸ si o diviziune dat˘ a. Aproximarea efectuat˘ a este o interpolare global˘ a ˆ ın
sensul c˘ a se folose¸ ste un singur polinom pe tot intervalul [ a,b].
Forma Newton a polinomului de interpolare.
O modalitate convenabil˘ a de construct ¸ie a polinomului de interpolare ˆ ıl consti-
tuie polinomul lui Newton cu diferent ¸e divizate . Fiind date perechile de puncte
1Spre exemplu, dac˘ a g2=αg1,α/negationslash= 0 atuncia1g1+a2g2= (a1+αa2)g1, deci ˆ ın loc de doi
parametri independent ¸i a1¸ sia2ar apare doar o combinat ¸ie a/prime
1=a1+αa2.
4 1.Aproximarea funct ¸iilor de o variabil ˘a
(xi,yi), se introduc urm˘ atoarele rapoarte denumite diferent ¸e divizate (DD)
DD(x2,x1) =y2−y1
x2−x1,
DD(x3,x2,x1) =DD(x3,x2)−DD(x2,x1)
x3−x1,
···
DD(xN,xN−1,… ,x 1) =DD(xN,… ,x 2)−DD(xN−1,… ,x 1)
xN−x1. (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 matematic˘ a, urm˘ atoarea
expresie a diferent ¸ei divizate de ordinul N−1:
DD(xN,xN−1,… ,x 1) =N/summationdisplay
i=1yiŒN/productdisplay
j=1/prime
(xi−xj) . (1.10)
Semnul/primedenot˘ a omiterea factorului j=idin produs. Relat ¸ia ( 1.10) fiind
simetric˘ a, rezult˘ a c˘ a valoarea diferent ¸ei divizate nu depinde de ordinea ˆ ın care
lu˘ am punctele xi. Din punct de vedere practic, este mai comod ca diferent ¸ele
divizate s˘ a nu se calculeze cu formula ( 1.10) ci recursiv, alc˘ atuindu-se un tabel
(Tab. 1.1).
Funct ¸ia de aproximare g(x) este un polinom de gradul N−1, pe care ˆ ıl vom
nota cupN−1(x). Vom scrie
f(x) =pN−1(x) +RN−1(x), (1.11)
undeRN−1(x) este restul saueroarea de aproximare la interpolarea polinomial˘ a.
Pe de alt˘ a parte, t ¸inˆ and seama de definit ¸ia diferent ¸elor divizate, se poate scrie
f(x) =y1+ (x−x1) DD(x,x1) =
y1+ (x−x1) DD(x2,x1) + (x−x1)(x−x2) DD(x,x2,x1).(1.12)
ˆIn relat ¸ia ( 1.12) ultima diferent ¸˘ a divizat˘ a este format˘ a cu punctul curent x.
Continuˆ and procedeul ( 1.12) pˆ an˘ a se iau ˆ ın considerat ¸ie toate nodurile, rezult˘ a
pN−1(x) =y1+ (x−x1) DD(x2,x1) + (x−x1)(x−x2) DD(x,x2,x1) +
(1.13)
…+ (x−x1)(x−x2)·…·(x−xN−1) DD(xN,xN−1,… ,x 1),
RN−1=N/productdisplay
i=1(x−xi) DD(x,xN,xN−1,… ,x 1) . (1.14)
1.1.Aproximarea prin interpolare 5
Se verific˘ a direct din ( 1.14) c˘ a restul se anuleaz˘ a ˆ ın noduri ( RN−1(xi) =
0, i= 1,2,…,N ) ¸ si decipN−1(x) dat de ( 1.13) este polinomul de interpolare
corespunz˘ ator celor Npuncte date. Forma ( 1.13) se nume¸ ste polinomul lui
Newton cu diferent ¸e divizate.
Pentru scrierea polinomului ( 1.13) se alc˘ atuie¸ ste mai intˆ ai tabloul diferent ¸elor
divizate de diverse ordine. Nu este necesar ca tabloul s˘ a cuprind˘ a toate diferent ¸ele
divizate posibile. Este suficient s˘ a proced˘ am ˆ ın ordinea nodurilor, din aproape
ˆ ın aproape, conform definit ¸iilor ( 1.9). Un exemplu de calcul este prezentat ˆ ın
tabelul 1.1unde s-a notat cu DD idiferent ¸a divizat˘ a de ordinul i(i= 1,2,3).
Polinomul obt ¸inut este
p3(x) = 2 + (x−1)·(1) + (x−1)(x−2)·(−2) + (x−1)(x−2)(x−3)·(1).
ˆIn ceea ce prive¸ ste restul RN−1(x) (eroarea la interpolare), se poate face o
evaluare dac˘ a avem informat ¸ii suplimentare referitoare la funct ¸ia aproximat˘ a
f(x) ¸ si la derivatele sale. ˆIn acest scop, consider˘ am funct ¸ia ajut˘ atoare Q(t)
definit˘ a prin relat ¸ia
Q(t) =f(t)−pN−1(t)−N/productdisplay
i=1(t−xi) DD(x,xN,xN−1,… ,x 1) . (1.15)
Se observ˘ a c˘ a funct ¸ia Q(t) se anuleaz˘ a pentru t=x¸ sit=xi,i= 1,2,…N , adic˘ a
areN+ 1 zerouri. Presupunˆ and c˘ a f(t) este derivabil˘ a de un num˘ ar convenabil
de ori, putem aplica funct ¸iei Q(t) ¸ si derivatelor sale teorema lui Rolle. Rezult˘ a,
succesiv, c˘ a derivata Q/prime(t) are cel put ¸in Nzerouri, derivata Q/prime/prime(t) are cel put ¸in
N−1 zerouri ¸ s.a.m.d., astfel c˘ a derivata de ordinul Nare cel put ¸in un zero pe
intervalul (a,b). Fiet=ξacest zero. Derivˆ and relat ¸ia ( 1.15) deNori, ¸ si f˘ acˆ and
t=ξ, se obt ¸ine
f(N)(ξ) =N!·DD(x,xN,xN−1,… ,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) cap˘ at˘ a forma
RN−1(x) =N/productdisplay
i=1(x−xi)f(N)(ξ)/N! . (1.16)
Prezent ¸a produselor/producttext(x−xi), sugereaz˘ a c˘ a restul este mai mic (ˆ ın modul)
cˆ and punctul curent xeste centrat pe intervalul care cont ¸ine diviziunea ¸ si mai
mare cˆ and xeste luat spre marginile intervalului sau ˆ ın afara lui – acest ultim
caz este denumit extrapolare . Deoarece derivata de ordinul Na funct ¸iei ˆ ın
punctulξnu este accesibil˘ a (din diverse motive), evalu˘ ari ale restului se pot
face presupunˆ and c˘ a, la schimbarea diviziunii, punctul ξ(necunoscut) nu se
deplaseaz˘ a mult, astfel ˆ ıncˆ at derivata respectiv˘ a s˘ a fie aproximativ constant˘ a,
¸ si ref˘ acˆ and calculul pentru o nou˘ a diviziune a intervalului se poate testa astfel
¸ si sensibilitatea erorii la includerea de noi puncte de interpolare.
6 1.Aproximarea funct ¸iilor de o variabil ˘a
Tabelul 1.1: Un tabel de diferent ¸e divizate
xiyiDD1DD2DD3DD4
12 –– – – 2
3 1– – – 3
0 -3-2 – – 5
6 32 1 – 4
4 21 -3/2 -5/6
De regul˘ a, este nerecomandabil˘ a utilizarea unui num˘ ar mare de noduri la
interpolare, mai ales dac˘ a se intent ¸ioneaz˘ a calcularea unor derivate cu ajutorul
acestui polinom. Uzual, nu se folosesc toate cele Nnoduri, ci doar 3-5 noduri
cele mai apropriate de punctul ˆ ın care se cere valoarea funct ¸iei. ˆIn consecint ¸˘ a,
exist˘ a posibilitatea unor variante chiar cˆ and nu putem ˆ ındesi ret ¸eaua prin ale-
gerea altor noduri.
Interpolarea polinomial˘ a apare deseori ca o component˘ a a altor algoritmi
numerici cum ar fi integrarea sau derivarea numeric˘ a a unor funct ¸ii. ˆIn aceste
aplicat ¸ii se consider˘ a deseori cazul diviziunilor egale
xi+1−xi=h, i= 1,2,… ,N−1,
hfiind pasul ret ¸elei . Se introduc operatorii ∆ ¸ si ∇denumit ¸i diferent ¸˘ a la dreapta
respectiv, diferent ¸˘ a la stˆ anga , prin relat ¸iile
∆f(x) =f(x+h)−f(x), (1.17)
∇f(x) =f(x)−f(x−h) . (1.18)
Rezultatul aplic˘ arii operatorului ∆ sau ∇asupra luif(x) se nume¸ ste diferent ¸˘ a
finit˘ a (de ordinul I). Pentru nˆ ıntreg, se define¸ ste un operator de translat ¸ie, E,
prin relat ¸ia
Enf(x) =f(x+nh), n∈Z. (1.19)
AvemE1f(x) =f(x+h), E0f(x) =f(x), E−1f(x) =f(x−h). Se observ˘ a c˘ a
ˆ ıntre operatorii ∆ ,∇¸ siEexist˘ a relat ¸iile
∆ =E−E0,∇=E0−E−1. (1.20)
Diferent ¸ele divizate se pot exprima ˆ ın funct ¸ie de diferent ¸ele finite ¸ si de pasul h
DD(x2,x1) = [f(x1+h)−f(x1)]/h= [∆f(x1)]/h, (1.21)
DD(xN,xN−1) = [f(xN)−f(xN−h)]/h= [∇f(xN)]/h. (1.22)
Prin induct ¸ie, se demonstreaz˘ a u¸ sor c˘ a
DD(xN,xN−1,… ,x 1) =∆N−1f(x1)(
N−1)!hN−1=∇N−1f(xN)(
N−1)!hN−1, (1.23)
1.1.Aproximarea prin interpolare 7
unde exponentul indic˘ a aplicarea repetat˘ a a operatorului.
Punˆ and variabila curent˘ a xsub forma
x=xi+αh, α∈[0,N−1], (1.24)
se poate obt ¸ine expresia polinomul de interpolare Newton cu diferent ¸e finite la
dreapta
pN−1(x) =y1+α∆y1+12
α(α−1)∆2y1+…+CN−1
α∆N−1y1, (1.25)
undeCk
α, k= 0,1,… ,N−1 sunt coeficient ¸ii binomiali. Restul RN−1(x) cap˘ at˘ a
forma
RN−1(x1+αh) =hNCN
αf(N)(ξ) . (1.26)
Calculul se face alc˘ atuind un tablou al diferent ¸elor finite, similar cu tabloul
diferent ¸elor divizate.
ˆIn mod asem˘ an˘ ator, notˆ and
x=xN+βh, β∈[−N+ 1,0], (1.27)
se obt ¸in expresii cu diferent ¸e la stˆ anga
pN−1(x) =yN+β∇yN+12
β(β+ 1)∇2yN+…+ (−1)N−1CN−1
−β∇N−1yN
RN−1(xN+βh) = (−1)NhNCN
βf(N)(ξ) . (1.28)
Forma Lagrange a polinomului de interpolare.
Polinomul de interpolare Lagrange se scrie alegˆ and funct ¸iile gk(x) din relat ¸ia
(1.6) sub forma unor polinoame denumite polinoame Lagrange ¸ si notate cu
Lk(x), k= 1,2,…,N . Aceste polinoame au expresiile
Lk(x) =N/productdisplay
j=1/prime
x−xj
xk−xj, k∈1,N, (1.29)
unde produsul/producttext/primese ia pentru j/negationslash=k. Se observ˘ a direct din ( 1.29) c˘ a
Lk(xj) = 0 dac˘ a xj/negationslash=xk;Lk(xj) = 1 dac˘ a xj=xk. (1.30)
Polinomul de interpolare Lagrange se scrie
pN−1(x) =N/summationdisplay
k=1ykLk(x) , (1.31)
deci coeficient ¸ii akdin expresia ( 1.6) sunt chiar valorile funct ¸iei f(x) ˆ ın noduri,
ak=yk. Se verific˘ a direct, t ¸inˆ and cont de propriet˘ at ¸ile ( 1.30) c˘ apN−1(xi) =
yi, i= 1,2,…,N .
8 1.Aproximarea funct ¸iilor de o variabil ˘a
Exemplu . Utilizˆ and primele patru noduri din tabelul 1, polinoamele Lagrange
sunt
L1(x) =(x−2)(x−3)(x−5)(1
−2)(1−3)(1−5)=−18
(x−2)(x−3)(x−5),
L2(x) =(x−1)(x−3)(x−5)(2
−1)(2−3)(2−5)=13
(x−1)(x−3)(x−5),
L3(x) =(x−1)(x−2)(x−5)(3
−1)(3−2)(3−5)=−14
(x−1)(x−2)(x−5),
L4(x) =(x−1)(x−2)(x−3)(5
−1)(5−2)(5−3)=124
(x−1)(x−2)(x−3),
iar polinomul de interpolare este
p3(x) = 2L1(x) + 3L2(x) + 0L3(x) + 6L4(x) =x3−8×2+ 18x−9,
identic cu polinomul obt ¸inut prin metoda diferent ¸elor divizate. Aducerea polinomului
la forma canonic˘ a a fost f˘ acut˘ a numai pentru compararea celor dou˘ a metode, nefiind
ˆ ın general necesar˘ a ˆ ın calculul numeric.
Convergent ¸a interpol˘ arii polinomiale globale.
Expresiile restului RN−1(x) obt ¸inute la interpolarea polinomial˘ a sugereaz˘ a o
cre¸ stere a preciziei atunci cˆ and num˘ arul Nde noduri cre¸ ste. Spre exemplu,
ˆ ın cazul diviziunilor egale, expresiile ( 1.26) ¸ si ( 1.28) indic˘ a proport ¸ionalitatea
abaterii cuhN(hfiind pasul diviziunii) dar ¸ si cu alt ¸i factori cum ar fi derivata de
ordinulN. Interpolarea ar fi convergent˘ a dac˘ a atunci cˆ and num˘ arul de puncte
de interpolare cre¸ ste indefinit N→∞ , restul scade oricˆ at de mult RN−1→
0. Se pune ˆ ıntrebarea: este interpolarea polinomial˘ a ˆ ıntotdeauna convergent˘ a?
R˘ aspunsul la aceast˘ aˆ ıntrebare este negativ .ˆInc˘ a din 1901, Runge a dat exemplul
funct ¸iei
f(x) = 1/(1 +x2), x∈[−5,5] .
Se poate verifica faptul c˘ a |RN−1(x)|→∞ cˆ andN→∞ , diviziunile intervalului
[−5,5] fiind luate egale. Comportarea interpol˘ arii pentru N= 6 ¸ siN= 11 este
redat˘ a ˆ ın figura 1.1. Mai general, acest rezultat negativ se exprim˘ a prin teorema
lui Faber care spune c˘ a pentru orice diviziune a intervalului [ a,b] exist˘ a o funct ¸ie,
chiar continu˘ a, fat ¸˘ a de care abaterea polinomului de interpolare cre¸ ste oricˆ at de
mult cˆ and N→ ∞ . Faptul c˘ a exist˘ a sigur cel put ¸in o funct ¸ie pentru care
interpolarea polinomial˘ a global˘ a nu converge reduce aplicabilitatea practic˘ a a
procedeului, acesta folosindu-se ˆ ındeosebi ca o component˘ a a altor algoritmi
numerici, pentru valori mici ale lui N.
1.1.Aproximarea prin interpolare 9
Figura 1.1: Polinoamele de interpolare pN−1(x) cuN= 6,11 suprapuse peste f(x).
Aspecte practice ale interpol˘ arii polinomiale.
Evident, polinoamele Newton ¸ si Lagrange difer˘ a numai prin form˘ a, pentru
aceea¸ si ret ¸ea restul fiind acela¸ si ˆ ın ambele cazuri. Din punct de vedere al calcu-
lului numeric, este preferat˘ a folosirea polinomului Newton ce necesit˘ a un num˘ ar
de operat ¸ii aritmetice mai mic, de O(3N2/2) fat ¸˘ a deO(4N2) pentru polinomul
Lagrange. Necesarul de memorie este acela¸ si pentru ambii algoritmi. Pentru
polinomul Newton ar p˘ area c˘ a este nevoie de o matrice suplimentar˘ a pentru
tabelul de diferent ¸e divizate. ˆIns˘ a din tabelul de diferent ¸e divizate se folosesc
efectiv doar Ncoeficient ¸i existˆ and posibilitatea refolosirii celulelor de memorie
precum ˆ ın algoritmul2
d←y
j= 2 :N/bracketleftbigg
k=N:−1 :j
[dk←(dk−dk−1)/(xk−xk−j−1)(1.32)
ˆ ın urma c˘ aruia diferent ¸ele divizate de pe diagonala tabelului se obt ¸in ˆ ın vectorul
dce a fost init ¸ializat cu ordonatele y. Aceasta este partea cea mai costisitoare
a interpol˘ arii Newton necesitˆ and O(3N2/2) operat ¸ii aritmetice. Evaluarea po-
linomului ˆ ıntr-un punct use face eficient prin schema lui Horner
S←dN
j= (N−1) :−1 : 1
[S←dj+ (u−xj)·S(1.33)
2Am folosit notat ¸ia Matlab j=jini:pas:jfinpentru bucle: variabila jeste init ¸ializat˘ a la
valoareajini¸ si apoi incrementat˘ a cu pas. Instruct ¸iunile din bucl˘ a, delimitate de [ se execut˘ a
repetat pˆ an˘ a cˆ and j >jfinDac˘ apasnu este precizat, precum ˆ ın j=jini:jfin, se subˆ ınt ¸elege
pas= 1.
10 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.2: Aproximarea funct ¸iei lui Runge f(x) printr-o linie poligonal˘ a s(x).
necesitˆ and numai O(3N) operat ¸ii. Evaluarea polinomului Lagrange ˆ ıntr-un
punctunecesit˘ aO(4N2) prin
S←0
k= 1 :N
P←1
j= 1 :k−1
[P←P·(u−xj)/(xk−xj)/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglej=k+ 1 :N
[P←P·(u−xj)/(xk−xj)
S←S+yk·P
1.1.2 Interpolare cu funct ¸ii spline
Am v˘ azut c˘ a interpolarea polinomial˘ a global˘ a , pe tot intervalul [ a,b], nu converge
ˆ ıntotdeauna. Desigur, dac˘ a am reu¸ si s˘ a mic¸ sor˘ am diviziunea f˘ ar˘ a a modifica gra-
dul polinomului de interpolare, rezultatul ar putea fi modificat. Spre exemplu,
aproximarea unei funct ¸ii derivabile cu o linie poligonal˘ a se poate face oricˆ at de
bine cˆ and num˘ arul de laturi ale poligonului cre¸ ste infinit (fig. 1.2). Evident,
funct ¸ia poligonal˘ a nu se identific˘ a cu o funct ¸ie de gradul 1 deoarece depinde
¸ si de diviziunea aleas˘ a. Acest exemplu conduce la ideea de interpolare polino-
mial˘ a pe port ¸iuni, la care pe fiecare subdiviziune a intervalului [ a,b] definim un
alt polinom de interpolare. Funct ¸ia poligonal˘ a este unul dintre exemplele cele
mai simple ale acestui tip de interpolare prin funct ¸ii spline3. Aceste funct ¸ii
sunt caracterizate prin formele lor pe subintervalele dintre dou˘ a noduri (care
pot fi diverse funct ¸ii cunoscute) ¸ si prin anumite condit ¸ii de racordare ˆ ın noduri.
ˆIn cele ce urmeaz˘ a, vom considera doar cazul funct ¸iilor spline polinomiale f˘ ar˘ a
deficient ¸˘ a .
3Se cite¸ ste “splain”.
1.1.Aproximarea prin interpolare 11
Figura 1.3: Subintervalele de definire a unei funct ¸ii spline.
Definit ¸ie. Fie [a,b]⊂Run interval pe dreapta real˘ a ¸ si xi,i= 1,2,…,N o
ret ¸ea de puncte de diviziune ( x1=a,xN=b). Not˘ am cu Iisubintervalele
[xi,xi+1). Funct ¸ias: [a,b]→Rse nume¸ ste funct ¸ie spline polinomial˘ a de
ordinulmdac˘ a
1.restrict ¸iile ei pe subintervalele Iisunt polinoame de gradul m,s|Ii=
pm,i;
2.seste derivabil˘ a de m−1 ori pe intervalul [ a,b], s∈C(m−1)[a,b].
A doua condit ¸ie cont ¸ine ˆ ın sine condit ¸ia de racordare ˆ ın noduri
p(k)
m,i(xi+1) =p(k)
m,i+1(xi+1), k= 0,1,… ,m−1, (1.34)
adic˘ a la frontiera xi+1dintre dou˘ a subintervale, polinomul din stˆ anga pm,i¸ si
primele sale m−1 derivate trebuie s˘ a aibe acelea¸ si valori cu ale polinomului
din dreapta, pm,i+1.ˆIn afara intervalului [ a,b] funct ¸iasse poate prelungi prin
polinoame de grad ≤m. Condit ¸iile de racordare ˆ ın noduri pot fi sl˘ abite, astfel
ˆ ıncˆ at funct ¸ia ss˘ a nu mai fie de clas˘ a C(m−1)pe tot intervalul [ a,b], ci s˘ a fie
derivabil˘ a de mai put ¸ine ori pe diverse subintervale. ˆIn acest caz, obt ¸inem funct ¸ii
spline cu deficient ¸˘ a .
Funct ¸ia spline de ordinul ˆ ıntˆ ai (linia poligonal˘ a).
Funct ¸ia spline este format˘ a din segmente de ecuat ¸ie
p1,i(x) =yi+mi(x−xi), x∈[xi,xi+1), (1.35)
mi= (yi+1−yi)/hi, hi≡xi+1−xi, (1.36)
mireprezentˆ and panta pe intervalul Ii(vezi fig. 1.3). Funct ¸ia spline de ordinul
ˆ ıntˆ ai este simpl˘ a, dar nu furnizeaz˘ a derivata funct ¸iei interpolate.
12 1.Aproximarea funct ¸iilor de o variabil ˘a
Funct ¸ia spline de ordinul doi.
Funct ¸ia este format˘ a din segmente de parabol˘ a, racordate ˆ ın noduri pˆ an˘ a la
derivata de ordinul 1, inclusiv
p2,i(x) =yi+mi(x−xi) +ai(x−xi)2, x∈[xi,xi+1), i∈1,N−1 . (1.37)
Forma polinomial˘ a ( 1.37) satisface automat condit ¸ia p2,i(xi) =yiprin modul
de scriere. Condit ¸iile de racordare
p2,i(xi+1) =yi+1 (1.38)
conduc la urm˘ atoarele ecuat ¸ii pentru coeficient ¸ii ai
ai= (yi+1−yi)/h2
i−mi/hi,i∈1,N−1. (1.39)
Eliminarea lui aidin condit ¸iile de racordare
p2,i(xi+1) =yi+1,
p/prime
2,i(xi+1) =p/prime
2,i+1(xi+1),(1.40)
care se pot scrie ˆ ın nodurile xi,i= 1,2,3,… ,N−2 conduce la sistemul
mi+mi+1= 2(yi+1−yi)/hi, i∈2,N−1 , (1.41)
ce trebuie completat cu o singur˘ a condit ¸ie. Spre exemplu, se poate da panta la
unul din capetele intervalului ( m1saumN). Necesitatea condit ¸iei suplimentare
provine din faptul c˘ a nu mai putem impune condit ¸ia de racordare ˆ ın derivat˘ a ˆ ın
nodulxN.ˆIn ambele cazuri, sistemul devine determinat:
1.m1dat duce la substituirea
mi+1= 2(yi+1−yi)/hi−mi, i∈1,N−1 ; (1.42)
2.mNdat permite retrosubstituirea
mi= 2(yi+1−yi)/hi−mi+1, i∈N−1,1 . (1.43)
Funct ¸ia spline de ordinul trei sau cubic˘ a.
Este una din cele mai utilizate funct ¸ii spline, avˆ and derivate continue pˆ an˘ a la
ordinul doi inclusiv, ceea ce permite calculul razei de curbur˘ a. Din condit ¸iile de
continuitate pe noduri pˆ an˘ a la derivata de ordinul 2 inclusiv
p3,i(xi+1) =yi+1,
p/prime
3,i(xi+1) =p/prime
3,i+1(xi+1),
p/prime/prime
3,i(xi+1) =p/prime/prime
3,i+1(xi+1),(1.44)
1.1.Aproximarea prin interpolare 13
pentrui= 1,2,3,… ,N−2, se deduc coeficient ¸ii polinomului de gradul 3
p3,i(x) =yi+mi(x−xi) +bi(x−xi)2+ai(x−xi)3(1.45)
care reprezint˘ a comportarea funct ¸iei spline pe fiecare subinterval ( xi,xi+1),i∈
1,N−1
ai= (mi+1+mi)/h2
i−2(yi+1−yi)/h3
i, (1.46)
bi= 3(yi+1−yi)/h2
i−(mi+1+ 2mi)/hi. (1.47)
Pantele pe noduri, mi, sunt date ˆ ın acest caz de sistemul
ρimi−1+ 2mi+λimi=di, i∈2,N−2 (1.48)
ce trebuie completat cu dou˘ a condit ¸ii, pentru a suplini condit ¸iile de racordare
ˆ ın prima ¸ si a doua derivat˘ a ce nu mai pot fi scrise ˆ ın xN. S-au f˘ acut notat ¸iile
ρi≡hi/(hi−1+hi), λi≡1−ρi, hi≡xi+1−xi, (1.49)
di≡3 [λi(yi+1−yi)/hi+ρi(yi−yi−1)/hi−1] .
Sistemul de condit ¸ii de racordare impuse las˘ a de data aceasta dou˘ a grade de
libertate, ce pot fi precizarea pantelor la capete, m1¸ simN,sau, mai general,
precizarea unei relat ¸ii, ˆ ın general liniar˘ a, ale acestor pante cu pantele vecine, de
forma
/braceleftbigg
2m1+λ1m2=d1
ρNmN−1+ 2mN=dN.. (1.50)
ˆIn relat ¸iile ( 1.50), coeficient ¸ii λ1,d1,ρN,dNsunt dat ¸i prin natura condit ¸iilor
puse la capetele intervalului, deci nu sunt dedu¸ si din relat ¸iile ( 1.49) care nu
sunt definite pentru i= 1 ¸ sii=N. Spre exemplu, a da pantele m1¸ simN
revine la a impune
λ1= 0, d1= 2m1, ρN= 0, dN= 2mN.
Sistemul de Necuat ¸ii cuNnecunoscute Am=d, obt ¸inut prin reuniunea egali-
t˘ at ¸ilor ( 1.48) ¸ si ( 1.50), are matrice tridiagonal˘ a. Ne punem mai ˆ ıntˆ ai problema
existent ¸ei unei solut ¸ii. Elementele din matricea Arezultate din condit ¸iile de
racordare ( 1.48) sunt diagonal dominante pe linii, adic˘ a 2 >|ρi|+|λi|= 1.
Cum o matrice diagonal dominant˘ a este, ˆ ın general, inversabil˘ a, este suficient
ca ¸ si condit ¸iile suplimentare ( 1.50) s˘ a p˘ astreze aceast˘ a proprietate. Practic,
problema este rezolvabil˘ a dac˘ a impunem condit ¸ii necontradictorii ¸ si distincte.
Forma tridiagonal˘ a a matricei Apermite o rezolvare foarte eficient˘ a prin
descompunerea matricei ˆ ıntr-un produs de dou˘ a matrice bidiagonale4A=L·R
4Un caz particular al factoriz˘ arii Doolittle ce va fi prezentat˘ a ˆ ın capitolul 5, cunoscut ca
algoritmul lui Thomas .
14 1.Aproximarea funct ¸iilor de o variabil ˘a
sau explicit
A=
1 0··· 0 0
l21··· 0 0
0l3………
………1 0
0 0···lN1
·
r1λ1··· 0 0
0r2… 0 0
0 0…λN−2 0
………rN−1λN−1
0 0··· 0rN
.
Coeficient ¸ii necunoscut ¸i ri, i= 1,2,…,N ¸ sili, i= 2,3,…,N se determin˘ a prin
identificarea elementelor din A¸ si din matricea produs. Elementele supradiago-
nalei din matricea Rau fost deja identificate. Determinarea pantelor se bazeaz˘ a
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
r1←2;
i= 2 :N
[li←ρi/ri−1;ri←2−liλi−1
2.rezolvarea sistemului bidiagonal L·z=d
z1←d1
i= 2 :N
[zi←di−lizi−1
3.rezolvarea sistemului bidiagonal R·m=z
mN←zN/rN
i= (N−1) :−1 : 1
[mi←(zi−λimi+1)/ri
Observat ¸ii. 1. Un caz particular important de funct ¸ie spline de ordinul trei
este cel al interpol˘ arii spline cubice naturale definit prin condit ¸iile ˆ ın capete
s/prime/prime(x1) =s/prime/prime(xN) = 0
ceea ce conduce la
2m1+m2= 3(y2−y1)/h1,
mN−1+ 2mN= 3(yN−yN−1)/hN−1, (1.51)
1.1.Aproximarea prin interpolare 15
adic˘ a
λ1= 1, d1= 3(y2−y1)/h1, ρN= 1, dN= 3(yN−yN−1)/hN−1, (1.52)
cu notat ¸iile anterioare. Se poate demonstra c˘ a impunerea acestor condit ¸ii de
cap˘ at minimizeaz˘ a integrala
I=/integraldisplayxN
x1[f/prime/prime(x)]2dx, (1.53)
undef(x) este funct ¸ia exact˘ a, necunoscut˘ a, de clas˘ a C(2)[a,b] ce este aproximat˘ a
de interpolarea spline. Minimizarea integralei ( 1.53) prin impunerea condit ¸iilor
naturale (1.51) conduce la cea mai neted˘ a interpolare spline cubic˘ a. ˆIn absent ¸a
unor informat ¸ii precise asupra pantelorˆ ın capete m1,mN, se recomand˘ a folosirea
condit ¸iilor naturale ce conduc de regul˘ a la minizarea erorii de interpolare.
2. Folosit˘ a pentru reprezentarea unor curbe date (traiectorii ale unei scule,
profile aerodinamice, etc.), funct ¸ia spline cubic˘ a poate avea abateri ˆ ın zonele
cu pante mari. De aceea, se recomand˘ a verific˘ ari mai atente ˆ ın vecin˘ atatea
nodurilor cu pante mari, mi≥5.
3. Restrict ¸iile unei funct ¸ii spline s(x) pe intervalele Iinu trebuie s˘ a fie
obligatoriu polinoame. Se pot racorda alte funct ¸ii, sau polinoame cu alte funct ¸ii
– spre exemplu, cercuri cu polinoame. Aceste combinat ¸ii pot fi avantajoase ˆ ın
cazul cˆ and pantele pe noduri sunt mari.
4. Pentru interpolarea spline nu s-a dedus o expresie a erorii de aproxi-
mare, de o manier˘ a direct˘ a ca la interpolarea polinomial˘ a. S-a ret ¸inut doar
afirmat ¸ia c˘ a, o funct ¸ie continu˘ a poate fi aproximat˘ a oricˆ at de bine pe tot inter-
valul [x1,xN] atunci cˆ and num˘ arul de diviziuni cre¸ ste, adic˘ a interpolarea spline
este ˆ ıntotdeauna convergent˘ a . Deoarece derivata de ordinul m,s(m), a unei
funct ¸ii spline polinomiale este o funct ¸ie treapt˘ a (constant˘ a pe port ¸iuni), iar o
funct ¸ie treapt˘ a aproximeaz˘ a oricˆ at de bine o funct ¸ie continu˘ a pe interval cˆ and
num˘ arul de diviziuni cre¸ ste, se poate da o evaluare a erorii ˆ ın funct ¸ie de abate-
rea maxim˘ a ˆ ıntre derivatele f(m)(x) ¸ sis(m)(x), presupunˆ and c˘ a f(m)(x) exist˘ a
¸ si este continu˘ a
max|f(x)−s(x)|≤(b−a)mmax/vextendsingle/vextendsingle/vextendsinglef(m)(x)−s(m)(x)/vextendsingle/vextendsingle/vextendsingle/m! .
Pentrum= 1, marginea erorii reprezint˘ a tocmai produsul dintre m˘ arimea inter-
valului ¸ si diferent ¸a maxim˘ a de pante ˆ ıntre funct ¸ia f¸ si linia poligonal˘ a. Aceast˘ a
evaluare nucorespunde ˆ ıns˘ a neap˘ arat funct ¸iei spline de interpolare, dar suge-
reaz˘ a o anumit˘ a relat ¸ie cu modul ˆ ın care funct ¸ia treapta s(m)(x) aproximeaz˘ a
derivata de ordinul ma funct ¸ieif(x).
Exemplu . Vom considera problema interpol˘ arii spline a funct ¸iei lui Runge f(x) =
1/(1+x2) pe intervalul [−5,5] pentru care am v˘ azut c˘ a interpolarea polinomial˘ a global˘ a
e¸ sueaz˘ a. Se adopt˘ a o diviziune echidistant˘ a a intervalului cu h= [5−(−5)]/(N−1),
xk=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/prime(−5), mN=f/prime(5) ceea ce conduce
laλ1= 0, d1= 2f/prime(−5), ρN= 0, dN= 2f/prime(5);
16 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.4: Logaritmul zecimal al erorii relative la interpolarea spline a f,f/prime,f/prime/prime.
2.extrapolarea liniar˘ a a pantelor adiacente m1=m2, mN−1=mNceea ce
conduce la λ1=−2, d1= 0, ρN=−2, dN= 0;
3.condit ¸ii naturale ( 1.52).
Calitatea aproxim˘ arii se apreciaz˘ a prin evaluarea erorilor relative
εk=1000/summationdisplay
i=1/vextendsingle/vextendsingle/vextendsinglef(k)(ui)−s(k)(ui)/vextendsingle/vextendsingle/vextendsingle//vextendsingle/vextendsingle/vextendsinglef(k)(ui)/vextendsingle/vextendsingle/vextendsingle, k= 0,1,2
pentru diverse valori ale lui Nunde{ui, i∈1,1000}este o diviziune echidistant˘ a
fin˘ a a intervalului [ −5,5]. Rezultatele sunt prezentate ˆ ın figura ( 1.4). Se observ˘ a
c˘ a interpolarea este convergent˘ a, eroarea relativ˘ a sc˘ azˆ and rapid cu cre¸ sterea lui N.
Pentru un num˘ ar mic de puncte toate condit ¸iile de cap˘ at dau rezultate comparabile. Pe
m˘ asur˘ a ce diviziunea devine suficient de fin˘ a pentru a descrie precis variat ¸iile funct ¸iei,
condit ¸iile exacte dau eroarea minim˘ a dup˘ a cum era de a¸ steptat, urmate de condit ¸iile
naturale ¸ si apoi de cele de extrapolare a pantei. Se remarc˘ a pierderea a 1,2 ordine de
precizie a aproxim˘ arii ˆ ın urma deriv˘ arii.
1.1.3 Interpolare cu funct ¸ii trigonometrice
Interpolarea polinomial˘ a nu este adecvat˘ a aproxim˘ arii tuturor tipurilor de funct ¸ii.
Vom considera acum o alt˘ a alegere a funct ¸iilor liniar independente din ( 1.6),
anume funct ¸iile trigonometrice (fig. 1.5)
cos(2πkx), k∈0,N; sin(2πmx), m∈1,N−1 . (1.54)
Aceast˘ a baz˘ a este deosebit de eficace ˆ ın aproximarea funct ¸iilor periodice f(x) =
f(x+ 1). Funct ¸iile periodice cu o alt˘ a perioad˘ a f(z) =f(z+T) pot fi aduse
la forma anterioar˘ a prin transformarea x=z/T.ˆIn cazul interpol˘ arii cu funct ¸ii
1.1.Aproximarea prin interpolare 17
Figura 1.5: Primele 11 funct ¸ii din baza trigonometric˘ a.
trigonometrice, funct ¸iile sinus ¸ si cosinus ˆ ımpreun˘ a formeaz˘ a o baz˘ a5. Avem un
num˘ ar de 2 Nfunct ¸ii ˆ ın aceast˘ a baz˘ a. Ca atare, vom considera un num˘ ar par
2Nde puncte de diviziune echidistante pe intervalul [0 ,1]
xj=j/2N,j∈0,2N−1 . (1.55)
Se verific˘ a direct c˘ a setul ( 1.54) prezint˘ a urm˘ atoarele propriet˘ at ¸i de ortogonali-
tate pe mult ¸imea discret˘ a de puncte {xi}={0,1/2N,2/2N,…, (2N−1)/2N}
2N−1/summationdisplay
j=0cos 2πkxjcos 2πmxj=
0, k/negationslash=m
N, k =m/negationslash= 0,N
2N, k =m= 0,N(1.56)
2N−1/summationdisplay
j=0sin 2πkxjsin 2πmxj=/braceleftbigg
0, k/negationslash=m
N, k =m;2N−1/summationdisplay
j=0cos 2πkxjsin 2πmxj= 0,
∀k∈0,N, m∈1,N−1 . Demonstrat ¸ia se construie¸ ste prin transformarea
produselor de funct ¸ii trigonometrice ˆ ın sume de sinus ¸ si cosinus. Acestea se pot
ˆ ınlocui cu funct ¸ii exponent ¸iale, sin x= (eix−e−ix)/2i, cosx= (eix+e−ix)/2,
rezultˆ and progresii geometrice simplu de ˆ ınsumat (vezi ¸ si 1.1.4).
5Strict vorbind doar mult ¸imea infinit˘ a {1,cosx,sinx,cos 2x,sin 2x,…}formeaz˘ a o baz˘ a a
spat ¸iului de funct ¸ii. P˘ astrarea unui num˘ ar finit de funct ¸ii conduce la aparit ¸ia unor erori ce
vor fi considerate mai jos.
18 1.Aproximarea funct ¸iilor de o variabil ˘a
Utilizˆ and setul de funct ¸ii de baz˘ a ( 1.54), aproximanta prin interpolare se
scrie sub forma polinomului Fourier
g(x) =12
a0+N−1/summationdisplay
k=1[akcos(2πkx) +bksin(2πkx)] +12
aNcos 2πNx , (1.57)
ce satisface 2 Ncondit ¸ii de interpolare
g(xj) =f(xj)≡yj, j∈0,2N−1 .
Coeficient ¸ii ak,bkse determin˘ a prin utilizarea propriet˘ at ¸ilor de ortogonalitate
(1.56). Prezent˘ am calculul doar pentru coeficient ¸ii bk. Polinomul ( 1.57) se
evalueaz˘ a ˆ ın punctele xj,relat ¸ia obt ¸inut˘ a se amplific˘ a cu sin 2 πmxjiar apoi se
calculeaz˘ a suma de la j= 0 laj= 2N−1
2N−1/summationtext
j=0yjsin 2πmxj=a0
22N−1/summationtext
j=0sin 2πmxj+N−1/summationtext
k=1/bracketleftBigg
ak2N−1/summationtext
j=0(cos 2πkxjsin 2πmxj) +
bk2N−1/summationtext
j=0(sin 2πkxjsin 2πmxj)/bracketrightBigg
+aN
22N−1/summationtext
j=0(cos 2πNxjsin 2πmxj) .
Se poate observa schimbarea ordinii de ˆ ınsumare din relat ¸ia de mai sus ce per-
mite aplicarea ( 1.56) obt ¸inˆ andu-se
2N−1/summationdisplay
j=0g(xj) sin(2πmxj) =2N−1/summationdisplay
j=0yjsin(2πmxj) =bmN.
Un calcul analog pentru ceilalt ¸i coeficient ¸i conduce la relat ¸iile
ak=1
N2N−1/summationdisplay
j=0yjcos 2πkxj, bm=1
N2N−1/summationdisplay
j=0yjsin 2πmxj (1.58)
cuk∈0,N, m∈1,N−1.
ˆIn aplicat ¸ii, coeficient ¸ii ak,bkse evaluez˘ a mult mai economic decˆ at prin
calculul direct al sumelor de mai sus prin folosirea transform˘ arii Fourier rapide
prezentate ˆ ın 1.1.4. Se poate lesne observa din ( 1.58) c˘ a vom avea tot ¸i ak= 0
pentru funct ¸ii impare f(−x) =−f(x) ¸ si tot ¸ibm= 0 pentru funct ¸ii pare f(−x) =
f(x).
Aparit ¸ia unei oarecare asimetrii – termeniiˆ ın cos sunt mai numero¸ si decˆ at cei
ˆ ın sin – este legat˘ a de alegerea unui num˘ ar par de 2 Nintervale ˆ ın care se divide
perioada funct ¸iei. Dac˘ a se aleg 2 N+ 1 intervale, forma funct ¸iei de interpolare
este
g(x) =12
a0+N/summationdisplay
k=1[akcos(2πkx) +bksin(2πkx)] ,
1.1.Aproximarea prin interpolare 19
coeficient ¸ii ak¸ sibkfiind dat ¸i de
ak=22
N+ 12N/summationdisplay
j=0yjcos 2πkxj, bm=22
N+ 12N/summationdisplay
j=0yjsin 2πmxj,
cuk∈0,N, m∈1,N, xj=j/(2N+ 1).
Convergent ¸a interpol˘ arii trigonometrice.
Se pot determina exprim˘ ari ale erorii de interpolare ˆ ın genul restului RN−1(x)
de la interpolarea polinomial˘ a ¸ si pentru interpolarea trigonometric˘ a. Expresiile
obt ¸inute sunt ˆ ıns˘ a sub o form˘ a integral˘ a greu utilizabil˘ a practic. Vom prefera
o discut ¸ie mai put ¸in formal˘ a a erorii ¸ si convergent ¸ei procedeului. Dac˘ a funct ¸ia
fadmite o dezvoltare ˆ ın serie Fourier m˘ arirea num˘ arului de noduri conduce
la aproximat ¸ii din ce ˆ ın ce mai bune. ˆIntr-adev˘ ar, ridicˆ and expresia ( 1.57) la
p˘ atrat membru cu membru, ˆ ınsumˆ and valorile pe noduri ¸ si t ¸inˆ and seama de
relat ¸iile de ortogonalitate ( 1.56), se obt ¸ine
14
a2
0+12
N−1/summationdisplay
k=1(a2
k+b2
k) +14
a2
N=12
N2N−1/summationdisplay
j=0y2
j (1.59)
relat ¸ie denumit˘ a egalitatea lui Parseval discret˘ a . Cˆ andNcre¸ ste, suma din
membrul drept se aproprie de integrala/integraltext1
0y2dx. Dac˘ a integrala este m˘ arginit˘ a6
suma este de asemenea m˘ arginit˘ a. Ca urmare, seria p˘ atratelor coeficient ¸ilor este
convergent˘ a, ceea ce arat˘ a c˘ a a2
k,b2
kdevin din ce ˆ ın ce mai mici cˆ and Ncre¸ ste.
Interpolarea trigonometric˘ a este a¸ sadar convergent˘ a pentru funct ¸ii fcontinue
sau cu un num˘ ar finit de discontinuit˘ at ¸i – acestea fiind condit ¸ii suficiente pentru
a asigura existent ¸a integralei anterioare. Stabilirea convergent ¸ei este important˘ a
pentru validarea interpol˘ arii trigonometrice. ˆIn aplicat ¸ii ˆ ıns˘ a mai apar ¸ si alte
aspecte ale comport˘ arii erorii la interpolare. Vom considera doar dou˘ a mai
importante: rapiditatea convergent ¸ei ¸ si efectul consider˘ arii doar a unui num˘ ar
finit de funct ¸ii trigonometrice ˆ ın dezvoltarea ( 1.57).
F˘ ar˘ a a ˆ ıncerca o definit ¸ie formal˘ a, vom spune c˘ a o interpolare trigonome-
tric˘ a este rapid convergent˘ a dac˘ a num˘ arul de termeni Nnecesar realiz˘ arii unei
precizii impuse a aproxim˘ arii este “mic”. ˆInt ¸elesul cuvˆ antului “mic” depinde
de aplicat ¸ie, dar un domeniu orientativ ar fi 2 ≤N≤128. Urm˘ arirea fig. 1.5
sugereaz˘ a c˘ a includerea mai multor termeni ˆ ın polinomul Fourier ( 1.57) permite
descrierea unei funct ¸ii cu variat ¸ii mai rapide pe intervalul [0 ,1]. Fie ∆xcea mai
mic˘ a distant ¸˘ a de pe abscis˘ a pe care funct ¸ia fare o variat ¸ie semnificativ˘ a. Deo-
arecefare perioada 1, spunem c˘ a ν= 1/∆xeste frecvent ¸a variat ¸iilor celor mai
rapide ale funct ¸iei. Pentru a descrie variat ¸iile date de frecvent ¸a cea mai rapid˘ a
a funct ¸ieifpolinomul ( 1.57) trebuie s˘ a cont ¸in˘ a un num˘ ar de termeni N≥ν.
Acest rezultat este cunoscut sub numele de criteriul Nyquist ce rezult˘ a dintr-
un rezultat mai general denumit teorema de e¸ santionare Shannon . Observat ¸i c˘ a
6ˆIntr-o formulare riguroas˘ a dac˘ a y=f(x) este p˘ atrat integrabil˘ a pe [0 ,1], ceea ce se scrie
f∈L2[0,1].
20 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.6: Comportarea polinoamelor trigonometrice cu N= 8,16,32,64 la inter-
polarea funct ¸iei treapt˘ a. Pe m˘ asur˘ a ce Ncre¸ ste, interpolarea se aproprie mai mult de
funct ¸ia exact˘ a f˘ ar˘ a ˆ ıns˘ a a elimina oscilat ¸iile ˆ ın zona punctelor de discontinuitate.
pentru a avea Nfrecvent ¸e ˆ ın polinomul ( 1.57) este nevoie de 2 Npuncte (xj,yj).
De aici o formulare echivalent˘ a a criteriului Nyquist este ca num˘ arul de noduri
s˘ a fie minim de dou˘ a ori frecvent ¸a cea mai rapid˘ a .
Dac˘ afare variat ¸ii lente atunci νeste mic ¸ si num˘ arul de termeni din poli-
nomul ( 1.57) este de asemenea mic. Funct ¸iile cu variat ¸ii rapide au ˆ ıns˘ a νmare
necesitˆ and un num˘ ar mare de termeni ˆ ın polinomul ( 1.57). Cea mai rapid˘ a
frecvent ¸˘ a de variat ¸ie posibil˘ a a unei funct ¸ii ar fi ν→∞ ceea ce corespunde
la ∆x= 0, adic˘ a fs˘ a prezinte discontinuit˘ at ¸i. Cum nu vom putea ˆ ındeplini
niciodat˘ a criteriul Nyquist N≥∞ pentru funct ¸ii discontinue, interpolarea tri-
gonometric˘ a va avea erori mai mari ˆ ın asemenea cazuri. Erorile ce apar sunt
concentrate ˆ ın jurul discontinuit˘ at ¸ilor, comportare cunoscut˘ a 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 ¸ siy(n+ 1/2) = 0 cun∈N, exemplu prezentat ˆ ın fig.
1.6. Ne a¸ stept˘ am a¸ sadar ca interpolarea trigonometric˘ a s˘ a fie lent convergent˘ a
pentru funct ¸ii discontinue ¸ si rapid convergent˘ a pentru funct ¸ii netede, cu variat ¸ii
lente.
S˘ a presupunem acum c˘ a nueste ˆ ındeplinit criteriul Nyquist7¸ si am luat un
num˘ ar prea mic N < ν de termeni ˆ ın dezvoltarea ( 1.57). Ne punem problema
dac˘ a coeficient ¸ii ak,bkk≤Ndeterminat ¸i prin relat ¸iile ( 1.58) sunt corect ¸i, adic˘ a
au acelea¸ si valori ca ˆ ın cazul ˆ ın care criteriul Nyquist ar fi satisf˘ acut. R˘ aspunsul
este negativ . S˘ a refacem calculul anterior ce a furnizat valorile coeficient ¸ilor
bk, de data aceasta pentru dezvoltarea Fourier complet˘ a a funct ¸iei fce are
7Deoarece funct ¸ia feste ˆ ın general necunoscut˘ a ¸ si ca atare nu cunoa¸ stem frecvent ¸a ν.
1.1.Aproximarea prin interpolare 21
coeficient ¸ii exact ¸i αk,βk
f(x) =12
α0+∞/summationdisplay
k=1[αkcos(2πkx) +βksin(2πkx)] . (1.60)
Ca mai ˆ ınainte, evalu˘ am ( 1.60) ˆ ınxj, ˆ ınmult ¸im cu sin 2 πmxj¸ si ˆ ınsum˘ am de la
j= 0 laj= 2N−1. Urm˘ arim doar termenii cu produse de funct ¸ii sinus –
ceilalt ¸i dau contribut ¸ii nule conform ( 1.56) –
/summationtext2N−1
j=0f(xj) sin 2πmxj=/summationtext2N−1
k=1/bracketleftBig
βk/summationtext2N−1
j=0(sin 2πkxjsin 2πmxj)/bracketrightBig
+
/summationtext4N−1
k=2N/bracketleftBig
βk/summationtext2N−1
j=0(sin 2πkxjsin 2πmxj)/bracketrightBig
+…+
/summationtext2(p+1)N−1
k=2pN/bracketleftBig
βk/summationtext2N−1
j=0(sin 2πkxjsin 2πmxj)/bracketrightBig
+… .
ˆIns˘ a sin 2π(2pN+k)xj= sin 2πkxjpentruxj=j/(2N). Se obt ¸ine a¸ sadar
bm=βm+βm+2N+βm+4N+…,
altfel spus contribut ¸iile frecvent ¸elor mari m+ 2N,m + 4N,… apar mascate ˆ ın
coeficientul bm.Fenomenul de mascare8impune s˘ a urm˘ arim ˆ ın aplicat ¸ii variat ¸ia
coeficient ¸ilor ak,bkla dublarea lui N. Fiea(2N)
k,b(2N)
kcoeficient ¸ii determinat ¸i
folosindu-se 2 Npuncte ¸ sia(4N)
k,b(4N)
kcoeficient ¸ii determinat ¸i folosindu-se 4 N
puncte. Dac˘ a a(2N)
k∼=a(4N)
k,b(2N)
k∼=b(4N)
kpentruk≤Natunci num˘ arul
de puncte a fost considerat suficient de mare pentru a elimina fenomenul de
mascare.
Exemplu . Folosind interpolarea trigonometric˘ a s˘ a se aproximeze pozit ¸ia punctelor
situate pe elipsa
x2/a2+y2/b2= 1 .
Rezolvare . Ca ˆ ın orice problem˘ a de aproximare, alegerea variabilelor este important˘ a.
Reprezentarea ˆ ın coordonate carteziene x,yeste dezavantajoas˘ a, conducˆ and la dou˘ a
funct ¸ii
y=±b/radicalbig
1−x2/a2.
De aceea se prefer˘ a coordonatele polare r,φsau coordonatele paramametrice r,t.ˆIn
coordonatele polare x=rcosφ,y=rsinφ, elipsa este dat˘ a de funct ¸ia
r(φ) =ab/bracketleftbig
a2sin2φ+b2cos2φ/bracketrightbig−1/2,
cuφ∈[0,2π]. Funct ¸iar(φ) are perioada 2 π. O aducem la perioada 1 prin transfor-
mareas=φ/2π,
r(s) =ab/bracketleftbig
a2sin22πs+b2cos22πs/bracketrightbig−1/2.
8Comportarea este descris˘ a deseori prin denumirea din englez˘ a de aliasing .
22 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.7: Variat ¸ia erorii relative la interpolarea trigonometric˘ a a unor elipse. Re-
zultatele pentru reprezentarea parametric˘ a sunt unite cu linii.
ˆIn reprezentarea parametric˘ a, elipsa este descris˘ a de x=acost, y=bsint, astfel
ˆ ıncˆ at obt ¸inem
r(t) =/bracketleftbig
a2sin2t+b2cos2t/bracketrightbig1/2
cut∈[0,2π]. Aducem funct ¸ia la perioada 1 prin s=t/2π¸ si avem o a doua reprezen-
tare
r(s) =/bracketleftbig
a2sin22πs+b2cos22πs/bracketrightbig1/2
Vom nota prin gN(s) polinomul trigonometric ce interpoleaz˘ a r(s) ˆ ın 2Npuncte echi-
distant repartizate ˆ ın intervalul [0 ,1]. Evalu˘ am calitatea interpol˘ arii pentru diverse
valori ale lui N= 4,8,… , 256 prin calculul erorii relative pe o diviziune mai deas˘ a
{σj=j/2048,j∈0,2048}
εN=4N/summationdisplay
j=0|r(σj)−gN(σj)|/|r(σj)|.
Presupunem c˘ a a= 1 ¸ si vom studia comportarea erorii relative pentru mai multe valori
ale luib,ˆ ın cele dou˘ a reprezent˘ ari adoptate .
Rezultatele sunt prezentate ˆ ın fig. 1.7.ˆIn toate cazurile, interpolarea este conver-
gent˘ a: pe m˘ asur˘ a ce Ncre¸ ste eroarea se aproprie de zero. Cea mai rapid˘ a 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]. Odat˘ a cu sc˘ aderea raportului a/b, observ˘ am c˘ a este nevoie de un num˘ ar
mai mare de termeni ˆ ın polinomul trigonometric pentru a se obt ¸ine o precizie dat˘ a.
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 a¸ steptat ca aproximarea s˘ a fie afectat˘ a ¸ si
de fenomenul Gibbs ˆ ın zona punctelor ( ±1,0) – variat ¸iile funct ¸iilor sunt ˆ ıntr-atˆ at de
1.1.Aproximarea prin interpolare 23
rapide ˆ ıncˆ at nesatisfacerea criteriului Nyquist le face s˘ a apar˘ a ca ni¸ ste discontinuit˘ at ¸i.
Se poate observa c˘ a, pentru un acela¸ si raport a/breprezentarea parametric˘ a (puncte
unite cu linii ˆ ın fig. 1.7) conduce la erori mai mici ˆ ın toate cazurile studiate, aratˆ and
important ¸a unei alegeri judicioase a reprezent˘ arii.
S˘ a mai remarc˘ am c˘ a, o dat˘ a atins˘ a o precizie de circa 12 cifre, ˆ ın cazul unei funct ¸ii
r(s) netede,a/b= 1/2, cre¸ sterea lui Nnu mai ˆ ımbun˘ at˘ at ¸e¸ ste calitatea aproxim˘ arii.
Calculele au fost efectuate ˆ ın virgul˘ a mobil˘ a cu o precizie de circa 11 ,12 cifre semni-
ficative. Odat˘ a atins acest prag, cre¸ sterea lui Nproduce efecte detrimentale deoarece
prin cre¸ sterea num˘ arului de operat ¸ii aritmetice are loc o acumulare a erorilor de rotu-
njire. Dac˘ a ˆ ıntr-adev˘ ar este nevoie de o acuratet ¸e mai mare trebuie lucrat ˆ ın precizie
sporit˘ a.
1.1.4 Interpolare ˆ ın planul complex
Anumite aplicat ¸ii importante impun interpolarea ˆ ın planul complex. Printre
acestea se num˘ ar˘ a transformarea conform˘ a ¸ si transformata Fourier discret˘ a care
au multe aspecte asem˘ an˘ atoare. Transformarea conform˘ a a unui contur ( C) de
form˘ a oarecare din planul complex z=x+iy, pe un cerc ( K) de raz˘ a egal˘ a
cu unitatea plasat ˆ ın planul ζ=ξ+iη, astfel ˆ ıncˆ at exteriorul conturului s˘ a
se transforme pe exteriorul cercului (fig. 1.8), este o problem˘ a des ˆ ıntˆ alnit˘ a
ˆ ın mecanica fluidelor incompresibile sau ˆ ın electricitate. Conform teoremei de
reprezentare Riemann, odat˘ a precizate contururile, se mai pot alege trei para-
metrii reali. Ace¸ stia se determin˘ a de regul˘ a din impunerea unor corespondent ¸e
ce au semnificat ¸ie fizic˘ a. Vom ˆ ıncerca mai ˆ ıntˆ ai determinarea formei generale a
transform˘ arii conforme, l˘ asˆ and la urm˘ a stabilirea celor trei parametrii. Forma
general˘ a a transform˘ arii conforme este o serie care se limiteaz˘ a la un num˘ ar
convenabil de termeni M9
z=M−2/summationdisplay
n=−1C−nζ−n. (1.61)
CeiMcoeficient ¸iC−n,n=−1,0,… ,M−2 se determin˘ a din condit ¸ii de cores-
pondent ¸˘ a ˆ ıntre punctele Pk(zk) de pe contur ¸ si punctele Π k(ζk),k=0,M−1
de pe cerc. Prin urmare se obt ¸ine sistemul de ecuat ¸ii
zk=M−2/summationdisplay
n=−1C−nζ−n
k. (1.62)
Este convenabil ca ˆ ımp˘ art ¸irea cercului s˘ a se fac˘ a ˆ ın p˘ art ¸i egale, adic˘ a s˘ a lu˘ am
ζk= exp(ikδ), i≡√−
1, δ≡2π/M . (1.63)
Coeficient ¸ii C−nsunt solut ¸ia sistemului
M−2/summationdisplay
n=−1C−ne−ikδn=zk, (1.64)
9Forma reprezentat˘ a a fost astfel aleas˘ a ˆ ıncˆ at punctele de la infinit ale celor dou˘ a plane
complexe s˘ a corespund˘ a.
24 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.8: Corespondent ¸a punctelor din planul fizic ¸ si cel de calcul.
punctelezkfiind date. Sistemul ( 1.64) se inverseaz˘ a u¸ sor, t ¸inˆ and seama c˘ a
funct ¸iile exp(±ikδn) formeaz˘ a un sistem ortogonal. ˆIntr-adev˘ ar, ˆ ınmult ¸ind
(1.64) membru cu membru, cu exp( ijkδ),j= 1,2,…,M−2 ¸ si sumˆ and dup˘ a k,
se obt ¸ine succesiv
M−1/summationdisplay
k=0zkeijkδ=M−1/summationdisplay
k=0M−2/summationdisplay
n=−1C−neikδ(j−n)=M−2/summationdisplay
n=−1C−nM−1/summationdisplay
k=0eikδ(j−n). (1.65)
Dar progresia geometric˘ a de rat ¸ie exp iδ(j−n) se poate suma obt ¸inˆ andu-se
M−1/summationdisplay
k=0eikδ(j−n)=1−eiδ(j−n)M
1−eiδ(j−n)=/braceleftbigg
0 dac˘ aj/negationslash=n
Mdac˘ aj=n.
ˆIn consecint ¸˘ a, din ( 1.65) se obt ¸ine
C−j=1
MM−1/summationdisplay
k=0eijkδ, j∈−1,M−2 . (1.66)
Trebuie ment ¸ionat c˘ a problema nu s-a ˆ ıncheiat odat˘ a cu g˘ asirea coeficient ¸ilor
C−jpentru unMales. Anume, mai trebuie verificat˘ a atingerea preciziei dorite
prin considerarea a unor puncte intermediare ca, de exemplu,
ζ/prime
k= exp [iδ(k+ 1/2)], k∈0,M−1 .
Dac˘ a afixele z/prime
ksunt prea ˆ ındep˘ artate de conturul ( C) atunci trebuie ˆ ındesit˘ a
ret ¸eaua de puncte de calcul ¸ si, ˆ ın consecint ¸˘ a, m˘ arit num˘ arul de termeni ˆ ın seria
(1.61).
Rezultatele obt ¸inute se ˆ ınscriu ˆ ıntr-o formulare mai general˘ a, important˘ a
pentru multe aplicat ¸ii10. Pentru ret ¸eaua de puncte xj=jh,j= 0,1,… ,N−1,
10Algoritmul TFR prezentat ˆ ın continuare este, conform unor studii statistice de utilizare
a calculatoarelor, al doilea cel mai des utilizat algoritm, fiind devansat doar de rezolvarea
direct˘ a a sistemelor liniare. Exemple de aplicat ¸ii: model˘ ari meteorologice, analize de vibrat ¸ii
mecanice, prelucrare de imagini.
1.1.Aproximarea prin interpolare 25
avˆ and pasul h= 1/N, setul de valori ale unei funct ¸ii uˆ ın noduri se noteaz˘ a
u(N)¸ si se nume¸ ste funct ¸ie ret ¸ea . Notˆ and mai departe cu ωr˘ ad˘ acina de ordinul
Na unit˘ at ¸ii
ω= exp(2πi/N ), (1.67)
se define¸ ste transformata Fourier discret˘ a direct˘ a (TFDD) a funct ¸ieiu(N)ca
fiind o alt˘ a funct ¸ie ret ¸ea, notat˘ a U(N), ale c˘ arei valori ˆ ın noduri sunt date de
relat ¸iile
U(N)
k=N−1/summationdisplay
j=0u(N)
jωjk, k∈0,N−1 . (1.68)
Se observ˘ a c˘ a ( 1.66) este un caz particular de TFD. Prescurt˘ am notat ¸ia prin
adoptarea semnului = ⇒pentru TFD dat˘ a de ( 1.68)
u(N)=⇒U(N).
Sistemul ( 1.68) se poate inversa, prin aplicarea relat ¸iilor de ortogonalitate obt ¸i-
nˆ andu-se
u(N)
j=1
NN−1/summationdisplay
k=0U(N)
kω−jk, j∈0,N−1 . (1.69)
denumit˘ a transformata Fourier discret˘ a invers˘ a (TFDI) ce va fi notat˘ a
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(N2) operat ¸ii aritmetice.
ˆIns˘ a matricea Ω are propriet˘ at ¸i remarcabile, provenite din structura sa ciclic˘ a,
ce permit o evaluare ˆ ın numai O(NlogN) operat ¸ii. Cˆ a¸ stigul este enorm, iar
algoritmul ce realizeaz˘ a acest cˆ a¸ stig se nume¸ ste transformata Fourier rapid˘ a
sau prescurtat TFR11. Vom prezenta cea mai simpl˘ a deducere a algoritmului, o
exemplificare a tehnicii generale divide et impera – o problem˘ a dificil˘ a se poate
rezolva uneori mai u¸ sor prin descompunerea ˆ ın dou˘ a probleme mai simple.
Vom presupune c˘ a funct ¸ia ret ¸ea u(N)este definit˘ a pe un num˘ ar par de puncte
N= 2P. Din funct ¸ia ret ¸ea u(2P)construim dou˘ a noi funct ¸ii ret ¸ea v(P),w(P)
definite ˆ ın punctele de indice par, respectiv impar
v(P)
m=u(2P)
2m, w(P)
m=u(2P)
2m+1, m∈0,P−1 .
11O aplicat ¸ie tipic˘ a provine din domeniul previziunilor meteo pe termen scurt pe care se
bazeaz˘ a navigat ¸ia aerian˘ a ¸ si marin˘ a. Tipic, pentru o previziune pe 3 zile, se calculeaz˘ a ∼106
TFD-uri de lungime N= 214. Un calculator performant, de vitez˘ a 109operat ¸ii aritmetice pe
secund˘ a, n-ar reu¸ si calculul produselor matrice-vector decˆ at ˆ ın 74 ore – prea tˆ arziu ca s˘ a mai
fie de folos. Cu folosirea TFR timpul se reduce la circa 4 minute!
26 1.Aproximarea funct ¸iilor de o variabil ˘a
Suma ( 1.68) se poate scrie
U(2P)
k=2P−1/summationdisplay
j=0u(2P)
jωjk=P−1/summationdisplay
m=0/bracketleftBig
v(P)
mω2mk+w(P)
mω(2m+1)k/bracketrightBig
=
P−1/summationdisplay
m=0v(P)
mω2mk+ωkP−1/summationdisplay
m=0w(P)
mω2mk. (1.70)
ˆIns˘ aω2este r˘ ad˘ acina de ordinul N/2 =Pa unit˘ at ¸ii astfel ˆ ıncˆ at se observ˘ a
aparit ¸ia ˆ ın ( 1.70) a transformatelor
v(P)=⇒V(P), w(P)=⇒W(P),
relat ¸iile de leg˘ atur˘ a ˆ ıntre cele trei transformate fiind deosebit de simple
U(2P)
k=V(P)
k+ωkW(P)
k, U(2P)
k+P=V(P)
k−ωkW(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 direct˘ a a lui U(2P)ar fi costat O(4P2)
operat ¸ii aritmetice. Acum avem de evaluat dou˘ a transformate, V(P),W(P)ce
fiecare necesit˘ a O(P2) operat ¸ii pentru un total de O(2P2) operat ¸ii. Reducerea
la jum˘ atate a calculelor este benefic˘ a, ˆ ıns˘ a se poate cˆ a¸ stiga ¸ si mai mult dac˘ a N
este o putere a lui 2 , N= 2q.ˆIn acest caz separarea pe indici pari ¸ si impari
poate continua pˆ an˘ a cˆ and se ajunge la transformarea unui vector de lungime
1 ce nu necesit˘ a nici o operat ¸ie aritmetic˘ a deoarece se reduce la transformarea
de identitate, U(1)=u(1). Singurele operat ¸ii artimetice ce mai r˘ amˆ an sunt
ˆ ınmult ¸irile cu ωkdin (1.71). Calculul se poate vizualiza ca parcurgerea arborelui
cuq= log 2Nnivele din fig. 1.9. Pe fiecare nivel sunt necesare doar Noperat ¸ii
aritmetice astfel ˆ ıncˆ at obt ¸inem costul ment ¸ionat anterior de O(Nlog2N).
Separarea repetat˘ a ˆ ın indici pari ¸ si impari conduce la o alt˘ a ordonare a
componentelor vectorului u(N). Exemplific˘ am pentru N= 23= 8. Vectorul
u(N)are componente de indici de la 0 la 7. Procedeul de separare par-impar se
aplic˘ a de dou˘ a ori dup˘ a cum este ar˘ atat ˆ ın urm˘ atoarea schem˘ a
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 s˘ a le ˆ ıncepem asupra vectorului
permutat{u0,u4,u2,u6,u1,u5,u3,u7}. Permutarea se poate construiˆ ıns˘ a foarte
u¸ sor dac˘ a scriem indicii init ¸iali ¸ si finali ˆ ın binar
etapa 0: 000 20012010201121002101211021112
etapa 2: 000 21002010211020012101201121112.
Observat ¸i c˘ a inversarea ordinei de citire a indicilor din ultima etap˘ a corespunde
chiar la numerotarea natural˘ a 0 ,1,… , 7 anume: 000 2citit de la dreapta la
1.1.Aproximarea prin interpolare 27
Figura 1.9: Arborele de recurent ¸˘ a de la TFR.
stˆ anga este 000 2= 0, 100 2citit de la dreapta la stˆ anga este 001 2= 1,…,011 2
citit de la dreapta la stˆ anga este 110 2= 6, 111 2citit de la dreapta la stˆ anga
este 111 2= 7. Rezultatul este valabil pentru orice N= 2qiar permutarea final˘ a
a indicilor se zice ˆ ın ordine bit-inversat˘ a . Putem da acum algoritmul TFR
j= 1 :N−2/bracketleftbigg
k←invbit (j,q)
dac˘ ak>j permut ˘a(uj,uk)
rad←exp(semn·2πi/N );
ω0←1
j= 1 :N/2
ωj←rad·ωj−1
t←1;p←2;s←N/2/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglecˆ at timpp≤N
j= 0 :p:N−1
r←0
k= 0 :t−1
tmp←uj+k
uj+k←tmp+ωruj+k+t
uj+k+t←tmp−ωruj+k+t
r←r+s
t←2t;p←2p;s←s/2 .
Vectorul init ¸ial ueste ˆ ınlocuit de transformata sa discret˘ a – ca atare algoritmul
nu necesit˘ a memorie suplimentar˘ a. Variabila semn ia valoarea 1 pentru TFR
direct˘ a ¸ si−1 pentru TFR invers˘ a; ˆ ın acest ultim caz vectorul final mai trebuie
ˆ ımp˘ art ¸it la N. Funct ¸iainvbit (j,q) ˆ ıntoarce indicele ce se obt ¸ine prin inversarea
ordinei bit ¸ilor de la 0 la q−1 dinj. Operat ¸ia se poate exprima ˆ ıntr-un limbaj
de nivel ˆ ınalt prin ˆ ınmult ¸iri ¸ si ˆ ımp˘ art ¸iri cu 2, dar de regul˘ a este implementat˘ a
eficient la nivel de cod ma¸ sin˘ a. Verificarea condit ¸iei k > j are rolul de a nu
strica permut˘ arile deja efectuate ˆ ın cadrul buclei.
Algoritmul TFR poate fi folosit pentru calculul coeficient ¸ilor polinomului
trigonometric ( 1.57) precizat ¸i de relat ¸iile ( 1.58). O cale evident˘ a este s˘ a se scrie
ck≡ak+ibk=1
N2N−1/summationdisplay
j=0yjexp(2πijk/ 2N), k∈0,N
¸ si s˘ a se aplice TFR asupra vectorului yj, j∈0,2N−1 ce are 2Ncomponente.
ˆIns˘ a, dac˘ a vectorul {yj}este real, se poate obt ¸ine rezultatul cu doar jum˘ atate
28 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.10: O m˘ asur˘ atoare experimental˘ a a unei vibrat ¸ii compuse complexe.
din efortul de calcul printr-o separare ˆ ın componente pare ¸ si impare
zm=y2m+iy2m+1, m∈0,N−1 .
Introducem transformatele directe z=⇒Z, (y2m) =⇒P, (y2m+1) =⇒I. Avem
Zk=Pk+iIk, Nck=Pk+Ikexp(πik/N ) .
Se verific˘ a imediat c˘ a TFD, Fa unei funct ¸ii reale fsatisfaceFN−k=F∗
k, unde
F∗
keste conjugata complex˘ a a lui Fk. Ca atare
ZN−k=PN−k+iIN−k=P∗
k+iI∗
k⇒Z∗
N−k=Pk−iIk
¸ si putem deduce expresiile Pk= (Zk+Z∗
N−k)/2,Ik=−i(Zk−Z∗
N−k)/2 astfel
ˆ ıncˆ at
ck=12
N(Zk+Z∗
N−k)−i
2N(Zk−Z∗
N−k) exp(πik/N ), k∈0,N. (1.72)
Exist˘ a multe astfel de combinat ¸ii posibile ce furnizeaz˘ a moduri economice de a
calcula transformata Fourier a unui vector ce are propriet˘ at ¸i de simetrie supli-
mentare.
Exemplu . Prezent˘ am o aplicat ¸ie real˘ a tipic˘ a. Un senzor de vibrat ¸ii a m˘ asurat
deplas˘ arile unei componente mecanice rezultˆ and datele din fig. 1.10. Vibrat ¸iile de
frecvent ¸˘ a mai joas˘ a de 1 Hz nu prezentau interes astfel ˆ ıncˆ at fereastra de timp ˆ ın
care s-au m˘ asurat datele a fost de ∆ t= 1 sec. Se cere identificarea frecvent ¸elor de
amplitudine maxim˘ a astfel ˆ ıncˆ at s˘ a se poat˘ a identifica sursele de excitat ¸ie ce produc
vibrat ¸ia componentei.
Rezolvare . M˘ asur˘ atorile au fost efectuate cu patru rate de e¸ santionare N= 256 ,
512, 1024 rezultˆ and datele u(256),u(512),u(1024). Pentru identificarea frecvent ¸elor do-
minante se calculeaz˘ a spectrul de putere al semnalului definit de
Pu(f) = 2U(f)U(f),
undeu=⇒U. Spectrul se calculeaz˘ a prin aplicarea TFR asupra datelor din fig. 1.10.
Deoarece semnalul este real se aplic˘ a relat ¸ia ( 1.72), lungimea transformatelor fiind
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 fig. 1.11. Maximele locale sunt denumite picuri
¸ si corespund la vibrat ¸iile predominante. Se poate observa c˘ a la trecerea la o rat˘ a de
e¸ santionare 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 modific˘ a uneori. Alte picuri nu par afectate de cre¸ sterea ratei de e¸ santionare.
Comportarea rezult˘ a din fenomenul de mascare discutat ˆ ın 1.1.3. De exemplu,
picurileα,β sunt stabile la trecerea de la spectrul 2 la 3. Rezult˘ a c˘ a pentru aceste
frecevent ¸e mici criteriul Nyquist este statisf˘ acut ¸ si ˆ ın plus nu are loc mascharea unor
frecvent ¸e mai ˆ ınalte. Picul γdin spectrul 2, construit cu N= 512 dispare complet
ˆ ıns˘ a la trecerea la spectrul 3, construit cu N= 1024. ˆIn spectrul 2 picul γera
fals, ˆ ın sensul c˘ a nu reprezenta o vibrat ¸ie real˘ a cu frecvent ¸a fγ. De fapt, rata de
e¸ santionare folosit˘ a era prea mic˘ a astfel ˆ ıncˆ at se ˆ ınregistra contribut ¸ia unei frecvent ¸e
mai ˆ ınaltefδ/similarequal2fγ, frecvent ¸˘ a a c˘ arei contribut ¸ie devine discernabil˘ a atunci cˆ and se
dubleaz˘ a rata de e¸ santionare ˆ ın spectrul 3. ˆIntr-adev˘ ar pentru a discerne frecvent ¸a
fδ= 350 Hz criteriul Nyquist indic˘ a necesitatea a cel put ¸in 700 puncte, condit ¸ie
realizat˘ a doar de m˘ asurarea u(1024). Exemplul arat˘ a important ¸a studiilor de rezolut ¸ie
ˆ ın aplicat ¸ii de aproximare spectral˘ a, studii ˆ ın care se urm˘ are¸ ste stabilitatea spectrului
la modificarea ratelor de e¸ santionare. ˆIn aplicat ¸ii practice, fenomenul de mascare se
elimin˘ a prin folosirea unor filtre ‘trece-jos’ cu pret ¸ul pierderii port ¸iunii de frecvent ¸e
ˆ ınalte a spectrului.
30 1.Aproximarea funct ¸iilor 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 ar˘ atat c˘ a aproximarea prin interpolare, chiar
dac˘ a trece prin noduri, poate prezenta erori mari (chiar infinit de mari!) ˆ ıntre
noduri. De aici provine ideea de a ˆ ıncerca g˘ asirea unei aproxim˘ ari optimale pe
totintervalul [a,b], nu numai ˆ ın noduri. O exprimare matematic˘ a a acestei idei
este s˘ a se minimizeze eroarea maxim˘ a ˆ ıntre funct ¸ia f(x) ¸ si aproximanta g(x),
adic˘ a criteriul ( 1.3) pe care-l repet˘ am aici
max
x∈[a,b]|f(x)−g(x)|= minim . (1.73)
Astfel formulat˘ a problema este momentan incomplet definit˘ a deoarece nu am
precizat din ce mult ¸ime de funct ¸ii lu˘ am pe g(x).
1.2.1 Polinoamele Cebˆ a¸ sev
Vomˆ ıncepe prin a presupune iar˘ a¸ si c˘ a funct ¸ia aproximant˘ a 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,
adopt˘ am un interval canonic [ −1,1]. O transformare de scar˘ a x=z(b−a)/2 +
(b+a)/2,x∈[a,b],z∈[−1,1] poate aduce orice alt interval finit pe cel canonic.
De data aceasta nu vom scrie funct ¸ia aproximant˘ a g(x) ca o combinat ¸ie li-
niar˘ a de monoame. Examinˆ ınd comportarea monoamelor xkpe intervalul [−1,1]
se constat˘ a c˘ a toate iau valori absolute maxime la capetele intervalului; prin ur-
mare este de a¸ steptat ca erorile de aproximare s˘ a nu fie distribuite uniform pe
interval. Aceasta sugereaz˘ a c˘ autarea unor polinoame care s˘ a nu varieze mono-
ton pe [−1,1]. Intuitiv, variat ¸ia monoton˘ a face dificil˘ a descrierea unor variat ¸ii
rapide ale funct ¸iei fˆ ın interiorul intervalului [ −1,1]. Ceea ce ne trebuie este o
mult ¸ime de polinoame definite pe [ −1,1] care s˘ a poat˘ a descrie astfel de variat ¸ii
ˆ ıntr-un mod cˆ at mai economic, adic˘ a folosind un num˘ ar mic de polinoame.
Funct ¸iile trigonometrice considerate anterior prezentau part ¸ial o astfel de com-
portare: cos 2 πx¸ si sin 2πxdescriau variat ¸iile de perioad˘ a 1, cos 4 πx¸ si sin 4πx
descriau variat ¸iile de perioad˘ a 1 /2, ¸ s.a.m.d. Spunem part ¸ial deoarece nu a fost
ˆ ındeplinit˘ a ¸ si dorint ¸a de economicitate – avem dou˘ a funct ¸ii, sin ¸ si cos pentru
descrierea variat ¸iilor de o anumit˘ a perioad˘ a. Pe baza funct ¸iilor trigonometrice
putem ˆ ıns˘ a introduce o clas˘ a remarcabil˘ a de polinoame descoperite de Cebˆ a¸ sev
a c˘ aror propriet˘ at ¸i sunt deosebit de favorabile aproxim˘ arii optimale c˘ autate ˆ ın
aceast˘ a sect ¸iune.
Vom luaz∈[−1,1]. Introducem variabila θ∈[0,π] prin relat ¸iile
z= cosθ, θ= arccosz.
S˘ a consider˘ am acum funct ¸ia Tn(z) = cosnθ. Funct ¸ia are nr˘ ad˘ acini pe (−1,1)
Tn(z) = cosnθ= 0⇒θk= (2k−1)π/2n, k∈1,n,
1.2.Aproximarea mini-max 31
Figura 1.12: Primele 5 polinoame Cebˆ a¸ sev.
Tabelul 1.2: Polinoame Cebˆ a¸ sev
nTn(z) zn
01 T0
1zT 1
2−1 + 2z2(T0+T2)/23
−3z+ 4z3(3T1+T3)/44
1−8z2+ 8z4(3T0+ 4T2+T4)/85
5z−20z3+ 16z510T1+ 5T3+T5
zk= cosθk= cos[(2k−1)π/2n], k∈1,n.
Din identitatea trigonometric˘ a cos nθ+cos(n−2)θ= 2 cos(n−1)θcosθdeducem
o relat ¸ie de recurent ¸˘ a pentru Tn(z)
Tn(z) = 2zTn−1(z)−Tn−2(z) . (1.74)
DeoareceT0(z) = 1,T1(z) =ziarT2(z),T3(z),… rezult˘ a din ( 1.74) prin
operat ¸ii de adunare ¸ si ˆ ınmult ¸ire, putem observa c˘ a Tn(z) sunt polinoame de
graduln, denumite polinoame Cebˆ a¸ sev relative la intervalul compact [ −1,1].
Funct ¸ia cos nθse nume¸ ste funct ¸ia generatoare a acestor polinoame.
Graficele primelor cˆ ateva polinoame Cebˆ a¸ sev sunt prezentate ˆ ın fig. 1.12iar
expresiile lor ˆ ın tabelul 1.2ˆ ımpreun˘ a cu exprim˘ arile monoamelor znˆ ın funct ¸ie
deTk(z),k∈0,n. Se observ˘ a din fig. 1.12 c˘ a fiecare polinom Cebˆ a¸ sev de grad
mai ˆ ınalt poate descrie variat ¸ii mai rapide ale unei funct ¸ii pe intervalul [ −1,1].
Din formula de recurent ¸˘ a, se observ˘ a c˘ a ˆ ın Tn(z) coeficientul lui zneste
2n−1, astfel ˆ ıncˆ at polinomul ¯Tn(z)≡21−nTn(z) are coeficientul lui znegal
32 1.Aproximarea funct ¸iilor de o variabil ˘a
cu unitatea. Polinoamele cu un coeficient 1 al termenului de grad maxim se
numesc polinoame monice . Proprietatea esent ¸ial˘ a a polinoamelor Cebˆ a¸ sev ce le
face adecvate aproxim˘ arii mini-max este:
Teorem˘ a. Dintre toate polinoamele monice de grad nfixat, ¯Tn(z) are cea mai
mic˘ a margine ˆ ın valoare absolut˘ a pe intervalul [ −1,1].
Demonstrat ¸ie . Proced˘ am prin reducere la absurd. ˆIn acest scop s˘ a observ˘ am
mai ˆ ıntˆ ai c˘ a funct ¸ia/vextendsingle/vextendsingle¯Tn(z)/vextendsingle/vextendsingle= 21−n|cosnθ|ia den+ 1 ori valorea maxim˘ a 21−n
pe [−1,1], anume ˆ ın punctele distincte z/prime
k= cos(kπ/n ),k∈0,n. S˘ a consider˘ am
apoi un alt polinom monic de acela¸ si grad ¯ pn(z), ¸ si s˘ a presupunem prin absurd
c˘ a acesta ar avea o margine superioar˘ a mai mic˘ a ˆ ın modul decˆ ıt ¯Tn(z) pe [−1,1],
adic˘ a
sup
z∈[−1,1]|¯pn(z)|<sup
z∈[−1,1]/vextendsingle/vextendsingle¯Tn(z)/vextendsingle/vextendsingle= 21−n. (1.75)
ˆIn consecint ¸˘ a, chiar ˆ ın punctele z/prime
k
|¯pn(z/prime
k)|<21−n. (1.76)
Considerˆ ınd diferent ¸a dn−1(z) a polinoamelor ¯Tn(z) ¸ si ¯pn(z),dn−1(z)≡¯Tn(z)−
¯pn(z) vom obt ¸ine, evident, un polinom de gradul n−1. Din ( 1.76) rezult˘ a
(−1)k/bracketleftbig¯Tn(z/prime
k)−pn(z/prime
k)/bracketrightbig
= (−1)k+ndn−1(zk)>0, k∈n,0
adic˘ adn−1(z) arenschimb˘ ari de semn pe ( −1,1),deci polinomul de gradul
n−1,dn−1(z), ar aveanr˘ ad˘ acini, ceea ce este absurd. Rezult˘ a c˘ a presupunerea
(1.75) nu este adev˘ arat˘ a, deci oricare ar fi polinomul monic ¯ pn(z) avem
sup
z∈[−1,1]|¯pn(z)|≥21−n.2 (1.77)
ˆIn continuare se dau dou˘ a aplicat ¸ii importante ale polinoamelor mini-max.
1.2.2 Minimizarea erorii la interpolarea polinomial˘ a
Trecem la un prim exemplu concret de aplicare a criteriului mini-max, anume ˆ ın
formularea general˘ a ( 1.73) vom lua funct ¸ia aproximant˘ a un polinom de gradul
N−1
max
x∈[a,b]|f(x)−pN−1(x)|= minim.
Dorim s˘ a determin˘ am, dintre toate polinoamele de grad N−1, pe cel ce mini-
mizeaz˘ a abaterea maxim˘ a fat ¸˘ a de funct ¸ia f(x). Polinomul obt ¸inut va fi numit
polinom mini-max de gradN−1 al funct ¸iei f(x) pe intervalul [ a,b]. Este conve-
nabil s˘ a privim polinomul pN−1ca fiind definit de faptul c˘ a trece prin nodurile
{(xi,yi),i∈1,N}. Nodurile ˆ ıns˘ a, spre deosebire de problema anterioar˘ a de
1.2.Aproximarea mini-max 33
interpolare, sunt acuma necunoscute . Vom minimiza eroarea maxim˘ a printr-o
alegere adecvat˘ a a nodurilor. Eroarea este ˆ ın acest caz chiar restul interpol˘ arii
ce are forma ( 1.16)
RN−1(x) =N/productdisplay
i=1(x−xi)f(N)(ξ)/N! .
ˆIn general derivata f(N)(ξ) nu este cunoscut˘ a, astfel ˆ ıncˆ at se poate pune doar
problema minimiz˘ arii produsului. Acest este un polinom de gradul N. Utilizˆ and
schimbarea de variabil˘ a
x=z(b−a)/2 + (b+a)/2 (1.78)
trecem de la intervalul [ a,b] pe care dorim s˘ a minimiz˘ am eroarea la intervalul
[−1,1]. Se obt ¸ine, considerˆ and ¸ si ( 1.77)
/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingleN/productdisplay
i=1(x−xi)/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle=/parenleftbiggb−a
2/parenrightbiggN/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingleN/productdisplay
i=1(z−zi)/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle≥/parenleftbiggb−a
2/parenrightbiggN
21−N.
Rezult˘ a c˘ a optimul, corespunzˆ and egalit˘ at ¸ii, se realizeaz˘ a dac˘ a punctele zisunt
r˘ ad˘ acinile polinomului Cebˆ a¸ sev de gradul n. Vom aranja indicii astfel ˆ ıncˆ at
r˘ ad˘ acinile s˘ a apar˘ a ˆ ın ordine cresc˘ atoare
zN−i+1= cos[(2i−1)π/2N], i∈1,N. (1.79)
ˆIn aceste condit ¸ii se obt ¸ine cea mai mic˘ a margine superioar˘ a pentru restul
la interpolare
|RN−1(x)|≤21−2N(b−a)Nmax
ξ∈[a,b]/vextendsingle/vextendsingle/vextendsinglef(N)(ξ)/vextendsingle/vextendsingle/vextendsingle/N! .
Marginea depinde de m˘ arimea intervalului ( a,b), de num˘ arul 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 minimizeaz˘ a eroarea maxim˘ a
max|f(x)−pN−1(x)|cux∈[−1,1] este cel construit cu abscisele nodurilor
date de r˘ ad˘ acinile polinomului Cebˆ a¸ sev de grad N.
Exemplu . Am v˘ azut c˘ a interpolarea funct ¸iei lui Runge f(x) = 1/(1 +x2) pe
[−5,5] cu o repartit ¸ie echidistant˘ a a nodurilor nu converge. Vom determina acum un
alt polinom ce aproximeaz˘ a pe f(x) dar la care nodurile nu mai sunt luate echidistant,
ci sunt determinate de criteriul mini-max, anume vom lua xk= 5zk, k∈1,N, cuzk
determinate de ( 1.79). Ca ˆ ın exemplele precedente calitatea aproxim˘ arii este apreciat˘ a
prin evaluarea erorii relative /epsilon1=/summationtext500
i=1|f(ui)−pN−1(ui)|/|f(ui)|pe o diviziune mai
fin˘ a a intervalului [ −5,5]. Variat ¸ia erorii /epsilon1cuNeste
N 5 10 15 20 25 30 35 40 45 50
lg/epsilon1−0.4−0.8−1.2−1.6−2.1−2.4−3.0−3.3−3.8−4.2
obervˆ andu-se c˘ a aproximarea converge. Observ˘ am acum clar important ¸a alegerii no-
durilor pe care se bazeaz˘ a o interpolare. Aproximarea prezent˘ a este tot o interpolare,
bazat˘ a ˆ ıns˘ a pe alte noduri decˆ at cele echidistante considerate anterior. Comportarea
aproxim˘ arii este redat˘ a ˆ ın fig. 1.13. Se observ˘ a c˘ a, pentru Nmic, apar oscilat ¸ii ˆ ıntre
noduri dar, spre deosebire de cazul redat ˆ ın fig. 1.1, acestea nu mai cresc la infinit.
34 1.Aproximarea funct ¸iilor 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)−pN(x)|≤e. (1.80)
Criteriul ( 1.80) este mai larg decˆ at cel anterior ( 1.73) deoarece nu mai impunem
determinarea polinomului aproximant pN(x) astfel ˆ ıncˆ at s˘ a realiz˘ am un minim
al erorii, ci doar ca eroarea s˘ a devin˘ a mai mic˘ a decˆ at un prag dat e. De data
aceasta gradul polinomului nu se mai consider˘ a fixat, ci c˘ aut˘ am polinomul de
gradul cel mai mic ce satisface condit ¸ia ( 1.80). Asemenea probleme apar tipic ˆ ın
situat ¸ii ˆ ın care dorim o aproximare cˆ at mai economic˘ a ˆ ın operat ¸ii aritmetice12.
Vom lua [−1,1] pentru intervalul din ( 1.80) ¸ si vom presupune c˘ a funct ¸ia f(x)
are o dezvoltare ˆ ın serie de puteri
f(x) =M/summationdisplay
k=0bkxk, (1.81)
unde eventual putem avea M→∞.Puterilexkse pot exprima ˆ ın funct ¸ie de
polinoamele Cebˆ a¸ sev (vezi tabel 1.2) astfel ˆ ıncˆ at fse poate scrie
f(x) =M/summationdisplay
k=0akTk(x) . (1.82)
Am v˘ azut c˘ a polinoamele Cebˆ a¸ sev sunt mai eficiente ˆ ın descrierea variat ¸iilor
unei funct ¸ii pe [−1,1] decˆ at monoamele xk. Este a¸ sadar de a¸ steptat ca ¸ sirul
12Procedeul ce urmeaz˘ a mai este cunoscut sub denumirea de economizare de serii .
1.2.Aproximarea mini-max 35
{ak}de coeficient ¸i s˘ a scad˘ a mai repede ˆ ın modul decˆ at ¸ sirul {bk}. Dorim s˘ a
p˘ astr˘ am un num˘ ar de termeni cˆ at mai mic posibil ˆ ın dezvoltarea ( 1.82) pentru
a reduce num˘ arul de operat ¸ii aritmetice. Ca atare, trunchiem dezvoltarea la
k=N, aproximarea fiind
pN(x) =N/summationdisplay
k=0akTk(x).
Deoarece|Tk(x)|≤1, vom putea trunchia seria ( 1.82) la cel mai mic Npentru
care avem
|f(x)−pN(x)|=M/summationdisplay
k=N+1|ak|<e.
PolinomulpN(x) obt ¸inut poate fi diferit de polinomul mini-max de grad N
al funct ¸ieif(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 ˆ ıns˘ a c˘ a ˆ ın procedeul
din1.2.2 gradul polinomului se considera cunoscut. De asemenea, cu toate c˘ a
se ¸ stie c˘ a polinomul mini-max realizeaz˘ a o eroare minim˘ a, nu este cunoscut˘ a
valoarea efectiv˘ a a acestei erori. Urmˆ and algoritmul din aceast˘ a sect ¸iune, avem
certitudinea ˆ ındeplinirii unei condit ¸ii de eroare impus˘ a.
Exemplu .ˆIntr-un calculator de navigat ¸ie aerian˘ a, este nevoie de un algoritm de
aproximare a funct ¸iei cos x. Abaterea maxim˘ a admis˘ a este e≤10−5pe intervalul
[−π/2,π/2]. Calculatorul lucreaz˘ a ˆ ın timp real. Ca atare este esent ¸ial ca algoritmul
s˘ a fie cˆ at mai economic posibil. Pentru a rezolva problema se trece la intervalul [ −1,1],
cu schimbarea de variabil˘ a x=πz/2. Funct ¸ia cos( πz/2) are dezvoltarea ˆ ın serie
cosπ
2z= 1−12!
/parenleftBigπ
2/parenrightBig2
z2+14!
/parenleftBigπ
2/parenrightBig4
z4+…+ (−1)n1(2
n)!/parenleftBigπ
2/parenrightBig2n
z2n+R2n+1.
Restul dezvolt˘ arii poate fi m˘ arginit dup˘ a cum urmeaz˘ a
|R2n+1|=/vextendsingle/vextendsingle/vextendsinglecos(2n+1)ξ/vextendsingle/vextendsingle/vextendsingle
(2n+ 1)!/parenleftBigπ
2/parenrightBig2n
|z|2n+1≤1(2
n+ 1)!/parenleftBigπ
2/parenrightBig2n
.
Restul devine mai mic decˆ at eroarea impus˘ a pentru n= 5. Deci suma Taylor
S10(z) = 1−12!
/parenleftBigπ
2/parenrightBig2
z2+14!
/parenleftBigπ
2/parenrightBig4
z4−16!
/parenleftBigπ
2/parenrightBig6
z6+18!
/parenleftBigπ
2/parenrightBig8
z8−110!
/parenleftBigπ
2/parenrightBig10
z10
realizeaz˘ a condit ¸ia de eroare impus˘ a ¸ si avem M= 10 ˆ ın ( 1.81).ˆInlocuim monoamele
zkdinS10(z) prin expresiile lor ˆ ın funct ¸ie de polinoamele Cebˆ a¸ sev folosind relat ¸iile
din tabelul 1.2. Se obt ¸in urm˘ atoarele valori ale coeficient ¸ilor akdin ( 1.82)
a0a2a4 a6 a8 a10
0.472−0.499 2.79·10−2−5.96·10−46.69·10−6−4.92·10−8
Coeficient ¸ii de indici impari sunt nuli. Avem |a8|+|a10|<e= 10−5astfel ˆ ıncˆ at putem
s˘ a trunchiem la N= 6 ¸ si obt ¸inem aproximarea
p6(x) = 0.999993−0.499912×2+ 0.0414876×4−1.27122·10−3×6
36 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.14: Variat ¸ia erorii e(z) = cosz−p6(z).
ce realizeaz˘ a eroarea impus˘ a dar cu 40% mai put ¸ine operat ¸ii aritmetice decˆ at S10.
Graficul erorii cos x−p6(x) prezentat ˆ ın figura ( 1.14) confirm˘ a atingerea preciziei
impuse.
1.3 Aproximareaˆ ın sensul celor mai mici p˘ atrate
Reamintim c˘ a, ˆ ın acest caz, criteriul de aproximare ˆ ıl reprezint˘ a minimizarea
sumei ( 1.5)
S=N/summationdisplay
k=1[yk−g(xk)]2= minim, (1.83)
valorile (xk,yk) fiind date. Este convenabil ca aproximanta g(x) s˘ a se pun˘ a sub
forma ( 1.6)
g(x) =n/summationdisplay
j=1ajgj(x), (1.84)
gj(x) fiind funct ¸ii cunoscute, liniar independente, iar aj,j= 1,2,… ,n parame-
tri nedeterminat ¸i. Ca ¸ si ˆ ın 1.2, criteriul ( 1.83) pune o problem˘ a de minimizare
a erorii. Vom vedea cum cˆ ateva not ¸iuni mai avansate, considerate ˆ ın 1.4, ne
vor conduce la concluzia c˘ a atˆ at criteriul mini-max cˆ at ¸ si cel al celor mai mici
p˘ atrate sunt doar formul˘ ari diferite ale unui acela¸ si criteriu de aproximare op-
timal˘ a. Deocamdat˘ a vom considera ˆ ıns˘ a doar aspectele simple ale teoriei.
Aproximarea ˆ ın sensul celor mai mici p˘ atrate este utilizat˘ a mai ales ˆ ın cazul
prelucr˘ arii datelor experimentale. ˆIn acest caz, nu se recomand˘ a folosirea inter-
pol˘ arii deoarece valorile m˘ asurate cont ¸in erori inerente, repartizate probabilistic
1.3.Aproximarea ˆ ın sensul celor mai mici p˘ atrate 37
avˆ and caracterul unor perturbat ¸ii care trebuie, dimpotriv˘ a, eliminate13. Este
deci evident c˘ a num˘ arul de parametri ntrebuie s˘ a fie mai mic decˆ at num˘ arul
de noduriN, n<N .
Criteriul ( 1.83), ca ¸ si 1.73, minimizeaz˘ a o eroare. ˆIn acest caz ˆ ıns˘ a eroarea
este scris˘ a ca o sum˘ a de p˘ atrate. Consecint ¸a esent ¸ial˘ a a acestei alegeri este
c˘ aS(a1,… ,an) este derivabil˘ a, fapt ce poate fi exploatat pentru a determina
coeficient ¸ii ai. Pentru ca S(a1,… ,an) s˘ a aibe un extrem trebuie ca derivatele
part ¸iale ˆ ın raport cu ais˘ a se anuleze
∂S/∂ai= 0, i∈1,n. (1.85)
Observat ¸i introducerea unui indice idiferit de cel de ˆ ınsumare jdin ( 1.84).
Relat ¸iile ( 1.85) reprezint˘ a un sistem de necuat ¸ii cunnecunoscute. Deoarece
Seste o sum˘ a de p˘ atrate extremul dat de condit ¸iile ( 1.86) exist˘ a ¸ si reprezint˘ a
chiar un minim. Folosind expresiile ( 1.83) ¸ si aranjˆ and termenii se obt ¸ine
n/summationdisplay
j=1aj/parenleftBiggN/summationdisplay
k=1gi(xk)gj(xk)/parenrightBigg
=N/summationdisplay
k=1ykgi(xk), i∈1,n, (1.86)
adic˘ a un sistem de necuat ¸ii pentru cei nparametrii aj, j∈1,n.
Forma sumei Sse poate generaliza ˆ ıntrucˆ atva introducˆ and o funct ¸ie pondere
w(x), pozitiv˘ a, continu˘ a, cu valori ˆ ın intervalul [0 ,1], care s˘ a ia ˆ ın considerare
unele distinct ¸ii privind important ¸a valorilor luate ˆ ın noduri. Se va scrie atunci
S=N/summationdisplay
k=1w(xk)[yk−g(xk)]2= minim, (1.87)
iar sistemul ( 1.86) se va ˆ ınlocui cu
n/summationdisplay
j=1aj/parenleftBiggN/summationdisplay
k=1w(xk)gi(xk)gj(xk)/parenrightBigg
=N/summationdisplay
k=1ykw(xk)gi(xk), 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 important˘ a este legat˘ a de
faptul c˘ a aceste sisteme pot ridica probleme legate de introducerea unor erori
mari ˆ ın calculul numeric, mai ales cˆ and diviziunile sunt egale14. Funct ¸iilegj(x)
se pot alege din baza canonic˘ a
gj(x) =xj−1, j∈1,n, (1.89)
sau baze formate din diverse polinoame ortogonale pe mult ¸imea discret˘ a de
punctexk,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
13Un exemplu ar fi eliminarea zgomotului de fond de la aparatura radio.
14ˆIn limbajul din capitolul 5, matricea sistemului ( 1.86) sau ( 1.88) este r˘ au condit ¸ionat˘ a ,
iar rezolvarea cere tehnici speciale cum ar fi descompunerea ˆ ın valori singulare.
38 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.15: Abaterile geometrice e(ˆ ın microni) ˆ ınregistrate la prelucrarea mecanic˘ a
a 1000 de piese.
(1.88). Deseori, din informat ¸ii suplimentare, cunoa¸ stem forma cea mai adecvat˘ a
a funct ¸iilor gj(x). Un exemplu este prezentat la sfˆ ar¸ situl sect ¸iunii. Folosirea
unei combinat ¸ii liniare ( 1.84) pentru funct ¸ia aproximant˘ a g(x) este convenabil˘ a
deoarece conduce la un sistem liniar de ecuat ¸ii pentru coeficient ¸ii ai. Se pot
adopta ˆ ıns˘ a ¸ si alte forme, cu complicat ¸ia posibilei aparit ¸ii a unui sistem neliniar
de ecuat ¸ii, mult mai dificil de rezolvat. ˆIncheiem cu observat ¸ia c˘ a nu s-a precizat
ˆ ınc˘ a ce grad al polinomului ar conduce la cea mai mic˘ a eroare, adic˘ a la cea mai
mic˘ a 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 mecanic˘ a se ˆ ınregistreaz˘ a aba-
terile din fig. 1.15 de la cotele nominale. Sunt reprezentate ¸ si marginile ce determin˘ a
rebuturi. Se puneˆ ıntrebarea dac˘ a are loc vreo cre¸ stere sistematic˘ a a abaterilor datorit˘ a
uzurii utilajului.
Rezolvare . Construim o aproximare liniar˘ a prin cele mai mici p˘ atrate. Procedeul
este denumit regresie liniar˘ a . Expresia pentru abaterile efunct ¸ie de num˘ arul de piese
prelucratepeste
e=ap+b
iar coeficient ¸ii a,brezult˘ a din rezolvarea sistemului
/parenleftBig/summationtextN
k=1p2
k/parenrightBig
a+/parenleftBig/summationtextN
k=1pk/parenrightBig
b=/parenleftBig/summationtextN
k=1ekpk/parenrightBig
/parenleftBig/summationtextN
k=1pk/parenrightBig
a+Nb =/parenleftBig/summationtextN
k=1ek/parenrightBig
Se obt ¸inea= 1.11·10−2µ/pies˘ a ¸ sib=−4.78µceea ce indic˘ a o cre¸ stere cu ∼1µa
abaterii la fiecare 100 de piese prelucrate, cre¸ stere datorat˘ a probabil uzurii utilajului.
De asemenea din faptul c˘ a reglajul init ¸ial a fost efectuat astfel ˆ ıncˆ at s˘ a se produc˘ a o
abatere negativ˘ a de circa 5 µse poate deduce c˘ a aparit ¸ia uzurii era prev˘ azut˘ a.
1.3.Aproximarea ˆ ın sensul celor mai mici p˘ atrate 39
Exemplul 2 . O serie de m˘ asur˘ atori chimice au furnizat ratele de react ¸ie din tabelul
de mai jos. Din teoria react ¸iilor chimice se cunoa¸ ste dependent ¸a ratei de react ¸ie de
temperatur˘ a
k=cTηexp(−K/RT).
Se cere estimarea parametrilor c,η,K pe baza m˘ asur˘ atorilor efectuate. Constanta
gazelorR=8314 J/mol/K este cunoscut˘ a.
TkTkTk
Kmol/cm 3Kmol/cm 3Kmol/cm 3
20008.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 neliniar˘ a. Putem ˆ ıns˘ a logaritma relat ¸ia de
mai sus
lnk= lnc+ηlnT−K/RT
¸ si reobt ¸inem o dependent ¸˘ a liniar˘ a de parametrii c,η,K . Se construie¸ ste suma
S=N/summationdisplay
j=1(lnc+ηlnTj−K/RTj−lnkj)2.
Condit ¸iile de extrem ∂S/∂ (lnc) = 0,∂S/∂η = 0,∂S/∂K = 0 conduc la sistemul
Nlnc+/parenleftBig/summationtextN
j=1lnTj/parenrightBig
η−/parenleftBig/summationtextN
j=11/Tj/parenrightBig
K/R =/parenleftBig/summationtextN
j=1lnkj/parenrightBig
/parenleftBig/summationtextN
j=1lnTj/parenrightBig
lnc+/parenleftBig/summationtextN
j=1ln2Tj/parenrightBig
η−/parenleftBig/summationtextN
j=1lnTj/Tj/parenrightBig
K/R=/parenleftBig/summationtextN
j=1lnkjlnTj/parenrightBig
/parenleftBig/summationtextN
j=11/Tj/parenrightBig
lnc+/parenleftBig/summationtextN
j=1lnTj/Tj/parenrightBig
η−/parenleftBig/summationtextN
j=11/T2
j/parenrightBig
K/R =/parenleftBig/summationtextN
j=1lnkj/Tj/parenrightBig
a c˘ arui solut ¸ie este ln c= 44.97,c= 3.39·1019mol/K2/cm3/s,η=−2,K= 46000
J/mol .
Exemplul 3 . S˘ a presupunem date m˘ asur˘ atori fizice ale energiei de vibrat ¸ie ale
unei molecule de O 2.Se cunoa¸ ste dependent ¸a energiei de temperatur˘ a
e=hv/kT
exp(hv/kT )−1RT
Se cereν, frecvent ¸a fotonilor emi¸ si la saltul ˆ ıntre dou˘ a nivele energetice.
Rezolvare .ˆIn acest caz nu avem nici o posibilitate de a liniariza problema. Not˘ am
x=hv/k .Suma patratelor este
S=N/summationdisplay
j=1/bracketleftbiggx/Tj
exp(x/Tj)−1RTj−ej/bracketrightbigg2
,
40 1.Aproximarea funct ¸iilor de o variabil ˘a
Tabelul 1.3: Coeficient ¸ii polinomului aproximant din exemplul 4.
a1a2a3a4a5a6a7
Simpl˘ a-526.0 4769 4059 1242 -1683 11.79 0.7434 Dubl˘
a40.00 10.00 5.000 3.000 2.000 1.000 1.000
iar din∂S/∂v = 0 se obt ¸ine o ecuat ¸ie neliniar˘ a de forma f(x) = 0,sau explicit
N/summationdisplay
j=1/braceleftbigg/bracketleftbiggx/Tj
exp(x/Tj)−1RTj−ej/bracketrightbigg[exp(x/Tj)−1]−x/Tjexp(x/Tj)[exp(
x/Tj)−1]2/bracerightbigg
= 0
Determinarea solut ¸iei se poate efectua prin metodele din capitolul 4.
Exemplul 4 . (Dorn) D˘ am un exemplu al erorilor mari ce pot ap˘ area atunci cˆ and
nu lucr˘ am cu funct ¸ii ortogonale. Gener˘ am un set de noduri {xk,yk,k∈1,15}unde
lu˘ amxk=k−1,yk=f(xk) cuf(x) = 40 + 10 x+ 5×2+ 3×3+ 2×4+x5+x6. Vom
ˆ ıncerca reobt ¸inerea coeficient ¸ilor polinomului fprin metoda celor mai mici p˘ atrate
folosind alegerea ( 1.89),gj=xj−1, j∈1,7. Coeficient ¸ii obt ¸inut ¸i ˆ ın urma rezolv˘ arii
sistemului liniar15ˆ ın simpl˘ a (32 bit ¸i) ¸ si dubl˘ a precizie (64 bit ¸i) sunt prezentat ¸i ˆ ın tabel
1.3. Acumularea rezultatelor part ¸iale s-a f˘ acut ˆ ın precizie extins˘ a (80 bit ¸i) ˆ ın ambele
cazuri. Se poate observa c˘ a obt ¸inem abateri mari de la valorile exacte ale coeficient ¸ilor
ˆ ın simpl˘ a precizie. M˘ arirea preciziei furnizeaz˘ a rezultatul exact, astfel ˆ ıncˆ at suntem
asigurat ¸i c˘ a modul de calcul este corect ¸ si abaterile din calculul ˆ ın simpla precizie t ¸in
de ˆ ıns˘ a¸ si natura problemei. Exemplul este reluat la sfˆ ar¸ situl sect ¸iunii 1.4cu folosirea
unor funct ¸ii ortogonale pentru gjpentru a vedea efectul benefic al acestora.
S˘ a presupunem acum c˘ a nu am cunoa¸ ste gradul polinomului ce ar conduce la o
cea mai mic˘ a eroare. Rezolvˆ and problema pentru diverse valori ale lui nse obt ¸in
urm˘ atoarele 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 observ˘ a c˘ a cea mai mic˘ a valoare a sumei se obt ¸ine aproape de gradul polinomului
f,n= 8.
1.4 Elemente de teoria aproxim˘ arii
Din cele prezentate pˆ an˘ a acum, s-ar p˘ area c˘ a problemele de aproximare pre-
zint˘ a multe aspecte ad hoc , l˘ asate la alegerea celui care abordeaz˘ a o problem˘ a
concret˘ a sau alta. Pentru a putea vedea modul natural ˆ ın care apar criteriile de
aproximare discutate pˆ an˘ a acum avem nevoie de un cadru teoretic mai general.
Efortul depusˆ ın asimilarea acestuia este pe deplin r˘ aspl˘ atitˆ ın aprecierea unit˘ at ¸ii
problemelor de aproximare deja parcurse. ˆIn plus, deoarece aproximarea st˘ a la
baza multor altor algoritmi, cadrul teoretic va avea aplicat ¸ii directe ¸ si ˆ ın alte
15Prin eliminare Gauss cu pivotare complet˘ a – vezi capitolul 5.
1.4.Elemente de teoria aproxim˘ arii 41
procedee numerice. Vom prefera o prezentare mai degrab˘ a intuitiv˘ a decˆ at rigu-
roas˘ a a not ¸iunilor de analiz˘ a funct ¸ional˘ a utile teoriei aproxim˘ arii. De asemenea,
vom ˆ ıncerca formularea unei analogii geometrice utile asimil˘ arii acestor not ¸iuni.
1.4.1 Spat ¸ii vectoriale
Astfel, forma ( 1.6) a funct ¸iei de aproximare g(x) a fost aleas˘ a astfel ˆ ıncˆ at de-
terminarea coeficient ¸ilor ak,k∈1,Ns˘ a conduc˘ a la sisteme de ecuat ¸ii liniare.
S-a remarcat apoi c˘ a nici setul de funct ¸ii gk(x) nu poate fi complet arbitrar,
ajungˆ andu-se la sugerarea propriet˘ at ¸ii de independent ¸˘ a liniar˘ a. De fapt, am
ales elemente dintr-o structur˘ a bine cunoscut˘ a din algebr˘ a, aceea de spat ¸iu vec-
torial sauspat ¸iu liniar . Not˘ am un spat ¸iu vectorial oarecare prin V. Elemen-
tele spat ¸iului se numesc vectori . Denumirea sugereaz˘ a originea geometric˘ a a
not ¸iunilor, ˆ ıns˘ a vom putea interpreta ca “vectori” ¸ si funct ¸iile gk(x) sau funct ¸ia
g(x).ˆIn definit ¸ia acestei structuri algebrice intr˘ a operat ¸ii de adunare ˆ ıntre vec-
tori ¸ si de ˆ ınmult ¸ire a vectorilor cu numere reale sau complexe, denumite scalari,
cum ar fi parametrii ak. Mult ¸imea din care se iau scalarii o not˘ am cu S. De
regul˘ a avem scalari din mult ¸imea numerelor reale, S=R, sau din mult ¸imea
numerelor complexe, S=C. F˘ ar˘ a a repeta toate propriet˘ at ¸ile din definit ¸ia
unui spat ¸iu vectorial, vom ret ¸ine c˘ a prin ˆ ınmult ¸irea unui scalar cu un vector,
rezultatul este un vector, iar la adunarea vectorilor se obt ¸in tot vectori.
Vectorii nenuli uk,k=1,Nse numesc liniar dependent ¸i dac˘ a unul dintre ei
se poate exprima ca o combinat ¸ie liniar˘ a a celorlalt ¸i, adic˘ a s˘ a existe scalarii ak,
nu tot ¸i nuli , astfel ˆ ıncˆ at s˘ a aibe loc egalitatea
N/summationdisplay
k=1akuk= 0 . (1.91)
Dac˘ aaMeste unul din coeficient ¸ii nenuli, vectorul uMse poate exprima ca o
combinat ¸ie liniar˘ a a celorlalt ¸i
uM=−1
aM/parenleftBiggM−1/summationdisplay
k=1akuk+N/summationdisplay
k=M+1akuk/parenrightBigg
. (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 semnificat ¸ia lui 0. Dac˘ a
vectoriiuknu pot fi pu¸ si ˆ ın relat ¸ii de forma ( 1.91) decˆ at atunci cˆ and scalarii
aksunt tot ¸i nuli, vectorii se vor numi liniar independent ¸i . Num˘ arul maxim
de vectori liniar independent ¸i dintr-un spat ¸iu vectorial se nume¸ ste dimensiunea
spat ¸iului . Aceast˘ a dimensiune poate fi finit˘ a sau infinit˘ a.
O dat˘ a stabilit cˆ at de mare este un spat ¸iu vectorial V, ne punem problema
cum putem s˘ a descriem eficient un element oarecare u∈V. Instrumentul adec-
vat este not ¸iunea de baz˘ a a unui spat ¸iu vectorial ce este orice mult ¸ime de vectori
liniar independent ¸i ˆ ın num˘ ar egal cu dimensiunea spat ¸iului V.Orice alt element
al spat ¸iului poate fi exprimat ca o combinat ¸ie liniar˘ a a elementelor din baz˘ a.
42 1.Aproximarea funct ¸iilor de o variabil ˘a
ˆIntr-adev˘ ar, dac˘ a {uk,k∈1,N}este o baz˘ a a unui spat ¸iu vectorial de di-
mensiuneN, orice alt vector uN+1formeaz˘ a cu{uk}un set de vectori liniari
dependent ¸i – altfel am avea N+ 1 vectori liniari independent ¸i ¸ si dimensiunea
spat ¸iului ar fi N+ 1 ˆ ın loc de N. Vectorul uN+1se poate exprima sub forma
(1.92), ca o combinat ¸ie liniar˘ a de vectorii din baz˘ a16. Imediat ce baza este
stabilit˘ a un element oarecare din Vpoate fi descris doar prin cei Nscalari
(a1,a2,… ,aN).
D˘ am cˆ ateva exemple utile de spat ¸ii vectoriale.
1.Spat ¸iul euclidian de dimensiune 3. Avem 3 vectori {/vectori,/vectorj,/vectork}ce sunt liniar
independent ¸i iar orice alt vector se poate exprima ca o combinat ¸ie liniar˘ a
a acestora, de exemplu /vectorV=/vectori+/vectorj+/vectork/2, sau pe scurt /vectorV≡(1,1,1/2).
2.Polinoamele pN−1(x) de grad cel mult egal cu N−1 formeaz˘ a un spat ¸iu
vectorial de dimensiune N, pe care-l vom nota Π N−1.ˆIntr-adev˘ ar mo-
noamelexk−1,k∈1,Nsunt liniar independente. Un alt element al
spat ¸iului vectorial, de exemplu p2(x) = 1 +x+x2/2, se poate exprima
ca o combinat ¸ie liniar˘ a de monoame. Notat ¸ia prin coeficient ¸ii scalari este
p2≡(1,1,1/2).
3.Mult ¸imeaC(∞)(−∞,∞) a funct ¸iilor infinit derivabile pe axa real˘ a for-
meaz˘ a un spat ¸iu de dimensiune infinit˘ a. ˆIntr-adev˘ ar monoamele xk,k∈N
sunt liniar independente, iar kpoate lua valori oricˆ at de mari. Orice
funct ¸ie infinit derivabil˘ a se poate scrie ca o combinat ¸ie liniar˘ a de mo-
noame conform teoremei de dezvoltare ˆ ın serie Taylor. De exemplu ex=
1 +x+x2/2 +x3/6 +…a c˘ arei notat ¸ie prin coeficient ¸i este ex≡
(1,1,1/2,1/6,…).
4.Mult ¸imeaC(0)[0,1] a funct ¸iilor continue pe intervalul [0 ,1]. Sunt liniar
independente funct ¸iile sin 2 kπx, cos 2kπx,k∈Z. Conform teoremei de
dezvoltare ˆ ın serie Fourier, orice funct ¸ie continu˘ a se poate scrie ca o
combinat ¸ie liniar˘ a de sin ¸ si cos,ˆ ın particular f(x) = (2 cosπx+sinπx) cosπx=
1 + cos 2πx+12
sin 2πx, sau notˆ and doar coeficient ¸ii f≡(1,1,1/2).
Observat ¸i cum ˆ ın toate exemplele de mai sus a ap˘ arut aceea¸ si notat ¸ie prin
coeficient ¸i (1 ,1,1/2) pentru elemente foarte diferiteˆ ıntre 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 s˘ a fim
one¸ sti asupra modului ˆ ın care se ajunge la o demonstrat ¸ie – calea se bazeaz˘ a de
cele mai multe ori pe o intuit ¸ie ce este doar apoi verificat˘ a riguros.
1.4.2 Produsul scalar ¸ si ortogonalitate
S˘ a folosim analogia pentru a introduce o clasificare a bazelor. ˆIncepem cu
considerarea spat ¸iului vectorial plan familiar. ˆIn fig. 1.16 sunt prezentate dou˘ a
16Mai trebuie demonstrat c˘ a avem aN+1/negationslash= 0 astfel ˆ ıncˆ at s˘ a putem scrie uN+1=
−a−1
N+1/summationtextN
k=1akuk. Dac˘ a prin absurd aN+1= 0, am avea/summationtextN
k=1akuk= 0 cu unul din-
tre coeficient ¸ii ak,k∈1,Nnenul astfel ˆ ıncˆ at {uk}nu ar fi o baz˘ a ˆ ın contradict ¸ie cu ipoteza.
1.4.Elemente de teoria aproxim˘ arii 43
Figura 1.16: O baza neortogonal˘ a ¸ si una ortonormat˘ a.
baze. Ne punem problema descrierii schimb˘ arii pozit ¸iei unui element din Aˆ ın
B, traiectoria fiind paralel˘ a cu primul vector din baz˘ a. ˆIn baza (a) descrierea
este complicat˘ a: se modific˘ a ambele coordonate ¸ si ˆ ın plus unit˘ at ¸ile de m˘ asur˘ a
sunt diferite pe cele dou˘ a direct ¸ii. ˆIn baza (b) deplasarea se descrie simplu. Din
geometrie, ¸ stim c˘ a simplitatea provine din faptul c˘ a baza ( b) este ortonormat˘ a.
Am dori ca ¸ si ˆ ın cazul spat ¸iilor vectoriale abstracte s˘ a avem posibilitatea folosirii
unor baze ˆ ın care deplas˘ arile s˘ a poat˘ a fi descrise simplu. Pentru aceasta trebuie
s˘ a generaliz˘ am not ¸iunea geometric˘ a de ortogonalitate prin introducerea unei
funct ¸ii care s˘ a ne arate cˆ at de aproape de a fi ortogonali se afl˘ a doi vectori.
Funct ¸ia c˘ autat˘ a este denumit˘ a produs scalar . Vom nota produsul scalar a doi
vectoriu,vprin (u,v). Definit ¸ia formal˘ a a produsului scalar este precizat˘ a de
propriet˘ at ¸ile urm˘ atoare, unde u,v,w∈V,a,b∈S:
1.(◦,◦) :V×V→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 defini: u,v/negationslash= 0 sunt
ortogonali dac˘ a (u,v) = 0. O baz˘ a de vectori {uk,k∈1,N}este ortogonal˘ a
dac˘ a∀j/negationslash=k,j,k∈1,N(uj,uk) = 0 ¸ si ortonormat˘ a dac˘ a este ortogonal˘ a
¸ si ˆ ın plus∀k,k∈1,N(uk,uk) = 1. Ortogonalitatea unor vectori implic˘ a
¸ si independent ¸a liniar˘ a. Prin reducere la absurd, dac˘ a vectorii nenuli {uk,k∈
1,N}ar fi ortogonali doi cˆ ate doi, dar liniar dependent ¸i atunciˆ ın/summationtextN
k=1akuk= 0
am avea un coeficient nenul, fie aMacesta. Efectuˆ and produsul scalar al sumei
cuuMrezult˘ aaM(uM,uM) = 0 datorit˘ a ortogonalit˘ at ¸ii. Dar uM/negationslash= 0 ¸ si deci
(uM,uM)>0 ¸ si rezult˘ a contradict ¸ia aM= 0.
Avem acum definit˘ a general not ¸iunea de ortogonalitate. Am v˘ azut c˘ a bazele
ortonormate permit descrieri mai simple ale elementelor unui spat ¸iu vectorial.
Ne punem ˆ ıntrebarea: putem dintr-o baz˘ a oarecare {uk,k∈1,N}s˘ a obt ¸inem
44 1.Aproximarea funct ¸iilor de o variabil ˘a
una ortonormat˘ a {gk,k∈1,N}? R˘ aspunsul este pozitiv ¸ si furnizat de urm˘ atorul
algoritm denumit procedeul Gram-Schmidt
g1=u1/(u1,u1)
k= 2 :N/bracketleftbigg
vk=uk−/summationtextk−1
j=1(uk,gj)gj
gk=vk/(vk,vk).
Geometric, ˆ ın etapa k, se scad din vectorul ukcomponentele sale ˆ ın direct ¸iile
g1,g2,… ,gk−1ce sunt deja ortogonale. Vectorul vkce r˘ amˆ ane din diferent ¸˘ a
este sigur ortogonal pe g1,g2,… ,gk−1. Mai r˘ amˆ ane doar de adus la lungime
unitar˘ a prin ˆ ımp˘ art ¸irea gk=vk/(vk,vk). S˘ a consider˘ am acum cˆ ateva exemple
de produse scalare ¸ si baze ortonormate utile ˆ ın aplicat ¸ii.
Polinoame ortogonale.
Ortonormarea monoamelor {1,x,x2,…}produce o baz˘ a{p0(x),p1(x),p2(x),…}
ale c˘ arei elemente sunt evident polinoame. Aceste polinoame ortogonale au
multe aplicat ¸ii iar expresiile lor rezult˘ a din procedeul Gram-Schmidt ca fiind
p0(x) = 1, p1(x) =x−α1, (1.93)
pentru primele dou˘ a elemente, celelalte elemente ale bazei fiind definite de relat ¸ia
recursiv˘ a
pn(x) = (x−αn)pn−1(x)−βnpn−2(x), n≥2 . (1.94)
Coeficient ¸ii αn,βnsunt dependent ¸i de produsul scalar ales fiind precizat ¸i de
relat ¸iile
αn= (xpn−1,pn−1)/(pn−1,pn−1), βn= (xpn−1,pn−2)/(pn−2,pn−2) . (1.95)
Relat ¸iile ( 1.93)-(1.95) se pot verifica u¸ sor prin induct ¸ie. Urm˘ arind relat ¸iile de
mai sus se poate observa c˘ a vom avea totdeauna un coeficient unitar al terme-
nului de grad maxim, adic˘ a polinoamele obt ¸inute vor fi sub forma lor monic˘ a
(vezi 1.2.1). De regul˘ a asupra formei monice se impune o condit ¸ie de standar-
dizare ce revine la ˆ ınmult ¸irea cu o constant˘ a. S˘ a consider˘ am cazurile cele mai
des ˆ ıntˆ alnite.
1.Polinoamele Legendre Pn(x). Se consider˘ aV=C(0)[−1,1] ¸ si se adopt˘ a
produsul scalar
(u,v) =/integraldisplay1
−1u(x)v(x)dx. (1.96)
Condit ¸ia de standardizare este Pn(1) = 1. Deci P0(x) = 1,α1= (x,1)/(1,1)
= 0 ¸ si deci P1(x) =x. Apoiα2= (x2,x)/(x,x) = 0,β2= (x2,1)/(1,1) =
1/3 ¸ si deciP2(x) =x2−1/3. Impunerea condit ¸iei de standardizare con-
duce laP2(x) = 3×2/2−1/2. Primele cˆ ateva polinoame Legendre sunt
date ˆ ın tabelul 1.4.
1.4.Elemente de teoria aproxim˘ arii 45
2.Polinoamele Cebˆ a¸ sev Tn(x). Se consider˘ a tot V=C(0)[−1,1] dar se
adopt˘ a produsul scalar
(u,v) =/integraldisplay1
−1u(x)v(x)(1−x2)−1/2dx. (1.97)
Observat ¸i c˘ a diferent ¸a fat ¸˘ a de produsul scalar anterior ( 1.96) este aparit ¸ia
unei funct ¸ii de pondere w(x) = (1−x2)−1/2. Intuitiv, ponderea adoptat˘ a
acord˘ a o mai mare important ¸˘ a punctelor de la capetele de interval ±1.
Condit ¸ia de standardizare este Tn(1) = 1. Expresiile lor au fost deja
prezentate ˆ ın tabelul 1.2. S˘ a aplic˘ am ˆ ıns˘ a ( 1.93)-(1.95) pentru a vedea c˘ a
ˆ ıntr-adev˘ ar reobt ¸inem acele expresii. Avem T0(x) = 1,α1= (x,1)/(1,1).
Apar integrale ce se calculeaz˘ a prin substitut ¸ia trigonometric˘ a x= cosθ
(x,1) =/integraldisplay1
−1x(1−x2)−1/2dx=/integraldisplayπ
0cosθdθ= 0
¸ si deciT1(x) =x. Apoiα2= (x2,x)/(x,x) = 0,β2= (x2,1)/(1,1) =
1/2 deciT2(x) =x2−1/2. Am reobt ¸inut forma monic˘ a a polinomului
Cebˆ a¸ sev pentru n= 2. Aplicarea condit ¸iei de standardizare conduce la
T2(x) = 2×2−1, adic˘ a exact forma din tabelul 1.2.
3.Polinoamele Laguerre Ln(x). Se consider˘ aV=C(0)[0,∞) ¸ si se adopt˘ a
produsul scalar
(u,v) =/integraldisplay∞
0u(x)v(x) exp(−x)dx. (1.98)
Domeniul de definit ¸ie al elementelor din acest spat ¸iu vectorial este acum
infinit la dreapta. Observat ¸i c˘ a un astfel de spat ¸iu permite tratarea pro-
blemelor de aproximare a unor funct ¸ii definite pe toat˘ a semiaxa real˘ a
pozitiv˘ a. Ponderea w(x) = exp(−x) atenueaz˘ a comportarea la infinit
a funct ¸iilor u(x),v(x) astfel ˆ ıncˆ at integrala ( 1.98) s˘ a convearg˘ a pentru
u(x),v(x) ce nu cresc mai repede decˆ at un polinom. Condit ¸ia de standar-
dizare este: coeficientul termenului de grad maxim s˘ a fie 2n. Expresiile
primelor cˆ ateva polinoame sunt date ˆ ın tabelul 1.4.
4.Polinoamele Hermite Hn(x).Se consider˘ aV=C(0)(−∞,∞) ¸ si se adopt˘ a
produsul scalar
(u,v) =/integraldisplay∞
−∞u(x)v(x) exp(−x2)dx. (1.99)
Evident acest spat ¸iu vectorial reprezint˘ a extinderea celui anterior la toat˘ a
axa real˘ a. Condit ¸ia de standardizare este: coeficientul termenului de grad
maxim s˘ a fie (−1)n/n!.
46 1.Aproximarea funct ¸iilor de o variabil ˘a
Tabelul 1.4: Primele cˆ ateva polinoame ortogonale
nP n Hn Ln
01 1 1 1
x 2x −x
2( −1 + 3×2)/2−2 + 4×2(2−4x+x2)/23
( −3x+ 5×3)/2−12x+ 8×3(6−18x+ 9×2−x3)/64
(3−30×2+ 35×4)/812−48×2+ 16×4(24−96x+ 72×2−16×3+x4)/24
Ortogonalitate pe mult ¸imi discrete.
ˆIn paragraful anterior s-au introdus produse scalare definite prin integrale, adec-
vate situat ¸iilor ˆ ın care c˘ aut˘ am aproxim˘ ari pe intervale continue. Dac˘ a ˆ ıns˘ a ne
intereseaz˘ a o aproximare punctual˘ a, ˆ ın nodurile {xk,k∈1,N}, atunci este
mai util s˘ a introducem produse scalare definite prin sume. Vom introduce
acum polinoame ortogonale discrete , rezultate din aplicarea procedeului Gram-
Schmidt asupra bazei {1,x,x2,…}utilizˆ and aceste noi produse scalare. O
prim˘ a r˘ asplat˘ a a abord˘ arii abstracte a not ¸iunii de ortogonalitate este c˘ a relat ¸iile
(1.93)-(1.95) r˘ amˆ an valabile deoarece ele nu fac referire la forma particular˘ a a
produsului scalar. Polinoamele ortogonale obt ¸inute de data aceasta vor fi de-
pendente de nodurile alese {xk,k∈1,N}¸ si vom include mult ¸imea nodurilor ca
un argument pentru a sublinia acest fapt.
1.Polinoamele Legendre discrete Pn(x;{xk}). Se consider˘ aV=C(0)[−1,1],
nodurile se consider˘ a ˆ ın acest interval −1≤xk≤1 ¸ si se adopt˘ a produsul
scalar
(u,v) =N/summationdisplay
k=1u(xk)v(xk) . (1.100)
2.Polinoamele Cebˆ a¸ sev discrete Tn(x;{xk}). Se consider˘ aV=C(0)(−1,1),
nodurile se iau−1<xk<1 ¸ si se adopt˘ a produsul scalar
(u,v) =N/summationdisplay
k=1u(xk)v(xk)(1−x2
k)−1/2. (1.101)
3.Polinoamele Hermite discrete Hn(x;{xk}). Se consider˘ aV=C(0)[0,∞)
¸ si se adopt˘ a produsul scalar
(u,v) =N/summationdisplay
k=1u(xk)v(xk) exp(−xk) . (1.102)
1.4.Elemente de teoria aproxim˘ arii 47
4.Polinoamele Laguerre discrete Ln(x;{xk}).Se consider˘ a totV=C(0)(−∞,∞)
¸ si se adopt˘ a produsul scalar
(u,v) =N/summationdisplay
k=1u(xk)v(xk) exp(−x2
k) . (1.103)
1.4.3 Norme, operatori ¸ si funct ¸ionale
Not ¸iunea de ortogonalitate din sect ¸iunea anterioar˘ a ne-a permis s˘ a descriem
orientarea relativ˘ a a doi vectori. Mai avem nevoie de un instrument ce s˘ a poat˘ a
m˘ asura m˘ arimea unui vector, instrument furnizat de not ¸iunea matematic˘ a de
norm˘ a . Norma unui vector u∈Vse noteaz˘ a/bardblu/bardbl¸ si este un num˘ ar real pozitiv.
Cua∈S,u,v∈V, definit ¸ia formal˘ a este precizat˘ a de
1./bardbl◦/bardbl:V→R+;
2./bardblu/bardbl= 0⇔u= 0;
3./bardblu+v/bardbl≤/bardblu/bardbl+/bardblv/bardbl; (inegalitatea triunghiului)
4./bardblau/bardbl=|a|/bardblu/bardbl.
O clas˘ a important˘ a de norme este definit˘ a prin
/bardblu/bardblp=/parenleftBigg/integraldisplayb
a|u(x)|pdx/parenrightBigg1/p
(1.104)
pe cazul continuu, cu analogul discret pe mult ¸imea de noduri {xk,k∈1,N}
/bardblu/bardblp=/parenleftBiggN/summationdisplay
k=1|u(xk)|p/parenrightBigg1/p
. (1.105)
Presupunem ca aceste integrale ¸ si sume exist˘ a. Acestea se numesc norme p
continue sau discrete, respectiv. Se observ˘ a imediat c˘ a norma 2 discret˘ a a unui
vector obi¸ snuit u∈RNcorespunde definit ¸iei clasice a modulului unui vector
/bardblu/bardbl2= (/summationtextN
k=1u2
k)1/2, astfel ˆ ıncˆ at ne putem ˆ ınt˘ ari intuit ¸ia perceperii normei
ca “m˘ arime” a unui element dintr-un spat ¸iu vectorial. Se poate demonstra c˘ a
atunci cˆ and p→∞ avem
/bardblu/bardbl∞= sup
x∈[a,b]|u(x)| (1.106)
ˆ ın cazul continuu ¸ si
/bardblu/bardbl∞= max
k∈1,N|u(xk)| (1.107)
48 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.17: Discurile/bardblx/bardblp≤1.
ˆ ın cazul discret. Un alt exemplu important de norm˘ a este norma indus˘ a de
produsul scalar, ˆ ın cazul ˆ ın care acesta din urm˘ a este deja definit
/bardblu/bardbl= (u,u)1/2. (1.108)
Se poate verifica satisfacerea propriet˘ at ¸ilor unei norme. ˆIn particular inegalita-
tea triunghiului rezult˘ a din forma general˘ a a inegalit˘ at ¸ii Cauchy-Buniacovski
|(u,v)|≤/bardblu/bardbl·/bardblv/bardbl. (1.109)
Este important s˘ a se formeze o intuit ¸ie a semnificat ¸iei adopt˘ arii unei norme
sau alta. Apel˘ am la spat ¸iul vectorial cel mai familiar, al vectorilor din planul
R2¸ si desen˘ am ˆ ın fig. 1.17 discurile ce satisfac /bardblx/bardblp≤1, pentrup= 1,2,3 ¸ si
p=∞.
Distant ¸a dintre doi vectori se poate acum introduce imediat ca fiind o funct ¸ie
d:V×V→R+definit˘ a prin
d(u,v) =/bardblu−v/bardbl.
Altfel spus distant ¸a dintre doi vectori este m˘ arimea vectorului diferent ¸˘ a. Defi-
nirea unei distant ¸e permite introducerea vecin˘ at˘ at ¸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 s˘ a corespund˘ a un num˘ ar. Se pot
defini ¸ si alte funct ¸ii ale c˘ aror valori pot fi scalari sau chiar vectori. O aplicat ¸ie
definit˘ a pe un spat ¸iu vectorial care ia valori scalare se nume¸ ste funct ¸ional˘ a . Spre
exemplu, pe spat ¸iul vectorial al funct ¸iilor continue C(0)[a,b],/integraltextb
au(x)dxeste o
funct ¸ional˘ a deoarece integrarea face s˘ a corespund˘ a un num˘ ar fiec˘ arei funct ¸ii u
. O funct ¸ie definit˘ a pe un spat ¸iu vectorial, cu valori ˆ ın alt spat ¸iu vectorial
(eventual acela¸ si) e denumit˘ a operator . Spre exemplu, dac˘ a Rneste spat ¸iul vec-
torilor coloan˘ a cu ncomponente ( x1,x2,…,xn)T, atunci ˆ ınmult ¸irea vectorului
cu o matrice p˘ atrat˘ a cu n×nelemente poate fi considerat˘ a un operator.
Cu ajutorul normelor, putem compara ¸ si aplicat ¸iile definite pe spat ¸ii vec-
toriale. S˘ a consider˘ am c˘ a aplicat ¸ia f:V1→V 2este liniar˘ a, adic˘ a ∀a,b∈S,
u,v∈V1avem
f(au+bv) =af(u) +bf(v) .
1.4.Elemente de teoria aproxim˘ arii 49
O aplicat ¸ie liniar˘ a feste m˘ arginit˘ a dac˘ a exist˘ a un num˘ ar real pozitiv Mastfel
ˆ ıncˆ at/bardblf(u)/bardbl≤M/bardblu/bardbl. Cu alte cuvinte, norma valorilor aplicat ¸iei liniare este
raportat˘ a la norma vectorului. Cel mai mic num˘ ar Mpentru care are loc
inegalitatea se nume¸ ste norma aplicat ¸iei f¸ si se noteaz˘ a/bardblf/bardbl. Prin urmare,
putem scrie
/bardblf(u)/bardbl≤/bardblf/bardbl·/bardblu/bardbl (1.110)
pentru orice aplicat ¸ie liniar˘ a m˘ arginit˘ a. Mai mult, o aplicat ¸ie liniar˘ a m˘ arginit˘ a
este ¸ si continu˘ a, deci ( 1.110 ) implic˘ a ¸ si continuitatea.
1.4.4 Problema general˘ a a celei mai bune aproxim˘ ari
S˘ a vedem acum modul ˆ ın care not ¸iunile introduse permit o abordare general˘ a a
problemei de aproximare. Reamintin problema de aproximare: avem o funct ¸ie
fcomplicat˘ a sau incomplet cunoscut˘ a ¸ si dorim g˘ asirea unei aproximante g. Am
dori ca diferent ¸a dintre f¸ sigs˘ a fie cˆ at mai mic˘ a posibil˘ a, adic˘ a s˘ a minimiz˘ am
distant ¸a
d(f,g) =/bardblf−g/bardbl. (1.111)
Din aceast˘ a formulare general˘ a, putem reobt ¸ine criteriile de aproximare ment ¸io-
nate la ˆ ınceputul capitolului. Dac˘ a adopt˘ am oricare dintre normele discrete ¸ si
impunem realizarea unei erori nule, d(f,g) = 0, obt ¸inem
/bardblf−g/bardblp=/parenleftBiggN/summationdisplay
k=1|f(xk)−g(xk)|p/parenrightBigg1/p
= 0,
ceea ce nu se poate realiza decˆ at dac˘ a
g(xk) =yk, k∈1,N,
cuyk=f(xk) sau exact condit ¸ia de interpolare ( 1.1). Dac˘ a adopt˘ am 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/summationdisplay
k=1[yk−g(xk)]2,
adic˘ a criteriul celor mai mici p˘ atrate ( 1.5).
Teoria general˘ a ne furnizeaz˘ a cadrul de a pune anumite ˆ ıntreb˘ ari peste care
am s˘ arit ˆ ın prezentarea elementar˘ a anterioar˘ a. Exist˘ a o cea mai bun˘ a aproxi-
mare? Dac˘ a exist˘ a, c˘ arui spat ¸iu vectorial apart ¸ine? Putem construi un ¸ sir de
50 1.Aproximarea funct ¸iilor de o variabil ˘a
Figura 1.18: Cea mai bun˘ a aproximare este ortogonal˘ a pe subspat ¸iul aproximantei.
aproximat ¸ii care s˘ a convearg˘ a la cea mai bun˘ a aproximare? Nu vom parcurge
aici ˆ ın detaliu aceste chestiuni. Vom face mai degrab˘ a o discut ¸ie calitativ˘ a,
apelˆ and la intuit ¸ia geometric˘ a din spat ¸iul vectorial euclidian.
ˆIncepem printr-un exemplu simplu din geometria plan˘ a. S˘ a presupunem c˘ a
dorim s˘ a aproxim˘ am cˆ at mai bine punctul X(a,b) din plan folosind elemente
doar de pe axa x1, adic˘ a de forma ( x1,0) (fig. 1.18). Scriem
d(X,P) =/bardblX−P/bardbl= minim,
ceea ce conduce la d(X,P) =/bracketleftbig
(a−ξ)2+b2/bracketrightbig1/2=minim, pentru norma 2 dis-
cret˘ a. Este clar c˘ a cea mai mic˘ a abatere dintre toate punctele pe axa x1se
obt ¸ine pentru punctul Pce are proprietatea c˘ a XPeste ortogonal pe axax1.
Axax1este un subspat ¸iu al planului, iar Pparcurge doar acest subspat ¸iu. Cea
mai bun˘ a “aproximare” a lui Xde c˘ atrePse obt ¸ine atunci cˆ and diferent ¸aX−P
este ortogonal˘ a pe subspat ¸iul parcurs de P.
Concluzia de mai este general valabil˘ a ˆ ıntr-un spat ¸iu ˆ ın care avem definit
un produs scalar, iar norma rezult˘ a din acest produs scalar conform ( 1.108 ).
De exemplu, s˘ a adopt˘ am spat ¸iul C(∞)(−∞,∞) ce are baza{1,x,x2,…}. Pro-
blema analoag˘ a celei anterioare este s˘ a se aproximeze funct ¸ia X=a+bxcˆ at mai
bine cu o constant˘ a P=ξ. Reprezentarea prin coordonate X≡(a,b,0,…),
P≡(ξ,0,0,…) ne convinge imediat c˘ a avem aceea¸ si problem˘ a ca ˆ ın cazul an-
terior, iar solut ¸ia este dat˘ a ¸ si ˆ ın acest caz de condit ¸ia de ortogonalitate. Este
educativ˘ a demonstrat ¸ia general˘ a a acestui rezultat.
Teorem˘ a. FieVun spat ¸iu vectorial ˆ ın care avem definit un produs scalar, ¸ si S
un subspat ¸iu al lui V. Dac˘ av−ueste ortogonal pe orice wdinSatunci
ueste cea mai bun˘ a aproximare a lui vprin elemente din S, anumeu
realizeaz˘ a minimul distant ¸ei d(u,v).
Demonstrat ¸ie . S˘ a vedem dac˘ a vreun alt w∈S realizeaz˘ a o distant ¸˘ a mai
mic˘ a:
d2(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) =/bardblv−u/bardbl2+/bardblu−w/bardbl2+ 2(u−w,v−u).
1.4.Elemente de teoria aproxim˘ arii 51
Darv−ueste ortogonal pe orice element din S, ˆ ın particular pe u−wdeci
(u−w,v−u) = 0 ¸ si avem d2(v,w) =/bardblv−u/bardbl2+/bardblu−w/bardbl2≥/bardblv−u/bardbl2, adic˘ a
distant ¸a de la orice alt element wlaveste mai mare decˆ at cea de la ulav.2
Ortogonalitatea pe un subspat ¸iu de dimensiune nse verific˘ a prin ortogona-
litatea pe elementele unei baze a acelui subspat ¸iu, cel mai eficient chiar pe una
ortonormat˘ a{g1,g2,… ,gn}. Condit ¸ia de cea mai bun˘ a aproximant˘ a ga unei
funct ¸iifdintr-un spat ¸iuVcu produs scalar se scrie a¸ sadar
(f−g,gk) = 0, k∈1,n. (1.112)
Observat ¸i c˘ a ( 1.86) sau ( 1.88) se pot obt ¸ine din condit ¸ia general˘ a ( 1.112 ) prin
alegerea produsului scalar obi¸ snuit ˆ ıntre vectori din Rncu ponderea w. Scriind
aproximanta sub forma unei combinat ¸ii liniare g=/summationtextn
j=1ajgjsistemul ( 1.112 )
se poate rezolva pentru coeficient ¸ii ak
ak= (f,gk)/(gk,gk), k∈1,n, (1.113)
ce sunt numit ¸i coeficient ¸i Fourier generalizat ¸i . De exemplu alegerea bazei tri-
gonometrice cos(2 πkx), k∈0,N; sin(2πmx), m∈1,N−1 definit˘ a pe punctele
discrete{xj=j/2N,j∈0,2N−1}¸ si a produsului scalar obi¸ snuit permite
obt ¸inerea relat ¸iilor ( 1.58) folosind rezultatul general ( 1.113 ).
Rezultate ca cele de mai sus arat˘ a utilitatea spat ¸iilor vectoriale ˆ ın care se in-
troduce un produs scalar ¸ si norma indus˘ a prin relat ¸ia ( 1.108 ). Un astfel de spat ¸iu
se nume¸ ste spat ¸iu prehilbertian .ˆIntr-un spat ¸iu prehilbertian putem obt ¸ine pen-
tru unnfixat coeficient ¸ii aproximantei g=/summationtextn
j=1ajgjprin relat ¸iile ( 1.113 ). Pe
m˘ asur˘ a cencre¸ ste, am dori ca gs˘ a r˘ amˆ an˘ a ˆ ın spat ¸iul considerat. Acest dezide-
rat conduce natural la spat ¸ii Hilbert H, definite prin faptul c˘ a 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 merit˘ a s˘ a z˘ abovim put ¸in.
Dac˘ a revedet ¸i exemplele prezentate pˆ an˘ a acum, vet ¸i observa c˘ a deseori s-a
calculat o eroare fat ¸˘ a de un rezultat exact cunoscut .ˆIn exemplificarea unui
procedeu numeric alegerea unei probleme la care cunoa¸ stem deja r˘ aspunsul este
perfect acceptabil˘ a. Dar ˆ ın aplicat ¸iile reale nucunoa¸ stem r˘ aspunsul exact. Cum
putem, ˆ ın asemenea condit ¸ii, s˘ a ne d˘ am seama de convergent ¸a unui algoritm
numeric? Not ¸iunile de mai sus furnizeaz˘ a cadrul matematic ˆ ın care putem da un
r˘ aspuns la aceast˘ a ˆ ıntrebare. Reamintim definit ¸ia convergent ¸ei unui ¸ sir c˘ atre o
limit˘ a:aeste limit˘ a a ¸ sirului {an}cun∈Ndac˘ a∀ε>0 exist˘ a un Nεastfelˆ ıncˆ at
|an−a|< εpentrun > Nε. Observat ¸i c˘ a ˆ ın aceast˘ a definit ¸ie a convergent ¸ei
valoarea limitei se presupune cunoscut˘ a .ˆIn afar˘ a de aceast˘ a definit ¸ie se mai
introduce ˆ ın analiz˘ a not ¸iunea de ¸ sir fundamental sau Cauchy{an}caracterizat
prin faptul c˘ a ¸ sirul este convergent dac˘ a ∀ε>0, p∈Nexist˘ a unNεastfel ˆ ıncˆ at
|an+p−an|< εpentrun > Nε. Observat ¸i elementul esent ¸ial al definit ¸iei unui
¸ sir fundamental: convergent ¸a este definit˘ a prin aproprierea termenilor succesivi .
Pentru verificarea convergent ¸ei nueste nevoie s˘ a cunoa¸ stem limita ¸ sirului. ˆIn
52 1.Aproximarea funct ¸iilor de o variabil ˘a
aplicat ¸ii, aceasta este situat ¸ia uzual˘ a. Putem obt ¸ine aproximat ¸ii succesive, dar
nu, de regul˘ a, ¸ si limita exact˘ a a ¸ sirului de aproximat ¸ii. Lucrˆ and ˆ ın spat ¸ii Hilbert
vom avea un bun indiciu al convergent ¸ei, atunci cˆ and aproximat ¸iile succesive
devin apropriate ˆ ıntre ele.
Spat ¸iile Hilbert au multe alte propriet˘ at ¸ile utile aplicat ¸iilor numerice. Dou˘ a
exemple ar fi: (1) teorema de reprezentare Fr´ echet-Riesz ce ne asigur˘ a c˘ a rezul-
tatul aplic˘ arii unei funct ¸ionale f(e.g. integrala definit˘ a) asupra unui element
u∈H este el ˆ ınsu¸ si exprimabil ca un produs scalar f(u) = (u,vf), undevfeste
un element al spat ¸iului care depinde de f; (2) teoreme generale asupra propri-
et˘ at ¸ilor operatorilor printre care se remarc˘ a cele de descompunere spectral˘ a.
Exemplu . Relu˘ am exemplul 4 din 1.3, de data aceasta folosind ca baz˘ a un set de
polinoame ortogonale definite pe mult ¸imea discret˘ a {xk=k−1,k∈1,N}, cuN= 15.
Funct ¸ia aproximat˘ a este polinomul f(x) = 40 + 10x+ 5×2+ 3×3+ 2×4+x5+x6. Cum
nu avem vreun motiv s˘ a acord˘ am vreunui nod o important ¸˘ a deosebit˘ a lu˘ am ponderea
w= 1 ¸ si adopt˘ am polinoamele Legendre discrete. Acestea sunt definite pe [ −1,1] astfel
ˆ ıncˆ at este nevoie s˘ a introducem transformarea z= 2x/(N−1)−1. Funct ¸ia aproximant˘ a
se scrieg(z) =/summationtextn
j=0ajPj(z) cun= 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) =−821
+z2,
P3(z) =−167245
z+z3,P4(z) =129612005
−331343
z2+z4,P5(z) =44252151263
z−545441
z3+z5,
P6(z) =−360001294139
+20423773
z2−11577
z4+z6.
Coeficient ¸ii akrezult˘ a imediat din ( 1.113 )
aj=/bracketleftBiggN/summationdisplay
k=1f(zk)Pj(zk)/bracketrightBigg
//bracketleftBiggN/summationdisplay
k=1P2
j(zk)/bracketrightBigg
.
Efectuˆ and calculul ˆ ın numere rat ¸ionale a produselor scalare rezult˘ a coeficient ¸ii
a0=752369361764735
a1=105839884035
a2=188002401
a3=1868441
a4=26977
a5= 1a6= 1
ce introdu¸ si ˆ ın combinat ¸ia liniar˘ a de mai sus dau exact funct ¸ia f. Calculul ˆ ın simpl˘ a
precizie furnizeaz˘ a valorile coeficient ¸ilor aj
a0= 42.633556a1= 12.594727a2= 7.8300747a3= 4.2358241
a4= 3.4935030a5= 0.99998158 a6=.99996691
cu o eroare relativ˘ a maxim˘ a de ε= 3·10−5fat ¸˘ a de valorile exacte. Se observ˘ a
c˘ a folosirea unei baze ortogonale a permis obt ¸inerea unei erori mici lucrˆ and chiar ˆ ın
simpl˘ a precizie.
53
Capitolul 2
Derivarea ¸ si integrarea
numeric˘ a
2.1 Derivarea numeric˘ a
Pentru derivarea numeric˘ a, punctul de plecare ˆ ıl constituie tot g˘ asirea unei
funct ¸ii aproximante. Ideea const˘ a ˆ ın aproximarea derivatei funct ¸iei date cu
derivata aproximantei. Cele mai uzuale formule de calcul se obt ¸in plecˆ and de la
aproximarea prin interpolare. Utilizˆ and aceea¸ si diviziune a intervalului pe care
se afl˘ a punctele ˆ ın care se dore¸ ste calculul derivatei, xi,i= 1,2,… ,N , vom
scrie derivata sub forma
y/prime≡dfdx
=dgdx
+dRdx
, (2.1)
undegeste aproximanta iar Rrestul (eroarea).
ˆIn formulele de aproximare numeric˘ a a derivatei, se utilizeaz˘ a de regul˘ a va-
lorile funct ¸iei fˆ ın cˆ ateva din punctele xi. Fiehdistant ¸a tipic˘ a ˆ ıntre aceste
abscise. Un aspect important al aproxim˘ arii numerice este stabilirea ordinului
erorii. Eroarea se poate scrie sub forma
e=dfdx
−dgdx
=dRdx
=O(hk). (2.2)
54 2.Derivarea s ¸i integrarea numeric ˘a
SimbolulOeste folosit pentru a elimina constantele ce ˆ ınmult ¸esc expresia de
interes de sub paranteze, ˆ ın cazul de fat ¸˘ a hk. Ordinul erorii este exponentul k.
Se observ˘ a ca la mic¸ sorarea pasului h, eroareaeva sc˘ adea mai repede cu cˆ at
ordinul erorii keste mai mare. Spre exemplu, pentru k= 1 o ˆ ınjum˘ at˘ at ¸ire a
pasului conduce tipic la o eroare de dou˘ a ori mai mic˘ a, pe cˆ and pentru k= 2
eroarea scade de patru ori.
2.1.1 Derivate folosind polinoame de interpolare
ˆIn cazul interpol˘ arii polinomiale, cu diviziuni egale, se poate scrie
x=xi−1+αh, α∈[0,n], n∈1,N−1, (2.3)
g(x) =yi−1+α∆yi−1+C2
α∆2yi−1+…+Cn
α∆nyi−1≡pn(x) (2.4)
R=Rn(x) =hn+1Cn+1
αf(n+1)(ξ). (2.5)
Se observ˘ a c˘ a exist˘ a doi parametri la dispozit ¸ie:
1.punctulxi−1fat ¸˘ a de care calcul˘ am diferent ¸ele la dreapta;
2.gradulnal polinomului de interpolare.
Derivata ( 2.1) se scrie
y/prime=dfdx
=1
hdfdα
=1
hdpn
dα+1
hdRn
dα. (2.6)
Prezent ¸a pasului hla numitor ˆ ın relat ¸ia ( 2.6) sugereaz˘ a tendint ¸a cre¸ sterii erorii
la derivarea aproximativ˘ a. Astfel, dac˘ a eroarea la interpolare era de ordinul
n+ 1,R=O(hn+1),eroarea la derivare este ordinul n,R/prime=O(hn), datorit˘ a
ˆ ımp˘ art ¸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 comport˘ ari prezise de teorema lui Faber,
vezi1.1.1);
2.centrarea punctului ˆ ın care se face calculul pe intervalul ( xi−1,xi−1+nh);
3.calculul derivatei folosind polinoame de grade diferite – dac˘ a diferent ¸ele
sunt mari, se iau precaut ¸iuni suplimentare (mic¸ sorarea pasului, aproxima-
rea spline sau prin alte metode de aproximare, etc.).
Consider˘ am acum cˆ ateva cazuri particulare utile.
2.1.Derivarea numeric˘ a 55
Cazuln= 1.
Din relat ¸iile ( 2.4)-(2.6) se obt ¸ine
y/prime=1
h∆yi−1+h
2ddα
[α(α−1)f/prime/prime(ξ)]. (2.7)
Pentru valorile α= 0 ¸ siα= 1, ce corespund la capetele intervalului ( xi−1,xi)
se obt ¸ine
y/prime
i−1=yi−yi−1
h−h
2f/prime/prime(ξ), (2.8)
y/prime
i=yi−yi−1
h+h
2f/prime/prime(ξ). (2.9)
Aproximat ¸ia ( 2.8) utilizeaz˘ a punctul xice se afl˘ a la dreapta punctului xi−1
ˆ ın care se evalueaz˘ a derivata ¸ si se nume¸ ste, uzual, formul˘ a la dreapta . Analog
(2.9) se nume¸ ste formul˘ a la stˆ anga . Ambele formule au o eroare de ordinul ˆ ıntˆ ai.
Spunem pe scurt c˘ a sunt formule de ordinul I .
Cazuln= 2.
ˆIn acest caz, din ( 2.4)-(2.6), se obt ¸ine
y/prime=1
h∆yi−1+2α−12
h∆2yi−1+h2
6ddα
[α(α−1)(α−2)f/prime/prime/prime(ξ)]. (2.10)
Pentruα= 1, din ( 2.10) rezult˘ a
y/prime
i=yi+1−yi−1
2h−h2
6f/prime/prime/prime(ξ), (2.11)
ˆ ın timp ce, pentru α= 0, se deduce
y/prime
i−1=−yi+1+ 4yi−3yi−1
2h+h2
3f/prime/prime/prime(ξ). (2.12)
Comparˆ and formulele ( 2.11) ¸ si (2.12), se observ˘ a c˘ a, la acela¸ si grad al polinomu-
lui de interpolare, plasarea punctului de calcul spre centrul diviziunii conduce
la reducerea de dou˘ a ori a erorii. Mai important˘ a este ˆ ıns˘ a comparat ¸ia cu cazul
anterior,n= 1.Se observ˘ a c˘ a formulele ( 2.11), (2.12) sunt de ordinul doi fat ¸˘ a
de formulele ( 2.8), (2.9) care sunt de ordinul ˆ ıntˆ ai. Cˆ a¸ stigul de precizie este
obt ¸inut cu pret ¸ul consider˘ arii variat ¸iei funct ¸iei peste un interval mai mare, 2 h,
pentrun= 2, fat ¸˘ a de h, pentrun= 1.
Cu ajutorul expresiei ( 2.10) se poate calcula ¸ si derivata de ordinul doi
y/prime/prime=∆2yi−1
h2+h
6d2
dα2[α(α−1)(α−2)f/prime/prime/prime(ξ)]. (2.13)
56 2.Derivarea s ¸i integrarea numeric ˘a
Pentruα= 1, se obt ¸ine
y/prime/prime
i=∆2yi−1
h2−h2
3/parenleftbiggdξdα
/parenrightbigg
α=1f(4)(ξ) =yi+1−2yi+yi−1
h2−h2
12f(4)(ξ),
(2.14)
eroarea fiind de ordinul doi. A doua egalitate ( 2.14) se obt ¸ine cu ajutorul unor
formule Taylor pentru yi−1, sau prin utilizarea unui polinom de gradul trei. Se
constat˘ a o precizie superioar˘ a, datorat˘ a centr˘ arii punctului, fat ¸˘ a de cazul α= 0,
pentru care din ( 2.13) rezult˘ a formula
y/prime/prime
i−1=∆2yi−1
h2−hf/prime/prime/prime(ξ) +2h2
3/parenleftbiggdξdα
/parenrightbigg
α=0f(4)(ξ) (2.15)
la care eroarea este de ordinul ˆ ıntˆ ai.
Exemplu . (Efectul reprezent˘ arii finite ˆ ın numere ma¸ sin˘ a a numerelor reale) Se
calculeaz˘ a derivatele y/prime,y/prime/primeale funct ¸iei y(x) =ex/2ˆ ın punctul xi= 2.5 folosind for-
mulele de mai sus. Valorile exacte sunt y/prime
i= 1.74517,y/prime/prime
i= 0.87259.ˆIn formulele de
derivare apare pasul h. Valoarea acestuia este necunoscut˘ a. Din definit ¸ia derivatei
y/prime(x0) = lim
x→x0y(x)−y(x0)
x−x0(2.16)
ne-am putea a¸ stepta ca valorile cele mai exacte s˘ a fie obt ¸inute pentru h→0. Vom
considera valorile hk= 10−k, k=1,16.Aproxim˘ arile derivatelor pentru cˆ ateva valori
ale luihsunt prezentate ˆ ın tabelul de mai jos. S-au considerat urm˘ atoarele cazuri: (1)
y/prime
i∼=(yi−yi−1)/h, (2)y/prime
i∼=(yi+1−yi)/h, (3)y/prime
i= (yi+1−yi−1)/2h, (4)y/prime/prime
i∼=(yi+2−
2yi+1+yi)/h2, (5)y/prime/prime
i∼=(yi+1−2yi+yi−1)/h2. S-a utilizat o precizie de lucru de 80 bit ¸i.
Se poate observa c˘ a mic¸ sorarea pasului conduce init ¸ial la ˆ ımbun˘ at˘ at ¸irea preciziei, dar,
dup˘ a un anumit prag, apar abateri mari. Acestea sunt rezultatul pierderii num˘ arului de
cifre semnificative din diferent ¸a yi−yi−1.De exemplu, dac˘ aˆ ın calculator se memoreaz˘ a
7 cifre zecimale, iar yi,yi−1au primele 6 cifre zecimale identice, diferent ¸a are o singur˘ a
cifr˘ a zecimal˘ a exact˘ a.
lghØCazul 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.3 ·1080.00000
M˘ arirea preciziei de lucru nu elimin˘ a fenomenul de pierdere de cifre semnificative.
Acesta se va produce la valori mai mici ale pasului h. O prezentare sugestiv˘ a a acestei
comport˘ ari universale a procedeului de aproximare numeric˘ a a derivatei este dat˘ a ˆ ın
fig.2.1unde se reprezint˘ a grafic logaritmul zecimal al erorii
lge1= lg/vextendsingle/vextendsingley/prime
i−˜y/prime
i/vextendsingle/vextendsingle,lge2= lg/vextendsingle/vextendsingley/prime/prime
i−˜y/prime/prime
i/vextendsingle/vextendsingle (2.17)
funct ¸ie de logaritmul pasului. Reprezentarea logaritmic˘ a este convenabil˘ a pentru verifi-
carea practic˘ a a ordinului erorii prezis teoretic. Dac˘ a din teorie se prezice c˘ a e=O(hk),
atunci dependent ¸a dintre eroare ¸ si pas se exprim˘ a logaritmic prin lg e=C+klgh,
2.1.Derivarea numeric˘ a 57
Figura 2.1: Variat ¸ia erorii absolute ˆ ın estimarea derivatelor funct ¸ie de pasul h.
undeCeste o constant˘ a. Putem construi regresia linear˘ a (vezi Exemplul 1 din 1.3)
a valorilor erorii calculate ˆ ın experimente numerice ¸ si s˘ a verific˘ am obt ¸inerea ordinului
de eroare. Trebuie s˘ a elimin˘ am din datele de intrare cele ce sunt afectate de pier-
derea catastrofal˘ a de cifre semnificative. Pentru cazurile 1, 3 ¸ si 5 se obt ¸in dreptele
−0.364134 + 0.999353 lgh,−1.00836 + 2.05568 lgh,−1.72727 + 2.00789 lghrespectiv.
Aceste drepte sunt reprezentate cu linie groas˘ a ˆ ın fig. 2.1. Se confirm˘ a ¸ si prin expe-
riment numeric ordinele O(h) pentru cazul 1, O(h2) pentru cazurile 3, 5, ce au fost
prezise teoretic.
2.1.2 Formularea operatorial˘ a
Folosind operatorul de translat ¸ie, se pot obt ¸ine operatorii de derivare. Astfel,
plecˆ and de la expresia ( 1.19)
f(x0+αh) = (E0+ ∆)αy0, (2.18)
prin derivare, se obt ¸ine
dfdx
=1
hddα
/parenleftbig
(E0+ ∆)αy0/parenrightbig
=1
h/bracketleftbig
(E0+ ∆)αln(E0+ ∆)/bracketrightbig
y0= (2.19)
1
h/bracketleftbig
ln(E0+ ∆)/bracketrightbig/parenleftbig/bracketleftbig
(E0+ ∆)α/bracketrightbig
y0/parenrightbig
=1
h/bracketleftbig
ln(E0+ ∆)/bracketrightbig
f(x) (2.20)
unde s-a evident ¸iat prin [ ] operatorul ce trebuie aplicat. Prin identificare,
rezult˘ a operatorul de derivare cu diferent ¸a la dreapta (∆)
ddx
=1
hln(E0+ ∆). (2.21)
58 2.Derivarea s ¸i integrarea numeric ˘a
ˆIn mod similar, folosind operatorul diferent ¸a la stˆ anga ( ∇), se obt ¸ine
ddx
=1
hln(E0−∇). (2.22)
Extinderea operat ¸iei de derivare a funct ¸iei exponent ¸iale la derivarea operatorilor
este justificat˘ a prin analogia expresiilor utilizate cu seria binomial˘ a. Practic,
expresiile ( 2.21) ¸ si ( 2.22) se utilizeaz˘ a sub forma obt ¸inut˘ a prin dezvoltarea ˆ ın
serie a logaritmului
ddx
=1
h/parenleftbigg
∆−∆2
2+∆3
3−∆4
4+…/parenrightbigg
(2.23)
=1
h/parenleftbigg
∇+∇2
2+∇3
3+∇4
4+…/parenrightbigg
. (2.24)
Operatorii ( 2.23) ¸ si ( 2.24) pot fi aplicat ¸i oric˘ arui polinom de interpolare cu
diferent ¸e la dreapta sau la stˆ anga care aproximeaz˘ a funct ¸ia f(x).ˆIn acest fel,
se obt ¸in, pe cale formal˘ a, relat ¸ii similare cu cele precedente. Prin aplicarea
repetat˘ a a operatorilor ( 2.23) se obt ¸in operatorii derivatelor de ordin superior.
Spre exemplu, pentru derivata de ordinul doi rezult˘ a
d2
dx2=1
h2/parenleftbigg
∆2−∆3+112
∆4+…/parenrightbigg
(2.25)
=1
h2/parenleftbigg
∇2+∇3+112
∇4+…/parenrightbigg
. (2.26)
Exemplu . Fief: [0,1]→Ro funct ¸ie a c˘ arei valori ˆ ın nodurile xj=j/n,
j=0,nsuntfj=f(xj) ¸ si sunt cunoscute. Se cere o estimare de O(h4) a derivatei
f/prime
0=f/prime(x0= 0) undeh= 1/n.
Rezolvare . Fiind disponibile doar punctele la dreapta, vom aplica ( 2.23). Num˘ arul
de termeni luat ¸i din dezvoltarea ˆ ın serie determin˘ a ordinul formulei. ˆIn cazul de fat ¸˘ a,
va trebui s˘ a consider˘ am patru termeni
f/prime
0∼=1
h/parenleftbigg
∆−∆2
2+∆3
3−∆4
4/parenrightbigg
f0. (2.27)
Aplicarea repetat˘ a a operatorului de diferent ¸˘ a la dreapta conduce la ∆ f0=f1−
f0, ∆2f0= ∆(∆f0) = ∆(f1−f0) = ∆f1−∆f0=f2−2f1+f0, ∆3f0= ∆(∆2f0) =
f3−3f2+ 3f1−f0, ∆4f0= ∆(∆3f0) =f4−4f3+ 6f2−4f1+f0. Se remarc˘ a aparit ¸ia
coeficient ¸ilor din dezvoltarea binomial˘ a (1 −a)n. Rezult˘ a formula
f/prime
0∼=1
h/parenleftbigg
−14
f4+43
f3−3f2+ 4f1−2512
f0/parenrightbigg
. (2.28)
Pentru a verifica ordinul formulei, folosim primii 5 termeni din dezvoltarea ˆ ın serie
Taylor a funct ¸iei f,T5(x) =f0+f/prime
0x+f/prime/prime
0x/2 +f(3)
0x/6 +f(4)
0x/24 +f(5)
0x/120 ¸ si se
obt ¸ine
1
h/parenleftbigg
−14
T5(4h) +43
T5(3h)−3T5(2h) + 4T5(h)−2512
T5(0)/parenrightbigg
=f/prime
0−h4f(5)
0/5,(2.29)
deci eroarea este ˆ ıntr-adev˘ ar de ordinul IV.
2.1.Derivarea numeric˘ a 59
2.1.3 Polinoame de interpolare ˆ ın funct ¸ie ¸ si derivat˘ a
S˘ a presupunem c˘ a sunt date valorile unei funct ¸ii yi¸ si ale derivatei sale y/prime
iˆ ın
nodurilexi∈[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 pN−1(xi) =yi. O metod˘ a mai precis˘ a, ce folose¸ ste ¸ si
informat ¸iile asupra derivatei ˆ ın noduri, este ˆ ıns˘ a s˘ a se construiasc˘ a polinomul
de grad 2N−1 ce satisface
p2N−1(xi) =yi, p/prime
2N−1(xi) =y/prime
i, i=1,N. (2.30)
O astfel de interpolare ce folose¸ ste ¸ si valorile unor derivate ˆ ın noduri se nume¸ ste
de tip Hermite . Polinomul de interpolare Hermite este unic definit pentru abs-
cise distincte, i/negationslash=j⇒xi/negationslash=xj. Ca ¸ si polinomul de interpolare uzual, polinomul
de interpolare Hermite are o form˘ a Newton, ce utilizeaz˘ a diferent ¸e divizate, ¸ si
o form˘ a Lagrange.
Forma Newton a polinomului de interpolare Hermite utilizeaz˘ a o generalizare
diferent ¸elor divizate, denumit˘ a diferent ¸e divizate cu repetit ¸ie ˆ ın care se define¸ ste
DD(xi,xi)≡f/prime(xi) =y/prime
i. (2.31)
Regula recursiv˘ a ( 1.9), de obt ¸inere a diferent ¸elor divizate superioare, r˘ amˆ ane
valabil˘ a. Explicit, forma Newton a polinomului Hermite este
p2N−1(x) =y1+ (x−x1) DD(x1,x1) + (x−x1)2DD(x1,x1,x2) + (2.32)
(x−x1)2(x−x2) DD(x1,x1,x2,x2) +… (2.33)
ce se poate compara cu ( 1.13). Coeficient ¸ii formei Newton se pot calcula con-
venabil tabelar precum ˆ ın exemplul de mai jos.
x1y1− − ···
x1y1DD(x1,x1) =y/prime
1− ···
x2y2DD(x1,x2) =y2−y1
x2−x1DD(x1,x1,x2) =DD(x2,x1)−DD(x1,x1)
x2−x1···
x2y2DD(x2,x2) =y/prime
2 DD(x1,x2,x2) =DD(x2,x2)−DD(x2,x1)
x2−x1···
……………
Forma Lagrange a polinomului de interpolare Hermite este
p2N−1(x) =N/summationdisplay
k=1Ak(x)yk+N/summationdisplay
k=1Bk(x)y/prime
k, (2.34)
unde impunem propriet˘ at ¸ile
Ak(xj) =δkj,A/prime
k(xj) = 0,Bk(xj) = 0,B/prime
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,
dac˘ aj/negationslash=k;δkj= 1, dac˘ aj=k. PolinoameleAk,Bkse pot exprima funct ¸ie de
polinoamele Lagrange ( 1.29)Lk
Ak(x) = [1−2(x−xk)L/prime
k(xk)]L2
k(x), (2.36)
Bk(x) = (x−xk)L2
k(x). (2.37)
Printr-un procedeu asem˘ an˘ ator celui folosit pentru determinarea formulei
(1.16), se poate obt ¸ine expresia restului la interpolarea Hermite
R2N−1(x)≡f(x)−p2N−1(x) =N/productdisplay
i=1(x−xi)2f(2N)(ξ)/(2N)! . (2.38)
Exemplu . Vom calcula derivata funct ¸iei f(x) = sinπxˆ ınx= 1/8 folosind forma
Newton a polinomul Hermite. Utiliz˘ am nodurile xj= (j−1)/4,j= 1,2. Tabelul
diferent ¸elor divizate este
xjyj
00 – – – 0
0 π –– 1
4
√
22
2√
24(2 √
2−π)– 1
4
√
22
π√
22
2√
2(π−4)4 π(2√
2 + 4)−64√
2unde
valorile obt ¸inute din derivata exact˘ a f/prime(x) =πcosπxau fost ˆ ıncadrate. Forma
Newton a polinomului Hermite este
p2(x) =xπ+x24(2√
2−π) +x2(x−1/4)/bracketleftBig
4π(2√
2 + 4)−64√
2/bracketrightBig
, (2.39)
ceea ce conduce la urm˘ atoarea form˘ a canonic˘ a a polinomului
p2(x) =π+ (48√
2−16π−4√
2π)x+ (−192√
2 + 48π+ 24√
2π)x2. (2.40)
Derivata cerut˘ a este p/prime
2(1/8) = 2.90188 foarte apropriat˘ a de cea exact˘ a f/prime(1/8) =
2.90245 ¸ si cu mult mai precis˘ a decˆ at estimarea centrat˘ a de ordinul II ( f(1/4)−
f(0))/(1/4) = 2.82843. Graficul logaritmului erorii relative lg ε= lg|(p/prime
2(x)−f/prime(x))/f/prime(x)|
de mai jos arat˘ a prezicerea corect˘ a a 3 cifre semnificative ˆ ın evaluarea derivatei pe in-
tervalul [0,1/4].
2.1.Derivarea numeric˘ a 61
2.1.4 Derivate folosind funct ¸ii spline
Funct ¸ia spline polinomial˘ a de ordinul 3 poate fi utilizat˘ a pentru calculul apro-
ximativ al derivatelor de ordinul 1 ¸ si 2. ˆIn acest scop, se determin˘ a coeficient ¸ii
mi,ai,bi, restrict ¸ia funct ¸iei spline pe intervalul ( xi,xi+1) fiind
p3,i(x) =yi+mi(x−xi) +bi(x−xi)2+ai(x−xi)3, (2.41)
determinat˘ a ˆ ın paragraful 1.1.2. Derivatele de ordinul 1 ¸ si 2 se aproximeaz˘ a prin
derivatele de acela¸ si ordin ale polinomului p3,i
y/prime=mi+ 2bi(x−xi) + 3ai(x−xi)2, y/prime/prime= 2bi+ 6ai(x−xi). (2.42)
Eroarea la aproximarea derivatei de ordinul kpoate fi evaluat˘ a cu ajutorul
relat ¸iei (vezi Observat ¸ia 4 din 1.1.2)
max
x∈[a,b]/vextendsingle/vextendsingle/vextendsinglef(k)(x)−s(k)
m(x)/vextendsingle/vextendsingle/vextendsingle≤(b−a)m−k
(m−k)!max
x∈[a,b]/vextendsingle/vextendsingle/vextendsinglef(m)(x)−s(m)
m(x)/vextendsingle/vextendsingle/vextendsingle,(2.43)
undemeste ordinul funct ¸iei spline ( m= 3 pentru funct ¸ia spline cubic˘ a). Deo-
arece funct ¸ia spline este derivabil˘ a de m−1 ori pe (a,b), am notat prin s(m)
mo
funct ¸ie treapt˘ a, obt ¸inut˘ a prin derivarea restrict ¸iilor funct ¸iei spe subintervale.
Exemplul din paragraful 1.1.2 prezint˘ a ¸ si comportarea numeric˘ a 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. Consider˘ am pe scurt cˆ ateva alte procedee
inidicˆ and domeniile tipice de aplicare.
Interpolare trigonometric˘ a.
Prin derivarea expresiei ( 1.57),se obt ¸ine
dfdx
=y/prime∼=dgdx
=
2πN−1/summationdisplay
k=1[−kaksin(2πkx) +kbkcos(2πkx)]−πNaNsin 2πNx. (2.44)
Rezultatul este o nou˘ a funct ¸ie ce are coeficient ¸ii Fourier −2πkak,−2πkbk. Con-
siderat ¸iile din 1.1.3 asupra convergent ¸ei interpol˘ arii trigonometrice se aplic˘ a
acum noii funct ¸ii. ˆIn particular, vom urm˘ ari dac˘ a ck= 2πk(a2
k+b2
k)1/2devin
suficient de mici pe m˘ asur˘ a ce Ncre¸ ste. O proprietate important˘ a a apro-
xim˘ arilor trigonometrice este c˘ a, pentru funct ¸ii netede, coeficient ¸ii ckscad mai
repede decˆ at orice putere a lui h= 1/Nˆ ıncepˆ and de la un anumit rang k.
Prin analogie cu analiza de ordin de eroare de la formul˘ arile anterioare, spu-
nem c˘ a aproximarea trigonometric˘ a a derivatei este de ordin infinit. Aceast˘ a
62 2.Derivarea s ¸i integrarea numeric ˘a
proprietate st˘ a la baza metodelor spectrale de rezolvare a ecuat ¸iilor diferent ¸iale.
Aplicabilitatea general˘ a a procedeului este ˆ ıns˘ a limitat˘ a de cerint ¸a de netezime.
De exemplu, dac˘ a funct ¸ia fprezint˘ a discontinuit˘ at ¸i izolate, vor ap˘ area erori
importante de mascare (vezi 1.1.3).
Aproximarea mini-max.
Se deriveaz˘ a polinomul aproape mini-max (vezi 1.2.3). Gradul acestui polinom
se ia, ˆ ın general, mai mic decˆ at gradul polinomului de interpolare corespunz˘ ator
unei diviziuni alese. Astfel de aproxim˘ ari se utilizeaz˘ a cˆ and se dore¸ ste minimi-
zarea num˘ arului de operat ¸ii aritmetice necesare estim˘ arii derivatei.
Aproximarea prin metoda celor mai mici p˘ atrate.
Se deriveaz˘ a aproximanta ( 1.83).ˆIn general, derivatele astfel obt ¸inute sunt mai
netede decˆ at ˆ ın cazul unei interpolari care folose¸ ste toate punctele din ret ¸ea. Se
folose¸ ste tipic pentru date cunoscute incert (m˘ asur˘ atori experimentale).
2.2 Integrarea numeric˘ a
Integrarea numeric˘ a a funct ¸iilor de o variabil˘ a reprezint˘ a o aplicat ¸ie imediat˘ a
a aproxim˘ arii. ˆIn general, prin integrare numeric˘ a erorile de calcul se reduc,
variat ¸iile se netezesc. Cazurile mai dificile sunt legate de integrarea funct ¸iilor
care prezint˘ a variat ¸ii rapide de semn pe intervalul de integrare, astfel ˆ ıncˆ at
termenii ˆ ınsumat ¸i se compenseaz˘ a, iar rezultatul, un num˘ ar mic ˆ ın modul, apare
ca diferent ¸a a unor numere mari ˆ ın modul1. Asemenea funct ¸ii sunt indicate
pentru testarea diferitelor formule de integrare propuse. Schema general˘ a pentru
a obt ¸ine o formula de integrare numeric˘ a este urm˘ atoarea:
1.Se introduce o diviziune a intervalului de calcul [ a,b] prin punctele{xi,
i∈1,N}.
2.Se scrie funct ¸ia de integrat f(x), punˆ andu-seˆ ın evident ¸˘ a aproximanta g(x)
¸ si eroarea (restul) R(x)
f(x) =g(x) +R(x) . (2.45)
3.Se integreaz˘ a relat ¸ia ( 2.45) termen cu termen, obt ¸inˆ andu-se o valoare apro-
ximativ˘ a ¸ si o eroare pentru integrare
/integraldisplayb
af(x)dx=/integraldisplayb
ag(x)dx+/integraldisplayb
aR(x)dx. (2.46)
1Vezi capitolul 4.
2.2.Integrarea numeric˘ a 63
Integrala aproximantei g(x) se evalueaz˘ a numeric pe fiecare subinterval al
diviziunii
I=/integraldisplayb
ag(x)dx=N/summationdisplay
k=1akIk, Ik≡/integraldisplayb
agk(x)dx. (2.47)
Uzual aproximanta g(x) se alege de forma ( 1.6), astfel ˆ ıncˆ at integralele Ik
s˘ a poat˘ a fi evaluate exact. Eroarea de integrare este ˆ ın acest caz integrala
restului
δ=/integraldisplayb
aR(x)dx. (2.48)
4.Se caut˘ a o posibilitate de minimizare a erorii.
ˆIn efectuarea diverselor calcule ment ¸ionate mai sus, sunt utile cˆ ateva rezul-
tate din analiz˘ a pe care le reamintim f˘ ar˘ a demonstrat ¸ie.
Teorema de valoare medie a unei integrale . Pentruf,gcontinue pe [ a,b] ¸ si
g(x)≥0 pe [a,b], exist˘ a un ξ∈[a,b] astfel ˆ ıncˆ at
/integraldisplayb
af(x)g(x)dx=f(ξ)/integraldisplayb
ag(x)dx.
Teorema valorii intermediare . Fiefcontinu˘ a pe [ a,b] ¸ simvaloarea sa minim˘ a
¸ siMvaloarea sa maxim˘ a pe acest interval. Pentru orice r∈[m,M ] exist˘ a
unξ∈[a,b] astfel ˆ ıncˆ at f(ξ) =r.
Teorema fundamental˘ a a analizei . Dac˘ afeste continu˘ a pe [ a,b], atunci funct ¸ia
ϕ(x) =/integraltextx
af(t)dteste derivabil˘ a ˆ ın orice punct c∈[a,b] ¸ si derivata sa este
ϕ/prime(c) =f(c).
2.2.1 Formule Newton-Cotes ˆ ınchise
Formulele de integrare care utilizeaz˘ a valorile funct ¸iei la capetele intervalului de
integrare,y1=f(a),yN=f(b) sunt denumite formule ˆ ınchise . Foarte uzuale
sunt metodele care utilizeaz˘ a interpolarea polinomial˘ a pe o diviziune echidis-
tant˘ a a intervalului de integrare {a=x1,x2,… ,xN=b}cuxi+1−xi≡h=
(b−a)/(N−1), formulele obt ¸inute fiind denumite de tip Newton-Cotes .ˆIn
obt ¸inerea formulelor de integrare, este convenabil˘ a forma Newton cu diferent ¸e
finite a polinomului de interpolare ( 1.25). Vom remarca ˆ ıns˘ a c˘ a se prefer˘ a 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 urmeaz˘ a 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 aproximant˘ a este o linie poligonal˘ a. Pe fiecare subinterval ( xi,xi+1),
funct ¸iaf(x) se ˆ ınlocuie¸ ste cu aproximarea sa printr-un polinom de gradul ˆ ıntˆ ai
plus un rest. Conform ( 1.25), polinomul se scrie
p1(x) =yi+α∆yi, (2.49)
cuα∈[0,1], unde restul ( 1.26) este
R1(x) =h2C2
αf/prime/prime(ξi), ξi∈(xi,xi+1). (2.50)
Pe intervalul ( xi,xi+1), variabila xse poate exprima
x=xi+αh,
de undedx=hdα. Integrala exact˘ a a aproximantei ( 2.49) este
Ii=/integraldisplay1
0(yi+α∆yi)dα= (yi+yi+1)/2 , (2.51)
iar eroarea pe interval rezult˘ a din integrarea restului ( 2.50)
δi= (h3/2)/integraldisplay1
0α(α−1)f/prime/prime[ξi(α)]dα, ξi∈(xi,xi+1) .
Expresia erorii poate fi transformat˘ a aplicˆ and teorema de medie pentru inte-
grale. Avem−α(α−1)≥0 ¸ si vom presupune c˘ a −f/prime/prime[ξi(α)] este continu˘ a pe
[xi,xi+1], astfel ˆ ıncˆ at condit ¸iile teoremei s˘ a fie satisf˘ acute. Se obt ¸ine
δi= [h3f/prime/prime(ξ/prime
i)/2]/integraldisplay1
0α(α−1)dα=−h3f/prime/prime(ξ/prime
i)/12, (2.52)
cuξ/prime
i∈[xi,xi+1], ˆ ın general diferit de ξidin ( 2.50). Formula ( 2.51) se aplic˘ a pe
fiecare subinterval ¸ si vom obt ¸ine, prin sumare, valoarea aproximativ˘ a a integralei
I=N−1/summationdisplay
i=1Ii=h
2(y1+ 2y2+…+ 2yN−1+yN) . (2.53)
Eroarea la integrare este suma erorilor pe subintervale, δ=/summationtextN−1
i=1δi=−(h3/12)·/summationtextN−1
i=1f/prime/prime(ξ/prime
i).ˆIns˘ a (N−1)−1/summationtextN−1
i=1f/prime/prime(ξ/prime
i) este o valoare medie a valorilor
funct ¸ieif/prime/primeˆ ın punctele ξ/prime
i¸ si am presupus f/prime/primecontinu˘ a. Conform teoremei valorii
intermediare, exist˘ a un ξ∈[x1,xN] astfel ˆ ıncˆ at
1
N−1N−1/summationdisplay
i=1f/prime/prime(ξ/prime
i) =f/prime/prime(ξ) (2.54)
2.2.Integrarea numeric˘ a 65
¸ si eroarea se poate scrie
δ=−h2
12(b−a)f/prime/prime(ξ) =−(b−a)3
12(N−1)2f/prime/prime(ξ). (2.55)
Expresia ( 2.55) sugereaz˘ a c˘ a, pentru funct ¸ii cu derivata de ordinul doi continu˘ a,
eroarea la integrare scade aproximativ cu p˘ atratul num˘ arului de intervale N−1.
Spunem astfel c˘ a eroarea la formula trapezelor este de ordinul doi, δ=O(h2).
Se observ˘ a c˘ a, fat ¸˘ a de eroarea pe un subinterval δi=O(h3), eroarea pe tot
intervalulδeste cu un ordin mai mic datorit˘ a acumul˘ arii erorii din ˆ ınsumare.
Se remarc˘ a, de asemenea, c˘ a formula trapezelor este exact˘ a pentru toate poli-
noamele de gradul 1, adic˘ a pentru ∀f∈Π1.
Formulele Simpson.
Urm˘ arim obt ¸inerea unor formule mai precise pe subintervalele de calcul. Din
procedeul general, observ˘ am c˘ a 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 dou˘ a
noduri, vom grupa convenabil subintervalele ( xi,xi+1). Din punctul de vedere
al aproxim˘ arii funct ¸iei f(x) pe totintervalul de calcul [ a,b] procedeul revine la
folosirea unei interpol˘ ari spline cu deficient ¸˘ a, ale c˘ arei 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 formul˘ a de integrare pe
(xi−1,xi+1)2. Polinomul aproximant este
p2(x) =yi−1+α∆yi−1+α(α−1)∆2yi−1/2
conform ( 1.25) iar restul are forma
R2(x) =h3C3
αf(3)(ξi), ξi∈(xi−1,xi+1) .
Formula obt ¸inut˘ a prin integrarea lui p2(x) este
Ii=h/integraldisplay2
0p2(xi−1+αh)dα=h
3(yi−1+ 4yi+yi+1) . (2.56)
Aplicarea teoremei de medie la integrarea restului trebuie efectuat˘ a pe subin-
tervalele pe care C3
αnu schimb˘ a semnul
h3/integraldisplay2
0C3
αf(3)(ξi)dα=h3
3!/bracketleftbigg
f(3)(ξ(1)
i)/parenleftbigg14
/parenrightbigg
+f(3)(ξ(2)
i)/parenleftbigg
−14
/parenrightbigg/bracketrightbigg
.
Rezultatul obt ¸inut este ˆ ıns˘ a o supraestimare. Faptul c˘ a s-au obt ¸inut coeficient ¸i
numerici de semne contrare sugereaz˘ a c˘ a avem un efect de compensare a erorilor.
2Aici ¸ si ˆ ın cele ce urmeaz˘ a vom alege intervalele astfel ˆ ıncˆ at formulele s˘ a fie centrate pe
punctulxi.
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. Consider˘ am valoarea aproximativ˘ a a integralei
Ii=h
3[f(xi−1) + 4f(xi) +f(xi+1)]
¸ si vom presupune fderivabil˘ a de minim 5 ori. Dezvolt˘ am ˆ ın serie Taylor ˆ ın
jurul punctului xi−1expresia de mai sus
Ii= 2hfi−1+ 2h2f/prime
i−1+ 4h3f/prime/prime
i−1/3 + 2h4f(3)
i−1/3 + 5h5f(4)
i−1/18 +h6f(5)
i−1/10 +…
unde am notat f(k)
i=f(k)(xi). Pe de alt˘ a parte, introducem
F(x) =/integraldisplayx
xi−1f(x)dx,
valoarea exact˘ a a integralei pe intervalul ( xi−1,x). Avem,ˆ ın particular, F(xi−1) =
0, ¸ siF(xi−1+ 2h) este valoarea exact˘ a pe intervalul ( xi−1,xi+1). Conform te-
oremei fundamentale a analizei, F/prime(x) =f(x). Ca atare, dezvoltarea ˆ ın serie
Taylor ˆ ın jurul punctului xi−1a valorii exacte F(xi−1+ 2h) este
2hfi−1+ 2h2f/prime
i−1+ 4h3f/prime/prime
i−1/3 + 2h4f(3)
i−1/3 + 4h5f(4)
i−1/15 + 4h6f(5)
i−1/45 +…
Diferent ¸aδ=F(xi−1+ 2h)−Iieste eroarea c˘ autat˘ a ¸ si are expresia
δ=−h5f(4)
i−1/90−h6f(5)
i−1/90 +….
Astfel, chiar dac˘ a am pornit cu un polinom aproximant de gradul doi, formula
obt ¸inut˘ a este exact˘ a ¸ si pentru polinoame de gradul trei. Acest rezultat face ca
formula lui Simpson ( 2.56) s˘ a fie economic˘ a ˆ ın num˘ arul de evalu˘ ari ale funct ¸iei
fnecesare realiz˘ arii unei anumite precizii, de unde larga sa folosire ˆ ın aplicat ¸ii.
Considerˆ and acum problema integr˘ arii pe tot intervalul [ a,b] vom introduce
un num˘ ar impar de 2 N+1 noduri, pentru a avea un num˘ ar ˆ ıntreg de perechi de
intervale, pe care sum˘ am relat ¸ia ( 2.56) ¸ si obt ¸inem formula de integrare Simpson
I=h
3(y1+ 4y2+ 2y3+…+ 2y2N−1+ 4y2N+y2N+1). (2.57)
Estimarea erorii la integrare este
δ=−(b−a)5f(4)(ξ)/2880N4, ξ∈(a,b). (2.58)
Din ( 2.58), se observ˘ a c˘ a eroarea δeste invers proport ¸ional˘ a cu puterea a patra
a num˘ arului de perechi de subintervale N, adic˘ aδ=O(h4). Spunem c˘ a formula
Simpson “1/3” este de ordinul IV.
Fomula Simpson “3/8” . Trecem acum la urm˘ atorul polinom de interpolare,
cel de gradul 3. Considerˆ and 4 puncte de diviziune pe intervalul ( xi−1,xi+2),
polinomul de interpolare este
p3(x) =yi−1+α∆yi−1+α(α−1)∆2yi−1/2 +α(α−1)(α−2)∆3yi−1/3! ,
2.2.Integrarea numeric˘ a 67
iar, prin integrare, se obt ¸ine formula lui Simpson “3/8”
Ii=h/integraldisplay3
0p3(xi−1+αh)dα=3h
8(yi−1+ 3yi+ 3yi+1+yi+2) , (2.59)
cu eroarea
δi=h5/integraldisplay3
0C4
αf(4)(ξi)dα=−3h5f(4)(ξi)/80, ξi∈(xi−1,xi+2) . (2.60)
Considerˆ and 3 N+ 1 puncte de diviziune, cu pasul h= (b−a)/3N, formula de
integrare pe ( a,b) se va scrie
I=3h
8(y1+ 3y2+ 3y2+ 2y4+…+ 2y3N−2+ 3y3N−1+ 3y3N+y3N+1),
(2.61)
iar eroarea de integrare pe ( a,b) este
δ=−(b−a)5f(4)(ξ)/6480N4=O(h4), ξ∈(a,b). (2.62)
La acela¸ si interval ( a,b) ¸ si acela¸ si N, eroarea este mai mic˘ a decˆ at ˆ ın cazul
formulei Simpson “1/3” datorit˘ a factorului numeric de la numitor. Cum ˆ ıns˘ a o
precizie sporit˘ a la integrare este obt ¸inut˘ a ˆ ındeosebi prin m˘ arirea num˘ arului de
subintervale, observ˘ am c˘ a m˘ arirea gradului polinomului de interpolare p3(x) nu
conduce la un ordin al erorii mai mare, formula “3/8” fiind tot de ordinul IV
ca ¸ si formula “1/3”. Datorit˘ a num˘ arului mai mic de evalu˘ ari de funct ¸ie cerute
este preferabil˘ a folosirea formulei Simpson “1/3” celei “3/8”.
Informativ, d˘ am ¸ si formula obt ¸inut˘ a prin interpolare cu un polinom de gradul
4, pe intervalul ( xi−2,xi+2)
Ii=2h
45(7yi−2+ 32yi−1+ 12yi+ 32yi+1+ 7yi+2), (2.63)
cu eroarea
δi=−8h7f(7)(ξi)/945, ξi∈(xi−1,xi+2). (2.64)
ˆIn acest caz, cre¸ sterea gradului polinomului de interpolare a condus la o sc˘ adere
important˘ a a erorii. Pe tot interalul [ a,b] avemδ=O(h6) fat ¸˘ a deδ=O(h4)
din ( 2.62).
Formulele de mai sus se pot obt ¸ine ¸ si pe dou˘ a alte c˘ ai ce permit extinderi
importante. S˘ a consider˘ am c˘ a integrala pe un interval [ a,b] se poate aproxima
ca o medie ponderat˘ a a valorilor funct ¸iei ˆ ın punctele xi,i= 1,… ,N
I=/integraldisplayb
af(x)dx∼=N/summationdisplay
i=1Aiyi, (2.65)
68 2.Derivarea s ¸i integrarea numeric ˘a
undeAisunt ponderi necunoscute. Putem impune ca integrala s˘ a fie evaluat˘ a
exact pentru funct ¸ii polinomiale pˆ an˘ a la gradul N−1. De exemplu, pentru
N= 3, obt ¸inem sistemul de ecuat ¸ii
/integraltextb
adx =b−a =A1+A2+A3/integraltextb
axdx = (b2−a2)/2 =A1x1+A2x2+A3x3/integraltextb
ax2dx = (b2−a2)/3 =A1x2
1+A2x2
2+A3x2
3(2.66)
unde am ˆ ınlocuit rˆ and pe rˆ and funct ¸ia f(x) cu un polinom de gradul 0,1,2.
Se obt ¸in coeficient ¸ii A1=A3=h/3,A2= 4h/3, adic˘ a exact cei din formula
Simpson “1/3” ( 2.56). Procedeul de mai sus este cunoscut sub denumirea de
identificare a coeficient ¸ilor de integrare .
Un al doilea procedeu este dat de ˆ ınlocuirea funct ¸iei fcu forma Lagrange a
polinomului de interpolare ( 1.31)
/integraldisplayb
af(x)dx=/integraldisplayb
aN/summationdisplay
i=1yiLi(x)dx+/integraldisplayb
af(N)(ξ)
N!N/productdisplay
i=1(x−xi)dx, (2.67)
unde s-a utilizat forma ( 1.16) a restului. Comparˆ and cu ( 2.65) se observ˘ a c˘ a
Ai=/integraldisplayb
aLi(x)dx. (2.68)
ˆIn final, s˘ a ad˘ aug˘ am, c˘ a ˆ ın numeroase situat ¸ii practice, este convenabil s˘ a se
evident ¸ieze o funct ¸ie pondere w(x) ˆ ın operat ¸iile de integrare. Se generalizeaz˘ a
astfel operat ¸ia de medie ponderat˘ a din aritmetic˘ a. Utilizˆ and ( 2.67) avem
/integraldisplayb
aw(x)f(x)dx=/integraldisplayb
aw(x)/bracketleftBiggN/summationdisplay
i=1Li(x)yi+f(N)(ξ)
N!N/productdisplay
i=1(x−xi)/bracketrightBigg
dx=N/summationdisplay
i=1Aiyi+δ,
Ai=/integraldisplayb
aw(x)Li(x)dx, δ =/integraldisplayb
aw(x)f(N)(ξ)
N!N/productdisplay
i=1(x−xi)dx, ξ∈(a,b).
2.2.2 Formule de integrare deschise
O ˆ ıntrebare imediat˘ a asociat˘ a formulei generale de integrare ( 2.65) este dac˘ a
alegerea altor puncte xi¸ si ponderiAiar putea aduce avantaje de calcul. Vom
considera ˆ ın cele ce urmeaz˘ a cˆ ateva asemenea cazuri. ˆIn general, ˆ ın obt ¸inerea
acestor formule nu se utilizeaz˘ a valorile funct ¸iei fdin capetele intervalului.
Astfel de formule se numesc formule deschise .
Formule de integrare deschise de tip Newton Cotes
Aceste formule se obt ¸in utilizˆ and un polinom de interpolare care nu trece prin
capetele intervalului, deci cu un polinom cu dou˘ a grade mai mic decˆ at ˆ ın cazul
2.2.Integrarea numeric˘ a 69
formulelor ˆ ınchise. Revenim la obt ¸inerea formulelor de integrare prin integrarea
polinomului de aproximare. De data aceasta folosim o form˘ a ˆ ın care nu apar
valorile ˆ ın capete
pN−3(x1+αh) =y2+ (α−1)∆y2+C2
α−1∆2y2+…+CN−3
α−1∆N−3y2,(2.69)
α∈[0,N−1], eroarea fiind
RN−1(x1+αh) =hN−2CN−2
α−1f(N−2)(ξ). (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.
PentruN= 4, calcul˘ am integrala polinomului aproximant de la α= 0 la
α= 2 ¸ si se obt ¸ine
Ii= 2hyi, δi=h3f/prime/prime(ξi)/3. (2.71)
ˆIn acest caz, intervalul de integrare a fost ( xi−1,xi+1), dar termenul yi+1s-a
redus, astfel ˆ ıncˆ at formula ( 2.71) nu cont ¸ine nici una din valorile de la capetele
intervalului. Observ˘ am c˘ a se obt ¸ine acela¸ si ordin al erorii δ∼O(h3) ca la
formula trapezelor ( 2.53), folosind ˆ ıns˘ a o singur˘ a evaluare a funct ¸iei fat ¸˘ a de dou˘ a
ˆ ın (2.53). Factorul numeric din expresia erorii de mai sus este ˆ ıns˘ a mai mare
decˆ at cel din ( 2.55). Ca atare, avantajul de calcul obt ¸inut poate fi nesemnificativ
ˆ ın practic˘ a.
PentruN= 6 ¸ six∈(xi−1,xi+3) se obt ¸ine o formul˘ a cu acela¸ si ordin de
eroare ca formula Simpson
Ii=4h
3(2yi−yi+1+ 2yi+2), δi=14h5
45f(4)(ξi). (2.72)
Coeficientul numeric din formula erorii este iar˘ a¸ si mai mare decˆ at cel din ( 2.58)
¸ si num˘ arul de evalu˘ ari de funct ¸ie este acela¸ si. Ca atare, nu se obt ¸ine vreun
avantaj de calcul.
Formule deschise de tip Gauss.
ˆIn formula general˘ a de integrare ( 2.65), observ˘ am ˆ ıns˘ a c˘ a avem la dispozit ¸ie 2 N
parametrii, nu numai ponderile Aici ¸ si abscisele ˆ ın care evalu˘ am funct ¸ia xi.
Pˆ an˘ a acum am utilizat abscise echidistante ¸ si am obt ¸inut formule exacte pentru
polinoame de grad pˆ an˘ a la N−1, prin alegerea a Nponderi. Putem spera ca ,
prin utilizarea tuturor celor 2 Nparametri, s˘ a obt ¸inem formule exacte pentru
polinoame pˆ an˘ a la gradul 2 N−1. Calea de a obt ¸ine astfel de formule este dat˘ a
de un rezultat teoretic important formulat de Gauss.
Punctul de plecare este formula de aproximare a valorii unei integrale
/integraldisplayb
aw(x)f(x)dx∼=N/summationdisplay
i=1Aif(xi), (2.73)
70 2.Derivarea s ¸i integrarea numeric ˘a
undew(x) este o funct ¸ie pondere pozitiv˘ a, iar coeficient ¸ii Aisunt ale¸ si astfel
ˆ ıncˆ at formula este exact˘ a pentru toate polinomale de grad pˆ an˘ a ˆ ın N−1.
Teorem˘ a. Dac˘ a abscisele xi, din ( 2.73) se aleg ca fiind zerourile unui polinom
q(x) de gradul Nce satisface relat ¸ia de ortogonalitate
/integraldisplayb
aw(x)p(x)q(x)dx= 0 (2.74)
pentru orice polinom p(x) de grad pˆ an˘ a la N−1, atunci formula ( 2.73)
este exact˘ a pentru toate polinoamele de grad pˆ an˘ a la 2 N−1.
Demonstrat ¸ie . Fiefun polinom de grad cel mult 2 N−1. Acesta se poate
scrief=pq+rundep,rsunt polinoame de grad cel mult N−1. Deoarece
xi,i= 1,… ,N sunt zerourile polinomului q, avemf(xi) =r(xi) ¸ si
/integraldisplayb
aw(x)f(x)dx=/integraldisplayb
aw(x) [p(x)q(x) +r(x)]dx=
/integraldisplayb
aw(x)r(x)dx=N/summationdisplay
i=1Air(xi) =N/summationdisplay
i=1Aif(xi), (2.75)
unde ultima egalitate rezult˘ a din alegerea coeficient ¸ilor Aienunt ¸at˘ a. 2
Se poate demonstra c˘ a zerourile unui polinom ce satisface ( 2.74) sunt sim-
ple ¸ si sunt ˆ ın interiorul intervalului [ a,b], adic˘ axi∈(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, specifice fiec˘ arui tip de ponderi
w(x).Aparit ¸ia funct ¸iei de pondereˆ ın formula ( 2.73) faciliteaz˘ a tratarea cazurilor
cu singularit˘ at ¸i integrabile dup˘ a cum vom vedea mai jos. Odat˘ a stabilit˘ a familia
de polinoame ortogonale, prin alegerea ponderii w(x), se afl˘ a r˘ ad˘ acinile aces-
tora, iar coeficient ¸ii Airezult˘ a prin integrarea polinoamelor Lagrange asociat ¸i
r˘ ad˘ acinilor conform relat ¸iei ( 2.68).
Am v˘ azut ˆ ıns˘ a ˆ ın 1.1.1, c˘ a interpolarea polinomial˘ a global˘ a nu converge
ˆ ıntotdeauna c˘ atre funct ¸ia f. O ˆ ıntrebare natural˘ a este dac˘ a o asemenea com-
portare nu ar ap˘ area ¸ si ˆ ın formulele de integrare Gauss. Condit ¸ia de ortogo-
nalitate ( 2.74) joac˘ a un rol esent ¸ial aici ¸ si se poate demonstra (Stieltjes) c˘ a,
pentru funct ¸ii fcontinue, aproximarea Gauss converge c˘ atre valoarea exact˘ a a
integralei pe m˘ asur˘ a ce N→∞ .
Fie acumfo funct ¸ie de clas˘ a C2N[a,b] oarecare, nu neap˘ arat un polinom.
Dorim s˘ a determin˘ am dac˘ a se obt ¸ine o eroare mai mic˘ a la integrare prin folosirea
unei formule Gauss cu Nnoduri, prin comparat ¸ie cu formul˘ arile anterioare.
Teorema de mai sus sugereaz˘ a compararea cu un polinom de grad 2 N−1. Un
polinom de grad 2 N−1 poate fi definit de valorile funct ¸iei ¸ si derivatei ˆ ın cele
Nnoduri, dup˘ a cum am v˘ azut la interpolarea Hermite 2.1.3,
p2N−1(xi) =f(xi), p/prime
2N−1(xi) =f/prime(xi), i=1,N. (2.76)
2.2.Integrarea numeric˘ a 71
Eroarea la interpolare este dat˘ a de ( 2.38), de unde rezult˘ a
/integraldisplayb
aw(x)f(x)dx−/integraldisplayb
aw(x)p2N−1(x)dx=/integraldisplayb
aw(x)N/productdisplay
i=1(x−xi)2f(2N)(ζ(x))(2
N)!dx.
(2.77)
Formula de integrare Gauss, fiind exact˘ a pentru polinoame de grad maxim 2 N−
1, rezult˘ a
/integraldisplayb
aw(x)p2N−1(x)dx=N/summationdisplay
i=1Aip2N−1(xi) =N/summationdisplay
i=1Aif(xi), (2.78)
de unde eroarea la integrarea funct ¸iei feste
δ=/integraldisplayb
aw(x)f(x)dx−N/summationdisplay
i=1Aif(xi) =1(2
N)!/integraldisplayb
aw(x)N/productdisplay
i=1(x−xi)2f(2N)(ζ(x))dx.
(2.79)
Nodurilexise aleg ca fiind r˘ ad˘ acinile polinomului q(x) de gradul N¸ si ortogonal
pe orice polinom p(x) de grad pˆ an˘ a la N−1. Conform teoremei de medie, avem
δ=f(2N)(ξ)(2
N)!/integraldisplayb
aw(x)q2(x)dx, ξ∈(a,b). (2.80)
Recunoa¸ stem aparit ¸ia produsului scalar
(q,q) =/integraldisplayb
aw(x)q2(x)dx (2.81)
(vezi 1.4.2). Ca atare, eroarea la integrarea Gauss este
δ=f(2N)(ξ) (q,q)/(2N)!. (2.82)
Dac˘ af∈C2N[a,b], atuncif(2N)(ξ) este m˘ arginit˘ a. Produsul ( q,q) se poate
evalua folosind relat ¸iile de recurent ¸˘ a ( 1.94) ¸ si este de asemenea m˘ arginit. ˆIn
plus, factorul ( q,q)/(2N)! scade rapid cu cre¸ sterea lui N. S˘ a consider˘ am acum
cele mai des ˆ ıntˆ alnite cazuri.
Formule Gauss-Legendre.
Mai ˆ ıntˆ ai lu˘ am ponderea w(x) = 1, adic˘ a vom considera integrala obi¸ snuit˘ a.
Intervalul canonic uzual este [ −1,1]. Orice alt interval de integrare [ a,b] poate
fi u¸ sor transformat ˆ ın [ −1,1] prin substitut ¸ia z= 2(x−a)/(b−a)−1
/integraldisplayb
af(x)dx=b−a
2/integraldisplay+1
−1F(z)dz, F (z)≡f/parenleftbiggb−a
2z+b+a
2/parenrightbigg
.(2.83)
72 2.Derivarea s ¸i integrarea numeric ˘a
ˆIn cazul de fat ¸˘ a condit ¸ia de ortogonalitate este
/integraldisplay+1
−1p(x)q(x)dx= 0, (2.84)
identic˘ a cu ( 1.96), a¸ saˆ ıncˆ at polinoamele q(x) sunt polinoamele Legendre. Pozit ¸iile
zerourilorzi¸ si ponderile aferente Aisunt redate, pentru cˆ ateva valori ale lui N,
ˆ ın tabelul ( 2.1). Integrala pe [−1,1] se aproximeaz˘ a prin
/integraldisplay+1
−1F(z)dz∼=N/summationdisplay
i=1AiF(zi), (2.85)
iar cea pe [a,b] prin
/integraldisplayb
af(x)dx∼=b−a
2N/summationdisplay
i=1Aif(xi), (2.86)
cuxi= (b−a)zi/2 + (a+b)/2. Din relat ¸iile de recurent ¸˘ a ( 1.94) ¸ si (2.82) rezult˘ a
eroarea la integrare
δ= 22N+1(N!)4f(2N)(ξ)/(2N+ 1)[(2N)!]3(2.87)
pe intervalul [−1,1] sau
δ= (b−a)2N+1(N!)4f(2N)(ξ)/(2N+ 1)[(2N)!]3(2.88)
pe intervalul [ a,b] folosind substitut ¸ia de mai sus. Abscisele xiˆ ın care se eva-
lueaz˘ a funct ¸ia Fnu sunt de regul˘ a echidistante. Putem ˆ ıns˘ a pune ˆ ın evident ¸˘ a
un pas mediu h= (b−a)/N, pentru a determina ordinul erorii ˆ ın vederea
compar˘ arii cu metodele anterioare. Se obt ¸ine
δ=/parenleftbiggb−aN
/parenrightbigg2N+1N2N+1f(2N)(ξ)(
N!)4(2N+ 1)[(2N)!]3<h2N+1f(2N)(ξ)(
N!)4(2N)!(2.89)
¸ si se observ˘ a obt ¸inerea unui ordin al erorii de O(h2N+1), folosind doar Nevalu˘ ari
ale funct ¸iei f. Mai mult, coeficientul numeric din ( 2.89) scade exponent ¸ial cu
cre¸ sterea lui N(vezi tabelul 2.1).
Formule Gauss-Cebˆ a¸ sev.
Consider˘ am acum ponderea w(z) = (1−z2)−1/2pe intervalul [−1,1].Se poate
observa c˘ a funct ¸ia pondere prezint˘ a singularit˘ at ¸i ˆ ın ±1. Utilitatea practic˘ a a
unei astfel de ponderi este integrarea numeric˘ a a funct ¸iilor ce prezint˘ a acela¸ si
gen de singularitate integrabil˘ a ˆ ın capetele domeniului de integrare. Fie f(z) o
2.2.Integrarea numeric˘ a 73
Tabelul 2.1: R˘ ad˘ acinile zi, ponderile Ai¸ si eroarea la integrarea Gauss-Legendre
Nzi Ai δ
2∓1/√
31 h5f(4)(ξ)2
8·33·53
∓/radicalbig
3/5
05/9
8/9h7f(6)(ξ)2
16·33·53·74
∓0.86113 63115 94053
∓0.33998 10435 848560.34785 48451 37454
0.65214 51548 62546h9f(8)(ξ)2
15·312·53·73
5∓0.90617 98459 38664
∓0.53846 93101 05683
00.23692 68850 56189
0.47862 86704 99366
0.56888 88888 888895h11f(10)(ξ)2
36·316·73·11
astfel de funct ¸ie ¸ si s˘ a presupunem c˘ a avem de evaluat integrala acestei funct ¸ii
pe [−1,1].Putem da factor comun fort ¸at termenul singular
/integraldisplay+1
−1f(z)dz=/integraldisplay+1
−1w(z)F(z)dz
undeF(z) este acum o funct ¸ie continu˘ a. Cea de-a doua integral˘ a se poate
evalua prin folosirea formulelor Gauss-Cebˆ a¸ sev. Avantajul unui astfel de pro-
cedeu const˘ a ˆ ın izolarea comport˘ arii singulare din capete ˆ ın funct ¸ia pondere.
R˘ ad˘ acinile ¸ si ponderile sunt (vezi ¸ si 1.2.1)
zi= cos [(2i−1)π/2N], Ai=π/N, i =1,n. (2.90)
Integrala pe [−1,1] se evalueaz˘ a ca
/integraldisplay+1
−1F(z)√
1−z2dz=πN
N/summationdisplay
i=1F(zi) +2πF(2N)(ζ)2
N(2N)!, ζ∈(−1,1) (2.91)
unde ultimul termen este eroarea la integrare. Deoarece toate ponderile Aide la
formulele Gauss-Cebˆ a¸ sev au aceea¸ si valoare, aceste formule necesit˘ a un num˘ ar 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
num˘ ar de integrale din interiorul unei bucle, se prefer˘ a utilizarea unei formule
Gauss-Cebˆ a¸ sev.
Formule Gauss-Laguerre.
Un alt gen de comportare singular˘ a apare la integrarea pe un interval semi-
infinit. Ponderea adecvat˘ a este ˆ ın acest caz w(x) = exp(−x) ¸ si familia de
polinoame ortogonale indus˘ a de aceast˘ a funct ¸ie pondere este cea a polinoamelor
Laguerre din 1.4.2. Formula de calcul este ˆ ın acest caz
/integraldisplay∞
0e−xf(x)dx=N/summationdisplay
i=1Aif(xi) +(N!)2
(2N)!f(2N)(ξ), ξ∈(0,∞) (2.92)
cu r˘ ad˘ acinile ¸ si ponderile din tabelul 2.2.
74 2.Derivarea s ¸i integrarea numeric ˘a
Tabelul 2.2: R˘ ad˘ acinile xi, ponderile Ai¸ si eroarea la integrarea Gauss-Laguerre
Nx i Ai
20.58578 64376
3.41421 356238.53553 39059 E-1
1.46446 60941 E-13
0.41577 45568
2.29428 03603
6.28994 508297.11093 00993 E-1
2.78517 73357 E-1
1.03892 56502 E-24
0.32254 76896
1.74576 11012
4.53662 02969
9.39507 091236.03154 10434 E-1
3.57418 69244 E-1
3.88879 08515 E-2
5.39294 70556 E-15
0.26356 03197
1.41340 30591
3.59642 57710
7.08581 00058
12.64080 084435.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: R˘ ad˘ acinile zi, ponderile Ai¸ si eroarea la integrarea Gauss-Hermite
N∓xi Ai
20 .70710 678128 .86226 92545 E-13
0
1.22474 487141.18163 59006
2.95408 97515 E-14
0.52464 76233
1.65068 012398.04914 09001 E-1
8.13128 35447 E-25
0
0.95857 24646
2.02018 287059.45308 72048 E-1
3.93619 32315 E-1
1.99532 42059 E-2
Formule Gauss-Hermite.
ˆIn fine, pentru domeniile de integrare infinite se poate folosi ponderea w(x) =
exp(−x2) ¸ si polinoamele Hermite asociate. Formula de integrare numeric˘ a este
/integraldisplay∞
−∞e−x2f(x)dx=N/summationdisplay
i=1Aif(xi) +(N!)√π
2N(2N)!f(2N)(ξ), ξ∈(−∞,∞) (2.93)
cu r˘ ad˘ acinile ¸ si ponderile din tabelul 2.3
Exemplu . (Calculul lungimii de arc al unui sfert de elips˘ a) Punctele de pe o elips˘ a
satisfac ecuat ¸ia ( x/a)2+ (y/b)2= 1 ¸ si pot fi descrise parametric prin x=acosθ,
y=bsinθ. Presupunem a>b . Lungimea de arc cerut˘ a este
L=/integraldisplay
dl=/integraldisplay/radicalbig
dx2+dy2=/integraldisplayπ/2
0/radicalbig
a2sin2θ+b2cos2θdθ. (2.94)
2.2.Integrarea numeric˘ a 75
Figura 2.2: Eroarea relativ˘ a εfunct ¸ie de pasul convent ¸ional h= 2/nla integrare
Gauss-Cebˆ a¸ sev.
Prin substitut ¸ia z= cosθse obt ¸ine
L=b/integraldisplay1
0√
1 +k2z2
√
1−z2dz=b
2/integraldisplay1
−1√
1 +k2z2
√
1−z2dz, (2.95)
undek2≡(a2−b2)/b2iar ultima egalitate s-a obt ¸inut observˆ and c˘ a funct ¸ia de sub
integral˘ a este par˘ a. Integralele de tipul de mai sus se numesc integrale eliptice ¸ si
formeaz˘ a un capitol important al analizei matematice. Se observ˘ a c˘ a am obt ¸inut o
integral˘ a de forma
L=b
2/integraldisplay1
−1f(z)√
1−z2dz=b
2I, (2.96)
ˆ ın care apare ponderea Cebˆ a¸ sev w(z) = 1/√
1−z2. Pentru evaluarea integralei folosim
formula ( 2.91) cu coeficient ¸ii din ( 2.90). Pentrua= 5,b= 4 rezult˘ a k= 3/4, iar ¸ sirul
de aproximat ¸ii succesive ale integralei ce se obt ¸ine m˘ arind ordinul formulei Gauss-
Cebˆ a¸ sev 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 furnizeaz˘ a valoarea I= 3.54520849. Se observ˘ a convergent ¸a
rapid˘ a c˘ atre valoarea de referint ¸˘ a. Este instructiv ˆ ın acest sens graficul de convergent ¸˘ a
ˆ ın coordonate logaritmice (fig. 2.2). Se observ˘ a pe acest grafic cum panta curbei scade
continuu, denotˆ and o sc˘ adere a erorii mai rapid˘ a decˆ at cea polinomial˘ a (pentru care
graficul ar fi fost o linie dreapt˘ a ˆ ın coordonate logaritmice, vezi Exemplul din2.1.1
¸ si fig. 2.1). O astfel de comportare a erorii se nume¸ ste spectral˘ a ¸ si, ˆ ın comparat ¸ie cu
comport˘ arile erorii O(hk) de la integrarea polinomului de interpolare, la o aproximare
spectral˘ a avem δ=O(h∞).Ordinul infinit se interpreteaz˘ a ˆ ın sensul c˘ a eroarea scade
mai repede decˆ at orice putere a lui h.ˆIn cazul de fat ¸˘ a de exemplu ˆ ıntre n= 2 ¸ sin= 3
eroarea a avut o comportare δ=O(h0.7) pe cˆ and ˆ ıntre n= 16 ¸ sin= 17 comportarea
a fostδ=O(h640).
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
δ=Cf(k)(ξ)hm, (2.98)
undeCeste o constant˘ a. Sunt foarte rare ˆ ıns˘ a aplicat ¸iile ˆ ın care derivata este
cunoscut˘ a. Dup˘ a cum s-a ment ¸ionat, partea important˘ a a expresiei ( 2.98) este
dependent ¸a de pasul h.ˆIntrebarea ce apare totdeauna ˆ ıntr-o aplicat ¸ie este: cum
se poate stabili pasul hnecesar atingerii unei precizii impuse ε? Vom considera
acum cˆ ateva tehnici ce permit determinarea preciziei de integrare. O tr˘ as˘ atur˘ a
important˘ a a tehnicilor considerate este c˘ a ele pot fi aplicateˆ ımpreun˘ a cu oricare
dintre formulele de integrare considerate mai sus.
Reguli de integrare recursive.
Singura modalitate practic˘ a de verificare a convergent ¸ei aproxim˘ arilor numerice
ale unei integrale este repetarea calculelor cu un pas mai mic. O tehnic˘ a des
utilizat˘ a este ˆ ınjum˘ at˘ at ¸irea pasului. Consider˘ am intervalul [ a,b] ¸ si o diviziune
echidistant˘ a a sa ˆ ın Np˘ art ¸i egale. Pasul diviziunii este hN= (b−a)/Niar
nodurile sunt x(N)
j=a+jh,j=0,N3. Prin ˆ ınjum˘ at˘ at ¸irea pasului obt ¸inem
h2N= (b−a)/2N,x(2N)
j=a+jh,j=0,2N. Deoarece x(2N)
2j=x(N)
j,j=0,N,
rezult˘ ay(2N)
2j=y(N)
jundey(2N)
2j=f(x(2N)
2j),y(N)
j=f(x(N)
j). Deci valorile
funct ¸iei cunoscute din calculul efectuat cu pasul hNpot fi refolosite ˆ ın calculul
efectuat cu pasul h2N. Noua aproximare a integralei se poate exprima recursiv
utilizˆ and vechea aproximare ¸ si valorile funct ¸iei fˆ ın noile noduri x(2N)
2j+1,j=0
,2N−1. S˘ a stabilim efectiv aceste reguli pentru dou˘ a dintre formulele cele
mai utilizate, cea a trapezelor ( 2.53) ¸ si formula Simpson “1/3” ( 2.56).
Vom nota prin T(hN) aproximarea integralei Iobt ¸inut˘ a prin formula trape-
zelor ( 2.53) cuNintervale ¸ si prin T(h2N) aproximarea obt ¸inut˘ a cu 2 Nintervale.
2T(hN)/hN¸ si 2T(h2N)/h2Nsunt
/bracketleftBig
y(N)
0 + + 2 y(N)
1 +… + 2y(N)
N−1+ + y(N)
N/bracketrightBig
/bracketleftBig
y(2N)
0 + 2y(2N)
1 + 2y(2N)
2 +… + 2y(2N)
2N−2+ 2y(2N)
2N−1+y(2N)
2N/bracketrightBig,
respectiv. Valorile egale au fost aliniate pe vertical˘ a. T ¸ inˆ and cont c˘ a avem
h2N=hN/2 se obt ¸ine
T(h2N) =12
T(hN) +h2NN/summationdisplay
j=1y(2N)
2j−1. (2.99)
3Datorit˘ a operat ¸iilor succesive de ˆ ınjum˘ at˘ at ¸ire este preferabil˘ a ˆ ınceperii numerot˘ arii nodu-
rilor de la 0.
2.2.Integrarea numeric˘ a 77
Formula trapezelor furnizeaz˘ a o regul˘ a recursiv˘ a deosebit de simpl˘ a datorit˘ a
faptului c˘ a avem aceea¸ si coeficient ¸i numerici la formulele din etapele N¸ si 2N.
Pentru alte formule, regulile recursive sunt mai complicate datorit˘ a alternant ¸ei
coeficient ¸ilor. Exemplific˘ am modalitatea de abordare pentru formula Simpson
“1/3”. Vom nota prin S(h2N) suma din ( 2.56). Deoarece formula lucreaz˘ a
cu un num˘ ar par de intervale, vom face trecerea de la etapa 2 Nla etapa 4N.
Coeficient ¸ii asociat ¸i valorilor nodale sunt reprezentat ¸i grafic pe schema de mai
jos.
Valorile funct ¸iei ce trebuiesc calculate ˆ ın etapa 4 Nsunt cele de indice im-
par. Pentru cele de indice par se pot refolosi rezultatele etapei 2 N. Datorit˘ a
alternant ¸ei coeficient ¸ilor este convenabil s˘ a separ˘ am suma S(h2N) ˆ ın suma com-
ponentelor pare ¸ si a celor impare
S(h2N) =Spar(h2N) +Simpar (h2N), (2.100)
Spar(h2N) =h2N
3/bracketleftBig
y(2N)
0+ 2y(2N)
2+…+ 2y(2N)
2N−2+y(2N)
2N/bracketrightBig
, (2.101)
Simpar (h2N) =4h2N
3/bracketleftBig
y(2N)
1+y(2N)
3+…+y(2N)
2N−3+y(2N)
2N−1/bracketrightBig
. (2.102)
Regula recursiv˘ a de trecere la noua etap˘ a este
Spar(h4N) =12
Spar(h2N) +14
Simpar (h2N), (2.103)
S(h4N) =Spar(h4N) +Simpar (h4N). (2.104)
Regulile recursive se folosesc ˆ ın cadrul unei bucle de verificare a convergent ¸ei
aproxim˘ arilor. Exemplific˘ am, pentru regula recursiv˘ a Simpson “1/3”, ˆ ın algo-
ritmul de mai jos. ˆIn urma aplic˘ arii algoritmului, se obt ¸ine un ¸ sir de aproximat ¸ii
ale integralei S1,S2,… ,SMcalculate cu 21,22, … , 2Msubintervale.
M←1, N←2, h←(b−a)/2
Spar←h(f(a) +f(b))/3, Simpar←4hf(a+h)/3
S1←Spar+Simpar
78 2.Derivarea s ¸i integrarea numeric ˘a
repet˘ a
N←2N, M←M+ 1, doih←h, h←h/2
Spar←Spar/2 +Simpar/4
x←a+h, Simpar←0
k= 1 : 2 :N/bracketleftbigg
Simpar←Simpar +f(x)
x←x+doih
Simpar←4hSimpar/3
SM←Spar+Simpar
pˆ an˘ a cˆ and|SM−SM−1|≤ε|SM|+εSsauM >M max.(2.105)
Condit ¸ia de oprire a iterat ¸iei este cea de atingere a unei erori relative impuse ε
|(SM−SM−1)/SM|≤ε, (2.106)
transcris˘ a convenabil pentru a permite ¸ si SM= 04(sau foarte mic). ˆIn plus, se
impune un num˘ ar maximal de subdiviz˘ ari Mmaxce nu trebuie dep˘ a¸ sit.
Extrapolarea Richardson.
Sunt multe situat ¸ii ˆ ın care evaluarea funct ¸iei feste costisitoare ¸ si este de dorit
obt ¸inerea unei precizii sporite cu un num˘ ar minim de evalu˘ ari ale funct ¸iei. Vom
considera acum un procedeu de ˆ ımbun˘ at˘ at ¸ire a aproximat ¸iilor ce se bazeaz˘ a pe
cunoa¸ sterea formei erorii de integrare ( 2.98). Consider˘ am mai ˆ ıntˆ ai aproximarea
prin formula trapezelor. Valoarea exact˘ a a integralei este
I=T(h) +Cf(2)(ξ1)h2. (2.107)
ˆInjum˘ at˘ at ¸ind pasul avem
I=T(h/2) +Cf(2)(ξ2)h2/4, (2.108)
cuξ1/negationslash=ξ2ˆ ın general. Dac˘ a se poate presupune ˆ ıns˘ a c˘ a f(2)(ξ1)∼=f(2)(ξ2)5se
poate elimina Cf(2)(ξ1) din cele dou˘ a 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(hk) , (2.110)
cuk>2. Acela¸ si procedeu aplicat pentru formula Simpson, la care avem
I=S(h) +Cf(4)(ξ)h4, (2.111)
conduce la
I=S(h/2) + [S(h/2)−S(h)]/15 +O(hk), k> 4. (2.112)
4εSeste denumit coeficient de sigurant ¸˘ a ¸ si permite oprirea iterat ¸iilor ¸ si cˆ and SM= 0.
Uzual se ia εS=ε¸ si condit ¸ia de oprire a iterat ¸iilor se scrie |SM−SM−1|≤ε(1 +|SM|).
5Presupunerea f(2)(ξ1)∼=f(2)(ξ2) implic˘ a fie c˘ a ξ1nu difer˘ a de ξ2fie c˘ af(2)(x) nu are
variat ¸ii importante pe intervalul considerat.
2.2.Integrarea numeric˘ a 79
Algoritmul Romberg.
Punctul slab al tehnicii de mai sus este presupunerea f(2)(ξ1)∼=f(2)(ξ2). Exist˘ a
ˆ ıns˘ a o cale de a justifica acest pas pentru funct ¸ii netede, f∈C(2m)[a,b]. Punctul
de pornire ˆ ıl constituie formula Euler-MacLaurin6
/integraldisplay1
0F(t)dt=F(0) +F(1)2
+m−1/summationdisplay
k=1A2k/bracketleftBig
F(2k−1)(0)−F(2k−1)(1)/bracketrightBig
−A2mF(2m)(ξ0),
cuξ0∈[0,1] ¸ siA2kconstante numerice. Aplic˘ am formula pentru F(t) =f(xj+
th) ¸ si obt ¸inem
/integraldisplayxj+1
xjf(x)dx =h[f(xj) +f(xj+1)]2
+m−1/summationdisplay
k=1A2kh2k/bracketleftBig
f(2k−1)(xj)−f(2k−1)(xj+1)/bracketrightBig
−A2mh2m+1f(2m)(ξi).
Prin sumarea/summationtext2N−1
j=0, se obt ¸ine
/integraldisplayb
af(x)dx =2N−1/summationdisplay
j=0h[f(xj) +f(xj+1)]2
+m−1/summationdisplay
k=1A2kh2k/bracketleftBig
f(2k−1)(a)−f(2k−1)(b)/bracketrightBig
−A2m(b−a)h2mf(2m)(ξ).
Prima sum˘ a este chiar aproximarea prin formula trapezelor T(h), astfel ˆ ıncˆ at
avem
I=/integraldisplayb
af(x)dx=T(h) +a2h2+a4h4+…+a2mh2mf(2m)(ξ). (2.113)
De data aceasta, observ˘ am c˘ a s-a obt ¸inut un coeficient a2al primului ter-
men din eroare, ce este constant. Ca atare, extrapolarea Richardson este justi-
ficat˘ a. De fapt procedeul de extrapolare poate fi repetat de m−1 ori. Aceast˘ a
combinat ¸ie dintre regula trapezelor recursiv˘ a ¸ si extrapolare Richardson este cu-
noscut˘ a ca metoda Romberg . FieR(n,m) estimarea integralei obt ¸inut˘ a cu 2nsu-
bintervale ¸ si metape de extrapolare Richardson. Avem R(n,0) =T((b−a)/2n)
¸ si
R(n,m) =R(n,m−1) +14
m−1[R(n,m−1)−R(n−1,m−1)].(2.114)
ˆIn scrierea programelor de calcul, este recomandat˘ a utilizarea formei de mai sus
ˆ ın care se adaug˘ a o corect ¸ie R(n,m−1)−R(n−1,m−1), la o aproximat ¸ie deja
efectuat˘ aR(n,m−1), spre deosebire de forma
R(n,m) =4m
4m−1R(n,m−1)−14
m−1R(n−1,m−1). (2.115)
6Formula rezult˘ a din integrarea prin p˘ art ¸i repetat˘ a ¸ si alegerea convenabil˘ a a constantelor
de integrare:/integraltext1
0F(t)dt=/bracketleftbig
(t−12
)F(t)/bracketrightbig1
0−/integraltext1
0(t−12
)F/prime(t)dt=…
80 2.Derivarea s ¸i integrarea numeric ˘a
Calculul se organizeaz˘ a 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 parcurgeˆ ın sensul umplerii triunghiurilor inferioare: R(0,0),R(1,0),R(1,1),
R(2,0),R(2,1),R(2,2),… .Noi evalu˘ ari ale funct ¸iei fsunt necesare doar pen-
tru prima coloan˘ a 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
repet˘ a
n←n+ 1;N←2N;doih←h;h←h/2
R(n,0) = 0;x←a+h
k= 1 : 2 :N/bracketleftbigg
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;putere 4←1
repet˘ a
putere 4←4putere 4;m←m+ 1
dif←R(n,m−1)−R(n−1,m−1)
R(n,m)←R(n,m−1) +dif/ (putere 4−1)
AtinsPrecizie←|R(n,m)−R(n,m−1)|≤ε(1 +|R(n,m−1)|)
pˆ an˘ a cˆ andm>n sauAtinsPrecizie
pˆ an˘ a cˆ and AtinsPrecizie saun>n max.
Partea cea mai sensibil˘ a a algoritmului este stabilirea unei condit ¸ii de oprire.
Cea de mai sus este simpl˘ a dar funct ¸ioneaz˘ a bine doar pentru funct ¸ii netede.
ˆIn aplicat ¸ii ale procedeului trebuie atent e¸ santionat˘ a funct ¸ia de sub integral˘ a
pentru a determina prezent ¸a unor singularit˘ at ¸i sau zone de variat ¸ii rapide ce ar
ˆ ımpiedica ameliorarea aproximat ¸iilor prin extrapolarea Richardson.
Integrarea adaptiv˘ a.
Pe lˆ ang˘ a atingerea unei precizii impuse, ˆ ın practic˘ a, se dore¸ ste atingerea acestei
precizii cu un num˘ ar minim de evalu˘ ari ale funct ¸iei f.Algoritmii considerat ¸i
pˆ an˘ a acum prezint˘ a dezavantajul c˘ a realizeaz˘ a o diviziune a ˆ ıntregului interval
de integrare. Ori, este adesea cazul c˘ a subdivizarea este necesar˘ a numai pe zone
restrˆ anse, de variat ¸ie mai rapid˘ a a funct ¸iei f(fig. 2.3). Strategia adecvat˘ a este
de verificare a ˆ ındeplinirii unei condit ¸ii de eroare pe fiecare subinterval ˆ ın parte
¸ si de subdivizare numai a acelor subintervale pe care aceast˘ a condit ¸ie nu este
ˆ ındeplinit˘ a.
2.2.Integrarea numeric˘ a 81
Algoritmul poate fi exprimat elegant sub form˘ a recursiv˘ a .FieFo formul˘ a
de integrare pe care o vom aplica pentru a calcula/integraltextb
af(x)dx, cu eroarea relativ˘ a
ε. Not˘ am prin P(F,a,b,ya,yb,ε) funct ¸ia de integrare adaptiv˘ a. S-au introdus
ca argumente ¸ si ya≡f(a),yb≡f(b), pentru a se putea refolosi evalu˘ arile de
funct ¸ie ˆ ın capetele intervalului, atunci cˆ and se face o subdivizare. Algoritmul
este
P(F,a,b,ya,yb,ε)
Iab←F(a,b,ya,yb)
c←(a+b)/2, yc←f(c)
Iac←F(a,c,ya,yc), Icb←F(c,b,yc,yb)
Inou←Iac+Icb
dac˘ a|Inou−Iab|≤ε(1 +|Inou|) atunciP←Inou
altfelP←P(F,a,c,ya,yc,ε) +P(F,c,b,yc,yb,ε)(2.117)
Pentru intervalul [ a,b], se efectueaz˘ a dou˘ a evalu˘ ari ale integralei, folosind for-
mulaF. PrimaIabutilizeaz˘ a tot intervalul, cealalt˘ a Inouutilizeaz˘ a o divizare ˆ ın
dou˘ a a intervalului. Dac˘ a, ˆ ıntre cele dou˘ a evalu˘ ari condit ¸ia de eroarea relativ˘ a
este ˆ ındeplinit˘ a, se accept˘ a evaluarea mai precis˘ a Inou. Altfel se repet˘ a aplica-
rea procedeului pe cele dou˘ a subintervale [ a,c], [c,b]. Procedeul se zice recursiv
deoarece funct ¸ia Pse autoapeleaz˘ a.
Integrarea adaptiv˘ a poate fi cuplat˘ a cu oricare dintre formulele de integrare
prezentate anterior. Pentru formula Simpson “1/3” avem
F(a,b,ya,yb)/bracketleftbigg
h←(b−a)/2, ym←f(a+h)
F←h(ya+ 4ym+yb)/3, (2.118)
iar pentru formula Gauss-Legendre de ordinul III (vezi tabel 2.1):
F(a,b,ya,yb)
z1=−/radicalbig
3/5, z 2= 0, z 3=/radicalbig
3/5
A1= 5/9, A 2= 8/9, A 3= 5/9
m←(b−a)/2, n←(a+b)/2
j= 1 : 3
xj=mzj+n
F←m(A1f(x1) +A2f(x2) +A3f(x3)). (2.119)
Exemplu 1 . Consider˘ am integrala
I=/integraldisplay10
0f(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 s˘ a compar˘ am diversele metode
de integrare pe acest caz. Impunem atingerea unei erori relative de ε= 10−6(6 cifre
semnificative exacte). Prin regulile recursive, pentru formula trapezelor ¸ si formula
Simpson “1/3”, se obt ¸in rezultatele din tabelul urm˘ ator.
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 figurate pe axa absciselor ¸ si pe graficul funct ¸iei nodurile folosite la integrarea
adaptiv˘ a cu formula Simpson “1/3”.
M trapezeSimpson “1/3” M trapezeSimpson “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 fpentru formula trapezelor ¸ si 1025 pentru formula
Simpson pˆ an˘ a la atingerea erorii impuse.
Aplic˘ am acum extrapolarea Richardson asupra rezultatelor de la metoda trapezelor
(metoda Romberg). Se obt ¸ine tabelul de mai jos.
nØm 01 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 opre¸ ste la n= 4,m= 4, deoarece corect ¸ia adus˘ a de extrapolare este
mic˘ a, l˘ asˆ and primele 6 cifre semnificative nemodificate. Dar rezultatul este foarte
departe de cel exact ¸ si de fapt nu avem nici o cifr˘ a semnficativ˘ a corect˘ a. Funct ¸ia f
prezint˘ a dou˘ a puncte de variat ¸ie foarte rapid˘ a, la x= 1 ¸ six= 3. Acestea apar ca ni¸ ste
singularit˘ at ¸i dac˘ a rata de e¸ santionare a funct ¸iei fnu este suficient de fin˘ a.
2.2.Integrarea numeric˘ a 83
ˆIn fine, compar˘ am diversele formule de integrare ˆ ın interiorul procedurii adaptive
P(F,a,b,ya,yb,ε). Se obt ¸in rezultateleF
ormul˘ aT rapezeSimpson “1/3”GL IIGL IIIGL IV
I 45.541945.5405 45.5404 45.5405 45.5404 ev
alu˘ arif 839557 877 573 485 (2.123)
unde prin GL ns-a notat formula Gauss-Legendre de ordinul n. Procedeul adap-
tiv determin˘ a ˆ ın general corect cele 6 cifre semnificative cerute. Except ¸ie face doar
metoda trapezelor. Nesatisfacerea preciziei ˆ ın acest caz este rezultatul condit ¸iei de
oprire a iterat ¸iilor. S-a presupus necunoscut˘ a valoarea exact˘ a ¸ si s-au comparat dou˘ a
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 ˆ ıns˘ a strict valabil doar
cˆ andn→∞ . Exemplul de aici ne arat˘ a pericolul identific˘ arii aproprierii dintre dou˘ a
aproximat ¸ii cu aproprierea aproximat ¸iilor de solut ¸ia exact˘ a. Pentru a preveni o esti-
mare eronat˘ a a preciziei cu care s-a determinat un rezultat trebuie impus˘ a o condit ¸ie
de eroare mai strict˘ a decˆ at cea dorit˘ a efectiv ˆ ın rezultatul final. Ref˘ acˆ and calculul cu
ε= 10−7se obt ¸ineI= 45.5407 pentru metoda trapezelor cu 1801 evalu˘ ari ale funct ¸iei
f.
Num˘ arul de evalu˘ ari de funct ¸ie scade cu cre¸ sterea ordinului de integrare. Cˆ a¸ stigul
devine din ceˆ ın ce mai micˆ ıns˘ a. Diferent ¸a de num˘ ar de evalu˘ ariˆ ıntre Simpson “1/3” ¸ si
GLII ce sunt procedee cu comport˘ ari comparabile ale erorii provine de la posibilitatea
reutiliz˘ arii nodurilor ˆ ın formula Simpson. La formulele Gauss-Legendre modificarea
intervalului conduce ¸ si la modificarea pozit ¸iei nodurilor.
Prin comparat ¸ie cu regula recursiv˘ a Simpson se observ˘ a reducerea semnificativ˘ a a
num˘ arului de evalu˘ ari ale funct ¸iei fˆ ın cazul procedurii adaptive ce utilizeaz˘ a formula
Simpson “1/3”. Nodurile folosite pentru atingerea unei erori relative de ε= 10−3sunt
reprezentate ˆ ın fig. 2.3. Se observ˘ a ˆ ındesirea nodurilor ˆ ın zonele de variat ¸ie rapid˘ a
a funct ¸iei. Pentru obt ¸inerea acelea¸ si precizii regula recursiv˘ a Simpson ˆ ımparte tot
intervalul cu acee¸ si finet ¸e rezultˆ and multe evalu˘ ari ale funct ¸iei inutile, ˆ ın zonele de
variat ¸ie lent˘ a.
Exemplul 2 . Fie acum integrala
I=/integraldisplay10
0f(x)dx, f (x) =1(
x−1)2+ 1+1(
x−3)2+ 4(2.124)
ce are valoarea exact˘ a I= 3.38318. Funct ¸ia este asem˘ an˘ atoare celei din exemplu
precedent dar are un aspect mult mai neted. Procedeul Romberg furnizeaz˘ a tabelul:
nØm 01 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 dup˘ a 65 de evalu˘ ari
ale funct ¸iei f.Funct ¸ia fiind neted˘ a extrapolarea Richardson funct ¸ioneaz˘ a corect obt ¸inˆ andu-
se ¸ si un efort de calcul mult inferior celor 1025 de evalu˘ ari de funct ¸ie necesare atingerii
acelea¸ si precizii prin regula trapezelor recursiv˘ a (de 16 ori mai put ¸ine calcule!).
85
Capitolul 3
Rezolvarea ecuat ¸iilor
neliniare
Vom aborda, la ˆ ınceput problema g˘ asirii r˘ ad˘ acinilor reale ale unei funct ¸ii
F(x), definit˘ a pe un interval [ a,b], adic˘ a a valorilor variabilei xpentru care are
loc relat ¸ia
F(x) = 0, x∈[a,b]. (3.1)
Dac˘ aF(x) este o funct ¸ie liniar˘ a problema este banal˘ a ¸ si admite o solut ¸ie ana-
litic˘ a. Ca atare vom presupune c˘ a F(x) este neliniar˘ a, caz ˆ ın care problema
devine dificil˘ a datorit˘ a absent ¸ei vreunei teoreme matematice ce s˘ a furnizeze
num˘ arul r˘ ad˘ acinilor sau vecin˘ at˘ at ¸ile ˆ ın care acestea se afl˘ a ˆ ın cazul general.
De aceea o prim˘ a etap˘ a ˆ ın rezolvarea ecuat ¸iei ( 3.1) este c˘ autarea r˘ ad˘ acinilor
pentru care se folosesc rezultate din analiza matematic˘ a, precum teorema lui
Rolle, sau e¸ santionarea funct ¸iei F(x). Dup˘ a determinarea intervalelor pe care
se afl˘ a r˘ ad˘ acini se trece la restrˆ angerea acestor intervale, proces cunoscut ¸ si sub
denumirea de localizare a r˘ ad˘ acinilor . Localizarea r˘ ad˘ acinilor se efectueaz˘ a de
regul˘ a prin procedee sigure dar nu deosebit de eficiente. Pentru a obt ¸ine rapid
o precizie ridicat˘ a a aproximat ¸iei unei r˘ ad˘ acini se efectueaz˘ a o ultim˘ a etap˘ a de
rafinare a r˘ ad˘ acinilor .
Uzual, procedeele de rezolvare a ecuat ¸iei ( 3.1) furnizeaz˘ a un ¸ sir de aproximat ¸ii
{xn}n∈Nce tinde c˘ atre o r˘ ad˘ acin˘ a α.ˆIn analiza acestor procedee este util s˘ a se
86 3.Rezolvarea ecuat ¸iilor neliniare
stabileasc˘ a o modalitate de cuantificare a rapidit˘ at ¸ii cu care ¸ sirul tinde c˘ atre li-
mit˘ a. Spunem c˘ a ¸ sirul {xn}n∈Nconverge liniar c˘ atreαdac˘ a exist˘ a c<1,N∈N
astfel ˆ ıncˆ at
|xn+1−α|≤c|xn−α|, n>N. (3.2)
Sirul{xn}n∈Nconverge p˘ atratic c˘ atreαdac˘ a exist˘ a C,N astfel ˆ ıncˆ at
|xn+1−a|≤C|xn−a|2, n>N. (3.3)
Analog se pot defini ordine de convergent ¸˘ a superioare, existˆ and ˆ ıns˘ a, un num˘ ar
mic de algoritmi ce au ordine de convergent ¸˘ a mai mari de 2. Multe metode
prezint˘ a un ordin de convergent ¸˘ a intermediar ˆ ıntre cel liniar ¸ si cel p˘ atratic.
Spunem c˘ a ¸ sirul{xn}n∈Nconverge superliniar c˘ atreαdac˘ a exist˘ a N¸ si un alt
¸ sir{εn}n∈Ncu limn→∞εn= 0 astfel ˆ ıncˆ at
|xn+1−a|≤|εn||xn−a|, n>N (3.4)
Ordinul de convergent ¸˘ a va indica num˘ arul de iterat ¸ii ce trebuiesc efectuate
pentru a atinge o anumit˘ a precizie. Metodele cu ordin de convergent ¸˘ a mai
ridicat tind s˘ a efectueze mai multe operat ¸ii aritmetice pe iterat ¸ie. De aceea este
necesar˘ a ¸ si o cuantificare a efortului de calcul ˆ ıntr-o iterat ¸ie pentru a avea o
estimare realist˘ a a timpului de calcul. Uzual, unitatea de lucru adoptat˘ a este
num˘ arul de evalu˘ ari ale funct ¸iei F(x) ˆ ıntr-o iterat ¸ie.
3.1 Metoda ˆ ınjum˘ at˘ at ¸irii intervalelor
Metoda este exemplul clasic de un procedeu de localizare. Vom presupune c˘ a
din etapa de c˘ autare s-a determinat un interval [ a,b] pentru care F(a)F(b)<0,
ceea ce denot˘ a existent ¸a a cel put ¸in unei r˘ ad˘ acini (eventual un num˘ ar impar) ˆ ın
acest interval. Metoda ˆ ınjum˘ at˘ at ¸irii ˆ ımparte intervalul ˆ ın dou˘ a p˘ art ¸i egale prin
punctul
c= (a+b)/2. (3.5)
Dac˘ aF(c) = 0, atunci ceste o r˘ ad˘ acin˘ a. Dac˘ a F(c)/negationslash= 0, se calculeaz˘ a semnul
produsului F(a)F(c). Dac˘ a acesta este negativ, F(a)F(c)<0, atunci r˘ ad˘ acina
se afl˘ a ˆ ın intervalul [ a,c], altfel r˘ ad˘ acina se afl˘ a ˆ ın [ c,b]. Calculele se reiau pe
noul subinterval.
Metoda este simpl˘ a ¸ si necesit˘ a doar o evaluare de funct ¸ie per iterat ¸ie. Con-
vergent ¸a este ˆ ıns˘ a doar liniar˘ a ( c= 1/2 ˆ ın 3.2), algoritmul efectuˆ and tipic un
3.2.Procedee iterative 87
mare num˘ ar de iterat ¸ii. Algoritmul este
Fa←F(a);Fb←F(b);m←0;e←b−a
repet˘ a
e←0.5e;c←a+e;Fc=F(c)
dac˘ a semn( Fa) = semn(Fc) atunci
[b←c;Fb←Fc
altfel
[a←c;Fa←Fc
m←m+ 1
pˆ an˘ a cˆ andm>m maxsau|b−a|<δsau|Fc|<ε(3.6)
Se poate observa utilizarea a unui cumul de trei condit ¸ii de oprire: dep˘ a¸ sirea
num˘ arului maxim de iterat ¸ii, restrˆ angerea intervalului sub un prag ales δ,sau
obt ¸inerea unei valori a funct ¸iei mai mici decˆ at num˘ arul mic ε.ˆIn algoritm
valoareaceste actualizat˘ a prin ad˘ agarea unei mici corect ¸ii e,spre deosebire de
transcrierea direct˘ a a formulei ( 3.5). Aceasta conduce tipic la un control mai
bun al erorilor numerice pe parcursul iterat ¸iilor.
3.2 Procedee iterative
Metoda ˆ ınjum˘ at˘ at ¸irii intervalului este simpl˘ a dar converge lent, deci nu este
indicat˘ a atunci cˆ and se dore¸ ste o precizie ridicat˘ a (un num˘ ar mare de cifre
semnificative exacte). De obicei, metoda ˆ ınjum˘ at˘ at ¸irii intervalului serve¸ ste pen-
tru stabilirea intervalului pe care exist˘ a o r˘ ad˘ acin˘ a real˘ a, dup˘ a care se aplic˘ a
procedee care converg mai rapid.
3.2.1 Iterat ¸ia simpl˘ a
Se scrie ecuat ¸ia ( 3.1) sub forma
F(x) =x−f(x) = 0, (3.7)
undef(x) se nume¸ ste funct ¸ie iterat˘ a , iar [a,b] este un interval pe care ¸ stim
c˘ a exist˘ a o r˘ ad˘ acin˘ a x=α(separat˘ a, spre exemplu, cu metoda ˆ ınjum˘ at˘ at ¸irii
intervalelor). Prin urmare
F(α) =α−f(α) = 0, α∈(a,b). (3.8)
Se construie¸ ste urm˘ atorul ¸ sir, ˆ ın mod recurent,
xk+1=f(xk), k = 0,1,2,… . (3.9)
Vom c˘ auta s˘ a stabilim ˆ ın ce condit ¸ii ¸ sirul ( 3.9) converge spre valorea α, plecˆ and
de la un punct arbitrar x0∈(a,b).ˆIn acest scop, vom calcula distant ¸a la
r˘ ad˘ acin˘ a
|xk+1−α|=|f(xk)−f(α)|=|f/prime(ξ)||xk−α|, ξ∈(xk,α). (3.10)
88 3.Rezolvarea ecuat ¸iilor neliniare
Am t ¸inut seama c˘ a αeste r˘ ad˘ acin˘ a, ¸ si am folosit formula cre¸ sterilor finite (La-
grange) presupunˆ and c˘ a f(x) este derivabil˘ a pe intervalul ( a,b). Notˆ and cu m
cea mai mare valoare a modulului derivatei f/prime(x)
m= sup
x∈(a,b)|f/prime(x)|, (3.11)
din ( 3.10) se obt ¸ine
|xk+1−α|≤m|xk−α|. (3.12)
Rezult˘ a c˘ a, pentru ca ¸ sirul xk+1s˘ a aib˘ a ca limit˘ a pe αeste suficient ca
m< 1, (3.13)
convergent ¸a procedeului fiind liniar˘ a. Condit ¸ia ( 3.13) este ¸ si necesar˘ a dac˘ a
dorim ca ¸ sirul ( 3.9) s˘ a convearg˘ a spre α, oricare ar fi punctul de plecare x0.
Astfel, valorile derivatei, ˆ ın modul, trebuie s˘ a fie subunitare ˆ ıntr-o vecin˘ atate a
r˘ ad˘ aciniiα, inclus˘ a ˆ ın intervalul pe care c˘ aut˘ am r˘ ad˘ acina. S ¸irul ( 3.9) define¸ ste
un procedeu de determinare a unei r˘ ad˘ acini reale denumit iterat ¸ie simpl˘ a . Forma
(3.7) a ecuat ¸iei are o interpretare geometric˘ a simpl˘ a, ilustrat˘ a ˆ ın fig. 3.1. Se
observ˘ a c˘ a, r˘ ad˘ acinile reale, dac˘ a exist˘ a, se g˘ asesc la intersect ¸ia funct ¸iei y=f(x)
cu prima bisectoare. Plecˆ and dintr-un punct x0, este accesibil˘ a doar r˘ ad˘ acina
x=α2ˆ ın vecin˘ atatea c˘ areia |f/prime(x)|<1. Pe de alt˘ a parte |f/prime(x0)|>1 deci
condit ¸ia ( 3.13) nu esteˆ ıntodeauna necesar˘ a. Pentru oprirea iterat ¸iilor un criteriu
simplu este ca distant ¸a ˆ ıntre doua aproximat ¸ii succesive sa fie suficient de mic˘ a.
Fieεprecizia dorit˘ a ¸ si n+ 1 rangul ultimei iterat ¸ii astfel ˆ ıncˆ at
|xn+1−xn|≤ε. (3.14)
Mai departe, se obt ¸ine succesiv
|xn+1−xn|=|f(xn)−xn|=|F(xn)|=|F(xn)−F(α)|=(3.15)
|xn−α||F/prime(ξn)|=|xn−α||1−f/prime(ξn)|≥|xn−α||1−m| (3.16)
T ¸ inˆ and, mai departe cont de (vezi ¸ si 3.10)
|xn+1−α|≤m|xn−α|,|xn−α|≤mε/(1−m) (3.17)
rezult˘ a c˘ a distant ¸a la r˘ ad˘ acina ultimei valori calculate, xn+1satisface inegalita-
tea
|xn+1−α|≤εm/(1−m). (3.18)
ˆIn consecint ¸˘ a, dac˘ a panta meste foarte apropiat˘ a de unitate, distant ¸a la
r˘ ad˘ acin˘ a poate fi de alt ordin de m˘ arime decˆ at εales. ˆIn particular, dac˘ a nu
s-a verificat condit ¸ia de existent ¸˘ a a r˘ ad˘ acinii, s-ar putea ca aceasta s˘ a nici nu
existe (fig. 3.1). De aceea, ˆ ın programul de calcul, se recomand˘ a testarea valorii
|f/prime(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 restrictiv˘ a, anumite r˘ ad˘ acini neputˆ and fi atinse
(cum ar fi r˘ ad˘ acina corespunz˘ atoare punctului Adin fig. 3.1). De aceea, ne
propunem construirea unui alt ¸ sir iterativ ce s˘ a tind˘ a spre r˘ ad˘ acina x=α,
xk+1=xk+β(f(xk)−xk), k = 0,1,2,… , (3.19)
unde s-a introdus parametrul de ajustare β. Evident, pentru β= 1 se obt ¸ine
iterat ¸ia simpl˘ a. Pe de alt˘ a parte, distant ¸a la r˘ ad˘ acin˘ a este
|xk+1−α|≤|xk−α+β(f(xk)−f(α) +α−xk)|= (3.20)
|xk−α||1−β(1−f/prime(ξk))|, ξk∈(xk,α). (3.21)
Pentru a realiza convergent ¸a ¸ sirului (4.15) este suficient s˘ a avem
|1−β(1−f/prime(x))|<1, x∈(a,b) (3.22)
pe intervalul unde c˘ aut˘ am r˘ ad˘ acina. Se observ˘ a c˘ a am ˆ ınlocuit ξkcux, deoarece
ξkeste, ˆ ın general, necunoscut. ˆIn particular, dac˘ a am cunoa¸ ste ξk, luˆ and
β= 1/[1−f/prime(ξk)] (3.23)
am aveaxk+1=α, adic˘ a r˘ ad˘ acina ar fi determinat˘ a.
Pentruξk=xk, din ( 3.23) ¸ si ( 3.19), se obt ¸ine formula iterativ˘ a Newton-
Raphson
xk+1=xk−F(xk)/F/prime(xk), k = 0,1,… , F/prime(xk)/negationslash= 0, (3.24)
90 3.Rezolvarea ecuat ¸iilor neliniare
ale c˘ arei condit ¸ii de convergent ¸˘ a le vom preciza mai jos. Din punct de ve-
dere geometric, procedeul iterativ ( 3.24) corespunde apropierii de r˘ ad˘ acin˘ a prin
punctele de intersect ¸ie ale tangentelor duse la curba F(x)ˆ ın punctele ( xk,F(xk))
(fig. 3.2). Altfel spus, urm˘ atoarea aproximat ¸ie a r˘ ad˘ acinii xk+1este dat˘ a de
r˘ ad˘ acina unei liniariz˘ ari a funct ¸ieiF(x). Aceea¸ si idee, de aproximare local˘ a
liniar˘ a, rezult˘ a ¸ si pe cale analitic˘ a din formula lui Taylor
F(x) =F(xk) + (x−xk)F/prime(xk) + (x−xk)2F/prime/prime(ξk)/2, ξk∈(x,xk).(3.25)
Aproximarea liniar˘ a a funct ¸iei F(x) va fi
L(x) =F(xk) + (x−xk)F/prime(xk), (3.26)
ce are r˘ ad˘ acina dat˘ a de formula ( 3.24).
Stabilim acum condit ¸iile de convergent ¸˘ a a metodei Newton-Raphson. Pentru
x=α, din ( 3.25) rezult˘ a
0 =F(xk) + (α−xk)F/prime(xk) + (α−xk)2F/prime/prime(ξk)/2. (3.27)
sau, considerˆ and F/prime(xk) diferit de zero,
α=xk−F(xk)
F/prime(xk)−(xk−α)2
2F/prime(xk)F/prime/prime(ξk). (3.28)
Scazˆ and relat ¸iile ( 3.24) ¸ si ( 3.28) se obt ¸ine distant ¸a la r˘ ad˘ acin˘ a ˆ ın aproximat ¸ia
k+ 1
|xk+1−α|= (xk−α)2|F/prime/prime(ξk)/F/prime(xk)|/2≤M(xk−α)2, (3.29)
unde am notat cu Mmarginea
M= sup
x/prime,x/prime/prime∈(a,b)|F/prime/prime(x/prime/prime)/F/prime(x/prime)|, F/prime(x/prime)/negationslash= 0. (3.30)
Relat ¸ia ( 3.29) arat˘ a c˘ a de la o etap˘ a kla o etap˘ ak+1 distant ¸a scade aproximativ
cu p˘ atratul distant ¸ei la r˘ ad˘ acina din etapa precedent˘ a, adic˘ a metoda Newton-
Raphson are o vitez˘ a de convergent ¸˘ a p˘ atratic˘ a , superioar˘ a aproximat ¸iei simple.
Efortul de calcul este de dou˘ a unit˘ at ¸i de lucru deoarece la fiecare iterat ¸ie se
evalueaz˘ a atˆ at funct ¸ia cˆ at ¸ si derivata acesteia. Astfel, notˆ and cu x0punctul de
start, se obt ¸ine
|xk+1−α|≤M−1[M(x0−α)]2k+1
. (3.31)
ˆIn consecint ¸˘ a, o condit ¸ie suficient˘ a de convergent ¸˘ a este
M|x0−α|<1. (3.32)
Dac˘ aMeste finit, condit ¸ia ( 3.32) este satisf˘ acut˘ a ˆ ıntotdeauna dac˘ a plec˘ am su-
ficient de aproape de r˘ ad˘ acin˘ a . Alt˘ a condit ¸ie de convergent ¸˘ a pentru metoda
3.2.Procedee iterative 91
Figura 3.2: Reprezentarea geometric˘ a a iterat ¸iilor din metoda Newton-Raphson (a)
¸ si secantei (b).
Newton-Raphson este urm˘ atoarea: metoda converge ˆ ıntotdeauna dac˘ a ˆ ın ve-
cin˘ atatea r˘ ad˘ acinii derivatele F/prime(x)¸ siF/prime/prime(x)p˘ astreaz˘ a un semn constant .
Dac˘ a s-a stabilit c˘ a intervalul pe care se g˘ ase¸ ste r˘ ad˘ acina este ( a,b), se poate
pleca cu aproximat ¸ia init ¸ial˘ a
x0= (a+b)/2. (3.33)
Se recomand˘ a ca ˆ ın orice etap˘ a s˘ a control˘ am ˆ ıntre ce valori se g˘ ase¸ ste r˘ ad˘ acina,
tangenta putˆ and fi dus˘ a dintr-un cap˘ at al intervalului sau din cel˘ alalt (dac˘ a
noua valoare calculat˘ a cu ( 3.24) iese ˆ ın afara intervalului ˆ ın care se g˘ ase¸ ste
r˘ ad˘ acina). Dac˘ a se iese din interval indiferent de cap˘ atul unde se duce tangenta,
se recomand˘ a o nou˘ a ˆ ınjum˘ at˘ at ¸ire a intervalului.
3.2.3 Metoda secantei
Metoda Newton-Raphson prezint˘ a dezavantajul necesit˘ at ¸ii cunoa¸ sterii derivatei
funct ¸ieiF(x). Putem ˆ ıns˘ a ˆ ınlocui linearizarea ce folose¸ ste tangenta la graficul
funct ¸iei cu cea ce folose¸ ste secanta construit˘ a cu dou˘ a iterat ¸ii succesive (fig.
3.2). Formula de iterare este
xk+1=xk−(xk−xk−1)F(xk)/[F(xk)−F(xk−1)], (3.34)
ceea ce revine la a ˆ ınlocui
F/prime(xk)∼=[F(xk)−F(xk−1)]/(xk−xk−1) (3.35)
ˆ ın (3.24), adic˘ a o aproximare cu diferent ¸e finite a derivatei. Pentru pornirea
metodei este nevoie de dou˘ a valori x0,x1. Uzual, dac˘ a se cunoa¸ ste intervalul
[a,b] pe care se afl˘ a o r˘ ad˘ acin˘ a, se ia x0=a,x1=b.ˆIn acest caz metoda poate
fi interpretat˘ a ca o ˆ ımbun˘ at˘ at ¸ire a metodei ˆ ınjum˘ at˘ at ¸irii intervalului prin faptul
92 3.Rezolvarea ecuat ¸iilor neliniare
c˘ a ˆ ımparte intervalul [ a,b] ˆ ın segmente proport ¸ionale, dintre care cel mai mic
cont ¸ine r˘ ad˘ acina (fig. 3.3).
ˆIn vederea analizei convergent ¸ei metodei not˘ am Fk=F(xk) ¸ siek=xk−α,
eroarea ˆ ın iterat ¸ia k. Avem
ek+1=xk+1−α=xk−(xk−xk−1)Fk
Fk−Fk−1−α=Fkek−1−Fk−1ek
Fk−Fk−1.(3.36)
Dˆ and factor comun fort ¸at pe ekek−1¸ si inserˆ and raportul unitar ( xk−xk−1)/(xk−
xk−1) se obt ¸ine
ek+1=ekek−1/bracketleftbiggxk−xk−1
Fk−Fk−1/bracketrightbigg/bracketleftbiggFk/ek−Fk−1/ek−1
xk−xk−1/bracketrightbigg
. (3.37)
Dezvoltarea ˆ ın serie Taylor ˆ ın jurul r˘ ad˘ acinii α
F(xk) =F(α+ek) =F(α) +ekF/prime(α) +e2
kF/prime/prime(α)/2 +O(e3
k) (3.38)
conduce la
Fk/ek=F/prime(α) +ekF/prime/prime(α)/2 +O(e2
k). (3.39)
ˆInlocuind ˆ ın ( 3.37) se obt ¸ine relat ¸ia de recurent ¸˘ a ˆ ın erori
ek+1∼=[F/prime/prime(α)/2F/prime(α)]·ekek−1, (3.40)
asem˘ an˘ atoare relat ¸iei ( 3.29) de la procedeul Newton-Raphson. ˆIn deducerea
relat ¸iei ( 3.40) s-a ˆ ınlocuit aproximarea prin diferent ¸e finite a derivatei cu F/prime(α).
Relat ¸ia sugereaz˘ a un ordin de convergent ¸˘ a mai mare decˆ at liniar dar sub cel
p˘ atratic
|ek+1|=A|ek|p. (3.41)
Avem|ek|=A|ek−1|pde unde|ek−1|=/parenleftbig
A−1|ek|/parenrightbig1/p.ˆInlocuind ˆ ın ( 3.40) vom
obt ¸ine
2A1+1/p|F/prime(α)|/|F/prime/prime(α)|∼=|ek|1−p+1/p. (3.42)
Membrul stˆ ang este ˆ ın general finit pe cˆ and ˆ ın membrul drept ek→0. Singura
posibilitate ca relat ¸ia s˘ a r˘ amˆ an˘ a valabil˘ a pe m˘ asur˘ a ce kcre¸ ste 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 ¸inut˘ a ar indica o convergent ¸˘ a mai lent˘ a decˆ at metoda
Newton-Raphson. ˆIns˘ a, ˆ ın fiecare iterat ¸ie metoda secantei efectueaz˘ a o singur˘ a
evaluare a funct ¸iei F. Pentru dou˘ a iterat ¸ii ale metodei secantei (pentru a avea
acela¸ si efort de calcul ca ¸ si metoda Newton-Raphson), ordinul de convergent ¸˘ a ar
fip2∼=2.62, metoda secantei fiind mai rapid˘ a decˆ at metoda Newton-Raphson.
3.2.Procedee iterative 93
Figura 3.3: (a) Metoda secantei restrˆ ange intervalul pe care se afl˘ a r˘ ad˘ acina la ( x2,x1),
mai mic decˆ at intervalul ( c,b) furnizat de metoda ˆ ınjum˘ at˘ at ¸irii. (b) Metoda parabo-
lelor tangente restrˆ ange rapid, din ambele capete, intervalul pe care se afl˘ a r˘ ad˘ acina
de la (a0,b0) la (a1,b1).
3.2.4 Metoda parabolelor tangente
ˆIn cadrul metodei Newton-Raphson procesul iterativ se bazeaz˘ a pe aproxima-
rea liniar˘ a local˘ a a funct ¸iei F(x). Imediat este sugerat˘ a ideea construirii unei
metode mai rapid convergente prin folosirea unei aproxim˘ ari locale mai exacte,
de exemplu prin parabole. O parabol˘ a ce aproximeaz˘ a local funct ¸ia F(x) s-ar
putea obt ¸ine din trunchierea dezvolt˘ arii ˆ ın serie Taylor
F(x)∼=F(xk) + (x−xk)F/prime(xk) + (x−xk)2F/prime/prime(ξk)/2. (3.44)
Aparit ¸ia derivatei de ordinul doi este dezavantajoas˘ a ˆ ıns˘ a, datorit˘ a pierderii de
precizie.
Mai convenabil este s˘ a se construiasc˘ a o parabol˘ a ce folose¸ ste informat ¸ii din
dou˘ a puncte ale funct ¸iei. Dac˘ a acestea se aleg ca fiind capetele intervalului [ a,b]
pe care ¸ stim c˘ a se afl˘ a o r˘ ad˘ acin˘ a se obt ¸ine o metod˘ a foarte rapid convergent˘ a1.
Vom construi dou˘ a parabole care trec prin ( a,F(a)), (b,F(b)),una fiind tangent˘ a
laF(x) ˆ ınx=a, cealalt˘ a fiind tangent˘ a la F(x) ˆ ınx=b(fig. 3.3). Se consi-
der˘ a c˘ aF(x) are derivate continui pˆ an˘ a la ordinul 3 inclusiv ( F(x)∈C3[a,b]).
Parabolele se exprim˘ a ca polinoamele de gradul doi pi(x),i∈{1,2},de forma
pi(x) =Aix2+Bix+Ci. (3.45)
Coeficient ¸ii Ai,Bi,Ci,i∈{1,2}, sunt determinat ¸i din condit ¸iile
p1(a) =F(a), p 1(b) =F(b), p/prime
1(a) =F/prime(a). (3.46)
p2(a) =F(a), p 2(b) =F(b), p/prime
2(b) =F/prime(b). (3.47)
1Metoda a fost elaborat˘ a de prof. M. Blumenfeld, 1977.
94 3.Rezolvarea ecuat ¸iilor neliniare
Notˆ and cuδiabaterea polinomului pi(x) fat ¸˘ a de funct ¸ia F(x),δi(x) =F(x)−
pi(x), se obt ¸in relat ¸iile
δ1(x) = (x−a)2δ/prime/prime
1(ξ1)/2, δ 2(x) = (x−b)2δ/prime/prime
2(ξ2)/2, (3.48)
cuξ1∈(a,x),ξ2∈(x,b). Dac˘ a derivata δ/prime/prime/prime
i(x) =F/prime/prime/prime(x) este diferit˘ a de zero pe
(a,b), rezult˘ a c˘ a derivatele δ/prime/prime
i(x) sunt monotone pe ( a,b) ¸ si se pot anula ˆ ın cel
mult un punct. S˘ a consider˘ am, spre exemplu, abaterea δ1(x). Deoarece δ1(b) =
0, rezult˘ a c˘ a δ/prime/prime
1(ξ1b) = 0, adic˘ a δ/prime/prime
1= 0 pentru valoarea ξ1bcare corespunde
luix=b.ˆIn mod similar se obt ¸ine o singur˘ a valoare ξ2acare anuleaza pe δ/prime/prime
2.
T ¸ inˆ and cont de ( 3.48), se deduc inegalit˘ at ¸ile
F/prime/prime/prime(x)δ1(x)<0, F/prime/prime/prime(x)δ2(x)>0, (3.49)
pentruF/prime/prime/prime(x)/negationslash= 0 de unde rezult˘ a c˘ a pentru x∈(a,b)
δ1(x)δ2(x)<0. (3.50)
ˆIn consecint ¸˘ a, dac˘ a derivata F/prime/prime/prime(x) nu se anuleaz˘ a pe ( a,b),F(x) se g˘ ase¸ ste
ˆ ıntre cele dou˘ a parabole tangente definite de ( 3.46,3.47).
Solut ¸ia ecuat ¸iei p1(x) = 0, care se g˘ ase¸ ste ˆ ın intervalul ( a,b) este
x0=a+ 2l(b−a)//bracketleftBig/radicalbig
k2+ 4l(k+ 1)−k/bracketrightBig
, k2+ 4l(k+ 1)≥0, (3.51)
k≡(b−a)F/prime(a)/[F(a)−F(b)], l=F(a)/[F(a)−F(b)]. (3.52)
La aplicarea algoritmului, se utilizeaz˘ a o singur˘ a formul˘ a, schimbˆ and cap˘ atul
de tangent ¸˘ a, pentru a obt ¸ine un ¸ sir care converge spre r˘ ad˘ acin˘ a cu valori din
ambele part ¸i (ˆ ın m˘ asura ˆ ın care F/prime/prime/prime(x) p˘ astreaza un semn constant).
Exemplul 1 . S˘ a se g˘ aseasc˘ a r˘ ad˘ acinile reale ale ecuat ¸iei
F(x)≡x−ln|x|−1.2 = 0 (3.53)
situate ˆ ın intervalul ( −1,2).
Rezolvare . Pentru etapa init ¸ial˘ a de c˘ autare folosim ¸ sirul lui Rolle sintetizat ˆ ın
urm˘ atorul tabel
x−10 1 2
F(x)-2.2/arrownortheast +∞|+∞/arrowsoutheast -0.2/arrownortheast 0.107
F/prime(x)2 + + ∞|−∞ -0 + 0.5
F/prime/prime(x)+ + + ∞|+∞ ++ Se
deduce prezent ¸a a trei r˘ ad˘ acini, cˆ ate una ˆ ın fiecare din intervalele ( −1,0), (0,1),
(1,2). E preferabil s˘ a se evite singularitatea din x= 0, luˆ and primele dou˘ a inter-
vale ca (−1,−ε), (ε,1) cuεapropriat de zero ¸ si care p˘ astreaz˘ a semnul funct ¸iei F.
CumF(−0.1) = 1.00259>0 ¸ siF(−0.1) = 1.20259>0,vom considera intervalele
(−1,−0.1), (0.1,1) ¸ si (1,2). Am ˆ ıncheiat etapa de c˘ autare a r˘ ad˘ acinilor. Trecem
la restrˆ angerea intervalelor sau localizarea acestora. Pentru aceast˘ a etap˘ a utiliz˘ am
ˆ ınjum˘ at˘ at ¸irea intervalelor. Nu se recomand˘ a efectuarea unui mare num˘ ar de iterat ¸ii.
Patru iterat ¸ii ale metodei conduc la intervalele precizate ˆ ın tabelul urm˘ ator pentru
prima r˘ ad˘ acin˘ a
3.2.Procedee iterative 95
k ak ck bkf(ak)f(ck)f(bk)
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 asem˘ an˘ ator furnizeaz˘ a intervalele (0 .4375,0.49375) ¸ si (1 .75,1.78125) pen-
tru celelalte dou˘ a r˘ ad˘ acini. Valorile funct ¸iei la mijloacele acestor dou˘ a intervale sunt
f(0.465625) = 0 .0299 ¸ sif(1.765625) =−0.00288, suficient de mici. S-a ˆ ıncheiat etapa
de localizare a r˘ ad˘ acinilor.
Pentru rafinarea r˘ ad˘ acinilor vom compara mai multe metode. Iterat ¸ia simpl˘ a con-
duce la relat ¸ia
xk+1=f(xk) = ln|xk|+ 1.2 (3.54)
cum=|f/prime(x)|= 1/|x|<1 doar pentru intervalul (1 .75,1.78125).Pentru celelalte
dou˘ a intervale se poate folosi modificarea iterat ¸iei simple ( 3.19) pentru care βtrebuie
s˘ a satisfac˘ a ( 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 r˘ ad˘ acinilor cu ¸ sase cifre semnificative exacte ¸ si astfel ˆ ınc˘ at valoarea
funct ¸iei s˘ a fie mai mic˘ a de 10−7. Primele cˆ ateva iterat ¸ii sunt redate ˆ ın tabelul urm˘ ator.
kβ= 0.1secan t˘ aNewton β= 0.5secan t˘ aNewton 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 – –
β= 1secan t˘ aNewton 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 simpl˘ a au necesitat 18, 18 ¸ si 20 de iterat ¸ii pˆ an˘ a la atingerea acestor condit ¸ii.
96 3.Rezolvarea ecuat ¸iilor neliniare
Se observ˘ a convergent ¸a mult mai rapid˘ a a metodelor Newton ¸ si secant˘ a fat ¸˘ a de iterat ¸ia
simpl˘ a. Metoda Newton converge ˆ ın general mai repede, ˆ ıns˘ a metoda secantei reali-
zeaz˘ a num˘ arul minim de evalu˘ ari de funct ¸ie pˆ an˘ a la atingerea preciziei impuse.
Exemplu 2 . S˘ a se determine r˘ ad˘ acina ecuat ¸iei
F(x) =ex−cosx= 0
cuprins˘ a ˆ ın intervalul (-2,-1) cu 7 cifre semnificative exacte.
Rezolvare . Vom compara de data aceasta metoda Newton-Raphson cu metoda
parabolelor tangente. Valoarea de start furnizat˘ a de metoda parabolelor tangente
(3.51) estex0=−0.17271412. Din acest punct de start se obt ¸ine r˘ ad˘ acina evident˘ a
dinx= 0. Efectu˘ am totu¸ si calculul pentru a compara cele dou˘ a metode. Iterat ¸iile
succesive sunt
kxkNewtonxkParabole tangente1
0.04198230.0376656 2
0.0016474-0.0001885 3
0.00000270.0000000 Se
observ˘ a convergent ¸a mai rapida c˘ atre solut ¸ie a metodei parabolelor tangente pe
acest exemplu.
3.3 Determinarea r˘ ad˘ acinilor polinoamelor
Metodele prezentate anterior permit determinarea r˘ ad˘ acinilor unei funct ¸ii F(x)
oarecare. Dac˘ a funct ¸ia F(x) are o form˘ a particular˘ a se pot elabora algoritmi
mai performant ¸i ce exploateaz˘ a acest fapt. Spre exemplu, metodele anterioare
necesit˘ a o aproximare init ¸ial˘ a a unei r˘ ad˘ acini ¸ si nu pot garanta obt ¸inerea tuturor
r˘ ad˘ acinilor funct ¸iei F(x). Dac˘ aF(x) este o funct ¸ie polinomial˘ a cu coeficient ¸i
reali se pot elabora metode care permit determinarea tuturor r˘ ad˘ acinilor f˘ ar˘ a a
fi nevoie de furnizarea unor aproximat ¸ii init ¸iale.
3.3.1 Metoda Lobacevschi-Graeffe
Se consider˘ a polinomul Pn(x) de gradul n, cu coeficient ¸i reali
Pn(x) =n/summationdisplay
j=0an−jxj=a0n/productdisplay
j=1(x−xj), a 0/negationslash= 0, (3.56)
avˆ and r˘ ad˘ acinile xj,j= 1,2,… ,n , reale sau complex conjugate (coeficient ¸ii aj
fiind numere reale). Reamintim prima relat ¸ie Vieta care furnizeaz˘ a o leg˘ atur˘ a
dintre coeficient ¸ii unui polinom ¸ si r˘ ad˘ acinile acestuia
x1+x2+…+xn=−a1/a0. (3.57)
Dac˘ a una din r˘ ad˘ acini, s˘ a zicem x1, ar fi mult mai mare ˆ ın modul decˆ at toate
celelalte,|x1|/greatermuch|xj|,j=2,n, relat ¸ia ( 3.57) ar conduce la
x1∼=−a1/a0, (3.58)
3.3.Determinarea r˘ ad˘ acinilor polinoamelor 97
iar r˘ ad˘ acina x1se zice preponderent˘ a .ˆIn general, nu vom putea presupune
c˘ a un polinom oarecare are o r˘ ad˘ acin˘ a preponderent˘ a. Dac˘ a ˆ ıns˘ a una dintre
r˘ ad˘ acini este mai mare ˆ ın modul decˆ at toate celelalte |x1|>|xj|,j=2,n, prin
ridicarea la o putere mare mea va deveni preponderent˘ a |xm
1|/greatermuch/vextendsingle/vextendsinglexm
j/vextendsingle/vextendsingle,j=2
,n. Procedeul Lobacevschi-Graeffe furnizeaz˘ a o metod˘ a de ridicare succesiv˘ a
la p˘ atrat a r˘ ad˘ acinilor ce permite separarea r˘ ad˘ acinilor preponderente.
Se observ˘ a imediat c˘ a, schimbˆ and xˆ ın−x, se obt ¸ine
Pn(−x) = (−1)na0n/productdisplay
j=1(x+xj). (3.59)
F˘ acˆ and apoi produsul
(−1)nPn(x)Pn(−x) =a2
0n/productdisplay
j=1(x2−x2
j), (3.60)
se obt ¸ine un polinom de gradul n, ˆ ın variabila x2. Repetˆ and procedeul pentru
polinomul ˆ ın variabila x2se obt ¸ine un polinom de gradul nˆ ın variabila x4¸ si a¸ sa
mai departe. ˆIntr-o etapa svom nota
z=xm, m = 2s, s∈N, (3.61)
iar polinomul ˆ ın variabila zse va scrie
Qn(z) =am
0n/productdisplay
j=1(z−xm
j) =n/summationdisplay
j=0(−1)jA(s)
n−jzj, m = 20,21,… , 2s.(3.62)
Evident, coeficient ¸ii Aj(s) nu se obt ¸in cu ajutorul r˘ ad˘ acinilor xjdeoarece
acestea sunt necunoscutele problemei, ci prin ˆ ınmultirea direct˘ a a polinoamelor
Pn(z) ¸ siPn(−z). Notˆ and cu A(s+1)
j valorile acestor coeficient ¸i ˆ ın etapa s+ 1, se
obt ¸ine urm˘ atoarea relat ¸ie de recurent ¸˘ a (prin identificarea coeficient ¸ilor):
A(s+1)
j =/bracketleftBig
A(s)
j/bracketrightBig2
+ 2n/summationdisplay
k=0(−1)kA(s)
j−kA(s)
j+k, j =0,n, (3.63)
unde s-a f˘ acut convent ¸ia c˘ a termenii de indice j+k>n sau de indice j−i<0
sunt considerat ¸i nuli.
G˘ asirea r˘ ad˘ acinilor ˆ ın metoda Lobacevschi-Graeffe se bazeaz˘ a pe interpre-
tarea semnului ¸ si valorilor coeficient ¸ilor A(s)
jˆ ın diverse etape s. Pentru a ar˘ ata
cum se procedeaz˘ a, vom considera trei cazuri, discutate mai jos.
Cazul r˘ ad˘ acinilor reale ¸ si distincte.
S˘ a presupunem c˘ a toate r˘ ad˘ acinile xj,j=1,n,ale polinomului Pn(x) sunt
distincte. R˘ ad˘ acinile vor fi ordonate dup˘ a indici astfel, ˆ ın ordinea descresc˘ atoare
a modulelor,
|x1|>|x2|>…>|xn|. (3.64)
98 3.Rezolvarea ecuat ¸iilor neliniare
Relat ¸iile Vieta, dintre r˘ ad˘ acini ¸ si coeficient ¸i, pentru polinomul Qn(z) din ( 3.62)
sunt
xm
1+xm
2+…+xm
n=A(s)
1/A(s)
0 (3.65)
xm
1xm
2+xm
1xm
3+…+xm
n−1xm
n=A(s)
2/A(s)
0 (3.66)
xm
1xm
2xm
3+xm
1xm
2xm
4+…+xm
n−2xm
n−1xm
n=A(s)
3/A(s)
0 (3.67)
···
xm
1xm
2·…·xm
n=A(s)
n/A(s)
0 (3.68)
Tinˆ and cont de inegalit˘ at ¸ile ( 3.64) rezult˘ a c˘ a, la un anumit m, termenulxm
1va
deveni preponderent ˆ ın relat ¸ia ( 3.65); la fel se va ˆ ıntˆ ımpla cu termenul xm
1xm
2
ˆ ın relat ¸ia ( 3.66) ¸ si a¸ sa mai departe. ˆIn consecint ¸˘ a, pentru msuficient de mare,
sistemul ( 3.65)-(3.68) se aproximeaz˘ a prin cantit˘ at ¸i care reprezint˘ a p˘ atrate per-
fecte
xm
1∼=A(s)
1/A(s)
0 (3.69)
xm
1xm
2∼=A(s)
2/A(s)
0 (3.70)
···
xm
1xm
2·…·xm
n∼=A(s)
n/A(s)
0, (3.71)
de unde se obt ¸in imediat modulele r˘ ad˘ acinilor
xj=±/parenleftBig
A(s)
j/A(s)
j−1/parenrightBig1/m
, j =1,n. (3.72)
Determinarea semnului se face prin introducereaˆ ın ecuat ¸ia init ¸iala Pn(x) = 0. O
problem˘ a care se pune este aceea de a ¸ sti cˆ and termenii ret ¸inut ¸iˆ ın sistemul ( 3.69-
3.71) au devenit ˆ ıntr-adev˘ ar preponderent ¸i, astfel ˆ ıncˆ at s˘ a se produc˘ a separarea
r˘ ad˘ acinilor. Pentru aceasta se calculeaz˘ a rapoartele
r(s)
j=/bracketleftBig
A(s−1)
j/bracketrightBig2
/A(s)
j, j =1,n−1, (3.73)
ˆ ın fiecare etap˘ a s. Cum= 2s, avemm/2 = 2s−1. Dac˘ a separarea s-ar fi produs
ˆ ın iterat ¸ias−1 atunci ar trebui ca
xm/2
1∼=A(s−1)
1/A(s−1)
0.
Cu atˆ at mai mult ˆ ın iterat ¸ia urm˘ atoare
xm
1∼=A(s)
1/A(s)
0
Ca atare, raportul r(s)
1ar trebui s˘ a fie aproape de unu, r(s)
n−1∼=1. Rat ¸ionamentul
se repet˘ a pentru ceilalt ¸i coeficient ¸i astfel c˘ a ajungem la urm˘ atorul criteriu de
separare: dac˘ a toate rapoartele r(s)
j,j=1,n−1 tind c˘ atre unu atunci s-a
produs separarea r˘ ad˘ acinilor polinomului ce au fost presupuse distincte .
3.3.Determinarea r˘ ad˘ acinilor polinoamelor 99
Cazul r˘ ad˘ acinilor reale, multiple ˆ ın modul.
Putem trata ¸ si cazul ˆ ın care polinomul Pn(x) are mai multe r˘ ad˘ acini reale, de
acela¸ si modul. S˘ a presupunem
|x1|=|x2|=…=|xM|>|xM+1|>|xM+1|>…>|xn|, (3.74)
adic˘ a cea mai mare r˘ ad˘ acin˘ a ˆ ın modul apare de Mori. Atunci partea prepon-
derent˘ a a primei relat ¸ii Vieta ( 3.65) este
xm
1+xm
2+…+xm
M=Mxm
1∼=A(s)
1/A(s)
0, (3.75)
iar cea a relat ¸iei Vieta Meste
xm
1xm
2…xm
M=xmM
1∼=A(s)
M/A(s)
0. (3.76)
S˘ a deducem criteriul de separare. Dac˘ a separarea s-ar fi produs ˆ ın iterat ¸ia s−1
atunci ar trebui ca
xm/2
1∼=A(s−1)
1/A(s−1)
0/M,
iar ˆ ın iterat ¸ia urm˘ atoare
xm
1∼=A(s)
1/A(s)
0/M.
Ca atare, raportul r(s)
1ar trebui s˘ a fie aproape de M,r(s)
1∼=M. Deci, cˆ and
un raportrjtinde c˘ atre un num˘ ar ˆ ıntreg M, atunci s-a produs separarea unei
r˘ ad˘ aciniM-multiple ˆ ın modul. Calculul r˘ ad˘ acinii se efectueaz˘ a folosind relat ¸ia
VietaM
x1=±/bracketleftBig
A(s)
M/A(s)
0/bracketrightBig1/mM
(3.77)
deoarece se obt ¸ine o aproximat ¸ie mai bun˘ a datorit˘ a exponentului mai mare.
Se observ˘ a c˘ a pentru calculul unei r˘ ad˘ acini M-multiple ˆ ın modul se folosesc
coeficient ¸i cu diferent ¸a ˆ ıntre indici egal˘ a cu M.
Dac˘ a r˘ ad˘ acina multipl˘ a ˆ ın modul nu este ¸ si cea mai mare ˆ ın modul,
|x1|>…>|xk|=…=|xM|>…>|xn|, (3.78)
atunci formulele de mai sus se aplic˘ a cu o deplasare cu ka indicilor. Anume
raportulr(s)
kva tinde c˘ atre Mla separarea r˘ ad˘ acinii xm
k, iar calculul acesteia se
efectueaz˘ a conform formulei
xk=±/bracketleftBig
A(s)
k+M/A(s)
k/bracketrightBig1/mM
. (3.79)
100 3.Rezolvarea ecuat ¸iilor neliniare
Cazul r˘ ad˘ acinilor complexe.
S˘ a presupunem acum c˘ a x1,x2sunt r˘ ad˘ acini complex conjugate
|x1|=|x2|>…>|xn|. (3.80)
Vom scrie
x1=ρeiθ, x 2=ρe−iθ(3.81)
cuρ=|x1|=|x2|modulul r˘ ad˘ acinilor ¸ si θargumentul acestora. Prima relat ¸ie
Vieta ( 3.65) devine
2ρmcosmθ+xm
3+…+xm
n∼=A(s)
1/A(s)
0. (3.82)
Termenul 2 ρmcosmθnu poate fi considerat preponderent datorit˘ a factorului
oscilant cos mθ. A doua relat ¸ie Vieta ( 3.66) are partea preponderent˘ a
ρ2m∼=A(s)
2/A(s)
0. (3.83)
Modululρse determin˘ a analog determin˘ arii unei r˘ ad˘ acini reale, 2-multipl˘ a ˆ ın
modul
ρ=/bracketleftBig
A(s)
2/A(s)
0/bracketrightBig12
m. (3.84)
Mai r˘ amˆ ane de determinat criteriul de separare. Dac˘ a separarea s-ar fi
produs ˆ ın iterat ¸ia s−1 atunci ar trebui ca
ρm/2∼=A(s−1)
2/A(s−1)
0,
iar ˆ ın iterat ¸ia urm˘ atoare
ρm∼=A(s)
2/A(s)
0.
Ca atare, raportul r(s)
2ar trebui s˘ a fie aproape de unu, r(s)
2∼=1. Pe de alt˘ a
parte, raportul
r(s)
1=/bracketleftBig
A(s−1)
1/bracketrightBig2
/A(s)
1 (3.85)
este oscilant datorit˘ a schimb˘ arii semnului termenului 2 ρmcosmθ. A¸ sadar, vom
recunoa¸ ste prezent ¸a r˘ ad˘ acinilor complex conjugate prin aparit ¸ia unor rapoarte
oscilante. Separarea modulului unei perechi de r˘ ad˘ acini complex conjugate se
produce atunci cˆ and raportul imediat vecin celui oscilant tinde c˘ atre unu.
3.3.Determinarea r˘ ad˘ acinilor polinoamelor 101
Regulile de determinare a r˘ ad˘ acinilor.
Sintetizˆ and rezultatele discut ¸iilor de mai sus vom stabili urm˘ atoarele concluzii.
1. Modulele r˘ ad˘ acinilor, reale sau complexe, sunt date de rapoartele coefi-
cientilorA(s)
j,j=1,n−1 care reprezint˘ a p˘ atrate perfecte, ˆ ın ordinea indicilor.
Coeficient ¸ii A(s)
0¸ siA(s)
nsunt ˆ ıntodeauna p˘ atrate perfecte.
2. Verificarea c˘ a un anumit A(s)
jeste un p˘ atrat perfect se stabile¸ ste prin
raportulr(s)
jdintre valorile coeficientului A(s)
jˆ ın etape succesive, care tinde
c˘ atre unitate,
r(s)
j=/bracketleftBig
A(s−1)
1/bracketrightBig2
/A(s)
1→1 (3.86)
cˆ and p˘ atratul perfect se realizeaz˘ a.
3. Dac˘ a rapoartele r(s)
jcare tind c˘ atre unitate au indici consecutivi, atunci
se obt ¸in r˘ ad˘ acini simple.
4. Dac˘ aA(s)
j¸ siA(s)
j+Msunt p˘ atrate perfecte consecutive, atunci modulul
unor r˘ ad˘ acini are ordinul de multiplicitate M.Dac˘ a ˆ ıntrer(s)
j¸ sir(s)
j+Mexist˘ aM/prime
rapoarte oscilante, atunci vor apare M/primeperechi de r˘ ad˘ acini complex conjugate.
Dac˘ a ˆ ıntre r(s)
j¸ sir(s)
j+Mnu exist˘ a rapoarte oscilante, ci r(s)
j→M, atunci se va
produce o r˘ ad˘ acina real˘ a cu ordinul de multiplicitate M.
5. Metoda prezentat˘ a furnizeaz˘ a doar modulele r˘ ad˘ acinilor. ˆIn cazul r˘ ad˘ acinilor
reale, semnul se stabile¸ ste prin ˆ ınlocuirea ˆ ın ecuat ¸ia original˘ a, Pn(x) = 0. ˆIn ca-
zul r˘ ad˘ acinilor complexe, modulul odat˘ a determinat, se determin˘ a partea real˘ a ¸ si
imaginar˘ a folosind relat ¸iile ˆ ıntre r˘ ad˘ acini ¸ si coeficient ¸i pentru ecuat ¸ia Pn(x) = 0.
Nu se recomand˘ a determinarea argumentului din relat ¸ii de forma ( 3.82) deoarece
num˘ arulmeste mare ¸ si se obt ¸in multe solut ¸ii ale ecuat ¸iilor de forma cos mθ=λ,
λ∈R, care trebuie verificate apoi ˆ ın ecuat ¸ia init ¸ial˘ a.
6. Principalul avantaj al metodei Graeffe-Lobacevski este furnizarea tutu-
ror r˘ ad˘ acinilor, reale ¸ si complexe, ale unui polinom cu coeficient ¸i reali. Printre
dezavantaje se numar˘ a: posibilitatea dep˘ a¸ sirii superioare de registru, necesita-
tea examin˘ arii de c˘ atre utilizator a tabloului coeficient ¸ilor precum ¸ si necesitatea
rezolv˘ arii unor sisteme de ecuat ¸ii neliniare ˆ ın cazul existent ¸ei r˘ ad˘ acinilor com-
plexe.
7. Datorit˘ a lucrului cu numere mari, aproximat ¸iile r˘ ad˘ acinilor furnizate de
metoda Lobacevschi-Graeffe sunt destul de imprecise. Ca atare metoda va fi
folosit˘ a pentru localizarea tuturor r˘ ad˘ acinilor . Dup˘ a localizare, se va trece la
rafinarea acestora prin procedeele de factorizare a polinoamelor prezentate mai
jos.
3.3.2 Metode de factorizare a polinoamelor
Se cunoa¸ ste faptul c˘ a, dac˘ a un polinom are ca r˘ ad˘ acin˘ a simpl˘ a pe x=α, atunci
el este divizibil cu x−α. Prin procedee de localizare a r˘ ad˘ acinilor precum metoda
Lobacevschi-Graeffe, sau teoreme asupra vecin˘ at˘ at ¸ii ˆ ın care se afl˘ a r˘ ad˘ acina
unui polinom, se poate obt ¸ine o aproximat ¸ie init ¸ial˘ a a r˘ ad˘ acinii α0. Procedeele
102 3.Rezolvarea ecuat ¸iilor neliniare
uzuale de rafinare, precum metoda Newton-Raphson, pot fi apoi folosite pentru
cre¸ sterea preciziei aproximat ¸iei init ¸iale. ˆIn aplicarea metodei Newton-Raphson
se folose¸ ste schema lui Horner pentru a evalua valorile unui polinom cu un num˘ ar
minim de operat ¸ii aritmetice.
Schema lui Horner.
ˆImp˘ art ¸ind polinomul Pn(x) prin monomul x−αse obt ¸ine
Pn(x) =n/summationdisplay
j=0an−jxj= (x−α)n−1/summationdisplay
j=0bn−j−1xj+bn, (3.87)
undebj,j=0,nsunt coeficient ¸i care se determin˘ a prin identificarea termenilor
avˆ and aceea¸ si putere a lui x,
b0=a0, bk=ak+αbk−1, k =1,n. (3.88)
Din ( 3.87) se observ˘ a c˘ a valoarea polinomului ˆ ın x=αeste chiarbn. Relat ¸ia de
recurent ¸˘ a ( 3.88) define¸ ste schema lui Horner , ce permite determinarea valorii
Pn(α) cu doarnˆ ınmult ¸iri ¸ si n−1 adun˘ ari.
Schema lui Horner poate fi adaptat˘ a ¸ si pentru evaluarea derivatelor unui
polinom. Deoarece valoarea polinomului ˆ ın x=αestebnputem considera
Pn(α) =bn(α) ¸ si deriva relat ¸iile de recurent ¸˘ a dup˘ a ( 3.88)α
dbk
dα=bk−1+αdbk−1
dα, k =1,n. (3.89)
S-au obt ¸inut relat ¸ii de recurent ¸˘ a pentru noii coeficient ¸i
ck−1≡dbk
dα, k =1,n, (3.90)
ce satisfac relat ¸iile de recurent ¸˘ a
c0=b0, ck=bk+αck−1, k =1,n−1. (3.91)
Valoarea derivatei polinomului ˆ ın x=αestePn(α) =cn−1.
Determinarea r˘ ad˘ acinilor simple.
Dat˘ a fiind aproximat ¸ia init ¸ial˘ a a unei r˘ ad˘ acini simple α0, rafinarea iterativ˘ a prin
procedeul Newton-Raphson se exprim˘ a ca
αm+1=αm−bn(αm)/cn−1(αm) (3.92)
3.3.Determinarea r˘ ad˘ acinilor polinoamelor 103
cubn,cn−1calculat ¸i folosind recurent ¸ele ( 3.88,3.91), respectiv. Algoritmul
complet este
α←α0;m←0;M←1;EvalPolinom (α,b,c );
repet˘ a
dac˘ a|c|<δ1atunci Determin˘ a multiplicitatea M
αnou←α−Mb/c ;EvalPolinom (α,b,c )
AtinsPrecizie←|αnou−α|≤ε(1 +|αnou|) sau|b|<δ
α←αnou;m←m+ 1
pˆ an˘ a cˆ and AtinsPrecizie saum>m max(3.93)
undeεeste eroarea relativ˘ a maxim admis˘ a pentru r˘ ad˘ acin˘ a, δeste valoarea
maxim admis˘ a pentru valoare polinomului, iar Meste multiplicitatea r˘ ad˘ acinii
c˘ autate. Init ¸ial se presupune M= 1. Valoarea δ1este folosit˘ a ¸ si pentru a stabili
un prag pentru valoarea derivatei. Valori ale derivatei sub acest prag indic˘ a
probabilitatea unor r˘ ad˘ acini multiple. Procedura de evaluare a polinomului
este
EvalPolinom (α,b,c )
b←a0;c←b
k= 1 : (n−1)
[b←ak+αb, c←b+αc
b←an+αb(3.94)
Metoda poate fi aplicat˘ a direct pentru calculul r˘ ad˘ acinilor complexe, deoarece
polinomul este o funct ¸ie analitic˘ a ˆ ın tot planul C.
Determinarea r˘ ad˘ acinilor multiple.
Dac˘ aαeste o r˘ ad˘ acin˘ a multipl˘ a, derivata polinomuluiˆ ın αva fi nul˘ a,P/prime
n(α) = 0.
Numerelebn,cn−1vor tinde c˘ atre zero simultan, iar convergent ¸a procedeu-
lui Newton-Raphson se ˆ ınr˘ aut˘ at ¸e¸ ste. Se poate efectua o modificare simpl˘ a a
procedeului ce ˆ ımbun˘ at˘ at ¸e¸ ste convergent ¸a. Fie Mordinul de multiplicitate a
r˘ ad˘ acinii. Aplic˘ am procedeul Newton-Raphson funct ¸iei f(x) = [Pn(x)]1/mce
are derivata f/prime(x) = [Pn(x)]1/m−1/m. Iterat ¸ia Newton-Raphson se exprim˘ a ca
αm+1=αm−Mbn(αm)/cn−1(αm), (3.95)
forma folosit˘ a ˆ ın algoritmul de mai sus. Mai r˘ amˆ ane de stabilit o modalitate
de determinare a multiplicit˘ at ¸ii M. Se ¸ stie c˘ a dac˘ a r˘ ad˘ acina αare ordinul de
multiplicitate M, avemP(k)(α) = 0 pentru k= 1,2,… ,M−1 ¸ siP(M)(α)/negationslash= 0.
Ca atare, la detectarea posibilit˘ at ¸ii unei r˘ ad˘ acini multiple (prin faptul c˘ a prima
derivat˘ a a devenit mic˘ a) vom evalua toate derivatele polinomului. Prima dintre
derivatele polinomului ce este nenul˘ a va furniza multiplicitatea r˘ ad˘ acinii.
Pentru evaluarea derivatelor se folose¸ ste schema lui Horner complet˘ a . De-
terminarea tuturor derivatelor unui polinom ˆ ın x=αeste echivalent˘ a cu dezvol-
tarea ˆ ın serie Taylor ˆ ın jurul lui x=α
Pn(x) =C0+C1(x−α) +C2(x−α)2+…+Cn(x−α)n, Ck=P(k)
n(α)/k!.
(3.96)
104 3.Rezolvarea ecuat ¸iilor neliniare
Prin aplicarea schemei Horner ( 3.88) se observ˘ a (vezi 3.87) c˘ a se obt ¸in coeficient ¸ii
polinomului Pn−1(x) din factorizarea
Pn(x) = (x−α)Pn−1(x) +C0, (3.97)
cuC0=Pn(α). Coeficient ¸ii polinomului Pn−1(x) suntb0,b1,… ,bn−1din3.87.
Dac˘ a se mai aplic˘ a o dat˘ a schema lui Horner asupra polinomului Pn−1(x) vom
obt ¸ine coeficient ¸ii lui Pn−2(x) din factorizarea
Pn−1(x) = (x−α)Pn−2(x) +C1, (3.98)
¸ si a¸ sa mai departe. Aplicarea de nori a schemei Horner va furniza tot ¸i coeficient ¸ii
Ck,k=0,n−1,deci implicit toate derivatele P(k)
n(α) =k!Ck. Algoritmul este
k= 0 :n
[Ck=an−k
k= 0 : (n−1)/bracketleftbigg
j= (n−1) :k:−1
[Cj←Cj+αCj+1(3.99)
Procedura de determinare a multiplicit˘ at ¸ii unei r˘ ad˘ acini, ce a fost ment ¸ionat˘ a
ˆ ın algoritmul ( 3.93), va determina primul indice kpentru care|k!Ck|> δ, iar
acesta va fi luat ca multiplicitatea r˘ ad˘ acinii M.
Determinarea r˘ ad˘ acinilor complex conjugate (Metoda Bairstow).
ˆIn cazul cˆ and polinomul Pn(x) are coeficient ¸ii reali, r˘ ad˘ acinile complexe (dac˘ a
exist˘ a) sunt conjugate, iar calculul cu numere complexe poate fi evitat. ˆIn acest
scop, se utilizeaz˘ a o factorizare cu un polinom de gradul doi de forma x2+px+q
Pn(x) =n/summationdisplay
j=0an−jxj= (x2+px+q)n−2/summationdisplay
j=0bn−j−2xj+Rx+S. (3.100)
Identificarea termenilor conduce la relat ¸iile
bk=ak−pbk−1−qbk−2, k =0,n−2, (3.101)
R=an−1−pbn−2−qbn−3, S =an−qbn−2. (3.102)
unde s-a convenit b−2=b−1= 0. Dac˘ a extindem relat ¸ia de recurent ¸˘ a pentru
k=0,n,vom obt ¸ine R=bn−1,S=bn+pbn−1. Pentru ca factorul x2+px+q
s˘ a divid˘ a pe Pn(x) exact trebuie ca restul s˘ a fie nul R(p,q) = 0,S(p,q) = 0,
ceea ce este echivalent cu
bn(p,q) = 0, bn−1(p,q) = 0. (3.103)
Relat ¸iile ( 3.103 ) formeaz˘ a un sistem de dou˘ a ecuat ¸ii cu dou˘ a necunoscute.
Ecuat ¸iile sunt nelineare ¸ si pentru rezolvarea sistemului se aplic˘ a tot o metod˘ a
3.3.Determinarea r˘ ad˘ acinilor polinoamelor 105
de tip Newton-Raphson2. Vom aplica principiul liniariz˘ arii, p˘ astrˆ and numai
termenii liniari din dezvolt˘ arile ˆ ın serie Taylor a funct ¸iilor bn(p,q),bn−1(p,q) ˆ ın
jurul unei aproximat ¸ii curente ( pm,qm)
bn(p,q)∼=bn(pm,qm) + (p−pm)/bracketleftbigg∂bn
∂p/bracketrightbigg
m+ (q−qm)/bracketleftbigg∂bn
∂q/bracketrightbigg
m= 0,(3.104)
bn−1(p,q)∼=bn−1(pm,qm) + (p−pm)/bracketleftbigg∂bn−1
∂p/bracketrightbigg
m+ (q−qm)/bracketleftbigg∂bn−1
∂q/bracketrightbigg
m= 0.
(3.105)
Urm˘ atoarea aproximat ¸ie ( pm+1,qm+1), va fi dat˘ a de solut ¸ia sistemului liniarizat
de mai sus. Pentru obt ¸inerea derivatelor part ¸iale diferent ¸iem relat ¸ia de recurent ¸˘ a
(3.101 )
∂bk
∂p=−bk−1−p∂bk−1
∂p−q∂bk−2
∂p,∂bk
∂q=−bk−2−p∂bk−1
∂q−q∂bk−2
∂q.
(3.106)
Dac˘ a not˘ am ck≡∂bk/∂p,dk≡∂bk+1/∂q, obt ¸inem
ck=−bk−1−pck−1−qck−2, dk=−bk−1−pdk−1−qdk−2 (3.107)
pentruk=0,n¸ si cuc−1=c−2=d−1=d−2= 0. Cum cele dou˘ a relat ¸ii de
recurent ¸˘ a sunt identice vom p˘ astra numai una dintre ele pentru calcule. Sistemul
liniarizat devine
/braceleftbigg
(pm+1−pm)cn+ (qm+1−qm)cn−1=−bn
(pm+1−pm)cn−1+ (qm+1−qm)cn−2=−bn−1. (3.108)
Matricea sistemului se nume¸ ste matrice Jacobian˘ a , ¸ si este nesingular˘ a pentru
r˘ ad˘ acini complexe simple. Solut ¸ia sistemului este, ˆ ın aceste condit ¸ii,
δp≡pm+1−pm= (bn−1cn−1−bncn−2)/J, (3.109)
δq≡qm+1−qm= (bncn−1−bn−1cn)/J, (3.110)
cuJ≡cncn−2−c2
n−1.
Procedeul poate fi repetat pentru polinomul
Pn−2(x) =n−2/summationdisplay
j=0bn−j−2xj(3.111)
pˆ an˘ a la factorizarea polinomului Pn(x) ˆ ın produse de polinoame de grad cel
mult doi. Se obt ¸in perechi de solut ¸ii de forma
x1,2=/parenleftBig
−p±/radicalbig
p2−4q/parenrightBig
/2. (3.112)
2Vezi capitolul 8.
106 3.Rezolvarea ecuat ¸iilor neliniare
Aproximat ¸ia init ¸ial˘ a ( p0,q0) se poate obt ¸ine dintr-un procedeu de localizare.
Este recomandabil˘ a folosirea coordonatelor polare
x1=ρeiθ, x2=ρe−iθ, x 1×2=ρ2=q, x 1+x2= 2ρcosθ=−p.(3.113)
Prin folosirea metodei Lobacevschi-Graeffe pentru localizarea r˘ ad˘ acinilor se obt ¸ine
o aproximat ¸ie init ¸ial˘ a foarte bun˘ a pentru ρ. Mai trebuie doar ˆ ıncercate diverse
valori pentru θpentru a vedea ce valori init ¸iale conduc la convergent ¸a proce-
deului. Exist˘ a ¸ si alte rezultate teoretice ce pot fi folosite pentru localizarea
r˘ ad˘ acinilor. Spre exemplu, dac˘ a not˘ am
R1= 1 +|a0|−1max
0<k≤n|ak|, R 2=/bracketleftbigg
1 +|an|−1max
0≤k<n|ak|/bracketrightbigg−1
, (3.114)
atunci toate r˘ ad˘ acinile nenule ale polinomului cu coeficient ¸ii akse vor afla ˆ ın
coroana
R2<ρ≤R1. (3.115)
Algoritmul Bairstow este
p←p0;q←q0;m←0;
repet˘ a
c0←0;c1←0;b0←0;b1←0
k= 0 :n
b2←b1;b1←b0;c2←c1;c1←c0
b0←ak−pb1−qb2
c0←−b1−pc1−qc2
J←c0c2−c2
1;
dac˘ a|J|<δ1atunci mesaj( R˘ ad˘ acini multiple ); stop
δp←(b1c1−b0c2)/J;δq←(b0c1−b1c0)/J;
pnou←p+δp;qnou←q+δq
AtinsPrecizie←|δp|+|δq|≤ε(1 +|pnou|+|qnou|) sau|b0|+|b1|<δ
p←pnou;q←qnou;m←m+ 1
pˆ an˘ a cˆ and AtinsPrecizie saum>m max.
(3.116)
Exemplu 1 . S˘ a se determine r˘ ad˘ acinile polinomului
p5(x) =x5−4×4+x3+ 3×2−x+ 6.
Rezolvare . Vom folosi metoda Lobacevschi-Graeffe pentru a determina aproximat ¸iile
init ¸iale ale r˘ ad˘ acinilor. Rezultatele aplic˘ arii relat ¸iei ( 3.63) sunt redate ˆ ın urm˘ atorul
tabel.
3.3.Determinarea r˘ ad˘ acinilor polinoamelor 107
sA(s)
0A(s)
1 A(s)
2 A(s)
3 A(s)
4 A(s)
5
01.004.000E+00 1.000E+00 -3.000E+00 -1.000E+00 -6.000E+00 1
1.001.400E+01 2.300E+01 -3.700E+01 -3.500E+01 3.600E+01 2
1.001.500E+02 1.495E+03 3.987E+03 3.889E+03 1.296E+03 3
1.001.951E+04 1.047E+06 4.657E+06 4.790E+06 1.680E+06 4
1.003.785E+08 9.139E+11 1.172E+13 7.301E+12 2.821E+12 5
1.001.433E+17 8.263E+23 1.241E+26 -1.285E+25 7.959E+24 6
1.002.053E+34 6.828E+47 1.543E+52 -1.811E+51 6.334E+49
Calculul s-a desf˘ a¸ surat cu mai multe cifre semnificative decˆ at sunt afi¸ sate ˆ ın
tabel. Dup˘ a 6 iterat ¸ii valorile coeficient ¸ilor sunt A(6)
0= 1,A(6)
1= 2.05336782·
1034,A(6)
2= 6.82754862·1047,A(6)
3= 1.54270278·1052,A(6)
4=−1.81053152·
1051,A(6)
5= 6.33402866·1049. Pentru stabilirea convergent ¸ei metodei se calcu-
leaz˘ a ¸ si rapoartele din ( 3.73):
sr(s)
1r(s)
2r(s)
3r(s)
4
0– – – – 1
1.140.04 -0.24 -0.03 2
1.310.35 0.34 0.31 3
1.152.14 3.41 3.16 4
1.011.20 1.85 3.14 5
1.001.01 1.11 -4.15 6
1.001.00 1.00 -0.09 Se
observ˘ a obt ¸inerea izol˘ arii a trei r˘ ad˘ acine reale din rapoartele r(s)
1,r(2)
2,r(s)
3ce
tind toate c˘ atre 1. Raportul r(s)
4oscileaz˘ a denotˆ and prezent ¸a unei perechi de r˘ ad˘ acini
complexe, conjugate. Procedeul furnizeaz˘ a dou˘ a valori posibile pentru r˘ ad˘ acina de
modul maxim
x1=±/parenleftBig
A(6)
1/A(6)
0/parenrightBig1/64
=±3.4366. (3.117)
Cump5(3.4366) =−0.00269734 ¸ si p5(3.4366) =−1032.99 alegemx1= 3.4366. Analog
obt ¸inem
x2=±/parenleftBig
A(6)
2/A(6)
1/parenrightBig1/64
=±1.62659⇒x2= 1.62659 (3.118)
x3=±/parenleftBig
A(6)
3/A(6)
2/parenrightBig1/64
=±1.16958⇒x3=−1.16958 (3.119)
Modulul perechii de r˘ ad˘ acini complexe este
ρ=/parenleftBig
A(6)
5/A(6)
3/parenrightBig1/(2·64)
= 0.9579761 (3.120)
Rafinarea solut ¸iilor reale conduce la r˘ ad˘ acinile
x1= 3.43663, x2= 1.62659, x3=−1.16958 (3.121)
dup˘ a o singur˘ a iterat ¸ie Newton-Raphson. Se observ˘ a calitatea extrem de bun˘ a a a-
proximat ¸iilor init ¸iale furnizate de procedeul Lobacevschi-Graeffe. Pentru r˘ ad˘ acinile
108 3.Rezolvarea ecuat ¸iilor neliniare
complexe am putea extrage factorii deja g˘ asit ¸i ¸ si s˘ a rezolv˘ am ecuat ¸ia p˘ atratic˘ a ce
rezult˘ a. Vom proceda ˆ ıns˘ a la aplicarea procedeului Bairstow pentru exemplificarea
modului de lucru. Lu˘ am q=ρ2¸ sip= 0 ca aproximat ¸ie init ¸ial˘ a ceea ce corespunde la
θ=π/2. Se obt ¸in urm˘ atoarele rezultate
Iterat ¸ie p q b 0 b1R 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
Rad˘ acinile complexe satisfac ecuat ¸ia
x2+px+q= 0 (3.122)
cup=−0.1063682185, q= 0.91771811581 de unde r˘ ad˘ acinile
x4,5= 0.0531841±0.956499i. (3.123)
Se observ˘ a o convergent ¸˘ a rapid˘ a a iterat ¸iilor. Plecarea din θ= 0 ˆ ıns˘ a nu converge
c˘ atre solut ¸ie.
Exemplu 2 . S˘ a se determine r˘ ad˘ acinile polinomului
p4(x) =x4−6×3+ 18×2−30x+ 25
Rezolvare . Cum nici unul din rapoartele r1,r2,r3nu se stabilizeaz˘ a deducem
prezent ¸a a dou˘ a perechi de r˘ ad˘ acini complexe, de acela¸ si modul
ρ1=ρ2=ρ3=ρ4= (A4/A0)1/(464)=√
5.
Fie r˘ ad˘ acinile x1,2=a1+ib1,x3,4=a2+ib2. Rezult˘ a
a2
1+b2
1=a2
2+b2
2= 5.
Utilizˆ and primele dou˘ a relat ¸ii Vieta pentru polinomul original se obt ¸ine
a1+a2= 3, a1a2= 2
de undea1= 1,b1= 2,a2= 2,b2= 1. Prin urmare r˘ ad˘ acinile sunt
x1,2= 1 + 2i, x3,4= 2 +i.
Exemplu 3. Un ultim exemplu cu implicat ¸ii profunde pentru matematic˘ a provine
din ˆ ıntrebarea relativ simpl˘ a: din ce puncte ale planului complex converge metoda
Newton pentru aflarea r˘ ad˘ acinilor de ordinul pale unit˘ at ¸ii? Procesul iterativ este
zk+1=zk−(zp
k−1)/(pzp−1
k), p> 1. (3.124)
Pentru aflarea r˘ aspunsului se efectueaz˘ a o serie de experimente numerice, luˆ and diverse
puncte din [−2,2]×[−2,2] ca puncte de start. Se ˆ ınregistreaz˘ a num˘ arul de iterat ¸ii
necesare atingerii unei r˘ ad˘ acini sau faptul c˘ a procesul diverge. Frontiera dintre dome-
niul “atractiv”, pentru care procesul converge ¸ si cel “repulsiv”, pentru care procesul
diverge este extrem de complicat˘ a. Cercet˘ ari matematice moderne au ar˘ atat c˘ a este
vorba de o nou˘ a structur˘ a matematic˘ a cu propriet˘ at ¸i remarcabile, printre care ¸ si o
dimensiune a frontierei ce nu este un num˘ ar ˆ ıntreg. O asemenea mult ¸ime Julia este
reprezentat˘ a pe copert˘ a pentru p= 6. Nuant ¸ele de culori ˆ ınchise indic˘ a convergent ¸a
rapid˘ a c˘ atre o r˘ ad˘ acin˘ a pe cˆ and cele deschise indic˘ a divergent ¸a.
109
Capitolul 4
Erorile de calcul numeric
ˆIn momentul de fat ¸˘ a, suntem ˆ ın posesia unui bagaj de metode numerice
suficient pentru a considera mai ˆ ın detaliu problema erorilor de calcul numeric.
Se poate observa c˘ a o formul˘ a de calcul numeric se aplic˘ a de obicei ˆ ın mod
repetat. ˆIn consecint ¸˘ a, prezint˘ a important ¸˘ a nu numai eroarea introdus˘ a ˆ ıntr-o
etap˘ a, ci ¸ si tendint ¸a de a amplifica sau, dimpotriv˘ a, de a atenua erorile introduse
anterior, adic˘ a stabilitatea metodei numerice. Studiul erorilor numerice r˘ amˆ ane
deci o problem˘ a deschis˘ a, care trebuie luat˘ aˆ ın considerare pentru fiecare metod˘ a
de calcul ˆ ın parte.
4.1 Surse de erori
Erorile inerente sunt erorile legate de cunoa¸ sterea aproximativ˘ a a unor valori
provenite din m˘ asur˘ atori sau din faptul c˘ a avem de-a face cu numere irat ¸ionale
(algebrice sau transcendente: numerele π,e,√
3 ¸ s.a.). Evident, rezultatul
oric˘ aror calcule depinde ¸ si de precizia datelor introduse init ¸ial. Ca erori ine-
rente pot fi considerate ¸ si erorile de conversie f˘ acute la trecerea ˆ ın baza 2 a unor
numere care se introduc ˆ ın memoria calculatoarelor numerice actuale. Spre
110 4.Erorile de calcul numeric
exemplu, num˘ arul 0 .1 reprezentat printr-un num˘ ar finit de zecimale ˆ ın baza 10,
devine o fract ¸ie zecimal˘ a periodic˘ a ˆ ın baza 2 (0 .110= 0.0(0011) 2).
Erorile de metod˘ a sauerorile de trunchiere sunt provenite din aproximat ¸iile
f˘ acute la deducerea formulelor de calcul. Exemple: restul RN(x) la interpolarea
polinomial˘ a, distant ¸a |xn+1−α|la r˘ ad˘ acin˘ a, din metodele iterative de calcul,
eroareaδi=−h3/12f/prime/prime(ξ) introdus˘ a 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 metod˘ a pot fi reduse, ˆ ın
principiu, oricˆ at de mult.
Erorile de rotunjire sunt legate de posibilit˘ at ¸ile limitate de reprezentare a
numerelor ˆ ın calculatoarele numerice. ˆIn general, orice calculator poate repre-
zenta numerele cu un num˘ ar redus de cifre semnificative, depinzˆ and de lungimea
cuvˆ antului (num˘ arul de bit ¸i) utilizat la stocarea unui num˘ ar. ˆIn mod curent se
lucreaz˘ a cu un echivalent de circa 7 cifre semnificative ˆ ın simpl˘ a precizie ¸ si de
circa 15 cifre semnificative ˆ ın dubl˘ a precizie.
Dup˘ a cum se ¸ stie, ˆ ın memoria intern˘ a a calculatoarelor actuale se folose¸ ste
reprezentarea ˆ ın virgul˘ a mobil˘ a, ˆ ın forma normalizat˘ a. Astfel, orice num˘ ar real
xse scrie
x=f·bn,|f|<1 (4.1)
undefeste un num˘ ar real denumit mantis˘ a ,b>0 (b/negationslash= 1) este baza sistemului
de numerat ¸ie utilizat, iar n(ˆ ıntreg) este exponentul .ˆIn forma normalizat˘ a,
mantisa este cuprins˘ a ˆ ın intervalul [ b−1,1)
b−1≤|f|<1. (4.2)
Singura except ¸ie de la acest˘ a regul˘ a de reprezentare este num˘ arul zero.
ˆIn consecint ¸˘ a, un num˘ ar real cu mai multe cifre semnificative este “rotunjit”
la num˘ arul de cifre maxim. Acest lucru se realizeaz˘ a prin rotunjirea mantisei.
Alte rotunjiri se efectueaz˘ a ˆ ın decursul operat ¸iilor.
ˆIn general, notˆ and cu xvaloarea exact˘ a a num˘ arului ¸ si cu xvaloarea calculat˘ a
(aproximativ˘ a), eroarea absolut˘ a exse define¸ ste ca diferent ¸a dintre valoarea
exact˘ a ¸ si cea aproximativ˘ a
ex=x−x. (4.3)
Raportulex/¯xse nume¸ ste eroare relativ˘ a , notat˘ a deseori cu εx
εx=ex/¯x. (4.4)
Fietnum˘ arul de cifre semnificative. Pentru comoditate, s˘ a presupunem c˘ a
lucr˘ am ˆ ın baza 10 ( b= 10). Atunci, un num˘ ar xa c˘ arui valoare o presupunem
init ¸ial cunoscut˘ a cu exactitate, se va scrie
x=f·10n+g·10n−t,|f|,|g|∈[0.1,1), (4.5)
4.2.Propagarea erorilor ˆ ın calcule 111
undegcont ¸ine cifrele care nu pot fi incluse ˆ ın mantisa f. Rotunjirea se face de
obicei simetric, adic˘ a se ˆ ınlocuie¸ ste
|g|= 1 dac˘ a|g|≥0.5,|g|= 0 dac˘ a|g|<0.5. (4.6)
ˆIn acest fel, marginea erorii relative este
|ex|=|g|·10n−t/|f|·10n≤5·10−t. (4.7)
Erorile cu marginea dat˘ a de ( 4.7) se fac la introducerea numerelor reale ˆ ın
memoria calculatorului numeric. Ele afecteaz˘ a rezultateleˆ ın funct ¸ie de operat ¸iile
la care sunt supuse valorile introduse.
4.2 Propagarea erorilor ˆ ın calcule
Propagarea erorilor la ˆ ınmult ¸ire.
Vom considera dou˘ a numere, x¸ siy, introduse cu erorile ex, respectivey
x= ¯x+ex, y = ¯y+ey. (4.8)
Presupunem c˘ a se efectueaz˘ a produsul numerelor
xy= (¯x+ex)(/vector y+ey) = ¯x¯y+ ¯yex+ ¯xey, (4.9)
unde s-a neglijat produsul exeyconsiderat ca avˆ and un ordin de m˘ arime suficient
de mic. Rezult˘ a eroarea la ˆ ınmult ¸ire
exy/¯x¯y=ex/¯x+ey/¯y=εx+εy. (4.10)
Rezult˘ a c˘ a la ˆ ınmult ¸ire erorile relative introduse init ¸ial se adun˘ a .ˆIn afar˘ a
de aceste erori, pot ap˘ area ˆ ıns˘ a noi erori, deoarece produsul xypoate avea, la
rˆ andul s˘ au, un num˘ ar de cifre semnificative mai mare decˆ at cel admis (notat cu
t), necesitˆ and o nou˘ a rotunjire (simetric˘ a). Notˆ and cu εpaceast˘ a nou˘ a eroare,
vom obt ¸ine eroarea relativ˘ a total˘ a εtpla ˆ ınmult ¸irea a dou˘ a 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), bazat˘ a pe relat ¸ia ( 4.7), este acoperitoare deoarece
erorile nu se adun˘ a, ci se compun dup˘ a legi mai complicate (probabilistice).
112 4.Erorile de calcul numeric
Propagarea erorilor la ˆ ımp˘ art ¸ire.
Cu notat ¸iile ( 4.8) vom scrie
x/y= (¯x+ex)/(¯y+ey) = ¯x/¯y(1 +ex/¯x−ey/¯y) = ¯x/¯y(1 +εx−εy),(4.13)
unde am neglijat termenii de grad superior lui 2 ˆ ın ex¸ siey. S-a folosit dezvolta-
rea ˆ ın serie Taylor pentru 1 /(1 +εy)∼=1−εy+… . Rezult˘ a c˘ a eroarea relativ˘ a
la ˆ ımp˘ art ¸ire, datorat˘ a erorilor de reprezentare ˆ ın calculator ( ex¸ siey), este
ex/y/(¯x/¯y) =εx−εy, (4.14)
adic˘ a este egal˘ a cu diferent ¸a erorilor relative introduse init ¸ial ˆ ın valorile num˘ ar˘ a-
torului ¸ si numitorului. La acestea se adaug˘ a eroarea de rotunjire la reprezentarea
raportului ¯x/¯y, pe care o vom nota cu εd, astfel ˆ ıncˆ at eroarea relativ˘ a total˘ a la
ˆ ımp˘ art ¸irea a dou˘ a numere x,yeste
εtd=εx−εy+εd. (4.15)
Propagarea erorilor la adunare.
ˆIn acest caz, suma a dou˘ a numere este
x+y= ¯x+ ¯y+ex+ey, (4.16)
astfel ˆ ıncˆ at eroarea relativ˘ a la sumare este
ex+y/(¯x+ ¯y) = (ex+ey)/(¯x+ ¯y) = ¯x/(¯x+ ¯y)εx+ ¯y/(¯x+ ¯y)εy, (4.17)
adic˘ a o sum˘ a ponderat˘ a a erorilor introduse la reprezentarea ˆ ın calculator a
cantit˘ at ¸ii sumate. S ¸i ˆ ın acest caz se introduce o eroare suplimentar˘ a la repre-
zentarea sumei ¯ x+ ¯y, a c˘ arei valoare relativ˘ a o vom nota cu εs. Ca urmare,
eroarea relativ˘ a la sumare, εts, va fi
εts= ¯x/(¯x+ ¯y)εx+ ¯y/(¯x+ ¯y)εy+εs. (4.18)
Ca aplicat ¸ie, s˘ a scriem eroarea total˘ a la calculul expresiei E= (x+y)z∼=
(¯x+ ¯y)¯z. Rezult˘ a
ε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 general˘ a, ˆ ın calculul numeric trebuie studiat˘ a ¸ si propaga-
rea erorilor. ˆIn anumite cazuri, acumularea erorilor poate conduce la rezultate
complet eronate. Pentru a ilustra aceast˘ a posibilitate, s˘ a consider˘ am calculul
integralei
In=/integraldisplay1
0xnex−1dx. (4.21)
4.2.Propagarea erorilor ˆ ın calcule 113
Tabelul 4.1: Exemplu de amplificare a erorilor
nIn(4.22)In(4.24)nIn(4.22)In(4.24)
00.6321210.632121 9 0.091586 0.091612 1
0.3678790.367879 13 -0.377925 0.066948 3
0.2072770.207277 17 – 0.052778 7
0.1123830.112384 20 – 0.000000
O modalitate de calcul o reprezint˘ a utilizarea unei relat ¸ii de recurent ¸˘ a
In= 1−nIn−1, n = 1,2,… , (4.22)
plecˆ and de la valoarea I0= 1−e−1. Rezultatele calculelor pentru diferitele
valori ale lui ˆ ın sunt date ˆ ın tabelul 4.1Se observ˘ a c˘ a, pentru n= 13, se obt ¸ine
o valoare negativ˘ a a integralei, ceea ce nu este posibil, funct ¸ia integrat˘ a fiind
pozitiv˘ a pe [0 ,1]. Rezult˘ a c˘ a valorile obt ¸inute sunt eronate, ˆ ıncepˆ and cu o
anumit˘ a valoare a lui n. Explicat ¸ia o constituie faptul c˘ a valoarea integralei
I0se calculeaz˘ a cu o eroare e0care este amplificat˘ a prin aplicarea formulei de
recurent ¸˘ a ( 4.22) astfel c˘ a, la calculul lui I13eroarea este
e13∼=13!e0= 6.227·109e0. (4.23)
Pentru a obt ¸ine o valoare corect˘ a ˆ ın cazul indicilor nmari se aplic˘ a formula
(4.22) sub forma
In−1= (1−In)/n, n =N,N−1,… , (4.24)
ˆ ın care erorile sunt reduse ˆ ın fiecare etap˘ a. Prin urmare, plecˆ and de la un
Nsuficient de mare eroarea introdus˘ a din necunoa¸ stera valorii Inva fi redus˘ a,
astfel ˆ ıncˆ at s˘ a obt ¸inem rezultate corecte. Observˆ and c˘ a valoarea integralei scade
cun, vom alege N= 20 ¸ si vom aproxima I20∼=0, calculˆ and integralele de indice
mai mic din ce ˆ ın ce mai precis. Valorile obt ¸inute sunt date ˆ ın acela¸ si tabel 4.1
(s-a utilizat un calculator HP-25 care lucreaz˘ a cu zece zecimale). Se observ˘ a c˘ a
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 num˘ ar de ecuat ¸ii liniare reprezint˘ a unul
din domeniile ˆ ın care calculatoarele numerice ¸ si-au dovedit din plin eficient ¸a.
Problema rezolv˘ arii sistemelor de ecuat ¸ii liniare este foarte des ˆ ıntˆ alnit˘ a ˆ ın si-
mularea numeric˘ a. Enumer˘ am cˆ ateva situat ¸ii: interpolare cu funct ¸ii spline cu-
bice, rezolvarea sistemelor de ecuat ¸ii neliniare cu ajutorul metodelor iterative
care au la baz˘ a liniarizarea ecuat ¸iilor, discretizarea ecuat ¸iilor diferent ¸iale ordi-
nare cu condit ¸ii la limit˘ a, discretizarea ecuat ¸iilor cu derivate part ¸iale. ˆIn mod
corespunz˘ ator, a trebuit s˘ a fie puse la punct procedee numerice adecvate, atˆ at
pentru reducerea num˘ arului mare de operat ¸ii, cˆ at ¸ si pentru reducerea erorilor
de calcul care cresc cu dimensiunile sistemului de ecuat ¸ii.
ˆIn cazul general, problema care trebuie rezolvat˘ a poate fi scris˘ a sub forma
n/summationdisplay
j=1ai,jxj=bi, i∈1,m, (5.1)
116 5.Rezolvarea sistemelor liniare
undeai,j∈Rsunt coeficient ¸i, xj,j∈1,nsunt necunoscutele sistemului, iar bi
sunt termenii liberi. Vom distinge trei situat ¸ii.
(a)Pentrum<n sistemul este subdeterminat , avem mai put ¸ine ecuat ¸ii decˆ at
necunoscute. ˆIn general, vor trebui ale¸ si n−mparametrii pentru a obt ¸ine
o solut ¸ie.
(b)Pentrum=n¸ si detA/negationslash= 0 sistemul este compatibil determinat. Sistemul
are o solut ¸ie unic˘ a. Este cazul cel mai des ˆ ıntˆ alnit. Pentru m=n¸ si
detA= 0 sistemul poate fi compatibil nedeterminat , cu o infinitate de
solut ¸ii posibile, sau incompatibil ,cu nici o solut ¸ie.
(c)Pentrum>n sistemul este supradeterminat , caz ˆ ın care se caut˘ a o solut ¸ie
care s˘ a verifice “cel mai bine” ecuat ¸iile ( 5.1) ˆ ın sensul minimiz˘ arii reziduu-
luiR=/summationtextn
i=1(bi−/summationtextn
j=1ai,jxj)2.
Nu trebuie uitat c˘ a, la reprezentarea numerelor ˆ ın calculator nu putem ret ¸ine
decˆ at un num˘ ar finit de cifre, iar erorile de rotunjire se propag˘ a dup˘ a regulile
discutate ˆ ın capitolul 4. Se poate ajunge ˆ ın situat ¸ia ca din cauza acestor erori,
determinantul s˘ a devin˘ a egal cu zero sau s˘ a aib˘ a o valoare foarte mic˘ a ˆ ın modul.
Complexitatea implement˘ arilor prezente ˆ ın bibliotecile matematice se datoreaz˘ a
ˆ ın mare parte tehnicilor de evitare a acestei situat ¸ii, dar totodat˘ a ¸ si eforturilor
de minimizare a memoriei utilizate ¸ si a timpului de calcul.
Metodele de rezolvare a sistemelor de ecuat ¸ii liniare sunt de dou˘ a tipuri: ( a)
metode directe (sau metode de eliminare saumetode exacte ), ˆ ın care solut ¸ia este
obt ¸inut˘ a ˆ ın urma unui num˘ ar de operat ¸ii dinainte cunoscut; ( b)metode iterative ,
care se bazeaz˘ a pe folosirea unei aproximat ¸ii init ¸iale ce se ˆ ımbun˘ at˘ at ¸e¸ ste de la
o etap˘ a la alta.
5.1 Metode directe
5.1.1 Metoda elimin˘ arii a lui Gauss
Metoda const˘ a ˆ ın eliminarea succesiv˘ a a necunoscutelor ˆ ıntr-o manier˘ a care
conduce la un num˘ ar de operat ¸ii mult mai redus decˆ at procedeul care ar utiliza
regula lui Cramer ¸ si calculul determinant ¸ilor corespunz˘ atori. Vom observa c˘ a,
ˆ ın operat ¸ia de eliminare, nu este necesar s˘ a transcriem ¸ si necunoscutele; este
suficient s˘ a oper˘ am doar cu coeficient ¸ii matricei sistemului ¸ si cu termenii liberi.
S˘ a consider˘ am un sistem de necuat ¸ii liniare cu nnecunoscute scris sub forma
Ax=b, (5.2)
undeAeste o matrice p˘ atrat˘ a, nesingular˘ a (det A/negationslash= 0), de dimensiuni n×n,
iarx¸ sibsunt vectori coloan˘ a de dimensiune n. Pentru fixarea ideilor, vom
considera c˘ a Aare coeficient ¸ii aij, iarbare componentele bi(i,j∈1,n). Pe de
alt˘ a parte, deoarece operat ¸iile efectuate cu coeficient ¸ii aij¸ si cu termenii liberi bi
5.1.Metode directe 117
sunt simultane, este avantajosˆ ın prezentarea teoretic˘ a a algoritmului s˘ a renot˘ am
coeficient ¸ii bi≡ai,n+1¸ si s˘ a consider˘ am matricea extins˘ a A/prime
A/prime=
a1,1a1,2… a 1,n|a1,n+1
a2,1a2,2… a 2,n|a2,n+1
… … … … |…
ai,1ai,2… ai,n|ai,n+1
… … … … |…
an,1an,2… an,n|an,n+1
. (5.3)
Metoda elimin˘ arii a lui Gauss const˘ a ˆ ın a obt ¸ine zerouri succesiv, ˆ ıntˆ ai pe prima
coloan˘ a (sub coeficientul a1,1), apoi pe a doua coloan˘ a (sub coeficientul a2,2)
¸ s.a.m.d., pe ultima linie a matricei Ar˘ amˆ anˆ and doar coeficientul an,n(evident
modificat de operat ¸iile de eliminare anterioare). Aceasta revine la a reduce
matriceaAla o matrice superior triunghiular˘ a , iar sistemul ( 5.2) la forma
a1,1a1,2… … … a 1,n
0a(1)
2,2… … … a(1)
2,n
0 0…… … …
0 0 0 a(i−1)
i,j… a(i−1)
i,n
0 0 0 0……
0 0 0 0 0 a(n−1)
n,n
·
x1
x2
…
xi
…
xn
=
a1,n+1
a(1)
2,n+1
…
a(i−1)
i,n+1
…
a(n−1)
n,n+1
. (5.4)
Indicii superiori indic˘ a etapa ˆ ın care a fost obt ¸inut elementul. Pentru a obt ¸ine
zerourile de sub diagonala principal˘ a, se folosesc operat ¸ii simple de ˆ ınmult ¸ire a
unei linii cu un multiplicator ¸ si de sc˘ adere din alt˘ a linie. Spre exemplu, pentru
a obt ¸ine zerouri pe prima coloan˘ a, din linia ise scade prima linie ˆ ınmult ¸it˘ a cu
multiplicatorul mi,1, obt ¸inˆ andu-se
a(1)
i,1=ai,1−mi,1a1,1= 0⇒mi,1=ai,1/a1,1. (5.5)
Repetˆ and procedeul pentru i=2,n, se obt ¸in elemente nule pe coloana ˆ ıntˆ ai ˆ ın
aceast˘ a prim˘ a etap˘ a. Evident, pentru a putea opera, trebuie ca a1,1/negationslash= 0. Mai
mult, dup˘ a cum vom vedea la paragraful ( 5.1.3), se recomand˘ a ca a1,1s˘ a fie ˆ ın
modul cˆ at mai mare posibil, deoarece ˆ ın acest mod, erorile de rotunjire sunt re-
duse. Elementul ai,iplasat pe diagonala principal˘ a se nume¸ ste pivot . Obt ¸inerea
unui pivot cu modul cˆ at mai mare este posibil˘ a prin schimb˘ ari de linii ¸ si coloane
care nu afecteaz˘ a zerourile deja produse, adic˘ a pivotul se poate alege dintre
elementele de sub ¸ si/sau la dreapta pozit ¸iei de pe diagonala principal˘ a a pivo-
tului. ˆIn funct ¸ie de num˘ arul de elemente dintre care este selectat, pivotul poate
fipart ¸ial , cˆ and se alege cel mai mare ˆ ın modul1dintre elementele de pe coloana
pivotului, sub diagonala principal˘ a, sau total, cˆ and se alege cel mai mare ˆ ın
modul dintre toate elementele cont ¸inute ˆ ın linii ¸ si coloane care, interschimbate,
nu modific˘ a zerourile deja obt ¸inute .ˆIn cazul ˆ ın care pentru obt ¸inerea unui pivot
1Cu privire la alegerea elementului “cel mai mare ˆ ın modul”, vezi ¸ si paragraful 5.1.3.
118 5.Rezolvarea sistemelor liniare
convenabil este necesar˘ a o schimbare de linii, aceasta poate fi f˘ acut˘ a efectiv ˆ ın
matricea extins˘ a A/prime, sau se poate memora doar indicele liniei pe care se afl˘ a ele-
mentul dorit ca pivot, cu ajutorul unui vector l. Dac˘ a ˆ ın etapa selementul dorit
ca pivot se afl˘ a pe linia i(evidenti≥s, pentru a p˘ astra zerourile deja obt ¸inute),
atunci atribuim ls=i. Acest mod de lucru complic˘ a algoritmul, f˘ ar˘ a a aduce
avantaje privind timpul de calcul, astfel ˆ ıncˆ at recomand˘ am prima variant˘ a. La
interschimbarea a dou˘ a coloane ( jcuk), vo m observa c˘ a trebuie interschim-
bate ¸ si necunoscutele ( xjcuxk). Acest lucru se poate realiza cu ajutorul unui
vectorc, care este init ¸ializat cu valorile c= (1,2,… ,k,… ,n ). Dac˘ a spre
exemplu ˆ ın prima etap˘ a schimb˘ am coloanele 1 cu k, se schimb˘ a corespunz˘ ator
¸ si elementele c1cuck, iar vectorul cdevinec= (k,2,… , 1,… ,n ).
ˆIn fiecare etap˘ a s∈1,n−1, elementele din matrice se modific˘ a dup˘ a regula
s= 1 : (n−1)
i= (s+ 1) :n
mi,s←a(s−1)
i,s/a(s−1)
s,s
j= (s+ 1) : (n+ 1)/bracketleftBig
a(s)
i,j←a(s−1)
i,j−mi,sa(s−1)
s,j .(5.6)
ˆIntr-adev˘ ar, ˆ ın etapa ( s) pivotul este a(s−1)
s,s, iar elementele care se anuleaz˘ a
sunt plasate ˆ ın pozit ¸ia ai,s,i∈s+ 1,n. Practic, aceste elemente nu se mai
calculeaz˘ a deoarece se ¸ stie c˘ a ele sunt nule, iar pe pozit ¸iile acestora se pot
memora multiplicatorii mi,s, eventual necesari pentru calcule ulterioare cum
ar fi rafinarea solut ¸iei (paragraful 5.1.3).ˆIn final, dac˘ a matricea Anu este
singular˘ a, se ajunge la forma ( 5.4) a sistemului, coeficient ¸ii a(i−1)
i,j,i∈1,n,
j∈1,n+ 1 fiind obt ¸inut ¸i prin operat ¸ii asupra matricei extinse A/prime. Ca urmare,
necunoscutele se obt ¸in prin retrosubstituire , dup˘ a schema
xcn←a(n−1)
n,n+1/a(n−1)
n,n
i= (n−1) : 1
xci←(a(i−1)
i,n+1−n/summationdisplay
j=i+1a(i−1)
i,jxcj)/a(i−1)
i,i ,(5.7)
ˆ ın care am t ¸inut cont ¸ si de eventualele schimb˘ ari de coloane necesare ˆ ın cazul
folosirii pivot˘ arii totale ¸ si memorate ˆ ın vectorul c. Trebuie observat faptul c˘ a
elementele matricei init ¸iale Ase pierd dac˘ a se folosesc schemele ( 5.6) ¸ si ( 5.7).
ˆIn cazul ˆ ın care matricea Aeste necesar˘ a pentru calcule ulterioare (cum ar fi
rafinarea inversei, vezi. 5.1.7), trebuie p˘ astrat˘ a o copie a acesteia.
Num˘ arul de operat ¸ii necesare pentru obt ¸inerea solut ¸iei prin procedeul de
eliminare gaussian˘ a se calculeaz˘ a u¸ sor. Evident, nu lu˘ am ˆ ın considerare ¸ si
operat ¸iile legate de permutarea elementelor ˆ ın vederea g˘ asirii pivotului part ¸ial
sau total, deoarece acestea depind de fiecare matrice ˆ ın parte. De regul˘ a, se
consider˘ a c˘ a ˆ ımp˘ art ¸irea reprezint˘ a o singur˘ a “operat ¸ie”, ˆ ın timp ce o adunare
¸ si o ˆ ınmult ¸ire formeaz˘ a ˆ ımpreun˘ a tot a “operat ¸ie” (aproximativ acela¸ si timp
5.1.Metode directe 119
de calcul pe calculator). Amintindu-ne c˘ a operat ¸iile se efectueaz˘ a cu elemen-
tele matricei extinse A/prime, de dimensiuni n·(n+ 1), vom avea de efectuat, dup˘ a
schema ( 5.6), ˆ ıntr-o etap˘ a s,n−sˆ ımp˘ art ¸iri pentru a obt ¸ine multiplicatorii mi,s.
Num˘ arul de adun˘ ari ¸ si ˆ ınmult ¸iri este egal cu produsul num˘ arului de valori luate
de indiciii,j, adic˘ a (n−s)(n+1−s). Rezult˘ a num˘ arul de operat ¸ii la eliminarea
Gauss
nG=n−1/summationdisplay
s=1[(n−s)2+ 2(n−s)] =n3
3+n2
2−5n
6. (5.8)
Acest num˘ ar este foarte mic (ˆ ıncepˆ and cu n≥3) fat ¸˘ a den·n! operat ¸ii cerute de
regula lui Cramer (cu determinant ¸ii calculat ¸i dup˘ a minori). La operat ¸iile ( 5.8) se
adaug˘ a ˆ ınc˘ a aproximativ 1 + ( n−1) +n(n−1)/2 =n2/2 +n/2 operat ¸ii pentru
retrosubstituirea ( 5.7). Rezult˘ a num˘ arul total de operat ¸ii pentru eliminarea
gaussian˘ a
nG=n3
3+n2−n
3≈n3
3+n2. (5.9)
aproximat ¸ia fiind valabil˘ a pentru n/greatermuch1.
Relat ¸iile ( 5.6) ¸ si ( 5.7) se pot optimiza obt ¸inˆ and 1 pe diagonala principal˘ a,
dup˘ a algoritmul dat de ( 5.10), unde am inclus ¸ si calculul determinantului matri-
ceiA,d= detA. Num˘ arul de operat ¸ii se reduce (nesemnificativ) cu nˆ ımp˘ art ¸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)
[as,j←as,j/as,s]
d←d·as,s;as,s←1
i= (s+ 1) :n/bracketleftBigg
j= (s+ 1) :n/bracketleftBig
a(s)
i,j←a(s−1)
i,j−a(s−1)
i,sa(s−1)
i,j
j= (s+ 1) : (n+ 1)
[as,j←as,j/as,s]
d←d·as,s;as,s←1
i= 1 :n
dac˘ ai/negationslash=s/bracketleftBigg
j= (s+ 1) :n/bracketleftBig
a(s)
i,j←a(s−1)
i,j−a(s−1)
i,sa(s−1)
i,j
[Retrosubstituire ] [Calculul necunoscutelor ]
xn←a(n−1)
n,n+1 i= 1 :n
i= (n−1) : 1/bracketleftBig
xi←a(i−1)
i,n+1
xi←a(i−1)
i,n+1−n/summationdisplay
j=i+1a(i−1)
i,jxj
(5.10)
120 5.Rezolvarea sistemelor liniare
Exemplu . Folosind metoda elimin˘ arii gaussiene, s˘ a se rezolve sistemul de ecuat ¸ii
x1+29
x2+x3= 2
8×1+ 2×2−3×3=−1
x1+ 2×2−5×3= 1. (5.11)
Scriem matricea extins˘ a ¸ si efectu˘ am elimin˘ arile dup˘ a regula ( 5.6). Obt ¸inem succesiv
129
1| 2
8 2−3| − 1
1 2−5| 1
s=1→
129
1| 2
029
−11| − 17
0169
−6| − 1
s=2→
129
1| 2
029
−11| − 17
0 0 82|135
.
Rezult˘ a
x3= 135/82/similarequal1.6463, x 2= (9/2)/parenleftbig
17 + 1113582
/parenrightbig
= 819/164/similarequal4.9939,
x1= 2−135/82−(2/9)(819/164) =−31/41/similarequal−0.7561 .(5.12)
Valoarea din chenar reprezint˘ a pivotul etapei respective. Modul de lucru nu este cel
mai adecvat pentru transpunerea pe calculator deoarece: (a)elimin˘ arile s-au f˘ acut
f˘ ar˘ a a utiliza nici o tehnic˘ a de pivotare (part ¸ial˘ a sau total˘ a); (b)calculele s-au efectuat
utilizˆ and fract ¸ii ordinare, ceea ce implic˘ a programe speciale.
Pentru evident ¸ierea erorilor ¸ si t ¸inˆ and cont c˘ a sistemul este foarte mic, relu˘ am
calculele folosind pivotarea part ¸ial˘ a ¸ si lucrˆ and doar cu trei cifre semnificative2. Se
obt ¸ine
1 0.222 1|2
8 2−3| − 1
1 2−5|1
l1↔l2→
82 −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
l2↔l3→
8 2−3| − 1
01.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
.
Rezult˘ a
¯x3= 0.164·101,¯x2= 0.498·101,¯x1=−0.755·100. (5.13)
Valorile necunoscutelor fiind aproximative, s-a folosit notat ¸ia cu bar˘ a ¯ x. Scrierea este
cu virgul˘ a mobil˘ a normalizat˘ a ˆ ın sistem zecimal. De¸ si sistemul este mic ¸ si relativ bine
condit ¸ionat (vezi paragraful 5.1.8, num˘ arul de condit ¸ionare calculat cu ( 5.64) ¸ si norma
euclidian˘ a este µ(A) = 24, iar calculat cu ( 5.85) esteµ(A) = 21.6, ˆ ın timp ce num˘ arul
2Calculele intermediare au fost efectuate ˆ ıns˘ a cu ¸ sapte cifre semnificative.
5.1.Metode directe 121
de condit ¸ionare al matricei Hilbert33×3 calculat cu ( 5.85) este 524), utilizarea a
numai trei cifre semnificative a condus la erori resimt ¸ite la a treia cifr˘ a semnificativ˘ a.
Pentru a observa influent ¸a alegerii pivotului asupra preciziei rezultatelor, refacem
calculele de mai sus f˘ ar˘ a 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.0281 .38|2.13
0 1.75−4.63|1.13
s=2/prime
→
8 2−3| − 1
0−0.028 1.38|2.13
0 0 81 .6|1.13
,
cu solut ¸iile
¯x/prime
3= 0.164·101,¯x/prime
2= 0.476·101,¯x/prime
1=−0.7·100. (5.14)
Se observ˘ a aparit ¸ia unor erori mult mai mari, comparativ cu valorile ( 5.12). Normele
maxime ale erorilor sunt
/bardblx−¯x/bardbl∞= 0.139·10−1,/bardblx−¯x/prime/bardbl∞= 0.234. (5.15)
5.1.2 Metoda Gauss-Jordan
Este similar˘ a cu metoda precedent˘ a, cu deosebirea c˘ a produce zerouri atˆ at de-
desubtul cˆ at ¸ si deasupra diagonalei principale, reducˆ and astfel matricea init ¸ial˘ a
la o matrice diagonal˘ a. ˆIn acest fel, num˘ arul de operat ¸ii este cu circa 50% mai
mare (nu este de dou˘ a ori mai mare cum ne-am fi a¸ steptat, unele reduceri apar
la determinarea necunoscutelor care nu se mai obt ¸in prin retrosubstituire, ci
direct, printr-o singur˘ a ˆ ımp˘ art ¸ire). Ca urmare a num˘ arului sporit de operat ¸ii,
utilizarea metodei Gauss-Jordan la rezolvarea sistemelor de ecuat ¸ii nu este justi-
ficat˘ a. Aceast˘ a metod˘ a esteˆ ıns˘ a utilizat˘ a la calculul numeric al matricei inverse ,
operat ¸ie pe care o vom prezenta la paragraful 5.1.5. Num˘ arul de operat ¸ii, nGJ,
pentru metoda de eliminare Gauss-Jordan se calculeaz˘ a observˆ and c˘ a la fiecare
etap˘ as, se calculeaz˘ a n−1 multiplicatori. Algoritmul elimin˘ arii Gauss-Jordan
este dat de ( 5.10). Rezult˘ a num˘ arul de operat ¸ii la eliminarea Gauss-Jordan
nGJ=n/summationdisplay
s=1[(n−1) + (n−1)(n+ 1−s)] =n3
2+n2−3n
2≈n3
2+n2, (5.16)
aproximat ¸ia fiind valabil˘ a pentru n/greatermuch1.
5.1.3 Propagarea erorilor la metodele de eliminare. Rafi-
narea solut ¸iei
Formula de calcul a coeficient ¸ilor matricei extinse este dat˘ a de relat ¸iile ( 5.6) pe
care le retranscriem sub forma
a(s)
i,j=a(s−1)
i,j−a(s−1)
i,sa(s−1)
s,j/a(s−1)
s,s, j∈s+ 1,n+ 1 , (5.17)
3Elementele matricei Hilbert sunt date de relat ¸ia hi,j= 1/(i+j+ 1). Matri-
cea Hilbert este un caz tipic de matrice r˘ au condit ¸ionat˘ a; spre exemplu num˘ arul de
condit ¸ionare al matricei Hilbert de 5 ×5 este de ordinul 105iar pentru 6×6 este de
ordinul 107.
122 5.Rezolvarea sistemelor liniare
undei∈s+ 1,n,s∈1,n−1 la procedeul Gauss ¸ si i= 1,2,…s−1,s+1,…n ,
s∈1,nla procedeul Gauss-Jordan. Rezult˘ a eroarea relativ˘ a total˘ a
ε(s)
i,j=a(s−1)
i,j
a(s)
i,jε(s−1)
i,j−a(s−1)
i,sa(s−1)
s,j
a(s−1)
s,sa(s)
i,jε/prime+εs, (5.18)
ε/prime≡ε(s−1)
i,s +ε(s−1)
s,j−ε(s−1)
s,s +εp+εd.
ˆIn expresia ( 5.18) s-a t ¸inut seama de propagarea erorilor la sc˘ adere (sau sumare),
la produs ¸ si la ˆ ımp˘ art ¸ire, dup˘ a regulile date ˆ ın capitolul 4. Marginea erorii
relative totale este
ε(s)
i,j≤5·10−t
/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglea(s−1)
i,j
a(s)
i,j/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle+ 5/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglea(s−1)
i,sa(s−1)
s,j
a(s−1)
s,sa(s)
i,j/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle+ 1
, (5.19)
undeteste num˘ arul de cifre semnificative cu care se lucreaz˘ a. Se observ˘ a c˘ a
singurul factor asupra c˘ aruia se poate act ¸iona este pivotul a(s−1)
s,s a c˘ arui valoare
ˆ ın modul se recomand˘ a, ˆ ın general, s˘ a fie cˆ at mai mare. ˆIn leg˘ atur˘ a cu strategia
pivotului maxim, se poate face ˆ ıns˘ a ¸ si urm˘ atoarea remarc˘ a: deoarece, conform
relat ¸iei ( 5.35), produsul pivot ¸ilor esteˆ ın modul egal cu valoarea lui det A, rezult˘ a
c˘ a 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 finale, cu atˆ at
mai devreme cu cˆ at valoarea absolut˘ a a determinantului matricei Aeste mai
mic˘ a. Prin urmare, este posibil˘ a o strategie optim˘ a 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 fi f˘ acut˘ a
atˆ at pe linii cˆ at ¸ si pe coloane. Pentru a ˆ ınt ¸elege mai bine care este problema,
s˘ a presupunem c˘ a ˆ ınmult ¸im una din liniile sistemului cu un num˘ ar foarte mare.
Acest lucru nu modific˘ a teoretic solut ¸ia sistemului dar avem mari ¸ sanse ca ele-
mentul maxim ˆ ın modul s˘ a se afle pe aceast˘ a linie, chiar dac˘ a acest lucru nu
s-ar fi ˆ ıntˆ amplat cu linia original˘ a. Este necesar˘ a deci scalarea matricei care
const˘ a ˆ ın ˆ ınmult ¸irea fiec˘ arei linii cu cˆ ate un multiplicator riastfel ˆ ıncˆ at eleme-
tele maxime ˆ ın modul de pe fiecare linie s˘ a fie egale cu unitatea . Sistemul ( 5.1)
devine
n/summationdisplay
j=1riai,jxj=ribi, ri= 1/max
j∈1,n|aij|, i∈1,n, (5.20)
Pentru a reduce pe cˆ at de mult posibil erorile de rotunjire, multiplicatorul se
alege de forma 1 /2mastfel ˆ ıncˆ at elementele maxime de pe fiecare linie s˘ a fie cˆ at
mai apropiate de unitate. ˆIn cazul ˆ ın care se calculeaz˘ a inversa sau determinan-
tul, ace¸ sti multiplicatori trebuie memorat ¸i.
Similar, precondit ¸ionarea prin echilibrare pe coloane , const˘ a ˆ ın transformarea
sistemului ( 5.1) ˆ ın sistemul echivalent
n/summationdisplay
j=1pjai,j(xj/pj) =bi, pj= 1/max
i∈1,n|aij|, j∈1,n, (5.21)
5.1.Metode directe 123
Tot pe linia obt ¸inerii unei unei precizii cˆ at mai bune se ˆ ınscrie ¸ si rafinarea
solut ¸iei , care const˘ a ˆ ın ˆ ımbun˘ at˘ at ¸irea solut ¸iei printr-un proces iterativ. Notˆ and
cuevectorul eroare ¸ si cu ¯ xvectorul solut ¸iei aproximative g˘ asite, ˆ ınlocuind ˆ ın
sistemul ( 5.2) vom obt ¸ine o valoare ¯b/negationslash=b
A¯x=¯b,¯x=x−e, (5.22)
adic˘ a apare o diferent ¸˘ a fat ¸˘ a de vectorul b, diferent ¸˘ a pe care o vom nota cu β
β=b−¯b. (5.23)
Prin sc˘ aderea ecuat ¸iilor ( 5.2) ¸ si ( 5.22), se obt ¸ine un sistemul
Ae=β, (5.24)
care are aceea¸ si matrice cu sistemul init ¸ial. Prin urmare, sistemul ( 5.24) se
rezolv˘ a cu acela¸ si algoritm, nefiind necesare decˆ at operat ¸iile de eliminare aplicate
asupra termenilor liberi. Se obt ¸ine solut ¸ia rafinat˘ a
¯x1= ¯x+e. (5.25)
Evident, nici aceast˘ a solut ¸ie ( 5.25) nu este exact˘ a, deoarece la determinarea
vectorului eroare ese introduc acelea¸ si erori ca la rezolvarea sistemului init ¸ial
(5.2), prin transform˘ arile efectuate asupra matricei A. O nou˘ a rafinare, plecˆ and
de lax1este posibil˘ a, dar aceasta nu ˆ ımbun˘ at˘ at ¸e¸ ste ˆ ın mod necesar solut ¸ia
sistemului. Condit ¸ii suficiente pentru corectarea solut ¸iei se vor da la paragraful
5.1.7.
Exemplu . Relu˘ am exemplul ( 5.11). Indiferent de metoda utilizat˘ a, solut ¸ia trebuie
verificat˘ a ˆ ın sistem. ˆIn acest fel, se g˘ ase¸ ste vectorul erorilor β(5.23)
Solut ¸ia β1β2β3/bardblβ/bardbl∞//bardblb/bardbl∞
(5.13)0.944·10−20−0.5·10−20.47·10−2
(5.14)0.328·10−20 0.38·1000.19·100
Se constat˘ a c˘ a, ˆ ın cazul solut ¸iei ( 5.14), exist˘ a o eroare relativ˘ a mare (circa 20%) ˆ ın
termenii liberi, deci se impune rafinarea solut ¸iei. Presupunˆ ınd c˘ a efectu˘ am asupra
matriceiAacelea¸ si operat ¸ii care ne-au condus la solut ¸ia ( 5.14), sistemul ( 5.24) pentru
determinarea vectorului eroare econduce la matricea
8 2−3| 0
0−0.0281 .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·100, e1=−0.563·10−1
Solut ¸ia corectat˘ a este
¯x/prime/prime
3= 0.165·101,¯x/prime/prime
2= 0.450·101,¯x1=−0.756,(¯x/prime/prime
i= ¯x/prime
i+ei),
cu norma maxim˘ a a erorii
/bardblx−¯x/prime/prime/bardbl∞= 0.4·10−1.
Se observ˘ a o reducere a normei erorii absoluteˆ ın raport cu solut ¸ia ¯ x/prime, dar rezultatul este
sub precizia realizat˘ a cu pivotare, chiar f˘ ar˘ a rafinare ( 5.12), care are norma maxim˘ a
dat˘ a de ( 5.15).
124 5.Rezolvarea sistemelor liniare
5.1.4 Interpretarea matriceal˘ a a metodelor de eliminare
Eliminarea elementelor de pe coloane este echivalent˘ a cu ˆ ınmult ¸irea matricei
Acu anumite matrice simple. Spre exemplu, ˆ ın prima etap˘ a, matricea Aeste
ˆ ınmult ¸it˘ a la stˆ anga cu o matrice notat˘ a cu L1, ˆ ın a doua etap˘ a cu o matrice L2,
¸ s.a.m.d. Se verific˘ a direct c˘ a aceste matrice sunt de forma
L1=
1 0… … 0
−m2,11… … 0
−m3,10…… 0
……………
−mn,10… 0 1
, L 2=
1 0 … … 0
0 1 … … 0
0−m3,2…… 0
……………
0−mn,2… … 1
,
adic˘ a se obt ¸in din matricea unitate de dimensiuni n×nprin introducerea mul-
tiplicatorilor, cu semn schimbat, ˆ ın pozit ¸iile specificate chiar prin indicii acestor
multiplicatori. Ca prob˘ a, elementul pi,1din matricea produs L1Aeste
pi,1=−mi,1·a1,1+ 1·ai,1= 0, i= 2,3,… ,n . (5.26)
ˆIn consecint ¸˘ a, ˆ ın absent ¸a permut˘ arilor de linii ¸ si coloane (pe care de fapt le
efectu˘ am pentru obt ¸inerea pivot ¸ilor de modul convenabil), se obt ¸ine produsul
de matrice
U=Ln−1Ln−2…L 2L1A, (5.27)
Ufiind matricea superior triunghiular˘ a4, obt ¸inut˘ a ˆ ın etapa n−1 a elimin˘ arii ga-
ussiene (etapa final˘ a). Vom observa, mai departe, c˘ a matricele Ls,s∈1,n−1
sunt toate inversabile, avˆ and determinant ¸i egali cu unitatea. Mai mult, se ve-
rific˘ a direct c˘ a matricele inverse L−1
sse obt ¸in din matricele Lsprin schimbarea
semnelor elementelor mi,s. Notˆ and cu L= (Ln−1Ln−2…L 2L1)−1matricea
invers˘ a a transform˘ arilor matricei A(5.27), rezult˘ a c˘ a la eliminarea gaussian˘ a
(f˘ ar˘ a permut˘ ari de linii sau coloane), s-a realizat factorizarea
A=L·U, (5.28)
undeLeste o matrice inferior triunghiular˘ a avˆ and elemente egale cu unitatea
pe diagonala principal˘ a, iar ˆ ın rest multiplicatorii utilizat ¸i la eliminare
L=L−1
1L−1
2…L−1
n−1=
1 0 … … 0
m2,1 1… … 0
m3,1m3,21… 0
……………
mn,1mn,2… mn,n−11
. (5.29)
4LitereleL¸ siUsunt preluate de la cuvintele din limba englez˘ a lower ¸ siupper .
5.1.Metode directe 125
Pe de alt˘ a parte, matricea U, superior triunghiular˘ a, are expresia
U=
a1,1a1,2a1,3… a 1,n
0a(1)
2,2a(1)
2,3… a(1)
2,n
0 0a(2)
3,3… a(2)
3,n
……………
0 0… 0a(n−1)
n,n
. (5.30)
Permutarea de linii sau coloane revine la ˆ ınmult ¸irea matricei ale c˘ arei linii
sau coloane se permut˘ a, cu o matrice de permutare . Vom nota cu Pi,jmatricea
obt ¸inut˘ a prin permutarea ˆ ın matricea unitate de acelea¸ si dimensiuni, a liniilor
sau coloanelor i¸ sij. Pentru a permuta liniilei¸ sijdintr-o matrice oarecare, se
ˆ ınmult ¸e¸ ste matricea respectiv˘ a cu Pi,jlastˆ anga , iar pentru a permuta coloanele
i¸ sij, se ˆ ınmult ¸e¸ ste cu Pi,jladreapta . Presupunem c˘ a, spre exemplu, pentru
a ajunge la forma triunghiular˘ a U/primes-au folosit atˆ at permut˘ ari de linii cˆ at ¸ si de
coloane, astfel ˆ ıncˆ at, ˆ ınainte de a efectua elimin˘ arile ˆ ın coloana a doua, s-au
permutat liniile i,j¸ si coloanele k,l(i,j,k,l≥2). Se obt ¸ine
U/prime=Ln−1…L 2Pi,jL1APk,l (5.31)
undePi,j¸ siPk,lsunt matrice de permutare. Din ( 5.31) se poate trage conclu-
zia c˘ a, datorit˘ a permut˘ arilor, matricea Anu se mai descompune chiar ˆ ıntr-un
produs de matrice triughiulare. De fapt
A= (L−1
1Pi,jL−1
2…L−1
n−1)U/primePk,l, (5.32)
unde am t ¸inut cont c˘ a P−1
i,j=Pi,j, sau
Pi,jAPk,l=LU/prime, (5.33)
unde am t ¸inut cont c˘ a operat ¸iile de permutare de linii ¸ si de eliminare sunt
comutative, adic˘ a
Pi,jL−1
1Pi,j(L−1
2…L−1
n−1U/primePk,l) =Pi,jPi,jL−1
1(L−1
2…L−1
n−1U/primePk,l) (5.34)
Eliminarea gaussian˘ a poate fi utilizat˘ a ¸ si pentru calculul valorii determinant ¸ilor.
Din ( 5.32) se obt ¸ine
detA= (−1)npdetU/prime=a1,1a(1)
2,2…a(n−1)
n,n (−1)np, (5.35)
undenpreprezint˘ a num˘ arul total de permut˘ ari de linii ¸ si coloane. Deoarece
detA/negationslash= 0, rezult˘ a c˘ a nici unul dintre pivot ¸ii a(s−1)
s,s, (s∈1,n) nu poate fi nul.
5.1.5 Calculul matricei inverse
MatriceaAeste inversabil˘ a dac˘ a det A/negationslash= 0, condit ¸ie pus˘ a ¸ si pentru existent ¸a
solut ¸iei sistemului ( 5.2). Prin urmare, este de a¸ steptat ca rezolvarea sistemului
126 5.Rezolvarea sistemelor liniare
¸ si inversarea matricei As˘ a fie probleme strˆ ans legate. ˆIntr-adev˘ ar, matricea B
este inversa matricei Adac˘ a
AB=BA=I. (5.36)
Dac˘ a lu˘ am ˆ ın considerare prima coloan˘ a a matricei B, obt ¸inem
a1,1a1,2… a 1,n
a2,1a2,2… a 2,n
… … … …
an,1an,2… an,n
·
b1,1
b2,1
…
bn,1
=
1
0
…
0
, (5.37)
adic˘ a un sistem de necuat ¸ii cunnecunoscute. Rezult˘ a deci c˘ a problema deter-
min˘ arii matricei inverse Beste echivalent˘ a cu rezolvarea a nsisteme denecuat ¸ii
cunnecunoscute. Vom considera matricea Mde dimensiuni n×2n, format˘ a
din al˘ aturarea matricei unitate Ila matricea A, urmˆ and a aplica transform˘ ari
matriceiAastfel ˆ ıncˆ at s˘ a o aducem la matricea unitate I,
M= [A|I]→[I|A] . (5.38)
ˆIn acest scop, se aplic˘ a transform˘ arile de la eliminarea Gauss- Jordan. Rezult˘ a
o relat ¸ie de forma
I=D(n)TnTn−1…Pi,jT1APk,l, (5.39)
undePi,j,Pk,lreprezint˘ a matricele de permutare, Ts,s∈1,nsunt matrice care
cont ¸in multiplicatorii, iar D(n)este o matrice diagonal˘ a
T1=L1,
T2=
1−m1,2… … 0
0 1 … … 0
0−m3,2…… 0
……………
0−mn,2… … 1
, D(n)=
1/a1,1 0… 0
0 1/a(1)
2,2… 0
…………
0 0 … 1/a(n−1)
n,n
.
Dac˘ a acelea¸ si transform˘ ari la stˆ anga sunt aplicate ¸ si matricei unitate, rezult˘ a o
matriceBavˆ and expresia
B=D(n)TnTn−1…Pi,jT1I. (5.40)
Din ( 5.39) ¸ si ( 5.40) se obt ¸ine
I=BAPk,l, (5.41)
sau, observˆ and c˘ a P2
k,l=I¸ si ˆ ınmult ¸ind egalitatea ( 5.41) la dreapta ¸ si la stˆ ınga
cuPk,l,se obt ¸ine
Pk,lIPk,l=Pk,lBAPk,lPk,l, rezult˘ a (Pk,lB)A=I, deciA−1=Pk,lB, (5.42)
5.1.Metode directe 127
adic˘ a matricea invers˘ a se obt ¸ine din matricea Bprintr-o permutare de linii, co-
respunz˘ atoare permut˘ arilor de coloane efectuate la c˘ autarea pivot ¸ilorˆ ın operat ¸iile
de eliminare. Dac˘ a s-au efectuat mai multe permut˘ ari de coloane, spre exemplu
I=BAPk1,l1Pk2,l2…Pkm,lm, (5.43)
rezult˘ a
A−1= (Pkm,lm…(Pk2,l2(Pk1,l1B))…) , (5.44)
adic˘ a permut˘ arile de linii ˆ ın matricea Bse efectueaz˘ a ˆ ın ordine invers˘ a fat ¸˘ a de
permut˘ arile de coloane efectuate ˆ ın matricea A. Dac˘ a la c˘ autarea pivot ¸ilor nu
se folosesc schimb˘ ari de coloane, atunci A−1=B.
L˘ asˆ and la o parte permut˘ arile, num˘ arul de operat ¸ii la inversare este
ninv= 3n3/2−2n2+ 5n/2 + 1≈3n3/2−2n2,(n/greatermuch1) . (5.45)
Se observ˘ a c˘ a num˘ arul de operat ¸ii la inversarea matricelor mari ( n≥40) este
de circa 3 ori mai mare decˆ at pentru eliminarea Gauss-Jordan ¸ si de 4 .5 ori
mai mare decˆ at la eliminarea Gauss. Num˘ arul de operat ¸ii se poate reduce ˆ ıns˘ a
t ¸inˆ and seama de forma particular˘ a a matricei unitate. ˆIntr-adev˘ ar, ˆ ın prima
etap˘ a a elimin˘ arii, matricea I(plasat˘ a ˆ ın coloanele n+ 1, 2n) sau orice matrice
de permutare Pi,jcare ar putea ap˘ area ˆ ın locul ei ˆ ın urma alegerii pivotului,
cont ¸ine doar un element nenul pe fiecare linie. ˆIn urma elimin˘ arii din prima
etap˘ a, coloanele n+ 1…2nvor forma o matrice cu cel mult dou˘ a elemente
nenule pe fiecare linie cu care se va opera ˆ ın etapa a doua, ¸ s.a.m.d. ˆIn etapas,
se va opera cu cel mult selemente diferite de zero pe linia pivotului, ˆ ın coloanele
n+ 1…2n. Ca urmare, num˘ arul de operat ¸ii poate fi redus la expresia
ninv1=n3−n2+ 1≈n3−n2, (5.46)
deci, aproape de 1 .5 ori mai mic fat ¸˘ a de ( 5.45) ˆ ın cazul matricelor mari. Aceast˘ a
reducere se face pe seama t ¸inerii evident ¸ei pozit ¸iilor elementelor nenule din linia
pivotului. Aceast˘ a evident ¸˘ a nu este dificil˘ a deoarece, la fiecare etap˘ a se adaug˘ a
o coloan˘ a nou˘ a la precedentele. ˆIn final, vom observa c˘ a permut˘ arile de linii
(singurele care se aplic˘ a pe pozit ¸ia ocupat˘ a init ¸ial de matricea I) schimb˘ a doar
pozit ¸iile elementelor nenule (nu ¸ si num˘ arul acestora).
Determinarea matricei inverse am v˘ azut c˘ a este echivalent˘ a cu rezolvarea a
nsisteme denecuat ¸ii simultane (cu aceea¸ si matrice A), avˆ and ca termeni liberi
coloanele matricei I, iar ca necunoscute elementele matricei inverse. Aceea¸ si
problem˘ a poate fi rezolvat˘ a ¸ si prin eliminare gaussian˘ a, retrosubstituirea pentru
g˘ asirea celor n2necunoscute cerˆ and ˆ ıns˘ a n2(n+1)/2 operat ¸ii. ˆIn aceste condit ¸ii,
num˘ arul de operat ¸ii pentru inversare este
(a)f˘ ar˘ a considerarea zerourilor din matricea unitate
ninv2= 4n3/3−n/3 ; (5.47)
128 5.Rezolvarea sistemelor liniare
(b)cu considerarea zerourilor din matricea unitate
ninv3=n3+n2/2−n/2 . (5.48)
Se observ˘ a c˘ a ninv2<ninv, ˆ ın timp ce ninv3>ninv1.
Exemplu . Ne propunem s˘ a calcul˘ am inversa matricei Aa sistemului ( 5.11). Vom
folosi metoda Gauss-Jordan cu pivotare total˘ a pentru matricea extins˘ a. Avem succesiv
/bracketleftBigg1 0.2222 1|1 0 0
8 2−3|0 1 0
1 2−5|0 0 1/bracketrightBigg
l1↔l2−→
82 −3|0 1 0
1 0.2222 1|1 0 0
1 2−5|0 0 1
s=1−→/bracketleftBigg8 2−3|0 1 0
0−0.0278 1.375|1−0.125 0
0 1.75−4.625|0−0.125 1/bracketrightBigg
l2↔l3−→
c2↔c3
8 2−3|0 1 0
0-4.6251 .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 00.4925 |0−0.1622 0.2973
s=3−→/bracketleftBigg8 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/bracketrightBigg
D→/bracketleftBigg1 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/bracketrightBigg
.
(5.49)
Calculele au fost efectuate cu 4 cifre semnificative. Deoarece am permutat coloanele
2 ¸ si 3 pentru aducerea valorii −4.625 pe pozit ¸ia pivotului, matricea invers˘ a B0se
obt ¸ine din ( 5.49) prin permutarea liniilor 2 ¸ si 3 ˆ ın matricea format˘ a 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 Apentru care am calculat, cu un efort apreciabil, o aproximat ¸ie
a inversei, B∼=A−1. S˘ a presupunem c˘ a ˆ ın matricea Asunt cˆ ateva elemente
care sufer˘ a mici modific˘ ari (se poate modifica numai un element, sau o linie, sau
o coloan˘ a, etc.). Se pune problema de a folosi munca depus˘ a anterior pentru
calculul matricei inverse B. Acest lucru se poate realiza cu formula Sherman-
Morisson
(A+u·vT)−1=A−1−(A−1u)(vA−1)T/(1 +vA−1u) , (5.51)
5.1.Metode directe 129
undeu¸ sivsunt doi vectori cu ajutorul c˘ arora putem exprima schimbarea din
matriceaAde forma
A→A+u·vT. (5.52)
Spre exemplu, dac˘ a se modific˘ a linia idin matricea A, trebuie ca uj= 0,
j∈1,n\{i},ui= 1, iar vectorul vcont ¸ine valorile cu care se modific˘ a elementele
ai,j,j∈1,n. Analog, pentru a modifica coloana j,vi= 0,i∈1,n\{j},vj= 1,
iar vectorul ucont ¸ine valorile cu care se modific˘ a elementele ai,j,i∈1,n.
5.1.7 Rafinarea matricei inverse
Deoarece ˆ ın cursul calculelor se produc erori de rotunjire, matricea B, obt ¸inut˘ a
prin oricare din procedeele prezentate, nu este chiar matricea A−1. FieB0
inversa matricei A, obt ¸inut˘ a init ¸ial. Putem defini o matrice a erorilor, F0, prin
relat ¸ia
F0=I−AB0. (5.53)
Evident, dac˘ a B0este exact˘ a, atunci F= 0. S˘ a presupunem c˘ a erorile sunt
suficient de mici, astfel ˆ ıncˆ at
/bardblF0/bardbl/lessmuch1 , (5.54)
unde/bardblF0/bardblreprezint˘ a o norm˘ a oarecare a matricei F0(vezi ¸ si paragraful 5.4).
Mai departe, vom construi un ¸ sir de iterat ¸ii astfel ˆ ıncˆ at
Fk+1=I−ABk+1, Fk+1=F2
k, k= 0,1,2,… (5.55)
T ¸ inˆ and cont de ( 5.54), atunciFk→0, deoarece
/bardblFk/bardbl=/bardblF2k
0/bardbl≤/bardblF0/bardbl2k→0, pentruk→∞ . (5.56)
Din ( 5.55) se deduc succesiv
Fk+1=FkFk= (I−ABk)Fk=Fk−ABkFk=
=I−ABk−ABkFk=I−A(Bk+BkFk) =I−ABk+1,(5.57)
sau comparˆ and ultimele dou˘ a egalit˘ at ¸i ( 5.57)
Bk+1=Bk+BkFk=Bk(I+Fk) = 2Bk−BkABk, k= 0,1,2,… (5.58)
Relat ¸ia ( 5.58) arat˘ a cum trebuie construite inversele cu o precizie din ce ˆ ın ce
mai bun˘ a, dac˘ a este realizat˘ a condit ¸ia ( 5.54). Din relat ¸ia ( 5.55) se poate scrie
A−1Fk+1=A−1−Bk+1. (5.59)
Rezult˘ a eroarea relativ˘ a la inversare, ˆ ın norm˘ a
/bardblδA−1/bardblk+1//bardblA−1/bardbl=/bardblA−1−Bk+1/bardbl//bardblA−1/bardbl≤/bardblFk+1/bardbl. (5.60)
130 5.Rezolvarea sistemelor liniare
Odat˘ a g˘ asit˘ a o invers˘ a suficient de exact˘ a, se poate obt ¸ine ¸ si o solut ¸ie rafinat˘ a
a sistemului ( 5.2)
x=A−1b=Bk+1b, k≥1 . (5.61)
Deoarece procesul de rafinare cont ¸ine ˆ ınmult ¸iri de matrice care necesit˘ a circa n3
operat ¸ii, este de dorit ca /bardblF0/bardbls˘ a fie cˆ at mai mic˘ a ˆ ın raport cu unitatea, adic˘ a
inversarea init ¸ial˘ a s˘ a fie cˆ at mai bun˘ a.
Exemplu . Matricea erorilor pentru matricea invers˘ a B0dat˘ a de ( 5.50) este
F0= 10−5·
13.4 7.046−4.214
90 20−40
100−10−10
, (5.62)
cu norma
/bardblF0/bardbl∞= 10−5(90 + 20 + 40) = 1 .5·10−3/lessmuch1.
Deoarece/bardblF0/bardbl∞<1, putem rafina inversa B0folosind ( 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 rafinat˘ a B1¸ si matricea erorilor F1date 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¸ siB1pentru 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 relativ˘ a la inversare dat˘ a de relat ¸ia ( 5.60) ˆ ın norma/bardbl·/bardbl∞este pentru matricea
nerafinat˘ aB0dat˘ a de ( 5.50)
/bardblδ0A−1/bardbl∞//bardblA−1/bardbl∞≤/bardblF0/bardbl∞= 1.5·10−3,
iar pentru matricea rafinat˘ a B1dat˘ a de ( 5.63) este
/bardblδ1A−1/bardbl∞//bardblA−1/bardbl∞≤/bardblF1/bardbl∞= 0.32·10−6.
5.1.Metode directe 131
5.1.8 Efectele erorilor din datele init ¸iale
Dac˘ a ˆ ın datele init ¸iale ale sistemului ( 5.1) exist˘ a erori, acestea pot fi amplificate
ˆ ın calcul mai mult sau mai put ¸in, ˆ ın funct ¸ie de num˘ arul de condit ¸ionare al
matricei sistemului. Num˘ arul de condit ¸ionare (sau indicele de condit ¸ionare ) al
unei matrice A, nesingulare, este notat cu µ(A) ¸ si are, prin definit ¸ie, expresia
µ(A) =/bardblA/bardbl·/bardblA−1/bardbl≥1 . (5.64)
Cu cˆ atµ(A) este mai mare, cu atˆ at matricea este mai r˘ au condit ¸ionat˘ a, calculul
matricei inverse fiind mai dificil de efectuat. De aceea, este mai util˘ a definit ¸ia
(5.85) pe care o vom da ˆ ın paragraful 5.1.10 .
Exemplu . Num˘ arul de condit ¸ionare al matricei Adin exemplul ( 5.11) calculat
cu relat ¸ia ( 5.64), folosind norma /bardbl·/bardbl∞¸ si cu matricea invers˘ a nerafinat˘ a B0dat˘ a de
(5.50) este
µ∞(A) =/bardblA/bardbl∞/bardblB0/bardbl∞= 13·2.962 = 38.5 ,
adic˘ a amplificarea erorilor este moderat˘ a.
S˘ a presupunem c˘ a, ˆ ın matricea init ¸ial˘ a A, s-a introdus perturbat ¸ia δAastfel
ˆ ıncˆ at eroarea relativ˘ a, ˆ ın norm˘ a, satisface inegalitatea
/bardblδA/bardbl·/bardblA−1/bardbl<1 . (5.65)
S˘ a presupunem c˘ a ¸ si vectorul beste dat cu eroarea δb.ˆIn consecint ¸˘ a, va rezulta
o imprecizie δxˆ ın solut ¸ie, astfel ˆ ıncˆ at
(A+δA)(x+δx) =b+δb, (5.66)
sau, t ¸inˆ and 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)−1A−1(δb−δAx) ,(5.68)
Inegalitatea ( 5.65) implic˘ a ˆ ıns˘ a
/bardbl(I+A−1δA)−1/bardbl≤(1−/bardblA−1δA/bardbl)−1≤(1−/bardblA−1/bardbl·/bardblδA/bardbl)−1. (5.69)
iar din ( 5.1) se obt ¸ine
/bardblx/bardbl−1≤/bardblA/bardbl·/bardblb/bardbl−1. (5.70)
Utilizˆ and ( 5.68), rezult˘ a
/bardblδx/bardbl≤(1−/bardblA−1/bardbl//bardblδA/bardbl)−1/bardblA−1/bardbl(/bardblδb/bardbl+/bardblδA/bardbl·/bardblx/bardbl) (5.71)
132 5.Rezolvarea sistemelor liniare
sau, ˆ ımp˘ art ¸ind cu /bardblx/bardbl/negationslash= 0 ¸ si utilizˆ and ( 5.70)
/bardblδx/bardbl/bardbl
x/bardbl≤µ(A)1
−µ(A)/bardblδA/bardbl//bardblA/bardbl/parenleftbigg/bardblδb/bardbl/bardbl
b/bardbl+/bardblδA/bardbl/bardbl
A/bardbl/parenrightbigg
. (5.72)
Semnul “egal” ˆ ın ( 5.72) corespunde matricelor hermitice, cu norma spectral˘ a.
Se observ˘ a important ¸a num˘ arului de condit ¸ionare µ(A) ˆ ın amplificarea erorilor
init ¸iale. Legat de eroarea la inversarea matricei A, se stabile¸ ste o expresie
similar˘ a cu ( 5.72)
/bardbl(A+δA)−1−A−1/bardbl/bardbl
A−1/bardbl≤µ(A)1
−µ(A)/bardblδA/bardbl//bardblA/bardbl/bardblδA/bardbl/bardbl
A/bardbl. (5.73)
5.1.9 Factorizarea L·U
Dup˘ a cum am v˘ azul la paragraful 5.1.4, metoda elimin˘ arii gaussiane f˘ ar˘ a per-
mut˘ ari de linii sau coloane este echivalent˘ a cu descompunerea matricei Aˆ ıntr-un
produs dintre o matrice superior triunghiular˘ a L¸ si una inferior triunghiular˘ a U
A=L·U, (5.74)
adic˘ a
A=
l1,10… 0
l2,1l2,2… 0
…………
ln,1ln,2… ln,n
·
u1,1u1,2… u 1,n
0u2,2… u 2,n
…………
0 0 0 un,n
. (5.75)
Putem folosi descompunerea ( 5.74) pentru a rezolva sistemul ( 5.2) t ¸inˆ and cont
de asociativitatea produsului de matrice
Ax= (LU)x=L(Ux) =b, (5.76)
rezolvˆ and pe rˆ and sistemele
Lz=b, Ux =z. (5.77)
Sistemele ( 5.77) se rezov˘ a cu u¸ surint ¸˘ a datorit˘ a faptului c˘ a matricele L¸ siU
sunt triunghiulare. Relat ¸ia ( 5.75) reprezint˘ a un sistem de n2ecuat ¸ii cun2+n
necunoscute, deci trebuie precizate ndintre necunoscute. Cele mai utilizate
alegeri sunt date de factorizarea Doolittle cˆ and se aleg li,i= 1, factorizarea Crout
cˆ and se aleg ui,i= 1 ¸ si factorizarea Cholesky cˆ andU=LT, decili,i=ui,i.
Factorizarea Cholesky este posibil˘ a numai dac˘ a matricea Aeste simetric˘ a ¸ si
pozitiv definit˘ a5.
5O matrice se nume¸ ste pozitiv definit˘ a dac˘ a pentru orice vector x/negationslash= 0, avemxTAx> 0.
5.1.Metode directe 133
Algoritmul de calcul pentru factorizarea LUse determin˘ a relativ u¸ sor dezvoltˆ and
relat ¸ia ( 5.75) ¸ si este dat de ( 5.78)-stˆ anga.
k= 1 :n
[Se alegeuk,ksaulk,k,
se determin˘ a lk,ksauuk,k]
lk,kuk,k←ak,k−k−1/summationtext
s=1lk,sus,k
i= (k+ 1) :n
j←i
uk,j←(ak,j−k−1/summationtext
s=1lk,sus,j)
lk,k
li,k←(ai,k−k−1/summationtext
s=1li,sus,k)
uk,kk= 1 :n
[Se alegelk,k, se determin˘ a
uk,kcare se p˘ astreaz˘ a ˆ ın
locat ¸iaak,k]
ak,k←(ak,k−k−1/summationtext
s=1ak,sas,k)
lk,k
i= (k+ 1) :n
j←i
ak,j←(ak,j−k−1/summationtext
s=1ak,sas,j)
lk,k
ai,k←(ai,k−k−1/summationtext
s=1ai,sas,k)
ak,k
(5.78)
ˆIn partea dreapt˘ a este dat algoritmul ˆ ın care se aleg valorile lk,k,k∈1,n, care
se memoreaz˘ a separat, iar elementele li,j,i∈2,n,j∈1,i−1,um,p,m∈1,n,
p∈m,n, se plaseaz˘ a pe locul elementelor matricei A.
Din ( 5.78) observ˘ a c˘ a pentru a putea obt ¸ine factorizarea LUeste necesar
calk,k¸ siuk,ks˘ a fie nenule. Factorizarea LUpoate fi implementat˘ a eficient
folosind tehnica pivotului part ¸ial, caz ˆ ın care PA=LU, iar solut ¸ia se obt ¸ine
rezolvˆ and sistemul echivalent LU=Pb, undePeste matricea care cont ¸ine
toate permut˘ arile de linii efectate asupra matricei Ape parcursul procesului de
factorizare. Condit ¸iile ˆ ın care o matrice admite o factorizare LUsunt incluse ˆ ın
urm˘ atoarele teoreme pe care le d˘ am f˘ ar˘ a demonstrat ¸ie:
Teorem˘ a. Dac˘ a minorii principali ai matricei Asunt nenuli, atunci aceasta
admite o factorizare LU.
Teorem˘ a. Dac˘ aAeste o matrice real˘ a, simetric˘ a ¸ si pozitiv definit˘ a, atunci ea
admite o factorizare LUunic˘ a, ˆ ın care U=LT.
ˆIn cazul ˆ ın care Aeste o matrice real˘ a, simetric˘ a ¸ si pozitiv definit˘ a, descom-
punereaA=LLTse nume¸ ste factorizarea Cholesky ¸ si este dat˘ a de algoritmul
(5.79).
k= 1 :n
lk,k←(ak,k−/summationtextk−1
s=1l2
k,s)1/2
i= (k+ 1) :n/bracketleftBig
li,k←(ai,k−/summationtextk−1
s=1li,slk,s)/lk,k.(5.79)
134 5.Rezolvarea sistemelor liniare
5.1.10 Descompunerea SVD
ˆIn unele cazuri, metodele prezentate anterior e¸ sueaz˘ a datorit˘ a matricei sistemu-
lui care are determinantul foarte mic ca valoare absolut˘ a. Altfel spus, una din
liniile sistemului este aproape o combinat ¸ie liniar˘ a a celorlalte linii6.ˆIn aceste
situat ¸ii se recomand˘ a descompunerea SVD7pe care o prezent˘ am ˆ ın acest para-
graf. D˘ am f˘ ar˘ a demostrat ¸ie urm˘ atoarea teorem˘ a:
Teorem˘ a Oricare ar fi matricea Ademlinii ¸ sincoloane, cu m≥n, ea poate
fi descompus˘ a ˆ ıntr-un produs de trei matrice
A=U·W·VT, (5.80)
undeUeste o matrice ortogonal˘ a m×n,Weste o matrice diagonal˘ a n×n, iar
Veste o matrice ortogonal˘ a n×n.
MatriceleU¸ siVau coloanele ortonormate, adic˘ a
UTU=VTV=I, (5.81)
undeIeste matricea unitate n×n. Important este faptul c˘ a descompunerea
(5.80) poate fi f˘ acut˘ a ¸ si ˆ ın cazul ˆ ın care matricea Aeste singular˘ a.
ˆIn cazul ˆ ın care matricea Aeste p˘ atrat˘ a ( m=n), sistemul ( 5.2) se rezolv˘ a
u¸ sor, deoarece inversele matricelor U,V¸ siWse calculeaz˘ a imediat t ¸inˆ and cont
de (5.81) ¸ si deci
A−1=V·diag(1/wi)·UT, (5.82)
iar solut ¸ia sistemului ( 5.2) este
x=V·[diag(1/wi)]·(UT·b) . (5.83)
Dac˘ a matricea Aeste singular˘ a, unul sau mai multe din elementele wisunt nule,
iar sistemul ( 5.2) este nedeterminat ¸ si poate fi compatibil sau incompatibil dup˘ a
cum rangul matricei Aeste sau nu egal cu rangul matricei extinse A/prime. Dac˘ a
sistemul ( 5.2) este compatibil, se poate ar˘ ata c˘ a o solut ¸ie particular˘ a poate fi
obt ¸inut˘ a prin ˆ ınlocuirea elementelor infinite din ( 5.83) cu zero (adic˘ a ˆ ın loc
de 1/wi=∞vom punewi= 0!). Dac˘ a proced˘ am ˆ ın acela¸ si fel ˆ ın cazul ˆ ın
care sistemul ( 5.83) este incompatibil, se poate demonstra c˘ a solut ¸ia obt ¸inut˘ a
minimizeaz˘ a reziduul
R=/bardblAx−b/bardbl2, (5.84)
adic˘ a vectorul xsatisface cel mai bine ( 5.2) ˆ ın sensul celor mai mici p˘ atrate.
ˆIn cazul ˆ ın care matricea Aeste aproape singular˘ a, unul sau mai multe
elementewiau valori foarte mici ˆ ın modul. Spunem ˆ ın acest caz c˘ a matricea
6Spunem ˆ ın acest caz c˘ a matricea Aeste aproape singular˘ a .
7Init ¸ialeleSVD provin de la cuvintele din limba englez˘ a Singular Value Decomposition .
5.1.Metode directe 135
Aeste r˘ au condit ¸ionat˘ a .Num˘ arul de condit ¸ionare al matricei Apoate fi definit
de raportul (vezi ¸ si ( 5.64))
µ(A) =wmax/wmin, (5.85)
unde
wmax= max|wi|, wmin= min|wi|. (5.86)
Cu cˆ at num˘ arul de condit ¸ionare este mai mare, cu atˆ at matricea Aeste mai r˘ au
condit ¸ionat˘ a (vezi paragraful 5.1.8), iar una sau mai multe ecuat ¸ii sunt foarte
aproape de ni¸ ste combinat ¸ii liniare ale celorlate ecuat ¸ii. Metodele de eliminare,
chiar ¸ si cu pivotare total˘ a, pot e¸ sua ˆ ın astfel de cazuri. Folosind descompunerea
(5.80), solut ¸ia obt ¸inut˘ a ( 5.83) este efectat˘ a de prezent ¸a elemetelor wifoarte mici
ˆ ın modul. O modalitate de a evita astfel de probleme const˘ a ˆ ın renunt ¸area la
ecuat ¸iile care sunt foarte aproape de ni¸ ste 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 /wifoarte mariˆ ın modul. Se obt ¸in astfel solut ¸ii
care au reziduul Rdat de ( 5.84) mai mic decˆ at cel dat de solut ¸ia obt ¸inut˘ a cu
valorile 1/wice rezult˘ a din descompunerea ( 5.80).
Pentru cazul ˆ ın care num˘ arul de ecuat ¸ii este mai mic decˆ at num˘ arul de
necunoscute ( m < n ), se poate obt ¸ine o solut ¸ie particular˘ a ad˘ augˆ and n−m
linii de zerouri ˆ ın matricea Aobt ¸inˆ and o matrice p˘ atrat˘ a n×n, efectuˆ and apoi
descompunerea ( 5.80) ¸ si ˆ ınlocuind cu zero termenii 1 /wice corespund valorilor
wimici ˆ ın modul.
Tehnica descompunerii ( 5.80) are implement˘ ari puterniceˆ ın toate bibliotecile
matematice de rezolvare a sistemelor de ecuat ¸ii liniare. Algoritmii folosit ¸i sunt
relativ sofisticat ¸i, dep˘ a¸ sind cadrul acestei lucr˘ ari, fiind folosit ¸i ˆ ın cazurile dificile
ale sistemelor cu matrice mari ¸ si r˘ au condit ¸ionate.
5.1.11 Sisteme cu matrice rare
ˆIn practic˘ a apar deseori sisteme mari a c˘ aror matrice prezint˘ a foarte multe ele-
mente nule. Astfel de matrice se numesc matrice rare . Aplicarea metodelor de
eliminare ˆ ın forma standard devine neeconomic˘ a, atˆ at din punct de vedere al
timpului de calcul cˆ at ¸ si din punct de vedere al memoriei utilizate. Se utilizeaz˘ a
ˆ ın acest scop tehnici speciale de memorare ˆ ın form˘ a compact˘ a a elementelor ne-
nule ale matricei, precum ¸ si metode de ordonare care urm˘ aresc, prin intermediul
unor secvent ¸e de pivotare, minimizarea num˘ arului de elemente nenule nou cre-
ate ˆ ın procesul de eliminare. Ne propunem descrierea sumar˘ a a principiilor care
stau la baza lucrului cu matrice rare, o prezentare mai am˘ anunt ¸it˘ a dep˘ a¸ sind
cadrul acestei c˘ art ¸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 acord˘ a o atent ¸ie deosebit˘ a elementelor nule ˆ ın scopul mic¸ sor˘ arii volumului de
calcul ¸ si a memoriei utilizate. Aplicarea eficient˘ a ¸ si cu succes a metodelor directe
ˆ ın rezolvarea sistemelor cu matrice rare depinde de cˆ at de “ordonat˘ a” (simpl˘ a)
136 5.Rezolvarea sistemelor liniare
Figura 5.1: Forme speciale de matrice rare.
este structura matricei. ˆIn bibliotecile matematice sunt implementate tehnici
de analiz˘ a a structurii matricei ¸ si de transformare a acesteia ˆ ıntr-o structur˘ a
suficient de ordonat˘ a. Aceste prelucr˘ ari au ca rezultat ¸ si o cre¸ stere a num˘ arului
de condit ¸ionare a matricei, efect nedorit care se poate ameliora prin echilibrarea
(scalarea) matricei, tehnic˘ a descris˘ a la paragraful 5.1.3.
ˆIn figura 5.1sunt reprezentate principalele forme speciale de matrice rare.
Aceste forme speciale au avantajul c˘ a permit evitarea aparit ¸iei elementelor ne-
nule ˆ ın afara zonelor ha¸ surate.
Sistemele cu matrice band˘ a rezult˘ a ˆ ın general din discretizarea ecuat ¸iilor
cu derivate part ¸iale. Un caz simplu al matricelor de tip band˘ a a fost descris
la interpolarea cu funct ¸ii spline cubice, paragraful 1.1.2. Pentru sistemele cu
matrice band˘ a, metodele directe de eliminare sau factorizare se dovedesc ˆ ın
general eficiente, cu except ¸ia cazurilor ˆ ın care dimensiunea sistemului este foarte
mare, cˆ and se recomand˘ a metodele iterative sau combinat ¸ii ˆ ıntre metode directe
¸ si iterative.
Problema principal˘ a care se pune ˆ ın cazul matricei band˘ a este memorarea
cˆ at mai eficient˘ a a acesteia. Cea mai simpl˘ a schem˘ a de memorare a unei matrice
simetrice cu l˘ at ¸imea benzii egal˘ a cu 2 b−1 (figura 5.1) cu elementele ai,j= 0
pentru|i−j|≥b, const˘ a ˆ ın memorarea doar a elementelor de pe diagonala
principal˘ a ¸ si a celor de sub ea ( j≤i), avˆ and nevoie de un vector vde dimensiune
n+ (n−1) +…+ (n−b+ 1) =b(2n−b+ 1)/2.ˆIn cazul ˆ ın care memor˘ am
matricea pe linii, elementul ai,jse va g˘ asi ˆ ın vectorul vpe pozit ¸iak= [1 +
2 +…+ (i−1)] +j=i(i−1)/2 +jdac˘ ai≤b. Dac˘ ai > b , vom avea
1 + 2 +…+b=b(b+ 1)/2 elemente pe primele blinii, apoib(i−b−1) elemente
5.1.Metode directe 137
pˆ an˘ a la linia i−1 inclusiv ¸ si j−(i−b) elemente pe linia i, deci elementul ai,jse
va g˘ asi 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 s˘ a
memoreze numai elementele nenule.
Pentru memorarea unei matrice inferior triunghiular˘ a este nevoie de un vec-
torvde dimensiune 1 + 2 + …+n=n(n+ 1)/2 elemente. Dac˘ a matricea este
p˘ astrat˘ a pe linii, elementele ei sunt memorate ˆ ın ordinea a1,1,a2,1,a2,2,a3,1,
a3,2,a3,3,a4,1…, elementul ai,javˆ and ˆ ın vectorul vpozit ¸iai(i−1)/2 +j.
Pentru memorarea unei matrice rare oarecare exist˘ a mai multe tehnici dintre
care amintim: memorare prin identificare binar˘ a, memorare compact˘ a aleatoare,
memorare compact˘ a sistematic˘ a, memorare prin utilizarea adreselor ˆ ınl˘ ant ¸uite,
¸ s.a. De regul˘ a, o tehnic˘ a de memorare care minimizeaz˘ a capacitatea de memorie
utilizat˘ a pl˘ ate¸ ste pret ¸ul unui timp mai mare de calcul ¸ si viceversa. Pentru exem-
plificare, prezent˘ am pe scurt dou˘ a tehnici: memorare prin identificare binar˘ a ¸ si
memorare compact˘ a sistematic˘ a . Vom folosi ca exemplu matricea
A=
a1,10a1,30 0
0 0 0 0 0
0 0a3,30a3,5
a4,10 0a4,40
. (5.87)
Matricea se memoreaz˘ a folosind dou˘ a zone: o zon˘ a primar˘ a ˆ ın care sunt memo-
rate elementele nenule ale matricei A¸ si ozon˘ a secundar˘ a ˆ ın care sunt p˘ astrate
informat ¸ii necesare g˘ asirii rapide a acestora. Ambele tehnici folosesc o zon˘ a
primar˘ a reprezentat˘ a de vectorul
v= (a1,1,a1,3,a3,3,a3,5,a4,1,a4,4). (5.88)
ˆIn cazul memor˘ arii prin identificare binar˘ a , zona secundar˘ a se bazeaz˘ a pe
natura binar˘ a a sistemului de calcul. Pentru fiecare element ai,jal matricei A
se memoreaz˘ a o cifr˘ a binar˘ a: 0 dac˘ a ai,j= 0 ¸ si 1 dac˘ a ai,j/negationslash=0. Pentru matricea
(5.87), zona secundar˘ a va fi dat˘ a 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 .
Aceast˘ a schem˘ a necesit˘ a calcule complicate (care s˘ a permit˘ a accesul la bit)
pentru identificarea pozit ¸iei elementelor matricei.
ˆIn cazul memor˘ arii compacte sistematice , avem dou˘ a zone secundare, prima
ˆ ın care se memoreaz˘ a indicii de coloan˘ a ckal elementului vk, iar cea de a doua
ˆ ın care se memoreaz˘ a indicele de coloan˘ a fial primului element nenul din fie-
care linie. Pentru matricea ( 5.87) memorat˘ a ˆ ın vectorul ( 5.88), cele dou˘ a zone
secundare sunt
c= (1,3,3,5,1,4), f= (1,3,3,1,3) . (5.89)
Num˘ arul de elemente nenule de pe linia ieste dat de fi+1−fi. Avem deci
3−1 = 2 elemente nenule pe prima linie, 3 −3 = 0 elemente nenule pe linia
a doua, ¸ s.a.m.d. Schema prezentat˘ a nu este potrivit˘ a extragerii informat ¸iilor
asupra coloanelor matricei A, dar se poate concepe o schem˘ a ˆ ın acest sens.
138 5.Rezolvarea sistemelor liniare
5.2 Metode iterative
Metodele de eliminare comport˘ a un num˘ ar de operat ¸ii care cre¸ ste la sistemele
mari, cu cubul num˘ arului de ecuat ¸ii din sistem, O(n3). Operat ¸ii suplimentare
sunt cerute de c˘ autarea pivot ¸ilor, ˆ ın vederea reducerii erorilor de rotunjire. Me-
todele iterative pot conduce la un num˘ ar mai mic de operat ¸ii pe iterat ¸ie. Dac˘ a
procedeul iterativ este suficient de rapid convergent se poate obt ¸ine o economie
important˘ a de timp de calcul. ˆIn plus, metodele iterative permit ment ¸inerea
structurii init ¸iale a unei matrice rare, rezultˆ and un consum redus de memorie.
Principiul general al metodelor iterative poate fi prezentat prin analogie cu
metoda iterat ¸iei simple (vezi 3.2.1) de rezolvare a ecuat ¸iei F(x) = 0, ˆ ın care
ecuat ¸ia original˘ a este transcris˘ a ca
x=f(x), (5.90)
ce conduce la procedeul iterativ
xk+1=f(xk). (5.91)
ˆIn cazul sistemelor liniare, Ax=bvom fort ¸a o descompunere a matricei A
A=A+B−B (5.92)
¸ si vom scrie forma echivalent˘ a 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 procedur˘ a de obt ¸inere a
unei aproximat ¸iiˆ ımbun˘ at˘ at ¸ite a solut ¸iei sistemului x(k+1), dat˘ a fiind o aproximat ¸ie
init ¸ial˘ ax(k),
Bx(k+1)= (B−A)x(k)+b. (5.94)
Descompunerea ( 5.92) se alege astfel ˆ ıncˆ at:
1.¸ sirul aproximat ¸iilor {x(k)}k∈Ns˘ a fie cˆ at mai rapid convergent c˘ atre solut ¸ia
sistemuluiAx=b;
2.sistemulBx=cs˘ a fie u¸ sor de rezolvat.
5.2.1 Metoda iterativ˘ a Jacobi
Metoda iterativ˘ a Jacobi folose¸ ste descompunerea
A=D−C, (5.95)
undeDeste o matrice diagonal˘ a, ce trebuie s˘ a fie nesingular˘ a det D/negationslash= 0. Siste-
mulAx=bdevine
Dx=Cx+b⇒x=D−1Cx+D−1b, (5.96)
5.2.Metode iterative 139
¸ si rezult˘ a procesul iterativ
x(k+1)=Px(k)+d;P≡D−1C;d≡D−1b;k= 0,1,… , (5.97)
pentru pornirea c˘ aruia este nevoie de specificare unei aproximat ¸ii init ¸iale x(0).
MatriceaPse nume¸ ste matricea rezolvant˘ a a sistemului.
MatriceaDpoate fi chiar diagonala principal˘ a a matricei A,ˆ ın care caz
exprimarea pe componente a procedeului este
x(k+1)
i = (bi−i−1/summationdisplay
j=1ai,jx(k)
j−n/summationdisplay
j=i+1ai,jx(k)
j)/ai,i, i=1,n, (5.98)
cuai,i/negationslash= 0. O generalizare a procedeului const˘ a ˆ ın separarea elementelor de pe
diagonala principal˘ a ai,i=a/prime
i,i+a/prime/prime
i,i,a/prime
i,i/negationslash= 0,rezultˆ and procedeul
x(k+1)
i = (bi−a/prime/prime
i,ix(k)
i−i−1/summationdisplay
j=1ai,jx(k)
j−n/summationdisplay
j=i+1ai,jx(k)
j)/a/prime
i,i, i=1,n. (5.99)
Va trebui s˘ a stabilim ˆ ın ce condit ¸ii ¸ sirurile ( 5.98) sau ( 5.99) converg spre
solut ¸ia sistemului Ax=b. Pentru a determina o condit ¸ie suficient˘ a de convergent ¸˘ a,
vom nota cu xsolut ¸ia exact˘ a ¸ si cu e(k)eroarea ˆ ın aproximat ¸ia k
e(k)=x−x(k). (5.100)
F˘ acˆ and diferent ¸a ecuat ¸iilor ( 5.96) ¸ si ( 5.97), se obt ¸ine imediat
e(k+1)=Pe(k)(5.101)
sau, trecˆ and la norme ¸ si notˆ and cu e(0)eroarea init ¸ial˘ a
/vextenddouble/vextenddouble/vextenddoublee(k+1)/vextenddouble/vextenddouble/vextenddouble≤/bardblP/bardbl·/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble≤/bardblP/bardbl2·/vextenddouble/vextenddouble/vextenddoublee(k−1)/vextenddouble/vextenddouble/vextenddouble≤…≤/bardblP/bardblk·/vextenddouble/vextenddouble/vextenddoublee(0)/vextenddouble/vextenddouble/vextenddouble.(5.102)
ˆIn consecint ¸˘ a, o condit ¸ie suficient˘ a de convergent ¸˘ a a procedeului iterativ Jacobi
este ca norma matricei rezolvante s˘ a fie subunitar˘ a
/bardblP/bardbl≤1. (5.103)
Desigur, matricea rezolvant˘ a Pdepinde de matricea Dextras˘ a din A. Este
avantajos, prin urmare, s˘ a facem descompunerea astfel ˆ ıncˆ at /bardblP/bardbls˘ a fie cˆ at
mai mic˘ a. ˆIn mod uzual, se extrage ˆ ıntreaga diagonal˘ a a matricei A, adic˘ a
se utilizeaz˘ a ¸ sirul ( 5.98).ˆIn acest caz, ˆ ındeplinirea oric˘ areia dintre condit ¸iile
urm˘ atoare este suficient˘ a pentru a asigura convergent ¸a procedeului Jacobi:
(a)diagonal-dominant ¸a matricei Ape linii
|ai,i|>i−1/summationdisplay
j=1|ai,j|+n/summationdisplay
j=i+1|ai,j|, i=1,n; (5.104)
140 5.Rezolvarea sistemelor liniare
(b)diagonal-dominant ¸a matricei Ape coloane
|aj,j|>j−1/summationdisplay
i=1|ai,j|+n/summationdisplay
i=j+1|ai,j|, j =1,n; (5.105)
(c) satisfacerea relat ¸iei
n/summationdisplay
i=1
i−1/summationdisplay
j=1(ai,j/ai,i)2+n/summationdisplay
j=I+1(ai,j/ai,i)2
<1. (5.106)
Condit ¸iile ( 5.104 -5.106 ) se obt ¸in utilizˆ and respectiv norma maxim˘ a, norma
1 ¸ si norma euclidian˘ a pentru matricea rezolvant˘ a P(vezi paragraful 5.4).
Procedeul Jacobi ( 5.98) se aplic˘ a prin algoritmul
i= 1 :n
dac˘ a|ai,i|<δatunci Termen diagonal practic nul ; stop.
m←1/ai,i;bi←mbi
j= 1 :n
[dac˘ ai/negationslash=jatunciai,j←mai,j
xvechi←x0;k←0;
repet˘ a
i= 1 :n
s←bi
j= 1 :n
[dac˘ ai/negationslash=jatuncis←s−ai,jxvechij
xnoui←s
AtinsPrecizie←/bardblxnou−xvechi/bardbl≤ε(1 +/bardblxnou/bardbl)
xvechi←xnou ;k←k+ 1
pˆ an˘ a cˆ and AtinsPrecizie sauk>k max(5.107)
M˘ arimeaδeste un num˘ ar mic, tipic epsilon ma¸ sin˘ a, ce stabile¸ ste un prag pentru
elementele diagonale. Acolo unde se efectueaz˘ a 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
subˆ ınt ¸elege
j= 1 :n
[xvechij←xnouj.. (5.108)
5.2.2 Metoda iterativ˘ a Gauss-Seidel
ˆIn aceast˘ a metod˘ a, ideea const˘ a ˆ ın a folosi noile valori ale componentelor vecto-
rului necunoscutelor x(k+1)imediat ce au fost calculate. S ¸irul de iterat ¸ii ( 5.98)
se ˆ ınlocuie¸ ste cu
x(k+1)
i = (bi−i−1/summationdisplay
j=1ai,jx(k+1)
j−n/summationdisplay
j=i+1ai,jx(k)
j)/ai,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, nesingular˘ a D, o matrice strict inferior triunghiular˘ a T¸ si o matrice strict
superior triunghiular˘ a S
A=D−T−S. (5.110)
MatriceleT,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)
cuP≡(D−T)−1S,d≡(D−T)−1b. Condit ¸ia de convergent ¸˘ a este, ca ¸ si la
metoda Jacobi, ca norma matricei rezolvante Ps˘ a fie subunitar˘ a
/bardblP/bardbl<1⇒/vextenddouble/vextenddouble(D−T)−1S/vextenddouble/vextenddouble<1. (5.112)
Evaluarea inversei ( D−T)−1este costisitoare, necesitˆ and O(n3/6) operat ¸ii, ast-
fel ˆ ıncˆ at se caut˘ a condit ¸ii mai simple de convergent ¸˘ a a procedeului Gauss-Seidel.
Una dintre ele este: dac˘ a matricea A este diagonal-dominant˘ a pe linii, ( 5.104 ),
atunci metoda Gauss-Seidel converge cel put ¸in tot atˆ at de rapid ca metoda Ja-
cobi. Pentru transcrierea acestei condit ¸ii vom folosi urm˘ atoarele notat ¸ii
pi≡i−1/summationdisplay
j=1|ai,j/ai,i|, qi≡n/summationdisplay
j=i+1|ai,j/ai,i|. (5.113)
Condit ¸ia de diagonal-dominant ¸˘ a pe linii a matricei Arevine la a scrie
ri≡pi+qi<1, i=1,n. (5.114)
S˘ a demonstr˘ am enunt ¸ul anterior ˆ ın aceste condit ¸ii. Sistemul de ecuat ¸ii Ax=b
se scrie sub forma
xi= (bi−i−1/summationdisplay
j=1ai,jxj−n/summationdisplay
j=i+1ai,jxj)/ai,i, i=1,n (5.115)
cuxivalorile exacte ale necunoscutelor ¸ si ai,ipresupu¸ si nenuli ( ai,i/negationslash= 0). F˘ acˆ and
sc˘ aderea membru cu membru a sistemelor de egalit˘ at ¸i ( 5.115 ) ¸ si ( 5.109 ), se
obt ¸ine
xi−x(k+1)
i =−i−1/summationdisplay
j=1ai,j
ai,i(xj−x(k+1)
j )−n/summationdisplay
j=i+1ai,j
ai,i(xj−x(k)
j), (5.116)
sau, observˆ and c˘ a ˆ ın ( 5.116 ) au ap˘ arut componentele vectorului eroare absolut˘ a
¸ si trecˆ and la module
/vextendsingle/vextendsingle/vextendsinglee(k+1)
i/vextendsingle/vextendsingle/vextendsingle≤i−1/summationdisplay
j=1/vextendsingle/vextendsingle/vextendsingle/vextendsingleai,j
ai,ie(k+1)
j/vextendsingle/vextendsingle/vextendsingle/vextendsingle+n/summationdisplay
j=i+1/vextendsingle/vextendsingle/vextendsingle/vextendsingleai,j
ai,ie(k)
j/vextendsingle/vextendsingle/vextendsingle/vextendsingle(5.117)
142 5.Rezolvarea sistemelor liniare
Inegalitatea poate fi majorat˘ a ˆ ın continuare, introducˆ and norma maxim˘ a a vec-
torului eroare,
/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble
∞= max
j/vextendsingle/vextendsingle/vextendsinglee(k)
j/vextendsingle/vextendsingle/vextendsingle. (5.118)
ˆIn acest fel, utilizˆ and ¸ si notat ¸iile ( 5.113 ), se obt ¸ine
/vextendsingle/vextendsingle/vextendsinglee(k+1)
i/vextendsingle/vextendsingle/vextendsingle≤pi/vextenddouble/vextenddouble/vextenddoublee(k+1)/vextenddouble/vextenddouble/vextenddouble
∞+qi/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble
∞. (5.119)
Inegalitatea ( 5.119 ), fiind adev˘ arat˘ a pentru orice i=1,n,este adev˘ arat˘ a ¸ si
pentru acel i=i∗pentru care|e(k+1)
i|este maxim. Deci:
/vextenddouble/vextenddouble/vextenddoublee(k+1)/vextenddouble/vextenddouble/vextenddouble
∞≤pi/vextenddouble/vextenddouble/vextenddoublee(k+1)/vextenddouble/vextenddouble/vextenddouble
∞+qi/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble
∞⇒ (5.120)
/vextenddouble/vextenddouble/vextenddoublee(k+1)/vextenddouble/vextenddouble/vextenddouble
∞≤q∗
i
1−p∗
i/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble
∞. (5.121)
Pe de alt˘ a parte, utilizˆ and condit ¸ia ( 5.114 ), rezult˘ a
q∗
i
1−p∗
i=r∗
i−q∗
i
1−p∗
i≤r∗
i−r∗
ip∗
i
1−p∗
i=r∗
i<1. (5.122)
Deoarece, ˆ ın cazul diagonal-dominant ¸ei matricei A, cantitatea r= max
irire-
prezint˘ a tocmai norma maxim˘ a a matricei rezolvante a procedeului Jacobi,
(r≡/bardblPJ/bardbl) din ( 5.121 ) rezult˘ a c˘ a rata de mic¸ sorare a erorii de la o aproximat ¸ie
la alta este mai mic˘ a sau cel mult egal˘ a cu r, adic˘ a procedeul Gauss-Seidel
converge cel put ¸in tot atˆ at de rapid ca procedeul Jacobi.
Pentru aplicat ¸ii se recomand˘ a ca, ˆ ın cazul cˆ and matricea Aeste dominant˘ a
pe linii, s˘ a se ia startul cu ecuat ¸ia i=i1din ( 5.109 ) ˆ ın care se realizeaz˘ a
dominant ¸a maxim˘ a a elementului diagonal. Prima necunoscut˘ a calculat˘ a va fi
xi1.ˆIn acest fel, se realizeaz˘ a reducerea maxim˘ a a erorii la start, deoarece
pi1= 0, qi1=ri1= minim . (5.123)
ˆIn continuare, pot fi ordonate celelalte ecuat ¸ii dup˘ a gradul de dominant ¸˘ a a
elementelor diagonale. ˆIn cazul cˆ and matricea are elementele dominante pe
coloane ( 5.105 ), procedeul Gauss-Seidel este de asemenea convergent.
Exist˘ a ¸ si alte condit ¸ii ˆ ın care procedeul este convergent. Un alt criteriu,
important pentru aplicat ¸ii, este c˘ a iterat ¸ia Gauss-Seidel este convergent˘ a dac˘ a
matriceaAeste simetric˘ a ¸ si pozitiv definit˘ a.
5.2.Metode iterative 143
Algoritmul pentru procedeul Gauss-Seidel este
xvechi←x0;xnou←x0;k←0;
repet˘ a
i= 1 :n
s←bi
j= 1 :n
[dac˘ ai/negationslash=jatuncis←s−ai,jxnouj
xnoui←s
AtinsPrecizie←/bardblxnou−xvechi/bardbl≤ε(1 +/bardblxnou/bardbl)
xvechi←xnou ;k←k+ 1
pˆ an˘ a cˆ and AtinsPrecizie sauk>k max.(5.124)
Se observ˘ a asem˘ anarea cu algoritmul pentru metoda Jacobi ( 5.107 ). Ca ¸ siˆ ın acel
algoritm s-a considerat c˘ a liniile matricei A¸ si ale vectorului bau fost ˆ ımp˘ art ¸ite
la termenii de pe diagonal˘ a.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 posibil˘ a dac˘ a avem informa-
t ¸ii privind valorile proprii ale matricei rezolvante. ˆIntr-adev˘ ar, condit ¸ia necesar˘ a
¸ si suficient˘ a pentru ca orice metod˘ a iterativ˘ a s˘ a fie convergent˘ a este
ρ(P) = max
i|λi|<1 (5.125)
undeλi,i=1,nsunt valorile proprii ale matricei P. Valoarea proprie maxim˘ a
ˆ ın modul este numit˘ a raza spectral˘ a ¸ si se noteaz˘ a cu ρ(P). Dificultatea aplic˘ arii
acestui criteriu const˘ a ˆ ın faptul c˘ a, ˆ ın general, problema determin˘ arii valorilor
proprii ale unei matrice este mai complicat˘ a decˆ at problema rezolv˘ arii sistemu-
luiAx=b. De aceea, se caut˘ a obt ¸inerea unor metode de accelerare care s˘ a
ocoleasc˘ a problema determin˘ arii valorilor proprii, utilizˆ and informat ¸ii minime.
Vom da dou˘ a exemple.
Cazul matricelor pozitiv definite.
Exist˘ a sisteme ale c˘ aror matrice Asunt cunoscute ca fiind pozitiv definite (de
obicei ¸ si simetrice), adic˘ a avˆ and valorile proprii pozitive. Fie mcea mai mic˘ a ¸ si
Mcea mai mare valoare proprie ( M >m> 0). Aceste valori (vezi Cap. 6) se
determin˘ a mai u¸ sor.
Se define¸ ste ¸ sirul de iterat ¸ii
x(k+1)=x(k)+β(b−Ax(k)) = (I−βA)x(k)+βb, (5.126)
care aminte¸ ste de tehnica folosit˘ a pentru accelerarea convergent ¸ei iterat ¸iei sim-
ple (3.19). Matricea rezolvant˘ a este
P=I−βA, λ (P) = 1−βλ(A) (5.127)
144 5.Rezolvarea sistemelor liniare
avˆ and valorile proprii λ(P) funct ¸ii de parametrul de accelerare β. Valoarea
minim˘ a a lui max |λ(P)|se obt ¸ine pentru
β=2
m+M, ρ(P) =M−mM
+m<1 (5.128)
¸ si este subunitar˘ a pentru orice M,m > 0. Se observ˘ a important ¸a raportului
M/m pentru convergent ¸a procedeului iterativ. Acest raport reprezint˘ a o evalu-
are a num˘ arului de condit ¸ionare al matricei A, notatµ(A).
Accelerarea convergent ¸ei procedeului Gauss-Seidel.
S ¸irul iterativ ( 5.126 ) se poate generaliza introducˆ and o matrice B, u¸ sor inver-
sabil˘ a, astfel ˆ ıncˆ at
x(k+1)=x(k)+βB(b−Ax(k)) = (I−βBA )x(k)+βBb. (5.129)
MatriceaB¸ si parametrul βse aleg astfel ˆ ıncˆ at matricea rezolvant˘ a a sistemului
(5.129 ),
P=I−βBA, (5.130)
s˘ a aib˘ a o raz˘ a spectral˘ a ρ(P) cˆ at mai mic˘ a. Se observ˘ a c˘ a, ˆ ın cazul procedeului
Jacobi ( 5.97), se obt ¸ine β= 1 ¸ siB=D−1. Din punctul de vedere al aplicat ¸iilor,
este util s˘ a observ˘ am c˘ a procedeele de accelerare a iterat ¸iilor iauˆ ın calcul o parte
convenabil˘ a din elementul de pe diagonala principal˘ a (vezi 5.99). Spre exemplu,
ˆ ın cazul metodei Gauss-Seidel ¸ sirul de iterat ¸ii ( 5.109 ) se ˆ ınlocuie¸ ste prin
x(k+1)
i = (1−β)x(k)
i+β(bi−i−1/summationdisplay
j=1ai,jx(k+1)
j−n/summationdisplay
j=i+1ai,jx(k)
j)/ai,i (5.131)
pentrui=1,n. Din punct de vedere matriceal, ( 5.131 ) este echivalent˘ a cu
descompunerea matricei Asub forma
A=β−1D−(β−1−1)D−T−S. (5.132)
Comparˆ and ( 5.132 ) cu ( 5.110 ) se observ˘ a c˘ a singura modificare este reˆ amp˘ ar-
t ¸irea diagonalei matricei A, o operat ¸ie put ¸in costisitoare. S ¸irul iterativ va fi
definit 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 echivalent˘ a cu ( 5.131 ). Explicitˆ and x(k+1)din ( 5.134 ) se obt ¸ine
x(k+1)= (I−βD−1T)−1/bracketleftbig
(1−β)I+βD−1S/bracketrightbig
x(k+1)(5.135)
+(I−βD−1T)−1βD−1b,
5.3.Comparat ¸ii ˆ ıntre metode 145
matricea rezolvant˘ a avˆ and expresia
P= (D−βT)−1[(1−β)D+βS]. (5.136)
Pentruβ= 1, din ( 5.136 ) se reg˘ ase¸ ste matricea rezolvant˘ a a metodei Gauss-
Seidel standard. O condit ¸ie necesar˘ a de convergent ¸˘ a a ¸ sirului iterativ ( 5.135 )
este ca produsul valorilor proprii ˆ ın modul s˘ a fie subunitar. ˆIn acest fel se obt ¸ine
intervalul de valori ale parametrului de accelerare β
0<β < 2. (5.137)
Metodele care utilizeaz˘ a 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 ˆ ıncerc˘ ari.
5.3 Comparat ¸ii ˆ ıntre metode
Am prezentat o serie de algoritmi din cele dou˘ a clase mari de metode: de
eliminare ¸ si iterative. S˘ a efectu˘ am acum o comparat ¸ie ˆ ıntre cele dou˘ a clase
de metode.
Ca num˘ ar de operat ¸ii.
Oricare din metodele iterative prezentate necesit˘ a O(n2) operat ¸ii aritmetice per
iterat ¸ie. Prin urmare, metodele iterative devin avantajoase dac˘ a num˘ arul kde
iterat ¸ii nu este prea mare. Spre exemplu, o comparat ¸ie cu metoda de eliminare
Gauss conduce la concluzia c˘ a, pentru a avea un num˘ ar apropiat de operat ¸ii,
este necesar ca num˘ arul de iterat ¸ii ks˘ a satisfac˘ a inegalitatea
k≤1 +n/3∼=n/3. (5.138)
Inegalitatea ( 5.138 ) este cu atˆ at mai u¸ sor de satisf˘ acut cu cˆ at num˘ arul de ecuat ¸ii
neste mai mare. Practic, condit ¸ia ( 5.138 ) se realizeaz˘ a pentru n&50.
Ca propagare a erorilor.
Metodele iterative sunt, ˆ ın general, mai avantajoase, deoarece erorile sunt di-
minuate la fiecare pas prin ˆ ınmult ¸irea cu norma matricei rezolvante, care este
subunitar˘ a (/bardblP/bardbl<1). De fapt, rata de diminuare a erorii corespunde razei
spectrale a matricei rezolvante. Totodat˘ a, la fiecare iterat ¸ie se introduc erori de
rotunjire.
S˘ a consider˘ am c˘ a dorim s˘ a obt ¸inem un rezultat cu qzecimale exacte. ˆIn
acest scop sunt necesare kiterat ¸ii, astfel ˆ ıncˆ at, ˆ ın absent ¸a erorilor de rotunjire,
se obt ¸ine (vezi 5.102 )
/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble≤/bardblP/bardblk·/vextenddouble/vextenddouble/vextenddoublee(0)/vextenddouble/vextenddouble/vextenddouble≤10−q, (5.139)
146 5.Rezolvarea sistemelor liniare
e(0)fiind eroarea de start. Logaritmˆ and a doua inegalitate ˆ ın baza 10, rezult˘ a
klg/bardblP/bardbl+ lg/vextenddouble/vextenddouble/vextenddoublee(0)/vextenddouble/vextenddouble/vextenddouble≤−q. (5.140)
Prin urmare, se obt ¸ine o condit ¸ie pentru num˘ arul de iterat ¸ii k
k≥−/parenleftBig
q+ lg/vextenddouble/vextenddouble/vextenddoublee(0)/vextenddouble/vextenddouble/vextenddouble/parenrightBig
/lg/bardblP/bardbl,/bardblP/bardbl<1. (5.141)
Rezult˘ a c˘ a num˘ arul de iterat ¸ii necesar cre¸ ste cu precizia impus˘ a q, cu eroarea
init ¸ial˘ ae(0)¸ si scade cu−lg/bardblP/bardbl. Dac˘ a se adaug˘ a ¸ si efectul erorilor de rotunjire,
marginea ( 5.141 ) trebuie majorat˘ a.
Deoarecee(0)nu se cunoa¸ ste, se pot utiliza evalu˘ ari obt ¸inute cu ajutorul
unor prime iterat ¸ii. ˆIntr-adev˘ ar, din inegalitatea ( 5.139 ) se poate obt ¸ine
/vextenddouble/vextenddouble/vextenddoublee(k)/vextenddouble/vextenddouble/vextenddouble≤α
1−α/vextenddouble/vextenddouble/vextenddoublex(k)−x(k−1)/vextenddouble/vextenddouble/vextenddouble≤αk
1−α/vextenddouble/vextenddouble/vextenddoublex(1)−x(0)/vextenddouble/vextenddouble/vextenddouble≤10−q, (5.142)
cuα≡/bardblP/bardbl.Pentru procedeul Jacobi, /bardblP/bardbleste u¸ sor de calculat. Pentru pro-
cedeul Gauss-Seidel, ˆ ın cazul matricei diagonal-dominante pe linii se ia (vezi ¸ si
5.121 )
α= max
iqi
1−pi(5.143)
ceea ce corespunde la folosirea normei /bardbl/bardbl∞pentru eroare. ˆIn acest fel se obt ¸ine
o evaluare a num˘ arului de iterat ¸ii ˆ ın funct ¸ie de prima aproximat ¸ie x(1)
k≥−/parenleftBig
q+ lg/vextenddouble/vextenddouble/vextenddoublex(1)−x(0)/vextenddouble/vextenddouble/vextenddouble−lg/bardbl1−α/bardbl/parenrightBig
/lgα. (5.144)
5.4 Elemente de calcul matriceal
A¸ sa cum s-a v˘ azut, ˆ ın rezolvarea sistemelor de ecuat ¸ii (dar nu numai aici) in-
tervin operat ¸ii cu matrice, ˆ ındeosebi matrice p˘ atrate. Oper˘ am de multe ori cu
matrice, chiar cˆ and acest lucru nu apare ˆ ın mod explicit, a¸ sa cu se ˆ ıntˆ ampl˘ a
spre exemplu ˆ ın cazul elimin˘ arii unor necunoscute din ecuat ¸iile sistemului.
Presupunem cunoscute operat ¸iile de adunare ¸ si ˆ ınmult ¸ire ale matricelor.
Amintim doar c˘ a adunarea este definit˘ a pentru matrice de acela¸ si tip (cu acela¸ si
num˘ ar de linii ¸ si coloane) ¸ si c˘ a, la ˆ ınmult ¸irea de matrice, num˘ arul de coloane
ale matricei din stˆ anga trebuie s˘ a fie egal cu num˘ arul de linii ale matricei din
dreapta. Aceast˘ a condit ¸ie se realizeaz˘ a ˆ ıntotdeauna pentru matricele p˘ atrate de
aceea¸ si dimensiune. Produsul matricelor nu este comutativ.
FieAo matrice p˘ atrat˘ a de dimensiuni n×n. Matricea obt ¸inut˘ a prin
ˆ ınmult ¸irea lui Acu ea ˆ ıns˘ a¸ si de kori este tot o matrice p˘ atrat˘ a ¸ si se noteaz˘ a
cuAk. Prin analogie cu puterile scalarilor, prin A0se ˆ ınt ¸elege matricea unitate
I, o matrice p˘ atrat˘ a de dimensiune n. Cu puterile matricelor p˘ atrate se pot
construi polinoame de matrice, ˆ ın mod asem˘ an˘ ator cu cazul scalarilor.
5.4.Elemente de calcul matriceal 147
Matricele pot fi ˆ ınmult ¸ite (la dreapta sau la stˆ anga) cu vectori (coloan˘ a sau
linie) de dimensiuni corespunz˘ atoare, rezultatul fiind un vector. Ca urmare, o
matrice poate fi privit˘ a ¸ si ca un operator (funct ¸ie sau aplicat ¸ie) definit pe un
spat ¸iu vectorial cu valori care reprezint˘ a, de asemenea, elementele unui spat ¸iu
vectorial (de dimensiune finit˘ a).
Ca ¸ si ˆ ın cazul vectorilor, compararea matricelor (ˆ ıntr-un anumit sens) cu
numere reale se poate face introducˆ and norme de matrice . Norma unei matrice
oarecareAse noteaz˘ a cu/bardblA/bardbl¸ si ˆ ındepline¸ ste axiomele generale ale normelor
1./bardblA/bardbl>0;
2./bardblαA/bardbl=|α|/bardblA/bardblcuα∈C;
3./bardblA+B/bardbl≤/bardblA/bardbl+/bardblB/bardbl.
Din acestea mai rezult˘ a
/bardblAB/bardbl≤/bardblA/bardbl·/bardblB/bardbl. (5.145)
Dac˘ axeste un vector asupra c˘ aruia opereaz˘ a matricea A, atunci normele/bardblA/bardbl
¸ si/bardblx/bardblsunt compatibile dac˘ a are loc inegalitatea
/bardblAx/bardbl≤/bardblA/bardbl·/bardblx/bardbl. (5.146)
Se poate ar˘ ata c˘ a inegalit˘ at ¸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
finit˘ a (vezi ¸ si 1.4.3). Printre normele de matrice des utilizate care ˆ ındeplinesc
condit ¸iile impuse se num˘ ar˘ a:
1.norma maxim˘ a
/bardblA/bardbl∞= sup
i/summationdisplay
j|ai,j|, (5.147)
dat˘ a de suma maxim˘ a a modulelor elementelor matricei, pe linii;
2.norma unu
/bardblA/bardbl1= sup
j/summationdisplay
i|ai,j|, (5.148)
dat˘ a de suma maxim˘ a a modulelor elementelor matricei, pe coloane;
3.norma euclidian˘ a
/bardblA/bardblE=
/summationdisplay
i,j|ai,j|2
1/2
; (5.149)
148 5.Rezolvarea sistemelor liniare
4.norma spectral˘ a
/bardblA/bardbl2= (ρ(A∗A))1/2, (5.150)
adic˘ a raza spectral˘ a a matricei produs A∗A, cuA∗matricea adjunct˘ a a
luiA, care se obt ¸ine prin transpunerea ¸ si conjugarea complex˘ a a matricei
A
A∗=¯AT. (5.151)
Pentru vectori se utilizeaz˘ a normele precizate ˆ ın ( 1.105 ). Normele de matrice
sunt compatibile cu normele vectoriale de acela¸ si indice. ˆIn particular, norma
spectral˘ a/bardblA/bardbl2este compatibil˘ a cu norma euclidian˘ a a vectorului x. Dac˘ a vec-
torulxare componente complexe norma sa euclidian˘ a este definit˘ a de
/bardblx/bardbl2=/radicalbig
(x,x) =n/summationdisplay
i=1xi¯xi. (5.152)
Produsul scalar a doi vectori ce au componente complexe este definit ca
x·y= (x,y) =n/summationdisplay
i=1xi¯yi (5.153)
¸ si are propriet˘ at ¸ile
(x,y) =(y,x),(λx,y ) =λ(x,y),(x,λy ) =¯λ(x,y). (5.154)
Un ¸ sir de matrice Aneste convergent dac˘ a ¸ sirurile {ai,j}nsunt convergente.
Limitele acestor ¸ siruri formeaz˘ a o matrice Acare este, prin definit ¸ie, limita
¸ sirului de matrice An.ˆ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 suficient˘ a pentru convergent ¸a seriei matriceale
S=∞/summationdisplay
n=0An(5.155)
este ca norma matricei As˘ a fie subunitar˘ a, /bardblA/bardbl>1.ˆIn acest caz se obt ¸ine
suma seriei
S= (I−A)−1, (5.156)
egal˘ a cu inversa matricei I−A. Se observ˘ a analogia cu seria geometric˘ a de
numere. Din ( 5.156 ) se obt ¸ine, trecˆ and la norme, o inegalitate important˘ a
/vextenddouble/vextenddouble(I−A)−1/vextenddouble/vextenddouble≤∞/summationdisplay
n=0/bardblA/bardbln= (1−/bardblA/bardbl)−1. (5.157)
5.4.Elemente de calcul matriceal 149
Condit ¸ia necesar˘ a ¸ si suficient˘ a pentru ca seria ( 5.155 ) s˘ a fie convergent˘ a este ca
toate valorile proprii λiale matricei As˘ a fie subunitare ˆ ın modul, adic˘ a raza
spectral˘ aρ(A) a matricei As˘ a fie subunitar˘ a
ρ(A) = max
i|λi|<1. (5.158)
Deoarece orice procedeu iterativ este de forma
x(k+1)=Px(k)+d, (5.159)
undePeste matricea rezolvant˘ a, rezult˘ a c˘ a
x(k+1)= (I+P+P2+…+Pk)d+Pk+1x(0). (5.160)
Deoarece vectorii d¸ six(0)sunt arbitrari, pentru ca procedeul iterativ s˘ a fie
convergent, trebuie ca seria de matrice s˘ a fie convergent˘ a, deci ca raza spectral˘ a
a matriceiPs˘ a fie subunitar˘ a, ρ(P)<1.
150 5.Rezolvarea sistemelor liniare
151
Capitolul 6
Vectori ¸ si valori proprii
6.1 Elemente introductive
FieAo matrice p˘ atrat˘ a, de dimensiuni n×n. Se nume¸ ste valoare proprie o
m˘ arime scalar˘ a λcare satisface relat ¸ia
Ax=λx, (6.1)
vectorulxfiind vectorul propriu corespunz˘ ator valorii proprii λ. Sistemul de
ecuat ¸ii liniare ( 6.1) se poate scrie ( A−λI)x= 0, deci este omogen ¸ si admite o
solut ¸ie nenul˘ a dac˘ a ¸ si numai dac˘ a determinantul sistemului este nul
P(λ)≡det(A−λI) = 0. (6.2)
Polinomul de gradul n,P(λ) se nume¸ ste polinomul caracteristic al matriceiAiar
ecuat ¸ia ( 6.2) se nume¸ ste ecuat ¸ie caracteristic˘ a . Conform teoremei fundamentale
a algebrei exist˘ a nvalori proprii care sunt tocmai r˘ ad˘ acinile polinomului carac-
teristic. Mult ¸imea valorilor proprii se nume¸ ste spectrul matricei A¸ si se noteaz˘ a
152 6.Vectori s ¸i valori proprii
cuspec(A). Vectorii proprii, ca solut ¸ii ale unor sisteme de ecuat ¸ii omogene, sunt
determinat ¸i pˆ an˘ a la o constant˘ a multiplicativ˘ a. G˘ asirea valorilor ¸ si vectorilor
proprii prezint˘ a o important ¸˘ a practic˘ a deosebit˘ a pentru rezolvarea sistemelor
de ecuat ¸ii diferent ¸iale liniare, pentru studiul stabilit˘ at ¸ii mi¸ sc˘ arilor mecanice sau
de alt˘ a natur˘ a, inclusiv pentru studiul stabilit˘ at ¸ii diverselor metode numerice.
Trebuie remarcat ˆ ıns˘ a c˘ a determinarea practic˘ a a valorilor ¸ si vectorilor proprii
nu se face, ˆ ın general, plecˆ and de la construirea polinomului caracteristic, de-
oarece mici abateri ˆ ın valorile coeficient ¸ilor acestui polinom conduc la abateri
mari ˆ ın valorile solut ¸iilor (se spune c˘ a problema rezolv˘ arii ecuat ¸iei caracteristice
este r˘ au condit ¸ionat˘ a ). Ca urmare, procedeele care determin˘ a 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, precizˆ and avantajele ¸ si limitele lor
de aplicabilitate. Ne vom limita, ˆ ın general, la cazul matricelor reale.
6.2 Metode pentru cˆ ateva valori proprii
Metodele numerice pentru rezolvarea problemei Ax=λxse pot clasifica ˆ ın
metode ce urm˘ aresc determinarea tuturor valorilor proprii ¸ si ˆ ın metode ce de-
termin˘ a doar cˆ ateva dintre valorile proprii. Ne ˆ ındrept˘ am mai ˆ ıntˆ ai atent ¸ia
asupra celei de-a doua clase de metode. Prezint˘ a un interes deosebit ˆ ın aplicat ¸ii
determinarea valorilor proprii extremale, care delimiteaz˘ a 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 cˆ ateva dintre metodele cele mai
folosite.
6.2.1 Metoda puterii directe
Metoda puterii directe permite determinarea valorii proprii de modul maxim,
ˆ ın ipoteza c˘ a vectorii proprii ai matricei formeaz˘ a o baz˘ a, adic˘ a sunt liniar
independent ¸i. Acest lucru se ˆ ıntˆ ampl˘ a ˆ ıntotdeana cˆ and valorile proprii sunt
distincte. Dac˘ a exist˘ a valori multiple, atunci vectorii proprii pot sau nu s˘ a
fie liniar independent ¸i. Spre exemplu, matricea unitate Iare toate valorile
proprii egale ( λi= 1,i=1,n), dar vectorii proprii sunt liniar independent ¸i. Se
consider˘ a un vector ycunoscut, de obicei de form˘ a cˆ at mai simpl˘ a. In ipoteza
c˘ a vectorii proprii xi,i=1,n, ai matricei Aformeaz˘ a o baz˘ a, putem scrie
y=n/summationdisplay
i=1cix(i), (6.3)
undecisunt scalari.
Cazul valorilor proprii reale.
Valorile proprii, reale λi,i=1,nse pot ordona sub forma
|λ1|>|λ2|≥…≥|λn| (6.4)
6.2.Metode pentru cˆ ateva valori proprii 153
astfel ˆ ıncˆ at valoarea proprie λ1este cea mai mare dintre ele ˆ ın modul. ˆInmult ¸ind
repetat vectorul ycu matricea A¸ si utilizˆ and relat ¸ia ( 6.1), se obt ¸ine
z(1)=Ay=n/summationdisplay
i=1ciAx(i)=n/summationdisplay
i=1ciλix(i)(6.5)
··· (6.6)
z(k)=Aky=Az(k−1)=n/summationdisplay
i=1ciλk
ix(i)=λk
1/bracketleftBig
c1x(1)+O/parenleftbig
λk
2/λk
1/parenrightbig/bracketrightBig
(6.7)
z(k+1)=Ak+1y=n/summationdisplay
i=1ciλk+1
ix(i)=λk+1
1/bracketleftBig
c1x(1)+O/parenleftbig
λk+1
2/λk+1
1/parenrightbig/bracketrightBig
.(6.8)
Pentruksuficient de mare termenii de ordinul ( λ2/λ1)kdevin neglijabili, astfel
ˆ ıncˆ at putem aproxima
z(k)∼=λk
1c1x(1), z(k+1)∼=λk+1
1c1x(1). (6.9)
Prin urmare, luˆ and o component˘ a de indice ia vectorilor z(k)¸ siz(k+1), se obt ¸ine
valoarea proprie de modul maxim
λ1∼=z(k+1)
i/z(k)
i. (6.10)
O estimare ˆ ımbun˘ at˘ at ¸it˘ a a valorii proprii este furnizat˘ a de raportul Rayleigh
λ1∼=/bracketleftBig
z(k)/bracketrightBigT
z(k+1)//bracketleftBig
z(k)/bracketrightBigT
z(k)=/bracketleftBig
z(k)/bracketrightBigT
Az(k)//bracketleftBig
z(k)/bracketrightBigT
z(k). (6.11)
ˆIn ceea ce prive¸ ste vectorul propriu corespunz˘ ator x(1), acesta are direct ¸ia
z(k+1). Practic, vectorul yse alege sub forme ca: y= (1,0,…),y= (1,1,…)
sau alte forme convenabile, deci coeficient ¸ii cinu trebuie cunoscut ¸i efectiv,
condit ¸iile de aplicabilitate ale procedeului (vectori proprii liniar independent ¸i, c1/negationslash=
0) verificˆ andu-se prin comportarea ¸ sirurilor z(k+1)
i/z(k)
i,1,n.Dac˘ a aceste ¸ siruri
par convergente, ˆ ıncepˆ and cu anumit k,¸ si tind spre acea¸ si valoare (care repre-
zint˘ a, la limit˘ a, valoarea proprie λ1) atunci se poate trage concluzia c˘ a procedeul
este aplicabil. Pentru reducerea erorilor de rotunjire se recomand˘ a normarea
prin ˆ ımp˘ art ¸ire cu/vextenddouble/vextenddoublez(k)/vextenddouble/vextenddouble, ˆ ın fiecare etap˘ a. Dac˘ a nu exist˘ a o singur˘ a valoare
proprie real˘ a de modul maxim, spre exemplu dac˘ a
|λ1|=|λ2|>|λ3|≥…≥|λn|, (6.12)
atunci dup˘ a kiterat ¸ii se obt ¸ine
z(k)∼=λk
1/parenleftBig
c1x(1)+c2x(2)/parenrightBig
, z(k+1)∼=λk+1
1/parenleftBig
c1x(1)+c2x(2)/parenrightBig
, (6.13)
termenii neglijat ¸i fiind de ordinul ( λ3/λ1)k. Se observ˘ a c˘ a valoarea proprie se
poate calcula ca ¸ si pˆ an˘ a acum, din ( 6.10); ˆ ın schimb vectorii proprii x(1)¸ six(2)
154 6.Vectori s ¸i valori proprii
intr˘ a ˆ ın combinat ¸ie liniar˘ a, cu cel put ¸in unul dintre coeficient ¸ii c1,c2nenul. Se
poate scrie ˆ ıns˘ a Ax(1)=λ1x(1),Ax(2)=λ1x(2)de unde se deduce imediat c˘ a
λ1/bracketleftBig
λk
1/parenleftBig
c1x(1)+c2x(2)/parenrightBig/bracketrightBig
=A/bracketleftBig
λk
1/parenleftBig
c1x(1)+c2x(2)/parenrightBig/bracketrightBig
, (6.14)
adic˘ az(k)este de asemenea un vector propriu corespunz˘ ator valorii λ1. Un
al doilea vector propriu liniar independent de z(k)se va g˘ asi ˆ ın mod similar,
repetˆ and 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 c˘ a valorile proprii de modul maxim λ1,λ2sunt complex conjugate
λ1=¯λ2,|λ1|=|λ2|>|λ3|≥…≥|λn|, (6.15)
¸ si c˘ a vectorii proprii xi,i=1,nsunt liniar independent ¸i. Vom observa, mai
ˆ ıntˆ ai, c˘ a vectorii proprii x(1)¸ six(2)sunt de asemenea complex conjugat ¸i, a¸ sa
cum rezult˘ a imediat din relat ¸ia de definit ¸ie ( 6.1) pentru matrice reale. Metoda
se aplic˘ a similar cu cazul valorilor proprii reale dar necesit˘ a utilizarea rezulta-
telor din mai multe iterat ¸ii succesive dac˘ a dorim evitarea lucrului cu variabile
complexe. In iterat ¸ia kse obt ¸ine
z(k)=λk
1/bracketleftBig
c1x(1)+¯λk
1/λk
1c2x(2)+O/parenleftbig
λk
3/λk
1/parenrightbig/bracketrightBig
, x(2)=x(1), c2= ¯c1.(6.16)
Ultima egalitate se obt ¸ine t ¸inˆ and cont c˘ a s-a plecat cu un vector real y.Se caut˘ a
o modalitate de a exprima cantit˘ at ¸ile reale λ1+λ1,λ1λ1funct ¸ie de m˘ arimile dis-
ponibile pe parcursul iterat ¸iilor. Pentru ksuficient de mare se obt ¸in combinat ¸iile
uki≡z(k+1)
iz(k−1)
i−(z(k)
i)2=/vextendsingle/vextendsingle/vextendsinglecix(1)
i/vextendsingle/vextendsingle/vextendsingle2
(λ1λ1)k−1(λ1−λ1)2, (6.17)
vki≡z(k+2)
iz(k−1)
i−z(k+1)
iz(k)
i=uki(λ1+λ1), (6.18)
de pe o component˘ a ioarecare. Din relat ¸iile ( 6.17-6.18) se obt ¸in valorile proprii,
observˆ and c˘ a
λ1+λ1=vki/uki+O(λk
3/λk
1), λ1λ1=uk+1,i/uk+O(λk
3/λk
1). (6.19)
Notˆ andλ1≡a+ib, rezult˘ a
a=vki/2uki, a2+b2=uk+1,i/uki. (6.20)
ˆIn ceea ce prive¸ ste vectorul propriu corespunz˘ ator, x(1)se poate proceda ˆ ın
felul urm˘ ator: vectorul propriu fiind determinat pˆ an˘ a la o constant˘ a multipli-
cativ˘ a, putem lua aceast˘ a constant˘ a egal˘ a cu c1, astfel ˆ ıncˆ at
c1x(1)
i=ρieiθ1, i=1,n. (6.21)
6.2.Metode pentru cˆ ateva valori proprii 155
Notˆ and apoi cu σargumentul num˘ arului complex λ1din ( 6.16) se deduce
z(k)
i=λk
1c1x(1)+λk
1c1x(1)= 2|λ1|kcos(θi+σ), i=1,n, (6.22)
iar din ( 6.17) se obt ¸ine
uki=−4|λ1|2kρ2
isin2σ<0. (6.23)
Putem acuma deduce necunoscutele ρi,θi
ρi=√−uki/2|λ|ksinσ,cos(θi+σ) =zk
isinσ/√−uki. (6.24)
Exemplu . S˘ a se determine valoarea proprie de modul maxim a matricei
A=
1 2 3
2 1 2
3 2 1
Rezolvare . Deoarece matricea Aeste simetric˘ a, toate valorile proprii sunt reale.
Pentru aflarea valorii proprii de modul maxim vom aplica metoda puterii pornind cu
vectoruly= (1,0,0)T. Primele cˆ ateva iterat ¸ii sunt redate ˆ ın tabelul de mai jos. S-au
utilizat notat ¸iile
r(k)
i=z(k+1)
i/zi (6.25)
iarReste raportul Rayleigh.
k z(k)
1z(k)
2z(k)
2r(k)
1r(k)
2r(k)
3R
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
observ˘ a obt ¸inerea primelor 4 cifre semnificative dup˘ a circa 6 iterat ¸ii. O estimare mai
bun˘ a a valorii proprii este furnizat˘ a de raportul Rayleigh. Aceast˘ a comportare este
caracteristic˘ a pentru matricele simetrice, unde raportul Rayleigh tinde c˘ atre valoarea
proprie conform
/bracketleftBig
z(k)/bracketrightBigT
z(k+1)//bracketleftBig
z(k)/bracketrightBigT
z(k)=λ1+O/parenleftBig
λ2k
1/λ2k
2/parenrightBig
.
De asemenea, se observ˘ a cre¸ sterea rapid˘ a a componentelor vectorului z(k)pe m˘ asur˘ a
cekcre¸ ste. De aceea se recomand˘ a ˆ ımp˘ art ¸irea la norma vectorului la fiecare iterat ¸ie.
6.2.2 Metoda puterii inverse
Este utilizat˘ a pentru a g˘ asi cea mai mic˘ a valoare proprie ˆ ın modul, diferit˘ a de
zero. ˆIn aceste condit ¸ii, matricea Aeste nesingular˘ a ¸ si A−1exist˘ a. Notˆ and cu
λ1aceast˘ a valoare proprie de modul minim, se scrie
0<|λ1|<|λ2|≤…≤|λn|. (6.26)
156 6.Vectori s ¸i valori proprii
DinAx=λxse obt ¸ine
x=λA−1x⇒A−1x=λ−1x, (6.27)
sau c˘ a matricea invers˘ a are valorile proprii 1 /λ. Prin urmare, 1 /λ1este valoarea
proprie de modul maxim a matricei A−1¸ si se poate aplica metoda puterii directe
acestei matrice, ˆ ın ipoteza c˘ a vectorii proprii formeaz˘ a o baz˘ a. Plecˆ and de la un
vector init ¸ial arbitrar y=z(0), se formeaz˘ a ¸ sirul
z(k+1)=A−1z(k), k = 0,1,… . (6.28)
Practic, nu se calculeaz˘ a inversa matricei A,deoarece este mai economic˘ a rezol-
varea repetat˘ a a sistemului de ecuat ¸ii
Az(k+1)=z(k), (6.29)
prin eliminare gaussian˘ a de exemplu. Mai departe, toate considerat ¸iile de la
metoda puterii directe sunt aplicabile ¸ si ˆ ın acest caz.
6.2.3 Metoda deplas˘ arii
Se bazeaz˘ a pe observat ¸ia c˘ a, dac˘ a matricea Aare valoarea proprie λatunci
matriceaA−qI, undeqeste un scalar, are valoarea proprie q−λ. Scalarul
qreprezint˘ a tocmai deplasarea ¸ si poate fi utilizat pentru a g˘ asi ¸ si alte valori
proprii decˆ at cele maxime sau minime ˆ ın modul. Spre exemplu, dac˘ a am g˘ asit
valoarea de modul maxim λ1(folosind metoda puterii directe), atunci valoarea
proprie cea mai dep˘ artat˘ a de λ1, fie aceasta λj,va avea proprietatea
|λj−λ1|= sup
i=1,n|λj−λ1|. (6.30)
ˆIn consecint ¸˘ a, metoda puterii directe aplicat˘ a matricei A−λ1Ine va conduce
la valoarea proprie λj.
Metoda deplas˘ arii originii poate fi folosit˘ a ˆ ın combinat ¸ie cu metoda puterii
inverse atunci cˆ and cunoa¸ stem aproximativ valoarea proprie λ∼=µ.ˆIn aceste
condit ¸ii matricea A−µIare o valoare proprie mic˘ a, ˆ ın modul, deci ¸ sirul similar
cu (6.29)
(A−µI)z(k+1)=z(k)(6.31)
va converge rapid, furnizˆ and valoarea exact˘ a λ.
6.3 Determinarea tuturor valorilor ¸ si vectorilor
proprii
Metodele prezentate pˆ an˘ a ˆ ın prezent, de¸ si foarte simple, permit determinarea
numai a unor valori proprii particulare, fiind limitate ¸ si de condit ¸ia ca vectorii
6.4.Metoda Danilevschi 157
proprii s˘ a formeze un sistem liniar independent. Metodele mai generale, care
permit determinarea tuturor valorilor ¸ si vectorilor proprii, se bazeaz˘ a, ˆ ın esent ¸˘ a,
pe aducerea matricei la o form˘ a particular˘ a prin transform˘ ari similare.
Dou˘ a matrice p˘ atrate A¸ siBde dimensiune nse numesc matrice asemenea
(sau similare ), dac˘ a exist˘ a o matrice P, inversabil˘ a, astfel ˆ ıncˆ at au loc relat ¸iile
B=PAP−1, A =P−1BP. (6.32)
Dou˘ a matrice asemenea au acelea¸ si valori proprii .ˆIntr-adev˘ ar, dac˘ a λeste o
valoare proprie a matricei A, adic˘ aAx=λxcux/negationslash= 0, t ¸inˆ and cont de relat ¸iile
(6.32) se obt ¸ine
P−1BPx =λx⇒B(Px) =λ(Px), (6.33)
adic˘ a matricea Bare acelea¸ si valori proprii ca ¸ si A.ˆIn plus, dac˘ a pentru o
valoare proprie λmatriceaAare vectorul propriu x, atunci pentru matricea B
vectorul propriu corespunz˘ ator lui este
y=Px, (6.34)
adic˘ a se obt ¸ine din vectorul xprin ˆ ınmult ¸ire cu matricea Pde premultiplicare.
Este de dorit ca transform˘ arile similare specificate prin matricele P,P−1
cu care ˆ ınmult ¸im matricea A,s˘ a conduc˘ a la matrice B“simple”, avˆ and valorile
proprii ¸ si vectorii proprii u¸ sor de determinat. Exist˘ a mai multe astfel de forme
simple. Prima pe care o vom considera ˆ ın cele ce urmeaz˘ a este forma Frobenius
utlizat˘ a ˆ ın metoda Danilevschi. Apoi vom prezenta algoritmii LR¸ siQRde
aducere a matricei Ala forma triunghiular˘ a.
6.4 Metoda Danilevschi
Aceast˘ a metod˘ a aduce matricea Ala forma
F=
p1p2… pn−1pn
1 0… 0 0
0 1… 0 0
……………
0 0… 1 0
, (6.35)
denumit˘ a form˘ a Frobenius , prin transform˘ ari similare. Avantajul formei Frobe-
nius este obt ¸inerea imediat˘ a a ecuat ¸iei caracteristice a matricei
(−1)ndet(F−λI) =λn−n/summationdisplay
i=1piλn−i= 0. (6.36)
Vom deduce relat ¸ia ( 6.36) pe o cale care s˘ a permit˘ a totodat˘ a ¸ si construirea
vectorilor proprii yai matricei F.ˆIn acest scop, vom scrie, conform definit ¸iei
158 6.Vectori s ¸i valori proprii
(6.1), egalitatea Fy=λy, adic˘ a
p1p2… pn−1pn
1 0… 0 0
0 1… 0 0
……………
0 0… 1 0
·
y1
y2
y3
…
yn
=λ
y1
y2
y3
…
yn
. (6.37)
Operˆ and de la ultima linie c˘ atre prima, se obt ¸ine
yn−j=λyn−j+1, (6.38)
pentruj=1,n−1,¸ si
n/summationdisplay
i=1piyi=λyi. (6.39)
Exprimˆ and componentele y1,y2,…,yn−1ˆ ın funct ¸ie de yn, din ecuat ¸iile ( 6.38)
rezult˘ a
yn−1=λyn, yn−2=λ2yn,… , y 1=λn−1yn. (6.40)
ˆInlocuind ˆ ın ( 6.39), rezult˘ a
yn/parenleftBigg
λn−n/summationdisplay
i=1piλn−i/parenrightBigg
= 0. (6.41)
Deoareceyn/negationslash= 0 (altfel toate componentele vectorului yar fi nule), din ( 6.41)
se obt ¸ine tocmai ecuat ¸ia caracteristic˘ a ( 6.36). Luˆ andyn= 1, vectorul propriu
yare expresia
y= (λn−1,λn−2,… ,λ, 1)T. (6.42)
ˆIn concluzie, vectorii proprii ai matricei Frobenius se construiesc cu ajutorul
puterilor valorii proprii, adic˘ a pot fi determinat ¸i imediat ce au fost determinate
valorile proprii. Aceast˘ a proprietate remarcabil˘ a pune ˆ ın evident ¸˘ a ¸ si anumite
limit˘ ari ale formei Frobenius. Astfel, dac˘ a valorile proprii sunt multiple, vecto-
rii corespunz˘ atori ai unei matrice Frobenius nu pot fi decˆ at liniar dependent ¸i.
Aceast˘ a proprietate nu este ˆ ıns˘ a general valabil˘ a 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
suficient de general˘ a, adic˘ a nu orice matrice poate fi adus˘ a la aceast˘ a form˘ a prin
transform˘ ari similare. Totu¸ si, o matrice oarecare Aar putea fi descompus˘ a ˆ ın
blocuri, dintre care cele corespunz˘ atoare valorilor proprii distincte, ar fi blocuri
Frobenius.
6.4.Metoda Danilevschi 159
ˆIn metoda Danilevschi aducerea la forma Frobenius a unei matrice p˘ atrate
Ase face ˆ ıncepˆ and cu ultima linie, dup˘ a schema
a1,1a1,2… a 1,n−1a1,n
a2,1a2,2… a 2,n−1a2,n
……………
an−1,1an−1,2… an−1,n−1an−1,n
an,1an,2…an,n−1an,n
(6.43)
→
a(1)
1,1a(1)
1,2… a(1)
1,n−1a(1)
1,n
a(1)
2,1a(1)
2,2… a(1)
2,n−1a(1)
2,n
……………
a(1)
n−1,1a(1)
n−1,2a(1)
n−1,n−1a(1)
n−1,n
0 0 … 1 0
. (6.44)
S-a presupus an,n−1/negationslash= 0 ¸ si s-au eliminat celelalte elemente din linia a n-a. Dac˘ a
an,n−1= 0, se folosesc permut˘ ari de coloane. Mai mult, permut˘ arile de coloane
sunt indicate pentru a avea elemente an,n−1cˆ at mai mari ˆ ın modul, ˆ ın vederea
reducerii erorilor de rotunjire. Prin urmare, se recomand˘ a utilizarea pivot ¸ilor
(totali sau part ¸iali), analog cu eliminarea gaussian˘ a. Pentru schema ( 6.43), s-au
folosit multiplicatorii
mn−1,j=−an,j/an,n−1pentruj/negationslash=n−1, mn−1,n−1= 1/an,n−1.(6.45)
Se observ˘ a c˘ a indicii multiplicatorilor se aleg dintre indicii elementelor cu care
se construiesc ace¸ sti multiplicatori, diferit ¸i de indicele liniei care se modific˘ a.
Elimin˘ arile ¸ si aparit ¸ia elementului 1 nu sunt ˆ ıns˘ a suficiente; mai trebuie ca
matricea obt ¸inut˘ a s˘ a fie similar˘ a cu A.ˆIn acest scop, vom observa c˘ a etapa
(6.43) revine la ˆ ınmult ¸irea lui Ala dreapta cu matricea M1,
M1=
1 0 … 0 0
0 1 … 0 0
……………
mn−1,1mn−1,2… mn−1,n−1mn−1,n
0 0 … 0 1
, (6.46)
obt ¸inut˘ a din matricea unitate, prin introducerea multiplicatorilor. Prin urmare,
matricea obt ¸inut˘ a ˆ ın dreapta, ˆ ın schema ( 6.43), este matricea AM 1. Faptul
c˘ aM1se aplic˘ a la dreapta este legat de operarea cu coloane (multiplicatorii
mn−1,jse aplic˘ a unor coloane); pe de alt˘ a parte, la ˆ ınmult ¸ire, matricea din
dreapta se introduce prin coloane. Matricea invers˘ a M−1
1, necesar˘ a pentru a face
transformarea similar˘ a, este obt ¸inut˘ a din matricea unitate prin introducerea ˆ ın
160 6.Vectori s ¸i valori proprii
matricea unitate, ˆ ın linia n−1, a liniei elementelor modificate ˆ ın matricea A
M−1
1=
1 0 … 0 0
0 1 … 0 0
……………
an,1an,2… an,n−1an,n
0 0 … 0 1
. (6.47)
Verificarea egalit˘ at ¸ii M−1
1M1=Ise face u¸ sor, observˆ and c˘ a ˆ ın matricea
produs r˘ amˆ an nemodificate toate liniile cu except ¸ia liniei n−1, singura care
trebuie verificat˘ a ca apart ¸inˆ and matricei unitate I.ˆIn aceast˘ a verificare, ca ¸ si
ˆ ın cele care urmeaz˘ a este util˘ a urm˘ atoarea regul˘ a simpl˘ a: dac˘ a, la ˆ ınmult ¸irea a
dou˘ a matrice, matricea din stˆ anga are o linie de indice idin matricea unitate I,
atunci ˆ ın matricea produs linia icoincide cu linia ia matricei din dreapta; dac˘ a
matricea din dreapta are o coloan˘ a jdin matricea unitate I, atunci coloana j
din matricea produs este dat˘ a de matricea din stˆ anga.
Prin urmare, dup˘ a o prim˘ a etap˘ a se obt ¸ine matricea similar˘ a
A2=M−1
1A1M1, A 1≡A. (6.48)
Se observ˘ a c˘ a linia ndeja obt ¸inut˘ a, din matricea Frobenius, se p˘ astreaz˘ a la
ˆ ınmult ¸irea cu M−1
1. Procedeul se repet˘ a pentru liniile n−1,n−2,…, 2 din
matricele similare A2,A3,…,An−1pˆ an˘ a se ajunge la forma Frobenius. Odat˘ a
determinate valorile proprii, vectorii proprii yai matricei Frobenius se deduc din
(6.42) iar, vectorii proprii xai matriceiAse deduc acumulˆ and postmultiplic˘ arile
(vezi 6.33)
x=M1M2…Mn−1y. (6.49)
Dac˘ a ˆ ıntr-o etap˘ a se folosesc permut˘ ari de linii, este necesar s˘ a permut˘ am
¸ si coloanele de acela¸ si indice cu al liniilor de permutare ¸ si invers astfel ˆ ıncˆ at s˘ a
se p˘ astreze similitudinea cu matricea A. Aceste permut˘ ari trebuie s˘ a fie f˘ acute
astfel ˆ ıncˆ at s˘ a nu afect˘ am elementele de tip Frobenius deja produse. Aceasta
revine ˆ ın etapa k(cˆ and pivotul este a(k)
n−k+1,n−k) s˘ a nu permut˘ am linii ¸ si coloane
de indice mai mare ca n−k. Rezult˘ a c˘ a pivotul poate fi realizat numai cu
permut˘ ari de coloane.
Dac˘ a ˆ ıntr-o etap˘ a knu este posibil s˘ a obt ¸inem un element diferit de zero ˆ ın
pozit ¸ia de sub diagonal˘ a,ˆ ınseamn˘ a c˘ a toate elementele din stˆ anga lui a(k)
n−k+1,n−k
sunt nule. Rezult˘ a c˘ a procedeul de aducere la forma Frobenius nu mai poate fi
continuat ˆ ın maniera init ¸ial˘ a. Se poate proceda prin subdivizarea matricei Aˆ ın
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 dac˘ a vectorii proprii asociat ¸i nu
sunt liniar independent ¸i. Deoarece metoda construie¸ ste polinomul caracteristic
(nu valorile proprii), pot apare erori mari ˆ ın calculul numeric. ˆIntr-adev˘ ar, erori
mici ˆ ın coeficient ¸ii unui polinom pot produce abateri mari ˆ ın valorile r˘ ad˘ acinilor
6.4.Metoda Danilevschi 161
polinomului (inclusiv aparit ¸ia unor valori complexe ˆ ın locul celor reale). Analiza
erorilor se poate efectua t ¸inˆ and seama c˘ a transform˘ arile se fac dup˘ a schema
Ai+1=M−1
iAiMi. (6.50)
Rezult˘ a c˘ a erorile se transmit dup˘ a regula
/bardblδAi+1/bardbl/bardbl
Ai+1/bardbl≤µ(Mi)/parenleftBigg
/bardblδAi/bardbl/bardbl
Ai/bardbl+/bardblδMi/bardbl/bardbl
Mi/bardbl+/vextenddouble/vextenddoubleδM−1
i/vextenddouble/vextenddouble/vextenddouble
/vextenddoubleM−1
i/vextenddouble/vextenddouble/parenrightBigg
. (6.51)
Prin urmare, este util ca num˘ arul de condit ¸ionare al matricelor Mis˘ a fie egal
cu unitatea ( µ(Mi) = 1, ˆ ıntr-o norm˘ a oarecare). Aceast˘ a condit ¸ie nu este,
ˆ ın general, realizabil˘ a, a¸ sa cum rezult˘ a din forma matricelor Mi. Dac˘ a, spre
exemplu,an−i+1,n−ieste pivot astfel ˆ ıncˆ at
/bardblMi/bardbl1= 1 + max
j/negationslash=n−i/vextendsingle/vextendsingle/vextendsingle/vextendsinglean−i+1,j
an−i+1,n−i/vextendsingle/vextendsingle/vextendsingle/vextendsingle,/bardblMi/bardbl1=|an−i+1,n−i|>1, (6.52)
rezult˘ a (folosind norma /bardbl/bardbl1ˆ ın num˘ arul de condit ¸ionare)
µ1(Mi) =|an−i+1,n−i|+ max
j/negationslash=n−i|an−i+1,j|>1. (6.53)
ˆIn consecint ¸˘ a, metoda se recomand˘ a la determinarea valorilor ¸ si vectorilor pro-
prii de mici dimensiuni ( n≤10), prezentˆ and avataje din punct de vedere al
num˘ arului de operat ¸ii.
Exemplu . Pentru matricea de la exemplul anterior s˘ a se determine toate valorile
proprii folosind metoda Danilevschi.
Rezolvare . Se aduce matricea Ala forma Frobenius, folosind transform˘ ari elemen-
tare. ˆIn prealabil se aduce pivotul 3 ˆ ın pozit ¸ia (3,2) prin permutarea coloanelor 1,2.
Matricea de permutare este P12. Notˆ and
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 nou˘ a matrice similar˘ a cu A. Se elimin˘ a elementele a31¸ sia33de pe ultima
linie, operˆ and cu coloana a doua. ˆIn locul elementului a32= 3 se obt ¸ine valoarea 1,
ˆ ımp˘ art ¸ind cu 3 toat˘ a coloana a doua. Toate operat ¸iile revin la ˆ ınmult ¸irea la dreapta
cu matricea M1, format˘ a 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 corespunz˘ atoare din matricea
Frobenius. Pentru ca transformarea s˘ a fie similar˘ a se va ˆ ınmult ¸i la stˆ anga 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
1A1M1=
−1/3 2/3 4/3
10/3 10/3 32/3
0 1 0
.
ˆIn etapa urm˘ atoare se elimin˘ a elementele 10/3 ¸ si 32/3 de pe linia a doua din matricea
A, operˆ and cu coloana ˆ ıntˆ aia. ˆIn pozit ¸ia (2,1) se obt ¸ine elementul 1. Totul revine la a
ˆ ınmult ¸i la dreapta cu matricea M2, iar la stˆ anga 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 ˆ ıncˆ at
A3=M−1
2A2M2=
3 14 8
1 0 0
0 1 0
=F,
A3fiind 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 Fsunt
yi= (λ2
i,λ1,1)T, i= 1,2,3.
Pentru a obt ¸ine vectorii proprii xiai matricei init ¸iale A, se utilizeaz˘ a matricele de
postmultiplicare
xi=P12M1M2yi, i= 1,2,3.
De¸ si s-a lucrat cu fract ¸ii rat ¸ionale, s-a utilizat pivot pentru a atrage atent ¸ia aupra
tehnicii uzuale de lucru cu numere ma¸ sin˘ a afectate de erori de rotunjire.
6.5 Metodele QR¸ siLR
MetodeleQR¸ siLR, pe care le vom prezenta ˆ ın continuare, determin˘ a valorile ¸ si
vectorii proprii ale unei matrice p˘ atrate A, prin aducerea acesteia la o matrice
superior triunghiular˘ a prin transform˘ ari de similitudine. Valorile proprii ale
unei matrice triunghiulare Tsunt chiar elementele de pe diagonal˘ a deoarece
calculul polinomului caracteristic conduce la
P(λ) = det(T−λI) =/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglet1,1−λ t 1,2… t 1,n
0t2,2−λ … t 2,n
…………
0 0 0 tn,n−λ/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle(6.54)
6.5.MetodeleQR¸ siLR 163
¸ si dezvoltˆ and dup˘ a minori obt ¸inem
det(T−λI) = (t1,1−λ)(t2,2−λ)…(tn,n−λ), (6.55)
un polinom cu r˘ ad˘ acinile t1,1,t2,2,… ,tn,n.
Algoritmul QRreprezint˘ a culminarea unui lung proces de c˘ autare a unor
algoritmi robu¸ sti de determinare a tuturor valorilor proprii ale unei matrice ¸ si
are o important ¸˘ a deosebit˘ a ˆ ın aplicat ¸ii. ˆIn aplicarea practic˘ a a algoritmului QR
apar o serie de etape intermediare ce pot crea impresia c˘ a metoda este destul
de complicat˘ a. Dup˘ a cum vom vedea ˆ ıns˘ a, esent ¸a algoritmului este aplicarea
metodei puterii simultan asupra mai multor vectori init ¸iali .
6.5.1 Rezultate teoretice preliminarii
Pentru prezentarea complet˘ a a acestor metode vom avea nevoie de o serie de
rezultate teoretice. Vom include ¸ si demonstrat ¸iile acestor rezultate deoarece
furnizeaz˘ a indicat ¸ii asupra modului ˆ ın care se pot construi algoritmi numerici.
Am v˘ azut, ˆ ın cadrul metodei Danilevschi, c˘ a nu orice matrice poate fi adus˘ a
la forma Frobenius. Acum urm˘ arim aducerea la forma triunghiular˘ a deci, apare
imediat ˆ ıntrebarea dac˘ a exist˘ a o transformare de similitudine ˆ ıntre o matrice
oarecareA¸ si o matrice triunghiular˘ a. Scopul principal al acestei sect ¸iuni este
s˘ a investig˘ am acest aspect.
Transform˘ ari unitare.
ˆIn plus, analiza de eroare de la metoda Danilevschi a ar˘ atat important ¸a obt ¸inerii
unor transform˘ ari similare la care num˘ arul de condit ¸ionare s˘ a fie egal cu uni-
tatea. Dac˘ a matricele de transformare Msunt unitare , adic˘ a dac˘ a M∗M=I
atunci vom avea ˆ ın mod evident µ(M) = 1 dac˘ a folosim norma spectral˘ a ( 5.150 )
µ(M) =/bardblM/bardbl2/vextenddouble/vextenddoubleM−1/vextenddouble/vextenddouble
2=/bardblM/bardbl2/bardblM∗/bardbl2=/radicalbig
ρ(M∗M)ρ(MM∗) =/radicalbig
ρ(I)ρ(I) = 1.
PrinM∗s-a notat adjuncta matriceiM(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-adev˘ ar, dac˘ a efectu˘ am
produsul scalar al vectorilor coloan˘ a din fiecare membru a relat ¸iei de valori
proprii
Qx=λx, (6.56)
cu vectorul linie x∗Q∗rezult˘ a
x∗Q∗Qx=x∗Q∗λx. (6.57)
Prin operat ¸iile de transpunere ¸ si complex conjugare a relat ¸iei ( 6.56) rezult˘ a
x∗Q∗=¯λx∗, (6.58)
164 6.Vectori s ¸i valori proprii
ce ˆ ınlocuit ˆ ın partea din dreapta a ( 6.57) conduce la
x∗Q∗Qx=¯λx∗λx=λ¯λx∗x. (6.59)
DarQeste unitar˘ a Q∗Q=I, a¸ sa c˘ a rezult˘ a
x∗x= (λ¯λ)x∗x, (6.60)
de undeλ¯λ= 1, deci modulul unei valori proprii a lui Qeste egal cu unitatea.
Cum valorile proprii ale inversei Q−1=Q∗sunt 1/λrezult˘ a c˘ a ¸ si acestea au
modulul egal cu unitatea.
Reflectori elementari.
S˘ a consider˘ am acum modalit˘ at ¸ile de obt ¸inere a unei matrice unitare. Exist˘ a
dou˘ a procedee mai utilizate. Primul, denumit procedeul Householder , con-
struie¸ ste o matrice unitar˘ a pornind de la un vector coloan˘ a vprin
U=I−vv∗. (6.61)
Vectorulv∗este un vector linie astfel ˆ ıncˆ at produsul vv∗este o matrice. S˘ a ve-
dem ce condit ¸ii trebuie impuse vectorului vpentru ca matricea Us˘ a fie unitar˘ a.
Adjuncta lui Ueste
U∗= (I−vv∗)∗=I∗−(v¯vT)T=I−(¯vvT)T=I−v¯vT=I−vv∗,(6.62)
adic˘ a totU. Se spune c˘ a matricea Ueste autoadjunct˘ a . Avem
U∗U= (I−vv∗)(I−vv∗) =I−2vv∗+vv∗vv∗. (6.63)
Cumveste vector coloan˘ a ¸ si v∗este un vector linie, v∗veste un produs scalar
ce este chiar p˘ atratul normei euclidiene a lui v
v∗v=n/summationdisplay
i=1¯vivi=/bardblv/bardbl2
2. (6.64)
Se obt ¸ine
U∗U=I+ (/bardblv/bardbl2
2−2)vv∗, (6.65)
deci matricea Ueste unitar˘ a dac˘ a matricea vv∗este nul˘ a sau dac˘ a
/bardblv/bardbl2=√
2. (6.66)
Prima posibilitate implic˘ a v= 0 ¸ si nu prezint˘ a interes pentru aplicat ¸ii. O
matrice unitar˘ a de forma ( 6.61) cuvce satisface ( 6.66) se nume¸ ste reflector
elementar . Denumirea provine de la modul de transformare a coordonatelor
6.5.MetodeleQR¸ siLR 165
unui punct.Spre exemplu, ˆ ın dou˘ a dimensiuni ( n= 2) dac˘ a v= [√
2,0]Tse
obt ¸ine
U=I−/bracketleftbigg√
2
0/bracketrightbigg/bracketleftbig√
2 0/bracketrightbig
=/bracketleftbigg
1 0
0 1/bracketrightbigg
−/bracketleftbigg
2 0
0 0/bracketrightbigg
=/bracketleftbigg
−1 0
0 1/bracketrightbigg
.(6.67)
Coordonatele [ x,y]Tale unui punct se transform˘ a conform
U/bracketleftbigg
x
y/bracketrightbigg
=/bracketleftbigg
−x
y/bracketrightbigg
, (6.68)
adic˘ a s-a efectuat o reflexie fat ¸˘ a de axa Oype care vectorul veste ortogonal.
ˆIn cazul general, vectorul vdefine¸ ste normala unui plan fat ¸˘ a de care se reflect˘ a
coordonatele unui punct.
ˆIn aplicat ¸ii vom avea de evaluat produsul U∗AsauAU. S-ar p˘ area c˘ a sunt
necesareO(n3) operat ¸ii aritmetice pentru aplicarea unui reflector elementar.
Lucrurile nu stau a¸ sa ¸ si este esent ¸ial pentru economicitatea metodei QRs˘ a
observ˘ am c˘ a reflectorul elementar Unu trebuie calculat ˆ ın mod explicit . Putem
evalua rezultatul AUprin
AU=A(I−vv∗) =A−Avv∗=A−wv∗(6.69)
cuw=Av. Evaluarea lui wcost˘ aO(n2) operat ¸ii ¸ si efectuarea produsului ex-
teriorwv∗ˆ ınc˘ aO(n2) pentru un total de O(2n2),mult mai mic decˆ at O(n3).
Dat fiind vectorul v, algoritmul de aplicare la dreapta a unei transform˘ ari Ho-
useholder asupra matricei Aeste
j= 1 :n
wj←0
k= 1 :n
[wj←wj+ajkvk/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglej= 1 :n/bracketleftbigg
k= 1 :n
[ajk←ajk−vjwk.(6.70)
Analog evalu˘ am U∗Aprin
U∗A= (I−vv∗)A=A−vv∗A=A−vwT(6.71)
cuwT=v∗A.Algoritmul este o modificare simpl˘ a a celui de mai sus.
Rotat ¸ii elementare.
Al doilea procedeu de obt ¸inere a unei matrice unitare este cunoscut sub numele
deprocedeu Givens sauprocedeu Jacobi . S ¸i acest procedeu are o semnificat ¸ie
geometric˘ a, matricea Refectuˆ and rotat ¸ia coordonatelor unui punct ˆ ın jurul unei
axe oarecare. ˆIn acest caz matricea unitar˘ a Rjkse obt ¸ine din matricea unitate
Iprin modificarea a patru elemente conform
rj,j=eiαcosθ, rj,k=eiβsinθ, (6.72)
rk,j=−e−iβsinθ, rk,k=e−iαcosθ.
166 6.Vectori s ¸i valori proprii
Se poate verifica u¸ sor prin calculul produsului R∗Rc˘ a matricea Reste unitar˘ a.
Parametrii reali α,β,θ definesc rotat ¸ia efectuat˘ a, fiind vorba de o rotat ¸ie de
unghiθ. Dac˘ a matricea Aasupra c˘ areia aplic˘ am o rotat ¸ie Givens are toate
elementele reale atunci α=β= 0. Axa de rotat ¸ie este definit˘ a de produsul
vectorial al versorului de pe direct ¸ia jcu cel de pe direct ¸ia k.
S˘ a consider˘ am cazul unei matrice Areale. Situat ¸ia tipic˘ a de aplicare a unei
rotat ¸ii Givens este urm˘ atoarea: dorim s˘ a anul˘ am un singur element subdiagonal
dinA, fie acesta ajk/negationslash= 0 cuj >k . Vom presupune c˘ a elementele subdiagonale
de pe coloanele de indice i<k au fost deja anulate. La premultiplicarea matricei
AcuR∗
jk=RT
jkse vor produce modific˘ ari ale liniilor j¸ sikale matricei. Spre
exemplu, pentru j= 4,k= 2
1 0 0 0
0c0−s
0 0 1 0
0s0c
a11a12a13a14
0a22a23a24
0a32a33a34
0a42a43a44
=
a11a12 a13 a14
0ca22−sa42ca23−sa43ca24−sa44
0a32 a33 a34
0sa22+ca42sa23+ca43sa24+ca44
,
cuc= cosθ,s= sinθ. Condit ¸ia ce trebuie satisf˘ acut˘ a de θestesa22+ca42= 0
ˆ ın exemplul de mai sus, sau
sakk+cajk= 0 (6.73)
ˆ ın cazul general. Ecuat ¸ia trigonometric˘ a ( 6.73) nu se rezolv˘ a direct. Este mai
economic s˘ a calcul˘ am pe s,cprin
dac˘ a|ajk|>|akk|
atuncit←−akk/ajk;s←1/√
1 +t2;c←st
altfelt←−ajk/akk;c←1/√
1 +t2;s←ct(6.74)
cu o singur˘ a extragere de radical ¸ si evitarea ˆ ımp˘ art ¸irii la un num˘ ar foarte mic .
Ca ¸ si ˆ ın cazul transform˘ arii Householder, matricea Rjknu se calculeaz˘ a
explicit ca apoi s˘ a se efectueze produsul R∗
jkA,deoarece aplicarea algoritmului
general deˆ ınmult ¸ire a dou˘ a matrice ar costa O(n3) operat ¸ii. Se calculeaz˘ a efectul
aplic˘ arii rotat ¸iei R∗
jkAprin
i=k:n
[aki←caki−saji;aji←saki+caji(6.75)
cu un cost de doar O(4(n−k)).ˆIn cazul postmultiplic˘ arii ARjkse procedeaz˘ a
ˆ ın mod asem˘ an˘ ator.
Un pas ˆ ın aducerea la forma triunghiular˘ a.
Acum c˘ a avem la dispozit ¸ie procedee de construct ¸ie a unei matrice unitare,
s˘ a vedem modul ˆ ın care acestea pot fi folosite pentru a aduce pe Ala forma
6.5.MetodeleQR¸ siLR 167
triunghiular˘ a. Prin analogie cu procesul de eliminare Gauss, ne propunem s˘ a
elimin˘ am mai ˆ ıntˆ ai elementele de sub diagonala principal˘ a, de pe prima coloan˘ a
a matriceiA. Trebuie s˘ a g˘ asim o matrice unitar˘ a Uce realizeaz˘ a transformarea
U∗AU=
α w 1… wn−1
0a(1)
2,2… a(1)
2,3
…………
0a(1)
2,n… a(1)
n,n
. (6.76)
Elementulαde pe pozit ¸ia 1 ,1 trebuie s˘ a fie chiar o valoare proprie a lui Adeo-
areceU∗AUare acelea¸ si valori proprii ca ¸ si A, iar calculul polinomului caracte-
ristic al matricei U∗AUconduce la aparit ¸ia factorului ( λ−α). Este convenabil
s˘ a introducem o diviziune ˆ ın port ¸iuni a matricei din dreapta sub forma
U∗AU=/bracketleftbigg
λ wT
0n−1An−1/bracketrightbigg
(6.77)
undeλeste o valoare proprie a lui A,wun vector coloan˘ a de dimensiune n−1,
0n−1vectorul nul de dimensiune n−1,iarAn−1o matrice p˘ atrat˘ a de ordinul
n−1.
Prima coloan˘ a a unei matrice se obt ¸ine prin ˆ ınmult ¸irea acesteia la dreapta
cu vectorul e(1)= [1,0,… , 0]T
U∗AUe(1)=/bracketleftbigg
λ
0n−1/bracketrightbigg
=λe(1). (6.78)
DarU∗=U−1¸ si ˆ ınmult ¸ind la stˆ anga cu Use obt ¸ine
AUe(1)=λUe(1), (6.79)
deci condit ¸ia ca Us˘ a conduc˘ a la eliminarea elementelor subdiagonale de pe
prima coloan˘ a a matricei Aeste caUe(1)s˘ a fie proport ¸ional cu vectorul propriu
al matricei Aasociat valorii proprii λ.Not˘ am prin xacest vector propriu. De-
oarecexeste determinat pˆ an˘ a la o constant˘ a multiplicativ˘ a putem presupune
/bardblx/bardbl2= 1 ¸ si
Ue(1)=βx, β/negationslash= 0, β∈C. (6.80)
Relat ¸ia ( 6.80) ne spune c˘ a trebuie s˘ a g˘ asim o transformare a vectorului e(1)
ˆ ın vectorul xprintr-o matrice unitar˘ a. Interpret˘ arile geometrice ale procedeelor
Householder ¸ si Givens ne furnizeaz˘ a imediat modalitatea de construct ¸ie a lui U.
Cum o reflexie sau o rotat ¸ie nu vor modifica modulul unui vector va trebui s˘ a
avem
/vextenddouble/vextenddouble/vextenddoublee(1)/vextenddouble/vextenddouble/vextenddouble
2=|β|·/bardblx/bardbl2=|β|= 1. (6.81)
Dac˘ a adopt˘ am procedeul Householder, matricea Ueste dat˘ a de U=I−vv∗
cuvvectorul normalei la planul fat ¸˘ a de care reflexia lui y=β−1e(1)este chiar
168 6.Vectori s ¸i valori proprii
Figura 6.1: Interpretarea geometric˘ a a procedeului Householder.
x. Prin analogie cu cazul bidimensional (fig. 6.1) undex−yeste normala la
planul de reflexie, b˘ anuim c˘ a
v=a(x−y), (6.82)
cuao constant˘ a ce este determinat˘ a din condit ¸ia ca Us˘ a fie unitar˘ a
/bardblv/bardbl2
2= 2⇒a2= 2/bardblx−y/bardbl−2
2. (6.83)
Intuit ¸ia din cazul bidimensional este verificat˘ a pe cazul general prin calcul,
Ux−y= (I−vv∗)x−y=x−vv∗x−y=x−a2(x−y)(x∗−y∗)x−y
= (x−y)[1−a2(x∗x−y∗x)].
Trebuie ca Ux−y= 0 pentru xarbitrar, deci impunem
1−a2(x∗x−y∗x) = 0. (6.84)
ˆInlocuinda2din ( 6.83) se obt ¸ine
/bardblx−y/bardbl2
2−2(x∗x−y∗x) = 0, (6.85)
sau, t ¸inˆ and cont c˘ a /bardblx−y/bardbl2
2=/radicalbig
(x−y,x−y) = (x−y)·(x∗−y∗) (vezi relat ¸ia
5.153 ) ¸ si c˘ ax∗x=y∗y,
y∗x=x∗y. (6.86)
Relat ¸ia ( 6.86) determin˘ a parametrul β,
(β−1e(1))∗x=x∗β−1e(1)⇒βx1=βx1, (6.87)
undex1este prima component˘ a a lui x. Condit ¸ia de mai sus spune c˘ a βx1
trebuie s˘ a fie o cantitate real˘ a. Cum |β|= 1 rezult˘ a
β= ¯x1/|x1| (6.88)
dac˘ a|x1|/negationslash= 0. Dac˘ a x1= 0 atunci lu˘ am β= 1. Matricea Ueste complet
determinat˘ a.
6.5.MetodeleQR¸ siLR 169
Un calcul asem˘ an˘ ator se poate efectua pentru a determina ¸ si matricea de
rotat ¸ie ce realizeaz˘ a eliminarea elementelor subdiagonale de pe prima coloan˘ a.
Nu vom intra ˆ ın detalii deoarece acest procedeu este de regul˘ a mai costisitor
din punct de vedere al operat ¸iilor aritmetice, datorit˘ a necesit˘ at ¸ii de a evalua
radicali. Except ¸ia de la aceast˘ a regul˘ a general˘ a este pentru o matrice cu un
mare num˘ ar de zerouri deja existente sub diagonala principal˘ a. ˆIn acest caz se
poate proceda dup˘ a cum s-a exemplificat ˆ ın prezentarea transform˘ arii Givens.
Teorema Schur.
Odat˘ a eliminat ¸i termenii subdiagonali de pe prima coloan˘ a calculul se poate
repeta pentru prima coloan˘ a a matricei A1¸ si a¸ sa mai departe, pˆ an˘ a la aducerea
complet˘ a a matricei originale Ala forma triunghiular˘ a. Metoda de mai sus este
enunt ¸at˘ a formal ˆ ın urm˘ atoarea teorem˘ a important˘ a.
Teorem˘ a. (Schur) Orice matrice p˘ atrat˘ a Ade dimensiuni n×neste unitar
similar˘ a cu o matrice triunghiular˘ a T.
Demonstrat ¸ie . Vom proceda prin induct ¸ie. Orice matrice de ordinul n= 1
este triunghiular˘ a. S˘ a consider˘ am acum teorema adev˘ arat˘ a pentru orice matrice
de ordinul n−1,spre exemplu pentru matricea An−1din ( 6.77) pentru care
matricea unitar˘ a de aducere la forma triunghiular˘ a este Un−1
U∗
n−1An−1Un−1=Tn−1. (6.89)
Matricea
Un=U/bracketleftbigg
1 0T
n−1
0n−1Un−1/bracketrightbigg
(6.90)
cuUconstruit ca mai sus realizeaz˘ a aducerea matricei Ala forma tringhiular˘ a.
ˆIntr-adev˘ ar, avem
U∗
nAUn=/bracketleftbigg
1 0T
n−1
0n−1U∗
n−1/bracketrightbigg
U∗AU/bracketleftbigg
1 0T
n−1
0n−1Un−1/bracketrightbigg
=/bracketleftbigg
1 0T
n−1
0n−1U∗
n−1/bracketrightbigg/bracketleftbigg
λ wn−1
0n−1An−1/bracketrightbigg/bracketleftbigg
1 0T
n−1
0n−1Un−1/bracketrightbigg
=/bracketleftbigg
1 0T
n−1
0n−1U∗
n−1/bracketrightbigg/bracketleftbigg
λ wn−1U∗
n−1
0n−1An−1Un−1/bracketrightbigg
=/bracketleftbigg
λ wn−1U∗
n−1
0n−1Tn−1/bracketrightbigg
unde ultima matrice este de form˘ a triunghiular˘ a. 2
6.5.2 Algoritmi auxiliari
MetodeleLR¸ siQRcuprind un num˘ ar de algoritmi subsidiari ce le fac s˘ a fie
eficace. S˘ a consider˘ am mai ˆ ıntˆ ai aceste p˘ art ¸i componente a ˆ ıntregului algoritm
LRsauQR.
170 6.Vectori s ¸i valori proprii
Deflat ¸ie.
Teorema Schur ne asigur˘ a c˘ a o transformare unitar˘ a, similar˘ a de la matricea A
la o form˘ a triunghiular˘ a exist˘ a. ˆIns˘ a suntem ˆ ın situat ¸ia nepl˘ acut˘ a c˘ a trebuie s˘ a
cunoa¸ stem deja vectorii ¸ si valorile proprii pentru a determina efectiv matricea
de transformare. Modul efectiv ˆ ın care se aplic˘ a rezultatele de mai sus este ˆ ın
reducerea ordinului matricei cu care se lucreaz˘ a ˆ ın momentul cˆ and una dintre
valori proprii a fost izolat˘ a. Acest proces este cunoscut ca deflat ¸ie ¸ si cuprinde
urm˘ atoarele etape:
1.se calculeaz˘ a vectorul propriu xasociat valorii proprii λ;
2.se iaβ=x1/|x1|pentrux1/negationslash= 0 sauβ= 1 pentru x1= 0;
3.se iaa=√
2//vextenddouble/vextenddoublex−βe(1)/vextenddouble/vextenddouble,v=a(x−βe(1)) ¸ siU=I−vv∗;
4.se calculeaz˘ a U∗AU¸ si se izoleaz˘ a submatricea An−1(6.77).
La sfˆ ar¸ situl unei etape de deflat ¸ie se obt ¸ine o matrice mai mic˘ a asupra c˘ areia
se poate opera ˆ ın continuare cu o economie de operat ¸ii aritmetice fat ¸˘ a de cazul
ˆ ın care s-ar ˆ ıncerca determinarea transform˘ arii globale ce aduce pe Ala forma
triunghiular˘ a.
Factorizarea QR.
Am v˘ azut ˆ ın 5.1.9 cum o matrice Ase poate descompune ˆ ıntr-un produs de
dou˘ a matrice, una inferior triunghiular˘ a ¸ si alta superior triunghiular˘ a. Exist˘ a
multe alte tipuri de factorizare
A=BC (6.91)
a unei matrice A. O clas˘ a important˘ a o constituie factoriz˘ arile ortogonale , la
care vectorii coloan˘ a ai matricei Bsunt ortogonali (vezi 1.4.2) doi cˆ ate doi.
Printre factoriz˘ arile ortogonale, cea mai util˘ a este factorizarea QRa lui House-
holder
A=QR (6.92)
ˆ ın careQeste o matrice unitar˘ a ¸ si Ro matrice superior triunghiular˘ a. Dup˘ a
cum sugereaz˘ a aproprierea de nume, factorizarea QReste o parte esent ¸ial˘ a a
metodeiQRde determinare a valorilor proprii.
DeoareceQeste unitar˘ a din ( 6.92) se obt ¸ine
Q∗A=R. (6.93)
Ideea de baz˘ a a algoritmului de factorizare este construirea pas cu pas a matricei
Q∗prin eliminarea succesiv˘ a a elementelor subdiagonale de pe coloanele matricei
A
Un−1·…·U2U1A=R (6.94)
6.5.MetodeleQR¸ siLR 171
undeU1elimin˘ a elementele subdiagonale de pe coloana 1, U2cele de pe coloana
2 ¸ si a¸ sa mai departe. Dac˘ a Aeste de form˘ a general˘ a, cea mai eficient˘ a me-
tod˘ a de construire a matricelor Ujj∈1,n−1 este prin aplicarea reflectorilor
elementari. Matricea Qeste
Q=U1U2·…·Un−1, (6.95)
unde am t ¸inut cont c˘ a Uj=U∗
jpentru un reflector elementar.
Algoritmul de factorizare construie¸ ste ˆ ın mod explicit matricea R.Nu este
nevoie de construirea explicit˘ a a matricei Q.Aceasta se memoreaz˘ a prin succe-
siunea de vectori vjdin definirea reflectorilor Uj
Uj=I−vjv∗
j. (6.96)
Tot calculul poate fi organizat astfel ˆ ıncˆ at vectorii vjs˘ a fie p˘ astrat ¸i ˆ ın locat ¸iile
din matricea Aˆ ın care s-au creat elemente nule. Costul unei factoriz˘ ari este de
O(n3) operat ¸ii pentru o matrice Aoarecare.
6.5.3 Formularea metodelor QR¸ siLR
Suntem acum preg˘ atit ¸i pentru prezentarea metodelor QR¸ siLRde calcul a va-
lorilor proprii. ˆIncepem cu metoda QR. Am v˘ azut c˘ a odat˘ a cunoscut˘ a o valoare
proprie putem reduce ordinul problemei prin aplicarea tehnicii de deflat ¸ie. O
idee imediat˘ a 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 a¸ sa mai departe. S˘ a rescriem metoda puterii
folosind notat ¸ii ce sugereaz˘ a generalizarea procedeului
z(s)=Aq(s−1)
q(s)=z(s)//vextenddouble/vextenddoublez(s)/vextenddouble/vextenddouble
2
λ=/bracketleftbig
q(s)/bracketrightbig∗Aq(s),(6.97)
pentrus= 1,2,… . Algoritmul porne¸ ste cu un vector init ¸ial de norm˘ a egal˘ a
cu unitatea q(0), ¸ si efectueaz˘ a normalizarea vectorului z(s)(aducerea la norma
egal cu unitatea) la fiecare iterat ¸ie. Valoarea proprie este estimat˘ a prin raportul
Rayleigh ( 6.11), t ¸inˆ andu-se cont c˘ a q(s)este normalizat .
S˘ a ˆ ıncerc˘ am acum s˘ a aplic˘ am metoda puterii asupra mai multor vectori
init ¸iali
Q(0)=/bracketleftBig
q(0)
1q(0)
2… q(0)
n/bracketrightBig
(6.98)
ˆ ın sperant ¸a obt ¸inerii mai multor valori proprii simultan .ˆIn acest caz va trebui ca
matriceaQ(0)s˘ a fie ortogonal˘ a pentru a asigura liniar independent ¸a vectorilor
de start. Algoritmul devine
Z(s)=AQ(s−1)
Q(s)R(s)=Z(s)
T(s)=/bracketleftbig
Q(s)/bracketrightbig∗AQ(s).. (6.99)
172 6.Vectori s ¸i valori proprii
Modificarea esent ¸ial˘ a este ˆ ınlocuirea operat ¸iei de normalizare din ( 6.97) cu o
descompunere ortogonal˘ a de tip QR. Se asigur˘ a astfel independent ¸a liniar˘ a
a vectorilor asupra c˘ arora va act ¸iona matricea Aˆ ın iterat ¸ia urm˘ atoare, ceea
ce ajut˘ a la accelerarea convergent ¸ei. Valorile proprii apar acum pe diagonala
matriceiT(s)ce nu este altceva decˆ at generalizarea raportului Rayleigh.
Nu vom intra ˆ ın toate detaliile tehnice asupra convergent ¸ei procedeului de
mai sus. Putem ˆ ıns˘ a afirma c˘ a ¸ sirul de matrice T(s)tinde c˘ atre o matrice cvasi-
triunghiular˘ a ce are acelea¸ si valori proprii ca ¸ si A. O matrice cvasitriunghiular˘ a
difer˘ a de una triunghiular˘ a doar prin blocuri izolate de dimensiune 2 ×2 grupate
ˆ ın jurul diagonalei principale. Aceste blocuri sunt de regul˘ a asociate valorilor
proprii complexe.
S˘ a vedem leg˘ atura dintre T(s)¸ siT(s−1).ˆIncepem cu T(s−1)
T(s−1)=/bracketleftBig
Q(s−1)/bracketrightBig∗
AQ(s−1)=/bracketleftBig
Q(s−1)/bracketrightBig∗
Z(s)=/bracketleftBig
Q(s−1)/bracketrightBig∗
Q(s)R(s).(6.100)
Cum un produs de matrice unitare este tot o matrice unitar˘ a, am obt ¸inut
T(s−1)=Q(s−1)
TR(s−1)
T cuQ(s−1)
T≡/bracketleftBig
Q(s−1)/bracketrightBig∗
Q(s), R(s−1)
T≡R(s).(6.101)
Pe de alt˘ a parte din Q(s)R(s)=Z(s)=AQ(s−1)rezult˘ aR(s)=/bracketleftbig
Q(s)/bracketrightbig∗AQ(s−1)
¸ si putem scrie T(s)ca
T(s)=/bracketleftBig
Q(s)/bracketrightBig∗
AQ(s)=/bracketleftBig
Q(s)/bracketrightBig∗
A/bracketleftBig
Q(s−1)/bracketrightBig∗
Q(s−1)Q(s)=R(s−1)
TQ(s−1)
T.
(6.102)
Rezult˘ a urm˘ atoarea regul˘ a de evaluare a matricei T(s): se calculeaz˘ a factorizarea
QRa matriceiT(s−1)¸ si se inverseaz˘ a factorii
Q(s−1)R(s−1)=T(s−1)⇒T(s)=R(s−1)Q(s−1). (6.103)
ˆIn metodaLRcalculele se desf˘ a¸ soar˘ a asem˘ an˘ ator
L(s−1)R(s−1)=T(s−1)⇒T(s)=L(s−1)R(s−1). (6.104)
Dezavantajul metodei LRconst˘ a ˆ ın necesitatea efectu˘ arii de operat ¸ii de pivo-
tare pentru a preveni ˆ ımp˘ art ¸irile la zero sau numere foarte mici ˆ ın modul ¸ si o
convergent ¸˘ a mai lent˘ a comparativ cu metoda QR.
6.5.4 Reducerea num˘ arului de operat ¸ii la factorizare
Elementele ¸ sirului T(s)din ( 6.103 ) pot doar converge c˘ atre o matrice cvasitri-
unghiular˘ a, dar pe parcursul iterat ¸iilor au o form˘ a oarecare. Aceasta face ca
operat ¸ia de factorizare QRs˘ a fie excesiv de costisitoare. Este convenabil ca
iterat ¸iileQRs˘ a se efectueze asupra unei matrice ce are acelea¸ si valori proprii ca
6.5.MetodeleQR¸ siLR 173
¸ siA,dar s˘ a prezinte o form˘ a ce economise¸ ste din operat ¸iile aritmetice necesare
factoriz˘ arii. O astfel de form˘ a este
H=
h1,1h1,2h1,3… h 1,n−1h1,n
h2,1h2,2h2,3… h 2,n−1h2,n
0h3,2h3,3… h 3,n−1h3,n
0 0 h4,3… h 4,n−1h4,n
………………
0 0 0 … hn,n−1hn,n
denumit˘ a form˘ a Hessenberg superioar˘ a . Analog matricea transpus˘ a se spune
c˘ a este de form˘ a Hessenberg inferioar˘ a . Prin form˘ a Hessenberg, f˘ ar˘ a vreun alt
calificativ, vom ˆ ınt ¸elege forma superioar˘ a.
Algoritmul QRdevine ˆ ın acest caz
Q(s−1)R(s−1)=H(s−1)⇒H(s)=R(s−1)Q(s−1). (6.105)
Forma Hessenberg se p˘ astreaz˘ a la inversarea factorilor deoarece Q(s−1)se poate
construi astfel ˆ ıncˆ at s˘ a fie o matrice Hessenberg. Odat˘ a determinat˘ a forma
Hessenberg init ¸ial˘ a, fiecare iterat ¸ie QRva necesita O(n2) operat ¸ii aritmetice.
Aducerea la forma Hessenberg prin matrice cu multiplicatori.
ˆIn cadrul algoritmului LR, aducerea la forma Hessenberg se efectueaz˘ a prin
matrice cu multiplicatori, care elimin˘ a elementele ajkcuj >k + 1 de pe fiecare
coloan˘ a, ˆ ıncepˆ and cu prima. Spre exemplu, pentru eliminarea elementelor de
pe coloana 1, matricea de multiplicatori este
M1=
1 0 0 … 0
0 1 0 … 0
0−m3,21… 0
……………
0−mn,20… 1
, mi,2=ai,1/a2,1, (6.106)
pentrui∈3,n. Se poate remarca similitudinea cu matriciele de la eliminarea
gaussian˘ a. Matricea se poate scrie ca
M1=I−m2eT
2, (6.107)
m2=/bracketleftbig
0 0m3,2… mn,2/bracketrightbigT, e 2=/bracketleftbig
0 1 0… 0/bracketrightbigT.(6.108)
Inversa este
M−1
1=
1 0 0 … 0
0 1 0 … 0
0m3,21… 0
……………
0mn,20… 1
=I+m2eT
2, (6.109)
174 6.Vectori s ¸i valori proprii
ceea ce se poate verifica prin calcul direct
M1M−1
1 = (I−m2eT
2)(I+m2eT
2) (6.110)
=I−m2eT
2+m2eT
2−m2/parenleftbig
eT
2m2/parenrightbig
eT
2=I. (6.111)
MatriceaM−1
1va ˆ ınmult ¸i, la dreapta, matricea A, pentru ca transformarea s˘ a
fie similar˘ a ¸ si valorile proprii s˘ a nu se modifice. Se observ˘ a c˘ a zerourile obt ¸inute
ˆ ın coloana ide matricea M1Ase ment ¸in ¸ si ˆ ın matricea similar˘ a M1AM−1
1,
deoarece prima coloan˘ a din matricea M−1
1este identic˘ a cu prima coloan˘ a din
matricea unitate. Acest lucru a fost posibil tocmai pentru c˘ a matricea M1
are coloana multiplicatorilor deplasat˘ a cu un indice mai spre dreapta fat ¸˘ a de
matricea de eliminare gaussian˘ a. Rezult˘ a c˘ a orice matrice Apoate fi adus˘ a la
forma Hessenberg prin transform˘ ari similare (eventual folosind permut˘ ari) ˆ ın
num˘ ar finit.
Dac˘ a elementul a2,1este nul, un alt element ai,2i∈3,npoate fi adus ˆ ın
pozit ¸ia (1,2), prin permut˘ ari de linii. Evident, dac˘ a tot ¸i coeficient ¸ii ai,1= 0,
i∈2,n, rezult˘ a c˘ a a1,1este valoare proprie ¸ si procedeul se va aplica matricei
r˘ amase, de dimensiuni ( n−1)×(n−1). Permut˘ arile de linii sau coloane sunt
recomandate chiar dac˘ a a2,1/negationslash= 0, pentru obt ¸inerea de pivot part ¸ial sau total.
Inversa matricei de permutare a liniilor sau coloanelor k¸ si 1 este tot Pk1(P−1
k1=
Pk1). Regula este urm˘ atoarea: dac˘ a am permuta liniile k¸ si 1, este necesar
pentru ca transformarea s˘ a fie similar˘ a, s˘ a permut˘ am ¸ si coloanele de aceea¸ si
indici. Num˘ arul de operat ¸ii pentru aducerea la forma Hessenberg f˘ ar˘ a permut˘ ari
este aproximativ 2 n3/3−5n2/2.
Aducerea la forma Hessenberg prin transform˘ ari similare unitare.
MatriceaAse poate aduce la forma Hessenberg prin transform˘ ari similare ce
folosesc reflectori sau rotat ¸ii elementare. Aceste metode au avantajul unei
condit ¸ion˘ ari optime, de¸ si num˘ arul de operat ¸ii este mai mare decˆ at ˆ ın cazul fo-
losirii multiplicatorilor. ˆIn cazul general este mai eficient˘ a folosirea reflectorilor
¸ si nu vom descrie decˆ at acest procedeu.
Ideea de baz˘ a este aceea¸ si ca la folosirea multiplicatorilor: se aduc rˆ and pe
rˆ and coloanele matricei Ala forma Hessenberg. Dup˘ a etapa s−1 coloanele 1,
2,…,s−1 sunt ˆ ın form˘ a Hessenberg iar matricea are forma
A(s−1)=
a(s−1)
11a(s−1)
12… a(s−1)
1,s−1a(s−1)
1,s… a(s−1)
1,n
a(s−1)
21a(s−1)
22… a(s−1)
2,s−1a(s−1)
2,s… a(s−1)
2,n
…………………
0 0 … a(s−1)
s,s−1a(s−1)
s,s… a(s−1)
s,n
0 0 … 0a(s−1)
s+1,s… a(s−1)
s+1,n
…………………
0 0 … 0a(s−1)
n,s… a(s−1)
n,n
.(6.112)
6.5.MetodeleQR¸ siLR 175
S˘ a determin˘ am modul ˆ ın care aducem coloana sla forma Hessenberg. Este
comod s˘ a introducem o transcriere pe blocuri a matricei,
A(s−1)=/bracketleftbiggBCD
E/bracketrightbigg
, (6.113)
undeB,C ,D,Esunt submatrice din A(s−1).Submatricea Beste de dimensiuni
s×s¸ si este de form˘ a Hessenberg. Submatricea Ceste de dimensiuni ( n−s)×
(n−s). Submatricea Deste de dimensiuni ( n−s)×s¸ si are elemente nenule
doar pe ultima coloan˘ a. Fie daceast˘ a coloan˘ a,
d=/bracketleftBig
a(s−1)
s+1,sa(s−1)
s+2,s… a(s−1)
n,s/bracketrightBigT
. (6.114)
Submatricea Eeste de dimensiuni ( n−s)×(n−s). Transformarea unitar˘ a
trebuie s˘ a lase neafectat˘ a partea deja adus˘ a la forma Hessenberg, B. Forma
matricei de transformare din etapa seste
Us=/bracketleftbiggI00
U/bracketrightbigg
(6.115)
deoarece calculul produsului U∗
sA(s−1)Usconduce la
/bracketleftbiggI00
U∗/bracketrightbigg/bracketleftbiggBCD
E/bracketrightbigg/bracketleftbiggI00
U/bracketrightbigg
=/bracketleftbiggI00
U∗/bracketrightbigg/bracketleftbiggBCUD
EU/bracketrightbigg
(6.116)
=/bracketleftbiggBCUU
∗DU∗EU/bracketrightbigg
. (6.117)
Pentru un reflector elementar U∗=U.Deducem condit ¸ia de obt ¸inere a formei
Hessenberg ˆ ın etapa s
Ud=βe(1), (6.118)
cue(1)= (1,0,… , 0)T, un vector unitar cu n−scomponente. Aceasta este si-
milar˘ a problemei ( 6.80), iar interpretarea geometric˘ a a reflectorului Householder
ne furnizeaz˘ a solut ¸ia
U=I−vv∗, v =a(d−βe(1)), (6.119)
cuβ=−(d1/|d1|)/bardbld/bardbl2,a=√
2/vextenddouble/vextenddoubled−βe(1)/vextenddouble/vextenddouble
2,d1=a(s−1)
s+1,s.
6.5.5 Accelerarea metodelor QR¸ siLR
Aplicarea factoriz˘ arii QRsauLRasupra formei Hessenberg a unei matrice re-
duce num˘ arul de operat ¸ii aritmetice efectuate ˆ ıntr-o iterat ¸ie. O a doua cale de
reducere a timpului de calcul este reducerea num˘ arului de iterat ¸ii. Iterat ¸iile QR
¸ siLRtind s˘ a aduc˘ a forma Hessenberg la o form˘ a cvasi-triunghiular˘ a. Pentru a
reduce num˘ arul de iterat ¸ii necesare atingerii acestei forme se pot folosi tehnici
176 6.Vectori s ¸i valori proprii
de accelerare sugerate de modific˘ arile efectuate asupra metodei puterii pentru
a obt ¸ine metoda puterii inverse sau cea a deplas˘ arii.
Cea mai utilizat˘ a tehnic˘ a este cea a deplas˘ arii originii . Se urm˘ are¸ ste ameli-
orarea convergent ¸ei atunci cˆ and apare un bloc 2 ×2 pe diagonal˘ a. Relat ¸iile de
iterareQRdevin
H(s)−ksI=Q(s)R(s)(6.120)
H(s+1)−ksI=R(s)Q(s)(6.121)
undekseste deplasarea . Deplasarea se poate alege ca fiind ultimul element de
pe diagonal˘ a, h(s)
n,nsau r˘ ad˘ acina cea mai apropriat˘ a ˆ ın modul de h(s)
n,na ecuat ¸iei
/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingleh(s)
n−1,n−1−k h(s)
n−1,n
h(s)
n,n−1h(s)
n,n−k/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle= 0. (6.122)
Odat˘ a asigurat˘ a izolarea unei valori proprii se trece la deflat ¸ia matricei.
6.5.6 Calculul vectorilor proprii
Calculul vectorilor proprii pentru o matrice cvasisuperior triunghiular˘ a se face
u¸ sor, valorile proprii fiind cunoscute. Fie matricea superior triunghiular˘ a de
dimensiuni 5×5
Hs=
λ1a1b1c1d1
0λ2b2c2d2
0 0λ3c3d3
0 0 0 λ4d4
0 0 0 0 λ5
(6.123)
form˘ a la care presupunem c˘ a s-a ajuns dup˘ a un num˘ ar sde iterat ¸ii. Not˘ am mai
departe cu yun vector propriu oarecare al matricei care satisface relat ¸ia
Hsy=λiy, i∈1,5, y= (y1,y2,y3,y4,y5)T. (6.124)
Pentru componentele yi, se obt ¸ine sistemul
y5(λi−λ5) = 0
y4(λi−λ4) =d4y5
y3(λi−λ3) =d3y5+c3y4 (6.125)
y2(λi−λ2) =d2y5+c2y4+b2y3
y1(λi−λ1) =d1y5+c1y4+b1y3+a1y2
Sistemul ( 6.125 ) poate determina componentele yi, cel mult pˆ an˘ a la o constant˘ a
multiplicativ˘ a. Acest sistem este simplu, principala dificultate nu este legat˘ a de
g˘ asirea necunoscutelor ci mai degrab˘ a de discernarea solut ¸iilor care apar.
6.5.MetodeleQR¸ siLR 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 ) rezult˘ a
y2=y3=y4=y5= 0, (6.126)
ˆ ın timp ce ultima ecuat ¸ie este identic verificat˘ a. Concluzia este: y1poate lua
orice valoare diferit˘ a de zero (vectorii proprii sunt prin definit ¸ie nenuli). Luˆ and
y1= 1 se poate scrie vectorul propriu corespunz˘ ator valorii λ1
y(1)= (1,0,0,0,0)T(6.127)
Pentrui= 2 (λi=λ2), din ( 6.125 ) se obt ¸ine
y3=y4=y5= 0, y1(λ2−λ1) =a1y2, y2/negationslash= 0, (6.128)
vectorul propriu corespunz˘ ator fiind
y(2)= (y1,1,0,0,0)T, y1=a1/(λ2−λ1) (6.129)
¸ si a¸ sa mai departe.
Cazul valorilor proprii multiple.
Fieλ1=λ2/negationslash=λ3/negationslash=λ4/negationslash=λ5. Din primele 3 ecuat ¸ii ( 6.125 ) se obt ¸ine
y3=y4=y5= 0 (6.130)
iar din ultimele dou˘ a
0·y2= 0,0·y1=a1y2. (6.131)
Cele dou˘ a egalit˘ at ¸i ( 6.131 ) conduc la concluzii diferite, ˆ ın funct ¸ie de coeficientul
a1, ¸ si anume
a1= 0⇒y1,y2arbitrari, nu tot ¸i nuli. (6.132)
Cuy1,y2arbitrari ¸ siy3,y4,y5nuli, se pot obt ¸ine doi vectori liniar independent ¸i,
corespunz˘ ator valorilor proprii egale, λ1,λ2
y(1)= (1,0,0,0,0)T, y(2)= (0,1,0,0,0)T, a1= 0 . (6.133)
Pentrua1/negationslash= 0 din ( 6.131 ) se obt ¸ine
y2= 0, y1/negationslash= 0 (altfel arbitrar). (6.134)
Prin urmare, dac˘ a a1/negationslash= 0 nu se pot obt ¸ine doi vectori liniar independent ¸i
corespunz˘ ator valorilor proprii egale λ1,λ2. Rezult˘ a c˘ a sistemul de vectori
proprii ai matricei Hs(¸ si deci nici ai matricei init ¸iale A, similar˘ aHs) nu pot
forma o baz˘ a. Se spune c˘ a matricea este defectiv˘ a . Este de a¸ steptat c˘ a, ˆ ın
178 6.Vectori s ¸i valori proprii
urma erorilor de calcul numeric, natura vectorilor proprii s˘ a ap˘ ar˘ a modificat˘ a,
mai ales cˆ and valorile proprii sunt multiple sau foarte apropriate. Din acest
punct de vedere, trebuie spus c˘ a procedeul QReste cel mai stabil, furnizˆ and
rezultatele cele mai apropriate de situat ¸ia real˘ a. Se observ˘ a c˘ a, determinarea
vectorilor proprii se poate face suficient de comod din forma triunghiular˘ a, f˘ ar˘ a a
fi necesar˘ a reducerea la forma canonic˘ a Jordan (care este o matrice triunghiular˘ a
mai particular˘ a). Aducerea la forma canonic˘ a Jordan nu este recomandat˘ a,
aceast˘ a operat ¸ie putˆ and introduce erori mari datorit˘ a instabilit˘ at ¸ii numerice.
De fapt, ˆ ın general, aducerea unei matrice (superior) triunghiulare la forma
canonic˘ a Jordan prin transform˘ ari unitare sau chiar prin transform˘ ari simple
stabilizate (cu pivot) nu este garantat˘ a.
Odat˘ a determinat ¸i vectorii proprii yai matricei triunghiulare, vectorii proprii
xai matricei init ¸iale Ase deduc utilizˆ and matricele de postmultiplicare aplicate
luiA.
Exemplu . S˘ a se aduc˘ a la forma superior Hessenberg, prin transform˘ ari similare
matricea
A=
12−20 41
9−15−63
20 50 35
.
S˘ a se calculeze apoi factorizarea LRa matricei Hessenberg obt ¸inute .
Rezolvare . Vom folosi transform˘ ari de eliminare. Avem de eliminat un singur
elementa31= 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 similar˘ a
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 form˘ a Hessenberg.
Pentru descompunerea LRa matriceiH, trebuie eliminate elementele h21= 20 ¸ si
h32=−765/8. Deoarece h11= 12 nu este pivot, se permut˘ a liniile 1 ¸ si 2 ¸ si se obt ¸ine
H1=P12H=
20 115/2 50
12 32−20
0−765/8−75/2
.
6.5.MetodeleQR¸ siLR 179
Rezult˘ a multiplicatorul l21=−h21/h11=−3/5 ¸ si matricea de multiplicare la stˆ anga
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) permut˘ am 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 ¸inˆ and cont c˘ a P23P23=Ise deduce
L2(P23L1P23)P23P12H=R
unde matricea P23L1P23similar˘ a 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
.
Rezult˘ a c˘ a s-a obt ¸inut o descompunere LRpentru matricea Hpermutat˘ a
P23P12H=LR, L = (L2L11)−1=
1 0 0
0 1 0
3/5 4/153 1
ˆ ın timp ce matricea Hare descompunerea
H=L/primeR, L/prime=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 descre¸ stere, ce determin˘ a
minimul unei funct ¸ii Udenvariabile reale care se nume¸ ste 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 g˘ asirii maximului revine la minimizarea
funct ¸iei cu semn schimbat. Metodele de descre¸ stere au convergent ¸˘ a global˘ a ,
adic˘ a permit g˘ asirea solut ¸iei chiar dac˘ a punctul de plecare este ˆ ındep˘ artat de
solut ¸ie.
Metodele de optimizare au un domeniu de aplicabilitate foarte larg. Pe de o
parte, majoritatea fenomenelor naturii sau economice reprezint˘ a compromisuri
ˆ ıntre cauze contradictorii, ¸ si ca atare multe din problemele ingineriei, economiei,
matematicii, statisticii, medicinei, dar mai cu seam˘ a procesele decizionale se pot
formula ca probleme de optimizare. Pe de alt˘ a parte, majoritatea metodelor
numerice pot fi reformulate ca probleme de optimizare. Aceste reformul˘ ari duc
uneori la obt ¸inerea unor metode performante, cum ar fi cele pentru rezolvarea
sistemelor de ecuat ¸ii liniare, pe care le prezent˘ amˆ ın 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 singur˘ a variabil˘ a.
Un punct de extrem (minim saumaxim ) poate fi global (valoarea extrem˘ a
din tot domeniul), sau local, (valoarea extrem˘ a dintr-un subdomeniu), poate fi
simplu saumultiplu (fig. 7.1).ˆIn general, intereseaz˘ a minimul global, care se
poate obt ¸ine: ( a) repetˆ and calculul pentru puncte de start diferite ¸ si alegˆ and
apoi punctul ˆ ın care valoarea funct ¸iei Ueste cea mai mic˘ a; ( b) dup˘ a obt ¸inerea
minimului local, se d˘ a o perturbat ¸ie ˆ ıntr-o direct ¸ie oarecare; dac˘ a algoritmul
revine ˆ ın acela¸ si punct, atunci acesta este un candidat serios pentru minim
global.
Pentru ca un punct x∗s˘ a fie un minim local unic ˆ ın cazul unei probleme
de optimizare f˘ ar˘ a restrict ¸ii, trebuie ˆ ındeplinite condit ¸iile de optimalitate , care
sunt condit ¸ii suficiente
∇U(x∗) = 0, G(x∗)≡∇2U(x∗)>0 , (7.1)
adic˘ a ˆ ın punctul de minim gradientul funct ¸iei scop trebuie s˘ a fie nul iar matricea
derivatelor part ¸iale de ordinul al doilea, numit˘ a matrice hessian , trebuie s˘ a fie
pozitiv definit˘ a1.
Clasificarea metodelor de optimizare poate fi f˘ acut˘ a dup˘ a mai multe criterii.
Din punct de vedere al restrict ¸iilor impuse variabilelor, avem probleme de opti-
mizare f˘ ar˘ a restrict ¸ii ¸ sicu restrict ¸ii . Dup˘ a felul funct ¸iei scop, avem probleme de
optimizare liniare , ˆ ın care atˆ at funct ¸ia cˆ at ¸ si restrict ¸iile sunt liniare ¸ si probleme
de optimizare neliniare . Dup˘ a efortul de calcul al derivatelor, avem metode
de tip Newton la care se calculeaz˘ a matricea hessian (care cont ¸ine derivatele
part ¸iale de ordinul al doilea) ¸ si vectorul gradient (derivatele de ordinul ˆ ıntˆ ai),
metode cvasi-Newton ¸ si metode de gradient ¸i conjugat ¸i , la care se calculeaz˘ a
numai derivatele part ¸iale de ordinul ˆ ıntˆ ai, ¸ si metode la care nu se calculeaz˘ a
derivate part ¸iale.
1O matrice Gse nume¸ ste pozitiv definit˘ a , dac˘ a oricare ar fi vectorul nenul y, are loc
inegalitatea yTGy> 0.ˆIn cazul unidimensional ( n= 1 ) ˆ ın locul matricei Gavem derivata a
doua, care, dac˘ a este pozitiv˘ a, atunci graficul funct ¸iei “t ¸ine ap˘ a”, iar funct ¸ia are un minim.
7.1.Minimizarea ˆ ın lungul unei direct ¸ii 183
Metodele de optimizare sunt metode iterative. Valoarea aproximativ˘ a punc-
tului unde funct ¸ia Uia cea mai mic˘ a valoare se calculeaz˘ a iterativ cu formula
xk+1=xk+αkpk, k= 1,2,… , (7.2)
undepkeste o direct ¸ie de descre¸ stere , iarαkun num˘ ar real pozitiv care se
determin˘ a astfel ˆ ıncˆ at U(xk+1)<U(xk). Pentru start este necesar un punct de
plecarex0∈Rn.
7.1 Minimizarea ˆ ın lungul unei direct ¸ii
Minimizareaˆ ın lungul unei direct ¸ii reprezint˘ a o etap˘ a a calculului minimului unei
funct ¸ii de mai multe variabile. Spre exemplu, scalarul αkdin relat ¸ia ( 7.2) poate
fi determinat ca o solut ¸ie a problemei de optimizare αk= min
α{U(xk+αpk)},
unde vectorii xk¸ sipksunt cunoscut ¸i, iar funct ¸ia Ur˘ amˆ ane de o sigur˘ a variabil˘ a,
U=f(α).
Fief:R→Rfunct ¸ia real˘ a de o variabil˘ a real˘ a al c˘ arei minim dorim s˘ a-l
determin˘ am. ˆIn cazul ˆ ın care derivata f/primeeste u¸ sor de determinat analitic, pro-
blema determin˘ arii extremului funct ¸iei feste echivalent˘ a cu rezolvarea ecuat ¸iei
f/prime(x) = 0. Se verific˘ a apoi care din solut ¸iile astfel determinate corespund unui
minim al funct ¸iei f, calculˆ and o valoare ˆ ın imediata vecin˘ atate a extremului ¸ si
comparˆ and-o cu valoarea funct ¸iei ˆ ın punctul de extrem. Atunci cˆ and minimi-
zarea unidirect ¸ional˘ a reprezint˘ a o etap˘ a a calculului minimului unei funct ¸ii de
mai multe variabile, derivata f/primeeste ˆ ın general imposibil de determinat analitic.
Determinarea minimului funct ¸iei fcuprinde dou˘ a etape: ( a)localizarea mi-
nimului , etap˘ a ˆ ın care se obt ¸ine un interval ( a,b) care cont ¸ine minimul ¸ si ( b)
reducerea lungimii intervalului care cont ¸ine minimul, pˆ an˘ a cˆ and lungimea aces-
tuia devine suficient de mic˘ a, adic˘ a |b−a|< e, cueimpus. Se poate folosi ¸ si
o condit ¸ie de lungime relativ˘ a a intervalului de forma |b−a|< ε|a|, avˆ and ˆ ın
vedere faptul c˘ a ε≥√εm, undeεmreprezint˘ a distant ¸a relativ˘ a minim˘ a ˆ ıntre
dou˘ a numere reprezentabile, ¸ si care este de acela¸ si ordin cu epsilon ma¸ sin˘ a εM
(vezi capitolul 4).
Exemplu . Pentru a verifica afirmat ¸ia de mai sus, aproxim˘ am funct ¸ia ffolosind
seria Taylor ˆ ın jurul punctului adin vecin˘ atatea punctului de minim
f(b)∼=f(a) +f/prime/prime(a)(b−a)2/2 . (7.3)
S-au neglijat termenii de ordinul trei ¸ si mai mare ¸ si s-a t ¸inut cont c˘ a ˆ ın vecin˘ atatea
minimuluif/prime≈0. Valorile a¸ sibnu pot fi luate oricˆ at de apropiate decˆ at dac˘ a este
ˆ ındeplinit˘ a condit ¸ia
|f(b)−f(a)|>εm|f(a)|, (7.4)
astfel ˆ ıncˆ at reprezent˘ arile numerelor f(a) ¸ sif(b) s˘ a fie diferite. Rezult˘ a
|b−a|∼=/radicalBigg
2εm|f(a)|
f/prime/prime(a)=|a|√εm/radicalBigg
2|f(a)|
a2f/prime/prime(a). (7.5)
184 7.Metode de optimizare
Figura 7.2: Localizarea minimului pentru o funct ¸ie de o variabil˘ a.
Dac˘ a/radicalbig
2|f(a)|/(a2f/prime/prime(a))∼1, atunci|b−a|∼|a|√εm, iar condit ¸ia pe care o impunem
|b−a|<ε|a|duce la limitarea ε>√εm. Spre exemplu, dac˘ a εm= 10−8, determinarea
minimului o putem face cel mult pˆ an˘ a cˆ and lungimea intervalului ce cont ¸ine minimul
devine mai mic˘ adecˆ at√
10−8= 10−4.
Localizarea minimului.
Pentru localizarea minimului este nevoie de cel put ¸in trei puncte (fig. 7.2),
spre deosebire de localizarea solut ¸iei unei ecuat ¸ii f(x) = 0, unde sunt necesare
numai dou˘ a puncte care ˆ ındeplinesc condit ¸ia f(a)·f(b)<0. Avˆ and trei puncte
a<b<c , minimulxmeste cont ¸inut de intervalul ( a,c) dac˘ af(a)>f(b)<f(c).
Fiind date dou˘ a valori a<b pentru care f(a)>f(b), localizarea minimului se
poate face dup˘ a urm˘ atorul algoritm:
Date:a<b, f (a)>f(b)
fa←f(a);fb←f(b)
Repet˘ a
c←b+k(b−a), fc←f(c)
dac˘ afc>fb/bracketleftbigg
atuncixm∈(a,c),stop
altfela=b, b=c, fa=fb, fb=fc.
Pasul de c˘ autare nu trebuie s˘ a fie constant, ba dimpotriv˘ a, este avantajos ca el
s˘ a creasc˘ a de la o etap˘ a la alta astfel ˆ ıncˆ at localizarea minimului s˘ a fie f˘ acut˘ a
cˆ at mai repede: hk+1=k·hk, cuk>1.
Algoritmul prezentat se poate ˆ ımbun˘ at˘ at ¸i folosind o interpolare parabolic˘ a.
Prin (a,fa), (b,fb) ¸ si (c,fc) se duce o parabol˘ a ¸ si se calculeaz˘ a punctul de minim
ual acesteia. Dac˘ a u>c , se recomand˘ a ca lungimea u−cs˘ a nu fie prea mare,
spre exemplu u−c <50(c−b). Dac˘ au∈(b,c) ¸ sif(b)> f(u)< f(c), atunci
7.1.Minimizarea ˆ ın lungul unei direct ¸ii 185
minimul funct ¸iei feste ˆ ıntreb¸ sic.ˆIn caz contrar, avem de a face cu un e¸ sec al
extrapol˘ arii parabolice.
Determinarea minimului.
Etapa de determinare efectiv˘ a a minimului xm, se poate face fie prin reducerea
lungimii intervalului care-l cont ¸ine, fie aproximˆ and funct ¸ia f(x) cu o funct ¸ie
mai simpl˘ a g(x) pentru care minimul se poate determina pe cale analitic˘ a; spre
exemplu, prin cele trei puncte ( a,fa),(b,fb),(c,fc), se poate duce un polinom de
interpolare de gradul al doilea, al c˘ arui minim se calculeaz˘ a cu u¸ surint ¸˘ a. Prima
variant˘ a este sigur˘ a, dar are dezavantajul unei convergent ¸e slabe (liniare). A
doua variant˘ a converge ˆ ın general mult mai repede, dar exist˘ a ¸ si posibilitatea
ca punctul calculat ca minim al parabolei s˘ a ias˘ a 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;w1= 1−w
x0←a;x3←c;f0←f(a);f3←f(c)
dac˘ a|c−b|>|b−a|/bracketleftbigg
atuncix1←b;x2←b+w(c−b)
altfelx2←b;x1←b−w(b−a)
f1←f(x1);f2←f(x2)
cˆ at timp|x3−x0|>ε|x1+x2|
dac˘ af2<f1
atuncix0←x1;x1←x2;x2←w1x1+wx3
f0←f1;f1←f2;f2←f(x2)
altfelx3←x2;x2←x1;x1←w1x2+wx0
f3←f2;f2←f1;f1←f(x1)
dac˘ af1<f2/bracketleftbigg
atuncixmin←x1;fmin←f1
altfelxmin←x2;fmin←f2.
(7.6)
Fiea < b < c cufa> fb< fc, nu neap˘ arat b= (a+c)/2. Dac˘ a not˘ am
w= (b−a)/(c−a), atunci 1−w= (c−b)/(c−a). Se pune problema s˘ a alegem
punctulx∈(a,c) astfel ˆ ıncˆ at s˘ a mic¸ sor˘ am intervalul care cont ¸ine punctul de
minim. S˘ a presupunem ( b,c) acest intervalul de lungime mai mare unde vom
alege pex¸ si s˘ a not˘ am z= (x−b)/(c−a). Tripletul care cont ¸ine minimul
xmva fia < b < x , saub < 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 dezavantajoas˘ a posibilitate, lucru care se realizeaz˘ a impunˆ and ca cele dou˘ a
lungimi s˘ a fie egale: 1 −w=w+z, rezultˆ and z= 1−2w. Cum aceast˘ a
strategie a fost folosit˘ a ¸ si la determinarea punctului bla pasul anterior, adic˘ a
(x−b)/(c−b) = (b−a)/(c−a) =w, rezult˘ ax−b=w(c−b) =z(c−a), sau
186 7.Metode de optimizare
1−w= (c−b)/(c−a) =z/w. Rezult˘ a ˆ ın final ecuat ¸ia w2−3w+ 1 = 0, cu
solut ¸iaw= (3−√
5)/2∼=0.38197. Pozit ¸ia punctului xeste acum determinat˘ a,
x=b+w(c−b) =c−(1−w)(c−b), adic˘ a la distant ¸a 0 .38197(c−b) deb¸ 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 apropiat˘ a de 0 .5 de la
metoda bisect ¸iei.
Metoda sect ¸iunii de aur se bazeaz˘ a pe strategia “pesimist˘ a” a consider˘ arii
celei mai dezavantajoase situat ¸ii posibile, presupunˆ and c˘ a minimul se afl˘ a de
fiecare dat˘ a ˆ ın intervalul cel mai mare, astfel ˆ ıncˆ at se impune ca lungimile celor
dou˘ a intervale s˘ a fie egale rezultˆ and un algoritm lent dar sigur. Pentru m˘ arirea
vitezei de deplasare c˘ atre minim, se poate construi o parabol˘ a printre punctele
(a,fa), (b,fb) ¸ si (c,fc) ¸ si se calculeaz˘ a minimul acesteia (dar care poate s˘ a fie
la fel de bine ¸ si un maxim!)
x=b−12
(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 parabol˘ a cubic˘ a, caz ˆ ın care se
folose¸ ste ¸ si derivata funct ¸iei f.
Un algoritm foarte utilizat, care combin˘ a robustet ¸ea metoda sect ¸iunii de aur
cu viteza interpol˘ arii parabolice, este algoritmul lui Brent .Algoritmul folose¸ ste
¸ sase puncte a,b,u,v,t¸ six, nu neap˘ arat distincte, definite dup˘ a cum urmeaz˘ a: a
¸ sibdelimiteaz˘ a intervalul care cont ¸ine minimul, xeste punctul ˆ ın care funct ¸ia f
are cea mai mic˘ a valoare calculat˘ a pˆ an˘ a la un moment dat, teste valoarea
anterioar˘ a a lui x,veste valoarea anterioar˘ a a lui t, iarueste punctul ˆ ın
care s-a f˘ acut ultima evaluare a funct ¸iei f. Interpolarea parabolic˘ a se face
folosind punctele x,t¸ siv. Pentru ca rezultatul interpol˘ arii parabolice s˘ a fie
acceptat, trebuie impuse cˆ ateva m˘ asuri de sigurant ¸˘ a: ( a) minimul calculat s˘ a
fie ˆ ın intervalul ( a,b); (b) deplasarea fat ¸˘ a de ultima valoare care aproximeaz˘ a
minimul lui fs˘ a fie mai mic˘ a dacˆ at jum˘ atatea deplas˘ arii anterioare, pentru a
avea certitudinea c˘ a avem un proces convergent c˘ atre punctul minim; ( c) punctul
de minim calculat us˘ a nu fie foarte apropiat de o valoare anterior calculat˘ a p,
adic˘ a|u−p|>εp , cuε>0. Pentru oprirea iterat ¸iilor se folose¸ ste condit ¸ia
|b−a|≤e= 2|x|ε+εs, (7.8)
adic˘ a lungimea itervalului care cont ¸ine punctul de minim s˘ a fie mai mic˘ a decˆ at
o lungime impus˘ a e, iarεseste un num˘ ar mic (spre exemplu εs=ε) introdus
pentru a evita nedeterminarea care apare pentru cazul ˆ ın care punctul de minim
este chiarx= 0. Condit ¸ia ( 7.8) asigur˘ a precizia relativ˘ a de calcul pentru punctul
de minim dat˘ a de relat ¸ia
|x−xminexact|≤ε|x|+εs, (7.9)
unde reamintim c˘ a valoarea εnu trebuie s˘ a fie mai mic˘ a decˆ at r˘ ad˘ acina p˘ atrat˘ a
a lui epsilon ma¸ sin˘ a, adic˘ a ε≥√εM.
7.2.Metode de minimizare f˘ ar˘ a calculul derivatelor 187
Algoritmul cont ¸ine o prim˘ a parte destinat˘ a init ¸ializ˘ arii variabilelor
b←c;fb←fc;u←b;fu←fb;w= 0.381966;maxiter = 100
dac˘ afb<fa
atuncit←b;ft←fb;v←a;fv←fa
altfelt←a;ft←fa;v←b;fv←fb
iter←1;ud←0;δx=b−a;
x←0.5(b+a);fx←f(x);e←ε(2|x|+ 1)(7.10)
urmat˘ a de bucla iterativ˘ a principal˘ a
cˆ at timp (b−a)>e¸ siiter≤maxiter
xm←0.5(b+a)
dac˘ a|δx|>0.5udsauu−a<e saub−u<e
atunci
dac˘ ax>xmatunciδx←w(a−x) altfelδx←w(b−x)
ud←max(|b−x),|a−x|)
altfel
r←(x−t)(fx−fv);q←(x−v)(fx−ft);p←(x−v)q−(x−t)r
δx←−0.5p/(q−r);ud←|δx|
fu←f(u);u←x+δx
dac˘ afu≤fx
atunci
dac˘ au≥xatuncia←xaltfelb←x
v←t;t←x;x←u;fv←ft;ft←fx;fx←fu
altfel
dac˘ au<x atuncia←ualtfelb←u
dac˘ afu≤ftsaut=x
atunci
v←t;t←u;fv←ft;ft←fu
altfel
dac˘ afu≤fvsauv=xsauv=tatunciv←u;fv←fu
e←ε(2|x|+ 1);iter←iter+ 1
7.2 Metode de minimizare f˘ ar˘ a calculul deriva-
telor
Cea mai simpl˘ a modalitate de determinare a minimului unei funct ¸ii reale de mai
multe variabile reale, U:Rn→R, const˘ a ˆ ın minimizarea funct ¸iei Ude-a lungul
direct ¸iilor definite de versorii ei¸ si este dat˘ a de algoritmul ( 7.11). Algoritmul
(7.11) se repet˘ a pˆ an˘ a cˆ and se obt ¸ine minimul funct ¸iei U(se poate folosi o condit ¸ie
de forma ( 7.18)). Aceast˘ a metod˘ a, numit˘ a ¸ si metoda c˘ aut˘ arii unidimensionale ,
se dovede¸ ste ineficient˘ a pentru c˘ a, fie nu este capabil˘ a s˘ a ating˘ a minimul, fie
apropierea de acesta se face cu pa¸ si mici.
188 7.Metode de optimizare
Devine clar c˘ a pentru a obt ¸ine o metod˘ a mai eficient˘ a este necesar a g˘ asi
direct ¸ii de deplasare mai eficiente. Astfel de direct ¸ii sunt direct ¸iile conjugate .
Date:x0, U(x)
i= 1 :n/bracketleftbigg
xi= min
α∈R{U(xi−1+αei)}.(7.11)
Direct ¸ii conjugate.
Fie Φ forma p˘ atratic˘ a definit˘ a de
Φ (x) =U(xk) +n/summationdisplay
j=1(xj−xk
j)T∂U∂
xj/vextendsingle/vextendsingle/vextendsingle/vextendsingle
k+12
n/summationdisplay
j,p=1(xj−xk
j)T∂2U∂
xj∂xp/vextendsingle/vextendsingle/vextendsingle/vextendsingle
k(xp−xk
p) .
(7.12)
Forma ( 7.12) coincide cu primii trei termeni din dezvoltarea ˆ ın serie Taylor a
funct ¸ieiU(x) ˆ ın vecin˘ atatea punctului xk. Notˆ and cu gkgradientul funct ¸iei Uˆ ın
punctulxk¸ si cuGkmatricea hessian ˆ ın acela¸ si punct, expresia ( 7.12) se poate
scrie vectorial
Φ(x) =Uk+ (x−xk)Tgk+12
(x−xk)TGk(x−xk) , (7.13)
iar gradientul funct ¸iei Φ este
∇Φ =gk+Gk(x−xk) . (7.14)
Punctulxks-a obt ¸inut pentru valoarea αcare asigur˘ a un minim pentru
funct ¸ia Φ(xk−1+αpk−1), deci vectorul gkva fi perpendicular pe direct ¸ia pk−1,
adic˘ a (pk−1)T·gk= 0 (vezi 7.3). Deplasarea spre aproximat ¸ia urm˘ atoare xk+1a
minimului funct ¸iei Φ va trebui f˘ acut˘ a astfelˆ ıncˆ at s˘ a nu se piard˘ a cˆ a¸ stigul obt ¸inut
pe direct ¸ia pk−1. Pentru aceasta trebuie ca gradientul funct ¸iei ˆ ın punctul xk+1
s˘ a r˘ amˆ an˘ a perpendicular pe direct ¸ia pk−1, adic˘ a (gk+1)T·pk−1= 0. T ¸ inˆ and
cont de ( 7.14), putem scrie∇Φ =gk+1+Gk(x−xk+1). Sc˘ azˆ and cele dou˘ a
relat ¸ii ¸ si t ¸inˆ and cont c˘ a deplasarea din xkˆ ınxk+1s-a f˘ acut dup˘ a direct ¸ia pk,
rezult˘ a
gk+1=gk+G(xk+1−xk) =gk+αkGpk, (7.15)
undeαk∈R.ˆInmult ¸ind relat ¸ia ( 7.15) cu (pk−1)T, se obt ¸ine
(pk−1)Tgk+1= (pk−1)Tgk+αk(pk−1)TGpk(7.16)
¸ si cum (pk−1)Tgk+1= (pk−1)Tgk= 0, rezult˘ a condit ¸ia care trebuie ˆ ındeplinit˘ a
de direct ¸iile de deplasare
(pk−1)TGpk= 0 . (7.17)
7.2.Metode de minimizare f˘ ar˘ a calculul derivatelor 189
Dou˘ a direct ¸ii care ˆ ındeplinesc condit ¸ia ( 7.17) se numesc direct ¸ii G-conjugate .
Pentru o form˘ a p˘ atratic˘ a Φ, folosind deplas˘ ari pe direct ¸ii conjugate definite de
(7.17), minimul funct ¸iei este atins dup˘ a exact ndeplas˘ ari. Pentru aceasta, mai
trebuie ˆ ındeplinit˘ a o condit ¸ie necesar˘ a : la fiecare etap˘ a, minimizarea funct ¸iei Φ
dup˘ a direct ¸ia pktrebuie f˘ acut˘ a exact pentru a asigura condit ¸ia ( pk)T·gk= 0.
Pentru funct ¸ii care sunt diferite de o form˘ a p˘ atratic˘ a, minimul nu se atinge dup˘ a
ndeplas˘ ari, dar algoritmul are o convergent ¸˘ a bun˘ a.
R˘ amˆ ane problema determin˘ arii acestor direct ¸ii f˘ ar˘ a a folosi matricea hessian
G. Powell a fost primul care a g˘ asit o modalitate de a obt ¸ine un set de ndirect ¸ii
conjugate folosind urm˘ atorul algoritm:
Date:x0, U(x), ε, n ,maxiter
l= 1 : maxiter
ui=eiSe init ¸ializeaz˘ a direct ¸iile de c˘ autare dup˘ a fiecare n+ 1iterat ¸ii.
U0←U(x0)
k= 1 : (n+ 1)
i= 1 :n
xi←min
α∈R{U(xi−1+αui)}Se minimizeaz˘ a Uˆ ın lungul direct ¸iilor ui.
i= 1 : (n−1)
ui←ui+1
un←xn−x0 Se ˆ ınlocuie¸ ste ultima direct ¸ie a setului cu
direct ¸ia care trece prin punctele xn¸ six0.
x0←min
α∈R{U(xn+αun)} Se reinit ¸ializeaz˘ a punctul de start.
dac˘ a|U−U0|<ε(1 +|U|) atunci minim determinat stop.
Condit ¸ia de oprire folosit˘ a este de forma
|Uk+1−Uk|<ε(1 +|Uk+1|) , (7.18)
unde am v˘ azut la 7.1c˘ aε≥√εM,εMfiind epsilon ma¸ sin˘ a. Condit ¸ia ( 7.18)
asigur˘ a precizia relativ˘ a εpentru valoarea minimului U(x∗), dac˘ a acesta ia valori
dep˘ artate de zero. Dac˘ a valoarea minim˘ a este chiar zero sau foarte apropiat˘ a
de zero, atunci testul ( 7.18) asigur˘ a precizia absolut˘ a ε.
Powell a demostrat ˆ ınc˘ a din 1964 c˘ a, pentru o form˘ a p˘ atratic˘ a Φ ( 7.13),k
iterat ¸ii din algoritmul prezentat mai sus produc un set de direct ¸ii uidintre care
ultimeleksunt G-conjugate , cu condit ¸ia ca minimiz˘ arile ˆ ın lungul direct ¸iilor ui
s˘ a fie f˘ acute exact. O iterat ¸ie se obt ¸ine dup˘ a n+ 1 minimiz˘ ari dup˘ a direct ¸iile
date de vectorii ui, i=1,n, ¸ sixn−x0. Exist˘ a tendint ¸a ca direct ¸iile construite
s˘ a devin˘ a liniar dependente. Acest lucru poate fi evitat ( a) printr-o init ¸ializare
a direct ¸iilor ui=eila fiecaren+ 1 iterat ¸ii (a¸ sa cum s-a ¸ si procedat mai sus),
sau (b) ˆ ın loc de a renunt ¸a f˘ ar˘ a discern˘ amˆ ant la ultima direct ¸ie, se renunt ¸˘ a la
direct ¸ia care a produs cea mai mare descre¸ stere.
Revenind la relat ¸ia ( 7.13), s˘ a observ˘ am c˘ a pentru a defini o form˘ a p˘ atratic˘ a
este nevoie de un num˘ ar de parametrii de ordinul n2. Mai exact, matricea Gfiind
simetric˘ a, suma elementelor distincte este 1+2+ …+n=n(n+1)/2. Dac˘ a t ¸inem
cont ¸ si de cele ncomponente ale gradientului, rezult˘ a n(n+ 3)/2 parametrii
190 7.Metode de optimizare
ce definesc o form˘ a p˘ atratic˘ a. ˆIn timp ce matricea hessian Geste constant˘ a,
gradientul se modific˘ a, dar este nul ˆ ın punctul de minim. ˆIn concluzie, indiferent
de metoda pe care o vom folosi, cu sau f˘ ar˘ a calculul derivatelor funct ¸iei scop,
chiar pentru o form˘ a p˘ atratic˘ a, determinarea minimului ˆ ınainte de obt ¸inerea
celorO(n2) parametrii este cel mult ˆ ıntˆ ampl˘ atoare.
Diferent ¸a esent ¸ial˘ a ˆ ıntre metodele de optimizare const˘ a ˆ ın modul ˆ ın care se
calculeaz˘ a ace¸ sti parametrii. Spre exemplu, ˆ ın cazul unei forme p˘ atratice, fo-
losind matricea hessian, determinarea minimului revine la rezolvarea sistemului
de ecuat ¸ii liniare G·(x−x0) =−g0(vezi relat ¸ia 7.14). Evaluarea derivatelor,
cˆ and acest lucru este posibil f˘ ar˘ a dificult˘ at ¸i suplimentare, va constitui cea mai
eficient˘ a modalitate de obt ¸inere a informat ¸iei necesare determin˘ arii minimului.
7.3 Metoda gradientului
Este cea mai simpl˘ a metod˘ a de descre¸ stere care folose¸ ste derivatele funct ¸iei U.
Se bazeaz˘ a pe observat ¸ia c˘ a suprafet ¸ele cu n−1 dimensiuni de forma
U(x) =Ki= constant, i= 1,2,3,… , (7.19)
denumite ¸ si suprafet ¸e de nivel pentru funct ¸ia U(x),sunt astfel dispuse ˆ ıncˆ at
constantele Kiiau valori cresc˘ atoare cˆ and ne deplas˘ am pe direct ¸ia pozitiv˘ a a
vectorului gradient
g≡gradU≡∇U≡/parenleftbigg∂U∂
x1,∂U∂
x2,…,∂U∂
xn/parenrightbiggT
. (7.20)
Din cele trei notat ¸ii uzuale din ( 7.20), o vom prefera pe prima, adic˘ a ˆ ın mod
curent vom nota gradientul cu g.
Deoarecegeste variabil, deplasarea trebuie s˘ a fie suficient de mic˘ a pentru
ca plecˆ and dintr-un punct oarecare, s˘ a ˆ ıntˆ alnim suprafet ¸e de nivel superioare.
Dac˘ a, dimpotriv˘ a, ne deplas˘ am ˆ ın sens opus ( −g), vom ˆ ıntˆ alni constante de
nivelKicu valori descresc˘ atoare.
Exemplu . Fie funct ¸ia U=x2+y2. Suprafet ¸ele de nivel sunt cilindri coaxiali
cu axaOziar√Kireprezint˘ a razele cercurilor de intersect ¸ie cu planul xOy. Pe
de alt˘ a parte, gradientul este g≡∇U= 2(/vectorix+/vectorjy),/vectori¸ si/vectorjfiind versorii axelor Ox
¸ siOy. Se observ˘ a c˘ a ˆ ın orice punct gradientul este orientat ˆ ın sensul cre¸ sterii
razei, deci a cre¸ sterii constantelor Ki(fig. 7.3).
Pentru determinarea minimului funct ¸iei U,construim ¸ sirul de iterat ¸ii
xk+1=xk−αkgk, U(xk+1)<U(xk) , (7.21)
undexk= (xk
1,xk
2,…,xk
n)T, iar
gk=/parenleftbig
gk
1,gk
2,…,gk
n/parenrightbigT=/parenleftbigg∂U(xk)
∂x1,∂U(xk)
∂x2,…,∂U(xk)
∂xn/parenrightbiggT
(7.22)
7.3.Metoda gradientului 191
Figura 7.3: Gradientul funct ¸iei U=x2+y2.
este vectorul gradient ˆ ın xk¸ siαkun scalar pozitiv. Direct ¸ia pk=−gkeste
o direct ¸ie de descre¸ stere pentru funct ¸ia Uˆ ın punctul xk(este chiar direct ¸ia
demaxim˘ a descre¸ stere ˆ ın xk). Determinarea scalarului αkse face cu una
din metodele prezentate ˆ ın 7.1. Dac˘ a minimul αkse determin˘ a exact, atunci
gradientulgk+1este perpendicular pe gk, adic˘ a
xk+1=xk−α∗
kgk,(gk)T·gk+1= 0 . (7.23)
Ultima egalitate ( 7.23) exprim˘ a faptul c˘ a punctul ˆ ın care produsul scalar
al gradient ¸ilor gk¸ sigk+1este nul reprezint˘ a un punct de minim unidirect ¸ional .
ˆIntr-adev˘ ar, dac˘ a vectorul gkar avea o component˘ a diferit˘ a de zero dup˘ a direct ¸ia
−gk+1, atunci funct ¸ia Uar sc˘ adea ˆ ın continuare, ceea ce contrazice definit ¸ia
minimului.
Metoda gradientului utilizat˘ a cu valoarea optim˘ a pentru scalarul αk(caz
ˆ ın care spunem c˘ a am folosit un pas optimal saupas Cauchy ), are o vitez˘ a de
convergent ¸˘ a liniar˘ a , adic˘ a distant ¸a la punctul de minim tinde spre zero ca o
progresie geometric˘ a de rat ¸ie subunitar˘ a (vezi 7.5). Convergent ¸a devine lent˘ a,
de regul˘ a, cˆ and num˘ arul de variabile ncre¸ ste ¸ si de asemenea, ˆ ın vecin˘ atatea
minimului cˆ and vectorul gtinde c˘ atre zero. Metoda de c˘ autare a minimului
dup˘ a direct ¸ia−gk, utilizˆ and un singur parametru αk, a fost descris˘ a ˆ ın 7.1.
ˆIn continuare, d˘ am un algoritm general pentru metodele de optimizare care
192 7.Metode de optimizare
folosesc gradientul funct ¸iei scop:
Date:x0, U(x),∇U(x), ε,maxiter
x←x0;Uk←U(x0);gk←∇U(x0)
p←gkInit ¸ializarea direct ¸iei de descre¸ stere.
i= 1 : maxiter
x←min
α∈R{U(x+αp)}
Uk+1←U(x);gk+1←∇U(x)
dac˘ aUk+1≥Ukatunci e¸ secstop .
[test convergent ¸˘ a ]
[actualizarea direct ¸iei de descre¸ stere p]
Uk←Uk+1.(7.24)
Algoritmii care folosesc calculul gradientului funct ¸iei scop Use deosebesc
prin modul de calcul al direct ¸iei de descre¸ stere p. Cˆ ateva preciz˘ ari sunt nece-
sare ˆ ın cele ce urmeaz˘ a. O prim˘ a problem˘ a o constituie alegerea metodei de
minimizare unidirect ¸ional˘ a, pentru care recomand˘ am algoritmul lui Brent. O
a doua problem˘ a o constituie precizia cu care trebuie efectuat˘ a minimizarea
unidirect ¸ional˘ a. Unele metode (cum ar fi metoda gradientului) nu necesit˘ a 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 ¸ional˘ a aproximativ˘ a este legat
de proiect ¸ia direct ¸iei de descre¸ stere pe direct ¸ia gradientului (care se nume¸ ste
derivat˘ a direct ¸ional˘ a )
|(pk)T∇U(xk+αkpk)|≤η|(pk)Tgk|,0≤η<1 . (7.25)
Pentruη= 0 avem ( pk)Tgk+1= 0, adic˘ a minimizarea unidirect ¸ional˘ a s-a f˘ acut
exact. Pe lˆ ang˘ a criteriul ( 7.25) se poate impune o condit ¸ie de descre¸ stere sufi-
cient˘ a de forma
Uk+1−Uk≤−µαk(gk)Tpk. (7.26)
Valori uzuale: µ∈[10−5,10−1],η∈(µ,1).
O a treia problem˘ a o constituie testul de convergent ¸˘ a. ˆIn general, trei criterii
sunt mai des folosite:
1./bardblxk+1−xk/bardbl≤εx(1 +/bardblxk+1/bardbl)
2./bardblUk+1−Uk/bardbl≤εU(1 +/bardblUk+1/bardbl)
3./bardbl∇U(xk+1)/bardbl≤εg.(7.27)
Primul criteriu arat˘ a c˘ a primele tcifre semnificative ale aproximat ¸iilor punctul
de minim din dou˘ a iterat ¸ii succesive sunt identice, dac˘ a εx= 10−t, ˆ ın timp ce
cel de-al doilea criteriu arat˘ a c˘ a primele tcifre semnificative ale valorii funct ¸iei
scop sunt identice, εU= 10−t. S-au luat m˘ asuri de precaut ¸ie pentru cazul
ˆ ın care punctul de minim este chiar x= 0 sau valoarea minim˘ a este U= 0,
scriind spre exemplu /bardblxk+1−xk/bardbl≤εx/bardblxk+1/bardbl+εsˆ ın loc de/bardblxk+1−xk/bardbl≤εx.
7.4.Metoda Newton 193
Criteriului 3 trebuie folosit cu atent ¸ie, deoarece satisfacerea lui nu ˆ ınseamn˘ a ˆ ın
mod obligatoriu atingerea unui punct de minim, ci poate fi ¸ si un punct de maxim
sau punct ¸ sa (un punct de inflexiuneˆ ın cazul unidimensional). Trebuie reamintit
(vezi 7.1) c˘ a valorile impuse pentru precizia relativ˘ a trebuie s˘ a ˆ ındeplineasc˘ a
condit ¸iileεx≤√εM,εU≤√εM, iar pentru criteriul 3, εg≤3√εM, undeεM
este epsilon ma¸ sin˘ a..
7.4 Metoda Newton
A¸ sa cum s-a precizat, metoda gradientului are o vitez˘ a de convergent ¸˘ a liniar˘ a,
adic˘ a la fiecare iterat ¸ie distant ¸a la punctul de minim scade ca termenii unei
progresii geometrice de rat ¸ie subunitar˘ a. Acest lucru se mai poate scrie ¸ si ˆ ın
funct ¸ie de comportarea raportului distant ¸elor pˆ an˘ a la punctul de minim, notat
cux∗, pentru dou˘ a iterat ¸ii succesive, k¸ sik+ 1
lim
k→∞sup/bardblxk+1−x∗/bardbl/bardbl
xk−x∗/bardblr=c. (7.28)
Dac˘ ar= 1 ¸ sic∈(0,1), atunci convergent ¸a este liniar˘ a . Dac˘ aceste apropiat
de unitate, convergent ¸a este lent˘ a. Dac˘ a r= 1 ¸ sic= 0, avem convergent ¸˘ a
superliniar˘ a . Dac˘ ar > 1 ¸ siceste finit,rse nume¸ ste ordin de convergent ¸˘ a .
Pentrur= 2 convergent ¸a este p˘ atratic˘ a .
Metoda Newton se bazeaz˘ a pe aproximarea funct ¸iei de minimizat U(x) , la
iterat ¸iak, cu o form˘ a p˘ atratic˘ a Φ k(x) definit˘ a de ( 7.13). Funct ¸ia Φ kare un
minimx=x−dac˘ a matricea Gkeste pozitiv definit˘ a1, adic˘ a dac˘ a pe orice
direct ¸ie ne-am ˆ ındep˘ arta de punctul x−exist˘ a inegalitatea Φ k(x)−Φk(x−)>0
ˆ ıntr-o vecin˘ atate suficient de mic˘ a. Punctul de minim x=x−, este un punct
stat ¸ionar , adic˘ a derivatele part ¸iale de ordinul ˆ ıntˆ ai, deci gradientul ∇Φk, se
anuleaz˘ aˆ ın acest punct. Prin urmare, pentru valori suficient de mici ale distant ¸ei
pˆ an˘ a la minim/bardblx−x−/bardbl<ε, putem scrie t ¸inˆ and cont de ( 7.13)
Φk(x)−Φk(x−)∼=12
(x−x−)TGk(x−x−)>0 . (7.29)
Pe de alt˘ a parte, rezolvarea sistemului ∇Φk= 0, se poate face utilizˆ and
metoda iterativ˘ a Newton (vezi 8.2)
Gk(xk+1−xk) =−gk⇒xk+1=xk−G−1
kgk=x−. (7.30)
Pentru determinarea punctului de minim ( x−reprezint˘ a aproximat ¸ia xk+1
pentru minimul x∗al funct ¸iei U) este necesar˘ a rezolvarea unui sistem de n
ecuat ¸ii liniare cu nnecunoscute, adic˘ a circa n3/3 +n2operat ¸ii, ˆ ın cazul cˆ and
folosim metoda de eliminare a lui Gauss (vezi capitolul 5). Din a doua egalitate
(7.30), se observ˘ a c˘ a direct ¸ia de deplasare x−−xkspre punctul de minim nu
este direct ¸ia−gka metodei gradientului, aceasta fiind modificat˘ a prin ˆ ınmult ¸ire
cu inversa matricei hessiene, G−1
k. Direct ¸ia de descre¸ stere pkdat˘ a de relat ¸ia
pk=−G−1
kgk,(gk)Tpk<0 , (7.31)
194 7.Metode de optimizare
Figura 7.4: Deplasarea c˘ atre minim.
pentru fiecare iterat ¸ie k, se nume¸ ste direct ¸ie Newton . Proiect ¸ia direct ¸iei New-
ton dup˘ a direct ¸ia gradientului este negativ˘ a deoarece matricele Gk¸ siG−1
ksunt
pozitiv definite
(gk)Tpk=−(gk)TG−1
kgk<0 , (7.32)
inegalitatea ( gk)Tpk<0 fiind definitorie pentru orice direct ¸ie de descre¸ stere pk.
Ca ¸ si ˆ ın cazul metodei Newton pentru sisteme neliniare (vezi capitolul 5),
aproximarea cu o form˘ a p˘ atratic˘ a conduce la rezultate bune dac˘ a aproximat ¸ia
init ¸ial˘ a este suficient de apropiat˘ a de solut ¸ie . Aceasta ˆ ınseamn˘ a c˘ a, dac˘ a hessi-
ana exist˘ a ¸ si este pozitiv definit˘ a, ˆ ıncepˆ and cu un anumit xksuficient de aproape
de minimul x=x∗, metoda Newton de descre¸ stere converge iar convergent ¸a este
p˘ atratic˘ a.
ˆIn forma prezentat˘ a, metoda Newton are o serie de neajunsuri. Astfel, dac˘ a
ˆ ıntr-un anumit punct xk, hessianaGknu este pozitiv definit˘ a, direct ¸ia Newton
nu mai este o direct ¸ie de descre¸ stere ¸ si se poate ca Uk+1>Uk(punctulA, figura
7.4).ˆIn zonele ˆ ın care funct ¸ia Uare o variat ¸ie plat˘ a, putˆ and fi aproximat˘ a local
cu o funct ¸ie de gradul 1 (hiperplan), hessiana se anuleaz˘ a ( G= 0), iar ecuat ¸ia
(7.30) nu are solut ¸ie (punctul L, figura 7.4). Dac˘ a ˆ ın aceste cazuri introducem
o matrice pozitiv definit˘ a ˆ ı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¸ siLdirect ¸ia parabolelor tangente la funct ¸ia yde minimizat, dar
avˆ and tot timpul o curbur˘ a pozitiv˘ a, direct ¸iile modificate obt ¸inute ducˆ andu-ne
ˆ ın punctele mA¸ simLrespectiv.
Avˆ and la baz˘ a metoda Newton, au fost dezvoltate o serie de metode care
p˘ astreaz˘ a convergent ¸a local˘ a bun˘ a (p˘ atratic˘ a), dar prezint˘ a ¸ si o convergent ¸˘ a
global˘ a, eliminˆ and neajunsurile prezentate anterior. Dintre acestea, prezent˘ am
ˆ ın continuare metoda regiunii de ˆ ıncredere ˆ ın model .
7.4.Metoda Newton 195
Algoritmul metodei regiunii de ˆ ıncredere ˆ ın model ( 7.35) se bazeaz˘ a ca ¸ si
metoda Newton pe aproximarea funct ¸iei scop U(x) cu o form˘ a p˘ atratic˘ a Φ( x)
dat˘ a de ( 7.13). Fiind vorba de o aproximare valabil˘ a local, se stabile¸ ste o zon˘ a
de ˆ ıncredere ˆ ın model, adic˘ a zona ˆ ın care se admite c˘ a Φ aproximeaz˘ a bine pe
U.ˆIn aceast˘ a zon˘ a care este o sfer˘ a cu centrul ˆ ın xkde raz˘ aδk, se determin˘ a
punctul de minim pentru Φ( x). Dac˘ a minimul aproximantei Φ( x) se afl˘ a ˆ ın afara
regiunii deˆ ıncredere, acesta nu este luatˆ ın considerare. R˘ amˆ an de rezolvat dou˘ a
probleme: m˘ arimea razei δka regiunii de ˆ ıncredere ¸ si determinarea direct ¸iei de
descre¸ stere pk.
M˘ arimea razei regiunii de ˆ ıncredere la pasul k+ 1 se alege ˆ ın funct ¸ie de
valoarea anterioar˘ a ¸ si de raportul rkdintre reducerea efectiv˘ a ¸ si cea prezis˘ a,
rk= [U(xk+1)−U(xk)]/[Φ(xk+1)−Φ(xk)] . (7.33)
Pentru valori mici ale raportului rk(evidentrk>0 dac˘ a ne deplas˘ am spre
minim), se ia δk+1< δk, ˆ ın timp ce pentru valori care tind c˘ atre unitate se
poate luaδk+1>δk.
Direct ¸ia de c˘ autare pkse determin˘ a plecˆ and de la direct ¸ia Newton definit˘ a
de (7.31), rescris˘ a ˆ ın forma
(Gk+λI)pk=−gk, (7.34)
undeλse alege astfel ˆ ıncˆ at matricea Gk+λIs˘ a fie pozitiv definit˘ a, evitˆ andu-se
astfel una din situat ¸iile nedorite care apar ˆ ın aplicarea metodei Newton. Pentru
λ= 0 reg˘ asim metoda Newton dac˘ a noua aproximat ¸ie a punctului de minim nu
iese ˆ ın afara regiunii de ˆ ıncredere, adic˘ a dac˘ a /bardblpk/bardbl2<δk. Pentruλ≥0 se caut˘ a
o direct ¸ie de descre¸ stere pentru care minimul aproximantei Φ s˘ a se afle chiar la
frontiera regiunii de ˆ ıncredere, adic˘ a /bardblpk/bardbl2=δk. Deoarece matricea Gk+λI
este pozitiv definit˘ a, rezolvarea sistemului de ecuat ¸ii ( 7.34) se face mai eficient
folosind descompunerea Cholesky Gk+λI=RTR(vezi capitolul 5). Num˘ arul
maxim de iterat ¸ii maxiter ˆ ın care apreciem c˘ a trebuie g˘ asit minimul se alege cu
atˆ at mai mare cu cˆ at num˘ arul nde variabile ale funct ¸iei scop Ueste mai mare.
Num˘ arul de iterat ¸ii nppentru calculul direct ¸iei de descre¸ stere nu trebuie s˘ a fie
mai mare decˆ at 3, pentru ca efortul de calcul depus pentru o iterat ¸ie s˘ a nu fie
exagerat de mare.
196 7.Metode de optimizare
Algoritmul regiunii de ˆ ıncredere ˆ ın model.
Date:x0, 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←x0;δ←δ0;λ←λ0;Uk←U(x0);gk←∇U(x0);Gk←G(x0); Φk←Uk
k= 1 : maxiter
Calculul direct ¸iei de descre¸ stere pk
d←1;ip←1
cˆ at timp|d|>εp|λ|+ 10−5¸ siip<np
factorizare Cholesky Gk+λI=RTR
rezolv˘ a sistemul RTRpk=−gk
rezolv˘ a sistemul RTq=−pk
d←(/bardblpk/bardbl//bardblq/bardbl)2(/bardblpk/bardbl/δ−1)
λ←λ+d
ip←ip+ 1
(7.35)
xk+1←xk+pk;Uk+1←U(xk+1);gk+1←∇U(xk+1);Gk+1←G(xk+1)
Φk+1←Uk+ (pk)Tgk+1+12
(pk)TGk+1(pk)
d←Uk+1−Uk
dac˘ a|d|<ε|Uk+1|atunci minim calculat stop.
rk←d/[Φ(xk+1)−Φ(xk)]
dac˘ ark>µatuncixk←xk+1;gk←gk+1;Gk←Gk+1
Actualizarea razei regiunii de ˆ ıncredere
dac˘ ark≤µ
atunciδ←γ1δ
altfel dac˘ ark>η
atunciδ←γ2δ.
7.5 Metode cvasi-Newton
Metodele cvasi-Newton constau ˆ ın aproximarea matricei Gcu o matrice B,
simetric˘ a ¸ si pozitiv definit˘ a . Pentru a combina propriet˘ at ¸ile de convergent ¸˘ a
global˘ a ale metodei gradientului cu cele de convergent ¸˘ a local˘ a rapid˘ a ale metodei
Newton, ecuat ¸ia pentru direct ¸ia Newton pk(7.30) se ˆ ınlocuie¸ ste cu ecuat ¸ia
Bkpk=−gk, (7.36)
iar deplasarea se ia cu ponderea αk
sk≡xk+1−xk=αkpk, (7.37)
αkfiind determinat ˆ ın fiecare etap˘ a prin condit ¸ia de minim al funct ¸iei de o
variabil˘ af(αk)≡U(xk+αkpk).
7.5.Metode cvasi-Newton 197
Pentru actualizarea matricei Bkla pasulk+1, adic˘ a pentru calculul matricei
Bk+1, se dezvolt˘ a funct ¸ia Uˆ ın serie Taylor ˆ ın jurul punctului xk+1, p˘ astrˆ andu-se
doar primii trei termeni
U(x) =U(xk+1) + (x−xk+1)Tgk+1+12
(x−xk+1)TGk+1(x−xk+1) , (7.38)
pentru care
g∼=gk+1+Gk+1(x−xk+1)∼=gk+1+Bk+1(x−xk+1) , (7.39)
Impunˆ and ca Bk+1s˘ a aproximeze matricea hessian Gk+1pentrux=xk, se
obt ¸ine condit ¸ia cvasi-Newton
Bk+1sk=gk+1−gk≡yk. (7.40)
Relat ¸ia ( 7.40) nu este suficient˘ a pentru determinarea matricei Bk+1, astfel
ˆ ıncˆ at ea trebuie completat˘ a cu o condit ¸ie suplimentar˘ a. De exemplu, putem
impune ca matricea Bk+1s˘ a nu difere mult de Bk, adic˘ a/bardblBk+1−Bk/bardbls˘ a fie
minim. Folosind norma Frobenius ponderat˘ a ¸ si determinˆ and matricea Bk+1ca
o solut ¸ie a problemei de minimizare
min{/bardblW−1/2(Bk+1−Bk)W−1/2/bardblF|Bk+1sk=yk}, (7.41)
unde matricele B¸ siWsunt simetrice ¸ si pozitiv definite, iar Wsatisface condit ¸ia
cvasi-Newton Wsk=yk, se obt ¸ine formula Davidon-Fletcher-Powell (DFP )
Bk+1=Bk+zk(yk)T+yk(zk)T
(yk)Tsk−(zk)Tsk
[(yk)Tsk]2yk(yk)T
zk≡yk−Bksk=yk+αkgk.(7.42)
ˆIn mod similar, rezolvarea problemei de optimizare
min{/bardblW1/2(B−1
k+1−B−1
k)W1/2/bardblF|Bk+1sk=yk}, (7.43)
conduce la formula Broyden-Fletcher-Goldfarb-Shanno (BFGS )
Bk+1=Bk+yk(yk)T
(yk)Tsk−Bksk(sk)TBk
(sk)T(Bksk). (7.44)
Ambele formule ( 7.42) ¸ si ( 7.44) se pot simplifica t ¸inˆ and cont c˘ a Bksk=−αkgk
¸ si au urm˘ atoarea proprietate remarcabil˘ a: dac˘ a Bkeste pozitiv definit˘ a atunci
Bk+1este pozitiv definit˘ a.
Relat ¸iile ( 7.36) ¸ si ( 7.37) se pot scrie ¸ si sub forma
xk+1=xk−αkB−1
kgk. (7.45)
Avantajul relat ¸iei ( 7.45) const˘ a ˆ ın eliminarea rezolv˘ arii sistemului de ecuat ¸ii
liniare. Notˆ and H=B−1, pentru DFP se obt ¸ine
198 7.Metode de optimizare
Hk+1=Hk+sk(sk)T
(yk)Tsk−Hkyk(yk)THk
(yk)T(Hkyk), (7.46)
iar pentru BFGS
Hk+1=/parenleftbigg
I−sk(yk)T
(yk)Tsk/parenrightbigg
Hk/parenleftbigg
I−yk(sk)T
(yk)Tsk/parenrightbigg
+sk(sk)T
(yk)Tsk=
=Hk−Hkyk(sk)T+sk(yk)THk
(yk)Tsk+sk(yk)THkyk(sk)T
[(yk)Tsk]2+sk(sk)T
(yk)Tsk.(7.47)
Formulele pentru inversa matricei hessiene prezint˘ a avantajul principal al
num˘ arului mai mic de operat ¸ii, ˆ ıns˘ a sunt mai put ¸in stabile din punct de vedere
al p˘ astr˘ arii pozitivit˘ at ¸ii matricelor H.ˆIn plus, matricele Bk, simetrice ¸ si pozitiv
definite, admit o descompunere Choleski de forma Bk=RT
kRk.ˆIn acest caz,
rezolvarea sistemului ( 7.36) necesit˘ a numai O(n2), operat ¸ii. ˆIn plus, factorii
descompunerii Choleski se pot actualiza direct ˆ ın O(n2) operat ¸ii.
ˆIn toate cazurile, ca matrice init ¸ial˘ a se poate lua matricea unitate sau orice
matrice simetric˘ a ¸ si pozitiv definit˘ a. Se observ˘ a c˘ a formula BFGS pentru ma-
triceaBeste mai simpl˘ a, ˆ ın timp ce pentru matricea Heste preferabil˘ a formula
DFP . La aplicarea formulelor de mai sus, se evit˘ a ˆ ınmult ¸irea matricelor, uti-
lizˆ andu-se numai produse de vectori sau de vectori ¸ si matrice. Convergent ¸a
acestor metode este global˘ a ¸ si superliniar˘ a.
Exist˘ a pericolul ca, din cauza acumul˘ arii erorilor de rotunjire, matricele
BsauHs˘ a devin˘ a singulare sau s˘ a-¸ si piard˘ a pozitivitatea. O modalitate de
corect ¸ie const˘ a ˆ ın reinit ¸ializarea matricelor BsauHcu matricea unitate dup˘ a
niterat ¸ii.
Convergent ¸a metodelor cvasi-Newton depinde esent ¸ial de exactitatea cu care
se determin˘ a minimul unidirect ¸ional la fiecare etap˘ a. Metoda BFGS se dovede¸ ste
mai put ¸in sensibil˘ a din acest punct de vedere, fiind mai stabil˘ a decˆ at metoda
DFP . Aplicate unor funct ¸ii p˘ atratice ( U=xTAx,Amatrice constant˘ a), meto-
dele cvasi-Newton converg ˆ ın maximum niterat ¸ii (nfiind num˘ arul de variabile
independente) cˆ and matricea Bva 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 p˘ atratice ˆ ın niterat ¸ii. Ambele clase de metode necesit˘ a calculul derivate-
lor part ¸iale de ordinul ˆ ıntˆ ai ¸ si au aceea¸ si convergent ¸˘ a superliniar˘ a. Deosebirea
esent ¸ial˘ a const˘ a ˆ ın faptul c˘ a metodele de gradient conjugat nu necesit˘ a memo-
rarea unei matrice.
7.6.Metode de gradient conjugat 199
Fie gradientul formei p˘ atratice Φ definit˘ a de ( 7.13), evaluat ˆ ın punctul xk+1
∇Φ(xk+1)≡gk+1=gk+G(xk+1−xk) =gk+αkGpk, (7.48)
unde am consderat xk+1=xk+αkpk, iar direct ¸iile de descre¸ stere construite
dup˘ a regula
pk+1=−gk+1+βkpk. (7.49)
Avem de determinat doi parametrii: αk¸ siβk. Pentru a p˘ astra avantajul cˆ a¸ stigat
la iterat ¸iile anterioare (vezi 7.2), vom impune ca direct ¸iile pk+1¸ sipks˘ a fie G-
conjugate , adic˘ a (pk+1)TGpk= 0. ˆInmult ¸ind la dreapta transpusa relat ¸iei ( 7.49)
cuGpk, se obt ¸ine
βk= (gk+1)TGpk/(pk)TGpk. (7.50)
ˆInmult ¸ind la dreapta aceea¸ si relat ¸ie cu Gpk+1, se obt ¸ine egalitatea
(pk+1)TGpk+1=−(gk+1)TGpk+1, (7.51)
Punˆ and condit ¸ia ca vectorii gk¸ sigk+1s˘ a fie perpendiculari (( gk+1)Tgk= 0),
folosind relat ¸ia ( 7.51) ¸ si scot ¸ˆ and din ( 7.48)Gpk= (gk+1−gk)/αk, din relat ¸ia
(7.50) se obt ¸ine
βk=−(gk+1)TGpk/(gk)TGpk= (gk+1)Tgk+1/(gk)Tgk. (7.52)
Pentru determinarea lui αkvom folosi din nou condit ¸ia ca vectorii gk¸ sigk+1
s˘ a fie perpendiculari. ˆInmult ¸ind relat ¸ia ( 7.48) cu (gk+1)T, respectiv cu ( gk)T,
se obt ¸in relat ¸iile
αk=−(gk)Tgk/(gk)TGpk= (gk+1)Tgk+1/(gk+1)TGpk, (7.53)
relat ¸ii care nu sunt utile din punct de vedere practic deoarece nu avem la
dispozit ¸ie hessiana G. Vom ar˘ ata ˆ ıns˘ a c˘ a ponderea αkdin relat ¸ia ( 7.48) este
chiar valoarea care rezult˘ a din problema de optimizare αk= min
α∈R{U(xk+αpk)}.
Pentru aceasta trebuie s˘ a ar˘ at˘ am c˘ a vectorii gk+1¸ sipksunt perpendiculari,
adic˘ a (pk)Tgk+1= 0. ˆInmult ¸ind la stˆ anga relat ¸ia ( 7.48) cu (pk)T¸ si t ¸inˆ and cont
de relat ¸ile ( 7.49) ¸ si ( 7.51), se obt ¸ine succcesiv
(pk)Tgk+1= (pk)Tgk+αk(pk)TGpk
= (−gk+βk−1pk−1)Tgk−αk(gk)TGpk
=−(gk)Tgk+βk−1(pk−1)Tgk−(gk)Tgk+1+ (gk)Tgk
=βk−1(pk−1)Tgk. (7.54)
Dac˘ a la pasul anterior c˘ autarea unidirect ¸ional˘ a s-a f˘ acut exact, adic˘ a ponderea
αk−1a fost determinat˘ a astfel ˆ ıncˆ at ( pk−1)Tgk= 0, atunci avem ( pk)Tgk+1= 0.
Am obt ¸inut astfel setul de direct ¸ii G-conjugate pkconstruite cu relat ¸ia ( 7.49),
cu valoarea βkdat˘ a de relat ¸ia ( 7.52). Pentru construirea setului de direct ¸ii pk
200 7.Metode de optimizare
nu este nevoie de matricea hessian G, dar este necesar ca ponderile αks˘ a fie
calculate exact.
De¸ si teoretic am g˘ asit o singur˘ a cale de obt ¸inere a unui set de direct ¸ii G-
conjugate , ˆ ın practic˘ a se ˆ ıntˆ alnesc mai multe variante, ˆ ın funct ¸ie de modul cum
se calculeaz˘ a parametrul β:
Metoda Fletcher-Reeves βk= (gk+1)Tgk+1/(gk)Tgk;
Metoda Polak-Ribi` ere βk= (gk+1)Tyk/(gk)Tgk,yk=gk+1−gk;
Metoda Hestens-Stiefel βk= (gk+1)Tyk/(yk)Tpk.
Pentru o form˘ a p˘ atratic˘ a relat ¸iile de mai sus sunt echivalente. Astfel, num˘ a-
r˘ atorul relat ¸iei Polak-Ribi` ere se mai scrie ( gk+1)T(gk+1−gk) = (gk+1)Tgk+1,
deoarece (gk+1)Tgk= 0, iar numitorul relat ¸iei Hestens-Stiefel se scrie (yk)Tpk=
(gk+1)Tpk−(gk)Tpk= 0−(gk)Tgk=−(gk)Tgk.
Se observ˘ a tendint ¸a metodei Polak-Ribi` ere de reinit ¸ializare a direct ¸iei de
c˘ autare dup˘ a direct ¸ia gradientului simpluˆ ın situat ¸iile dificile, cˆ and xk+1−xkeste
foarte mic ¸ si gk+1≈gk. Din aceast˘ a cauz˘ a, pentru funct ¸ii obiectiv complicate
metoda Polak-Ribi` ere se dovede¸ ste a fi mai robust˘ a. Metoda Hestens-Stiefel are
¸ si la numitor termenul yk=gk+1−gk, fapt care provoac˘ a dificult˘ at ¸i ˆ ın situat ¸ia
mai sus amintit˘ a.
Avansˆ and la fiecare iterat ¸ie cu pasul optim αk=α∗
k,convergent ¸a metodelor
de gradient conjugat este superliniar˘ a. Pentru a evita efectele nedorite datorate
acumul˘ arii erorilor de rotunjire, se recomand˘ a reinit ¸ializarea algoritmului dup˘ a
n+ 1 pa¸ si, punˆ andu-se βk+1= 0. Ea este sugerat˘ a ¸ si de faptul c˘ a, pentru o
funct ¸ie p˘ atratic˘ a, metodele de gradient conjugat converg ˆ ın cel mult niterat ¸ii.
Metodele de gradient conjugat necesit˘ a O(n) operat ¸ii pe iterat ¸ie; de aseme-
nea, au propriet˘ at ¸i de convergent ¸˘ a global˘ a. Ca urmare, la rezolvarea probleme-
lor cu un num˘ ar mare de variabile se recomand˘ a 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 fi aplicate cu succes pentru rezolvarea sistemelor de
ecuat ¸ii liniare (capitolul 5), ˆ ındeosebi pentru sisteme mari, atunci cˆ and metodele
directe nu mai sunt eficiente. Deoarece num˘ arul de variabile este mare, ˆ ın astfel
de situat ¸ii sunt preferate metodele de gradient conjugat.
Pentru a folosi o metod˘ a de optimizare, trebuie definit˘ a funct ¸ia obiectiv U.
Fie sistemul de ecuat ¸ii liniare
Ax=b, (7.55)
undeAeste o matrice simetric˘ a pozitiv definit˘ a, adic˘ a avem AT=A¸ sixTAx>
0 pentru orice x/negationslash= 0. ˆIn aceste condit ¸ii, problema rezolv˘ arii sistemului ( 7.55)
este echivalent˘ a cu problema minimiz˘ arii formei p˘ atratice
U(x) =/angbracketleftx,Ax/angbracketright−2/angbracketleftx,b/angbracketright, (7.56)
7.6.Metode de gradient conjugat 201
unde pentru produsul scalar s-a utilizat notat ¸ia
/angbracketleftx,b/angbracketright≡xTb=/summationdisplayn
i=1xibi. (7.57)
ˆIn cazul ˆ ın care matricea Aeste simetric˘ a, gradientul funct ¸iei Ueste dat de
relat ¸ia
g(x)≡∇U(x) =−2(b−Ax) . (7.58)
Se observ˘ a c˘ a funct ¸ia Uare un extrem pentru solut ¸ia xa sistemului ( 7.55).ˆIn
lungul unei direct ¸ii de descre¸ stere pavem relat ¸iile
U(x+αp) =/angbracketleftx+αp,A (x+αp)/angbracketright−2/angbracketleftx+αp,b/angbracketright
=/angbracketleftx,Ax/angbracketright+α/angbracketleftx,Ap/angbracketright+α/angbracketleftp,Ax/angbracketright+α2/angbracketleftp,Ap/angbracketright−2/angbracketleftx,b/angbracketright−2α/angbracketleftp,b/angbracketright
=U(x) + 2α/angbracketleftp,Ax/angbracketright−2α/angbracketleftp,b/angbracketright+α2/angbracketleftp,Ap/angbracketright
=U(x) + 2α/angbracketleftp,Ax−b/angbracketright+α2/angbracketleftp,Ap/angbracketright. (7.59)
Am folosit egalitatea /angbracketleftx,Ap/angbracketright=/angbracketleftbig
ATx,p/angbracketrightbig
=/angbracketleftbig
p,ATx/angbracketrightbig
, ¸ si cumAT=A, rezult˘ a
/angbracketleftx,Ap/angbracketright=/angbracketleftp,Ax/angbracketright. Observ˘ am cum coeficientul lui α2este pozitiv,/angbracketleftp,Ap/angbracketright>0
deoarece matricea Aeste pozitiv definit˘ a, deci funct ¸ia Uare un minim pentru
α=α∗care poate fi determinat din condit ¸ia
ddα
U(x+αp) = 2/angbracketleftp,Ax−b/angbracketright+ 2α/angbracketleftp,Ap/angbracketright, (7.60)
rezultˆ and
α∗=/angbracketleftp,b−Ax/angbracketright//angbracketleftp,Ap/angbracketright. (7.61)
Cu valoarea α∗dat˘ a de ( 7.61), obt ¸inem minimul funct ¸iei Udup˘ a direct ¸ia p
U(x+α∗p) =U(x) +α∗[2/angbracketleftp,Ax−b/angbracketright+α∗/angbracketleftp,Ap/angbracketright]
=U(x) +α∗[2/angbracketleftp,Ax−b/angbracketright+/angbracketleftp,b−Ax/angbracketright]
=U(x)−α∗/angbracketleftp,b−Ax/angbracketright
=U(x)−/angbracketleftp,b−Ax/angbracketright2//angbracketleftp,Ap/angbracketright. (7.62)
D˘ am ˆ ın continuare algoritmul de determinare a minimului funct ¸iei Udat˘ a de
(7.56) folosind metoda gradientului pentru care direct ¸ia de descre¸ stere este p=
−gdat˘ a de ( 7.58). Condit ¸ia de oprire folosit˘ a este /bardblb−Ax/bardbl2
2<ε.
Date:x0,A,b, maxiter,ε
iter←1;norm←1;x←x0
cˆ at timpnorm>ε ¸ siiter≤maxiter
p←b−Ax;norm←/angbracketleftp,p/angbracketright
α←norm//angbracketleftp,Ap/angbracketright
x←x+αp.
202 7.Metode de optimizare
Determinarea minimului funct ¸iei Udat˘ a de ( 7.56) se poate face folosind
orice alt˘ a metod˘ a de optimizare. Spre exemplu, aplicarea metodei Fletcher-
Reeves duce la algoritmul ( 7.65).ˆIn partea stˆ ang˘ a am prezentat o variant˘ a mai
u¸ sor de urm˘ arit ˆ ın timp ce ˆ ın partea dreapt˘ a este o variant˘ a optimizat˘ a pentru
codificarea ˆ ıntr-un limbaj de programare. Testul de oprire este/angbracketleftbig
rk+1,rk+1/angbracketrightbig
<ε,
underk+1este reziduul la pasul k+ 1 care coincide cu gradientul funct ¸iei scop
definit˘ a de ( 7.56). Iterat ¸iile se opresc ¸ si ˆ ın cazul ˆ ın care ˆ ınaintarea spre minim
devine lent˘ a, adic˘ a/angbracketleftbig
pk,pk/angbracketrightbig
<δ.
Num˘ arul de iterat ¸ii necesare obt ¸inerii solut ¸iei sistemului ( 7.56) depinde de
num˘ arul de condit ¸ionare al matricei A(vezi capitolul 5). Pentru a m˘ ari vi-
teza de convergent ¸˘ a, se poate ˆ ımbun˘ at˘ at ¸i condit ¸ionarea sistemului ( 7.56) prin
transformarea sa ˆ ıntr-un sistem echivalent
ˆAˆx=ˆb, (7.63)
unde
ˆA=STAS, ˆx=S−1x,ˆb=STb. (7.64)
Spunem c˘ a am efectuat o precondit ¸ionare a sistemului.
Algoritmul Fletcher-Reeves pentru sisteme liniare.
Date:x0,A,b, maxiter,ε,δ Date:x0,A,b, maxiter,ε,δ
r0←b−Ax0x←x0;r←b−Ax;p←r
p0←r0c←/angbracketleftr,r/angbracketright;d←c
k= 0 : ( maxiter−1) k= 1 : maxiter
dac˘ a/angbracketleftbig
pk,pk/angbracketrightbig1/2<δstop
αk←/angbracketleftbig
rk,rk/angbracketrightbig
//angbracketleftbig
pk,Apk/angbracketrightbig
xk+1←xk+αkpk
rk+1←rk−αkApk
dac˘ a/angbracketleftbig
rk+1,rk+1/angbracketrightbig
<εstop
βk←/angbracketleftbig
rk+1,rk+1/angbracketrightbig
//angbracketleftbig
rk,Ark/angbracketrightbig
pk+1←rk+1+βkpk.
dac˘ a/angbracketleftp,p/angbracketright1/2<δstop
z←Ap;α←c//angbracketleftp,z/angbracketright
x←x+αp
r←r−αz
d←/angbracketleftr,r/angbracketright
dac˘ ad<εstop
p←r+ (d/c)p
c←d.(7.65)
Dac˘ a matricea sistemului original are multe elemente nule (matrice rar˘ a),
operat ¸ia de precondit ¸ionare poate duce la pierderea acestui avantaj. Din acest
punct de vedere, ˆ ın loc de a efectua o precondit ¸ionare explicit˘ a a sistemului ori-
ginal urmat˘ a apoi de rezolvarea numeric˘ a a sistemului obt ¸inut, este mai avan-
tajoas˘ a din punct de vedere numeric folosirea unei tehnici de precondit ¸ionare
implicit˘ a folosind relat ¸iile
ˆxk=S−1xk; ˆpk=S−1pk
ˆrk=ˆb−ˆAˆxk=STb−(STAS)(S−1xk) =STrk
˜r=Sˆrk=Q−1rk, undeQ−1=SST.(7.66)
7.6.Metode de gradient conjugat 203
ˆIn aceste condit ¸ii obt ¸inem
ˆαk=/angbracketleftbig
ˆrk,ˆrk/angbracketrightbig
//angbracketleftBig
ˆpk,ˆAˆpk/angbracketrightBig
=/angbracketleftbig
STrk,STrk/angbracketrightbig
//angbracketleftbig
S−1pk,(STAS)(S−1pk)/angbracketrightbig
=/angbracketleftbig
SSTrk,rk/angbracketrightbig
//angbracketleftbig
SS−1pk,Apk/angbracketrightbig
=/angbracketleftbig
Q−1rk,rk/angbracketrightbig
//angbracketleftbig
pk,Apk/angbracketrightbig
=/angbracketleftbig
˜rk,rk/angbracketrightbig
//angbracketleftbig
pk,Apk/angbracketrightbig
. (7.67)
Relat ¸ia de deplasare c˘ atre minimul ce reprezint˘ a solut ¸ia sistemului ( 7.63) este
ˆxk+1= ˆxk+ ˆαkˆpk, (7.68)
sau t ¸inˆ and cont de ( 7.66), se obt ¸ine
S−1xk+1=S−1xk+ ˆαkS−1pk. (7.69)
ˆInmult ¸ind la stˆ anga cu Srelat ¸ia ( 7.69), obt ¸inem
xk+1=xk+ ˆαkpk. (7.70)
Analog se obt ¸in relat ¸iile
rk+1=rk−ˆαkApk,ˆαk=/angbracketleftbig
˜rk+1,rk+1/angbracketrightbig
//angbracketleftbig
˜rk,rk/angbracketrightbig
, pk+1= ˜rk+1+ ˆαkpk.
(7.71)
D˘ am ˆ ın continuare algoritmul pentru rezolvarea sistemului de ecuat ¸ii liniare
folosind metoda de gradient conjugat Fletcher-Reeves cu precondit ¸ionare.
Date:x0,A,b, maxiter,ε,δ Date:x0,A,b, maxiter,ε,δ
r0←b−Ax0x←x0;r←b−Ax
rezolv˘ a sistemul Q˜r0=r0rezolv˘ a sistemul Qz=r
p0←r0p←r;c←/angbracketleftz,r/angbracketright
k= 0 : ( maxiter−1) k= 1 : maxiter
dac˘ a/angbracketleftbig
pk,pk/angbracketrightbig1/2<δstop
ˆαk←/angbracketleftbig
˜rk,rk/angbracketrightbig
//angbracketleftbig
pk,Apk/angbracketrightbig
xk+1←xk+ ˆαkpk
rk+1←rk−ˆαkApk
rezolv˘ a sistemul Q˜rk+1=rk+1
dac˘ a/angbracketleftbig
˜rk+1,rk+1/angbracketrightbig
<εatunci
dac˘ a/angbracketleftbig
rk+1,rk+1/angbracketrightbig2<εstop
ˆβk←/angbracketleftbig
˜rk+1,rk+1/angbracketrightbig
//angbracketleftbig
˜rk,rk/angbracketrightbig
pk+1←˜rk+1+ˆβkpk.
dac˘ a/angbracketleftp,p/angbracketright1/2<δstop
z←Ap;α←c//angbracketleftp,z/angbracketright
x←x+αp
r←r−αz
rezolv˘ a sistemul Qz=r
d←/angbracketleftz,r/angbracketright
dac˘ ad<ε
atunci
e←/angbracketleftr,r/angbracketright
dac˘ ae<εstop
p←z+ (d/c)p
c←d.
Din nou, ˆ ın partea stˆ ang˘ a prezent˘ am o variant˘ a mai u¸ sor de urm˘ arit ˆ ın timp ce
ˆ ın partea dreapt˘ a optimizat˘ a pentru codificarea ˆ ıntr-un limbaj de programare.
204 7.Metode de optimizare
Deoarece la fiecare pas trebuie rezolvat un sistem de forma Qx=y, matriceaQ
trebuie aleas˘ a astfel ˆ ıncˆ at sistemul s˘ a fie u¸ sor de rezolvat. Dac˘ a spre exemplu
matriceaQeste diagonal˘ a, atunci efortul de calcul pentru rezolvarea sistemului
este minim la fiecare pas, ˆ ın timp ce forme mai complicate ale matricei Qpermit
obt ¸inerea unui sistem mai bine condit ¸ionat ¸ si deci un num˘ ar mai mic de iterat ¸ii
necesare obt ¸inerii solut ¸iei. Ne afl˘ am ˆ ın fat ¸a unui exemplu tipic de compromis
ˆ ıntre un efort minim pe iterat ¸ie dar num˘ ar mare de iterat ¸ii ¸ si un efort mai mare
pe iterat ¸ie care duce la mic¸ sorarea num˘ arului de iterat ¸ii.
7.7 Metode specifice de optimizare
Din aceast˘ a categorie fac parte metodele care sunt special construite pentru
funct ¸ii scop ce au forme particulare. Fie funct ¸ia scop de forma
U(x) =12
/summationdisplayn
j=1F2
j(x) =12
/bardblF/bardbl2
2, (7.72)
undeF:Rn→Rn. O problem˘ a de optimizare cu funct ¸ia scop de forma ( 7.72)
se mai ˆ ıntˆ alne¸ ste sub denumirea de problema celor mai mici p˘ atrate neliniare .
Observ˘ am c˘ a
gi=∂U/∂xi=/summationdisplayn
j=1(∂Fj/∂xi)Fj, i∈1,n, (7.73)
sau vectorial
∇U(x)≡g(x) =JT(x)F(x) , (7.74)
undeJeste matricea jacobian˘ a a funct ¸iei F. Notˆ and cu [ Gi]j,p= (∂2Fi)/(∂xj∂xp),
se obt ¸ine
∇2U(x) =JT(x)J(x) +Q(x) , (7.75)
unde cuQs-a notat matricea
Q(x) =/summationdisplayn
i=1Fi(x)Gi(x) . (7.76)
Dac˘ a minimul funct ¸iei Ueste zero sau foarte mic, atunci ˆ ın vecin˘ atatea acestuia
avem valori mici pentru funct ¸iile Fiastfel ˆ ıncˆ at se poate neglija termenul Q(x)
din relat ¸ia ( 7.75), aproximˆ and2hessiana cu relat ¸ia
G(x) =∇2U(x)∼=JT(x)J(x) , (7.77)
obt ¸inˆ and deci o metod˘ a cu eficient ¸˘ a comparabil˘ a metodelor de tip Newton.
Dintre metodele care rezolv˘ a problema celor mai mici p˘ atrate 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 fi aplicat direct pentru metoda Levenberg-Marquardt, dar t ¸inˆ and
cont de aproximarea hessianei cu ( 7.77) pot fi aduse ˆ ımbun˘ at˘ at ¸iri modului de
calcul al direct ¸iei de descre¸ stere p.
2Aceast˘ a ipotez˘ a nu mai este justificat˘ a dac˘ a/radicalbig
U(x∗) este de acela¸ si ordin de m˘ arime cu
valoarea proprie maxim˘ a a matricei JTJ, unde cux∗s-a notat punctul ˆ ın care Uia valoarea
minim˘ a.
7.8.Probleme de optimizare cu restrict ¸ii 205
Figura 7.5: Exemplu de restrict ¸ie liniar˘ a.
7.8 Probleme de optimizare cu restrict ¸ii
Majoritatea problemelor practice se formuleaz˘ a ca probleme de optimizare la
care variabilele funct ¸iei obiectiv sunt supuse unor restrict ¸ii. Este bine de ret ¸inut
faptul c˘ a deseori metodele de optimizare pentru probleme cu restrict ¸ii au la baz˘ a
metodele de optimizare f˘ ar˘ a restrict ¸ii, cu mici modific˘ ari. Spat ¸iul nu ne permite
prezentarea ˆ ın detaliu a metodelor de optimizare cu restrict ¸ii, dar cˆ ateva not ¸iuni
de baz˘ a sunt necesare.
Restrict ¸iile pot fi liniare sauneliniare . Restrict ¸iile liniare pot fi scrise ˆ ın
forma general˘ a
Ax=b, (7.78)
cˆ and avem de a face cu restrict ¸ii egalit˘ at ¸i liniare, sau
Ax≥b, (7.79)
cˆ and avem de a face cu restrict ¸ii inegalit˘ at ¸i liniare. Matricea Aaremlinii,
undemeste num˘ arul de restrict ¸ii impuse celor nvariabile ale funct ¸iei scop.
Un punctx∈Rneste admisibil dac˘ a ˆ ındepline¸ ste condit ¸iile ( 7.78) sau ( 7.79)
dup˘ a cum este cazul. Spre exemplu, ˆ ın cazul n= 2, o restrict ¸ie egalitate de
formax1−x2= 1 impune ca minimul s˘ a fie c˘ autat pe o dreapta (fig. 7.5),
iar o restrict ¸ie inegalitate de forma x1−x2≤1 face ca punctele admisibile
s˘ a fie plasate ˆ ın semiplanul de deasupra dreptei x2= 1−x1. Se observ˘ a c˘ a
restrict ¸iile egalitate reduc dimensiunea problemei: minimizarea unei funct ¸ii scop
denvariabile supuse la mrestrict ¸ii independente , se poate obt ¸ine aplicˆ and o
metod˘ a de optimizare f˘ ar˘ a restrict ¸ii pentru o funct ¸ie scop de n−mvariabile.
O prim˘ a posibilitate de rezolvare a problemelor cu restrict ¸ii liniare este de a
folosi o metod˘ a de optimizare f˘ ar˘ a restrict ¸iiˆ ımpreun˘ a cu o strategie de penalizare
a funct ¸iei scop dac˘ a algoritmul ˆ ıncearc˘ a s˘ a ias˘ a din domeniul Dal punctelor
206 7.Metode de optimizare
admisibile. Practic se redefine¸ ste funct ¸ia scop
ˆU(x) =/braceleftbigg
U(x),pentrux∈D
µ, pentrux /∈D(7.80)
undeµ≥U(x0). Aceast˘ a strategie are dezavantajul mic¸ sor˘ arii vitezei de con-
vergent ¸˘ a, ˆ ın special dac˘ a minimul este ˆ ın apropierea frontierei lui D.
O alt˘ a posibilitate o constituie tehnicile de transformare . Spre exemplu, ˆ ın
cazul particular al unor restrict ¸ii tip margini simple de formaαi≤xi≤βi,
i∈1,m/prime,xi≤γi,i∈m/prime+ 1,mse poate utiliza urm˘ atoarea transformare de
tipValentine :
xi=12
[(βi−αi) coszi+ (βi+αi)], i∈1,m/prime
xi=γi−z2
i, i∈m/prime+ 1,m.(7.81)
Tehnicile bazate pe transform˘ ari prezint˘ a dezavantajul cre¸ sterii neliniarit˘ at ¸ii
funct ¸iei scop transformate ˆU.ˆIn plus, ˆUpoate deveni nem˘ arginit˘ a sau poate
avea derivate discontinue ori hessiana nedefinit˘ a sau singular˘ a. Metode mai
performante se bazeaz˘ a pe combinat ¸ii ˆ ıntre tehnicile algebrei liniare ¸ si cele ale
optimiz˘ arii f˘ ar˘ a restrict ¸ii.
Restrict ¸iile neliniare pot fi la rˆ andul lor de tip egalitate sau inegalitate
fi(x) = 0,saufi(x)≥0, i∈1,n, (7.82)
undefi:Rn→Riarmeste num˘ arul 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
specifice restrict ¸iilor neliniare cum ar fi metoda de lagrangean proiectat.
Algoritmul Simplex.
Numeroase probleme din practic˘ a conduc la necesitatea optimiz˘ arii unei funct ¸ii
scop liniare3de forma
U(x1,x2,… ,xn) =n/summationdisplay
j=1αjxj, (7.83)
unde cel put ¸in un coeficient αjeste nenul, cu restrict ¸ii de forma
xj≥0, j∈1,n,
/summationdisplayn
j=1aijxj≥bi, i∈1,m1, bi≥0 ,
/summationdisplayn
k=1akjxj≤bk, k∈m1+ 1,m2, bk≥0 , (7.84)
/summationdisplayn
l=1aljxj=bl, l∈m2+ 1,m, bl≥0 .
3O funct ¸ieU:Rn→Reste liniar˘ a dac˘ a ˆ ındepline¸ ste urm˘ atoarele dou˘ a condit ¸ii: U(λx) =
λU(x) ¸ siU(αx+βy) =αU(x) +βU(y), oricare ar fi vectorii x,y∈Rn¸ si scalariiα,β,λ∈R.
7.8.Probleme de optimizare cu restrict ¸ii 207
Figura 7.6: Un exemplu simplu de programare liniar˘ a.
Vom urm˘ ari ˆ ın continuare obt ¸inerea unei valori maxime (pe care o vom numi
ˆ ın continuare valoare optim˘ a ) a funct ¸iei U. Problema determin˘ arii unei valori
minime pentru Use reduce la determinarea unei valori maxime pentru −U.
Restrict ¸iile de forma xj≥0 sunt impuse de semnificat ¸ia fizic˘ a a variabilelor.
Frontiera domeniului admisibil , care cont ¸ine tot ¸i vectorii x∈Rncareˆ ındeplinesc
simultan condit ¸iile ( 7.84) ¸ si care se numesc vectorii admisibili , este definit˘ a de
ecuat ¸iile liniare obt ¸inute prin transformarea inegalit˘ at ¸ilor ˆ ın egalit˘ at ¸i. Vectorul
admisibil care realizeaz˘ a valoarea maxim˘ a a funct ¸iei scop Use nume¸ ste vector
optimal . Condit ¸iile bi≥0 pot fi ˆ ıntotdeauna ˆ ındeplinite (ˆ ın cazul ˆ ın care bp<0,
se ˆ ınmult ¸e¸ ste cu −1 inegalitatea respectiv˘ a). Deoarece gradientul unei funct ¸ii
liniare de forma ( 7.83) este nenul ˆ ın orice punct, rezult˘ a c˘ a valoarea optim˘ a se
afl˘ a pe frontiera domeniului admisibil. Aceast˘ a valoare maxim˘ a este finit˘ a numai
dac˘ a restrict ¸iile ( 7.84) definesc un poliedru convex. Mai mult, dac˘ a valoarea
optim˘ a este unic˘ a, atunci ea se va g˘ asi ˆ ıntr-unul din vˆ arfurile poliedrului.
Problema determin˘ arii valorii optime a funct ¸iei Use reduce principial la
c˘ autarea acesteia pe frontiera domeniului valorilor admisibile. Vectorul optimal
trebuie s˘ a satisfac˘ a sistemul de mecuat ¸ii liniare ce definesc frontiera ¸ si care
cont ¸innnecunoscute, xj,j∈1,n,n7m.
Exemplu .ˆIn figura ( 7.6) este exemplificat cazul
U(x1,x2) =x1+x2, (7.85)
cu restrict ¸iile
x1+x2≤10,−2×1+x2≤3,−x1+x2≥−3, x1≥0, x2≥0 . (7.86)
Pe figur˘ a se observ˘ a domeniul admisibil, precum ¸ si vectorul optimal unic x= (1.75,6.50)
aflat pe frontier˘ a.
ˆIn cazul ˆ ın care neste mare, parcurgerea la ˆ ıntˆ amplare a frontierei poate
fi total ineficient˘ a. Algorimul simplex ofer˘ a o modalitate de c˘ autare a valorii
208 7.Metode de optimizare
optime asigurˆ and ˆ ın acela¸ si timp dou˘ a lucruri: ( a) valoarea funct ¸iei scop U
cre¸ ste de la un pas la altul; ( b) valoarea optim˘ a este obt ¸inut˘ a ˆ ın maximum
Mpa¸ si, unde M= max(n,m). Este interesant c˘ a de¸ si algoritmul simplex a
fost elaborat ˆ ınc˘ a din 1948 de G.B. Dantzig iar proprietatea ( b) de mai sus era
confirmat˘ a practic, aceasta a fost demostrat˘ a riguros abia ˆ ın 1982 de S. Smale.
Pentru prezentarea algoritmului simplex, vom apela la dou˘ a exemple simple.
Exemplul I . Se cere s˘ a se g˘ aseasc˘ a valoarea maxim˘ a a funct ¸iei
U=x2−3×3, (7.87)
cu restrict ¸iile
x1+ 2×2−3×3= 3, x2−x3−x4=−1, x1,x2,x3,x4≥0 , (7.88)
¸ si bineˆ ınt ¸eles xi≥0. Se observ˘ a valoarea funct ¸iei Ueste cu atˆ at mai mare cu cˆ at x2este
mai mare ¸ si x3mai mic. Rescriem prima relat ¸ie ( 7.88) ˆ ın formax1= 3−2×2+3×3≥0.
Ultima inegalitate este impus˘ a de condit ¸ia x1≥0; rezult˘ ax2≤32
(1 +x3). Pentru
7.8.Probleme de optimizare cu restrict ¸ii 209
Tabelul 7.1: Exemplu de calcul pentru algoritmul simplex
x2x3 x1x3 x1x4
U 01 −1U 3/2−1/21 /2U 4−1−1
x13−23 →x23/2−1/23 /2→x29−2−3
x411 −2×45/2−1/2−1/2×35−1−2
valoareax3= 0 care convine din punctul de vedere al unei valori cˆ at mai mari pentru
U, se obt ¸inex2≤3. Luˆ andx3= 0,×2= 3/2, rezult˘ ax1= 0,×4= 5/2 ¸ siU= 3/2.
Exemplul II . Consider˘ am funct ¸ia scop
U=x2−x3, (7.89)
cu restrict ¸iile
x1+ 2×2−3×3= 3,−x2+ 2×3+x4= 1, x1,x2,x3,x4≥0 . (7.90)
Procedˆ and la fel ca ˆ ın exemplul precedent, obt ¸inem x1= 3−2×2+ 3×3≥0 rezultˆ and
x2≤32
(1 +x3) ¸ six4= 1 +x2−2×3≥0, rezultˆ and x3≤12
(1 +x2). Suntem tentat ¸i
de valorile x3= 0,×2= 3 cu care am obt ¸inut cu atˆ ata u¸ surint ¸˘ a U= 3 ˆ ın exemplul
precedent. Dac˘ a introducem ˆ ıns˘ a inegalitatea pentru x2obt ¸inut˘ a mai sus ˆ ın expresia
funct ¸iei scop, obt ¸inem U≤32
+12
x3, rezultat care sugereaz˘ a c˘ a valoarea minim˘ a nu
se obt ¸ine pentru x3= 0. ˆIntr-adev˘ ar, putem scrie x2≤32
(1 +x3)≤32
[1 +12
(1 +x2)],
rezultˆ andx2= 9,×3= 5,×1= 0,×4= 0,U= 4. ˆIncepem s˘ a simt ¸im nevoia unei
metodologii mai riguroase, f˘ ar˘ a de care este clar c˘ a nu vom putea rezolva problemele
cu mai multe variabile.
Prezent˘ am algoritmul simplex folosindu-ne de exemplul 2 ¸ si cu ajutorul tabelului
7.1. Observ˘ amˆ ın prima parte a tabelului (primele 4 coloane) c˘ a variabilele x1¸ six4apar
distinct de variabilele x2¸ six3, de care depinde ˆ ın mod explicit funct ¸ia U. Variabilele
x1¸ six4care apar pe prima coloan˘ a se numesc variabile de baz˘ a . Variabilele de baz˘ a
sunt acele variabile care aparˆ ıntr-o singur˘ a relat ¸ie-restrict ¸ie (¸ si numai ˆ ıntr-una ), avˆ and
coeficientul pozitiv ¸ si care se pot exprima numai ˆ ın funct ¸ie de celelalte variabile. ˆIn
consecint ¸˘ a, funct ¸ia scop se poate exprima ˆ ın a¸ sa fel ˆ ıncˆ at s˘ a nu cont ¸in˘ a nici o variabil˘ a
de baz˘ a. ˆIn exemplul nostru avem variabile de baz˘ a x1¸ six4. Din tabel citim de pe
prima linie U= 0 + 1·x2−1·x3, de pe linia a doua x1= 3−2×2+ 3x3s.a.m.d. De pe
linia funct ¸iei scop c˘ aut˘ am un coeficient pozitiv ¸ si g˘ asim 1 pe coloana variabilei x2, adic˘ a
la cre¸ sterea valorii x2cre¸ ste ¸ si valoarea funct ¸iei scop U. Pe coloana lui x2c˘ aut˘ am un
coeficient negativ, ¸ si g˘ asim valoarea −2 pe linia lui x1.ˆInseamn˘ a c˘ a nu putem cre¸ ste
oricˆ at de mult valoarea x2,deoarece acest lucru poate duce la obt ¸inerea unei valori
negative pentru variabila de baz˘ a pentru care am g˘ asit coeficientul negativ, ˆ ın cazul
nostrux1. De fapt, rata cre¸ sterii funct ¸iei Ueste dat˘ a de multiplicatorul pij=αj
|aij|·bi,
undeαj= 1 este coeficientul lui x2din expresia funct ¸iei U,aij=−2 este coeficientul
negativ de pe coloana lui x2, iarbi= 3 este termenul liber din expresia variabilei de
baz˘ ax1, (i= 1,j= 2). Dac˘ a pe coloana lui x2tot ¸i coeficient ¸ii ar fi fost pozitivi, ar
fi ˆ ınsemnat c˘ a puteam cre¸ ste oricˆ at de mult pe x2, iar funct ¸ia scop ar fi crescut de
210 7.Metode de optimizare
asemenea oricˆ at de mult, caz ˆ ın care problema este ˆ ıncheiat˘ a. Pasul urm˘ ator const˘ a ˆ ın
interschimbarea variabilelor x2¸ six1, adic˘ a din relat ¸ia de definit ¸ie a variabilei de baz˘ a
x1se expliciteaz˘ a x2, iar expresia obt ¸inut˘ a este folosit˘ a pentru a obt ¸ine U¸ six4numai
ˆ ın funct ¸ie de x1¸ six3. Se obt ¸in relat ¸iile x2=12
(3−x1+ 3×3),U=12
(3−x1+x3)
¸ six4=12
(5−x1−x3), relat ¸ii prezente prin coeficient ¸i ˆ ın partea a doua a tabelului
7.1.ˆIn general, se procedez˘ a la interschimbarea variabilelor xi¸ sixjcorespunz˘ atoare
unui multiplicator pij=αj
|aij|·bimaxim. ˆIn continuare, c˘ aut˘ am un coeficient pozitiv
pe linia funct ¸iei U, ¸ si g˘ asim valoarea12
pe coloana x3, adic˘ aUˆ ınc˘ a mai cre¸ ste cu x3.
Repet˘ am procedeul, c˘ aut˘ am un coeficient negativ pe coloana x3, g˘ asim valoarea −12
pe liniax4¸ si interschimb˘ am variabilele x3¸ six4ca la pasul anterior. Obt ¸inem ultimele
patru coloane din tabelul 7.1. Pe linia funct ¸iei UcitimU= 4−x1−x4. Calculul s-a
ˆ ıncheiat, deoarece coeficient ¸ii variabilelor din expresia funct ¸iei Usunt tot ¸i negativi.
Solut ¸ia o citim pe coloana funct ¸iei scop, adic˘ a U= 4,×2= 9,×3= 5, iar pentru
celelalte variabile obt ¸inem x1=x4= 0.
S ¸tim ˆ ın acest moment s˘ a rezolv˘ am o problem˘ a de programare liniar˘ a ˆ ın
forma standard restrˆ ans˘ a . Forma standard se caracterizeaz˘ a prin faptul c˘ a cele
mrestrict ¸ii (m < n ) sunt egalit˘ at ¸i. ˆIn plus, matricea Ace se formeaz˘ a cu
coeficient ¸ii aij,i∈1,m,j∈1,n, trebuie s˘ a fie nedegenerat˘ a, adic˘ a rang (A) =
m.ˆIn plus, dac˘ a dispunem de un set de n−mvariabile de baz˘ a, spunem c˘ a avem
o problem˘ a ˆ ın forma standard restrˆ ans˘ a. Dup˘ a cum vom vedea ˆ ın continuare,
orice problem˘ a de programare liniar˘ a de forma ( 7.83) se poate transforma ˆ ıntr-o
form˘ a standard restrˆ ans˘ a.
Restrict ¸iile inegalit˘ at ¸i se transform˘ a ˆ ın restrict ¸ii egalit˘ at ¸i cu ajutorul vari-
abilelor auxiliare .ˆIn cazul ˆ ın care nu putem izola variabilele de baz˘ a ca ˆ ın
exemplele precedente, adic˘ a nu putem izola n−mvariabile care s˘ a apar˘ a ˆ ıntr-o
singur˘ a relat ¸ie-restrict ¸ie cu coeficient pozitiv, apel˘ am la variabile fictive (sau
artificiale ). Spre exemplu, restrict ¸iile ( 7.84) se rescriu ˆ ın forma
xj≥0, j∈1,n,
zi=bi−/summationdisplayn
j=1aijxj+yi, i∈1,m1, bi≥0 ,
zk=bk−/summationdisplayn
k=1akjxj−yk, k∈m1+ 1,m2, bk≥0 , (7.91)
zl=bl−/summationdisplayn
l=1aljxj, l∈m2+ 1,m, bl≥0 ,
unde am introdus variabilele auxiliare yi≥0,i∈1,m2¸ si variabilele artificiale
zi≥0,i∈1,n. Un set de variabile de baz˘ a se obt ¸ine prin determinarea valorii
maxime pentru funct ¸ia scop auxiliar˘ a
U/prime=−/summationdisplayn
i=1zi, (7.92)
care va corespunde cu zi= 0, utilizˆ and acela¸ si mod de calcul. ˆIn continuare
se aplic˘ a algoritmul simplex pentru aflarea valorii maxime a funct ¸iei Udate de
(7.83). Dac˘ a nu se poate obt ¸ine valoarea maxim˘ a pentru U/primecuzi= 0, ˆ ınseamn˘ a
c˘ a nu exist˘ a 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 . S˘ a se g˘ aseasc˘ a minimul funct ¸iei
U(x1,x2) =F2
1(x1,x2) +F2
2(x1,x2) ,
F1(x1,x2)≡x1+ 3 lg|x1|−x2
2,F2(x1,x2)≡2×2
1+ 1−x1x2−5×1,(7.93)
situat ˆ ın dreptunghiul 0 ≤x1≤4,0≤x2≤3.
Rezolvare .ˆIntrucˆ at domeniul ˆ ın care se caut˘ a solut ¸iile este destul de mare, se pune
problema alegerii unei valori init ¸iale. O modalitate o constituie ˆ ımp˘ art ¸irea domeniul ˆ ın
mai multe subdomenii (12 p˘ atrate ˆ ın exemplul nostru) prin paralele la axele de coordo-
nate (figura 7.7) ¸ si evaluarea funct ¸iei Uˆ ın centrele Ci(i= 1,2,… , 12), obt ¸inˆ andu-se
valorile din tabelul 7.2.
Tabelul 7.2: Valori ale funct ¸iei Uˆ ın domeniul de calcul
PunctC1C2C3C4C5C6
U 0.99455 .36245 .961231 .44927 .93484 .8236
PunctC7C8C9C10C11C12
U 9.05585 .050724 .663125 .442717 .04830 .9060
Pe baza tabelului, se poate stabili o ordine pentru punctele de start ˆ ın vederea
g˘ asirii minimelor: C12, C1, C6, C8¸ s.a.m.d.
ˆIn tabelul 7.3sunt 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 x0= (3.5,2.5) toate metodele converg la solut ¸ia x1= 3.48744,
x2= 2.26163. S-a folosit testul de convergent ¸˘ a /bardblgk/bardbl∞<10−5. Metodele DFP ¸ si
cele de gradient conjugat converg rapid, dar remarc˘ am num˘ arul mare de evalu˘ ari
212 7.Metode de optimizare
Tabelul 7.3: Rezultatele obt ¸inute la rezolvarea sistemului ( 7.93)
MetodaNr. iterat ¸iiNr. eval. funct ¸ieNr. eval. gradientGradien
t simplu17 478 18 Hestens-Stiefel
6 155 7 Fletc
her-Reeves8 225 9 P
olak-Rib` ere6 155 7 DFP
6 168 7
Figura 7.8: Drumul parcurs de metodele DFP ¸ si gradient simplu.
ale funct ¸iei U, acesta datorˆ andu-se exclusiv preciziei impuse la calculul scalarului α,
convergent ¸a acestor metode depinzˆ and de precizia cu care se calculeaz˘ a αoptim.
Folosind ca punct de start punctul (0 .5,0.5), metodele de optimizare determin˘ a mi-
nimul local al funct ¸iei Udat dex= (0.47980,−0.32323). Folosind aceea¸ si condit ¸ie
/bardblgk/bardbl∞<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 figura ( 7.8) este reprezentat drumul parcurs de metodele DFP ¸ sigradient simplu
pentru punctul de start x0= (3.5,2.5).curbele de nivel U=Kisunt trasate pentru
valorileKi∈{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 observ˘ a ineficient ¸a metodei gradientului
care avanseaz˘ a ˆ ın zig-zag. Cu cˆ at distant ¸a fat ¸˘ a de minim scade, metoda gradientului
devine ¸ si mai ineficient˘ a. Explicat ¸ia const˘ a ˆ ın faptul c˘ a metoda gradientului se bazeaz˘ a
doar pe informat ¸ia furnizat˘ a de gradientul funct ¸iei scop, care este nul ˆ ın punctul de
minim ¸ si foarte mic ˆ ın vecin˘ atatea acestuia.
213
Capitolul 8
Rezolvarea sistemelor
neliniare
Vom considera nsisteme denecuat ¸ii cunnecunoscute, de forma
Fi(x1,x2,…,xn) = 0, i∈1,n, (8.1)
undeFireprezint˘ a funct ¸ii cunoscute de nvariabilex1,x2,…,xn, presupuse con-
tinue , ˆ ımpreun˘ a cu derivatele lor part ¸iale pˆ an˘ a la un ordin convenabil (de obicei,
pˆ an˘ a la ordinul doi) pentru ca anumite relat ¸ii de calcul s˘ a fie valabile. Se va
urm˘ ari g˘ asirea solut ¸iilor reale ale sistemului ( 8.1) ˆ ıntr-un anumit domeniu de
interes, domeniu ˆ ın care se consider˘ a valabile ¸ si propriet˘ at ¸ile de continuitate
impuse funct ¸iilor Fi¸ si derivatelor lor.
Sistemul ( 8.1) se scrie vectorial
F(x) = 0 , (8.2)
undex= (x1,x2,… ,xn)T¸ siF= (F1,F2,… ,Fn)T. Notat ¸ia mai apropiat˘ a de
scrierea init ¸ial˘ a ar fi fost F(xT), dar s-a renunt ¸at la indicarea transpunerii, fapt
neesent ¸ial de altfel. Cu notat ¸ia ( 8.2), solut ¸iile reale se caut˘ a pe un domeniu
D⊂Rn, iarF:D→Rn.
Metodele de rezolvare pot fi sugerate de metodele utilizate la rezolvarea
ecuat ¸iilor ˆ ıntr-o singur˘ a variabil˘ a (capitolul 3). Analogia dintre sistemul ( 8.2)
¸ si ecuat ¸ia ˆ ıntr-o singur˘ a variabil˘ a ( 3.1), de¸ si formal˘ a, este util˘ a. Rezolvarea
unui sistem de necuat ¸ii neliniare cu nnecunoscute este mult mai dificil˘ a ˆ ın
214 8.Rezolvarea sistemelor neliniare
cazul general n≥2 decˆ at pentru n= 1, din mai dou˘ a motive. ˆIn primul
rˆ and, pentru n≥2 nu mai este posibil˘ a localizarea solut ¸iei . Nu mai dispunem
de o metod˘ a analoag˘ a metodei ˆ ınjum˘ at˘ at ¸irii intervalelor pentru separarea unui
interval ˆ ın care se g˘ ase¸ ste sigur o solut ¸ie, ca ˆ ın cazul unei singure variabile. De
fapt, mult ¸imea vectorilor xnu poate fi ordonat˘ a, ˆ ıncepˆ and cu n≥2. Localizarea
solut ¸iei reprezint˘ a un avantaj covˆ ar¸ sitor al cazului unidimensional, pentru c˘ a o
solut ¸ie localizat˘ a nu mai poate fi sc˘ apat˘ a. Din aceast˘ a cauz˘ a, ori de cˆ ate ori este
posibil, se recomand˘ a retranscrierea sistemului astfelˆ ıncˆ at rezolvarea acestuia s˘ a
se reduc˘ a la rezolvarea unei probleme unidimensionale. ˆIn cazuln−dimensional,
nu se poate ¸ sti niciodat˘ a cu certitudine c˘ a solut ¸ia se afl˘ a ˆ ıntr-o anumit˘ a zon˘ a
pˆ an˘ a cˆ and solut ¸ia nu este calculat˘ a. ˆIn al doilea rˆ and, un sistem de necuat ¸ii cun
necunoscute poate avea una, niciuna sau mai multe solut ¸ii reale. ˆIn cazul ˆ ın care
sistemul are mai multe solut ¸ii, trebuie g˘ asit˘ a acea solut ¸ie care are semnificat ¸ie
fizic˘ a (ˆ ın general rezolv˘ am numeric ecuat ¸ii pentru c˘ a acestea fac parte dintr-un
model matematic care corespunde, ˆ ın limita unor ipoteze, unui fenomen fizic,
economic, etc.).
Rezolvarea unor sisteme de ecuat ¸ii neliniare implic˘ a utilizarea unui algo-
ritm iterativ : pornind de la o aproximat ¸ie init ¸ial˘ a, algoritmul o va ˆ ımbun˘ at˘ at ¸ii
de la o iterat ¸ie la alta pˆ an˘ a cˆ and va fi ˆ ındeplinit˘ a o condit ¸ie de convergent ¸˘ a.
Convergent ¸a algoritmului,ˆ ın special pentru problemele multi-dimensionale, poate
depinde ˆ ın mod esent ¸ial de cˆ at bun˘ a este valoarea init ¸ial˘ a. Aceast˘ a valoare tre-
buie obt ¸inut˘ a, ori de cˆ ate ori este posibil, pe baza unui studiu analitic.
8.1 Iterat ¸ia simpl˘ a
Metoda iterat ¸iei simple este, a¸ sa cum sugereaz˘ a ¸ si numele, atˆ at iterativ˘ a cˆ at
¸ si simpl˘ a; din p˘ acate ˆ ıns˘ a nu este ˆ ın general ¸ si eficient˘ a. Prezent ¸a ei ˆ ın acest
capitol reprezint˘ a un punct de plecare ¸ si de comparat ¸ie pentru celelalte metode.
Sistemul ( 8.2) se mai poate scrie sub forma echivalent˘ a
Fi≡xi−fi(x) = 0, i∈1,n, (8.3)
undefi(x) sunt funct ¸ii de nvariabile. Iterat ¸ia simpl˘ a este definit˘ a prin ¸ sirul de
iterat ¸ii
xk+1
i=fi(xk), i∈1,n, k = 0,1,2,… , (8.4)
unde indicele superior indic˘ a iterat ¸ia. Startul se ia cu vectorul init ¸ial x0din
domeniulDˆ ın care se caut˘ a solut ¸ia.
Presupunˆ and c˘ a exist˘ a o solut ¸ie real˘ a α= (α1,α2,… ,αn), astfel ˆ ıncˆ at α=
fi(α), vom putea calcula distant ¸ele la aceasta cu ajutorul diferent ¸elor
xk+1
i−αi=fi(xk)−αi=fi(xk)−fi(α) =n/summationdisplay
j=1(xk
j−αj)∂fi
∂xj(ξk), i∈1,n.
Ultima egalitate de mai sus s-a obt ¸inut aplicˆ and formula cre¸ sterilor finite pentru
o funct ¸ie de nvariabile. Derivatele part ¸iale ∂fi/∂xjse evalueaz˘ a ˆ ın punctul ξk
8.1.Iterat ¸ia simpl˘ a 215
apart ¸inˆ and cubului n−dimensional ( xk,α);ξkdepinde atˆ at de iterat ¸ie cˆ at ¸ si de
funct ¸iafi. Notˆ and mai departe cu mimodulul maxim al derivatelor part ¸iale
mi= sup
j|∂fi(x)/∂xj|, x∈(xk,α), se obt ¸in imediat inegalit˘ at ¸ile
|xk+1
i−αi|≤min/summationdisplay
j=1|xk
j−αj|, i∈1,n. (8.5)
Se observ˘ a c˘ a distant ¸a dintre dou˘ a componente |xk+1
i−αi|are o margine care
depinde de distant ¸ele dintre toate componentele vectorilor xk¸ siα. Ajungem
astfel, ˆ ın mod firesc, la necesitatea de a introduce norme de vectori . Spre exem-
plu, luˆ and modulul maxim al diferent ¸elor componentelor celor doi vectori x¸ si
α, se obt ¸ine
/bardblxk+1−α/bardbl∞≤n·m·/bardblxk−α/bardbl∞,undem≡sup
imi. (8.6)
Din relat ¸ia ( 8.6) rezult˘ a c˘ a o condit ¸ie suficient˘ a pentru ca ¸ sirul de iterat ¸ii ( 8.4)
s˘ a fie convergent c˘ atre solut ¸ia αeste
n·m< 1,sau sup
i,j|∂fi/∂xj|<1/n, i,j∈1,n. (8.7)
Condit ¸ia ( 8.7) coincide cu condit ¸ia suficient˘ a de convergent ¸˘ a ( 3.13) pentrun=
1. Se observ˘ a c˘ a restrict ¸ia este cu atˆ at mai sever˘ a, cu cˆ at num˘ arul de variabile
independente este mai mare.
O sumare a inegalit˘ at ¸ilor ( 8.5) dup˘ a indicele iconduce la norma /bardbl /bardbl1(suma
modulelor componentelor vectorilor)
/bardblxk+1−α/bardbl1≤/bardblxk−α/bardbl1n/summationdisplay
i=1mi≤n·m·/bardblxk−α/bardbl1. (8.8)
Se observ˘ a c˘ a utilizarea normei /bardbl /bardbl1conduce la aceea¸ si condit ¸ie suficient˘ a de
convergent ¸˘ a ( 8.7).
O condit ¸ie mai slab˘ a de convergent ¸˘ a se poate obt ¸ine scriind succesiv
|xk+1
i−αi|≤/bardblxk−α/bardbl∞n/summationdisplay
j=1/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂fi(ξk)
∂xj/vextendsingle/vextendsingle/vextendsingle/vextendsingle, i∈1,n, ξk∈(xk,α) , (8.9)
sau pentru indicele imaxcare corespunde normei vectoriale maxime
/bardblxk+1−α/bardbl∞≤/bardblxk−α/bardbl∞n/summationdisplay
j=1/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂fimax(ξk)
∂xj/vextendsingle/vextendsingle/vextendsingle/vextendsingle. (8.10)
De¸ siξkdepinde ¸ si de indicele iprin forma funct ¸iei fi(x), putem evalua suma
din dreapta inegalit˘ at ¸ilor ( 8.9) ¸ si ( 8.10) ˆ ın funct ¸ie de norma maxim˘ a a matricei
jacobieneJa sistemului de funct ¸ii f
n/summationdisplay
j=1/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂fi(ξk)
∂xj/vextendsingle/vextendsingle/vextendsingle/vextendsingle≤sup
in/summationdisplay
j=1/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂fi(ξk)
∂xj/vextendsingle/vextendsingle/vextendsingle/vextendsingle≤/bardblJ(¯ξk)/bardbl∞, (8.11)
216 8.Rezolvarea sistemelor neliniare
¯ξkfiind un punct independent de indicele i. Prin urmare, se obt ¸ine condit ¸ia
suficient˘ a de convergent ¸˘ a
/bardblJ(¯ξk)/bardbl∞<1,¯ξk∈(xk,α) . (8.12)
Condit ¸ia ( 8.12) este ˆ ın general mai slab˘ a decˆ at ( 8.7).
O formulare general˘ a a condit ¸iei ˆ ın care se realizeaz˘ a convergent ¸a iterat ¸iei
simple este (ˆ ıntr-un spat ¸iu Banach) ca sistemul de funct ¸ii fs˘ a fie contractant ,
adic˘ a pentru orice pereche de puncte x1,x2s˘ a se realizeaze inegalitatea
/bardblf(x2)−f(x1)/bardbl≤q/bardblx2−x1/bardbl,undeq∈[0,1) , (8.13)
Condit ¸iile de convergent ¸˘ a se pot testa ˆ ın domeniul ˆ ın care se afl˘ a solut ¸ia. Aceste
test˘ ari pot implica ˆ ıns˘ a un volum mare de calcul, cˆ and num˘ arul de variabile este
mare sau/¸ si solut ¸ia este localizat˘ a slab.
Din existent ¸a a dou˘ a 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 suficiente. Ele
nu sunt neap˘ arat necesare, ˆ ın sensul c˘ a ar putea exista o condit ¸ie mai put ¸in
restrictiv˘ a care s˘ a asigure descre¸ sterea distant ¸ei la r˘ ad˘ acin˘ a, ˆ ıncepˆ and, dac˘ a nu
chiar cu prima iterat ¸ie, cel put ¸in cu un anumit k>1.
Dac˘ a suntem suficient de aproape de solut ¸ie, condit ¸ia ( 8.12) poate fi scris˘ a
folosind orice alt˘ a norm˘ a a matricei jacobiene. Viteza de convergent ¸˘ a este cu
atˆ at mai mare cu cˆ at norma (subunitar˘ a) este mai mic˘ a.
ˆIn cazul cˆ and ( 8.13) este satisf˘ acut˘ a, distant ¸a la r˘ ad˘ acin˘ a poate fi evaluat˘ a
cu relat ¸ia
/bardblxk+1−α/bardbl≤qk
1−q/bardblx1−x0/bardbl, q∈[0,1], k= 1,2,… . (8.14)
8.2 Metoda iterativ˘ a Newton
Ca ¸ si ˆ ın cazul unei singure variabile (de fapt, chiar ˆ ıntr-o m˘ asur˘ a mai mare),
condit ¸iile suficiente de convergent ¸˘ a ale iterat ¸iei simple sunt destul de restrictive
pentru a o face impracticabil˘ a ˆ ın majoritatea cazurilor. De aceea, vom c˘ auta
alte metode iterative cu domeniu mai larg ¸ si vitez˘ a mai mare de convergent ¸˘ a. ˆIn
acest scop, vom aplica formula lui Taylor pentru o funct ¸ie de nvariabileFi(x)
sub forma
Fi(x) =Fi(xk) +n/summationdisplay
j=1(xj−xk
j)∂Fi
∂xj+12
n/summationdisplay
j,p=1(xj−xk
j)(xp−xk
p)∂2Fi(ξk)
∂xj∂xp.
Dac˘ a ˆ ın expresiile de mai sus neglij˘ am ultimul termen ¸ si facem x=xk+1, atunci
condit ¸ia de deplasare spre solut ¸ie, Fi(xk+1) = 0, ne conduce la sistemul
n/summationdisplay
j=1(xk+1
j−xk
j)∂Fi(xk)
∂xj=−Fi(xk), i∈1,n, (8.15)
8.2.Metoda iterativ˘ a Newton 217
care reprezint˘ a metoda iterativ˘ a Newton , ce ne furnizeaz˘ a vectorul xˆ ın aproximat ¸ia
k+ 1 ˆ ın funct ¸ie de datele din aproximat ¸ia anterioar˘ a.
Matricea sistemului ( 8.15) se construie¸ ste cu derivatele part ¸iale de ordinul
ˆ ıntˆ ai ale funct ¸iilor Fi(x), i∈1,n, formˆ and matricea jacobian˘ a a sistemului de
funct ¸iiFcare se noteaz˘ a cu J(x),F/prime(x) sauFx(x). Vom adopta prima notat ¸ie.
Matriceal, sistemul de ecuat ¸ii ( 8.15) se scrie
J(xk)(xk+1−xk) =−F(xk) . (8.16)
Sistemul de ecuat ¸ii liniare ( 8.15) sau ( 8.16) se poate rezolva cu metoda elimin˘ arii
gaussiene (capitolul 5). Matricea jacobian˘ a se calculeaz˘ a analitic sau, dac˘ a nu
este posibil, numeric, utilizˆ and diferent ¸e finite.
Pentru a studia convergent ¸a metodei, consider˘ am x=α(αfiind o solut ¸ie).
Obt ¸inem
0 =Fi(xk) +n/summationdisplay
j=1(αj−xk
j)∂Fi
∂xj+Vi, i∈1,n, (8.17)
unde s-a notat cu Vicantitatea
Vi=12
n/summationdisplay
j,p=1(αj−xk
j)∂2Fi(ξk)
∂xj∂xp(αp−xk
p), i∈1,n. (8.18)
Vectorial, relat ¸ia ( 8.17) se poate scrie
J(xk)(α−xk) =−F(xk)−V. (8.19)
Sc˘ azˆ and egalit˘ at ¸ile ( 8.16) ¸ si ( 8.19), se obt ¸ine
J(xk)·(xk+1−α) =V,sauxk+1−α=J−1(xk)·V. (8.20)
Din ( 8.20), folosind o norm˘ a oarecare se obt ¸ine o evaluare a distant ¸ei la r˘ ad˘ acin˘ a
ˆ ın aproximat ¸ia k+ 1
/bardblxk+1−α/bardbl≤/bardblJ−1(xk)/bardbl·/bardblV/bardbl. (8.21)
Dac˘ a se ia norma maxim˘ a, din ( 8.18) rezult˘ a
/bardblV/bardbl∞= sup
i|Vi|≤Mn/summationdisplay
j,p=1|xk
j−αj|·|xk
p−αp|≤n2M/bardblxk−α/bardbl2
∞, (8.22)
undeM=12
sup
i,j,p/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂2Fi
∂xj∂xp/vextendsingle/vextendsingle/vextendsingle/vextendsingle. (8.23)
Se obt ¸ine deci
/bardblxk+1−α/bardbl∞≤C/bardblxk−α/bardbl2
∞,undeC=M·n2·sup
k/bardblJ−1(xk)/bardbl∞. (8.24)
218 8.Rezolvarea sistemelor neliniare
Plecˆ and de la o aproximat ¸ie init ¸ial˘ a x0, se obt ¸in succesiv
/bardblx1−α/bardbl∞≤C·/bardblx0−α/bardbl2
∞=C−1(C·/bardblx0−α/bardbl∞)21
/bardblx2−α/bardbl∞≤C·/bardblx1−α/bardbl2
∞=C−1(C·/bardblx0−α/bardbl∞)22
…
/bardblxk−α/bardbl∞≤C−1(C·/bardblx0−α/bardbl∞)2k.(8.25)
Prin urmare, metoda converge dac˘ a este satisf˘ acut˘ a inegalitatea
C·/bardblx0−α/bardbl∞<1 . (8.26)
Dac˘ a se utilizeaz˘ a norma 1, cu ajutorul relat ¸iei ( 8.18) se obt ¸ine
/bardblV/bardbl1=/summationtextn
i=1|Vi|≤/bardblxk−α/bardbl2
1/summationtextn
i=1Mi≤nM/bardblxk−α/bardbl2
1,
undeMi=12
sup
i,j/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂2Fi
∂xj∂xp/vextendsingle/vextendsingle/vextendsingle/vextendsingle,iarM= sup
iMi.(8.27)
Introducˆ and apoi norma 1 ˆ ın relat ¸ia ( 8.21) ¸ si folosind inegalitatea ( 8.27), rezult˘ a
/bardblxk+1−α/bardbl1≤C1/bardblxk−α/bardbl2
1,undeC1=M·n·sup
k/bardblJ−1(xk)/bardbl1. (8.28)
Parcurcˆ and acelea¸ si etape ca ˆ ın relat ¸iile ( 8.21), rezult˘ a c˘ a, dac˘ a este ˆ ındeplinit˘ a
inegalitatea
C1/bardblx0−α/bardbl1<1 , (8.29)
metoda are o convergent ¸˘ a p˘ atratic˘ a, ca ¸ si ˆ ın cazul cˆ and utiliz˘ am norma maxim˘ a.
Condit ¸ia ( 8.29) poate fi mai avantajoas˘ a decˆ at ( 8.26), deoarece scalarul C1este
proport ¸ional cu n, ˆ ın comparat ¸ie cu scalarul C, care este proport ¸ional cu n2.ˆIn
schimb, norma 1 este mai mare,ˆ ın general, decˆ at norma maxim˘ a fiind satisf˘ acut˘ a
ˆ ıns˘ a inegalitatea
n·/bardblx0−α/bardbl∞≥/bardblx0−α/bardbl1,pentrun≥1 . (8.30)
Convergent ¸a are loc ˆ ıntotdeauna dac˘ a este satisf˘ acut˘ a o condit ¸ie de forma
(8.26) sau ( 8.29), independent de norma utilizat˘ a. ˆIn toate cazurile, pentru
verificarea condit ¸iilor de convergent ¸˘ a, sunt necesare evalu˘ ari ale inversei matricei
jacobiene ¸ si ale derivatelor part ¸iale de ordinul al doilea ale funct ¸iilor Fi(x),
distant ¸ax0−αfiind ˆ ıns˘ a necunoscut˘ a.
O condit ¸ie de convergent ¸˘ a care utilizeaz˘ a rezultatele calculului ˆ ıntr-o prim˘ a
aproximat ¸ie a fost dat˘ a de Kantorivici .ˆIn acest scop se evalueaz˘ a derivatele de
ordinul 2 ˆ ıntr-o sfer˘ a ˆ ınchis˘ a U0de centrux0¸ si de raz˘ a 2/vextenddouble/vextenddoublex1−x0/vextenddouble/vextenddouble. Condit ¸ia
de convergent ¸˘ a este
h0≡2K/bardblJ−1(x0)/bardbl∞/bardblx1−x0/bardbl∞≤1 , (8.31)
undeK= sup
i/summationdisplay
j,psup
x∈U0/vextendsingle/vextendsingle/vextendsingle/vextendsingle∂2fi(x)
∂xj∂xp/vextendsingle/vextendsingle/vextendsingle/vextendsingle. (8.32)
8.3.Metode cvasi-Newton 219
Notˆ and cu α∈U0r˘ ad˘ acina, eroarea este evaluat˘ a prin relat ¸ia
/bardblxk−α/bardbl∞≤(1/2)k−1(h2k−1
0)/bardblx1−x0/bardbl∞. (8.33)
Rezult˘ a ˆ ın toate cazurile c˘ a, dac˘ a jacobiana J(x) este nesingular˘ a ¸ si deri-
vatele de ordinul 2 sunt m˘ arginite problema care mai r˘ amˆ ane este g˘ asirea unui
punct de plecare x0“suficient de aproape” de solut ¸ie. Desigur, se poate proceda
la ˆ ımp˘ art ¸irea domeniului Dˆ ın subdomenii mai mici, ˆ ın care s˘ a c˘ aut˘ am solut ¸ia
succesiv plecˆ and, spre exemplu, din centrul subdomeniului. Reinit ¸ializarea s-ar
face dac˘ a dup˘ a un num˘ ar fixat de iterat ¸ii ¸ sirul xknu se stabilizeaz˘ a, sau iese
ˆ ın afara subdomeniului considerat. Acest mod de lucru se poate dovedi ˆ ıns˘ a
nepractic ˆ ın cazul unui num˘ ar mare de variabile. Spre exemplu, dac˘ a fiecare
latur˘ a a unui cub n−dimensional se divide ˆ ın Np˘ art ¸i, num˘ arul de subdomenii
care rezult˘ a este Nn, ceea ce duce la numere foarte mari pentru N,n≥5. De
aceea, pentru apropierea de solut ¸ie se utilizeaz˘ a metode care converg ˆ ın condit ¸ii
mai largi. Acestea sunt metodele de descre¸ stere prezentate ˆ ın capitolul 7.
8.3 Metode cvasi-Newton
Am v˘ azut c˘ a metoda Newton cere evaluarea matricei jacobiene J(x), adic˘ a
evaluarea a n2funct ¸ii la fiecare iterat ¸ie. Dac˘ a nu este posibil˘ a obt ¸inerea pe
cale analitic˘ a a expresiilor derivatelor part ¸iale ce intr˘ a ˆ ın component ¸a matricei
jacobiene, valoarea acestora poate fi aproximat˘ a folosind o formul˘ a cu diferent ¸e
finite de forma
(∂Fi)/(∂xj)≈[Fi(x1,x2,… ,xj+h,… ,xn)−Fi(x1,x2,… ,xn)]/h, (8.34)
fapt care nu reduce ˆ ıns˘ a num˘ arul de operat ¸ii. Num˘ arul de operat ¸ii poate fi redus
dac˘ a se utilizeaz˘ a o matrice Bcare aproximeaz˘ a jacobiana, astfel ˆ ıncˆ at ˆ ın locul
sistemului ( 8.16) se va scrie
Bksk=−Fk, (8.35)
undesk≡xk+1−xk¸ siFk=F(xk). Aproximat ¸ia Bka jacobienei trebuie actu-
alizat˘ a ˆ ın etapa urm˘ atoare, lucru se face scriind c˘ a Bk+1aproximeaz˘ a J(xk+1),
adic˘ a
Fk∼=Fk+1+J(xk+1)(xk−xk+1)∼=Fk+1−Bk+1sk. (8.36)
Rezult˘ a relat ¸ia cvasi-Newton
Bk+1sk=yk,undeyk≡Fk+1−Fk. (8.37)
Relat ¸ia ( 8.35) nu este suficient˘ a pentru determinarea elementelor matricei
Bk+1. Ea se completeaz˘ a cu condit ¸ia ca matricele Bk+1¸ siBks˘ a difere cˆ at mai
put ¸in de la o iterat ¸ie la alta, adic˘ a Bk+1se determin˘ a ca solut ¸ie a problemei de
optimizare
Bk+1= min{/bardblB−Bk/bardbl2|B·sk=yk}. (8.38)
220 8.Rezolvarea sistemelor neliniare
Vom rezolva problema de optimizare ( 8.38) indirect, impunˆ and ca Bk¸ si
Bk+1s˘ a nu difere pe direct ¸iile perpendiculare pe sk, adic˘ a pentru orice vector
zpentru care zT·sk= 0, s˘ a avem
Bkz=Bk+1z. (8.39)
Din ( 8.39) ¸ si ( 8.37) se deduce c˘ a ( Bk+1−Bk) se poate alege de forma
Bk+1−Bk=c·(sk)T(8.40)
cfiind un vector arbitrar. Din relat ¸iile ( 8.35) ¸ si ( 8.37) rezult˘ a succesiv
(Bk+1−Bk)sk=Fk+1⇒c(sk)Tsk=Fk+1⇒c=Fk+1/(sk)Tsk(8.41)
Rezult˘ a formula iterativ˘ a Broyden
Bk+1=Bk+Fk+1(sk)T
(sk)Tsk=Bk+(yk−Bksk)(sk)T
(sk)Tsk. (8.42)
Vom ar˘ ata acum c˘ a, matricele Bk+1furnizate de ( 8.42) sunt cele mai apro-
piate ˆ ın norm˘ a euclidian˘ a sau Frobenius de matricele Bk.ˆIntr-adev˘ ar, se poate
scrie
/bardblBk+1−Bk/bardbl2=/bardbl(yk−Bksk)(sk)T/bardbl2/(sk)Tsk=/bardbl(B−Bk)sk(sk)T/bardbl2/(sk)Tsk
≤/bardblB−Bk/bardbl2/bardblsk(sk)T/bardbl2/(sk)Tsk=/bardblB−Bk/bardbl2.
Am t ¸inut seama c˘ a norma euclidian˘ a, a matricei sk(sk)Teste egal˘ a cu produsul
scalar (sk)T·sk
/bardbls·sT/bardbl2
2≡/summationtextn
i=1/summationtextn
j=1s2
is2
j=/summationtextn
i=1s2
i/summationtextn
j=1s2
j= [(s)T·s]2. (8.43)
ˆIn acest fel, plecˆ and de la o aproximat ¸ie init ¸ial˘ a B0a jacobienei (care ar putea
fi chiar jacobiana ˆ ın x0,B0=J(x0)), matricele Bse construiesc cu numai n
evalu˘ ari de funct ¸ii. Pret ¸ul acestei simplific˘ ari ˆ ıl repezint˘ a sc˘ aderea vitezei de
convergent ¸˘ a de la p˘ atratic˘ a la superliniar˘ a.
Rezolvarea sistemului de ecuat ¸ii ( 8.35), care necesit˘ a circa n3/3 operat ¸ii,
poate fi evitat˘ a construind iterativ matricea invers˘ a B−1
k. Un avantaj al formei
(8.40) este c˘ a se matricea Bk+1se poate inversa direct. Mai general, oricare ar
fi matricea A¸ si vectoriiu,v, exist˘ a egalitatea
(A+u·v)−1=A−1−A−1uvTA−1
1 +vT·(A−1u). (8.44)
Relat ¸ia ( 8.44) se verific˘ a direct, ˆ ınmult ¸ind cu matricea ( A+u·vT). F˘ acˆ and
A=Bk,u=c,v=sk, din ( 8.44) se obt ¸ine
Hk+1=Hk+(sk−Hkyk)(sk)THk
(sk)T(Hkyk),undeHk=B−1
k, (8.45)
8.4.Metoda gradientului 221
cu condit ¸ia ( sk)T·(Hkyk)/negationslash= 0. ˆIn acest fel, rezult˘ a
xk+1=xk−HkFk. (8.46)
Aplicarea formulei ( 8.46) cere evaluarea a nfunct ¸ii (Fk+1) ¸ siO(n2) operat ¸ii
pentru determinarea pozit ¸iei xk+1. Prin urmare, num˘ arul de operat ¸ii scade ˆ ın
comparat ¸ie cu ( 8.37) dar metoda se dovede¸ ste mai put ¸in stabil˘ a din punct de
vedere numeric.
Evitarea rezolv˘ arii sistemului de ecuat ¸ii liniare ( 8.35) se poate face folosind
o factorizare Bk=QkRkundeQkeste ortogonal˘ a ¸ si Rkeste superior triun-
ghiular˘ a. Rezolvarea sistemului ( 8.35) se va face ˆ ın O(n2) operat ¸ii, iar matricea
Bk+1se poate obt ¸ine tot ˆ ın O(n2).
ˆIn concluzie, metodele cvasi-Newton reduc num˘ arul de operat ¸ii pentru o
iterat ¸ie cu pret ¸ul realiz˘ arii doar a unei convergent ¸e locale.
8.4 Metoda gradientului
Aplicarea metodei gradientului prezentat˘ a ˆ ın capitolul 7la rezolvarea sistemelor
de ecuat ¸ii neliniare se bazeaz˘ a pe observat ¸ia c˘ a rezolvarea sistemului ( 8.1) poate
fi formulat˘ a ca o problem˘ a de minimizare pentru o funct ¸ie ajut˘ atoare U(x), care
va fi scris˘ a sub forma
U(x) =12
/summationdisplayn
j=1F2
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 local˘ a. Rezolvarea
sistemului de ecuat ¸ii Fj(x) = 0 este echivalent˘ a cu g˘ asirea unui minim U= 0.
Vectorul gradient al funct ¸iei ajut˘ atoare este dat de relat ¸ia
∇U(x)≡g(x) =JT(x)J(x) . (8.48)
T ¸ inˆ and seama de forma special˘ a ( 8.47) a funct ¸iei U¸ si de convergent ¸a ¸ sirului
U(xk) la zero, putem da unele expresii simplificate pentru parametrul αk. Fo-
losind spre exemplu o aproximat ¸ie liniar˘ a pentru U(xk−αkgk) vom scrie,
dezvoltˆ and ˆ ın serie ˆ ın jurul valorii αk= 0
αk=U(xk)/(gk)T·gk,(gk)Tgk=/summationdisplayn
j=1(gk
j)2. (8.49)
Rezult˘ a noua pozit ¸ie a punctului xˆ ın aproximat ¸ia k+ 1
xk+1=xk−gk·U(xk)//summationdisplayn
j=1(gk
j)2, (8.50)
cu condit ¸ia ca funct ¸ia scop s˘ a descreasc˘ a, adic˘ a U(xk+1)<U(xk).
Putem ˆ ıns˘ a folosi o aproximat ¸ie liniar˘ a pentru funct ¸iile Fj(xk−αkgk),j∈
1,n, de forma
Fj(xk−αkgk)∼=Fj(xk)−αkn/summationdisplay
p=1(∂Fj(xk)/∂xp)·gk
p. (8.51)
222 8.Rezolvarea sistemelor neliniare
Funct ¸iaf(αk)≡U(xk−αkgk) ¸ si derivata f/prime(αk) le putem aproxima cu relat ¸iile
f(αk)∼=12
n/summationdisplay
j=1/bracketleftbig
Fj(xk)−αkvk
j/bracketrightbig2, vk
j≡n/summationdisplay
p=1∂Fj(xk)
∂xpgk
p, (8.52)
f/prime(αk)∼=−n/summationdisplay
j=1/bracketleftbig
Fj(xk)−αkvk
j/bracketrightbig
vk
j, (8.53)
unde am notat cu vk
j,j∈1,ncomponentele vectorului vk=J(xk)·gkobt ¸inut
prin ˆ ınmult ¸irea matricei jacobiene Jcu vectorul gradient g. Folosind relat ¸ia
(8.53), din ecuat ¸ia f/prime(αk) = 0 rezult˘ a o valoare aproximativ˘ a pentru αkoptim
α∗
k∼=n/summationdisplay
j=1Fj(xk)·vk
j/n/summationdisplay
j=1(vk
j)2= (vk)T·F(xk)/(vk)T·vk, (8.54)
noua pozit ¸ie a punctului de minim aproximativ fiind xk+1=xk−α∗
kgk.
Expresiile aproximative ( 8.49) ¸ si ( 8.54) sunt utile deoarece convergent ¸a me-
todei gradientului nu este condit ¸ionat˘ a de determinarea precis˘ a a valorii α∗
k;
singura condit ¸ie este ca valoarea funct ¸iei Us˘ a scad˘ a, adic˘ a Uk+1< Uk. De-
terminarea unei valori mai exacte pentru αkoptim se poate face cu una din
metodele prezentate la 7.1. Deoarece, pe m˘ asur˘ a ce ne apropiem de minim, com-
ponentele gradientului se mic¸ soreaz˘ a (ˆ ın punctul de minim avem, prin definit ¸ie
g= 0), erorile introduse prin calcul fac ca direct ¸ia spre minim s˘ a fie din ce
ˆ ın ce mai put ¸in precis determinat˘ a. Pe de alt˘ a parte, deplas˘ arile spre minim
devin din ce ˆ ın ce mai mici. ˆIn consecint ¸˘ a, metoda gradientului converge rapid
ˆ ın primii pa¸ si, apoi din ce ˆ ın ce mai lent. Pe de alt˘ a parte, metoda Newton
are o comportare invers˘ a, viteza ei de convergent ¸˘ a crescˆ and pe m˘ asur˘ a ce ne
apropiem de solut ¸ie. Aceste observat ¸ii sugereaz˘ a o combinare a celor dou˘ a me-
tode ˆ ın felul urm˘ ator: plecˆ and dintr-un punct x0, se aplic˘ a metoda gradientului
cˆ ateva iterat ¸ii k0(k0≤n), atˆ ata timp cˆ at converge rapid, verificˆ andu-se ¸ si dac˘ a
funct ¸iaU→0. Se aplic˘ a apoi metoda Newton, plecˆ and din punctul xk0, pentru
a cre¸ ste viteza de convergent ¸˘ a ¸ si a realiza o precizie ridicat˘ a a solut ¸iei. Procesul
este asem˘ an˘ ator etapelor de localizare ¸ si rafinare de la rezolvarea unei singure
ecuat ¸ii neliniare f(x) = 0 ( 3).
Algoritmul metodei hibride .
Date:x0, U(x), J(x), δ0,λ0, ε, maxiter
x←x0;δ←δ0;Fk←F(x0);Uk←U(x0)
k= 1 : maxiter
Calculul direct ¸iei de descre¸ stere pk
x←x+p;Fk+1←F(x);Jk←J(x)
[Actualizare δ]- ca la MRI ( 7.35).
dac˘ aUk+1>Uke¸ secstop.
dac˘ a|Uk+1−Uk|<ε|Uk+1|minim calculat stop.
Fk←Fk+1(8.55)
8.5.Metoda hibrid˘ a 223
Figura 8.1: Direct ¸ia de descre¸ stere pentru metoda hibrid˘ a.
Jk←J(x)
rezolv˘ a sistemul JkpN=−Fk
dac˘ a/bardblpN/bardbl≤δ
atuncip←pN
altfel
pG←{−αJT
kFk|U(x−αJT
kFk) = minim}
nG←/bardblpG/bardbl
dac˘ anG≤δ/bracketleftbigg
atuncip←{pG+γ(pN−pG)|/bardblp/bardbl=δ}
altfelp←(δ/nG)pg
8.5 Metoda hibrid˘ a
Aceast˘ a metod˘ a face parte din clasa metodelor regiunii de ˆ ıncredere ˆ ın model
prezentate la 33.ˆIn principiu, metoda hibrid˘ a urm˘ are¸ ste combinarea avantaju-
lui de convergent ¸˘ a local˘ a p˘ atratic˘ a a metodei Newton cu convergent ¸a global˘ a
a metodei gradientului. Pentru funct ¸ia scop Ude forma ( 7.72) se folose¸ ste
ca aproximant˘ a o form˘ a p˘ atratic˘ a dat˘ a de ( 7.13). Pentru matricea hessian se
poate folosi aproximat ¸ia dat˘ a de ( 7.77). Dac˘ a evaluarea exact˘ a a derivatelor
part ¸iale este imposibil˘ a sau foarte dificil˘ a, putem fie s˘ a folosim o matrice care
aproximeaz˘ a hessiana ca ˆ ın metoda Broyden, fie s˘ a le evalu˘ am numeric folosind
diferent ¸e finite de forma
∂Fi/∂xj∼=[F(x1,… ,xj+h,… ,xn)−F(x1,… ,xj,… ,xn)]/h. (8.56)
Algoritmul metodei hibride este asem˘ an˘ ator cu cel al metodei regiuni deˆ ıncredere,
cu o deosebire la calculul direct ¸iei de descre¸ stere. Mai ˆ ıntˆ ai se ˆ ıncearc˘ a avansul
dup˘ a direct ¸ia Newton dat˘ a de ( 7.31). Dac˘ a pasul Newton pk
Niese din afara
regiunii de ˆ ıncredere (fig. 8.1), adic˘ a/bardblpk
N/bardbl2>δk, atunci se calculeaz˘ a pasul op-
timal pe direct ¸ia gradientului negativ pk
G=−α∗
kgk, iar dac˘ a/bardblpk
G/bardbl2<δk, atunci
224 8.Rezolvarea sistemelor neliniare
Figura 8.2: Curbele de nivel ale funct ¸iilor F1¸ siF2.
se caut˘ a caut˘ a o deplasare convenabil˘ a ˆ ıntre cele dou˘ a direct ¸ii, folosind o medie
ponderat˘ apk=γpk
N+ (1−γ)pk
G. Observ˘ am cum pentru γ= 1 reg˘ asim direct ¸ia
Newton, iar pentru γ= 0 deplasarea se face pe direct ¸ia gradientului negativ
cu pas optimal. Algoritmul pentru metoda hibrid˘ a de rezolvare a sistemelor de
ecuat ¸ii neliniare este dat de ( 8.55).
Exemplu 1 . S˘ a se g˘ aseasc˘ a solut ¸iile sistemului de ecuat ¸ii
/braceleftbiggx1+ 3 lg|x1|=x2
2
2×2
1+ 1 =x1x2+ 5×1,(8.57)
situate ˆ ın dreptunghiul 0 ≤x1≤4,0≤x2≤3.
Rezolvare . Sistemul ( 8.57) rescrie ˆ ın forma
/braceleftbiggF1(x1,x2)≡x1+ 3 lg|x1|−x2
2= 0
F2(x1,x2)≡2×2
1+ 1−x1x2−5×1= 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=12
(F2
1+F2
2). Matricea jacobian˘ a a sistemului de
funct ¸ii (F1,F2) este
J=/parenleftbigg1 + 3(lge)/x1−2×2
4×1−x2−5−x1/parenrightbigg
. (8.59)
Curbele de nivel1F1= 0 ¸ siF2= 0 sunt date ˆ ın figura ( 8.2). Solut ¸ia sistemului
(8.58) reprezint˘ a din punct de vedere geometric, punctele ˆ ın care curbele de nivel din
planulz= 0 ale celor dou˘ a funct ¸ii se intersecteaz˘ a. Dup˘ a cum se vede ¸ si din figur˘ a,
1Curba de nivel reprezint˘ a acea curb˘ a din planul z=Kpe care o funct ¸ie de dou˘ a
variabilez(x,y) are aceea¸ si valoare K. Pentru trei variabile avem suprafet ¸e de nivel .
8.5.Metoda hibrid˘ a 225
Tabelul 8.1: Rezultatele obt ¸inute la rezolvarea sistemului ( 8.57)
MetodaNr. iterat ¸iiNr. eval. funct ¸ieNr. eval. gradientNewton
3 4 4 Bro
yden14 15 0 Gradien
t ( 8.49) 34104 35 Gradien
t ( 8.54) 34104 35
sistemul admite dou˘ a solut ¸ii, dintre care numai una este ˆ ın domeniul de interes. Se
observ˘ a c˘ a mai exist˘ a o zon˘ a, marcat˘ a cu cercul A, unde curbele de nivel ale celor dou˘ a
funct ¸ii se apropie destul de mult. Astfel de zone sunt dificile ¸ si pot provoca divergent ¸a
metodelor de rezolvare.
Drept criterii de convergent ¸˘ a se recomand˘ a, ˆ ıntr-o norm˘ a de vectorial˘ a oarecare
/bardblFk+ 1/bardbl<εF,/bardblxk+ 1−xk/bardbl<εx/bardblxk+ 1/bardbl, (8.60)
unde valorile εF¸ siεxse aleg ˆ ın funct ¸ie de precizia dorit˘ a, εxeste de forma 10−t,
cutnum˘ arul de cifre semnificative exacte dorite pentru solut ¸ie. Pentru εF= 10−11,
cu metoda Newton folosind ca punct de plecare x1= (3.5,2.5), se determin˘ a solut ¸ia
x1= 3.48744,×2= 2.26163 ˆ ın 3 iterat ¸ii (tabelul 8.1). Cu metoda gradientului solut ¸ia
este obt ¸inut˘ a dup˘ a 34 iterat ¸ii cu ambele formule ( 8.49) ¸ si ( 8.54) pentru scalarul α.
De¸ si s-au efectuat mai multe iterat ¸ii decˆ at cu metoda gradientului cu minimizare
unidimensional˘ a mai exact˘ a (cˆ and au fost necesare numai 17 iterat ¸ii), num˘ arul de
evalu˘ ari ale funct ¸iei scop Ueste sensibil mai mic, 104 fat ¸˘ a de 478.
Metoda Newton e¸ sueaz˘ a dac˘ a se porne¸ ste din punctul x1= (0.5,0.5), de¸ si valoarea
funct ¸ieiUˆ ın acest punct este relativ mic˘ a, U= 0.9945. La fel se ˆ ıntˆ ampl˘ a ¸ si pentru
alte puncte de plecare cu valori x1apropiate de zero. Explicat ¸ia const˘ aˆ ın faptul c˘ a atˆ at
valoarea funct ¸iei F1, cˆ at ¸ si valoarea derivatei ∂F1/∂x1sunt infinite ˆ ın x= 0. Plecˆ and
din acela¸ si punct, x1= (0.5,0.5), metoda gradientului cu scalarul αcalculat cu relat ¸ia
(8.49) oscileaz˘ a circa 50 iterat ¸ii ˆ ın jurul minimului local U(0.4798,−0.32323)∼=0.476,
dup˘ a care “scap˘ a” ¸ si “sare” la cea dea doua solut ¸ie a sistemului, x1= 1.4589,×2=
−1.39677. Folosind formula ( 8.49), metoda gradientului oscileaz˘ a ˆ ın jurul minimul
local al funct ¸iei U. Practic determin˘ a acest minim, care ˆ ıns˘ a nu este o solut ¸ie a
sistemului ( 8.58).
Cea de-a doua solut ¸ie a sistemului (care nu este cerut˘ a ˆ ın enunt ¸ul problemei),
x1= 1.4589,×2=−1.39677, poate fi obt ¸inut˘ a cu metoda Newton ˆ ın 5 iterat ¸ii pornind
din punctul x0= (2.5,−0.5).
Trebuie ment ¸ionat c˘ a problema propus˘ a poate fi rezolvat˘ a mai simplu, exprimˆ and
pex2din ecuat ¸ia a doua ˆ ın funct ¸ie de x1¸ si ˆ ınlocuind ˆ ın prima ecuat ¸ie. Se obt ¸in
relat ¸iile
x2= 2×1−5 + 1/x1, F(x1) =x1+ 3 lg|x1|−(2×1−5 + 1/x1)2= 0 .
Graficul funct ¸iei F(x1) este dat ˆ ın figura 8.3. Ecuat ¸ia obt ¸inut˘ a se poate rezolva cu
metoda Newton-Raphson, sau orice alt˘ a metod˘ a de rezolvare a unei ecuat ¸ii neliniare.
Avantajul principal const˘ aˆ ın posibilitatea localiz˘ arii r˘ ad˘ acinilor. Reducerea num˘ arului
226 8.Rezolvarea sistemelor neliniare
Figura 8.3: Graficul funct ¸iei F(x).
de ecuat ¸ii cuplate ˆ ın sistem prin substituiri, este ˆ ın general avantajoas˘ a. ˆIn plus, ori
de cˆ ate ori este posibil, este benefic˘ a obt ¸inerea unei dependent ¸e de o singur˘ a variabil˘ a
pentru a folosi avantajul localiz˘ arii solut ¸iei.
Exemplu 2. S˘ a consider˘ am o problem˘ a real˘ a din domeniul investigat ¸iilor radar.
Un impuls radar pleac˘ a din E¸ si sufer˘ a reflexii de pe dou˘ a frontiere. Un receptor,
plasat ˆ ınR, m˘ asoar˘ a timpul dup˘ a care este recept ¸ionat semnalul, T2. Un alt receptor
plasat ˆ ınEm˘ asoar˘ a timpul de parcugere pe vertical˘ a, t2.Intereseaz˘ a determinarea
adˆ ancimiiz1. Necunoscutele sunt x1,c1¸ siz1.Pozit ¸ia punctului de refract ¸ie depinde
de propriet˘ at ¸ile dielectrice ale mediului. Timpul de parcurgere a distant ¸ei EABCR
este
T2=/radicalbig
h2+ (d−x1)2/c+/radicalBig
z2
1+x2
1/c1. (8.61)
Pozit ¸ia punctului de refract ¸ie se determin˘ a din aplicarea principiului lui Fermat
∂T2/∂x1=˙0 (8.62)
Rezult˘ a urm˘ atorul sistem de ecuat ¸ii
f1(x1,c1,z1) =t2−2(h/c+z1/c1) (8.63)
f2(x1,c1,z1) =T2−2/parenleftbigg/radicalbig
h2+ (d−x1)2/c+/radicalBig
z2
1+x2
1/c1/parenrightbigg
(8.64)
f3(x1,c1,z1) =x1c/radicalbig
h2+ (d−x1)2−(d−x1)c1/radicalBig
z2
1+x2
1 (8.65)
Rezolvarea sistemului prin metoda Newton nu necesit˘ a decˆ at o singur˘ a 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 hibrid˘ a 227
Figura 8.4: Drumul optic al unei unde prin dou˘ a 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 singur˘ a variabil˘ a independent˘ a) se ˆ ıntˆ alnesc ˆ ın
mod curent ˆ ın descrierea fenomenelor din natur˘ a. Funct ¸iile necunoscute pot fi
viteze, temperaturi, densit˘ at ¸i, sarcini electrice, etc. Variabila independent˘ a este
ˆ ın multe cazuri timpul, cˆ and se descriu fenomene evolutive, sau o coordonat˘ a
spat ¸ial˘ a, cˆ and 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 d˘ a ordi-
nul ecuat ¸iei diferent ¸iale . Dac˘ a avem un sistem de ecuat ¸ii diferent ¸iale (adic˘ a
mai multe ecuat ¸ii care cont ¸in mai multe funct ¸ii necunoscute, ˆ ın num˘ ar egal cu
num˘ arul ecuat ¸iilor diferent ¸iale), ordinul sistemului este egal cu suma ordinelor
ecuat ¸iilor diferent ¸iale care ˆ ıl formeaz˘ a.
ˆIn general, ecuat ¸ia diferent ¸ial˘ a (sau sistemul de ecuat ¸ii diferent ¸iale) nu deter-
min˘ a complet funct ¸ia (sau funct ¸iile) necunoscut˘ a. Pentru a determina complet
solut ¸ia, este necesar ca, odat˘ a cu ecuat ¸ia (sau sistemul) s˘ a se impun˘ a un num˘ ar
de condit ¸ii suplimentare egal cu ordinul ecuat ¸iei diferent ¸iale (sau sistemului de
ecuat ¸ii diferent ¸iale).
230 9.Rezolvarea ecuat ¸iilor diferent ¸iale
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
ˆ ıntˆ ai, vom prezenta la ˆ ınceput metodele de rezolvare numeric˘ a a acestor ecuat ¸ii
mai simple. Trebuie spus c˘ a, pˆ an˘ a la aparit ¸ia calculatoarelor electronice, chiar
rezolvarea unei singure ecuat ¸ii diferent ¸iale de ordinulˆ ıntˆ ai putea ridica dificult˘ at ¸i
mari, de natur˘ a practic˘ a (volum mare de calcule pentru obt ¸inerea unei precizii
acceptabile).
Se consider˘ a o funct ¸ie y=y(x), continu˘ a ¸ si derivabil˘ a pe intervalul de
definit ¸ie (sau cel put ¸in pe intervalul pe care se caut˘ a solut ¸ia); fie [ a,b] inter-
valul pe care se caut˘ a solut ¸ia. Ecuat ¸ia diferent ¸ial˘ a de ordinul ˆ ıntˆ ai se scrie sub
forma implicit˘ a
E(x,y,y/prime) = 0,undey/prime≡dy/dx , (9.1)
x∈[a,b] fiind variabila independent˘ a. Se presupune c˘ a expresia E(x,y,y/prime) se
poate explicita ˆ ın raport cu derivata de ordinul ˆ ıntˆ ai y/primeobt ¸inˆ and forma explicit˘ a
y/prime=f(x,y) , (9.2)
funct ¸iaf(x,y) fiind definit˘ a ¸ si derivabil˘ a pe un dreptunghi [ a,b]×[c,d]⊂R2.
Funct ¸iaf(x,y) se nume¸ ste funct ¸ie pant˘ a , deoarece ˆ ın punctul de coordonate
(x,y) valoarea ei este egal˘ a cu valoarea derivatei ˆ ıntˆ ai a funct ¸iei y(x), numeric
egal˘ a cu panta tangentei la grafic ˆ ın acest punct. Pentru a determina complet
solut ¸ia se d˘ a condit ¸ia suplimentar˘ a
x=x0, y=y0;x0∈[a,b], y0∈[c,d] , (9.3)
unde de obicei x0=asaux0=b.
9.2 Metode cu pa¸ si separat ¸i
Pentru rezolvarea numeric˘ a a ecuat ¸iei ( 9.2) cu condit ¸ia ( 9.3) se ˆ ımparte in-
tervalul [a,b] ˆ ınndiviziuni. Punˆ and x0=a¸ sixn=b, se noteaz˘ a cu xm
(m= 0,1,… ,n ) nodurile diviziunii, iar cu h=xm+1−xmpasul de integrare.
O metod˘ a cu pa¸ si separat ¸i (sau metod˘ a pas cu pas ) este o metod˘ a care
determin˘ a valoarea funct ¸iei la pasul m+ 1 folosind numai valori de la pasul m.
9.2.1 Formule Euler
Cea mai simpl˘ a metod˘ a pas cu pas este metoda Euler de ordinul ˆ ıntˆ ai. ˆIn acest
caz, deplasarea din punctul xmse face dup˘ a direct ¸ia tangentei ˆ ın acest punct la
curbay=y(x). Notˆ and cu K1valoarea derivatei y/prime
m, conform cu ( 9.2) se poate
scrie
K1=y/prime
m=f(xm,ym) , (9.4)
9.2.Metode cu pa¸ si separat ¸i 231
iar formula Euler de ordinul 1 este
¯ym+1= ¯ym+hK1. (9.5)
Plecˆ and de la valoarea y0pentrux=x0, aplicˆ and formula ( 9.5) se obt ¸in va-
lorile ¯ym,m= 1,2,… ,n ale funct ¸iei necunoscute, adic˘ a o funct ¸ie ret ¸ea care
aproximeaz˘ a funct ¸ia c˘ autat˘ a (barele indic˘ a valori aproximative).
Pentru a determina eroarea de trunchiere pentru formula ( 9.5), se admite c˘ a
funct ¸iaypoate fi reprezentat˘ a printr-o formul˘ a Taylor astfel ˆ ıncˆ at
ym+1=ym+hy/prime
m+ (h2/2)y/prime/prime(ξm),undeξm∈(xm,xm+1) . (9.6)
T ¸ inˆ and seama c˘ a ambele formule ( 9.5) ¸ si ( 9.6) se aplic˘ a plecˆ and din x=xm,
rezult˘ a eroarea de trunchiere pentru un pas eTm
eTm=ym+1−¯ym+1= (h2/2)y/prime/prime(ξm) , (9.7)
proport ¸ional˘ a cu pasul diviziunii la puterea a doua. Pentru ˆ ıntregul interval, ˆ ın
cazul cel mai defavorabil, erorile se adun˘ a
eT=n/summationdisplay
m=1eTm=h2
2ny/prime/prime(ξ/prime) =b−a
2hy/prime/prime(ξ/prime), ξ/prime∈(a,b) (9.8)
¸ si deci eroarea este proport ¸ional˘ a cu pasul la puterea ˆ ıntˆ aia. De aceea, for-
mula ( 9.5) este denumit˘ a formul˘ a de ordinul ˆ ıntˆ ai , indicˆ and m˘ arimea erorii de
trunchiere ˆ ın raport cu pasul diviziunii.
Formule Euler de ordinul 2.
O formul˘ a de ordinul 2 este de forma
¯ym+1= ¯ym+h(w1K1+w2K2) , (9.9)
undeK1este dat de ( 9.4), iarK2este de forma
K2=f(x+αh,y +βhK 1) , (9.10)
iar parametrii α,β, w 1¸ siw2se determin˘ a din condit ¸ia ca ( 9.9) s˘ a coincid˘ a
cu primii trei termeni din dezvoltarea ˆ ın serie Taylor a funct ¸iei y(x) ˆ ın jurul
punctuluixm
ym+1=ym+hy/prime
m+ (h2/2)y/prime/prime
m+ (h3/6)y/prime/prime/prime(ξm), ξm∈(xm,xm+1) , (9.11)
unde derivata de ordinul 2, y/prime/primese calculeaz˘ a astfel
y/prime/prime= (y/prime)/prime= [f(x,y)]/prime=fx+fyy/prime, fx≡∂f/∂x, f y≡∂f/∂y . (9.12)
T ¸ inˆ and cont de faptul c˘ a y/prime
m=f(xm,ym) =K1, din ( 9.11) rezult˘ a
ym+1=ym+hK1+ (h2/2)(fxm+fymK1) + (h3/6)y/prime/prime/prime(ξm) , (9.13)
232 9.Rezolvarea ecuat ¸iilor diferent ¸iale
undefxm≡∂f(xm,ym)/∂x . Pe de alt˘ a parte, utilizˆ and o formul˘ a Taylor
pentruK2(ca funct ¸ie de dou˘ a variabile), din ( 9.10) se obt ¸ine
K2=K1+h(αfxm+βK1fym) +O(h2) . (9.14)
DeoareceK2este derivata ˆ ıntˆ ai a funct ¸iei y, vom p˘ astra numai termenii de
ordinulh. Introducˆ and ( 9.14) ˆ ın ( 9.9), se obt ¸ine
¯ym+1= ¯ym+h(w1+w2)K1+h2w2(αfxm+βK1fym) +O(h3) . (9.15)
Identificˆ and relat ¸ia ( 9.15) cu primii trei termeni din ( 9.13), rezult˘ a sistemul
w1+w2= 1, w2α= 1/2, w2β= 1/2 . (9.16)
Sistemul ( 9.16) are patru necunoscute ¸ si numai trei ecuat ¸ii. Teoretic exist˘ a o
infinitate de posibilit˘ at ¸i de a construi o metod˘ a de ordinul 2, dou˘ a variante fiind
mai des ˆ ıntˆ alnite. Prima dintre acestea se obt ¸ine alegˆ and w2= 1/2. Rezult˘ a
α=β= 1,w1= 1/2, obt ¸inˆ andu-se formula Euler ˆ ımbun˘ at˘ at ¸it˘ a
¯ym+1= ¯ym+h
2(K1+K2), K2=f(xm+h,¯ym+hK1) . (9.17)
Cea dea doua se obt ¸ine alegˆ and w2= 1. Rezult˘ a α=β= 1/2,w1= 0,
obt ¸inˆ andu-se formula Euler modificat˘ a
¯ym+1= ¯ym+hK2, K2=f(xm+h/2,¯ym+K1h/2) . (9.18)
Pentru ambele variante K1se calculeaz˘ a cu relat ¸ia ( 9.4). Eroarea de trunchiere
la pasulmesteeTm=ym+1−¯ym+1=O(h3).ˆIn consecint ¸˘ a, formulele ( 9.17) ¸ si
(9.18) vor da o eroare de ordinul h2relativ la ˆ ıntregul interval.
Formulele Euler admit o interpretare geometric˘ a, prezentat˘ a ˆ ın figura ( 9.1).
ˆIn punctulA(xm,¯ym) se construie¸ ste tangenta la graficul funct ¸iei y(x) de pant˘ a
K1. Punctul Bse afl˘ a pe aceast˘ a tangent˘ a, yB= ¯ym+hK1reprezentˆ and
valoarea aproximativ˘ a pentru y(xm+1) obt ¸inut˘ a cu metoda Euler de ordinul
ˆ ıntˆ ai. ˆIn punctul B(xm+1,yB), se evalueaz˘ a prima derivat˘ a a funct ¸iei y, ¯y/prime
B=
f(xm+1,yB)≡K2. Bara de deasupra semnific˘ a faptul c˘ a este vorba de o valoare
aproximativ˘ a, valoarea exact˘ a s-ar obt ¸ineˆ ın punctul E. Valoarea ¯ym+1se obt ¸ine
cu metoda Euler ˆ ımbun˘ at˘ at ¸it˘ a aproximˆ and funct ¸ia pe intervalul [ xm,xm+1] cu
bisectoarea unghiului format de cele dou˘ a pante, K1¸ siK2. Pe figur˘ a, ¯ ym+1=
yC.
Pentru metoda Euler modificat˘ a , ˆ ın punctul A(xm,¯ym) se construie¸ ste tan-
genta la graficul funct ¸iei y(x) de pant˘ aK1. PunctulD(xm+1+h/2,yD) se afl˘ a
pe aceast˘ a tangent˘ a, yD= ¯ym+ (h/2)K1.ˆIn punctulD, se evalueaz˘ a prima de-
rivat˘ a a funct ¸iei y: ¯y/prime
D=f(xm+1+h/2,yD)≡K2. Bara de deasupra semnific˘ a
faptul c˘ a este vorba de o valoare aproximativ˘ a, valoarea exact˘ a s-ar obt ¸ine ˆ ın
punctulF. Valoarea ¯ ym+1se obt ¸ine cu metoda Euler modificat˘ a aproximˆ and
funct ¸ia pe intervalul [ xm,xm+1] cu dreapta de pant˘ a K2. Pe figur˘ a, ¯ ym+1=yC.
9.2.Metode cu pa¸ si separat ¸i 233
Figura 9.1: Interpretarea geometric˘ a a metodelor Euler de ordinul 2.
9.2.2 Formule Runge-Kutta
Din prezentarea anterioar˘ a se observ˘ a c˘ a, luˆ and ˆ ın calcul mai multe puncte (deci
folosind mai multe evalu˘ ari ale funct ¸iei pant˘ a f(x,y)), se obt ¸in formule de ordin
de precizie mai ridicat. De aici apare ideea de a utiliza o expresie general˘ a de
forma
ym+1=ym+hs/summationdisplay
i=1wiKi, (9.19)
Ki=f(xm+αih,ym+hi−1/summationdisplay
j=1βijKj), i∈1,s, j∈1,i−1, α1=β10= 0 ,
(9.20)
undeseste ordinul formulei , iar scalarii wi, αi, βijse determin˘ a din condit ¸ia
ca expresia ( 9.19) s˘ a coincid˘ a cu formula Taylor pˆ an˘ a la termenii ˆ ın hsinclusiv.
S-a renunt ¸at a se mai pune bara pentru a indica valorile aproximative. Pentru
s= 4, relat ¸iile ( 9.20) se scriu
K1=f(xm,ym), K2=f(xm+α2h,ym+β21hK1) ,
K3=f[xm+α3h,ym+h(β32K2+β31K1)] ,
K4=f[xm+α4h,ym+h(β43K3+β42K2+β41K1)] .(9.21)
Pentrus= 2 se reg˘ asesc formulele Euler de ordinul 2. Num˘ arul de parametri
este mai mare decˆ at num˘ arul de condit ¸ii pentru ca ace¸ stia s˘ a fie unic determinat ¸i
ˆ ıncepˆ ands≥2.ˆIn consecint ¸˘ a, pentru acela¸ si ordin s≥2, se obt ¸in diverse
formule, unii dintre parametri fiind ale¸ si 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 ecuat ¸iilor diferent ¸iale
care utilizeaz˘ a derivate calculate la capete ¸ si la jum˘ atatea pasului. Aceasta are
forma
ym+1=ym+ (h/6)(K1+ 2K2+ 2K3+K4) , (9.22)
K1=f(xm,ym), K2=f(xm+h
2,ym+h
2K1)
K3=f(xm+h
2,ym+h
2K2), K4=f(xm+h,ym+hK3) .(9.23)
9.2.3 Formule Runge-Kutta-Gill
O alt˘ a formul˘ a Runge-Kutta de ordin 4, ceva mai complicat˘ a, dar care prezint˘ a
interes din punctul de vedere al controlului propag˘ arii erorilor, este dat˘ a de
urm˘ atorul algoritm:
Date:x0, xn, Y0
x=x0, y=Y0, Q0= 0, h= (xn−x0)/n
m= 0 : (n−1),
K1←f(xm,Ym), Y1←Ym+h
2(K1−2Q0),
Q1←Q0+ 3[12
(K1−2Q0)]−12
K1,
K2←f(xm+h
2,Y1), Y2←Y1+h(1−1/√
2)(K2−Q1),
Q2←Q1+ 3[(1−1/√
2)(K2−Q1)]−(1−1/√
2)K2,
K3←f[xm+h
2,Y2], Y3←Y2+h(1 + 1/√
2)(K3−Q2)
Q3←Q2+ 3[(1 + 1/√
2)(K3−Q2)]−(1 + 1/√
2)K3,
K4←f(xm+h,Y3), ym+1←Y3+h
6(K4−2Q3),
Q4←Q3+ 3[16
(K4−2Q3)]−12
K4
Q0←Q4.(9.24)
Prezent ¸a radicalilor ˆ ın expresiile ( 9.24) este util˘ a deoarece ace¸ stia introduc
ˆ ıntotdeauna o eroare de rotunjire a c˘ arei evolut ¸ie se poate controla la fiecare pas.
Aceast˘ a observat ¸ie st˘ a 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
fiecare pas prin patru componente Q1,Q2,Q3,Q4. Se atrage atent ¸ia c˘ a relat ¸iile
(9.24) nu trebuie modificate (nu se fac simplific˘ ari, reduceri, etc.), ci se p˘ astreaz˘ a
ˆ ın formaˆ ın care sunt scrise, tocmai pentru a putea urm˘ ari propagarea erorilor de
rotunjire. Valorile parametrului Q4dau o indicat ¸ie asupra tendint ¸ei (cre¸ stere,
stat ¸ionare, descre¸ stere) a acestor erori de rotunjire. Astfel, dac˘ a /bardblQ4/bardbldep˘ a¸ se¸ ste
o anumit˘ a margine impus˘ a1, se reduce pasul h. De asemenea, pasul hpoate fi
m˘ arit dac˘ a se apreciaz˘ a c˘ a valoarea /bardblQ4/bardbleste prea mic˘ a2.
1Algoritmul este prezentat ˆ ın forma general˘ a pentru rezolvarea sistemelor de ecuat ¸ii
diferent ¸iale, care vor fi prezentate mai jos. ˆIn acest caz, Q¸ siKsunt vectori.
2Trebuie avutˆ ın vedere faptul c˘ a metoda Runge-Kutta-Gill este superioar˘ a metodei Runge-
Kutta standard din punct de vedere al propag˘ arii erorilor de rotunjire numai dac˘ a toate
calculele se efectueaz˘ a cu acela¸ si num˘ ar de cifre semnificative . Spre exemplu, lucrˆ and cu un
calculator personal, nu vom observa diferent ¸e semnificative ˆ ıntre cele dou˘ a metode, deoarece
calculele intermediare se efectueaz˘ a pe 80 de bit ¸i, indiferent de num˘ arul de bit ¸i folosit ¸i de
compilator pentru reprezentarea unui num˘ ar real.
9.2.Metode cu pa¸ si separat ¸i 235
9.2.4 Alegerea pasului la rezolvarea ecuat ¸iei diferent ¸iale
Estimarea erorii la formulele pas cu pas se poate face repetˆ and calculul cu
pas modificat. Spre exemplu, pentru a verifica dac˘ a pasul heste suficient de
mic pentru asigurarea unei precizii corespunz˘ atoare, se avanseaz˘ a doi pa¸ si din
punctulxmcu pasulh, apoi se reface calculul cu pasul dublu 2 h, dup˘ a schema
xm+h+h=xm+ 2h. (9.25)
ˆIn aceste condit ¸ii, neglijˆ and erorile de rotunjire pe distant ¸a h, utilizˆ and o formul˘ a
Taylor, se poate scrie
y(x+ 2h) =y2h+ (2h)s+1y(s+1)
(ξ1)/(s+ 1)! ,
y(x+ 2h) =yh+hs+1/parenleftBig
y(s+1)
(ξ21)+y(s+1)
(ξ22)/parenrightBig
/(s+ 1)!
=yh+ 2hs+1y(s+1)
(ξ2)/(s+ 1)! ,(9.26)
undeξ1,ξ2∈(x,x+ 2h),ξ21∈(x,x+h),ξ22∈(x+h,x+ 2h).Pentrus= 4
avem
y2h=y(x) + 2hy/prime
(x)+(2h)2
2y/prime/prime
(x)+(2h)3
6y/prime/prime/prime
(x)+(2h)4
24y(4)
(x)
yh=y(x) +hy/prime
(x)+h2
2y/prime/prime
(x)+h3
6y/prime/prime/prime
(x)+h4
24y(4)
(x)+
+hy/prime
(x+h)+h2
2y/prime/prime
(x+h)+h3
6y/prime/prime/prime
(x+h)+h4
24y(4)
(x+h).
Considerˆ and 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
yh−y2h= 2hs+12s−1(
s+ 1)!y(s+1)(ξ)⇒2hs+1
(s+ 1)!y(s+1)(ξ) =yh−y2h
2s−1. (9.28)
Am notatyh,y2hvalorile aproximative ale funct ¸iei yˆ ınx+ 2hobt ¸inute cu pa¸ sii
de integrare hrespectiv 2h. Putem corecta valoarea yh, presupus˘ a mai exact˘ a
decˆ aty2h, cu relat ¸ia
y(x+ 2h)∼=yh+e, e≡(yh−y2h)/(2s−1) . (9.29)
Am obt ¸inut de asemenea o posibilitate de a evalua eroarea absolut˘ a prin terme-
nule. Se poate deci impune mic¸ sorarea ˆ ın continuare a pasului, dac˘ a edep˘ a¸ se¸ ste
o anumit˘ a margine superioar˘ a sau, dimpotriv˘ a, m˘ arirea pasului ˆ ın cazul ˆ ın care
eare o valoare prea mic˘ a.
S˘ a presupunem c˘ a dorim ca eroarea absolut˘ a s˘ a nu dep˘ a¸ seasc˘ a valoarea im-
pus˘ ae0.ˆIn general, eroarea unei metode de ordinul seste de forma
e=hs+1y(s+1)
(ξ)/(s+ 1)! . (9.30)
236 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Se obt ¸ine
/vextendsingle/vextendsingle/vextendsinglee0
e/vextendsingle/vextendsingle/vextendsingle=hs+1
0
hs+1/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingley(s+1)
(ξ0)
y(s+1)
(ξ)/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle⇒h0=S·h·/parenleftbigge0
|e|/parenrightbigg1
s+1
, (9.31)
undeS=|y(s+1)
(ξ0)/y(s+1)
(ξ)|1
s+1este, pentru hsuficient de mic, de ordinul unit˘ at ¸ii
(rezultate bune ˆ ın majoritatea cazurilor pot fi obt ¸inute cu S= 0.9). Dac˘ a
eroarea obt ¸inut˘ a cu pasul heste mai mare decˆ at cea impus˘ a ( e > e 0), atunci
calculul trebuie reluat cu un pas mai mic, h0fiind o estimare bun˘ a a m˘ arimii
acestui pas. Dac˘ a ˆ ın schimb eroarea obt ¸inut˘ a este mult mai mic˘ a decˆ at cea
impus˘ a (e/lessmuche0), ˆ ınseamn˘ a c˘ a pasul de integrare este mai mic decˆ at cel necesar,
iar relat ¸ia ( 9.31) poate fi folosit˘ a pentru estimarea pasului urm˘ ator.
De regul˘ a, ˆ ın locul erorii absolute se folose¸ ste eroarea relativ˘ a definit˘ a ca
ε=|e/yref|, undeyrefeste o valoare de referint ¸˘ a a necunoscutei y(spre exemplu
ultima valoare calculat˘ a, yref=ym+1=yh).ˆIn acest caz se poate scrie
h0=S·h·(ε0/ε)1
s+1. (9.32)
Metoda prezentat˘ a este fiabil˘ a, dar conduce la cre¸ sterea timpului de calcul,
ceea ce nu se justific˘ a ˆ ıntotdeauna. Pentru obt ¸inerea unei estim˘ ari a erorii
absoluteecu pasulh, efectu˘ ams+s+s= 3sevalu˘ ari ale funct ¸iei pant˘ a f(x,y),
dintre care K1=f(xm,ym) este aceea¸ si pentru integrarea cu h¸ si 2h. Pentru
Runge-Kutta de ordinul 4, sunt necesare 11 evalu˘ ari ale funct ¸iei pant˘ a pentru
doi pa¸ si, deci 5 .5 evalu˘ ari pentru un pas. Rezult˘ a un efort de calcul suplimentar
de 1.5 evalu˘ ari ale funct ¸iei pant˘ a pentru a obt ¸ine o estimare a erorii absolute ¸ si
a pasului optim de integrare. ˆIn cazul ˆ ın care pasul heste relativ mare, factorul
de sigurant ¸˘ a Spoate diferi mult de unitate. ˆIn aceast˘ a situat ¸ie, o estimare a
erorii se face comparˆ and cele dou˘ a valori obt ¸inute
e∼=yh−y2h, ε∼=(yh−y2h)/yh. (9.33)
O modalitate mai simpl˘ a pentru a verifica m˘ arimea pasului de integrare la
metoda Runge-Kutta standard, este evaluarea raportului
r=|(K2−K3)/(K1−K2)|. (9.34)
Observˆ and c˘ a pantele K2,K3se evalueaz˘ a ˆ ın acela¸ si punct x=xm+h/2 iar
K1,K2se evalueaz˘ a ˆ ın puncte diferite, pe considerente empirice, se recomand˘ a
ment ¸inerea pasului dac˘ a raportul reste de ordinul 10−2.ˆIn cazul unor ordine
de m˘ arime diferite de 10−2, pasul se modific˘ a (spre exemplu, se ˆ ınjum˘ at˘ at ¸e¸ ste
dac˘ ar∼10−1).
O alt˘ a cale de a obt ¸ine informat ¸ii privitoare la precizia calculelor ¸ si a pasului
necesar este de a folosi dou˘ a formule Runge-Kutta de ordine s¸ sip, de regul˘ a
p=s+ 1. Aceasta ˆ ınseamn˘ a s+p= 2s+ 1 evalu˘ ari ˆ ın total pentru a obt ¸ine o
valoare aproximativ˘ a cu o eroare de ordinul hsprecum ¸ si o estimare a acestei
erori ¸ si a pasului optim de integrare. La prima vedere, pret ¸ul pl˘ atit pare prea
9.2.Metode cu pa¸ si separat ¸i 237
Tabelul 9.1: Valorile coeficient ¸ilor pentru Kutta-Merson
iaiai−biαiβi1βi2βi3βi4
11/61/15 0 2
0 0 1/3 1/3 3
0 −3/101/3 1/6 1/6 4
2/34/15 1/2 1/8 0 3/8 5
1/6−1/301 1/2 0 −3/22
mare. ˆIn realitate nu este a¸ sa deoarece ambele formule folosesc acelea¸ si puncte
pentru evaluarea funct ¸iei pant˘ a, adic˘ a numai p evalu˘ ari ! Acest lucru este po-
sibil, deoarece raportul dintre num˘ arul de evalu˘ ari ale funct ¸iei pant˘ a ¸ si ordinul
metodei cre¸ ste cu ordinul metodei dup˘ a cum urmeaz˘ a:
Num˘ ar de evalu˘ ari 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 general˘ a
ym+1≡yp=ym+h/summationtextp
i=1aiKi, ys=ym+h/summationtextp
i=1biKi,
Ki=f(x+αih,ym+h/summationtexti−1
j=1βijKj) .(9.35)
O estimare a erorii de trunchiere pentru yspoate fi obt ¸inut˘ a cu relat ¸ia
e=yp−ys=hp/summationdisplay
i=1(ai−bi)Ki, (9.36)
iar pasul de integrare necesar obt ¸inerii unei precizii impuse se calculeaz˘ a cu
relat ¸ia
h0=S·h·(e0/|e|)1/p. (9.37)
Din aceast˘ a categorie, prezent˘ am metodele Kutta-Merson ¸ siRunge-Kutta-Fehlberg .
Metoda Kutta-Merson folose¸ ste dou˘ a formule Runge-Kutta de ordine 4, res-
pectiv 5. Coeficient ¸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 evalu˘ ari ale funct ¸iei pant˘ a,
fat ¸˘ a de 5.5 necesare ˆ ın varianta integr˘ arii cu pasul dublu cu eroarea absolut˘ a
dat˘ a de ( 9.33). Varianta pasului dublu este ˆ ıns˘ a mai robust˘ a.
S-a construit o metod˘ a de ordinul 4 ˆ ımpreun˘ a cu o estimare a erorii cu numai
5 evalu˘ ari ale funct ¸iei pant˘ a.
Metoda Runge-Kutta-Fehlberg folose¸ ste o formul˘ a de ordinul 4 cu 5 evalu˘ ari
ale funct ¸iei pant˘ a ¸ si o formul˘ a de ordinul 5 cu 6 evalu˘ ari. Aceasta ˆ ınseamn˘ a 6
evalu˘ ari ˆ ın total pentru a obt ¸ine o valoare aproximativ˘ a cu o eroare de ordinul
h5precum ¸ si o estimare a acestei erori ¸ si a pasului optim de integrare. Valorile
coeficient ¸ilor ai,bi,αi,βijsunt dat ¸i ˆ ın tabelul 9.2.
238 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Tabelul 9.2: Valorile coeficient ¸ilor pentru Runge-Kutta-Fehlberg
iaiai−biαiβi1βi2βi3βi4βi5
116/135 1/360 0 0 2
0 0 1/4 1/4 3
6656/12825 −128/42753/8 3/32 9/32 4
28561/56430 −2197/7524012/13 1932/2197 −7200/21977296/2197 5
−9/501/50 1 439/216 −83680/513 −845/41046
2/55 2/55 1/2 −8/272 3544/2565 1859/4104 −11/40
9.3 Extrapolare Richardson. Metoda Bulirsch-
Stoer
Tehnica extrapol˘ arii de tip Richardson const˘ aˆ ın construirea unei funct ¸ii ym+1(h)
prin calcularea mai multor valori ym+1folosind diferit ¸i pa¸ si h=xm+1−xm,
aproxim˘ area acesteia cu o funct ¸ie mai simpl˘ a (spre exemplu polinom) ¸ si calcu-
larea unei valori aproximative yex
m+1corespunz˘ atoare unei valori hmai mici, ˆ ın
particular pentru h= 0.
Fieym≡y(xm) valori calculate pˆ an˘ a la un moment dat ¸ si xm+1=xm+H
punctul ˆ ın care dorim s˘ a calcul˘ am o valoarea aproximativ˘ a ym+1. Intervalul
(x,x+H) cux≡xmse ˆ ımparte ˆ ın nsubintervale egale, xi+1−xi≡h=H/n,
i∈1,n. Pentru diferite valori n, deci pa¸ si de integrare diferit ¸i, se obt ¸in mai
multe valori aproximative ale necunoscutei yˆ ın punctul xm+1. Se obt ¸in astfel
perechi de valori ( h,ym+1(h)), cu ajutorul c˘ arora se poate calcula o valoare
aproximativ˘ a ym+1(0). De asemenea, avˆ and mai multe valori ym+1pentru pa¸ si
de integrare diferit ¸i, se poate estima eroarea e≡y−ym+1. Dac˘ a aceasta este
prea mare, calculul se repet˘ a pentru un nmai mare (respectiv, un pas mai mic).
Extrapolarea Richardson d˘ a rezultate foarte bune pentru ecuat ¸ii diferent ¸iale a
c˘ aror solut ¸ii sunt funct ¸ii monotone (sau f˘ ar˘ a variat ¸ii mari ale primei derivate)
¸ si nu au puncte singulare ˆ ın intervalul de interes.
Pentru obt ¸inerea unui algoritm performant, trebuie precizate urm˘ atoarele:
(a) metoda de integrare pe intervalul ( x,x+H); (b) metoda de aproximare a
funct ¸ieiym+1(h).
Metoda Bulirsch-Stoer, folose¸ ste urm˘ atoarea strategie de m˘ arire a num˘ arului
de intervale n:
nj= 2nj−2⇒n= 2,4,6,8,12,16,… , (9.38)
care evit˘ a sc˘ aderea prea rapid˘ a a pasului de integrare ˆ ın cazul uzual nj=
2nj−1. Pentru integrarea numeric˘ a a ecuat ¸iei diferent ¸iale se folose¸ ste o metod˘ a
9.4.Metode cu pa¸ si legat ¸i 239
de ordinul 2, definit˘ a de urm˘ atorul algoritm:
z0≡y(xm);z1=z0+h·f(xm,y0)
i= 1 : (n−1)
[zi+1=zi−1+ 2hf(xm+ih,yi)
ym+1=12
[zn+zn−1+hf(x+H,zn)] .(9.39)
Unul din avantajele formulelor ( 9.39) const˘ a ˆ ın faptul c˘ a avem nevoie de nu-
mai o evaluare a funct ¸iei pant˘ a. Avantajul esent ¸ial ˆ ıl constituie ˆ ıns˘ a faptul c˘ a
dezvoltarea ˆ ın serie Taylor a erorii cont ¸ine numai termenii cu puteri pare
e≡ym+1−y(x+H) =/summationdisplay∞
i=1aih2i. (9.40)
Astfel, dac˘ a avem dou˘ a valori yn¸ siyn/2obt ¸inute cu nrespectivn/2 subintervale,
obt ¸inem o valoare ˆ ımbun˘ at˘ at ¸it˘ a
y(x+H)≈(1/3)(4yn−yn/2) (9.41)
deordinul patru ¸ si nu trei cum ar fi fost normal pentru o formul˘ a de ordinul doi.
Pentru extrapolare la valoarea h= 0, Burlisch ¸ si Stoer au g˘ asit mai eficient˘ a
aproximarea cu funct ¸ii rat ¸ionale ˆ ın locul interpol˘ arii polinomiale.
9.4 Metode cu pa¸ si legat ¸i
Principalele deficient ¸e ale metodelor cu pa¸ si separat ¸i sunt: ( a) necesitatea evalu˘ arii
la fiecare pas a unui num˘ ar de funct ¸ii cel put ¸in egal cu ordinul metodei; ( b) eva-
luarea dificil˘ a a erorii de trunchiere.
Deficient ¸ele semnalate pot fi ˆ ınl˘ aturate folosind metode care utilizeaz˘ a mai
bine valorile deja calculate ale funct ¸iei necunoscute. Aceste metode se numesc
metode cu pa¸ si legat ¸i saumetode multipas . Ideea este urm˘ atoarea: s˘ a presupu-
nem, revenind la ecuat ¸ia ( 9.2), c˘ a se cunoa¸ ste solut ¸ia y(x). Atunci funct ¸ia pant˘ a
f(x,y(x)) este o anumit˘ a funct ¸ie de x, notat˘ a cu Φ( x)≡f(x,y(x)). Integrˆ and
ecuat ¸ia ( 9.2) termen cu termen, pe un interval [ xm−k,xm+1],m= 0,1,2,… ,
se obt ¸ine
ym+1=ym−k+/integraldisplayxm+1
xm−kΦ(x)dx (9.42)
(figura 9.2).ˆIn relat ¸ia ( 9.42), funct ¸ia Φ( x) este necunoscut˘ a, dar poate fi apro-
ximat˘ a utilizˆ and 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 stˆ anga. Introducem num˘ arul real αprin relat ¸ia
x=xm+αh, α≤1 . (9.43)
240 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Figura 9.2: Funct ¸ia Φ( x).
Funct ¸ia Φ(x) se va reprezenta ˆ ın forma
Φ(x)≡Φ(xm+αh) = Φm+α∇Φm+…+ (−1)rCr
−α∇rΦm+Rr, (9.44)
rfiind gradul polinomului de interpolare, ∇operatorul diferent ¸˘ a la stˆ anga, iar
Rrrestul la interpolare
Rr= (−1)r+1hr+1Cr+1
−αΦ(r+1)(ξ), ξ∈(xm−r,x) . (9.45)
T ¸ inˆ and seama de ( 9.44), relat ¸ia ( 9.42) se scrie
ym+1=ym−k+h/integraldisplay1
−k/parenleftbig
Φm+α∇Φm+…+ (−1)rCr
−α∇rΦm/parenrightbig
dα+δm,
(9.46)
δmfiind eroarea la integrare la pasul m
δm= (−1)r+1hr+2/integraldisplay1
−kCr+1
−αΦr+1(ξ)dα. (9.47)
Constat˘ am c˘ a avem doi parametri la dispozit ¸ie: r, gradul polinomului de
interpolare, grad care d˘ a ordinul de precizie al formulei (egal cur+ 1) ¸ sik, pa-
rametrul care d˘ a intervalul de integrare. Existent ¸a acestor doi parametri permit
obt ¸inerea de formule diferite, la acela¸ si ordin de precizie. ˆIn cele ce urmeaz˘ a d˘ am
unele formule mai des folosite obt ¸inute direct din aplicarea formulelor generale
(9.46) ¸ si ( 9.47).
a)Pentrur= 3,k= 0, se obt ¸ine formula predictor a lui Adams
y(A)
m+1=ym+h
24(55fm−59fm−1+ 37fm−2−9fm−3) ,
δm=251720
h5Φ(4)(ξ) =251720
h5Φ(4)
m+O(h6) .(9.48)
9.4.Metode cu pa¸ si legat ¸i 241
b)Pentrur= 3,k= 3, se obt ¸ine formula predictor a lui Milne
y(M)
m+1=ym−3+4h
3(2fm−fm−1+ 2fm−2) ,
δm=1445
h5Φ(4)(ξ) =1445
h5Φ(4)
m+O(h6) .(9.49)
c)Pentrur= 5,k= 5, se obt ¸ine o formul˘ a de ordinul 6
ym+1=ym+3h
10(11fm−14fm−1+ 26fm−2−14fm−3+ 11fm−4) ,
δm=41140
h7Φ(6)(ξ) =41140
h7Φ(6)
m+O(h8) .
(9.50)
Observat ¸ii.
1.Formulele prezentate ˆ ın acest paragraf sunt explicite pentru c˘ a tot ¸i terme-
nii din dreapta semnului egal sunt cunoscut ¸i. Formulele explicite cu pa¸ si
legat ¸i se mai numesc formule predictor .
2.Formulele explicite multipas necesit˘ a evaluarea unei singure funct ¸ii fmla
fiecare pas, indiferent de ordinul de pecizie al formulei.
3.Erorile de trunchiere δmau expresii simple care permit evaluarea erorii ˆ ın
mod simplu. Spre exemplu, utilizˆ and formulele Adams ¸ siMilne , se obt ¸ine,
cu o aproximat ¸ie de ordinul O(h6)
ym+1=y(A)
m+1+25127
(y(M)
m+1−y(A)
m+1) +O(h7) . (9.51)
4.Formulele multipas nu pot lua startul singure; pentru start se utilizeaz˘ a o
formul˘ a pas cu pas, ˆ ın general de acela¸ si ordin.
5.Luˆ and ˆ ın considerare ¸ si evaluarea erorii, economia de calcul pentru me-
todele cu pa¸ si legat ¸i este ˆ ınc˘ a ¸ si mai mare, ˆ ın comparat ¸ie cu metodele cu
pa¸ si separat ¸i.
9.4.2 Formule implicite
Deoarece polinomul de interpolare obt ¸inut din ( 9.44) se extrapoleaz˘ a ˆ ın xm+1,
erorileδmale formulelor multipas explicite sunt relativ mari. Pentru reducerea
acestor erori, se folosesc formule implicite . Formulele implicite cu pa¸ si legat ¸i se
mai numesc formule corector . Dup˘ a cum vom vedea, formulele corector nu pot
fi folosite singure, ele avˆ and nevoie de o valoare aproximativ˘ a init ¸ial˘ a pe care o
ˆ ımbun˘ at˘ at ¸esc iterativ. Aceast˘ a valoare aproximativ˘ a este furnizat˘ a de o formul˘ a
predictor, ansamblul celor dou˘ a formule formˆ and o formul˘ a predictor-corector .
ˆIn scopul evit˘ arii extrapol˘ arii, la construirea polinomului de interpolare se
ia ˆ ın considerat ¸ie ¸ si valoarea ym+1. Se redefine¸ ste variabila α(9.43) prin
x=xm+1+αh, α≤0 (9.52)
242 9.Rezolvarea ecuat ¸iilor diferent ¸iale
iar funct ¸ia Φ( x) se reprezint˘ a sub forma similar˘ a cu ( 9.44)
Φ(x)≡Φ(xm+1+αh) = Φm+1+α∇Φm+1+…+ (−1)rCr
−α∇rΦm+1+Rr,
(9.53)
restul fiind dat de relat ¸ia ( 9.45). Relat ¸iile ( 9.42) ¸ si ( 9.53) ne conduc la
ym+1=ym−k+h/integraltext0
−k−1(Φm+1+α∇Φm+1+…+ (−1)rCr
−α∇rΦm+1)dα+δm,
δm= (−1)r+1hr+2/integraltext0
−k−1Cr+1
−αΦr+1(ξ)dα.
(9.54)
De aceast˘ a dat˘ a, expresiile pentru ym+1sunt implicite deoarece Φ m+1de-
pinde de valoarea necunoscut˘ a ym+1, Φm+1=f(xm+1,ym+1). Pentru a vedea
modul de lucru efectiv, se consider˘ a mai ˆ ıntˆ ai cˆ ateva formule uzuale
a)Formula corector a lui Adams se obt ¸ine pentru r= 3,k= 0
y(A)
m+1=ym+h
24(9fm+1+ 19fm−5fm−1+fm−2) ,
δm=−19720
h5Φ(4)(ξ) =−19720
h5Φ(4)
m+O(h6) .(9.55)
b)Formula corector a lui Milne se obt ¸ine pentru r= 3,k= 1
y(M)
m+1=ym−1+h
3(fm+1+ 4fm+fm−1) ,
δm=−190
h5Φ(4)(ξ) =−190
h5Φ(4)
m+O(h6) .(9.56)
c)Pentrur= 5,k= 3, se obt ¸ine urm˘ atoarea formul˘ a de ordinul 6 :
ym+1=ym−3+2h
45(7fm+1+ 32fm+ 12fm−1+ 32fm−2+ 7fm−3) ,
δm=−8945
h7Φ(6)(ξ) =−8945
h7Φ(4)
m+O(h8) .
(9.57)
Se constat˘ a c˘ a toate formulele implicite au structura
ym+1=a+bhf(xm+1,ym+1) , (9.58)
undea¸ sibsunt constante. Relat ¸ia ( 9.58) reprezint˘ a o ecuat ¸ie ˆ ın necunoscuta
ym+1care poate fi rezolvat˘ a numeric iterativ. Condit ¸ia suficient˘ a ca ¸ sirul de
iterat ¸ii
y(k+1)
m+1=a+bhf(xm+1,y(k)
m+1) (9.59)
s˘ a fie convergent este (vezi 3.2.1)
|b·h·∂f/∂y|<1 (9.60)
¸ si poate fi satisf˘ acut˘ a ˆ ıntotdeauna pentru hsuficient de mic. Problema este ca
precizia dorit˘ a s˘ a se ating˘ a astfel ˆ ıncˆ at num˘ arul de evalu˘ ari ale funct ¸iei pant˘ a
9.5.Propagarea erorilor. Stabilitate. 243
f(x,y) s˘ a fie mai mic decˆ at 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+1dat˘ a de o formul˘ a
multipas explicit˘ a, de acela¸ si ordin, formul˘ a utilizat˘ a ca predictor, ˆ ın timp ce
formula implicit˘ a ( 9.58) folose¸ ste drept corector. O asemenea combinat ¸ie se
nume¸ ste formul˘ a predictor-corector .
Metoda predictor-corector ne furnizeaz˘ a posibilitatea de evaluare a erorii ¸ si
de a face astfel o nou˘ a corect ¸ie. Astfel, utilizˆ and formulele Adams ( 9.48) ¸ si
(9.55), se obt ¸ine
ym+1=y(Ac)
m+1−19270
(y(Ac)
m+1−y(Ap)
m+1) +O(h6) . (9.61)
Diferent ¸a dintre valorile date de cele dou˘ a metode, ne permite s˘ a apreciem
oportunitatea schimb˘ arii pasului.
La fel, neglijˆ and erorile de rotunjire, utilizˆ and formulele predictor-corector
Milne de ordinul 4 ( 9.49) ¸ si ( 9.56), se obt ¸ine
ym+1=y(Mc)
m+1−129
(y(Mc)
m+1−y(Ap)
m+1) +O(h6) . (9.62)
9.5 Propagarea erorilor. Stabilitate.
Dup˘ a cum s-a v˘ azut ˆ ın capitolul 4, orice calcul numeric este afectat de erori de
metod˘ a ¸ si de erori de rotunjire . O metod˘ aˆ ın care erorile introduseˆ ıntr-o anumit˘ a
etap˘ a nu sunt amplificate la pa¸ sii urm˘ atori de calcul se nume¸ ste stabil˘ a . Trebuie
observat ˆ ıns˘ a c˘ a aceast˘ a definit ¸ie se aplic˘ a numai pentru probleme corect puse ,
adic˘ a pentru ecuat ¸ii diferent ¸iale ¸ si condit ¸ii la limite pentru care solut ¸iile exist˘ a
¸ si sunt stabile. O solut ¸ie este instabil˘ a ˆ ın sensul lui Hadamard dac˘ a variat ¸ii mici
ˆ ın parametri introduc variat ¸ii mari ˆ ın solut ¸ie. Evident c˘ a ˆ ın asemenea cazuri
orice metod˘ a numeric˘ a utilizat˘ a va conduce la erori necontrolabile.
Pe de alt˘ a parte, erorile absolute pot fi amplificate, dar ˆ ın acela¸ si timp, este
posibil ca erorile relative ˆ ın modul s˘ a r˘ amˆ an˘ a pe loc sau chiar s˘ a scad˘ a, ca
urmare a cre¸ sterii valorilor solut ¸iei, ˆ ın modul. ˆIn acest caz, se poate spune c˘ a
metoda este relativ stabil˘ a .
Pentru a scoate ˆ ın evident ¸˘ a mai concret situat ¸iile care pot apare, vom con-
sidera c˘ a, la pasul x=xm, ecuat ¸ia de rezolvat are forma
y/prime=fm+am(x−xm) +bm(y−ym)≡f(x,y) , (9.63)
cu condit ¸ia ca pentru x=xm,y=ym, iaram,bm,fmsunt constante pe
intervalul ( xm,xm+1). Vom presupune bm/negationslash= 0, altfel problema se reduce la o
simpl˘ a integral˘ a obi¸ snuit˘ a. Ecuat ¸ia ( 9.63) are solut ¸ia exact˘ a
y=ym−Amebm(x−xm)+Am+Bm(x−xm),
Am=−fm/bm−am/b2
m, Bm=−am/bm, bm/negationslash= 0 .(9.64)
A¸ sa cum se observ˘ a, membrul drept din ( 9.63) cont ¸ine primii 3 termeni din
dezvoltarea Taylor a funct ¸iei de dou˘ a variabile f(x,y). Dac˘ af(x,y) este o
244 9.Rezolvarea ecuat ¸iilor diferent ¸iale
funct ¸ie de gradul ˆ ıntˆ ai ˆ ın variabilele x,y, atunci expresia ( 9.64) este exact˘ a,
dac˘ a valorile ymsunt exacte. Pentru x=xm+1, solut ¸ia ( 9.64) devine
ym+1=ym−Amebmh+Am+Bmh. (9.65)
S˘ a compar˘ am rezultatul ( 9.65) cu formulele Runge-Kutta de ordinul 4 ¸ si
Milne-predictor de acela¸ si ordin. Pentru ecuat ¸ia ( 9.63), formula Runge-Kutta
(9.22) d˘ a
¯y(RK)
m+1= ¯y(RK)
m−¯Am/summationdisplay4
n=0(bmh)n/n! +¯Am+¯Bmh+eRm, (9.66)
eRmfiind eroarea de rotunjire cu care obt ¸inem numeric valoarea ¯ y(RK)
m+1. S-a
folosit bara pentru a indica valorile aproximative. Pe de alt˘ a parte, s-a avut
ˆ ın vedere c˘ a, la pasul x=xm, problema se rezolv˘ a prin metoda Runge-Kutta
pentru o condit ¸ie init ¸ial˘ a alterat˘ a ( y= ¯ym).
Eroarea absolut˘ a em+1este, conform definit ¸iei, diferent ¸a ym+1−¯y(RK)
m+1
e(RK)
m+1=e(RK)
m−(Am−¯Am)(ebmh−1)−¯Am(bmh)5
5!ebmξm+ (Bm−¯Bm)−eRm.
(9.67)
S-a folosit formula Taylor pentru a ˆ ınlocui
/summationdisplay4
n=0(bmh)n/n! =ebmh−(bmh)5
5!ebmξm, ξ∈(xm,xm+1) . (9.68)
Prin sumare de la x=x0lax=xm+1, din ( 9.67) se obt ¸ine
e(RK)
m+1=e0−m/summationdisplay
i=0/bracketleftbigg
(Ai−¯Ai)(ebih−1) + ¯Ai(bih)5
5!ebiξ−(Bi−¯Bi)h+eRi/bracketrightbigg
.
(9.69)
Erorile init ¸iale e(RK)
0¸ sieR0putˆ and fi considerate nule, iar coeficient ¸ii Ai,¯Ai¸ si
Bi,¯Bi, egali, relat ¸ia ( 9.69) se poate scrie
e(RK)
m+1=m/summationdisplay
i=1/bracketleftbigg
(1−ebih)(Ai−¯Ai)−¯Ai(bih)5
5!ebiξ+ (Bi−¯Bi)h+eRi/bracketrightbigg
. (9.70)
Pe de alt˘ a parte, prin sumare, din ( 9.65) se obt ¸ine
ym+1=y0+m/summationdisplay
i=0/bracketleftbig
(1−ebih)Ai+Bih/bracketrightbig
. (9.71)
Eroarea relativ˘ a εm+1va fi raportat˘ a la valoarea exact˘ a ym
ε(RK)
m+1=e(RK)
m+1/ym+1. (9.72)
Din relat ¸iile ( 9.70) ¸ si ( 9.71) se deduce c˘ a
9.5.Propagarea erorilor. Stabilitate. 245
1. Dac˘ abmh∈(0,1), atunci ebm>1, undebm= (∂f/∂x )m, eroarea
absolut˘ ae(RK)
m+1cre¸ ste ˆ ın modul cu num˘ arul mde pa¸ si parcur¸ si. Totodat˘ a cre¸ ste
valoareaym+1dac˘ aAm/negationslash= 0. Prin urmare, eroarea relativ˘ a ε(RK)
m+1poate fi mic˘ a,
iar solut ¸ia relativ stabil˘ a . Cazul critic se produce pentru
Am= 0,y/prime/prime
m=am+bmfm= 0 (9.73)
ˆ ın care caz termenul exponent ¸ial dispare din solut ¸ia exact˘ a. Aceast˘ a situat ¸ie se
poate produce pentru anumite condit ¸ii la limite. ˆIn fapt, anularea derivatei y/prime/prime
ˆ ın fiecare punct conduce la o funct ¸ie de gradul ˆ ıntˆ ai. Ca urmare, atˆ at eroarea
absolut˘ ae(RK)
m+1cˆ at ¸ si cea relativ˘ a, ε(RK)
m+1pot cre¸ ste oricˆ at de mult, indiferent
de metoda numeric˘ a folosit˘ a . De aceea se spune c˘ a solut ¸ia, pentru condit ¸ia la
limit˘ a care satisface ( 9.73), este inerent instabil˘ a numeric .
2. Dac˘ abmh∈(−1,0), atunciebmh<1, iar solut ¸ia poate deveni instabil˘ a
odat˘ a cu sc˘ aderea ˆ ın modul a valorilor solut ¸iei.
ˆIn continuare, vom ar˘ ata particularit˘ at ¸ile propag˘ arii erorilor pentru formu-
lele multipas. Pentru a aplica formula Milne (9.56) ecuat ¸iei ( 9.63), vom scrie
¯fm+1=¯fm+ ¯amh+¯bm(¯y(M)
m+1−¯y(M)
m) (9.74)
de unde, prin sumare, se obt ¸ine
¯fm+1=¯f0+m/summationdisplay
i=0/bracketleftBig
¯aih+¯bi(¯y(M)
i+1−¯y(M)
i)/bracketrightBig
, i∈0,m, (9.75)
bara indicˆ and c˘ a valorile se calculeaz˘ a cu erori de trunchiere ¸ si rotunjire. Pentru
ai=constant= a,bi=constant= b, din ( 9.75) se obt ¸ine
¯fm+1=¯f0+ ¯ah(m+ 1) + ¯b(¯y(M)
m+1−y0), m= 0,1,2,… . (9.76)
T ¸ inˆ and seama de ( 9.76), din formula Milne ( 9.56) se obt ¸ine urm˘ atoarea
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(f0−¯by0) + 2ah2m.
Ecuat ¸ia ˆ ın diferent ¸e ( 9.77) se rezolv˘ a similar cu ecuat ¸iile diferent ¸iale cu
coeficient ¸i constant ¸i, neomogene. Astfel, ecuat ¸ia omogen˘ a (f˘ ar˘ a membrul drept)
admite solut ¸ii de forma ¯ ym=rm, numerelerfiind date de solut ¸iile ecuat ¸iei ca-
racteristice
(1−¯bh/3)r2−(4¯bh/3)r−(1 +¯bh/3) = 0 . (9.78)
Se obt ¸in solut ¸iile
r1= (2¯bh+/radicalbig
9 + 3 ¯b2h2)/(3−¯bh)
r2=−(1/r1)(3 + ¯bh)/(3−¯bh) = (2 ¯bh−/radicalbig
9 + 3 ¯b2h2)/(3−¯bh) .(9.79)
246 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Solut ¸ia general˘ a a ecuat ¸iei ( 9.77) se obt ¸ine adunˆ and la solut ¸ia ecuat ¸iei omogene
o solut ¸ie particular˘ a. Astfel, introducˆ and ¸ si o eroare de rotunjire, eRm, rezult˘ a
¯y(M)
m=C1r1m+C1r2m+y0−(¯a+¯bf0)/¯b2−m(¯ah)/¯b+eRm. (9.80)
Pentru determinarea constantelor C1¸ siC2, se pun condit ¸iile
/braceleftBigg
x=x0, m= 0,¯y(M)
0=y0, eR0= 0
x=x1, m= 1,¯y(M)
1= ¯y1,(9.81)
valoarea ¯y1fiind furnizat˘ a de o metod˘ a pas cu pas sau de o alt˘ a metod˘ a. Pe de
alt˘ a parte, solut ¸ia exact˘ a ( 9.65), pentruai=a=constant ¸ si bi=b=constant,
devine
ym+1=ym−Am(ebh−1)−ha/b . (9.82)
ˆInlocuind apoi Amdin ( 9.64) ¸ sifmdintr-o relat ¸ie de tipul ( 9.76) din ( 9.82) se
obt ¸ine urm˘ atoarea ecuat ¸ie ˆ ın diferent ¸e finite
ym+1−ymebh= [(a+bf0)/b2−y0](ebh−1)−ha/b +h(a/b)(ebh−1)m.
Solut ¸ia ecuat ¸iei ˆ ın diferent ¸e finite de mai sus este
ym=Kebhm+y0−m(a+bfo)/b+e/prime
Rm, (9.83)
undee/prime
Rmeste o constant˘ a de rotunjire, iar constanta Kse determin˘ a din
condit ¸iax=x0,ym=y0,e/prime
R0= 0. Rezult˘ a solut ¸ia exact˘ a ˆ ın absent ¸a ero-
rilor de rotunjire
ym=(a+bf0)
b2(ebhm−1)−ahb
m+y0+e/prime
Rm. (9.84)
Se observ˘ a prezent ¸a termenului exponent ¸ial ebhm. Pe de alt˘ a parte, utilizˆ and
condit ¸ia ( 9.81), ecuat ¸ia ( 9.80) devine
¯y(M)
m=1¯
b2(¯a+¯b¯f0)(r1m−1) +C2(r2m−r1m)−1¯
b¯ahm +y0+eRm. (9.85)
Impunˆ and, pentru comparat ¸ie, condit ¸ia ca la primul pas erorile de trunchiere
s˘ a fie neglijabile ¸ si luˆ and ˆ ın plus ¯ a=a,¯b=b, vom scrie
¯y(M)
m=y1=1
b2(a+bf0)(ebh−1)−ha/b +e/prime
R1. (9.86)
Se deduce astfel expresia constantei C2din solut ¸ia ( 9.85)
C2=3−bh
29+3b2h2/bracketleftBig
a+bf0
b2(r1−ebh) +eR1−e/prime
R1/bracketrightBig
=
=3−bh
29+3b2h2/bracketleftBig
a+bf0
b2/parenleftBig
b5h5
180+O(b6h6)/parenrightBig
+eR1−e/prime
R1/bracketrightBig
.(9.87)
9.6.Sisteme de ecuat ¸ii diferent ¸iale. Ecuat ¸ii de ordin superior 247
ˆIn (9.87) s-a t ¸inut seama c˘ a dezvolt˘ arile ˆ ın serie Taylor ale funct ¸iilor r1¸ siebh
coincid pˆ an˘ a la termenii ˆ ın b5h5. Mai precis
r1=/summationdisplay4
i=0(bh)/prime
i!+b5h5
72+O(b6h6),|bh|<1 . (9.88)
Eroarea absolut˘ a ˆ ın cazul metodei Milne-predictor este
e(M)
m=ym−¯y(M)
m=1
b2(a+bf0)(ebhm−r1m)−C2(r2m−r1m) +e/prime
Rm−eRm,
depinzˆ and atˆ at de r1cˆ at ¸ si der2(vezi ( 9.79)). Se observ˘ a aparit ¸ia unui termen
suplimentar ˆ ın ecuat ¸ia cu diferent ¸e Milne, legat de existent ¸a a dou˘ a solut ¸ii r1,
r2ale ecuat ¸iei ˆ ın diferent ¸e ( 9.77), fat ¸˘ a de solut ¸ia exact˘ a ( 9.84). Dintre cele dou˘ a
solut ¸ii,r1este cea care urmeaz˘ a ˆ ındeaproape exponent ¸iala ebh, ˆ ın timp ce r2
este o solut ¸ie str˘ ain˘ a .
Dac˘ abh∈(0,1), atuncir1>1, iarr2avˆ and dezvoltarea r2=−(1−bh/3 +
b2h2/18 +…) este, ˆ ın modul, subunitar ( |r2|<1). Ca urmare, solut ¸ia proprie,
r1m, este preponderent˘ a, iar erorile de trunchiere sunt proport ¸ionale cu |ebh−r1|,
dac˘ a (a+bf0)/negationslash= 0. Solut ¸ia este relativ stabil˘ a : eroarea relativ˘ a |εm|descre¸ ste.
Dac˘ abh∈(−1,0), atunci termenul ˆ ın r2meste preponderent ( |r2>1) ¸ si
solut ¸ia este numeric instabil˘ a , atˆ at eroarea absolut˘ a cˆ at ¸ si cea relativ˘ a crescˆ and
ˆ ın modul.
Cazul critic este: a+bf0= 0, ¯a+¯bf0/negationslash= 0, caz ˆ ın care avem
C23−bh
2/radicalbig
9 + 3 ¯b2h2/bracketleftbigg¯a+¯bf0
¯b2r1+eR1−e/prime
R1/bracketrightbigg
, (9.89)
iar solut ¸ia este instabil˘ a numeric, ca ¸ si ˆ ın cazul metodei Runge-Kutta ( instabi-
litate inerent˘ a ).
9.6 Sisteme de ecuat ¸ii diferent ¸iale. Ecuat ¸ii de
ordin superior
Sistemele de ecuat ¸ii diferent ¸iale ordinare se rezolv˘ a numeric prin extinderea unor
procedee utilizate la rezolvarea ecuat ¸iei diferent ¸iale de ordinul ˆ ıntˆ ai. Aspecte
noi sunt introduse ˆ ıns˘ a de condit ¸iile impuse pentru select ¸ionarea solut ¸iei. Din
acest punct de vedere distingem dou˘ a categorii de probleme: ( a) probleme cu
valori init ¸iale ( Cauchy ); (b) probleme cu valori la limite. ˆIn ambele cazuri se
consider˘ a sistemul de ecuat ¸ii diferent ¸iale adus la forma canonic˘ a, adic˘ a la forma
y/prime
i=fi(x,yi), i∈1,n, (9.90)
nfiind num˘ arul de ecuat ¸ii, egal cu num˘ arul funct ¸iilor necunoscute yi(x). Funct ¸iile
fi(x,yi) pot cont ¸ine pe lˆ ang˘ a variabila independent˘ a x, toate necunoscutele yi,
dar nu pot cont ¸ine nici o derivat˘ a.
Ordinul sistemului de ecuat ¸ii diferent ¸iale se obt ¸ine adunˆ and ordinele tuturor
ecuat ¸iilor din sistem. Num˘ arul de condit ¸ii necesare pentru ca solut ¸ia s˘ a fie unic
determinat˘ a este egal cu ordinul sistemului (ˆ ın cazul de fat ¸˘ a ordinul este n).
248 9.Rezolvarea ecuat ¸iilor diferent ¸iale
9.6.1 Probleme cu valori init ¸iale
ˆIn acest caz, considerˆ and un interval [ a,b] pe care se construie¸ ste solut ¸ia, condit ¸iile
sunt impuseˆ ıntr-un singur punct, uzual x=a. Combinat ¸ia de ecuat ¸ii diferent ¸iale
cu condit ¸ii ˆ ıntr-un sigur punct,
y/prime
i=f(x,y1,,yn), x=a, y=yi0, i∈1,n, (9.91)
se nume¸ ste problem˘ a Cauchy , sau problem˘ a cu valori init ¸iale . Se presupun
ˆ ındeplinite condit ¸iile necesare pentru ca problema Cauchy s˘ a admit˘ a solut ¸ie
unic˘ a. Fie xi,i= 0,1,… ,N o partit ¸ie uniform˘ a a intervalului [ a,b],x0=a,
xN=bavˆ and pasul h= (xN−x0)/N. Aplicˆ and formula Runge-Kutta de
ordinul patru ( 9.22) pentru fiecare ecuat ¸ie a sistemului ( 9.90) se obt ¸ine
yi,m+1=yi,m+h
6(Ki1+ 2Ki2+ 2Ki3+Ki4),i∈1,n, (9.92)
unde
Ki1=fi(xm,yi,m), K i2=fi(xm+h
2,yi,m+h
2Ki1),
Ki3=fi(xm+h
2,yi,m+h
2K2), Ki4=fi(xm+h,yi,m+hKi3) .(9.93)
Ordinea de calcul a derivatelor este urm˘ atoarea: se calculeaz˘ a Ki1pentru tot ¸i
indiciii= 1,2,… ,n , apoiKi2, ¸ s.a.m.d. Plecˆ and din punctul x0cu valorile
init ¸iale date de ( 9.91) se calculeaz˘ a valorile yi,mpas cu pas.
Criteriile de modificare a pasului sunt similare cu cele din cazul unei singure
ecuat ¸ii diferent ¸iale. Folosirea criteriului simplu const˘ a ˆ ın calculul raportului
r= sup
i/vextendsingle/vextendsingle/vextendsingle/vextendsingleKi2−Ki3
Ki1−Ki2/vextendsingle/vextendsingle/vextendsingle/vextendsingle∼0.01 (9.94)
¸ si ˆ ınjum˘ at˘ at ¸irea pasului dac˘ a r≥0.1, sau dublarea pasului dac˘ a r≤0.001.
Criteriul calcului dublu cu pa¸ siih¸ si 2hconsider˘ a, dup˘ a modelul ( 9.25) can-
titateaδ
δ= sup
i|y(h)
i−y(2h)
i|
2s−1, (9.95)
undey(h)
ieste calculat cu pasul hiary(2h)
icu pasul 2h,sfiind ordinul metodei.
Pasul se p˘ astrez˘ a dac˘ a δse afl˘ a ˆ ıntr-un interval considerat dinainte. Limitele
pentruδse stabilesc ˆ ın funct ¸ie de problema care se rezolv˘ a. ˆIn cazul cˆ and se
lucreaz˘ a adimensional, δ∈(10−6,10−4) este un interval uzual, ˆ ın funct ¸ie de
precizia dorit˘ a ¸ 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=yi,m+h
24(55fi,m−59fi,m−1+ 37fi,m−2−9fi,m−3) ,
y(Ac)
i,m+1=yi,m+h
24(9fi,m+1+ 19fi,m−5fi,m−1+fi,m−2) ,
yi,m+1=y(Ac)
i,m+1−19270
(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 luat˘ a sub una din formele
h·sup|∂fi/∂yj|<(1/n)(24/9);h·|∂fi/∂yj|∞<(24/9), i,j∈1,n, (9.97)
undeJ= (∂fi/∂yj)i,j∈1,neste matricea jacobian˘ a a funct ¸iilor pant˘ a.
Criteriul de ment ¸inere sau de modificare a pasului ˆ ıl reprezint˘ a p˘ astrarea
sub o anumit˘ a limit˘ a a diferent ¸ei de valori ˆ ıntre formula predictor ¸ si formula
corector, spre exemplu
19270
sup|y(Ac)
i,m+1−y(Ap)
i,m+1|<ε, (9.98)
cuε= 10−s, sfiind num˘ arul de cifre semnificative exacte dorite ˆ ın solut ¸ia
aproximativ˘ a. Dac˘ a s-a lucrat adimensional, normˆ andu-se rezonabil variabilele,
ε∈(10−6,10−4) pentru o precizie corespunzˆ and la 4 ÷6 zecimale.
9.6.2 Probleme cu valori la limite
Consider˘ am ˆ ın cele ce urmeaz˘ a sistemul de ecuat ¸ii cu condit ¸iile la limite
y/prime
i=f(x,y1,,yn),/braceleftbigg
x=x0, yj=yj,0, j∈1,n1,
x=xN, yk=yk,N, k∈1,n2.(9.99)
Avem decin1condit ¸ii impuse la un cap˘ at al intervalului ¸ si n2condit ¸ii la cel˘ alalt
cap˘ at, cun1+n2=n. Deoarece ˆ ın punctul init ¸ial x=x0nu sunt date toate
valorile funct ¸iilor yi,0,i∈1,n, startul nu poate fi luat. Metodele de rezolvare a
problemelor cu condit ¸ii la limite se ˆ ımpart ˆ ın dou˘ a mari categorii: ( a)metoda
tirului care se bazeaz˘ a pe transformarea problemei cu condit ¸ii la limite ˆ ıntr-o
problem˘ a cu condit ¸ii init ¸iale, prin estimarea valorilor lips˘ a de la unul din capetele
intervalului ˆ ın a¸ sa fel ˆ ıncˆ at s˘ a fie ˆ ındeplinite condit ¸iile la limit˘ a de la cel˘ alalt
cap˘ at; (b)metode cu diferent ¸e finite ˆ ın care se folosesc expresii cu diferent ¸e finite
pentru aproximarea derivatelor pe o diviziune a intervalului de integrare.
Metoda tirului.
Din punct de vedere al dificult˘ at ¸ii rezolv˘ arii 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, cˆ and n1= 1 saun2= 1; (b) probleme cu valori la limite
cu doi sau mai mult ¸i parametri.
Probleme cu valori la limite uniparametrice. S˘ a consider˘ am c˘ a, pentru
sistemul ( 9.90) condit ¸iile ( 9.91) sunt de forma
/braceleftbiggx=x0, yj=yj,0, j∈1,n−1 ,
x=xN, yn=y∗
n,N,(9.100)
250 9.Rezolvarea ecuat ¸iilor diferent ¸iale
adic˘ a nu este cunoscut˘ a valoarea yn,0lax=x0. Vom considera λ≡yn,0ca
parametru ¸ si vom observa c˘ a acesta trebuie determinat astfel ˆ ıncˆ at la x=xN
s˘ a fie satisf˘ acut˘ a condit ¸ia din ( 9.100 ), adic˘ aλeste solut ¸ia ecuat ¸iei
F(λ)≡yn,N(λ)−y∗
n,N= 0, λ≡yn,0. (9.101)
Fieλ∗valoarea care satisface ecuat ¸ia ( 9.101 ). Pentru a o g˘ asi numeric,
trebuie mai ˆ ıntˆ ai localizat˘ a , adic˘ a trebuie g˘ asite dou˘ a valori λk−1,λk−2astfel
ˆ ıncˆ atF(λ) s˘ a-¸ si schimbe semnul. Aceste valori se aleg prin ˆ ıncerc˘ ari, avˆ and ˆ ın
vedere ¸ si eventuale alte informat ¸ii (s.e. de natur˘ a fizic˘ a). Se introduce apoi
un ¸ sir iterativ folosind metoda coardei prezentat˘ a ˆ ın capitolul 3, adic˘ a pentru
fiecare pereche λk−2, λk−1, cuF(λk−2)·F(λk−1)<0 se determin˘ a λkcu relat ¸ia
λk=λk−1−F(λk−1)(λk−1−λk−2)
F(λk−1)−F(λk−2). (9.102)
ˆIn iterat ¸ia urm˘ atoare se atribuie valoarea λkuneia din valorile λk−1, λk−2ast-
fel ˆ ıncˆ at s˘ a se p˘ astreze schimbarea de semn. Procedeul se opre¸ ste dac˘ a sunt
ˆ ındeplinite condit ¸iile |F(λ)|< εF, sau|λk−λk−1|< ελ|λk|+εs, undeεseste
valoarea introdus˘ a pentru eventualitatea cˆ and λ∗= 0.
Un caz particular ˆ ıl constituie ecuat ¸iile diferent ¸iale de ordinul doi3de forma
y/prime/prime=f(x,y,y/prime), y(x0) =α, y(xN) =β. (9.103)
ˆIn cazul ˆ ın care feste de forma
f(x,y,y/prime) =u(x) +v(x)y+w(x)y/prime, (9.104)
atunci ecuat ¸ia este liniar˘ a iar solut ¸ia este de forma
y(x) =µy1(x) + (1−µ)y2(x) , (9.105)
undey1¸ siy2sunt dou˘ a solut ¸ii obt ¸inute pentru dou˘ a valori diferite ale parame-
truluiλ≡y/prime(x0), iarµse determin˘ a din condit ¸ia ca y(xN) =βrezultˆ and
µ= [β−y2(xN)]/[y1(xN)−y2(xN)] . (9.106)
Cele dou˘ a solut ¸ii se pot obt ¸ine simultan, rezolvˆ and sistemul
y/prime
1=y3, y/prime
2=y4, y/prime
3=f(x,y1,y3), y/prime
4=f(x,y2,y4) ,
y1(x0) =α, y 2(x0) =α, y 3(x0) =λ1= 0, y4(x0) =λ2= 1 ,(9.107)
unde pentru cele dou˘ a valori ale parametrului λam alesλ1= 0 ¸ siλ2= 1, iar
pentru rezolvare putem folosi oricare din metodele pas cu pas. Valorile y1(xm) ¸ si
y2(xm) obt ¸inute prin integrare numeric˘ a trebuie memorate ˆ ın doi vectori pentru
a putea construi ˆ ın final solut ¸ia cu relat ¸ia ( 9.105 ) folosindµdat de ( 9.106 ).
3Vezi 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 neliniar˘ a, ˆ ın locul metodei coardei ( 9.102 )
se poate folosi metoda Newton pentru rezolvarea ecuat ¸iei ( 9.101 ), ˆ ın care se
construie¸ ste ¸ sirul de aproximat ¸ii ale valorii λ∗dat de relat ¸ia
λk+1=λk−F(λk)/F/prime(λk) , (9.108)
unde
F(λ)≡yN(λ)−β= 0, λ≡y/prime(x0) . (9.109)
Pentru determinarea derivatei funct ¸iei F,F/prime≡∂F/∂λ =∂y(xN)/∂λ, se deri-
veaz˘ a funct ¸ia y/prime/primedat˘ a de ( 9.103 ) ˆ ın raport cu λ
∂y/prime/prime
∂λ=∂f∂
x∂x∂
λ+∂f∂
y∂y∂
λ+∂f∂
y/prime∂y/prime
∂λ. (9.110)
Notˆ andu≡∂y/∂λ ¸ si t ¸inˆ and cont c˘ a
∂x∂
λ= 0,∂y/prime/prime
∂λ=∂∂
λ/parenleftbigg∂2y∂
x2/parenrightbigg
=∂2
∂x2/parenleftbigg∂y∂
λ/parenrightbigg
=u/prime/prime, (9.111)
¸ si c˘ a∂y(x0)/∂λ= 0,∂y/prime(x0)/∂λ= 1, obt ¸inem ecuat ¸ia diferent ¸ial˘ a de ordinul
doi cu condit ¸ii init ¸iale
u/prime/prime=u∂f(x,y,y/prime)
∂y+u/prime∂f(x,y,y/prime)
∂y/prime, u(x0) = 0, u/prime(x0) = 1 . (9.112)
Cuλales se rezolv˘ a numeric cu o metod˘ a pas cu pas sistemul de ecuat ¸ii
diferent ¸iale
y/prime
1=y2, y/prime
2=f(x,y,y/prime), y/prime
3=y4, y/prime
4=y3(∂f/∂y ) +y4(∂f/∂y/prime) ,
y1(x0) =α, y 2(x0) =λ, y 3(x0) = 0, y4(x0) = 1 ,(9.113)
undey1≡y,y3≡u. Valoareau(xN)≡y3(xN) este tocmai F/prime(λ), astfel ˆ ıncˆ at o
valoare mai bun˘ a 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 introdus˘ a pentru a
elimina nedeterminarea ce poate ap˘ area dac˘ a valoarea exact˘ a este chiar λ= 0.
Pentruεs= 0 ¸ siε= 10−s, condit ¸ia ( 9.114 ) este ˆ ındeplinit˘ a atunci cˆ and λk+1¸ si
λkauscifre semnificative identice.
Probleme cu valori la limite cu doi sau mai mult ¸i parametri.
ˆIn cazul cˆ and problema are mai mult ¸i parametri dificult˘ at ¸ile cresc; pasul esent ¸ial
ˆ ıl reprezint˘ a trecerea de la un parametru la doi parametri, mai departe extinde-
rea fiind evident˘ a. Pentru exemplificare s˘ a presupunem sunt impuse condit ¸iile
/braceleftbiggx=x0, yj=yj,0, j∈1,n−2 ,
x=xN, yn−1=y∗
n−1,N, yn,N=y∗
n,N.(9.115)
252 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Vom considera ca parametri valorile yn−1,0=λ1,yn,0=λ2. Solut ¸iile sistemului
(9.115 ) trebuie s˘ a verifice sistemul de ecuat ¸ii
/braceleftbiggF1(λ1,λ2)≡yn−1,N(λ1,λ2)−y∗
n−1,N= 0 ,
F2(λ1,λ2)≡yn,N(λ1,λ2)−y∗
n,N= 0 .(9.116)
Cuyn−1,N(λ1,λ2) ¸ siyn,N(λ1,λ2) s-au notat valorile funct ¸iilor yn−1respectiv
yncare se obt ¸in prin integrare numeric˘ a la x=xNcu parametrii λ1¸ siλ2ale¸ si .
Pentru a g˘ asi 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 metod˘ a de optimizare pentru funct ¸ia scop
U(λ1,λ2) =12
[F2
1(λ1,λ2) +F2
2(λ1,λ2)] . (9.117)
Spre exemplu, utilizˆ and metoda gradientului (vezi 8.4), se scrie ¸ sirul de iterat ¸ii
λk+1=λk−αkgkundegeste vectorul gradient, gk=∇U(λk
1,λk
2) =JT·F,
Jeste jacobiana funct ¸iei vectoriale F= (F1,F2)T. Parametrul αk>0 se
determin˘ a optimizˆ and descre¸ sterea funct ¸iei Uˆ ın lungul direct ¸iei gradientului
negativ−g.
Plecˆ and dintr-un punct ales init ¸ial ( λ0
1,λ0
2), este necesar˘ a cunoa¸ sterea ma-
tricei jacobian J0pentru a g˘ asi direct ¸ia de descre¸ stere. Cum ˆ ın general este
imposibil de determinat expresia analitic˘ a a jacobienei, aceasta se poate apro-
xima cu ajutorul diferent ¸elor la dreapta
J0∼=/parenleftbigg
[F1(λ10+h1,λ20)−F10]/h1[F1(λ10,λ20+h2)−F10]/h2
[F2(λ10+h1,λ20)−F20]/h1[F1(λ10,λ20+h2)−F20]/h2/parenrightbigg
.
(9.118)
Procedeul este acela¸ si indiferent de num˘ arul de parametri ( n≥2). Dac˘ a
num˘ arul de parametri este mai mare decˆ at 2, se recomand˘ a o metod˘ a de des-
cre¸ stere cvasi-Newton sau de gradient conjugat .
Vom observa c˘ a num˘ arul real de parametri nu poate dep˘ a¸ si 2 dac˘ a ordinul
sistemuluin≤4, 3 dac˘ an≤6, ˆ ın general [ n/2] (parte ˆ ıntreag˘ a) deoarece putem
alege convenabil ca punct de plecare x0sauxN, adic˘ a punctul unde se dau cele
mai multe condit ¸ii.
Metode cu diferent ¸e finite.
Se bazeaz˘ a pe folosirea unei o ret ¸ele de puncte de diviziune ale intervalului care
se stabile¸ ste ˆ ınainte de integrarea ecuat ¸iilor diferent ¸iale. De regul˘ a nu se cunosc
dinainte zonele ˆ ın care funct ¸iile necunoscute prezint˘ a variat ¸ii mai rapide unde
nodurile ret ¸elei ar trebui s˘ a fie mai dese. De¸ si exist˘ a tehnici adaptive ¸ si pen-
tru metodele cu diferent ¸e finite, care constau ˆ ın ˆ ındesirea ret ¸elei ˆ ın zonele de
variat ¸ie rapid˘ a a funct ¸iilor necunoscute, acestea sunt mai complexe decˆ at cele
corespunz˘ atoare metodelor pas cu pas folosite la metoda tirului, astfel ˆ ıncˆ at
metodele cu diferent ¸e finite se recomand˘ a s˘ a fie folosite pentru rezolvarea pro-
blemelor cu condit ¸ii la limit˘ a a c˘ aror solut ¸ie nu prezint˘ a zone de variat ¸ie rapid˘ a.
9.6.Sisteme de ecuat ¸ii diferent ¸iale. Ecuat ¸ii de ordin superior 253
Fie un sistem de ecuat ¸ii diferent ¸iale y/prime
i=fi(x,y1,… ,yn) scris ˆ ın forma
vectorial˘ a
Y/prime=F(x,Y) , (9.119)
cu condit ¸iile la limit˘ a de forma ( 9.99). Se aproximez˘ a derivatele cu diferent ¸e
finite la dreapta
y/prime
i(xm) = (ym+1
i−ym
i)/h+O(h), i∈1,n, m∈0,N−1 , (9.120)
sau, cu efecte benefice asupra preciziei, cu diferent ¸e centrate
y/prime
i(xm) = (ym+1
i−2ym
i+ym−1
i)/(2h) +O(h2), i∈1,n, m∈1,N−1 ,
(9.121)
unde pentru simplitate am considerat o diviziune cu pasul constant h=xm+1−
xm. Considerˆ and spre exemplu schema cu diferent ¸e finite la dreapta, sistemul
(9.119 ) se scrie ˆ ın forma
Ym+1−Ym=hF[12
(xm+1+xm),12
(Ym+1+Ym)] +O(h2) . (9.122)
Neglijˆ and termenii O(h2), relat ¸ia ( 9.122 ) se scrie ˆ ın forma
Em+1=Ym+1−Ym−hF[12
(xm+1+xm),12
(Ym+1+Ym)] = 0, m∈0,N−1 ,
(9.123)
obt ¸inˆ and un sistem de n×Necuat ¸ii neliniare cu n×(N+ 1) necunoscute ym
i,
pentru a c˘ arui rezolvare vom folosi metoda iterativ˘ a Newton prezentat˘ a la ??.
Celenecuat ¸ii lips˘ a se completeaz˘ a folosind condit ¸iile la limit˘ a ( 9.99) care uneori
pot fi date ˆ ın forma general˘ a
L0j(x0,y1,… ,yn) = 0, j∈1,n1,
LNk(x0,y1,… ,yn) = 0, k∈1,n2,(9.124)
undeL0j¸ siLNksunt expresii liniare sau neliniare care cont ¸in funct ¸iile necunos-
cuteyi, i∈1,n. Relat ¸iile ( 9.124 ) se pun ˆ ın acea¸ si form˘ a cu ( 9.123 )
E0
i≡0, i∈1,n−n1, E0
i=L0i(x0,y1,… ,yn), i∈n−n1+ 1,n,
EN+1
i =LNi(x0,y1,… ,yn), i∈1,n2, EN+1
i≡0, i∈n2+ 1,n.(9.125)
A¸ sa cum se va vedea ˆ ın continuare, este convenabil ca cele n1condit ¸ii la limita
x=x0s˘ a fie plasate ˆ ın vectorul E0pentru ultimele valori ale indicelui i, iar cele
de la limita x=xNpentru primele valori ale indicelui i. Ecuat ¸iile ( 9.123 ) se
liniarizeaz˘ a folosind o dezvoltare ˆ ın serie Taylor pentru funct ¸iiile de mai multe
variabileEm+1
i(ym
1,… ,ym
n,ym+1
1,… ,ym+1
n), pentru care vom folosi notat ¸ia
vectorial˘ aEm+1(Ym,Ym+1)
Em+1(Ym+δYm,Ym+1+δYm+1)∼=Em+1(Ym,Ym+1)+
+/summationtextn
i=1(∂Em+1/∂yi,m)δyi,m+/summationtextn
i=1(∂Em+1/∂yi,m+1)δyi,m+1.
(9.126)
254 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Se obt ¸ine un sistem de ecuat ¸ii liniare de forma
n/summationdisplay
j=1Ji,jδym
i+n/summationdisplay
j=1Ji,n+jδym+1
i =−Em
i, Ji,j=∂Em
i
∂ym
j, Ji,n+j=∂Em
i
∂ym+1
j.
(9.127)
De¸ si sistemul ( 9.127 ) este de regul˘ a mare4se poate rezolva foarte eficient cu
metoda elimin˘ arii gaussiene dac˘ a de t ¸ine cont de structura matricei sistemului
care cont ¸ine elementele nenule grupate ˆ ın blocuri de dimensiuni n×2n. Relat ¸ia
(9.128 ) ilustreaz˘ a structura sistemului liniar pentru n= 3 ¸ siN= 4, cu 2 condit ¸ii
lax=x0,y1(x0) =y10,y2(x0) =y20¸ si o condit ¸ie la x=xN,y1(xN) =y1N. Au
fost reprezentate numai elementele nenule. Pentru astfel de sisteme cu matrice
rare exist˘ a tehnici eficiente de optimizare a memoriei utilizate (vezi 5.1.11 ), cu
pret ¸ul unor calcule suplimentare.
Dup˘ a cum am v˘ azut la 8.2, metoda iterativ˘ a Newton converge rapid dac˘ a dis-
punem de un punct suficient de apropiat de solut ¸ie. Pentru obt ¸inerea aproximat ¸ii
de start, se poate folosi o metod˘ a pas cu pas cu care se integreaz˘ a ecuat ¸iile
diferent ¸iale cu condit ¸iile la limit˘ a completate la unul din capetele intervalului,
la fel ca la metoda tirului. ˆIn unele cazuri avem de rezolvat de mai multe ori
acela¸ si sistem de ecuat ¸ii diferent ¸iale care sufer˘ a mici modific˘ ari. ˆIn asemenea
cazuri, o solut ¸ie obt ¸inut˘ a poate fi folosit˘ a ca punct de start pentru calculele
urm˘ atoare.
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
×
y0
3
y1
1
y1
2
y1
3
y2
1
y2
2
y2
3
y3
1
y3
2
y3
3
yN
2
yN
3
=−
E0
3
E1
1
E1
2
E1
3
E2
1
E2
2
E2
3
E3
1
E3
2
E3
3
EN
2
EN
3
(9.128)
9.6.3 Ecuat ¸ii diferent ¸iale de ordin superior
Vom considera ecuat ¸ia diferent ¸ial˘ a de forma
y(n)=E(x,y/prime,y/prime,… ,y(n−1)) , (9.129)
4Spre 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 sc˘ ari disparate 255
Efiind o funct ¸ie care asigur˘ a existent ¸a solut ¸iei pe un interval [ a,b]⊂R.
Se observ˘ a c˘ a ecuat ¸ia ( 9.129 ) poate fi transformat˘ a ˆ ıntr-un sistem de ecuat ¸ii
diferent ¸iale de forma canonic˘ a ( 9.90), notˆ and
y1≡y, y 2≡y/prime, y3≡y/prime/prime,… ,yn≡y(n−1). (9.130)
ˆIn acest caz, funct ¸iile fi= (xi,y1,y2,… ,yn) au expresiile
fi=yi+1, i∈1,n−1;fn=E(x,y1,y2,… ,yn) (9.131)
¸ si deci problema se reduce la rezolvarea unui caz particular de sistem de ecuat ¸ii
diferent ¸iale. Vom observa c˘ a problema cu valori init ¸iale revine la cunoa¸ sterea
funct ¸ieiy¸ si a derivatelor pˆ an˘ a la ordinul n−1 inclusiv ˆ ın punctul x=x0.
9.7 Sisteme cu sc˘ ari disparate
Sistemele de ecuat ¸ii diferent ¸iale ordinare cu sc˘ ari disparate provin de regul˘ a
din descrierea unor fenomene evolutive cu sc˘ ari de timp diferite. De exemplu,
controlul automat al traiectoriei unei aeronave impune corect ¸ii rapide ˆ ın cazul
unor abateri de la traiectoria programat˘ a. Un alt exemplu poate fi preluat ˆ ın
cazul react ¸iilor chimice complexe cu o gam˘ a larg˘ a de valori pentru vitezele de
react ¸ie. ˆIn astfel de situat ¸ii, condit ¸iile de stabilitate ale metodelor de rezolvare
impun pa¸ si de integrare exagerat de mici ¸ si care nu sunt justificat ¸i de vitezele
de variat ¸ie ale unor funct ¸ii necunoscute.
Pentru exemplificare, vom considera sistemul
/braceleftbigg
y/prime
1= 998y1+ 1998y2, y 1(0) = 1 ,
y/prime
2=−999y1−1999y2, y 2(0) = 0 ,(9.132)
cu solut ¸iay1= 2e−x−e−1000x,y2=−e−x+e−1000x.ˆIn cazul folosirii unei
metode explicite, termenul e−1000xdin solut ¸ia exact˘ a impune un pas de integrare
h/lessmuch1/1000 pentru asigurarea stabilit˘ at ¸ii, chiar dac˘ a e−1000xdevine complet
neglijabil ˆ ın comparat ¸ie cu e−ximediat ce ne dep˘ art˘ am de origine. ˆIn astfel
de situat ¸ii, se recomand˘ a 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 formul˘ a
implicit˘ a, se obt ¸ine o metod˘ a necondit ¸ionat stabil˘ a.
Se pot folosi formulele de tip predictor-corector prezentate la 9.4. O dificul-
tate suplimentar˘ a o constituie ˆ ın acest caz startul metodei, care trebuie f˘ acut
cu o metod˘ a pas cu pas. Folosirea unei formule explicite ar duce la necesitatea
utiliz˘ arii unui pas foarte mic, astfel ˆ ıncˆ at se recomand˘ a folosirea unei formule
implicite. Spre exemplu, o formul˘ a implicit˘ a de ordinul ˆ ıntˆ ai se scrie
ym+1
i =ym
i+hfi(xm+1,ym+1
k), i,k∈1,n, (9.133)
obt ¸inˆ andu-se un sistem de ecuat ¸ii neliniare cu necunoscutele ym+1
i, care se poate
liniariza dezvoltˆ and ˆ ın serie Taylor funct ¸iile de n+ 1 variabile fi(xm+1,ym+1
k)
256 9.Rezolvarea ecuat ¸iilor diferent ¸iale
¸ si p˘ astrˆ and numai termenii liniari
ym+1
i =ym
i+h
fi(xm+1,ym
k) +n/summationdisplay
j=1(ym+1
j−ym
j)∂fi(xm,ym
k)
∂yj
. (9.134)
Obt ¸inem astfel o metod˘ a semi-implicit˘ a . M˘ arimea pasului va fi impus˘ a acum ˆ ın
principal de precizie (care este de ordinul ˆ ıntˆ ai) ¸ si nu de stabilitatea metodei,
care este ˆ ın general asigurat˘ a.
Pentru a obt ¸ine o metod˘ a de ordinul al doilea, vom scrie
ym+1
i =ym
i+h
2[fi(xm,ym) +fi(xm+1,ym+1
m)] . (9.135)
Liniarizˆ and din nou obt ¸inem
ym+1
i =ym
i+h
2
fi(xm,ym
k) +fi(xm+1,ym
k) +n/summationdisplay
j=1(ym+1
j−ym
j)∂fi(xm,ym
k)
∂yj
.
Este posibil˘ a ¸ si obt ¸inerea unor metode pas cu pas de ordine mai mari de 2 cu
pret ¸ul unor calcule laborioase, care nu ˆ ıntotdeauna sunt justificate dac˘ a folosim
o liniarizare de forma ( 9.134 ) sau celei de mai sus.
Exemplul 1 . Fie ecuat ¸ia diferent ¸ial˘ a y/prime/prime= 4kxy/prime−(4k2x2+m2−2k)y+m2ekx2,
y(0) = 1,y/prime(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 +asin(mx)]ekx2, deci vom putea compara
rezultatele numerice cu cele exacte. ˆIn figura 9.3sunt reprezentate funct ¸iile y(x) ¸ si
y(6)(x) pentruk= 1. Rezultatele calculelor sunt date ˆ ın tabelele 9.3¸ si9.4, pentru (a),
respectiv (b). S-au folosit metodele Runge-Kutta-Gill, Adams ¸ si Milne cu pa¸ sii ( 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: Ppredictor,C1 o singur˘ a corect ¸ie, C2 dou˘ a corect ¸ii.
Valorile din tabele reprezint˘ a erorile absolute calculate cu formula e= (¯y−yexact) ¸ si
amplificate cu 104, respectiv 106. Pe ultima coloan˘ a este dat num˘ arul de evalu˘ ari ale
funct ¸iei pant˘ a Fpentrux= 1.6 care poate fi calculat cu relat ¸ia nF=s·r+(N−r)(1+c),
undeseste ordinul metodei pas-cu-pas folosit˘ a pentru start, reste gradul polinomului
de interpolare folosit ˆ ın formula multipas, N= (xmax−xmin)/heste num˘ arul de pa¸ si,
iarceste num˘ arul de corect ¸ii efectuate cu formula corector.
Pentru cazul ( a), pasulh= 0.05 se dovede¸ ste a fi prea mare. Spre exemplu,
eroarea absolut˘ a ˆ ın x= 0.4 pentru metoda Runge-Kutta este −8.9·10−3. Expresia
erorii pentru o metod˘ a de ordinul 4 este de forma e=Ch5Φ(4)(ξ),undeCeste o
constant˘ a, iar Φ( x)≡f(x,y(x)) =y/prime/prime(x).Pentru exemplul considerat avem
Φ(4)≡y(6)(x) = [120 + 720 x2+480×4+64×6+ cos(15x)(8 313 300x−525 600x
+2880×5+ sin(15x)(−9 912 255 + 2 876 220 x2−53 520×4+64×6)]ex2
,
decie(0.4) =C·(3·10−7)·(6.8·106)∼=2.2C. Pentru acest pas metodele predictor-
corector dau rezultate foarte proaste. Pentru h= 0.01 ¸ six= 1.61, eroarea absolut˘ a
9.7.Sisteme cu sc˘ ari disparate 257
Figura 9.3: Graficele funct ¸iilor y,y(6).
este de ordinul 10−3la toate metodele folosite. Cre¸ sterea preciziei prin folosirea for-
mulelor implicite de tip corector nu este posibil˘ a deoarece pasul este ˆ ınc˘ a prea mare
(relat ¸ia ( 9.60)). Pentruh= 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 evalu˘ ari ale funct ¸iilor pant˘ a, se obt ¸ine acela¸ si or-
din de precizie cu metoda Runge-Kutta care necesit˘ a 640 evalu˘ ari, adic˘ a cu 32% mai
mult, iar dac˘ a folosim o singur˘ a corect ¸ie, rezultate bune se obt ¸in cu pret ¸ul a numai
326 evalu˘ ari, adic˘ a aproape de dou˘ a ori mai put ¸ine evalu˘ ari decˆ at cu Runge-Kutta.
Pentru cazul ( b),erorile absolute se ment ¸in ˆ ın limite normale (adic˘ a O(h5)) pentru
toate formulele aplicate. Derivata din expresia erorii absolute este Φ(4)(x)≡y(6)(x) =
−13 sin(x), astfel c˘ a putem folosi pa¸ si de integrare mai mari. ˆIn Tabelul 9.4sunt
date ¸ si erorile absolute (multiplicate cu 106) obt ¸inute aplicˆ and relat ¸ia ( 9.62), iarδ
reprezint˘ a valoarea corect ¸iei din aceast˘ a relat ¸ie, δ=129
(y(c)
m+1−y(p)
m+1). Dup˘ a cum se
observ˘ a din relat ¸iile ( 9.48) ¸ si ( 9.49) precizia formulei Adams-predictor este mai mare
decˆ at a formulei Milne-predictor, iar din relat ¸iile ( 9.55) ¸ si ( 9.56) se poate vedea cum
formula Milne-corector este ˆ ın general mai precis˘ a decˆ at 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 dou˘ a
ori. Ordinul de precizie este acela¸ si 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 dovede¸ ste ˆ ıns˘ a mai stabil˘ a ˆ ın situat ¸ii “dificile” decˆ at formulele
predictor-corector care sunt mai sensibile datorit˘ a extrapol˘ arii din formula predictor ¸ si
a procedeului de tip “iterat ¸ie simpl˘ a” din formula corector a c˘ arei condit ¸ie suficient˘ a
de convergent ¸˘ a este dat˘ a de ( 9.60). Aplicarea formulei ( 9.62) nu duce la rezultate
sensibil mai exacte, ˆ ıns˘ a δreprezint˘ a o informat ¸ie util˘ a privind ordinul de m˘ arime a
erorii absolute, ˆ ın special ˆ ın situat ¸iile ˆ ın care solut ¸ia nu are variat ¸ii puternice.
ˆIn tabelul 9.5sunt datele referitoare la efortul de calcul necesar obt ¸inerii unei
258 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Tabelul 9.3: a= 1, m= 15, k= 1, erori absolute ×104
Metodax = 0.4x= 0.8x= 1.2x= 1.6nr.Fh
= 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 501089 -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
C28.4 16 -4.2 -272 243
Milne−P -4.8-16.3 -49 -157 89
C1-3.5 -16.7 -74 -239 166
C21.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
C10.210 -0.45 -5.2 -32 326
C20.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
C20.13 0.34 0.46 -1.4 484
solut ¸ii aproximative cu precizie impus˘ a. Pentru cazul ( a) s-a impus o precizie relativ˘ a
de 10−6, iar pentru cazul ( b), o precizie absolut˘ a de 10−6. Pentru metodele pas cu pas,
Runge-Kutta ( RK4), Kutta-Merson ( KM) ¸ si Runge-Kutta-Fehlberg ( RKF ), s-a folosit
integrarea adaptiv˘ a descris˘ a la 9.2.4, ˆ ın timp ce pentru formulele predictor-corector
Adams ¸ siMilne s-a integrat cu pas constant. Pentru primul caz, dintre metodele unipas
metoda Runge-Kutta s-a dovedit mai eficient˘ a, ˆ ın timp ce pentru cazul al doilea mai
eficient˘ a este metoda Runge-Kutta-Fehlberg. Nu putem trage concluzii definitive pe
baza exemplelor considerate, pe de o parte pentru c˘ a doar dou˘ a exemple reprezint˘ a
prea put ¸in˘ a informat ¸ie pentru a generaliza, iar pe de alt˘ a parte pentru c˘ a, efortul de
calcul de la metodele adaptive depinde uneori ¸ si de o alegere “norocoas˘ a” a pasului
de plecare, dac˘ a mic¸ sorarea pasului se face prin ˆ ınjum˘ at˘ at ¸ire. Aplicarea relat ¸iei ( 9.29)
este cu atˆ at mai eficient˘ a cu cˆ at derivata Φ(4)≡y(6)are variat ¸ii cˆ at mai mici. Aceea¸ si
observat ¸iei este valabil˘ a ¸ si ˆ ın ceea ce prive¸ ste estimarea pasului optim de integrare dat
de (9.32), unde este esent ¸ial˘ a folosirea unei valori pentru factorul de sigurant ¸˘ a de cel
mult 0.9.
Pentru cazul ( b) ordinul metodelorˆ ı¸ si spune cuvˆ antul, efortul de calcul fiind sensibil
9.7.Sisteme cu sc˘ ari 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 aproxim˘ arilor ce intervin ˆ ın estimarea erorii, vezi ( 9.36).
ˆIn concluzie, ori de cˆ ate ori timpul de calcul nu costituie o problem˘ a ¸ si nu avem
informat ¸ii suplimentare privind solut ¸ia unui sistem de ecuat ¸ii diferent ¸iale, se reco-
mand˘ a metoda Runge-Kutta-Gill cu criteriul pasului dublu, ca fiind cea mai sigur˘ a
cale.
Exemplul 2 . S˘ a se rezolve ecuat ¸ia diferent ¸ial˘ a f/prime/prime/prime+f·f/prime/prime= 0 cu condit ¸iile la
limite pe intervalul [0 ,∞],f(0) = 0,f/prime(0) = 0,f/prime(∞) = 1. (Ecuat ¸ia este ˆ ıntˆ alnit˘ a la
calculul stratului limit˘ a laminar incompresibil pe o plac˘ a plan˘ a. Este cunoscut˘ a 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/prime(x),y3=f/prime/prime(x). Sistemul obt ¸inut este y/prime
1=y2,y/prime
2=y3,y/prime
3=−y1y2
cu condit ¸iile la limite y1(0) =y2(0) = 0,y/prime
2(∞) = 1. Prin urmare avem de rezolvat
o problem˘ a bilocal˘ a. Un element suplimentar ˆ ıl constituie faptul c˘ a intervalul pe care
se caut˘ a solut ¸ia este infinit. ˆIn acest caz, putem proceda pe dou˘ a c˘ ai: ( a) se face
o schimbare de variabil˘ a independent˘ a convenabil˘ a, care transform˘ a intervalul [0 ,∞)
ˆ ıntr-un interval finit (transformarea trebuie s˘ a fie o biject ¸ie); ( b) se porne¸ ste calculul
cu un anumit pas, urm˘ arindu-se dac˘ a funct ¸iile y1,y2,y3au tendint ¸a s˘ a se stabilizeze
dup˘ a o anumit˘ a distant ¸˘ a pe x. Parametrul problemei este y3(0) despre care se ¸ stie c˘ a
este pozitiv (din considerente fizice).
S-a plecat cu valoarea y3(0) = 0.20, folosind un pas constant ˆ ın x(h= 0.20) ¸ si
s-a integrat pˆ an˘ a 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 dup˘ a 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 aceast˘ a
condit ¸ie pentru ε= 10−4. Cuy3(0) = 0.469625 obt ¸inut ˆ ın aceast˘ a a 4-a iterat ¸ie, s-au
calculat funct ¸iile y1,y2¸ siy3pentru diferite valori ale lui x(pasulh= 0.20), ale c˘ aror
valori sunt date ˆ ın tabelul 9.7.
Din tabelul 9.7se observ˘ a variat ¸ia lent˘ a a funct ¸iilor y2¸ siy3pentrux≥3, ceea ce
justific˘ a oprirea calculului la x= 6 (ˆ ın loc de x→∞ ). Cre¸ sterea u¸ soar˘ a a funct ¸iei y2
peste valoarea 1 de la x= 5.4 lax= 6.0, sugereaz˘ a o eventual˘ a necesitate de cre¸ stere
a preciziei. Astfel, s-a mai efectuat o iterat ¸ie (a cincea) pentru obt ¸inerea unei valori
mai precise pentru λ. Din tabelul 9.6se obt ¸ine valoarea y3(0) = 0.469604 (ε= 10−5.
Cu aceast˘ a valoare ˆ ımbun˘ at˘ at ¸it˘ a rezult˘ a y2(5.6) = 0.9999926 ¸ si y2(6.0) = 1.000005,
precizie care poate fi considerat˘ a cu totul satisf˘ ac˘ atoare.
260 9.Rezolvarea ecuat ¸iilor diferent ¸iale
Tabelul 9.4: a= 13, m= 1, k= 0, erori absolute ×106
Metodax = 0.4x= 0.8x= 1.2x= 1.6nr.Fh
= 0.2
RKG -67-112 -106 -38 32
Adams−P -67-112 -941 -190 17
C1210 476 22
C254 52 27
Milne−P -900-481 17
C113 139 22
extrapolare -18118 22
δ -10.8 22
C2-61 -42 27
h= 0.1
RKG -4-6 -6 -1 64
Adams−P -30-5 13 25
C111 22 23 38
C27 10 2 51
Milne−P -4-36 -20 -2 25
C10.4 5 7 38
extrapolare -0.94 7 38
δ -0.090.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
C10.3 1 1 0.8 70
C20.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.080.1 0.1 0.3 70
δ -0.010.01 0.02 0.02 70
C2-0.05 0.08 0.09 -0.05 99
Tabelul 9.5: Num˘ arul de evalu˘ ari ale funct ¸iei pant˘ a
MetodaRK4KMRKFAdamsMilne
(a)1812 3800 3400 2142 1608 (
b)84 40 36 48 48
9.7.Sisteme cu sc˘ ari disparate 261
Tabelul 9.6: Exemplul 2
Iterλ1λ2U(λ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.8267 ·10−4
40.20 0.469625 -0.434162 3.3475 ·10−5
50.20 0.469604 -0.434162 3.9646 ·10−6
Tabelul 9.7: Funct ¸iiley1,y2,y3
xy1y2 y3
0.00.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.7475 ·10−6
262 9.Rezolvarea ecuat ¸iilor diferent ¸iale
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 ˆ ıntˆ alnite ˆ ın mod inevitabil atunci cˆ and se modeleaz˘ a feno-
mene reale, a c˘ aror complexitate implic˘ a, ˆ ın general, determinarea unor funct ¸ii
de dou˘ a sau mai multe variabile independente. ˆIntr-adev˘ ar, o descriere mai
apropiat˘ a de realitate a fenomenelor care se desf˘ a¸ soar˘ a ˆ ın spat ¸iu comport˘ a cel
put ¸in dou˘ a variabile independente, iar urm˘ arirea desf˘ a¸ sur˘ arii lor poate necesita
introducerea unei noi variabile independente, timpul .
Diversitatea ecuat ¸iilor ¸ si sistemelor de ecuat ¸ii diferent ¸iale este extraordinar˘ a,
iar condit ¸iile la limite ¸ si init ¸iale (al c˘ aror rol este deosebit de important) nu fac
decˆ at s˘ a adauge noi cazuri ¸ si tipuri de probleme de rezolvat. Nu este deci de
mirare c˘ a ˆ ın domeniul EDP (ˆ ın special al ecuat ¸iilor neliniare) teoria matematic˘ a
nu este suficient de elaborat˘ a. Din aceste motive, abordarea numeric˘ a, de¸ si
capabil˘ a, ˆ ın principiu, s˘ a furnizeze date noi, nu poate fi ˆ ın m˘ asur˘ a “s˘ a t ¸in˘ a
loc ¸ si de teorie”, recomandˆ andu-se o extrem˘ a prudent ¸˘ a ˆ ın validarea rezultatelor
264 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
obt ¸inute ˆ ın cazurile neacoperite suficient de teorie. Reconfirmarea rezultatelor
obt ¸inute pe diverse c˘ ai, suficient de distincte ˆ ıntre ele, este o metod˘ a util˘ a,
poate singura ˆ ın anumite situat ¸ii extreme, dar trebuie luat˘ a cu titlu provizoriu,
testarea ulterioar˘ a r˘ amˆ anˆ and deschis˘ a.
Ecuat ¸iile cu derivate part ¸iale pot fi clasificate ˆ ın funct ¸ie de mai multe criterii;
dup˘ a ordinul derivatelor part ¸iale, se clasific˘ a ˆ ın ecuat ¸ii de ordinul ˆ ıntˆ ai, ordinul
al doilea, ordinul n; dup˘ a caracterul de liniaritate se ˆ ımpart ˆ ın ecuat ¸ii liniare,
cvasi-liniare ¸ si neliniare; dup˘ a tipul influent ¸ei domeniului de integrare asupra
solut ¸iei ˆ ıntr-un punct, se ˆ ımpart ˆ ın ecuat ¸ii eliptice, parabolice ¸ si hiperbolic;
dup˘ a forma condit ¸iilor la limit˘ a ˆ ıntˆ alnim probleme Dirichlet, Neuman ¸ si mixt.
ˆIn cele ce urmeaz˘ a, vom aborda unele tipuri de EDP mai uzuale, cu condit ¸ii
init ¸iale ¸ si la limite pentru care teoria asigur˘ a 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 ˆ ıntˆ ai se scrie sub forma
n/summationdisplay
i=1Ai(x1,… ,xn,u)∂u∂
xi=B(x1,… ,xn,u) , (10.1)
ˆ ın care ueste funct ¸ia necunoscut˘ a ,xi, i∈1,nvariabilele independente , iar
funct ¸iileAi, i∈1,n¸ siBdepind cel mult de funct ¸ia u(nu ¸ si de derivatele
part ¸iale∂u/∂xi). Dac˘ aAi¸ siBnu depind de funct ¸ia uecuat ¸ia se nume¸ ste
liniar˘ a ; dac˘ aB≡0, ecuat ¸ia se nume¸ ste omogen˘ a .
Rezolvarea ecuat ¸iei cu derivate part ¸iale ( 10.1) se reduce la rezolvarea unui
sistem de ecuat ¸ii diferent ¸iale ordinare numit sistem caracteristic
dx1
A1(x1,… ,xn,u)=…=dxn
An(x1,… ,xn,u)=duB
(x1,… ,xn,u). (10.2)
Solut ¸ia ecuat ¸iei ( 10.1) este o suprafat ¸˘ a n−dimensional˘ aˆ ıntr-un domeniu Ωn+1⊂
Rn+1, de formaF(x1,… ,xn,u) = 0 sauu=f(x1,… ,xn) care verific˘ a ecuat ¸ia
(10.1) ¸ si anumite condit ¸ii de select ¸ie. Problema este studiat˘ a complet pentru
cazul cˆ and suprafat ¸a integral˘ a n−dimensional˘ a trece printr-o suprafat ¸˘ a ( n−
1)−dimensional˘ a Γ dat˘ a ˆ ın domeniul ( n+ 1)−dimensional (problem˘ a Cauchy).
Suprafat ¸a Γ poate fi dat˘ a sub forma intersect ¸iei a dou˘ a suprafet ¸e n−dimensionale
F1(x1,… ,xn,u) = 0
F2(x1,… ,xn,u) = 0/bracerightbigg
(Γ) . (10.3)
ˆIn principiu, solut ¸ia general˘ a a sistemului de ecuat ¸ii diferent ¸iale ( 10.2), sis-
tem de ordinul n,depinde de nconstante arbitrare Ci, i∈1,n¸ si se poate scrie
sub forma
ϕi(x1,… ,xn,u) =Ci, i∈1,n. (10.4)
10.1. Ecuat ¸ii cu derivate part ¸iale de ordinul I 265
Funct ¸iileϕi(x1,… ,xn,u) sunt determinate de forma sistemului caracteristic.
Suprafet ¸ele ϕi=Cise numesc suprafet ¸e caracteristice , iar intersect ¸iile lor de-
pinzˆ and de un singur parametru, se numesc linii caracteristice .
Condit ¸iile ( 10.3), ˆ ımpreun˘ a cu ( 10.4) formeaz˘ a un sistem de n+2 ecuat ¸ii din
care, ˆ ın principiu, prin exprimarea celor n+ 1 variabile x1,… ,xn,uˆ ın funct ¸ie
deCi,i∈1,n¸ si introducerea lor ˆ ın a ( n+ 2)-a ecuat ¸ie r˘ amas˘ a, se obt ¸ine o
relat ¸ie ˆ ıntre parametrii Ci, sub forma
Φ(C1,… ,Cn) = 0 (10.5)
care, prin ( 10.4), d˘ a tocmai solut ¸ia F(x1,… ,xn,u) = 0 a problemei
Φ(C1,… ,Cn) = Φ(ϕ1,… ,ϕn)≡F(x1,… ,xn,u) = 0 . (10.6)
ˆIn calculul numeric, solut ¸ia se caut˘ aˆ ıntr-un anumit volum ( n+1)−dimensional
Ωn+1care cont ¸ine suprafat ¸a Γ dat˘ a de ( 10.3). Se alege o diviziune convenabil˘ a 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 c˘ arui solut ¸ii
sunt liniile de cˆ amp ale vectorului de componente ( Ai, i∈1,n, B ). Se obt ¸in N
linii de cˆ amp ale suprafet ¸ei integrale.
Dac˘ aB≡0 (ecuat ¸ie omogen˘ a ), sistemul ( 10.2) se simplific˘ a deoarece o inte-
gral˘ a prim˘ a este u=const . R˘ amˆ ane de rezolvat sistemul de ecuat ¸ii diferent ¸iale
dx1
A1(x1,… ,xn,u0)=…=dxn
An(x1,… ,xn,u0), (10.7)
u0fiind dat˘ a de condit ¸ia init ¸ial˘ a ( 10.3). Din ( 10.7) se obt ¸in liniile de cˆ amp ale
unui vector de componente Ai, i∈1,npe careu=const .
Scheme explicite.
O prim˘ a etap˘ a ˆ ın rezolvarea numeric˘ a a unei ecuat ¸ii cu derivate part ¸iale o con-
stituie discretizarea , care const˘ a pe de o parte ˆ ın ˆ ıdivizarea domeniului cu aju-
torul unei ret ¸ele de calcul, iar pe de alt˘ a parte ˆ ın ˆ ınlocuirea ecuat ¸iei cu derivate
part ¸iale cu o ecuat ¸ie mai simpl˘ a. Exist˘ a mai multe metode pentru ˆ ınlocuirea
ecuat ¸iei cu derivate part ¸iale: metode cu diferent ¸e finite, metode cu volume fi-
nite, metode cu elemente finite, metode spectrale. ˆIn acest capitol, vom prezenta
elementele de baz˘ a pentru rezolvarea numeric˘ a a ecuat ¸iilor cu derivate part ¸iale
folosind metode cu diferent ¸e finite.
Consider˘ am ecuat ¸ia unidimensional˘ a a propag˘ arii undelor
∂u∂
t+a∂u∂
x= 0, x∈[0,1], t∈[0,T] , (10.8)
undeaeste o constant˘ a pozitiv˘ a. Am folosit notat ¸ia un
i≡u(xi,tn). Pentru a
rezolva ecuat ¸ia ( 10.8), sunt necesare condit ¸ii init ¸iale de forma
u(x,0) =f(x) . (10.9)
266 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.1: Ret ¸eaua de calcul pentru ecuat ¸ia ( 10.8).
ˆIn multe cazuri sunt date ¸ si condit ¸ii la limit˘ a
u(0,t) =g0(t), u(1,t) =g1(t) , (10.10)
funct ¸iilef,g0¸ sig1fiind date. Pentru a rezolva numeric ecuat ¸ia ( 10.8), se
ˆ ımparte domeniul dreptunghiular de dimensiuni 1 ¸ si Tcu ajutorul unei ret ¸ele
cu pa¸ si egali, pentru simplitate, hpe direct ¸iaOx¸ sikpe direct ¸iaOt, ca ˆ ın figura
10.1. Una din modalit˘ at ¸ile de a obt ¸ine o ecuat ¸ie cu diferent ¸e finite este de a
folosi dezvoltarea ˆ ın serie Taylor a funct ¸iei u(x,t) ˆ ın jurul punctului ( xi,tn)
u(xi−1,tn) =u(xi,tn)−h∂u(xi,tn)
∂x+O(h2), (10.11)
u(xi,tn+1) =u(xi,tn) +k∂u(xi,tn)
∂t+O(k2) ,
undexi=ih, i∈0,I,tn=nk, n∈0,N,h= 1/I,k=T/N. Rezult˘ a
∂u(xi,tn)
∂x≡∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i=un
i−un
i−1
h+O(h),∂u∂
t/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i=un+1
i−un
i
k+O(k) .
(10.12)
Neglijˆ and termenii O(k) ¸ siO(h), rezult˘ a ecuat ¸ia ˆ ın diferent ¸e finite
vn+1
i=vn
i+c(vn
i−1−vn
i), i∈1,I, n∈0,N, (10.13)
unde cuvn
is-a notat valoarea aproximativ˘ a a funct ¸iei u(ih,nk ), iarc=ak/h
este cunoscut sub denumirea de num˘ ar Courant1. Relat ¸ia ( 10.13 ) este o schem˘ a
explicit˘ a cu diferent ¸e finite, deoarece valorile vn+1
ise determin˘ a direct, folosind
numai valorile vn
ide la momentul de timp anterior. Valorile vn
isunt aproxi-
mative deoarece din dezvolt˘ arile ( 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 explicit˘ a ( 10.13 ).
ˆ ıntˆ ai. Spunem c˘ a formulele ( 10.12 ) au ordinul ˆ ıntˆ ai de precizie. Observ˘ am cum
pentruc= 1 se obt ¸ine solut ¸ia exact˘ a vn+1
i=vn
i−1.
Exemplu . Vom rezolva ecuat ¸ia
∂u∂
t+∂u∂
x= 0, (10.14)
cu condit ¸iile init ¸iale ¸ si la limit˘ a
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 necunoscut˘ a ueste nul˘ a pentru toate
valorilexdin domeniul de calcul, mai put ¸in valoarea x= 0 unde exist˘ a o perturbat ¸ie
u= 1. Aceast˘ a perturbat ¸ie se va propaga ˆ ın timp ¸ si spat ¸iu. Rezultatele obt ¸inute
cu schema explicit˘ a ( 10.13 ) sunt date ˆ ın figura 10.2. Se observ˘ a diferent ¸e mari ˆ ıntre
rezultatele obt ¸inte cu ret ¸ele diferite. De¸ si ar fi fost de a¸ steptat ca cele mai bune
rezultate s˘ a fie 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 difer˘ a mult de cele
obt ¸inute cu k= 0.1, h= 0.1. De¸ si pasul mai mic h= 0.01 pe direct ¸ia Oxˆ ınsemn˘ a
o aproximare mai bun˘ a a derivatei spat ¸iale ¸ si ne-ar ˆ ındrept˘ at ¸i s˘ a sper˘ am la rezultate
mai bune, acest lucru nu se ˆ ıntˆ ampl˘ a, ba din contra, rezultatele nu mai au nici o
semnificat ¸ie fizic˘ a. A¸ sa cum vom vedea mai departe, acest lucru se datore¸ ste faptului
c˘ a schema ( 10.13 ) este instabil˘ a pentru valori k/h> 1.
Dup˘ a cum am v˘ azut din exemplul precedent, folosirea unei ret ¸ele foarte
fine (altfel spus, norma ret ¸elei este foarte mic˘ a) nu este ˆ ıntotdeauna suficient˘ a.
1Dup˘ a matematicianul Richard Courant (1988-1972) care a avut o contribut ¸ie important˘ a
ˆ ın domeniul metodelor numerice pentru rezolvarea ecuat ¸iilor neliniare cu derivate part ¸iale.
268 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Ret ¸eaua de calcul trebuie de multe ori s˘ a ˆ ındeplineasc˘ a anumite condit ¸ii pentru
ca o schem˘ a cu diferent ¸e finite s˘ a fie convergent˘ a.
Definit ¸ie. O metod˘ a cu diferent ¸e finite este convergent˘ a , dac˘ a solut ¸ia obt ¸inut˘ a
cu ajutorul ecuat ¸iei cu diferent ¸e converge c˘ atre solut ¸ia exact˘ a atunci cˆ and
norma ret ¸elei tinde la zero.
T ¸ inˆ and cont de ( 10.2), caracteristicile ecuat ¸iei ( 10.8) sunt date de
dt=dx/a , (10.16)
adic˘ a drepte de pant˘ a dt/dx = 1/a. Condit ¸ia de convergent ¸˘ a pentru schema
explicit˘ a ( 10.13 ) este este dat˘ a de criteriul CFL (Courant-Friederichs-Lewy )
care impune ca domeniul de influent ¸˘ a numeric˘ a s˘ a includ˘ a domeniul de influent ¸˘ a
fizic˘ a (fig.10.1; vezi ¸ si 10.2.3 , fig.10.15 ). Domeniul de influent ¸˘ a a punctului B
este format din totalitatea punctelor care primesc informat ¸ie din B. Domeniul
de influent ¸˘ a fizic˘ a este m˘ arginit la dreapta de BD, ˆ ın timp ce domeniul de
influent ¸˘ a numeric˘ a este m˘ arginit la dreapta de BA. Schema explicit˘ a ( 10.13 )
este convergent˘ a deci dac˘ a ret ¸eaua ˆ ındepline¸ ste condit ¸ia
0<c≡ak/h≤1 . (10.17)
Dac˘ a condit ¸ia ( 10.17 ) nu este ˆ ındeplinit˘ a, schema ( 10.13 ) nu este convergent˘ a
deoarece nu este stabil˘ a (vezi par. 43).
Dac˘ a pentru aproximarea derivatei spat ¸iale ˆ ın locul diferent ¸ei la stˆ anga
(10.12 ) folosim diferent ¸e la dreapta
∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i=un
i+1−un
i
h+O(h),∂u∂
t/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i=un+1
i−un
i
k+O(k) , (10.18)
obt ¸inem
vn+1
i=vn
i+c(vn
i−vn
i+1) . (10.19)
Utilizˆ and schema ( 10.19 ) pentru rezolvarea ecuat ¸iei ( 10.14 ), valorilevn+1
ipentru
toate momentele de timp r˘ amˆ an egale cu valorile init ¸iale v0
i, deoarece schema
(10.19 ) nu permite propagarea informat ¸iei de la stˆ anga la dreapta, ci numai de
la dreapta la stˆ anga. Schema ( 10.19 ) ar putea fi folosit˘ a ˆ ın cazul c<0, caz ˆ ın
care schema ( 10.12 ) nu mai este adecvat˘ a.
Putem ˆ ıncerca o aproximare mai bun˘ a pentru derivata spat ¸ial˘ a folosind di-
ferent ¸e centrate
∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i=un
i+1−un
i−1
2h+O(h2) , (10.20)
obt ¸inˆ andu-se
vn+1
i=vn
i+ (c/2)(vn
i−1−vn
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 ) pentrut= 0.5.
schem˘ a care este instabil˘ a pentru orice valoare a num˘ arului Courant c. Ob-
serv˘ am cum un ordin mai mare ˆ ın aproximarea derivatelor part ¸iale, nu ˆ ınseamn˘ a
neap˘ arat precizie mai bun˘ a .
O schem˘ a explicit˘ a des ˆ ıntˆ alnit˘ a este schema Lax-Wendroff dat˘ a de
vn+1
i= (1−c2)vn
i−c
2(1−c)vn
i+1+c
2(1 +c)vn
i−1, (10.22)
care are ordinul de precizie O(h2). Pentruc= 1 se obt ¸ine solut ¸ia exact˘ a vn+1
i=
vn
i−1, la fel ca la schema ( 10.13 ).
Exemplu .ˆIn figura ( 10.3) sunt date rezultatele obt ¸inute la momentul de timp
t= 0.5 pentru ecuat ¸ia ( 10.14 ) rezolvat˘ a 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 ) pentruh=k= 0.05, acceptabile
pentruh= 0.05,k= 0.01, ¸ si proaste pentru h= 0.05,k= 0.1 deoarece schema este
instabil˘ a.
Scheme implicite.
Convergent ¸a condit ¸ionat˘ a este o caracteristic˘ a a schemelor explicite ¸ si impune
adeseori pa¸ si de timp foarte mici. Pentru a evita acest neajuns, se folosesc
schemele implicite, ˆ ın care derivatele spat ¸iale se aproximeaz˘ a folosind valorile
aproximative vinu la momentul n, ci la momentul n+ 1,
∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen+1
i=un+1
i+1−un+1
i
h+O(h) . (10.23)
270 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.4: Rezultate obt ¸inute pentru ecuat ¸ia ( 10.14 ), cu schemele implicite ( 10.24 )
¸ si (10.25 ) pentrut= 0.5.
Se obt ¸in ecuat ¸iile cu diferent ¸e finite
vn+1
i= (cvn+1
i−1+vn
i)/(1 +c), i= 1,2,… . (10.24)
Schema ( 10.24 ) este necondit ¸ionat convergent˘ a.
O alt˘ a schem˘ a implicit˘ a este cea atribuit˘ a lui Wendroff , dat˘ a de relat ¸ia
vn+1
i=vn
i−1+1−c
1+c(vn
i−vn
i−1), (10.25)
care este de asemenea necondit ¸ionat convergent˘ a.
Exemplu .ˆIn figura ( 10.4) sunt date rezultatele obt ¸inute la momentul de timp t=
0.5 pentru ecuat ¸ia ( 10.14 ) rezolvat˘ a cu schemele implicite ( 10.24 ) ¸ si (10.25 ). Amˆ andou˘ a
schemele sunt convergente pentru toate valorile h¸ sik. Rezultate foarte bune s-au
obt ¸inut cu schema ( 10.25 ) pentruh=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 cvasiliniar˘ a de forma
n/summationdisplay
i=1Ai∂2u∂
x2
i+n/summationdisplay
i=1Bi∂u∂
xi+C= 0 , (10.26)
cuAi, Bi, C=f(x1,… ,xn,u). Forma ( 10.26 ) nu cont ¸ine derivate mixte (este
oform˘ a canonic˘ a ) ¸ si se poate obt ¸ine prin schimb˘ ari de variabile adecvate, dup˘ a
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 , dac˘ a tot ¸i coeficient ¸ii Ai(x1,… ,xn,u),i∈1,nau acela¸ si semn;
(b)parabolic , dac˘ a exist˘ a un indice jastfel ˆ ıncˆ at Aj= 0,Ai/negationslash= 0 (i/negationslash=j) ¸ si
Bj/negationslash= 0;
(c)hiperbolic , dac˘ a tot ¸i coeficient ¸ii Aiau acela¸ si semn, cu except ¸ia unuia care
are semn opus.
Aceast˘ a clasificare este important˘ a, deoarece este legat˘ a de modul ˆ ın care
un punct din domeniu este influent ¸at de (comunic˘ a cu) punctele din vecin˘ atate.
ˆIn cazul ecuat ¸iei de tip eliptic , punct este influent ¸at de toate punctele din
orice vecin˘ atate (disc, bul˘ a) a lui. Un exemplu tipic de ecuat ¸ie de tip eliptic,
este ecuat ¸ia lui Laplace
∆u=∂2u∂
x2+∂2u∂
y2+∂2u∂
z2= 0 . (10.27)
Datorit˘ a influent ¸ei reciproce o problem˘ a de tip eliptic nu se poate rezolva nu-
meric decˆ at simultan pentru toate punctele din domeniu. Condit ¸iile la limit˘ a ˆ ın
acest caz se impun pe frontiere ˆ ınchise.
ˆIn cazul ecuat ¸iei de tip parabolic exist˘ a posibilitatea unui mar¸ s ˆ ın calculul
numeric, ˆ ın direct ¸ia xjpentru care Aj= 0. Ecuat ¸ia se scrie sub forma
Bj∂u∂
xj=F(x1,… ,xn,u,∂u∂
xi,∂2u∂
x2
i), i∈1,n, i/negationslash=j, (10.28)
iar problema se rezolv˘ a simultan numai pentru punctele situate pe suprafet ¸ele
xj=const , nu pentru toate nodurile din domeniu, ceea ce simplific˘ a esent ¸ial
calculul. Problemele cu ecuat ¸ii de tip parabolic sunt comparativ mai simple
(la acela¸ si num˘ ar de variabile) decˆ at cele cu ecuat ¸ii de tip eliptic. Exemplu
tipic de ecuat ¸ie de tip parabolic , este ecuat ¸ia de transmitere a c˘ aldurii ˆ ın regim
nestat ¸ionar
∂u∂
t=∂2u∂
x2+∂2u∂
y2, (10.29)
tfiind timpul. Ecuat ¸ia ( 10.29 ) ˆ ın trei variabile independente ( x,y,t ) este, ˆ ın ge-
neral, mai u¸ sor de rezolvat numeric decˆ at ecuat ¸ia ( 10.27 ) ˆ ın variabilele ( x,y,z ).
ˆIn cazul ecuat ¸iei de tip hiperbolic , exist˘ a puncte care nu se pot influent ¸a
reciproc. Un exemplu ˆ ıl reprezint˘ a mi¸ sc˘ arile supersonice, unde perturbat ¸iile
mici sunt limitate la interiorul unui con, denumit con Mach . Prin urmare, ˆ ın
rezolvarea numeric˘ a trebuie evitat˘ a comunicarea numeric˘ a a nodurilor care nu
comunic˘ a fizic ˆ ıntre ele. Un exemplu tipic de ecuat ¸ie de tip hiperbolic este
ecuat ¸ia undelor
∂2u∂
t2=a2∂2u∂
x2, (10.30)
afiind viteza de propagare a undei ( a=const ).ˆIn cazul ecuat ¸iilor hiperbolice
exist˘ a mai multe direct ¸ii caracteristice distincte de-a lungul c˘ arora se poate
272 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.5: Domeniul de calcul.
avansa plecˆ and de la o stare init ¸ial˘ a. Problemele pot include ˆ ıns˘ a, pe lˆ ang˘ a
condit ¸ii init ¸iale , ¸ sicondit ¸ii la limite caz ˆ ın care solut ¸iile sunt esent ¸ial diferite.
Pentru exemplificare consider˘ am ecuat ¸ia
auxx+buxy+cuyy=f, (10.31)
undeux≡∂u/∂x ,uy≡∂u/∂y ,uxx≡∂2u/∂x2,uxy≡∂2u/∂x∂y ,uyy≡
∂2u/∂y2, iara,b,c¸ sifsunt funct ¸ii de x,y¸ siu. Se cunosc valorile funct ¸iei
u¸ si ale derivatelor ux¸ siuype curba Γ ¸ si sub aceasta (figura 10.5). Se pune
problema dac˘ a aceste valori cunoscute sunt suficiente pentru a putea determina
valorile derivatelor de ordinul al doilea, uxx,uxy¸ siuyy. Vom scrie
d(ux) =uxxdx+uxydy
d(uy) =uyxdx+uyydy.(10.32)
Ecuat ¸iile ( 10.31 ) ¸ si ( 10.32 ) formeaz˘ a sistemul
a b c
dx dy 0
0dx dy
uxx
uxy
uyy
=
f
d(ux)
d(uy)
. (10.33)
Solut ¸ia sistemului ( 10.33 ) exist˘ a ¸ si este unic˘ a dac˘ a determinantul matricei sis-
temului este nenul, adic˘ a
a(dy)2−bdxdy +c(dx)2/negationslash= 0 . (10.34)
Dac˘ a curba Γ are panta m=dy/dx astfel ˆ ıncˆ at am2−bm+c= 0, atunci
sistemul ( 10.33 ) este nedeterminat, necunoscutele uxx,uxy,uyyneputˆ and fi
determinate ˆ ın mod unic.
Ecuat ¸ia ( 10.34 ) poate avea:
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 273
(a)dou˘ a r˘ ad˘ acini reale distincte, m1/negationslash=m2, dac˘ ab2−4ac > 0; ˆ ın acest caz
ecuat ¸ia este de tip hiperbolic ;
(b)dou˘ a r˘ ad˘ acini reale confundate, m1=m2, dac˘ ab2−4ac= 0; ecuat ¸ia este
de tip parabolic ;
(c)dou˘ a r˘ ad˘ acini complex conjugate, dac˘ a b2−4ac< 0; ecuat ¸ia este de tip
eliptic .
Nedeterminarea care se obt ¸ine ˆ ın cazul ˆ ın care Γ este o curb˘ a caracteristic˘ a a
unei ecuat ¸ii de tip hiperbolic sugereaz˘ a ideea c˘ a este posibil ca pe aceast˘ a curb˘ a
ecuat ¸ia ( 10.31 ) s˘ a poat˘ a fi ˆ ınlocuit˘ a cu o ecuat ¸ie mai simpl˘ a. Dup˘ a cum vom
vedea la 10.2.4 , ecuat ¸ia cu derivate part ¸iale de ordinul al doilea se poate ˆ ınlocui
pe o curb˘ a caracteristic˘ a cu o ecuat ¸ie diferent ¸ial˘ a ordinar˘ a, mult mai simplu de
rezolvat numeric.
10.2.1 Ecuat ¸ii cu derivate part ¸iale de tip parabolic
Vom considera cea mai simpl˘ a ecuat ¸ie de tip parabolic sub forma
∂u∂
t=∂2u∂
x2. (10.35)
Ecuat ¸ia ( 10.35 ) este un caz particular al ecuat ¸iei ( 10.31 ), cuy≡t,a= 1,b= 0,
c= 0,f= 0. Avem b2−4ac= 0, deci ecuat ¸ia este de tip parabolic.
Exemplu . Ecuat ¸ia ( 10.35 ) se ˆ ıntˆ alne¸ ste ˆ ın transmiterea c˘ aldurii ˆ ın regim nesta-
t ¸ionar. Absent ¸a constantelor fizice ˆ ın ( 10.35 ) se explic˘ a prin faptul c˘ a s-au introdus
variabile adimensionalizate: u, temperatura adimensionalizat˘ a, t,xtimpul ¸ si coor-
donata spat ¸ial˘ a, de asemenea adimensionalizate. Transferul c˘ aldurii printr-o bar˘ a ˆ ın
care una din dimensiuni este mult mai mare decˆ at celelelalte dou˘ a ¸ si deci fenomenul
se poate considera unidimensional, ˆ ın regim nestat ¸ionar, este descris de ecuat ¸ia
ρcp
λ∂T∂
t=∂2T∂
x2, (10.36)
undeρeste densitatea materialului ˆ ın kg/m3,cpc˘ aldura specific˘ a ˆ ın j/kg·K, iarλ
este conductivitatea termic˘ a, 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 fizic, F(x) reprezint˘ a distribut ¸ia de temperatur˘ a ˆ ıntr-o bar˘ a de
lungimeL, la momentul init ¸ial t= 0, iarG0(t) ¸ siG1(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 fluxul de temperatur˘ a, adic˘ a
derivata∂T/∂x , de regul˘ a nul. Funct ¸iile G0¸ siG1sunt, ˆ ın cazul general, funct ¸ii de
timp, ˆ ın timp ce funct ¸ia F(x) este ˆ ın general funct ¸ie de coordonata spat ¸ial˘ a x. Vom
lua ˆ ın considerare pentru simplitate ˆ ın cele ce urmeaz˘ a cazul ˆ ın care funct ¸iile G0¸ siG1
sunt constante, G0=T0,G1=T1.
274 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Se introduc coordonata adimensionalizat˘ a ¯ x¸ si temperaturatura adimensionalizat˘ a
uprin relat ¸iile
¯x=x/L, u = (T−T1)/(T0−T1) . (10.38)
Ecuat ¸ia ( 10.36 ) devine
ρcp
λL2∂u∂
t=∂2u∂
¯x2. (10.39)
Variabila adimensionalizat˘ a pentru timp este sugerat˘ a de coeficientul derivatei ∂u/∂t .
Folosirea unei variabile adimensionale pentru timp este posibil˘ a numai dac˘ a ρcp/λ=
const .
¯t=t/[(ρcp/λ)L2] . (10.40)
Adimensionalizarea este recomandat˘ a deoarece conduce ˆ ın general la reducerea num˘ a-
rului de parametrii, iar valorile variabilelor dependente ¸ si a funct ¸iilor necunoscute au
acela¸ si ordin de m˘ arime.
Se obt ¸ine ˆ ın final ecuat ¸ia ( 10.35 ).ˆIn continuare renunt ¸˘ am la notat ¸ia cu bar˘ a
pentru variabilele adimensionalizate.
Ecuat ¸ia ( 10.35 ) se rezolv˘ a pentru urm˘ atoarele 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) =g0(t), u(1,t) =g1(t), t≥0 . (10.42)
ˆIn relat ¸iile ( 10.41 ) ¸ si ( 10.42 ),f(x),g0(t) ¸ sig1(t) sunt funct ¸ii date.
Metoda de rezolvare numeric˘ a const˘ a ˆ ın ˆ ımp˘ art ¸irea domeniului dreptunghiu-
lar (figura 10.6) de dimensiuni 1 ¸ si T(durata pe care urm˘ arim desf˘ a¸ surarea
fenomenului) ˆ ın subdiviziuni prin noduri cu pa¸ si egali2,hˆ ın direct ¸ia x¸ sikˆ ın
direct ¸iat
h= 1/I, k =T/N , (10.43)
I¸ siNfiind ˆ ıntregi suficient de mari. Un nod oarecare de coordonate ( ih, nk )
va fi 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, aproximˆ and derivatele part ¸iale cu
diferent ¸e finite. Aceast˘ a operat ¸ie se nume¸ ste discretizare (cu diferent ¸e finite)
deoarece valorile funct ¸iei se vor calcula doar ˆ ın noduri, adic˘ a pe o mult ¸ime
discret˘ a de puncte.
Deoarece calculul numeric ne va furniza doar valori aproximative pentru
funct ¸iau, vom scrie
u=v+w, (10.44)
vreprezentˆ and valorile aproximative ale funct ¸iei u, iarweroarea.
2Folosirea diviziunilor echidistante duce la simplificarea relat ¸iilor ulterioare, nefiind obli-
gatorie.
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 275
Figura 10.6: Discretizarea ecuat ¸iilor parabolice.
Scheme explicite.
Aproximˆ and derivatele part ¸iale cu diferent ¸e finite sub forma3
(vn+1
i−vn
i)/k= (vn
i−1−2vn
i+vn
i+1)/h2, (10.45)
se obt ¸ine o expresie explicit˘ a pentru valoarea funct ¸iei la momentul de timp n+1
ˆ ın funct ¸ie de valorile la momentul anterior n
vn+1
i=λvn
i−1+ (1−2λ)vn
i+λvn
i+1, (10.46)
unde am notat cu λparametrul ret ¸elei
λ=k/h2. (10.47)
Se observ˘ a c˘ a pentru calculul valorii vn+1
isunt necesare trei valori la momen-
tuln:vn
i−1,vn
i¸ sivn
i+1. Pentrun= 0, aceste valori sunt cunoscute din condit ¸iile
init ¸iale ¸ si la limite. ˆIntr-adev˘ ar, din ( 10.46 ), (10.41 ) ¸ si ( 10.42 ) se obt ¸ine
v1
i=λfi−1+ (1−2λ)fi+λfi+1, i∈1,I−1
v1
0=g0(k);v1
I=g1(k);v0
i=f(xi) .(10.48)
ˆIn acest fel, calculul poate continua pas cu pas ˆ ın direct ¸ia axei timpului.
Relat ¸ia ( 10.46 ) este explicit˘ a deoarece sistemul de I+ 1 ecuat ¸ii care se obt ¸ine
pentrui∈0,Ieste practic rezolvat. R˘ amˆ ane de studiat problema convergent ¸ei
metodei explicite (definit ¸ia convergent ¸ei a fost dat˘ a la 41).
ˆIn cazul de fat ¸˘ a, trebuie studiat˘ a comportarea solut ¸iei dat˘ a de schema ex-
plicit˘ a ( 10.45 ) sau ( 10.46 ) cu condit ¸iile la limite ¸ si init ¸iale ( 10.48 ).
3Aproximarea se face cu ajutorul dezvolt˘ arii ˆ ın serie Taylor, dup˘ a cum se va vedea ˆ ın
continuare cˆ and se va analiza convergent ¸a schemei.
276 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
ˆIntr-un punct oarecare ( ih,nk ), ecuat ¸ia exact˘ a ( 10.35 ) se scrie
(∂u/∂t )n
i= (∂2u/∂x2)n
i. (10.49)
Derivatele part ¸iale din ( 10.49 ) se vor exprima cu ajutorul dezvolt˘ arilor ˆ ın serie
Taylor ale valorilor funct ¸iei u(x,t) ˆ ın puncte vecine. Astfel,
un
i±1=un
i±h(∂u/∂x )n
i+h2
2/parenleftbig
∂2u/∂x2/parenrightbign
i±h3
6/parenleftbig
∂3u/∂x3/parenrightbign
i+
+h4
24/parenleftbig
∂4u/∂x4/parenrightbign
i±h5
120/parenleftbig
∂5u/∂x5/parenrightbign
i+O(h6) ,(10.50)
un+1
i=un
i+k(∂u/∂t )n
i+k2
2/parenleftbig
∂2u/∂t2/parenrightbign
i+O(k3) , (10.51)
de unde rezult˘ a
(∂u/∂t )n
i=1
k(un+1
i−un
i)−k
2/parenleftbig
∂2u/∂t2/parenrightbign
i+O(k2) ,/parenleftbig
∂2u/∂x2/parenrightbign
i=1
h2(un
i−1−2un
i+un
i+1)−h2
12/parenleftbig
∂4u/∂x4/parenrightbign
i+O(h4) .(10.52)
S-a presupus c˘ a derivatele part ¸iale ale funct ¸iei uˆ ın raport cu variabilele t,x
sunt definite pˆ an˘ a la ordinele necesare. Cu ajutorul relat ¸iilor ( 10.52 ), ecuat ¸ia
(10.49 ) conduce la sistemul
un+1
i=λun
i−1+ (1−2λ)un
i+λun
i+1+zn
i, i∈1,I−1, n∈0,N. (10.53)
Fat ¸˘ a de ecuat ¸iile ( 10.46 ) pentru valorile aproximative ˆ ın noduri vn
i, sistemul
(10.53 ) pentru valorile exacte un
icont ¸ine reziduul zn
iavˆ and expresia
zn
i/k= (k/2)(∂2u/∂t2)n
i−(h2/12)(∂4u/∂x4)n
i+O(k2) +O(h4) . (10.54)
Sc˘ azˆ and relat ¸iile ( 10.53 ) ¸ si (10.46 ), se obt ¸ine pentru eroarea wdefinit˘ a de ( 10.44 )
wn+1
i=λwn
i−1+ (1−2λ)wn
i+λwn
i+1+zn
i. (10.55)
Condit ¸ia de convergent ¸˘ a a schemei cu diferent ¸e, se poate formula sub forma
wn
i→0,cˆ andI,N→∞ . (10.56)
Pentru a stabili ˆ ın ce condit ¸ii se realizeaz˘ a ( 10.56 ), vom urm˘ ari comportarea
modulelor erorilor maxime. Din ( 10.56 ) se obt ¸ine pentru λ>0
/vextendsingle/vextendsinglewn+1
i/vextendsingle/vextendsingle≤λ/vextendsingle/vextendsinglewn
i−1/vextendsingle/vextendsingle+|1−2λ||wn
i|+λ/vextendsingle/vextendsinglewn
i+1/vextendsingle/vextendsingle+|zn
i|. (10.57)
Not˘ am cuwn= max
i|wn
i|. Inegalitatea ( 10.57 ) fiind adev˘ arat˘ a pentru orice i,
este adev˘ arat˘ a ¸ si pentru acel imaxcare realizeaz˘ a maximul modulului; valoarea
acestuiimaxfiind necunoscut˘ a, o vom nota tot cu i.ˆIn acest fel, din ( 10.57 ) se
obt ¸ine succesiv
wn+1≤λ/vextendsingle/vextendsinglewn
i−1/vextendsingle/vextendsingle+|1−2λ||wn
i|+λ/vextendsingle/vextendsinglewn
i+1/vextendsingle/vextendsingle+|zn
i|,
wn+1≤(2λ+|1−2λ|)wn+zn,undezn= max
i|zn
i|.(10.58)
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 277
Pentru ca eroarea wns˘ a nu creasc˘ a de la un moment de timp nla momentul
urm˘ atorn+ 1, este necesar ¸ si suficient ca
2λ+|1−2λ|≤1⇒0<λ≤1/2 . (10.59)
Cu condit ¸ia ( 10.59 ), se obt ¸ine
wn+1≤wn+zn, n∈0,N. (10.60)
Sumˆ and egalitatea ( 10.60 ) termen cu termen de la 0 la N−1, ¸ si efectuˆ and
reducerile, rezult˘ a
wn≤w0+N−1/summationdisplay
n=0zn≤w0+Nzmax=w0+Tzmax
k, (10.61)
undew0reprezint˘ a eroarea la momentul init ¸ial t= 0, iarzmax= max
nzn. Deo-
arece problema se rezolv˘ a pentru condit ¸iile init ¸iale ¸ si la limite impuse, eroarea
w0este nul˘ a (w0= 0); ˆ ın orice caz, chiar dac˘ a ˆ ın condit ¸iile impuse sunt erori,
acestea nu se datoreaz˘ a metodei.
Cu aceast˘ a observat ¸ie ¸ si t ¸inˆ and cont de ( 10.54 ), se obt ¸ine
lim
N→∞wn≤0, wn→0,cˆ andN→∞ , (10.62)
adic˘ a metoda explicit˘ a cu diferent ¸e finite converge, cu condit ¸ia ( 10.59 ).Con-
vergent ¸a condit ¸ionat˘ a este o situat ¸ie general ˆ ıntˆ alnit˘ a la metodele explicite ¸ si
conduce la cre¸ sterea volumului de calcul pentru obt ¸inerea unei precizii cores-
punz˘ atoare. Spre exemplu, pentru h= 0.01, sunt necesari cel put ¸in 5000 de
pa¸ si pentru T= 1 (k≤5·10−5).ˆIn acela¸ si timp, este interesant de observat
c˘ a, pentrukfixat, mic¸ sorarea pasului hdup˘ a direct ¸ia x, poate duce la rezutate
eronate dac˘ a nu se respect˘ a condit ¸ia λ≤1/2.
Urm˘ arind (figura 10.6), vom ˆ ıncerca s˘ a d˘ am o explicat ¸ie calitativ˘ a a fenome-
nului de convergent ¸˘ a condit ¸ionat˘ a pentru schemele explicite. Astfel, cunoscˆ and
valorile funct ¸iei upe liniaAB, se pot calcula valorile aproximative vn
ipen-
tru punctele din interiorul triunghiului ABP , f˘ ar˘ a a utiliza valorile impuse de
condit ¸iile la limite. Altfel spus, punctul Pprime¸ ste influent ¸˘ a (ˆ ın procesul nu-
meric de calcul) numai de la punctele din interiorul triunghiului ABP , fapt ce
ar corespunde fizic unei ecuat ¸ii de tip hiperbolic ¸ si nu parabolic. O schem˘ a cu
diferent ¸e 100% parabolic˘ a ar trebui s˘ a nu poat˘ a determina valoarea funct ¸iei u
ˆ ıntr-un punct de pe linia CDf˘ ar˘ a ca valorile din punctele C¸ siDs˘ a fie luate ˆ ın
calcul. O astfel de comportare o au schemele implicite care vor fi prezentate ˆ ın
continuare.
Un aspect interesant al schemelor cu diferent ¸e finite ˆ ıl constituie schemele
optimale . Acestea constau ˆ ın alegerea parametrului ret ¸elei λastfel ˆ ıncˆ at eroarea
de trunchiere s˘ a fie cˆ at mai mic˘ a. Pentru exemplificare, vom considera schema
explicit˘ a ( 10.46 ),
un+1
i=λun
i−1+ (1−2λ)un
i+λun
i+1+zn
i, (10.63)
278 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
cu eroarea de trunchiere zn
idat˘ a de relat ¸ia ( 10.54 ). Pentru ecuat ¸ia c˘ aldurii
(10.35 ) se arat˘ a u¸ sor c˘ a ∂2u/∂t2=∂4u/∂x4, astfel ˆ ıncˆ at din ( 10.54 ) se vede
u¸ sor c˘ a pentru k=h2/6, adic˘ aλ= 1/6, eroarea de trunchiere devine
zn
i=O(k3+kh4) =O(k3) =O(h6) , (10.64)
adic˘ a s-a cˆ a¸ stigat un ordin de precizie numai prin alegerea adecvat˘ a a ret ¸elei
de calcul. Acest cˆ a¸ stig nu este ˆ ıns˘ a atˆ at de spectaculos, deoarece egalitatea
∂2u/∂t2=∂4u/∂x4este adev˘ arat˘ a pentru ecuat ¸ia ∂u/∂t =∂2u/∂x2cu condit ¸ia
ca derivatele respective s˘ a fie evaluate exact. Ori, folosind diferent ¸e finite,
aceast˘ a egalitate este verificat˘ a aproximativ, ˆ ın funct ¸ie de ordinul aproxim˘ arii
¸ si de pasul ret ¸elei. Relat ¸ia ( 10.54 ) se scrie pentru λ= 1/6 ˆ ın forma
zn
i=kh2/2[(∂2u/∂t2)n
i−(∂4u/∂x4)n
i] +O(k3+kh4) , (10.65)
unde diferent ¸a ( ∂2u/∂t2)n
i−(∂4u/∂x4)n
inu este strict egal˘ a cu zero.
Scheme implicite.
Revenind la ecuat ¸ia ( 10.35 ), vom utiliza aceea¸ si ret ¸ea de puncte, cu deosebirea
c˘ a, fat ¸˘ a de schema explicit˘ a ( 10.45 ), ˆ ın membrul drept vom introduce valorile
funct ¸iei aproximante vla momentul n+ 1. Se scrie deci
(vn+1
i−vn
i)/k= (vn+1
i−1−2vn+1
i+vn+1
i+1)/h2, i∈1,I−1, n∈0,N. (10.66)
Sistemul de ecuat ¸ii ( 10.66 ) nu mai este explicit, ci reprezint˘ a un sistem de ecuat ¸ii
liniare cu matrice tridiagonal˘ a , care furnizeaz˘ a valorile funct ¸iei ˆ ın noduri, la
momentul de timp n+ 1
λvn+1
i−1−(1 + 2λ)vn+1
i+λvn+1
i+1=−vn
i, i∈1,I−1, n∈0,N. (10.67)
Sistemul de ecuat ¸ii ( 10.67 ) se rezolv˘ a ˆ ın mod repetat, pentru momente de timp
succesive. Spre exemplu, pentru n= 0, se obt ¸ine sistemul
Av(1)=b(0), (10.68)
cuv(1)= (v1
1,v1
2,… ,v1
I−1)T,xi=ih,
b(0)=−(f(x1) +λg0(k),f(x2),… ,f (xI−2),f(xI−1) +λg1(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 observ˘ a c˘ a matricea sistemului A∈MI−1depinde numai de parametrul
ret ¸eleiλ. Pentru rezolvarea sistemului liniar ( 10.68 ) se poate folosi metoda
direct˘ a descris˘ a la 1.1.2, care t ¸ine cont de forma tridiagonal˘ a a matricei A.
T ¸ inˆ and cont de particularit˘ at ¸ile sistemului ( 10.70 ), algoritmul de rezolvare a
ecuat ¸iei c˘ aldurii folosind schema implicit˘ a ( 10.66 ) se poate scrie formal dup˘ a
cum urmeaz˘ a:
Date : condit ¸iile init ¸iale f(x); condit ¸iile la limit˘ a g0(t);g1(t),h,λ,T
k←λ·h2
Factorizare A=L·R
r1←−(1 + 2λ)
i= 2 : (I−1)/bracketleftbigg
li←λ/ri−1
ri←r1−liλ
i= 0 :I/bracketleftbig
v0
i←f(ih)
n= 0 : (T/k)/ceilingleftbigg
vn+1
0←g0((n+ 1)k)
vn+1
I←g1((n+ 1)k)Rezolv˘ a sistemul Lz=b
z1←−vn
1−λvn+1
0
i= 2 : (I−2)
[zi←−vn
i−lizi−1)
zI−1←−vn
i−1−λvn+1
I
Rezolv˘ a sistemul Rv=z
vn+1
I−1←zI−1/rI−1
i= (I−2) : 1/bracketleftbig
vn+1
i←(zi−λvn+1
i+1)/ri.
(10.71)
Deoarece matricea este diagonal dominant˘ a (1 + 2 λ > 2λ), sistemul poate
fi 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 implicit˘ a (10.67 )converge necondit ¸ionat
(se va demonstra mai jos), adic˘ a indiferent de valorile parametrului ret ¸elei λ.
Aceast˘ a independent ¸˘ a a convergent ¸ei de parametrul ret ¸elei este o proprietate
comun˘ a a schemelor implicite.
Precizia schemelor implicite se poate ˆ ımbun˘ at˘ at ¸i folosind combinat ¸ii ale va-
lorilor funct ¸iei luate la momentele n¸ sin+1. Notˆ and cu θ∈(0,1) un coeficient-
pondere, se scrie
(vn+1
i−vn
i)/k= [(1−θ)(vn
i−1−2vn
i+vn
i+1) +θ(vn+1
i−1−2vn+1
i+vn+1
i+1)]/h2.
(10.72)
ˆIn acest fel, derivata ∂u/∂t se calculeaz˘ a pentru un punct intermediar momen-
telor de timp n¸ sin+ 1, eroarea de discretizare fiind O(k2), fat ¸˘ a deO(k) ˆ ın
cazurile anterioare. ˆIn multe cazuri se ia θ= 1/2 metod˘ a denumit˘ a Crank-
Nicolson , astfel ˆ ıncˆ at sistemul de ecuat ¸ii pentru calculul valorilor funct ¸iei ˆ ın
noduri devine
λvn+1
i−1−2(1 +λ)vn+1
i+λvn+1
i+1=−λvn
i−1−2(1−λ)vn
i−λvn
i+1. (10.73)
Se observ˘ a o cre¸ stere a gradului de dominant ¸˘ a a elementului diagonal de la
1 + 1/2λla 1 + 1/λ. Se poate ar˘ ata c˘ a pentru θ= (6λ−1)/12λ, eroarea de
discretizare ˆ ın derivata ∂2u/∂x2devine de ordinul lui h4.
280 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Convergent ¸˘ a, consistent ¸˘ a, stabilitate.
S-a definit anterior convergent ¸a schemelor cu diferent ¸e finite prin condit ¸ia ca
solut ¸ia aproximativ˘ a vs˘ a se apropie oricˆ at de mult de solut ¸ia exact˘ a u, atunci
cˆ and norma diviziunii tinde la zero ( k→0, h→0).
Deoarece convergent ¸a unei scheme cu diferent ¸e este mai greu de demostrat,
se definesc ¸ si alte propriet˘ at ¸i mai slabe ale schemei, care se pot verifica mai u¸ sor,
fiecare ˆ ın parte, iar ˆ ımpreun˘ a pot asigura convergent ¸a. Astfel de propriet˘ at ¸i,
mai slabe, sunt consistent ¸a ¸ sistabilitatea .
Definit ¸ie. O schem˘ a cu diferent ¸e finite este consistent˘ a (cu ecuat ¸ia cu derivate
part ¸iale pe care o aproximeaz˘ a) dac˘ a tinde spre ecuat ¸ia exact˘ a atunci cˆ and
norma diviziunii tinde la zero ( k→0, h→0).
De obicei schemele provenite din aproxim˘ arile derivatelor prin diferent ¸e fi-
nite, avˆ and erorile de discretizare O(hp+km),p,m∈N+sunt consistente .
Exist˘ a ˆ ıns˘ a ¸ si combinat ¸ii mai put ¸in “ortodoxe” care conduc la erori de discre-
tizare de ordine de m˘ arime care depind de rapoarte ale pa¸ silor, spre exemplu
O(hp/km),p,m∈N+.ˆIn acest caz, eroarea de discretizare nu tinde neap˘ arat
la zero odat˘ a cu norma ret ¸elei, ci poate avea valori finite.
Exemplu . Consider˘ am schema de discretizare a ecuat ¸iei c˘ aldurii sub forma
(vn+1
i−vn−1
i)/2k= (vn
i−1−vn−1
i−vn+1
i+vn
i+1)/h2, (10.74)
ˆ ın care valoarea aproximativ˘ a a funct ¸iei vn
ia fost scris˘ a ca medie aritmetic˘ a a valorilor
vn−1
i¸ sivn+1
i, 2vn
i=vn−1
i+vn+1
i. Pentru a stabili eroarea de trunchiere, dezvolt˘ am
ˆ ın serie Taylor funct ¸ia uˆ ın jurul punctului ( i,n)
un
i±1=un
i±hux+h2
2uxx±h3
6uxxx+h4
24uxxxx±h5
120uxxxxx +O(h6)
un±1
i=un
i±kut+k2
2utt±k3
6uttt+O(k4) .
Adunˆ and ¸ si sc˘ azˆ and relat ¸iile pentru un−1
i¸ siun+1
i, rezult˘ a
2un
i=un−1
i+un+1
i−k2utt+O(k4), ut=12
k(un+1
i−un−1
i) +k2
6uttt+O(k4) .
Pentruuxxse obt ¸ine relat ¸ia
uxx=1
h2(un
i−1−un−1
i−un+1
i+un
i+1)−h2
12uxxxx +k2
h2utt+O(k4
h2) +O(h4) ,
iar pentru ecuat ¸ia c˘ aldurii
(un+1
i−un−1
i)/(2k) = (un
i−1−un−1
i−un+1
i+un
i+1)/h2−
−(h2/12)uxxxx + (k2/h2)utt+O(k4/h2) +O(h4)−(k3/6)uttt+O(k4) .
Eroarea de discretizare cont ¸ine termenul ( k/h)2/parenleftbig
∂2u/∂t2/parenrightbign
icare poate fi diferit de
zero dac˘ ah→0 ¸ sik=ch→0, undeceste o constant˘ a diferit˘ a de zero. Deci, dac˘ a
diviziunile k, h tind la zero, spre exemplu fiind tot timpul egale ( c= 1), schema
(10.74 ) aproximeaz˘ a de fapt o ecuat ¸ie care cont ¸ine termenul ∂2u/∂t2¸ si care nu mai
reprezint˘ a ecuat ¸ia c˘ aldurii. Dac˘ a avem k/h/lessmuch1,c/lessmuch1, efectul acestui termen de
ordinul doi, devine neglijabil.
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 281
Definit ¸ie. O schem˘ a numeric˘ a de calcul (ˆ ın particular o schem˘ a cu diferent ¸e)
este stabil˘ a dac˘ a nu amplific˘ a erorile ˆ ın decursul aplic˘ arii ei.
ˆIn afara erorilor provenite din trunchiere sau rotunjire, surse de instabili-
tate pot fi ¸ si nepotrivirile (discontinuit˘ at ¸ile) din condit ¸iile la limite ¸ si init ¸iale.
Modalit˘ at ¸ile de amplificare a erorilor sunt foarte variate, astfel ˆ ıncˆ at stabilitatea
poate fi studiat˘ a ˆ ın diverse moduri. ˆIn cele ce urmeaz˘ a, vom utiliza stabilitatea
ˆ ın sensul lui von Neuman . Important ¸a studierii consistent ¸ei ¸ si stabilit˘ at ¸ii este
dat˘ a de
Teorema lui Lax. O schem˘ a de calcul consistent˘ a ¸ sistabil˘ a este convergent˘ a .
ˆIn cele ce urmeaz˘ a, vom aplica teorema lui Lax la studiul unor scheme despre
care ¸ stim precis c˘ a sunt consistente, astfel ˆ ıncˆ at stabilitatea devine suficient˘ a
pentru convergent ¸˘ a.
Pentru schema implicit˘ a ( 10.67 ), vom studia stabilitatea ˆ ın sensul lui von
Neuman . Se introduce ˆ ın schem˘ a o perturbat ¸ie w, de forma
w= Ψ(t)ejβx, β∈R, j=√−
1 , (10.75)
unde Ψ(t) este amplitudinea , iarβ∈Rnum˘ arul de und˘ a al perturbat ¸iei. De-
oarece sursa perturbat ¸iilor ˆ ın calculul numeric o constituie erorile de calcul s-a
p˘ astrat notat ¸ia w. Prin urmare, ˆ ın ( 10.67 ) se face ˆ ınlocuirea
vn
i←vn
i+wn
i;wn
i= Ψnejβxi. (10.76)
Rezult˘ a ecuat ¸ia care d˘ a evolut ¸ia perturbat ¸iei
λwn+1
i−1−(1 + 2λ)wn+1
i+λwn+1
i+1=−wn
i. (10.77)
ˆImp˘ art ¸ind ( 10.77 ) membru cu membru cu wn
i, se obt ¸ine
(Ψn+1/Ψn)[λe−jβh−(1 + 2λ) +λejβh] =−1 ,
|Ψn+1/Ψn|≤1/|1 + 2λ(1−cosβh)|= 1/(1 + 4λsin2βh
2)≤1 .(10.78)
Din ( 10.78 ) rezult˘ a c˘ a raportul amplitudinilor perturbat ¸iei la momentele n+ 1
¸ sinscade sau r˘ amˆ ane cel mult nemodificat, oricare ar fi pasul h¸ si lungimea de
und˘ aβa perturbat ¸iei. ˆIn consecint ¸˘ a, perturbat ¸iile schemei cu diferent ¸e date de
erorile de diverse tipuri, nu se amplific˘ a, deci schema implicit˘ a este necondit ¸ionat
stabil˘ a .
Exemplu . Revenind la schema explicit˘ a ( 10.46 ) vom studia studia stabilitatea
acesteia. Ecuat ¸ia care d˘ a evolut ¸ia perturbat ¸iei wdat˘ a de ( 10.75 ) este
wn+1
i=λwn
i−1+ (1−2λ)wn
i+λwn
i+1.
Rezult˘ a condit ¸ia
|ψn+1/ψn|=|λe−jβh+ (1−2λ) +λejβh|=|2λ(cosβh−1) + 1|≤1,
sau
|4λsin2βh/2−1|≤1⇒λ≤1/2.
Condit ¸ia de convergent ¸˘ a λ≤1/2 a schemei explicite ( 10.46 ) este necesar˘ a deci asi-
gur˘ arii stabilit˘ at ¸ii.
282 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.7: Discretizarea ecuat ¸iei parabolice cu dou˘ a variabile spat ¸iale.
Ecuat ¸ii parabolice cu dou˘ a variabile spat ¸iale.
Vom lua ca model ecuat ¸ia c˘ aldurii adimensionalizat˘ a
∂u∂
t=∂2u∂
x2+∂2u∂
y2, (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) =f0(y,t), u(1,y,t) =f1(y,t),0≤y≤1,0<t≤T,
u(x,0,t) =g0(x,t), u(x,1,t) =g1(x,t),0≤x≤1,0<t≤T.(10.80)
Vom considera cazul unei ret ¸ele rectangulare (figura 10.7), unde pentru simpli-
tate consider˘ am pa¸ sii de discretizare spat ¸ial egali, hx=hy=h
x=ih, y =jh, t =nk, i∈1,I, j∈1,J, n∈1,N. (10.81)
Aproximˆ and derivatele spat ¸iale cu diferent ¸e finite la momentul de timp n,
se obt ¸ine relat ¸ia explicit˘ a
vn+1
i,j= (1−4λ)vn
i,j+λ[(vn
i+1,j+vn
i−1,j) + (vn
i,j+1+vn
i,j−1)] . (10.82)
Eroarea de trunchiere a relat ¸iei ( 10.82 ) esteO(k2+kh2), undekeste pasul de
timp. Condit ¸ia de convergent ¸˘ a a schemei explicite ( 10.82 ) se determin˘ a ˆ ın mod
similar cu cazul unei singure variabile spat ¸iale
0<λ≡k/h2≤1/4 . (10.83)
Restrict ¸ia ( 10.83 ) impus˘ a parametrului ret ¸elei pentru ca schema explicit˘ a ( 10.82 )
s˘ a fie stabil˘ a, duce la necesitatea folosirii unor pa¸ si de timp mici, rezultˆ and un
volum mare de calcule. Acest neajuns poate fi ˆ ınl˘ aturat 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 )
vn+1
i,j−vn
i,j=k
2/bracketleftBigg/parenleftbigg∂2u∂
x2+∂2u∂
y2/parenrightbiggn
i,j+/parenleftbigg∂2u∂
x2+∂2u∂
y2/parenrightbiggn+1
i,j/bracketrightBigg
, (10.84)
obt ¸inˆ andu-se
vn+1
i,j−vn
i,j=λ
2(vn
i+1,j−2vn
i,j+vn
i−1,j+vn
i,j+1−2vn
i,j+vn
i,j−1+
vn+1
i+1,j−2vn+1
i,j+vn+1
i−1,j+vn+1
i,j+1−2vn+1
i,j+vn+1
i,j−1) .(10.85)
Schema Crank-Nicolson (10.85 ) este stabil˘ a pentru orice valoare a parametrului
ret ¸eleiλ=k/h2. Pentru fiecare nivel de timp n, se obt ¸ine un sistem de ( I−
1)(J−1) ecuat ¸ii liniare unde I·h= 1 ¸ siJ·h= 1. Acest sistem nu mai are matrice
tridiagonal˘ a ca ˆ ın cazul schemei implicite ( 10.67 ) pentru ecuat ¸ia c˘ aldurii cu o
singur˘ a variabil˘ a spat ¸ial˘ a, neajuns care poate fi evitat folosind metoda direct ¸iilor
alternante .
Metoda direct ¸iilor alternante.
Un sistem de necuat ¸ii liniare cu nnecunoscute, cu matrice este tridiagonal˘ a
se rezolv˘ a direct. ˆIn cazul ecuat ¸iilor parabolice cu o singur˘ a variabil˘ a spat ¸ial˘ a
folosirea schemei implicite ( 10.67 ) a dus la rezolvarea unui astfel de sistem4.
Obt ¸inerea ¸ si ˆ ın cazul ecuat ¸iilor parabolice cu dou˘ a variabile spat ¸iale a unui sis-
tem liniar tridiagonal, se poate realiza dac˘ a folosim o schem˘ a semi-implicit˘ a .
Spre exemplu, vom folosi o formul˘ a implicit˘ a pentru aproximarea derivatei
spat ¸iale∂2u/∂x2
∂2u∂
x2/vextendsingle/vextendsingle/vextendsingle/vextendsinglen+1
i,j∼=(un+1
i+1,j−2un+1
i,j+un+1
i−1,j)/h2(10.86)
¸ si o formul˘ a explicit˘ a pentru derivata spat ¸ial˘ a ∂2u/∂y2
∂2u∂
y2/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i,j∼=(un
i,j+1−2un
i,j+un
i,j−1)/h2. (10.87)
Pentru fiecare j∈1,J, se obt ¸ine un sistem de I−1 ecuat ¸ii liniare5cu tot atˆ atea
necunoscute
−λvn+1
i−1,j+ (1 + 2λ)vn+1
i,j−λvn+1
i+1,j=λvn
i,j−1+ (1−2λ)vn
i,j+λvn
i,j+1.
(10.88)
4Nu orice schem˘ a implicit˘ a duce la aparit ¸ia unui sistem cu matrice tridiagonal˘ a, ci numai
cele la care diferent ¸ele finite pentru aproximarea derivatei spat ¸iale folosesc numai trei puncte
al˘ aturate la momentul de timp n+ 1.
5Num˘ arul de puncte pe o dreapt˘ a y=const esteI+ 1, punctele de pe frontier˘ a fiind date
prin condit ¸iile la limite.
284 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Pentru determinarea valorilor vn+1
i,j, trebuie rezolvate J−1 astfel de sisteme
(vezi figura 10.7). Efortul de calcul este sensibil mai mic la rezolvarea a J−1
sisteme tridiagonale de cˆ ate I−1 ecuat ¸ii decˆ at pentru rezolvarea unui singur
sistem de (I−1)(J−1) ecuat ¸ii cu tot atˆ atea necunoscute.
La pasul urm˘ ator este recomandat s˘ a folosim o formul˘ a explicit˘ a pentru
aproximarea derivatei spat ¸iale ∂2u/∂x2¸ si o formul˘ a implicit˘ a pentru derivata
spat ¸ial˘ a∂2u/∂y2, obt ¸inˆ and
−λvn+2
i,j−1+ (1 + 2λ)vn+2
i,j−λvn+2
i,j+1=λvn+1
i−1,j+ (1−2λ)vn+1
i,j+λvn+1
i+1,j.
(10.89)
Metoda direct ¸iilor alternante const˘ a ˆ ı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
timpn+ 2, dup˘ a care procedeul se repet˘ a.
Ecuat ¸ii parabolice neliniare.
Problemele prezentate pˆ an˘ a aici legate de rezolvarea numeric˘ a a ecuat ¸iilor cu
derivate part ¸iale folosind scheme cu diferent ¸e finite ¸ si stabilitatea acestora au
fost particularizate pentru ecuat ¸ii liniare cucoeficient ¸i constant ¸i . Ecuat ¸ia cu
derivate part ¸iale ( 10.26 ) este liniar˘ a dac˘ a coeficient ¸ii Ai,Bi¸ siCsunt cel mult
funct ¸ii de variabilele independente. Dac˘ a numai coeficient ¸ii derivatelor part ¸iale
de ordin maxim depind de variabilele independente ¸ si de funct ¸ia necunoscut˘ a u,
dar nu ¸ si de derivatele part ¸iale ale acesteia, atunci ecuat ¸ia se nume¸ ste cvasili-
niar˘ a .
Ecuat ¸iile parabolice neliniare pot fi rezolvate cu ajutorul schemelor explicite.
A¸ sa cum am v˘ azut anterior, stabilitatea schemelor explicite impune restrict ¸ii
privind valorile parametrului ret ¸elei λ=k/h2.ˆIn cazul ecuat ¸iilor neliniare,
aceste restrict ¸ii devin ¸ si mai dure, ˆ ın plus ele depinzˆ and ¸ si de funct ¸ia necunoscut˘ a
u, motiv pentru care schemele explicite sunt put ¸in utilizate.
Pentru exemplificare, consider˘ am ecuat ¸ia neliniar˘ a
∂2u∂
x2=f(x,t,u,∂u∂
t,∂u∂
x) , (10.90)
undef(x,t,u,ux,ut) este o expresie care cont ¸ine variabilele independente x¸ si
t, funct ¸ia necunoscut˘ a u¸ si derivatele part ¸iale de ordinul ˆ ıntˆ ai ∂u/∂x ,∂u/∂t . O
schem˘ a implicit˘ a se poate obt ¸ine dac˘ a scriem
δ2
xvn+1
i=f[ih,(n+ 1)k,vn+1
i,(vn+1
i−vn
i)/k,(vn+1
i+1−vn+1
i−1)/2h] , (10.91)
sau prescurtat δ2
xvn+1
i≡fn+1
i, unde
δ2
xvn+1
i≡(vn+1
i−1−2vn+1
i+vn+1
i+1)/h2. (10.92)
Folosind metoda iterat ¸iei simple , se construie¸ ste ¸ sirul
δ2
x(vn+1
i)m+1= (fn+1
i)m+1, m= 0,1,2,… , (10.93)
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 285
pˆ an˘ a cˆ and|(vn+1
i)m+1−(vn+1
i)m|< ε . Pentrum= 0, (vn+1
i)0se obt ¸ine
rezolvˆ and ecuat ¸ia neliniar˘ a
δ2
x(vn+1
i)0= (fn+1
i)0≡fn
i≡f[ih,nt,vn
i,((vn+1
i)0−vn
i)/k,(vn
i+1−vn
i−1)/2h] .
(10.94)
Dac˘ a ¸ sirul ( 10.93 ) converge, convergent ¸a este liniar˘ a. Dup˘ a cum se observ˘ a, la
fiecare iterat ¸ie mtrebuie rezolvat un sistem tridiagonal de ecuat ¸ii liniare.
O alt˘ a modalitate de liniarizare a sistemului neliniar ( 10.91 ) o constituie
metoda Newton . Termenul din dreapta egalit˘ at ¸ii ( 10.90 ) se poate dezvolta ˆ ın
serie Taylor ca o funct ¸ie de mai multe variabile, p˘ astrˆ and numai termenii de
ordinul ˆ ıntˆ ai
f(x,t,um+1,um+1
t,um+1
x) =f(zm) + (um+1−um)∂f(zm)
∂u
+(um+1
t−um
t)∂f(zm)
∂ut+ (um+1
x−um
x)∂f(zm)
∂ux,
undezm≡(x,t,um,um
t,um
x). Rezult˘ a un sistem tridiagonal de forma
ai(vn+1
i−1)m+1−bi(vn+1
i)m+1+ci(vn+1
i+1)m+1=di, i∈1,I−1 , (10.95)
unde
ai=1
h2+12
h∂f(zm)
∂ux, bi=2
h2+∂f(zm)
∂u+1
k∂f(zm)
∂ut, ci=1
h2−12
h∂f(zm)
∂ux,
di=f(zm)−(∂f(zm)
∂u+1
k∂f(zm)
∂ut)vm
i,n+1−12
h∂f(zm)
∂ux(vm
i+1,n+1−vm
i−1,n+1) .
(10.96)
ˆIn obt ¸inerea relat ¸iilor ( 10.96 ) s-a t ¸inut cont de relat ¸ia ( vn
i)m+1−(vn
i)m≈0,
deoarece valorile vi,nsunt cunoscute, fiind calculate anterior. Dac˘ a ¸ sirul ( 10.96 )
converge, convergent ¸a este p˘ atratic˘ a, dar la fiecare iterat ¸ie trebuie evaluate deri-
vatele part ¸iale ∂f(zm)/∂u,∂f(zm)/∂ut,∂f(zm)/∂ux, derivate a c˘ aror expresii
analitice trebuie determinate anterior. ˆIn cazul ecuat ¸iilor parabolice cu dou˘ a sau
trei variabile spat ¸iale, liniarizarea sistemului neliniar se face ˆ ın mod asem˘ an˘ ator,
dar sistemul liniar ce rezult˘ a nu mai are matrice tridiagonal˘ a. Pentru a obt ¸ine
sisteme liniare cu matrice tridiagonal˘ a, se poate folosi metoda direct ¸iilor alter-
nante, prezentat˘ a anterior.
O metod˘ a mai simpl˘ a ¸ si elegant˘ a este propus˘ a de Saul’yev . Vom exemplifica
aceast˘ a metod˘ a pentru ecuat ¸ia c˘ adurii adimensionalizat˘ a ( 10.35 ) ˆ ın care vom
aproxima derivata spat ¸ial˘ a ( ∂2u/∂x2)n
icu formula cu diferent ¸e centrate
∂2u∂
x2/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i∼=1
h/parenleftBigg
∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i+1/2−∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i−1/2/parenrightBigg
, (10.97)
ˆ ın care (∂u/∂x )n
i−1/2se ˆ ınlocuie¸ ste cu ( ∂u/∂x )n+1
i−1/2, iar derivatele de ordinul
ˆ ıntˆ ai se aproximeaz˘ a tot cu diferent ¸e centrate
∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen
i+1/2∼=1
h(vn
i+1−vn
i),∂u∂
x/vextendsingle/vextendsingle/vextendsingle/vextendsinglen+1
i+1/2∼=1
h(vn+1
i−vn+1
i−1) . (10.98)
286 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.8: Ecuat ¸ia c˘ aldurii rezolvat˘ a cu schema explicit˘ a ( 10.46 ).
Folosind diferent ¸e la dreapta pentru ∂u/∂t , se obt ¸ine
(1 +λ)vn+1
i=vn
i+λ(vn+1
i−1−vn
i+vn
i+1) . (10.99)
Formula ( 10.99 ) este explicit˘ a dac˘ a efectueaz˘ a calculele de la frontiera din stˆ anga
la cea din dreapta pentru tot ¸i pa¸ sii de timp n= 1,2,3,… .ˆIn mod analog,
dac˘ a ˆ ın ( 10.97 ) se ˆ ınlocuie¸ ste ( ∂u/∂x )n
i+1/2cu (∂u/∂x )n+1
i+1/2, se obt ¸ine
(1 +λ)vn+1
i=vn
i+λ(vn+1
i+1−vn
i+vn
i−1) . (10.100)
Formula ( 10.100 ) este explicit˘ a dac˘ a efectueaz˘ a calculele de la frontiera din
dreapta la cea din stˆ anga pentru tot ¸i pa¸ sii de timp n= 1,2,3,…. Se recomand˘ a
folosirea alternativ˘ a a formulelor ( 10.99 ) ¸ si ( 10.100 ).
Exemplu .ˆIn figura 10.8 sunt prezentate rezultatele obt ¸inute folosind schema
explicit˘ a ( 10.46 ) pentru ecuat ¸ia adimensionalizat˘ a a c˘ aldurii
∂u/∂t =∂2u/∂x2, u(x,0) = 4x(1−x), u(0,t) =u(1,t) = 0,
pentru dou˘ a momente de timp diferite ¸ si trei valori ale parametrului ret ¸elei. Pasul h
s-a ment ¸inut constant la valoarea h= 0.1. Se observ˘ a instabilitatea schemei explicite
pentruλ= 0.55. Rezultatele cele mai bune s-au obt ¸inut pentru λ= 0.1, datorit˘ a
faptului c˘ a ˆ ın acest caz pasul de timp este cel mai mic ¸ si deci eroarea de trunchiere
este cea mai mic˘ a.
ˆIn figura 10.9 sunt date rezultatele obt ¸inute cu schema implicit˘ a ( 10.67 ) ¸ si cu
schema Saul’yev . Se observ˘ a cum ambele scheme sunt stabile ¸ si pentru λ= 2 (ele
sunt de altfel necondit ¸ionat stabile ). De aceast˘ a dat˘ a pasul de timp ks-a ment ¸inut
constant la valoarea k= 0.001, modificarea parametrului ret ¸elei λfacˆ andu-se prin
ˆ ındesirea ret ¸elei pe direct ¸ia x. Se observ˘ a de asemenea cum rezultate mai bune se
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 287
Figura 10.9: Ecuat ¸ia c˘ aldurii rezolvat˘ a cu schema implicit˘ a Saul’yev ( 10.99 ), (10.100 ).
obt ¸in pentru λ= 0.1, de¸ siλ= 2, implic˘ a acela¸ si pas de timp ¸ si o ret ¸ea spat ¸ial˘ a mai
fin˘ a. Pentru a explica acest lucru, s˘ a consider˘ am eroarea de trunchiere a schemei
explicite ( 10.67 ) care are aceea¸ si form˘ a cu ( 10.54 ). T ¸ inˆ and cont de faptul c˘ a k=λh2
obt ¸inem
zn
i= (k2/2)[(∂2u/∂t2)n
i−(∂4u/∂x4)n
i] +O(k3) . (10.101)
Pentru ecuat ¸ia c˘ aldurii avem ∂2u/∂t2=∂4u/∂x4. Putem considera ( ∂2u/∂t2)n
i∼=
(∂4u/∂x4)n
ipentru ecuat ¸ia cu diferent ¸e finite, astfel ˆ ıncˆ at ecuat ¸ia ( 10.101 ) se scrie
zn
i= (k2/2)(∂2u/∂t2)n
i[1−1/(6λ)] +O(k3) . (10.102)
Funct ¸iaf(λ) = 1−1/(6λ) are un minim pentru λ= 1/6,f(1/6) = 0. Pentru valori
λ>1/6, funct ¸iaf(λ) este cresc˘ atoare, deci eroare de trunchiere cre¸ ste.
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
∂2u∂
x2+∂2u∂
y2=ρ(x,y) . (10.103)
Pentru ecuat ¸ia ( 10.103 ), se pot formula trei tipuri de probleme, dup˘ a con-
dit ¸iile impuse pe frontiera domeniului D⊂R2unde se caut˘ a solut ¸ia. Astfel
exist˘ a:
288 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
1.Probleme de tip Dirichlet .ˆIn acest caz, se d˘ a valoarea funct ¸iei upe fron-
tiera Γ a domeniului D
u(x,y)|Γ=f(x,y) , (10.104)
f(x,y) fiind o funct ¸ie cunoscut˘ a.
2.Probleme de tip Neumann .ˆIn acest caz se d˘ a derivata funct ¸iei udup˘ a
direct ¸ia normalei /vector nla curbadu/dn , presupus˘ a neted˘ a
dudn
/vextendsingle/vextendsingle/vextendsingle/vextendsingle
Γ=g(x,y) , (10.105)
g(x,y) fiind o funct ¸ie cunoscut˘ a.
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)dudn
/vextendsingle/vextendsingle/vextendsingle/vextendsingle
Γ=c(x,y) , (10.106)
a(x,y),b(x,y) ¸ sic(x,y) fiind funct ¸ii cunoscute.
Discretizarea se poate face ˆ ın toate cazurile folosind o ret ¸ea cu pa¸ si egali ˆ ın
direct ¸ia axelor x,y(hx=hy=h). Mai mult, printr-o transformare simpl˘ a de
coordonate, se poate plasa ˆ ıntotdeauna domeniul Dˆ ın interiorul unui p˘ atrat
de latur˘ a egal˘ a cu unitatea avˆ and unul din vˆ arfuri ˆ ın originea axelor (figura
10.10 ).ˆIn acest fel, Nfiind num˘ arul de intervale ˆ ın direct ¸ia xsauy, pasul este
h= 1/N. Coordonatele unui punct din ret ¸ea sunt ( ih,jk ),i¸ sijfiind num˘ arul
de pa¸ si parcur¸ si ˆ ın cele dou˘ a direct ¸ii, plecˆ and din origine. Dac˘ a frontiera Γ este
curbilinie, nodurile ret ¸elei se ˆ ımpart ˆ ın dou˘ a categorii: ( a) – noduri de categoria
NI, care au toate nodurile vecine (la distant ¸a h) ˆ ın interiorul domeniului Dsau
pe Γ; (b) – noduri de categoria NE, care au cel put ¸in un punct la distant ¸a hˆ ın
exteriorul lui D.
Aproximarea cu diferent ¸e se face diferit pentru cele dou˘ a categorii de noduri.
Pentru un nod Mij∈NI, aproximarea cu ajutorul diferent ¸elor finite are eroarea
O(h2) ¸ si se scrie
vi−1,j+vi+1,j+vi,j−1+vi,j+1−4vi,j=h2ρi,j, (10.107)
undei,j∈1,N−1, Mij∈NI. Dac˘ a domeniul Deste rectangular, atunci
(10.107 ) reprezint˘ a unica form˘ a de aproximare.
ˆIn cazul ecuat ¸iei lui Laplace
∂2u∂
x2+∂2u∂
y2= 0 , (10.108)
relat ¸ia ( 10.107 ) se poate scrie
vi,j=14
(vi−1,j+vi+1,j+vi,j−1+vi,j+1), i,j∈1,N−1, Mij∈NI,(10.109)
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 289
Figura 10.10: Domeniu de calcul pentru ecuat ¸ia Poisson.
adic˘ a valoarea aproximativ˘ a a funct ¸iei u(pe care continu˘ am s˘ a o not˘ am cu v)
ˆ ıntr-un punct oarecare este media aritmetic˘ a a valorilor din punctele vecine.
O problem˘ a care se pune este ¸ si modul de numerotare a punctelor din ret ¸ea.
ˆIn general, se recomand˘ a numerotarea care duce la matrice cˆ at mai simetrice
¸ si diagonal dominante, cel put ¸in pe anumite linii sau coloane. Aceasta asigur˘ a
propriet˘ at ¸i de convergent ¸˘ a mai bune ale metodelor iterative de rezolvare a sis-
temului ( 10.107 ), care are, ˆ ın general un num˘ ar mare de necunoscute (( N−1)2
ˆ ın cazul domeniului p˘ atrat).
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 cˆ at ¸ si Laplace , dup˘ a ce se aproximeaz˘ a cu
diferent ¸e finite, rezult˘ a un sistem de ( N−1)2ecuat ¸ii cu ( N−1)2necunos-
cute. Ecuat ¸iile care alc˘ atuiesc sistemul sunt liniare dac˘ a 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 atˆ at metode directe cˆ at ¸ si metode iterative (vezi capitolul 5).
Num˘ arul de necunoscute este ˆ ın general mare; spre exemplu, pentru ecuat ¸ia
Laplace ˆ ın spat ¸iu, pentru N= 11, rezult˘ a un sistem de 1000 ecuat ¸ii cu 1000
necunoscute, iar pentru N= 101, rezult˘ a 106ecuat ¸ii. Num˘ arul mare de necu-
noscute pune probleme din punct de vedere al stoc˘ arii matricei A, iar num˘ arul
mare de operat ¸ii pune probleme din punct de vedere al erorilor de rotunjire.
Metodele directe sunt folosite ˆ ın cazul problemelor mici, atunci cˆ and matricea
Aeste rar˘ a (multe elemente sunt nule) sau cˆ and matricea Aeste de tip band˘ a.
ˆIn celelate cazuri, metodele iterative se dovedesc mult mai eficiente.
290 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Metodele iterative se clasific˘ a ˆ ın metode iterative punctuale , la care calculul
valorilor necunoscute la iterat ¸ia k+ 1,v(k+1)
i,j , se face pentru fiecare punct ˆ ın
parte, ¸ si metode iterative ˆ ın bloc , la care se calculeaz˘ a mai multe valori simul-
tan. Vom exemplifica folosirea metodelor iterative pentru ecuat ¸ia Laplace cu
discretizarea ( 10.109 ).
Metodele iterative punctuale.
Prezent˘ am pe scurt metodele Jacobi ,Gauss-Seidel ,supra-relax˘ arilor succesive ,
gradientului .
(a)Metoda Jacobi . Relat ¸ia ( 10.109 ) se aplic˘ a ˆ ın forma
v(k+1)
i,j =14
(v(k)
i−1,j+v(k)
i+1,j+v(k)
i,j−1+v(k)
i,j+1) , (10.112)
undei,j∈1,N−1, k= 0,1,2…. Valoareav(k+1)
i,j se calculeaz˘ a folosind numai
valori de la iterat ¸ia anterioar˘ a. ˆIn consecint ¸˘ a, valorile v(k)
i,jtrebuie p˘ astrate
pˆ an˘ a cˆ and noile valori sunt calculate ˆ ın totalitate, ceea ce poate constitui un
dezavantaj.
(b)Metoda Gauss-Seidel . Relat ¸ia ( 10.109 ) se aplic˘ a ˆ ın forma
v(k+1)
i,j =14
(v(k+1)
i−1,j+v(k)
i+1,j+v(k+1)
i,j−1+v(k)
i,j+1) , (10.113)
undei,j∈1,N−1, k= 0,1,2…, deci valorile calculate la iterat ¸ia k+ 1
(punctele sub linia groas˘ a din figura ( 10.11 ) sunt imediat introduse ˆ ın calcul.
(c)Metoda supra-relax˘ arilor succesive se bazeaz˘ a pe accelerarea covergent ¸ei
cu ajutorul unui factor de relaxare6β∈(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 reprezint˘ a valoarea calculat˘ a la iterat ¸ia k+ 1, folosind de exemplu
metoda Gauss-Seidel .
(d)Metoda gradientului . Fie funct ¸ia
U(v) =vTAv−2bTv, (10.115)
care are un minim egal cu −bTA−1bcˆ andv=A−1b. Se observ˘ a c˘ a minimul
funct ¸ieiU(v) coincide cu solut ¸ia sistemului Av=b. Metoda gradientului pre-
zentat˘ a la 7.3, const˘ a ˆ ın construirea ¸ sirului vk+1=vk−αkgk,αk>0, unde
gk=∇U(vk) = 2(Avk−b)≡−2rk,rk≡b−Avkreprezentˆ and reziduul la
iterat ¸iak. Mai eficiente sunt metodele de gradient conjugat a c˘ aror aplicare la
rezolvarea sistemelor de ecuat ¸ii liniare a fost prezentat˘ a la ??.
O problem˘ a comun˘ a metodelor iterative o constituie parcurgerea ret ¸elei de
calcul (sau renumerotarea necunoscutelor). Pentru exemplul considerat, par-
curgerea se poate face fie pe orizontal˘ a, fie pe vertical˘ a (fig. 10.11 ), evident,
existˆ and mai multe posibilit˘ at ¸i de parcurgere.
6ˆIn cazul problemelor neliniare, se utilizeaz˘ a 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.
Dup˘ a cum am v˘ azut, metodele iterative punctuale calculeaz˘ a 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 , consider˘ am metoda Gauss-Seidel, pentru care rescriem relat ¸ia ( 10.113 )
ˆ ın forma
v(k+1)
i,j =14
(v(k+1)
i−1,j+v(k)
i+1,j+v(k+1)
i,j−1+v(k+1)
i,j+1) . (10.116)
undei,j∈1,N−1, k= 0,1…. Relat ¸ia ( 10.116 ) nu mai este explicit˘ a, de-
oarece toate valorile de pe linia isunt considerate la iterat ¸ia k+ 1. Pentru
j=const , rezult˘ a un sistem de I−1 ecuat ¸ii cu I−1 necunoscute cu matrice
tridiagonal˘ a
−v(k+1)
i−1,j+ 4v(k+1)
i,j−v(k+1)
i+1,j=v(k+1)
i,j−1+v(k)
i,j+1. (10.117)
Redefinirea formulei explicite ˆ ıntr-o formul˘ a implicit˘ a duce la cre¸ sterea vitezei
de convergent ¸˘ a, pentru care se pl˘ ate¸ ste pret ¸ul unei complic˘ ari a algoritmului.
Viteza de convergent ¸˘ a este ˆ ın general ˆ ımbun˘ at˘ at ¸it˘ a dac˘ a dup˘ a folosirea for-
mulei implicite ( 10.116 ) la iterat ¸ia k+ 1 se folose¸ ste formula
v(k+2)
i,j =14
(v(k+2)
i−1,j+v(k+2)
i+1,j+v(k+2)
i,j−1+v(k+1)
i,j+1) (10.118)
la iterat ¸ia urm˘ atoare, adic˘ a schimbarea sensului de parcurgere a punctelor din
domeniul de calcul. De aceast˘ a dat˘ a, rezult˘ a un sistem de J−1 ecuat ¸ii cu J−1
necunoscute, cu matrice tridiagonal˘ a
−v(k+2)
i,j−1+ 4v(k+2)
i,j−v(k+2)
i,j+1=v(k+2)
i−1,j+v(k+1)
i+1,j. (10.119)
O alt˘ a metod˘ a iterativ˘ a ˆ ın bloc este metoda direct ¸iilor alternante prezentat˘ a
anterior la paragraful 43. Derivatele part ¸iale din ecuat ¸ia Laplace uxx+uyy= 0
292 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
le vom ˆ ınlocui de data aceasta cu diferent ¸e finite dup˘ a schema
(v(k+1)
i−1,j−2v(k+1)
i,j +v(k+1)
i+1,j) + (v(k)
i,j−1−2v(k)
i,j+v(k)
i,j+1) = 0, (10.120)
adic˘ auxxcu o formul˘ a implicit˘ a, iar uyycu o formul˘ a explicit˘ a. Din relat ¸ia
(10.120 ), ad˘ augˆ and ¸ si sc˘ azˆ and valoarea 4 vi,j, rezult˘ a
(v(k+1)
i−1,j−2v(k+1)
i,j +v(k+1)
i+1,j) + (v(k)
i,j−1−2v(k)
i,j+v(k)
i,j+1) + 4vi,j−4vi,j= 0 .
Considerˆ and prima valoare vi,jla iterat ¸iak¸ si cea dea a doua la iterat ¸ia k+ 1,
rezult˘ a
v(k+1)
i,j =v(k)
i,j+14
(v(k+1)
i−1,j−2v(k+1)
i,j +v(k+1)
i+1,j) +14
(v(k)
i,j−1−2v(k)
i,j+v(k)
i,j+1)
sau
−14
v(k+1)
i−1,j+32
v(k+1)
i,j−14
v(k+1)
i+1,j=14
v(k)
i,j−1−12
v(k)
i,j+14
v(k)
i,j+1. (10.121)
Am obt ¸inut o relat ¸ie identic˘ a cu ( 10.88 ) pentruλ=14
, relat ¸ia ( 10.121 ) repre-
zentˆ and formula de baz˘ a pentru metoda direct ¸iilor alternante .ˆIn mod analog,
folosind o formul˘ a implicit˘ a pentru uyy¸ si una explicit˘ a pentru uxx, se obt ¸ine
−14
v(k+2)
i,j−1+32
v(k+2)
i,j−14
v(k+2)
i,j+1=14
v(k+1)
i−1,j−12
v(k+1)
i,j +14
v(k+1)
i+1,j. (10.122)
Observ˘ am cum pe baza unor prelucr˘ ari efectuate asupra relat ¸iei ( 10.120 ), am
obt ¸inut o ecuat ¸ie cu diferent ¸e finite, pentru o alt˘ a ecuat ¸ie cu derivate part ¸iale,
¸ si anume pentru ecuat ¸ia de tip parabolic ut=uxx+uyy. Altfel spus, schemele
cu diferent ¸e finite ( 10.121 ) ¸ si (10.122 ) nu sunt consistente cu ecuat ¸ia cu derivate
part ¸iale de tip eliptic uxx+uyy= 0, ci cu ecuat ¸ia parabolic˘ a ut=uxx+uyy, a
c˘ arei solut ¸ie pentru valori de timp suficient de mari coincide cu solut ¸ia ecuat ¸iei
uxx+uyy= 0. ˆIn general, solut ¸ia unei probleme de echilibru (care nu depinde
de timp), poate fi obt ¸inut˘ a ca o solut ¸ie a unei probleme fictive dependente de
timp, pentru t=Tsuficient de mare. De fapt, rezolvarea unei probleme eliptice
cu o metod˘ a iterativ˘ a, este analoag˘ a cu rezolvarea unei probleme dependente de
timp, numai c˘ a pasul de timp variaz˘ a de la punct la punct.
Cazul frontierelor curbe.
ˆIn acest caz, mult ¸imea NEa punctelor care au noduri la distant ¸a hexterioare
domeniului Deste nevid˘ a. Scrierea ecuat ¸iilor cu diferent ¸e finite pentru aceste
puncte depinde de natura condit ¸iilor impuse pe frontier˘ a. Vom considera cazul
problemelor de tip Dirichlet ¸ siNeuman , problema mixt˘ a fiind o combinat ¸ie a
celor dou˘ a.
ˆIn cazul problemelor de tip Dirichlet , sunt date valorile funct ¸iei upe frontiera
Γ. Fie punctul 1 ∈NE(figura 10.12 ) punctul ˆ ın care dorim s˘ a aproxim˘ am cu
diferent ¸e ecuat ¸ia lui Poisson (10.103 ). Am notat cu ah¸ sibh,a,b∈(0,1)
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 293
Figura 10.12: Frontier˘ a curb˘ a, condit ¸ii Dirichlet.
distant ¸ele de la punctul 1 la punctele A,B de pe frontier˘ a. Folosind formula
Taylor, se obt ¸ine
uA=u1−ah(∂u/∂x )1+12
a2h2(∂2u/∂x2)1+O(h3) ,
uB=u1+bh(∂u/∂y )1+12
b2h2(∂2u/∂y2)1+O(h3) .(10.123)
Deoarece, pe lˆ ang˘ a derivatele de ordinul 2 care apar ˆ ın ecuat ¸ia lui Poisson, au
ap˘ arut ¸ si derivate de ordinul 1, aceste din urm˘ a trebuie eliminate. ˆIn acest scop,
sunt necesare ˆ ınc˘ a dou˘ a relat ¸ii. Ca urmare, se iau ˆ ınc˘ a dou˘ a puncte din ret ¸ea,
punctele 2 ¸ si 3 (figura 10.12 ) ¸ si se scrie
u2=u1+h(∂u/∂x )1+12
h2(∂2u/∂x2)1+O(h3) ,
u3=u1−h(∂u/∂y )1+12
h2(∂2u/∂y2)1+O(h3) .(10.124)
Combinˆ and primele relat ¸ii din ( 10.123 ) ¸ si (10.124 ) ˆ ıntre ele, iar apoi ¸ si ultimele,
se obt ¸ine
uA+au2= (1 +a)u1+h2
2a(1 +a)(∂2u/∂x2)1+O(h3) ,
uB+au3= (1 +b)u1+h2
2b(1 +b)(∂2u/∂y2)1+O(h3) .(10.125)
Ecuat ¸ia ( 10.103 ) se scrie, ˆ ın punctul 1
(∂2u/∂x2)1+ (∂2u/∂y2)1=ρ1. (10.126)
Ca urmare, exprimˆ and derivatele de ordinul 2 din relat ¸iile ( 10.125 ) se obt ¸ine
ecuat ¸ia
−u1/parenleftbigg1
a+1
b/parenrightbigg
+u2
1 +a+u3
1 +b=h2
2ρ1−uA
a(1 +a)−uB
b(1 +b), u1∈NE.
(10.127)
Din relat ¸iile ( 10.125 ), se observ˘ a c˘ a derivatele de ordinul 2 se calculeaz˘ a ˆ ın
punctele de categoria NEcu precizia O(h), fat ¸˘ a deO(h2) ˆ ın relat ¸iile ( 10.107 ).
Ca urmare, eroarea de discretizare ˆ ın ( 10.127 ) este mai mare. Acest aspect
294 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.13: Frontier˘ a curb˘ a, condit ¸ii Neuman.
este mai general: scrierea echivalentului ˆ ın diferent ¸e finite ˆ ın punctele de lˆ ang˘ a
frontier˘ a, de categoria NE, se face cu o precizie mai mic˘ a.
ˆIn cazul problemelor de tip Neuman , sunt date la frontier˘ a derivatele dup˘ a
direct ¸ia normalei la Γ. Notˆ and cu /vector n1, /vector n2, /vector n3versorii vectorilor 1 A, 2A, 2A
(figura 10.13 ), punctulAfiind cel mai apropiat de punctul 1 ˆ ın care vrem s˘ a
scriem o relat ¸ie pentru valorile funct ¸iei necunoscute, vom scrie
/vector nk=αk/vectori+βk/vectorj, k= 1,2,3 (10.128)
¸ si vom obt ¸ine, cu o aproximat ¸ie O(h2)
uk=uA−lk(αk∂u/∂x +βk∂u/∂y )A+O(h2), lk=Ak, k = 1,2,3 . (10.129)
Eliminˆ and, mai departe, pe uA, rezult˘ a
u2−u1= (l1α1−l2α2)(∂u/∂x )A+ (l1β1−l2β2)(∂u/∂y )A,
u3−u1= (l1α1−l3α3)(∂u/∂x )A+ (l1β1−l3β3)(∂u/∂y )A.(10.130)
Pe de alt˘ a parte, derivata normal˘ a
/parenleftbiggdudn
/parenrightbigg
A=αA/parenleftbigg∂u∂
x/parenrightbigg
A+β/parenleftbigg∂u∂
y/parenrightbigg
A(10.131)
este cunoscut˘ a, astfel ˆ ıncˆ at relat ¸ia c˘ autat˘ a ˆ ıntre u1,u2,u3este 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 )
/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingleu2−u1l1α1−l2α2l1β1−l2β2
u3−u1l1α1−l3α3l1β1−l3β3
(du/dn )AαA βA/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle. (10.132)
Ecuat ¸ia ( 10.132 ) ˆ ınlocuie¸ ste ecuat ¸ia lui Poisson ˆ ın punctul 1, cu aproximat ¸ia
O(h) care reprezint˘ a eroarea la interpolarea liniar˘ a a derivatelorˆ ın relat ¸ia ( 10.129 ).
Exemplu . Fie ecuat ¸ia Laplace cu condit ¸iile la limit˘ a
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 plac˘ a.
Solut ¸ia ecuat ¸iei ( 10.133 ) reprezint˘ a distribut ¸ia de temperaturi ˆ ın regim stat ¸ionar pen-
tru o plac˘ a p˘ atrat˘ a. S-a folosit pentru rezolvare schema ( 10.109 ) pentru o ret ¸ea cu
pasulh= 0.1.ˆIn punctele din colt ¸urile pl˘ acii s-a luat valoarea u= 0.5 deoarece
ˆ ın aceste puncte condit ¸iile la limite prezint˘ a discontinuit˘ at ¸i. Distribut ¸ia de tempera-
turi, precum ¸ si curbele de nivel u=K, pentruK∈{0.2,0.4,0.6,0.8}sunt date ˆ ın
figura ( 10.14 ). Pentru rezolvarea sistemului de ecuat ¸ii liniare s-au folosit metodele
Jacobi ,Gauss-Seidel ¸ sirelax˘ arilor succesive . S-a folosit condit ¸ia de oprire a iterat ¸iilor
/bardblvk+1−vk/bardbl<ε, cuε= 10−4. Num˘ arul de iterat ¸ii necesare obt ¸inerii preciziei impuse
poate fi citit din tabelul urm˘ ator
metodaJacobi G−S β = 1.2β= 1.4β= 1.5β= 1.6β= 1.8
nr.iter. 121 68 48 31 23 22 42
Se observ˘ a superioritatea metodei supra-relax˘ arilor 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 rezolv˘ a. Pentru β= 1 se reg˘ ase¸ ste 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
∂2u∂
t2−∂2u∂
x2= 0 , (10.134)
a c˘ arei solut ¸ie general˘ a este de forma
u(x,t) =f(x+t) +g(x−t) , (10.135)
undef¸ sigsunt dou˘ a funct ¸ii arbitrare de clas˘ a C2. Ecuat ¸ia ( 10.134 ) poate avea
296 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.15: Domeniile de influent ¸˘ 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¸ sigdin ( 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) =h0(t), u(1,t) =h1(t) .(10.137)
ˆIn acest caz, pentru a nu avea discontinuit˘ at ¸i ˆ ıntre condit ¸iile init ¸iale ¸ si cele
la limite, trebuie ca f(0) =h0(0) ¸ sig(0) =h1(0).
Ecuat ¸ia undelor are caracteristicile
ϕ1(x,t) =x−t, ϕ 2(x,t) =x+t. (10.138)
Cele dou˘ a caracteristici care trec printr-un punct P(x0,t0) (figura 10.15 ) taie
axaOxˆ ın punctele A¸ siB. Valoarea solut ¸iei ˆ ın punctul P, depinde numai
de valorile din interiorul triunghiul PAB . Segmentul ABse nume¸ ste domeniu
(interval) de dependent ¸˘ a . Pe de alt˘ a parte, prin punctul Q(x0,0) de pe axa Ox,
trec cele dou˘ a caracteristici de ecuat ¸ii x+t=x0¸ six−t=x0care reprezint˘ a
domeniul de influent ¸˘ a al punctului Q, adic˘ a acea parte a domeniului care este
influent ¸at˘ a de valoarea solut ¸iei din punctul Q.
O problem˘ a important˘ a const˘ aˆ ın stabilirea condit ¸iilorˆ ın care solut ¸ia ecuat ¸iei
(10.134 ) cu ( 10.136 ) sau ( 10.137 )exist˘ a ¸ si este unic˘ a . Altfel spus, se pune
problema stabilirii valorilor ce trebuie date pe frontierele domeniului de calcul
pentru ca solut ¸ia s˘ a existe ¸ si s˘ a fie unic˘ a.
Pentru ecuat ¸ia de ordinul al doilea ( 10.31 ), se disting trei cazuri la care se
poate demonstra c˘ a solut ¸ia exist˘ a ¸ si este unic˘ a (figura 10.16 ):
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 297
Figura 10.16: Condit ¸iile de existent ¸˘ a ¸ si unicitate.
1.Valorile funct ¸iei u¸ siux≡∂u/∂x sunt date pe o curb˘ a necaracteristic˘ a
CD. Domeniul ˆ ın care solut ¸ia exist˘ a ¸ si este unic˘ a este m˘ arginit de carac-
teristicileCE¸ siDE¸ si de curba CD(figura din stˆ anga).
2.Valorileusauuxsunt date pe curba caracteristic˘ a CF¸ si pe curba necarac-
teristic˘ aCD. Domeniul ˆ ın care solut ¸ia exist˘ a ¸ si este unic˘ a este interiorul
CDEF (figura din mijloc).
3.Valorileusauuxsunt date pe dou˘ a curbe caracteristice ce trec prin acela¸ si
punct,CE¸ siCD. Domeniul ˆ ın care solut ¸ia exist˘ a ¸ si este unic˘ a este
interiorulCEFD (figura din dreapta).
Pentru rezolvarea ecuat ¸iilor hiperbolice vom prezenta metoda caracteristici-
lor¸ si metode de discretizare cu diferent ¸e finite .
10.2.4 Metoda caracteristicilor
Metoda caracteristicilor reprezint˘ a o metod˘ a natural˘ a pentru rezolvarea ecuat ¸i-
ilor hiperbolice. Dimensiunea caracteristicii (din punct de vedere al geometriei)
esten−1, undeneste num˘ arul de coordonate. Spre exemplu, pentru n= 2
avem linii caracteristice , pentrun= 3 avem suprafet ¸e caracteristice , ¸ s.a.m.d.
Eventualele discontinuit˘ at ¸i care pot ap˘ area ˆ ın interiorul domeniului de calcul
¸ si a c˘ aror pozit ¸ie este ˆ ın general necunoscut˘ a ˆ ınainte de a obt ¸ine solut ¸ia, se
propag˘ a dup˘ a direct ¸iile carateristice, fapt care constituie un avantaj suplimentar
al metodei caracteristicilor fat ¸˘ a de metodele de discretizare cu diferent ¸e finite.
Relu˘ am ecuat ¸ia ( 10.31 ), care pentru b2−ac > 0 este de tip hiperbolic cu
dou˘ a caracteristici reale ¸ si distincte. Pentru ca sistemul ( 10.33 ) se fie compa-
tibil, trebuie ca simultan cu determinantul matricei sistemului s˘ a se anuleze ¸ si
determinantul
/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsinglea f c
dx d (ux) 0
0d(uy)dy/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle/vextendsingle(10.139)
298 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.17: Linii caracteristice.
rezultˆ and
am1d(ux)/dx+cd(uy)/dx−fm1= 0,
am2d(ux)/dx+cd(uy)/dx−fm2= 0,(10.140)
cum1,2pantele celor dou˘ a caracteristici date de
m1,2≡dydx
=12
a[b±/radicalbig
b2−4ac] . (10.141)
Pentrun= 2, ecuat ¸iile cu derivate part ¸iale se transform˘ a ˆ ın lungul direct ¸iilor
caracteristiceˆ ın ecuat ¸ii diferent ¸iale ordinare, acesta reprezentˆ and avantajul prin-
cipal al metodei caracteristicilor. S-a obt ¸inut un sistem de ecuat ¸ii diferent ¸iale
format din ecuat ¸iile ( 10.140 ) ¸ si ( 10.141 ), cu necunoscutele m1,m2,d(ux)/dx¸ si
d(uy)/dx. Pentru rezolvvarea sistemului, presupunem c˘ a se cunosc valorile u,
ux¸ siuype curba Γ diferit˘ a de o curb˘ a caracteristic˘ a. ˆIn figura 10.17 se pot
observa cele dou˘ a familii de caracteristici notate m1¸ sim2. Deoarece caracte-
risticile depind ˆ ın general de solut ¸ia u, simultan cu determinarea valorii solut ¸iei
uPˆ ın punctul Rse calculeaz˘ a ¸ si pozit ¸ia acestuia. ˆIn principiu, orice metod˘ a
numeric˘ a prezentat˘ a la capitolul ??se poate aplica pentru rezolvarea sistemului
de ecuat ¸ii diferent ¸iale obt ¸inut. Folosind metoda Euler , segmentul PReste apro-
ximat cu o linie dreapt˘ a7astfel ˆ ıncˆ at precizia este de ordinul distant ¸ei dintre
7Eroarea de discretizare poate fi redus˘ a folosind arce de parabol˘ a ˆ ın locul segmentelor de
dreapt˘ a, cu pret ¸ul unor calcule mai laborioase.
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 299
dou˘ a puncte considerate ˆ ın calcul. Se obt ¸in relat ¸iile
(yR−yP)/(xR−xP) = (m1R+m1P)/2
(yR−yQ)/(xR−xQ) = (m2R+m2Q)/2
(aRm1R+aPm1P)(uxR−uxP)/2 + (cR+cP)(uyR−uyP)/2
−(fR+fP)(yR−yP)/2 = 0
(aRm2R+aQm2Q)(uxR−uxQ)/2 + (cR+cQ)(uyR−uyQ)/2
−(fR+fQ)(yR−yQ)/2 = 0(10.142)
cu necunoscutele xR,yR,uxR,uyR¸ siuR(uRapare indirect prin coeficient ¸ii aR,
bR,cR¸ sifR). Pentru determinarea valorii uReste nevoie de o aproximat ¸ie a
relat ¸iei
du=uxdx+uydy. (10.143)
Se scrie
uR−uP= (uxR+uxP)(xR−xP)/2 + (uyR+uyP)(yR−yP)/2
uR−uQ= (uxR+uxQ)(xR−xQ)/2 + (uyR+uyQ)(yR−yQ)/2 .(10.144)
Ecuat ¸iile ( 10.142 ) ¸ si una din ( 10.144 ) reprezint˘ a un sistem de 5 ecuat ¸ii neliniare
cu necunoscutele xR,yR,uxR,uyR¸ siuR. Sistemul se poate rezolva iterativ cu
metoda iterat ¸iei simple (capitolul 8.1), luˆ and pentru start valorile necunoscute
din punctul Regale cu cele din punctul de plecare al caracteristicii, PsauQ.
Spre exemplu, prima ecuat ¸ie din ( 10.142 ) se scrie
(yR−yP)/(xR−xP) = (m1P+m1P)/2 =m1P. (10.145)
Procedeul se repet˘ a pentru calculul valorilor solut ¸ieiˆ ın celelalte puncte ale ret ¸elei
de curbe caracteristice (punctele T,S, etc.). Oberv˘ am cum ˆ ın cazul folosirii
celei mai simple metode de rezolvare a sistemului de ecuat ¸ii diferent ¸iale, pentru
fiecare punct al ret ¸elei de calcul se rezolv˘ a un sistem de ecuat ¸ii liniare.
Metoda hibrid Hartree.
ˆIn cazul unei ecuat ¸ii hiperbolice de ordinul al doilea cu dou˘ a variabile indepen-
dente dintre care una este timpul, se poate cere solut ¸ia ula momente de timp
specificate. Metoda caracteristicilor aplicat˘ a direct nu poate asigura acest lu-
cru, astfel c˘ a se folose¸ ste o metod˘ a hibrid ˆ ıntre o metod˘ a cu diferent ¸e finite ¸ si
metoda caracteriticilor. Aceast˘ a metod˘ a const˘ a ˆ ın folosirea unei ret ¸ele de dis-
cretizare fixate ˆ ınainte de determinarea solut ¸iei (figura 10.18 ), cu pasulhpentru
Ox¸ sikpentruOt. Presupunem c˘ a s-au efectuat calculele pˆ an˘ a la momentul de
timpt=nk¸ si trebuie s˘ a calcul˘ am solut ¸ia pentru momentul de timp urm˘ ator.
Valorileu,ux,uysunt calculate deci ˆ ın nodurile ret ¸elei pˆ an˘ a la linia n. Ca-
racteristicile care trec prin punctul Rintersecteaz˘ a linia nˆ ın punctele P¸ siQ.
Valorileu,ux,uyse pot determina prin interpolare folosind valorile din nodurile
de pe linian(B,A,D). Folosind metoda Euler pentru rezolvarea sistemului de
ecuat ¸ii diferent ¸iale ordinare ce rezult˘ a pe direct ¸iile caracteristice RP¸ siRQ, se
obt ¸ine acela¸ si sistem neliniar ( 10.142 ) ¸ si ( 10.144 ), necunoscutele fiind de data
aceastauR,uxR,uyR,xP¸ sixQ, deoarecexR,yR,yP¸ siyQsunt cunoscute.
300 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.18: Metoda hibrid Hartree.
10.2.5 Scheme cu diferent ¸e finite
Pentru ecuat ¸iile hiperbolice de ordinul al doilea, metoda caracteristicilor re-
prezint˘ a varianta cea mai convenabil˘ a ¸ si precis˘ a de rezolvare numeric˘ a. Unul
dintre avantajele majore ale metodei caracteristicilor fat ¸˘ a de metodele bazate
pe scheme cu diferent ¸e finite const˘ a ˆ ın faptul c˘ a discontinuit˘ at ¸ile care exist˘ a
eventual ˆ ın condit ¸iile init ¸iale se propag˘ a de-a lungul direct ¸iilor caracteristice.
ˆIn cazul ˆ ın care ecuat ¸iile nu sunt foarte complicate iar solut ¸iile nu prezint˘ a
discontinuit˘ at ¸i, se pot folosi metode cu diferent ¸e finite. Alegerea unei scheme
explicite sau implicite depinde esent ¸ial de tipul problemei: numai cu condit ¸ii
init ¸iale sau cu condit ¸ii init ¸iale ¸ si la limit˘ a.
Scheme explicite.
Vom considera problema cu condit ¸ii init ¸iale
uxx=utt, u (x,0) =f(x), ut(x,0) =g(x) . (10.146)
Derivatele part ¸iale le aproxim˘ am cu diferent ¸e centrate
uxx∼=(vn
i−1−2vn
i+vn
i+1)/h2, utt∼=(vn−1
i−2vn
i+vn+1
i)/k2. (10.147)
Rezult˘ a
vn+1
i=m2(vn
i−1+vn
i+1) + 2(1−m2)vn
i−vn−1
i,undem=k/h. (10.148)
Pentrun= 0, avem date valorile v0
i=f(ih).ˆIn relat ¸ia ( 10.148 ) apar ¸ si valorile
v−1
i,, care se calculeaz˘ a cu ajutorul celei de a doua condit ¸ii init ¸iale ( 10.146 ). Se
aproximeaz˘ a derivata ˆ ın raport cu timpul ut≡∂u/∂t folosind diferent ¸e centrate
g(ih)≡gi=ut|0
i≡∂u/∂t|0
i∼=(v1
i−v−1
i)/2k⇒v−1
i=v1
i−2kgi. (10.149)
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 301
Figura 10.19: Caracteristicile ecuat ¸iei uxx=utt, exact ¸ si numeric.
Pentrun= 0 rezult˘ a
v1
i=12
m2(fi−1+fi+1) + (1−m2)fi+kgi. (10.150)
ˆIn figura 10.19 sunt date punctele care intr˘ a ˆ ın calculul valorii vn+1
i, precum
¸ si domeniul de dependent ¸˘ a fizic˘ a pentru punctul C. Dreptele AC¸ siBCsunt
caracteristicile ecuat ¸iei uxx=uttcare trec prin punctul C. Solut ¸ia este deci
unic definit˘ a ˆ ın triunghiul ABC . Dac˘ am=k/h> 1, atunci se vor calcula nu-
meric valori aproximative ale solut ¸iei uˆ ın afara domeniului ˆ ın care avem solut ¸ie
analitic˘ a. Dac˘ a m≤1, atunci solut ¸ia numeric˘ a se afl˘ a interiorul domeniului de
dependent ¸˘ a fizic˘ a al punctului C.ˆIn general, o schem˘ a cu diferent ¸e finite este
stabil˘ a, dac˘ a domeniul de influent ¸˘ a numeric˘ a include domeniului de influent ¸˘ a
fizic˘ a (analitic˘ a).
Pentru a studia stabilitatea schemei ( 10.148 ), se consider˘ a solut ¸ia de forma
u(x,t) =∞/summationdisplay
n=0eαntejβnx, (10.151)
undej≡√−1. Ecuat ¸ia ( 10.146 ) fiind liniar˘ a, act ¸ioneaz˘ a principiul superpozit ¸iei
astfel c˘ a este suficient s˘ a se studieze un singur termen din ( 10.151 ). Avem
vn
i=eαnkejβih(10.152)
¸ si introducˆ and ˆ ın ( 10.148 ) se obt ¸ine
eαk+e−αk= 2−4m2sin2βh
2, (10.153)
sau
e2αk−2(1−2m2sin2βh
2)eαk+ 1 = 0 . (10.154)
Pentru a evita situat ¸ia ˆ ın care solut ¸ia numeric˘ a cre¸ ste cˆ and k→∞ , trebuie ca
eαk≤1. Din ( 10.154 ) se observ˘ a c˘ a produsul |eαk|1·|eαk|2= 1, deci singura
302 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.20: Coarda vibrant˘ a, n= 2,t= 1.
posibilitate pentru a asigura stabilitatea este |eαk|1=|eαk|2= 1. Cele dou˘ a
solut ¸ii ale ecuat ¸iei ( 10.154 ) sunt
eαk
1,2=A±√
∆,undeA= 1−2m2sin2βh
2,∆ =A2−1 . (10.155)
Se observ˘ a c˘ a pentru a avea eαk
1,2= 1, este necesar ca ∆ ≤0, adic˘ a
(1−2m2sin2βh
2)2−1≤0,sau−1≤1−2m2sin2βh
2≤1 . (10.156)
A doua inegalitate ( 10.156 ) este ˆ ındeplinit˘ a automat, iar din prima inegalitate
rezult˘ a
m2≤1/sin2βh
2, (10.157)
adic˘ a domeniul de influent ¸˘ a numeric˘ a s˘ a includ˘ a domeniul de influent ¸˘ a fizic˘ a .
Cazul particular m= 1 prezint˘ a un interes special. Din ( 10.156 ) rezult˘ a
−1≤1−2 sin2βh
2⇒sin2βh
2≤1 .
Pentru sin2βh
2= 1, obt ¸inem ∆ = 0, eαk
1,2=−1. Relat ¸ia ( 10.148 ) devine
vn+1
i=vn
i−1+vn
i+1−vi,n−1. (10.158)
Schema ( 10.158 ) satisface exact ecuat ¸ia ( 10.146 ). Pentru a ar˘ ata acest lucru, fo-
losim dezvoltareaˆ ın serie Taylor a funct ¸iei uˆ ın jurul punctului ( ih,nk ), obt ¸inˆ and
uxx=1
h2(un
i−1−2un
i+un
i+1)−h2
12uxxxx +O(h4) ,
utt≈1
k2(ui,n−1−2un
i+un+1
i)−k2
12utttt+O(k4) .(10.159)
10.2. Ecuat ¸ii cu derivate part ¸iale de ordinul II 303
ˆInlocuind ˆ ın ( 10.146 ), rezult˘ a
un+1
i=m2(un
i−1+un
i+1) + 2(1−m2)un
i−un−1
i+
+k4
12utttt−k2h2
12uxxxx +O(k6) +O(k2h4) ,
un+1
im=1=un
i−1+un
i+1−un−1
i+h4
12(∂4u∂
t4−∂4u∂
x4) +h6
360(∂6u∂
t6−∂6u∂
x6) +O(h8) .
(10.160)
ˆIn cazul ˆ ın care funct ¸ia ueste depori derivabil˘ a, se poate u¸ sor ar˘ ata c˘ a dac˘ a
uxx=utt, atunci∂pu/∂xp=∂pu/∂tp, astfel c˘ a ultima relat ¸ie ( 10.160 ) devine
un+1
i=un
i−1+un
i+1−un−1
i, (10.161)
astfel ˆ ıncˆ at schema cu diferent ¸e ( 10.158 ) are eroarea de trunchiere nul˘ a.
Scheme implicite.
O schem˘ a implicit˘ a poate fi scris˘ a ˆ ın general ca
vn−1
i−2vn
i+vn+1
i=m2[θδ2
xvn+1
i+ (1−2θ)δ2
xvn
i+θδ2
xvi,n−1], (10.162)
undeθeste un parametru de relaxare, iar δ2
xvn
i≡vn
i−1−2vn
i+vn
i+1.ˆIn relat ¸ia
(10.162 ), valoarea aproximativ˘ a a derivatei uttse calculeaz˘ a ca o medie ponde-
rat˘ a ˆ ıntre valorile aproximative la momentele de timp n−1,n,n+ 1. Se poate
ar˘ ata c˘ a pentru θ≥1/4, schema ( 10.162 ) este stabil˘ a oricare ar fi parametrul
ret ¸elei de calcul m. Pentruθ= 0, se obt ¸ine schema explicit˘ a ( 10.148 ), iar pentru
θ= 1/2 se obt ¸ine schema
vn+1
i−2vn
i+vn+1
i+1=12
m2[δ2
xvn+1
i+δ2
xvi,n−1] =
=12
m2[(vn+1
i+1−2vn+1
i+vn+1
i−1) + (vi+1,n−1−2vi,n−1+vi−1,n−1) .
(10.163)
Exemplu . Fie ecuat ¸ia adimensionalizat˘ a a coardei vibrante cu condit ¸iile init ¸iale
¸ si la limite date de
utt=uxx, u(0,t) =u(1,t) = 0, u(x,0) = sin(πnx), ut(x,0) = 0 . (10.164)
Pentru rezolvare s-a folosit schema explicit˘ a ( 10.148 ). Solut ¸ia analitic˘ a a problemei
(10.164 ) este
u(x,t) = cos(πnt) sin(πnx)
ˆIn figura 10.20 sunt reprezentate rezultatele pentru trei valori diferite ale pasului k,
cum= 1 (k=h). Se observ˘ a rezultatele foarte bune obt ¸inute pentru k= 0.01, bune
pentruk= 0.05, ˆ ın timp ce pentru k= 0.1, rezultatele sunt nesatisf˘ ac˘ atoare. Sunt
date de asemenea rezultatele obt ¸inute pentru dou˘ a valori m/negationslash= 1,h= 0.05,k= 0.1,
(m= 2), ¸ sih= 0.1,k= 0.01, (m= 0.1). La acela¸ si pas de timp k= 0.1, pentru
h= 0.05 (m= 2) se obt ¸in rezultate mai slabe decˆ at pentru h= 0.1 (m= 1),de¸ si ˆ ın
primul caz heste mai mic. De altfel, pentru m > 1 schema ( 10.148 ) nu este stabil˘ a,
fiind de a¸ steptat ca pentru valori mai mari ˆ ın timp rezultatele s˘ a fie din ce ˆ ın ce mai
304 10.Ecuat ¸ii diferent ¸iale cu derivate part ¸iale
Figura 10.21: Coarda vibrant˘ a, n= 8,t= 1.
proaste. Pentru m= 0.1 (h= 0.1) nu se observ˘ a diferent ¸e semnificative fat ¸˘ a de m= 1,
pentru acela¸ si pas de timp k= 0.01. T ¸ inˆ and cont de ( 10.160 ), ne-am fi a¸ steptat ca
rezultatele s˘ a fie bune indiferent de h, dac˘ am= 1. Schema ( 10.158 ) este exact˘ a pentru
m= 1, numai ˆ ın m˘ asura ˆ ın care derivatele part ¸iale sunt suficient de precis calculate.
Relat ¸ia∂pu/∂xp=∂pu/∂tpeste obt ¸inut˘ a pe baza faptului c˘ a egalitatea exist˘ a pentru
p= 2. Dup˘ a cum se observ˘ a, rezultate nesatisf˘ ac˘ atoare s-au obt ¸inut acolo unde funct ¸ia
uvariaz˘ a rapid, pasul h= 0.1, fiind prea mare pentru a obt ¸ine o valoare suficient de
precis˘ a pentru derivatele part ¸iale uxx. Acest fapt devine ¸ si mai clar urm˘ arind figura
10.21 unde sunt date rezultatele pentru n= 8, unde din nou rezultate bune se obt ¸in
pentruh= 0.01, ˆ ın timp ce pentru celelalte valori rezultatele numerice sunt foarte
proaste. Pentru h= 0.03,k= 0.05,m= 1.67, rezultatele sunt inacceptabile datorit˘ a
faptului c˘ a schema ( 10.148 ) este instabil˘ a.
BIBLIOGRAFIE
Abramowitz, M., Stegun, I.A., Hanbook of Mathematical Functions , Dover
Publications, New York, 1965.
Atkinson, K., Elementary Numerical Analysis , Wiley, New York, 1985.
Bakhvalov, N. M´ ethodes Num´ eriques , Editions MIR, 1976.
Berbente, C., Zancu, S., T˘ at˘ aranu, C., Mitran, S., Metode Numerice de
Calcul pentru Aviat ¸ie , Litografia Institutului Politehnic Bucure¸ sti, 1988.
Berbente, C., Mitran, S., Zancu, S., Pleter, O., T˘ at˘ aranu, C., Metode Nu-
merice de Calcul ¸ si Aplicat ¸ii , Litografia Institutului Politehnic Bucure¸ sti, 1992.
Blumenfeld, M., Calculul Barelor cu Calculatorul Numeric , Editura Tehnic˘ a,
Bucure¸ sti, 1975.
Brent, R., Algorithms for Minimization without Derivatives .
Brigham, E.O., The Fast Fourier Transform , Prentice-Hall, Englewood Cli-
ffs, 1974.
Bucur, C.M., Popeea, C.A., Simion, Gh., Matematici Speciale – Calcul Nu-
meric , Editura Didactic˘ a ¸ si Pedagogic˘ a, Bucure¸ sti, 1983.
Carnahan, B., Luther, H.A., Applied Numerical Methods , John Wiley &
Sons, New York, 1969.
Demidovitch, B., Maron, I., ´El´ ements de Calcul Numerique , Editions MIR,
Moscou, 1973.
Dennis, J.E., More, J., “Quasi-Newton Methods – Motivation and Theory”,
SIAM Rev. , 1984.
Dodescu, Gh., Toma, M., Metode de calcul numeric , Editura Didactic˘ a ¸ si
Pedagogic˘ a, Bucure¸ sti, 1976.
Filciacova, V.P., Transform˘ ari Conforme ale Domeniilor de Tip Special , Edi-
tura Nancov Dumka, Kiev, 1972.
Golub, G.H. and van Loan, C.F., Matrix Computations , 2nd Ed., John Ho-
pkins University Press, Baltimore, 1989.
Gourlay, A.R., Watson, G.A., Computational Methods for Matrix Eigenpro-
blems , John Wiley & Sons, New York, 1973.
Halanay, A., Matematici, Calcul Numeric ¸ si Programare , Litografia Univer-
sit˘ at ¸ii Bucure¸ sti, 1979.
Hardy, D.W., Walker, C., Creating Documents with Scientific Word and
Scientific WorkPlace , Brooks-Cole, 1995.
Kincaid, D., Cheney, W., Numerical Analysis – Mathematics of Scientific
Computing , Brooks-Cole Publishing Company, Pacific Grove, California, 1991.
Knuth, D. The T EXbook , Addison Wesley and AMS, 1986.
Lamport, L. , LATEX – A Document Preparation System , Addison-Wesley,
Reading, Massachusetts, 1986.
MacCracken, D.D., Dorn, S.W., Numerical Methods and Fortran Program-
ming , John Wiley & Sons, New York, 1965.
Mandelbrot, B. The Fractal Geometry of Nature , Freeman, New York, 1982.
M˘ aru¸ ster, St., Metode numerice ˆ ın rezolvarea ecuat ¸iilor nelineare , Editura
Tehnic˘ a, Bucure¸ sti, 1981.
Micula, Gh., Funct ¸ii Spline ¸ si Aplicat ¸ii , Editura Tehnic˘ a, Bucure¸ sti, 1978.
Press, W.P., Teukolsky, S.A, Vetterling, W.T., Flannery, B.P., Numerical
Recipes in FORTRAN – The Art of Scientific Computing , 2nd Edition, Cam-
bridge University Press, 1995.
Schwartz, H.R., Numerical Analysis of Symmetric Matrices , Prentice Hall
Inc., New York, 1973.
Sima, V., Varga, A., Practica Optimiz˘ arii Asistat˘ a de Calculator , 1987.
St˘ an˘ a¸ sil˘ a, O., Analiza Matematic˘ a , Editura Didactic˘ a ¸ si Pedagogic˘ a, Bu-
cure¸ sti, 1981.
Wolfram, S., Mathematica – A System for Doing Mathematics by Computer ,
2nd Ed., Addison-Wesley, 1991.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aceasta este versiunea electronic a a c art ii Metode Numerice publicat a de [616659] (ID: 616659)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
