Sunteți pe pagina 1din 313

FitVisible

Aceasta este versiunea electronic a a cartii Metode Numerice publicata de


Editura Tehnic a. Cartea a fost culeas a folosind sistemul LATEX a lui Leslie
Lamport, o extindere a programului TEX scris de Donald Knuth. Versiunea
electronica foloseste formatul Portable Document Format (PDF) elaborat de
Adobe Systems. Traducerea formatului LATEX n PDF a fost realizat a cu pro-
gramul pdflatex elaborat de Han The Thanh. Hiperleg aturile din versiunea
electronica au fost generate automat folosind pachetul hyperref al lui Sebastian
Rahtz.

COPYRIGHT 1998, c Corneliu Berbente, Sorin Mitran, Silviu


Zancu
Toate drepturile asupra editiei electronice sunt rezervate autorilor. Nu este
permisa tiparirea continutului acestei editii f
ar
a consimt
am
antul scris al auto-
rilor.

COPYRIGHT 1997, c Editura Tehnic a


Toate drepturile asupra editiei tip
arite sunt rezervate editurii.

Adresa: EDITURA TEHNICA


Piata Presei Libere, 1
33 Bucuresti, Romania
cod 71341

Redactor: ing. Vasile Buzatu


Tehnoredactor: Diana Jilavu
Coperta: Sorin Mitran

Bun de tipar: 15.11.1997; Coli tipo: 17,75


CZU: 519.6
ISBN 973-31-1135-X
PREFAT
A

Extraordinara dezvoltare a tehnicii de calcul din ultima perioad a permite si-


mularea unui tot mai mare num ar de probleme fizice, ingineresti 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 aplicatii concrete. Utilizarea acestei bog atii de tehnici si informatii necesit a
nsa, o baza teoretic a solid
a pentru a fi efectiv folosite.
Reprezentarea printr-un num ar finit de cifre semnificative a numerelor n
calculator introduce dificult ati extrem de mari n asigurarea conditiilor pentru
aplicarea unora din notiunile 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 interactie cu alte tipuri de erori (inerente sau de metod a) este
greu de urm arit. Prinre consecinte, se poate nt ampla ca varainate echivalente
teoretic (spre exemplu pe baza unor teoreme privind unicitatea solutiei) s a duca,
numeric, la rezultate foarte diferite. Ca urmare, este explicabil a tendinta de a se
descoperi noi si noi formule de calcul numeric, chiar dac a n esenta (matematic)
acestea difer a foarte putin.
Aceasta carte prezint a o viziune detaliat a asupra teoriei si practicii metodelor
numerice, rod al unei activit ati de aproape 20 de ani n acest domeniu. Algorit-
mii cei mai utilizati sunt prezentati integral. O serie de algoritmi avansati, de
larga aplicabilitate sunt de asemenea inclusi. Autorii au ncercat o prezentare
intuitiva a teoriei ce st a la baza metodelor numerice considerate, urm arindu-se
mai mult usurinta ntelegerii materialului. Locul demonstratiilor riguroase de
altfel dificile si nu ntotdeauna eficiente didactic e luat, ntr-o serie de cazuri,
de observatii critice si de bun simt. O observatie de bun simt este si aceea
de a face apel la mai mult a teorie atunci c and modalit atile cunoscute au fost
epuizate. Ca atare, se vor reg asi n carte si o serie de cunostinte mai avansate
necesare dezvolt arii unor metode numerice performante.
Sunt incluse capitole privind: aproximarea functiilor, derivarea si integrarea
numeric a, problemele algebrei liniare, ecuatii si sisteme de ecuatii neliniare, op-
timizare, ecuatii diferentiale. 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 usurint a. Pentru a
prentimpina 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 utilizati 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
arti, o serie de lucrari de laborator si numeroase aplicatii 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 electrica, fizic
a si chimie. S-a ncercat formularea
unor exemple initiale 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 functiilor 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 functii spline . . . . . . . . . . . . . . . . . 10
1.1.3 Interpolare cu functii trigonometrice . . . . . . . . . . . . 16
1.1.4 Interpolare n planul complex . . . . . . . . . . . . . . . . 23
1.2 Aproximarea mini-max . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.1 Polinoamele Cebasev . . . . . . . . . . . . . . . . . . . . . 30
1.2.2 Minimizarea erorii la interpolarea polinomial a. . . . . . . 32
1.2.3 Aproximarea aproape mini-max a unei functii . . . . . . . 34
1.3 Aproximarea n sensul celor mai mici p atrate . . . . . . . . . . . 36
1.4 Elemente de teoria aproxim arii . . . . . . . . . . . . . . . . . . . 40
1.4.1 Spatii vectoriale . . . . . . . . . . . . . . . . . . . . . . . 41
1.4.2 Produsul scalar si ortogonalitate . . . . . . . . . . . . . . 42
1.4.3 Norme, operatori si functionale . . . . . . . . . . . . . . . 47
1.4.4 Problema general a a celei mai bune aproxim ari . . . . . . 49

2 Derivarea si integrarea numeric a 53


2.1 Derivarea numerica . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.1.1 Derivate folosind polinoame de interpolare . . . . . . . . . 54
2.1.2 Formularea operatorial a . . . . . . . . . . . . . . . . . . . 57
2.1.3 Polinoame de interpolare n functie si derivata . . . . . . 59
2.1.4 Derivate folosind functii spline . . . . . . . . . . . . . . . 61
2.1.5 Derivate folosind diverse aproximatii . . . . . . . . . . . . 61
2.2 Integrarea numerica . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.2.1 Formule Newton-Cotes nchise . . . . . . . . . . . . . . . 63
2.2.2 Formule de integrare deschise . . . . . . . . . . . . . . . . 68
2.2.3 Tehnici de atingere a unei precizii impuse . . . . . . . . . 76

3 Rezolvarea ecuatiilor neliniare 85


3.1 Metoda njumatatirii intervalelor . . . . . . . . . . . . . . . . . . 86
3.2 Procedee iterative . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.1 Iteratia simpla . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2.2 Metoda Newton-Raphson . . . . . . . . . . . . . . . . . . 89
VI CUPRINS

3.2.3 Metoda secantei . . . . . . . . . . . . . . . . . . . . . . . 91


3.2.4 Metoda parabolelor tangente . . . . . . . . . . . . . . . . 93
3.3 Determinarea 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
solutiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.1.4 Interpretarea matriceal a a metodelor de eliminare . . . . 124
5.1.5 Calculul matricei inverse . . . . . . . . . . . . . . . . . . 125
5.1.6 Relatia Sherman-Morisson . . . . . . . . . . . . . . . . . . 128
5.1.7 Rafinarea matricei inverse . . . . . . . . . . . . . . . . . 129
5.1.8 Efectele erorilor din datele initiale . . . . . . . . . . . . . 131
5.1.9 Factorizarea L U . . . . . . . . . . . . . . . . . . . . . . 132
5.1.10 Descompunerea SV D . . . . . . . . . . . . . . . . . . . . 134
5.1.11 Sisteme cu matrice rare . . . . . . . . . . . . . . . . . . . 135
5.2 Metode iterative . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.2.1 Metoda iterativ a Jacobi . . . . . . . . . . . . . . . . . . . 138
5.2.2 Metoda iterativ a Gauss-Seidel . . . . . . . . . . . . . . . . 140
5.2.3 Accelerarea convergentei metodelor iterative . . . . . . . . 143
5.3 Comparatii 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 si LR . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.5.1 Rezultate teoretice preliminarii . . . . . . . . . . . . . . . 163
6.5.2 Algoritmi auxiliari . . . . . . . . . . . . . . . . . . . . . . 169
6.5.3 Formularea metodelor QR si LR . . . . . . . . . . . . . . 171
6.5.4 Reducerea num arului de operatii la factorizare . . . . . . 172
6.5.5 Accelerarea metodelor QR si LR . . . . . . . . . . . . . . 175
6.5.6 Calculul vectorilor proprii . . . . . . . . . . . . . . . . . . 176
CUPRINS VII

7 Metode de optimizare 181


7.1 Minimizarea n lungul unei directii . . . . . . . . . . . . . . . . . 183
7.2 Metode de minimizare far
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 ecuatii liniare folosind metode
de optimizare . . . . . . . . . . . . . . . . . . . . . . . . 200
7.7 Metode specifice de optimizare . . . . . . . . . . . . . . . . . . . 204
7.8 Probleme de optimizare cu restrictii . . . . . . . . . . . . . . . . 205

8 Rezolvarea sistemelor neliniare 213


8.1 Iteratia simpla . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
8.2 Metoda iterativa Newton . . . . . . . . . . . . . . . . . . . . . . 216
8.3 Metode cvasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . 219
8.4 Metoda gradientului . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.5 Metoda hibrida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

9 Rezolvarea ecuatiilor diferentiale 229


9.1 Consideratii generale . . . . . . . . . . . . . . . . . . . . . . . . 229
9.2 Metode cu pasi separati . . . . . . . . . . . . . . . . . . . . . . . 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 ecuatiei diferentiale . . . . 235
9.3 Extrapolare Richardson. Metoda Bulirsch-Stoer . . . . . . . . . . 238
9.4 Metode cu pasi legati . . . . . . . . . . . . . . . . . . . . . . . . . 239
9.4.1 Formule explicite . . . . . . . . . . . . . . . . . . . . . . . 239
9.4.2 Formule implicite . . . . . . . . . . . . . . . . . . . . . . . 241
9.5 Propagarea erorilor. Stabilitate. . . . . . . . . . . . . . . . . . . . 243
9.6 Sisteme de ecuatii diferentiale. Ecuatii de ordin superior . . . . . 247
9.6.1 Probleme cu valori initiale . . . . . . . . . . . . . . . . . . 248
9.6.2 Probleme cu valori la limite . . . . . . . . . . . . . . . . . 249
9.6.3 Ecuatii diferentiale de ordin superior . . . . . . . . . . . 254
9.7 Sisteme cu scari disparate . . . . . . . . . . . . . . . . . . . . . . 255

10 Ecuatii diferentiale cu derivate partiale 263


10.1 Ecuatii cu derivate partiale de ordinul I . . . . . . . . . . . . . . 264
10.2 Ecuatii cu derivate partiale de ordinul II . . . . . . . . . . . . . . 270
10.2.1 Ecuatii cu derivate partiale de tip parabolic . . . . . . . . 273
10.2.2 Ecuatii cu derivate partiale de tip eliptic . . . . . . . . . . 287
10.2.3 Ecuatii cu derivate partiale de tip hiperbolic . . . . . . . 295
10.2.4 Metoda caracteristicilor . . . . . . . . . . . . . . . . . . . 297
10.2.5 Scheme cu diferente finite . . . . . . . . . . . . . . . . . . 300
1

Capitolul 1

Aproximarea functiilor de o
variabil
a

Problema aproximarii unei functii de o variabil


a se poate pune n situatii
diverse, urmatoarele doua fiind mai frecvente:

1. functia este cunoscuta, dar are o form


a complicat
a, dificil de manipulat n
calcule (spre exemplu pentru operatii de derivare, integrare, etc.);

2. functia nu este complet cunoscut


a, fiind date numai valorile ei pe o multime
discreta si finita de puncte.
In primul caz, aproximarea se poate face, n principiu, oric at de exact, res-
trictiile fiind legate de conditia ca functia care aproximeaz a s
a fie cat mai simpla.
In al doilea caz informatiile sunt reduse si se completeaz a cu presupuneri supli-
mentare, privind gradul de regularitate al functiei (continuitatea functiei si a
derivatelor sale, etc.). In ambele cazuri, este important a alegerea unui criteriu
de aproximare.
Fie [a, b] R un interval pe dreapta real a si xi , i {1, 2, . . . , N }, N N,
o retea 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 variabila

unei functii reale f

yi = f (xi ), i 1, N . (1.1)

Notam cu g(x) functia cu care vrem s


a aproxim
am pe f (x) pe intervalul dat.
Iata cateva criterii de aproximare:

a) Interpolare. In acest caz, functia mai simpl


a g(x) este determinat
a din
conditia ca s
a ia aceleasi valori n noduri

g(xi ) = yi , i 1, N . (1.2)

Criteriul de aproximare prin interpolare presupune tacit ca 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 conditia ca abaterea maxim
a s
a
fie minima pe intervalul ales, adic
a

max |f (x) g(x)| = minim. (1.3)


x[a,b]

Relatia (1.3) are analogul discret

max |yi g(xi )| = minim. (1.4)


i1,N

Aproximarea facut
a pe baza criteriului de mai sus se numeste aproximare
mini-max.
atratelor abaterilor n noduri. In acest caz se impune
c) Minimizarea sumei p
ca
n
X 2
S= (yi g(xi )) = minim . (1.5)
i=1

Se observa ca, n cazul interpol


arii, aceast
a suma este chiar nula, adic
a are
cea mai mica valoare posibil a. Totusi, aceast
a observatie nu face superfluu
criteriul (1.5) care este mai general si permite tratarea datelor cunoscute
incert, asa cum se va vedea mai departe. Metoda care foloseste acest
criteriu este ntalnit
a sub numele de metoda celor mai mici p atrate.

1.1 Aproximarea prin interpolare


Presupunand ca nodurile xi sunt distincte, conditia de interpolare (1.1) repre-
zinta un sistem de N conditii si va duce n general la un sistem de N ecuatii
cu N necunoscute. Considerentele de simplitate amintite mai sus ne sugereaz a
1.1. Aproximarea prin interpolare 3

c-alegerea formei functiei de aproximare s a fie f


acuta astfel nc
at sistemul de
conditii sa conduca la ecuatii liniare. O posibil
a alegere este urm atoarea: se
ia un set de N functii simple, cunoscute, gk (x), k {1, 2, ..., N } si un set de
N parametrii nedeterminati (scalari) ak , k {1, 2, ..., N }, n functie de care se
scrie aproximanta g(x)
N
X
g(x) = ak gk (x) . (1.6)
k=1

Deoarece nu ne-am nscris ntr-un formalism riguros, vom face unele observatii
de bun simt. Astfel, am ales N parametri nedeterminati ak , deoarece avem
N conditii. Pe de alta parte, setul de functii gk (x) trebuie s
a contina elemente
distincte, astfel ncat introduse n forma (1.6), num arul de parametri s a nu se
reduca1 . Intr-un limbaj mai riguros, se spune c a cele N functii cunoscute gk
trebuie sa fie liniar independente. In lipsa altei analize, ne putem limita la
functii despre care stim ca au aceasta proprietate. Un astfel de set l reprezint
a
monoamele xk1 , k {1, 2, ..., N }, n care caz functia de interpolare este un
polinom de gradul N 1
N
X
g(x) = ak xk1 . (1.7)
k=1

Alte seturi de functii pot fi functiile trigonometrice, exponentiale, 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 coeficientilor ak din conditia
de interpolare, adica a rezolvarii sistemului de ecuatii liniare
N
X
ak xk1 = yi , i 1, N . (1.8)
k=1

Daca N este mare, rezolvarea sistemului (1.8) este dificil a sau cel putin necon-
venabila. In orice caz, nodurile xi fiind distincte, sistemul de ecuatii (1.8) este
un sistem cu determinant Vandermonde diferit de zero si are o solutie unic a,
bine determinata pentru coeficientii ak . In consecint
a, oricare ar fi calea pe care
se construieste efectiv polinomul de interpolare (1.7), acesta este unic pentru o
functie si o diviziune data. Aproximarea efectuat a este o interpolare global a n
sensul ca se foloseste un singur polinom pe tot intervalul [a, b].

Forma Newton a polinomului de interpolare.


O modalitate convenabila de constructie a polinomului de interpolare l consti-
tuie polinomul lui Newton cu diferente divizate. Fiind date perechile de puncte
1 Spre exemplu, dac
a g2 = g1 , 6= 0 atunci a1 g1 + a2 g2 = (a1 + a2 )g1 , deci n loc de doi
parametri independenti a1 si a2 ar apare doar o combinatie a01 = a1 + a2 .
4 1. Aproximarea funct
iilor de o variabila

(xi , yi ), se introduc urm


atoarele rapoarte denumite diferente divizate (DD)
y2 y1
DD(x2 , x1 ) = ,
x2 x1

DD(x3 , x2 ) DD(x2 , x1 )
DD(x3 , x2 , x1 ) = ,
x3 x1

DD(xN , . . . , x2 ) DD(xN 1 , . . . , x1 )
DD(xN , xN 1 , . . . , x1 ) = . (1.9)
xN x1
Diferentele divizate care se construiesc folosind k + 1 puncte se numesc diferente
divizate de ordinul k. Se poate demonstra prin inductie matematic a, urm
atoarea
expresie a diferentei divizate de ordinul N 1:

N N 0
X Y
DD(xN , xN 1 , . . . , x1 ) = yi (xi xj ) . (1.10)
i=1 j=1

Semnul 0 denota omiterea factorului j = i din produs. Relatia (1.10) fiind


simetrica, rezulta ca valoarea diferentei divizate nu depinde de ordinea n care
luam punctele xi . Din punct de vedere practic, este mai comod ca diferentele
divizate sa nu se calculeze cu formula (1.10) ci recursiv, alcatuindu-se un tabel
(Tab. 1.1).
Functia de aproximare g(x) este un polinom de gradul N 1, pe care l vom
nota cu pN 1 (x). Vom scrie

f (x) = pN 1 (x) + RN 1 (x) , (1.11)

unde RN 1 (x) este restul sau eroarea de aproximare la interpolarea polinomial a.


Pe de alta parte, tin
and seama de definitia diferentelor divizate, se poate scrie

f (x) = y1 + (x x1 ) DD(x, x1 ) =
(1.12)
y1 + (x x1 ) DD(x2 , x1 ) + (x x1 )(x x2 ) DD(x, x2 , x1 ) .

In relatia (1.12) ultima diferent


a divizata este format a cu punctul curent x.
Continuand procedeul (1.12) p ana se iau n consideratie 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 , . . . , x1 ) ,
N
Y
RN 1 = (x xi ) DD(x, xN , xN 1 , . . . , x1 ) . (1.14)
i=1
1.1. Aproximarea prin interpolare 5

Se verifica direct din (1.14) c a restul se anuleaza n noduri (RN 1 (xi ) =


0, i = 1, 2, ..., N ) si deci pN 1 (x) dat de (1.13) este polinomul de interpolare
corespunzator celor N puncte date. Forma (1.13) se numeste polinomul lui
Newton cu diferente divizate.
Pentru scrierea polinomului (1.13) se alc atuieste mai int
ai tabloul diferentelor
divizate de diverse ordine. Nu este necesar ca tabloul s a cuprinda toate diferentele
divizate posibile. Este suficient sa proced am n ordinea nodurilor, din aproape
n aproape, conform definitiilor (1.9). Un exemplu de calcul este prezentat n
tabelul 1.1 unde s-a notat cu DDi diferenta divizat a de ordinul i (i = 1, 2, 3).
Polinomul obtinut este

p3 (x) = 2 + (x 1) (1) + (x 1)(x 2) (2) + (x 1)(x 2)(x 3) (1) .


In ceea ce priveste restul RN 1 (x) (eroarea la interpolare), se poate face o
evaluare daca avem informatii suplimentare referitoare la functia aproximat a
f (x) si la derivatele sale. In acest scop, consider am functia ajut
atoare Q(t)
definita prin relatia
N
Y
Q(t) = f (t) pN 1 (t) (t xi ) DD(x, xN , xN 1 , . . . , x1 ) . (1.15)
i=1

Se observa ca functia Q(t) se anuleaz


a pentru t = x si t = xi , i = 1, 2, ...N , adic
a
are N + 1 zerouri. Presupunand c a f (t) este derivabila de un num ar convenabil
de ori, putem aplica functiei Q(t) si derivatelor sale teorema lui Rolle. Rezult a,
succesiv, ca derivata Q0 (t) are cel putin N zerouri, derivata Q00 (t) are cel putin
N 1 zerouri s.a.m.d., astfel ca derivata de ordinul N are cel putin un zero pe
intervalul (a, b). Fie t = acest zero. Deriv and relatia (1.15) de N ori, si fac
and
t = , se obtine

f (N ) () = N ! DD(x, xN , xN 1 , . . . , x1 ) ,

relatie din care putem deduce expresia diferentei divizate de ordinul N n functie
de derivata de ordinul N . In acest fel, restul la interpolare (1.14) cap
ata forma
N
Y
RN 1 (x) = (x xi ) f (N ) ()/N ! . (1.16)
i=1
Q
Prezenta produselor (x xi ), sugereaz a c
a restul este mai mic (n modul)
c
and punctul curent x este centrat pe intervalul care contine diviziunea si mai
mare cand x este luat spre marginile intervalului sau n afara lui acest ultim
caz este denumit extrapolare. Deoarece derivata de ordinul N a functiei n
punctul nu este accesibila (din diverse motive), evalu ari ale restului se pot
face presupunand ca, la schimbarea diviziunii, punctul (necunoscut) nu se
deplaseaza mult, astfel ncat derivata respectiv
a s
a fie aproximativ constant a,
si refacand calculul pentru o noua diviziune a intervalului se poate testa astfel
si sensibilitatea erorii la includerea de noi puncte de interpolare.
6 1. Aproximarea funct
iilor de o variabila

Tabelul 1.1: Un tabel de diferente divizate


xi yi DD1 DD2 DD3 DD4
1 2
2 3 1
3 0 -3 -2
5 6 3 2 1
4 4 2 1 -3/2 -5/6

De regula, este nerecomandabil a utilizarea unui num ar mare de noduri la


interpolare, mai ales dac a se intentioneaza calcularea unor derivate cu ajutorul
acestui polinom. Uzual, nu se folosesc toate cele N noduri, ci doar 3-5 noduri
cele mai apropriate de punctul n care se cere valoarea functiei. In consecint a,
exista posibilitatea unor variante chiar c and nu putem ndesi reteaua 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 functii. In aceste
aplicatii se considera deseori cazul diviziunilor egale
xi+1 xi = h, i = 1, 2, . . . , N 1 ,
h fiind pasul retelei. Se introduc operatorii si denumiti diferent
a la dreapta
respectiv, diferenta la st
anga, prin relatiile
f (x) = f (x + h) f (x) , (1.17)

f (x) = f (x) f (x h) . (1.18)


Rezultatul aplicarii operatorului sau asupra lui f (x) se numeste diferent a
finit
a (de ordinul I). Pentru n ntreg, se defineste un operator de translatie, E,
prin relatia
E n f (x) = f (x + nh), n Z. (1.19)
Avem E 1 f (x) = f (x + h), E 0 f (x) = f (x), E 1 f (x) = f (x h). Se observ
a c
a
ntre operatorii , si E exist
a relatiile
= E E 0 , = E 0 E 1 . (1.20)
Diferentele divizate se pot exprima n functie de diferentele 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 inductie, se demonstreaz
a usor c
a
N 1 f (x1 ) N 1 f (xN )
DD(xN , xN 1 , . . . , x1 ) = 1
= , (1.23)
(N 1)!h N (N 1)!hN 1
1.1. Aproximarea prin interpolare 7

unde exponentul indica aplicarea repetat


a a operatorului.
Punand variabila curenta x sub forma

x = xi + h, [0, N 1] , (1.24)

se poate obtine expresia polinomul de interpolare Newton cu diferente finite la


dreapta

pN 1 (x) = y1 + y1 + 12 ( 1)2 y1 + . . . + CN 1 N 1 y1 , (1.25)

unde Ck , k = 0, 1, . . . , N 1 sunt coeficientii binomiali. Restul RN 1 (x) cap


at
a
forma

RN 1 (x1 + h) = hN CN f (N ) () . (1.26)

Calculul se face alc atuind un tablou al diferentelor finite, similar cu tabloul


diferentelor divizate.
In mod asemanator, notand

x = xN + h, [N + 1, 0] , (1.27)

se obtin expresii cu diferente la st


anga
N 1 N 1
pN 1 (x) = yN + yN + 12 ( + 1)2 yN + . . . + (1)N 1 C yN

RN 1 (xN + h) = (1)N hN CN f (N ) () . (1.28)

Forma Lagrange a polinomului de interpolare.


Polinomul de interpolare Lagrange se scrie aleg and functiile gk (x) din relatia
(1.6) sub forma unor polinoame denumite polinoame Lagrange si notate cu
Lk (x), k = 1, 2, ..., N . Aceste polinoame au expresiile
N 0
Y x xj
Lk (x) = , k 1, N , (1.29)
j=1
xk xj
Q0
unde produsul se ia pentru j 6= k. Se observ
a direct din (1.29) c
a

Lk (xj ) = 0 daca xj 6= xk ; Lk (xj ) = 1 dac


a xj = xk . (1.30)

Polinomul de interpolare Lagrange se scrie


N
X
pN 1 (x) = yk Lk (x) , (1.31)
k=1

deci coeficientii ak din expresia (1.6) sunt chiar valorile functiei f (x) n noduri,
ak = yk . Se verifica direct, tinand cont de propriet
atile (1.30) c a pN 1 (xi ) =
yi , i = 1, 2, ..., N .
8 1. Aproximarea funct
iilor de o variabila

Exemplu. Utiliz
and primele patru noduri din tabelul 1, polinoamele Lagrange
sunt
(x 2)(x 3)(x 5) 1
L1 (x) = = (x 2)(x 3)(x 5),
(1 2)(1 3)(1 5) 8

(x 1)(x 3)(x 5) 1
L2 (x) = = (x 1)(x 3)(x 5),
(2 1)(2 3)(2 5) 3

(x 1)(x 2)(x 5) 1
L3 (x) = = (x 1)(x 2)(x 5),
(3 1)(3 2)(3 5) 4

(x 1)(x 2)(x 3) 1
L4 (x) = = (x 1)(x 2)(x 3),
(5 1)(5 2)(5 3) 24
iar polinomul de interpolare este

p3 (x) = 2L1 (x) + 3L2 (x) + 0L3 (x) + 6L4 (x) = x3 8x2 + 18x 9 ,

identic cu polinomul obtinut prin metoda diferentelor divizate. Aducerea polinomului


la forma canonica a fost f
acuta numai pentru compararea celor dou a metode, nefiind
n general necesar
a n calculul numeric.

Convergenta interpol
arii polinomiale globale.
Expresiile restului RN 1 (x) obtinute la interpolarea polinomial a sugereaz a o
crestere a preciziei atunci cand num arul N de noduri creste. Spre exemplu,
n cazul diviziunilor egale, expresiile (1.26) si (1.28) indic a proportionalitatea
abaterii cu hN (h fiind pasul diviziunii) dar si cu alti factori cum ar fi derivata de
ordinul N . Interpolarea ar fi convergent a dac a atunci c and num arul de puncte
de interpolare creste indefinit N , restul scade oric at de mult RN 1
0. Se pune ntrebarea: este interpolarea polinomial a ntotdeauna convergent a?
Raspunsul la aceasta ntrebare este negativ. Inc
a din 1901, Runge a dat exemplul
functiei

f (x) = 1/(1 + x2 ), x [5, 5] .

Se poate verifica faptul c a |RN 1 (x)| cand N , diviziunile intervalului


[5, 5] fiind luate egale. Comportarea interpol arii pentru N = 6 si N = 11 este
redata 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 functie,
chiar continua, fata de care abaterea polinomului de interpolare creste oric at de
mult cand N . Faptul c a exist
a sigur cel putin o functie 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) cu N = 6, 11 suprapuse peste f (x).

Aspecte practice ale interpol


arii polinomiale.
Evident, polinoamele Newton si Lagrange difer a numai prin form a, pentru
aceeasi retea restul fiind acelasi n ambele cazuri. Din punct de vedere al calcu-
lului numeric, este preferata folosirea polinomului Newton ce necesit a un num ar
de operatii aritmetice mai mic, de O(3N 2 /2) fat a de O(4N 2 ) pentru polinomul
Lagrange. Necesarul de memorie este acelasi pentru ambii algoritmi. Pentru
polinomul Newton ar parea ca este nevoie de o matrice suplimentar a pentru
tabelul de diferente divizate. Insa din tabelul de diferente divizate se folosesc
efectiv doar N coeficienti existand posibilitatea refolosirii celulelor de memorie
precum n algoritmul2
dy
j=
2:N (1.32)
k = N : 1 : j
[dk (dk dk1 )/(xk xkj1 )
n urma caruia diferentele divizate de pe diagonala tabelului se obtin n vectorul
d ce a fost initializat cu ordonatele y. Aceasta este partea cea mai costisitoare
a interpolarii Newton necesitand O(3N 2 /2) operatii aritmetice. Evaluarea po-
linomului ntr-un punct u se face eficient prin schema lui Horner
S dN
j = (N 1) : 1 : 1 (1.33)
[S dj + (u xj ) S
2 Am folosit notatia Matlab j = jini : pas : jf in pentru bucle: variabila j este initializata la
valoarea jini si apoi incrementata cu pas. Instructiunile din bucl
a, delimitate de [ se execut a
repetat p
ana cand j > jf in Dac
a pas nu este precizat, precum n j = jini : jf in , se subntelege
pas = 1.
10 1. Aproximarea funct
iilor de o variabila

Figura 1.2: Aproximarea functiei lui Runge f (x) printr-o linie poligonala s(x).

necesitand numai O(3N ) operatii. Evaluarea polinomului Lagrange ntr-un


punct u necesita O(4N 2 ) prin

S0

k= 1 : N

P 1

j =k+1:N

j =1:k1 [P P (u xj )/(xk xj )

[P P (u xj )/(xk xj ) S S + yk P

1.1.2 Interpolare cu functii spline


Am vazut ca interpolarea polinomial a globala, pe tot intervalul [a, b], nu converge
ntotdeauna. Desigur, dac a am reusi s
a micsoram diviziunea fara a modifica gra-
dul polinomului de interpolare, rezultatul ar putea fi modificat. Spre exemplu,
aproximarea unei functii derivabile cu o linie poligonal a se poate face oric at de
bine cand numarul de laturi ale poligonului creste infinit (fig. 1.2). Evident,
functia poligonala nu se identific a cu o functie de gradul 1 deoarece depinde
si de diviziunea aleasa. Acest exemplu conduce la ideea de interpolare polino-
miala pe portiuni, la care pe fiecare subdiviziune a intervalului [a, b] definim un
alt polinom de interpolare. Functia poligonal a este unul dintre exemplele cele
mai simple ale acestui tip de interpolare prin functii spline 3 . Aceste functii
sunt caracterizate prin formele lor pe subintervalele dintre dou a noduri (care
pot fi diverse functii cunoscute) si prin anumite conditii de racordare n noduri.
In cele ce urmeaza, vom considera doar cazul functiilor spline polinomiale f ar
a
deficient
a.
3 Se citeste splain.
1.1. Aproximarea prin interpolare 11

Figura 1.3: Subintervalele de definire a unei functii spline.

Definitie. Fie [a, b] R un interval pe dreapta real a si xi , i = 1, 2, ..., N o


retea de puncte de diviziune (x1 = a, xN = b). Not am cu Ii subintervalele
[xi , xi+1 ). Functia s : [a, b] R se numeste functie spline polinomial a de
ordinul m daca
1. restrictiile ei pe subintervalele Ii sunt polinoame de gradul m, s|Ii =
pm,i ;
2. s este derivabila de m 1 ori pe intervalul [a, b], s C (m1) [a, b].
A doua conditie contine n sine conditia de racordare n noduri
(k) (k)
pm,i (xi+1 ) = pm,i+1 (xi+1 ), k = 0, 1, . . . , m 1 , (1.34)
adica la frontiera xi+1 dintre dou a subintervale, polinomul din st anga pm,i si
primele sale m 1 derivate trebuie s a aibe aceleasi valori cu ale polinomului
din dreapta, pm,i+1 . In afara intervalului [a, b] functia s se poate prelungi prin
polinoame de grad m. Conditiile de racordare n noduri pot fi sl abite, astfel
nc
at functia s sa nu mai fie de clas a C (m1) pe tot intervalul [a, b], ci s a fie
derivabila de mai putine ori pe diverse subintervale. In acest caz, obtinem functii
spline cu deficient
a.

Functia spline de ordinul nt


ai (linia poligonal
a).
Functia spline este formata din segmente de ecuatie
p1,i (x) = yi + mi (x xi ), x [xi , xi+1 ), (1.35)

mi = (yi+1 yi )/hi , hi xi+1 xi , (1.36)


mi reprezentand panta pe intervalul Ii (vezi fig. 1.3). Functia spline de ordinul
nt
ai este simpla, dar nu furnizeaz
a derivata functiei interpolate.
12 1. Aproximarea funct
iilor de o variabila

Functia spline de ordinul doi.


Functia este formata 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 polinomiala (1.37) satisface automat conditia p2,i (xi ) = yi prin modul
de scriere. Conditiile de racordare

p2,i (xi+1 ) = yi+1 (1.38)

conduc la urm
atoarele ecuatii pentru coeficientii ai

ai = (yi+1 yi )/h2i mi /hi , i 1, N 1 . (1.39)

Eliminarea lui ai din conditiile de racordare

p2,i (xi+1 ) = yi+1 ,


(1.40)
p02,i (xi+1 ) = p02,i+1 (xi+1 ) ,

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 conditie. Spre exemplu, se poate da panta la


unul din capetele intervalului (m1 sau mN ). Necesitatea conditiei suplimentare
provine din faptul ca nu mai putem impune conditia de racordare n derivat
a n
nodul xN . In ambele cazuri, sistemul devine determinat:

1. m1 dat duce la substituirea

mi+1 = 2(yi+1 yi )/hi mi , i 1, N 1 ; (1.42)

2. mN dat permite retrosubstituirea

mi = 2(yi+1 yi )/hi mi+1 , i N 1, 1 . (1.43)

Functia spline de ordinul trei sau cubic


a.
Este una din cele mai utilizate functii spline, av
and derivate continue p ana la
ordinul doi inclusiv, ceea ce permite calculul razei de curbura. Din conditiile de
continuitate pe noduri p ana la derivata de ordinul 2 inclusiv

p3,i (xi+1 ) = yi+1 ,


p03,i (xi+1 ) = p03,i+1 (xi+1 ) , (1.44)
p003,i (xi+1 ) = p003,i+1 (xi+1 ) ,
1.1. Aproximarea prin interpolare 13

pentru i = 1, 2, 3, . . . , N 2, se deduc coeficientii polinomului de gradul 3

p3,i (x) = yi + mi (x xi ) + bi (x xi )2 + ai (x xi )3 (1.45)

care reprezinta comportarea functiei spline pe fiecare subinterval (xi , xi+1 ), i


1, N 1

ai = (mi+1 + mi )/h2i 2(yi+1 yi )/h3i , (1.46)

bi = 3(yi+1 yi )/h2i (mi+1 + 2mi )/hi . (1.47)

Pantele pe noduri, mi , sunt date n acest caz de sistemul

i mi1 + 2mi + i mi = di , i 2, N 2 (1.48)

ce trebuie completat cu doua conditii, pentru a suplini conditiile de racordare


n prima si a doua derivata ce nu mai pot fi scrise n xN . S-au f
acut notatiile

i hi /(hi1 + hi ), i 1 i , hi xi+1 xi , (1.49)

di 3 [i (yi+1 yi )/hi + i (yi yi1 )/hi1 ] .

Sistemul de conditii de racordare impuse las a de data aceasta dou


a grade de
libertate, ce pot fi precizarea pantelor la capete, m1 si mN , sau, mai general,
precizarea unei relatii, n general liniar
a, ale acestor pante cu pantele vecine, de
forma

2m1 + 1 m2 = d1
. (1.50)
N mN 1 + 2mN = dN .

In relatiile (1.50), coeficientii 1 , d1 , N , dN sunt dati prin natura conditiilor


puse la capetele intervalului, deci nu sunt dedusi din relatiile (1.49) care nu
sunt definite pentru i = 1 si i = N . Spre exemplu, a da pantele m1 si mN
revine la a impune

1 = 0, d1 = 2m1 , N = 0, dN = 2mN .

Sistemul de N ecuatii cu N necunoscute Am = d, obtinut prin reuniunea egali-


t
atilor (1.48) si (1.50), are matrice tridiagonal a. Ne punem mai nt ai problema
existentei unei solutii. Elementele din matricea A rezultate din conditiile 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 conditiile suplimentare (1.50) s a pastreze aceast a proprietate. Practic,
problema este rezolvabila daca impunem conditii necontradictorii si distincte.
Forma tridiagonal a a matricei A permite o rezolvare foarte eficient a prin
descompunerea matricei ntr-un produs de dou a matrice bidiagonale4 A = L R
4 Un 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 variabila

sau explicit
r

1

0 0 0 1 1 0 0
l2 1 0 0 ..
0
r2 . 0 0
.. ..

.. ..

0
A= l3 . . .
0 0 . N 2 0 .

. .. ..
.. 0 ... .. ..

. . 1 . . rN 1 N 1


0 0 lN 1 0 0 0 rN

Coeficientii necunoscuti ri , i = 1, 2, ..., N si li , i = 2, 3, ..., N se determin


a prin
identificarea elementelor din A si din matricea produs. Elementele supradiago-
nalei din matricea R au 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 /ri1 ; ri 2 li i1

2. rezolvarea sistemului bidiagonal L z = d

z1 d1
i=2:N
[zi di li zi1

3. rezolvarea sistemului bidiagonal R m = z

mN zN /rN
i = (N 1) : 1 : 1
[mi (zi i mi+1 )/ri

Observatii. 1. Un caz particular important de functie spline de ordinul trei


este cel al interpol
arii spline cubice naturale definit prin conditiile n capete

s00 (x1 ) = s00 (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 notatiile anterioare. Se poate demonstra c a impunerea acestor conditii de


cap
at minimizeaza integrala
Z xN
2
I= [f 00 (x)] dx , (1.53)
x1

unde f (x) este functia exacta, necunoscut a C (2) [a, b] ce este aproximat
a, de clas a
de interpolarea spline. Minimizarea integralei (1.53) prin impunerea conditiilor
naturale (1.51) conduce la cea mai neted a interpolare spline cubic a. In absenta
unor informatii precise asupra pantelor n capete m1 , mN , se recomand a folosirea
conditiilor naturale ce conduc de regul a la minizarea erorii de interpolare.
2. Folosita pentru reprezentarea unor curbe date (traiectorii ale unei scule,
profile aerodinamice, etc.), functia spline cubic a poate avea abateri n zonele
cu pante mari. De aceea, se recomand a verificari mai atente n vecin atatea
nodurilor cu pante mari, mi 5.
3. Restrictiile unei functii spline s(x) pe intervalele Ii nu trebuie s a fie
obligatoriu polinoame. Se pot racorda alte functii, sau polinoame cu alte functii
spre exemplu, cercuri cu polinoame. Aceste combinatii pot fi avantajoase n
cazul cand pantele pe noduri sunt mari.
4. Pentru interpolarea spline nu s-a dedus o expresie a erorii de aproxi-
mare, de o maniera directa ca la interpolarea polinomial a. S-a retinut doar
afirmatia ca, o functie continua poate fi aproximat a oric at de bine pe tot inter-
valul [x1 , xN ] atunci cand numarul de diviziuni creste, adic a interpolarea spline
este ntotdeauna convergent a. Deoarece derivata de ordinul m, s(m) , a unei
functii spline polinomiale este o functie treapt a (constant a pe portiuni), iar o
functie treapta aproximeaza oricat de bine o functie continu a pe interval c and
num arul de diviziuni creste, se poate da o evaluare a erorii n functie de abate-
rea maxima ntre derivatele f (m) (x) si s(m) (x), presupun and c a f (m) (x) exist a
si este continua

max |f (x) s(x)| (b a)m max f (m) (x) s(m) (x) /m! .

Pentru m = 1, marginea erorii reprezint a tocmai produsul dintre m arimea inter-


valului si diferenta maxima de pante ntre functia f si linia poligonal
a. Aceasta
evaluare nu corespunde nsa neap arat functiei spline de interpolare, dar suge-
reaza o anumita relatie cu modul n care functia treapta s(m) (x) aproximeaz a
derivata de ordinul m a functiei f (x).
Exemplu. Vom considera problema interpol arii spline a functiei lui Runge f (x) =
1/(1+x2 ) pe intervalul [5, 5] pentru care am v azut ca interpolarea polinomial a global
a
esueaza. Se adopta o diviziune echidistanta a intervalului cu h = [5 (5)]/(N 1),
xk = x1 + (k 1)h, k 1, N . Se vor considera trei tipuri de conditii n capete:
1. precizarea valorilor exacte ale pantei m1 = f 0 (5), mN = f 0 (5) ceea ce conduce
la 1 = 0, d1 = 2f 0 (5), N = 0, dN = 2f 0 (5) ;
16 1. Aproximarea funct
iilor de o variabila

Figura 1.4: Logaritmul zecimal al erorii relative la interpolarea spline a f, f 0 , f 00 .

2. extrapolarea liniara a pantelor adiacente m1 = m2 , mN 1 = mN ceea ce


conduce la 1 = 2, d1 = 0, N = 2, dN = 0 ;
3. conditii naturale (1.52).
Calitatea aproxim arii se apreciaz
a prin evaluarea erorilor relative
1000
X
(k) (k) (k)
k = f (ui ) s (ui ) / f (ui ) , k = 0, 1, 2

i=1

pentru diverse valori ale lui N unde {ui , i 1, 1000} este o diviziune echidistant a
fina a intervalului [5, 5]. Rezultatele sunt prezentate n figura (1.4). Se observ a
ca interpolarea este convergent a, eroarea relativa sc
az
and rapid cu cresterea lui N .
Pentru un num ar mic de puncte toate conditiile de cap
at dau rezultate comparabile. Pe
m asur
a ce diviziunea devine suficient de fin
a pentru a descrie precis variatiile functiei,
conditiile exacte dau eroarea minim a dupa cum era de asteptat, urmate de conditiile
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 functii trigonometrice


Interpolarea polinomiala nu este adecvat
a aproxim arii tuturor tipurilor de functii.
Vom considera acum o alt a alegere a functiilor liniar independente din (1.6),
anume functiile trigonometrice (fig. 1.5)

cos(2kx), k 0, N ; sin(2mx), m 1, N 1 . (1.54)

Aceasta baza este deosebit de eficace n aproximarea functiilor periodice f (x) =


f (x + 1). Functiile periodice cu o alt a perioad
a f (z) = f (z + T ) pot fi aduse
la forma anterioara prin transformarea x = z/T . In cazul interpol arii cu functii
1.1. Aproximarea prin interpolare 17

Figura 1.5: Primele 11 functii din baza trigonometrica.

trigonometrice, functiile sinus si cosinus mpreun


a formeaz a5 . Avem un
a o baz
numar de 2N functii n aceasta baz a. Ca atare, vom considera un num ar par
2N de puncte de diviziune echidistante pe intervalul [0, 1]

xj = j/2N, j 0, 2N 1 . (1.55)

Se verifica direct ca setul (1.54) prezint


a urm
atoarele propriet
ati de ortogonali-
tate pe multimea discreta de puncte {xi } = {0, 1/2N, 2/2N, ..., (2N 1)/2N }


2N
X 1 0, k 6= m
cos 2kxj cos 2mxj = N, k = m 6= 0, N (1.56)
2N, k = m = 0, N

j=0

2N 1  2N 1
X 0, k 6= m X
sin 2kxj sin 2mxj = ; cos 2kxj sin 2mxj = 0 ,
N, k = m
j=0 j=0

k 0, N , m 1, N 1 . Demonstratia se construieste prin transformarea


produselor de functii trigonometrice n sume de sinus si cosinus. Acestea se pot
nlocui cu functii exponentiale, sin x = (eix eix )/2i, cos x = (eix + eix )/2,
rezultand progresii geometrice simplu de nsumat (vezi si 1.1.4).
5 Strict vorbind doar mult a {1, cos x, sin x, cos 2x, sin 2x, . . . } formeaz
imea infinit a o baz
aa
spatiului de functii. P
astrarea unui num ar finit de functii conduce la aparitia unor erori ce
vor fi considerate mai jos.
18 1. Aproximarea funct
iilor de o variabila

Utilizand setul de functii de baz


a (1.54), aproximanta prin interpolare se
scrie sub forma polinomului Fourier
N
X 1
g(x) = 12 a0 + [ak cos(2kx) + bk sin(2kx)] + 12 aN cos 2N x , (1.57)
k=1

ce satisface 2N conditii de interpolare

g(xj ) = f (xj ) yj , j 0, 2N 1 .

Coeficientii ak , bk se determin a prin utilizarea propriet atilor de ortogonalitate


(1.56). Prezentam calculul doar pentru coeficientii bk . Polinomul (1.57) se
evalueaza n punctele xj , relatia obtinut
a se amplifica cu sin 2mxj iar apoi se
calculeaza suma de la j = 0 la j = 2N 1
"
2NP1 a0 2NP1 NP1 P1
2N
yj sin 2mxj = sin 2mxj + ak (cos 2kxj sin 2mxj ) +
j=0 2 j=0 k=1 j=0
#
2NP1 aN 2NP1
bk (sin 2kxj sin 2mxj ) + (cos 2N xj sin 2mxj ) .
j=0 2 j=0

Se poate observa schimbarea ordinii de nsumare din relatia de mai sus ce per-
mite aplicarea (1.56) obtin
andu-se
2N
X 1 2N
X 1
g(xj ) sin(2mxj ) = yj sin(2mxj ) = bm N .
j=0 j=0

Un calcul analog pentru ceilalti coeficienti conduce la relatiile


2N 1 2N 1
1 X 1 X
ak = yj cos 2kxj , bm = yj sin 2mxj (1.58)
N j=0 N j=0

cu k 0, N , m 1, N 1.
In aplicatii, coeficientii ak , bk se 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 toti ak = 0
pentru functii impare f (x) = f (x) si toti bm = 0 pentru functii pare f (x) =
f (x).
Aparitia unei oarecare asimetrii termenii n cos sunt mai numerosi dec at cei
n sin este legata de alegerea unui num ar par de 2N intervale n care se divide
perioada functiei. Dac a se aleg 2N + 1 intervale, forma functiei de interpolare
este
N
X
g(x) = 12 a0 + [ak cos(2kx) + bk sin(2kx)] ,
k=1
1.1. Aproximarea prin interpolare 19

coeficientii ak si bk fiind dati de


2N 2N
2 X 2 X
ak = yj cos 2kxj , bm = yj sin 2mxj ,
2N + 1 j=0 2N + 1 j=0

cu k 0, N , m 1, N , xj = j/(2N + 1).

Convergenta interpol
arii trigonometrice.
Se pot determina exprimari ale erorii de interpolare n genul restului RN 1 (x)
de la interpolarea polinomiala si pentru interpolarea trigonometric a. Expresiile
obtinute sunt nsa sub o forma integral a greu utilizabil
a practic. Vom prefera
o discutie mai putin formala a erorii si convergentei procedeului. Dac a functia
f admite o dezvoltare n serie Fourier m arirea num arului de noduri conduce
la aproximatii din ce n ce mai bune. Intr-adev and expresia (1.57) la
ar, ridic
patrat membru cu membru, nsum and valorile pe noduri si tin
and seama de
relatiile de ortogonalitate (1.56), se obtine
N 1 2N 1
1 2 1 X 2 1 1 X 2
a0 + (ak + b2k ) + a2N = y (1.59)
4 2 4 2N j=0 j
k=1

relatie denumita egalitatea lui ParsevalR discret a. C and N creste, suma din
1
membrul drept se aproprie de integrala 0 y 2 dx. Dac a integrala este m arginita6
suma este de asemenea marginita. Ca urmare, seria p atratelor coeficientilor este
convergenta, ceea ce arata ca a2k , b2k devin din ce n ce mai mici c and N creste.
Interpolarea trigonometric a este asadar convergent a pentru functii f continue
sau cu un numar finit de discontinuit ati acestea fiind conditii suficiente pentru
a asigura existenta integralei anterioare. Stabilirea convergentei este important a
pentru validarea interpolarii trigonometrice. In aplicatii ns a mai apar si alte
aspecte ale comportarii erorii la interpolare. Vom considera doar dou a mai
importante: rapiditatea convergentei si efectul consider arii doar a unui num ar
finit de functii trigonometrice n dezvoltarea (1.57).
Fara a ncerca o definitie formal a, vom spune c a o interpolare trigonome-
tric
a este rapid convergenta daca num arul de termeni N necesar realiz arii unei
precizii impuse a aproximarii este mic. Intelesul cuv antului mic depinde
de aplicatie, dar un domeniu orientativ ar fi 2 N 128. Urm arirea fig. 1.5
sugereaza ca includerea mai multor termeni n polinomul Fourier (1.57) permite
descrierea unei functii cu variatii mai rapide pe intervalul [0, 1]. Fie x cea mai
mica distanta de pe abscisa pe care functia f are o variatie semnificativ a. Deo-
arece f are perioada 1, spunem ca = 1/x este frecventa variatiilor celor mai
rapide ale functiei. Pentru a descrie variatiile date de frecventa cea mai rapid a
a functiei f polinomul (1.57) trebuie s a contin
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 esantionare Shannon. Observati 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 variabila

Figura 1.6: Comportarea polinoamelor trigonometrice cu N = 8, 16, 32, 64 la inter-


polarea functiei treapt a. Pe masur
a ce N creste, interpolarea se aproprie mai mult de
functia exact
a f
ara ns
a a elimina oscilatiile n zona punctelor de discontinuitate.

pentru a avea N frecvente n polinomul (1.57) este nevoie de 2N puncte (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 frecventa cea mai rapid a.
Daca f are variatii lente atunci este mic si num arul de termeni din poli-
nomul (1.57) este de asemenea mic. Functiile cu variatii rapide au nsa mare
necesitand un numar mare de termeni n polinomul (1.57). Cea mai rapid a
a a unei functii ar fi ceea ce corespunde
frecventa de variatie posibil
la x = 0, adica f sa prezinte discontinuit ati. Cum nu vom putea ndeplini
niciodata criteriul Nyquist N pentru functii discontinue, interpolarea tri-
gonometrica va avea erori mai mari n asemenea cazuri. Erorile ce apar sunt
concentrate n jurul discontinuit atilor, 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 si y(n + 1/2) = 0 cu n N, exemplu prezentat n fig.
1.6. Ne asteptam asadar ca interpolarea trigonometric a s
a fie lent convergent a
pentru functii discontinue si rapid convergent a pentru functii netede, cu variatii
lente.

Sa presupunem acum c a nu este ndeplinit criteriul Nyquist7 si am luat un


numar prea mic N < de termeni n dezvoltarea (1.57). Ne punem problema
daca coeficientii ak , bk k N determinati prin relatiile (1.58) sunt corecti, adic
a
au aceleasi valori ca n cazul n care criteriul Nyquist ar fi satisf
acut. Raspunsul
este negativ. Sa refacem calculul anterior ce a furnizat valorile coeficientilor
bk , de data aceasta pentru dezvoltarea Fourier complet a a functiei f ce are
7 Deoarece functia f este n general necunoscut
a si ca atare nu cunoastem frecventa .
1.1. Aproximarea prin interpolare 21

coeficientii exacti k , k

X
f (x) = 12 0 + [k cos(2kx) + k sin(2kx)] . (1.60)
k=1

Ca mai nainte, evaluam (1.60) n xj , nmultim cu sin 2mxj si nsum am de la


j = 0 la j = 2N 1. Urmarim doar termenii cu produse de functii sinus
ceilalti dau contributii nule conform (1.56)
P2N 1 P2N 1 h P2N 1 i
j=0 f (xj ) sin 2mxj = k=1 k j=0 (sin 2kxj sin 2mxj ) +
P4N 1 h P2N 1 i
k=2N k j=0 (sin 2kx j sin 2mx j ) + ...+
P2(p+1)N 1 h P2N 1 i
k=2pN k j=0 (sin 2kxj sin 2mxj ) + . . . .

Ins
a sin 2(2pN + k)xj = sin 2kxj pentru xj = j/(2N ). Se obtine asadar

bm = m + m+2N + m+4N + . . . ,

altfel spus contributiile frecventelor mari m + 2N, m + 4N, . . . apar mascate n


coeficientul bm . Fenomenul de mascare8 impune s a urm arim n aplicatii variatia
(2N ) (2N )
coeficientilor ak , bk la dublarea lui N . Fie ak , bk coeficientii determinati
(4N ) (4N )
folosindu-se 2N puncte si ak , bk coeficientii determinati folosindu-se 4N
(2N ) (4N ) (2N ) (4N )
puncte. Daca ak = ak , b k = bk pentru k N atunci 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 pozitia punctelor
situate pe elipsa

x2 /a2 + y 2 /b2 = 1 .

Rezolvare. Ca n orice problem


a de aproximare, alegerea variabilelor este important
a.
Reprezentarea n coordonate carteziene x, y este dezavantajoasa, conduc and la dou
a
functii
p
y = b 1 x2 /a2 .

a coordonatele polare r, sau coordonatele paramametrice r, t. In


De aceea se prefer
coordonatele polare x = r cos , y = r sin , elipsa este dat
a de functia
1/2
r() = ab a2 sin 2 + b2 cos 2

,

cu [0, 2]. Functia r() are perioada 2. O aducem la perioada 1 prin transfor-
marea s = /2,
1/2
r(s) = ab a2 sin 2 2s + b2 cos 2 2s

.

8 Comportarea este descris


a deseori prin denumirea din englez
a de aliasing.
22 1. Aproximarea funct
iilor de o variabila

Figura 1.7: Variatia erorii relative la interpolarea trigonometrica a unor elipse. Re-
zultatele pentru reprezentarea parametric
a sunt unite cu linii.

In reprezentarea parametric
a, elipsa este descris
a de x = a cos t, y = b sin t, astfel
nc
at obtinem
1/2
r(t) = a2 sin 2 t + b2 cos 2 t


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


Vom nota prin gN (s) polinomul trigonometric ce interpoleaz a r(s) n 2N puncte 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}
4N
X
N = |r(j ) gN (j )| / |r(j )| .
j=0

Presupunem c a a = 1 si vom studia comportarea erorii relative pentru mai multe valori
ale lui b, n cele doua reprezent ari adoptate.
Rezultatele sunt prezentate n fig. 1.7. In toate cazurile, interpolarea este conver-
genta: pe m asura ce N creste eroarea se aproprie de zero. Cea mai rapid a convergent a
se obtine pentru a/b = 1/2 deoarece functia ce descrie elipsa are variatii lente pe inter-
valul [0, 1]. Odat a cu scaderea raportului a/b, observ am ca este nevoie de un num ar
mai mare de termeni n polinomul trigonometric pentru a se obtine o precizie dat a.
Elipsa are variatii rapide n punctele (1, 0) si este nevoie de mai multi termeni pentru
a satisface criteriul Nyquist. In plus, este de asteptat ca aproximarea s a fie afectat
a si
de fenomenul Gibbs n zona punctelor (1, 0) variatiile functiilor sunt ntr-at at de
1.1. Aproximarea prin interpolare 23

rapide nc
at nesatisfacerea criteriului Nyquist le face s a apar a ca niste discontinuit
ati.
Se poate observa c a, pentru un acelasi raport a/b reprezentarea parametric a (puncte
unite cu linii n fig. 1.7) conduce la erori mai mici n toate cazurile studiate, arat and
importanta unei alegeri judicioase a reprezent arii.
Sa mai remarc am c a, o dat
a atins
a o precizie de circa 12 cifre, n cazul unei functii
r(s) netede, a/b = 1/2, cresterea lui N nu mai mbun at
ateste calitatea aproxim arii.
Calculele au fost efectuate n virgul a mobila cu o precizie de circa 11, 12 cifre semni-
ficative. Odat a atins acest prag, cresterea lui N produce efecte detrimentale deoarece
prin cresterea num arului de operatii aritmetice are loc o acumulare a erorilor de rotu-
njire. Dac a ntr-adevar este nevoie de o acuratete mai mare trebuie lucrat n precizie
sporita.

1.1.4 Interpolare n planul complex


Anumite aplicatii importante impun interpolarea n planul complex. Printre
acestea se num ara transformarea conform a si transformata Fourier discreta care
au multe aspecte asemanatoare. Transformarea conform a a unui contur (C) de
forma 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 sa
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, odata precizate contururile, se mai pot alege trei para-
metrii reali. Acestia se determina de regula din impunerea unor corespondente
ce au semnificatie fizica. Vom ncerca mai ntai determinarea formei generale a
transformarii conforme, lasand la urm a stabilirea celor trei parametrii. Forma
generala a transformarii conforme este o serie care se limiteaz a la un num ar
convenabil de termeni M 9
M
X 2
z= Cn n . (1.61)
n=1

Cei M coeficienti Cn , n = 1, 0, . . . , M 2 se determin


a din conditii de cores-
pondenta ntre punctele Pk (zk ) de pe contur si punctele k (k ), k = 0, M 1
de pe cerc. Prin urmare se obtine sistemul de ecuatii
M
X 2
zk = Cn kn . (1.62)
n=1

Este convenabil ca mpartirea cercului s


a se fac
a n p
arti egale, adic
a s
a lu
am

k = exp(ik), i 1, 2/M . (1.63)
Coeficientii Cn sunt solutia sistemului
M
X 2
Cn eikn = zk , (1.64)
n=1
9 Forma 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 variabila

Figura 1.8: Corespondenta punctelor din planul fizic si cel de calcul.

punctele zk fiind date. Sistemul (1.64) se inverseaz a usor, tin


and seama c a
a un sistem ortogonal. Intr-adev
functiile exp(ikn) formeaz ar, nmultind
(1.64) membru cu membru, cu exp(ijk), j = 1, 2, ..., M 2 si sum and dup a k,
se obtine succesiv
M
X 1 M
X 1 M
X 2 M
X 2 M
X 1
zk eijk = Cn eik(jn) = Cn eik(jn) . (1.65)
k=0 k=0 n=1 n=1 k=0

a de ratie exp i(j n) se poate suma obtin


Dar progresia geometric andu-se
M 1
1 ei(jn)M

X 0 a j 6= n
dac
eik(jn) = = .
1 ei(jn) M dac
aj=n
k=0

In consecinta, din (1.65) se obtine

M 1
1 X ijk
Cj = e , j 1, M 2 . (1.66)
M
k=0

Trebuie mentionat c
a problema nu s-a ncheiat odat
a cu g
asirea coeficientilor
Cj pentru un M ales. Anume, mai trebuie verificat a atingerea preciziei dorite
prin considerarea a unor puncte intermediare ca, de exemplu,

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

Daca afixele zk0 sunt prea ndep artate de conturul (C) atunci trebuie ndesit a
reteaua de puncte de calcul si, n consecint
a, m
arit num
arul de termeni n seria
(1.61).
Rezultatele obtinute se nscriu ntr-o formulare mai general a, important a
pentru multe aplicatii10 . Pentru reteaua de puncte xj = jh, j = 0, 1, . . . , N 1,
10 Algoritmul 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 aplicatii: model
ari meteorologice, analize de vibratii
mecanice, prelucrare de imagini.
1.1. Aproximarea prin interpolare 25

av
and pasul h = 1/N , setul de valori ale unei functii u n noduri se noteaz a
u(N ) si se numeste functie retea. Not
and mai departe cu r
ad
acina de ordinul
N a unitatii

= exp(2i/N ), (1.67)

se defineste transformata Fourier discret a (TFDD) a functiei u(N ) ca


a direct
(N )
fiind o alta functie retea, notata U , ale c
arei valori n noduri sunt date de
relatiile
N 1
(N ) (N )
X
Uk = uj jk , k 0, N 1 . (1.68)
j=0

Se observa ca (1.66) este un caz particular de TFD. Prescurt


am notatia prin
adoptarea semnului = pentru TFD dat a de (1.68)

u(N ) = U (N ) .

Sistemul (1.68) se poate inversa, prin aplicarea relatiilor de ortogonalitate obti-


n
andu-se
N 1
(N ) 1 X (N ) jk
uj = Uk , j 0, N 1 . (1.69)
N
k=0

denumita 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 nmultirea vectorului u(N ) cu


matricea = [ jk ], j, k 0, N 1 si ar necesita O(N 2 ) operatii aritmetice.
Ins
a matricea are proprietati remarcabile, provenite din structura sa ciclic a,
ce permit o evaluare n numai O(N log N ) operatii. C astigul este enorm, iar
algoritmul ce realizeaza acest castig se numeste 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 usor prin descompunerea n dou a probleme mai simple.
Vom presupune ca functia retea u(N ) este definit
a pe un num ar par de puncte
N = 2P . Din functia retea u(2P ) construim dou a noi functii retea v (P ) , w(P )
definite n punctele de indice par, respectiv impar
(P ) (2P )
(P ) (2P )
vm = u2m , wm = u2m+1 , m 0, P 1 .
11 O aplicat
ie tipica provine din domeniul previziunilor meteo pe termen scurt pe care se
bazeaz a navigatia aeriana si marin a 106
a. Tipic, pentru o previziune pe 3 zile, se calculeaz
TFD-uri de lungime N = 214 . Un calculator performant, de vitez a 109 operatii aritmetice pe
secund a, n-ar reusi calculul produselor matrice-vector decat 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 variabila

Suma (1.68) se poate scrie


2P 1 P 1 h i
(2P ) (2P )
X X
Uk = uj jk = (P ) 2mk
vm (P ) (2m+1)k
+ wm =
j=0 m=0

P
X 1 P
X 1
(P ) 2mk
vm + k (P ) 2mk
wm . (1.70)
m=0 m=0

Insa 2 este radacina de ordinul N/2 = P a unit


atii astfel nc
at se observ
a
aparitia n (1.70) a transformatelor

v (P ) = V (P ) , w(P ) = W (P ) ,

relatiile de legatura ntre cele trei transformate fiind deosebit de simple


(2P ) (P ) (P ) (2P ) (P ) (P )
Uk = Vk + k Wk , Uk+P = Vk k Wk , 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(4P 2 )
operatii aritmetice. Acum avem de evaluat dou a transformate, V (P ) , W (P ) ce
fiecare necesita O(P 2 ) operatii pentru un total de O(2P 2 ) operatii. Reducerea
la jumatate a calculelor este benefic a, ns
a se poate castiga si mai mult dac
aN
este o putere a lui 2, N = 2q . In acest caz separarea pe indici pari si impari
poate continua pana c and se ajunge la transformarea unui vector de lungime
1 ce nu necesita nici o operatie aritmetic a deoarece se reduce la transformarea
de identitate, U (1) = u(1) . Singurele operatii artimetice ce mai r am an sunt
nmultirile cu k din (1.71). Calculul se poate vizualiza ca parcurgerea arborelui
cu q = log 2 N nivele din fig. 1.9. Pe fiecare nivel sunt necesare doar N operatii
aritmetice astfel ncat obtinem costul mentionat anterior de O(N log2 N ).
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
aplica de doua ori dup a cum este aratat 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
Inmultirile 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
usor daca scriem indicii initiali si finali n binar
etapa 0: 0002 0012 0102 0112 1002 1012 1102 1112
.
etapa 2: 0002 1002 0102 1102 0012 1012 0112 1112
Observati ca inversarea ordinei de citire a indicilor din ultima etapa corespunde
chiar la numerotarea natural a 0, 1, . . . , 7 anume: 0002 citit de la dreapta la
1.1. Aproximarea prin interpolare 27

Figura 1.9: Arborele de recurenta de la TFR.

st
anga este 0002 = 0, 1002 citit de la dreapta la st anga este 0012 = 1,. . . ,0112
citit de la dreapta la stanga este 1102 = 6, 1112 citit de la dreapta la st anga
este 1112 = 7. Rezultatul este valabil pentru orice N = 2q iar permutarea final a
a indicilor se zice n ordine bit-inversata. Putem da acum algoritmul TFR

attimp p N
c
j= 1 : N 2
j=0 : p : N 1

k invbit(j, q)
r0
daca k > j permut a(uj , uk )
k =0:t1
rad exp(semn 2i/N );
tmp uj+k
0 1


uj+k tmp + r uj+k+t
j = 1 : N/2


uj+k+t tmp r uj+k+t
j rad j1
r r+s
t 1; p 2; s N/2
t 2t; p 2p; s s/2 .

Vectorul initial u este nlocuit de transformata sa discret a ca atare algoritmul


nu necesita memorie suplimentar a. Variabila semn ia valoarea 1 pentru TFR
directa si 1 pentru TFR inversa; n acest ultim caz vectorul final mai trebuie
mp artit la N . Functia invbit(j, q) ntoarce indicele ce se obtine prin inversarea
ordinei bitilor de la 0 la q 1 din j. Operatia se poate exprima ntr-un limbaj
de nivel nalt prin nmultiri si mp
artiri cu 2, dar de regul
a este implementat a
eficient la nivel de cod masina. Verificarea conditiei k > j are rolul de a nu
strica permutarile deja efectuate n cadrul buclei.
Algoritmul TFR poate fi folosit pentru calculul coeficientilor polinomului
trigonometric (1.57) precizati de relatiile (1.58). O cale evident a este s
a se scrie
2N 1
1 X
ck ak + ibk = yj exp(2ijk/2N ), k 0, N
N j=0

a se aplice TFR asupra vectorului yj , j 0, 2N 1 ce are 2N componente.


si s
Ins a, daca vectorul {yj } este real, se poate obtine rezultatul cu doar jum
atate
28 1. Aproximarea funct
iilor de o variabila

Figura 1.10: O masuratoare experimentala a unei vibratii 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 , N ck = Pk + Ik exp(ik/N ) .

Se verifica imediat ca TFD, F a unei functii reale f satisface FN k = Fk , unde


Fk este conjugata complex a a lui Fk . Ca atare

ZN k = PN k + iIN k = Pk + iIk ZN

k = Pk iIk


si putem deduce expresiile Pk = (Zk + ZN k )/2, Ik = i(Zk ZN k )/2 astfel
ncat
1 i
ck = 2N (Zk + ZN k ) 2N (Zk ZN k ) exp(ik/N ), k 0, N . (1.72)

Exista multe astfel de combinatii posibile ce furnizeaz


a moduri economice de a
calcula transformata Fourier a unui vector ce are propriet ati de simetrie supli-
mentare.
Exemplu. Prezent am o aplicatie real a tipic a. Un senzor de vibratii a m asurat
deplasarile unei componente mecanice rezult and datele din fig. 1.10. Vibratiile de
frecvent
a mai joasa 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 frecventelor de
amplitudine maxim a astfel nc
at s
a se poat a identifica sursele de excitatie ce produc
vibratia componentei.
Rezolvare. M asuratorile au fost efectuate cu patru rate de esantionare N = 256,
512, 1024 rezultand datele u(256) , u(512) , u(1024) . Pentru identificarea frecventelor do-
minante se calculeaz a spectrul de putere al semnalului definit de

Pu (f ) = 2U (f )U (f ) ,

unde u = U . Spectrul se calculeaz


a prin aplicarea TFR asupra datelor din fig. 1.10.
Deoarece semnalul este real se aplica relatia (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 vibratiile predominante. Se poate observa c a la trecerea la o rata de
esantionare mai mare uneori apar noi picuri n domeniul frecventelor mari iar unele
picuri din domeniul frecventelor mici dispar. De asemenea, amplitudinile asociate unui
pic se modific a uneori. Alte picuri nu par afectate de cresterea ratei de esantionare.
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 ca pentru aceste
frecevente mici criteriul Nyquist este statisf acut si n plus nu are loc mascharea unor
frecvente 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 vibratie real a cu frecventa f . De fapt, rata de
esantionare folosita era prea mic a astfel nc
at se nregistra contributia unei frecvente
mai nalte f ' 2f , frecvent
a a c arei contributie devine discernabil a atunci c
and se
dubleaz a rata de esantionare n spectrul 3. Intr-adev ar pentru a discerne frecventa
f = 350 Hz criteriul Nyquist indic a necesitatea a cel putin 700 puncte, conditie
realizata doar de m asurarea u(1024) . Exemplul arat a importanta studiilor de rezolutie
n aplicatii de aproximare spectral a, studii n care se urm areste stabilitatea spectrului
la modificarea ratelor de esantionare. In aplicatii practice, fenomenul de mascare se
elimin a prin folosirea unor filtre trece-jos cu pretul pierderii portiunii de frecvente
nalte a spectrului.
30 1. Aproximarea funct
iilor de o variabila

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 ca aproximarea prin interpolare, chiar
daca 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
tot intervalul [a, b], nu numai n noduri. O exprimare matematic a a acestei idei
este sa se minimizeze eroarea maxim a ntre functia f (x) si aproximanta g(x),
adica criteriul (1.3) pe care-l repet
am aici

max |f (x) g(x)| = minim . (1.73)


x[a,b]

Astfel formulata problema este momentan incomplet definit


a deoarece nu am
precizat din ce multime de functii lu
am pe g(x).

1.2.1 Polinoamele Ceb


asev
Vom ncepe prin a presupune iar asi c
a functia aproximant a g(x) apartine multimii
polinoamelor. Criteriul de minimizare a erorii maxime (1.73) face referire la
un anume interval [a, b]. Deoarece rezultatele de mai jos depind de interval,
adoptam un interval canonic [1, 1]. O transformare de 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 functia aproximant a g(x) ca o combinatie li-
niara de monoame. Examinnd comportarea monoamelor xk pe intervalul [1, 1]
se constata ca toate iau valori absolute maxime la capetele intervalului; prin ur-
mare este de asteptat ca erorile de aproximare 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, variatia monoton a face dificil
a descrierea unor variatii
rapide ale functiei f n interiorul intervalului [1, 1]. Ceea ce ne trebuie este o
multime de polinoame definite pe [1, 1] care s a poata descrie astfel de variatii
ntr-un mod cat mai economic, adic a folosind un num ar mic de polinoame.
Functiile trigonometrice considerate anterior prezentau partial o astfel de com-
portare: cos 2x si sin 2x descriau variatiile de perioad a 1, cos 4x si sin 4x
descriau variatiile de perioad a 1/2, s.a.m.d. Spunem partial deoarece nu a fost
ndeplinita si dorinta de economicitate avem dou a functii, sin si cos pentru
descrierea variatiilor de o anumit a perioad a. Pe baza functiilor trigonometrice
putem nsa introduce o clas a remarcabil a de polinoame descoperite de Ceb asev
a caror proprietati sunt deosebit de favorabile aproxim arii optimale cautate n
aceasta sectiune.
Vom lua z [1, 1]. Introducem variabila [0, ] prin relatiile

z = cos , = arccos z .

Sa consideram acum functia Tn (z) = cos n. Functia are n r


ad
acini pe (1, 1)

Tn (z) = cos n = 0 k = (2k 1)/2n, k 1, n ,


1.2. Aproximarea mini-max 31

Figura 1.12: Primele 5 polinoame Cebasev.

Tabelul 1.2: Polinoame Cebasev


n Tn (z) zn
0 1 T0
1 z T1
2 1 + 2z 2 (T0 + T2 )/2
3 3z + 4z 3 (3T1 + T3 )/4
4 1 8z 2 + 8z 4 (3T0 + 4T2 + T4 )/8
5 5z 20z 3 + 16z 5 10T1 + 5T3 + T5

zk = cos k = cos[(2k 1)/2n], k 1, n .


Din identitatea trigonometrica cos n+cos(n2) = 2 cos(n1) cos deducem
o relatie de recurenta pentru Tn (z)
Tn (z) = 2zTn1 (z) Tn2 (z) . (1.74)
Deoarece T0 (z) = 1, T1 (z) = z iar T2 (z), T3 (z), . . . rezult a din (1.74) prin
operatii de adunare si nmultire, putem observa c a Tn (z) sunt polinoame de
gradul n, denumite polinoame Ceb asev relative la intervalul compact [1, 1].
Functia cos n se numeste functia generatoare a acestor polinoame.
Graficele primelor cateva polinoame Ceb asev sunt prezentate n fig. 1.12 iar
expresiile lor n tabelul 1.2 mpreun
a cu exprim arile monoamelor z n n functie
de Tk (z), k 0, n. Se observa din fig. 1.12 ca fiecare polinom Ceb asev de grad
mai nalt poate descrie variatii mai rapide ale unei functii pe intervalul [1, 1].

Din formula de recurenta, se observ a n Tn (z) coeficientul lui z n este


a c
2n1 , astfel ncat polinomul Tn (z) 21n Tn (z) are coeficientul lui z n egal
32 1. Aproximarea funct
iilor de o variabila

cu unitatea. Polinoamele cu un coeficient 1 al termenului de grad maxim se


numesc polinoame monice. Proprietatea esential
a a polinoamelor Ceb
asev ce le
face adecvate aproxim
arii mini-max este:

a. Dintre toate polinoamele monice de grad n fixat, Tn (z) are cea mai
Teorem
mica margine n valoare absolut
a pe intervalul [1, 1].

Demonstratie. Proced a m prin reducere la absurd. In acest scop s a observam




mai ntai ca functia Tn (z) = 21n |cos n| ia de n + 1 ori valorea maxim
a 21n
pe [1, 1], anume n punctele distincte zk0 = cos(k/n), k 0, n. S a consideram
apoi un alt polinom monic de acelasi grad pn (z), si s a presupunem prin absurd
ca acesta ar avea o margine superioar a mai mica n modul dect Tn (z) pe [1, 1],
adica

pn (z)| < sup Tn (z) = 21n .



sup | (1.75)
z[1,1] z[1,1]

In consecinta, chiar n punctele z 0


k

pn (zk0 )| < 21n .


| (1.76)

Considernd diferenta dn1 (z) a polinoamelor Tn (z) si pn (z), dn1 (z) Tn (z)
pn (z) vom obtine, evident, un polinom de gradul n 1. Din (1.76) rezult a

(1)k Tn (zk0 ) pn (zk0 ) = (1)k+n dn1 (zk ) > 0, k n, 0


 

adica dn1 (z) are n schimb ari de semn pe (1, 1), deci polinomul de gradul
n 1, dn1 (z), ar avea n r
ad
acini, ceea ce este absurd. Rezulta c
a presupunerea
(1.75) nu este adevarata, deci oricare ar fi polinomul monic pn (z) avem

pn (z)| 21n .
sup | 2 (1.77)
z[1,1]

In continuare se dau dou


a aplicatii 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 generala (1.73) vom lua functia aproximant
a un polinom de gradul
N 1

max |f (x) pN 1 (x)| = minim.


x[a,b]

Dorim sa determinam, dintre toate polinoamele de grad N 1, pe cel ce mini-


mizeaza abaterea maxim a fat
a de functia f (x). Polinomul obtinut va fi numit
polinom mini-max de grad N 1 al functiei f (x) pe intervalul [a, b]. Este conve-
nabil sa privim polinomul pN 1 ca 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 adecvata a nodurilor. Eroarea este n acest caz chiar restul interpol
arii
ce are forma (1.16)
N
Y
RN 1 (x) = (x xi ) f (N ) ()/N ! .
i=1

In general derivata f (N ) () nu este cunoscut


a, astfel nc
at se poate pune doar
problema minimizarii produsului. Acest este un polinom de gradul N . Utiliz and
schimbarea de variabila
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 obtine, considerand si (1.77)
 N Y 
N N N
Y ba ba
(x xi ) = (z zi ) 21N .


i=1
2
i=1
2
Rezulta ca optimul, corespunzand egalit atii, se realizeaz
a dac
a punctele zi sunt
r
ad
acinile polinomului Cebasev de gradul n. Vom aranja indicii astfel nc at
r
ad
acinile sa apara n ordine cresc
atoare
zN i+1 = cos[(2i 1)/2N ], i 1, N . (1.79)
In aceste conditii se obtine cea mai mic
a margine superioar a pentru restul
la interpolare

|RN 1 (x)| 212N (b a)N max f (N ) () /N ! .

[a,b]

Marginea depinde de marimea intervalului (a, b), de num arul de noduri N


si de derivata f (N ) . Rezultatul obtinut se poate enunta: dintre toate poli-
noamele de interpolare de grad N 1, cel ce minimizeaz a eroarea maxim a
max |f (x) pN 1 (x)| cu x [1, 1] este cel construit cu abscisele nodurilor
date de radacinile polinomului Ceb
asev de grad N .
Exemplu. Am v azut ca interpolarea functiei lui Runge f (x) = 1/(1 + x2 ) pe
[5, 5] cu o repartitie echidistanta 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 , cu zk
determinate de (1.79). Ca n exemplele precedente calitatea aproxim arii este apreciat
a
prin evaluarea erorii relative  = 500
P
i=1 |f (ui ) p N 1 (ui )| / |f (ui )| pe o diviziune mai
fin
a a intervalului [5, 5]. Variatia erorii  cu N este
N 5 10 15 20 25 30 35 40 45 50
lg  0.4 0.8 1.2 1.6 2.1 2.4 3.0 3.3 3.8 4.2
obervandu-se c a aproximarea converge. Observ am acum clar importanta alegerii no-
durilor pe care se bazeaz a o interpolare. Aproximarea prezent a este tot o interpolare,
bazata ns
a pe alte noduri dec at cele echidistante considerate anterior. Comportarea
aproxim a n fig. 1.13. Se observ
arii este redat a c
a, pentru N mic, apar oscilatii 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 variabila

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 functii


Vom considera acum o relaxare a criteriului (1.73) anume
max |f (x) pN (x)| e . (1.80)
x[a,b]

Criteriul (1.80) este mai larg decat cel anterior (1.73) deoarece nu mai impunem
determinarea polinomului aproximant pN (x) astfel nc at sa realizam un minim
al erorii, ci doar ca eroarea sa devina mai mic a decat un prag dat e. De data
aceasta gradul polinomului nu se mai consider a fixat, ci caut
am polinomul de
gradul cel mai mic ce satisface conditia (1.80). Asemenea probleme apar tipic n
situatii n care dorim o aproximare cat mai economic a n operatii aritmetice12 .
Vom lua [1, 1] pentru intervalul din (1.80) si vom presupune c a functia f (x)
are o dezvoltare n serie de puteri
M
X
f (x) = bk xk , (1.81)
k=0

unde eventual putem avea M . Puterile xk se pot exprima n functie de


polinoamele Cebasev (vezi tabel 1.2) astfel nc
at f se poate scrie
M
X
f (x) = ak Tk (x) . (1.82)
k=0

Am vazut ca polinoamele Ceb asev sunt mai eficiente n descrierea variatiilor


at monoamele xk . Este asadar de asteptat ca sirul
unei functii pe [1, 1] dec
12 Procedeul ce urmeaz
a mai este cunoscut sub denumirea de economizare de serii.
1.2. Aproximarea mini-max 35

{ak } de coeficienti sa scada mai repede n modul dec


at sirul {bk }. Dorim s
a
p
astram un numar de termeni cat mai mic posibil n dezvoltarea (1.82) pentru
a reduce numarul de operatii aritmetice. Ca atare, trunchiem dezvoltarea la
k = N , aproximarea fiind
N
X
pN (x) = ak Tk (x).
k=0

Deoarece |Tk (x)| 1, vom putea trunchia seria (1.82) la cel mai mic N pentru
care avem
M
X
|f (x) pN (x)| = |ak | < e .
k=N +1

Polinomul pN (x) obtinut poate fi diferit de polinomul mini-max de grad N


al functiei f (x) si este uzual denumit polinom aproape mini-max. Apare imediat
ntrebarea: de ce mai e nevoie de un procedeu diferit de cel din 1.2.2? De ce nu
construim direct polinomul mini-max de grad N ? Observati ns a c
a n procedeul
din 1.2.2 gradul polinomului se considera cunoscut. De asemenea, cu toate c a
se stie ca 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 sectiune, avem
certitudinea ndeplinirii unei conditii de eroare impusa.
Exemplu. Intr-un calculator de navigatie aerian a, este nevoie de un algoritm de
aproximare a functiei cos x. Abaterea maxim a admisa este e 105 pe intervalul
[/2, /2]. Calculatorul lucreaz a n timp real. Ca atare este esential ca algoritmul
s
a fie c
at mai economic posibil. Pentru a rezolva problema se trece la intervalul [1, 1],
cu schimbarea de variabila x = z/2. Functia cos(z/2) are dezvoltarea n serie
1 2 2
  1  4 4 1  2n 2n
cos z = 1 z + z + . . . + (1)n z + R2n+1 .
2 2! 2 4! 2 (2n)! 2
Restul dezvolt
arii poate fi marginit dup a cum urmeaz a

cos (2n+1)  2n

1  2n
|R2n+1 | = |z|2n+1 .
(2n + 1)! 2 (2n + 1)! 2
Restul devine mai mic decat eroarea impusa pentru n = 5. Deci suma Taylor
1
 2 1
 4 1  6 6 1  8 8 1  10 10
S10 (z) = 1 z2 + z4 z + z z
2! 2 4! 2 6! 2 8! 2 10! 2
realizeaz
a conditia de eroare impusa si avem M = 10 n (1.81). Inlocuim monoamele
k
z din S10 (z) prin expresiile lor n functie de polinoamele Ceb asev folosind relatiile
din tabelul 1.2. Se obtin urmatoarele valori ale coeficientilor ak din (1.82)
a0 a2 a4 a6 a8 a10
0.472 0.499 2.79 102 5.96 104 6.69 106 4.92 108

Coeficientii de indici impari sunt nuli. Avem |a8 | + |a10 | < e = 105 astfel nc
at putem
s
a trunchiem la N = 6 si obtinem aproximarea
p6 (x) = 0.999993 0.499912x2 + 0.0414876x4 1.27122 103 x6
36 1. Aproximarea funct
iilor de o variabila

Figura 1.14: Variatia erorii e(z) = cos z p6 (z).

ce realizeaz
a eroarea impus a dar cu 40% mai putine operatii aritmetice decat 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 ca, n acest caz, criteriul de aproximare l reprezint
a minimizarea
sumei (1.5)
N
X
S= [yk g(xk )]2 = minim, (1.83)
k=1

valorile (xk , yk ) fiind date. Este convenabil ca aproximanta g(x) s


a se pun
a sub
forma (1.6)
n
X
g(x) = aj gj (x) , (1.84)
j=1

gj (x) fiind functii cunoscute, liniar independente, iar aj , j = 1, 2, . . . , n parame-


tri nedeterminati. Ca si n 1.2, criteriul (1.83) pune o problem a de minimizare
a erorii. Vom vedea cum c ateva notiuni mai avansate, considerate n 1.4, ne
vor conduce la concluzia c a atat criteriul mini-max c at si cel al celor mai mici
patrate sunt doar formul ari diferite ale unui acelasi criteriu de aproximare op-
timala. Deocamdata vom considera ns a doar aspectele simple ale teoriei.
Aproximarea n sensul celor mai mici p atrate este utilizata mai ales n cazul
prelucrarii datelor experimentale. In acest caz, nu se recomand a folosirea inter-
polarii deoarece valorile masurate contin erori inerente, repartizate probabilistic
1.3. Aproximarea n sensul celor mai mici p
atrate 37

avand caracterul unor perturbatii care trebuie, dimpotriv a, eliminate13 . Este


deci evident ca numarul de parametri n trebuie s a fie mai mic dec at numarul
de noduri N, n < N .
Criteriul (1.83), ca si 1.73, minimizeaz a o eroare. In acest caz ns
a eroarea
este scrisa ca o suma de patrate. Consecinta esential a a acestei alegeri este
c
a S(a1 , . . . , an ) este derivabila, fapt ce poate fi exploatat pentru a determina
coeficientii ai . Pentru ca S(a1 , . . . , an ) s
a aibe un extrem trebuie ca derivatele
partiale n raport cu ai sa se anuleze

S/ai = 0, i 1, n. (1.85)

Observati introducerea unui indice i diferit de cel de nsumare j din (1.84).


Relatiile (1.85) reprezinta un sistem de n ecuatii cu n necunoscute. Deoarece
S este o suma de patrate extremul dat de conditiile (1.86) exist a si reprezint
a
chiar un minim. Folosind expresiile (1.83) si aranj and termenii se obtine
n N
! N
X X X
aj gi (xk )gj (xk ) = yk gi (xk ), i 1, n , (1.86)
j=1 k=1 k=1

adica un sistem de n ecuatii pentru cei n parametrii aj , j 1, n.


Forma sumei S se poate generaliza ntruc atva introduc and o functie pondere
w(x), pozitiva, continua, cu valori n intervalul [0, 1], care s
a ia n considerare
unele distinctii privind importanta valorilor luate n noduri. Se va scrie atunci
N
X
S= w(xk )[yk g(xk )]2 = minim, (1.87)
k=1

iar sistemul (1.86) se va nlocui cu


n N
! N
X X X
aj w(xk )gi (xk )gj (xk ) = yk w(xk )gi (xk ), i 1, n . (1.88)
j=1 k=1 k=1

Sistemele (1.86) sau (1.88) se pot rezolva prin metodele din capitolul 5, de
rezolvare a sistemelor de ecuatii liniare. O observatie important a este legata de
faptul ca aceste sisteme pot ridica probleme legate de introducerea unor erori
mari n calculul numeric, mai ales c and diviziunile sunt egale14 . Functiile gj (x)
se pot alege din baza canonica

gj (x) = xj1 , j 1, n , (1.89)

sau baze formate din diverse polinoame ortogonale pe multimea discret a de


puncte xk , k 1, N (vezi 1.4.2). Alegerea de polinoame ortogonale are avantajul
considerabil al reducerii erorilor ce pot apare la rezolvarea sistemelor (1.86) sau
13 Un exemplu ar fi eliminarea zgomotului de fond de la aparatura radio.
14
In limbajul din capitolul 5, matricea sistemului (1.86) sau (1.88) este rau conditionat
a,
iar rezolvarea cere tehnici speciale cum ar fi descompunerea n valori singulare.
38 1. Aproximarea funct
iilor de o variabila

Figura 1.15: Abaterile geometrice e (n microni) nregistrate la prelucrarea mecanica


a 1000 de piese.

(1.88). Deseori, din informatii suplimentare, cunoastem forma cea mai adecvat a
a functiilor gj (x). Un exemplu este prezentat la sf arsitul sectiunii. Folosirea
unei combinatii liniare (1.84) pentru functia aproximant a g(x) este convenabil a
deoarece conduce la un sistem liniar de ecuatii pentru coeficientii ai . Se pot
adopta nsa si alte forme, cu complicatia posibilei aparitii a unui sistem neliniar
de ecuatii, mult mai dificil de rezolvat. Incheiem cu observatia c a nu s-a precizat
nca ce grad al polinomului ar conduce la cea mai mic a eroare, adic a la cea mai
mica valoare a lui S n (1.83). Un criteriu util pentru alegerea gradului este
minimizarea expresiei
= S/(N n)
U (1.90)

prin varierea lui n.


Exemplul 1. In cadrul unei operatii 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 crestere 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 e functie de num arul de piese
prelucrate p este

e = ap + b

iar coeficientii a, b rezult


a din rezolvarea sistemului
P  P  P 
N 2 N N
p k a + p k b = ek p k
Pk=1  k=1
Pk=1 
N N

k=1 pk a + N b = ek
k=1

Se obtine a = 1.11 102 /pies a si b = 4.78 ceea ce indic a o crestere cu 1 a


abaterii la fiecare 100 de piese prelucrate, crestere datorat a probabil uzurii utilajului.
De asemenea din faptul c a reglajul initial a fost efectuat astfel nc
at s
a se produc
ao
abatere negativ a de circa 5 se poate deduce c a aparitia uzurii era prevazut
a.
1.3. Aproximarea n sensul celor mai mici p
atrate 39

Exemplul 2. O serie de m asuratori chimice au furnizat ratele de reactie din tabelul


de mai jos. Din teoria reactiilor chimice se cunoaste dependenta ratei de reactie de
temperatura

k = cT exp(K/RT ) .

Se cere estimarea parametrilor c, , K pe baza m


asur
atorilor efectuate. Constanta
gazelor R =8314 J/mol/K este cunoscut a.

T k T k T k
K mol/cm3 K mol/cm3 K mol/cm3
2000 8.4765e12 2600 5.0189e12 3200 3.3146e12
2100 7.6895e12 2700 4.6544e12 3300 3.1169e12
2200 7.0071e12 2800 4.3282e12 3400 2.9364e12
2300 6.4118e12 2900 4.0351e12 3500 2.7711e12
2400 5.8892e12 3000 3.7708e12 3600 2.6194e12
2500 5.4280e12 3100 3.5317e12 3700 2.4799e12

Rezolvare. Dependenta k(c, , K) este neliniar


a. Putem ns
a logaritma relatia de
mai sus

ln k = ln c + ln T K/RT

si reobtinem o dependent
a liniar
a de parametrii c, , K. Se construieste suma
N
X
S= (ln c + ln Tj K/RTj ln kj )2 .
j=1

Conditiile de extrem S/(ln c) = 0, S/ = 0, S/K = 0 conduc la sistemul


P  P  P 
N N N
N ln c + ln Tj 1/T j K/R = ln k j
j=1 j=1
P j=1

P   P  
N PN 2 N N
ln Tj ln c + ln Tj ln Tj /Tj K/R = ln k j ln T j
 j=1   j=1  j=1  Pj=1 
PN 1/Tj ln c + PN ln Tj /Tj PN 1/Tj2 K/R N

= ln kj /Tj

j=1 j=1 j=1 j=1

arui solutie este ln c = 44.97, c = 3.39 1019 mol/K2 /cm3 /s, = 2, K = 46000
a c
J/mol.
Exemplul 3. S a presupunem date m asur
atori fizice ale energiei de vibratie ale
unei molecule de O2 . Se cunoaste dependenta energiei de temperatur a
hv/kT
e= RT
exp(hv/kT ) 1
Se cere , frecventa fotonilor emisi 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
N  2
X x/Tj
S= RTj ej ,
j=1
exp(x/Tj ) 1
40 1. Aproximarea funct
iilor de o variabila

Tabelul 1.3: Coeficientii polinomului aproximant din exemplul 4.


a1 a2 a3 a4 a5 a6 a7
Simpla -526.0 4769 4059 1242 -1683 11.79 0.7434
Dubla 40.00 10.00 5.000 3.000 2.000 1.000 1.000

iar din S/v = 0 se obtine o ecuatie neliniar


a de forma f (x) = 0, sau explicit
N   
X x/Tj [exp(x/Tj ) 1] x/Tj exp(x/Tj )
RTj ej =0
j=1
exp(x/Tj ) 1 [exp(x/Tj ) 1]2

Determinarea solutiei 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 functii ortogonale. Gener am un set de noduri {xk , yk , k 1, 15} unde
am xk = k 1, yk = f (xk ) cu f (x) = 40 + 10x + 5x2 + 3x3 + 2x4 + x5 + x6 . Vom
lu
ncerca reobtinerea coeficientilor polinomului f prin metoda celor mai mici p atrate
folosind alegerea (1.89), gj = xj1 , j 1, 7. Coeficientii obtinuti n urma rezolv arii
sistemului liniar15 n simpla (32 biti) si dubl
a precizie (64 biti) sunt prezentati n tabel
1.3. Acumularea rezultatelor partiale s-a f acut n precizie extins a (80 biti) n ambele
cazuri. Se poate observa c a obtinem abateri mari de la valorile exacte ale coeficientilor
n simpl a precizie. M arirea preciziei furnizeaz a rezultatul exact, astfel nc at suntem
asigurati ca modul de calcul este corect si abaterile din calculul n simpla precizie tin
de ns
asi natura problemei. Exemplul este reluat la sf arsitul sectiunii 1.4 cu folosirea
unor functii ortogonale pentru gj pentru a vedea efectul benefic al acestora.
S
a presupunem acum c a nu am cunoaste gradul polinomului ce ar conduce la o
cea mai mic a eroare. Rezolv and problema pentru diverse valori ale lui n se obtin
urm atoarele valori pentru S/(N n)

n1 2 3 4 5 6 7 8 9
S/(N n) 5.3E11 5.1E10 1.8E09 1.3E07 9.4E05 3.3E05 3.2E04 5.2E04

Se observa c
a cea mai mic
a valoare a sumei se obtine aproape de gradul polinomului
f , n = 8.

1.4 Elemente de teoria aproxim


arii
Din cele prezentate p ana acum, s-ar p area c
a problemele de aproximare pre-
zinta multe aspecte ad hoc, lasate la alegerea celui care abordeaz a o problem a
concreta 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
atii
problemelor de aproximare deja parcurse. In plus, deoarece aproximarea st a la
baza multor altor algoritmi, cadrul teoretic va avea aplicatii directe si n alte
15 Prin 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 intuitiva dec


at rigu-
roas
a a notiunilor de analiza functional
a utile teoriei aproximarii. De asemenea,
vom ncerca formularea unei analogii geometrice utile asimil arii acestor notiuni.

1.4.1 Spatii vectoriale


Astfel, forma (1.6) a functiei de aproximare g(x) a fost aleas a astfel nc
at de-
terminarea coeficientilor ak , k 1, N s a conduca la sisteme de ecuatii liniare.
S-a remarcat apoi ca nici setul de functii gk (x) nu poate fi complet arbitrar,
ajungandu-se la sugerarea propriet atii de independent a liniar a. De fapt, am
ales elemente dintr-o structura bine cunoscut a din algebr a, aceea de spatiu vec-
torial sau spatiu liniar. Notam un spatiu vectorial oarecare prin V. Elemen-
tele spatiului se numesc vectori. Denumirea sugereaz a originea geometric a a
notiunilor, nsa vom putea interpreta ca vectori si functiile gk (x) sau functia
g(x). In definitia acestei structuri algebrice intr a operatii de adunare ntre vec-
tori si de nmultire a vectorilor cu numere reale sau complexe, denumite scalari,
cum ar fi parametrii ak . Multimea din care se iau scalarii o not am cu S. De
regula avem scalari din multimea numerelor reale, S = R, sau din multimea
numerelor complexe, S = C. Far a a repeta toate propriet atile din definitia
unui spatiu vectorial, vom retine c a prin nmultirea unui scalar cu un vector,
rezultatul este un vector, iar la adunarea vectorilor se obtin tot vectori.
Vectorii nenuli uk , k = 1, N se numesc liniar dependenti dac a unul dintre ei
se poate exprima ca o combinatie liniar a a celorlalti, adic
a s
a existe scalarii ak ,
nu toti nuli, astfel ncat sa aibe loc egalitatea
N
X
ak u k = 0 . (1.91)
k=1

Daca aM este unul din coeficientii nenuli, vectorul uM se poate exprima ca o


combinatie liniara a celorlalti
1
M N
!
1 X X
uM = ak u k + ak u k . (1.92)
aM
k=1 k=M +1

In egalitatea (1.91), 0 din membrul drept este vectorul nul al spatiului, diferit de
scalarul zero. Din context se poate ntelege ntotdeauna semnificatia lui 0. Daca
vectorii uk nu pot fi pusi n relatii de forma (1.91) dec at atunci c
and scalarii
ak sunt toti nuli, vectorii se vor numi liniar independenti. Num arul maxim
de vectori liniar independenti dintr-un spatiu vectorial se numeste dimensiunea
spatiului. Aceasta dimensiune poate fi finit a sau infinit
a.
O data stabilit cat de mare este un spatiu vectorial V, ne punem problema
cum putem sa descriem eficient un element oarecare u V. Instrumentul adec-
vat este notiunea de baza a unui spatiu vectorial ce este orice multime de vectori
liniar independenti n numar egal cu dimensiunea spatiului V. Orice alt element
al spatiului poate fi exprimat ca o combinatie liniar a a elementelor din baz a.
42 1. Aproximarea funct
iilor de o variabila

Intr-adevar, daca {uk , k 1, N } este o baz a a unui spatiu vectorial de di-


mensiune N , orice alt vector uN +1 formeaz a cu {uk } un set de vectori liniari
dependenti altfel am avea N + 1 vectori liniari independenti si dimensiunea
spatiului ar fi N + 1 n loc de N . Vectorul uN +1 se poate exprima sub forma
(1.92), ca o combinatie liniar a16 . Imediat ce baza este
a de vectorii din baz
stabilita un element oarecare din V poate fi descris doar prin cei N scalari
(a1 , a2 , . . . , aN ).
Dam cateva exemple utile de spatii vectoriale.
1. Spatiul euclidian de dimensiune 3. Avem 3 vectori {~i, ~j, ~k} ce sunt liniar
independenti iar orice alt vector se poate exprima ca o combinatie liniar a
a acestora, de exemplu V ~ = ~i + ~j + ~k/2, sau pe scurt V
~ (1, 1, 1/2).

2. Polinoamele pN 1 (x) de grad cel mult egal cu N 1 formeaz a un spatiu


vectorial de dimensiune N , pe care-l vom nota N 1 . Intr-adev ar mo-
noamele xk1 , k 1, N sunt liniar independente. Un alt element al
spatiului vectorial, de exemplu p2 (x) = 1 + x + x2 /2, se poate exprima
ca o combinatie liniara de monoame. Notatia prin coeficientii scalari este
p2 (1, 1, 1/2).
3. Multimea C () (, ) a functiilor infinit derivabile pe axa real a for-
meaza un spatiu de dimensiune infinita. Intr-adev
ar monoamele xk , k N
sunt liniar independente, iar k poate lua valori oric at de mari. Orice
functie infinit derivabil
a se poate scrie ca o combinatie liniar a de mo-
noame conform teoremei de dezvoltare n serie Taylor. De exemplu ex =
1 + x + x2 /2 + x3 /6 + . . . a c arei notatie prin coeficienti este ex
(1, 1, 1/2, 1/6, . . . ).
4. Multimea C (0) [0, 1] a functiilor continue pe intervalul [0, 1]. Sunt liniar
independente functiile sin 2kx, cos 2kx, k Z. Conform teoremei de
dezvoltare n serie Fourier, orice functie continu a se poate scrie ca o
combinatie liniar
a de sin si cos, n particular f (x) = (2 cos x+sin x) cos x =
1 + cos 2x + 12 sin 2x, sau not and doar coeficientii f (1, 1, 1/2).
Observati cum n toate exemplele de mai sus a ap arut aceeasi notatie prin
coeficienti (1, 1, 1/2) pentru elemente foarte diferite ntre ele. Notatia ne permite
stabilirea unor analogii ntre spatiile mai abstracte de functii si cel geometric
familiar. Analogiile nu sunt demonstratii matematice, dar vom prefera s a fim
onesti asupra modului n care se ajunge la o demonstratie calea se bazeaz a de
cele mai multe ori pe o intuitie ce este doar apoi verificat a riguros.

1.4.2 Produsul scalar si ortogonalitate


Sa folosim analogia pentru a introduce o clasificare a bazelor. Incepem cu
considerarea spatiului vectorial plan familiar. In fig. 1.16 sunt prezentate dou
a
16 Mai trebuie demonstrat c a avem aN +1 6= 0 astfel nc at s a putem scrie uN +1 =
a1
PN PN
N +1 k=1 ak uk . Dac a prin absurd aN +1 = 0, am avea k=1 ak uk = 0 cu unul din-
tre coeficientii ak , k 1, N nenul astfel nc
at {uk } nu ar fi o baz
a n contradictie cu ipoteza.
1.4. Elemente de teoria aproxim
arii 43

Figura 1.16: O baza neortogonala si una ortonormata.

baze. Ne punem problema descrierii schimb arii pozitiei unui element din A n
B, traiectoria fiind paralela cu primul vector din baz a. In baza (a) descrierea
este complicata: se modifica ambele coordonate si n plus unit atile de m
asur
a
sunt diferite pe cele doua directii. In baza (b) deplasarea se descrie simplu. Din
geometrie, stim ca simplitatea provine din faptul c a baza (b) este ortonormat a.
Am dori ca si n cazul spatiilor vectoriale abstracte sa avem posibilitatea folosirii
unor baze n care deplasarile sa poat a fi descrise simplu. Pentru aceasta trebuie
s
a generalizam notiunea geometric a de ortogonalitate prin introducerea unei
functii care sa ne arate cat de aproape de a fi ortogonali se afl a doi vectori.
Functia cautata este denumita produs scalar. Vom nota produsul scalar a doi
vectori u, v prin (u, v). Definitia formal a a produsului scalar este precizat a de
proprietatile urmatoare, 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 6= 0 sunt


ortogonali daca (u, v) = 0. O baz a de vectori {uk , k 1, N } este ortogonal a
dac a j 6= k, j, k 1, N (uj , uk ) = 0 si ortonormat a dac a este ortogonala
si n plus k, k 1, N (uk , uk ) = 1. Ortogonalitatea unor vectori implic a
si independenta liniara. Prin reducere la absurd, dac a vectorii nenuli {uk , k
PN
1, N } ar fi ortogonali doi cate doi, dar liniar dependenti atunci n k=1 ak uk = 0
am avea un coeficient nenul, fie aM acesta. Efectu and produsul scalar al sumei
cu uM rezulta aM (uM , uM ) = 0 datorit atii. Dar uM 6= 0 si deci
a ortogonalit
(uM , uM ) > 0 si rezulta contradictia aM = 0.
Avem acum definita general notiunea de ortogonalitate. Am v azut c
a bazele
ortonormate permit descrieri mai simple ale elementelor unui spatiu vectorial.
Ne punem ntrebarea: putem dintr-o baz a oarecare {uk , k 1, N } s
a obtinem
44 1. Aproximarea funct
iilor de o variabila

una ortonormata {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
 Pk1
vk = uk j=1 (uk , gj )gj
gk = vk /(vk , vk ) .
Geometric, n etapa k, se scad din vectorul uk componentele sale n directiile
g1 , g2 , . . . , gk1 ce sunt deja ortogonale. Vectorul vk ce r
amane din diferent
a
este sigur ortogonal pe g1 , g2 , . . . , gk1 . Mai r
am
ane doar de adus la lungime
unitara prin mpartirea gk = vk /(vk , vk ). S
a consider
am acum cateva exemple
de produse scalare si baze ortonormate utile n aplicatii.

Polinoame ortogonale.
Ortonormarea monoamelor {1, x, x2 , . . . } produce o baza {p0 (x), p1 (x), p2 (x), . . . }
ale carei elemente sunt evident polinoame. Aceste polinoame ortogonale au
multe aplicatii iar expresiile lor rezult
a din procedeul Gram-Schmidt ca fiind
p0 (x) = 1, p1 (x) = x 1 , (1.93)
pentru primele doua elemente, celelalte elemente ale bazei fiind definite de relatia
recursiva
pn (x) = (x n )pn1 (x) n pn2 (x) , n 2 . (1.94)
Coeficientii n , n sunt dependenti de produsul scalar ales fiind precizati de
relatiile
n = (xpn1 , pn1 )/(pn1 , pn1 ), n = (xpn1 , pn2 )/(pn2 , pn2 ) . (1.95)
Relatiile (1.93)-(1.95) se pot verifica usor prin inductie. Urm
arind relatiile de
mai sus se poate observa c a vom avea totdeauna un coeficient unitar al terme-
nului de grad maxim, adic a polinoamele obtinute vor fi sub forma lor monic a
(vezi 1.2.1). De regul a asupra formei monice se impune o conditie de standar-
dizare ce revine la nmultirea cu o constant a. Sa consider
am cazurile cele mai
des ntalnite.
a V = C (0) [1, 1] si se adopt
1. Polinoamele Legendre Pn (x). Se consider a
produsul scalar
Z 1
(u, v) = u(x)v(x)dx . (1.96)
1

Conditia 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 deci P 2 (x) = x2 1/3. Impunerea conditiei de standardizare con-
duce la P2 (x) = 3x2 /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 asev Tn (x). Se considera tot V = C (0) [1, 1] dar se


adopta produsul scalar
Z 1
(u, v) = u(x)v(x)(1 x2 )1/2 dx . (1.97)
1

Observati ca diferenta fata de produsul scalar anterior (1.96) este aparitia


unei functii de pondere w(x) = (1 x2 )1/2 . Intuitiv, ponderea adoptat a
acorda o mai mare important a punctelor de la capetele de interval 1.
Conditia de standardizare este Tn (1) = 1. Expresiile lor au fost deja
prezentate n tabelul 1.2. Sa aplic am nsa (1.93)-(1.95) pentru a vedea c a
ntr-adevar reobtinem acele expresii. Avem T0 (x) = 1, 1 = (x, 1)/(1, 1).
Apar integrale ce se calculeaz a prin substitutia trigonometrica x = cos
Z 1 Z
(x, 1) = x(1 x2 )1/2 dx = cos d = 0
1 0

si deci T1 (x) = x. Apoi 2 = (x2 , x)/(x, x) = 0, 2 = (x2 , 1)/(1, 1) =


1/2 deci T 2 (x) = x2 1/2. Am reobtinut forma monic a a polinomului
Cebasev pentru n = 2. Aplicarea conditiei de standardizare conduce la
T2 (x) = 2x2 1, adica exact forma din tabelul 1.2.

a V = C (0) [0, ) si se adopt


3. Polinoamele Laguerre Ln (x). Se consider a
produsul scalar
Z
(u, v) = u(x)v(x) exp(x) dx . (1.98)
0

Domeniul de definitie al elementelor din acest spatiu vectorial este acum


infinit la dreapta. Observati c a un astfel de spatiu permite tratarea pro-
blemelor de aproximare a unor functii definite pe toat a semiaxa real a
pozitiva. Ponderea w(x) = exp(x) atenueaz a comportarea la infinit
at integrala (1.98) s
a functiilor u(x), v(x) astfel nc a convearg a pentru
u(x), v(x) ce nu cresc mai repede dec at un polinom. Conditia de standar-
dizare este: coeficientul termenului de grad maxim s a fie 2n . Expresiile
primelor cateva polinoame sunt date n tabelul 1.4.
a V = C (0) (, ) si se adopt
4. Polinoamele Hermite Hn (x). Se consider a
produsul scalar
Z
(u, v) = u(x)v(x) exp(x2 ) dx . (1.99)

Evident acest spatiu vectorial reprezint


a extinderea celui anterior la toat
a
axa reala. Conditia de standardizare este: coeficientul termenului de grad
maxim sa fie (1)n /n!.
46 1. Aproximarea funct
iilor de o variabila

Tabelul 1.4: Primele cateva polinoame ortogonale

n Pn Hn Ln
0 1 1 1
1 x 2x x
2 (1 + 3x2 )/2 2 + 4x2 (2 4x + x2 )/2
3 (3x + 5x3 )/2 12x + 8x3 (6 18x + 9x2 x3 )/6
4 (3 30x2 + 35x4 )/8 12 48x2 + 16x4 (24 96x + 72x2 16x3 + x4 )/24

Ortogonalitate pe multimi discrete.


In paragraful anterior s-au introdus produse scalare definite prin integrale, adec-
vate situatiilor n care c
autam aproxim ari pe intervale continue. Dac a ns
a ne
intereseaza o aproximare punctual a, n nodurile {xk , k 1, N }, atunci este
mai util sa 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
prima rasplata a abordarii abstracte a notiunii de ortogonalitate este c
a relatiile
(1.93)-(1.95) raman valabile deoarece ele nu fac referire la forma particular aa
produsului scalar. Polinoamele ortogonale obtinute de data aceasta vor fi de-
pendente de nodurile alese {xk , k 1, N } si vom include multimea nodurilor ca
un argument pentru a sublinia acest fapt.

1. Polinoamele Legendre discrete Pn (x; {xk }). Se consider a V = C (0) [1, 1],
a n acest interval 1 xk 1 si se adopt
nodurile se consider a produsul
scalar
N
X
(u, v) = u(xk )v(xk ) . (1.100)
k=1

2. Polinoamele Ceb a V = C (0) (1, 1),


asev discrete Tn (x; {xk }). Se consider
nodurile se iau 1 < xk < 1 si se adopt a produsul scalar
N
X
(u, v) = u(xk )v(xk )(1 x2k )1/2 . (1.101)
k=1

a V = C (0) [0, )
3. Polinoamele Hermite discrete Hn (x; {xk }). Se consider
si se adopta produsul scalar
N
X
(u, v) = u(xk )v(xk ) exp(xk ) . (1.102)
k=1
1.4. Elemente de teoria aproxim
arii 47

a tot V = C (0) (, )
4. Polinoamele Laguerre discrete Ln (x; {xk }). Se consider
si se adopta produsul scalar
N
X
(u, v) = u(xk )v(xk ) exp(x2k ) . (1.103)
k=1

1.4.3 Norme, operatori si functionale


Notiunea de ortogonalitate din sectiunea anterioar a ne-a permis s
a descriem
orientarea relativa a doi vectori. Mai avem nevoie de un instrument ce sa poata
masura marimea unui vector, instrument furnizat de notiunea matematic a de
norm a. Norma unui vector u V se noteaz a kuk si este un num
ar real pozitiv.
Cu a S, u, v V, definitia formal
a este precizat
a de

1. kk : V R+ ;

2. kuk = 0 u = 0;

3. ku + vk kuk + kvk; (inegalitatea triunghiului)

4. kauk = |a| kuk .

O clasa importanta de norme este definit


a prin
!1/p
Z b
p
kukp = |u(x)| dx (1.104)
a

pe cazul continuu, cu analogul discret pe multimea de noduri {xk , k 1, N }

N
!1/p
X p
kukp = |u(xk )| . (1.105)
k=1

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
N
vector obis
PN nuit u R corespunde definit
iei clasice a modulului unui vector
kuk2 = ( k=1 u2k )1/2 , astfel ncat ne putem nt ari intuitia perceperii normei
ca marime a unui element dintr-un spatiu vectorial. Se poate demonstra c a
atunci cand p avem

kuk = sup |u(x)| (1.106)


x[a,b]

n cazul continuu si

kuk = max |u(xk )| (1.107)


k1,N
48 1. Aproximarea funct
iilor de o variabila

Figura 1.17: Discurile kxkp 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
kuk = (u, u)1/2 . (1.108)

atilor unei norme. In particular inegalita-


Se poate verifica satisfacerea propriet
tea triunghiului rezulta din forma general a a inegalit
atii Cauchy-Buniacovski
|(u, v)| kuk kvk . (1.109)
Este important sa se formeze o intuitie a semnificatiei adopt
arii unei norme
sau alta. Apelam la spatiul vectorial cel mai familiar, al vectorilor din planul
R2 si desenam n fig. 1.17 discurile ce satisfac kxkp 1, pentru p = 1, 2, 3 si
p = .
Distanta dintre doi vectori se poate acum introduce imediat ca fiind o functie
d : V V R+ definit a prin
d(u, v) = ku vk .
Altfel spus distanta dintre doi vectori este m arimea vectorului diferent a. Defi-
nirea unei distante permite introducerea vecin at
atilor si a notiunilor conexe, n
particular continuitatea.
Norma si produsul scalar sunt exemple de aplicatii sau functii prin care unor
elemente ale unui spatiu vectorial li se face s a corespund a un num ar. Se pot
defini si alte functii ale c
aror valori pot fi scalari sau chiar vectori. O aplicatie
definita pe un spatiu vectorial care ia valori scalare se numeste functional a. Spre
Rb
exemplu, pe spatiul vectorial al functiilor continue C (0) [a, b], a u(x)dx este o
functionala deoarece integrarea face s a corespund a un num ar fiec
arei functii u
. O functie definita pe un spatiu vectorial, cu valori n alt spatiu vectorial
(eventual acelasi) e denumit a operator. Spre exemplu, dac a Rn este spatiul vec-
T
torilor coloana cu n componente (x1 , x2 , ..., xn ) , atunci nmultirea vectorului
cu o matrice patrata cu n n elemente poate fi considerat a un operator.
Cu ajutorul normelor, putem compara si aplicatiile definite pe spatii vec-
toriale. Sa consideram c a aplicatia f : V1 V2 este liniar a, adica a, b S,
u, v V1 avem
f (au + bv) = af (u) + bf (v) .
1.4. Elemente de teoria aproxim
arii 49

O aplicatie liniara f este m


arginit
a dac
a exist
a un numar real pozitiv M astfel
at kf (u)k M kuk. Cu alte cuvinte, norma valorilor aplicatiei liniare este
nc
raportata la norma vectorului. Cel mai mic num ar M pentru care are loc
inegalitatea se numeste norma aplicatiei f si se noteaz a kf k. Prin urmare,
putem scrie

kf (u)k kf k kuk (1.110)

pentru orice aplicatie liniara marginit


a. Mai mult, o aplicatie liniar
a m
arginit
a
este si continua, 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 notiunile introduse permit o abordare general aa
problemei de aproximare. Reamintin problema de aproximare: avem o functie
f complicata sau incomplet cunoscut a si dorim g
asirea unei aproximante g. Am
dori ca diferenta dintre f si g sa fie c
at mai mic a posibil
a, adic
a s
a minimiz
am
distanta

d(f, g) = kf gk . (1.111)

Din aceasta formulare generala, putem reobtine criteriile de aproximare mentio-


nate la nceputul capitolului. Daca adopt
am oricare dintre normele discrete si
impunem realizarea unei erori nule, d(f, g) = 0, obtinem

N
!1/p
X p
kf gkp = |f (xk ) g(xk )| = 0,
k=1

ceea ce nu se poate realiza decat dac


a

g(xk ) = yk , k 1, N ,

cu yk = f (xk ) sau exact conditia de interpolare (1.1). Dac am norma


a adopt
pe cazul continuu, problema revine la a minimiza

max |f (x) g(x)| ,


x[a,b]

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
N
X
S= [yk g(xk )]2 ,
k=1

adic
a criteriul celor mai mici patrate (1.5).
Teoria generala ne furnizeaza cadrul de a pune anumite ntrebari peste care
am sarit n prezentarea elementar a anterioar
a. Exista o cea mai buna aproxi-
mare? Daca exista, carui spatiu vectorial apartine? Putem construi un sir de
50 1. Aproximarea funct
iilor de o variabila

Figura 1.18: Cea mai buna aproximare este ortogonala pe subspatiul aproximantei.

aproximatii care sa convearga la cea mai bun a aproximare? Nu vom parcurge


aici n detaliu aceste chestiuni. Vom face mai degrab a o discutie calitativ
a,
apeland la intuitia geometric
a din spatiul vectorial euclidian.
Incepem printr-un exemplu simplu din geometria plan a. S
a presupunem c a
dorim s a aproximam c at mai bine punctul X(a, b) din plan folosind elemente
doar de pe axa x1 , adica de forma (x1 , 0) (fig. 1.18). Scriem
d(X, P ) = kX P k = minim,
 1/2
ceea ce conduce la d(X, P ) = (a )2 + b2 =minim, pentru norma 2 dis-
creta. Este clar ca cea mai mic a abatere dintre toate punctele pe axa x1 se
obtine pentru punctul P ce are proprietatea c a XP este ortogonal pe axa x1 .
Axa x1 este un subspatiu al planului, iar P parcurge doar acest subspatiu. Cea
mai buna aproximare a lui X de c atre P se obtine atunci cand diferenta X P
este ortogonal a pe subspatiul parcurs de P .
Concluzia de mai este general valabil a ntr-un spatiu n care avem definit
un produs scalar, iar norma rezult a din acest produs scalar conform (1.108).
De exemplu, sa adoptam spatiul C () (, ) ce are baza {1, x, x2 , . . . }. Pro-
blema analoaga celei anterioare este s a se aproximeze functia X = a+bx c at mai
bine cu o constanta P = . Reprezentarea prin coordonate X (a, b, 0, . . . ),
P (, 0, 0, . . . ) ne convinge imediat c a avem aceeasi problem a ca n cazul an-
terior, iar solutia este dat a si n acest caz de conditia de ortogonalitate. Este
educativa demonstratia general a a acestui rezultat.

Teorema. Fie V un spatiu vectorial n care avem definit un produs scalar, si S


un subspatiu al lui V. Daca v u este ortogonal pe orice w din S atunci
u este cea mai bun a aproximare a lui v prin elemente din S, anume u
realizeaza minimul distantei d(u, v).
a vreun alt w S realizeaz
Demonstratie. Sa vedem dac a o distant
a mai
mica:
d2 (v, w) = (v w, v w) = (v u + u w, v u + u w) = (v u, v u)+
2 2
2(u w, v u) + (u w, u w) = kv uk + ku wk + 2(u w, v u).
1.4. Elemente de teoria aproxim
arii 51

Dar v u este ortogonal pe orice element din S, n particular pe u w deci


2 2 2
(u w, v u) = 0 si avem d2 (v, w) = kv uk + ku wk kv uk , adic a
distanta de la orice alt element w la v este mai mare dec at cea de la u la v. 2
Ortogonalitatea pe un subspatiu de dimensiune n se verific a prin ortogona-
litatea pe elementele unei baze a acelui subspatiu, cel mai eficient chiar pe una
ortonormata {g1 , g2 , . . . , gn }. Conditia de cea mai bun
a aproximant a g a unei
functii f dintr-un spatiu V cu produs scalar se scrie asadar

(f g, gk ) = 0, k 1, n . (1.112)

Observati ca (1.86) sau (1.88) se pot obtine din conditia general


a (1.112) prin
Rn cu ponderea w. Scriind
alegerea produsului scalar obisnuit ntre vectori din P
n
aproximanta sub forma unei combinatii liniare g = j=1 aj gj sistemul (1.112)
se poate rezolva pentru coeficientii ak

ak = (f, gk )/(gk , gk ), k 1, n, (1.113)

ce sunt numiti coeficienti Fourier generalizati. De exemplu alegerea bazei tri-


gonometrice cos(2kx), k 0, N ; sin(2mx), m 1, N 1 definit a pe punctele
discrete {xj = j/2N, j 0, 2N 1} si a produsului scalar obisnuit permite
obtinerea relatiilor (1.58) folosind rezultatul general (1.113).
Rezultate ca cele de mai sus arat a utilitatea spatiilor vectoriale n care se in-
troduce un produs scalar si norma indus a prin relatia (1.108). Un astfel de spatiu
se numeste spatiu prehilbertian. Intr-un spatP iu prehilbertian putem obtine pen-
n
tru un n fixat coeficientii aproximantei g = j=1 aj gj prin relatiile (1.113). Pe
masura ce n creste, am dori ca g s a r
am ana n spatiul considerat. Acest dezide-
rat conduce natural la spatii Hilbert H, definite prin faptul c a limitele sirurilor
fundamentale apartin si ele lui H. Spatiile vectoriale din exemplele din 1.4.1
sunt spatii de acest tip, ele numindu-se complete. Aceste notiuni sunt deosebit
de importante pentru procedeele numerice si merit a sa z
abovim putin.
Daca revedeti exemplele prezentate p ana acum, veti observa c a deseori s-a
calculat o eroare fata de un rezultat exact cunoscut. In exemplificarea unui
procedeu numeric alegerea unei probleme la care cunoastem deja r aspunsul este
perfect acceptabila. Dar n aplicatiile reale nu cunoastem r aspunsul exact. Cum
putem, n asemenea conditii, sa ne d am seama de convergenta unui algoritm
numeric? Notiunile de mai sus furnizeaz a cadrul matematic n care putem da un
r
aspuns la aceasta ntrebare. Reamintim definitia convergentei unui sir c atre o
limita: a este limita a sirului {an } cu n N dac a > 0 exist a un N astfel ncat
|an a| < pentru n > N . Observati c a n aceast a definitie a convergentei
valoarea limitei se presupune cunoscut a. In afar a de aceast a definitie se mai
introduce n analiza notiunea de sir fundamental sau Cauchy {an } caracterizat
prin faptul ca sirul este convergent dac a > 0, p N exist a un N astfel nc at
|an+p an | < pentru n > N . Observati elementul esential al definitiei unui
sir fundamental: convergenta este definit a prin aproprierea termenilor succesivi.
Pentru verificarea convergentei nu este nevoie s a cunoastem limita sirului. In
52 1. Aproximarea funct
iilor de o variabila

aplicatii, aceasta este situatia uzual a. Putem obtine aproximatii succesive, dar
nu, de regula, si limita exact
a a sirului de aproximatii. Lucr and n spatii Hilbert
vom avea un bun indiciu al convergentei, atunci c and aproximatiile succesive
devin apropriate ntre ele.
Spatiile Hilbert au multe alte propriet atile utile aplicatiilor numerice. Dou a
exemple ar fi: (1) teorema de reprezentare Frechet-Riesz ce ne asigur a ca rezul-
tatul aplicarii unei functionale f (e.g. integrala definit a) asupra unui element
u H este el nsusi exprimabil ca un produs scalar f (u) = (u, vf ), unde vf este
un element al spatiului care depinde de f ; (2) teoreme generale asupra propri-
etatilor 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 multimea discret a {xk = k 1, k 1, N }, cu N = 15.
Functia aproximat a este polinomul f (x) = 40 + 10x + 5x2 + 3x3 + 2x4 + x5 + x6 . Cum
nu avem vreun motiv s a acord am vreunui nod o important a deosebit a lu
am ponderea
w = 1 si adoptam polinoamele Legendre discrete. Acestea sunt definite pe [1, 1] astfel
nc
at este nevoie sa introducem transformarea z = 2x/(N 1)1. Functia aproximant a
se scrie g(z) = n
P
j=0 aj Pj (z) cu n = 6. Conform relat iilor de recurent a (1.93)-(1.95)
primele 7 polinoame Legendre discrete sunt P0 (z) = 1, P1 (z) = z, P2 (z) = 21 8
+ z2,
P3 (z) = 245 z + z , P4 (z) = 12005 343 z + z , P5 (z) = 151263 z 441 z + z 5 ,
167 3 1296 331 2 4 44252 545 3
36000
P6 (z) = 1294139 + 2042
3773
z 2 115
77
z4 + z6.
Coeficientii ak rezult a imediat din (1.113)
"N # "N #
X X 2
aj = f (zk )Pj (zk ) / Pj (zk ) .
k=1 k=1

Efectu
and calculul n numere rationale a produselor scalare rezult
a coeficientii
75236936 1058398 18800 1868 269
a0 = 1764735
a1 = 84035
a2 = 2401
a3 = 441
a4 = 77
a5 = 1 a6 = 1

ce introdusi n combinatia liniara de mai sus dau exact functia f . Calculul n simpl
a
precizie furnizeaz a valorile coeficientilor aj

a0 = 42.633556 a1 = 12.594727 a2 = 7.8300747 a3 = 4.2358241


a4 = 3.4935030 a5 = 0.99998158 a6 = .99996691

cu o eroare relativa maxim a de = 3 105 fata de valorile exacte. Se observ a


c
a folosirea unei baze ortogonale a permis obtinerea unei erori mici lucr
and chiar n
simpla precizie.
53

Capitolul 2

Derivarea si integrarea
numeric
a

2.1 Derivarea numeric


a
Pentru derivarea numerica, punctul de plecare l constituie tot g asirea unei
functii aproximante. Ideea const a n aproximarea derivatei functiei date cu
derivata aproximantei. Cele mai uzuale formule de calcul se obtin plec and de la
aproximarea prin interpolare. Utiliz and aceeasi diviziune a intervalului pe care
se afla punctele n care se doreste calculul derivatei, xi , i = 1, 2, . . . , N , vom
scrie derivata sub forma
df dg dR
y0 = + , (2.1)
dx dx dx
unde g este aproximanta iar R restul (eroarea).
In formulele de aproximare numeric a a derivatei, se utilizeaz
a de regula va-
lorile functiei f n cateva din punctele xi . Fie h distanta tipica ntre aceste
abscise. Un aspect important al aproxim arii numerice este stabilirea ordinului
erorii. Eroarea se poate scrie sub forma
df dg dR
e= = = O(hk ) . (2.2)
dx dx dx
54 2. Derivarea si integrarea numerica

Simbolul O este folosit pentru a elimina constantele ce nmultesc expresia de


a hk . Ordinul erorii este exponentul k.
interes de sub paranteze, n cazul de fat
Se observa ca la micsorarea pasului h, eroarea e va sc adea mai repede cu c at
ordinul erorii k este mai mare. Spre exemplu, pentru k = 1 o njum at
atire a
pasului conduce tipic la o eroare de dou a ori mai mica, pe cand pentru k = 2
eroarea scade de patru ori.

2.1.1 Derivate folosind polinoame de interpolare


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

x = xi1 + h, [0, n], n 1, N 1 , (2.3)

g(x) = yi1 + yi1 + C2 2 yi1 + . . . + Cn n yi1 pn (x) (2.4)

R = Rn (x) = hn+1 Cn+1 f (n+1) () . (2.5)

Se observa ca exista doi parametri la dispozitie:

1. punctul xi1 fat


a de care calcul
am diferentele la dreapta;

2. gradul n al polinomului de interpolare.

Derivata (2.1) se scrie

df 1 df 1 dpn 1 dRn
y0 = = = + . (2.6)
dx h d h d h d
Prezenta pasului h la numitor n relatia (2.6) sugereaza tendinta cresterii 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, R0 = O(hn ), datorit a
mpartirii la h. De aceea, se iau o serie de precautiuni ca:

1. utilizarea unor polinoame de aproximare de grad nu prea mare (n < 7)


(pentru a preveni aparitia vreunei comport
ari prezise de teorema lui Faber,
vezi 1.1.1);
2. centrarea punctului n care se face calculul pe intervalul (xi1 , xi1 + nh);

3. calculul derivatei folosind polinoame de grade diferite dac a diferentele


sunt mari, se iau precautiuni suplimentare (micsorarea pasului, aproxima-
rea spline sau prin alte metode de aproximare, etc.).

Consideram acum c
ateva cazuri particulare utile.
2.1. Derivarea numeric
a 55

Cazul n = 1.
Din relatiile (2.4)-(2.6) se obtine

1 h d
y0 = yi1 + [( 1)f 00 ()] . (2.7)
h 2 d
Pentru valorile = 0 si = 1, ce corespund la capetele intervalului (xi1 , xi )
se obtine

0 yi yi1 h
yi1 = f 00 (), (2.8)
h 2

yi yi1 h
yi0 = + f 00 () . (2.9)
h 2
Aproximatia (2.8) utilizeaza punctul xi ce se afl a la dreapta punctului xi1
n care se evalueaza derivata si se numeste, uzual, formul
a la dreapta. Analog
(2.9) se numeste formul
a la st
anga. Ambele formule au o eroare de ordinul nt
ai.
Spunem pe scurt ca sunt formule de ordinul I.

Cazul n = 2.
In acest caz, din (2.4)-(2.6), se obtine

1 2 1 2 h2 d
y0 = yi1 + yi1 + [( 1)( 2)f 000 ()] . (2.10)
h 2h 6 d
Pentru = 1, din (2.10) rezulta

yi+1 yi1 h2
yi0 = f 000 () , (2.11)
2h 6
n timp ce, pentru = 0, se deduce

0 yi+1 + 4yi 3yi1 h2


yi1 = + f 000 () . (2.12)
2h 3
Comparand formulele (2.11) si (2.12), se observ a c
a, la acelasi grad al polinomu-
lui de interpolare, plasarea punctului de calcul spre centrul diviziunii conduce
la reducerea de doua ori a erorii. Mai important a este nsa comparatia cu cazul
anterior, n = 1. Se observa ca formulele (2.11), (2.12) sunt de ordinul doi fat a
de formulele (2.8), (2.9) care sunt de ordinul nt ai. C astigul de precizie este
obtinut cu pretul considerarii variatiei functiei peste un interval mai mare, 2h,
pentru n = 2, fata de h, pentru n = 1.
Cu ajutorul expresiei (2.10) se poate calcula si derivata de ordinul doi

2 yi1 h d2
y 00 = + [( 1)( 2)f 000 ()] . (2.13)
h2 6 d2
56 2. Derivarea si integrarea numerica

Pentru = 1, se obtine

2 yi1 h2 d h2 (4)
 
00 (4) yi+1 2yi + yi1
yi = f () = f () ,
h2 3 d =1 h2 12
(2.14)

eroarea fiind de ordinul doi. A doua egalitate (2.14) se obtine cu ajutorul unor
formule Taylor pentru yi1 , sau prin utilizarea unui polinom de gradul trei. Se
constata o precizie superioar
a, datorat a centr
arii punctului, fat
a de cazul = 0,
pentru care din (2.13) rezulta formula

2 yi1 2h2 d
 
00 000
yi1 = hf () + f (4) () (2.15)
h2 3 d =0

la care eroarea este de ordinul nt


ai.
Exemplu. (Efectul reprezent arii finite n numere masin
a a numerelor reale) Se
a derivatele y 0 , y 00 ale functiei y(x) = ex/2 n punctul xi = 2.5 folosind for-
calculeaz
mulele de mai sus. Valorile exacte sunt yi0 = 1.74517, yi00 = 0.87259. In formulele de
derivare apare pasul h. Valoarea acestuia este necunoscut a. Din definitia derivatei
y(x) y(x0 )
y 0 (x0 ) = lim (2.16)
xx0 x x0
ne-am putea astepta ca valorile cele mai exacte s a fie obtinute pentru h 0. Vom
considera valorile hk = 10k , k = 1, 16. Aproxim arile derivatelor pentru c ateva valori
ale lui h sunt prezentate n tabelul de mai jos. S-au considerat urm atoarele cazuri: (1)
= (yi yi1 )/h, (2) yi0
yi0 = (yi+1 yi )/h, (3) yi0 = (yi+1 yi1 )/2h, (4) yi00 = (yi+2
00
2yi+1 +yi )/h , (5) yi = (yi+1 2yi +yi1 )/h2 . S-a utilizat o precizie de lucru de 80 biti.
2

Se poate observa c a micsorarea pasului conduce initial la mbun at


atirea preciziei, dar,
dup a un anumit prag, apar abateri mari. Acestea sunt rezultatul pierderii num arului de
cifre semnificative din diferenta yi yi1 . De exemplu, dac a n calculator se memoreaz a
7 cifre zecimale, iar yi , yi1 au primele 6 cifre zecimale identice, diferenta are o singur a
cifr
a zecimala exacta.

lg hCazul 1 2 3 4 5
-1 1.70226 1.78954 1.74590 0.91752 0.87277
-4 1.74513 1.74522 1.74517 0.87202 0.87239
-7 1.74517 1.74517 1.74517 0.00000 0.00000
-10 1.70985 1.70985 1.70985 7.3108 0.00000

Marirea 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 data n
fig. 2.1 unde se reprezint a grafic logaritmul zecimal al erorii

lg e1 = lg yi0 yi0 , lg e2 = lg yi00 yi00



(2.17)

functie de logaritmul pasului. Reprezentarea logaritmic a este convenabila pentru verifi-


carea practic a a ordinului erorii prezis teoretic. Dac a e = O(hk ),
a din teorie se prezice c
atunci dependenta dintre eroare si pas se exprim a logaritmic prin lg e = C + k lg h,
2.1. Derivarea numeric
a 57

Figura 2.1: Variatia erorii absolute n estimarea derivatelor functie de pasul h.

unde C este o constant a. Putem construi regresia linear a (vezi Exemplul 1 din 1.3)
a valorilor erorii calculate n experimente numerice si sa verific
am obtinerea 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 obtin dreptele
0.364134 + 0.999353 lg h, 1.00836 + 2.05568 lg h, 1.72727 + 2.00789 lg h respectiv.
Aceste drepte sunt reprezentate cu linie 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 translatie, se pot obtine operatorii de derivare. Astfel,
plec
and de la expresia (1.19)

f (x0 + h) = (E 0 + ) y0 , (2.18)

prin derivare, se obtine


df 1 d  1 0
(E 0 + ) y0 = (E + ) ln(E 0 + ) y0 =

= (2.19)
dx h d h
1 0
  0   1
(E + ) y0 = ln(E 0 + ) f (x)

ln(E + ) (2.20)
h h
unde s-a evidentiat prin [ ] operatorul ce trebuie aplicat. Prin identificare,
rezulta operatorul de derivare cu diferenta la dreapta ()

d 1
= ln(E 0 + ) . (2.21)
dx h
58 2. Derivarea si integrarea numerica

In mod similar, folosind operatorul diferenta la st


anga (), se obtine
d 1
= ln(E 0 ) . (2.22)
dx h
Extinderea operatiei de derivare a functiei exponentiale la derivarea operatorilor
este justificata prin analogia expresiilor utilizate cu seria binomial a. Practic,
expresiile (2.21) si (2.22) se utilizeaz
a sub forma obtinut a prin dezvoltarea n
serie a logaritmului
2 3 4
 
d 1
= + + ... (2.23)
dx h 2 3 4
2 3 4
 
1
= + + + + ... . (2.24)
h 2 3 4
Operatorii (2.23) si (2.24) pot fi aplicati oric
arui polinom de interpolare cu
diferente la dreapta sau la stanga care aproximeaz a functia f (x). In acest fel,
se obtin, pe cale formal a, relatii similare cu cele precedente. Prin aplicarea
repetata a operatorilor (2.23) se obtin operatorii derivatelor de ordin superior.
Spre exemplu, pentru derivata de ordinul doi rezult a
d2
 
1 2 3 11 4
= + + . . . (2.25)
dx2 h2 2
 
1 2 3 11 4
= + + + . . . . (2.26)
h2 2
Exemplu. Fie f : [0, 1] R o functie a c arei valori n nodurile xj = j/n,
j = 0, n sunt fj = f (xj ) si sunt cunoscute. Se cere o estimare de O(h4 ) a derivatei
f00 = f 0 (x0 = 0) unde h = 1/n.
Rezolvare. Fiind disponibile doar punctele la dreapta, vom aplica (2.23). Num arul
a ordinul formulei. In cazul de fat
de termeni luati din dezvoltarea n serie determin a,
va trebui s a consider
am patru termeni
2 3 4
 
1
f00
= + f0 . (2.27)
h 2 3 4

Aplicarea repetat a la dreapta conduce la f0 = f1


a a operatorului de diferent
f0 , 2 f0 = (f0 ) = (f1 f0 ) = f1 f0 = f2 2f1 + f0 , 3 f0 = (2 f0 ) =
f3 3f2 + 3f1 f0 , 4 f0 = (3 f0 ) = f4 4f3 + 6f2 4f1 + f0 . Se remarc
a aparitia
coeficientilor din dezvoltarea binomiala (1 a)n . Rezulta formula
 
1 1 4 25
f00
= f4 + f3 3f2 + 4f1 f0 . (2.28)
h 4 3 12
Pentru a verifica ordinul formulei, folosim primii 5 termeni din dezvoltarea n serie
(3) (4) (5)
Taylor a functiei f , T5 (x) = f0 + f00 x + f000 x/2 + f0 x/6 + f0 x/24 + f0 x/120 si se
obtine
 
1 1 4 25
T5 (0) = f00 h4 f0 /5 , (2.29)
(5)
T5 (4h) + T5 (3h) 3T5 (2h) + 4T5 (h)
h 4 3 12
deci eroarea este ntr-adev
ar de ordinul IV.
2.1. Derivarea numeric
a 59

2.1.3 Polinoame de interpolare n functie si derivat


a
Sa presupunem ca sunt date valorile unei functii yi si ale derivatei sale yi0 n
nodurile xi [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 foloseste si
informatiile asupra derivatei n noduri, este ns
a s
a se construiasc
a polinomul
de grad 2N 1 ce satisface

p2N 1 (xi ) = yi , p02N 1 (xi ) = yi0 , i = 1, N . (2.30)

O astfel de interpolare ce foloseste si valorile unor derivate n noduri se numeste


de tip Hermite. Polinomul de interpolare Hermite este unic definit pentru abs-
cise distincte, i 6= j xi 6= xj . Ca si polinomul de interpolare uzual, polinomul
de interpolare Hermite are o form a Newton, ce utilizeaz a diferente divizate, si
o forma Lagrange.
Forma Newton a polinomului de interpolare Hermite utilizeaz a o generalizare
diferentelor divizate, denumita diferente divizate cu repetitie n care se defineste

DD(xi , xi ) f 0 (xi ) = yi0 . (2.31)

Regula recursiva (1.9), de obtinere a diferentelor divizate superioare, r


am
ane
valabila. Explicit, forma Newton a polinomului Hermite este

p2N 1 (x) = y1 + (x x1 ) DD(x1 , x1 ) + (x x1 )2 DD(x1 , x1 , x2 ) + (2.32)


2
(x x1 ) (x x2 ) DD(x1 , x1 , x2 , x2 ) + . . . (2.33)

ce se poate compara cu (1.13). Coeficientii formei Newton se pot calcula con-


venabil tabelar precum n exemplul de mai jos.

x1 y1
x1 y1 DD(x1 , x1 ) = y10
y2 y1 DD(x2 , x1 ) DD(x1 , x1 )
x2 y2 DD(x1 , x2 ) = DD(x1 , x1 , x2 ) =
x2 x1 x2 x1
DD(x2 , x2 ) DD(x2 , x1 )
x2 y2 DD(x2 , x2 ) = y20 DD(x1 , x2 , x2 ) =
x2 x1
.. .. .. .. ..
. . . . .

Forma Lagrange a polinomului de interpolare Hermite este


N
X N
X
p2N 1 (x) = Ak (x)yk + Bk (x)yk0 , (2.34)
k=1 k=1

unde impunem proprietatile

Ak (xj ) = kj , A0k (xj ) = 0, Bk (xj ) = 0, Bk0 (x) = kj (2.35)


60 2. Derivarea si integrarea numerica

prin analogie cu procedeul din 1.1. S-a utilizat simbolul Kronecker: kj = 0,


daca j 6= k; kj = 1, dac
a j = k. Polinoamele Ak , Bk se pot exprima functie de
polinoamele Lagrange (1.29) Lk

Ak (x) = [1 2(x xk )L0k (xk )] L2k (x) , (2.36)


Bk (x) = (x xk )L2k (x) . (2.37)

Printr-un procedeu asem anator celui folosit pentru determinarea formulei


(1.16), se poate obtine expresia restului la interpolarea Hermite
N
Y
R2N 1 (x) f (x) p2N 1 (x) = (x xi )2 f (2N ) ()/(2N )! . (2.38)
i=1

Exemplu. Vom calcula derivata functiei f (x) = sin x n x = 1/8 folosind forma
Newton a polinomul Hermite. Utilizam nodurile xj = (j 1)/4, j = 1, 2. Tabelul
diferentelor divizate este

xj yj
0 0
0 0

1 2
2 2 4(2 2 )
4 2

1 2 2
2 2( 4) 4(2 2 + 4) 64 2
4 2 2

a f 0 (x) = cos x au fost ncadrate. Forma


unde valorile obtinute din derivata exact
Newton a polinomului Hermite este
h i
p2 (x) = x + x2 4(2 2 ) + x2 (x 1/4) 4(2 2 + 4) 64 2 , (2.39)

ceea ce conduce la urmatoarea 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 p02 (1/8) = 2.90188 foarte apropriat a de cea exact a f 0 (1/8) =
2.90245 si cu mult mai precis a decat estimarea centrat a de ordinul II (f (1/4)
f (0))/(1/4) = 2.82843. Graficul logaritmului erorii relative lg = lg |(p02 (x) f 0 (x)) /f 0 (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 functii spline


Functia spline polinomiala de ordinul 3 poate fi utilizat a pentru calculul apro-
ximativ al derivatelor de ordinul 1 si 2. In acest scop, se determin a coeficientii
mi , ai , bi , restrictia functiei spline pe intervalul (xi , xi+1 ) fiind

p3,i (x) = yi + mi (x xi ) + bi (x xi )2 + ai (x xi )3 , (2.41)

determinata n paragraful 1.1.2. Derivatele de ordinul 1 si 2 se aproximeaz


a prin
derivatele de acelasi ordin ale polinomului p3,i

y 0 = mi + 2bi (x xi ) + 3ai (x xi )2 , y 00 = 2bi + 6ai (x xi ) . (2.42)

Eroarea la aproximarea derivatei de ordinul k poate fi evaluat


a cu ajutorul
relatiei (vezi Observatia 4 din 1.1.2)
(b a)mk
max f (k) (x) sm
(k)
(x) max f (m) (x) s(m)
m (x) , (2.43)

x[a,b] (m k)! x[a,b]

unde m este ordinul functiei spline (m = 3 pentru functia spline cubic a). Deo-
(m)
arece functia spline este derivabila de m 1 ori pe (a, b), am notat prin sm o
functie treapta, obtinuta prin derivarea restrictiilor functiei s pe subintervale.
Exemplul din paragraful 1.1.2 prezinta si comportarea numeric a a derivatelor.

2.1.5 Derivate folosind diverse aproximatii


Formule de derivare se pot obtine folosind oricare dintre procedeele de apro-
ximare prezentate n capitolul 1. Consideram pe scurt c ateva alte procedee
inidicand domeniile tipice de aplicare.

Interpolare trigonometric
a.
Prin derivarea expresiei (1.57), se obtine

df dg
= y0
= =
dx dx
N
X 1
2 [kak sin(2kx) + kbk cos(2kx)] N aN sin 2N x . (2.44)
k=1

Rezultatul este o noua functie ce are coeficientii Fourier 2kak , 2kbk . Con-
sideratiile din 1.1.3 asupra convergentei interpol arii trigonometrice se aplic a
acum noii functii. In particular, vom urm ari daca ck = 2k(a2k + b2k )1/2 devin
suficient de mici pe masura ce N creste. O proprietate important a a apro-
ximarilor trigonometrice este c a, pentru functii netede, coeficientii ck scad mai
repede decat 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 ca aproximarea trigonometric a a derivatei este de ordin infinit. Aceast a
62 2. Derivarea si integrarea numerica

proprietate sta la baza metodelor spectrale de rezolvare a ecuatiilor diferentiale.


Aplicabilitatea generala a procedeului este ns
a limitata de cerinta de netezime.
De exemplu, daca functia f prezint a discontinuit ati izolate, vor aparea erori
importante de mascare (vezi 1.1.3).

Aproximarea mini-max.
Se deriveaza polinomul aproape mini-max (vezi 1.2.3). Gradul acestui polinom
se ia, n general, mai mic dec
at gradul polinomului de interpolare corespunz ator
unei diviziuni alese. Astfel de aproxim ari se utilizeaz
a c
and se doreste minimi-
zarea numarului de operatii aritmetice necesare estim arii derivatei.

Aproximarea prin metoda celor mai mici p


atrate.
Se deriveaza aproximanta (1.83). In general, derivatele astfel obtinute sunt mai
netede decat n cazul unei interpolari care foloseste toate punctele din retea. Se
foloseste tipic pentru date cunoscute incert (m asuratori experimentale).

2.2 Integrarea numeric


a
Integrarea numerica a functiilor de o variabil a reprezint
a o aplicatie imediata
a aproximarii. In general, prin integrare numeric a erorile de calcul se reduc,
variatiile se netezesc. Cazurile mai dificile sunt legate de integrarea functiilor
care prezinta variatii rapide de semn pe intervalul de integrare, astfel nc at
termenii nsumati se compenseaza, iar rezultatul, un num ar mic n modul, apare
ca diferenta a unor numere mari n modul1 . Asemenea functii sunt indicate
pentru testarea diferitelor formule de integrare propuse. Schema general a pentru
a obtine o formula de integrare numeric a este urmatoarea:

1. Se introduce o diviziune a intervalului de calcul [a, b] prin punctele {xi ,


i 1, N }.

2. Se scrie functia 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 integreaza relatia (2.45) termen cu termen, obtin


andu-se o valoare apro-
ximativa si o eroare pentru integrare
Z b Z b Z b
f (x)dx = g(x)dx + R(x)dx . (2.46)
a a a
1 Vezi capitolul 4.
2.2. Integrarea numeric
a 63

Integrala aproximantei g(x) se evalueaz


a numeric pe fiecare subinterval al
diviziunii
Z b N
X Z b
I= g(x)dx = ak Ik , Ik gk (x)dx . (2.47)
a k=1 a

Uzual aproximanta g(x) se alege de forma (1.6), astfel nc at integralele Ik


sa poata fi evaluate exact. Eroarea de integrare este n acest caz integrala
restului
Z b
= R(x)dx . (2.48)
a

4. Se cauta o posibilitate de minimizare a erorii.


In efectuarea diverselor calcule mentionate mai sus, sunt utile c
ateva rezul-
tate din analiza pe care le reamintim f
ara demonstratie.

Teorema de valoare medie a unei integrale. Pentru f, g continue pe [a, b] si


g(x) 0 pe [a, b], exista un [a, b] astfel nc
at
Z b Z b
f (x)g(x)dx = f () g(x)dx.
a a

Teorema valorii intermediare. Fie f continu a pe [a, b] si m valoarea sa minim


a
si M valoarea sa maxima pe acest interval. Pentru orice r [m, M ] exista
un [a, b] astfel ncat f () = r.
Teorema fundamental
Rx a a analizei. Dac a f este continu
a pe [a, b], atunci functia
a n orice punct c [a, b] si derivata sa este
(x) = a f (t)dt este derivabil
0 (c) = f (c).

2.2.1 Formule Newton-Cotes nchise


Formulele de integrare care utilizeaz a valorile functiei la capetele intervalului de
integrare, y1 = f (a), yN = f (b) sunt denumite formule nchise. Foarte uzuale
sunt metodele care utilizeaza interpolarea polinomial a pe o diviziune echidis-
tanta a intervalului de integrare {a = x1 , x2 , . . . , xN = b} cu xi+1 xi h =
(b a)/(N 1), formulele obtinute fiind denumite de tip Newton-Cotes. In
obtinerea formulelor de integrare, este convenabil a forma Newton cu diferente
finite a polinomului de interpolare (1.25). Vom remarca ns a ca se prefer
a uti-
lizarea unor polinoame de grad mic (unu, doi sau trei), pe subintervale, ceea ce
revine de fapt, la integrarea unor functii spline, racordate pe noduri numai prin
valorile functiei 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 si integrarea numerica

Formula trapezelor.
Functia aproximanta este o linie poligonal a. Pe fiecare subinterval (xi , xi+1 ),
functia f (x) se nlocuieste cu aproximarea sa printr-un polinom de gradul ntai
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) = h2 C2 f 00 (i ), i (xi , xi+1 ) . (2.50)

Pe intervalul (xi , xi+1 ), variabila x se poate exprima

x = xi + h,

a a aproximantei (2.49) este


de unde dx = hd. Integrala exact
Z 1
Ii = (yi + yi )d = (yi + yi+1 )/2 , (2.51)
0

iar eroarea pe interval rezult


a din integrarea restului (2.50)
Z 1
3
i = (h /2) ( 1)f 00 [i ()] d, i (xi , xi+1 ) .
0

Expresia erorii poate fi transformat a aplic


and teorema de medie pentru inte-
grale. Avem ( 1) 0 si vom presupune c a f 00 [i ()] este continu
a pe
[xi , xi+1 ], astfel ncat conditiile teoremei sa fie satisf
acute. Se obtine
Z 1
3 00
i = [h f (i0 )/2] ( 1)d = h3 f 00 (i0 )/12 , (2.52)
0

cu i0 [xi , xi+1 ], n general diferit de i din (2.50). Formula (2.51) se aplic


a pe
fiecare subinterval si vom obtine, prin sumare, valoarea aproximativ a a integralei
N 1
X h
I= Ii = (y1 + 2y2 + . . . + 2yN 1 + yN ) . (2.53)
i=1
2
PN 1
Eroarea la integrare este suma erorilor pe subintervale, = i=1 i = (h3 /12)
PN 1 00 0 a (N 1)1 N 1 f 00 ( 0 ) este o valoare medie a valorilor
P
i=1 f (i ). Ins i=1 i
functiei f n punctele i0 si am presupus f 00 continu
00
a. Conform teoremei valorii
intermediare, exista un [x1 , xN ] astfel nc
at
N 1
1 X 00 0
f (i ) = f 00 () (2.54)
N 1 i=1
2.2. Integrarea numeric
a 65

si eroarea se poate scrie

h2 (b a)3 00
= (b a)f 00 () = f () . (2.55)
12 12(N 1)2

Expresia (2.55) sugereaza ca, pentru functii cu derivata de ordinul doi continua,
eroarea la integrare scade aproximativ cu p atratul num arului de intervale N 1.
Spunem astfel ca eroarea la formula trapezelor este de ordinul doi, = O(h2 ).
Se observa ca, fata de eroarea pe un subinterval i = O(h3 ), eroarea pe tot
intervalul este cu un ordin mai mic datorit a acumularii erorii din nsumare.
Se remarca, de asemenea, ca formula trapezelor este exact a pentru toate poli-
noamele de gradul 1, adica pentru f 1 .

Formulele Simpson.
Urmarim obtinerea unor formule mai precise pe subintervalele de calcul. Din
procedeul general, observam ca acest deziderat se poate realiza prin folosirea
unor polinoame de interpolare de grad mai mare pe subintervale. Deoarece,
pentru polinoame de grad mai mare de unu, avem nevoie de mai mult de dou a
noduri, vom grupa convenabil subintervalele (xi , xi+1 ). Din punctul de vedere
al aproximarii functiei f (x) pe tot intervalul de calcul [a, b] procedeul revine la
folosirea unei interpolari spline cu deficient
a, ale c
arei restrictii 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 obtine o formul a de integrare pe
(xi1 , xi+1 ) 2 . Polinomul aproximant este

p2 (x) = yi1 + yi1 + ( 1)2 yi1 /2

conform (1.25) iar restul are forma

R2 (x) = h3 C3 f (3) (i ), i (xi1 , xi+1 ) .

Formula obtinuta prin integrarea lui p2 (x) este


Z 2
h
Ii = h p2 (xi1 + h)d = (yi1 + 4yi + yi+1 ) . (2.56)
0 3
Aplicarea teoremei de medie la integrarea restului trebuie efectuata pe subin-
tervalele pe care C3 nu schimba semnul
Z 2
h3 (3) (1) 1
    
3 3 (3) (3) (2) 1
h C f (i )d = f (i ) + f (i ) .
0 3! 4 4

Rezultatul obtinut este nsa o supraestimare. Faptul ca s-au obtinut coeficienti


numerici de semne contrare sugereaz a c
a avem un efect de compensare a erorilor.
2 Aici
si n cele ce urmeaz
a vom alege intervalele astfel nc
at formulele s
a fie centrate pe
punctul xi .
66 2. Derivarea si integrarea numerica

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
h
Ii = [f (xi1 ) + 4f (xi ) + f (xi+1 )]
3
si vom presupune f derivabil a de minim 5 ori. Dezvolt
am n serie Taylor n
jurul punctului xi1 expresia de mai sus
0 00 (3) (4) (5)
Ii = 2hfi1 + 2h2 fi1 + 4h3 fi1 /3 + 2h4 fi1 /3 + 5h5 fi1 /18 + h6 fi1 /10 + . . .
(k)
unde am notat fi = f (k) (xi ). Pe de alt
a parte, introducem
Z x
F (x) = f (x)dx ,
xi1

valoarea exacta a integralei pe intervalul (xi1 , x). Avem, n particular, F (xi1 ) =


0, si F (xi1 + 2h) este valoarea exacta pe intervalul (xi1 , xi+1 ). Conform te-
oremei fundamentale a analizei, F 0 (x) = f (x). Ca atare, dezvoltarea n serie
Taylor n jurul punctului xi1 a valorii exacte F (xi1 + 2h) este
0 00 (3) (4) (5)
2hfi1 + 2h2 fi1 + 4h3 fi1 /3 + 2h4 fi1 /3 + 4h5 fi1 /15 + 4h6 fi1 /45 + . . .

Diferenta = F (xi1 + 2h) Ii este eroarea c


autat
a si are expresia
(4) (5)
= h5 fi1 /90 h6 fi1 /90 + . . . .

Astfel, chiar daca am pornit cu un polinom aproximant de gradul doi, formula


obtinuta este exacta si pentru polinoame de gradul trei. Acest rezultat face ca
formula lui Simpson (2.56) s a fie economic a n numarul de evalu ari ale functiei
f necesare realizarii unei anumite precizii, de unde larga sa folosire n aplicatii.
Considerand acum problema integr arii pe tot intervalul [a, b] vom introduce
un numar impar de 2N + 1 noduri, pentru a avea un num ar ntreg de perechi de
intervale, pe care sum am relatia (2.56) si obtinem formula de integrare Simpson
h
I= (y1 + 4y2 + 2y3 + . . . + 2y2N 1 + 4y2N + y2N +1 ) . (2.57)
3
Estimarea erorii la integrare este

= (b a)5 f (4) () / 2880N 4 , (a, b) . (2.58)

Din (2.58), se observa c


a eroarea este invers proportional
a cu puterea a patra
a numarului de perechi de subintervale N , adica = 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 (xi1 , xi+2 ),
polinomul de interpolare este

p3 (x) = yi1 + yi1 + ( 1)2 yi1 /2 + ( 1)( 2)3 yi1 /3! ,


2.2. Integrarea numeric
a 67

iar, prin integrare, se obtine formula lui Simpson 3/8


Z 3
3h
Ii = h p3 (xi1 + h)d = (yi1 + 3yi + 3yi+1 + yi+2 ) , (2.59)
0 8
cu eroarea
Z 3
i = h5 C4 f (4) (i ) d = 3h5 f (4) (i )/80, i (xi1 , xi+2 ) . (2.60)
0

Considerand 3N + 1 puncte de diviziune, cu pasul h = (b a)/3N , formula de


integrare pe (a, b) se va scrie

3h
I= (y1 + 3y2 + 3y2 + 2y4 + . . . + 2y3N 2 + 3y3N 1 + 3y3N + y3N +1 ) ,
8
(2.61)

iar eroarea de integrare pe (a, b) este

= (b a)5 f (4) () / 6480N 4 = O(h4 ), (a, b) . (2.62)

La acelasi interval (a, b) si acelasi N , eroarea este mai mic a decat n cazul
formulei Simpson 1/3 datorita factorului numeric de la numitor. Cum ns ao
precizie sporita la integrare este obtinut a ndeosebi prin marirea num arului de
subintervale, observam ca marirea 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. Datorita num arului mai mic de evalu ari de functie cerute
este preferabila folosirea formulei Simpson 1/3 celei 3/8.
Informativ, dam si formula obtinuta prin interpolare cu un polinom de gradul
4, pe intervalul (xi2 , xi+2 )

2h
Ii = (7yi2 + 32yi1 + 12yi + 32yi+1 + 7yi+2 ) , (2.63)
45
cu eroarea

i = 8h7 f (7) (i )/945, i (xi1 , xi+2 ) . (2.64)

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


importanta a erorii. Pe tot interalul [a, b] avem = O(h6 ) fat a de = O(h4 )
din (2.62).
Formulele de mai sus se pot obtine si pe dou a alte c ai ce permit extinderi
importante. Sa consideram ca integrala pe un interval [a, b] se poate aproxima
ca o medie ponderat a a valorilor functiei n punctele xi , i = 1, . . . , N

Z b N
f (x)dx
X
I= = Ai yi , (2.65)
a i=1
68 2. Derivarea si integrarea numerica

unde Ai sunt ponderi necunoscute. Putem impune ca integrala s a fie evaluat


a
exact pentru functii polinomiale p an a la gradul N 1. De exemplu, pentru
N = 3, obtinem sistemul de ecuatii
Rb
Ra dx
=ba = A1 + A2 + A3
b 2 2
a
xdx = (b a )/2 = A1 x1 + A2 x2 + A3 x3 (2.66)
Rb 2
2 2 2 2 2
a
x dx = (b a )/3 = A1 x1 + A2 x2 + A3 x3

unde am nlocuit rand pe r and functia f (x) cu un polinom de gradul 0,1,2.


Se obtin coeficientii 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 coeficientilor de integrare.
Un al doilea procedeu este dat de nlocuirea functiei f cu forma Lagrange a
polinomului de interpolare (1.31)
b N
bX b N
f (N ) () Y
Z Z Z
f (x)dx = yi Li (x)dx + (x xi ) dx , (2.67)
a a i=1 a N ! i=1

unde s-a utilizat forma (1.16) a restului. Compar


and cu (2.65) se observ
a c
a
Z b
Ai = Li (x)dx . (2.68)
a

In final, sa adaugam, c
a n numeroase situatii practice, este convenabil s a se
evidentieze o functie pondere w(x) n operatiile de integrare. Se generalizeaz a
astfel operatia de medie ponderat a din aritmetic a. Utiliz
and (2.67) avem
Z b Z b "N N
# N
X f (N ) () Y X
w(x)f (x)dx = w(x) Li (x)yi + (x xi ) dx = Ai yi + ,
a a i=1
N ! i=1 i=1

b b N
f (N ) () Y
Z Z
Ai = w(x)Li (x)dx, = w(x) (x xi ) dx, (a, b).
a a N ! i=1

2.2.2 Formule de integrare deschise


O ntrebare imediata asociata formulei generale de integrare (2.65) este dac a
alegerea altor puncte xi si ponderi Ai ar putea aduce avantaje de calcul. Vom
considera n cele ce urmeaz ateva asemenea cazuri. In general, n obtinerea
a c
acestor formule nu se utilizeaz a valorile functiei f din capetele intervalului.
Astfel de formule se numesc formule deschise.

Formule de integrare deschise de tip Newton Cotes


Aceste formule se obtin utiliz
and un polinom de interpolare care nu trece prin
capetele intervalului, deci cu un polinom cu dou
a grade mai mic decat n cazul
2.2. Integrarea numeric
a 69

formulelor nchise. Revenim la obtinerea formulelor de integrare prin integrarea


polinomului de aproximare. De data aceasta folosim o form a n care nu apar
valorile n capete
2 N 3 N 3
pN 3 (x1 + h) = y2 + ( 1)y2 + C1 2 y2 + . . . + C1 y2 , (2.69)

[0, N 1], eroarea fiind


N 2 (N 2)
RN 1 (x1 + h) = hN 2 C1 f () . (2.70)

Evident, formulele de mai sus se pot utiliza pentru N > 3. Putem obtine
diverse formule prin alegerea intervalului de integrare si a gradului polinomului
de aproximare.
Pentru N = 4, calculam integrala polinomului aproximant de la = 0 la
= 2 si se obtine

Ii = 2hyi , i = h3 f 00 (i )/3 . (2.71)

In acest caz, intervalul de integrare a fost (xi1 , xi+1 ), dar termenul yi+1 s-a
redus, astfel ncat formula (2.71) nu contine nici una din valorile de la capetele
intervalului. Observam ca se obtine acelasi ordin al erorii O(h3 ) ca la
formula trapezelor (2.53), folosind ns
a o singura evaluare a functiei fat
a de dou
a
n (2.53). Factorul numeric din expresia erorii de mai sus este ns a mai mare
decat cel din (2.55). Ca atare, avantajul de calcul obtinut poate fi nesemnificativ
n practica.
Pentru N = 6 si x (xi1 , xi+3 ) se obtine o formul a cu acelasi ordin de
eroare ca formula Simpson
4h 14h5 (4)
Ii = (2yi yi+1 + 2yi+2 ), i = f (i ) . (2.72)
3 45
Coeficientul numeric din formula erorii este iar asi mai mare dec
at cel din (2.58)
si numarul de evaluari de functie este acelasi. Ca atare, nu se obtine vreun
avantaj de calcul.

Formule deschise de tip Gauss.


In formula generala de integrare (2.65), observ am ns
a c
a avem la dispozitie 2N
parametrii, nu numai ponderile Ai ci si abscisele n care evalu am functia xi .
Pana acum am utilizat abscise echidistante si am obtinut formule exacte pentru
polinoame de grad pana la N 1, prin alegerea a N ponderi. Putem spera ca,
prin utilizarea tuturor celor 2N parametri, s a obtinem formule exacte pentru
polinoame pana la gradul 2N 1. Calea de a obtine 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
Z b N
w(x)f (x)dx
X
= Ai f (xi ) , (2.73)
a i=1
70 2. Derivarea si integrarea numerica

unde w(x) este o functie pondere pozitiva, iar coeficientii Ai sunt alesi astfel
ncat formula este exact
a pentru toate polinomale de grad p ana n N 1.

Teorema. Daca abscisele xi , din (2.73) se aleg ca fiind zerourile unui polinom
q(x) de gradul N ce satisface relatia de ortogonalitate
Z b
w(x)p(x)q(x)dx = 0 (2.74)
a

pentru orice polinom p(x) de grad p a la N 1, atunci formula (2.73)


an
este exacta pentru toate polinoamele de grad p a la 2N 1.
an

Demonstratie. Fie f un polinom de grad cel mult 2N 1. Acesta se poate


scrie f = pq + r unde p, r sunt polinoame de grad cel mult N 1. Deoarece
xi , i = 1, . . . , N sunt zerourile polinomului q, avem f (xi ) = r(xi ) si
Z b Z b
w(x)f (x)dx = w(x) [p(x)q(x) + r(x)] dx =
a a
Z b N
X N
X
w(x)r(x)dx = Ai r(xi ) = Ai f (xi ) , (2.75)
a i=1 i=1

unde ultima egalitate rezult a din alegerea coeficientilor Ai enuntat 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 a xi (a, b). Pozitiile zerourilor
depind, n general, de intervalul [a, b]. Pentru a obtine valori standard ale absci-
selor, se folosesc domenii de integrare canonice, specifice fiec arui tip de ponderi
w(x). Aparitia functiei de pondere n formula (2.73) faciliteaz a tratarea cazurilor
cu singularitati integrabile dup a cum vom vedea mai jos. Odat a stabilit
a familia
de polinoame ortogonale, prin alegerea ponderii w(x), se afl a radacinile aces-
tora, iar coeficientii Ai rezult a prin integrarea polinoamelor Lagrange asociati
radacinilor conform relatiei (2.68).
Am vazut nsa n 1.1.1, c a interpolarea polinomial a global a nu converge
ntotdeauna catre functia f . O ntrebare natural a este daca o asemenea com-
portare nu ar ap area si n formulele de integrare Gauss. Conditia de ortogo-
nalitate (2.74) joaca un rol esential aici si se poate demonstra (Stieltjes) c a,
pentru functii f continue, aproximarea Gauss converge c atre valoarea exact aa
integralei pe masura ce N .
Fie acum f o functie de clas a C 2N [a, b] oarecare, nu neap arat un polinom.
Dorim sa determinam dac a se obtine o eroare mai mica la integrare prin folosirea
unei formule Gauss cu N noduri, prin comparatie cu formul arile anterioare.
Teorema de mai sus sugereaz a compararea cu un polinom de grad 2N 1. Un
polinom de grad 2N 1 poate fi definit de valorile functiei si derivatei n cele
N noduri, dup a cum am v azut la interpolarea Hermite 2.1.3,

p2N 1 (xi ) = f (xi ), p02N 1 (xi ) = f 0 (xi ), i = 1, N . (2.76)


2.2. Integrarea numeric
a 71

Eroarea la interpolare este data de (2.38), de unde rezult


a

b b b N
f (2N ) ((x))
Z Z Z Y
w(x)f (x)dx w(x)p2N 1 (x)dx = w(x) (x xi )2 dx .
a a a i=1
(2N )!
(2.77)

a pentru polinoame de grad maxim 2N


Formula de integrare Gauss, fiind exact
1, rezulta
Z b N
X N
X
w(x)p2N 1 (x)dx = Ai p2N 1 (xi ) = Ai f (xi ) , (2.78)
a i=1 i=1

de unde eroarea la integrarea functiei f este


Z b N Z b N
X 1 Y
= w(x)f (x)dx Ai f (xi ) = w(x) (x xi )2 f (2N ) ((x)) dx .
a i=1
(2N )! a i=1
(2.79)

Nodurile xi se aleg ca fiind radacinile polinomului q(x) de gradul N si ortogonal


pe orice polinom p(x) de grad pana la N 1. Conform teoremei de medie, avem
b
f (2N ) ()
Z
= w(x)q 2 (x) dx , (a, b). (2.80)
(2N )! a

Recunoastem aparitia produsului scalar


Z b
(q, q) = w(x)q 2 (x) dx (2.81)
a

(vezi 1.4.2). Ca atare, eroarea la integrarea Gauss este

= f (2N ) () (q, q)/(2N )! . (2.82)

Daca f C 2N [a, b], atunci f (2N ) () este marginita. Produsul (q, q) se poate
evalua folosind relatiile de recurenta (1.94) si este de asemenea m arginit. In
plus, factorul (q, q)/(2N )! scade rapid cu cresterea lui N . Sa consider
am acum
cele mai des ntalnite cazuri.

Formule Gauss-Legendre.
Mai ntai luam ponderea w(x) = 1, adic a vom considera integrala obisnuit
a.
Intervalul canonic uzual este [1, 1]. Orice alt interval de integrare [a, b] poate
fi usor transformat n [1, 1] prin substitutia z = 2(x a)/(b a) 1
b +1  
ba ba
Z Z
b+a
f (x)dx = F (z)dz, F (z) f z+ . (2.83)
a 2 1 2 2
72 2. Derivarea si integrarea numerica

In cazul de fata conditia de ortogonalitate este


Z +1
p(x)q(x)dx = 0 , (2.84)
1

identica cu (1.96), asa nc


at polinoamele q(x) sunt polinoamele Legendre. Pozitiile
zerourilor zi si ponderile aferente Ai sunt redate, pentru c ateva valori ale lui N ,
n tabelul (2.1). Integrala pe [1, 1] se aproximeaz a prin
Z +1 N
F (z)dz
X
= Ai F (zi ) , (2.85)
1 i=1

iar cea pe [a, b] prin

b N
ba X
Z
f (x)dx
= Ai f (xi ) , (2.86)
a 2 i=1

cu xi = (b a)zi /2 + (a + b)/2. Din relatiile de recurent


a (1.94) si (2.82) rezult
a
eroarea la integrare

= 22N +1 (N !)4 f (2N ) ()/(2N + 1)[(2N )!]3 (2.87)

pe intervalul [1, 1] sau

= (b a)2N +1 (N !)4 f (2N ) ()/(2N + 1)[(2N )!]3 (2.88)

pe intervalul [a, b] folosind substitutia de mai sus. Abscisele xi n care se eva-


lueaza functia F nu sunt de regul a echidistante. Putem ns
a pune n evidenta
un pas mediu h = (b a)/N , pentru a determina ordinul erorii n vederea
compararii cu metodele anterioare. Se obtine
2N +1
N 2N +1 f (2N ) () h2N +1 f (2N ) ()

ba
= < (2.89)
N (N !)4 (2N + 1)[(2N )!]3 (N !)4 (2N )!

si se observa obtinerea unui ordin al erorii de O(h2N +1 ), folosind doar N evalu


ari
ale functiei f . Mai mult, coeficientul numeric din (2.89) scade exponential cu
cresterea lui N (vezi tabelul 2.1).

Formule Gauss-Ceb
asev.
Consideram acum ponderea w(z) = (1 z 2 )1/2 pe intervalul [1, 1]. Se poate
observa ca functia pondere prezint ati n 1. Utilitatea practic
a singularit a a
unei astfel de ponderi este integrarea numeric a a functiilor ce prezint
a acelasi
gen de singularitate integrabil
a n capetele domeniului de integrare. Fie f (z) o
2.2. Integrarea numeric
a 73

Tabelul 2.1: Radacinile zi , ponderile Ai si eroarea la integrarea Gauss-Legendre


N zi Ai
h5 f (4) ()
2 1/ 3 1
28 33 5
h7 f (6) ()
p
3/5 5/9
3
0 8/9 2 33 53 7
16

0.86113 63115 94053 0.34785 48451 37454 h9 f (8) ()


4
0.33998 10435 84856 0.65214 51548 62546 215 312 53 73
0.90617 98459 38664 0.23692 68850 56189
5h11 f (10) ()
5 0.53846 93101 05683 0.47862 86704 99366
2 316 73 11
36
0 0.56888 88888 88889

astfel de functie si sa presupunem c a avem de evaluat integrala acestei functii


pe [1, 1]. Putem da factor comun fortat termenul singular
Z +1 Z +1
f (z) dz = w(z)F (z) dz
1 1

unde F (z) este acum o functie continu a. Cea de-a doua integral a se poate
evalua prin folosirea formulelor Gauss-Ceb asev. Avantajul unui astfel de pro-
cedeu consta n izolarea comport arii singulare din capete n functia pondere.
Radacinile 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 evalueaza ca
Z +1 N
F (z) X 2F (2N ) ()
dz = F (zi ) + N , (1, 1) (2.91)
1 1 z2 N i=1 2 (2N )!
unde ultimul termen este eroarea la integrare. Deoarece toate ponderile Ai de la
formulele Gauss-Cebasev au aceeasi valoare, aceste formule necesita un numar de
operatii mai mic pentru atingerea unui anumit ordin de precizie, n comparatie
cu formulele Gauss-Legendre. De aceea, n situatii precum efectuarea unui mare
numar de integrale din interiorul unei bucle, se prefer a utilizarea unei formule
Gauss-Cebasev.

Formule Gauss-Laguerre.
Un alt gen de comportare singular a apare la integrarea pe un interval semi-
infinit. Ponderea adecvata este n acest caz w(x) = exp(x) si familia de
polinoame ortogonale indusa de aceast a functie pondere este cea a polinoamelor
Laguerre din 1.4.2. Formula de calcul este n acest caz
Z N
X (N !)2 (2N )
ex f (x) dx = Ai f (xi ) + f (), (0, ) (2.92)
0 i=1
(2N )!
cu radacinile si ponderile din tabelul 2.2.
74 2. Derivarea si integrarea numerica

Tabelul 2.2: Radacinile xi , ponderile Ai si eroarea la integrarea Gauss-Laguerre


N xi Ai
0.58578 64376 8.53553 39059 E-1
2
3.41421 35623 1.46446 60941 E-1
0.41577 45568 7.11093 00993 E-1
3 2.29428 03603 2.78517 73357 E-1
6.28994 50829 1.03892 56502 E-2
0.32254 76896 6.03154 10434 E-1
1.74576 11012 3.57418 69244 E-1
4
4.53662 02969 3.88879 08515 E-2
9.39507 09123 5.39294 70556 E-1
0.26356 03197 5.21755 61058 E-1
1.41340 30591 3.98666 81108 E-1
5 3.59642 57710 7.59424 49682 E-2
7.08581 00058 3.61175 86799 E-3
12.64080 08443 2.33699 72386 E-5

Tabelul 2.3: Radacinile zi , ponderile Ai si eroarea la integrarea Gauss-Hermite


N xi Ai
2 0.70710 67812 8.86226 92545 E-1
0 1.18163 59006
3
1.22474 48714 2.95408 97515 E-1
0.52464 76233 8.04914 09001 E-1
4
1.65068 01239 8.13128 35447 E-2
0 9.45308 72048 E-1
5 0.95857 24646 3.93619 32315 E-1
2.02018 28705 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
Z N
2 X (N !) (2N )
ex f (x) dx = Ai f (xi ) + f (), (, ) (2.93)
i=1
2N (2N )!

cu radacinile si ponderile din tabelul 2.3


Exemplu. (Calculul lungimii de arc al unui sfert de elips a) Punctele de pe o elips
a
satisfac ecuatia (x/a)2 + (y/b)2 = 1 si pot fi descrise parametric prin x = a cos ,
y = b sin . Presupunem a > b. Lungimea de arc cerut a este
Z Z p Z /2 p
L = dl = dx2 + dy 2 = a2 sin2 + b2 cos2 d . (2.94)
0
2.2. Integrarea numeric
a 75

Figura 2.2: Eroarea relativa functie de pasul conventional h = 2/n la integrare


Gauss-Ceb
asev.

Prin substitutia z = cos se obtine


Z 1 Z
1 + k2 z 2 b 1 1 + k2 z 2
L=b dz = dz , (2.95)
0 1 z2 2 1 1 z2

unde k2 (a2 b2 )/b2 iar ultima egalitate s-a obtinut observ and ca functia 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 obtinut o
integral
a de forma

b 1 f (z)
Z
b
L= dz = I , (2.96)
2 1 1 z 2 2

n care apare ponderea Ceb asev w(z) = 1/ 1 z 2 . Pentru evaluarea integralei folosim
formula (2.91) cu coeficientii din (2.90). Pentru a = 5, b = 4 rezult
a k = 3/4, iar sirul
de aproximatii succesive ale integralei ce se obtine m arind ordinul formulei Gauss-
Cebasev utilizate este

Ordin 2 3 4 5 6 7
(2.97)
I 3.556041 3.544605 3.545250 3.545205 3.545209 3.545208

Teoria functiilor eliptice furnizeaz a valoarea I = 3.54520849. Se observ a convergenta


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 scadere 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 din 2.1.1
si fig. 2.1). O astfel de comportare a erorii se numeste spectral a si, n comparatie 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 si n = 3
eroarea a avut o comportare = O(h0.7 ) pe c and ntre n = 16 si n = 17 comportarea
a fost = O(h640 ).
76 2. Derivarea si integrarea numerica

2.2.3 Tehnici de atingere a unei precizii impuse


Pentru toate formulele de integrare prezentate anterior s-a determinat si o ex-
presie a erorii de integrare. Tipic, forma acestei expresii este

= C f (k) () hm , (2.98)

unde C este o constant a. Sunt foarte rare nsa aplicatiile n care derivata este
cunoscuta. Dupa cum s-a mentionat, partea important a a expresiei (2.98) este
dependenta de pasul h. Intrebarea ce apare totdeauna ntr-o aplicatie este: cum
se poate stabili pasul h necesar atingerii unei precizii impuse ? Vom considera
acum cateva tehnici ce permit determinarea preciziei de integrare. O tr as
atura
importanta 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 convergentei aproxim arilor numerice
ale unei integrale este repetarea calculelor cu un pas mai mic. O tehnic a des
utilizata este njumatatirea pasului. Consider am intervalul [a, b] si o diviziune
echidistanta a sa n N p arti egale. Pasul diviziunii este hN = (b a)/N iar
(N )
nodurile sunt xj = a + jh, j = 0, N 3 . Prin njum at
atirea pasului obtinem
(2N ) (2N ) (N )
h2N = (b a)/2N , xj = a + jh, j = 0, 2N . Deoarece x2j = xj , j = 0, N ,
(2N ) (N ) (2N ) (2N ) (N ) (N )
rezulta y2j = yj unde y2j= f (x2j ),= yj f (xj ).
Deci valorile
functiei cunoscute din calculul efectuat cu pasul hN pot fi refolosite n calculul
efectuat cu pasul h2N . Noua aproximare a integralei se poate exprima recursiv
(2N )
utilizand vechea aproximare si valorile functiei f n noile noduri x2j+1 , j =
0, 2N 1. Sa 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 I obtinut a prin formula trape-
zelor (2.53) cu N intervale si prin T (h2N ) aproximarea obtinut
a cu 2N intervale.
2T (hN )/hN si 2T (h2N )/h2N sunt
h i
(N ) (N ) (N ) (N )
y0 + + 2y1 + . . . + 2yN 1 + + yN
h i ,
(2N ) (2N ) (2N ) (2N ) (2N ) (2N )
y0 + 2y1 + 2y2 + . . . + 2y2N 2 + 2y2N 1 + y2N

respectiv. Valorile egale au fost aliniate pe vertical


a. T
in
and cont c
a avem
h2N = hN /2 se obtine
N
1 X (2N )
T (h2N ) = T (hN ) + h2N y2j1 . (2.99)
2 j=1

3 Datorit
a operatiilor succesive de njum
at
atire este preferabil
a nceperii numerot
arii nodu-
rilor de la 0.
2.2. Integrarea numeric
a 77

Formula trapezelor furnizeaza o regula recursiv


a deosebit de simpl a datorita
faptului ca avem aceeasi coeficienti numerici la formulele din etapele N si 2N .
Pentru alte formule, regulile recursive sunt mai complicate datorit a alternantei
coeficientilor. Exemplificam modalitatea de abordare pentru formula Simpson
1/3. Vom nota prin S(h2N ) suma din (2.56). Deoarece formula lucreaz a
cu un numar par de intervale, vom face trecerea de la etapa 2N la etapa 4N .
Coeficientii asociati valorilor nodale sunt reprezentati grafic pe schema de mai
jos.

Valorile functiei ce trebuiesc calculate n etapa 4N sunt cele de indice im-


par. Pentru cele de indice par se pot refolosi rezultatele etapei 2N . Datorit a
alternantei coeficientilor 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)

h2N h (2N ) (2N ) (2N ) (2N )


i
Spar (h2N ) = y0 + 2y2 + . . . + 2y2N 2 + y2N , (2.101)
3

4h2N h (2N ) (2N ) (2N ) (2N )


i
Simpar (h2N ) = y1 + y3 + . . . + y2N 3 + y2N 1 . (2.102)
3
Regula recursiva de trecere la noua etap
a este
1 1
Spar (h4N ) = Spar (h2N ) + Simpar (h2N ), (2.103)
2 4
S(h4N ) = Spar (h4N ) + Simpar (h4N ) . (2.104)

Regulile recursive se folosesc n cadrul unei bucle de verificare a convergentei


aproximarilor. Exemplificam, pentru regula recursiv a Simpson 1/3, n algo-
ritmul de mai jos. In urma aplicarii algoritmului, se obtine un sir de aproximatii
ale integralei S1 , S2 , . . . , SM calculate cu 21 , 22 , . . . , 2M subintervale.

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 si integrarea numerica

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
 (2.105)

Simpar Simpar + f (x)

x x + doih
Simpar 4hSimpar /3
SM Spar + Simpar
pana cand |SM SM 1 | |SM | + S sau M > Mmax .
Conditia de oprire a iteratiei este cea de atingere a unei erori relative impuse
|(SM SM 1 )/SM | , (2.106)

transcrisa convenabil pentru a permite si SM = 04 (sau foarte mic). In plus, se


impune un numar maximal de subdiviz ari Mmax ce nu trebuie depasit.

Extrapolarea Richardson.
Sunt multe situatii n care evaluarea functiei f este costisitoare si este de dorit
obtinerea unei precizii sporite cu un num ar minim de evalu ari ale functiei. Vom
considera acum un procedeu de mbun at
atire a aproximatiilor ce se bazeaz a pe
cunoasterea 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)
Injumatatind pasul avem

I = T (h/2) + Cf (2) (2 )h2 /4 , (2.108)

cu 1 6= 2 n general. Dac
a se poate presupune ns a f (2) (1 )
a c = f (2) (2 )5 se
(2)
poate elimina Cf (1 ) din cele dou a ecuatii de mai sus si obtine
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)
cu k > 2. Acelasi 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 este denumit coeficient de siguranta si permite oprirea iteratiilor si c
and SM = 0.
S
Uzual se ia S = si conditia de oprire a iteratiilor se scrie |SM SM 1 | (1 + |SM |).
5 Presupunerea f (2) ( ) f (2) ( ) implica fie ca 1 nu difer
a de 2 fie ca f (2) (x) nu are
1 = 2
variatii 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
(2m)
a o cale de a justifica acest pas pentru functii netede, f C
ns [a, b]. Punctul
de pornire l constituie formula Euler-MacLaurin6
Z 1 m1
F (0) + F (1) X h i
F (t) dt = + A2k F (2k1) (0) F (2k1) (1) A2m F (2m) (0 ),
0 2
k=1

cu 0 [0, 1] si A2k constante numerice. Aplic


am formula pentru F (t) = f (xj +
t h) si obtinem
Z xj+1 m1
h [f (xj ) + f (xj+1 )] X h i
f (x) dx = + A2k h2k f (2k1) (xj ) f (2k1) (xj+1 )
xj 2
k=1
2m+1 (2m)
A2m h f (i ) .
P2N 1
Prin sumarea j=0 , se obtine
N
Z b 2X 1 m1
h [f (xj ) + f (xj+1 )] X h i
f (x) dx = + A2k h2k f (2k1) (a) f (2k1) (b)
a j=0
2
k=1
2m (2m)
A2m (b a)h f () .

Prima suma este chiar aproximarea prin formula trapezelor T (h), astfel nc at
avem
Z b
I= f (x) dx = T (h) + a2 h2 + a4 h4 + . . . + a2m h2m f (2m) () . (2.113)
a

De data aceasta, observam ca s-a obtinut un coeficient a2 al primului ter-


men din eroare, ce este constant. Ca atare, extrapolarea Richardson este justi-
a. De fapt procedeul de extrapolare poate fi repetat de m 1 ori. Aceast
ficat a
combinatie dintre regula trapezelor recursiv
a si extrapolare Richardson este cu-
noscuta ca metoda Romberg. Fie R(n, m) estimarea integralei obtinut a cu 2n su-
bintervale si m etape de extrapolare Richardson. Avem R(n, 0) = T ((b a)/2n )
si
1
R(n, m) = R(n, m 1) + [R(n, m 1) R(n 1, m 1)] . (2.114)
4m 1
In scrierea programelor de calcul, este recomandat a utilizarea formei de mai sus
n care se adauga o corectie R(n, m 1) R(n 1, m 1), la o aproximatie deja
efectuata R(n, m 1), spre deosebire de forma
4m 1
R(n, m) = m
R(n, m 1) m R(n 1, m 1) . (2.115)
4 1 4 1
6 Formula rezulta din integrarea prin p arti repetata si alegerea convenabil
a a constantelor
1 R
de integrare: 01 F (t) dt = (t 12 )F (t) 0 01 (t 12 ) F 0 (t) dt = . . .
R 
80 2. Derivarea si integrarea numerica

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) (2.116)
.. .. .. ..
. . . .
R(M, 0) R(M, 1) R(M, 2) R(M, M )

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 functiei f sunt necesare doar pen-
tru prima coloana ce contine 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


R(n, 0) R(n, 0) + f (x)

x x + doih
R(n, 0) R(n 1, 0)/2 + h R(n, 0)

AtinsPrecizie f als; m 0; putere4 1

repeta


putere4 4 putere4; m m + 1
dif R(n, m 1) R(n 1, m 1)

R(n, m) R(n, m 1) + dif / (putere4 1)

AtinsPrecizie |R(n, m) R(n, m 1)| (1 + |R(n, m 1)|)
pana cand m > n sau AtinsPrecizie
pana cand AtinsPrecizie sau n > nmax .

Partea cea mai sensibila a algoritmului este stabilirea unei conditii de oprire.
Cea de mai sus este simpl a dar functioneaza bine doar pentru functii netede.
In aplicatii ale procedeului trebuie atent esantionat a functia de sub integral a
pentru a determina prezenta unor singularit ati sau zone de variatii rapide ce ar
mpiedica ameliorarea aproximatiilor prin extrapolarea Richardson.

Integrarea adaptiv
a.
Pe langa atingerea unei precizii impuse, n practic a, se doreste atingerea acestei
precizii cu un numar minim de evalu ari ale functiei f. Algoritmii considerati
pana acum prezinta dezavantajul c a realizeaza o diviziune a ntregului interval
de integrare. Ori, este adesea cazul c a subdivizarea este necesar a numai pe zone
restranse, de variatie mai rapida a functiei f (fig. 2.3). Strategia adecvat a este
de verificare a ndeplinirii unei conditii de eroare pe fiecare subinterval n parte
si de subdivizare numai a acelor subintervale pe care aceast a conditie nu este
ndeplinita.
2.2. Integrarea numeric
a 81

Algoritmul poate fi exprimat elegant sub form a recursiv


a. Fie F o formul a
Rb
de integrare pe care o vom aplica pentru a calcula a f (x) dx, cu eroarea relativ a
. Notam prin P (F, a, b, ya , yb , ) functia de integrare adaptiv a. S-au introdus
ca argumente si ya f (a), yb f (b), pentru a se putea refolosi evalu arile de
functie 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 (2.117)

daca |Inou Iab | (1 + |Inou |) atunci P Inou
altfel P P (F, a, c, ya , yc , ) + P (F, c, b, yc , yb , )

Pentru intervalul [a, b], se efectueaz a doua evalu


ari ale integralei, folosind for-
mula F . Prima Iab utilizeaza tot intervalul, cealalt a Inou utilizeaz
a o divizare n
doua a intervalului. Daca, ntre cele dou a evalu
ari conditia de eroarea relativ a
este ndeplinita, se accepta evaluarea mai precisa Inou . Altfel se repeta aplica-
rea procedeului pe cele doua subintervale [a, c], [c, b]. Procedeul se zice recursiv
deoarece functia P se autoapeleaz a.
Integrarea adaptiva poate fi cuplat a cu oricare dintre formulele de integrare
prezentate anterior. Pentru formula Simpson 1/3 avem

F (a, b, ya , yb )

h (b a)/2, ym f (a + h)
, (2.118)
F h (ya + 4ym + yb )/3

iar pentru formula Gauss-Legendre de ordinul III (vezi tabel 2.1):

F (a, b, ya , yb )
p p
z1 = 3/5, z2 = 0, z3 = 3/5
A1 = 5/9, A2 = 8/9, A3 = 5/9

m (b a)/2, n (a + b)/2

j=1:3 . (2.119)

xj = m zj + n
F m (A1 f (x1 ) + A2 f (x2 ) + A3 f (x3 ))

Exemplu 1. Consideram integrala


Z 10
1 1
I= f (x)dx, f (x) = + (2.120)
0 (x 1)2 + 0.01 (x 3)2 + 0.04
ce se poate evalua analitic, I = 45.54044. Ne propunem s
a comparam diversele metode
de integrare pe acest caz. Impunem atingerea unei erori relative de = 106 (6 cifre
semnificative exacte). Prin regulile recursive, pentru formula trapezelor si formula
Simpson 1/3, se obtin rezultatele din tabelul urm
ator.
82 2. Derivarea si integrarea numerica

Figura 2.3: O functie cu variatii rapide n jurul absciselor x = 1, x = 3 si lente n


rest. Sunt figurate pe axa absciselor si pe graficul functiei nodurile folosite la integrarea
adaptiva cu formula Simpson 1/3.

M trapeze Simpson 1/3 M trapeze Simpson 1/3


1 4.38356 14.67353 7 45.54563 45.53835
2 12.10104 30.84147 8 45.54017 45.54044
(2.121)
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

cu 2049 de apeluri ale functiei f pentru formula trapezelor si 1025 pentru formula
Simpson pan
a la atingerea erorii impuse.
Aplic
am acum extrapolarea Richardson asupra rezultatelor de la metoda trapezelor
(metoda Romberg). Se obtine tabelul de mai jos.

nm 0 1 2 3 4
0 5.667271
1 4.383564 3.955662
(2.122)
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

Algoritmul se opreste la n = 4, m = 4, deoarece corectia adus a de extrapolare este


mica, 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. Functia f
prezinta dou a puncte de variatie foarte rapid
a, la x = 1 si x = 3. Acestea apar ca niste
singularitati dac
a rata de esantionare a functiei f nu 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 obtin rezultatele

Formula Trapeze Simpson 1/3 GL II GL III GL IV


I 45.5419 45.5405 45.5404 45.5405 45.5404 (2.123)
evalu
ari f 839 557 877 573 485

unde prin GLn s-a notat formula Gauss-Legendre de ordinul n. Procedeul adap-
tiv determin a n general corect cele 6 cifre semnificative cerute. Exceptie face doar
metoda trapezelor. Nesatisfacerea preciziei n acest caz este rezultatul conditiei de
oprire a iteratiilor. S-a presupus necunoscut a valoarea exact a si s-au comparat dou a
aproximatii 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
and n . Exemplul de aici ne arat
c a pericolul identific arii aproprierii dintre dou a
aproximatii cu aproprierea aproximatiilor de solutia exact a. Pentru a preveni o esti-
mare eronat a a preciziei cu care s-a determinat un rezultat trebuie impus a o conditie
de eroare mai strict a decat cea dorit a efectiv n rezultatul final. Ref ac
and calculul cu
= 107 se obtine I = 45.5407 pentru metoda trapezelor cu 1801 evalu ari ale functiei
f.
Num arul de evalu ari de functie scade cu cresterea ordinului de integrare. C astigul
devine din ce n ce mai mic ns a. Diferenta de num ar de evaluari ntre Simpson 1/3 si
GLII ce sunt procedee cu comport ari comparabile ale erorii provine de la posibilitatea
reutilizarii nodurilor n formula Simpson. La formulele Gauss-Legendre modificarea
intervalului conduce si la modificarea pozitiei nodurilor.
Prin comparatie cu regula recursiv a Simpson se observ a reducerea semnificativ aa
num arului de evalu ari ale functiei f n cazul procedurii adaptive ce utilizeaz a formula
Simpson 1/3. Nodurile folosite pentru atingerea unei erori relative de = 103 sunt
reprezentate n fig. 2.3. Se observ a ndesirea nodurilor n zonele de variatie rapid a
a functiei. Pentru obtinerea aceleasi precizii regula recursiv a Simpson mparte tot
intervalul cu aceesi finete rezult and multe evalu ari ale functiei inutile, n zonele de
variatie lenta.
Exemplul 2. Fie acum integrala
Z 10
1 1
I= f (x)dx, f (x) = + (2.124)
0 (x 1)2 +1 (x 3) 2 +4

ce are valoarea exact


a I = 3.38318. Functia este aseman
atoare celei din exemplu
precedent dar are un aspect mult mai neted. Procedeul Romberg furnizeaza tabelul:

nm 0 1 2 3 4 5
0 3.039931
1 2.439083 2.238800
2 2.737904 2.837511 2.877425
3 3.326170 3.522259 3.567908 3.578868
4 3.365313 3.378361 3.368768 3.365607 3.364771
5 3.378763 3.383246 3.383572 3.383807 3.383878 3.383897
6 3.382077 3.383182 3.383178 3.383172 3.383169
84 2. Derivarea si integrarea numerica

Valoarea la care s-a ndeplinit conditia de eroare este I = 3.38317 dup a 65 de evalu ari
ale functiei f. Functia fiind neted
a extrapolarea Richardson functioneaz a corect obtin
andu-
se si un efort de calcul mult inferior celor 1025 de evaluari de functie necesare atingerii
aceleasi precizii prin regula trapezelor recursiv a (de 16 ori mai putine calcule!).
85

Capitolul 3

Rezolvarea ecuatiilor
neliniare

Vom aborda, la nceput problema g asirii r


ad
acinilor reale ale unei functii
F (x), definita pe un interval [a, b], adic
a a valorilor variabilei x pentru care are
loc relatia
F (x) = 0, x [a, b]. (3.1)
Dac a F (x) este o functie liniara problema este banal a si admite o solutie ana-
litica. Ca atare vom presupune c a F (x) este neliniara, caz n care problema
devine dificila datorita absentei vreunei teoreme matematice ce s a furnizeze
numarul radacinilor sau vecinatatile n care acestea se afl a n cazul general.
De aceea o prima etapa n rezolvarea ecuatiei (3.1) este c autarea r adacinilor
pentru care se folosesc rezultate din analiza matematic a, precum teorema lui
Rolle, sau esantionarea functiei F (x). Dup a determinarea intervalelor pe care
se afla radacini se trece la restrangerea acestor intervale, proces cunoscut si sub
denumirea de localizare a r adacinilor. Localizarea r adacinilor se efectueaz a de
regula prin procedee sigure dar nu deosebit de eficiente. Pentru a obtine rapid
o precizie ridicata a aproximatiei unei r ad
acini se efectueaz a o ultim a etap
a de
rafinare a r adacinilor.
Uzual, procedeele de rezolvare a ecuatiei (3.1) furnizeaz a un sir de aproximatii
{xn }nN ce tinde catre o radacin a . In analiza acestor procedee este util s a se
86 3. Rezolvarea ecuat
iilor neliniare

stabileasca o modalitate de cuantificare a rapiditatii cu care sirul tinde catre li-


mita. Spunem ca sirul {xn }nN converge liniar c
atre dac a exist a c < 1, N N
astfel ncat

|xn+1 | c |xn | , n>N. (3.2)

Sirul {xn }nN converge p


atratic c
atre dac
a exist
a C, N astfel nc
at
2
|xn+1 a| C |xn a| , n>N. (3.3)

Analog se pot defini ordine de convergenta superioare, exist


and ns
a, un num ar
mic de algoritmi ce au ordine de convergent a mai mari de 2. Multe metode
prezinta un ordin de convergenta intermediar ntre cel liniar si cel p
atratic.
Spunem ca sirul {xn }nN converge superliniar catre daca exista N si un alt
sir {n }nN cu 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 iteratii ce trebuiesc efectuate


pentru a atinge o anumit a precizie. Metodele cu ordin de convergent a mai
ridicat tind sa efectueze mai multe operatii aritmetice pe iteratie. De aceea este
necesara si o cuantificare a efortului de calcul ntr-o iteratie pentru a avea o
estimare realista a timpului de calcul. Uzual, unitatea de lucru adoptat a este
numarul de evaluari ale functiei F (x) ntr-o iteratie.

3.1 Metoda njum


at
atirii intervalelor
Metoda este exemplul clasic de un procedeu de localizare. Vom presupune c a
din etapa de cautare s-a determinat un interval [a, b] pentru care F (a)F (b) < 0,
ceea ce denota existenta a cel putin unei radacini (eventual un num ar impar) n
acest interval. Metoda njum at
atirii mparte intervalul n dou
a p
arti egale prin
punctul

c = (a + b)/2 . (3.5)

Daca F (c) = 0, atunci c este o r adacin


a. Daca F (c) 6= 0, se calculeaza semnul
produsului F (a)F (c). Dac a acesta este negativ, F (a)F (c) < 0, atunci r ad
acina
se afla 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 functie per iteratie. Con-
vergenta este nsa doar liniar a (c = 1/2 n 3.2), algoritmul efectu and tipic un
3.2. Procedee iterative 87

mare numar de iteratii. Algoritmul este


Fa F (a); Fb F (b); m 0; e b a
repet
a
e 0.5e; c a + e; Fc = F (c)
daca semn(Fa ) = semn(Fc ) atunci


[b c; Fb Fc (3.6)
altfel

[a c; Fa Fc
mm+1
pana cand m > mmax sau |b a| < sau |Fc | <

Se poate observa utilizarea a unui cumul de trei conditii de oprire: dep asirea
numarului maxim de iteratii, restrangerea intervalului sub un prag ales , sau
obtinerea unei valori a functiei mai mici dec at numarul mic . In algoritm
valoarea c este actualizata prin ad
agarea unei mici corectii e, spre deosebire de
transcrierea directa a formulei (3.5). Aceasta conduce tipic la un control mai
bun al erorilor numerice pe parcursul iteratiilor.

3.2 Procedee iterative


Metoda njumatatirii intervalului este simpla dar converge lent, deci nu este
indicata atunci cand se doreste o precizie ridicat a (un num ar mare de cifre
semnificative exacte). De obicei, metoda njum at
atirii intervalului serveste pen-
tru stabilirea intervalului pe care exist a o r
adacina real a, dup
a care se aplic a
procedee care converg mai rapid.

3.2.1 Iteratia simpl


a
Se scrie ecuatia (3.1) sub forma

F (x) = x f (x) = 0 , (3.7)

unde f (x) se numeste functie iterat


a, iar [a, b] este un interval pe care stim
c
a exist
a o radacina x = (separat
a, spre exemplu, cu metoda njum atatirii
intervalelor). Prin urmare

F () = f () = 0, (a, b). (3.8)

Se construieste urmatorul sir, n mod recurent,

xk+1 = f (xk ), k = 0, 1, 2, . . . . (3.9)

Vom cauta sa stabilim n ce conditii sirul (3.9) converge spre valorea , plec
and
de la un punct arbitrar x0 (a, b). In acest scop, vom calcula distanta la
r
ad
acina

|xk+1 | = |f (xk ) f ()| = |f 0 ()| |xk | , (xk , ) . (3.10)


88 3. Rezolvarea ecuat
iilor neliniare

Am tinut seama ca este r


adacin
a, si am folosit formula cresterilor finite (La-
grange) presupunand ca f (x) este derivabila pe intervalul (a, b). Not and cu m
cea mai mare valoare a modulului derivatei f 0(x)

m = sup |f 0 (x)| , (3.11)


x(a,b)

din (3.10) se obtine

|xk+1 | m |xk | . (3.12)

Rezulta ca, pentru ca sirul xk+1 s


a aib
a ca limit
a pe este suficient ca

m < 1, (3.13)

convergenta procedeului fiind liniar a. Conditia (3.13) este si necesar a daca


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
radacinii , inclusa n intervalul pe care c autam r acina. Sirul (3.9) defineste
ad
un procedeu de determinare a unei r adacini reale denumit iteratie simpl a. Forma
(3.7) a ecuatiei are o interpretare geometric a simpla, ilustrata n fig. 3.1. Se
observa ca, radacinile reale, dac
a exist a, se g
asesc la intersectia functiei y = f (x)
cu prima bisectoare. Plec and dintr-un punct x0 , este accesibil a doar r adacina
x = 2 n vecinatatea c areia |f 0 (x)| < 1. Pe de alt a parte |f 0 (x0 )| > 1 deci
conditia (3.13) nu este ntodeauna necesar a. Pentru oprirea iteratiilor un criteriu
simplu este ca distanta ntre doua aproximatii succesive sa fie suficient de mic a.
Fie precizia dorita si n + 1 rangul ultimei iteratii astfel nc at

|xn+1 xn | . (3.14)

Mai departe, se obtine succesiv

|xn+1 xn | = |f (xn ) xn | = |F (xn )| = |F (xn ) F ()| = (3.15)


|xn | |F 0 (n )| = |xn | |1 f 0 (n )| |xn | |1 m| (3.16)

T
inand, mai departe cont de (vezi si 3.10)

|xn+1 | m |xn | , |xn | m/(1 m) (3.17)

rezulta ca distanta la r
ad
acina ultimei valori calculate, xn+1 satisface inegalita-
tea

|xn+1 | m/(1 m) . (3.18)

In consecinta, dac
a panta m este foarte apropiat a de unitate, distanta la
radacina poate fi de alt ordin de marime dec at ales. In particular, daca nu
s-a verificat conditia de existent
a a r
adacinii, 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 0 (x)|.
3.2. Procedee iterative 89

Figura 3.1: (a) Exemplu de convergenta a iteratiei simple. (b) Exemplu de divergenta
a iteratiei simple.

3.2.2 Metoda Newton-Raphson


Conditia (3.13) este destul de restrictiv
a, anumite r
adacini neput
and fi atinse
(cum ar fi radacina corespunzatoare punctului A din 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 obtine


iteratia simpla. Pe de alta parte, distanta la r
ad
acin
a este

|xk+1 | |xk + (f (xk ) f () + xk )| = (3.20)

|xk | |1 (1 f 0 (k ))| , k (xk , ) . (3.21)

Pentru a realiza convergenta sirului (4.15) este suficient s


a avem

|1 (1 f 0 (x))| < 1, x (a, b) (3.22)

pe intervalul unde cautam radacina. Se observa c


a am nlocuit k cu x, deoarece
k este, n general, necunoscut. In particular, daca am cunoaste k , lu
and

= 1/ [1 f 0 (k )] (3.23)

am avea xk+1 = , adica radacina ar fi determinat


a.
Pentru k = xk , din (3.23) si (3.19), se obtine formula iterativ
a Newton-
Raphson

xk+1 = xk F (xk )/F 0 (xk ), k = 0, 1, . . . , F 0 (xk ) 6= 0 , (3.24)


90 3. Rezolvarea ecuat
iilor neliniare

ale carei conditii de convergent a le vom preciza mai jos. Din punct de ve-
dere geometric, procedeul iterativ (3.24) corespunde apropierii de r adacin
a prin
punctele de intersectie ale tangentelor duse la curba F (x) n punctele (xk , F (xk ))
(fig. 3.2). Altfel spus, urm atoarea aproximatie a r adacinii xk+1 este data de
radacina unei liniariz ari a functiei F (x). Aceeasi idee, de aproximare local a
liniara, rezulta si pe cale analitic
a din formula lui Taylor

F (x) = F (xk ) + (x xk )F 0 (xk ) + (x xk )2 F 00 (k )/2, k (x, xk ) . (3.25)

Aproximarea liniara a functiei F (x) va fi

L(x) = F (xk ) + (x xk )F 0 (xk ) , (3.26)

ce are radacina data de formula (3.24).


Stabilim acum conditiile de convergent
a a metodei Newton-Raphson. Pentru
x = , din (3.25) rezult a

0 = F (xk ) + ( xk )F 0 (xk ) + ( xk )2 F 00 (k )/2 . (3.27)

sau, considerand F 0 (xk ) diferit de zero,

F (xk ) (xk )2 00
= xk 0
F (k ) . (3.28)
F (xk ) 2F 0 (xk )

Scazand relatiile (3.24) si (3.28) se obtine distanta la r


ad
acin
a n aproximatia
k+1

|xk+1 | = (xk )2 |F 00 (k )/F 0 (xk )| /2 M (xk )2 , (3.29)

unde am notat cu M marginea

M= sup |F 00 (x00 )/F 0 (x0 )| , F 0 (x0 ) 6= 0 . (3.30)


x0 ,x00 (a,b)

Relatia (3.29) arata ca de la o etapa k la o etapa k+1 distanta scade aproximativ


cu patratul distantei la rad acina din etapa precedent a, adic
a metoda Newton-
Raphson are o vitez a de convergent a patratic
a, superioara aproximatiei simple.
Efortul de calcul este de dou a unitati de lucru deoarece la fiecare iteratie se
evalueaza atat functia cat si derivata acesteia. Astfel, not and cu x0 punctul de
start, se obtine
2k+1
|xk+1 | M 1 [M (x0 )] . (3.31)

In consecinta, o conditie suficient


a de convergent
a este

M |x0 | < 1 . (3.32)

Daca M este finit, conditia (3.32) este satisf


acut
a ntotdeauna dac
a plec
am su-
ficient de aproape de radacina. Alta conditie de convergenta pentru metoda
3.2. Procedee iterative 91

Figura 3.2: Reprezentarea geometrica a iteratiilor din metoda Newton-Raphson (a)


si secantei (b).

Newton-Raphson este urmatoarea: metoda converge ntotdeauna dac a n ve-


cin
atatea r
adacinii derivatele F 0 (x) si F 00 (x) p
astreaz a un semn constant.
Daca s-a stabilit ca intervalul pe care se g aseste r
adacina este (a, b), se poate
pleca cu aproximatia initiala

x0 = (a + b)/2 . (3.33)

Se recomanda ca n orice etapa sa controlam ntre ce valori se g


aseste r
adacina,
tangenta putand fi dusa dintr-un cap at al intervalului sau din cel alalt (dac a
noua valoare calculata cu (3.24) iese n afara intervalului n care se g aseste
r
adacina). Daca se iese din interval indiferent de capatul unde se duce tangenta,
se recomanda o noua njumatatire a intervalului.

3.2.3 Metoda secantei


Metoda Newton-Raphson prezinta dezavantajul necesit atii cunoasterii derivatei
functiei F (x). Putem nsa nlocui linearizarea ce foloseste tangenta la graficul
functiei cu cea ce foloseste secanta construit a cu dou a iteratii succesive (fig.
3.2). Formula de iterare este

xk+1 = xk (xk xk1 ) F (xk )/ [F (xk ) F (xk1 )] , (3.34)

ceea ce revine la a nlocui

F 0 (xk )
= [F (xk ) F (xk1 )] / (xk xk1 ) (3.35)

n (3.24), adica o aproximare cu diferente finite a derivatei. Pentru pornirea


metodei este nevoie de doua valori x0 , x1 . Uzual, dac a se cunoaste intervalul
[a, b] pe care se afla o radacina, se ia x0 = a, x1 = b. In acest caz metoda poate
fi interpretata ca o mbunatatire a metodei njum at
atirii intervalului prin faptul
92 3. Rezolvarea ecuat
iilor neliniare

ca mparte intervalul [a, b] n segmente proportionale, dintre care cel mai mic
contine radacina (fig. 3.3).
In vederea analizei convergentei metodei notam Fk = F (xk ) si ek = xk ,
eroarea n iteratia k. Avem
(xk xk1 ) Fk Fk ek1 Fk1 ek
ek+1 = xk+1 = xk = . (3.36)
Fk Fk1 Fk Fk1

and raportul unitar (xk xk1 )/(xk


Dand factor comun fortat pe ek ek1 si inser
xk1 ) se obtine
  
xk xk1 Fk /ek Fk1 /ek1
ek+1 = ek ek1 . (3.37)
Fk Fk1 xk xk1
Dezvoltarea n serie Taylor n jurul r
ad
acinii

F (xk ) = F ( + ek ) = F () + ek F 0 () + e2k F 00 ()/2 + O(e3k ) (3.38)

conduce la

Fk /ek = F 0 () + ek F 00 ()/2 + O(e2k ) . (3.39)

Inlocuind n (3.37) se obtine relatia de recurent


a n erori

ek+1
= [F 00 ()/2F 0 ()] ek ek1 , (3.40)

asem anatoare relatiei (3.29) de la procedeul Newton-Raphson. In deducerea


relatiei (3.40) s-a nlocuit aproximarea prin diferente finite a derivatei cu F 0 ().
Relatia sugereaza un ordin de convergent a mai mare dec at liniar dar sub cel
patratic
p
|ek+1 | = A |ek | . (3.41)

p 1/p
Avem |ek | = A |ek1 | de unde |ek1 | = A1 |ek | . Inlocuind n (3.40) vom
obtine

2A1+1/p |F 0 ()| / |F 00 ()|


1p+1/p
= |ek | . (3.42)

and n membrul drept ek 0. Singura


Membrul stang este n general finit pe c
posibilitate ca relatia s
a r
am
an
a valabil
a pe masur
a ce k creste este ca

1 p + 1/p = 0 (3.43)

ceea conduce la p = (1 + 5)/2 = 1.62, ordinul de convergent a al metodei
secantei. Valoarea obtinut a ar indica o convergent a mai lent
a decat metoda
Newton-Raphson. Ins a, n fiecare iteratie metoda secantei efectueaz a o singura
evaluare a functiei F . Pentru dou a iteratii ale metodei secantei (pentru a avea
acelasi efort de calcul ca si metoda Newton-Raphson), ordinul de convergent a ar
fi p2
= 2.62, metoda secantei fiind mai rapida dec
a t metoda Newton-Raphson.
3.2. Procedee iterative 93

Figura 3.3: (a) Metoda secantei restrange intervalul pe care se afla radacina la (x2 , x1 ),
mai mic dec at intervalul (c, b) furnizat de metoda njum
at
atirii. (b) Metoda parabo-
lelor tangente restr ange rapid, din ambele capete, intervalul pe care se afl a rad
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 locala a functiei F (x). Imediat este sugerat a ideea construirii unei
metode mai rapid convergente prin folosirea unei aproximari locale mai exacte,
de exemplu prin parabole. O parabol a ce aproximeaz a local functia F (x) s-ar
putea obtine din trunchierea dezvolt arii n serie Taylor

F (x)
= F (xk ) + (x xk )F 0 (xk ) + (x xk )2 F 00 (k )/2 . (3.44)

Aparitia derivatei de ordinul doi este dezavantajoas a ns


a, datorita pierderii de
precizie.
Mai convenabil este sa se construiasc a o parabol a ce foloseste informatii din
doua puncte ale functiei. Daca acestea se aleg ca fiind capetele intervalului [a, b]
pe care stim ca se afla o radacina se obtine o metod a foarte rapid convergent a1 .
Vom construi doua parabole care trec prin (a, F (a)), (b, F (b)), una fiind tangent a
la F (x) n x = a, cealalta fiind tangent a la F (x) n x = b (fig. 3.3). Se consi-
der
a ca F (x) are derivate continui p ana la ordinul 3 inclusiv (F (x) C 3 [a, b]).
Parabolele se exprima ca polinoamele de gradul doi pi (x), i {1, 2}, de forma

pi (x) = Ai x2 + Bi x + Ci . (3.45)

Coeficientii Ai , Bi ,Ci , i {1, 2}, sunt determinati din conditiile

p1 (a) = F (a), p1 (b) = F (b), p01 (a) = F 0 (a) . (3.46)


p2 (a) = F (a), p2 (b) = F (b), p02 (b) = F 0 (b) . (3.47)
1 Metoda a fost elaborat
a de prof. M. Blumenfeld, 1977.
94 3. Rezolvarea ecuat
iilor neliniare

Notand cu i abaterea polinomului pi (x) fat


a de functia F (x), i (x) = F (x)
pi (x), se obtin relatiile
1 (x) = (x a)2 100 (1 )/2, 2 (x) = (x b)2 200 (2 )/2, (3.48)
cu 1 (a, x), 2 (x, b). Dac a derivata i000 (x) 000
= F (x) este diferit
a de zero pe
(a, b), rezulta ca derivatele i00 (x) sunt monotone pe (a, b) si se pot anula n cel
mult un punct. Sa consider am, spre exemplu, abaterea 1 (x). Deoarece 1 (b) =
0, rezulta ca 100 (1b ) = 0, adic a 100 = 0 pentru valoarea 1b care corespunde
lui x = b. In mod similar se obtine o singur a valoare 2a care anuleaza pe 200 .
T inand cont de (3.48), se deduc inegalit atile
F 000 (x)1 (x) < 0, F 000 (x)2 (x) > 0, (3.49)
pentru F 000 (x) 6= 0 de unde rezult a pentru x (a, b)
a c
1 (x)2 (x) < 0 . (3.50)
In consecinta, daca derivata F 000 (x) nu se anuleaz a pe (a, b), F (x) se g
aseste
ntre cele doua parabole tangente definite de (3.46,3.47).
Solutia ecuatiei p1 (x) = 0, care se g
aseste n intervalul (a, b) este
hp i
x0 = a + 2l(b a)/ k 2 + 4l(k + 1) k , k 2 + 4l(k + 1) 0, (3.51)

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


La aplicarea algoritmului, se utilizeaz a o singura formul
a, schimband capatul
de tangenta, pentru a obtine un sir care converge spre r adacin
a cu valori din
ambele parti (n masura n care F 000 (x) p
astreaza un semn constant).
Exemplul 1. S
a se g
aseasc
a r
ad
acinile reale ale ecuatiei
F (x) x ln |x| 1.2 = 0 (3.53)
situate n intervalul (1, 2).
Rezolvare. Pentru etapa initial
a de c
autare folosim sirul lui Rolle sintetizat n
urmatorul tabel
x 1 0 1 2
F (x) -2.2 % + | + & -0.2 % 0.107
F 0 (x) 2 + + | - 0 + 0.5
F 00 (x) + + + | + + +

Se deduce prezenta 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 astreaza semnul functiei F .
Cum F (0.1) = 1.00259 > 0 si F (0.1) = 1.20259 > 0, vom considera intervalele
(1, 0.1), (0.1, 1) si (1, 2). Am ncheiat etapa de c autare a radacinilor. Trecem
la restrangerea intervalelor sau localizarea acestora. Pentru aceast a etap a utiliz
am
njum at
atirea intervalelor. Nu se recomand a efectuarea unui mare num ar de iteratii.
Patru iteratii ale metodei conduc la intervalele precizate n tabelul urm ator pentru
prima r adacina
3.2. Procedee iterative 95

k ak ck bk f (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 asemanator furnizeaz


a intervalele (0.4375, 0.49375) si (1.75, 1.78125) pen-
tru celelalte doua r
adacini. Valorile functiei la mijloacele acestor dou a intervale sunt
f (0.465625) = 0.0299 si f (1.765625) = 0.00288, suficient de mici. S-a ncheiat etapa
de localizare a r
adacinilor.
Pentru rafinarea rad
acinilor vom compara mai multe metode. Iteratia simpl a con-
duce la relatia

xk+1 = f (xk ) = ln |xk | + 1.2 (3.54)


0
cu m = |f (x)| = 1/ |x| < 1 doar pentru intervalul (1.75, 1.78125). Pentru celelalte
doua intervale se poate folosi modificarea iteratiei 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 iteratiei simple cu metoda Newton-Raphson si a secantei. Ne propu-
nem determinarea r adacinilor cu sase cifre semnificative exacte si astfel nc
at valoarea
functiei s a de 107 . Primele c
a fie mai mic ateva iteratii sunt redate n tabelul urmator.

k = 0.1 secant
a Newton = 0.5 secant
a Newton
0 -0.240625 -0.240625 -0.240625 0.465625 0.465625 0.465625
1 -0.239014 -0.268750 -0.237501 0.480625 0.437500 0.491765
2 -0.238236 -0.238841 -0.237517 0.487271 0.493294 0.493235
3 -0.237862 -0.237449 0.490374 0.493245 0.493239
4 -0.237682 -0.237517 0.491855 0.493239
5 -0.237596 0.492568
6 -0.237555 0.492913

=1 secant
a Newton
1.765625 1.765625 1.765625
1.768505 1.772176 1.772266
1.770134 1.772250 1.772250
1.771055 1.772250
1.771869
1.772228
1.772248

Iteratiile au fost oprite n momentul atingerii conditiilor impuse. Metodele de


iteratie simpla au necesitat 18, 18 si 20 de iteratii p
an
a la atingerea acestor conditii.
96 3. Rezolvarea ecuat
iilor neliniare

Se observ
a convergenta mult mai rapid
a a metodelor Newton si secant a fat
a de iteratia
simpla. Metoda Newton converge n general mai repede, ns a metoda secantei reali-
zeaz
a num arul minim de evalu
ari de functie p
an
a la atingerea preciziei impuse.
Exemplu 2. S a se determine r
adacina ecuatiei
F (x) = ex cos x = 0

cuprinsa 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) este x0 = 0.17271412. Din acest punct de start se obtine r ad
acina evident a
din x = 0. Efectu am totusi calculul pentru a compara cele dou a metode. Iteratiile
succesive sunt
k xk Newton xk Parabole tangente
1 0.0419823 0.0376656
2 0.0016474 -0.0001885
3 0.0000027 0.0000000

Se observ
a convergenta mai rapida c
atre solutie a metodei parabolelor tangente pe
acest exemplu.

3.3 Determinarea r
ad
acinilor polinoamelor
Metodele prezentate anterior permit determinarea r adacinilor unei functii F (x)
oarecare. Daca functia F (x) are o form a particulara se pot elabora algoritmi
mai performanti ce exploateaz a acest fapt. Spre exemplu, metodele anterioare
necesita o aproximare initial
a a unei r
ad
acini si nu pot garanta obtinerea tuturor
radacinilor functiei F (x). Dac
a F (x) este o functie polinomial a cu coeficienti
reali se pot elabora metode care permit determinarea tuturor r adacinilor far
aa
fi nevoie de furnizarea unor aproximatii initiale.

3.3.1 Metoda Lobacevschi-Graeffe


Se consider
a polinomul Pn (x) de gradul n, cu coeficienti reali
n
X n
Y
j
Pn (x) = anj x = a0 (x xj ), a0 6= 0 , (3.56)
j=0 j=1

avand radacinile xj , j = 1, 2, . . . , n, reale sau complex conjugate (coeficientii aj


fiind numere reale). Reamintim prima relatie Vieta care furnizeaz a o legatur a
dintre coeficientii unui polinom si r adacinile acestuia
x1 + x2 + . . . + xn = a1 /a0 . (3.57)
Daca una din radacini, s a zicem x1 , ar fi mult mai mare n modul dec
at toate
celelalte, |x1 |  |xj |, j = 2, n, relatia (3.57) ar conduce la
x1
= a1 /a0 , (3.58)
3.3. Determinarea r
ad
acinilor polinoamelor 97

iar radacina x1 se zice preponderent a. In general, nu vom putea presupune


c
a un polinom oarecare are o rad acin
a preponderent a. Dac a ns
a una dintre
r
adacini este mai mare n modul dec at toate celelalte |x1 | > |xj |, j = 2, n,
prin
ridicarea la o putere mare m ea va deveni preponderent a |xm1 |  xm
j , j =
2, n. Procedeul Lobacevschi-Graeffe furnizeaz a o metod a de ridicare succesiv a
la patrat a r
adacinilor ce permite separarea r
adacinilor preponderente.
Se observa imediat ca, schimband x n x, se obtine
n
Y
Pn (x) = (1)n a0 (x + xj ) . (3.59)
j=1

F
ac
and apoi produsul
n
Y
(1)n Pn (x)Pn (x) = a20 (x2 x2j ) , (3.60)
j=1

se obtine un polinom de gradul n, n variabila x2 . Repet


and procedeul pentru
polinomul n variabila x2 se obtine un polinom de gradul n n variabila x4 si asa
mai departe. Intr-o etapa s vom nota
z = xm , m = 2s , s N, (3.61)
iar polinomul n variabila z se va scrie
n n
(s)
Y X
Qn (z) = am
0 (z xm
j )= (1)j Anj z j , m = 20 , 21 , . . . , 2s . (3.62)
j=1 j=0

Evident, coeficientii Aj (s) nu se obtin cu ajutorul r adacinilor xj deoarece


acestea sunt necunoscutele problemei, ci prin nmultirea direct a a polinoamelor
(s+1)
Pn (z) si Pn (z). Notand cu Aj valorile acestor coeficienti n etapa s + 1, se
obtine urmatoarea relatie de recurent
a (prin identificarea coeficientilor):
h i2 n
(s+1) (s) (s) (s)
X
Aj = Aj +2 (1)k Ajk Aj+k , j = 0, n , (3.63)
k=0

unde s-a facut conventia ca termenii de indice j + k > n sau de indice j i < 0
sunt considerati nuli.
Gasirea radacinilor n metoda Lobacevschi-Graeffe se bazeaz a pe interpre-
(s)
tarea semnului si valorilor coeficientilor Aj n diverse etape s. Pentru a ar
ata
cum se procedeaza, vom considera trei cazuri, discutate mai jos.

Cazul r
ad
acinilor reale si distincte.
S
a presupunem ca toate radacinile xj , j = 1, n, ale polinomului Pn (x) sunt
distincte. Radacinile vor fi ordonate dup
a indici astfel, n ordinea descresc
atoare
a modulelor,
|x1 | > |x2 | > . . . > |xn | . (3.64)
98 3. Rezolvarea ecuat
iilor neliniare

Relatiile Vieta, dintre r


ad
acini si coeficienti, pentru polinomul Qn (z) din (3.62)
sunt
(s) (s)
xm m m
1 + x2 + . . . + xn = A1 /A0 (3.65)

(s) (s)
xm m m m m m
1 x2 + x1 x3 + . . . + xn1 xn = A2 /A0 (3.66)

(s) (s)
xm m m m m m m m m
1 x2 x3 + x1 x2 x4 + . . . + xn2 xn1 xn = A3 /A0 (3.67)


(s)
xm m m (s)
1 x2 . . . xn = An /A0 (3.68)
Tinand cont de inegalit atile (3.64) rezult a, la un anumit m, termenul xm
a c 1 va
deveni preponderent n relatia (3.65); la fel se va ntmpla cu termenul xm m
1 x2
n relatia (3.66) si asa mai departe. In consecint a, pentru m suficient de mare,
sistemul (3.65)-(3.68) se aproximeaz a prin cantitati care reprezint
a p
atrate per-
fecte
xm
(s) (s)
1 = A /A
1 0 (3.69)

m (s) (s)
xm
1 x2 = A2 /A0 (3.70)


m (s) (s)
xm m
1 x2 . . . xn = An /A0 , (3.71)
de unde se obtin imediat modulele r
adacinilor
 1/m
(s) (s)
xj = Aj /Aj1 , j = 1, n . (3.72)

Determinarea semnului se face prin introducerea n ecuatia initiala Pn (x) = 0. O


problema care se pune este aceea de a sti cand termenii retinuti n sistemul (3.69-
3.71) au devenit ntr-adevar preponderenti, astfel nc
at s
a se produc a separarea
radacinilor. Pentru aceasta se calculeaza rapoartele
h i2
(s) (s1) (s)
rj = Aj /Aj , j = 1, n 1 , (3.73)

n fiecare etapa s. Cu m = 2s , avem m/2 = 2s1 . Dac


a separarea s-ar fi produs
n iteratia s 1 atunci ar trebui ca
m/2
x1 (s1)
= A1
(s1)
/A0 .
Cu atat mai mult n iteratia urm
atoare
xm (s) (s)
1 = A1 /A0

a fie aproape de unu, rn1


(s) (s)
Ca atare, raportul r1 ar trebui s = 1. Rationamentul
se repeta pentru ceilalti coeficienti astfel c
a ajungem la urmatorul criteriu de
(s)
separare: daca toate rapoartele rj , j = 1, n 1 tind c atre unu atunci s-a
produs separarea radacinilor 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
acelasi modul. Sa presupunem

|x1 | = |x2 | = . . . = |xM | > |xM +1 | > |xM +1 | > . . . > |xn | , (3.74)

adic
a cea mai mare radacina n modul apare de M ori. Atunci partea prepon-
derenta a primei relatii Vieta (3.65) este
m (s) (s)
xm m m
1 + x2 + . . . + xM = M x1 = A1 /A0 , (3.75)

iar cea a relatiei Vieta M este


mM (s) (s)
xm m m
1 x2 . . . xM = x1 = AM /A0 . (3.76)

S a separarea s-ar fi produs n iteratia s 1


a deducem criteriul de separare. Dac
atunci ar trebui ca
m/2
x1 (s1)
= A1
(s1)
/A0 /M ,

iar n iteratia urmatoare

xm (s) (s)
1 = A1 /A0 /M .

a fie aproape de M , r1
(s) (s)
Ca atare, raportul r1 ar trebui s = M . Deci, c and
un raport rj tinde catre un numar ntreg M , atunci s-a produs separarea unei
r
ad
acini M -multiple n modul. Calculul radacinii se efectueaza folosind relatia
Vieta M
h i1/mM
(s) (s)
x1 = AM /A0 (3.77)

deoarece se obtine o aproximatie mai bun a datorit


a exponentului mai mare.
Se observa ca pentru calculul unei r adacini M -multiple n modul se folosesc
coeficienti cu diferenta ntre indici egal
a cu M .
Daca radacina multipla n modul nu este si cea mai mare n modul,

|x1 | > . . . > |xk | = . . . = |xM | > . . . > |xn | , (3.78)

atunci formulele de mai sus se aplica cu o deplasare cu k a indicilor. Anume


(s)
raportul rk va tinde catre M la separarea r
ad acinii xmk , iar calculul acesteia se
efectueaza conform formulei
h i1/mM
(s) (s)
xk = Ak+M /Ak . (3.79)
100 3. Rezolvarea ecuat
iilor neliniare

Cazul r
ad
acinilor complexe.
Sa presupunem acum c
a x1 , x2 sunt r
ad
acini complex conjugate

|x1 | = |x2 | > . . . > |xn | . (3.80)

Vom scrie

x1 = ei , x2 = ei (3.81)

cu = |x1 | = |x2 | modulul r


ad
acinilor si argumentul acestora. Prima relatie
Vieta (3.65) devine
m (s) (s)
2m cos m + xm
3 + . . . + xn = A1 /A0 . (3.82)

Termenul 2m cos m nu poate fi considerat preponderent datorit a factorului


oscilant cos m. A doua relatie Vieta (3.66) are partea preponderent
a

2m
(s) (s)
= A2 /A0 . (3.83)

Modulul se determin
a analog determin
arii unei r
ad
acini reale, 2-multipl
a n
modul

h i 1
(s) (s) 2m
= A2 /A0 . (3.84)

Mai ramane de determinat criteriul de separare. Dac


a separarea s-ar fi
produs n iteratia s 1 atunci ar trebui ca

m/2
(s1) (s1)
= A2 /A0 ,

iar n iteratia urmatoare

m
(s) (s)
= A2 /A0 .

Ca atare, raportul r2
(s)
ar trebui s
a fie aproape de unu, r2
(s)
= 1. Pe de alt
a
parte, raportul
h i2
(s) (s1) (s)
r1 = A1 /A1 (3.85)

este oscilant datorita schimbarii semnului termenului 2m cos m. Asadar, vom


recunoaste prezenta rad
acinilor complex conjugate prin aparitia unor rapoarte
oscilante. Separarea modulului unei perechi de r adacini complex conjugate se
produce atunci cand 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 discutiilor de mai sus vom stabili urm atoarele concluzii.
1. Modulele radacinilor, reale sau complexe, sunt date de rapoartele coefi-
(s)
cientilor Aj , j = 1, n 1 care reprezinta p
atrate perfecte, n ordinea indicilor.
(s) (s)
Coeficientii A0 si An sunt ntodeauna p
atrate perfecte.
(s)
2. Verificarea ca un anumit Aj este un p atrat perfect se stabileste prin
(s) (s)
raportul rj dintre valorile coeficientului Aj n etape succesive, care tinde
c
atre unitate,
h i2
(s) (s1) (s)
rj = A1 /A1 1 (3.86)

c
and patratul perfect se realizeaz
a.
(s)
3. Daca rapoartele rj care tind c atre unitate au indici consecutivi, atunci
se obtin radacini simple.
(s) (s)
4. Daca Aj si Aj+M sunt p atrate perfecte consecutive, atunci modulul
(s) (s)
unor radacini are ordinul de multiplicitate M. Dac a ntre rj si rj+M exist a M0
0
rapoarte oscilante, atunci vor apare M perechi de r adacini complex conjugate.
(s) (s) (s)
Dac a ntre rj si rj+M nu exista rapoarte oscilante, ci rj M , atunci se va
produce o radacina reala cu ordinul de multiplicitate M .
5. Metoda prezentata furnizeaz a doar modulele r ad acinilor. In cazul r
adacinilor
reale, semnul se stabileste prin nlocuirea n ecuatia original a, Pn (x) = 0. In ca-
zul radacinilor complexe, modulul odat a determinat, se determin a partea reala si
imaginara folosind relatiile ntre r
adacini si coeficienti pentru ecuatia Pn (x) = 0.
Nu se recomanda determinarea argumentului din relatii de forma (3.82) deoarece
numarul m este mare si se obtin multe solutii ale ecuatiilor de forma cos m = ,
R, care trebuie verificate apoi n ecuatia initial a.
6. Principalul avantaj al metodei Graeffe-Lobacevski este furnizarea tutu-
ror radacinilor, reale si complexe, ale unui polinom cu coeficienti reali. Printre
dezavantaje se numara: posibilitatea dep asirii superioare de registru, necesita-
tea examinarii de catre utilizator a tabloului coeficientilor precum si necesitatea
rezolvarii unor sisteme de ecuatii neliniare n cazul existentei r adacinilor com-
plexe.
7. Datorita lucrului cu numere mari, aproximatiile r adacinilor furnizate de
metoda Lobacevschi-Graeffe sunt destul de imprecise. Ca atare metoda va fi
folosita 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 cunoaste faptul ca, daca un polinom are ca r
ad
acin a simpl a pe x = , atunci
el este divizibil cu x. Prin procedee de localizare a radacinilor precum metoda
Lobacevschi-Graeffe, sau teoreme asupra vecin at
atii n care se afl a r
ad
acina
unui polinom, se poate obtine o aproximatie initial
a a r adacinii 0 . Procedeele
102 3. Rezolvarea ecuat
iilor neliniare

uzuale de rafinare, precum metoda Newton-Raphson, pot fi apoi folosite pentru


cresterea preciziei aproximatiei initiale. In aplicarea metodei Newton-Raphson
se foloseste schema lui Horner pentru a evalua valorile unui polinom cu un numar
minim de operatii aritmetice.

Schema lui Horner.


Impartind polinomul Pn (x) prin monomul x se obtine

n
X n1
X
Pn (x) = anj xj = (x ) bnj1 xj + bn , (3.87)
j=0 j=0

unde bj , j = 0, n sunt coeficienti care se determin


a prin identificarea termenilor
av
and aceeasi putere a lui x,

b 0 = a0 , bk = ak + bk1 , k = 1, n . (3.88)

Din (3.87) se observa ca valoarea polinomului n x = este chiar bn . Relatia de


recurenta (3.88) defineste schema lui Horner, ce permite determinarea valorii
Pn () cu doar n nmultiri si n 1 adun ari.
Schema lui Horner poate fi adaptat a si pentru evaluarea derivatelor unui
polinom. Deoarece valoarea polinomului n x = este bn putem considera
Pn () = bn () si deriva relatiile de recurent a (3.88)
a dup

dbk dbk1
= bk1 + , k = 1, n . (3.89)
d d
S-au obtinut relatii de recurent
a pentru noii coeficienti
dbk
ck1 , k = 1, n , (3.90)
d
ce satisfac relatiile de recurent
a

c0 = b0 , ck = bk + ck1 , k = 1, n 1. (3.91)

Valoarea derivatei polinomului n x = este Pn () = cn1 .

Determinarea r
ad
acinilor simple.
Data fiind aproximatia initial
a a unei r
adacini simple 0 , rafinarea iterativ
a prin
procedeul Newton-Raphson se exprim a ca

m+1 = m bn (m )/cn1 (m ) (3.92)


3.3. Determinarea r
ad
acinilor polinoamelor 103

cu bn , cn1 calculati folosind recurentele (3.88, 3.91), respectiv. Algoritmul


complet este
0 ; m 0; M 1; EvalPolinom(, b, c);
repet
a
daca |c| < 1 atunci Determin
a multiplicitatea M
nou M b/c; EvalPolinom(, b, c) (3.93)

AtinsPrecizie |nou | (1 + |nou |) sau |b| <
nou ; m m + 1
pana cand AtinsPrecizie sau m > mmax
unde este eroarea relativa maxim admis a pentru r
ad
acina, este valoarea
maxim admisa pentru valoare polinomului, iar M este multiplicitatea r adacinii
c
autate. Initial se presupune M = 1. Valoarea 1 este folosit
a si pentru a stabili
un prag pentru valoarea derivatei. Valori ale derivatei sub acest prag indic a
probabilitatea unor radacini multiple. Procedura de evaluare a polinomului
este
EvalPolinom(,
b, c)
b a0 ; c b
k = 1 : (n 1) (3.94)

[b ak + b, c b + c
b an + b
Metoda poate fi aplicata direct pentru calculul r ad
acinilor complexe, deoarece
polinomul este o functie analitica n tot planul C.

Determinarea r
ad
acinilor multiple.
a, Pn0 () = 0.
Daca este o radacina multipla, derivata polinomului n va fi nul
Numerele bn , cn1 vor tinde catre zero simultan, iar convergenta procedeu-
lui Newton-Raphson se nrautateste. Se poate efectua o modificare simpl a a
procedeului ce mbunatateste convergenta. Fie M ordinul de multiplicitate a
1/m
r
adacinii. Aplicam procedeul Newton-Raphson functiei f (x) = [Pn (x)] ce
0 1/m1
are derivata f (x) = [Pn (x)] /m. Iteratia Newton-Raphson se exprim a ca
m+1 = m M bn (m )/cn1 (m ) , (3.95)
forma folosita n algoritmul de mai sus. Mai r amane de stabilit o modalitate
de determinare a multiplicitatii M . Se stie ca dac
a r
ad acina are ordinul de
multiplicitate M , avem P (k) () = 0 pentru k = 1, 2, . . . , M 1 si P (M ) () 6= 0.
Ca atare, la detectarea posibilitatii unei r
ad
acini multiple (prin faptul c a prima
derivata a devenit mica) vom evalua toate derivatele polinomului. Prima dintre
derivatele polinomului ce este nenul a va furniza multiplicitatea radacinii.
Pentru evaluarea derivatelor se foloseste 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 = Pn(k) ()/k! .
(3.96)
104 3. Rezolvarea ecuat
iilor neliniare

Prin aplicarea schemei Horner (3.88) se observ


a (vezi 3.87) c
a se obtin coeficientii
polinomului Pn1 (x) din factorizarea

Pn (x) = (x )Pn1 (x) + C0 , (3.97)

cu C0 = Pn (). Coeficientii polinomului Pn1 (x) sunt b0 , b1 , . . . , bn1 din 3.87.


Daca se mai aplica o dat a schema lui Horner asupra polinomului Pn1 (x) vom
obtine coeficientii lui Pn2 (x) din factorizarea

Pn1 (x) = (x )Pn2 (x) + C1 , (3.98)

si asa mai departe. Aplicarea de n ori a schemei Horner va furniza toti coeficientii
(k)
Ck , k = 0, n 1, deci implicit toate derivatele Pn () = k! Ck . Algoritmul este

k=0:n
[Ck = ank
 0 : (n 1)
k= (3.99)
j = (n 1) : k : 1
[Cj Cj + Cj+1

Procedura de determinare a multiplicit atii unei r


ad
acini, ce a fost mentionat
a
n algoritmul (3.93), va determina primul indice k pentru care |k! Ck | > , iar
acesta va fi luat ca multiplicitatea r
ad
acinii M .

Determinarea r
ad
acinilor complex conjugate (Metoda Bairstow).
In cazul cand polinomul Pn (x) are coeficientii reali, r
ad
acinile complexe (daca
exista) sunt conjugate, iar calculul cu numere complexe poate fi evitat. In acest
scop, se utilizeaza o factorizare cu un polinom de gradul doi de forma x2 +px+q
n
X n2
X
Pn (x) = anj xj = (x2 + px + q) bnj2 xj + Rx + S . (3.100)
j=0 j=0

Identificarea termenilor conduce la relatiile

bk = ak pbk1 qbk2 , k = 0, n 2 , (3.101)

R = an1 pbn2 qbn3 , S = an qbn2 . (3.102)

unde s-a convenit b2 = b1 = 0. Dac a extindem relatia de recurent


a pentru
k = 0, n, vom obtine R = bn1 , S = bn + pbn1 . Pentru ca factorul x2 + px + q
sa divida 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, bn1 (p, q) = 0 . (3.103)

Relatiile (3.103) formeaz a un sistem de dou a ecuatii cu dou


a necunoscute.
Ecuatiile sunt nelineare si pentru rezolvarea sistemului se aplica tot o metod
a
3.3. Determinarea r
ad
acinilor polinoamelor 105

de tip Newton-Raphson2 . Vom aplica principiul liniariz arii, pastr


and numai
termenii liniari din dezvoltarile n serie Taylor a functiilor bn (p, q), bn1 (p, q) n
jurul unei aproximatii curente (pm , qm )
   
bn bn
bn (p, q) = bn (pm , qm ) + (p pm ) + (q qm ) = 0 , (3.104)
p m q m

   
bn1 bn1
bn1 (p, q)
= bn1 (pm , qm ) + (p pm ) + (q qm ) = 0.
p m q m
(3.105)

Urmatoarea aproximatie (pm+1 , qm+1 ), va fi data de solutia sistemului liniarizat


de mai sus. Pentru obtinerea derivatelor partiale diferentiem relatia de recurent
a
(3.101)
bk bk1 bk2 bk bk1 bk2
= bk1 p q , = bk2 p q .
p p p q q q
(3.106)

Daca notam ck bk /p, dk bk+1 /q, obtinem

ck = bk1 pck1 qck2 , dk = bk1 pdk1 qdk2 (3.107)

pentru k = 0, n si cu c1 = c2 = d1 = d2 = 0. Cum cele dou a relatii de


recurenta sunt identice vom pastra numai una dintre ele pentru calcule. Sistemul
liniarizat devine

(pm+1 pm )cn + (qm+1 qm )cn1 = bn
. (3.108)
(pm+1 pm )cn1 + (qm+1 qm )cn2 = bn1

Matricea sistemului se numeste matrice Jacobian a, si este nesingulara pentru


r
ad
acini complexe simple. Solutia sistemului este, n aceste conditii,

p pm+1 pm = (bn1 cn1 bn cn2 )/J , (3.109)


q qm+1 qm = (bn cn1 bn1 cn )/J , (3.110)

cu J cn cn2 c2n1 .
Procedeul poate fi repetat pentru polinomul
n2
X
Pn2 (x) = bnj2 xj (3.111)
j=0

p
an
a la factorizarea polinomului Pn (x) n produse de polinoame de grad cel
mult doi. Se obtin perechi de solutii de forma
 p 
x1,2 = p p2 4q /2 . (3.112)
2 Vezi capitolul 8.
106 3. Rezolvarea ecuat
iilor neliniare

Aproximatia initial
a (p0 , q0 ) se poate obtine dintr-un procedeu de localizare.
Este recomandabila folosirea coordonatelor polare

x1 = ei , x2 = ei , x1 x2 = 2 = q, x1 + x2 = 2 cos = p . (3.113)

Prin folosirea metodei Lobacevschi-Graeffe pentru localizarea r ad acinilor se obtine


o aproximatie initiala foarte buna pentru . Mai trebuie doar ncercate diverse
valori pentru pentru a vedea ce valori initiale conduc la convergenta proce-
deului. Exista si alte rezultate teoretice ce pot fi folosite pentru localizarea
radacinilor. Spre exemplu, dac a not
am
 1
1 1
R1 = 1 + |a0 | max |ak | , R2 = 1 + |an | max |ak | , (3.114)
0<kn 0k<n

atunci toate rad


acinile nenule ale polinomului cu coeficientii ak se 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 c0 c2 c21 ;

daca |J| < 1 atunci mesaj(R ad acini multiple); stop

p (b1 c1 b0 c2 )/J; q (b0 c1 b1 c0 )/J;

pnou p + p; qnou q + q

AtinsPrecizie |p| + |q| (1 + |pnou | + |qnou |) sau |b0 | + |b1 | <
p pnou ; q qnou ; m m + 1
pana cand AtinsPrecizie sau m > mmax .
(3.116)

Exemplu 1. S
a se determine r
ad
acinile polinomului

p5 (x) = x5 4x4 + x3 + 3x2 x + 6 .

Rezolvare. Vom folosi metoda Lobacevschi-Graeffe pentru a determina aproximatiile


initiale ale r
ad arii relatiei (3.63) sunt redate n urm
acinilor. Rezultatele aplic atorul
tabel.
3.3. Determinarea r
ad
acinilor polinoamelor 107

(s) (s) (s) (s) (s) (s)


s A0 A1 A2 A3 A4 A5
0 1.00 4.000E+00 1.000E+00 -3.000E+00 -1.000E+00 -6.000E+00
1 1.00 1.400E+01 2.300E+01 -3.700E+01 -3.500E+01 3.600E+01
2 1.00 1.500E+02 1.495E+03 3.987E+03 3.889E+03 1.296E+03
3 1.00 1.951E+04 1.047E+06 4.657E+06 4.790E+06 1.680E+06
4 1.00 3.785E+08 9.139E+11 1.172E+13 7.301E+12 2.821E+12
5 1.00 1.433E+17 8.263E+23 1.241E+26 -1.285E+25 7.959E+24
6 1.00 2.053E+34 6.828E+47 1.543E+52 -1.811E+51 6.334E+49

Calculul s-a desfasurat cu mai multe cifre semnificative decat sunt afisate n
(6) (6)
tabel. Dupa 6 iteratii valorile coeficientilor sunt A0 = 1, A1 = 2.05336782
(6) (6) (6)
1034 , A2 = 6.82754862 1047 , A3 = 1.54270278 1052 , A4 = 1.81053152
(6)
1051 , A5 = 6.33402866 1049 . Pentru stabilirea convergentei metodei se calcu-
leaz
a si rapoartele din (3.73):
(s) (s) (s) (s)
s r1 r2 r3 r4
0
1 1.14 0.04 -0.24 -0.03
2 1.31 0.35 0.34 0.31
3 1.15 2.14 3.41 3.16
4 1.01 1.20 1.85 3.14
5 1.00 1.01 1.11 -4.15
6 1.00 1.00 1.00 -0.09
(s) (2) (s)
Se observa obtinerea izol
arii a trei r
adacine reale din rapoartele r1 , r2 , r3 ce
(s)
tind toate c
atre 1. Raportul r4 oscileaz a denot and prezenta unei perechi de rad
acini
complexe, conjugate. Procedeul furnizeaz a dou a valori posibile pentru r
ad
acina de
modul maxim
 1/64
(6) (6)
x1 = A1 /A0 = 3.4366. (3.117)

Cum p5 (3.4366) = 0.00269734 si p5 (3.4366) = 1032.99 alegem x1 = 3.4366. Analog


obtinem
 1/64
(6) (6)
x2 = A2 /A1 = 1.62659 x2 = 1.62659 (3.118)

 1/64
(6) (6)
x3 = A3 /A2 = 1.16958 x3 = 1.16958 (3.119)

Modulul perechii de r
ad
acini complexe este
 1/(264)
(6) (6)
= A5 /A3 = 0.9579761 (3.120)

Rafinarea solutiilor reale conduce la r


ad
acinile

x1 = 3.43663, x2 = 1.62659, x3 = 1.16958 (3.121)

dup
a o singur a iteratie Newton-Raphson. Se observ a calitatea extrem de bun
a a a-
proximatiilor initiale furnizate de procedeul Lobacevschi-Graeffe. Pentru r
ad
acinile
108 3. Rezolvarea ecuat
iilor neliniare

complexe am putea extrage factorii deja g asiti si s


a rezolv
am ecuatia p atratic
a ce
rezult
a. Vom proceda nsa la aplicarea procedeului Bairstow pentru exemplificarea
modului de lucru. Luam q = 2 si p = 0 ca aproximatie initiala ceea ce corespunde la
= /2. Se obtin urm
atoarele rezultate
Iteratie p q b0 b1 R S
0 0.0000 0.9180 -1.25E-01 -1.08E+00 -1.0753 -0.1249
1 -0.1052 0.9028 1.43E-01 -3.60E-02 -0.0360 0.1468
2 -0.1064 0.9407 -7.04E-04 3.54E-04 0.0004 -0.0007
3 -0.1064 0.9178 -4.73E-09 1.76E-08 0.0000 0.0000
Rad
acinile complexe satisfac ecuatia
x2 + px + q = 0 (3.122)
cu p = 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 iteratiilor. Plecarea din = 0 ns
a nu converge
c
atre solutie.
Exemplu 2. S a se determine r
adacinile polinomului
p4 (x) = x4 6x3 + 18x2 30x + 25

Rezolvare. Cum nici unul din rapoartele r1 , r2 , r3 nu se stabilizeaz


a deducem
prezenta a dou
a perechi de r
ad
acini complexe, de acelasi modul

1 = 2 = 3 = 4 = (A4 /A0 )1/(464) = 5 .
Fie r
ad
acinile x1,2 = a1 + ib1 , x3,4 = a2 + ib2 . Rezult
a
a21 + b21 = a22 + b22 = 5 .
Utiliz
and primele dou
a relatii Vieta pentru polinomul original se obtine
a1 + a2 = 3, a1 a2 = 2
de unde a1 = 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 implicatii profunde pentru matematic a provine


din ntrebarea relativ simpla: din ce puncte ale planului complex converge metoda
Newton pentru aflarea r ad
acinilor de ordinul p ale unit
atii? Procesul iterativ este
zk+1 = zk (zkp 1)/(pzkp1 ), p > 1. (3.124)
Pentru aflarea r
aspunsului se efectueaza o serie de experimente numerice, lu and diverse
puncte din [2, 2] [2, 2] ca puncte de start. Se nregistreaz a num
arul de iteratii
necesare atingerii unei r
ad
acini sau faptul ca procesul diverge. Frontiera dintre dome-
niul atractiv, pentru care procesul converge si cel repulsiv, pentru care procesul
diverge este extrem de complicat a. Cercetari matematice moderne au ar atat c
a este
vorba de o nou a structura matematic a cu propriet ati remarcabile, printre care si o
dimensiune a frontierei ce nu este un num ar ntreg. O asemenea multime Julia este
reprezentat
a pe copert a pentru p = 6. Nuantele de culori nchise indic a convergenta
rapid
a c
atre o r
adacin
a pe c
and cele deschise indic a divergenta.
109

Capitolul 4

Erorile de calcul numeric

In momentul de fata, suntem n posesia unui bagaj de metode numerice


suficient pentru a considera mai n detaliu problema erorilor de calcul numeric.
Se poate observa ca o formula de calcul numeric se aplic a de obicei n mod
repetat. In consecinta, prezinta important a nu numai eroarea introdus a ntr-o
etap a, ci si tendinta de a amplifica sau, dimpotriv a, de a atenua erorile introduse
anterior, adica stabilitatea metodei numerice. Studiul erorilor numerice r am ane
deci o problema deschisa, 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 cunoasterea aproximativ a a unor valori
provenite din masuratori sau din faptul c a avem de-a face cu numere irationale
(algebrice sau transcendente: numerele , e, 3 s.a.). Evident, rezultatul
oric
aror calcule depinde si de precizia datelor introduse initial. 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, numarul 0.1 reprezentat printr-un num ar finit de zecimale n baza 10,
devine o fractie zecimala periodic a n baza 2 (0.110 = 0.0(0011)2 ).
Erorile de metod a sau erorile de trunchiere sunt provenite din aproximatiile
facute la deducerea formulelor de calcul. Exemple: restul RN (x) la interpolarea
polinomiala, distanta |xn+1 | la r ad
acin
a, din metodele iterative de calcul,
eroarea i = h3 /12 f 00 () 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, oricat de mult.
Erorile de rotunjire sunt legate de posibilit atile 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
cuvantului (numarul de biti) utilizat la stocarea unui num ar. In mod curent se
lucreaza cu un echivalent de circa 7 cifre semnificative n simpl a precizie si de
circa 15 cifre semnificative n dubl a precizie.
Dupa cum se stie, n memoria intern a a calculatoarelor actuale se foloseste
reprezentarea n virgula mobil a, n forma normalizat a. Astfel, orice num ar real
x se scrie

x = f bn , |f | < 1 (4.1)

unde f este un numar real denumit mantis a, b > 0 (b 6= 1) este baza sistemului
de numeratie utilizat, iar n (ntreg) este exponentul. In forma normalizat a,
mantisa este cuprinsa n intervalul [b1 , 1)

b1 |f | < 1 . (4.2)

Singura exceptie de la acest a regul


a de reprezentare este num arul zero.
In consecinta, un numar real cu mai multe cifre semnificative este rotunjit
la numarul de cifre maxim. Acest lucru se realizeaz a prin rotunjirea mantisei.
Alte rotunjiri se efectueaz a n decursul operatiilor.
In general, notand cu x valoarea exacta a num arului si cu x valoarea calculat
a
(aproximativa), eroarea absolut a ex se defineste ca diferenta dintre valoarea
exacta si cea aproximativ a

ex = x x . (4.3)

Raportul ex /
x se numeste eroare relativ
a, notat
a deseori cu x

x = ex /
x. (4.4)

Fie t numarul de cifre semnificative. Pentru comoditate, sa presupunem c


a
lucram n baza 10 (b = 10). Atunci, un num ar x a c
arui valoare o presupunem
initial cunoscuta cu exactitate, se va scrie

x = f 10n + g 10nt , |f | , |g| [0.1, 1), (4.5)


4.2. Propagarea erorilor n calcule 111

unde g contine cifrele care nu pot fi incluse n mantisa f . Rotunjirea se face de


obicei simetric, adica se nlocuieste

|g| = 1 daca |g| 0.5, |g| = 0 dac


a |g| < 0.5 . (4.6)

In acest fel, marginea erorii relative este

|ex | = |g| 10nt / |f | 10n 5 10t . (4.7)

Erorile cu marginea data de (4.7) se fac la introducerea numerelor reale n


memoria calculatorului numeric. Ele afecteaz
a rezultatele n functie de operatiile
la care sunt supuse valorile introduse.

4.2 Propagarea erorilor n calcule


Propagarea erorilor la nmultire.
Vom considera doua numere, x si y, introduse cu erorile ex , respectiv ey

x=x
+ ex , y = y + ey . (4.8)

Presupunem ca se efectueaza produsul numerelor

x y = (
x + ex )(~y + ey ) = x
y + y ex + x
ey , (4.9)

unde s-a neglijat produsul ex ey considerat ca av


and un ordin de m
arime suficient
de mic. Rezulta eroarea la nmultire

exy /
x y = ex /
x + ey /
y = x + y . (4.10)

Rezulta ca la nmultire erorile relative introduse initial se aduna. In afar


a
de aceste erori, pot aparea nsa noi erori, deoarece produsul xy poate avea, la
r
andul sau, un numar de cifre semnificative mai mare dec at cel admis (notat cu
t), necesitand o noua rotunjire (simetric a). Notand cu p aceast a noua eroare,
vom obtine eroarea relativa totala tp la nmultirea a dou a numere

tp = x + y + p (4.11)

iar ca margine a erorii

|tp | |x | + |y | + |p | < 15 10t . (4.12)

Desigur, evaluarea (4.12), bazata pe relatia (4.7), este acoperitoare deoarece


erorile nu se aduna, ci se compun dup
a legi mai complicate (probabilistice).
112 4. Erorile de calcul numeric

Propagarea erorilor la mp
artire.
Cu notatiile (4.8) vom scrie
x/y = (
x + ex )/(
y + ey ) = x
/ x ey /
y (1 + ex / y) = x y (1 + x y ),
/ (4.13)
unde am neglijat termenii de grad superior lui 2 n ex si ey . S-a folosit dezvolta-
rea n serie Taylor pentru 1/(1 + y ) = 1 y + . . . . Rezult
a c
a eroarea relativ
a
la mpartire, datorata erorilor de reprezentare n calculator (ex si ey ), este
ex/y /( y ) = x y ,
x/ (4.14)
adica este egala cu diferenta erorilor relative introduse initial n valorile numar
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 ncat eroarea relativ a total
a la
mpartirea a doua numere x, y este
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 ncat eroarea relativ
a la sumare este
ex+y /(
x + y) = (ex + ey )/(
x + y) = x
/(
x + y)x + y/(
x + y)y , (4.17)
adica o suma ponderat a a erorilor introduse la reprezentarea n calculator a
cantitatii sumate. Si n acest caz se introduce o eroare suplimentara la repre-
zentarea sumei x + y, a carei valoare relativ
a o vom nota cu s . Ca urmare,
eroarea relativa la sumare, ts , va fi
ts = x
/(
x + y)x + y/(
x + y)y + s . (4.18)
a la calculul expresiei E = (x + y)z
Ca aplicatie, sa scriem eroarea total =
(
x + y)
z . Rezulta
tE = x
/(
x + y)x + y/(
x + y)y + z + s + p , (4.19)
cu marginea
|tE | 5 10t [(|
x| + |
y |)/ |
x + y| + 3] (4.20)
Ca recomandare general a, n calculul numeric trebuie studiata 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
Z 1
In = xn ex1 dx . (4.21)
0
4.2. Propagarea erorilor n calcule 113

Tabelul 4.1: Exemplu de amplificare a erorilor


n In (4.22) In (4.24) n In (4.22) In (4.24)
0 0.632121 0.632121 9 0.091586 0.091612
1 0.367879 0.367879 13 -0.377925 0.066948
3 0.207277 0.207277 17 0.052778
7 0.112383 0.112384 20 0.000000

O modalitate de calcul o reprezint


a utilizarea unei relatii de recurent
a

In = 1 nIn1 , n = 1, 2, . . . , (4.22)

and de la valoarea I0 = 1 e1 . Rezultatele calculelor pentru diferitele


plec
valori ale lui n sunt date n tabelul 4.1 Se observ a c
a, pentru n = 13, se obtine
o valoare negativa a integralei, ceea ce nu este posibil, functia integrat a fiind
pozitiva pe [0, 1]. Rezulta ca valorile obtinute sunt eronate, ncep and cu o
anumita valoare a lui n. Explicatia o constituie faptul c a valoarea integralei
I0 se calculeaza cu o eroare e0 care este amplificat a prin aplicarea formulei de
recurenta (4.22) astfel ca, la calculul lui I13 eroarea este

e13
= 13! e0 = 6.227 109 e0 . (4.23)

Pentru a obtine o valoare corect


a n cazul indicilor n mari se aplic
a formula
(4.22) sub forma

In1 = (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
N suficient de mare eroarea introdus a din necunoastera valorii In va fi redus
a,
astfel ncat sa obtinem rezultate corecte. Observand c
a valoarea integralei scade
cu n, vom alege N = 20 si vom aproxima I20 = 0, calcul
and integralele de indice
mai mic din ce n ce mai precis. Valorile obtinute sunt date n acelasi 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 ecuatii liniare reprezint a unul


din domeniile n care calculatoarele numerice si-au dovedit din plin eficienta.
Problema rezolvarii sistemelor de ecuatii liniare este foarte des nt alnit
a n si-
mularea numerica. Enumeram cateva situatii: interpolare cu functii spline cu-
bice, rezolvarea sistemelor de ecuatii neliniare cu ajutorul metodelor iterative
care au la baza liniarizarea ecuatiilor, discretizarea ecuatiilor diferentiale ordi-
nare cu conditii la limita, discretizarea ecuatiilor cu derivate partiale. In mod
corespunzator, a trebuit sa fie puse la punct procedee numerice adecvate, at at
pentru reducerea numarului mare de operatii, c at si pentru reducerea erorilor
de calcul care cresc cu dimensiunile sistemului de ecuatii.
In cazul general, problema care trebuie rezolvat a poate fi scris
a sub forma
n
X
ai,j xj = bi , i 1, m , (5.1)
j=1
116 5. Rezolvarea sistemelor liniare

unde ai,j R sunt coeficienti, xj , j 1, n sunt necunoscutele sistemului, iar bi


sunt termenii liberi. Vom distinge trei situatii.

(a) Pentru m < n sistemul este subdeterminat, avem mai putine ecuatii dec at
necunoscute. In general, vor trebui alesi n m parametrii pentru a obtine
o solutie.

(b) Pentru m = n si det A 6= 0 sistemul este compatibil determinat. Sistemul


are o solutie unic a. Este cazul cel mai des nt alnit. Pentru m = n si
det A = 0 sistemul poate fi compatibil nedeterminat, cu o infinitate de
solutii posibile, sau incompatibil, cu nici o solutie.
(c) Pentru m > n sistemul este supradeterminat, caz n care se caut a o solutie
care sa verifice
Pn cel mai
Pn bine ecuat
iile (5.1)
n sensul minimiz
a rii reziduu-
lui R = i=1 (bi j=1 ai,j xj )2 .

Nu trebuie uitat ca, la reprezentarea numerelor n calculator nu putem retine


decat un numar finit de cifre, iar erorile de rotunjire se propag a dup a regulile
discutate n capitolul 4. Se poate ajunge n situatia ca din cauza acestor erori,
determinantul sa 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 situatii, dar totodat a si eforturilor
de minimizare a memoriei utilizate si a timpului de calcul.
Metodele de rezolvare a sistemelor de ecuatii liniare sunt de dou a tipuri: (a)
metode directe (sau metode de eliminare sau metode exacte), n care solutia este
obtinuta n urma unui num ar de operatii dinainte cunoscut; (b) metode iterative,
care se bazeaza pe folosirea unei aproximatii initiale ce se mbun atateste de la
o etapa la alta.

5.1 Metode directe


5.1.1 Metoda elimin
arii a lui Gauss
Metoda consta n eliminarea succesiv a a necunoscutelor ntr-o manier a care
conduce la un numar de operatii mult mai redus dec at procedeul care ar utiliza
regula lui Cramer si calculul determinantilor corespunz atori. Vom observa c a,
n operatia de eliminare, nu este necesar s a transcriem si necunoscutele; este
suficient sa operam doar cu coeficientii matricei sistemului si cu termenii liberi.
Sa consideram un sistem de n ecuatii liniare cu n necunoscute scris sub forma

Ax = b , (5.2)

unde A este o matrice p atrat a, nesingular a (det A 6= 0), de dimensiuni n n,


iar x si b sunt vectori coloan a de dimensiune n. Pentru fixarea ideilor, vom
considera ca A are coeficientii aij , iar b are componentele bi (i, j 1, n). Pe de
alta parte, deoarece operatiile efectuate cu coeficientii 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
coeficientii bi ai,n+1 si sa consider
am matricea extinsa A0

a1,1 a1,2 . . . a1,n | a1,n+1
a2,1 a2,2 . . . a2,n | a2,n+1

0
... ... ... ... | ...
A = . (5.3)
ai,1 ai,2 . . . ai,n | ai,n+1

... ... ... ... | ...
an,1 an,2 . . . an,n | an,n+1

Metoda eliminarii a lui Gauss const a n a obtine zerouri succesiv, nt


ai pe prima
coloana (sub coeficientul a1,1 ), apoi pe a doua coloan a (sub coeficientul a2,2 )
s.a.m.d., pe ultima linie a matricei A r am an
and doar coeficientul an,n (evident
modificat de operatiile de eliminare anterioare). Aceasta revine la a reduce
matricea A la o matrice superior triunghiular a, iar sistemul (5.2) la forma
a
a1,1 a1,2 . . . ... ... a1,n x1 1,n+1
(1) (1) (1)
0 a2,2 . . . ... ... a2,n a2,n+1
x2
.. .. ..
0 0 . ... ... ...
. .
(i1)

(i1)
= (i1) . (5.4)
0 0 0 ai,j . . . ai,n xi ai,n+1

.
..

..

.

... .

.

0 0 0 0 .
0 0 0 0 0 an,n
(n1) x n (n1)
an,n+1

Indicii superiori indica etapa n care a fost obtinut elementul. Pentru a obtine
zerourile de sub diagonala principal a, se folosesc operatii simple de nmultire a
unei linii cu un multiplicator si de sc
adere din alta linie. Spre exemplu, pentru
a obtine zerouri pe prima coloana, din linia i se scade prima linie nmultit a cu
multiplicatorul mi,1 , obtinandu-se
(1)
ai,1 = ai,1 mi,1 a1,1 = 0 mi,1 = ai,1 /a1,1 . (5.5)

Repetand procedeul pentru i = 2, n, se obtin elemente nule pe coloana nt ai n


aceasta prima etapa. Evident, pentru a putea opera, trebuie ca a1,1 6= 0. Mai
mult, dupa cum vom vedea la paragraful (5.1.3), se recomand a ca a1,1 s a fie n
modul cat mai mare posibil, deoarece n acest mod, erorile de rotunjire sunt re-
duse. Elementul ai,i plasat pe diagonala principal a se numeste pivot. Obtinerea
unui pivot cu modul cat mai mare este posibil a prin schimbari de linii si coloane
care nu afecteaza zerourile deja produse, adic a pivotul se poate alege dintre
elementele de sub si/sau la dreapta pozitiei de pe diagonala principal a a pivo-
tului. In functie de numarul de elemente dintre care este selectat, pivotul poate
fi partial, cand se alege cel mai mare n modul1 dintre elementele de pe coloana
pivotului, sub diagonala principal a, sau total, c and se alege cel mai mare n
modul dintre toate elementele continute n linii si coloane care, interschimbate,
nu modific a zerourile deja obtinute. In cazul n care pentru obtinerea unui pivot
1 Cu privire la alegerea elementului cel mai mare n modul, vezi si paragraful 5.1.3.
118 5. Rezolvarea sistemelor liniare

convenabil este necesar a o schimbare de linii, aceasta poate fi f acut a efectiv n


matricea extinsa A0 , 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 s elementul dorit
ca pivot se afla pe linia i (evident i s, pentru a p
astra zerourile deja obtinute),
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 (j cu k), vo m observa ca trebuie interschim-
bate si necunoscutele (xj cu xk ). Acest lucru se poate realiza cu ajutorul unui
vector c, care este initializat cu valorile c = (1, 2, . . . , k, . . . , n). Dac a spre
exemplu n prima etap a schimbam coloanele 1 cu k, se schimb a corespunz ator
si elementele c1 cu ck , iar vectorul c devine c = (k, 2, . . . , 1, . . . , n).
In fiecare etapa s 1, n 1, elementele din matrice se modific a dupa regula

s = 1 : (n 1)

i = (s + 1) : n
(s1) (s1)


mi,s ai,s /as,s (5.6)
j = (s + 1) : (n + 1)
h
(s) (s1) (s1)
ai,j ai,j mi,s as,j .

Intr-adev (s1)
ar, n etapa (s) pivotul este as,s , iar elementele care se anuleaz a
sunt plasate n pozitia ai,s , i s + 1, n. Practic, aceste elemente nu se mai
calculeaza deoarece se stie c a ele sunt nule, iar pe pozitiile acestora se pot
memora multiplicatorii mi,s , eventual necesari pentru calcule ulterioare cum
ar fi rafinarea solutiei (paragraful 5.1.3). In final, dac a matricea A nu este
(i1)
singulara, se ajunge la forma (5.4) a sistemului, coeficientii ai,j , i 1, n,
j 1, n + 1 fiind obtinuti prin operatii asupra matricei extinse A0 . Ca urmare,
necunoscutele se obtin prin retrosubstituire, dup a schema
(n1) (n1)
xcn an,n+1 /an,n
i =(n 1) : 1
n (5.7)
xci (a(i1) (i1) (i1)
X
i,n+1 ai,j xcj ) / ai,i ,
j=i+1

n care am tinut cont si de eventualele schimb ari de coloane necesare n cazul


folosirii pivotarii totale si memorate n vectorul c. Trebuie observat faptul c a
elementele matricei initiale A se pierd dac a se folosesc schemele (5.6) si (5.7).
In cazul n care matricea A este necesar a pentru calcule ulterioare (cum ar fi
rafinarea inversei, vezi. 5.1.7), trebuie p astrat
a o copie a acesteia.
Numarul de operatii necesare pentru obtinerea solutiei prin procedeul de
eliminare gaussiana se calculeaz a usor. Evident, nu lu am n considerare si
operatiile legate de permutarea elementelor n vederea g asirii pivotului partial
sau total, deoarece acestea depind de fiecare matrice n parte. De regul a, se
considera ca mpartirea reprezint
a o singur a operatie, n timp ce o adunare
si o nmultire formeaz a mpreuna tot a operatie (aproximativ acelasi timp
5.1. Metode directe 119

de calcul pe calculator). Amintindu-ne c a operatiile se efectueaza cu elemen-


tele matricei extinse A0 , de dimensiuni n (n + 1), vom avea de efectuat, dup a
schema (5.6), ntr-o etapa s, n s mp artiri pentru a obtine multiplicatorii mi,s .
Numarul de adunari si nmultiri este egal cu produsul num arului de valori luate
de indicii i, j, adica (n s)(n + 1 s). Rezult a numarul de operatii la eliminarea
Gauss
n1
X n3 n2 5n
nG = [(n s)2 + 2(n s)] = + . (5.8)
s=1
3 2 6

and cu n 3) fat
Acest numar este foarte mic (ncep a de n n! operatii cerute de
a minori). La operatiile (5.8) se
regula lui Cramer (cu determinantii calculati dup
adauga nca aproximativ 1 + (n 1) + n(n 1)/2 = n2 /2 + n/2 operatii pentru
retrosubstituirea (5.7). Rezulta num arul total de operatii pentru eliminarea
gaussiana

n3 n n3
nG = + n2 + n2 . (5.9)
3 3 3
aproximatia fiind valabila pentru n  1.
Relatiile (5.6) si (5.7) se pot optimiza obtin
and 1 pe diagonala principal a,
dupa algoritmul dat de (5.10), unde am inclus si calculul determinantului matri-
cei A, d = det A. Numarul de operatii se reduce (nesemnificativ) cu n mp artiri
la etapa de retrosubstituire.

Algoritm Gauss Algoritm Gauss-Jordan


[Eliminare ] [Eliminare ]
d1 d1
s = 1 : (n 1) s= 1 : n
j = (s + 1) : (n + 1)
j = (s + 1) : (n + 1) [as,j as,j /as,s ]
[as,j as,j /as,s ]
d d as,s ; as,s 1
d d as,s ; as,s 1
i=1:n
i = (s + 1) : n
" a i 6= s
dac
"
j=h (s + 1) : n


(s) (s1) (s1) (s1)
jh = (s + 1) : n
ai,j ai,j ai,s ai,j

(s) (s1) (s1) (s1)
ai,j ai,j ai,s ai,j
[Retrosubstituire ] [Calculul necunoscutelor ]
(n1)
xn an,n+1 hi = 1 : n
(i1)
i = (n 1) : 1 xi ai,n+1

n
xi a(i1) (i1)
X
i,n+1 ai,j xj
j=i+1
(5.10)
120 5. Rezolvarea sistemelor liniare

Exemplu. Folosind metoda elimin


arii gaussiene, s
a se rezolve sistemul de ecuatii

x1 + 29 x2

+ x3 = 2
8x1 + 2x2 3x3 = 1 . (5.11)
x1 + 2x2 5x3 = 1

Scriem matricea extins


a si efectu
am elimin
arile a regula (5.6). Obtinem succesiv
dup
2

1 2
1 | 2
1 9
1 | 2
1 92 1 | 2

9 s=1 s=2
2 2
8 2 3 | 1 0
9
11 | 17 0 9 11 | 17 .
1 2 5 | 1 0 16
6 | 1 0 0 82 | 135
9

Rezult
a
x3 = 135/82 ' 1.6463, x2 = (9/2) 17 + 11 135

82
= 819/164 ' 4.9939,
(5.12)
x1 = 2 135/82 (2/9)(819/164) = 31/41 ' 0.7561 .

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 (partial a); (b) calculele s-au efectuat
a sau total
utiliz
and fractii ordinare, ceea ce implic a programe speciale.
Pentru evidentierea erorilor si tinand cont ca sistemul este foarte mic, relu am
calculele folosind pivotarea partiala si lucrand doar cu trei cifre semnificative2 . Se
obtine

1 0.222 1 | 2 8 2 3 | 1
l1 l2 s=1
8 2 3 | 1 1 0.222 1 | 2
1 2 5 | 1 1 2 5 | 1

3 | 1

8 2 3 | 1 8 2
s=1 l2 l3 s=2
0 0.028 1.38 | 2.13 0 1.75 4.63 | 1.13
0 1.75 4.63 | 1.13 0 0.028 1.38 | 2.13


8 2 3 | 1
s=2
0 1.75 4.63 | 1.13 .
0 0 1.31 | 2.15

Rezult
a

3 = 0.164 101 , x
x 2 = 0.498 101 , x
1 = 0.755 100 . (5.13)

Valorile necunoscutelor fiind aproximative, s-a folosit notatia cu bar ax. Scrierea este
cu virgula mobila normalizata n sistem zecimal. Desi sistemul este mic si relativ bine
conditionat (vezi paragraful 5.1.8, num arul de conditionare calculat cu (5.64) si norma
euclidiana este (A) = 24, iar calculat cu (5.85) este (A) = 21.6, n timp ce num arul
2 Calculele intermediare au fost efectuate ns
a cu sapte cifre semnificative.
5.1. Metode directe 121

de conditionare al matricei Hilbert3 3 3 calculat cu (5.85) este 524), utilizarea a


numai trei cifre semnificative a condus la erori resimtite la a treia cifr
a semnificativ
a.
Pentru a observa influenta 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
pozitia pivotului n etapa a doua. Se obtine
8 2 3 | 1

8 2 3 | 1
s=20
0 0.028 1.38 | 2.13 0 0.028 1.38 | 2.13 ,
0 1.75 4.63 | 1.13 0 0 81.6 | 1.13
cu solutiile
x 01 = 0.7 100 .
02 = 0.476 101 , x
03 = 0.164 101 , x (5.14)
Se observ
a aparitia unor erori mult mai mari, comparativ cu valorile (5.12). Normele
maxime ale erorilor sunt
k = 0.139 101 , kx x
kx x 0 k = 0.234 . (5.15)

5.1.2 Metoda Gauss-Jordan


Este similara cu metoda precedent a, cu deosebirea c a produce zerouri at at de-
desubtul cat si deasupra diagonalei principale, reduc and astfel matricea initiala
la o matrice diagonala. In acest fel, num arul de operatii este cu circa 50% mai
mare (nu este de doua ori mai mare cum ne-am fi asteptat, unele reduceri apar
la determinarea necunoscutelor care nu se mai obtin prin retrosubstituire, ci
direct, printr-o singura mpartire). Ca urmare a num arului sporit de operatii,
utilizarea metodei Gauss-Jordan la rezolvarea sistemelor de ecuatii nu este justi-
ficat
a. Aceast a metoda este nsa utilizat
a la calculul numeric al matricei inverse,
operatie pe care o vom prezenta la paragraful 5.1.5. Num arul de operatii, nGJ ,
pentru metoda de eliminare Gauss-Jordan se calculeaz a observand ca la fiecare
etapa s, se calculeaza n 1 multiplicatori. Algoritmul elimin arii Gauss-Jordan
este dat de (5.10). Rezulta numarul de operatii la eliminarea Gauss-Jordan
n
X n3 3n n3
nGJ = [(n 1) + (n 1)(n + 1 s)] = + n2 + n2 , (5.16)
s=1
2 2 2
aproximatia fiind valabila pentru n  1.

5.1.3 Propagarea erorilor la metodele de eliminare. Rafi-


narea solutiei
a de relatiile (5.6) pe
Formula de calcul a coeficientilor matricei extinse este dat
care le retranscriem sub forma
(s) (s1) (s1) (s1)
ai,j = ai,j ai,s as,j /a(s1)
s,s , j s + 1, n + 1 , (5.17)
3 Elementele matricei Hilbert sunt date de relat ia hi,j = 1/(i + j + 1). Matri-
cea Hilbert este un caz tipic de matrice rau conditionata; spre exemplu num arul de
conditionare al matricei Hilbert de 5 5 este de ordinul 105 iar pentru 6 6 este de
7
ordinul 10 .
122 5. Rezolvarea sistemelor liniare

unde i s + 1, n, s 1, n 1 la procedeul Gauss si i = 1, 2, . . . s 1, s + 1, . . . n,


s 1, n la procedeul Gauss-Jordan. Rezult a eroarea relativ a total a
(s1) (s1) (s1)
(s) ai,j (s1) ai,s as,j
i,j = i,j 0 + s , (5.18)
(s) (s1) (s)
ai,j as,s ai,j
(s1) (s1)
0 i,s + s,j (s1)
s,s + p + d .
In expresia (5.18) s-a tinut seama de propagarea erorilor la scadere (sau sumare),
la produs si la mpartire, dupa regulile date n capitolul 4. Marginea erorii
relative totale este

(s1) (s1) (s1)
(s) a
t i,j
ai,s as,j
i,j 5 10 (s) + 5 (s1) (s) + 1 ,
(5.19)
ai,j as,s ai,j
unde t este numarul de cifre semnificative cu care se lucreaz a. Se observ a c
a
(s1)
singurul factor asupra c aruia se poate actiona este pivotul as,s a c arui valoare
n modul se recomand a, n general, s at mai mare. In leg
a fie c atura cu strategia
pivotului maxim, se poate face ns a si urmatoarea remarc a: deoarece, conform
relatiei (5.35), produsul pivotilor este n modul egal cu valoarea lui det A, rezult a
ca introducerea de pivoti mari, n modul, n primele etape de eliminare, va
implica n mod obligatoriu aparitia unor pivoti mici n etapele finale, cu at at
mai devreme cu cat valoarea absolut a a determinantului matricei A este mai
mica. Prin urmare, este posibil a o strategie optim a de alegere a pivotilor.
Un aspect si mai important legat de strategia alegerii pivotului l constituie
scalarea ecuatiilor (sau preconditionarea prin echilibrare), care poate fi f acuta
atat pe linii cat si pe coloane. Pentru a ntelege mai bine care este problema,
sa presupunem ca nmultim una din liniile sistemului cu un num ar foarte mare.
Acest lucru nu modific a teoretic solutia sistemului dar avem mari sanse ca ele-
mentul maxim n modul s a se afle pe aceast a linie, chiar daca acest lucru nu
s-ar fi ntamplat cu linia original a. Este necesar a deci scalarea matricei care
consta n nmultirea fiec arei linii cu c ate un multiplicator ri astfel ncat eleme-
tele maxime n modul de pe fiecare linie s a fie egale cu unitatea. Sistemul (5.1)
devine
X n
ri ai,j xj = ri bi , ri = 1/ max |aij |, i 1, n , (5.20)
j1,n
j=1

Pentru a reduce pe cat de mult posibil erorile de rotunjire, multiplicatorul se


alege de forma 1/2m astfel 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, acesti multiplicatori trebuie memorati.
Similar, preconditionarea prin echilibrare pe coloane, const
a n transformarea
sistemului (5.1) n sistemul echivalent
n
X
pj ai,j (xj /pj ) = bi , pj = 1/ max |aij |, j 1, n , (5.21)
i1,n
j=1
5.1. Metode directe 123

Tot pe linia obtinerii unei unei precizii c at mai bune se nscrie si rafinarea
solutiei, care consta n mbunatatirea solutiei printr-un proces iterativ. Notand
cu e vectorul eroare si cu x vectorul solutiei aproximative g asite, nlocuind n
sistemul (5.2) vom obtine o valoare b 6= b
A x = b, x=xe , (5.22)
adic
a apare o diferenta fata de vectorul b, diferent
a pe care o vom nota cu
=bb . (5.23)
Prin scaderea ecuatiilor (5.2) si (5.22), se obtine un sistemul
Ae = , (5.24)
care are aceeasi matrice cu sistemul initial. Prin urmare, sistemul (5.24) se
rezolva cu acelasi algoritm, nefiind necesare dec
at operatiile de eliminare aplicate
asupra termenilor liberi. Se obtine solutia rafinata
x
1 = x
+e . (5.25)
Evident, nici aceasta solutie (5.25) nu este exact a, deoarece la determinarea
vectorului eroare e se introduc aceleasi erori ca la rezolvarea sistemului initial
(5.2), prin transformarile efectuate asupra matricei A. O nou a rafinare, plec
and
de la x1 este posibila, dar aceasta nu mbun at
ateste n mod necesar solutia
sistemului. Conditii suficiente pentru corectarea solutiei se vor da la paragraful
5.1.7.
Exemplu. Relu am exemplul (5.11). Indiferent de metoda utilizat a, solutia trebuie
a n sistem. In acest fel, se g
verificat aseste vectorul erorilor (5.23)
Solutia 1 2 3 kk /kbk
(5.13) 0.944 102 0 0.5 102 0.47 102
(5.14) 0.328 102 0 0.38 100 0.19 100
Se constata c
a, n cazul solutiei (5.14), exist
a o eroare relativ
a mare (circa 20%) n
termenii liberi, deci se impune rafinarea solutiei. Presupunnd c a efectu
am asupra
matricei A aceleasi operatii care ne-au condus la solutia (5.14), sistemul (5.24) pentru
determinarea vectorului eroare e conduce la matricea
8 2 3 | 0

8 2 3 | 0
0 0.028 1.38 | 0.00328 0 0.028 1.38 | 0.00328 ,
0 1.75 4.63 | 0.38 0 0 81.6 | 0.585
cu solutia
e3 = 0.717 102 , e2 = 0.236 100 , e1 = 0.563 101
Solutia corectat
a este
003 = 0.165 101 , x
x 002 = 0.450 101 , x
1 = 0.756, ( 0i + ei ) ,
x00i = x
cu norma maxim
a a erorii
00 k = 0.4 101 .
kx x
Se observ 0 , dar rezultatul este
a o reducere a normei erorii absolute n raport cu solutia x
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 nmultirea matricei
A cu anumite matrice simple. Spre exemplu, n prima etap a, matricea A este
nmultita la stanga cu o matrice notat a cu L1 , n a doua etapa cu o matrice L2 ,
s.a.m.d. Se verifica direct ca aceste matrice sunt de forma

1 0 ... ... 0 1 0 ... ... 0
m2,1 1 . . . . . . 0 0 1 ... ... 0

.. ..
L1 =
m 3,1 0 . . . . 0
, L2 =
0 m 3,2 . . . . 0 ,

.. .. . . . . .
.
.
. .
. .
. . . .
.

. . . . . . . . . .
mn,1 0 . . . 0 1 0 mn,2 . . . . . . 1

adica se obtin din matricea unitate de dimensiuni n n prin introducerea mul-


tiplicatorilor, cu semn schimbat, n pozitiile specificate chiar prin indicii acestor
multiplicatori. Ca prob a, elementul pi,1 din matricea produs L1 A este

pi,1 = mi,1 a1,1 + 1 ai,1 = 0, i = 2, 3, . . . , n . (5.26)

In consecinta, n absenta permut


arilor de linii si coloane (pe care de fapt le
efectuam pentru obtinerea pivotilor de modul convenabil), se obtine produsul
de matrice

U = Ln1 Ln2 . . . L2 L1 A , (5.27)

U fiind matricea superior triunghiular a4 , obtinut


a n etapa n 1 a elimin
arii ga-
ussiene (etapa finala). Vom observa, mai departe, c a matricele Ls , s 1, n 1
sunt toate inversabile, av and determinanti egali cu unitatea. Mai mult, se ve-
rifica direct ca matricele inverse L1
s se obt in din matricele Ls prin schimbarea
semnelor elementelor mi,s . Not and cu L = (Ln1 Ln2 . . . L2 L1 )1 matricea
inversa a transformarilor matricei A (5.27), rezult a c
a la eliminarea gaussian a
(fara permutari de linii sau coloane), s-a realizat factorizarea

A=LU , (5.28)

unde L este o matrice inferior triunghiular a av


and elemente egale cu unitatea
pe diagonala principal a, iar n rest multiplicatorii utilizati la eliminare

1 0 ... ... 0
m2,1 1 ... ... 0

L = L1 L 1
. . . L 1
=
m3,1 m3,2 1 ... 0 . (5.29)
1 2 n1
.. .. .. .. ..
. . . . .
mn,1 mn,2 ... mn,n1 1
4 Literele L si U sunt preluate de la cuvintele din limba englez
a lower si upper.
5.1. Metode directe 125

Pe de alta parte, matricea U , superior triunghiular


a, are expresia

a1,1 a1,2 a1,3 . . . a1,n
(1) (1) (1)
0
a2,2 a2,3 . . . a2,n

(2) (2)
0 0 a3,3 . . . a3,n

U = . (5.30)
.. .. .. .. ..

. .

. . .
(n1)
0 0 ... 0 an,n

Permutarea de linii sau coloane revine la nmultirea matricei ale c arei linii
sau coloane se permuta, cu o matrice de permutare. Vom nota cu Pi,j matricea
obtinuta prin permutarea n matricea unitate de aceleasi dimensiuni, a liniilor
sau coloanelor i si j. Pentru a permuta liniile i si j dintr-o matrice oarecare, se
nmulteste matricea respectiva cu Pi,j la st anga, iar pentru a permuta coloanele
i si j, se nmulteste cu Pi,j la dreapta. Presupunem c a, spre exemplu, pentru
a ajunge la forma triunghiulara U 0 s-au folosit at at permut ari de linii c
at si de
coloane, astfel ncat, 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 obtine

U 0 = Ln1 . . . L2 Pi,j L1 APk,l (5.31)

unde Pi,j si Pk,l sunt matrice de permutare. Din (5.31) se poate trage conclu-
zia ca, datorita permutarilor, matricea A nu se mai descompune chiar ntr-un
produs de matrice triughiulare. De fapt

A = (L1 1 1 0
1 Pi,j L2 . . . Ln1 )U Pk,l , (5.32)
1
unde am tinut cont ca Pi,j = Pi,j , sau

Pi,j APk,l = LU 0 , (5.33)

unde am tinut cont ca operatiile de permutare de linii si de eliminare sunt


comutative, adica

Pi,j L1 1 1 0 1 1 1 0
1 Pi,j (L2 . . . Ln1 U Pk,l ) = Pi,j Pi,j L1 (L2 . . . Ln1 U Pk,l ) (5.34)

Eliminarea gaussiana poate fi utilizat


a si pentru calculul valorii determinantilor.
Din (5.32) se obtine
(1)
det A = (1)np det U 0 = a1,1 a2,2 . . . a(n1)
n,n (1)
np
, (5.35)

unde np reprezinta numarul total de permut ari de linii si coloane. Deoarece


(s1)
det A 6= 0, rezulta ca nici unul dintre pivotii as,s , (s 1, n) nu poate fi nul.

5.1.5 Calculul matricei inverse


Matricea A este inversabila daca det A 6= 0, conditie pus a si pentru existenta
solutiei sistemului (5.2). Prin urmare, este de asteptat ca rezolvarea sistemului
126 5. Rezolvarea sistemelor liniare

si inversarea matricei A s ans legate. Intr-adev


a fie probleme str ar, matricea B
este inversa matricei A daca

AB = BA = I . (5.36)

Daca lu
am n considerare prima coloan
a a matricei B, obtinem

a1,1 a1,2 . . . a1,n b1,1 1
a2,1 a2,2 . . . a2,n b2,1 0
= , (5.37)
... ... ... ... ... ...
an,1 an,2 . . . an,n bn,1 0

adica un sistem de n ecuatii cu n necunoscute. Rezult a deci c


a problema deter-
minarii matricei inverse B este echivalent
a cu rezolvarea a n sisteme de n ecuatii
cu n necunoscute. Vom considera matricea M de dimensiuni n 2n, format a
din alaturarea matricei unitate I la matricea A, urm and a aplica transform ari
matricei A astfel ncat 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 relatie de forma

I = D(n) Tn Tn1 . . . Pi,j T1 APk,l , (5.39)

a matricele de permutare, Ts , s 1, n sunt matrice care


unde Pi,j , Pk,l reprezint
contin multiplicatorii, iar D(n) este o matrice diagonala

T1 = L1 ,
1 m1,2 ... ... 0
0 1 ... ... 0 1/a1,1 0 ... 0
(1)

..

0 1/a2,2 ... 0

m3,2 . (n)
0
T2 = ... 0 , D =
.. .. .. .. .
. .. .. .. .. . . . .

..

. . . . (n1)
0 0 ... 1/an,n
0 mn,2 ... ... 1

Daca aceleasi transform


ari la st
anga sunt aplicate si matricei unitate, rezult
ao
matrice B avand expresia

B = D(n) Tn Tn1 . . . Pi,j T1 I . (5.40)

Din (5.39) si (5.40) se obtine

I = BAPk,l , (5.41)
2
sau, observand ca Pk,l = I si nmultind egalitatea (5.41) la dreapta si la stnga
cu Pk,l , se obtine

a (Pk,l B)A = I, deci A1 = Pk,l B , (5.42)


Pk,l IPk,l = Pk,l BAPk,l Pk,l , rezult
5.1. Metode directe 127

adic
a matricea inversa se obtine din matricea B printr-o permutare de linii, co-
respunz
atoare permut arilor de coloane efectuate la c
autarea pivotilor n operatiile
de eliminare. Daca s-au efectuat mai multe permut ari de coloane, spre exemplu

I = BAPk1 ,l1 Pk2 ,l2 . . . Pkm ,lm , (5.43)

rezulta

A1 = (Pkm ,lm . . . (Pk2 ,l2 (Pk1 ,l1 B)) . . . ) , (5.44)

adica permutarile de linii n matricea B se efectueaza n ordine inversa fat


a de
permutarile de coloane efectuate n matricea A. Dac a la cautarea pivotilor nu
se folosesc schimbari de coloane, atunci A1 = B.
Lasand la o parte permutarile, num arul de operatii la inversare este

ninv = 3n3 /2 2n2 + 5n/2 + 1 3n3 /2 2n2 , (n  1) . (5.45)

Se observa ca numarul de operatii la inversarea matricelor mari (n 40) este


de circa 3 ori mai mare decat pentru eliminarea Gauss-Jordan si de 4.5 ori
mai mare decat la eliminarea Gauss. Num arul de operatii se poate reduce ns
a
tin
and seama de forma particular a a matricei unitate. Intr-adev ar, n prima
etapa a eliminarii, matricea I (plasat
a n coloanele n + 1, 2n) sau orice matrice
de permutare Pi,j care ar putea ap area n locul ei n urma alegerii pivotului,
contine doar un element nenul pe fiecare linie. In urma elimin arii din prima
etapa, coloanele n + 1 . . . 2n vor 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 etapa s,
se va opera cu cel mult s elemente diferite de zero pe linia pivotului, n coloanele
n + 1 . . . 2n. Ca urmare, numarul de operatii 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 tinerii evidentei pozitiilor elementelor nenule din linia
pivotului. Aceasta evidenta nu este dificil
a deoarece, la fiecare etap a se adauga
o coloana noua la precedentele. In final, vom observa c a permut arile de linii
(singurele care se aplica pe pozitia ocupat a initial de matricea I) schimb a doar
pozitiile elementelor nenule (nu si num arul acestora).
Determinarea matricei inverse am v azut ca este echivalent a cu rezolvarea a
n sisteme de n ecuatii simultane (cu aceeasi matrice A), av and ca termeni liberi
coloanele matricei I, iar ca necunoscute elementele matricei inverse. Aceeasi
problema poate fi rezolvata si prin eliminare gaussian a, retrosubstituirea pentru
asirea celor n2 necunoscute cerand ns
g a n2 (n+1)/2 operatii. In aceste conditii,
numarul de operatii pentru inversare este

(a) fara 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 ca ninv2 < ninv , n timp ce ninv3 > ninv1 .

Exemplu. Ne propunem s a calcul


am inversa matricei A a sistemului (5.11). Vom
folosi metoda Gauss-Jordan cu pivotare total
a pentru matricea extins
a. Avem succesiv

1 0.2222 1 | 1 0 0
" #
8 2 3 | 0 1 0
l1 l2
8 2 3 | 0 1 0 1 0.2222 1 | 1 0 0
1 2 5 | 0 0 1 1 2 5 | 0 0 1
8 2 3 | 0 1 0
" #
s=1
0 0.0278 1.375 | 1 0.125 0
0 1.75 4.625 | 0 0.125 1
8 2 3 | 0 1 0
l2 l3
0 -4.625 1.75 | 1 0.125 1
c2 c3
0 1.375 0.0278 | 0 0.125 0
8 0 0.8649 | 0 1.081 0.6486
s=2
0 4.625 1.75 | 1 0.125 1
0 0 0.4925 | 0 0.1622 0.2973
8 0 0 | 1.756 1.366 1.171
" #
s=3
0 4.625 0 | 3.553 0.4513 0.0564
0 0 0.4925 | 1 0.1622 0.2973
1 0 0 | 0.2195 0.171 0.1463
" #
D
0 1 0 | 0.7683 0.09758 0.0122 .
0 0 1 | 2.030 0.3293 0.06037
(5.49)

Calculele au fost efectuate cu 4 cifre semnificative. Deoarece am permutat coloanele


2 si 3 pentru aducerea valorii 4.625 pe pozitia pivotului, matricea invers
a B0 se
obtine din (5.49) prin permutarea liniilor 2 si 3 n matricea formata cu ultimele trei
coloane

0.2195 0.1707 0.1463
B0 = 2.030 0.3293 0.6037 . (5.50)
0.7683 0.09758 0.0122

5.1.6 Relatia Sherman-Morisson


Fie matricea A pentru care am calculat, cu un efort apreciabil, o aproximatie
a inversei, B = A1 . S a presupunem c a n matricea A sunt c
ateva elemente
care sufera mici modific
ari (se poate modifica numai un element, sau o linie, sau
o coloana, 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 v T )1 = A1 (A1 u)(vA1 )T /(1 + vA1 u) , (5.51)


5.1. Metode directe 129

unde u si v sunt doi vectori cu ajutorul c


arora putem exprima schimbarea din
matricea A de forma

A A + u vT . (5.52)

Spre exemplu, daca se modifica linia i din matricea A, trebuie ca uj = 0,


j 1, n\{i}, ui = 1, iar vectorul v contine valorile cu care se modifica elementele
ai,j , j 1, n. Analog, pentru a modifica coloana j, vi = 0, i 1, n \ {j}, vj = 1,
iar vectorul u contine 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, obtinut a
prin oricare din procedeele prezentate, nu este chiar matricea A1 . Fie B0
inversa matricei A, obtinuta initial. Putem defini o matrice a erorilor, F0 , prin
relatia

F0 = I AB0 . (5.53)

Evident, daca B0 este exacta, atunci F = 0. S


a presupunem c
a erorile sunt
suficient de mici, astfel ncat

kF0 k  1 , (5.54)

unde kF0 k reprezinta o norma oarecare a matricei F0 (vezi si paragraful 5.4).


Mai departe, vom construi un sir de iteratii astfel nc
at

Fk+1 = I ABk+1 , Fk+1 = Fk2 , k = 0, 1, 2, . . . (5.55)

T and cont de (5.54), atunci Fk 0, deoarece


in
k k
kFk k = kF02 k kF0 k2 0, pentru k . (5.56)

Din (5.55) se deduc succesiv

Fk+1 = Fk Fk = (I ABk )Fk = Fk ABk Fk =


(5.57)
= I ABk ABk Fk = I A(Bk + Bk Fk ) = I ABk+1 ,

sau comparand ultimele doua egalit


ati (5.57)

Bk+1 = Bk + Bk Fk = Bk (I + Fk ) = 2Bk Bk ABk , k = 0, 1, 2, . . . (5.58)

Relatia (5.58) arata cum trebuie construite inversele cu o precizie din ce n ce


mai buna, daca este realizata conditia (5.54). Din relatia (5.55) se poate scrie

A1 Fk+1 = A1 Bk+1 . (5.59)

Rezulta eroarea relativa la inversare, n norm


a

kA1 kk+1 /kA1 k = kA1 Bk+1 k/kA1 k kFk+1 k . (5.60)


130 5. Rezolvarea sistemelor liniare

Odata gasita o invers


a suficient de exact
a, se poate obtine si o solutie rafinat
a
a sistemului (5.2)

x = A1 b = Bk+1 b, k 1 . (5.61)

Deoarece procesul de rafinare contine nmultiri de matrice care necesit a circa n3


operatii, este de dorit ca kF0 k s a fie c
at mai mic
a n raport cu unitatea, adica
inversarea initiala sa fie c
at mai buna.
Exemplu. Matricea erorilor pentru matricea invers a B0 dat
a de (5.50) este

13.4 7.046 4.214
5
F0 = 10 90 20 40 , (5.62)
100 10 10
cu norma

kF0 k = 105 (90 + 20 + 40) = 1.5 103  1 .

Deoarece kF0 k < 1, putem rafina inversa B0 folosind (5.58), unde apare corectia

2.208 3.33 4.44
5
B0 F0 = 10 57.94 1.68 1.419 .
2.731 3.339 0.544

Se obtine matricea rafinat


a B1 si matricea erorilor F1 date de

0.2195 0.171 0.1463 3.923 2.775 2.962
8
B1 = 2.0306 0.3293 0.6037 , F1 = 10 9.94 14.34 7.793 .
0.7683 0.09758 0.0122 5.6 6.046 0.786
(5.63)

Folosind inversele B0 si B1 pentru rezolvarea sistemului (5.11), se obtin solutiile

(0) = B0 b = (0.756, 4.993, 1.6464)T , x


x (1) = B1 b = (0.7561, 4.9941, 1.6464)T ,

cu vectorii eroare dati de

e(0) = 105 (9.756, 90.024, 5.854)T , e(1) = 105 (0.244, 19.76, 5.854)T .

Eroarea relativ a de relatia (5.60) n norma kk este pentru matricea


a la inversare dat
nerafinat
a B0 data de (5.50)

k0 A1 k /kA1 k kF0 k = 1.5 103 ,

iar pentru matricea rafinat a de (5.63) este


a B1 dat

k1 A1 k /kA1 k kF1 k = 0.32 106 .


5.1. Metode directe 131

5.1.8 Efectele erorilor din datele initiale


Daca n datele initiale ale sistemului (5.1) exist
a erori, acestea pot fi amplificate
n calcul mai mult sau mai putin, n functie de num arul de conditionare al
matricei sistemului. Num arul de conditionare (sau indicele de conditionare) al
unei matrice A, nesingulare, este notat cu (A) si are, prin definitie, expresia

(A) = kAk kA1 k 1 . (5.64)

Cu cat (A) este mai mare, cu atat matricea este mai r au conditionat
a, calculul
matricei inverse fiind mai dificil de efectuat. De aceea, este mai util a definitia
(5.85) pe care o vom da n paragraful 5.1.10.
Exemplu. Num arul de conditionare al matricei A din exemplul (5.11) calculat
cu relatia (5.64), folosind norma k k si cu matricea invers a B0 dat
a nerafinat a de
(5.50) este

(A) = kAk kB0 k = 13 2.962 = 38.5 ,

adic
a amplificarea erorilor este moderat
a.
Sa presupunem ca, n matricea initiala A, s-a introdus perturbatia A astfel
nc
at eroarea relativa, n norma, satisface inegalitatea

kAk kA1 k < 1 . (5.65)

a presupunem ca si vectorul b este dat cu eroarea b. In consecint


S a, va rezulta
o imprecizie x n solutie, astfel nc
at

(A + A)(x + x) = b + b , (5.66)

sau, tinand cont de (5.1)

A x + (A + A)x = b . (5.67)

Din (5.67) se obtine succesiv

x = (A + A)1 (b A x) = [A(I + A1 A)]1 (b A x) =


(5.68)
= (I + A1 A)1 A1 (b A x) ,

Inegalitatea (5.65) implica ns


a

k(I + A1 A)1 k (1 kA1 Ak)1 (1 kA1 k kAk)1 . (5.69)

iar din (5.1) se obtine

kxk1 kAk kbk1 . (5.70)

Utilizand (5.68), rezulta

kxk (1 kA1 k/kAk)1 kA1 k(kbk + kAk kxk) (5.71)


132 5. Rezolvarea sistemelor liniare

sau, mpartind cu kxk 6= 0 si utiliz


and (5.70)
 
kxk (A) kbk kAk
+ . (5.72)
kxk 1 (A)kAk/kAk kbk kAk

Semnul egal n (5.72) corespunde matricelor hermitice, cu norma spectral a.


Se observa importanta numarului de conditionare (A) n amplificarea erorilor
initiale. Legat de eroarea la inversarea matricei A, se stabileste o expresie
similara cu (5.72)

k(A + A)1 A1 k (A) kAk


1
. (5.73)
kA k 1 (A)kAk/kAk kAk

5.1.9 Factorizarea L U
Dupa cum am vazul la paragraful 5.1.4, metoda elimin arii gaussiane f
ar
a per-
mutari 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
aU

A=LU , (5.74)

adica

l1,1 0 ... 0 u1,1 u1,2 ... u1,n
l2,1 l2,2 ... 0 0 u2,2 ... u2,n
A= . (5.75)

.. .. .. .. .. .. .. ..
. . . . . . . .
ln,1 ln,2 ... ln,n 0 0 0 un,n

Putem folosi descompunerea (5.74) pentru a rezolva sistemul (5.2) tin


and cont
de asociativitatea produsului de matrice

Ax = (LU )x = L(U x) = b , (5.76)

rezolvand pe rand sistemele

Lz = b, U x = z . (5.77)

Sistemele (5.77) se rezov a cu usurint


a datorita faptului c a matricele L si U
sunt triunghiulare. Relatia (5.75) reprezint a un sistem de n2 ecuatii cu n2 + n
necunoscute, deci trebuie precizate n dintre necunoscute. Cele mai utilizate
alegeri sunt date de factorizarea Doolittle c
and se aleg li,i = 1, factorizarea Crout
cand se aleg ui,i = 1 si factorizarea Cholesky c and U = LT , deci li,i = ui,i .
Factorizarea Cholesky este posibil a numai dac a matricea A este simetric a si
pozitiv definita5 .
5O matrice se numeste pozitiv definit a pentru orice vector x 6= 0, avem xT Ax > 0.
a dac
5.1. Metode directe 133

Algoritmul de calcul pentru factorizarea LU se determin


a relativ usor dezvolt
and
relatia (5.75) si este dat de (5.78)-st
anga.

k=1:n

k [Se alege lk,k , se determin a
= 1 : n
[Se alege uk,k sau lk,k , uk,k care se p a streaz a
n

se determina lk,k sau uk,k ] locatia ak,k ]
k1
k1 P
lk,k uk,k ak,k P lk,s us,k


(ak,k ak,s as,k )
s=1 a s=1
i = (k + 1) : n k,k lk,k


ji i = (k + 1) : n

k1
P ji

(ak,j lk,s us,j )
k1
s=1 P
uk,j (ak,j ak,s as,j )


lk,k s=1
ak,j

k1
P lk,k
(ai,k

li,s us,k ) k1
s=1
P
li,k (ai,k ai,s as,k )
uk,k s=1
ai,k
ak,k
(5.78)

In partea dreapta este dat algoritmul n care se aleg valorile lk,k , k 1, n, care
se memoreaza separat, iar elementele li,j , i 2, n, j 1, i 1, um,p , m 1, n,
p m, n, se plaseaza pe locul elementelor matricei A.
Din (5.78) observa ca pentru a putea obtine factorizarea LU este necesar
ca lk,k si uk,k sa fie nenule. Factorizarea LU poate fi implementat a eficient
folosind tehnica pivotului partial, caz n care P A = LU , iar solutia se obtine
rezolvand sistemul echivalent LU = P b, unde P este matricea care contine
toate permutarile de linii efectate asupra matricei A pe parcursul procesului de
factorizare. Conditiile n care o matrice admite o factorizare LU sunt incluse n
urm atoarele teoreme pe care le dam f ar
a demonstratie:

Teorem
a. Daca minorii principali ai matricei A sunt nenuli, atunci aceasta
admite o factorizare LU .

Teorem
a. Daca A este o matrice reala, simetric
a si pozitiv definit
a, atunci ea
a, n care U = LT .
admite o factorizare LU unic
In cazul n care A este o matrice real
a, simetric
a si pozitiv definit
a, descom-
punerea A = LLT se numeste factorizarea Cholesky si este dat a de algoritmul
(5.79).

k=1:n
Pk1 2 1/2
lk,k (ak,k s=1 lk,s )
i = (k + 1) : n (5.79)
h Pk1
li,k (ai,k s=1 li,s lk,s )/lk,k .
134 5. Rezolvarea sistemelor liniare

5.1.10 Descompunerea SV D
In unele cazuri, metodele prezentate anterior esueaz a datorit
a matricei sistemu-
lui care are determinantul foarte mic ca valoare absolut a. Altfel spus, una din
liniile sistemului este aproape o combinatie liniara a celorlalte linii6 . In aceste
7
situatii se recomanda descompunerea SV D pe care o prezent am n acest para-
graf. Dam fara demostratie urm
atoarea teorem a:

Teorem a Oricare ar fi matricea A de m linii si n coloane, cu m n, ea poate


fi descompusa ntr-un produs de trei matrice

A=U W VT , (5.80)

unde U este o matrice ortogonala m n, W este o matrice diagonal


a n n, iar
V este o matrice ortogonala n n.
Matricele U si V au coloanele ortonormate, adic
a

UT U = V T V = I , (5.81)

unde I este matricea unitate n n. Important este faptul c a descompunerea


(5.80) poate fi facuta si n cazul n care matricea A este singular
a.
In cazul n care matricea A este p atrat
a (m = n), sistemul (5.2) se rezolva
usor, deoarece inversele matricelor U , V si W se calculeaz a imediat tin
and cont
de (5.81) si deci

A1 = V diag(1/wi ) U T , (5.82)

iar solutia sistemului (5.2) este

x = V [diag(1/wi )] (U T b) . (5.83)

Daca matricea A este singular a, unul sau mai multe din elementele wi sunt nule,
iar sistemul (5.2) este nedeterminat si poate fi compatibil sau incompatibil dup a
cum rangul matricei A este sau nu egal cu rangul matricei extinse A0 . Dac a
sistemul (5.2) este compatibil, se poate ar ata c a o solutie particulara poate fi
obtinuta prin nlocuirea elementelor infinite din (5.83) cu zero (adic a n loc
de 1/wi = vom pune wi = 0!). Dac a proced am n acelasi fel n cazul n
care sistemul (5.83) este incompatibil, se poate demonstra c a solutia obtinuta
minimizeaza reziduul

R = kAx bk2 , (5.84)

adica vectorul x satisface cel mai bine (5.2) n sensul celor mai mici p
atrate.
In cazul n care matricea A este aproape singular a, unul sau mai multe
elemente wi au valori foarte mici n modul. Spunem n acest caz c a matricea
6 Spunem n acest caz c
a matricea A este aproape singular
a.
7 Init
ialele SV D provin de la cuvintele din limba englez
a Singular Value Decomposition.
5.1. Metode directe 135

A este r
au conditionat a. Num
arul de conditionare al matricei A poate 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 conditionare este mai mare, cu at at matricea A este mai r au


conditionata (vezi paragraful 5.1.8), iar una sau mai multe ecuatii sunt foarte
aproape de niste combinatii liniare ale celorlate ecuatii. Metodele de eliminare,
chiar si cu pivotare totala, pot esua n astfel de cazuri. Folosind descompunerea
(5.80), solutia obtinuta (5.83) este efectata de prezenta elemetelor wi foarte mici
n modul. O modalitate de a evita astfel de probleme const a n renuntarea la
ecuatiile care sunt foarte aproape de niste combinatii liniare ale celorlate ecuatii
(si deci care nu aduc informatii suplimentare), ceea ce ce se poate realiza prin
nlocuirea cu zero a elementelor 1/wi foarte mari n modul. Se obtin astfel solutii
care au reziduul R dat de (5.84) mai mic dec at cel dat de solutia obtinut a cu
valorile 1/wi ce rezulta din descompunerea (5.80).
Pentru cazul n care numarul de ecuatii este mai mic dec at num arul de
necunoscute (m < n), se poate obtine o solutie particular a ad augand n m
linii de zerouri n matricea A obtin and o matrice p atrata n n, efectu and apoi
descompunerea (5.80) si nlocuind cu zero termenii 1/wi ce corespund valorilor
wi mici n modul.
Tehnica descompunerii (5.80) are implement ari puternice n toate bibliotecile
matematice de rezolvare a sistemelor de ecuatii liniare. Algoritmii folositi sunt
relativ sofisticati, depasind cadrul acestei lucrari, fiind folositi n cazurile dificile
ale sistemelor cu matrice mari si rau conditionate.

5.1.11 Sisteme cu matrice rare


In practica 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 cat 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 secvente 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 anuntit
a depasind
cadrul acestei carti.
Majoritatea metodelor utilizate pentru rezolvarea sistemelor cu matrice rare
sunt metode de eliminare de tip Gauss sau metode de factorizare LU , la care
se acorda o atentie deosebita elementelor nule n scopul micsor arii volumului de
calcul si a memoriei utilizate. Aplicarea eficienta si cu succes a metodelor directe
n rezolvarea sistemelor cu matrice rare depinde de c at de ordonat a (simpla)
136 5. Rezolvarea sistemelor liniare

Figura 5.1: Forme speciale de matrice rare.

este structura matricei. In bibliotecile matematice sunt implementate tehnici


de analiza a structurii matricei si de transformare a acesteia ntr-o structur a
suficient de ordonata. Aceste prelucr ari au ca rezultat si o crestere a numarului
de conditionare a matricei, efect nedorit care se poate ameliora prin echilibrarea
(scalarea) matricei, tehnic a descrisa la paragraful 5.1.3.
In figura 5.1 sunt reprezentate principalele forme speciale de matrice rare.
Aceste forme speciale au avantajul c a permit evitarea aparitiei elementelor ne-
nule n afara zonelor hasurate.
Sistemele cu matrice band a rezult
a n general din discretizarea ecuatiilor
cu derivate partiale. Un caz simplu al matricelor de tip band a a fost descris
la interpolarea cu functii spline cubice, paragraful 1.1.2. Pentru sistemele cu
matrice banda, metodele directe de eliminare sau factorizare se dovedesc n
general eficiente, cu exceptia cazurilor n care dimensiunea sistemului este foarte
mare, cand se recomand a metodele iterative sau combinatii ntre metode directe
si iterative.
Problema principal a care se pune n cazul matricei band a este memorarea
cat mai eficienta a acesteia. Cea mai simpl a schem a de memorare a unei matrice
simetrice cu latimea benzii egal a cu 2b 1 (figura 5.1) cu elementele ai,j = 0
pentru |i j| b, const a n memorarea doar a elementelor de pe diagonala
principala si a celor de sub ea (j i), av
and nevoie de un vector v de dimensiune
n + (n 1) + . . . + (n b + 1) = b(2n b + 1)/2. In cazul n care memor am
matricea pe linii, elementul ai,j se va g asi n vectorul v pe pozitia k = [1 +
2 + . . . + (i 1)] + j = i(i 1)/2 + j dac a i b. Dac a i > b, vom avea
1 + 2 + . . . + b = b(b + 1)/2 elemente pe primele b linii, apoi b(i b 1) elemente
5.1. Metode directe 137

pana la linia i 1 inclusiv si j (i b) elemente pe linia i, deci elementul ai,j se


va g asi pe pozitia (b 1)i b(b 1)/2 + j. In cazul matricelor mari care contin
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-
tor v de dimensiune 1 + 2 + . . . + n = n(n + 1)/2 elemente. Dac a matricea este
pastrata pe linii, elementele ei sunt memorate n ordinea a1,1 , a2,1 , a2,2 , a3,1 ,
and n vectorul v pozitia i(i 1)/2 + j.
a3,2 , a3,3 , a4,1 . . . , elementul ai,j av
Pentru memorarea unei matrice rare oarecare exist a mai multe tehnici dintre
care amintim: memorare prin identificare binar a, memorare compact a aleatoare,
memorare compacta sistematica, memorare prin utilizarea adreselor nl antuite,
s.a. De regula, o tehnica de memorare care minimizeaz a capacitatea de memorie
utilizata plateste pretul unui timp mai mare de calcul si viceversa. Pentru exem-
plificare, prezentam pe scurt doua tehnici: memorare prin identificare binar a si
memorare compact a sistematic
a. Vom folosi ca exemplu matricea

a1,1 0 a1,3 0 0
0 0 0 0 0
A= 0
. (5.87)
0 a3,3 0 a3,5
a4,1 0 0 a4,4 0
Matricea se memoreaza folosind dou a zone: o zona primar
a n care sunt memo-
rate elementele nenule ale matricei A si o zona secundar
a n care sunt pastrate
informatii necesare gasirii rapide a acestora. Ambele tehnici folosesc o zon a
primara reprezentata de vectorul
v = (a1,1 , a1,3 , a3,3 , a3,5 , a4,1 , a4,4 ). (5.88)
In cazul memorarii prin identificare binar a, zona secundar a se bazeaz
a pe
natura binara a sistemului de calcul. Pentru fiecare element ai,j al matricei A
se memoreaza o cifra binara: 0 dac a ai,j 6 =0. Pentru matricea
a ai,j = 0 si 1 dac
(5.87), zona secundara va fi data de succesiunea de cifre binare
1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 .
Aceasta schema necesita calcule complicate (care s a permita accesul la bit)
pentru identificarea pozitiei elementelor matricei.
In cazul memorarii compacte sistematice, avem dou a zone secundare, prima
n care se memoreaza indicii de coloan a ck al elementului vk , iar cea de a doua
n care se memoreaza indicele de coloan a fi al 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)
Numarul de elemente nenule de pe linia i este 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 informatiilor
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 operatii care creste la sistemele
mari, cu cubul numarului de ecuatii din sistem, O(n3 ). Operatii suplimentare
sunt cerute de cautarea pivotilor, n vederea reducerii erorilor de rotunjire. Me-
todele iterative pot conduce la un num ar mai mic de operatii pe iteratie. Dac a
procedeul iterativ este suficient de rapid convergent se poate obtine o economie
importanta de timp de calcul. In plus, metodele iterative permit mentinerea
structurii initiale a unei matrice rare, rezultand un consum redus de memorie.
Principiul general al metodelor iterative poate fi prezentat prin analogie cu
metoda iteratiei simple (vezi 3.2.1) de rezolvare a ecuatiei F (x) = 0, n care
ecuatia originala 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 = b vom forta o descompunere a matricei A

A=A+BB (5.92)

si vom scrie forma echivalent


a a sistemului liniar initial

Bx = c (B A)x + b . (5.93)

Analog iteratiei simple, vom considera relatia (5.93) ca o procedur a de obtinere a


unei aproximatii mbun atite a solutiei sistemului x(k+1) , dat
at a fiind o aproximatie
initiala x(k) ,

Bx(k+1) = (B A)x(k) + b . (5.94)

Descompunerea (5.92) se alege astfel nc


at:

1. sirul aproximatiilor {x(k) }kN s


a fie c
at mai rapid convergent c
atre solutia
sistemului Ax = b;
2. sistemul Bx = c s
a fie usor de rezolvat.

5.2.1 Metoda iterativ


a Jacobi
Metoda iterativa Jacobi foloseste descompunerea

A=DC, (5.95)

unde D este o matrice diagonal


a, ce trebuie s a det D 6= 0. Siste-
a fie nesingular
mul Ax = b devine

Dx = Cx + b x = D1 C x + D1 b, (5.96)
5.2. Metode iterative 139

si rezulta procesul iterativ

x(k+1) = P x(k) + d; P D1 C; d D1 b; k = 0, 1, . . . , (5.97)

pentru pornirea caruia este nevoie de specificare unei aproximatii initiale x(0) .
Matricea P se numeste matricea rezolvanta a sistemului.
Matricea D poate fi chiar diagonala principal a a matricei A, n care caz
exprimarea pe componente a procedeului este
i1 n
(k+1) (k) (k)
X X
xi = (bi ai,j xj ai,j xj )/ai,i , i = 1, n , (5.98)
j=1 j=i+1

cu ai,i 6= 0. O generalizare a procedeului const a n separarea elementelor de pe


diagonala principala ai,i = a0i,i + a00i,i , a0i,i 6= 0, rezultand procedeul
i1 n
(k+1) (k) (k) (k)
X X
xi = (bi a00i,i xi ai,j xj ai,j xj )/a0i,i , i = 1, n . (5.99)
j=1 j=i+1

Va trebui sa stabilim n ce conditii sirurile (5.98) sau (5.99) converg spre


solutia sistemului Ax = b. Pentru a determina o conditie suficient a de convergent
a,
vom nota cu x solutia exacta si cu e(k) eroarea n aproximatia k

e(k) = x x(k) . (5.100)

F and diferenta ecuatiilor (5.96) si (5.97), se obtine imediat


ac

e(k+1) = P e(k) (5.101)

sau, trecand la norme si notand cu e(0) eroarea initiala



(k+1) 2 k
kP k e(k) kP k e(k1) . . . kP k e(0) . (5.102)

e

In consecinta, o conditie suficient


a de convergent
a a procedeului iterativ Jacobi
este ca norma matricei rezolvante s a fie subunitar
a

kP k 1 . (5.103)

Desigur, matricea rezolvanta P depinde de matricea D extras a din A. Este


avantajos, prin urmare, sa facem descompunerea astfel nc at kP k s
a fie cat
mai mica. In mod uzual, se extrage ntreaga diagonal a a matricei A, adic a
se utilizeaza sirul (5.98). In acest caz, ndeplinirea oric
areia dintre conditiile
urmatoare este suficienta pentru a asigura convergenta procedeului Jacobi:

(a) diagonal-dominanta matricei A pe linii


i1
X n
X
|ai,i | > |ai,j | + |ai,j | , i = 1, n ; (5.104)
j=1 j=i+1
140 5. Rezolvarea sistemelor liniare

(b) diagonal-dominanta matricei A pe coloane


j1
X n
X
|aj,j | > |ai,j | + |ai,j | , j = 1, n ; (5.105)
i=1 i=j+1

(c) satisfacerea relatiei



X n i1
X n
X
(ai,j /ai,i )2 + (ai,j /ai,i )2 < 1 . (5.106)
i=1 j=1 j=I+1

Conditiile (5.104-5.106) se obtin utiliz


and respectiv norma maxim a, norma
1 si norma euclidiana pentru matricea rezolvant a P (vezi paragraful 5.4).
Procedeul Jacobi (5.98) se aplic a prin algoritmul
i =1 : n
daca |ai,i | < atunci Termen diagonal practic nul; stop.
m 1/ai,i ; bi m bi

j=1:n
[daca i 6= j atunci ai,j m ai,j
xvechi x0 ; k 0;
repet
a
i =1 : n (5.107)

s bi
j=1:n


[daca i 6= j atunci s s ai,j xvechij
xnou i s


AtinsPrecizie kxnou xvechik (1 + kxnouk)
xvechi xnou; k k + 1
pana cand AtinsPrecizie sau k > kmax
Marimea este un num
ar mic, tipic epsilon masin
a, ce stabileste un prag pentru
elementele diagonale. Acolo unde se efectueaz a operatii 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
subntelege
j=1:n
. (5.108)
[xvechij xnouj .

5.2.2 Metoda iterativ


a Gauss-Seidel
In aceasta metoda, ideea const
a n a folosi noile valori ale componentelor vecto-
rului necunoscutelor x(k+1) imediat ce au fost calculate. S irul de iteratii (5.98)
se nlocuieste cu
i1 n
(k+1) (k+1) (k)
X X
xi = (bi ai,j xj ai,j xj )/ai,i , i = 1, n. (5.109)
j=1 j=i+1
5.2. Metode iterative 141

Relatia (5.109) corespunde la descompunerea matricei A ntr-o matrice diago-


nal
a, nesingulara D, o matrice strict inferior triunghiular
a T si o matrice strict
superior triunghiulara S

A=DT S. (5.110)

Matricele T, S au elementele diagonale nule. Procedeul iterativ este

Dx(k+1) = b + T x(k+1) + Sx(k) x(k+1) = P x(k) + d , (5.111)

cu P (D T )1 S, d (D T )1 b. Conditia de convergent
a este, ca si la
metoda Jacobi, ca norma matricei rezolvante P sa fie subunitar
a

kP k < 1 (D T )1 S < 1 .

(5.112)

Evaluarea inversei (D T )1 este costisitoare, necesit and O(n3 /6) operatii, ast-
fel ncat se cauta conditii 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 putin tot at at de rapid ca metoda Ja-
cobi. Pentru transcrierea acestei conditii vom folosi urm atoarele notatii
i1
X n
X
pi |ai,j /ai,i | , qi |ai,j /ai,i | . (5.113)
j=1 j=i+1

Conditia de diagonal-dominanta pe linii a matricei A revine la a scrie

ri pi + qi < 1, i = 1, n . (5.114)

S
a demonstram enuntul anterior n aceste conditii. Sistemul de ecuatii Ax = b
se scrie sub forma
i1
X n
X
xi = (bi ai,j xj ai,j xj )/ai,i , i = 1, n (5.115)
j=1 j=i+1

cu xi valorile exacte ale necunoscutelor si ai,i presupusi nenuli (ai,i 6= 0). F


ac
and
sc
aderea membru cu membru a sistemelor de egalit ati (5.115) si (5.109), se
obtine
i1 n
(k+1)
X ai,j (k+1)
X ai,j (k)
xi xi = (xj xj ) (xj xj ) , (5.116)
j=1
ai,i j=i+1
a i,i

sau, observand ca n (5.116) au aparut componentele vectorului eroare absolut


a
si trecand la module
i1 n
ai,j (k)
(k+1) X ai,j (k+1)
X
ei ai,i ej + ai,i ej
(5.117)
j=1 j=i+1
142 5. Rezolvarea sistemelor liniare

Inegalitatea poate fi majorat


a n continuare, introduc
and norma maxim
a a vec-
torului eroare,

(k) (k)
e = max ej . (5.118)
j

In acest fel, utilizand si notatiile (5.113), se obtine



(k+1)
pi e(k+1) + qi e(k) . (5.119)

ei

Inegalitatea (5.119), fiind adev


arat
a pentru orice i = 1, n, este adev
arat
a si
(k+1)
pentru acel i = i pentru care |ei | este maxim. Deci:

(k+1)
pi e(k+1) + qi e(k) (5.120)

e



(k+1) qi
(k)
e . (5.121)
1 pi
e

Pe de alta parte, utiliz


and conditia (5.114), rezult
a

qi ri qi ri ri pi
= = ri < 1 . (5.122)
1 pi 1 pi 1 pi

Deoarece, n cazul diagonal-dominantei matricei A, cantitatea r = max ri re-


i
prezinta tocmai norma maxim a a matricei rezolvante a procedeului Jacobi,
(r kPJ k) din (5.121) rezult a c
a rata de micsorare a erorii de la o aproximatie
la alta este mai mica sau cel mult egal a cu r, adic
a procedeul Gauss-Seidel
converge cel putin tot at at de rapid ca procedeul Jacobi.
Pentru aplicatii se recomand a ca, n cazul c
and matricea A este dominant a
pe linii, sa se ia startul cu ecuatia i = i1 din (5.109) n care se realizeaz a
dominanta maxima a elementului diagonal. Prima necunoscut a calculat
a va fi
xi1 . In acest fel, se realizeaza reducerea maxim a a erorii la start, deoarece

pi1 = 0, qi1 = ri1 = minim . (5.123)

In continuare, pot fi ordonate celelalte ecuatii 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.
Exista si alte conditii n care procedeul este convergent. Un alt criteriu,
important pentru aplicatii, este c a iteratia Gauss-Seidel este convergent
a dac
a
matricea A este simetric a si pozitiv definita.
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
(5.124)

[daca i 6= j atunci s s ai,j xnouj
xnou i s


AtinsPrecizie kxnou xvechik (1 + kxnouk)
xvechi xnou; k k + 1
pana cand AtinsPrecizie sau k > kmax .

Se observa asemanarea cu algoritmul pentru metoda Jacobi (5.107). Ca si n acel


algoritm s-a considerat ca liniile matricei A si ale vectorului b au fost mp
artite
la termenii de pe diagonala.Vectorul xvechi este utilizat numai n conditia de
stabilire a convergentei.

5.2.3 Accelerarea convergentei metodelor iterative


Accelerarea convergentei procedeelor iterative este posibil a daca avem informa-
tii privind valorile proprii ale matricei rezolvante. Intr-adev
ar, conditia necesar
a
si suficienta pentru ca orice metod a iterativ
a s
a fie convergenta este

(P ) = max |i | < 1 (5.125)


i

unde i , i = 1, n sunt valorile proprii ale matricei P . Valoarea proprie maxim a


n modul este numita raza spectral a si se noteaz
a cu (P ). Dificultatea aplicarii
acestui criteriu consta n faptul ca, n general, problema determin arii valorilor
proprii ale unei matrice este mai complicat a dec
at problema rezolv arii sistemu-
lui Ax = b. De aceea, se cauta obtinerea unor metode de accelerare care s a
ocoleasca problema determinarii valorilor proprii, utiliz and informatii minime.
Vom da doua exemple.

Cazul matricelor pozitiv definite.


Exista sisteme ale caror matrice A sunt cunoscute ca fiind pozitiv definite (de
obicei si simetrice), adica avand valorile proprii pozitive. Fie m cea mai mic
a si
M cea mai mare valoare proprie (M > m > 0). Aceste valori (vezi Cap. 6) se
determina mai usor.
Se defineste sirul de iteratii

x(k+1) = x(k) + (b Ax(k) ) = (I A)x(k) + b , (5.126)

care aminteste de tehnica folosita pentru accelerarea convergentei iteratiei sim-


ple (3.19). Matricea rezolvanta este

P = I A, (P ) = 1 (A) (5.127)
144 5. Rezolvarea sistemelor liniare

avand valorile proprii (P ) functii de parametrul de accelerare . Valoarea


minima a lui max |(P )| se obtine pentru
2 M m
= , (P ) = <1 (5.128)
m+M M +m
si este subunitara pentru orice M, m > 0. Se observ a importanta raportului
M/m pentru convergenta procedeului iterativ. Acest raport reprezint a o evalu-
are a num arului de conditionare al matricei A, notat (A).

Accelerarea convergentei procedeului Gauss-Seidel.


Sirul iterativ (5.126) se poate generaliza introduc
and o matrice B, usor inver-
sabila, astfel ncat

x(k+1) = x(k) + B(b Ax(k) ) = (I BA)x(k) + Bb . (5.129)

Matricea B si parametrul se aleg astfel nc


at matricea rezolvant
a a sistemului
(5.129),

P = I BA , (5.130)

sa aiba o raza spectral


a (P ) c
at mai mica. Se observ a ca, n cazul procedeului
Jacobi (5.97), se obtine = 1 si B = D1 . Din punctul de vedere al aplicatiilor,
este util sa observam ca procedeele de accelerare a iteratiilor iau n calcul o parte
convenabila din elementul de pe diagonala principal a (vezi 5.99). Spre exemplu,
n cazul metodei Gauss-Seidel sirul de iteratii (5.109) se nlocuieste prin
i1 n
(k+1) (k) (k+1) (k)
X X
xi = (1 )xi + (bi ai,j xj ai,j xj )/ai,i (5.131)
j=1 j=i+1

pentru i = 1, n. Din punct de vedere matriceal, (5.131) este echivalent


a cu
descompunerea matricei A sub forma

A = 1 D ( 1 1)D T S . (5.132)

Comparand (5.132) cu (5.110) se observ a ca singura modificare este re amp ar-


tirea diagonalei matricei A, o operatie putin costisitoare. S
irul iterativ va fi
definit acum sub forma

Dx(k+1) = (1 )Dx(k) + (T x(k+1) + Sx(k) + b) , (5.133)

de unde, prin nmultire cu D1 , se obtine

x(k+1) = (1 )x(k) + D1 (T x(k+1) + Sx(k) + b) , (5.134)

and x(k+1) din (5.134) se obtine


expresie echivalenta cu (5.131). Explicit

x(k+1) = (I D1 T )1 (1 )I + D1 S x(k+1)
 
(5.135)
+(I D1 T )1 D1 b ,
5.3. Comparatii ntre metode 145

matricea rezolvanta avand expresia

P = (D T )1 [(1 )D + S] . (5.136)

Pentru = 1, din (5.136) se regaseste matricea rezolvant a a metodei Gauss-


Seidel standard. O conditie necesar a de convergent
a a sirului iterativ (5.135)
a fie subunitar. In acest fel se obtine
este ca produsul valorilor proprii n modul s
intervalul de valori ale parametrului de accelerare

0 < < 2. (5.137)

Metodele care utilizeaza 0 < < 1 se numesc metode de subrelaxare, iar meto-
dele cu 1 < < 2 se numesc metode de suprarelaxare. In lipsa altor informatii
privind valorile proprii ale matricei P , parametrul se alege prin ncerc
ari.

5.3 Comparatii ntre metode


Am prezentat o serie de algoritmi din cele dou a clase mari de metode: de
eliminare si iterative. Sa efectuam acum o comparatie ntre cele dou
a clase
de metode.

Ca num
ar de operatii.
Oricare din metodele iterative prezentate necesit a O(n2 ) operatii aritmetice per
iteratie. Prin urmare, metodele iterative devin avantajoase dac a num arul k de
iteratii nu este prea mare. Spre exemplu, o comparatie cu metoda de eliminare
Gauss conduce la concluzia ca, pentru a avea un num ar apropiat de operatii,
este necesar ca numarul de iteratii k s
a satisfac
a inegalitatea

k 1 + n/3
= n/3 . (5.138)

Inegalitatea (5.138) este cu atat mai usor de satisf


acut cu c
at num
arul de ecuatii
n este mai mare. Practic, conditia (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 nmultirea cu norma matricei rezolvante, care este
subunitara ( kP k < 1). De fapt, rata de diminuare a erorii corespunde razei
spectrale a matricei rezolvante. Totodat a, la fiecare iteratie se introduc erori de
rotunjire.
Sa consideram ca dorim sa obtinem un rezultat cu q zecimale exacte. In
acest scop sunt necesare k iteratii, astfel nc
at, n absenta erorilor de rotunjire,
se obtine (vezi 5.102)

k
e kP k e(0) 10q ,
(k)
(5.139)

146 5. Rezolvarea sistemelor liniare

e(0) fiind eroarea de start. Logaritm and a doua inegalitate n baza 10, rezult
a

k lg kP k + lg e(0) q . (5.140)

Prin urmare, se obtine o conditie pentru num


arul de iteratii k
 
k q + lg e(0) / lg kP k , kP k < 1 . (5.141)

Rezulta c a numarul de iteratii necesar creste cu precizia impus a q, cu eroarea


initiala e(0) si scade cu lg kP k. Daca se adauga si efectul erorilor de rotunjire,
marginea (5.141) trebuie majorat a.
Deoarece e(0) nu se cunoaste, se pot utiliza evalu ari obtinute cu ajutorul
unor prime iteratii. Intr-adev ar, din inegalitatea (5.139) se poate obtine
k
x x(0) 10q ,
(k) (k)
x x(k1)
(1)
e (5.142)

1 1
cu kP k . Pentru procedeul Jacobi, kP k este usor de calculat. Pentru pro-
cedeul Gauss-Seidel, n cazul matricei diagonal-dominante pe linii se ia (vezi si
5.121)
qi
= max (5.143)
i 1 pi

ceea ce corespunde la folosirea normei kk pentru eroare. In acest fel se obtine


o evaluare a numarului de iteratii n functie de prima aproximatie x(1)
 
k q + lg x(1) x(0) lg k1 k / lg . (5.144)

5.4 Elemente de calcul matriceal


Asa cum s-a vazut, n rezolvarea sistemelor de ecuatii (dar nu numai aici) in-
tervin operatii cu matrice, ndeosebi matrice p atrate. Oper am de multe ori cu
matrice, chiar cand acest lucru nu apare n mod explicit, asa cu se nt ampla
spre exemplu n cazul elimin arii unor necunoscute din ecuatiile sistemului.
Presupunem cunoscute operatiile de adunare si nmultire ale matricelor.
Amintim doar ca adunarea este definit a pentru matrice de acelasi tip (cu acelasi
numar de linii si coloane) si c
a, la nmultirea de matrice, num arul de coloane
ale matricei din stanga trebuie s a fie egal cu num arul de linii ale matricei din
dreapta. Aceasta conditie se realizeaz a ntotdeauna pentru matricele p atrate de
aceeasi dimensiune. Produsul matricelor nu este comutativ.
Fie A o matrice p atrata de dimensiuni n n. Matricea obtinut a prin
nmultirea lui A cu ea ns
asi de k ori este tot o matrice p atrata si se noteaza
cu Ak . Prin analogie cu puterile scalarilor, prin A0 se ntelege matricea unitate
I, o matrice patrata de dimensiune n. Cu puterile matricelor p atrate se pot
construi polinoame de matrice, n mod asem anator cu cazul scalarilor.
5.4. Elemente de calcul matriceal 147

Matricele pot fi nmultite (la dreapta sau la st


anga) cu vectori (coloana sau
linie) de dimensiuni corespunzatoare, rezultatul fiind un vector. Ca urmare, o
matrice poate fi privita si ca un operator (functie sau aplicatie) definit pe un
spatiu vectorial cu valori care reprezinta, de asemenea, elementele unui spatiu
vectorial (de dimensiune finita).
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
oarecare A se noteaza cu kAk si ndeplineste axiomele generale ale normelor

1. kAk > 0;

2. kAk = || kAk cu C;

3. kA + Bk kAk + kBk.

Din acestea mai rezulta

kA Bk kAk kBk . (5.145)

Daca x este un vector asupra caruia opereaza matricea A, atunci normele kAk
si kxk sunt compatibile daca are loc inegalitatea

kA xk kAk kxk . (5.146)

Se poate arata ca inegalitatile (5.145) si (5.146) se pot deduce din conditiile im-
puse normelor operatorilor liniari si continui pe spatii vectoriale de dimensiune
finita (vezi si 1.4.3). Printre normele de matrice des utilizate care ndeplinesc
conditiile impuse se numara:

1. norma maxim
a
X
kAk = sup |ai,j | , (5.147)
i
j

data de suma maxima a modulelor elementelor matricei, pe linii;

2. norma unu
X
kAk1 = sup |ai,j | , (5.148)
j
i

data de suma maxima a modulelor elementelor matricei, pe coloane;

3. norma euclidian
a
1/2
X 2
kAkE = |ai,j | ; (5.149)
i,j
148 5. Rezolvarea sistemelor liniare

4. norma spectral
a
1/2
kAk2 = ((A A)) , (5.150)

adica raza spectrala a matricei produs A A, cu A matricea adjunct aa


lui A, care se obtine prin transpunerea si conjugarea complex
a a matricei
A

A = AT . (5.151)

a normele precizate n (1.105). Normele de matrice


Pentru vectori se utilizeaz
sunt compatibile cu normele vectoriale de acelasi indice. In particular, norma
spectrala kAk2 este compatibila cu norma euclidian a a vectorului x. Dac
a vec-
torul x are componente complexe norma sa euclidian a este definit
a de

p n
X
kxk2 = (x, x) = xi x
i . (5.152)
i=1

Produsul scalar a doi vectori ce au componente complexe este definit ca


n
X
x y = (x, y) = xi yi (5.153)
i=1

si are proprietatile

(x, y) = (y, x), (x, y) = (x, y), y).


(x, y) = (x, (5.154)

Un sir de matrice An este convergent dac a sirurile {ai,j }n sunt convergente.


Limitele acestor siruri formeaz a o matrice A care este, prin definitie, limita
sirului de matrice An . In acest fel, convergenta sirului de matrice s-a redus
la convergenta sirurilor de numere. In mod similar, se introduce convergenta
sirurilor de vectori. O conditie suficient
a pentru convergenta seriei matriceale

X
S= An (5.155)
n=0

este ca norma matricei A s a, kAk > 1. In acest caz se obtine


a fie subunitar
suma seriei

S = (I A)1 , (5.156)

a cu inversa matricei I A. Se observ


egal a analogia cu seria geometrica de
numere. Din (5.156) se obtine, trec
and la norme, o inegalitate important
a

X n
(I A)1 kAk = (1 kAk)1 .

(5.157)
n=0
5.4. Elemente de calcul matriceal 149

Conditia necesara si suficienta pentru ca seria (5.155) s


a fie convergent
a este ca
toate valorile proprii i ale matricei A s a fie subunitare n modul, adica raza
spectrala (A) a matricei A sa fie subunitar a

(A) = max |i | < 1 . (5.158)


i

Deoarece orice procedeu iterativ este de forma

x(k+1) = P x(k) + d , (5.159)

unde P este matricea rezolvanta, rezult


a c
a

x(k+1) = (I + P + P 2 + . . . + P k )d + P k+1 x(0) . (5.160)

Deoarece vectorii d si x(0) sunt arbitrari, pentru ca procedeul iterativ s a fie


convergent, trebuie ca seria de matrice s a fie convergent
a, deci ca raza spectral
a
a matricei P sa fie subunitara, (P ) < 1.
150 5. Rezolvarea sistemelor liniare
151

Capitolul 6

Vectori si valori proprii

6.1 Elemente introductive


Fie A o matrice patrata, de dimensiuni n n. Se numeste valoare proprie o
marime scalara care satisface relatia

Ax = x , (6.1)

vectorul x fiind vectorul propriu corespunz ator valorii proprii . Sistemul de


ecuatii liniare (6.1) se poate scrie (A I)x = 0, deci este omogen si admite o
solutie nenula daca si numai daca determinantul sistemului este nul

P () det(A I) = 0 . (6.2)

Polinomul de gradul n, P () se numeste polinomul caracteristic al matricei A iar


ecuatia (6.2) se numeste ecuatie caracteristic
a. Conform teoremei fundamentale
a algebrei exista n valori proprii care sunt tocmai radacinile polinomului carac-
teristic. Multimea valorilor proprii se numeste spectrul matricei A si se noteaz
a
152 6. Vectori si valori proprii

cu spec(A). Vectorii proprii, ca solutii ale unor sisteme de ecuatii omogene, sunt
determinati p ana la o constant a multiplicativ
a. G asirea valorilor si vectorilor
proprii prezinta o important a practic
a deosebita pentru rezolvarea sistemelor
de ecuatii diferentiale liniare, pentru studiul stabilitatii misc
arilor mecanice sau
de alta natura, inclusiv pentru studiul stabilit atii 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 coeficientilor acestui polinom conduc la abateri
mari n valorile solutiilor (se spune c
a problema rezolv arii ecuatiei caracteristice
este rau conditionat 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 = x se pot clasifica n
metode ce urmaresc determinarea tuturor valorilor proprii si n metode ce de-
termina doar cateva dintre valorile proprii. Ne ndreptam mai nt ai atentia
asupra celei de-a doua clase de metode. Prezinta un interes deosebit n aplicatii
determinarea valorilor proprii extremale, care delimiteaza spectrul matricei A.
De aici si marea varietate de metode concepute pentru a determina valorile pro-
prii cele mai mari sau mai mici. Vom considera cateva dintre metodele cele mai
folosite.

6.2.1 Metoda puterii directe


Metoda puterii directe permite determinarea valorii proprii de modul maxim,
n ipoteza ca vectorii proprii ai matricei formeaz a o baza, adic
a sunt liniar
independenti. Acest lucru se nt ampl
a ntotdeana cand valorile proprii sunt
distincte. Daca exist a valori multiple, atunci vectorii proprii pot sau nu s a
fie liniar independenti. Spre exemplu, matricea unitate I are toate valorile
proprii egale (i = 1, i = 1, n), dar vectorii proprii sunt liniar independenti. Se
considera un vector y cunoscut, de obicei de form a c
at mai simpla. In ipoteza
ca vectorii proprii xi , i = 1, n, ai matricei A formeaza o baza, putem scrie
n
X
y= ci x(i) , (6.3)
i=1

unde ci sunt scalari.

Cazul valorilor proprii reale.


Valorile proprii, reale i , i = 1, n se pot ordona sub forma
|1 | > |2 | . . . |n | (6.4)
6.2. Metode pentru c
ateva valori proprii 153

astfel ncat valoarea proprie 1 este cea mai mare dintre ele n modul. Inmultind
repetat vectorul y cu matricea A si utiliz and relatia (6.1), se obtine
n
X n
X
z (1) = Ay = ci Ax(i) = ci i x(i) (6.5)
i=1 i=1
(6.6)
n
X h i
z (k) Ak y = Az (k1) = ci ki x(i) = k1 c1 x(1) + O k2 /k1

= (6.7)
i=1
n h
X i
z (k+1) = Ak+1 y = ci ik+1 x(i) = k+1
1 c1 x(1) + O k+1
2 /k+1
1 (. 6.8)
i=1

k
Pentru k suficient de mare termenii de ordinul (2 /1 ) devin neglijabili, astfel
nc
at putem aproxima

z (k)
= k1 c1 x(1) , z (k+1)
= k+1
1 c1 x(1) . (6.9)

Prin urmare, luand o componenta de indice i a vectorilor z (k) si z (k+1) , se obtine


valoarea proprie de modul maxim

1
(k+1) (k)
= zi /zi . (6.10)

O estimare mbunatatita a valorii proprii este furnizat


a de raportul Rayleigh
h iT h iT h iT h iT
1
= z (k) z (k+1) / z (k) z (k) = z (k) Az (k) / z (k) z (k) . (6.11)

In ceea ce priveste vectorul propriu corespunz ator x(1) , acesta are directia
z (k+1) . Practic, vectorul y se alege sub forme ca: y = (1, 0, . . . ), y = (1, 1, . . . )
sau alte forme convenabile, deci coeficientii ci nu trebuie cunoscuti efectiv,
conditiile de aplicabilitate ale procedeului (vectori proprii liniar independenti, c1 6=
(k+1) (k)
0) verificandu-se prin comportarea sirurilor zi /zi , 1, n. Dac a aceste siruri
par convergente, ncepand cu anumit k, si tind spre aceasi valoare (care repre-
zinta, la limita, valoarea proprie 1 ) atunci se poate trage concluzia c a procedeul
este aplicabil. Pentru reducerea
erorilor de rotunjire se recomand a normarea
prin mpartire cu z (k) , n fiecare etapa. Dac a nu exist a o singura valoare
proprie reala de modul maxim, spre exemplu dac a

|1 | = |2 | > |3 | . . . |n | , (6.12)

atunci dupa k iteratii se obtine


   
z (k)
= k1 c1 x(1) + c2 x(2) , z (k+1)
= k+1
1 c1 x(1) + c2 x(2) , (6.13)

k
termenii neglijati fiind de ordinul (3 /1 ) . Se observa c
a valoarea proprie se
poate calcula ca si pana acum, din (6.10); n schimb vectorii proprii x(1) si x(2)
154 6. Vectori si valori proprii

intra n combinatie liniar


a, cu cel putin unul dintre coeficientii c1 , c2 nenul. Se
poate scrie nsa Ax(1) = 1 x(1) , Ax(2) = 1 x(2) de unde se deduce imediat c a
h  i h  i
1 k1 c1 x(1) + c2 x(2) = A k1 c1 x(1) + c2 x(2) , (6.14)

adica z (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,
repetand procedeul pentru un alt vector y (1) , liniar independent de y. Viteza
de convergenta a procedeului depinde de modulul raportului 3 /1 .

Cazul valorilor proprii complex conjugate.


Presupunem ca valorile proprii de modul maxim 1 , 2 sunt complex conjugate
2,
1 = |1 | = |2 | > |3 | . . . |n | , (6.15)

si ca vectorii proprii xi , i = 1, n sunt liniar independenti. Vom observa, mai


ntai, ca vectorii proprii x(1) si x(2) sunt de asemenea complex conjugati, asa
cum rezulta imediat din relatia de definitie (6.1) pentru matrice reale. Metoda
se aplica similar cu cazul valorilor proprii reale dar necesita utilizarea rezulta-
telor din mai multe iteratii succesive dac a dorim evitarea lucrului cu variabile
complexe. In iteratia k se obtine
h i
k /k c2 x(2) + O k /k , x(2) = x(1) , c2 = c1 . (6.16)
z (k) = k1 c1 x(1) + 1 1 3 1

Ultima egalitate se obtine tin


and cont c a s-a plecat cu un vector real y. Se caut a
o modalitate de a exprima cantit atile reale 1 +1 , 1 1 functie de m
arimile dis-
ponibile pe parcursul iteratiilor. Pentru k suficient de mare se obtin combinatiile
(1) 2

(k+1) (k1) (k)
uki zi zi (zi )2 = ci xi (1 1 )k1 (1 1 )2 , (6.17)

(k+2) (k1) (k+1) (k)


vki zi zi zi zi = uki (1 + 1 ) , (6.18)

de pe o componenta i oarecare. Din relatiile (6.17-6.18) se obtin valorile proprii,


observand ca

1 + 1 = vki /uki + O(k3 /k1 ), 1 1 = uk+1,i /uk + O(k3 /k1 ) . (6.19)

Notand 1 a + ib, rezult


a

a = vki /2uki , a2 + b2 = uk+1,i /uki . (6.20)

In ceea ce priveste vectorul propriu corespunz ator, x(1) se poate proceda n


felul urmator: vectorul propriu fiind determinat p an
a la o constanta multipli-
cativa, putem lua aceast a constant
a egal
a cu c1 , astfel nc
at
(1)
c1 xi = i ei1 , i = 1, n. (6.21)
6.2. Metode pentru c
ateva valori proprii 155

Notand apoi cu argumentul num


arului complex 1 din (6.16) se deduce
(k) k
zi = k1 c1 x(1) + k1 c1 x(1) = 2 |1 | cos(i + ), i = 1, n , (6.22)

iar din (6.17) se obtine


2k
uki = 4 |1 | 2i sin2 < 0 . (6.23)

Putem acuma deduce necunoscutele i , i


k
i = uki /2 || sin , cos(i + ) = zik sin / uki . (6.24)
Exemplu. S
a se determine valoarea proprie de modul maxim a matricei

1 2 3
A= 2 1 2
3 2 1

Rezolvare. Deoarece matricea A este simetric a, toate valorile proprii sunt reale.
Pentru aflarea valorii proprii de modul maxim vom aplica metoda puterii pornind cu
vectorul y = (1, 0, 0)T . Primele c
ateva iteratii sunt redate n tabelul de mai jos. S-au
utilizat notatiile
(k) (k+1)
ri = zi /zi (6.25)

iar R este raportul Rayleigh.


(k) (k) (k) (k) (k) (k)
k z1 z2 z2 r1 r2 r3 R
2 14 10 10 4.571 5.800 7.200 5.5455
3 64 58 72
5 2196 1882 2228 5.758 5.701 5.646 5.7013
6 12644 10730 12580

Valorile proprii ale matricei sunt 1 = 5.701562, 2 = 2, 3 = 0.01562. Se


observ
a obtinerea primelor 4 cifre semnificative dupa circa 6 iteratii. O estimare mai
buna 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
h iT h iT  
z (k) z (k+1) / z (k) z (k) = 1 + O 2k1 /2
2k
.

De asemenea, se observ a a componentelor vectorului z (k) pe m


a cresterea rapid asura
ce k creste. De aceea se recomand a mp
artirea la norma vectorului la fiecare iteratie.

6.2.2 Metoda puterii inverse


Este utilizata pentru a gasi cea mai mica valoare proprie n modul, diferit
a de
zero. In aceste conditii, matricea A este nesingular
a si A1 exist
a. Notand cu
1 aceasta valoare proprie de modul minim, se scrie

0 < |1 | < |2 | . . . |n | . (6.26)


156 6. Vectori si valori proprii

Din Ax = x se obtine

x = A1 x A1 x = 1 x, (6.27)

sau ca matricea invers a are valorile proprii 1/. Prin urmare, 1/1 este valoarea
proprie de modul maxim a matricei A1 si se poate aplica metoda puterii directe
acestei matrice, n ipoteza ca vectorii proprii formeaza o baz
a. Plec
and de la un
vector initial arbitrar y = z (0) , se formeaz
a sirul

z (k+1) = A1 z (k) , k = 0, 1, . . . . (6.28)

Practic, nu se calculeaz
a inversa matricei A, deoarece este mai economic
a rezol-
varea repetata a sistemului de ecuatii

Az (k+1) = z (k) , (6.29)

prin eliminare gaussiana de exemplu. Mai departe, toate consideratiile de la


metoda puterii directe sunt aplicabile si n acest caz.

6.2.3 Metoda deplas


arii
Se bazeaza pe observatia c
a, dac a matricea A are valoarea proprie atunci
matricea A qI, unde q este un scalar, are valoarea proprie q . Scalarul
q reprezinta tocmai deplasarea si poate fi utilizat pentru a g asi si alte valori
proprii decat cele maxime sau minime n modul. Spre exemplu, dac a am gasit
valoarea de modul maxim 1 (folosind metoda puterii directe), atunci valoarea
proprie cea mai departat
a de 1 , fie aceasta j , va avea proprietatea

|j 1 | = sup |j 1 | . (6.30)
i=1,n

In consecinta, metoda puterii directe aplicata matricei A 1 I ne va conduce


la valoarea proprie j .
Metoda deplasarii originii poate fi folosit
a n combinatie cu metoda puterii
inverse atunci cand cunoastem aproximativ valoarea proprie = . In aceste
conditii matricea A I are 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 pan
a n prezent, desi foarte simple, permit determinarea
numai a unor valori proprii particulare, fiind limitate si de conditia ca vectorii
6.4. Metoda Danilevschi 157

proprii sa formeze un sistem liniar independent. Metodele mai generale, care


permit determinarea tuturor valorilor si vectorilor proprii, se bazeaz a, n esent
a,
pe aducerea matricei la o forma particular a prin transform ari similare.
Doua matrice patrate A si B de dimensiune n se numesc matrice asemenea
(sau similare), daca exista o matrice P , inversabil
a, astfel ncat au loc relatiile

B = P AP 1 , A = P 1 BP . (6.32)

Doua matrice asemenea au aceleasi valori proprii. Intr-adevar, dac


a este o
valoare proprie a matricei A, adica Ax = x cu x 6= 0, tinand cont de relatiile
(6.32) se obtine

P 1 BP x = x B(P x) = (P x), (6.33)

a matricea B are aceleasi valori proprii ca si A. In plus, dac


adic a pentru o
valoare proprie matricea A are vectorul propriu x, atunci pentru matricea B
vectorul propriu corespunzator lui este

y = Px, (6.34)

adica se obtine din vectorul x prin nmultire cu matricea P de premultiplicare.


Este de dorit ca transformarile similare specificate prin matricele P , P 1
cu care nmultim matricea A, sa conduc a la matrice B simple, avand valorile
proprii si vectorii proprii usor de determinat. Exista mai multe astfel de forme
simple. Prima pe care o vom considera n cele ce urmeaz a este forma Frobenius
utlizata n metoda Danilevschi. Apoi vom prezenta algoritmii LR si QR de
aducere a matricei A la forma triunghiular a.

6.4 Metoda Danilevschi


Aceasta metoda aduce matricea A la forma

p1 p2 ... pn1 pn
1 0 ... 0 0

F = 0 1 ... 0 0 , (6.35)

.. .. .. .. ..
. . . . .
0 0 ... 1 0

denumita form a Frobenius, prin transform ari similare. Avantajul formei Frobe-
nius este obtinerea imediata a ecuatiei caracteristice a matricei
n
X
n n
(1) det(F I) = pi ni = 0 . (6.36)
i=1

Vom deduce relatia (6.36) pe o cale care s a permit


a totodata si construirea
vectorilor proprii y ai matricei F . In acest scop, vom scrie, conform definitiei
158 6. Vectori si valori proprii

(6.1), egalitatea F y = y, adic


a

p1 p2 ... pn1 pn y1 y1
1 0 ... 0 0 y2 y2

0 1 ... 0 0 y3 y3
= . (6.37)


.. .. .. .. .. .. ..
. . . . . . .
0 0 ... 1 0 yn yn

Operand de la ultima linie c


atre prima, se obtine

ynj = ynj+1 , (6.38)

pentru j = 1, n 1, si
n
X
pi yi = yi . (6.39)
i=1

Exprimand componentele y1 , y2 , . . . , yn1 n functie de yn , din ecuatiile (6.38)


rezulta

yn1 = yn , yn2 = 2 yn , . . . , y1 = n1 yn . (6.40)

Inlocuind n (6.39), rezult


a
n
!
X
n ni
yn pi = 0. (6.41)
i=1

Deoarece yn 6= 0 (altfel toate componentele vectorului y ar fi nule), din (6.41)


se obtine tocmai ecuatia caracteristic
a (6.36). Lu
and yn = 1, vectorul propriu
y are expresia

y = (n1 , n2 , . . . , , 1)T . (6.42)

In concluzie, vectorii proprii ai matricei Frobenius se construiesc cu ajutorul


puterilor valorii proprii, adica pot fi determinati imediat ce au fost determinate
valorile proprii. Aceast a proprietate remarcabil a pune n evidenta si anumite
limitari ale formei Frobenius. Astfel, dac a valorile proprii sunt multiple, vecto-
rii corespunzatori ai unei matrice Frobenius nu pot fi dec at liniar dependenti.
Aceasta 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 toti liniar independenti. Concluzia este c a forma Frobenius nu este
suficient de generala, adica nu orice matrice poate fi adus a la aceast
a form a prin
transformari similare. Totusi, o matrice oarecare A ar 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
A se face ncepand cu ultima linie, dup
a schema

a1,1 a1,2 . . . a1,n1 a1,n



a2,1 a2,2 . . . a2,n1 a2,n
.. .. .. .. ..

. . (6.43)

. . .

an1,1 an1,2 . . . an1,n1 an1,n
an,1 an,2 ... an,n1 an,n
(1) (1)
(1) (1)

a1,1 a1,2 . . . a1,n1 a1,n
(1) (1) (1) (1)
a2,1 a2,2 . . . a2,n1 a2,n


. .. .. ..
..

.. . . . .
.
(6.44)
(1)
(1) (1) (1)

a
n1,1 an1,2 an1,n1 an1,n
0 0 ... 1 0

S-a presupus an ,n1 6= 0 si s-au eliminat celelalte elemente din linia a n-a. Daca
an,n1 = 0, se folosesc permutari de coloane. Mai mult, permut arile de coloane
sunt indicate pentru a avea elemente an,n1 c at mai mari n modul, n vederea
reducerii erorilor de rotunjire. Prin urmare, se recomanda utilizarea pivotilor
(totali sau partiali), analog cu eliminarea gaussian a. Pentru schema (6.43), s-au
folosit multiplicatorii

mn1,j = an,j /an,n1 pentru j 6= n 1, mn1,n1 = 1/an,n1 . (6.45)

Se observa ca indicii multiplicatorilor se aleg dintre indicii elementelor cu care


se construiesc acesti multiplicatori, diferiti de indicele liniei care se modific
a.
Eliminarile si aparitia elementului 1 nu sunt nsa suficiente; mai trebuie ca
matricea obtinuta sa fie similara cu A. In acest scop, vom observa c a etapa
(6.43) revine la nmultirea lui A la dreapta cu matricea M1 ,

1 0 ... 0 0
0 1 ... 0 0

.. .
.. .. .
.. .
..
M1 = . , (6.46)

.
mn1,1 mn1,2 . . . mn1,n1 mn1,n
0 0 ... 0 1

obtinuta din matricea unitate, prin introducerea multiplicatorilor. Prin urmare,


matricea obtinuta n dreapta, n schema (6.43), este matricea AM1 . Faptul
c
a M1 se aplica la dreapta este legat de operarea cu coloane (multiplicatorii
mn1,j se aplica unor coloane); pe de alt a parte, la nmultire, matricea din
dreapta se introduce prin coloane. Matricea invers a M11 , necesara pentru a face
transformarea similara, este obtinuta din matricea unitate prin introducerea n
160 6. Vectori si valori proprii

matricea unitate, n linia n 1, a liniei elementelor modificate n matricea A



1 0 ... 0 0
0 1 ... 0 0

M11 = ... .. .. .. ..
. (6.47)

. . . .
an,1 an,2 . . . an,n1 an,n
0 0 ... 0 1

Verificarea egalitatii M11 M1 = I se face usor, observ and ca n matricea


produs raman nemodificate toate liniile cu exceptia liniei n 1, singura care
trebuie verificata ca apartinand matricei unitate I. In aceasta verificare, ca si
n cele care urmeaza este util a urm atoarea regula simpl
a: dac
a, la nmultirea a
doua matrice, matricea din st anga are o linie de indice i din matricea unitate I,
atunci n matricea produs linia i coincide cu linia i a matricei din dreapta; dac a
matricea din dreapta are o coloan a j din 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 obtine matricea similar
a

A2 = M11 A1 M1 , A1 A . (6.48)

Se observa ca linia n deja obtinut a, din matricea Frobenius, se p astreaz a la


nmultirea cu M11 . Procedeul se repet a pentru liniile n 1, n 2, . . . , 2 din
matricele similare A2 , A3 , . . . , An1 p
ana se ajunge la forma Frobenius. Odat a
determinate valorile proprii, vectorii proprii y ai matricei Frobenius se deduc din
(6.42) iar, vectorii proprii x ai matricei A se deduc acumul and postmultiplic arile
(vezi 6.33)

x = M1 M2 . . . Mn1 y . (6.49)

Daca ntr-o etap a se folosesc permut ari de linii, este necesar s


a permut am
si coloanele de acelasi indice cu al liniilor de permutare si invers astfel nc at s
a
se pastreze similitudinea cu matricea A. Aceste permut ari trebuie s
a fie facute
astfel ncat sa nu afectam elementele de tip Frobenius deja produse. Aceasta
(k)
revine n etapa k (cand pivotul este ank+1,nk ) 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
permutari de coloane.
Daca ntr-o etapa k nu este posibil s a obtinem un element diferit de zero n
(k)
pozitia de sub diagonal a, nseamn a c
a toate elementele din st anga lui ank+1,nk
sunt nule. Rezult a ca procedeul de aducere la forma Frobenius nu mai poate fi
continuat n maniera initial 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 asociati nu
sunt liniar independenti. Deoarece metoda construieste polinomul caracteristic
(nu valorile proprii), pot apare erori mari n calculul numeric. Intr-adev ar, erori
mici n coeficientii unui polinom pot produce abateri mari n valorile r ad acinilor
6.4. Metoda Danilevschi 161

polinomului (inclusiv aparitia unor valori complexe n locul celor reale). Analiza
erorilor se poate efectua tinand seama c
a transform arile se fac dupa schema

Ai+1 = Mi1 Ai Mi . (6.50)

Rezulta ca erorile se transmit dupa regula


!
kAi k kMi k Mi1

kAi+1 k
(Mi ) + + 1 . (6.51)
kAi+1 k kAi k kMi k M
i

Prin urmare, este util ca numarul de conditionare al matricelor Mi s a fie egal


cu unitatea ((Mi ) = 1, ntr-o norm a oarecare). Aceasta conditie nu este,
n general, realizabila, asa cum rezult
a din forma matricelor Mi . Dac a, spre
exemplu, ani+1,ni este pivot astfel ncat

ani+1,j
kMi k1 = 1 + max , kMi k = |ani+1,ni | > 1 ,
1 (6.52)
j6=ni ani+1,ni

rezulta (folosind norma kk1 n num


arul de conditionare)

1 (Mi ) = |ani+1,ni | + max |ani+1,j | > 1 . (6.53)


j6=ni

In consecinta, 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 operatii.
Exemplu. Pentru matricea de la exemplul anterior s a se determine toate valorile
proprii folosind metoda Danilevschi.
Rezolvare. Se aduce matricea A la forma Frobenius, folosind transform ari elemen-
tare. In prealabil se aduce pivotul 3 n pozitia (3,2) prin permutarea coloanelor 1,2.
Matricea de permutare este P12 . Not and

1 2 2 1 0 0
A1 = P12 AP12 = 2 1 3 , M1 = 2/3 1/3 1/3 ,
2 3 1 0 0 0

am obtinut o nou a matrice similar


a cu A. Se elimin a elementele a31si a33 de pe ultima
linie, operand cu coloana a doua. In locul elementului a32 = 3 se obtine valoarea 1,
mp artind cu 3 toat
a coloana a doua. Toate operatiile revin la nmultirea la dreapta
cu matricea M1 , format a cu multiplicatori. Se obtine

1/3 2/3 4/3
A1 M1 = 4/3 1/3 8/3 .
0 1 0

In acest fel, s-au obtinut pe pozitia ultimei linii elemente corespunz atoare din matricea
Frobenius. Pentru ca transformarea s a fie similar
a se va nmulti la st
anga cu matricea

1 0 0
M11 = 2 3 1 ,
0 0 1
162 6. Vectori si valori proprii

se obtine

1/3 2/3 4/3
A2 = M11 A1 M1 = 10/3 10/3 32/3 .
0 1 0
In etapa urm atoare se elimina elementele 10/3 si 32/3 de pe linia a doua din matricea
A, oper aia. In pozitia (2,1) se obtine elementul 1. Totul revine la a
and cu coloana nt
nmulti la dreapta cu matricea M2 , iar la st anga cu inversa ei M21

3/10 1 16/5 10/3 10/3 32/2
M2 = 0 1 0 , M21 = 0 1 0 ,
0 0 1 0 0 1
astfel nc
at

3 14 8
A3 = M21 A2 M2 = 1 0 0 = F,
0 1 0
A3 fiind o matrice Frobenius. Valorile proprii sunt solutiile ecuatiei caracteristice
3 32 14 8 = 0 .
Se obtin valorile proprii

1 = (5 + 41), 2 = 2, 3 = (5 41)/2 .

Vectorii proprii ai matricei Frobenius F sunt


yi = (2i , 1 , 1)T , i = 1, 2, 3.
Pentru a obtine vectorii proprii xi ai matricei initiale A, se utilizeaz
a matricele de
postmultiplicare
xi = P12 M1 M2 yi , i = 1, 2, 3.

Desi s-a lucrat cu fractii rationale, s-a utilizat pivot pentru a atrage atentia aupra
tehnicii uzuale de lucru cu numere masin a afectate de erori de rotunjire.

6.5 Metodele QR si LR
Metodele QR si LR, pe care le vom prezenta n continuare, determin a valorile si
vectorii proprii ale unei matrice patrate A, prin aducerea acesteia la o matrice
superior triunghiulara prin transform ari de similitudine. Valorile proprii ale
unei matrice triunghiulare T sunt chiar elementele de pe diagonal a deoarece
calculul polinomului caracteristic conduce la

t1,1 t1,2 . . . t1,n

0 t2,2 . . . t2,n
P () = det(T I) = . (6.54)

.. .. ..
..

. . .

0 0 0 tn,n
6.5. Metodele QR si LR 163

si dezvoltand dupa minori obtinem

det(T I) = (t1,1 )(t2,2 ) . . . (tn,n ) , (6.55)

un polinom cu radacinile t1,1 , t2,2 , . . . , tn,n .


Algoritmul QR reprezinta culminarea unui lung proces de c autare a unor
algoritmi robusti de determinare a tuturor valorilor proprii ale unei matrice si
are o importanta deosebita n aplicatii. In aplicarea practic a a algoritmului QR
apar o serie de etape intermediare ce pot crea impresia ca metoda este destul
de complicata. Dupa cum vom vedea ns a, esenta algoritmului este aplicarea
metodei puterii simultan asupra mai multor vectori initiali.

6.5.1 Rezultate teoretice preliminarii


Pentru prezentarea completa a acestor metode vom avea nevoie de o serie de
rezultate teoretice. Vom include si demonstratiile acestor rezultate deoarece
furnizeaza indicatii asupra modului n care se pot construi algoritmi numerici.
Am vazut, n cadrul metodei Danilevschi, c a nu orice matrice poate fi adusa
la forma Frobenius. Acum urmarim aducerea la forma triunghiular a deci, apare
imediat ntrebarea daca exista o transformare de similitudine ntre o matrice
oarecare A si o matrice triunghiular a. Scopul principal al acestei sectiuni este
s
a investigam acest aspect.

Transform
ari unitare.
In plus, analiza de eroare de la metoda Danilevschi a ar
atat importanta obtinerii
unor transformari similare la care num arul de conditionare s
a fie egal cu uni-
tatea. Daca matricele de transformare M sunt unitare, adic a daca M M = I
atunci vom avea n mod evident (M ) = 1 dac a folosim norma spectral a (5.150)
p p
(M ) = kM k2 M 1 2 = kM k2 kM k2 = (M M ) (M M ) = (I)(I) = 1 .

Prin M s-a notat adjuncta matricei M (vezi (5.151)).


Vom folosi una din notatiile 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 relatiei de valori
proprii

Qx = x , (6.56)

cu vectorul linie x Q rezulta

x Q Qx = x Q x . (6.57)

Prin operatiile de transpunere si complex conjugare a relatiei (6.56) rezult


a
,
x Q = x (6.58)
164 6. Vectori si valori proprii

ce nlocuit n partea din dreapta a (6.57) conduce la


x = x
x Q Qx = x x. (6.59)

Dar Q este unitara Q Q = I, asa c


a rezult
a
x ,
x x = ()x (6.60)
= 1, deci modulul unei valori proprii a lui Q este egal cu unitatea.
de unde
Cum valorile proprii ale inversei Q1 = Q sunt 1/ rezult a ca si acestea au
modulul egal cu unitatea.

Reflectori elementari.
Sa consideram acum modalit atile de obtinere a unei matrice unitare. Exist
a
doua procedee mai utilizate. Primul, denumit procedeul Householder, con-
struieste o matrice unitar
a pornind de la un vector coloana v prin

U = I vv . (6.61)

Vectorul v este un vector linie astfel nc


at produsul vv este o matrice. Sa ve-
dem ce conditii trebuie impuse vectorului v pentru ca matricea U s a fie unitar
a.
Adjuncta lui U este
T
U = (I vv ) = I (v v T = I vv ,
v v T )T = I v
v T ) = I ( (6.62)

adica tot U . Se spune c


a matricea U este autoadjunct
a. Avem

U U = (I vv )(I vv ) = I 2vv + vv vv . (6.63)

Cum v este vector coloan a si v este un vector linie, v v este un produs scalar
ce este chiar patratul normei euclidiene a lui v
n
X 2
v v = vi vi = kvk2 . (6.64)
i=1

Se obtine
2
U U = I + (kvk2 2)vv , (6.65)

deci matricea U este unitar a matricea vv este nul


a dac a sau dac
a

kvk2 = 2 . (6.66)

Prima posibilitate implic


a v = 0 si nu prezinta interes pentru aplicatii. O
matrice unitara de forma (6.61) cu v ce satisface (6.66) se numeste reflector
elementar. Denumirea provine de la modul de transformare a coordonatelor
6.5. Metodele QR si LR 165


unui punct. Spre exemplu, n dou a v = [ 2, 0]T se
a dimensiuni (n = 2) dac
obtine
 
2 
     
 1 0 2 0 1 0
U =I 2 0 = = . (6.67)
0 0 1 0 0 0 1
T
Coordonatele [x, y] ale unui punct se transforma conform
   
x x
U = , (6.68)
y y

adica s-a efectuat o reflexie fata de axa Oy pe care vectorul v este ortogonal.
In cazul general, vectorul v defineste normala unui plan fata de care se reflect
a
coordonatele unui punct.
In aplicatii vom avea de evaluat produsul U A sau AU . S-ar p area ca sunt
necesare O(n3 ) operatii aritmetice pentru aplicarea unui reflector elementar.
Lucrurile nu stau asa si este esential pentru economicitatea metodei QR s a
observam c a reflectorul elementar U nu trebuie calculat n mod explicit. Putem
evalua rezultatul AU prin

AU = A(I vv ) = A Avv = A wv (6.69)

cu w = Av. Evaluarea lui w cost a O(n2 ) operatii si efectuarea produsului ex-



terior wv nca O(n ) pentru un total de O(2n2 ), mult mai mic dec
2
at O(n3 ).
Dat fiind vectorul v, algoritmul de aplicare la dreapta a unei transform ari Ho-
useholder asupra matricei A este

j=1 : n

j= 1:n
wj 0
k=1:n

k=1:n (6.70)
[a jk a jk vj wk .
[wj wj + ajk vk

Analog evaluam U A prin

U A = (I vv )A = A vv A = A vwT (6.71)

cu wT = v A. Algoritmul este o modificare simpl


a a celui de mai sus.

Rotatii elementare.
Al doilea procedeu de obtinere a unei matrice unitare este cunoscut sub numele
de procedeu Givens sau procedeu Jacobi. S i acest procedeu are o semnificatie
geometrica, matricea R efectuand rotatia coordonatelor unui punct n jurul unei
axe oarecare. In acest caz matricea unitar a Rjk se obtine din matricea unitate
I prin modificarea a patru elemente conform

rj,j = ei cos , rj,k = ei sin , (6.72)


rk,j = ei sin , rk,k = ei cos .
166 6. Vectori si valori proprii

Se poate verifica usor prin calculul produsului R R c a matricea R este unitar a.


Parametrii reali , , definesc rotatia efectuat a, fiind vorba de o rotatie de
unghi . Daca matricea A asupra c areia aplicam o rotatie Givens are toate
elementele reale atunci = = 0. Axa de rotatie este definit a de produsul
vectorial al versorului de pe directia j cu cel de pe directia k.
Sa consideram cazul unei matrice A reale. Situatia tipic a de aplicare a unei
rotatii Givens este urmatoarea: dorim s a anulam un singur element subdiagonal
din A, fie acesta ajk 6= 0 cu j > k. Vom presupune c a elementele subdiagonale
de pe coloanele de indice i < k au fost deja anulate. La premultiplicarea matricei
T
A cu Rjk = Rjk se vor produce modific ari ale liniilor j si k ale matricei. Spre
exemplu, pentru j = 4, k = 2

1 0 0 0 a11 a12 a13 a14
0 c 0 s 0 a22 a23 a24

0 0 1 0 0 a32 a33 a34
0 s 0 c 0 a42 a43 a44

a11 a12 a13 a14
0 ca22 sa42 ca23 sa43 ca24 sa44
= ,
0 a32 a33 a34
0 sa22 + ca42 sa23 + ca43 sa24 + ca44
cu c = cos , s = sin . Conditia ce trebuie satisf
acut
a de este sa22 + ca42 = 0
n exemplul de mai sus, sau
sakk + cajk = 0 (6.73)
a (6.73) nu se rezolv
n cazul general. Ecuatia trigonometric a direct. Este mai
economic sa calculam pe s, c prin
daca |ajk | > |akk |
atunci t akk /ajk ; s 1/ 2
1 + t ; c st (6.74)
altfel t ajk /akk ; c 1/ 1 + t2 ; s c t
cu o singura extragere de radical si evitarea mpartirii la un num ar foarte mic.
Ca si n cazul transform arii Householder, matricea Rjk nu se calculeaz a

explicit ca apoi sa se efectueze produsul Rjk A, deoarece aplicarea algoritmului
general de nmultire a dou a matrice ar costa O(n3 ) operatii. Se calculeaz
a efectul

aplicarii rotatiei Rjk A prin

i=k:n
(6.75)
[aki caki saji ; aji saki + caji

cu un cost de doar O(4(n k)). In cazul postmultiplic


arii ARjk se procedeaz
a
n mod asemanator.

Un pas n aducerea la forma triunghiular


a.
Acum ca avem la dispozitie procedee de constructie a unei matrice unitare,
sa vedem modul n care acestea pot fi folosite pentru a aduce pe A la forma
6.5. Metodele QR si LR 167

triunghiulara. Prin analogie cu procesul de eliminare Gauss, ne propunem s a


eliminam mai ntai elementele de sub diagonala principal a, de pe prima coloana
a matricei A. Trebuie sa gasim o matrice unitar a U ce realizeaza transformarea

w1 . . . wn1
0 a(1) . . . a(1)
2,2 2,3
U AU =

. (6.76)
.. .. ..
. .
..
. .


(1) (1)
0 a2,n . . . an,n

Elementul de pe pozitia 1, 1 trebuie s a fie chiar o valoare proprie a lui A deo-


arece U AU are aceleasi valori proprii ca si A, iar calculul polinomului caracte-
ristic al matricei U AU conduce la aparitia factorului ( ). Este convenabil
s
a introducem o diviziune n portiuni a matricei din dreapta sub forma

wT
 

U AU = (6.77)
0n1 An1

unde este o valoare proprie a lui A, w un vector coloan a de dimensiune n 1,


0n1 vectorul nul de dimensiune n 1, iar An1 o matrice p atrat
a de ordinul
n 1.
Prima coloana a unei matrice se obtine prin nmultirea acesteia la dreapta
cu vectorul e(1) = [1, 0, . . . , 0]T
 

U AU e(1) = = e(1) . (6.78)
0n1

Dar U = U 1 si nmultind la stanga cu U se obtine

AU e(1) = U e(1) , (6.79)

deci conditia ca U sa conduca la eliminarea elementelor subdiagonale de pe


prima coloana a matricei A este ca U e(1) s
a fie proportional cu vectorul propriu
al matricei A asociat valorii proprii . Notam prin x acest vector propriu. De-
oarece x este determinat pana la o constant a multiplicativa putem presupune
kxk2 = 1 si

U e(1) = x, 6= 0 , C. (6.80)

Relatia (6.80) ne spune ca trebuie s asim o transformare a vectorului e(1)


a g
n vectorul x printr-o matrice unitar a. Interpret
arile geometrice ale procedeelor
Householder si Givens ne furnizeaz a imediat modalitatea de constructie a lui U .
Cum o reflexie sau o rotatie nu vor modifica modulul unui vector va trebui s a
avem

(1)
e = || kxk2 = || = 1. (6.81)
2

Daca adoptam procedeul Householder, matricea U este dat a de U = I vv


a de care reflexia lui y = 1 e(1) este chiar
cu v vectorul normalei la planul fat
168 6. Vectori si valori proprii

Figura 6.1: Interpretarea geometric


a a procedeului Householder.

x. Prin analogie cu cazul bidimensional (fig. 6.1) unde x y este normala la


planul de reflexie, banuim c
a

v = a(x y) , (6.82)

cu a o constanta ce este determinat


a din conditia ca U s
a fie unitar
a
2 2
kvk2 = 2 a2 = 2 kx yk2 . (6.83)

Intuitia 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 U x y = 0 pentru x arbitrar, deci impunem

1 a2 (x x y x) = 0. (6.84)

Inlocuind a2 din (6.83) se obtine


2
kx yk2 2(x x y x) = 0, (6.85)
2
p
sau, tinand cont ca kx yk2 = (x y, x y) = (x y) (x y ) (vezi relatia
5.153) si ca x x = y y,

y x = x y. (6.86)

Relatia (6.86) determin


a parametrul ,

( 1 e(1) ) x = x 1 e(1) x1 = x1 , (6.87)

unde x1 este prima component a a lui x. Conditia de mai sus spune c


a x1
a. Cum || = 1 rezult
trebuie sa fie o cantitate real a

1 / |x1 |
=x (6.88)

daca |x1 | 6= 0. Daca x1 = 0 atunci lu


am = 1. Matricea U este complet
determinata.
6.5. Metodele QR si LR 169

Un calcul asemanator se poate efectua pentru a determina si matricea de


rotatie ce realizeaza 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 operatiilor aritmetice, datorita necesit
atii de a evalua
radicali. Exceptia de la aceasta regula general
a este pentru o matrice cu un
mare numar de zerouri deja existente sub diagonala principal a. In acest caz se
poate proceda dupa cum s-a exemplificat n prezentarea transform arii Givens.

Teorema Schur.
Odata eliminati termenii subdiagonali de pe prima coloan a calculul se poate
repeta pentru prima coloana a matricei A1 si asa mai departe, p
an
a la aducerea
completa a matricei originale A la forma triunghiular a. Metoda de mai sus este
enuntata formal n urmatoarea teorem
a important a.

Teorema. (Schur) Orice matrice p atrata A de dimensiuni n n este unitar


similara cu o matrice triunghiular
a T.

Demonstratie. Vom proceda prin inductie. Orice matrice de ordinul n = 1


este triunghiulara. S
a consideram acum teorema adev
arat
a pentru orice matrice
de ordinul n 1, spre exemplu pentru matricea An1 din (6.77) pentru care
matricea unitara de aducere la forma triunghiular
a este Un1

Un1 An1 Un1 = Tn1 . (6.89)

Matricea
0Tn1
 
1
Un = U (6.90)
0n1 Un1

cu U construit ca mai sus realizeaz


a aducerea matricei A la forma tringhiular
a.
Intr-adevar, avem

0Tn1 0Tn1
   
1 1
Un AUn = U AU
0n1 Un1 0n1 Un1
0Tn1 0Tn1
   
1 wn1 1
=
0n1 Un1 0n1 An1 0n1 Un1

0Tn1
    
1 wn1 Un1 wn1 Un1
= =
0n1 Un1 0n1 An1 Un1 0n1 Tn1

unde ultima matrice este de form


a triunghiular
a. 2

6.5.2 Algoritmi auxiliari


Metodele LR si QR cuprind un num ar de algoritmi subsidiari ce le fac s
a fie
eficace. Sa consideram mai ntai aceste p
arti componente a ntregului algoritm
LR sau QR.
170 6. Vectori si valori proprii

Deflatie.
Teorema Schur ne asigur a c
a o transformare unitar a, similar
a de la matricea A
la o forma triunghiular a. Ins
a exist a suntem n situatia nepl
acut
a c
a trebuie s
a
cunoastem 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 deflatie si cuprinde
urmatoarele etape:

1. se calculeaza vectorul propriu x asociat valorii proprii ;


2. se ia = x1 / |x1 | pentru x1 6= 0 sau = 1 pentru x1 = 0;

3. se ia a = 2/ x e(1) , v = a(x e(1) ) si U = I vv ;
4. se calculeaza U AU si se izoleaz
a submatricea An1 (6.77).

La sfarsitul unei etape de deflatie se obtine o matrice mai mica asupra c


areia
se poate opera n continuare cu o economie de operatii aritmetice fat a de cazul
n care s-ar ncerca determinarea transform arii globale ce aduce pe A la forma
triunghiulara.

Factorizarea QR.
Am vazut n 5.1.9 cum o matrice A se poate descompune ntr-un produs de
doua matrice, una inferior 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 importanta o constituie factorizarile ortogonale, la


care vectorii coloana ai matricei B sunt ortogonali (vezi 1.4.2) doi c ate doi.
Printre factorizarile ortogonale, cea mai util
a este factorizarea QR a lui House-
holder

A = QR (6.92)

n care Q este o matrice unitar


a si R o matrice superior triunghiular
a. Dup
a
cum sugereaza aproprierea de nume, factorizarea QR este o parte esential
a a
metodei QR de determinare a valorilor proprii.
a din (6.92) se obtine
Deoarece Q este unitar

Q A = R . (6.93)

Ideea de baza a algoritmului de factorizare este construirea pas cu pas a matricei


Q prin eliminarea succesiva a elementelor subdiagonale de pe coloanele matricei
A

Un1 . . . U2 U1 A = R (6.94)
6.5. Metodele QR si LR 171

unde U1 elimina elementele subdiagonale de pe coloana 1, U2 cele de pe coloana


2 si asa mai departe. Daca A este de form a general
a, cea mai eficienta me-
tod a de construire a matricelor Uj j 1, n 1 este prin aplicarea reflectorilor
elementari. Matricea Q este

Q = U1 U2 . . . Un1 , (6.95)

unde am tinut cont ca Uj = Uj pentru un reflector elementar.


Algoritmul de factorizare construieste n mod explicit matricea R. Nu este
nevoie de construirea explicita a matricei Q. Aceasta se memoreaza prin succe-
siunea de vectori vj din definirea reflectorilor Uj

Uj = I vj vj . (6.96)

Tot calculul poate fi organizat astfel nc


at vectorii vj s
a fie p
astrati n locatiile
din matricea A n care s-au creat elemente nule. Costul unei factoriz ari este de
O(n3 ) operatii pentru o matrice A oarecare.

6.5.3 Formularea metodelor QR si LR


Suntem acum pregatiti pentru prezentarea metodelor QR si LR de calcul a va-
lorilor proprii. Incepem cu metoda QR. Am v azut c
a odata cunoscut
a o valoare
proprie putem reduce ordinul problemei prin aplicarea tehnicii de deflatie. O
idee imediata este folosirea metodei puterii pentru a determina valoarea proprie
cea mai mare n modul. Am putea reduce ordinul problemei, aplica din nou me-
toda puterii asupra noi matrice si asa mai departe. Sa rescriem metoda puterii
folosind notatii ce sugereaza generalizarea procedeului
z (s) = Aq (s1)
q (s) = z (s) / z (s) 2 (6.97)
 
= q (s) Aq (s) ,
pentru s = 1, 2, . . . . Algoritmul porneste cu un vector initial de norm a egal
a
cu unitatea q (0) , si efectueaza normalizarea vectorului z (s) (aducerea la norma
egal cu unitatea) la fiecare iteratie. Valoarea proprie este estimata prin raportul
Rayleigh (6.11), tinandu-se cont c a q (s) este normalizat.
Sa ncercam acum sa aplicam metoda puterii asupra mai multor vectori
initiali
h i
Q(0) = q1(0) q2(0) . . . qn(0) (6.98)

n speranta obtinerii mai multor valori proprii simultan. In acest caz va trebui ca
matricea Q(0) sa fie ortogonala pentru a asigura liniar independenta vectorilor
de start. Algoritmul devine
Z (s) = AQ(s1)
Q(s) R(s) = Z (s) . (6.99)
(s)
 (s)  (s)
T = Q AQ .
172 6. Vectori si valori proprii

Modificarea esentiala este nlocuirea operatiei de normalizare din (6.97) cu o


descompunere ortogonal a de tip QR. Se asigur a astfel independenta liniara
a vectorilor asupra c arora va actiona matricea A n iteratia urm atoare, ceea
ce ajuta la accelerarea convergentei. Valorile proprii apar acum pe diagonala
matricei T (s) ce nu este altceva dec at generalizarea raportului Rayleigh.
Nu vom intra n toate detaliile tehnice asupra convergentei procedeului de
mai sus. Putem nsa afirma c a sirul de matrice T (s) tinde catre o matrice cvasi-
triunghiulara ce are aceleasi valori proprii ca si A. O matrice cvasitriunghiular a
difera de una triunghiular
a doar prin blocuri izolate de dimensiune 22 grupate
n jurul diagonalei principale. Aceste blocuri sunt de regul a asociate valorilor
proprii complexe.
Sa vedem legatura dintre T (s) si T (s1) . Incepem cu T (s1)
h i h i h i
T (s1) = Q(s1) AQ(s1) = Q(s1) Z (s) = Q(s1) Q(s) R(s) . (6.100)

Cum un produs de matrice unitare este tot o matrice unitar


a, am obtinut
h i
(s1) (s1) (s1) (s1)
T (s1) = QT RT cu QT Q(s1) Q(s) , RT R(s) . (6.101)
 
Pe de alta parte din Q(s) R(s) = Z (s) = AQ(s1) rezult
a R(s) = Q(s) AQ(s1)
si putem scrie T (s) ca
h i h i h i
(s1) (s1)
T (s) = Q(s) AQ(s) = Q(s) A Q(s1) Q(s1) Q(s) = RT QT .
(6.102)

Rezulta urmatoarea regul a de evaluare a matricei T (s) : se calculeaz


a factorizarea
(s1)
QR a matricei T si se inverseaz
a factorii

Q(s1) R(s1) = T (s1) T (s) = R(s1) Q(s1) . (6.103)

In metoda LR calculele se desf


asoar
a asem
an
ator

L(s1) R(s1) = T (s1) T (s) = L(s1) R(s1) . (6.104)

Dezavantajul metodei LR const a n necesitatea efectu


arii de operatii de pivo-
tare pentru a preveni mpartirile la zero sau numere foarte mici n modul si o
convergenta mai lent
a comparativ cu metoda QR.

6.5.4 Reducerea num


arului de operatii la factorizare
Elementele sirului T (s) din (6.103) pot doar converge c atre o matrice cvasitri-
unghiulara, dar pe parcursul iteratiilor au o form a oarecare. Aceasta face ca
operatia de factorizare QR s a fie excesiv de costisitoare. Este convenabil ca
iteratiile QR sa se efectueze asupra unei matrice ce are aceleasi valori proprii ca
6.5. Metodele QR si LR 173

si A, dar sa prezinte o forma ce economiseste din operatiile aritmetice necesare


factorizarii. O astfel de forma este

h1,1 h1,2 h1,3 . . . h1,n1 h1,n
h2,1 h2,2 h2,3 . . . h2,n1 h2,n

0 h3,2 h3,3 . . . h3,n1 h3,n
H= 0

0 h4,3 . . . h4,n1 h4,n

.. .. .. .. .. ..
. . . . . .
0 0 0 ... hn,n1 hn,n
denumita form a Hessenberg superioar a. Analog matricea transpus a se spune
c
a este de forma Hessenberg inferioar a. Prin form
a Hessenberg, f
ar
a vreun alt
calificativ, vom ntelege forma superioar
a.
Algoritmul QR devine n acest caz

Q(s1) R(s1) = H (s1) H (s) = R(s1) Q(s1) . (6.105)

Forma Hessenberg se pastreaza la inversarea factorilor deoarece Q(s1) se poate


construi astfel ncat sa fie o matrice Hessenberg. Odat a determinat a forma
Hessenberg initiala, fiecare iteratie QR va necesita O(n2 ) operatii 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 ajk cu j > k + 1 de pe fiecare
coloana, ncepand cu prima. Spre exemplu, pentru eliminarea elementelor de
pe coloana 1, matricea de multiplicatori este

1 0 0 ... 0
0 1 0 ... 0

0 m3,2 1 . . . 0
M1 = , mi,2 = ai,1 /a2,1 , (6.106)
.. .. .. . . ..
. . . . .
0 mn,2 0 . . . 1

pentru i 3, n. Se poate remarca similitudinea cu matriciele de la eliminarea


gaussiana. Matricea se poate scrie ca

M1 = I m2 eT2 , (6.107)
 T  T
m2 = 0 0 m3,2 ... mn,2 , e2 = 0 1 0 ... 0 . (6.108)

Inversa este

1 0 0 ... 0

0 1 0 ... 0

M11 =
0 m3,2 1 ... 0 = I + m2 eT2 ,

(6.109)
.. .. .. . . ..
. . . . .
0 mn,2 0 ... 1
174 6. Vectori si valori proprii

ceea ce se poate verifica prin calcul direct

M1 M11 = (I m2 eT2 )(I + m2 eT2 ) (6.110)


= I m2 eT2 + m2 eT2 m2 eT2 m2 eT2 = I .

(6.111)

Matricea M11 va nmulti, la dreapta, matricea A, pentru ca transformarea s a


fie similara si valorile proprii s
a nu se modifice. Se observ a c
a zerourile obtinute
n coloana i de matricea M1 A se mentin si n matricea similar a M1 AM11 ,
1
deoarece prima coloan a din matricea M1 este 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 A poate fi adus a la
forma Hessenberg prin transform ari similare (eventual folosind permut ari) n
numar finit.
Daca elementul a2,1 este nul, un alt element ai,2 i 3, n poate fi adus n
pozitia (1, 2), prin permut ari de linii. Evident, dac a toti coeficientii ai,1 = 0,
i 2, n, rezulta ca a1,1 este valoare proprie si procedeul se va aplica matricei
ramase, de dimensiuni (n 1) (n 1). Permut arile de linii sau coloane sunt
recomandate chiar dac a a2,1 6= 0, pentru obtinerea de pivot partial sau total.
1
Inversa matricei de permutare a liniilor sau coloanelor k si 1 este tot Pk1 (Pk1 =
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 aceeasi
indici. Num arul de operatii pentru aducerea la forma Hessenberg f ara permut ari
este aproximativ 2n3 /3 5n2 /2.

Aducerea la forma Hessenberg prin transform


ari similare unitare.
Matricea A se poate aduce la forma Hessenberg prin transform ari similare ce
folosesc reflectori sau rotatii elementare. Aceste metode au avantajul unei
conditionari optime, desi num arul de operatii este mai mare dec at n cazul fo-
losirii multiplicatorilor. In cazul general este mai eficient a folosirea reflectorilor
si nu vom descrie decat acest procedeu.
Ideea de baza este aceeasi ca la folosirea multiplicatorilor: se aduc r and pe
rand coloanele matricei A la forma Hessenberg. Dup a etapa s 1 coloanele 1,
2, . . . , s 1 sunt n form a Hessenberg iar matricea are forma
(s1) (s1)
(s1) (s1) (s1)

a11 a12 . . . a1,s1 a1,s . . . a1,n
(s1) (s1) (s1) (s1) (s1)
a21 a22 . . . a2,s1 a2,s . . . a2,n
.. .. .. .. .. .. ..

. . . .

. . .
(s1) (s1) (s1)
A(s1) =

0 0 . . . a s,s1 a s,s . . . a s,n . (6.112)
(s1) (s1)
0 0 ... 0 as+1,s . . . as+1,n

.. .. .. .. .. .. .

. . . ..

. . .
(s1) (s1)
0 0 ... 0 an,s . . . an,n
6.5. Metodele QR si LR 175

S
a determinam modul n care aducem coloana s la forma Hessenberg. Este
comod sa introducem o transcriere pe blocuri a matricei,
 
(s1) B C
A = , (6.113)
D E

unde B, C, D, E sunt submatrice din A(s1) . Submatricea B este de dimensiuni


s s si este de forma Hessenberg. Submatricea C este de dimensiuni (n s)
(n s). Submatricea D este de dimensiuni (n s) s si are elemente nenule
doar pe ultima coloana. Fie d aceasta coloan
a,
h iT
(s1) (s1) (s1)
d= as+1,s as+2,s ... an,s . (6.114)

Submatricea E este de dimensiuni (n s) (n s). Transformarea unitar a


trebuie sa lase neafectata partea deja adus
a la forma Hessenberg, B. Forma
matricei de transformare din etapa s este
 
I 0
Us = (6.115)
0 U

deoarece calculul produsului Us A(s1) Us conduce la


      
I 0 B C I 0 I 0 B CU
= (6.116)
0 U D E 0 U 0 U D EU
 
B CU
= . (6.117)
U D U EU

Pentru un reflector elementar U = U. Deducem conditia de obtinere a formei


Hessenberg n etapa s

U d = e(1) , (6.118)

cu e(1) = (1, 0, . . . , 0)T , un vector unitar cu n s componente. Aceasta este si-


milara problemei (6.80), iar interpretarea geometric a a reflectorului Householder
ne furnizeaza solutia

U = I vv , v = a(d e(1) ) , (6.119)


(s1)
cu = (d1 / |d1 |) kdk2 , a = 2 d e(1) 2 , d1 = as+1,s .

6.5.5 Accelerarea metodelor QR si LR


Aplicarea factorizarii QR sau LR asupra formei Hessenberg a unei matrice re-
duce numarul de operatii aritmetice efectuate ntr-o iteratie. O a doua cale de
reducere a timpului de calcul este reducerea num arului de iteratii. Iteratiile QR
si LR tind sa aduca forma Hessenberg la o form a cvasi-triunghiular a. Pentru a
reduce numarul de iteratii necesare atingerii acestei forme se pot folosi tehnici
176 6. Vectori si valori proprii

de accelerare sugerate de modific arile efectuate asupra metodei puterii pentru


a obtine metoda puterii inverse sau cea a deplas arii.
Cea mai utilizata tehnic
a este cea a deplas
arii originii. Se urmareste ameli-
orarea convergentei atunci cand apare un bloc 2 2 pe diagonal a. Relatiile de
iterare QR devin

H (s) ks I = Q(s) R(s) (6.120)


H (s+1) ks I = R(s) Q(s) (6.121)

unde ks este deplasarea. Deplasarea se poate alege ca fiind ultimul element de


(s) (s)
pe diagonal
a, hn,n sau r
ad
acina cea mai apropriat
a n modul de hn,n a ecuatiei

h(s) (s)
n1,n1 k hn1,n

(s) (s) = 0. (6.122)
hn,n1 hn,n k

Odata asigurata izolarea unei valori proprii se trece la deflatia matricei.

6.5.6 Calculul vectorilor proprii


Calculul vectorilor proprii pentru o matrice cvasisuperior triunghiular
a se face
usor, valorile proprii fiind cunoscute. Fie matricea superior triunghiulara de
dimensiuni 5 5

1 a1 b1 c1 d1
0 2 b2 c2 d2

Hs = 0
0 3 c3 d3 (6.123)
0 0 0 4 d 4
0 0 0 0 5

forma la care presupunem c


a s-a ajuns dup
a un num ar s de iteratii. Not
am mai
departe cu y un vector propriu oarecare al matricei care satisface relatia

Hs y = i y, i 1, 5, y = (y1 , y2 , y3 , y4 , y5 )T . (6.124)

Pentru componentele yi , se obtine sistemul

y5 (i 5 ) = 0
y4 (i 4 ) = d4 y5
y3 (i 3 ) = d3 y5 + c3 y4 (6.125)
y2 (i 2 ) = d2 y5 + c2 y4 + b2 y3
y1 (i 1 ) = d1 y5 + c1 y4 + b1 y3 + a1 y2

Sistemul (6.125) poate determina componentele yi , cel mult p ana la o constant


a
multiplicativa. Acest sistem este simplu, principala dificultate nu este legat
a de
gasirea necunoscutelor ci mai degraba de discernarea solutiilor care apar.
6.5. Metodele QR si LR 177

Cazul valorilor proprii distincte.


In acest caz se obtin 5 vectori liniar independenti. Spre exemplu, pentru i = 1,
din primele 4 ecuatii (6.125) rezulta

y2 = y3 = y4 = y5 = 0 , (6.126)

n timp ce ultima ecuatie este identic verificat a. Concluzia este: y1 poate lua
orice valoare diferita de zero (vectorii proprii sunt prin definitie nenuli). Lu
and
y1 = 1 se poate scrie vectorul propriu corespunz ator valorii 1

y (1) = (1, 0, 0, 0, 0)T (6.127)

Pentru i = 2 (i = 2 ), din (6.125) se obtine

y3 = y4 = y5 = 0, y1 (2 1 ) = a1 y2 , y2 6= 0, (6.128)

vectorul propriu corespunzator fiind

y (2) = (y1 , 1, 0, 0, 0)T , y1 = a1 /(2 1 ) (6.129)

si asa mai departe.

Cazul valorilor proprii multiple.


Fie 1 = 2 6= 3 6= 4 6= 5 . Din primele 3 ecuatii (6.125) se obtine

y3 = y4 = y5 = 0 (6.130)

iar din ultimele doua

0 y2 = 0, 0 y1 = a1 y2 . (6.131)

Cele doua egalitati (6.131) conduc la concluzii diferite, n functie de coeficientul


a1 , si anume

a1 = 0 y1 , y2 arbitrari, nu toti nuli. (6.132)

Cu y1 , y2 arbitrari si y3 , y4 , y5 nuli, se pot obtine doi vectori liniar independenti,


corespunzator 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)

Pentru a1 6= 0 din (6.131) se obtine

y2 = 0, y1 6= 0 (altfel arbitrar). (6.134)

Prin urmare, daca a1 6= 0 nu se pot obtine doi vectori liniar independenti


corespunzator valorilor proprii egale 1 , 2 . Rezult a c
a sistemul de vectori
proprii ai matricei Hs (si deci nici ai matricei initiale A, similar
a Hs ) nu pot
forma o baza. Se spune ca matricea este defectiv a. Este de asteptat ca, n
178 6. Vectori si valori proprii

urma erorilor de calcul numeric, natura vectorilor proprii s a apar


a modificat a,
mai ales cand valorile proprii sunt multiple sau foarte apropriate. Din acest
punct de vedere, trebuie spus c a procedeul QR este cel mai stabil, furniz and
rezultatele cele mai apropriate de situatia real a. Se observ a c
a, determinarea
vectorilor proprii se poate face suficient de comod din forma triunghiular a, f
araa
fi necesara reducerea la forma canonic a Jordan (care este o matrice triunghiular a
mai particulara). Aducerea la forma canonic a Jordan nu este recomandat a,
aceasta operatie put and introduce erori mari datorit a instabilit
atii numerice.
De fapt, n general, aducerea unei matrice (superior) triunghiulare la forma
canonica Jordan prin transform ari unitare sau chiar prin transform ari simple
stabilizate (cu pivot) nu este garantat a.
Odata determinati vectorii proprii y ai matricei triunghiulare, vectorii proprii
x ai matricei initiale A se deduc utiliz
and matricele de postmultiplicare aplicate
lui A.
Exemplu. S
a se aduc
a la forma superior Hessenberg, prin transform
ari similare
matricea

12 20 41
A = 9 15 63 .
20 50 35

Sa se calculeze apoi factorizarea LR a matricei Hessenberg obtinute.


Rezolvare. Vom folosi transform ari de eliminare. Avem de eliminat un singur
element a31 = 20. Deoarece elementul a21 = 9 nu este pivot vom schimba ntre ele
liniile 2 si 3 si coloanele 2 si 3 pentru a obtine o matrice similar
a

12 41 20
A1 = P23 AP23 = 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

1 0 0 1 0 0
1
M1 = 0 1 0 , M1 = 0 1 0 .
0 9/20 1 0 9/20 1

Se obtine

12 32 20
A2 = M1 A1 M11 = 20 115/2 50 = H
0 765/8 75/2

de form
a Hessenberg.
Pentru descompunerea LR a matricei H, trebuie eliminate elementele h21 = 20 si
h32 = 765/8. Deoarece h11 = 12 nu este pivot, se permuta liniile 1 si 2 si se obtine

20 115/2 50
H1 = P12 H = 12 32 20 .
0 765/8 75/2
6.5. Metodele QR si LR 179

Rezult
a multiplicatorul l21 = h21 /h11 = 3/5 si matricea de multiplicare la st
anga
L1

1 0 0 20 115/2 50
L1 = 3/5 1 0 , L1 H1 = 0 5/2 50 .
0 0 1 0 765/8 75/2

Pentru eliminarea elementului din pozitia (3,2) permut


am liniile 2 si 3 pentru a
obtine un pivot. Obtinem

20 115/2 50
P23 L1 H1 = 0 765/8 75/2
0 5/2 50


1 0 0 20 25/2 50
L2 = 0 1 0 , R = 0 765/8 75/2
0 4/153 1 0 0 2500/51

L2 P23 L1 P12 H = R .

Mai departe, tin


and cont c
a P23 P23 = I se deduce

L2 (P23 L1 P23 )P23 P12 H = R

unde matricea P23 L1 P23 similar


a cu L1 , o vom nota cu L11

1 0 0 1 0 0
L11 = 0 1 0 , L2 L11 = 0 1 0 .
3/5 0 1 3/5 4/153 1

Rezult
a c
a s-a obtinut o descompunere LR pentru matricea H permutat
a

1 0 0
P23 P12 H = LR, L = (L2 L11 )1 = 0 1 0
3/5 4/153 1

n timp ce matricea H are descompunerea



3/5 4/153 1
0 0
H = L R, L = P12 P23 L = 1 0 0 .
0 1 0
180 6. Vectori si valori proprii
181

Capitolul 7

Metode de optimizare

Metodele de optimizare sunt n general metode de descrestere, ce determin a


minimul unei functii U de n variabile reale care se numeste functie scop sau
functie obiectiv. De aici si denumirea lor de metode de minimizare a functiilor de
mai multe variabile. Evident, problema g asirii maximului revine la minimizarea
functiei cu semn schimbat. Metodele de descrestere au convergent a global
a,
adica permit gasirea solutiei chiar dac a punctul de plecare este ndep artat de
solutie.
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 obtinerea unor metode performante, cum ar fi cele pentru rezolvarea
sistemelor de ecuatii liniare, pe care le prezentam n sectiunea 7.6.1 si cele pentru
rezolvarea sistemelor de ecuatii neliniare pe care le vom prezenta n capitolul
8.1.
182 7. Metode de optimizare

Figura 7.1: Minime pentru o functie de o singura variabila.

Un punct de extrem (minim sau maxim) poate fi global (valoarea extrem a


din tot domeniul), sau local, (valoarea extrem a dintr-un subdomeniu), poate fi
simplu sau multiplu (fig. 7.1). In general, intereseaz a minimul global, care se
poate obtine: (a) repet and calculul pentru puncte de start diferite si aleg and
apoi punctul n care valoarea functiei U este cea mai mic a; (b) dup
a obtinerea
minimului local, se d a o perturbatie ntr-o directie oarecare; dac a algoritmul
revine n acelasi 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 fara restrictii, trebuie ndeplinite conditiile de optimalitate, care
sunt conditii suficiente

U (x ) = 0, G(x ) 2 U (x ) > 0 , (7.1)

adica n punctul de minim gradientul functiei scop trebuie s a fie nul iar matricea
derivatelor partiale de ordinul al doilea, numit a matrice hessian, trebuie s a fie
pozitiv definita1 .
Clasificarea metodelor de optimizare poate fi f acut a dupa mai multe criterii.
Din punct de vedere al restrictiilor impuse variabilelor, avem probleme de opti-
mizare f ar
a restrictii si cu restrictii. Dup
a felul functiei scop, avem probleme de
optimizare liniare, n care at at functia c
at si restrictiile 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 contine derivatele
partiale de ordinul al doilea) si vectorul gradient (derivatele de ordinul nt ai),
metode cvasi-Newton si metode de gradienti conjugati, la care se calculeaz a
numai derivatele partiale de ordinul nt ai, si metode la care nu se calculeaz a
derivate partiale.
1 O matrice G se nume ste pozitiv definit
a, dac a oricare ar fi vectorul nenul y, are loc
inegalitatea y T Gy > 0. In cazul unidimensional (n = 1 ) n locul matricei G avem derivata a
doua, care, dac a este pozitiva, atunci graficul functiei tine ap
a, iar functia are un minim.
7.1. Minimizarea n lungul unei directii 183

Metodele de optimizare sunt metode iterative. Valoarea aproximativ a punc-


tului unde functia U ia cea mai mic
a valoare se calculeaz
a iterativ cu formula

xk+1 = xk + k pk , k = 1, 2, . . . , (7.2)

unde pk este o directie de descrestere, iar k un num ar real pozitiv care se


determina astfel ncat U (xk+1 ) < U (xk ). Pentru start este necesar un punct de
plecare x0 Rn .

7.1 Minimizarea n lungul unei directii


Minimizarea n lungul unei directii reprezint
a o etap
a a calculului minimului unei
functii de mai multe variabile. Spre exemplu, scalarul k din relatia (7.2) poate
fi determinat ca o solutie a problemei de optimizare k = min{U (xk + pk )},

unde vectorii xk si pk sunt cunoscuti, iar functia U ramane de o sigura variabila,
U = f ().
Fie f : R R functia reala de o variabil a real
a al c
arei minim dorim s a-l
determinam. In cazul n care derivata f 0 este usor de determinat analitic, pro-
blema determinarii extremului functiei f este echivalent a cu rezolvarea ecuatiei
f 0 (x) = 0. Se verifica apoi care din solutiile astfel determinate corespund unui
minim al functiei f , calculand o valoare n imediata vecin atate a extremului si
comparand-o cu valoarea functiei n punctul de extrem. Atunci c and minimi-
zarea unidirectionala reprezinta o etapa a calculului minimului unei functii de
mai multe variabile, derivata f 0 este n general imposibil de determinat analitic.
Determinarea minimului functiei f cuprinde dou a etape: (a) localizarea mi-
nimului, etapa n care se obtine un interval (a, b) care contine minimul si (b)
reducerea lungimii intervalului care contine minimul, p an
a cand lungimea aces-
tuia devine suficient de mica, adic a |b a| < e, cu e impus. Se poate folosi si
o conditie de lungime relativa a intervalului de forma |b a| < |a|, av and n

vedere faptul ca m , unde m reprezint a distanta relativ
a minim a ntre
dou a numere reprezentabile, si care este de acelasi ordin cu epsilon masin a M
(vezi capitolul 4).
Exemplu. Pentru a verifica afirmatia de mai sus, aproxim am functia f folosind
seria Taylor n jurul punctului a din vecin
atatea punctului de minim

f (b) 00 2
= f (a) + f (a)(b a) /2 . (7.3)

S-au neglijat termenii de ordinul trei si mai mare si s-a tinut cont c
a n vecin
atatea
minimului f 0 0. Valorile a si b nu pot fi luate oric
at de apropiate dec at dac
a este
ndeplinit
a conditia

|f (b) f (a)| > m |f (a)| , (7.4)

astfel nc
at reprezent
arile numerelor f (a) si f (b) s
a fie diferite. Rezult
a
s s
|f (a)| |f (a)|
|b a|
= 2m 00 = |a| m 2 2 00 . (7.5)
f (a) a f (a)
184 7. Metode de optimizare

Figura 7.2: Localizarea minimului pentru o functie de o variabila.

p
Daca 2|f (a)|/(a2 f 00 (a)) 1, atunci |b a| |a| m , iar conditia pe care o impunem

|b a| < |a| duce la limitarea > m . Spre exemplu, dac a m = 108 , determinarea
minimului o putem face cel mult p
ana cand lungimea intervalului ce contine minimul
devine mai mic adecat 108 = 104 .

Localizarea minimului.
Pentru localizarea minimului este nevoie de cel putin trei puncte (fig. 7.2),
spre deosebire de localizarea solutiei unei ecuatii f (x) = 0, unde sunt necesare
numai doua puncte care ndeplinesc conditia f (a) f (b) < 0. Av and trei puncte
a < b < c, minimul xm este continut de intervalul (a, c) dac a f (a) > f (b) < f (c).
Fiind date doua valori a < b pentru care f (a) > f (b), localizarea minimului se
poate face dupa urmatorul algoritm:

Date: a < b, f (a) > f (b)


fa f (a); fb f (b)
Repet
a
c b + k(b a), fc f (c)
dac
a fc > fb
atunci xm (a, c), stop
altfel a = b, b = c, fa = fb , fb = fc .

Pasul de cautare nu trebuie s a fie constant, ba dimpotriv a, este avantajos ca el


sa creasca de la o etap a la alta astfel ncat localizarea minimului s a fie f
acut
a
cat mai repede: hk+1 = k hk , cu k > 1.
Algoritmul prezentat se poate mbun at
ati folosind o interpolare parabolic a.
Prin (a, fa ), (b, fb ) si (c, fc ) se duce o parabol a si se calculeaza punctul de minim
u al acesteia. Daca u > c, se recomand a ca lungimea u c s a nu fie prea mare,
spre exemplu u c < 50(c b). Dac a u (b, c) si f (b) > f (u) < f (c), atunci
7.1. Minimizarea n lungul unei directii 185

minimul functiei f este ntre b si c. In caz contrar, avem de a face cu un esec al


extrapolarii parabolice.

Determinarea minimului.
Etapa de determinare efectiv a a minimului xm , se poate face fie prin reducerea
lungimii intervalului care-l contine, fie aproxim and functia f (x) cu o functie
mai simpla 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 usurint
a. Prima
varianta este sigura, dar are dezavantajul unei convergente slabe (liniare). A
doua varianta 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 contine
minimul. Un algoritm din prima categorie, de reducere a lungimii intervalului,
cunoscut sub denumirea de algoritmul sectiunii de aur, este dat de (7.6) si este
descris n continuare.

Algoritmul sectiunii 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)
a |c b| > |b a|
dac
atunci x1 b; x2 b + w(c b)
altfel x2 b; x1 b w(b a)
f1 f (x1 ); f2 f (x2 )
attimp |x3 x0 | > |x1 + x2 |
c
daca f2 < f1

atunci x0 x1 ; x1 x2 ; x2 w1 x1 + w x3



f0 f1 ; f1 f2 ; f2 f (x2 )
altfel x3 x2 ; x2 x1 ; x1 w1 x2 + w x0
f3 f2 ; f2 f1 ; f1 f (x1 )
dac
a f1 < f2
atunci xmin x1 ; fmin f1
altfel xmin x2 ; fmin f2 .
(7.6)

Fie a < b < c cu fa > fb < fc , nu neap arat b = (a + c)/2. Dac a notam
w = (b a)/(c a), atunci 1 w = (c b)/(c a). Se pune problema s a alegem
punctul x (a, c) astfel ncat sa micsor
am intervalul care contine punctul de
minim. Sa presupunem (b, c) acest intervalul de lungime mai mare unde vom
alege pe x si sa notam z = (x b)/(c a). Tripletul care contine minimul
xm va fi a < b < x, sau b < x < c, de lungimi raportate (x a)/(c a) =
w + z, respectiv (c b)/(c a) = 1 w. Strategia este de a minimiza cea
mai dezavantajoasa posibilitate, lucru care se realizeaza impunand ca cele doua
lungimi sa fie egale: 1 w = w + z, rezult and z = 1 2w. Cum aceast a
strategie a fost folosita si la determinarea punctului b la pasul anterior, adic
a
(x b)/(c b) = (b a)/(c a) = w, rezult a x 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 ecuatia w2 3w + 1 = 0, cu



solutia w = (3 5)/2 = 0.38197. Pozitia punctului x este acum determinat a,
x = b + w(c b) = c (1 w)(c b), adic a la distanta 0.38197(c b) de b si
la 0.61803(c b) de punctul c. Lungimea intervalului care contine minimul se
reduce cu factorul 0.61803 de la o iteratie la alta, valoare apropiat a de 0.5 de la
metoda bisectiei.
Metoda sectiunii de aur se bazeaz a pe strategia pesimist a a consider arii
celei mai dezavantajoase situatii posibile, presupun and ca minimul se afla de
fiecare data n intervalul cel mai mare, astfel nc at se impune ca lungimile celor
doua intervale sa 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!)

1 (b a)2 [f (b) f (c)] (b c)2 [f (b) f (a)]


x=b . (7.7)
2 (b a)[f (b) f (c)] (b c)[f (b) f (a)]

De asemenea, se poate folosi o interpolare cu o parabol a cubic a, caz n care se


foloseste si derivata functiei f .
Un algoritm foarte utilizat, care combin a robustetea metoda sectiunii de aur
cu viteza interpolarii parabolice, este algoritmul lui Brent. Algoritmul foloseste
sase puncte a, b, u, v, t si x, nu neap
arat distincte, definite dup a cum urmeaz a: a
si b delimiteaza intervalul care contine minimul, x este punctul n care functia f
are cea mai mica valoare calculat a p
ana la un moment dat, t este valoarea
anterioara a lui x, v este valoarea anterioar a a lui t, iar u este punctul n
care s-a facut ultima evaluare a functiei f . Interpolarea parabolic a se face
folosind punctele x, t si v. Pentru ca rezultatul interpol arii parabolice s a fie
acceptat, trebuie impuse c ateva masuri de siguranta: (a) minimul calculat s a
fie n intervalul (a, b); (b) deplasarea fat
a de ultima valoare care aproximeaz a
minimul lui f sa fie mai mic a dac
at jumatatea deplas arii anterioare, pentru a
avea certitudinea ca avem un proces convergent c atre punctul minim; (c) punctul
de minim calculat u s a nu fie foarte apropiat de o valoare anterior calculat a p,
adica |u p| > p, cu > 0. Pentru oprirea iteratiilor se foloseste conditia

|b a| e = 2|x| + s , (7.8)

adica lungimea itervalului care contine punctul de minim s a fie mai mic
a dec
at
o lungime impusa e, iar s este un num ar mic (spre exemplu s = ) introdus
pentru a evita nedeterminarea care apare pentru cazul n care punctul de minim
este chiar x = 0. Conditia (7.8) asigur
a precizia relativ
a de calcul pentru punctul
de minim data de relatia

|x xmin exact | | 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 M .
a lui epsilon masina, adic
7.2. Metode de minimizare f
ar
a calculul derivatelor 187

Algoritmul contine o prima parte destinat


a initializ
arii variabilelor

b c; fb fc ; u b; fu fb ; w = 0.381966; ma xiter = 100


daca fb < fa
atunci t b; ft fb ; v a; fv fa
(7.10)
altfel t 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)

urmata de bucla iterativa principal


a

attimp (b a) > esi iter maxiter


c
xm 0.5(b + a)
daca |x| > 0.5ud sau u a < e sau b u < e


atunci
daca x > xm atunci 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

daca fu fx


atunci



daca u x atunci a x altfel b x



v t; t x; x u; fv ft ; ft fx ; fx fu
altfel

daca u < x atunci a u altfel b u


daca fu ft sau t = x




atunci



v t; t u; fv ft ; ft fu


altfel
daca fu fv sau v = x sau v = t atunci v u; fv fu
e (2 |x| + 1); iter iter + 1

7.2 Metode de minimizare f


ar
a calculul deriva-
telor
Cea mai simpla modalitate de determinare a minimului unei functii reale de mai
multe variabile reale, U : Rn R , const a n minimizarea functiei U de-a lungul
directiilor definite de versorii ei si este dat a de algoritmul (7.11). Algoritmul
(7.11) se repeta pana cand se obtine minimul functiei U (se poate folosi o conditie
de forma (7.18)). Aceasta metoda, numit a si metoda cautarii unidimensionale,
se dovedeste ineficienta pentru ca, fie nu este capabil a sa ating
a minimul, fie
apropierea de acesta se face cu pasi mici.
188 7. Metode de optimizare

Devine clar ca pentru a obtine o metod a mai eficient a este necesar a g asi
directii de deplasare mai eficiente. Astfel de directii sunt directiile conjugate.

Date: x0 , U (x)
i = 1 : n
(7.11)
xi = min{U (xi1 + ei )} .
R

Directii conjugate.
Fie forma patratic
a definit
a de

n n
2 U

X U 1 X
(x) = U (xk ) + (xj xkj )T + (xj xk T
j ) (xp xkp ) .
j=1
xj k 2 j,p=1 xj xp k
(7.12)

Forma (7.12) coincide cu primii trei termeni din dezvoltarea n serie Taylor a
atatea punctului xk . Not
functiei U (x) n vecin and cu g k gradientul functiei U n
k
punctul x si cu Gk matricea hessian n acelasi punct, expresia (7.12) se poate
scrie vectorial
1
(x) = Uk + (x xk )T g k + (x xk )T Gk (x xk ) , (7.13)
2
iar gradientul functiei este

= g k + Gk (x xk ) . (7.14)

Punctul xk s-a obtinut pentru valoarea care asigur a un minim pentru


functia (xk1 + pk1 ), deci vectorul g k va fi perpendicular pe directia pk1 ,
adica (pk1 )T g k = 0 (vezi 7.3). Deplasarea spre aproximatia urm atoare xk+1 a
minimului functiei va trebui f acut
a astfel nc
at s
a nu se piard a c
astigul obtinut
pe directia pk1 . Pentru aceasta trebuie ca gradientul functiei n punctul xk+1
sa ramana perpendicular pe directia pk1 , adic a (g k+1 )T pk1 = 0. T inand
k+1
cont de (7.14), putem scrie = g + Gk (x xk+1 ). Sc az
and cele dou a
a deplasarea din xk n xk+1 s-a f
relatii si tinand cont c acut dup a directia pk ,
rezulta

g k+1 = g k + G(xk+1 xk ) = g k + k Gpk , (7.15)

unde k R. Inmultind relatia (7.15) cu (pk1 )T , se obtine

(pk1 )T g k+1 = (pk1 )T g k + k (pk1 )T Gpk (7.16)

si cum (pk1 )T g k+1 = (pk1 )T g k = 0, rezult


a conditia care trebuie ndeplinit
a
de directiile de deplasare

(pk1 )T Gpk = 0 . (7.17)


7.2. Metode de minimizare f
ar
a calculul derivatelor 189

Doua directii care ndeplinesc conditia (7.17) se numesc directii G-conjugate.


Pentru o forma patratica , folosind deplas ari pe directii conjugate definite de
(7.17), minimul functiei este atins dup a exact n deplas ari. Pentru aceasta, mai
trebuie ndeplinita o conditie necesar
a: la fiecare etap a, minimizarea functiei
dupa directia pk trebuie facuta exact pentru a asigura conditia (pk )T g k = 0.
Pentru functii care sunt diferite de o form a p
atratic
a, minimul nu se atinge dup a
n deplasari, dar algoritmul are o convergent a buna.
Ramane problema determinarii acestor directii f ar
a a folosi matricea hessian
G. Powell a fost primul care a gasit o modalitate de a obtine un set de n directii
conjugate folosind urmatorul algoritm:

Date: x0 , U (x), , n, maxiter


l = 1 : maxiter
i
u = ei Se initializeaz
a directiile de cautare dup a fiecare n + 1 iteratii.
U0 U (x0 )

k = 1 : (n + 1)

i=1:n
xi min{U (xi1 + ui )} Se minimizeaza U n lungul directiilor ui .

R
i = 1 : (n 1)

ui ui+1

Se nlocuieste ultima directie a setului cu

n
u xn x0
directia care trece prin punctele xn si x0 .
0 n n
x min{U (x + u )} Se reinitializeaz
a punctul de start.


R
daca |U U0 | < (1 + |U |) atunci minim determinat stop.

Conditia de oprire folosita este de forma

|Uk+1 Uk | < (1 + |Uk+1 |) , (7.18)



unde am vazut la 7.1 ca M , M fiind epsilon masin a. Conditia (7.18)
asigura precizia relativa pentru valoarea minimului U (x ), dac a acesta ia valori
departate de zero. Daca valoarea minim a este chiar zero sau foarte apropiat a
de zero, atunci testul (7.18) asigur a precizia absolut a .
Powell a demostrat nca din 1964 c a, pentru o form a patratic
a (7.13), k
iteratii din algoritmul prezentat mai sus produc un set de directii ui dintre care
ultimele k sunt G-conjugate, cu conditia ca minimiz arile n lungul directiilor ui
s
a fie facute exact. O iteratie se obtine dup a n + 1 minimiz ari dupa directiile
date de vectorii ui , i = 1, n, si xn x0 . Exista tendinta ca directiile construite
s
a devina liniar dependente. Acest lucru poate fi evitat (a) printr-o initializare
a directiilor ui = ei la fiecare n + 1 iteratii (asa cum s-a si procedat mai sus),
sau (b) n loc de a renunta fara discern amant la ultima directie, se renunt a la
directia care a produs cea mai mare descrestere.
Revenind la relatia (7.13), sa observ am ca pentru a defini o form a p
atratic a
este nevoie de un numar de parametrii de ordinul n2 . Mai exact, matricea G fiind
simetrica, suma elementelor distincte este 1+2+. . .+n = n(n+1)/2. Dac a tinem
cont si de cele n componente ale gradientului, rezult a n(n + 3)/2 parametrii
190 7. Metode de optimizare

ce definesc o forma patratic a. In timp ce matricea hessian G este constant a,


gradientul se modifica, dar este nul n punctul de minim. In concluzie, indiferent
de metoda pe care o vom folosi, cu sau f ara calculul derivatelor functiei scop,
chiar pentru o forma p atratic
a, determinarea minimului nainte de obtinerea
celor O(n2 ) parametrii este cel mult nt ampl atoare.
Diferenta esential
a ntre metodele de optimizare const a n modul n care se
calculeaza acesti parametrii. Spre exemplu, n cazul unei forme p atratice, fo-
losind matricea hessian, determinarea minimului revine la rezolvarea sistemului
de ecuatii liniare G (x x0 ) = g 0 (vezi relatia 7.14). Evaluarea derivatelor,
cand acest lucru este posibil f ar
a dificult
ati suplimentare, va constitui cea mai
eficienta modalitate de obtinere a informatiei necesare determin arii minimului.

7.3 Metoda gradientului


Este cea mai simpla metod a de descrestere care foloseste derivatele functiei U .
a suprafetele cu n 1 dimensiuni de forma
Se bazeaza pe observatia c

U (x) = Ki = constant, i = 1, 2, 3, . . . , (7.19)

denumite si suprafete de nivel pentru functia U (x), sunt astfel dispuse nc


at
constantele Ki iau valori crescatoare c
and ne deplas am pe directia pozitiva a
vectorului gradient
 T
U U U
g grad U U , , ..., . (7.20)
x1 x2 xn

Din cele trei notatii uzuale din (7.20), o vom prefera pe prima, adic a n mod
curent vom nota gradientul cu g.
Deoarece g este variabil, deplasarea trebuie s a fie suficient de mic a pentru
ca plecand dintr-un punct oarecare, s a nt
alnim suprafete de nivel superioare.
Daca, dimpotriva, ne deplas am n sens opus (g ), vom nt alni constante de
nivel Ki cu valori descresc atoare.
2 2
Exemplu. Fie functia U = x + y . Suprafetele de nivel sunt cilindri coaxiali
cu axa Oz iar Ki reprezint a razele cercurilor de intersectie cu planul xOy. Pe
de alta parte, gradientul este g U = 2(~ix +~jy), ~i si ~j fiind versorii axelor Ox
si Oy. Se observa ca n orice punct gradientul este orientat n sensul cresterii
razei, deci a cresterii constantelor Ki (fig. 7.3).
Pentru determinarea minimului functiei U, construim sirul de iteratii

xk+1 = xk k g k , U (xk+1 ) < U (xk ) , (7.21)

unde xk = (xk1 , xk2 , ..., xkn )T , iar


T
U (xk ) U (xk ) U (xk )

k
T
g = g1k , g2k , ..., gnk = , , ..., (7.22)
x1 x2 xn
7.3. Metoda gradientului 191

Figura 7.3: Gradientul functiei U = x2 + y 2 .

este vectorul gradient n xk si k un scalar pozitiv. Directia pk = g k este


o directie de descrestere pentru functia U n punctul xk (este chiar directia
de maxim a descrestere n xk ). Determinarea scalarului k se face cu una
din metodele prezentate n 7.1. Dac a minimul k se determin a exact, atunci
gradientul g k+1 este perpendicular pe g k , adic
a

xk+1 = xk k g k , (g k )T g k+1 = 0 . (7.23)

Ultima egalitate (7.23) exprim a faptul c


a punctul n care produsul scalar
al gradientilor gk si gk+1 este nul reprezinta un punct de minim unidirectional.
Intr-adevar, daca vectorul g k ar avea o component a diferit
a de zero dup a directia
g k+1 , atunci functia U ar scadea n continuare, ceea ce contrazice definitia
minimului.
Metoda gradientului utilizata cu valoarea optim a pentru scalarul k (caz
n care spunem ca am folosit un pas optimal sau pas Cauchy), are o vitez a de
convergenta liniara, adica distanta la punctul de minim tinde spre zero ca o
progresie geometrica de ratie subunitar a (vezi 7.5). Convergenta devine lent a,
de regula, cand numarul de variabile n creste si de asemenea, n vecin atatea
minimului cand vectorul g tinde c atre zero. Metoda de c autare a minimului
dupa directia g k , utilizand un singur parametru k , a fost descris a n 7.1.
In continuare, dam un algoritm general pentru metodele de optimizare care
192 7. Metode de optimizare

folosesc gradientul functiei scop:

Date: x0 , U (x), U (x), , maxiter


x x0 ; Uk U (x0 ); g k U (x0 )
p gk Initializarea directiei de descrestere.
i = 1 : maxiter
x min{U (x + p)}

R (7.24)
k+1 U (x); g k+1 U (x)
U
dac
a Uk+1 Uk atunci esec stop.
[test convergent a]

[actualizarea directiei de descrestere p]
Uk Uk+1 .

Algoritmii care folosesc calculul gradientului functiei scop U se deosebesc


prin modul de calcul al directiei de descrestere p. C ateva precizari sunt nece-
sare n cele ce urmeaz a. O prim a problema o constituie alegerea metodei de
minimizare unidirectional a, pentru care recomand am algoritmul lui Brent. O
a doua problema o constituie precizia cu care trebuie efectuat a minimizarea
unidirectionala. Unele metode (cum ar fi metoda gradientului) nu necesit a un
calcul precis, n timp ce convergenta altor metode impune un calcul exact al mi-
nimului unidirectional (metodele cvasi-Newton, metodele de gradient conjugat).
Un criteriu practic pentru o minimizare unidirectional a aproximativ a este legat
de proiectia directiei de descrestere pe directia gradientului (care se numeste
derivata directional
a)

|(pk )T U (xk + k pk )| |(pk )T g k |, 0 < 1 . (7.25)

Pentru = 0 avem (pk )T g k+1 = 0, adica minimizarea unidirectional


a s-a facut
anga criteriul (7.25) se poate impune o conditie de descrestere sufi-
exact. Pe l
cient
a de forma

Uk+1 Uk k (g k )T pk . (7.26)

Valori uzuale: [105 , 101 ], (, 1).


a. In general, trei criterii
O a treia problema o constituie testul de convergent
sunt mai des folosite:
1. kxk+1 xk k x (1 + kxk+1 k)
2. kUk+1 Uk k U (1 + kUk+1 k) (7.27)
3. kU (xk+1 )k g .

Primul criteriu arata ca primele t cifre semnificative ale aproximatiilor punctul


de minim din doua iteratii succesive sunt identice, dac a x = 10t , n timp ce
cel de-al doilea criteriu arat
a c
a primele t cifre semnificative ale valorii functiei
scop sunt identice, U = 10t . S-au luat m asuri de precautie pentru cazul
n care punctul de minim este chiar x = 0 sau valoarea minim a este U = 0,
scriind spre exemplu kxk+1 xk k x kxk+1 k + s n loc de kxk+1 xk k x .
7.4. Metoda Newton 193

Criteriului 3 trebuie folosit cu atentie, deoarece satisfacerea lui nu nseamna 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) ca valorile impuse pentru precizia relativ a trebuie sa ndeplineasca

conditiile x M , U M , iar pentru criteriul 3, g 3 M , unde M
este epsilon masina..

7.4 Metoda Newton


Asa cum s-a precizat, metoda gradientului are o vitez a de convergent
a liniar
a,
adica la fiecare iteratie distanta la punctul de minim scade ca termenii unei
progresii geometrice de ratie subunitar a. Acest lucru se mai poate scrie si n
functie de comportarea raportului distantelor p an
a la punctul de minim, notat
cu x , pentru doua iteratii succesive, k si k + 1
kxk+1 x k
lim sup =c. (7.28)
k kxk x kr
Daca r = 1 si c (0, 1), atunci convergenta este liniara. Daca c este apropiat
de unitate, convergenta este lent a. Dac a r = 1 si c = 0, avem convergent a
superliniar a. Daca r > 1 si c este finit, r se numeste ordin de convergent a.
Pentru r = 2 convergenta este p atratic
a.
Metoda Newton se bazeaza pe aproximarea functiei de minimizat U (x) , la
iteratia k, cu o forma patratica k (x) definita de (7.13). Functia k are un
minim x = x daca matricea Gk este pozitiv definit a1 , adic
a daca pe orice

directie ne-am ndeparta de punctul x exist a inegalitatea k (x) k (x ) > 0
ntr-o vecinatate suficient de mic a. Punctul de minim x = x , este un punct
ai, deci gradientul k , se
stationar, adica derivatele partiale de ordinul nt
anuleaza n acest punct. Prin urmare, pentru valori suficient de mici ale distantei
pana la minim kx x k < , putem scrie tin and cont de (7.13)

k (x) k (x )
= 12 (x x )T Gk (x x ) > 0 . (7.29)

Pe de alta parte, rezolvarea sistemului k = 0, se poate face utiliz


and
metoda iterativa Newton (vezi 8.2)

Gk (xk+1 xk ) = g k xk+1 = xk G1 k
k g =x . (7.30)

Pentru determinarea punctului de minim (x reprezint a aproximatia xk+1



pentru minimul x al functiei U ) este necesar a rezolvarea unui sistem de n
ecuatii liniare cu n necunoscute, adic a circa n3 /3 + n2 operatii, n cazul c
and
folosim metoda de eliminare a lui Gauss (vezi capitolul 5). Din a doua egalitate
(7.30), se observa ca directia de deplasare x xk spre punctul de minim nu
este directia g k a metodei gradientului, aceasta fiind modificata prin nmultire
cu inversa matricei hessiene, G1 ia de descrestere pk dat
k . Direct a de relatia

pk = G1 k k T k
k g , (g ) p < 0 , (7.31)
194 7. Metode de optimizare

Figura 7.4: Deplasarea catre minim.

pentru fiecare iteratie k, se numeste directie Newton. Proiectia directiei New-


ton dupa directia gradientului este negativ a deoarece matricele Gk si G1
k sunt
pozitiv definite

(g k )T pk = (g k )T G1 k
k g <0 , (7.32)

inegalitatea (g k )T pk < 0 fiind definitorie pentru orice directie de descrestere pk .


Ca si n cazul metodei Newton pentru sisteme neliniare (vezi capitolul 5),
aproximarea cu o form a patratic a conduce la rezultate bune dac a aproximatia
initiala este suficient de apropiat a de solutie. Aceasta nseamn a ca, daca hessi-
ana exista si este pozitiv definita, ncepand cu un anumit xk suficient de aproape
de minimul x = x , metoda Newton de descrestere converge iar convergenta este
patratica.
In forma prezentat a, metoda Newton are o serie de neajunsuri. Astfel, dac a
ntr-un anumit punct xk , hessiana Gk nu este pozitiv definit a, directia Newton
nu mai este o directie de descrestere si se poate ca Uk+1 > Uk (punctul A, figura
7.4). In zonele n care functia U are o variatie plat a, putand fi aproximat a local
cu o functie de gradul 1 (hiperplan), hessiana se anuleaz a (G = 0), iar ecuatia
(7.30) nu are solutie (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 situatii. In cazul unidimensional, aceasta revine la a urma
n punctele A si L directia parabolelor tangente la functia y de minimizat, dar
avand tot timpul o curbur a pozitiv a, directiile modificate obtinute duc andu-ne
n punctele mA si mL respectiv.
Avand la baza metoda Newton, au fost dezvoltate o serie de metode care
pastreaza convergenta local a bun a (patratica), dar prezinta si o convergent a
globala, eliminand 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 functiei scop U (x) cu o form a p atratica (x)
data de (7.13). Fiind vorba de o aproximare valabil a local, se stabileste o zon a
de ncredere n model, adica zona n care se admite c a aproximeaz a bine pe
U . In aceasta zona care este o sfer
a cu centrul n xk de 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: marimea razei k a regiunii de ncredere si determinarea directiei de
descrestere pk .
Marimea razei regiunii de ncredere la pasul k + 1 se alege n functie de
valoarea anterioara si de raportul rk dintre reducerea efectiv a si cea prezisa,

rk = [U (xk+1 ) U (xk )]/[(xk+1 ) (xk )] . (7.33)

Pentru valori mici ale raportului rk (evident rk > 0 dac a ne deplasam spre
minim), se ia k+1 < k , n timp ce pentru valori care tind c atre unitate se
poate lua k+1 > k .
Directia de cautare pk se determin
a plec
and de la directia Newton definita
de (7.31), rescrisa n forma

(Gk + I)pk = g k , (7.34)

unde se alege astfel ncat matricea Gk + I s a fie pozitiv definit


a, evit
andu-se
astfel una din situatiile nedorite care apar n aplicarea metodei Newton. Pentru
= 0 regasim metoda Newton dac a noua aproximatie a punctului de minim nu
iese n afara regiunii de ncredere, adic
a daca kpk k2 < k . Pentru 0 se caut a
o directie de descrestere pentru care minimul aproximantei s a se afle chiar la
frontiera regiunii de ncredere, adic a kpk k2 = k . Deoarece matricea Gk + I
este pozitiv definita, rezolvarea sistemului de ecuatii (7.34) se face mai eficient
folosind descompunerea Cholesky Gk + I = RT R (vezi capitolul 5). Num arul
maxim de iteratii maxiter n care apreciem c a trebuie gasit minimul se alege cu
at
at mai mare cu cat numarul n de variabile ale functiei scop U este mai mare.
Numarul de iteratii np pentru calculul directiei de descrestere nu trebuie s a fie
mai mare decat 3, pentru ca efortul de calcul depus pentru o iteratie 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 ); g k U (x0 ); Gk G(x0 ); k Uk
k = 1 : maxiter

directiei de descrestere pk

Calculul

d 1; ip 1
cat timp |d| > p || + 105si ip < np



factorizare Cholesky Gk + I = RT R



rezolva sistemul RT Rpk = g k

rezolva sistemul RT q = pk

d (kpk k/kqk)2 (kpk k/ 1)

+d

ip ip + 1
(7.35)



xk+1 xk + pk ; Uk+1 U (xk+1 ); g k+1 U (xk+1 ); Gk+1 G(xk+1 )

k+1 Uk + (pk )T g k+1 + 12 (pk )T Gk+1 (pk )

d Uk+1 Uk

daca |d| < |Uk+1 | atunci minim calculat stop.

rk d/[(xk+1 ) (xk )]

daca rk > atunci xk xk+1 ; g k g k+1 ; Gk Gk+1

Actualizarea
razei regiunii de ncredere

daca rk
atunci 1

altfel daca rk >
atunci 2 .

7.5 Metode cvasi-Newton


Metodele cvasi-Newton constau n aproximarea matricei G cu o matrice B,
simetrica si pozitiv definit
a. Pentru a combina propriet atile de convergent
a
globala ale metodei gradientului cu cele de convergent
a local
a rapida ale metodei
Newton, ecuatia pentru directia Newton pk (7.30) se nlocuieste cu ecuatia

Bk pk = g k , (7.36)

iar deplasarea se ia cu ponderea k

sk xk+1 xk = k pk , (7.37)

k fiind determinat n fiecare etap a prin conditia de minim al functiei de o


variabila f (k ) U (xk + k pk ).
7.5. Metode cvasi-Newton 197

Pentru actualizarea matricei Bk la pasul k +1, adic a pentru calculul matricei


Bk+1 , se dezvolta functia 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 )T g k+1 + 21 (x xk+1 )T Gk+1 (x xk+1 ) , (7.38)

pentru care

g
= g k+1 + Gk+1 (x xk+1 )
= g k+1 + Bk+1 (x xk+1 ) , (7.39)

Impunand ca Bk+1 sa aproximeze matricea hessian Gk+1 pentru x = xk , se


obtine conditia cvasi-Newton

Bk+1 sk = g k+1 g k y k . (7.40)

Relatia (7.40) nu este suficient


a pentru determinarea matricei Bk+1 , astfel
nc
at ea trebuie completata cu o conditie suplimentar a. De exemplu, putem
impune ca matricea Bk+1 sa nu difere mult de Bk , adic a kBk+1 Bk k sa fie
minim. Folosind norma Frobenius ponderat a si determin
and matricea Bk+1 ca
o solutie a problemei de minimizare

min{kW 1/2 (Bk+1 Bk )W 1/2 kF | Bk+1 sk = y k } , (7.41)

unde matricele B si W sunt simetrice si pozitiv definite, iar W satisface conditia


cvasi-Newton W sk = y k , se obtine formula Davidon-Fletcher-Powell (DF P )

z k (y k )T + y k (z k )T (z k )T sk k k T
Bk+1 = Bk + y (y )
k T
(y ) s k [(y k )T sk ]2 (7.42)
z k y k Bk sk = y k + k g k .

In mod similar, rezolvarea problemei de optimizare

1
min{kW 1/2 (Bk+1 Bk1 )W 1/2 kF | Bk+1 sk = y k } , (7.43)

conduce la formula Broyden-Fletcher-Goldfarb-Shanno (BF GS)

y k (y k )T Bk sk (sk )T Bk
Bk+1 = Bk + . (7.44)
(y k )T sk (sk )T (Bk sk )

Ambele formule (7.42) si (7.44) se pot simplifica tin and cont ca Bk sk = k g k


si au urmatoarea proprietate remarcabil a: daca Bk este pozitiv definit
a atunci
Bk+1 este pozitiv definita.
Relatiile (7.36) si (7.37) se pot scrie si sub forma

xk+1 = xk k Bk1 g k . (7.45)

Avantajul relatiei (7.45) consta n eliminarea rezolv


arii sistemului de ecuatii
liniare. Notand H = B 1 , pentru DFP se obtine
198 7. Metode de optimizare

sk (sk )T Hk y k (y k )T Hk
Hk+1 = Hk + k T k
, (7.46)
(y ) s (y k )T (Hk y k )

iar pentru BFGS

sk (y k )T y k (sk )T sk (sk )T
   
Hk+1 = I k T k Hk I k T k + k T k =
(y ) s (y ) s (y ) s
(7.47)
Hk y k (sk )T + sk (y k )T Hk sk (y k )T Hk y k (sk )T sk (sk )T
= Hk + + .
(y k )T sk [(y k )T sk ]2 (y k )T sk

Formulele pentru inversa matricei hessiene prezint a avantajul principal al


numarului mai mic de operatii, ns a sunt mai putin stabile din punct de vedere
al pastrarii pozitivitatii matricelor H. In plus, matricele Bk , simetrice si pozitiv
definite, admit o descompunere Choleski de forma Bk = RkT Rk . In acest caz,
rezolvarea sistemului (7.36) necesit a numai O(n2 ), operatii. In plus, factorii
descompunerii Choleski se pot actualiza direct n O(n2 ) operatii.
In toate cazurile, ca matrice initial a se poate lua matricea unitate sau orice
matrice simetrica si pozitiv definit a. Se observ a c
a formula BFGS pentru ma-
tricea B este mai simpl a, n timp ce pentru matricea H este preferabil a formula
DFP. La aplicarea formulelor de mai sus, se evit a nmultirea matricelor, uti-
lizandu-se numai produse de vectori sau de vectori si matrice. Convergenta
acestor metode este global a si superliniara.
Exista pericolul ca, din cauza acumul arii erorilor de rotunjire, matricele
B sau H sa devina singulare sau s a-si piarda pozitivitatea. O modalitate de
corectie consta n reinitializarea matricelor B sau H cu matricea unitate dup a
n iteratii.
Convergenta metodelor cvasi-Newton depinde esential de exactitatea cu care
se determina minimul unidirectional la fiecare etap a. Metoda BFGS se dovedeste
mai putin sensibila din acest punct de vedere, fiind mai stabil a dec
at metoda
DFP. Aplicate unor functii p atratice (U = xT Ax, A matrice constant a), meto-
dele cvasi-Newton converg n maximum n iteratii (n fiind num arul de variabile
independente) cand matricea B va contine elementele matricei hessiene.

7.6 Metode de gradient conjugat


Metodele de gradient conjugat nu se deosebesc esential de metodele cvasi-
Newton din punct de vedere al scopului, si anume obtinerea minimului unei
forme patratice n n iteratii. Ambele clase de metode necesit a calculul derivate-
lor partiale de ordinul nt ai si au aceeasi convergent
a superliniar
a. Deosebirea
esentiala consta n faptul c
a metodele de gradient conjugat nu necesit a memo-
rarea unei matrice.
7.6. Metode de gradient conjugat 199

a de (7.13), evaluat n punctul xk+1


Fie gradientul formei patratice definit

(xk+1 ) g k+1 = g k + G(xk+1 xk ) = g k + k Gpk , (7.48)

unde am consderat xk+1 = xk + k pk , iar directiile de descrestere construite


dupa regula

pk+1 = g k+1 + k pk . (7.49)

Avem de determinat doi parametrii: k si k . Pentru a p astra avantajul castigat


la iteratiile anterioare (vezi 7.2), vom impune ca directiile pk+1 si pk s
a fie G-
conjugate, adica (pk+1 )T Gpk = 0. Inmultind la dreapta transpusa relatiei (7.49)
cu Gpk , se obtine

k = (g k+1 )T Gpk /(pk )T Gpk . (7.50)

Inmultind la dreapta aceeasi relatie cu Gpk+1 , se obtine egalitatea

(pk+1 )T Gpk+1 = (g k+1 )T Gpk+1 , (7.51)

Punand conditia ca vectorii g k si g k+1 s a fie perpendiculari ((g k+1 )T g k = 0),


folosind relatia (7.51) si scotand din (7.48) Gpk = (g k+1 g k )/k , din relatia
(7.50) se obtine

k = (g k+1 )T Gpk /(g k )T Gpk = (g k+1 )T g k+1 /(g k )T g k . (7.52)

Pentru determinarea lui k vom folosi din nou conditia ca vectorii g k si g k+1
a fie perpendiculari. Inmultind relatia (7.48) cu (g k+1 )T , respectiv cu (g k )T ,
s
se obtin relatiile

k = (g k )T g k /(g k )T Gpk = (g k+1 )T g k+1 /(g k+1 )T Gpk , (7.53)

relatii care nu sunt utile din punct de vedere practic deoarece nu avem la
dispozitie hessiana G. Vom arata ns a ponderea k din relatia (7.48) este
a c
chiar valoarea care rezulta din problema de optimizare k = min{U (xk + pk )}.
R
Pentru aceasta trebuie sa aratam c a vectorii g k+1 si pk sunt perpendiculari,
k T k+1
adica (p ) g
= 0. Inmultind la st anga relatia (7.48) cu (pk )T si tin
and cont
de relatile (7.49) si (7.51), se obtine succcesiv

(pk )T g k+1 = (pk )T g k + k (pk )T Gpk


= (g k + k1 pk1 )T g k k (g k )T Gpk
= (g k )T g k + k1 (pk1 )T g k (g k )T g k+1 + (g k )T g k
= k1 (pk1 )T g k . (7.54)

Daca la pasul anterior cautarea unidirectional a s-a f


acut exact, adic
a ponderea
k1 a fost determinata astfel ncat (pk1 )T g k = 0, atunci avem (pk )T g k+1 = 0.
Am obtinut astfel setul de directii G-conjugate pk construite cu relatia (7.49),
cu valoarea k data de relatia (7.52). Pentru construirea setului de directii pk
200 7. Metode de optimizare

nu este nevoie de matricea hessian G, dar este necesar ca ponderile k s a fie


calculate exact.
Desi teoretic am g asit o singur a cale de obtinere a unui set de directii G-
conjugate, n practica se ntalnesc mai multe variante, n functie de modul cum
se calculeaza parametrul :
Metoda Fletcher-Reeves k = (g k+1 )T g k+1 /(g k )T g k ;
Metoda Polak-Ribi`ere k = (g k+1 )T y k /(g k )T g k , y k = g k+1 g k ;
Metoda Hestens-Stiefel k = (g k+1 )T y k /(y k )T pk .
Pentru o forma patratic a relatiile de mai sus sunt echivalente. Astfel, num a-
atorul relatiei Polak-Ribi`ere se mai scrie (g k+1 )T (g k+1 g k ) = (g k+1 )T g k+1 ,
r
deoarece (g k+1 )T g k = 0, iar numitorul relatiei Hestens-Stiefel se scrie (y k )T pk =
(g k+1 )T pk (g k )T pk = 0 (g k )T g k = (g k )T g k .
Se observa tendinta metodei Polak-Ribi`ere de reinitializare a directiei de
cautare dupa directia gradientului simplu n situatiile dificile, c and xk+1 xk este
k+1 k
foarte mic si g g . Din aceast a cauza, pentru functii obiectiv complicate
metoda Polak-Ribi`ere se dovedeste a fi mai robust a. Metoda Hestens-Stiefel are
si la numitor termenul y k = g k+1 g k , fapt care provoac a dificult ati n situatia
mai sus amintita.
Avans and la fiecare iteratie cu pasul optim k = k , convergenta metodelor
de gradient conjugat este superliniar a. Pentru a evita efectele nedorite datorate
acumularii erorilor de rotunjire, se recomand a reinitializarea algoritmului dup a
n + 1 pasi, punandu-se k+1 = 0. Ea este sugerat a si de faptul c a, pentru o
functie patratica, metodele de gradient conjugat converg n cel mult n iteratii.
Metodele de gradient conjugat necesit a O(n) operatii pe iteratie; de aseme-
nea, au proprietati de convergent a globala. Ca urmare, la rezolvarea probleme-
lor cu un numar mare de variabile se recomand a folosirea metodelor de gradient
conjugat n locul metodelor cvasi-Newton.

7.6.1 Rezolvarea sistemelor de ecuatii liniare folosind me-


tode de optimizare
Metodele de optimizare pot fi aplicate cu succes pentru rezolvarea sistemelor de
ecuatii liniare (capitolul 5), ndeosebi pentru sisteme mari, atunci cand metodele
directe nu mai sunt eficiente. Deoarece num arul de variabile este mare, n astfel
de situatii sunt preferate metodele de gradient conjugat.
Pentru a folosi o metod a de optimizare, trebuie definit
a functia obiectiv U .
Fie sistemul de ecuatii liniare

Ax = b , (7.55)

unde A este o matrice simetric


a pozitiv definit a avem AT = A si xT Ax >
a, adic

0 pentru orice x 6= 0. In aceste conditii, problema rezolvarii sistemului (7.55)
este echivalenta cu problema minimizarii formei p
atratice

U (x) = hx, Axi 2 hx, bi , (7.56)


7.6. Metode de gradient conjugat 201

unde pentru produsul scalar s-a utilizat notatia


Xn
hx, bi xT b = xi bi . (7.57)
i=1

In cazul n care matricea A este simetric


a, gradientul functiei U este dat de
relatia

g(x) U (x) = 2(b Ax) . (7.58)

a ca functia U are un extrem pentru solutia x a sistemului (7.55). In


Se observ
lungul unei directii de descrestere p avem relatiile

U (x + p) = hx + p, A(x + p)i 2 hx + p, bi
= hx, Axi + hx, Api + hp, Axi + 2 hp, Api 2 hx, bi 2 hp, bi
= U (x) + 2 hp, Axi 2 hp, bi + 2 hp, Api
= U (x) + 2 hp, Ax bi + 2 hp, Api . (7.59)

T

Am folosit egalitatea hx, Api = A x, p = p, AT x , si cum AT = A, rezult a
hx, Api = hp, Axi. Observam cum coeficientul lui 2 este pozitiv, hp, Api > 0
deoarece matricea A este pozitiv definit
a, deci functia U are un minim pentru
= care poate fi determinat din conditia
d
U (x + p) = 2 hp, Ax bi + 2 hp, Api , (7.60)
d
rezultand

= hp, b Axi / hp, Api . (7.61)

Cu valoarea data de (7.61), obtinem minimul functiei U dup


a directia p

U (x + p) = U (x) + [2 hp, Ax bi + hp, Api]


= U (x) + [2 hp, Ax bi + hp, b Axi]
= U (x) hp, b Axi
2
= U (x) hp, b Axi / hp, Api . (7.62)

Dam n continuare algoritmul de determinare a minimului functiei U dat a de


(7.56) folosind metoda gradientului pentru care directia de descrestere este p =
2
g data de (7.58). Conditia de oprire folosit
a este kb Axk2 < .

Date: x0 , A, b, maxiter,
iter 1; norm 1; x x0
cattimp norm > si iter maxiter
p b Ax; norm hp, pi
norm/ hp, Api
x x + p .
202 7. Metode de optimizare

Determinarea minimului functiei U dat a de (7.56) se poate face folosind


orice alta metoda de optimizare. Spre exemplu, aplicarea metodei Fletcher-
Reeves duce la algoritmul (7.65). In partea st anga am prezentat o variant a mai
usor de urmarit n timp ce n partea dreapt a este o variant a optimizat

a pentru

codificarea ntr-un limbaj de programare. Testul de oprire este rk+1 , rk+1 < ,
unde rk+1 este reziduul la pasul k + 1 care coincide cu gradientul functiei scop
definita de (7.56). Iterat

iile se opresc si n cazul n care naintarea spre minim
devine lenta, adica pk , pk < .
Numarul de iteratii necesare obtinerii solutiei sistemului (7.56) depinde de
numarul de conditionare al matricei A (vezi capitolul 5). Pentru a m ari vi-
teza de convergenta, se poate mbun at
ati conditionarea sistemului (7.56) prin
transformarea sa ntr-un sistem echivalent
x = b ,
A (7.63)

unde

= S 1 x, b = S T b .
A = S T AS, x (7.64)

Spunem ca am efectuat o preconditionare a sistemului.

Algoritmul Fletcher-Reeves pentru sisteme liniare.


Date: x0 , A, b, maxiter, , Date: x0 , A, b, maxiter, ,
r0 b Ax0 x x0 ; r b Ax; p r
p0 r 0 c hr, ri ; d c
k = 0 : (maxiter 1) k= 1 : maxiter
1/2

1/2 daca hp, pi < stop
daca
pk , pk
< stop z Ap; c/ hp, zi
rk , rk / pk , Apk (7.65)
k x x + p
xk+1 xk + pk
k r r z
rk+1 rk Apk
k d hr, ri
daca
rk+1 , rk+1 < stop
daca d < stop

rk+1 , rk+1 /
rk , Ark
k p r + (d/c)p
pk+1 rk+1 + k pk .
cd.

Daca matricea sistemului original are multe elemente nule (matrice rar a),
operatia de preconditionare poate duce la pierderea acestui avantaj. Din acest
punct de vedere, n loc de a efectua o preconditionare explicit
a a sistemului ori-
ginal urmat a apoi de rezolvarea numerica a sistemului obtinut, este mai avan-
tajoasa din punct de vedere numeric folosirea unei tehnici de preconditionare
implicita folosind relatiile

k = S 1 xk ; pk = S 1 pk
x
r = b A
k xk = S T b (S T AS)(S 1 xk ) = S T rk (7.66)
r = S rk = Q1 rk , unde Q1 = S S T .
7.6. Metode de gradient conjugat 203

In aceste conditii obtinem


D E
k = rk , rk / pk , Apk


= S T rk , S T rk / S 1 pk , (S T AS)(S 1 pk )


= SS T rk , rk / SS 1 pk , Apk = Q1 rk , rk / pk , Apk




= rk , rk / pk , Apk .



(7.67)

Relatia de deplasare catre minimul ce reprezint


a solutia sistemului (7.63) este

k+1 = x
x k +
k pk , (7.68)

sau tinand cont de (7.66), se obtine

S 1 xk+1 = S 1 xk +
k S 1 pk . (7.69)

Inmultind la stanga cu S relatia (7.69), obtinem

xk+1 = xk +
k pk . (7.70)

Analog se obtin relatiile

k Apk ,
rk+1 = rk k = rk+1 , rk+1 / rk , rk , pk+1 = rk+1 +
k pk .


(7.71)

Dam n continuare algoritmul pentru rezolvarea sistemului de ecuatii liniare


folosind metoda de gradient conjugat Fletcher-Reeves cu preconditionare.

Date: x0 , A, b, maxiter, , Date: x0 , A, b, maxiter, ,


r0 b Ax0 x x0 ; r b Ax
rezolva sistemul Qr0 = r0 rezolv
a sistemul Qz = r
0 0
p r p r; c hz, ri
k = 0 : (maxiter 1) k= 1 : maxiter
1/2
a hp, pi
dac < stop

1/2 z Ap; c/ hp, zi
daca
pk , pk
< stop

x x + p

k rk , rk / pk , Apk

r r z
xk+1 xk + k pk
rezolva sistemul Qz = r


rk+1 rk k Apk
d hz, ri
k+1
rezolv
a sistemul Q r = rk+1
dac
ad<

daca rk+1 , rk+1 < atunci
atunci

2
daca rk+1 , rk+1 < stop

e hr, ri
r , r

k+1 k+1
k k
/ r , r

k daca e < stop

p k+1
r k+1
+ k pk .

p z + (d/c)p
cd.

Din nou, n partea stanga prezentam o variant


a mai usor de urm
arit n timp ce
n partea dreapta optimizata pentru codificarea ntr-un limbaj de programare.
204 7. Metode de optimizare

Deoarece la fiecare pas trebuie rezolvat un sistem de forma Qx = y, matricea Q


trebuie aleasa astfel nc
at sistemul sa fie usor de rezolvat. Dac a spre exemplu
matricea Q este diagonal a, atunci efortul de calcul pentru rezolvarea sistemului
este minim la fiecare pas, n timp ce forme mai complicate ale matricei Q permit
obtinerea unui sistem mai bine conditionat si deci un num ar mai mic de iteratii
necesare obtinerii solutiei. Ne afl
am n fata unui exemplu tipic de compromis
ntre un efort minim pe iteratie dar num ar mare de iteratii si un efort mai mare
pe iteratie care duce la micsorarea num arului de iteratii.

7.7 Metode specifice de optimizare


Din aceasta categorie fac parte metodele care sunt special construite pentru
functii scop ce au forme particulare. Fie functia scop de forma
Xn
U (x) = 12 Fj2 (x) = 12 kF k22 , (7.72)
j=1

unde F : Rn Rn . O problem a de optimizare cu functia scop de forma (7.72)


se mai ntalneste sub denumirea de problema celor mai mici p atrate neliniare.
Observam ca
Xn
gi = U/xi = (Fj /xi )Fj , i 1, n , (7.73)
j=1

sau vectorial
U (x) g(x) = J T (x)F (x) , (7.74)
unde J este matricea jacobian and cu [Gi ]j,p = ( 2 Fi )/(xj xp ),
a a functiei F . Not
se obtine
2 U (x) = J T (x)J(x) + Q(x) , (7.75)
unde cu Q s-a notat matricea
Xn
Q(x) = Fi (x)Gi (x) . (7.76)
i=1
Daca minimul functiei U este zero sau foarte mic, atunci n vecin
atatea acestuia
avem valori mici pentru functiile Fi astfel nc
at se poate neglija termenul Q(x)
and2 hessiana cu relatia
din relatia (7.75), aproxim
J T (x)J(x) ,
G(x) = 2 U (x) = (7.77)
obtinand 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 tin and
cont de aproximarea hessianei cu (7.77) pot fi aduse mbun atatiri modului de
calcul al directiei de descrestere p.
p
2 Aceast
aipotez
a nu mai este justificat a U (x ) este de acelasi ordin de m
a dac arime cu
valoarea proprie maxima a matricei J J, unde cu x s-a notat punctul n care U ia valoarea
T

minima.
7.8. Probleme de optimizare cu restrictii 205

Figura 7.5: Exemplu de restrictie liniara.

7.8 Probleme de optimizare cu restrictii


Majoritatea problemelor practice se formuleaz a ca probleme de optimizare la
care variabilele functiei obiectiv sunt supuse unor restrictii. Este bine de retinut
faptul ca deseori metodele de optimizare pentru probleme cu restrictii au la baz a
metodele de optimizare fara restrictii, cu mici modific
ari. Spatiul nu ne permite
prezentarea n detaliu a metodelor de optimizare cu restrictii, dar c ateva notiuni
de baza sunt necesare.
Restrictiile pot fi liniare sau neliniare. Restrictiile liniare pot fi scrise n
forma generala

Ax = b , (7.78)

c
and avem de a face cu restrictii egalit
ati liniare, sau

Ax b , (7.79)

c
and avem de a face cu restrictii inegalit ati liniare. Matricea A are m linii,
unde m este numarul de restrictii impuse celor n variabile ale functiei scop.
Un punct x Rn este admisibil dac a ndeplineste conditiile (7.78) sau (7.79)
dupa cum este cazul. Spre exemplu, n cazul n = 2, o restrictie egalitate de
forma x1 x2 = 1 impune ca minimul s a fie cautat pe o dreapta (fig. 7.5),
iar o restrictie inegalitate de forma x1 x2 1 face ca punctele admisibile
a fie plasate n semiplanul de deasupra dreptei x2 = 1 x1 . Se observ
s a c
a
restrictiile egalitate reduc dimensiunea problemei: minimizarea unei functii scop
de n variabile supuse la m restrictii independente, se poate obtine aplic and o
metoda de optimizare fara restrictii pentru o functie scop de n m variabile.
O prima posibilitate de rezolvare a problemelor cu restrictii liniare este de a
folosi o metoda de optimizare fara restrictii mpreun a cu o strategie de penalizare
a functiei scop daca algoritmul ncearc a sa iasa din domeniul D al punctelor
206 7. Metode de optimizare

admisibile. Practic se redefineste functia scop



U (x), pentru x D
U (x) = (7.80)
, pentru x
/D

unde U (x0 ). Aceast a strategie are dezavantajul micsor


arii vitezei de con-
vergenta, n special dac
a minimul este n apropierea frontierei lui D.
O alta posibilitate o constituie tehnicile de transformare. Spre exemplu, n
cazul particular al unor restrictii tip margini simple de forma i xi i ,
i 1, m0 , xi i , i m0 + 1, m se poate utiliza urm atoarea transformare de
tip Valentine:

xi = 12 [(i i ) cos zi + (i + i )], i 1, m0


(7.81)
xi = i zi2 , i m0 + 1, m .

Tehnicile bazate pe transform ari prezinta dezavantajul cresterii neliniaritatii


functiei scop transformate U . In plus, U
poate deveni nem arginit
a sau poate
avea derivate discontinue ori hessiana nedefinit a sau singulara. Metode mai
performante se bazeaz a pe combinatii ntre tehnicile algebrei liniare si cele ale
optimizarii fara restrictii.
Restrictiile neliniare pot fi la r andul lor de tip egalitate sau inegalitate

fi (x) = 0, sau fi (x) 0, i 1, n , (7.82)

unde fi : Rn R iar m este num arul de restrictii. Pentru rezolvarea pro-


blemelor de optimizare cu restrictii neliniare se pot folosi tehnici de penalizare,
extensii ale metodelor de rezolvare a problemelor cu restrictii liniare sau metode
specifice restrictiilor neliniare cum ar fi metoda de lagrangean proiectat.

Algoritmul Simplex.
Numeroase probleme din practic
a conduc la necesitatea optimiz
arii unei functii
scop liniare3 de forma
n
X
U (x1 , x2 , . . . , xn ) = j xj , (7.83)
j=1

unde cel putin un coeficient j este nenul, cu restrictii de forma

xj 0, j 1, n ,
Xn
aij xj bi , i 1, m1 , bi 0 ,
j=1
Xn
akj xj bk , k m1 + 1, m2 , bk 0 , (7.84)
k=1
Xn
alj xj = bl , l m2 + 1, m, bl 0 .
l=1
3 O functie U : Rn R este liniar
a dac
a ndeplineste urmatoarele dou a conditii: U (x) =
U (x) si U (x + y) = U (x) + U (y), oricare ar fi vectorii x, y Rn si scalarii , , R.
7.8. Probleme de optimizare cu restrictii 207

Figura 7.6: Un exemplu simplu de programare liniara.

Vom urmari n continuare obtinerea unei valori maxime (pe care o vom numi
n continuare valoare optim a) a functiei U . Problema determin arii unei valori
minime pentru U se reduce la determinarea unei valori maxime pentru U .
Restrictiile de forma xj 0 sunt impuse de semnificatia fizic a a variabilelor.
Frontiera domeniului admisibil, care contine toti vectorii x Rn care ndeplinesc
simultan conditiile (7.84) si care se numesc vectorii admisibili, este definit a de
ecuatiile liniare obtinute prin transformarea inegalit atilor n egalit
ati. Vectorul
admisibil care realizeaza valoarea maxim a a functiei scop U se numeste vector
optimal. Conditiile bi 0 pot fi ntotdeauna ndeplinite (n cazul n care bp < 0,
se nmulteste cu 1 inegalitatea respectiv a). Deoarece gradientul unei functii
liniare de forma (7.83) este nenul n orice punct, rezult a ca valoarea optim a se
afl
a pe frontiera domeniului admisibil. Aceast a valoare maxim a este finit
a numai
dac a restrictiile (7.84) definesc un poliedru convex. Mai mult, dac a valoarea
optima este unica, atunci ea se va g asi ntr-unul din v arfurile poliedrului.
Problema determinarii valorii optime a functiei U se reduce principial la
cautarea acesteia pe frontiera domeniului valorilor admisibile. Vectorul optimal
trebuie sa satisfaca sistemul de m ecuatii liniare ce definesc frontiera si care
contin n necunoscute, xj , j 1, n, n 7 m.
Exemplu. In figura (7.6) este exemplificat cazul
U (x1 , x2 ) = x1 + x2 , (7.85)
cu restrictiile
x1 + x2 10, 2x1 + x2 3, x1 + x2 3, x1 0, x2 0 . (7.86)

Pe figur
a se observa domeniul admisibil, precum si vectorul optimal unic x = (1.75, 6.50)
aflat pe frontier
a.
In cazul n care n este mare, parcurgerea la nt
amplare a frontierei poate
fi total ineficienta. Algorimul simplex ofer
a o modalitate de cautare a valorii
208 7. Metode de optimizare

optime asigurand n acelasi timp doua lucruri: (a) valoarea functiei scop U
creste de la un pas la altul; (b) valoarea optim a este obtinuta n maximum
M pasi, unde M = max(n, m). Este interesant c a desi algoritmul simplex a
fost elaborat nca din 1948 de G.B. Dantzig iar proprietatea (b) de mai sus era
confirmata 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 functiei

U = x2 3x3 , (7.87)

cu restrictiile

x1 + 2x2 3x3 = 3, x2 x3 x4 = 1, x1 , x2 , x3 , x4 0 , (7.88)

si binenteles xi 0. Se observ
a valoarea functiei U este cu at
at mai mare cu c at x2 este
mai mare si x3 mai mic. Rescriem prima relatie (7.88) n forma x1 = 32x2 +3x3 0.
Ultima inegalitate este impus a de conditia x1 0; rezulta x2 32 (1 + x3 ). Pentru
7.8. Probleme de optimizare cu restrictii 209

Tabelul 7.1: Exemplu de calcul pentru algoritmul simplex

x2 x3 x1 x3 x1 x4
U 0 1 1 U 3/2 1/2 1/2 U 4 1 1
x1 3 2 3 x2 3/2 1/2 3/2 x2 9 2 3
x4 1 1 2 x4 5/2 1/2 1/2 x3 5 1 2

valoarea x3 = 0 care convine din punctul de vedere al unei valori c


at mai mari pentru
U , se obtine x2 3. Lu
and x3 = 0, x2 = 3/2, rezult
a x1 = 0, x4 = 5/2 si U = 3/2.
Exemplul II. Consider am functia scop

U = x2 x3 , (7.89)

cu restrictiile

x1 + 2x2 3x3 = 3, x2 + 2x3 + x4 = 1, x1 , x2 , x3 , x4 0 . (7.90)

Proced and la fel ca n exemplul precedent, obtinem x1 = 3 2x2 + 3x3 0 rezult and
x2 32 (1 + x3 ) si x4 = 1 + x2 2x3 0, rezult and x3 12 (1 + x2 ). Suntem tentati
de valorile x3 = 0, x2 = 3 cu care am obtinut cu at ata usurint a U = 3 n exemplul
precedent. Dac a introducem ns a inegalitatea pentru x2 obtinut a mai sus n expresia
functiei scop, obtinem U 32 + 12 x3 , rezultat care sugereaz a ca valoarea minim a nu
se obtine pentru x3 = 0. Intr-adev ar, putem scrie x2 32 (1 + x3 ) 32 [1 + 12 (1 + x2 )],
rezult and x2 = 9, x3 = 5, x1 = 0, x4 = 0, U = 4. Incepem s a simtim nevoia unei
metodologii mai riguroase, f ara 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 si x4 apar
distinct de variabilele x2 si x3 , de care depinde n mod explicit functia U . Variabilele
x1 si x4 care apar pe prima coloan a se numesc variabile de baz a. Variabilele de baz a
sunt acele variabile care apar ntr-o singur a relatie-restrictie (si numai ntr-una), av and
coeficientul pozitiv si care se pot exprima numai n functie de celelalte variabile. In
consecint a, functia scop se poate exprima n asa fel ncat sa nu contin a nici o variabila
de baz a. In exemplul nostru avem variabile de baz a x1 si x4 . Din tabel citim de pe
prima linie U = 0 + 1 x2 1 x3 , de pe linia a doua x1 = 3 2x2 + 3x3 s.a.m.d. De pe
linia functiei scop cautam un coeficient pozitiv si g asim 1 pe coloana variabilei x2 , adic a
la cresterea valorii x2 creste si valoarea functiei scop U . Pe coloana lui x2 c aut am un
coeficient negativ, si g asim valoarea 2 pe linia lui x1 . Inseamn a c
a nu putem creste
oric at de mult valoarea x2 , deoarece acest lucru poate duce la obtinerea unei valori
negative pentru variabila de baz a pentru care am g asit coeficientul negativ, n cazul

nostru x1 . De fapt, rata cresterii functiei U este dat a de multiplicatorul pij = |aijj | bi ,
unde j = 1 este coeficientul lui x2 din expresia functiei U , aij = 2 este coeficientul
negativ de pe coloana lui x2 , iar bi = 3 este termenul liber din expresia variabilei de
baz a x1 , (i = 1, j = 2). Dac a pe coloana lui x2 toti coeficientii ar fi fost pozitivi, ar
fi nsemnat c a puteam creste oric at de mult pe x2 , iar functia 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 consta n
interschimbarea variabilelor x2 si x1 , adic a din relatia de definitie a variabilei de baz a
x1 se expliciteaza x2 , iar expresia obtinuta este folosit
a pentru a obtine U si x4 numai
n functie de x1 si x3 . Se obtin relatiile x2 = 12 (3 x1 + 3x3 ), U = 12 (3 x1 + x3 )
si x4 = 12 (5 x1 x3 ), relatii prezente prin coeficienti n partea a doua a tabelului
7.1. In general, se procedez a la interschimbarea variabilelor xi si xj corespunz atoare

unui multiplicator pij = |aijj | bi maxim. In continuare, c autam un coeficient pozitiv
asim valoarea 12 pe coloana x3 , adic
pe linia functiei U , si g a U nc
a mai creste cu x3 .
Repet am procedeul, c autam un coeficient negativ pe coloana x3 , g asim valoarea 12
pe linia x4 si interschimb am variabilele x3 si x4 ca la pasul anterior. Obtinem ultimele
patru coloane din tabelul 7.1. Pe linia functiei U citim U = 4 x1 x4 . Calculul s-a
ncheiat, deoarece coeficientii variabilelor din expresia functiei U sunt toti negativi.
Solutia o citim pe coloana functiei scop, adic a U = 4, x2 = 9, x3 = 5, iar pentru
celelalte variabile obtinem x1 = x4 = 0.
Stim 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
m restrictii (m < n) sunt egalit ati. In plus, matricea A ce se formeaz a cu
coeficientii aij , i 1, m, j 1, n, trebuie s a fie nedegenerat a, adic
a rang(A) =
m. In plus, daca dispunem de un set de nm variabile de baz a, spunem ca avem
o problema n forma standard restr ansa. Dup a cum vom vedea n continuare,
orice problema de programare liniar a de forma (7.83) se poate transforma ntr-o
forma standard restrans a.
Restrictiile inegalit ati se transform a n restrictii egalit
ati 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 m variabile care s a apar
a ntr-o
singura relatie-restrictie cu coeficient pozitiv, apel am la variabile fictive (sau
artificiale). Spre exemplu, restrictiile (7.84) se rescriu n forma

xj 0, j 1, n ,
Xn
zi = bi aij xj + yi , i 1, m1 , bi 0 ,
j=1
Xn
zk = bk akj xj yk , k m1 + 1, m2 , bk 0 , (7.91)
k=1
Xn
zl = bl alj xj , l m2 + 1, m, bl 0 ,
l=1

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 obtine prin determinarea valorii
maxime pentru functia scop auxiliar a
Xn
U0 = zi , (7.92)
i=1

care va corespunde cu zi = 0, utiliz and acelasi mod de calcul. In continuare


se aplica algoritmul simplex pentru aflarea valorii maxime a functiei U date de
(7.83). Daca nu se poate obtine valoarea maxim a pentru U 0 cu zi = 0, nseamn
a
ca nu exista nici un vector admisibil cu restrictiile date de (7.84).
7.8. Probleme de optimizare cu restrictii 211

Figura 7.7: Domeniul de calcul pentru problema (7.93).

Exemplu. S
a se g
aseasc
a minimul functiei

U (x1 , x2 ) = F12 (x1 , x2 ) + F22 (x1 , x2 ) ,


(7.93)
F1 (x1 , x2 ) x1 + 3 lg |x1 | x22 , F2 (x1 , x2 ) 2x21 + 1 x1 x2 5x1 ,

situat n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare . Intrucat domeniul n care se caut
a solutiile este destul de mare, se pune
problema alegerii unei valori initiale. O modalitate o constituie mp artirea domeniul n
mai multe subdomenii (12 p atrate n exemplul nostru) prin paralele la axele de coordo-
nate (figura 7.7) si evaluarea functiei U n centrele Ci (i = 1, 2, . . . , 12), obtin
andu-se
valorile din tabelul 7.2.

Tabelul 7.2: Valori ale functiei U n domeniul de calcul


P unct C1 C2 C3 C4 C5 C6
U 0.9945 5.3624 5.9612 31.4492 7.9348 4.8236
P unct C7 C8 C9 C10 C11 C12
U 9.0558 5.0507 24.6631 25.4427 17.0483 0.9060

Pe baza tabelului, se poate stabili o ordine pentru punctele de start n vederea


g
asirii minimelor: C12 , C1 , C6 , C8 s.a.m.d.
In tabelul 7.3 sunt prezentate comparativ rezultatele obtinute 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 solutia x1 = 3.48744,
x2 = 2.26163. S-a folosit testul de convergent a kg k k < 105 . Metodele DFP si
cele de gradient conjugat converg rapid, dar remarc am num arul mare de evaluari
212 7. Metode de optimizare

Tabelul 7.3: Rezultatele obtinute la rezolvarea sistemului (7.93)


Metoda Nr. iteratii Nr. eval. functie Nr. eval. gradient
Gradient simplu 17 478 18
Hestens-Stiefel 6 155 7
Fletcher-Reeves 8 225 9
Polak-Rib`ere 6 155 7
DFP 6 168 7

Figura 7.8: Drumul parcurs de metodele DFP si gradient simplu.

ale functiei U , acesta dator andu-se exclusiv preciziei impuse la calculul scalarului ,
convergenta 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 functiei U dat de x = (0.47980, 0.32323). Folosind aceeasi conditie
kgk k <105 , metoda gradientului are nevoie pentru determinarea minimului de 7
iteratii, Hestens-Stiefel 8, Fletcher-Reeves 9 si Polak-Ribi`ere 10 iteratii.
In figura (7.8) este reprezentat drumul parcurs de metodele DFP si gradient simplu
pentru punctul de start x0 = (3.5, 2.5). curbele de nivel U = Ki sunt trasate pentru
valorile Ki {0.906, 0.7, 0.5, 0.3, 0.128, 0.1, 0.05, 0.026, 0.01, 0.0052, 0.00076}. Primul
pas este identic pentru ambele metode. Se observ a ineficienta metodei gradientului
care avanseaz a n zig-zag. Cu cat distanta fata de minim scade, metoda gradientului
devine si mai ineficient a. Explicatia const
a n faptul c
a metoda gradientului se bazeaza
doar pe informatia furnizat a de gradientul functiei scop, care este nul n punctul de
minim si foarte mic n vecin atatea acestuia.
213

Capitolul 8

Rezolvarea sistemelor
neliniare

Vom considera n sisteme de n ecuatii cu n necunoscute, de forma

Fi (x1 , x2 , ..., xn ) = 0, i 1, n , (8.1)

unde Fi reprezinta functii cunoscute de n variabile x1 , x2 , ..., xn , presupuse con-


tinue, mpreuna cu derivatele lor partiale p
an
a la un ordin convenabil (de obicei,
pan
a la ordinul doi) pentru ca anumite relatii de calcul s a fie valabile. Se va
urmari gasirea solutiilor reale ale sistemului (8.1) ntr-un anumit domeniu de
interes, domeniu n care se consider a valabile si propriet
atile de continuitate
impuse functiilor Fi si derivatelor lor.
Sistemul (8.1) se scrie vectorial

F (x) = 0 , (8.2)

unde x = (x1 , x2 , . . . , xn )T si F = (F1 , F2 , . . . , Fn )T . Notatia mai apropiata de


scrierea initiala ar fi fost F (xT ), dar s-a renuntat la indicarea transpunerii, fapt
neesential de altfel. Cu notatia (8.2), solutiile reale se caut a pe un domeniu
D Rn , iar F : D Rn .
Metodele de rezolvare pot fi sugerate de metodele utilizate la rezolvarea
ecuatiilor ntr-o singura variabila (capitolul 3). Analogia dintre sistemul (8.2)
si ecuatia ntr-o singura variabila (3.1), desi formal a, este util
a. Rezolvarea
unui sistem de n ecuatii neliniare cu n necunoscute 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


rand, pentru n 2 nu mai este posibil a localizarea solutiei. Nu mai dispunem
de o metod a analoag a metodei njum at
atirii intervalelor pentru separarea unui
interval n care se gaseste sigur o solutie, ca n cazul unei singure variabile. De
fapt, multimea vectorilor x nu poate fi ordonat a, ncepand cu n 2. Localizarea
solutiei reprezinta un avantaj cov arsitor al cazului unidimensional, pentru c ao
solutie localizata nu mai poate fi scapat a. Din aceast a cauza, ori de c
ate ori este
posibil, se recomanda retranscrierea sistemului astfel nc at rezolvarea acestuia s a
se reduca la rezolvarea unei probleme unidimensionale. In cazul ndimensional,
nu se poate sti niciodat a cu certitudine c a solutia se afl a ntr-o anumita zon a
a. In al doilea r
pana cand solutia nu este calculat and, un sistem de n ecuatii cu n
necunoscute poate avea una, niciuna sau mai multe solutii reale. In cazul n care
sistemul are mai multe solutii, trebuie g asita acea solutie care are semnificatie
fizic
a (n general rezolv am numeric ecuatii 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 ecuatii neliniare implic a utilizarea unui algo-
ritm iterativ: pornind de la o aproximatie initial a, algoritmul o va mbun atatii
de la o iteratie la alta p an
a cand va fi ndeplinit a o conditie de convergent a.
Convergenta algoritmului, n special pentru problemele multi-dimensionale, poate
depinde n mod esential de c at buna este valoarea initial a. Aceast a valoare tre-
buie obtinuta, ori de cate ori este posibil, pe baza unui studiu analitic.

8.1 Iteratia simpl


a
Metoda iteratiei simple este, asa cum sugereaz a si numele, at
at iterativ a c
at
si simpla; din pacate ns
a nu este n general si eficient
a. Prezenta ei n acest
capitol reprezinta un punct de plecare si de comparatie pentru celelalte metode.
Sistemul (8.2) se mai poate scrie sub forma echivalent a
Fi xi fi (x) = 0, i 1, n , (8.3)
unde fi (x) sunt functii de n variabile. Iteratia simpl
a este definit
a prin sirul de
iteratii
xk+1
i = fi (xk ), i 1, n, k = 0, 1, 2, . . . , (8.4)
unde indicele superior indica iteratia. Startul se ia cu vectorul initial x0 din
domeniul D n care se cauta solutia.
Presupunand ca exist
a o solutie real
a = (1 , 2 , . . . , n ), astfel nc
at =
fi (), vom putea calcula distantele la aceasta cu ajutorul diferentelor
n
X fi k
xk+1
i i = fi (xk ) i = fi (xk ) fi () = (xkj j ) ( ), i 1, n .
j=1
xj

Ultima egalitate de mai sus s-a obtinut aplicand formula cresterilor finite pentru
o functie de n variabile. Derivatele partiale fi /xj se evalueaza n punctul k
8.1. Iteratia simpl
a 215

apartinand cubului ndimensional (xk , ); k depinde at at de iteratie c


at si de
functia fi . Notand mai departe cu mi modulul maxim al derivatelor partiale
mi = sup |fi (x)/xj | , x (xk , ), se obtin imediat inegalit
atile
j

n
X
|xk+1
i i | mi |xkj j |, i 1, n . (8.5)
j=1

Se observa ca distanta dintre dou a componente |xk+1


i i | are o margine care
depinde de distantele dintre toate componentele vectorilor xk si . Ajungem
astfel, n mod firesc, la necesitatea de a introduce norme de vectori. Spre exem-
plu, luand modulul maxim al diferentelor componentelor celor doi vectori x si
, se obtine
kxk+1 k n m kxk k , unde m sup mi . (8.6)
i

Din relatia (8.6) rezulta ca o conditie suficient


a pentru ca sirul de iteratii (8.4)
s
a fie convergent catre solutia este
n m < 1, sau sup |fi /xj | < 1/n, i, j 1, n . (8.7)
i,j

Conditia (8.7) coincide cu conditia suficient a de convergenta (3.13) pentru n =


1. Se observa ca restrictia este cu at
at mai sever a, cu c
at num arul de variabile
independente este mai mare.
O sumare a inegalitatilor (8.5) dup a indicele i conduce la norma k k1 (suma
modulelor componentelor vectorilor)
n
X
kxk+1 k1 kxk k1 mi n m kxk k1 . (8.8)
i=1

Se observa ca utilizarea normei k k1 conduce la aceeasi conditie suficient


a de
convergenta (8.7).
O conditie mai slaba de convergenta se poate obtine scriind succesiv
n
X fi ( k )

|xk+1
i i | kxk
k
k k
xj , i 1, n, (x , ) ,
(8.9)
j=1

sau pentru indicele imax care corespunde normei vectoriale maxime


n
fimax ( k )
X
k+1 k
kx k kx k . (8.10)
j=1
x j

Desi k depinde si de indicele i prin forma functiei fi (x), putem evalua suma
din dreapta inegalitatilor (8.9) si (8.10) n functie de norma maxim a a matricei
jacobiene J a sistemului de functii f
n n
fi ( k ) fi ( k )

kJ( k )k ,
X X
sup (8.11)
xj i
xj
j=1 j=1
216 8. Rezolvarea sistemelor neliniare

k fiind un punct independent de indicele i. Prin urmare, se obtine conditia


suficienta de convergent
a
k k
kJ( )k < 1, (xk , ) . (8.12)

Conditia (8.12) este n general mai slab a decat (8.7).


O formulare general a a conditiei n care se realizeaza convergenta iteratiei
simple este (ntr-un spatiu Banach) ca sistemul de functii f s a fie contractant,
adica pentru orice pereche de puncte x1 , x2 s a se realizeaze inegalitatea

kf (x2 ) f (x1 )k qkx2 x1 k, unde q [0, 1) , (8.13)

Conditiile de convergent a se pot testa n domeniul n care se afla solutia. Aceste


testari pot implica ns
a un volum mare de calcul, c and num arul de variabile este
mare sau/si solutia este localizata slab.
Din existenta a dou a conditii (8.7) si (8.12) care, n general, nu coincid,
putem ntelege mai bine n ce sens aceste conditii sunt doar suficiente. Ele
nu sunt neaparat necesare, n sensul c a ar putea exista o conditie mai putin
restrictiva care sa asigure descresterea distantei la rad
acin
a, ncepand, dac a nu
chiar cu prima iteratie, cel putin cu un anumit k > 1.
Daca suntem suficient de aproape de solutie, conditia (8.12) poate fi scris a
folosind orice alta norm a a matricei jacobiene. Viteza de convergent a este cu
atat mai mare cu cat norma (subunitar a) este mai mic a.
In cazul cand (8.13) este satisf acuta, distanta la r
ad
acina poate fi evaluat a
cu relatia

qk
kxk+1 k kx1 x0 k, q [0, 1] , k = 1, 2, . . . . (8.14)
1q

8.2 Metoda iterativ


a Newton
Ca si n cazul unei singure variabile (de fapt, chiar ntr-o m asura mai mare),
conditiile suficiente de convergent
a ale iteratiei 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 convergenta. In
acest scop, vom aplica formula lui Taylor pentru o functie de n variabile Fi (x)
sub forma
n n
X Fi 1 X 2 Fi ( k )
Fi (x) = Fi (xk ) + (xj xkj ) + (xj xkj )(xp xkp ) .
j=1
xj 2 j,p=1 xj xp

am ultimul termen si facem x = xk+1 , atunci


Daca n expresiile de mai sus neglij
conditia de deplasare spre solutie, Fi (xk+1 ) = 0, ne conduce la sistemul
n
X Fi (xk )
(xk+1
j xkj ) = Fi (xk ), i 1, n , (8.15)
j=1
xj
8.2. Metoda iterativ
a Newton 217

care reprezinta metoda iterativ a Newton, ce ne furnizeaza vectorul x n aproximatia


k + 1 n functie de datele din aproximatia anterioar a.
Matricea sistemului (8.15) se construieste cu derivatele partiale de ordinul
ai ale functiilor Fi (x), i 1, n, form
nt and matricea jacobian a a sistemului de
functii F care se noteaza cu J(x), F 0 (x) sau Fx (x). Vom adopta prima notatie.
Matriceal, sistemul de ecuatii (8.15) se scrie

J(xk )(xk+1 xk ) = F (xk ) . (8.16)

Sistemul de ecuatii 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, utilizand diferente finite.
Pentru a studia convergenta metodei, consider am x = ( fiind o solutie).
Obtinem
n
X Fi
0 = Fi (xk ) + (j xkj ) + Vi , i 1, n , (8.17)
j=1
xj

unde s-a notat cu Vi cantitatea


n
1 X 2 Fi ( k )
Vi = (j xkj ) (p xkp ), i 1, n . (8.18)
2 j,p=1 xj xp

Vectorial, relatia (8.17) se poate scrie

J(xk )( xk ) = F (xk ) V . (8.19)

Scazand egalitatile (8.16) si (8.19), se obtine

J(xk ) (xk+1 ) = V, sau xk+1 = J 1 (xk ) V . (8.20)

Din (8.20), folosind o norma oarecare se obtine o evaluare a distantei la r


ad
acin
a
n aproximatia k + 1

kxk+1 k kJ 1 (xk )k kV k . (8.21)

a se ia norma maxima, din (8.18) rezult


Dac a
n
X
kV k = sup |Vi | M |xkj j | |xkp p | n2 M kxk k2 , (8.22)
i
j,p=1

2
1 Fi
unde M = sup . (8.23)
2 i,j,p xj xp

Se obtine deci

kxk+1 k Ckxk k2 , unde C = M n2 sup kJ 1 (xk )k . (8.24)


k
218 8. Rezolvarea sistemelor neliniare

a x0 , se obtin succesiv
Plecand de la o aproximatie initial
1
kx1 k C kx0 k2 = C 1 (C kx0 k )2
2
kx2 k C kx1 k2 = C 1 (C kx0 k )2
(8.25)
...
k
kxk k C 1 (C kx0 k )2 .
Prin urmare, metoda converge dac
a este satisf
acut
a inegalitatea

C kx0 k < 1 . (8.26)

Daca se utilizeaza norma 1, cu ajutorul relatiei (8.18) se obtine


Pn Pn
kV k1 = i=1 |Vi | kxk k21 i=1 Mi nM kxk k21 ,
2 Fi (8.27)
unde Mi = 21 sup , iar M = sup Mi .
i,j xj xp
i

Introducand apoi norma 1 n relatia (8.21) si folosind inegalitatea (8.27), rezult


a

kxk+1 k1 C1 kxk k21 , unde C1 = M n sup kJ 1 (xk )k1 . (8.28)


k

Parcurcand aceleasi etape ca n relatiile (8.21), rezult


a c
a, dac
a este ndeplinit
a
inegalitatea

C1 kx0 k1 < 1 , (8.29)

metoda are o convergent a p


atratica, ca si n cazul cand utiliz
am norma maxim a.
Conditia (8.29) poate fi mai avantajoas a dec at (8.26), deoarece scalarul C1 este
proportional cu n, n comparatie cu scalarul C, care este proportional cu n2 . In
schimb, norma 1 este mai mare, n general, dec at norma maxim a fiind satisf
acut
a
nsa inegalitatea

n kx0 k kx0 k1 , pentru n 1 . (8.30)

Convergenta are loc ntotdeauna dac a este satisf


acuta o conditie de forma
(8.26) sau (8.29), independent de norma utilizat a. In toate cazurile, pentru
verificarea conditiilor de convergenta, sunt necesare evalu ari ale inversei matricei
jacobiene si ale derivatelor partiale de ordinul al doilea ale functiilor Fi (x),
distanta x0 fiind ns a necunoscut a.
O conditie de convergent a care utilizeaza rezultatele calculului ntr-o prima
aproximatie a fost dat a de Kantorivici. In acest scop se evalueaz
a derivatele
de
a U0 de centru x0 si de raz
ordinul 2 ntr-o sfera nchis a 2 x1 x0 . Conditia
de convergenta este

h0 2KkJ 1 (x0 )k kx1 x0 k 1 , (8.31)

2
X fi (x)
unde K = sup sup
. (8.32)
xU0 xj xp
i

j,p
8.3. Metode cvasi-Newton 219

Notand cu U0 radacina, eroarea este evaluat


a prin relatia
k
1
kxk k (1/2)k1 (h20 )kx1 x0 k . (8.33)
Rezulta n toate cazurile ca, dac
a jacobiana J(x) este nesingular a si deri-
vatele de ordinul 2 sunt marginite problema care mai r am
ane este gasirea unui
punct de plecare x0 suficient de aproape de solutie. Desigur, se poate proceda
la mpartirea domeniului D n subdomenii mai mici, n care s a caut
am solutia
succesiv plecand, spre exemplu, din centrul subdomeniului. Reinitializarea s-ar
face daca dupa un numar fixat de iteratii sirul xk nu se stabilizeaz a, sau iese
n afara subdomeniului considerat. Acest mod de lucru se poate dovedi ns a
nepractic n cazul unui numar mare de variabile. Spre exemplu, dac a fiecare
latura a unui cub ndimensional se divide n N p arti, numarul de subdomenii
care rezulta este N n , ceea ce duce la numere foarte mari pentru N , n 5. De
aceea, pentru apropierea de solutie se utilizeaza metode care converg n conditii
mai largi. Acestea sunt metodele de descrestere prezentate n capitolul 7.

8.3 Metode cvasi-Newton


Am vazut ca metoda Newton cere evaluarea matricei jacobiene J(x), adic a
evaluarea a n2 functii la fiecare iteratie. Dac a nu este posibila obtinerea pe
cale analitica a expresiilor derivatelor partiale ce intr
a n componenta matricei
jacobiene, valoarea acestora poate fi aproximat a folosind o formul
a cu diferente
finite de forma
(Fi )/(xj ) [Fi (x1 , x2 , . . . , xj + h, . . . , xn ) Fi (x1 , x2 , . . . , xn )]/h , (8.34)
fapt care nu reduce nsa numarul de operatii. Numarul de operatii poate fi redus
daca se utilizeaza o matrice B care aproximeaz a jacobiana, astfel nc
at n locul
sistemului (8.16) se va scrie
Bk sk = F k , (8.35)

unde sk xk+1 xk si F k = F (xk ). Aproximatia Bk a jacobienei trebuie actu-


alizata n etapa urmatoare, lucru se face scriind c a J(xk+1 ),
a Bk+1 aproximeaz
adica
Fk
= F k+1 + J(xk+1 )(xk xk+1 )
= F k+1 Bk+1 sk . (8.36)
Rezulta relatia cvasi-Newton
Bk+1 sk = y k , unde y k F k+1 F k . (8.37)
Relatia (8.35) nu este suficient a pentru determinarea elementelor matricei
Bk+1 . Ea se completeaz a cu conditia ca matricele Bk+1 si Bk sa difere c
at mai
putin de la o iteratie la alta, adica Bk+1 se determin
a ca solutie a problemei de
optimizare
Bk+1 = min{kB Bk k2 | B sk = y k } . (8.38)
220 8. Rezolvarea sistemelor neliniare

Vom rezolva problema de optimizare (8.38) indirect, impun and ca Bk si


Bk+1 sa nu difere pe directiile perpendiculare pe sk , adic
a pentru orice vector
z pentru care z T sk = 0, s
a avem

Bk z = Bk+1 z . (8.39)

a (Bk+1 Bk ) se poate alege de forma


Din (8.39) si (8.37) se deduce c

Bk+1 Bk = c (sk )T (8.40)

c fiind un vector arbitrar. Din relatiile (8.35) si (8.37) rezult


a succesiv

(Bk+1 Bk )sk = F k+1 c(sk )T sk = F k+1 c = F k+1 /(sk )T sk (8.41)

Rezulta formula iterativ


a Broyden

F k+1 (sk )T (y k Bk sk )(sk )T


Bk+1 = Bk + = B k + . (8.42)
(sk )T sk (sk )T sk

Vom arata acum c a, matricele Bk+1 furnizate de (8.42) sunt cele mai apro-
piate n norma euclidiana sau Frobenius de matricele Bk . Intr-adev
ar, se poate
scrie
kBk+1 Bk k2 = k(y k Bk sk )(sk )T k2 /(sk )T sk = k(B Bk )sk (sk )T k2 /(sk )T sk
kB Bk k2 ksk (sk )T k2 /(sk )T sk = kB Bk k2 .

Am tinut seama ca norma euclidian a, a matricei sk (sk )T este egal


a cu produsul
k T k
scalar (s ) s
Pn Pn
ks sT k22 i=1 j=1 s2i s2j = ni=1 s2i nj=1 s2j = [(s)T s]2 .
P P
(8.43)

In acest fel, plecand de la o aproximatie initial


a B0 a jacobienei (care ar putea
fi chiar jacobiana n x0 , B0 = J(x0 )), matricele B se construiesc cu numai n
evaluari de functii. Pretul acestei simplific ari l repezint
a sc
aderea vitezei de
convergenta de la patratic a la superliniar
a.
Rezolvarea sistemului de ecuatii (8.35), care necesit a circa n3 /3 operatii,
1
poate fi evitata construind iterativ matricea invers a Bk . Un avantaj al formei
(8.40) este ca se matricea Bk+1 se poate inversa direct. Mai general, oricare ar
fi matricea A si vectorii u, v, exist a egalitatea

A1 u v T A1
(A + u v)1 = A1 . (8.44)
1 + v T (A1 u)

a direct, nmultind cu matricea (A + u v T ). F


Relatia (8.44) se verific ac
and
k
A = Bk , u = c, v = s , din (8.44) se obtine

(sk Hk y k )(sk )T Hk
Hk+1 = Hk + , unde Hk = Bk1 , (8.45)
(sk )T (Hk y k )
8.4. Metoda gradientului 221

cu conditia (sk )T (Hk y k ) 6= 0. In acest fel, rezult


a
xk+1 = xk Hk F k . (8.46)
Aplicarea formulei (8.46) cere evaluarea a n functii (F k+1 ) si O(n2 ) operatii
pentru determinarea pozitiei xk+1 . Prin urmare, num arul de operatii scade n
comparatie cu (8.37) dar metoda se dovedeste mai putin stabil a din punct de
vedere numeric.
Evitarea rezolvarii sistemului de ecuatii liniare (8.35) se poate face folosind
o factorizare Bk = Qk Rk unde Qk este ortogonal a si Rk este superior triun-
ghiulara. Rezolvarea sistemului (8.35) se va face n O(n2 ) operatii, iar matricea
Bk+1 se poate obtine tot n O(n2 ).
In concluzie, metodele cvasi-Newton reduc num arul de operatii pentru o
iteratie cu pretul realizarii doar a unei convergente locale.

8.4 Metoda gradientului


Aplicarea metodei gradientului prezentat a n capitolul 7 la rezolvarea sistemelor
de ecuatii neliniare se bazeaza pe observatia c
a rezolvarea sistemului (8.1) poate
fi formulata ca o problema de minimizare pentru o functie ajut atoare U (x), care
va fi scrisa sub forma
Xn
U (x) = 12 Fj2 (x) . (8.47)
j=1

In acest fel, vom avea avantajul convergentei globale a metodei gradientului,


n raport cu metodele de tip Newton care au convergent a local
a. Rezolvarea
sistemului de ecuatii Fj (x) = 0 este echivalenta cu g
asirea unui minim U = 0.
Vectorul gradient al functiei ajutatoare este dat de relatia
U (x) g(x) = J T (x)J(x) . (8.48)
inand seama de forma speciala (8.47) a functiei U si de convergenta sirului
T
U (xk ) la zero, putem da unele expresii simplificate pentru parametrul k . Fo-
losind spre exemplu o aproximatie liniar a pentru U (xk k g k ) vom scrie,
dezvoltand n serie n jurul valorii k = 0
Xn
k = U (xk )/(g k )T g k , (g k )T g k = (gjk )2 . (8.49)
j=1

Rezulta noua pozitie a punctului x n aproximatia k + 1


Xn
xk+1 = xk g k U (xk )/ (gjk )2 , (8.50)
j=1

cu conditia ca functia scop sa descreasc a U (xk+1 ) < U (xk ).


a, adic
a pentru functiile Fj (xk k g k ), j
Putem nsa folosi o aproximatie liniar
1, n, de forma
n
Fj (xk k g k )
X
= Fj (xk ) k (Fj (xk )/xp ) gpk . (8.51)
p=1
222 8. Rezolvarea sistemelor neliniare

Functia f (k ) U (xk k g k ) si derivata f 0 (k ) le putem aproxima cu relatiile


n X Fj (xk ) n
1 X 2
f (k )
= Fj (xk ) k vjk , vjk p
gpk , (8.52)
2 j=1 p=1
x

n
f 0 (k )
X
Fj (xk ) k vjk vjk ,
 
= (8.53)
j=1

unde am notat cu vjk , j 1, n componentele vectorului v k = J(xk ) g k obtinut


prin nmultirea matricei jacobiene J cu vectorul gradient g. Folosind relatia
(8.53), din ecuatia f 0 (k ) = 0 rezult
a o valoare aproximativ
a pentru k optim
n n
k
X X
= Fj (xk ) vjk / (vjk )2 = (v k )T F (xk )/(v k )T v k , (8.54)
j=1 j=1

noua pozitie a punctului de minim aproximativ fiind xk+1 = xk k g k .


Expresiile aproximative (8.49) si (8.54) sunt utile deoarece convergenta me-
todei gradientului nu este conditionat a de determinarea precis a a valorii k ;
singura conditie este ca valoarea functiei U s a scada, adic
a Uk+1 < Uk . De-
terminarea unei valori mai exacte pentru k optim 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 micsoreaz a (n punctul de minim avem, prin definitie
g = 0), erorile introduse prin calcul fac ca directia spre minim s a fie din ce
n ce mai putin precis determinat a. Pe de alt a parte, deplasarile spre minim
devin din ce n ce mai mici. In consecint a, metoda gradientului converge rapid
n primii pasi, apoi din ce n ce mai lent. Pe de alt a parte, metoda Newton
are o comportare invers a, viteza ei de convergent a crescand pe m asura ce ne
apropiem de solutie. Aceste observatii sugereaz a o combinare a celor dou a me-
tode n felul urmator: plecand dintr-un punct x0 , se aplic a metoda gradientului
cateva iteratii k0 (k0 n), at
ata timp c at converge rapid, verific
andu-se si daca
functia U 0. Se aplic a apoi metoda Newton, plec and din punctul xk0 , pentru
a creste viteza de convergenta si a realiza o precizie ridicat
a a solutiei. Procesul
este aseman ator etapelor de localizare si rafinare de la rezolvarea unei singure
ecuatii neliniare f (x) = 0 (3).

Algoritmul metodei hibride.


Date: x0 , U (x), J(x), 0 , 0 , , maxiter
x x0 ; 0 ; F k F (x0 ); Uk U (x0 )
k= 1 : maxiter
Calculul directiei de descrestere pk
x x + p; F k+1 F (x); Jk J(x) (8.55)

[Actualizare ] - ca la MRI (7.35).

daca Uk+1 > Uk esec stop.

daca |Uk+1 Uk | < |Uk+1 |minim calculat stop.
k
F F k+1
8.5. Metoda hibrid
a 223

Figura 8.1: Directia de descrestere pentru metoda hibrida.


Jk J(x)

rezolva sistemul Jk pN = F k

daca kpN k


atunci p pN
altfel


pG {JkT F k |U (x JkT F k ) = minim}

nG kpG k
a nG
dac


atunci p {pG + (pN pG ) | kpk = }
altfel p (/nG )pg

8.5 Metoda hibrid


a
Aceasta metoda face parte din clasa metodelor regiunii de ncredere n model
prezentate la 33. In principiu, metoda hibrid a urmareste combinarea avantaju-
lui de convergenta locala patratic
a a metodei Newton cu convergenta global a
a metodei gradientului. Pentru functia scop U de forma (7.72) se foloseste
ca aproximanta o forma patratica dat a de (7.13). Pentru matricea hessian se
poate folosi aproximatia data de (7.77). Dac a evaluarea exact a a derivatelor
partiale este imposibila sau foarte dificil
a, putem fie sa folosim o matrice care
aproximeaza hessiana ca n metoda Broyden, fie s a le evaluam numeric folosind
diferente finite de forma

Fi /xj
= [F (x1 , . . . , xj + h, . . . , xn ) F (x1 , . . . , xj , . . . , xn )]/h . (8.56)

Algoritmul metodei hibride este asem anator cu cel al metodei regiuni de ncredere,
cu o deosebire la calculul directiei de descrestere. Mai nt
ai se ncearc
a avansul
dupa directia Newton data de (7.31). Dac a pasul Newton pkN iese din afara
a kpkN k2 > k , atunci se calculeaz
regiunii de ncredere (fig.8.1), adic a pasul op-
timal pe directia gradientului negativ pkG = k g k , iar dac
a kpkG k2 < k , atunci
224 8. Rezolvarea sistemelor neliniare

Figura 8.2: Curbele de nivel ale functiilor F1 si F2 .

se cauta cauta o deplasare convenabil


a ntre cele dou
a directii, folosind o medie
ponderata pk = pkN + (1 )pkG . Observ am cum pentru = 1 reg asim directia
Newton, iar pentru = 0 deplasarea se face pe directia gradientului negativ
cu pas optimal. Algoritmul pentru metoda hibrid a de rezolvare a sistemelor de
ecuatii neliniare este dat de (8.55).
Exemplu 1. S
a se g
aseasc
a solutiile sistemului de ecuatii

x1 + 3 lg |x1 | = x22

(8.57)
2x21 + 1 = x1 x2 + 5x1 ,

situate n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare. Sistemul (8.57) rescrie n forma

F1 (x1 , x2 ) x1 + 3 lg |x1 | x22 = 0



(8.58)
F2 (x1 , x2 ) 2x21 + 1 x1 x2 5x1 = 0 .

Vom utiliza metodele Newton si Broyden, precum si metoda gradientului cu relatiile


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 functia scop U = 12 (F12 + F22 ). Matricea jacobian
a a sistemului de
functii (F1 , F2 ) este
 
1 + 3(lg e)/x1 2x2
J= . (8.59)
4x1 x2 5 x1

Curbele de nivel1 F1 = 0 si F2 = 0 sunt date n figura (8.2). Solutia sistemului


(8.58) reprezint
a din punct de vedere geometric, punctele n care curbele de nivel din
planul z = 0 ale celor dou
a functii se intersecteaz
a. Dup
a cum se vede si din figur
a,
1 Curba de nivel reprezint a acea curb
a din planul z = K pe care o functie de dou a
variabile z(x, y) are aceeasi valoare K. Pentru trei variabile avem suprafete de nivel.
8.5. Metoda hibrid
a 225

Tabelul 8.1: Rezultatele obtinute la rezolvarea sistemului (8.57)


Metoda Nr. iteratii Nr. eval. functie Nr. eval. gradient
Newton 3 4 4
Broyden 14 15 0
Gradient (8.49) 34 104 35
Gradient (8.54) 34 104 35

sistemul admite dou a solutii, dintre care numai una este n domeniul de interes. Se
observ a c
a mai exist
a o zona, marcat a cu cercul A, unde curbele de nivel ale celor dou
a
functii se apropie destul de mult. Astfel de zone sunt dificile si pot provoca divergenta
metodelor de rezolvare.
Drept criterii de convergent a se recomand a, ntr-o norm
a de vectorial
a oarecare

kF k + 1
k < F , kxk + 1
xk k < x kxk + 1
k, (8.60)

unde valorile F si x se aleg n functie de precizia dorit a, x este de forma 10t ,


cu t num arul de cifre semnificative exacte dorite pentru solutie. Pentru F = 1011 ,
cu metoda Newton folosind ca punct de plecare x1 = (3.5, 2.5), se determin a solutia
x1 = 3.48744, x2 = 2.26163 n 3 iteratii (tabelul 8.1). Cu metoda gradientului solutia
este obtinut a dup a 34 iteratii cu ambele formule (8.49) si (8.54) pentru scalarul .
Desi s-au efectuat mai multe iteratii dec at cu metoda gradientului cu minimizare
unidimensional a mai exact a (c
and au fost necesare numai 17 iteratii), num arul de
evalu ari ale functiei scop U este sensibil mai mic, 104 fat a de 478.
Metoda Newton esueaz a daca se porneste din punctul x1 = (0.5, 0.5), desi valoarea
functiei U n acest punct este relativ mic a, U = 0.9945. La fel se nt ampl a si pentru
alte puncte de plecare cu valori x1 apropiate de zero. Explicatia const a n faptul ca at
at
valoarea functiei F1 , c at si valoarea derivatei F1 /x1 sunt infinite n x = 0. Plec and
din acelasi punct, x1 = (0.5, 0.5), metoda gradientului cu scalarul calculat cu relatia
(8.49) oscileaz a circa 50 iteratii n jurul minimului local U (0.4798, 0.32323) = 0.476,
dup a care scap a si sare la cea dea doua solutie a sistemului, x1 = 1.4589, x2 =
1.39677. Folosind formula (8.49), metoda gradientului oscileaz a n jurul minimul
local al functiei U . Practic determin a acest minim, care ns a nu este o solutie a
sistemului (8.58).
Cea de-a doua solutie a sistemului (care nu este cerut a n enuntul problemei),
x1 = 1.4589, x2 = 1.39677, poate fi obtinut a cu metoda Newton n 5 iteratii pornind
din punctul x0 = (2.5, 0.5).
Trebuie mentionat c a problema propus a poate fi rezolvat
a mai simplu, exprim and
pe x2 din ecuatia a doua n functie de x1 si nlocuind n prima ecuatie. Se obtin
relatiile

x2 = 2x1 5 + 1/x1 , F (x1 ) = x1 + 3 lg |x1 | (2x1 5 + 1/x1 )2 = 0 .

Graficul functiei F (x1 ) este dat n figura 8.3. Ecuatia obtinut a se poate rezolva cu
metoda Newton-Raphson, sau orice alt a metod a de rezolvare a unei ecuatii neliniare.
Avantajul principal const a n posibilitatea localiz
arii r
ad
acinilor. Reducerea num arului
226 8. Rezolvarea sistemelor neliniare

Figura 8.3: Graficul functiei F (x).

de ecuatii cuplate n sistem prin substituiri, este n general avantajoas a. In plus, ori
de cate ori este posibil, este benefic a obtinerea unei dependente de o singur a variabil
a
pentru a folosi avantajul localiz arii solutiei.
Exemplu 2. S a consideram o problem a real
a din domeniul investigatiilor radar.
Un impuls radar pleac a din E si sufera reflexii de pe dou a frontiere. Un receptor,
plasat n R, m asoar
a timpul dup a care este receptionat semnalul, T2 . Un alt receptor
plasat n E m asoara timpul de parcugere pe vertical a, t2 . Intereseaz
a determinarea
adancimii z1 . Necunoscutele sunt x1 , c1 si z1 . Pozitia punctului de refractie depinde
de propriet atile dielectrice ale mediului. Timpul de parcurgere a distantei EABCR
este
p q
T2 = h2 + (d x1 )2 /c + z12 + x21 /c1 . (8.61)

Pozitia punctului de refractie se determin


a din aplicarea principiului lui Fermat

T2 /x1 = 0 (8.62)

Rezult
a urm
atorul sistem de ecuatii

f1 (x1 , c1 , z1 ) = t2 2(h/c + z1 /c1 ) (8.63)


 q 
p
f2 (x1 , c1 , z1 ) = T2 2 h2 + (d x1 )2 /c + z12 + x21 /c1 (8.64)
p q
f3 (x1 , c1 , z1 ) = x1 c h2 + (d x1 )2 (d x1 )c1 z12 + x21 (8.65)

Rezolvarea sistemului prin metoda Newton nu necesit a dec


at o singur
a iteratie
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 doua medii.


228 8. Rezolvarea sistemelor neliniare
229

Capitolul 9

Rezolvarea ecuatiilor
diferentiale

9.1 Consideratii generale


Ecuatiile diferentiale ordinare (sau ecuatiile diferentiale care contin ca necu-
noscute functii care depind de o singur a variabil
a independent a) se nt
alnesc n
mod curent n descrierea fenomenelor din natur a. Functiile necunoscute pot fi
viteze, temperaturi, densitati, sarcini electrice, etc. Variabila independent a este
n multe cazuri timpul, cand se descriu fenomene evolutive, sau o coordonat a
spatiala, cand se descriu fenomene unidimensionale.
In ecuatiile diferentiale apar derivatele de diverse ordine ale functiilor ne-
cunoscute. Ordinul cel mai mare al derivatei functiei necunoscute d a ordi-
nul ecuatiei diferentiale. Daca avem un sistem de ecuatii diferentiale (adic a
mai multe ecuatii care contin mai multe functii necunoscute, n num ar egal cu
numarul ecuatiilor diferentiale), ordinul sistemului este egal cu suma ordinelor
ecuatiilor diferentiale care l formeaz a.
In general, ecuatia diferentiala (sau sistemul de ecuatii diferentiale) nu deter-
mina complet functia (sau functiile) necunoscut a. Pentru a determina complet
solutia, este necesar ca, odat a cu ecuatia (sau sistemul) sa se impun a un num ar
de conditii suplimentare egal cu ordinul ecuatiei diferentiale (sau sistemului de
ecuatii diferentiale).
230 9. Rezolvarea ecuat
iilor diferent
iale

Deoarece rezolvarea ecuatiilor de ordin mai mare ca unu se poate reduce


la rezolvarea unor sisteme formate numai din ecuatii diferentiale de ordinul
ntai, vom prezenta la nceput metodele de rezolvare numeric a a acestor ecuatii
mai simple. Trebuie spus c a, p
ana la aparitia calculatoarelor electronice, chiar
rezolvarea unei singure ecuatii diferentiale de ordinul nt
ai putea ridica dificult ati
mari, de natura practic a (volum mare de calcule pentru obtinerea unei precizii
acceptabile).
Se considera o functie y = y(x), continu a si derivabil a pe intervalul de
definitie (sau cel putin pe intervalul pe care se caut a solutia); fie [a, b] inter-
valul pe care se cauta solutia. Ecuatia diferential
a de ordinul nt ai se scrie sub
forma implicit a

E(x, y, y 0 ) = 0, unde y 0 dy/dx , (9.1)

x [a, b] fiind variabila independenta. Se presupune c a expresia E(x, y, y 0 ) se


0
poate explicita n raport cu derivata de ordinul nt
ai y obtin
and forma explicit a

y 0 = f (x, y) , (9.2)

functia f (x, y) fiind definit a pe un dreptunghi [a, b] [c, d] R2 .


a si derivabil
Functia f (x, y) se numeste functie pant a, deoarece n punctul de coordonate
(x, y) valoarea ei este egal a cu valoarea derivatei ntai a functiei y(x), numeric
egala cu panta tangentei la grafic n acest punct. Pentru a determina complet
solutia se d
a conditia suplimentar a

x = x0 , y = y0 ; x0 [a, b], y0 [c, d] , (9.3)

unde de obicei x0 = a sau x0 = b.

9.2 Metode cu pasi separati


Pentru rezolvarea numeric a a ecuatiei (9.2) cu conditia (9.3) se mparte in-
tervalul [a, b] n n diviziuni. Pun and x0 = a si xn = b, se noteaz a cu xm
(m = 0, 1, . . . , n) nodurile diviziunii, iar cu h = xm+1 xm pasul de integrare.
O metoda cu pasi separati (sau metod a pas cu pas) este o metod a care
determina valoarea functiei la pasul m + 1 folosind numai valori de la pasul m.

9.2.1 Formule Euler


Cea mai simpla metoda pas cu pas este metoda Euler de ordinul nt ai. In acest
caz, deplasarea din punctul xm se face dup
a directia tangentei n acest punct la
0
curba y = y(x). Notand cu K1 valoarea derivatei ym , conform cu (9.2) se poate
scrie
0
K1 = ym = f (xm , ym ) , (9.4)
9.2. Metode cu pasi separati 231

iar formula Euler de ordinul 1 este

ym+1 = ym + hK1 . (9.5)

Plecand de la valoarea y0 pentru x = x0 , aplic and formula (9.5) se obtin va-


lorile ym , m = 1, 2, . . . , n ale functiei necunoscute, adica o functie retea care
aproximeaza functia cautata (barele indic a valori aproximative).
Pentru a determina eroarea de trunchiere pentru formula (9.5), se admite c a
functia y poate fi reprezentata printr-o formul a Taylor astfel nc
at
0
ym+1 = ym + hym + (h2 /2)y 00 (m ), unde m (xm , xm+1 ) . (9.6)

T and seama ca ambele formule (9.5) si (9.6) se aplic


in a plec
and din x = xm ,
rezulta eroarea de trunchiere pentru un pas eT m

eT m = ym+1 ym+1 = (h2 /2)y 00 (m ) , (9.7)

proportionala cu pasul diviziunii la puterea a doua. Pentru ntregul interval, n


cazul cel mai defavorabil, erorile se adun a
n
X h2 00 0 b a 00 0
eT = eT m = ny ( ) = hy ( ), 0 (a, b) (9.8)
m=1
2 2

si deci eroarea este proportionala cu pasul la puterea nt


aia. De aceea, for-
mula (9.5) este denumita formula de ordinul nt
ai, indic
and marimea erorii de
trunchiere n raport cu pasul diviziunii.

Formule Euler de ordinul 2.


O formula de ordinul 2 este de forma

ym+1 = ym + h(w1 K1 + w2 K2 ) , (9.9)

unde K1 este dat de (9.4), iar K2 este de forma

K2 = f (x + h, y + hK1 ) , (9.10)

iar parametrii , , w1 si w2 se determin a din conditia ca (9.9) s


a coincid a
cu primii trei termeni din dezvoltarea n serie Taylor a functiei y(x) n jurul
punctului xm
0 00
ym+1 = ym + hym + (h2 /2)ym + (h3 /6)y 000 (m ), m (xm , xm+1 ) , (9.11)

unde derivata de ordinul 2, y 00 se calculeaz


a astfel

y 00 = (y 0 )0 = [f (x, y)]0 = fx + fy y 0 , fx f /x, fy f /y . (9.12)


0
T
inand cont de faptul ca ym = f (xm , ym ) = K1 , din (9.11) rezult
a

ym+1 = ym + hK1 + (h2 /2)(fxm + fym K1 ) + (h3 /6)y 000 (m ) , (9.13)


232 9. Rezolvarea ecuat
iilor diferent
iale

unde fxm f (xm , ym )/x . Pe de alt a parte, utiliz


and o formul
a Taylor
pentru K2 (ca functie de dou
a variabile), din (9.10) se obtine

K2 = K1 + h(fxm + K1 fym ) + O(h2 ) . (9.14)

Deoarece K2 este derivata nt ai a functiei y, vom p


astra numai termenii de
ordinul h. Introducand (9.14) n (9.9), se obtine

ym+1 = ym + h(w1 + w2 )K1 + h2 w2 (fxm + K1 fym ) + O(h3 ) . (9.15)

Identificand relatia (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 ecuatii. Teoretic exist ao
infinitate de posibilitati de a construi o metod
a de ordinul 2, doua variante fiind
mai des ntalnite. Prima dintre acestea se obtine aleg and w2 = 1/2. Rezult a
= = 1, w1 = 1/2, obtin andu-se formula Euler mbunat
atit
a

ym+1 = ym + h2 (K1 + K2 ), K2 = f (xm + h, ym + hK1 ) . (9.17)

Cea dea doua se obtine aleg and w2 = 1. Rezult


a = = 1/2, w1 = 0,
obtinandu-se formula Euler modificat
a

ym+1 = ym + hK2 , K2 = f (xm + h/2, ym + K1 h/2) . (9.18)

Pentru ambele variante K1 se calculeaz a cu relatia (9.4). Eroarea de trunchiere


la pasul m este eT m = ym+1 ym+1 = O(h3 ). In consecint a, formulele (9.17) si
(9.18) vor da o eroare de ordinul h2 relativ la ntregul interval.
Formulele Euler admit o interpretare geometric a, prezentata n figura (9.1).
In punctul A(xm , ym ) se construieste tangenta la graficul functiei y(x) de pant a
K1 . Punctul B se afl a pe aceast a tangent a, yB = ym + hK1 reprezent and
valoarea aproximativ a pentru y(xm+1 ) obtinut a cu metoda Euler de ordinul
ntai. In punctul B(xm+1 , yB ), se evalueaz a prima derivat a a functiei y, yB 0
=
f (xm+1 , yB ) K2 . Bara de deasupra semnific a faptul ca este vorba de o valoare
aproximativa, valoarea exact a s-ar obtine n punctul E. Valoarea ym+1 se obtine
cu metoda Euler mbun at
atit
a aproxim and functia pe intervalul [xm , xm+1 ] cu
bisectoarea unghiului format de cele dou a pante, K1 si K2 . Pe figur a, ym+1 =
yC .
Pentru metoda Euler modificat a, n punctul A(xm , ym ) se construieste tan-
genta la graficul functiei y(x) de pant a K1 . Punctul D(xm+1 + h/2, yD ) se afl a
pe aceasta tangenta, yD = ym + (h/2)K1 . In punctul D, se evalueaz a prima de-
0
rivata a functiei y: yD = f (xm+1 + h/2, yD ) K2 . Bara de deasupra semnific a
faptul ca este vorba de o valoare aproximativ a, valoarea exact a s-ar obtine n
punctul F . Valoarea ym+1 se obtine cu metoda Euler modificat a aproxim and
functia pe intervalul [xm , xm+1 ] cu dreapta de pant a K2 . Pe figur a, ym+1 = yC .
9.2. Metode cu pasi separati 233

Figura 9.1: Interpretarea geometric


a a metodelor Euler de ordinul 2.

9.2.2 Formule Runge-Kutta


Din prezentarea anterioara se observ a ca, lu
and n calcul mai multe puncte (deci
folosind mai multe evaluari ale functiei panta f (x, y)), se obtin formule de ordin
de precizie mai ridicat. De aici apare ideea de a utiliza o expresie general a de
forma
s
X
ym+1 = ym + h wi Ki , (9.19)
i=1

i1
X
Ki = f (xm + i h, ym + h ij Kj ), i 1, s, j 1, i 1, 1 = 10 = 0 ,
j=1
(9.20)

unde s este ordinul formulei, iar scalarii wi , i , ij se determin a din conditia


ca expresia (9.19) sa coincida cu formula Taylor pana la termenii n hs inclusiv.
S-a renuntat a se mai pune bara pentru a indica valorile aproximative. Pentru
s = 4, relatiile (9.20) se scriu

K1 = f (xm , ym ), K2 = f (xm + 2 h, ym + 21 hK1 ) ,


K3 = f [xm + 3 h, ym + h(32 K2 + 31 K1 )] , (9.21)
K4 = f [xm + 4 h, ym + h(43 K3 + 42 K2 + 41 K1 )] .

Pentru s = 2 se regasesc formulele Euler de ordinul 2. Num arul de parametri


este mai mare decat numarul de conditii pentru ca acestia s
a fie unic determinati
ncepand s 2. In consecinta, pentru acelasi ordin s 2, se obtin diverse
formule, unii dintre parametri fiind alesi din motive de simplitate sau de simetrie
a formulelor. Formulele astfel obtinute 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 utilizeaza 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 + h2 , ym + h2 K1 )
(9.23)
K3 = f (xm + h2 , ym + h2 K2 ), K4 = f (xm + h, ym + hK3 ) .

9.2.3 Formule Runge-Kutta-Gill


O alta formula Runge-Kutta de ordin 4, ceva mai complicat
a, dar care prezint
a
interes din punctul de vedere al controlului propagarii erorilor, este dat
a de
urmatorul algoritm:

Date: x0 , xn , Y 0
x = x0 , y = Y 0 , Q0 = 0, h = (xn x0 )/n
m = 0 : (n 1),
K1 f (xm , Y m ), Y1 Y m + h2 (K1 2Q0 ),

Q1 Q0 + 3[ 12 (K1 2Q0 )] 12 K1 ,

K2 f (xm + h , Y1 ), Y2 Y1 + h(1 1/ 2)(K2 Q1 ),

2 (9.24)
Q2 Q1 + 3[(1 1/ 2)(K2 Q1 )] (1 1/ 2)K2 ,

K3 f [xm + h , Y2 ], Y3 Y2 + h(1 + 1/ 2)(K3 Q2 )
Q Q + 3[(1 + 1/2)(K Q )] (1 + 1/2)K ,
2
3 2 3 2 3
K f (x + h, Y ), y h
4 m 3 m+1 Y3 + (K 4 2Q 3 ),
Q Q + 3[ 1 (K 2Q )] 1 K 6
4 3 6 4 3 2 4
Q0 Q4 .

Prezenta radicalilor n expresiile (9.24) este util a deoarece acestia introduc


ntotdeauna o eroare de rotunjire a c arei evolutie se poate controla la fiecare pas.
Aceasta observatie sta la baza metodelor de tip Runge-Kutta-Gill. In metodele
Runge-Kutta-Gill de ordinul 4, erorile de rotunjire se iau n consideratie la
fiecare pas prin patru componente Q1 , Q2 , Q3 , Q4 . Se atrage atentia c a relatiile
(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 Q4 dau o indicatie asupra tendintei (crestere,
stationare, descrestere) a acestor erori de rotunjire. Astfel, dac a kQ4 k dep aseste
o anumita margine impus a1 , se reduce pasul h. De asemenea, pasul h poate fi
marit daca se apreciaza c a valoarea kQ4 k este prea mic a2 .
1 Algoritmul este prezentat n forma general a pentru rezolvarea sistemelor de ecuatii
diferentiale, care vor fi prezentate mai jos. In acest caz, Q si K sunt vectori.
2 Trebuie 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 acelasi numar de cifre semnificative. Spre exemplu, lucr and cu un
calculator personal, nu vom observa diferente semnificative ntre cele dou a metode, deoarece
calculele intermediare se efectueaz a pe 80 de biti, indiferent de num arul de biti folositi de
compilator pentru reprezentarea unui num ar real.
9.2. Metode cu pasi separati 235

9.2.4 Alegerea pasului la rezolvarea ecuatiei diferentiale


Estimarea erorii la formulele pas cu pas se poate face repet and calculul cu
pas modificat. Spre exemplu, pentru a verifica dac a pasul h este suficient de
mic pentru asigurarea unei precizii corespunzatoare, se avanseaz
a doi pasi din
punctul xm cu pasul h, apoi se reface calculul cu pasul dublu 2h, dupa schema

xm + h + h = xm + 2h . (9.25)

In aceste conditii, neglijand erorile de rotunjire pe distanta h, utiliz


and o formul
a
Taylor, se poate scrie
(s+1)
y(x + 2h) = y2h + (2h)s+1 y(1 ) /(s + 1)! ,
 
(s+1) (s+1)
y(x + 2h) = yh + hs+1 y(21 ) + y(22 ) /(s + 1)! (9.26)
(s+1)
= yh + 2hs+1 y(2 ) /(s + 1)! ,

unde 1 , 2 (x, x + 2h), 21 (x, x + h), 22 (x + h, x + 2h). Pentru s = 4


avem
0 (2h)2 00 (2h)3 000 (2h)4 (4)
y2h = y(x) + 2hy(x) + 2 y(x) + 6 y(x) + 24 y(x)
2 3 4 (4)
0 00 000
yh = y(x) + hy(x) + h2 y(x) + h6 y(x) + h24 y(x) +
2 3 4 (4)
0 00 000
+hy(x+h) + h2 y(x+h) + h6 y(x+h) + h24 y(x+h) .

Considerand derivatele aproximativ egale

y (s+1) (1 )
= y (s+1) (2 ) y (s+1) (), (x, x + 2h) , (9.27)

din (9.26) se obtine

2s 1 (s+1) 2hs+1 (s+1) yh y2h


yh y2h = 2hs+1 y () y () = s . (9.28)
(s + 1)! (s + 1)! 2 1

Am notat yh , y2h valorile aproximative ale functiei y n x + 2h obtinute cu pasii


de integrare h respectiv 2h. Putem corecta valoarea yh , presupus a mai exacta
dec
at y2h , cu relatia

y(x + 2h)
= yh + e, e (yh y2h )/(2s 1) . (9.29)

Am obtinut de asemenea o posibilitate de a evalua eroarea absolut a prin terme-


nul e. Se poate deci impune micsorarea n continuare a pasului, dac a e depaseste
o anumita margine superioara sau, dimpotriv a, marirea pasului n cazul n care
e are o valoare prea mica.
Sa presupunem ca dorim ca eroarea absolut a s
a nu depaseasca valoarea im-
pusa e0 . In general, eroarea unei metode de ordinul s este de forma
(s+1)
e = hs+1 y() /(s + 1)! . (9.30)
236 9. Rezolvarea ecuat
iilor diferent
iale

Se obtine

(s+1) 1
e hs+1 y(0 )
  s+1
0 e 0
= 0s+1 (s+1) h0 = S h |e|
, (9.31)
e h y()

(s+1) (s+1) 1
unde S = |y(0 ) /y() | s+1 este, pentru h suficient de mic, de ordinul unit atii
(rezultate bune n majoritatea cazurilor pot fi obtinute cu S = 0.9). Dac a
eroarea obtinuta cu pasul h este mai mare dec at cea impusa (e > e0 ), atunci
calculul trebuie reluat cu un pas mai mic, h0 fiind o estimare bun a a m arimii
acestui pas. Daca n schimb eroarea obtinut a este mult mai mic a decat cea
impusa (e  e0 ), nseamn a ca pasul de integrare este mai mic decat cel necesar,
iar relatia (9.31) poate fi folosit
a pentru estimarea pasului urm ator.
De regula, n locul erorii absolute se foloseste eroarea relativa definit
a ca
= |e/yref |, unde yref este o valoare de referint
a a necunoscutei y (spre exemplu
ultima valoare calculat a, yref = ym+1 = yh ). In acest caz se poate scrie
1
h0 = S h (0 /) s+1 . (9.32)

Metoda prezentata este fiabil a, dar conduce la cresterea timpului de calcul,


ceea ce nu se justific a ntotdeauna. Pentru obtinerea unei estim ari a erorii
absolute e cu pasul h, efectu am s + s + s = 3s evalu ari ale functiei pant
a f (x, y),
dintre care K1 = f (xm , ym ) este aceeasi pentru integrarea cu h si 2h. Pentru
Runge-Kutta de ordinul 4, sunt necesare 11 evalu ari ale functiei panta pentru
doi pasi, deci 5.5 evalu
ari pentru un pas. Rezult a un efort de calcul suplimentar
de 1.5 evaluari ale functiei pant
a pentru a obtine o estimare a erorii absolute si
a pasului optim de integrare. In cazul n care pasul h este relativ mare, factorul
de siguranta S poate diferi mult de unitate. In aceast a situatie, o estimare a
erorii se face comparand cele dou a valori obtinute

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)

Observand ca pantele K2 , K3 se evalueaz a n acelasi punct x = xm + h/2 iar


K1 , K2 se evalueaza n puncte diferite, pe considerente empirice, se recomand a
mentinerea pasului dac a raportul r este de ordinul 102 . In cazul unor ordine
de marime diferite de 102 , pasul se modific a (spre exemplu, se njum at
ateste
daca r 101 ).
O alta cale de a obtine informatii privitoare la precizia calculelor si a pasului
necesar este de a folosi dou a formule Runge-Kutta de ordine s si p, de regul a
p = s + 1. Aceasta nseamn a s + p = 2s + 1 evalu ari n total pentru a obtine o
valoare aproximativa cu o eroare de ordinul hs precum si o estimare a acestei
erori si a pasului optim de integrare. La prima vedere, pretul pl atit pare prea
9.2. Metode cu pasi separati 237

Tabelul 9.1: Valorile coeficientilor pentru Kutta-Merson


i ai ai bi i i1 i2 i3 i4
1 1/6 1/15 0
2 0 0 1/3 1/3
3 0 3/10 1/3 1/6 1/6
4 2/3 4/15 1/2 1/8 0 3/8
5 1/6 1/30 1 1/2 0 3/2 2

mare. In realitate nu este asa deoarece ambele formule folosesc aceleasi puncte
pentru evaluarea functiei panta, adica numai p evalu ari! Acest lucru este po-
sibil, deoarece raportul dintre num arul de evalu
ari ale functiei pant
a si ordinul
metodei creste cu ordinul metodei dup a cum urmeaz a:

Numar de evaluari 1 2 3 4 5 6 7 8
Ordinul metodei Runge-Kutta 1 2 3 4 4 5 6 6 .

Formulele din categoria de mai sus se pot scrie n forma general


a
Pp Pp
ym+1 yp = ym + h i=1 ai Ki , ys = ym + h i=1 bi Ki ,
Pi1 (9.35)
Ki = f (x + i h, ym + h j=1 ij Kj ) .

O estimare a erorii de trunchiere pentru ys poate fi obtinut


a cu relatia
p
X
e = yp ys = h (ai bi )Ki , (9.36)
i=1

iar pasul de integrare necesar obtinerii unei precizii impuse se calculeaz


a cu
relatia

h0 = S h (e0 /|e|)1/p . (9.37)

Din aceasta categorie, prezent am metodele Kutta-Merson si Runge-Kutta-Fehlberg.


Metoda Kutta-Merson foloseste dou a formule Runge-Kutta de ordine 4, res-
pectiv 5. Coeficientii din formulele (9.35) si (9.36) sunt dati n tabelul (9.1).
Pentru obtinerea relatiei (9.37) este nevoie de numai 5 evalu ari ale functiei 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 metoda de ordinul 4 mpreun a cu o estimare a erorii cu numai
5 evaluari ale functiei panta.
Metoda Runge-Kutta-Fehlberg foloseste o formul a de ordinul 4 cu 5 evalu ari
ale functiei panta si o formula de ordinul 5 cu 6 evalu ari. Aceasta nseamn a6
evaluari n total pentru a obtine o valoare aproximativ a cu o eroare de ordinul
h5 precum si o estimare a acestei erori si a pasului optim de integrare. Valorile
coeficientilor ai , bi , i , ij sunt dati n tabelul 9.2.
238 9. Rezolvarea ecuat
iilor diferent
iale

Tabelul 9.2: Valorile coeficientilor pentru Runge-Kutta-Fehlberg

i ai ai b i i i1 i2 i3 i4 i5
1 16/135 1/360 0 0

2 0 0 1/4 1/4

3 6656/12825 128/4275 3/8 3/32 9/32

4 28561/56430 2197/75240 12/13 1932/2197 7200/2197 7296/2197

5 9/50 1/50 1 439/216 8 3680/513 845/4104

6 2/55 2/55 1/2 8/27 2 3544/2565 1859/4104 11/40

9.3 Extrapolare Richardson. Metoda Bulirsch-


Stoer
Tehnica extrapolarii de tip Richardson const a n construirea unei functii ym+1 (h)
prin calcularea mai multor valori ym+1 folosind diferiti pasi h = xm+1 xm ,
aproximarea acesteia cu o functie mai simpl a (spre exemplu polinom) si calcu-
ex
larea unei valori aproximative ym+1 corespunz atoare unei valori h mai mici, n
particular pentru h = 0.
Fie ym y(xm ) valori calculate p ana 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) cu x xm se mparte n n subintervale egale, xi+1 xi h = H/n,
i 1, n. Pentru diferite valori n, deci pasi de integrare diferiti, se obtin mai
multe valori aproximative ale necunoscutei y n punctul xm+1 . Se obtin astfel
perechi de valori (h, ym+1 (h)), cu ajutorul c arora se poate calcula o valoare
aproximativa ym+1 (0). De asemenea, av and mai multe valori ym+1 pentru pasi
de integrare diferiti, se poate estima eroarea e y ym+1 . Dac a aceasta este
prea mare, calculul se repet a pentru un n mai mare (respectiv, un pas mai mic).
Extrapolarea Richardson d a rezultate foarte bune pentru ecuatii diferentiale a
caror solutii sunt functii monotone (sau f ar
a variatii mari ale primei derivate)
si nu au puncte singulare n intervalul de interes.
Pentru obtinerea unui algoritm performant, trebuie precizate urm atoarele:
(a) metoda de integrare pe intervalul (x, x + H); (b) metoda de aproximare a
functiei ym+1 (h).
Metoda Bulirsch-Stoer, foloseste urm atoarea strategie de m arire a num arului
de intervale n:

nj = 2nj2 n = 2, 4, 6, 8, 12, 16, . . . , (9.38)

care evita scaderea prea rapid


a a pasului de integrare n cazul uzual nj =
2nj1 . Pentru integrarea numerica a ecuatiei diferentiale se foloseste o metod
a
9.4. Metode cu pasi legati 239

de ordinul 2, definita de urm


atorul algoritm:

z0 y(xm ); z1 = z0 + h f (xm , y0 )
i = 1 : (n 1)
(9.39)
[zi+1 = zi1 + 2hf (xm + ih, yi )
ym+1 = 12 [zn + zn1 + hf (x + H, zn )] .

Unul din avantajele formulelor (9.39) const a n faptul ca avem nevoie de nu-
mai o evaluare a functiei panta. Avantajul esential l constituie ns
a faptul c
a
dezvoltarea n serie Taylor a erorii contine numai termenii cu puteri pare
X
e ym+1 y(x + H) = ai h2i . (9.40)
i=1

Astfel, daca avem doua valori yn si yn/2 obtinute cu n respectiv n/2 subintervale,
obtinem o valoare mbunatatita

y(x + H) (1/3)(4yn yn/2 ) (9.41)

de ordinul patru si nu trei cum ar fi fost normal pentru o formula de ordinul doi.
Pentru extrapolare la valoarea h = 0, Burlisch si Stoer au g asit mai eficient
a
aproximarea cu functii rationale n locul interpol
arii polinomiale.

9.4 Metode cu pasi legati


Principalele deficiente ale metodelor cu pasi separati sunt: (a) necesitatea evaluarii
la fiecare pas a unui numar de functii cel putin egal cu ordinul metodei; (b) eva-
luarea dificila a erorii de trunchiere.
Deficientele semnalate pot fi nl
aturate folosind metode care utilizeaz a mai
bine valorile deja calculate ale functiei necunoscute. Aceste metode se numesc
metode cu pasi legati sau metode multipas. Ideea este urm atoarea: sa presupu-
nem, revenind la ecuatia (9.2), ca se cunoaste solutia y(x). Atunci functia panta
f (x, y(x)) este o anumita functie de x, notat a cu (x) f (x, y(x)). Integr and
ecuatia (9.2) termen cu termen, pe un interval [xmk , xm+1 ], m = 0, 1, 2, . . . ,
se obtine
Z xm+1
ym+1 = ymk + (x) dx (9.42)
xmk

(figura 9.2). In relatia (9.42), functia (x) este necunoscut


a, dar poate fi apro-
ximata utilizand spre exemplu un polinom de interpolare.

9.4.1 Formule explicite


Pentru a lua n consideratie valori deja calculate ale functiei y(x), vom utiliza
polinomul cu diferente la stanga. Introducem num arul real prin relatia

x = xm + h, 1 . (9.43)
240 9. Rezolvarea ecuat
iilor diferent
iale

Figura 9.2: Functia (x).

Functia (x) se va reprezenta n forma

(x) (xm + h) = m + m + . . . + (1)r C


r
r m + Rr , (9.44)

r fiind gradul polinomului de interpolare, operatorul diferent


a la st
anga, iar
Rr restul la interpolare
r+1 (r+1)
Rr = (1)r+1 hr+1 C (), (xmr , x) . (9.45)

inand seama de (9.44), relatia (9.42) se scrie


T
Z 1
m + m + . . . + (1)r C
r
r m d + m ,

ym+1 = ymk + h
k
(9.46)

m fiind eroarea la integrare la pasul m


Z 1
r+1 r+1
m = (1)r+1 hr+2 C () d . (9.47)
k

Constatam ca avem doi parametri la dispozitie: r, gradul polinomului de


interpolare, grad care da ordinul de precizie al formulei (egal cu r + 1) si k, pa-
rametrul care da intervalul de integrare. Existenta acestor doi parametri permit
obtinerea de formule diferite, la acelasi ordin de precizie. In cele ce urmeaz
a d
am
unele formule mai des folosite obtinute direct din aplicarea formulelor generale
(9.46) si (9.47).

a) Pentru r = 3, k = 0, se obtine formula predictor a lui Adams


(A) h
ym+1 = ym + 24 (55fm 59fm1 + 37fm2 9fm3 ) ,
251 5 (4) 251 5 (4)
(9.48)
m = 720 h () = 720 h m + O(h6 ) .
9.4. Metode cu pasi legati 241

b) Pentru r = 3, k = 3, se obtine formula predictor a lui Milne


(M )
ym+1 = ym3 + 4h
3 (2fm fm1 + 2fm2 ) ,
14 5 (4) 14 5 (4)
(9.49)
m = 45 h () = 45 h m + O(h6 ) .

c) Pentru r = 5, k = 5, se obtine o formul


a de ordinul 6

ym+1 = ym + 3h
10 (11fm 14fm1 + 26fm2 14fm3 + 11fm4 ) ,
41 7 (6) 41 7 (6)
m = 140 h () = 140 h m + O(h8 ) .
(9.50)

Observatii.
1. Formulele prezentate n acest paragraf sunt explicite pentru c
a toti terme-
nii din dreapta semnului egal sunt cunoscuti. Formulele explicite cu pasi
legati se mai numesc formule predictor.
2. Formulele explicite multipas necesit a evaluarea unei singure functii fm la
fiecare pas, indiferent de ordinul de pecizie al formulei.

3. Erorile de trunchiere m au expresii simple care permit evaluarea erorii n


mod simplu. Spre exemplu, utilizand formulele Adams si Milne, se obtine,
cu o aproximatie de ordinul O(h6 )
(A) 251 (M ) (A)
ym+1 = ym+1 + 27 (ym+1 ym+1 ) + O(h7 ) . (9.51)

4. Formulele multipas nu pot lua startul singure; pentru start se utilizeaz


ao
formula pas cu pas, n general de acelasi ordin.

5. Luand n considerare si evaluarea erorii, economia de calcul pentru me-


todele cu pasi legati este nc
a si mai mare, n comparatie cu metodele cu
pasi separati.

9.4.2 Formule implicite


Deoarece polinomul de interpolare obtinut din (9.44) se extrapoleaz a n xm+1 ,
erorile m ale formulelor multipas explicite sunt relativ mari. Pentru reducerea
acestor erori, se folosesc formule implicite. Formulele implicite cu pasi legati se
mai numesc formule corector. Dup a cum vom vedea, formulele corector nu pot
fi folosite singure, ele avand nevoie de o valoare aproximativ a initial
a pe care o
mbunatatesc iterativ. Aceasta valoare aproximativ a este furnizata de o formula
predictor, ansamblul celor doua formule form and o formul a predictor-corector.
In scopul evitarii extrapolarii, la construirea polinomului de interpolare se
ia n consideratie si valoarea ym+1 . Se redefineste variabila (9.43) prin

x = xm+1 + h, 0 (9.52)
242 9. Rezolvarea ecuat
iilor diferent
iale

iar functia (x) se reprezint


a sub forma similar
a cu (9.44)

(x) (xm+1 + h) = m+1 + m+1 + . . . + (1)r C


r
r m+1 + Rr ,
(9.53)

restul fiind dat de relatia (9.45). Relatiile (9.42) si (9.53) ne conduc la


R0
ym+1 = ymk + h k1 (m+1 + m+1 + . . . + (1)r C r
r m+1 )d + m ,
0 r+1 r+1
m = (1)r+1 hr+2 k1 C
R
()d .
(9.54)
De aceasta data, expresiile pentru ym+1 sunt implicite deoarece m+1 de-
pinde de valoarea necunoscut a ym+1 , m+1 = f (xm+1 , ym+1 ). Pentru a vedea
modul de lucru efectiv, se considera mai nt
ai c
ateva formule uzuale

a) Formula corector a lui Adams se obtine pentru r = 3, k = 0


(A) h
ym+1 = ym + 24 (9fm+1 + 19fm 5fm1 + fm2 ) ,
19 5 (4) 19 5 (4)
(9.55)
m = 720 h () = 720 h m + O(h6 ) .

b) Formula corector a lui Milne se obtine pentru r = 3, k = 1


(M )
ym+1 = ym1 + h3 (fm+1 + 4fm + fm1 ) ,
1 5 (4) 1 5 (4)
(9.56)
m = 90 h () = 90 h m + O(h6 ) .

c) Pentru r = 5, k = 3, se obtine urm


atoarea formul
a de ordinul 6:

ym+1 = ym3 + 2h
45 (7fm+1 + 32fm + 12fm1 + 32fm2 + 7fm3 ) ,
8 8 (4)
m = 945 h7 (6) () = 945 h7 m + O(h8 ) .
(9.57)

Se constata ca toate formulele implicite au structura

ym+1 = a + b h f (xm+1 , ym+1 ) , (9.58)

unde a si b sunt constante. Relatia (9.58) reprezint


a o ecuatie n necunoscuta
ym+1 care poate fi rezolvata numeric iterativ. Conditia suficient a ca sirul de
iteratii
(k+1) (k)
ym+1 = a + b h f (xm+1 , ym+1 ) (9.59)

sa fie convergent este (vezi 3.2.1)

|b h f /y| < 1 (9.60)

si poate fi satisfacuta ntotdeauna pentru h suficient de mic. Problema este ca


precizia dorita sa se ating a astfel nc
at num
arul de evalu
ari ale functiei pant
a
9.5. Propagarea erorilor. Stabilitate. 243

f (x, y) s
a fie mai mic decat ordinul metodei, n caz contrar dispare avantajul
volumului de calcul mai redus al formulelor multipas, n raport cu formulele
(0)
pas cu pas. De aceea, pentru start se alege valoarea ym+1 dat a de o formul a
multipas explicita, de acelasi ordin, formul
a utilizat
a ca predictor, n timp ce
formula implicita (9.58) foloseste drept corector. O asemenea combinatie se
numeste formul a predictor-corector.
Metoda predictor-corector ne furnizeaz a posibilitatea de evaluare a erorii si
and formulele Adams (9.48) si
de a face astfel o noua corectie. Astfel, utiliz
(9.55), se obtine
(Ac) (Ac) (Ap)
ym+1 = ym+1 19
270 (ym+1 ym+1 ) + O(h6 ) . (9.61)

Diferenta dintre valorile date de cele dou a metode, ne permite sa apreciem


oportunitatea schimbarii pasului.
La fel, neglijand erorile de rotunjire, utiliz
and formulele predictor-corector
Milne de ordinul 4 (9.49) si (9.56), se obtine
(M c) (M c) (Ap)
ym+1 = ym+1 1
29 (ym+1 ym+1 ) + O(h6 ) . (9.62)

9.5 Propagarea erorilor. Stabilitate.


Dupa cum s-a vazut 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
etapa nu sunt amplificate la pasii urm atori de calcul se numeste stabil a. Trebuie
observat nsa ca aceast a definitie se aplic a numai pentru probleme corect puse,
adica pentru ecuatii diferentiale si conditii la limite pentru care solutiile exist a
si sunt stabile. O solutie este instabil a n sensul lui Hadamard dac a variatii mici
n parametri introduc variatii mari n solutie. Evident c a n asemenea cazuri
orice metoda numerica utilizata va conduce la erori necontrolabile.
Pe de alta parte, erorile absolute pot fi amplificate, dar n acelasi 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 cresterii valorilor solutiei, n modul. In acest caz, se poate spune c a
metoda este relativ stabil a.
Pentru a scoate n evidenta mai concret situatiile care pot apare, vom con-
sidera ca, la pasul x = xm , ecuatia de rezolvat are forma

y 0 = fm + am (x xm ) + bm (y ym ) f (x, y) , (9.63)

cu conditia ca pentru x = xm , y = ym , iar am , bm , fm sunt constante pe


intervalul (xm , xm+1 ). Vom presupune bm 6= 0, altfel problema se reduce la o
a. Ecuatia (9.63) are solutia exact
simpla integrala obisnuit a

y = ym Am ebm (xxm ) + Am + Bm (x xm ),
(9.64)
Am = fm /bm am /b2m , Bm = am /bm , bm 6= 0 .

Asa cum se observa, membrul drept din (9.63) contine primii 3 termeni din
dezvoltarea Taylor a functiei de dou
a variabile f (x, y). Dac
a f (x, y) este o
244 9. Rezolvarea ecuat
iilor diferent
iale

functie de gradul nt
ai n variabilele x, y, atunci expresia (9.64) este exact
a,
daca valorile ym sunt exacte. Pentru x = xm+1 , solutia (9.64) devine

ym+1 = ym Am ebm h + Am + Bm h . (9.65)

Sa comparam rezultatul (9.65) cu formulele Runge-Kutta de ordinul 4 si


Milne-predictor de acelasi ordin. Pentru ecuatia (9.63), formula Runge-Kutta
(9.22) da
(RK)
X4
(RK)
ym+1 = ym Am (bm h)n /n! + Am + B
m h + eRm , (9.66)
n=0

(RK)
eRm fiind eroarea de rotunjire cu care obtinem numeric valoarea ym+1 . S-a
folosit bara pentru a indica valorile aproximative. Pe de alt a parte, s-a avut
n vedere ca, la pasul x = xm , problema se rezolv a prin metoda Runge-Kutta
pentru o conditie initial
a alterat
a (y = ym ).
(RK)
Eroarea absolut a em+1 este, conform definitiei, diferenta ym+1 ym+1
5
(RK) (bm h) bm m
em+1 = e(RK)
m (Am Am )(ebm h 1) Am e m ) eRm .
+ (Bm B
5!
(9.67)
S-a folosit formula Taylor pentru a nlocui
X4 (bm h)5 bm m
(bm h)n /n! = ebm h 5! e , (xm , xm+1 ) . (9.68)
n=0

Prin sumare de la x = x0 la x = xm+1 , din (9.67) se obtine


m 
(bi h)5 bi

(RK)
X
em+1 = e0 bi h
(Ai Ai )(e 1) + Ai
e (Bi Bi )h + eRi .
i=0
5!
(9.69)
(RK)
Erorile initiale e0 and fi considerate nule, iar coeficientii Ai , Ai si
si eR0 put

Bi , Bi , egali, relatia (9.69) se poate scrie
m 
(bi h)5 bi

(RK)
X
em+1 = (1 ebi h )(Ai Ai ) Ai i )h + eRi
e + (Bi B . (9.70)
i=1
5!

Pe de alta parte, prin sumare, din (9.65) se obtine


m
X
(1 ebi h )Ai + Bi h .
 
ym+1 = y0 + (9.71)
i=0

Eroarea relativa m+1 va fi raportat


a la valoarea exact
a ym
(RK) (RK)
m+1 = em+1 /ym+1 . (9.72)

Din relatiile (9.70) si (9.71) se deduce c


a
9.5. Propagarea erorilor. Stabilitate. 245

1. Daca bm h (0, 1), atunci ebm > 1, unde bm = (f /x)m , eroarea


(RK)
absoluta em+1 creste n modul cu num arul m de pasi parcursi. Totodat
a creste
(RK)
valoarea ym+1 daca Am 6= 0. Prin urmare, eroarea relativ a m+1 poate fi mic a,
iar solutia relativ stabil
a. Cazul critic se produce pentru
00
Am = 0, ym = am + bm fm = 0 (9.73)

n care caz termenul exponential dispare din solutia exact a. Aceasta situatie se
poate produce pentru anumite conditii la limite. In fapt, anularea derivatei y 00
n fiecare punct conduce la o functie de gradul nt ai. Ca urmare, at at eroarea
(RK) (RK)
absoluta em+1 cat si cea relativa, m+1 pot creste oric at de mult, indiferent
de metoda numeric a folosit
a. De aceea se spune c a solutia, pentru conditia la
limita care satisface (9.73), este inerent instabil a numeric.
2. Daca bm h (1, 0), atunci ebm h < 1, iar solutia poate deveni instabil a
odata cu scaderea n modul a valorilor solutiei.
In continuare, vom arata particularit atile propag
arii erorilor pentru formu-
lele multipas. Pentru a aplica formula Milne (9.56) ecuatiei (9.63), vom scrie
(M )
fm+1 = fm + a
m h + bm ( (M )
ym+1 ym ) (9.74)

de unde, prin sumare, se obtine


m h i
(M ) (M )
X
fm+1 = f0 + i h + bi (
a yi+1 yi ) , i 0, m , (9.75)
i=0

bara indicand ca valorile se calculeaz


a cu erori de trunchiere si rotunjire. Pentru
ai =constant= a, bi =constant= b, din (9.75) se obtine
(M )
fm+1 = f0 + a
h(m + 1) + b(
ym+1 y0 ), m = 0, 1, 2, . . . . (9.76)

T
inand seama de (9.76), din formula Milne (9.56) se obtine urm
atoarea
(M )
ecuatie n diferente pentru ym
(M ) (M )
ym+1 4bh/3
(1 bh/3) (M )
ym (1 + bh/3)
ym+1 (9.77)
= 2h(f0 by0 ) + 2a h2 m .

Ecuatia n diferente (9.77) se rezolv a similar cu ecuatiile diferentiale cu


coeficienti constanti, neomogene. Astfel, ecuatia omogen
a (f
ara membrul drept)
admite solutii de forma ym = rm , numerele r fiind date de solutiile ecuatiei ca-
racteristice

(1 bh/3)r2 (4bh/3)r (1 + bh/3) = 0 . (9.78)

Se obtin solutiile
p
r1 = (2bh + 9 + 3b2 h2 )/(3 bh) p (9.79)
r2 = (1/r1 )(3 + bh)/(3 bh) = (2bh 9 + 3b2 h2 )/(3 bh) .
246 9. Rezolvarea ecuat
iilor diferent
iale

Solutia generala a ecuatiei (9.77) se obtine adunand la solutia ecuatiei omogene


o solutie particulara. Astfel, introducand si o eroare de rotunjire, eRm , rezulta
(M )
ym a + bf0 )/b2 m(
= C1 r1m + C1 r2m + y0 ( ah)/b + eRm . (9.80)

Pentru determinarea constantelor C1 si C2 , se pun conditiile


(
(M )
x = x0 , m = 0, y0 = y0 , eR0 = 0
(M ) (9.81)
x = x1 , m = 1, y1 = y1 ,

valoarea y1 fiind furnizata de o metoda pas cu pas sau de o alt


a metoda. Pe de
alta parte, solutia exact
a (9.65), pentru ai = a =constant si bi = b =constant,
devine

ym+1 = ym Am (eb h 1) h a/b . (9.82)


Inlocuind apoi Am din (9.64) si fm dintr-o relatie de tipul (9.76) din (9.82) se
obtine urmatoarea ecuatie n diferente finite

ym+1 ym eb h = [(a + bf0 )/b2 y0 ](eb h 1) ha/b + h (a/b)(eb h 1)m .

Solutia ecuatiei n diferente finite de mai sus este

ym = Keb hm + y0 m(a + bfo )/b + e0Rm , (9.83)

unde e0Rm este o constant a de rotunjire, iar constanta K se determin a din


conditia x = x0 , ym = y0 , e0R0 = 0. Rezulta solutia exact
a n absenta ero-
rilor de rotunjire

(a + bf0 ) b hm ah
ym = (e 1) m + y0 + e0Rm . (9.84)
b2 b
Se observa prezenta termenului exponential eb hm . Pe de alt
a parte, utiliz
and
conditia (9.81), ecuatia (9.80) devine
(M )
ym = 1

b2
(
a + b f0 )(r1m 1) + C2 (r2m r1m ) 1b a
h m + y0 + eRm . (9.85)

Impunand, pentru comparatie, conditia ca la primul pas erorile de trunchiere


sa fie neglijabile si lu = a, b = b, vom scrie
and n plus a
(M )
ym = y1 = 1
b2 (a + b f0 )(eb h 1) h a/b + e0R1 . (9.86)

Se deduce astfel expresia constantei C2 din solutia (9.85)


h i
a+bf0
3b h
C2 = 29+3b 2 h2 b 2 (r1 eb h ) + eR1 e0R1 =
h
a+bf0
 5 5  i (9.87)
3b h b h 6 6 0
= 29+3b 2 h2 b 2 180 + O(b h ) + eR1 eR1 .
9.6. Sisteme de ecuatii diferentiale. Ecuatii de ordin superior 247

In (9.87) s-a tinut seama ca dezvoltarile n serie Taylor ale functiilor r1 si ebh
5 5
coincid pana la termenii n b h . Mai precis
X4 (bh)0 b 5 h5
r1 = + + O(b6 h6 ), |b h| < 1 . (9.88)
i=0 i! 72
Eroarea absoluta n cazul metodei Milne-predictor este
e(M
m
) (M )
= ym ym = 1
b2 (a + b f0 )(eb hm r1m ) C2 (r2m r1m ) + e0Rm eRm ,
depinzand atat de r1 cat si de r2 (vezi (9.79)). Se observ a aparitia unui termen
suplimentar n ecuatia cu diferente Milne, legat de existenta a dou a solutii r1 ,
r2 ale ecuatiei n diferente (9.77), fata de solutia exacta (9.84). Dintre cele dou a
solutii, r1 este cea care urmeaza ndeaproape exponentiala ebh , n timp ce r2
este o solutie str aina.
Daca bh (0, 1), atunci r1 > 1, iar r2 av and dezvoltarea r2 = (1 bh/3 +
b2 h2 /18 + . . . ) este, n modul, subunitar (|r2 | < 1). Ca urmare, solutia proprie,
r1m , este preponderenta, iar erorile de trunchiere sunt proportionale cu |ebh r1 |,
daca (a + bf0 ) 6= 0. Solutia este relativ stabil a: eroarea relativ a |m | descreste.
Daca bh (1, 0), atunci termenul n r2m este preponderent (|r2 > 1) si
solutia este numeric instabil a, atat eroarea absolut a cat si cea relativa crescand
n modul.
Cazul critic este: a + bf0 = 0, a + bf0 6= 0, caz n care avem
+ bf0
 
3 bh a 0
C2 p
2 9 + 3b2 h2 b2 r1 + eR1 eR1 , (9.89)

iar solutia este instabila numeric, ca si n cazul metodei Runge-Kutta (instabi-


litate inerenta).

9.6 Sisteme de ecuatii diferentiale. Ecuatii de


ordin superior
Sistemele de ecuatii diferentiale ordinare se rezolv
a numeric prin extinderea unor
procedee utilizate la rezolvarea ecuatiei diferentiale de ordinul ntai. Aspecte
noi sunt introduse nsa de conditiile impuse pentru selectionarea solutiei. Din
acest punct de vedere distingem dou a categorii de probleme: (a) probleme cu
valori initiale (Cauchy); (b) probleme cu valori la limite. In ambele cazuri se
considera sistemul de ecuatii diferentiale adus la forma canonica, adic
a la forma
yi0 = fi (x, yi ), i 1, n , (9.90)
n fiind numarul de ecuatii, egal cu num arul functiilor necunoscute yi (x). Functiile
fi (x, yi ) pot contine pe langa variabila independent a x, toate necunoscutele yi ,
dar nu pot contine nici o derivata.
Ordinul sistemului de ecuatii diferentiale se obtine adun and ordinele tuturor
ecuatiilor din sistem. Numarul de conditii necesare pentru ca solutia s a fie unic
determinata 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 initiale


In acest caz, considerand un interval [a, b] pe care se construieste solutia, conditiile
sunt impuse ntr-un singur punct, uzual x = a. Combinatia de ecuatii diferentiale
cu conditii ntr-un sigur punct,

yi0 = f (x, y1 , , yn ), x = a, y = yi0 , i 1, n , (9.91)

se numeste problema Cauchy, sau problem a cu valori initiale. Se presupun


ndeplinite conditiile necesare pentru ca problema Cauchy s a admit a solutie
unica. Fie xi , i = 0, 1, . . . , N o partitie uniform
a a intervalului [a, b], x0 = a,
xN = b avand pasul h = (xN x0 )/N . Aplic and formula Runge-Kutta de
ordinul patru (9.22) pentru fiecare ecuatie a sistemului (9.90) se obtine

yi,m+1 = yi,m + h6 (Ki1 + 2Ki2 + 2Ki3 + Ki4 ), i 1, n , (9.92)

unde
Ki1 = fi (xm , yi,m ), Ki2 = fi (xm + h2 , yi,m + h2 Ki1 ),
h h (9.93)
Ki3 = fi (xm + 2 , yi,m + 2 K2 ), Ki4 = fi (xm + h, yi,m + hKi3 ) .
Ordinea de calcul a derivatelor este urm atoarea: se calculeaza Ki1 pentru toti
indicii i = 1, 2, . . . , n, apoi Ki2 , s.a.m.d. Plecand din punctul x0 cu valorile
initiale date de (9.91) se calculeaz a valorile yi,m pas cu pas.
Criteriile de modificare a pasului sunt similare cu cele din cazul unei singure
ecuatii diferentiale. Folosirea criteriului simplu const a n calculul raportului

Ki2 Ki3
r = sup 0.01 (9.94)
i Ki1 Ki2
a r 0.1, sau dublarea pasului dac
si njumatatirea pasului dac a r 0.001.
Criteriul calcului dublu cu pasii h si 2h consider a modelul (9.25) can-
a, dup
titatea
(h) (2h)
|yi yi |
= sup , (9.95)
i 2s 1
(h) (2h)
unde yi este calculat cu pasul h iar yi cu pasul 2h, s fiind ordinul metodei.
Pasul se pastreza dac a se afl
a ntr-un interval considerat dinainte. Limitele
pentru se stabilesc n functie de problema care se rezolv a. In cazul c
and se
6 4
lucreaza adimensional, (10 , 10 ) este un interval uzual, n functie de
precizia dorita si de calculator. In locul normei maxime din relatiile (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
(Ap) h
yi,m+1 = yi,m + 24 (55fi,m 59fi,m1 + 37fi,m2 9fi,m3 ) ,
(Ac) h
yi,m+1 = yi,m + 24 (9fi,m+1 + 19fi,m 5fi,m1 + fi,m2 ) , (9.96)
(Ac) 19 (Ac) (Ap)
yi,m+1 = yi,m+1 270 (yi,m+1 yi,m+1 ), i 1, n .
9.6. Sisteme de ecuatii diferentiale. Ecuatii de ordin superior 249

Conditia de convergenta a procedeului predictor-corector (vezi relatiile (8.7) si


(8.12)) este luata sub una din formele

h sup |fi /yj | < (1/n)(24/9); h |fi /yj | < (24/9), i, j 1, n , (9.97)

unde J = (fi /yj )i,j1,n este matricea jacobian a a functiilor pant


a.
Criteriul de mentinere sau de modificare a pasului l reprezint a p
astrarea
sub o anumita limita a diferentei de valori ntre formula predictor si formula
corector, spre exemplu
19 (Ac) (Ap)
270 sup |yi,m+1 yi,m+1 | < , (9.98)

cu = 10s , s fiind numarul de cifre semnificative exacte dorite n solutia


aproximativa. Daca s-a lucrat adimensional, norm andu-se rezonabil variabilele,
(106 , 104 ) pentru o precizie corespunz
and la 4 6 zecimale.

9.6.2 Probleme cu valori la limite


Consideram n cele ce urmeaza sistemul de ecuatii cu conditiile la limite

0 x = x0 , yj = yj,0 , j 1, n1 ,
yi = f (x, y1 , , yn ), (9.99)
x = xN , yk = yk,N , k 1, n2 .

Avem deci n1 conditii impuse la un cap at al intervalului si n2 conditii la cel


alalt
capat, cu n1 + n2 = n. Deoarece n punctul initial x = x0 nu sunt date toate
valorile functiilor yi,0 , i 1, n, startul nu poate fi luat. Metodele de rezolvare a
problemelor cu conditii la limite se mpart n dou a mari categorii: (a) metoda
tirului care se bazeaza pe transformarea problemei cu conditii la limite ntr-o
problema cu conditii initiale, prin estimarea valorilor lips a de la unul din capetele
intervalului n asa fel ncat sa fie ndeplinite conditiile la limit
a de la cel alalt
capat; (b) metode cu diferente finite n care se folosesc expresii cu diferente finite
pentru aproximarea derivatelor pe o diviziune a intervalului de integrare.

Metoda tirului.
Din punct de vedere al dificultatii rezolv
arii unei probleme cu conditii la limite,
distingem doua situatii pe care le vom trata separat: (a) probleme cu valori la
limite uniparametrice, cand n1 = 1 sau n2 = 1; (b) probleme cu valori la limite
cu doi sau mai multi parametri.

Probleme cu valori la limite uniparametrice. S a consider


am c
a, pentru
sistemul (9.90) conditiile (9.91) sunt de forma

x = x0 , yj = yj,0 , j 1, n 1 ,
(9.100)
x = xN , yn = yn,N ,
250 9. Rezolvarea ecuat
iilor diferent
iale

adica nu este cunoscut a valoarea yn,0 la x = x0 . Vom considera yn,0 ca


parametru si vom observa c a acesta trebuie determinat astfel nc at la x = xN
sa fie satisfacuta conditia din (9.100), adic
a este solutia ecuatiei

F () yn,N () yn,N = 0, yn,0 . (9.101)

Fie valoarea care satisface ecuatia (9.101). Pentru a o g asi numeric,


trebuie mai ntai localizat
a, adic
a trebuie g asite dou a valori k1 , k2 astfel
ncat F () sa-si schimbe semnul. Aceste valori se aleg prin ncerc ari, av
and n
vedere si eventuale alte informatii (s.e. de natur a fizic
a). Se introduce apoi
un sir iterativ folosind metoda coardei prezentat a n capitolul 3, adica pentru
fiecare pereche k2 , k1 , cu F (k2 ) F (k1 ) < 0 se determin a k cu relatia

F (k1 )(k1 k2 )
k = k1 . (9.102)
F (k1 ) F (k2 )

In iteratia urmatoare se atribuie valoarea k uneia din valorile k1 , k2 ast-


fel ncat sa se pastreze schimbarea de semn. Procedeul se opreste dac a sunt
ndeplinite conditiile |F ()| < F , sau |k k1 | < |k | + s , unde s este
valoarea introdusa pentru eventualitatea c and = 0.
Un caz particular l constituie ecuatiile diferentiale de ordinul doi3 de forma

y 00 = f (x, y, y 0 ), y(x0 ) = , y(xN ) = . (9.103)

In cazul n care f este de forma

f (x, y, y 0 ) = u(x) + v(x)y + w(x)y 0 , (9.104)

atunci ecuatia este liniar


a iar solutia este de forma

y(x) = y1 (x) + (1 )y2 (x) , (9.105)

unde y1 si y2 sunt dou a solutii obtinute pentru dou a valori diferite ale parame-
trului y 0 (x0 ), iar se determin a din conditia ca y(xN ) = rezult and

= [ y2 (xN )]/[y1 (xN ) y2 (xN )] . (9.106)

Cele doua solutii se pot obtine simultan, rezolv


and sistemul

y10 = y3 , y20 = y4 , y30 = f (x, y1 , y3 ), y40 = f (x, y2 , y4 ) ,


(9.107)
y1 (x0 ) = , y2 (x0 ) = , y3 (x0 ) = 1 = 0, y4 (x0 ) = 2 = 1 ,

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 ) obtinute prin integrare numeric a trebuie memorate n doi vectori pentru
a putea construi n final solutia cu relatia (9.105) folosind dat de (9.106).
3 Vezi paragraful 9.6.3 pentru ecuatii diferentiale de ordin superior.
9.6. Sisteme de ecuatii diferentiale. Ecuatii de ordin superior 251

In cazul n care ecuatia (9.103) este neliniar


a, n locul metodei coardei (9.102)
se poate folosi metoda Newton pentru rezolvarea ecuatiei (9.101), n care se
construieste sirul de aproximatii ale valorii dat de relatia
k+1 = k F (k )/F 0 (k ) , (9.108)
unde
F () yN () = 0, y 0 (x0 ) . (9.109)
Pentru determinarea derivatei functiei F , F 0 F/ = y(xN )/, se deri-
veaza functia y 00 data de (9.103) n raport cu
y 00 f x f y f y 0
= + + 0 . (9.110)
x y y
Notand u y/ si tinand cont c
a
y 00 2y 2
   
x y
= 0, = = = u00 , (9.111)
x2 x2
a y(x0 )/ = 0, y 0 (x0 )/ = 1, obtinem ecuatia diferential
si c a de ordinul
doi cu conditii initiale
f (x, y, y 0 ) f (x, y, y 0 )
u00 = u + u0 , u(x0 ) = 0, u0 (x0 ) = 1 . (9.112)
y y 0
Cu ales se rezolva numeric cu o metod
a pas cu pas sistemul de ecuatii
diferentiale
y10 = y2 , y20 = f (x, y, y 0 ), y30 = y4 , y40 = y3 (f /y) + y4 (f /y 0 ) ,
(9.113)
y1 (x0 ) = , y2 (x0 ) = , y3 (x0 ) = 0, y4 (x0 ) = 1 ,
unde y1 y, y3 u. Valoarea u(xN ) y3 (xN ) este tocmai F 0 (), astfel nc
at o
valoare mai buna pentru se poate calcula cu relatia (9.108). Ca test de oprire
se poate folosi conditia
|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 daca valoarea exact a este chiar = 0.
Pentru s = 0 si = 10s , conditia (9.114) este ndeplinit
a atunci cand k+1 si
k au s cifre semnificative identice.

Probleme cu valori la limite cu doi sau mai multi parametri.


In cazul cand problema are mai multi parametri dificultatile cresc; pasul esential
l reprezinta trecerea de la un parametru la doi parametri, mai departe extinde-
rea fiind evidenta. Pentru exemplificare sa presupunem sunt impuse conditiile

x = x0 , yj = yj,0 , j 1, n 2 ,
(9.115)
x = xN , yn1 = yn1,N , yn,N = yn,N .
252 9. Rezolvarea ecuat
iilor diferent
iale

Vom considera ca parametri valorile yn1,0 = 1 , yn,0 = 2 . Solutiile sistemului


(9.115) trebuie sa verifice sistemul de ecuatii


F1 (1 , 2 ) yn1,N (1 , 2 ) yn1,N =0,
(9.116)
F2 (1 , 2 ) yn,N (1 , 2 ) yn,N = 0 .

Cu yn1,N (1 , 2 ) si yn,N (1 , 2 ) s-au notat valorile functiilor yn1 respectiv


yn care se obtin prin integrare numeric a la x = xN cu parametrii 1 si 2 alesi .
Pentru a gasi solutia (1 , 2 ) care satisface conditiile (9.116) se poate aplica
una din metodele de rezolvare a sistemelor de ecuatii neliniare prezentate n
capitolul 8, sau se poate aplica o metod a de optimizare pentru functia scop

U (1 , 2 ) = 12 [F12 (1 , 2 ) + F22 (1 , 2 )] . (9.117)

Spre exemplu, utiliz and metoda gradientului (vezi 8.4), se scrie sirul de iteratii
k+1 = k k g k unde g este vectorul gradient, g k = U (k1 , k2 ) = J T F ,
J este jacobiana functiei vectoriale F = (F1 , F2 )T . Parametrul k > 0 se
determina optimizand descresterea functiei U n lungul directiei gradientului
negativ g.
Plecand dintr-un punct ales initial (01 , 02 ), este necesar
a cunoasterea ma-
tricei jacobian J0 pentru a g asi directia de descrestere. Cum n general este
imposibil de determinat expresia analitic a a jacobienei, aceasta se poate apro-
xima cu ajutorul diferentelor la dreapta
 
[F1 (10 + h1 , 20 ) F10 ]/h1 [F1 (10 , 20 + h2 ) F10 ]/h2
J0 = .
[F2 (10 + h1 , 20 ) F20 ]/h1 [F1 (10 , 20 + h2 ) F20 ]/h2
(9.118)

Procedeul este acelasi indiferent de num arul de parametri (n 2). Dac a


numarul de parametri este mai mare dec at 2, se recomand a o metod a de des-
crestere cvasi-Newton sau de gradient conjugat.
Vom observa ca num arul real de parametri nu poate dep asi 2 dac
a ordinul
sistemului n 4, 3 daca n 6, n general [n/2] (parte ntreag
a) deoarece putem
alege convenabil ca punct de plecare x0 sau xN , adic a punctul unde se dau cele
mai multe conditii.

Metode cu diferente finite.


Se bazeaza pe folosirea unei o retele de puncte de diviziune ale intervalului care
se stabileste nainte de integrarea ecuatiilor diferentiale. De regula nu se cunosc
dinainte zonele n care functiile necunoscute prezint a variatii mai rapide unde
nodurile retelei ar trebui s a fie mai dese. Desi exist a tehnici adaptive si pen-
tru metodele cu diferente finite, care constau n ndesirea retelei n zonele de
variatie rapida a functiilor necunoscute, acestea sunt mai complexe dec at cele
corespunzatoare metodelor pas cu pas folosite la metoda tirului, astfel nc at
metodele cu diferente finite se recomand a sa fie folosite pentru rezolvarea pro-
blemelor cu conditii la limit a a c
aror solutie nu prezint a zone de variatie rapid
a.
9.6. Sisteme de ecuatii diferentiale. Ecuatii de ordin superior 253

Fie un sistem de ecuatii diferentiale yi0 = fi (x, y1 , . . . , yn ) scris n forma


vectoriala

Y 0 = F (x, Y ) , (9.119)

cu conditiile la limita de forma (9.99). Se aproximez


a derivatele cu diferente
finite la dreapta

yi0 (xm ) = (yim+1 yim )/h + O(h), i 1, n, m 0, N 1 , (9.120)

sau, cu efecte benefice asupra preciziei, cu diferente centrate

yi0 (xm ) = (yim+1 2yim + yim1 )/(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 . Considerand spre exemplu schema cu diferente finite la dreapta, sistemul
(9.119) se scrie n forma

Y m+1 Y m = hF [ 21 (xm+1 + xm ), 12 (Y m+1 + Y m )] + O(h2 ) . (9.122)

Neglijand termenii O(h2 ), relatia (9.122) se scrie n forma

E m+1 = Y m+1 Y m hF [ 21 (xm+1 + xm ), 12 (Y m+1 + Y m )] = 0, m 0, N 1 ,


(9.123)

obtinand un sistem de n N ecuatii neliniare cu n (N + 1) necunoscute yim ,


pentru a carui rezolvare vom folosi metoda iterativ a Newton prezentat a la ??.
a (9.99) care uneori
Cele n ecuatii lipsa se completeaza folosind conditiile la limit
pot fi date n forma generala
L0j (x0 , y1 , . . . , yn ) = 0, j 1, n1 ,
(9.124)
LN k (x0 , y1 , . . . , yn ) = 0, k 1, n2 ,

unde L0j si LN k sunt expresii liniare sau neliniare care contin functiile necunos-
cute yi , i 1, n. Relatiile (9.124) se pun n aceasi form
a cu (9.123)

Ei0 0, i 1, n n1 , Ei0 = L0i (x0 , y1 , . . . , yn ), i n n1 + 1, n,


(9.125)
EiN +1 = LN i (x0 , y1 , . . . , yn ), i 1, n2 , EiN +1 0, i n2 + 1, n .

Asa cum se va vedea n continuare, este convenabil ca cele n1 conditii la limita


x = x0 sa fie plasate n vectorul E 0 pentru ultimele valori ale indicelui i, iar cele
de la limita x = xN pentru primele valori ale indicelui i. Ecuatiile (9.123) se
liniarizeaza folosind o dezvoltare n serie Taylor pentru functiiile de mai multe
variabile Eim+1 (y1m , . . . , ynm , y1m+1 , . . . , ynm+1 ), pentru care vom folosi notatia
vectoriala E m+1 (Y m , Y m+1 )

E m+1 (Y m m
, Y m+1 + Y m+1 ) P
= E m+1 (Y m , Y m+1 )+
Pn + Y m+1 n
+ i=1 (E /yi,m )yi,m + i=1 (E m+1 /yi,m+1 )yi,m+1 .
(9.126)
254 9. Rezolvarea ecuat
iilor diferent
iale

Se obtine un sistem de ecuatii liniare de forma


n n
X X Eim Eim
Ji,j yim + Ji,n+j yim+1 = Eim , Ji,j = m , Ji,n+j = .
j=1 j=1
yj yjm+1
(9.127)

Desi sistemul (9.127) este de regul a mare4 se poate rezolva foarte eficient cu
metoda eliminarii gaussiene dac a de tine cont de structura matricei sistemului
care contine elementele nenule grupate n blocuri de dimensiuni n 2n. Relatia
(9.128) ilustreaza structura sistemului liniar pentru n = 3 si N = 4, cu 2 conditii
la x = x0 , y1 (x0 ) = y10 , y2 (x0 ) = y20 si o conditie la x = xN , y1 (xN ) = y1N . Au
fost reprezentate numai elementele nenule. Pentru astfel de sisteme cu matrice
rare exista tehnici eficiente de optimizare a memoriei utilizate (vezi 5.1.11), cu
pretul unor calcule suplimentare.
Dupa cum am vazut la 8.2, metoda iterativ a Newton converge rapid dac a dis-
punem de un punct suficient de apropiat de solutie. Pentru obtinerea aproximatii
de start, se poate folosi o metod a pas cu pas cu care se integreaz a ecuatiile
diferentiale cu conditiile 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
acelasi sistem de ecuatii diferentiale care sufer a mici modific ari. In asemenea
cazuri, o solutie obtinut a poate fi folosit a ca punct de start pentru calculele
urmatoare.


y30

E30

x x x

x x x
y11


E11


x x x x x x
y21


E21


x x x x x x
y31


E31


x x x x x x
y12


E12


x x x x x x
y22
= E22


x x x x x x
y32


E32


x x x x x x
y13


E13


x x x x x x
y23


E23


x x x x x x
y33


E33

x x x x x x y2N E2N
x x x y3N E3N
(9.128)

9.6.3 Ecuatii diferentiale de ordin superior


Vom considera ecuatia diferential
a de forma

y (n) = E(x, y 0 , y 0 , . . . , y (n1) ) , (9.129)


4 Spre exemplu pentru cinci functii necunoscute si o discretizare cu 200 de noduri avem
1000 de ecuatii cu 1000 de necunoscute.
9.7. Sisteme cu sc
ari disparate 255

E fiind o functie care asigura existenta solutiei pe un interval [a, b] R.


Se observ a ca ecuatia (9.129) poate fi transformat
a ntr-un sistem de ecuatii
diferentiale de forma canonica (9.90), notand

y1 y, y2 y 0 , y3 y 00 , . . . , yn y (n1) . (9.130)

In acest caz, functiile 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 ecuatii


diferentiale. Vom observa ca problema cu valori initiale revine la cunoasterea
functiei y si a derivatelor pana la ordinul n 1 inclusiv n punctul x = x0 .

9.7 Sisteme cu sc
ari disparate
Sistemele de ecuatii diferentiale 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 corectii rapide n cazul
unor abateri de la traiectoria programat a. Un alt exemplu poate fi preluat n
cazul reactiilor chimice complexe cu o gam a larga de valori pentru vitezele de
reactie. In astfel de situatii, conditiile de stabilitate ale metodelor de rezolvare
impun pasi de integrare exagerat de mici si care nu sunt justificati de vitezele
de variatie ale unor functii necunoscute.
Pentru exemplificare, vom considera sistemul
 0
y1 = 998y1 + 1998y2 , y1 (0) = 1 ,
(9.132)
y20 = 999y1 1999y2 , y2 (0) = 0 ,

cu solutia y1 = 2ex e1000x , y2 = ex + e1000x . In cazul folosirii unei


metode explicite, termenul e1000x din solutia exact a impune un pas de integrare
h  1/1000 pentru asigurarea stabilit atii, chiar daca e1000x devine complet
neglijabil n comparatie cu e x
imediat ce ne dep am de origine. In astfel
art
de situatii, se recomanda folosirea unei formule implicite. In general, folosirea
unor formule implicite duce la conditii mult mai putin restrictive din punct de
vedere al stabilit atii. In cazul ecuatiilor diferentiale liniare, folosind o formul
a
implicita, se obtine o metoda neconditionat stabil a.
Se pot folosi formulele de tip predictor-corector prezentate la 9.4. O dificul-
tate suplimentara o constituie n acest caz startul metodei, care trebuie f acut
cu o metoda pas cu pas. Folosirea unei formule explicite ar duce la necesitatea
utilizarii 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

yim+1 = yim + hfi (xm+1 , ykm+1 ), i, k 1, n , (9.133)

obtinandu-se un sistem de ecuatii neliniare cu necunoscutele yim+1 , care se poate


liniariza dezvoltand n serie Taylor functiile de n + 1 variabile fi (xm+1 , ykm+1 )
256 9. Rezolvarea ecuat
iilor diferent
iale

si pastrand numai termenii liniari



n
X fi (xm , ykm )
yim+1 = yim + h fi (xm+1 , ykm ) + (yjm+1 yjm ) . (9.134)
j=1
yj

Obtinem astfel o metod a semi-implicit


a. Marimea 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 obtine o metod a de ordinul al doilea, vom scrie

yim+1 = yim + h2 [fi (xm , y m ) + fi (xm+1 , ym


m+1
)] . (9.135)

Liniarizand din nou obtinem



n m
h X fi (xm , y )
yim+1 = yim + fi (xm , ykm ) + fi (xm+1 , ykm ) + (yjm+1 yjm ) k
.
2 j=1
y j

Este posibila si obtinerea unor metode pas cu pas de ordine mai mari de 2 cu
pretul unor calcule laborioase, care nu ntotdeauna sunt justificate dac
a folosim
o liniarizare de forma (9.134) sau celei de mai sus.
2
Exemplul 1. Fie ecuatia diferential a y 00 = 4kxy 0 (4k2 x2 + m2 2k)y + m2 ekx ,
0
y(0) = 1, y (0) = m a. Se cere solutia pe intervalul [0, 1.6], pentru (a) a = 1, m =
15, k = 1 si (b) a = 13, m = 1, k = 0.
2
Rezolvare. Ecuatia are solutia y = [1 + a sin(m x)]ekx , deci vom putea compara
rezultatele numerice cu cele exacte. In figura 9.3 sunt reprezentate functiile y(x) si
y (6) (x) pentru k = 1. Rezultatele calculelor sunt date n tabelele 9.3 si 9.4, pentru (a),
respectiv (b). S-au folosit metodele Runge-Kutta-Gill, Adams si Milne cu pasii (a) h =
0.05, 0.02, 0.01, respectiv (b) h = 0.2, 0.1, 0.05. Pentru metodele predictor-corector
sunt date trei seturi de rezultate: P predictor, C1 o singur a corectie, C2 doua corectii.
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 evaluari ale
functiei pant a F pentru x = 1.6 care poate fi calculat cu relatia nF = sr+(N r)(1+c),
unde s este ordinul metodei pas-cu-pas folosit a pentru start, r este gradul polinomului
de interpolare folosit n formula multipas, N = (xmax xmin )/h este num arul de pasi,
iar c este num arul de corectii efectuate cu formula corector.
Pentru cazul (a), pasul h = 0.05 se dovedeste a fi prea mare. Spre exemplu,
eroarea absolut a n x = 0.4 pentru metoda Runge-Kutta este 8.9 103 . Expresia
erorii pentru o metod a de ordinul 4 este de forma e = Ch5 (4) (), unde C este o
constant a, iar (x) f (x, y(x)) = y 00 (x). Pentru exemplul considerat avem
2
(4) y (6) (x) = [120 + 720x +480x4 +64x6 + cos(15x)(8 313 300x 525 600x
2 x2
+2880x5 + sin(15x)(9 912 255 + 2 876 220x 53 520x4 +64x6 )]e ,

deci e(0.4) = C (3 107 ) (6.8 106 )


= 2.2C. Pentru acest pas metodele predictor-
corector dau rezultate foarte proaste. Pentru h = 0.01 si x = 1.61, eroarea absolut a
9.7. Sisteme cu sc
ari disparate 257

Figura 9.3: Graficele functiilor y, y (6) .

este de ordinul 103 la toate metodele folosite. Cresterea preciziei prin folosirea for-
mulelor implicite de tip corector nu este posibil a deoarece pasul este nc a prea mare
(relatia (9.60)). Pentru h = 0.01 iese n evident a superioritatea (din punct de vedere
al efortului de calcul) metodelor predictor-corector. Spre exemplu, folosind formulele
Milne cu 2 corectii, cu pretul a 484 evalu ari ale functiilor pant a, se obtine acelasi 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 corectie, rezultate bune se obtin cu pretul a numai
326 evalu ari, adica aproape de dou a ori mai putine evalu ari decat cu Runge-Kutta.
Pentru cazul (b), erorile absolute se mentin n limite normale (adic a O(h5 )) pentru
toate formulele aplicate. Derivata din expresia erorii absolute este (x) y (6) (x) =
(4)

13 sin(x), astfel c a putem folosi pasi de integrare mai mari. In Tabelul 9.4 sunt
date si erorile absolute (multiplicate cu 106 ) obtinute aplic and relatia (9.62), iar
1 (c) (p)
reprezint a valoarea corectiei din aceast a relatie, = 29 (ym+1 ym+1 ). Dup a cum se
observ a din relatiile (9.48) si (9.49) precizia formulei Adams-predictor este mai mare
decat a formulei Milne-predictor, iar din relatiile (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 corectii 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 acelasi cu cel dat de formula Runge-Kutta, dar cu un efort
de calcul cu aproximativ 30% mai mic, n timp ce folosirea unei singure corectii duce
la un efort de calcul cu 83% mai mic fat a de Runge-Kutta si rezultate acceptabile.
Metoda Runge-Kutta se dovedeste ns a mai stabil a n situatii dificile decat formulele
predictor-corector care sunt mai sensibile datorit a extrapol arii din formula predictor si
a procedeului de tip iteratie simpl a din formula corector a c arei conditie suficienta
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 informatie util a privind ordinul de m arime a
erorii absolute, n special n situatiile n care solutia nu are variatii puternice.
In tabelul 9.5 sunt datele referitoare la efortul de calcul necesar obtinerii unei
258 9. Rezolvarea ecuat
iilor diferent
iale

Tabelul 9.3: a = 1, m = 15, k = 1, erori absolute 104


M etoda x = 0.4 x = 0.8 x = 1.2 x = 1.6 nr.F
h = 0.05
RKG -89 -61 546 4750 128
Adams P -197 -1656 -3441 1446 41
C1 -740 -2732 -5517 -1818 70
C2 -55 -1009 -6492 -34264 99
M ilne P 50 1089 -44215 452606 41
C1 -475 1344 -45857 533875 70
C2 -10 -156 -1311 -8149 99
h = 0.02
RKG -3.6 -7.0 -3.55 66.9 320
Adams P -9.65 -39 -160 -673 89
C1 -6.61 -42 -183 -772 166
C2 8.4 16 -4.2 -272 243
M ilne P -4.8 -16.3 -49 -157 89
C1 -3.5 -16.7 -74 -239 166
C2 1.7 5.1 4.2 -43 243
h = 0.01
RKG -0.25 -0.54 -0.6 2.8 640
Adams P 0.028 -0.51 -4.8 -31 169
C1 0.210 -0.45 -5.2 -32 326
C2 0.640 1.8 1.4 -9.8 483
M ilne P -0.17 -0.42 -1.74 -8 169
C1 -0.02 -0.38 -2.18 -10 326
C2 0.13 0.34 0.46 -1.4 484

solutii aproximative cu precizie impus a. Pentru cazul (a) s-a impus o precizie relativ a
de 106 , iar pentru cazul (b), o precizie absolut a de 106 . 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 si Milne 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
eficienta 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 putina informatie 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 micsorarea pasului se face prin njum at
atire. Aplicarea relatiei (9.29)
este cu atat mai eficienta cu c at derivata (4) y (6) are variatii c
at mai mici. Aceeasi
observatiei este valabil
a si n ceea ce priveste estimarea pasului optim de integrare dat
de (9.32), unde este esential 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 obtin
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
informatii suplimentare privind solutia unui sistem de ecuatii diferentiale, 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 ecuatia diferential a f 000 + f f 00 = 0 cu conditiile la
0 0
limite pe intervalul [0, ], f (0) = 0, f (0) = 0, f () = 1. (Ecuatia este nt alnit
a la
calculul stratului limit a laminar incompresibil pe o plac a plana. Este cunoscut a sub
denumirea de solutia lui Blasius).
Rezolvare. Se scrie sistemul de ecuatii diferentiale echivalent, folosind notatiile
y1 = f (x), y2 = f 0 (x), y3 = f 00 (x). Sistemul obtinut este y10 = y2 , y20 = y3 , y30 = y1 y2
cu conditiile la limite y1 (0) = y2 (0) = 0, y20 () = 1. Prin urmare avem de rezolvat
o problem a bilocala. Un element suplimentar l constituie faptul c a intervalul pe care
se caut a solutia este infinit. In acest caz, putem proceda pe dou a cai: (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 bijectie); (b) se porneste calculul
cu un anumit pas, urm arindu-se dac a functiile y1 , y2 , y3 au tendinta 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 ana la x = 6. S-a obtinut y2 (6) 1 = 0.434162. Pentru y3 (0) = 0.60
s-a obtinut y2 (6) 1 = 0.177466, prin urmare s-a realizat o schimbare de semn. In
continuare, s-a aplicat metoda coardei. Rezultatele iteratiilor dup a parametrul =
y3 (0) si functia scop U () = y2 (6, ) 1 sunt date n tabelul 9.6. S-a folosit formula
Runge-Kutta de ordinul 4.
Criteriul de oprire a iteratiilor a fost |U ()| < . La iteratia a 4-a s-a realizat aceast a
conditie pentru = 104 . Cu y3 (0) = 0.469625 obtinut n aceast a a 4-a iteratie, s-au
calculat functiile y1 , y2 si y3 pentru diferite valori ale lui x (pasul h = 0.20), ale c aror
valori sunt date n tabelul 9.7.
Din tabelul 9.7 se observ a variatia lenta a functiilor y2 si y3 pentru x 3, ceea ce
justifica oprirea calculului la x = 6 (n loc de x ). Cresterea usoar a a functiei y2
peste valoarea 1 de la x = 5.4 la x = 6.0, sugereaz a o eventual a necesitate de crestere
a preciziei. Astfel, s-a mai efectuat o iteratie (a cincea) pentru obtinerea unei valori
mai precise pentru . Din tabelul 9.6 se obtine valoarea y3 (0) = 0.469604 ( = 105 .
Cu aceast a valoare mbun at
atit
a rezult a y2 (5.6) = 0.9999926 si y2 (6.0) = 1.000005,
precizie care poate fi considerat a cu totul satisf acatoare.
260 9. Rezolvarea ecuat
iilor diferent
iale

Tabelul 9.4: a = 13, m = 1, k = 0, erori absolute 106


M etoda x = 0.4 x = 0.8 x = 1.2 x = 1.6 nr.F
h = 0.2
RKG -67 -112 -106 -38 32
Adams P -67 -112 -941 -190 17
C1 210 476 22
C2 54 52 27
M ilne P -900 -481 17
C1 13 139 22
extrapolare -18 118 22
-1 0.8 22
C2 -61 -42 27
h = 0.1
RKG -4 -6 -6 -1 64
Adams P -30 -5 13 25
C1 11 22 23 38
C2 7 10 2 51
M ilne P -4 -36 -20 -2 25
C1 0.4 5 7 38
extrapolare -0.9 4 7 38
-0.09 0.3 0.5 38
C2 -1 -0.2 -1.3 51
h = 0.05
RKG -0.3 -0.4 -0.3 0.03 128
Adams P -1 -0.1 0.6 0.7 41
C1 0.3 1 1 0.8 70
C2 0.3 0.8 0.8 0.03 99
M ilne P -1 -0.9 -0.3 0.1 41
C1 -0.03 0.2 0.3 0.3 70
extrapolare -0.08 0.1 0.1 0.3 70
-0.01 0.01 0.02 0.02 70
C2 -0.05 0.08 0.09 -0.05 99

Tabelul 9.5: Numarul de evaluari ale functiei panta


M etoda RK4 KM RKF Adams M ilne
(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 2 U (1 ) U (2 )
0 0.20 0.600000 -0.434162 0.177466
1 0.20 0.483939 -0.434162 0.020252
2 0.20 0.471284 -0.434162 0.002388
3 0.20 0.469800 -0.434162 2.8267104
4 0.20 0.469625 -0.434162 3.3475105
5 0.20 0.469604 -0.434162 3.9646106

Tabelul 9.7: Functiile y1 , y2 , y3


x y1 y2 y3
0.0 0.0 0.0 0.469625
0.6 0.084392 0.280590 0.461758
1.2 0.333678 0.545273 0.410585
1.8 0.728912 0.761092 0.300455
2.4 1.231590 0.901101 0.167563
3.0 1.795654 0.969088 0.067715
3.6 2.385699 0.992919 0.019338
4.2 2.983684 0.998850 0.003870
4.8 3.583403 0.999893 0.000543
5.4 4.183392 1.000022 0.000054
6.0 1.783410 1.000034 3.7475106
262 9. Rezolvarea ecuat
iilor diferent
iale
263

Capitolul 10

Ecuatii diferentiale cu
derivate partiale

Ecuatiile diferentiale cu derivate partiale (sau pe scurt, ecuatii cu derivate


partiale - EDP) sunt ntalnite n mod inevitabil atunci c and se modeleaz a feno-
mene reale, a caror complexitate implic a, n general, determinarea unor functii
de doua sau mai multe variabile independente. Intr-adev ar, o descriere mai
apropiata de realitate a fenomenelor care se desf asoar
a n spatiu comporta cel
putin dou a variabile independente, iar urm arirea desfasur
arii lor poate necesita
introducerea unei noi variabile independente, timpul.
Diversitatea ecuatiilor si sistemelor de ecuatii diferentiale este extraordinar a,
iar conditiile la limite si initiale (al c
aror rol este deosebit de important) nu fac
decat sa adauge noi cazuri si tipuri de probleme de rezolvat. Nu este deci de
mirare ca n domeniul EDP (n special al ecuatiilor neliniare) teoria matematic a
nu este suficient de elaborata. Din aceste motive, abordarea numeric a, desi
capabila, n principiu, sa furnizeze date noi, nu poate fi n m asur
a sa tin
a
loc si de teorie, recomandandu-se o extrem a prudenta n validarea rezultatelor
264 10. Ecuat
ii diferent
iale cu derivate part
iale

obtinute n cazurile neacoperite suficient de teorie. Reconfirmarea rezultatelor


obtinute pe diverse c ai, suficient de distincte ntre ele, este o metod a utila,
poate singura n anumite situatii extreme, dar trebuie luat a cu titlu provizoriu,
testarea ulterioara ram an
and deschis a.
Ecuatiile cu derivate partiale pot fi clasificate n functie de mai multe criterii;
dupa ordinul derivatelor partiale, se clasific a n ecuatii de ordinul nt
ai, ordinul
al doilea, ordinul n; dup a caracterul de liniaritate se mpart n ecuatii liniare,
cvasi-liniare si neliniare; dup a tipul influentei domeniului de integrare asupra
solutiei ntr-un punct, se mpart n ecuatii eliptice, parabolice si hiperbolic;
dupa forma conditiilor la limit a nt
alnim probleme Dirichlet, Neuman si mixt.
In cele ce urmeaza, vom aborda unele tipuri de EDP mai uzuale, cu conditii
initiale si la limite pentru care teoria asigur a existenta si unicitatea solutiilor.

10.1 Ecuatii cu derivate partiale de ordinul I


Ecuatia cu derivate partiale de ordinul nt
ai se scrie sub forma
n
X u
Ai (x1 , . . . , xn , u) = B(x1 , . . . , xn , u) , (10.1)
i=1
xi

n care u este functia necunoscut a, xi , i 1, n variabilele independente, iar


functiile Ai , i 1, n si B depind cel mult de functia u (nu si de derivatele
partiale u/xi ). Dac a Ai si B nu depind de functia u ecuatia se numeste
liniara; daca B 0, ecuatia se numeste omogen a.
Rezolvarea ecuatiei cu derivate partiale (10.1) se reduce la rezolvarea unui
sistem de ecuatii diferentiale ordinare numit sistem caracteristic
dx1 dxn du
= ... = = . (10.2)
A1 (x1 , . . . , xn , u) An (x1 , . . . , xn , u) B(x1 , . . . , xn , u)

Solutia ecuatiei (10.1) este o suprafat a ndimensional a ntr-un domeniu n+1


n+1
R , de forma F (x1 , . . . , xn , u) = 0 sau u = f (x1 , . . . , xn ) care verific
a ecuatia
(10.1) si anumite conditii de selectie. Problema este studiat a complet pentru
cazul cand suprafata integral a ndimensional a trece printr-o suprafat a (n
1)dimensionala dat a n domeniul (n + 1)dimensional (problem a Cauchy).
Suprafata poate fi dat a sub forma intersectiei a dou a suprafete ndimensionale

F1 (x1 , . . . , xn , u) = 0
() . (10.3)
F2 (x1 , . . . , xn , u) = 0

In principiu, solutia general


a a sistemului de ecuatii diferentiale (10.2), sis-
tem de ordinul n, depinde de n constante arbitrare Ci , i 1, n si se poate scrie
sub forma

i (x1 , . . . , xn , u) = Ci , i 1, n . (10.4)
10.1. Ecuatii cu derivate partiale de ordinul I 265

Functiile i (x1 , . . . , xn , u) sunt determinate de forma sistemului caracteristic.


Suprafetele i = Ci se numesc suprafete caracteristice, iar intersectiile lor de-
pinzand de un singur parametru, se numesc linii caracteristice.
Conditiile (10.3), mpreuna cu (10.4) formeaz a un sistem de n + 2 ecuatii din
care, n principiu, prin exprimarea celor n + 1 variabile x1 , . . . , xn , u n functie
de Ci , i 1, n si introducerea lor n a (n + 2)-a ecuatie r amas a, se obtine o
relatie ntre parametrii Ci , sub forma

(C1 , . . . , Cn ) = 0 (10.5)

care, prin (10.4), da tocmai solutia F (x1 , . . . , xn , u) = 0 a problemei

(C1 , . . . , Cn ) = (1 , . . . , n ) F (x1 , . . . , xn , u) = 0 . (10.6)

In calculul numeric, solutia se caut a ntr-un anumit volum (n+1)dimensional


n+1
care contine suprafata data de (10.3). Se alege o diviziune convenabil aa
(k) (k) (k)
suprafetei . Valorile n noduri (x10 , . . . , xn0 , u0 ) , k = 1, 2, . . . , N , sunt
conditii initiale pentru sistemul de ecuatii diferentiale (10.2), ale c arui solutii
sunt liniile de camp ale vectorului de componente (Ai , i 1, n, B). Se obtin N
linii de camp ale suprafetei integrale.
Daca B 0 (ecuatie omogen a), sistemul (10.2) se simplific
a deoarece o inte-
grala prima este u = const. Ramane de rezolvat sistemul de ecuatii diferentiale
dx1 dxn
= ... = , (10.7)
A1 (x1 , . . . , xn , u0 ) An (x1 , . . . , xn , u0 )

u0 fiind data de conditia initiala (10.3). Din (10.7) se obtin liniile de c


amp ale
unui vector de componente Ai , i 1, n pe care u = const.

Scheme explicite.
O prima etapa n rezolvarea numeric a a unei ecuatii cu derivate partiale o con-
stituie discretizarea, care consta pe de o parte n divizarea domeniului cu aju-
torul unei retele de calcul, iar pe de alt
a parte n nlocuirea ecuatiei cu derivate
partiale cu o ecuatie mai simpla. Exist a mai multe metode pentru nlocuirea
ecuatiei cu derivate partiale: metode cu diferente finite, metode cu volume fi-
nite, metode cu elemente finite, metode spectrale. In acest capitol, vom prezenta
elementele de baza pentru rezolvarea numeric a a ecuatiilor cu derivate partiale
folosind metode cu diferente finite.
Consideram ecuatia unidimensional a a propag arii undelor
u u
+a = 0, x [0, 1], t [0, T ] , (10.8)
t x
unde a este o constanta pozitiva. Am folosit notatia uni u(xi , tn ). Pentru a
rezolva ecuatia (10.8), sunt necesare conditii initiale de forma

u(x, 0) = f (x) . (10.9)


266 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.1: Reteaua de calcul pentru ecuatia (10.8).

In multe cazuri sunt date si conditii la limit


a

u(0, t) = g0 (t), u(1, t) = g1 (t) , (10.10)

functiile f , g0 si g1 fiind date. Pentru a rezolva numeric ecuatia (10.8), se


mparte domeniul dreptunghiular de dimensiuni 1 si T cu ajutorul unei retele
cu pasi egali, pentru simplitate, h pe directia Ox si k pe directia Ot, ca n figura
10.1. Una din modalit atile de a obtine o ecuatie cu diferente finite este de a
folosi dezvoltarea n serie Taylor a functiei u(x, t) n jurul punctului (xi , tn )

u(xi , tn )
u(xi1 , tn ) = u(xi , tn ) h + O(h2 ), (10.11)
x
u(xi , tn )
u(xi , tn+1 ) = u(xi , tn ) + k + O(k 2 ) ,
t
unde xi = ih, i 0, I, tn = nk, n 0, N , h = 1/I, k = T /N . Rezult
a
n n
u(xi , tn ) u uni uni1 u un+1 uni
= + O(h), = i + O(k) .
x x i h t i k
(10.12)

Neglijand termenii O(k) si O(h), rezult


a ecuatia n diferente finite

vin+1 = vin + c(vi1


n
vin ), i 1, I, n 0, N , (10.13)

unde cu vin s-a notat valoarea aproximativ a a functiei u(ih, nk), iar c = ak/h
este cunoscut sub denumirea de num ar Courant1 . Relatia (10.13) este o schem a
a cu diferente finite, deoarece valorile vin+1 se determin
explicit a direct, folosind
numai valorile vin de la momentul de timp anterior. Valorile vin sunt aproxi-
mative deoarece din dezvolt arile (10.11) am folosit numai termenii de ordinul
10.1. Ecuatii cu derivate partiale de ordinul I 267

Figura 10.2: Rezultate obtinute cu schema explicita (10.13).

nt
ai. Spunem ca formulele (10.12) au ordinul ntai de precizie. Observ
am cum
a vin+1 = vi1
pentru c = 1 se obtine solutia exact n
.
Exemplu. Vom rezolva ecuatia
u u
+ = 0, (10.14)
t x
cu conditiile initiale si la limit
a

u(x, 0) = 0, 0 < x 1, u(0, t) = 1, t 0 . (10.15)

La momentul initial de timp t = 0 functia necunoscut a u este nul a pentru toate


valorile x din domeniul de calcul, mai putin valoarea x = 0 unde exist a o perturbatie
u = 1. Aceast a perturbatie se va propaga n timp si spatiu. Rezultatele obtinute
cu schema explicit a (10.13) sunt date n figura 10.2. Se observ a diferente mari ntre
rezultatele obtinte cu retele diferite. Desi ar fi fost de asteptat ca cele mai bune
rezultate sa fie obtinute pentru k = 0.01, acestea se obtin pentru h = 0.1 (k/h = 1).
Rezultate slabe sunt obtinute pentru k = 0.1, h = 0.01, care difer a mult de cele
obtinute cu k = 0.1, h = 0.1. Desi pasul mai mic h = 0.01 pe directia Ox nsemn a
o aproximare mai bun a a derivatei spatiale si ne-ar ndrept
ati s
a speram la rezultate
mai bune, acest lucru nu se nt ampla, ba din contra, rezultatele nu mai au nici o
semnificatie fizic
a. Asa cum vom vedea mai departe, acest lucru se datoreste faptului
a schema (10.13) este instabil
c a pentru valori k/h > 1.
Dupa cum am vazut din exemplul precedent, folosirea unei retele foarte
fine (altfel spus, norma retelei este foarte mic
a) nu este ntotdeauna suficient
a.
1 Dup
a matematicianul Richard Courant (1988-1972) care a avut o contributie important a
n domeniul metodelor numerice pentru rezolvarea ecuatiilor neliniare cu derivate partiale.
268 10. Ecuat
ii diferent
iale cu derivate part
iale

Reteaua de calcul trebuie de multe ori s a ndeplineasc


a anumite conditii pentru
ca o schema cu diferente finite s
a fie convergenta.

Definitie. O metoda cu diferente finite este convergenta, daca solutia obtinut


a
cu ajutorul ecuatiei cu diferente converge c
atre solutia exact
a atunci c and
norma retelei tinde la zero.

inand cont de (10.2), caracteristicile ecuatiei (10.8) sunt date de


T

dt = dx/a , (10.16)

adica drepte de panta dt/dx = 1/a. Conditia de convergent a pentru schema


explicita (10.13) este este dat a de criteriul CFL (Courant-Friederichs-Lewy)
care impune ca domeniul de influent a numeric a s
a includa domeniul de influent
a
a (fig.10.1; vezi si 10.2.3, fig.10.15). Domeniul de influent
fizic a a punctului B
este format din totalitatea punctelor care primesc informatie din B. Domeniul
de influenta fizica este marginit la dreapta de BD, n timp ce domeniul de
influenta numerica este m arginit la dreapta de BA. Schema explicit a (10.13)
este convergenta deci dac a reteaua ndeplineste conditia

0 < c ak/h 1 . (10.17)

Daca conditia (10.17) nu este ndeplinit a, schema (10.13) nu este convergent


a
deoarece nu este stabil a (vezi par. 43).
Daca pentru aproximarea derivatei spatiale n locul diferentei la st anga
(10.12) folosim diferente la dreapta
n n
u uni+1 uni u un+1 uni
= + O(h), = i + O(k) , (10.18)
x i h t i k

obtinem

vin+1 = vin + c(vin vi+1


n
). (10.19)

Utilizand schema (10.19) pentru rezolvarea ecuatiei (10.14), valorile vin+1 pentru
toate momentele de timp r am an egale cu valorile initiale vi0 , deoarece schema
(10.19) nu permite propagarea informatiei de la st anga la dreapta, ci numai de
la dreapta la stanga. 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 spatial a folosind di-
ferente centrate
n
u un uni1
= i+1 + O(h2 ) , (10.20)
x i 2h

obtinandu-se

vin+1 = vin + (c/2)(vi1


n n
vi+1 ), (10.21)
10.1. Ecuatii cu derivate partiale de ordinul I 269

Figura 10.3: Rezultate obtinute pentru ecuatia (10.14), cu schemele explicite (10.21)
si (10.22) pentru t = 0.5.

schema care este instabila pentru orice valoare a num arului Courant c. Ob-
servam cum un ordin mai mare n aproximarea derivatelor partiale, nu nseamn
a
neaparat precizie mai buna.
O schema explicita des ntalnit
a este schema Lax-Wendroff dat
a de

vin+1 = (1 c2 )vin 2c (1 c)vi+1


n n
+ 2c (1 + c)vi1 , (10.22)

a vin+1 =
care are ordinul de precizie O(h2 ). Pentru c = 1 se obtine solutia exact
n
vi1 , la fel ca la schema (10.13).
Exemplu. In figura (10.3) sunt date rezultatele obtinute la momentul de timp
t = 0.5 pentru ecuatia (10.14) rezolvat
a cu schemele explicite (10.21) si (10.22). Re-
zultatele obtinute cu schema (10.21) sunt proaste chiar si pentru h = k = 0.05, n timp
ce rezultate foarte bune se obtin cu schema (10.22) pentru h = k = 0.05, acceptabile
pentru h = 0.05,k = 0.01, si proaste pentru h = 0.05, k = 0.1 deoarece schema este
instabil
a.

Scheme implicite.
Convergenta conditionata este o caracteristica a schemelor explicite si impune
adeseori pasi de timp foarte mici. Pentru a evita acest neajuns, se folosesc
schemele implicite, n care derivatele spatiale se aproximeaza folosind valorile
aproximative vi nu la momentul n, ci la momentul n + 1,
n+1
u un+1
i+1 ui
n+1
= + O(h) . (10.23)
x i h
270 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.4: Rezultate obtinute pentru ecuatia (10.14), cu schemele implicite (10.24)
si (10.25) pentru t = 0.5.

Se obtin ecuatiile cu diferente finite

vin+1 = (cvi1
n+1
+ vin )/(1 + c), i = 1, 2, . . . . (10.24)

Schema (10.24) este neconditionat convergent a.


O alta schema implicit
a este cea atribuit
a lui Wendroff, dat
a de relatia

vin+1 = vi1
n
+ 1c n
1+c (vi
n
vi1 ), (10.25)

care este de asemenea neconditionat convergent


a.
Exemplu. In figura (10.4) sunt date rezultatele obtinute la momentul de timp t =
0.5 pentru ecuatia (10.14) rezolvat
a cu schemele implicite (10.24) si (10.25). Am
andou
a
schemele sunt convergente pentru toate valorile h si k. Rezultate foarte bune s-au
obtinut cu schema (10.25) pentru h = k = 0.05 si acceptabile n rest.

10.2 Ecuatii cu derivate partiale de ordinul II


Vom considera ecuatia cu derivate partiale de ordinul doi cvasiliniar
a de forma
n n
X 2u X u
Ai + Bi +C =0 , (10.26)
i=1
x2i i=1
xi

cu Ai , Bi , C = f (x1 , . . . , xn , u). Forma (10.26) nu contine derivate mixte (este


o form a canonic
a) si se poate obtine prin schimb ari de variabile adecvate, dupa
cum se va putea vedea n continuare. Ecuatia (10.26) este de tip
10.2. Ecuatii cu derivate partiale de ordinul II 271

(a) eliptic, daca toti coeficientii Ai (x1 , . . . , xn , u), i 1, n au acelasi semn;


at Aj = 0, Ai 6= 0 (i 6= j) si
(b) parabolic, daca exista un indice j astfel nc
Bj 6= 0;
(c) hiperbolic, daca toti coeficientii Ai au acelasi semn, cu exceptia unuia care
are semn opus.

Aceasta clasificare este important a, deoarece este legata de modul n care


un punct din domeniu este influentat de (comunic a cu) punctele din vecin
atate.
In cazul ecuatiei de tip eliptic, punct este influentat de toate punctele din
orice vecinatate (disc, bula) a lui. Un exemplu tipic de ecuatie de tip eliptic,
este ecuatia lui Laplace
2u 2u 2u
u = + 2 + 2 =0. (10.27)
x2 y z
Datorita influentei reciproce o problema de tip eliptic nu se poate rezolva nu-
meric decat simultan pentru toate punctele din domeniu. Conditiile la limit a n
acest caz se impun pe frontiere nchise.
In cazul ecuatiei de tip parabolic exist
a posibilitatea unui mars n calculul
numeric, n directia xj pentru care Aj = 0. Ecuatia se scrie sub forma

u u 2 u
Bj = F (x1 , . . . , xn , u, , ), i 1, n, i6=j , (10.28)
xj xi x2i
iar problema se rezolva simultan numai pentru punctele situate pe suprafetele
xj = const, nu pentru toate nodurile din domeniu, ceea ce simplific a esential
calculul. Problemele cu ecuatii de tip parabolic sunt comparativ mai simple
(la acelasi numar de variabile) dec at cele cu ecuatii de tip eliptic. Exemplu
tipic de ecuatie de tip parabolic, este ecuatia de transmitere a c
aldurii n regim
nestationar
u 2u 2u
= + 2 , (10.29)
t x2 y
t fiind timpul. Ecuatia (10.29) n trei variabile independente (x, y, t) este, n ge-
neral, mai usor de rezolvat numeric dec at ecuatia (10.27) n variabilele (x, y, z).
In cazul ecuatiei de tip hiperbolic, exista puncte care nu se pot influenta
reciproc. Un exemplu l reprezint a miscarile supersonice, unde perturbatiile
mici sunt limitate la interiorul unui con, denumit con Mach. Prin urmare, n
rezolvarea numerica trebuie evitat a comunicarea numeric a a nodurilor care nu
comunica fizic ntre ele. Un exemplu tipic de ecuatie de tip hiperbolic este
ecuatia undelor
2u 2u
2
= a2 2 , (10.30)
t x
a fiind viteza de propagare a undei (a = const). In cazul ecuatiilor hiperbolice
exista mai multe directii 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 plecand de la o stare initial a. Problemele pot include ns a, pe lang a


conditii initiale, si conditii la limite caz n care solutiile sunt esential diferite.
Pentru exemplificare consider am ecuatia

a uxx + b uxy + c uyy = f , (10.31)

unde ux u/x, uy u/y, uxx 2 u/x2 , uxy 2 u/xy, uyy


2 u/y 2 , iar a, b, c si f sunt functii de x, y si u. Se cunosc valorile functiei
u si ale derivatelor ux si uy pe curba si sub aceasta (figura 10.5). Se pune
problema daca aceste valori cunoscute sunt suficiente pentru a putea determina
valorile derivatelor de ordinul al doilea, uxx , uxy si uyy . Vom scrie

d(ux ) = uxx dx + uxy dy


(10.32)
d(uy ) = uyx dx + uyy dy .

Ecuatiile (10.31) si (10.32) formeaz


a sistemul

a b c uxx f
dx dy 0 uxy = d(ux ) . (10.33)
0 dx dy uyy d(uy )

Solutia sistemului (10.33) exist


a si este unic
a dac
a determinantul matricei sis-
temului este nenul, adica

a(dy)2 b dx dy + c(dx)2 6= 0 . (10.34)

at a m2 b m + c = 0, atunci
Daca curba are panta m = dy/dx astfel nc
sistemul (10.33) este nedeterminat, necunoscutele uxx , uxy , uyy neput
and fi
determinate n mod unic.
Ecuatia (10.34) poate avea:
10.2. Ecuatii cu derivate partiale de ordinul II 273

a b2 4 a c > 0; n acest caz


(a) doua radacini reale distincte, m1 6= m2 , dac
ecuatia este de tip hiperbolic;
a b2 4 a c = 0; ecuatia este
(b) doua radacini reale confundate, m1 = m2 , dac
de tip parabolic;
a b2 4 a c < 0; ecuatia este de tip
(c) doua radacini complex conjugate, dac
eliptic.

Nedeterminarea care se obtine n cazul n care este o curb a caracteristic


aa
unei ecuatii de tip hiperbolic sugereaz a ideea ca este posibil ca pe aceasta curba
ecuatia (10.31) sa poata fi nlocuit
a cu o ecuatie mai simpl a. Dup a cum vom
vedea la 10.2.4, ecuatia cu derivate partiale de ordinul al doilea se poate nlocui
pe o curba caracteristica cu o ecuatie diferential
a ordinara, mult mai simplu de
rezolvat numeric.

10.2.1 Ecuatii cu derivate partiale de tip parabolic


Vom considera cea mai simpla ecuatie de tip parabolic sub forma

u 2u
= . (10.35)
t x2
Ecuatia (10.35) este un caz particular al ecuatiei (10.31), cu y t, a = 1, b = 0,
c = 0, f = 0. Avem b2 4ac = 0, deci ecuatia este de tip parabolic.
Exemplu. Ecuatia (10.35) se nt alneste n transmiterea c aldurii n regim nesta-
tionar. Absenta constantelor fizice n (10.35) se explic a prin faptul c a s-au introdus
variabile adimensionalizate: u, temperatura adimensionalizat a, t, x timpul si coor-
donata spatial
a, de asemenea adimensionalizate. Transferul c aldurii printr-o bar a n
care una din dimensiuni este mult mai mare dec at celelelalte doua si deci fenomenul
se poate considera unidimensional, n regim nestationar, este descris de ecuatia

cp T 2T
= , (10.36)
t x2
unde este densitatea materialului n kg/m3 , cp c a n j/kg K, iar
aldura specific
a, j/m grad. Ecuatia (10.36) are conditiile initiale si la
este conductivitatea termic
limite
T (x, 0) = F (x), x [0, L]
(10.37)
T (0, t) = G0 (t), T (L, t) = G1 (t), t 0 .

Din punct de vedere fizic, F (x) reprezint a distributia de temperatur a ntr-o bar a de
lungime L, la momentul initial t = 0, iar G0 (t) si G1 (t) temperaturile la care se mentin
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, adica
derivata T /x, de regul a nul. Functiile G0 si G1 sunt, n cazul general, functii de
timp, n timp ce functia F (x) este n general functie de coordonata spatial a x. Vom
lua n considerare pentru simplitate n cele ce urmeaz a cazul n care functiile G0 si G1
sunt constante, G0 = T0 , G1 = T1 .
274 10. Ecuat
ii diferent
iale cu derivate part
iale

Se introduc coordonata adimensionalizat


ax si temperaturatura adimensionalizat
a
u prin relatiile
= x/L, u = (T T1 )/(T0 T1 ) .
x (10.38)
Ecuatia (10.36) devine
cp 2 u 2u
L = . (10.39)
t x2
Variabila adimensionalizata pentru timp este sugerata 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 numa-
rului de parametrii, iar valorile variabilelor dependente si a functiilor necunoscute au
acelasi ordin de marime.
Se obtine n final ecuatia (10.35). In continuare renunt
am la notatia cu bar a
pentru variabilele adimensionalizate.
Ecuatia (10.35) se rezolv
a pentru urm
atoarele conditii:
(a) conditii initiale (t = 0)
u(x, 0) = f (x), x [0, 1] ; (10.41)

(b) conditii la limite (x = 0; x = 1)


u(0, t) = g0 (t), u(1, t) = g1 (t), t 0 . (10.42)

In relatiile (10.41) si (10.42), f (x), g0 (t) si g1 (t) sunt functii date.


Metoda de rezolvare numeric a consta n mpartirea domeniului dreptunghiu-
lar (figura 10.6) de dimensiuni 1 si T (durata pe care urm arim desf asurarea
fenomenului) n subdiviziuni prin noduri cu pasi egali2 , h n directia x si k n
directia t
h = 1/I, k = T /N , (10.43)
I si N fiind 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.
Ecuatia (10.35) se va scrie n noduri, aproxim and derivatele partiale cu
diferente finite. Aceast a operatie se numeste discretizare (cu diferente finite)
deoarece valorile functiei se vor calcula doar n noduri, adic a pe o multime
discreta de puncte.
Deoarece calculul numeric ne va furniza doar valori aproximative pentru
functia u, vom scrie
u=v+w , (10.44)
v reprezentand valorile aproximative ale functiei u, iar w eroarea.
2 Folosirea diviziunilor echidistante duce la simplificarea relat
iilor ulterioare, nefiind obli-
gatorie.
10.2. Ecuatii cu derivate partiale de ordinul II 275

Figura 10.6: Discretizarea ecuatiilor parabolice.

Scheme explicite.
Aproximand derivatele partiale cu diferente finite sub forma3

(vin+1 vin )/k = (vi1


n
2vin + vi+1
n
)/h2 , (10.45)

se obtine o expresie explicit


a pentru valoarea functiei la momentul de timp n + 1
n functie de valorile la momentul anterior n

vin+1 = vi1
n
+ (1 2)vin + vi+1
n
, (10.46)

unde am notat cu parametrul retelei

= k/h2 . (10.47)

Se observa ca pentru calculul valorii vin+1 sunt necesare trei valori la momen-
n
tul n: vi1 , vin si vi+1
n
. Pentru n = 0, aceste valori sunt cunoscute din conditiile

initiale si la limite. Intr-adevar, din (10.46), (10.41) si (10.42) se obtine

vi1 = fi1 + (1 2)fi + fi+1 , i 1, I 1


(10.48)
v01 = g0 (k); vI1 = g1 (k); vi0 = f (xi ) .

In acest fel, calculul poate continua pas cu pas n directia axei timpului.
Relatia (10.46) este explicita deoarece sistemul de I + 1 ecuatii care se obtine
pentru i 0, I este practic rezolvat. R amane de studiat problema convergentei
metodei explicite (definitia convergentei a fost dat a la 41).
In cazul de fata, trebuie studiat
a comportarea solutiei dat a de schema ex-
plicita (10.45) sau (10.46) cu conditiile la limite si initiale (10.48).
3 Aproximarea se face cu ajutorul dezvolt arii n serie Taylor, dup
a cum se va vedea n
continuare c
and se va analiza convergenta schemei.
276 10. Ecuat
ii diferent
iale cu derivate part
iale

Intr-un punct oarecare (ih, nk), ecuatia exact


a (10.35) se scrie

(u/t)ni = ( 2 u/x2 )ni . (10.49)

Derivatele partiale din (10.49) se vor exprima cu ajutorul dezvolt arilor n serie
Taylor ale valorilor functiei u(x, t) n puncte vecine. Astfel,
n 2 n 3 n
uni1 = uni h (u/x)i + h2 2 u/x2 i h6 3 u/x3 i +
4 n h5
n (10.50)
+ h24 4 u/x4 i 120 5 u/x5 i + O(h6 ) ,

n k2
n
un+1
i = uni + k (u/t)i + 2 2 u/t2 i
+ O(k 3 ) , (10.51)

de unde rezulta
n n
(u/t)i = k1 (un+1
i uni ) k2 2 u/t2 i + O(k 2 ) ,
n 2 n (10.52)
2 u/x2 i = h12 (uni1 2uni + uni+1 ) h12 4 u/x4 i + O(h4 ) .

S-a presupus ca derivatele partiale ale functiei u n raport cu variabilele t, x


sunt definite pana la ordinele necesare. Cu ajutorul relatiilor (10.52), ecuatia
(10.49) conduce la sistemul

un+1
i = uni1 + (1 2)uni + uni+1 + zin , i 1, I 1, n 0, N . (10.53)

Fata de ecuatiile (10.46) pentru valorile aproximative n noduri vin , sistemul


(10.53) pentru valorile exacte uni contine reziduul zin av
and expresia

zin /k = (k/2)( 2 u/t2 )ni (h2 /12)( 4 u/x4 )ni + O(k 2 ) + O(h4 ) . (10.54)

Scazand relatiile (10.53) si (10.46), se obtine pentru eroarea w definit


a de (10.44)

win+1 = wi1
n
+ (1 2)win + wi+1
n
+ zin . (10.55)

Conditia de convergent
a a schemei cu diferente, se poate formula sub forma

win 0, c
and I, N . (10.56)

Pentru a stabili n ce conditii se realizeaza (10.56), vom urm ari comportarea


modulelor erorilor maxime. Din (10.56) se obtine pentru > 0
n+1 n
+ |1 2| |win | + wi+1
n
w wi1 + |zin | . (10.57)
i

Notam cu wn = max |win |. Inegalitatea (10.57) fiind adev


arat
a pentru orice i,
i
este adevarata si pentru acel imax care realizeaz a maximul modulului; valoarea
acestui imax fiind necunoscut a, o vom nota tot cu i. In acest fel, din (10.57) se
obtine succesiv
n
wn+1 wi1 + |1 2| |wn | + wn + |z n | ,
i i+1 i
wn+1 (2 + |1 2|)wn + z n , unde z n = max |zin | . (10.58)
i
10.2. Ecuatii cu derivate partiale de ordinul II 277

Pentru ca eroarea wn sa nu creasc a de la un moment de timp n la momentul


urm
ator n + 1, este necesar si suficient ca

2 + |1 2| 1 0 < 1/2 . (10.59)

Cu conditia (10.59), se obtine

wn+1 wn + z n , n 0, N . (10.60)

Sumand egalitatea (10.60) termen cu termen de la 0 la N 1, si efectu


and
reducerile, rezulta
N 1
X zmax
wn w0 + z n w0 + N zmax = w0 + T , (10.61)
n=0
k

unde w0 reprezinta eroarea la momentul initial t = 0, iar zmax = max z n . Deo-


n
arece problema se rezolva pentru conditiile initiale si la limite impuse, eroarea
w0 este nula (w0 = 0); n orice caz, chiar dac a n conditiile impuse sunt erori,
acestea nu se datoreaza metodei.
Cu aceasta observatie si tinand cont de (10.54), se obtine

lim wn 0, wn 0, c
and N , (10.62)
N

adica metoda explicita cu diferente finite converge, cu conditia (10.59). Con-


vergenta conditionata este o situatie general nt
alnit
a la metodele explicite si
conduce la cresterea volumului de calcul pentru obtinerea unei precizii cores-
punzatoare. Spre exemplu, pentru h = 0.01, sunt necesari cel putin 5000 de
pasi pentru T = 1 (k 5 105 ). In acelasi timp, este interesant de observat
c
a, pentru k fixat, micsorarea pasului h dup a directia x, poate duce la rezutate
eronate daca nu se respecta conditia 1/2.
Urmarind (figura 10.6), vom ncerca s a d
am o explicatie calitativa a fenome-
nului de convergent a conditionat
a pentru schemele explicite. Astfel, cunosc and
valorile functiei u pe linia AB, se pot calcula valorile aproximative vin pen-
tru punctele din interiorul triunghiului ABP , f ar
a a utiliza valorile impuse de
conditiile la limite. Altfel spus, punctul P primeste influent a (n procesul nu-
meric de calcul) numai de la punctele din interiorul triunghiului ABP , fapt ce
ar corespunde fizic unei ecuatii de tip hiperbolic si nu parabolic. O schem a cu
diferente 100% parabolica ar trebui s a nu poat a determina valoarea functiei u
ntr-un punct de pe linia CD fara ca valorile din punctele C si D s 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 diferente finite l constituie schemele
optimale. Acestea constau n alegerea parametrului retelei astfel nc at eroarea
de trunchiere sa fie cat mai mica. Pentru exemplificare, vom considera schema
explicita (10.46),

un+1
i = uni1 + (1 2)uni + uni+1 + zin , (10.63)
278 10. Ecuat
ii diferent
iale cu derivate part
iale

cu eroarea de trunchiere zin dat a de relatia (10.54). Pentru ecuatia c aldurii


a 2 u/t2 = 4 u/x4 , astfel nc
(10.35) se arata usor c at din (10.54) se vede
usor ca pentru k = h2 /6, adica = 1/6, eroarea de trunchiere devine

zin = O(k 3 + kh4 ) = O(k 3 ) = O(h6 ) , (10.64)

adica s-a castigat un ordin de precizie numai prin alegerea adecvat a a retelei
de calcul. Acest castig nu este ns a at
at de spectaculos, deoarece egalitatea
2 u/t2 = 4 u/x4 este adev arata pentru ecuatia u/t = 2 u/x2 cu conditia
ca derivatele respective s a fie evaluate exact. Ori, folosind diferente finite,
aceasta egalitate este verificat a aproximativ, n functie de ordinul aproxim arii
si de pasul retelei. Relatia (10.54) se scrie pentru = 1/6 n forma

zin = kh2 /2[( 2 u/t2 )ni ( 4 u/x4 )ni ] + O(k 3 + kh4 ) , (10.65)

unde diferenta ( 2 u/t2 )ni ( 4 u/x4 )ni nu este strict egal


a cu zero.

Scheme implicite.
Revenind la ecuatia (10.35), vom utiliza aceeasi retea de puncte, cu deosebirea
ca, fata de schema explicit
a (10.45), n membrul drept vom introduce valorile
functiei aproximante v la momentul n + 1. Se scrie deci

(vin+1 vin )/k = (vi1


n+1
2vin+1 + vi+1
n+1
)/h2 , i 1, I 1, n 0, N . (10.66)

Sistemul de ecuatii (10.66) nu mai este explicit, ci reprezint


a un sistem de ecuatii
liniare cu matrice tridiagonal a, care furnizeaz a valorile functiei n noduri, la
momentul de timp n + 1
n+1
vi1 (1 + 2)vin+1 + vi+1
n+1
= vin , i 1, I 1, n 0, N . (10.67)

Sistemul de ecuatii (10.67) se rezolv


a n mod repetat, pentru momente de timp
succesive. Spre exemplu, pentru n = 0, se obtine sistemul

Av (1) = b(0) , (10.68)

cu v (1) = (v11 , v21 , . . . , vI1


1
)T , xi = ih,

b(0) = (f (x1 ) + g0 (k), f (x2 ), . . . , f (xI2 ), f (xI1 ) + g1 (k))T , (10.69)


(1 + 2) 0 ... 0

(1 + 2) ... 0

.. ..
A=
0 . . 0 .
(10.70)
. .. .. ..
. .
0 0 (1 + 2)
10.2. Ecuatii cu derivate partiale de ordinul II 279

Se observa ca matricea sistemului A MI1 depinde numai de parametrul


retelei . Pentru rezolvarea sistemului liniar (10.68) se poate folosi metoda
directa descrisa la 1.1.2, care tine cont de forma tridiagonala a matricei A.
T
inand cont de particularitatile sistemului (10.70), algoritmul de rezolvare a
ecuatiei caldurii folosind schema implicita (10.66) se poate scrie formal dupa
cum urmeaza:
Date : conditiile initiale f (x); conditiile la limita g0 (t); g1 (t), h, , T
k h2
Rezolv a sistemul Lz = b
Factorizare A = L R z1 v1n v0n+1

r1 (1 + 2)
i = 2 : (I 2)
i = 2 : (I 1)
[zi vin li zi1 )


li /ri1
vIn+1
n
zI1 vi1
ri r1 li

i = 0 : I
Rezolv
0 a sistemul Rv = z
vi f (ih) n+1
v
I1 zI1 /rI1
n= 0 n+1
: (T /k) i = (I 2) : 1
v0 g0 ((n + 1)k)  n+1 n+1
n+1 vi (zi vi+1 )/ri .
vI g1 ((n + 1)k)
(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
functiei 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 neconditionat
(se va demonstra mai jos), adica indiferent de valorile parametrului retelei .
Aceasta independenta a convergentei de parametrul retelei este o proprietate
comuna a schemelor implicite.
Precizia schemelor implicite se poate mbun at
ati folosind combinatii ale va-
and cu (0, 1) un coeficient-
lorilor functiei luate la momentele n si n + 1. Not
pondere, se scrie

(vin+1 vin )/k = [(1 )(vi1


n
2vin + vi+1
n n+1
) + (vi1 2vin+1 + vi+1
n+1
)]/h2 .
(10.72)

In acest fel, derivata u/t se calculeaz


a pentru un punct intermediar momen-
telor de timp n si n + 1, eroarea de discretizare fiind O(k 2 ), fat
a de O(k) n
cazurile anterioare. In multe cazuri se ia = 1/2 metod a denumit a Crank-
Nicolson, astfel ncat sistemul de ecuatii pentru calculul valorilor functiei n
noduri devine
n+1
vi1 2(1 + )vin+1 + vi+1
n+1 n
= vi1 2(1 )vin vi+1
n
. (10.73)

Se observa o crestere a gradului de dominant a a elementului diagonal de la


1 + 1/2 la 1 + 1/. Se poate ar a pentru = (6 1)/12, eroarea de
ata c
discretizare n derivata 2 u/x2 devine de ordinul lui h4 .
280 10. Ecuat
ii diferent
iale cu derivate part
iale

Convergent
a, consistent
a, stabilitate.
S-a definit anterior convergenta schemelor cu diferente finite prin conditia ca
solutia aproximativa v s a se apropie oric at de mult de solutia exacta u, atunci
cand norma diviziunii tinde la zero (k 0, h 0).
Deoarece convergenta unei scheme cu diferente este mai greu de demostrat,
se definesc si alte propriet
ati mai slabe ale schemei, care se pot verifica mai usor,
fiecare n parte, iar mpreun a pot asigura convergenta. Astfel de propriet ati,
mai slabe, sunt consistenta si stabilitatea.

Definitie. O schema cu diferente finite este consistent


a (cu ecuatia cu derivate
partiale pe care o aproximeaza) daca tinde spre ecuatia exact
a atunci c
and
norma diviziunii tinde la zero (k 0, h 0).

De obicei schemele provenite din aproxim arile derivatelor prin diferente fi-
nite, avand erorile de discretizare O(hp + k m ), p, m N+ sunt consistente.
Exista nsa si combinatii mai putin ortodoxe care conduc la erori de discre-
tizare de ordine de m arime care depind de rapoarte ale pasilor, spre exemplu
O(hp /k m ), p, m N+ . In acest caz, eroarea de discretizare nu tinde neap arat
la zero odata cu norma retelei, ci poate avea valori finite.

Exemplu. Consider
am schema de discretizare a ecuatiei c
aldurii sub forma
n
n
(vin+1 vin1 )/2k = (vi1 vin1 vin+1 + vi+1 )/h2 , (10.74)

n care valoarea aproximativ vin


a a functiei a fost scris
a ca medie aritmetic
a a valorilor
vin1 si vin+1 , 2vin = vin1 + vin+1 . Pentru a stabili eroarea de trunchiere, dezvoltam
n serie Taylor functia u n jurul punctului (i, n)
h2 3 4
h5
un n
i1 = ui hux + u h6 uxxx + h24 uxxxx
2 xx
u
120 xxxxx
+ O(h6 )
n1 k2 3
ui = uni kut + u k6 uttt + O(k4 ) .
2 tt

Adun
and si sc and relatiile pentru un1
az i si uin+1 , rezult
a
k2
2un n1
i = ui + un+1
i k2 utt + O(k4 ), ut = 1
2k
(un+1
i un1
i )+ u
6 ttt
+ O(k4 ) .

Pentru uxx se obtine relatia


h2 k2 4
uxx = 1
h2
(un
i1 un1
i un+1
i + un
i+1 ) u
12 xxxx
+ u
h2 tt
+ O( hk2 ) + O(h4 ) ,

iar pentru ecuatia c


aldurii
n1
(un+1
i uin1 )/(2k) = (un
i1 ui un+1
i + un 2
i+1 )/h
(h2 /12)uxxxx + (k2 /h2 )utt + O(k4 /h2 ) + O(h4 ) (k3 /6)uttt + O(k4 ) .
n
Eroarea de discretizare contine termenul (k/h)2 2 u/t2 i care poate fi diferit de
zero daca h 0 si k = ch 0, unde c este 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 ecuatie care contine termenul 2 u/t2 si care nu mai
reprezinta ecuatia c a avem k/h  1, c  1, efectul acestui termen de
aldurii. Dac
ordinul doi, devine neglijabil.
10.2. Ecuatii cu derivate partiale de ordinul II 281

Definitie. O schema numerica de calcul (n particular o schem a cu diferente)


este stabil
a daca 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
atile) din conditiile la limite si initiale.
Modalitatile de amplificare a erorilor sunt foarte variate, astfel nc
at stabilitatea
poate fi studiata n diverse moduri. In cele ce urmeaz a, vom utiliza stabilitatea
n sensul lui von Neuman. Importanta studierii consistentei si stabilit atii este
dat
a de
Teorema lui Lax. O schema de calcul consistent
a si stabil
a este convergent
a.
In cele ce urmeaza, vom aplica teorema lui Lax la studiul unor scheme despre
care stim precis ca sunt consistente, astfel nc
at stabilitatea devine suficient
a
pentru convergenta.
Pentru schema implicita (10.67), vom studia stabilitatea n sensul lui von
Neuman. Se introduce n schema o perturbatie w, de forma

w = (t)ejx , R, j = 1 , (10.75)
unde (t) este amplitudinea, iar R num arul de unda al perturbatiei. De-
oarece sursa perturbatiilor n calculul numeric o constituie erorile de calcul s-a
astrat notatia w. Prin urmare, n (10.67) se face nlocuirea
p
vin vin + win ; win = n ejxi . (10.76)
Rezulta ecuatia care da evolutia perturbatiei
n+1
wi1 (1 + 2)win+1 + wi+1
n+1
= win . (10.77)
Impartind (10.77) membru cu membru cu wn , se obtine
i

(n+1 /n )[ejh (1 + 2) + ejh ] = 1 ,


(10.78)
|n+1 /n | 1/|1 + 2(1 cos h)| = 1/(1 + 4 sin 2 h
2 )1 .

Din (10.78) rezulta ca raportul amplitudinilor perturbatiei la momentele n + 1


si n scade sau ramane cel mult nemodificat, oricare ar fi pasul h si lungimea de
unda a perturbatiei. In consecint
a, perturbatiile schemei cu diferente date de
erorile de diverse tipuri, nu se amplific
a, deci schema implicita este neconditionat
stabil
a.
Exemplu. Revenind la schema explicit a (10.46) vom studia studia stabilitatea
acesteia. Ecuatia care d
a evolutia perturbatiei w dat
a de (10.75) este
n
win+1 = wi1 n
+ (1 2)win + wi+1 .
Rezult
a conditia
| n+1 / n | = |ejh + (1 2) + ejh | = |2(cos h 1) + 1| 1,
sau
|4 sin 2 h/2 1| 1 1/2.
a 1/2 a schemei explicite (10.46) este necesar
Conditia de convergent a deci asi-
gur
arii stabilit
atii.
282 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.7: Discretizarea ecuatiei parabolice cu doua variabile spatiale.

Ecuatii parabolice cu dou


a variabile spatiale.
Vom lua ca model ecuatia c
aldurii adimensionalizat
a

u 2u 2u
= + 2 , (10.79)
t x2 y
cu conditiile initiale 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, (10.80)
u(x, 0, t) = g0 (x, t), u(x, 1, t) = g1 (x, t), 0 x 1, 0 < t T .

Vom considera cazul unei retele rectangulare (figura 10.7), unde pentru simpli-
tate consideram pasii de discretizare spatial egali, hx = hy = h

x = i h, y = j h, t = n k, i 1, I, j 1, J, n 1, N . (10.81)

Aproximand derivatele spatiale cu diferente finite la momentul de timp n,


se obtine relatia explicit
a
n+1 n n n n n
vi,j = (1 4)vi,j + [(vi+1,j + vi1,j ) + (vi,j+1 + vi,j1 )] . (10.82)

Eroarea de trunchiere a relatiei (10.82) este O(k 2 + k h2 ), unde k este pasul de


timp. Conditia de convergent
a a schemei explicite (10.82) se determin a n mod
similar cu cazul unei singure variabile spatiale

0 < k/h2 1/4 . (10.83)

Restrictia (10.83) impus a parametrului retelei pentru ca schema explicit a (10.82)


sa fie stabila, duce la necesitatea folosirii unor pasi de timp mici, rezultand un
volum mare de calcule. Acest neajuns poate fi nl aturat prin folosirea unei
10.2. Ecuatii cu derivate partiale de ordinul II 283

scheme implicite. Spre exemplu, se poate folosi schema Crank-Nicolson pentru


ecuatia (10.79)
" n n+1 #
2 2
 2 2
n+1 n k u u u u
vi,j vi,j = + 2 + + 2 , (10.84)
2 x2 y i,j x2 y i,j

obtinandu-se

n+1 n n n n n n n
vi,j vi,j = (v 2vi,j + vi1,j + vi,j+1 2vi,j + vi,j1 +
2 i+1,j
n+1 n+1 n+1 n+1 n+1 n+1
vi+1,j 2vi,j + vi1,j + vi,j+1 2vi,j + vi,j1 ) (10.85)
.

Schema Crank-Nicolson (10.85) este stabil a pentru orice valoare a parametrului


retelei = k/h2 . Pentru fiecare nivel de timp n, se obtine un sistem de (I
1)(J 1) ecuatii liniare unde I h = 1 si J h = 1. Acest sistem nu mai are matrice
tridiagonala ca n cazul schemei implicite (10.67) pentru ecuatia c aldurii cu o
singura variabila spatiala, neajuns care poate fi evitat folosind metoda directiilor
alternante.

Metoda directiilor alternante.


Un sistem de n ecuatii liniare cu n necunoscute, cu matrice este tridiagonal a
se rezolva direct. In cazul ecuatiilor parabolice cu o singur a variabila spatial
a
folosirea schemei implicite (10.67) a dus la rezolvarea unui astfel de sistem4 .
Obtinerea si n cazul ecuatiilor parabolice cu doua variabile spatiale 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
spatiale 2 u/x2
n+1
2 u
= (un+1 n+1 n+1
i+1,j 2 ui,j + ui1,j )/h
2
(10.86)
x2 i,j

si o formul
a explicita pentru derivata spatial a 2 u/y 2
n
2 u n
= (ui,j+1 2 uni,j + uni,j1 )/h2 . (10.87)
y 2 i,j

Pentru fiecare j 1, J, se obtine un sistem de I 1 ecuatii liniare5 cu tot at


atea
necunoscute
n+1 n+1 n+1 n n n
vi1,j + (1 + 2)vi,j vi+1,j = vi,j1 + (1 2)vi,j + vi,j+1 .
(10.88)
4 Nu orice schem a implicita duce la aparitia unui sistem cu matrice tridiagonal
a, ci numai
cele la care diferentele finite pentru aproximarea derivatei spatiale folosesc numai trei puncte
al
aturate la momentul de timp n + 1.
5 Numarul de puncte pe o dreapt a y = const este I + 1, punctele de pe frontiera fiind date
prin conditiile la limite.
284 10. Ecuat
ii diferent
iale cu derivate part
iale

n+1
Pentru determinarea valorilor vi,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 ecuatii dec
at pentru rezolvarea unui singur
sistem de (I 1)(J 1) ecuatii cu tot at atea necunoscute.
La pasul urmator este recomandat s a folosim o formula explicit
a pentru
aproximarea derivatei spatiale 2 u/x2 si o formul a implicit
a pentru derivata
spatiala 2 u/y 2 , obtin
and
n+2 n+2 n+2 n+1 n+1 n+1
vi,j1 + (1 + 2)vi,j vi,j+1 = vi1,j + (1 2)vi,j + vi+1,j .
(10.89)

a n aplicarea relatiei (10.88) pentru determi-


Metoda directiilor alternante const
narea valorilor aproximative ale functiei necunoscute de la momentul de timp
n + 1, apoi a relatiei (10.89) pentru determinarea valorilor de la momentul de
timp n + 2, dupa care procedeul se repet a.

Ecuatii parabolice neliniare.


Problemele prezentate p an
a aici legate de rezolvarea numeric a a ecuatiilor cu
derivate partiale folosind scheme cu diferente finite si stabilitatea acestora au
fost particularizate pentru ecuatii liniare cu coeficienti constanti. Ecuatia cu
derivate partiale (10.26) este liniar a daca coeficientii Ai , Bi si C sunt cel mult
functii de variabilele independente. Dac a numai coeficientii derivatelor partiale
de ordin maxim depind de variabilele independente si de functia necunoscut a u,
dar nu si de derivatele partiale ale acesteia, atunci ecuatia se numeste cvasili-
niara.
Ecuatiile parabolice neliniare pot fi rezolvate cu ajutorul schemelor explicite.
Asa cum am vazut anterior, stabilitatea schemelor explicite impune restrictii
privind valorile parametrului retelei = k/h2 . In cazul ecuatiilor neliniare,
aceste restrictii devin si mai dure, n plus ele depinzand si de functia necunoscut a
u, motiv pentru care schemele explicite sunt putin utilizate.
Pentru exemplificare, consider am ecuatia neliniar a
2u u u
= f (x, t, u, , ), (10.90)
x2 t x
unde f (x, t, u, ux , ut ) este o expresie care contine variabilele independente x si
t, functia necunoscut a u si derivatele partiale de ordinul nt
ai u/x, u/t. O
schema implicita se poate obtine dac a scriem

x2 vin+1 = f [ih, (n + 1)k, vin+1 , (vin+1 vin )/k, (vi+1


n+1 n+1
vi1 )/2h] , (10.91)

sau prescurtat x2 vin+1 fin+1 , unde

x2 vin+1 (vi1
n+1
2vin+1 + vi+1
n+1
)/h2 . (10.92)

Folosind metoda iteratiei simple, se construieste sirul

x2 (vin+1 )m+1 = (fin+1 )m+1 , m = 0, 1, 2, . . . , (10.93)


10.2. Ecuatii cu derivate partiale de ordinul II 285

p
ana cand |(vin+1 )m+1 (vin+1 )m | < . Pentru m = 0, (vin+1 )0 se obtine
rezolvand ecuatia neliniara
x2 (vin+1 )0 = (fin+1 )0 fin f [ih, nt, vin , ((vin+1 )0 vin )/k, (vi+1
n n
vi1 )/2h] .
(10.94)
Dac a sirul (10.93) converge, convergenta este liniara. Dupa cum se observa, la
fiecare iteratie m trebuie rezolvat un sistem tridiagonal de ecuatii liniare.
O alta modalitate de liniarizare a sistemului neliniar (10.91) o constituie
metoda Newton. Termenul din dreapta egalit atii (10.90) se poate dezvolta n
serie Taylor ca o functie de mai multe variabile, p astr
and numai termenii de
ordinul ntai
f (z m )
f (x, t, um+1 , um+1
t , um+1
x ) = f (z m ) + (um+1 um )
u
m
m+1 m f (z ) f (z m )
+(ut ut ) + (um+1
x um
x ) ,
ut ux
unde z m (x, t, um , um m
t , ux ). Rezult
a un sistem tridiagonal de forma
n+1 m+1
ai (vi1 ) bi (vin+1 )m+1 + ci (vi+1
n+1 m+1
) = di , i 1, I 1 , (10.95)
unde
m m m m
1 f (z ) f (z )
ai = h12 + 2h 2
ux m, bi = h2 + u + k1 fu
(z )
t m
1 f (z )
, ci = h12 2h ux ,
m
m f (z ) 1 f (z ) m 1 f (z ) m m
di = f (z ) ( u + k ut )vi,n+1 2h ux (vi+1,n+1 vi1,n+1 ) .
(10.96)
In obtinerea relatiilor (10.96) s-a tinut cont de relatia (v n )m+1 (v n )m 0,
i i
deoarece valorile vi,n sunt cunoscute, fiind calculate anterior. Dac a sirul (10.96)
converge, convergenta este patratic a, dar la fiecare iteratie trebuie evaluate deri-
vatele partiale f (z m )/u, f (z m )/ut , f (z m )/ux , derivate a c aror expresii
analitice trebuie determinate anterior. In cazul ecuatiilor parabolice cu dou a sau
trei variabile spatiale, liniarizarea sistemului neliniar se face n mod asem an
ator,
dar sistemul liniar ce rezulta nu mai are matrice tridiagonal a. Pentru a obtine
sisteme liniare cu matrice tridiagonal a, se poate folosi metoda directiilor alter-
nante, prezentata anterior.
O metoda mai simpla si elegant a este propus a de Saulyev. Vom exemplifica
aceasta metoda pentru ecuatia c adurii adimensionalizat a (10.35) n care vom
aproxima derivata spatiala ( 2 u/x2 )ni cu formula cu diferente centrate
n n n !
2 u 1 u u
= , (10.97)
x2 i h x i+1/2 x i1/2

n care (u/x)ni1/2 se nlocuieste cu (u/x)n+1


i1/2 , iar derivatele de ordinul
nt
ai se aproximeaza tot cu diferente centrate
n n+1
u 1 n u 1
n
= (vi+1 vi ), = (vin+1 vi1n+1
). (10.98)
x i+1/2 h x i+1/2 h
286 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.8: Ecuatia caldurii rezolvata cu schema explicita (10.46).

Folosind diferente la dreapta pentru u/t, se obtine

(1 + )vin+1 = vin + (vi1


n+1
vin + vi+1
n
). (10.99)

Formula (10.99) este explicit a dac


a efectueaz
a calculele de la frontiera din st
anga
la cea din dreapta pentru toti pasii de timp n = 1, 2, 3, . . . . In mod analog,
daca n (10.97) se nlocuieste (u/x)ni+1/2 cu (u/x)n+1
i+1/2 , se obt
ine

(1 + )vin+1 = vin + (vi+1


n+1
vin + vi1
n
). (10.100)

Formula (10.100) este explicit a dac a efectueaz a calculele de la frontiera din


dreapta la cea din stanga pentru toti pasii de timp n = 1, 2, 3, . . . . Se recomand
a
folosirea alternativa a formulelor (10.99) si (10.100).
Exemplu. In figura 10.8 sunt prezentate rezultatele obtinute folosind schema
explicit
a (10.46) pentru ecuatia adimensionalizat
a a c
aldurii

u/t = 2 u/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 retelei. Pasul h
s-a mentinut constant la valoarea h = 0.1. Se observ a instabilitatea schemei explicite
pentru = 0.55. Rezultatele cele mai bune s-au obtinut pentru = 0.1, datorit a
faptului ca 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 obtinute cu schema implicit a (10.67) si cu
schema Saulyev. Se observ a cum ambele scheme sunt stabile si pentru = 2 (ele
sunt de altfel neconditionat stabile). De aceast a data pasul de timp k s-a mentinut
constant la valoarea k = 0.001, modificarea parametrului retelei fac andu-se prin
ndesirea retelei pe directia x. Se observ
a de asemenea cum rezultate mai bune se
10.2. Ecuatii cu derivate partiale de ordinul II 287

Figura 10.9: Ecuatia caldurii rezolvata cu schema implicita Saulyev (10.99), (10.100).

obtin pentru = 0.1, desi = 2, implica acelasi pas de timp si o retea spatial
a mai
fin
a. Pentru a explica acest lucru, s a consider am eroarea de trunchiere a schemei
explicite (10.67) care are aceeasi form
a cu (10.54). T in
and cont de faptul ca k = h2
obtinem

zin = (k2 /2)[( 2 u/t2 )n 4 4 n 3


i ( u/x )i ] + O(k ) . (10.101)

aldurii avem 2 u/t2 = 4 u/x4 . Putem considera ( 2 u/t2 )n


Pentru ecuatia c
i =
4 4 n
( u/x )i pentru ecuatia cu diferente finite, astfel nc
at ecuatia (10.101) se scrie

zin = (k2 /2)( 2 u/t2 )n 3


i [1 1/(6)] + O(k ) . (10.102)

Functia f () = 1 1/(6) are un minim pentru = 1/6, f (1/6) = 0. Pentru valori


> 1/6, functia f () este cresc
atoare, deci eroare de trunchiere creste.

10.2.2 Ecuatii cu derivate partiale de tip eliptic


Pentru studiul solutiilor numerice ale ecuatiilor cu derivate partiale de tip eliptic,
vom lua ca model ecuatia lui Poisson

2u 2u
+ 2 = (x, y) . (10.103)
x2 y

Pentru ecuatia (10.103), se pot formula trei tipuri de probleme, dup a con-
ditiile impuse pe frontiera domeniului D R2 unde se caut a solutia. Astfel
exista:
288 10. Ecuat
ii diferent
iale cu derivate part
iale

1. Probleme de tip Dirichlet. In acest caz, se d


a valoarea functiei u pe fron-
tiera a domeniului D

u(x, y)| = f (x, y) , (10.104)

f (x, y) fiind o functie cunoscut


a.
2. Probleme de tip Neumann. In acest caz se d a derivata functiei u dupa
directia normalei ~n la curba du/dn, presupus a neted
a

du
= g(x, y) , (10.105)
dn

g(x, y) fiind o functie cunoscut


a.
3. Probleme mixte (Dirichlet si Neuman). In acest caz se impune pe frontiera
o conditie de forma

du
a(x, y) u(x, y)| + b(x, y) = c(x, y) , (10.106)
dn

a(x, y), b(x, y) si c(x, y) fiind functii cunoscute.

Discretizarea se poate face n toate cazurile folosind o retea cu pasi egali n


directia 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 latura egala cu unitatea av and unul din v arfuri n originea axelor (figura
10.10). In acest fel, N fiind num arul de intervale n directia x sau y, pasul este
h = 1/N . Coordonatele unui punct din retea sunt (ih, jk), i si j fiind num arul
de pasi parcursi n cele dou
a directii, plec
and din origine. Dac a frontiera este
curbilinie, nodurile retelei se mpart n dou a categorii: (a) - noduri de categoria
NI , care au toate nodurile vecine (la distanta h) n interiorul domeniului D sau
pe ; (b) - noduri de categoria NE , care au cel putin un punct la distanta h n
exteriorul lui D.
Aproximarea cu diferente se face diferit pentru cele dou a categorii de noduri.
Pentru un nod Mij NI , aproximarea cu ajutorul diferentelor finite are eroarea
O(h2 ) si se scrie

vi1,j + vi+1,j + vi,j1 + vi,j+1 4vi,j = h2 i,j , (10.107)

unde i, j 1, N 1, Mij NI . Dac a domeniul D este rectangular, atunci


(10.107) reprezinta unica form a de aproximare.
In cazul ecuatiei lui Laplace

2u 2u
+ 2 =0, (10.108)
x2 y
relatia (10.107) se poate scrie

vi,j = 14 (vi1,j + vi+1,j + vi,j1 + vi,j+1 ), i, j 1, N 1, Mij NI , (10.109)


10.2. Ecuatii cu derivate partiale de ordinul II 289

Figura 10.10: Domeniu de calcul pentru ecuatia Poisson.

adica valoarea aproximativa a functiei u (pe care continuam s a o not


am cu v)
ntr-un punct oarecare este media aritmetic a a valorilor din punctele vecine.
O problema care se pune este si modul de numerotare a punctelor din retea.
In general, se recomanda numerotarea care duce la matrice c at mai simetrice
si diagonal dominante, cel putin pe anumite linii sau coloane. Aceasta asigur a
proprietati de convergenta 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 patrat).
Un mod recomandabil de numerotare care duce la matrice bloc-tridiagonale
este cel care satisface conditia de constant
a a sumei indicilor

i + j = k, k = 2, 3, 4, . . . , 2N 2 . (10.110)

At
at pentru ecuatia Poisson c at si Laplace, dup a ce se aproximeaza cu
diferente finite, rezulta un sistem de (N 1)2 ecuatii cu (N 1)2 necunos-
cute. Ecuatiile care alcatuiesc sistemul sunt liniare daca provin din discretizarea
unei ecuatii cu derivate partiale liniare. In cazul ecuatiilor cu derivate partiale
neliniare, prin discretizare se obtine un sistem de ecuatii algebrice neliniare.
Pentru rezolvarea sistemului de ecuatii liniare (10.109) scris matriceal

Av = b (10.111)

se pot folosi atat metode directe c at si metode iterative (vezi capitolul 5).
Numarul de necunoscute este n general mare; spre exemplu, pentru ecuatia
Laplace n spatiu, pentru N = 11, rezult a un sistem de 1000 ecuatii cu 1000
necunoscute, iar pentru N = 101, rezult a 106 ecuatii. Numarul mare de necu-
noscute pune probleme din punct de vedere al stoc arii matricei A, iar num
arul
mare de operatii pune probleme din punct de vedere al erorilor de rotunjire.
Metodele directe sunt folosite n cazul problemelor mici, atunci c and matricea
A este rara (multe elemente sunt nule) sau c and matricea A este 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 clasifica n metode iterative punctuale, la care calculul


(k+1)
valorilor necunoscute la iteratia k + 1, vi,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 ecuatia Laplace cu
discretizarea (10.109).

Metodele iterative punctuale.


Prezentam pe scurt metodele Jacobi, Gauss-Seidel, supra-relax
arilor succesive,
gradientului.
(a) Metoda Jacobi. Relatia (10.109) se aplic
a n forma
(k+1) (k) (k) (k) (k)
vi,j = 14 (vi1,j + vi+1,j + vi,j1 + vi,j+1 ) , (10.112)
(k+1)
unde i, j 1, N 1, k = 0, 1, 2 . . . . Valoarea vi,j se calculeaz a folosind numai
(k)
valori de la iteratia anterioara. In consecint a, valorile vi,j trebuie p astrate
pana cand noile valori sunt calculate n totalitate, ceea ce poate constitui un
dezavantaj.
(b) Metoda Gauss-Seidel. Relatia (10.109) se aplic a n forma
(k+1) (k+1) (k) (k+1) (k)
vi,j = 14 (vi1,j + vi+1,j + vi,j1 + vi,j+1 ) , (10.113)

unde i, j 1, N 1, k = 0, 1, 2 . . . , deci valorile calculate la iteratia 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 covergentei
cu ajutorul unui factor de relaxare6 (1, 2)
(k+1) (k) (k+1) (k) (k) (k+1)
vi,j = vi,j + [
vi,j vi,j ] = (1 )vi,j +
vi,j , (10.114)
(k+1)
unde vi,j reprezint
a valoarea calculat a la iteratia k + 1, folosind de exemplu
metoda Gauss-Seidel.
(d) Metoda gradientului. Fie functia

U (v) = v T Av 2bT v , (10.115)

care are un minim egal cu bT A1 b c and v = A1 b. Se observ a c


a minimul
functiei U (v) coincide cu solutia sistemului Av = b. Metoda gradientului pre-
zentata la 7.3, consta n construirea sirului v k+1 = v k k g k , k > 0, unde
g k = U (v k ) = 2(Av k b) 2rk , rk b Av k reprezent and reziduul la
iteratia k. Mai eficiente sunt metodele de gradient conjugat a c aror aplicare la
rezolvarea sistemelor de ecuatii liniare a fost prezentat a la ??.
O problema comun a metodelor iterative o constituie parcurgerea retelei de
calcul (sau renumerotarea necunoscutelor). Pentru exemplul considerat, par-
curgerea se poate face fie pe orizontal a (fig. 10.11), evident,
a, fie pe vertical
existand mai multe posibilit ati de parcurgere.
6
In a deseori un factor de subrelaxare (0, 1).
cazul problemelor neliniare, se utilizeaz
10.2. Ecuatii cu derivate partiale de ordinul II 291

Figura 10.11: Parcurgerea domeniului de calcul la metodele iterative.

Metode iterative n bloc.


(k+1)
Dup a cum am vazut, metodele iterative punctuale calculeaz a valoarea vi,j pe
baza unei formule explicite, n care toti termenii din dreapta semnului egal sunt
considerati cunoscuti. Pentru a ntelege mai bine principiul metodelor iterative
n bloc, consideram metoda Gauss-Seidel, pentru care rescriem relatia (10.113)
n forma
(k+1) (k+1) (k) (k+1) (k+1)
vi,j = 41 (vi1,j + vi+1,j + vi,j1 + vi,j+1 ) . (10.116)

unde i, j 1, N 1, k = 0, 1 . . . . Relatia (10.116) nu mai este explicit


a, de-
oarece toate valorile de pe linia i sunt considerate la iteratia k + 1. Pentru
j = const, rezulta un sistem de I 1 ecuatii cu I 1 necunoscute cu matrice
tridiagonala
(k+1) (k+1) (k+1) (k+1) (k)
vi1,j + 4vi,j vi+1,j = vi,j1 + vi,j+1 . (10.117)

Redefinirea formulei explicite ntr-o formul a implicita duce la cresterea vitezei


de convergenta, pentru care se plateste pretul unei complicari a algoritmului.
Viteza de convergenta este n general mbun at
atit
a dac
a dupa folosirea for-
mulei implicite (10.116) la iteratia k + 1 se foloseste formula
(k+2) (k+2) (k+2) (k+2) (k+1)
vi,j = 14 (vi1,j + vi+1,j + vi,j1 + vi,j+1 ) (10.118)

la iteratia urmatoare, adica schimbarea sensului de parcurgere a punctelor din


domeniul de calcul. De aceasta dat a un sistem de J 1 ecuatii cu J 1
a, rezult
necunoscute, cu matrice tridiagonal a
(k+2) (k+2) (k+2) (k+2) (k+1)
vi,j1 + 4vi,j vi,j+1 = vi1,j + vi+1,j . (10.119)

O alta metoda iterativa n bloc este metoda directiilor alternante prezentat


a
anterior la paragraful 43. Derivatele partiale din ecuatia Laplace uxx + uyy = 0
292 10. Ecuat
ii diferent
iale cu derivate part
iale

le vom nlocui de data aceasta cu diferente finite dup


a schema
(k+1) (k+1) (k+1) (k) (k) (k)
(vi1,j 2vi,j + vi+1,j ) + (vi,j1 2vi,j + vi,j+1 ) = 0, (10.120)

adica uxx cu o formul a implicit


a, iar uyy cu o formula explicit
a. Din relatia
(10.120), adaugand si sc
az
and valoarea 4vi,j , rezult
a
(k+1) (k+1) (k+1) (k) (k) (k)
(vi1,j 2vi,j + vi+1,j ) + (vi,j1 2vi,j + vi,j+1 ) + 4vi,j 4vi,j = 0 .

Considerand prima valoare vi,j la iteratia k si cea dea a doua la iteratia k + 1,


rezulta
(k+1) (k) (k+1) (k+1) (k+1) (k) (k) (k)
vi,j = vi,j + 14 (vi1,j 2vi,j + vi+1,j ) + 41 (vi,j1 2vi,j + vi,j+1 )

sau
(k+1) (k+1) (k+1) (k) (k) (k)
14 vi1,j + 23 vi,j 41 vi+1,j = 14 vi,j1 12 vi,j + 41 vi,j+1 . (10.121)

a cu (10.88) pentru = 14 , relatia (10.121) repre-


Am obtinut o relatie identic
zentand formula de baz a pentru metoda directiilor alternante. In mod analog,
folosind o formula implicit
a pentru uyy si una explicit
a pentru uxx , se obtine
(k+2) (k+2) (k+2) (k+1) (k+1) (k+1)
14 vi,j1 + 23 vi,j 41 vi,j+1 = 14 vi1,j 21 vi,j + 41 vi+1,j . (10.122)

Observam cum pe baza unor prelucr ari efectuate asupra relatiei (10.120), am
obtinut o ecuatie cu diferente finite, pentru o alta ecuatie cu derivate partiale,
si anume pentru ecuatia de tip parabolic ut = uxx + uyy . Altfel spus, schemele
cu diferente finite (10.121) si (10.122) nu sunt consistente cu ecuatia cu derivate
partiale de tip eliptic uxx + uyy = 0, ci cu ecuatia parabolic a ut = uxx + uyy , a
carei solutie pentru valori de timp suficient de mari coincide cu solutia ecuatiei
uxx + uyy = 0. In general, solutia unei probleme de echilibru (care nu depinde
de timp), poate fi obtinut a ca o solutie a unei probleme fictive dependente de
timp, pentru t = T suficient de mare. De fapt, rezolvarea unei probleme eliptice
cu o metoda iterativa, este analoag a cu rezolvarea unei probleme dependente de
timp, numai ca pasul de timp variaz a de la punct la punct.

Cazul frontierelor curbe.


In acest caz, multimea NE a punctelor care au noduri la distanta h exterioare
domeniului D este nevid a. Scrierea ecuatiilor cu diferente finite pentru aceste
puncte depinde de natura conditiilor impuse pe frontier a. Vom considera cazul
problemelor de tip Dirichlet si Neuman, problema mixt a fiind o combinatie a
celor doua.
In cazul problemelor de tip Dirichlet, sunt date valorile functiei u pe frontiera
. Fie punctul 1 NE (figura 10.12) punctul n care dorim s a aproxim am cu
diferente ecuatia lui Poisson (10.103). Am notat cu ah si bh, a, b (0, 1)
10.2. Ecuatii cu derivate partiale de ordinul II 293

Figura 10.12: Frontiera curba, conditii Dirichlet.

distantele de la punctul 1 la punctele A, B de pe frontier


a. Folosind formula
Taylor, se obtine

uA = u1 ah(u/x)1 + 12 a2 h2 ( 2 u/x2 )1 + O(h3 ) ,


(10.123)
uB = u1 + bh(u/y)1 + 12 b2 h2 ( 2 u/y 2 )1 + O(h3 ) .

Deoarece, pe langa derivatele de ordinul 2 care apar n ecuatia lui Poisson, au


ap
arut si derivate de ordinul 1, aceste din urma trebuie eliminate. In acest scop,
sunt necesare nca doua relatii. Ca urmare, se iau nc
a dou
a puncte din retea,
punctele 2 si 3 (figura 10.12) si se scrie

u2 = u1 + h(u/x)1 + 12 h2 ( 2 u/x2 )1 + O(h3 ) ,


(10.124)
u3 = u1 h(u/y)1 + 12 h2 ( 2 u/y 2 )1 + O(h3 ) .

Combinand primele relatii din (10.123) si (10.124) ntre ele, iar apoi si ultimele,
se obtine
2
uA + au2 = (1 + a)u1 + h2 a(1 + a)( 2 u/x2 )1 + O(h3 ) ,
2 (10.125)
uB + au3 = (1 + b)u1 + h2 b(1 + b)( 2 u/y 2 )1 + O(h3 ) .

Ecuatia (10.103) se scrie, n punctul 1

( 2 u/x2 )1 + ( 2 u/y 2 )1 = 1 . (10.126)

Ca urmare, exprimand derivatele de ordinul 2 din relatiile (10.125) se obtine


ecuatia

h2
 
1 1 u2 u3 uA uB
u1 + + + = 1 , u 1 NE .
a b 1+a 1+b 2 a(1 + a) b(1 + b)
(10.127)

Din relatiile (10.125), se observ


a c
a derivatele de ordinul 2 se calculeaz a n
punctele de categoria NE cu precizia O(h), fat a de O(h2 ) n relatiile (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: Frontiera curba, conditii Neuman.

este mai general: scrierea echivalentului n diferente finite n punctele de l


ang
a
frontiera, 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
directia normalei la . Not and cu ~n1 , ~n2 , ~n3 versorii vectorilor 1A, 2A, 2A
(figura 10.13), punctul A fiind cel mai apropiat de punctul 1 n care vrem s a
scriem o relatie pentru valorile functiei necunoscute, vom scrie

~nk = k~i + k~j, k = 1, 2, 3 (10.128)

si vom obtine, cu o aproximatie O(h2 )

uk = uA lk (k u/x + k u/y)A + O(h2 ), lk = Ak, k = 1, 2, 3 . (10.129)

Eliminand, mai departe, pe uA , rezult


a

u2 u1 = (l1 1 l2 2 )(u/x)A + (l1 1 l2 2 )(u/y)A ,


(10.130)
u3 u1 = (l1 1 l3 3 )(u/x)A + (l1 1 l3 3 )(u/y)A .

Pe de alta parte, derivata normal


a
     
du u u
= A + (10.131)
dn A x A y A

este cunoscuta, astfel nc


at relatia c
autat
a ntre u1 , u2 , u3 este tocmai conditia
de compatibilitate a sistemului de 3 ecuatii cu necunoscutele (u/x)A , (u/y)A
format cu relatiile (10.130) si (10.131)

u2 u1 l1 1 l2 2 l1 1 l2 2

u3 u1 l1 1 l3 3 l1 1 l3 3 . (10.132)

(du/dn) A A

A

Ecuatia (10.132) nlocuieste ecuatia lui Poisson n punctul 1, cu aproximatia


O(h) care reprezinta eroarea la interpolarea liniar
a a derivatelor n relatia (10.129).
Exemplu. Fie ecuatia Laplace cu conditiile la limit
a

uxx + uyy = 0, u(0, y) = u(1, y) = 1, u(x, 0) = u(x, 1) = 0 . (10.133)


10.2. Ecuatii cu derivate partiale de ordinul II 295

Figura 10.14: Distributia de temperaturi ntr-o placa.

Solutia ecuatiei (10.133) reprezint


a distributia de temperaturi n regim stationar pen-
tru o plac a patrat
a. S-a folosit pentru rezolvare schema (10.109) pentru o retea cu
pasul h = 0.1. In punctele din colturile pl acii s-a luat valoarea u = 0.5 deoarece
n aceste puncte conditiile la limite prezinta discontinuit ati. Distributia de tempera-
turi, precum si curbele de nivel u = K, pentru K {0.2, 0.4, 0.6, 0.8} sunt date n
figura (10.14). Pentru rezolvarea sistemului de ecuatii liniare s-au folosit metodele
Jacobi, Gauss-Seidel si relaxarilor succesive. S-a folosit conditia de oprire a iteratiilor
kv k+1 v k k < , cu = 104 . Num arul de iteratii necesare obtinerii preciziei impuse
poate fi citit din tabelul urm ator
metoda Jacobi GS = 1.2 = 1.4 = 1.5 = 1.6 = 1.8
nr.iter. 121 68 48 31 23 22 42
Se observa superioritatea metodei supra-relaxarilor succesive fat
a de celelalte metode
pentru [1.2, 1.8], precum si existenta unui minim pentru = 1.6, minim care
depinde n general de ecuatia care se rezolva. Pentru = 1 se reg aseste metoda
Gauss-Seidel, iar pentru = 2 metoda nu converge.

10.2.3 Ecuatii cu derivate partiale de tip hiperbolic


Pentru studiul solutiilor numerice ale ecuatiilor cu derivate partiale de tip hi-
perbolic, vom lua ca model ecuatia undelor
2u 2u
=0, (10.134)
t2 x2
a c
arei solutie generala este de forma
u(x, t) = f (x + t) + g(x t) , (10.135)
a C 2 . Ecuatia (10.134) poate avea
unde f si g sunt doua functii arbitrare de clas
296 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.15: Domeniile de influenta si de dependenta.

(a) numai conditii initiale

u(x, 0) = f (x), u/t(x, 0) = g(x), < x < + , (10.136)

caz n care functiile f si g din (10.134) sunt chiar cele date de (10.136),
sau
(b) conditii initiale si conditii la limite

u(x, 0) = f (x), u/t(x, 0) = g(x), 0 < x < 1 ,


(10.137)
u(0, t) = h0 (t), u(1, t) = h1 (t) .
In acest caz, pentru a nu avea discontinuit ati ntre conditiile initiale si cele
la limite, trebuie ca f (0) = h0 (0) si g(0) = h1 (0).

Ecuatia undelor are caracteristicile

1 (x, t) = x t, 2 (x, t) = x + t . (10.138)

Cele doua caracteristici care trec printr-un punct P (x0 , t0 ) (figura 10.15) taie
axa Ox n punctele A si B. Valoarea solutiei n punctul P , depinde numai
de valorile din interiorul triunghiul P AB. Segmentul AB se numeste domeniu
(interval) de dependent a. Pe de alt a parte, prin punctul Q(x0 , 0) de pe axa Ox,
trec cele doua caracteristici de ecuatii x + t = x0 si x t = x0 care reprezint a
domeniul de influent a al punctului Q, adic a acea parte a domeniului care este
influentata de valoarea solutiei din punctul Q.
O problema important a const a n stabilirea conditiilor n care solutia ecuatiei
(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 solutia sa existe si s
a fie unic a.
Pentru ecuatia de ordinul al doilea (10.31), se disting trei cazuri la care se
poate demonstra ca solutia exist a si este unica (figura 10.16):
10.2. Ecuatii cu derivate partiale de ordinul II 297

Figura 10.16: Conditiile de existenta si unicitate.

1. Valorile functiei u si ux u/x sunt date pe o curb a necaracteristica


CD. Domeniul n care solutia exist
a si este unic
a este marginit de carac-
teristicile CE si DE si de curba CD (figura din stanga).
2. Valorile u sau ux sunt date pe curba caracteristic a CF si pe curba necarac-
teristica CD. Domeniul n care solutia exist
a si este unic
a este interiorul
CDEF (figura din mijloc).
3. Valorile u sau ux sunt date pe dou
a curbe caracteristice ce trec prin acelasi
punct, CE si CD. Domeniul n care solutia exist a si este unic
a este
interiorul CEF D (figura din dreapta).
Pentru rezolvarea ecuatiilor hiperbolice vom prezenta metoda caracteristici-
lor si metode de discretizare cu diferente finite.

10.2.4 Metoda caracteristicilor


Metoda caracteristicilor reprezint a o metod a natural a pentru rezolvarea ecuati-
ilor hiperbolice. Dimensiunea caracteristicii (din punct de vedere al geometriei)
este n 1, unde n este numarul de coordonate. Spre exemplu, pentru n = 2
avem linii caracteristice, pentru n = 3 avem suprafete caracteristice, s.a.m.d.
Eventualele discontinuitati care pot ap area n interiorul domeniului de calcul
si a caror pozitie este n general necunoscut a nainte de a obtine solutia, se
propaga dupa directiile carateristice, fapt care constituie un avantaj suplimentar
al metodei caracteristicilor fata de metodele de discretizare cu diferente finite.
Reluam ecuatia (10.31), care pentru b2 a c > 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

a f c

dx d(ux ) 0 (10.139)

0 d(uy ) dy
298 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.17: Linii caracteristice.

rezultand
am1 d(ux )/dx + c d(uy )/dx f m1 = 0,
(10.140)
am2 d(ux )/dx + c d(uy )/dx f m2 = 0,

cu m1,2 pantele celor dou


a caracteristici date de

dy 1 p
m1,2 = [b b2 4ac] . (10.141)
dx 2a
Pentru n = 2, ecuatiile cu derivate partiale se transform a n lungul directiilor
caracteristice n ecuatii diferentiale ordinare, acesta reprezent and avantajul prin-
cipal al metodei caracteristicilor. S-a obtinut un sistem de ecuatii diferentiale
format din ecuatiile (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 si uy pe curba diferit a de o curb a. In figura 10.17 se pot
a caracteristic
observa cele doua familii de caracteristici notate m1 si m2 . Deoarece caracte-
risticile depind n general de solutia u, simultan cu determinarea valorii solutiei
uP n punctul R se calculeaz a si pozitia acestuia. In principiu, orice metod a
numerica prezentata la capitolul ?? se poate aplica pentru rezolvarea sistemului
de ecuatii diferentiale obtinut. Folosind metoda Euler, segmentul P R este apro-
ximat cu o linie dreapt a7 astfel ncat precizia este de ordinul distantei dintre
7 Eroarea de discretizare poate fi redusa folosind arce de parabol
a n locul segmentelor de
dreapta, cu pretul unor calcule mai laborioase.
10.2. Ecuatii cu derivate partiale de ordinul II 299

dou
a puncte considerate n calcul. Se obtin relatiile
(yR yP )/(xR xP ) = (m1R + m1P )/2
(yR yQ )/(xR xQ ) = (m2R + m2Q )/2
(aR m1R + aP m1P )(uxR uxP )/2 + (cR + cP )(uyR uyP )/2
(10.142)
(fR + fP )(yR yP )/2 = 0
(aR m2R + aQ m2Q )(uxR uxQ )/2 + (cR + cQ )(uyR uyQ )/2
(fR + fQ )(yR yQ )/2 = 0
cu necunoscutele xR , yR , uxR , uyR si uR (uR apare indirect prin coeficientii aR ,
bR , cR si fR ). Pentru determinarea valorii uR este nevoie de o aproximatie a
relatiei
du = ux dx + uy dy . (10.143)
Se scrie
uR uP = (uxR + uxP )(xR xP )/2 + (uyR + uyP )(yR yP )/2
(10.144)
uR uQ = (uxR + uxQ )(xR xQ )/2 + (uyR + uyQ )(yR yQ )/2 .
Ecuatiile (10.142) si una din (10.144) reprezint
a un sistem de 5 ecuatii neliniare
cu necunoscutele xR , yR , uxR , uyR si uR . Sistemul se poate rezolva iterativ cu
metoda iteratiei simple (capitolul 8.1), luand pentru start valorile necunoscute
din punctul R egale cu cele din punctul de plecare al caracteristicii, P sau Q.
Spre exemplu, prima ecuatie din (10.142) se scrie
(yR yP )/(xR xP ) = (m1P + m1P )/2 = m1P . (10.145)
Procedeul se repeta pentru calculul valorilor solutiei n celelalte puncte ale retelei
de curbe caracteristice (punctele T , S, etc.). Oberv am cum n cazul folosirii
celei mai simple metode de rezolvare a sistemului de ecuatii diferentiale, pentru
fiecare punct al retelei de calcul se rezolv
a un sistem de ecuatii liniare.

Metoda hibrid Hartree.


In cazul unei ecuatii hiperbolice de ordinul al doilea cu dou a variabile indepen-
dente dintre care una este timpul, se poate cere solutia u la momente de timp
specificate. Metoda caracteristicilor aplicat a direct nu poate asigura acest lu-
cru, astfel ca se foloseste o metoda hibrid ntre o metod a cu diferente finite si
metoda caracteriticilor. Aceasta metod a consta n folosirea unei retele de dis-
cretizare fixate nainte de determinarea solutiei (figura 10.18), cu pasul h pentru
Ox si k pentru Ot. Presupunem c a s-au efectuat calculele p ana la momentul de
timp t = n k si trebuie sa calculam solutia pentru momentul de timp urm ator.
Valorile u, ux , uy sunt calculate deci n nodurile retelei p ana la linia n. Ca-
racteristicile care trec prin punctul R intersecteaz a linia n n punctele P si Q.
Valorile u, ux , uy se pot determina prin interpolare folosind valorile din nodurile
de pe linia n (B, A, D). Folosind metoda Euler pentru rezolvarea sistemului de
ecuatii diferentiale ordinare ce rezulta pe directiile caracteristice RP si RQ, se
obtine acelasi sistem neliniar (10.142) si (10.144), necunoscutele fiind de data
aceasta uR , uxR , uyR , xP si xQ , deoarece xR , yR , yP si yQ sunt cunoscute.
300 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.18: Metoda hibrid Hartree.

10.2.5 Scheme cu diferente finite


Pentru ecuatiile hiperbolice de ordinul al doilea, metoda caracteristicilor re-
prezinta 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 diferente finite const a n faptul ca discontinuitatile care exist
a
eventual n conditiile initiale se propag a de-a lungul directiilor caracteristice.
In cazul n care ecuatiile nu sunt foarte complicate iar solutiile nu prezint a
discontinuitati, se pot folosi metode cu diferente finite. Alegerea unei scheme
explicite sau implicite depinde esential de tipul problemei: numai cu conditii
initiale sau cu conditii initiale si la limit a.

Scheme explicite.
Vom considera problema cu conditii initiale

uxx = utt , u(x, 0) = f (x), ut (x, 0) = g(x) . (10.146)

Derivatele partiale le aproxim


am cu diferente centrate

uxx n
= (vi1 2vin + vi+1
n
)/h2 , utt
= (vin1 2vin + vin+1 )/k 2 . (10.147)

Rezulta

vin+1 = m2 (vi1
n n
+ vi+1 ) + 2(1 m2 )vin vin1 , unde m = k/h . (10.148)

Pentru n = 0, avem date valorile vi0 = f (ih). In relatia (10.148) apar si valorile
vi,1 , care se calculeaza cu ajutorul celei de a doua conditii initiale (10.146). Se
aproximeaza derivata n raport cu timpul ut u/t folosind diferente centrate

g(ih) gi = ut |i u/t|i
0 0
= (vi1 vi1 )/2k vi1 = vi1 2kgi . (10.149)
10.2. Ecuatii cu derivate partiale de ordinul II 301

Figura 10.19: Caracteristicile ecuatiei uxx = utt , exact si numeric.

Pentru n = 0 rezulta

vi1 = 12 m2 (fi1 + fi+1 ) + (1 m2 )fi + kgi . (10.150)

In figura 10.19 sunt date punctele care intra n calculul valorii vin+1 , precum
si domeniul de dependenta fizica pentru punctul C. Dreptele AC si BC sunt
caracteristicile ecuatiei uxx = utt care trec prin punctul C. Solutia este deci
unic definita n triunghiul ABC. Dac a m = k/h > 1, atunci se vor calcula nu-
meric valori aproximative ale solutiei u n afara domeniului n care avem solutie
analitica. Daca m 1, atunci solutia numeric a se afla interiorul domeniului de
dependenta fizica al punctului C.
In general, o schem a cu diferente finite este
stabila, daca domeniul de influent
a numeric a include domeniului de influent a
fizica (analitic
a).
Pentru a studia stabilitatea schemei (10.148), se consider a solutia de forma

X
u(x, t) = en t ejn x , (10.151)
n=0

unde j 1. Ecuatia (10.146) fiind liniar a, actioneaz
a principiul superpozitiei
astfel ca este suficient sa se studieze un singur termen din (10.151). Avem

vin = enk ejih (10.152)

si introducand n (10.148) se obtine

ek + ek = 2 4m2 sin 2 h
2 , (10.153)

sau

e2k 2(1 2m2 sin 2 h


2 )e
k
+1=0 . (10.154)

Pentru a evita situatia n care solutia numeric


a creste cand k , trebuie ca
ek 1. Din (10.154) se observa c a produsul |ek |1 |ek |2 = 1, deci singura
302 10. Ecuat
ii diferent
iale cu derivate part
iale

Figura 10.20: Coarda vibranta, n = 2, t = 1.

posibilitate pentru a asigura stabilitatea este |ek |1 = |ek |2 = 1. Cele dou


a
solutii ale ecuatiei (10.154) sunt

ek
1,2 = A , unde A = 1 2m2 sin 2 h 2
2 , =A 1 . (10.155)

Se observa ca pentru a avea ek


1,2 = 1, este necesar ca 0, adic
a

(1 2m2 sin 2 h 2 2 2 h
2 ) 1 0, sau 1 1 2m sin 2 1 . (10.156)

A doua inegalitate (10.156) este ndeplinit


a automat, iar din prima inegalitate
rezulta

m2 1/ sin 2 h
2 , (10.157)

adica domeniul de influent


a numeric
a s
a includ
a domeniul de influent
a fizic
a.
Cazul particular m = 1 prezinta un interes special. Din (10.156) rezulta

1 1 2 sin 2 h 2 h
2 sin 2 1 .

Pentru sin 2 h inem = 0, ek


2 = 1, obt 1,2 = 1. Relat
ia (10.148) devine

vin+1 = vi1
n n
+ vi+1 vi,n1 . (10.158)

Schema (10.158) satisface exact ecuatia (10.146). Pentru a ar ata acest lucru, fo-
losim dezvoltarea n serie Taylor a functiei u n jurul punctului (ih, nk), obtin
and
2
uxx = h12 (uni1 2uni + uni+1 ) h12 uxxxx + O(h4 ) ,
2 (10.159)
utt k12 (ui,n1 2uni + un+1
i ) k12 utttt + O(k 4 ) .
10.2. Ecuatii cu derivate partiale de ordinul II 303

Inlocuind n (10.146), rezulta

un+1
i = m2 (uni1 + uni+1 ) + 2(1 m2 )uni un1 i +
k4 k2 h2 6 2 4
+ 12 utttt 12 uxxxx + O(k ) + O(k h ) ,
m=1 n 4 4 4
h6 6 u 6u
un+1
i = ui1 + uni+1 un1i + h12 ( t4u xu4 ) + 360 ( t6 x6 ) + O(h8 ) .
(10.160)

In cazul n care functia u este de p ori derivabila, se poate usor arata c


a daca
uxx = utt , atunci p u/xp = p u/tp , astfel c
a ultima relatie (10.160) devine

un+1
i = uni1 + uni+1 un1
i , (10.161)

astfel ncat schema cu diferente (10.158) are eroarea de trunchiere nul


a.

Scheme implicite.
O schema implicita poate fi scrisa n general ca

vin1 2vin + vin+1 = m2 [x2 vin+1 + (1 2)x2 vin + x2 vi,n1 ], (10.162)

unde este un parametru de relaxare, iar x2 vin vi1


n n
2vin + vi+1 . In relatia
(10.162), valoarea aproximativa a derivatei utt se calculeaz a ca o medie ponde-
rata ntre valorile aproximative la momentele de timp n 1, n, n + 1. Se poate
arata ca pentru 1/4, schema (10.162) este stabil a oricare ar fi parametrul
retelei de calcul m. Pentru = 0, se obtine schema explicit
a (10.148), iar pentru
= 1/2 se obtine schema

vin+1 2vin + vi+1


n+1
= 21 m2 [x2 vin+1 + x2 vi,n1 ] =
= 2 m [(vi+1 2vin+1 + vi1
1 2 n+1 n+1
) + (vi+1,n1 2vi,n1 + vi1,n1 ) .
(10.163)

Exemplu. Fie ecuatia adimensionalizat


a a coardei vibrante cu conditiile initiale
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)

a (10.148). Solutia analitic


Pentru rezolvare s-a folosit schema explicit 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,
cu m = 1 (k = h). Se observ a rezultatele foarte bune obtinute pentru k = 0.01, bune
pentru k = 0.05, n timp ce pentru k = 0.1, rezultatele sunt nesatisf ac
atoare. Sunt
date de asemenea rezultatele obtinute pentru dou a valori m 6= 1, h = 0.05, k = 0.1,
(m = 2), si h = 0.1, k = 0.01, (m = 0.1). La acelasi pas de timp k = 0.1, pentru
h = 0.05 (m = 2) se obtin rezultate mai slabe dec at pentru h = 0.1 (m = 1), desi n
primul caz h este mai mic. De altfel, pentru m > 1 schema (10.148) nu este stabil a,
fiind de asteptat 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 vibranta, n = 8, t = 1.

proaste. Pentru m = 0.1 (h = 0.1) nu se observ a diferente semnificative fat


a de m = 1,
pentru acelasi pas de timp k = 0.01. T inand cont de (10.160), ne-am fi asteptat ca
rezultatele s a fie bune indiferent de h, dac a m = 1. Schema (10.158) este exact a pentru
m = 1, numai n m asura n care derivatele partiale sunt suficient de precis calculate.
Relatia p u/xp = p u/tp este obtinut a pe baza faptului c a egalitatea exist a pentru
p = 2. Dup a cum se observ a, rezultate nesatisfac
atoare s-au obtinut acolo unde functia
u variaza rapid, pasul h = 0.1, fiind prea mare pentru a obtine o valoare suficient de
precisa pentru derivatele partiale 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 obtin
pentru h = 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 ca 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. Methodes Numeriques, Editions MIR, 1976.
Berbente, C., Zancu, S., Tat aranu, C., Mitran, S., Metode Numerice de
Calcul pentru Aviatie, Litografia Institutului Politehnic Bucuresti, 1988.
Berbente, C., Mitran, S., Zancu, S., Pleter, O., T at
aranu, C., Metode Nu-
merice de Calcul si Aplicatii, Litografia Institutului Politehnic Bucuresti, 1992.
Blumenfeld, M., Calculul Barelor cu Calculatorul Numeric, Editura Tehnic a,
Bucuresti, 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 Didactica si Pedagogic a, Bucuresti, 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
Pedagogica, Bucuresti, 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
atii Bucuresti, 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 TEXbook, 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.
Maruster, St., Metode numerice n rezolvarea ecuatiilor nelineare, Editura
Tehnica, Bucuresti, 1981.
Micula, Gh., Functii Spline si Aplicatii, Editura Tehnica, Bucuresti, 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.
Stanasila, O., Analiza Matematic
a, Editura Didactic a si Pedagogica, Bu-
curesti, 1981.
Wolfram, S., Mathematica A System for Doing Mathematics by Computer,
2nd Ed., Addison-Wesley, 1991.

S-ar putea să vă placă și