Sunteți pe pagina 1din 313

FitVisible

Aceasta este versiunea electronic


a a c
artii Metode Numerice publicat
a 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 programul pdflatex elaborat de Han The Thanh. Hiperleg
aturile din versiunea
electronica au fost generate automat folosind pachetul hyperref al lui Sebastian
Rahtz.
c
COPYRIGHT 1998,
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 autorilor.
c
COPYRIGHT 1997,
Editura Tehnic
a
Toate drepturile asupra editiei tip
arite sunt rezervate editurii.

Adresa: EDITURA TEHNICA


Piata Presei Libere, 1
33 Bucuresti, Rom
ania
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 simularea unui tot mai mare num
ar de probleme fizice, ingineresti sau economice.

In paralel, a avut loc o dezvoltare a programelor disponibile fizicianului, inginerului 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
ns
a, o baz
a teoretic
a solid
a pentru a fi efectiv folosite.
Reprezentarea printr-un num
ar finit de cifre semnificative a numerelor n
calculator introduce dificult
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 teoreme 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 duc
a,
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 esent
a (matematic)
acestea difer
a foarte putin.
Aceast
a 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. Algoritmii cei mai utilizati sunt prezentati integral. O serie de algoritmi avansati, de
larg
a aplicabilitate sunt de asemenea inclusi. Autorii au ncercat o prezentare
intuitiv
a 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, optimizare, ecuatii diferentiale.
In prezentarea algoritmilor s-a optat pentru folosirea 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 executabile, 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 lucr
ari 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 numeroase exemple detaliat rezolvate. Acestea provin din cele mai variate domenii:
ingineria mecanic
a, ingineria electric
a, fizic
a si chimie. S-a ncercat formularea
unor exemple 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 modalitate de prezentare s
a fie util
a at
at studentului c
at si practicianului metodelor
numerice.

1997

Autorii

CUPRINS

Cuprins
1 Aproximarea functiilor de o variabil
a
1.1 Aproximarea prin interpolare . . . . . . . . . . . . . .
1.1.1 Interpolarea polinomial
a global
a . . . . . . . .
1.1.2 Interpolare cu functii spline . . . . . . . . . . .
1.1.3 Interpolare cu functii trigonometrice . . . . . .
1.1.4 Interpolare n planul complex . . . . . . . . . .
1.2 Aproximarea mini-max . . . . . . . . . . . . . . . . . .
1.2.1 Polinoamele Cebasev . . . . . . . . . . . . . . .
1.2.2 Minimizarea erorii la interpolarea polinomial
a.
1.2.3 Aproximarea aproape mini-max a unei functii .
1.3 Aproximarea n sensul celor mai mici p
atrate . . . . .
1.4 Elemente de teoria aproxim
arii . . . . . . . . . . . . .
1.4.1 Spatii vectoriale . . . . . . . . . . . . . . . . .
1.4.2 Produsul scalar si ortogonalitate . . . . . . . .
1.4.3 Norme, operatori si functionale . . . . . . . . .
1.4.4 Problema general
a a celei mai bune aproxim
ari

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
2
3
10
16
23
30
30
32
34
36
40
41
42
47
49

2 Derivarea si integrarea numeric


a
2.1 Derivarea numerica . . . . . . . . . . . . . . . . . . . .
2.1.1 Derivate folosind polinoame de interpolare . . .
2.1.2 Formularea operatorial
a . . . . . . . . . . . . .
2.1.3 Polinoame de interpolare n functie si derivat
a
2.1.4 Derivate folosind functii spline . . . . . . . . .
2.1.5 Derivate folosind diverse aproximatii . . . . . .
2.2 Integrarea numerica . . . . . . . . . . . . . . . . . . .
2.2.1 Formule Newton-Cotes nchise . . . . . . . . .
2.2.2 Formule de integrare deschise . . . . . . . . . .
2.2.3 Tehnici de atingere a unei precizii impuse . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

53
53
54
57
59
61
61
62
63
68
76

3 Rezolvarea ecuatiilor neliniare


3.1 Metoda njumatatirii intervalelor
3.2 Procedee iterative . . . . . . . .
3.2.1 Iteratia simpla . . . . . .
3.2.2 Metoda Newton-Raphson

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

85
86
87
87
89

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

VI

CUPRINS

3.3

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


3.2.4 Metoda parabolelor tangente . . . . .
Determinarea r
ad
acinilor polinoamelor . . . .
3.3.1 Metoda Lobacevschi-Graeffe . . . . . .
3.3.2 Metode de factorizare a polinoamelor

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

. 91
. 93
. 96
. 96
. 101

4 Erorile de calcul numeric


109
4.1 Surse de erori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.2 Propagarea erorilor n calcule . . . . . . . . . . . . . . . . . . . . 111
5 Rezolvarea sistemelor liniare
5.1 Metode directe . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Metoda elimin
arii a lui Gauss . . . . . . . . . . . . . . .
5.1.2 Metoda Gauss-Jordan . . . . . . . . . . . . . . . . . . . .
5.1.3 Propagarea erorilor la metodele de eliminare. Rafinarea
solutiei . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.4 Interpretarea matriceal
a a metodelor de eliminare . . . .
5.1.5 Calculul matricei inverse . . . . . . . . . . . . . . . . . .
5.1.6 Relatia Sherman-Morisson . . . . . . . . . . . . . . . . . .
5.1.7 Rafinarea matricei inverse . . . . . . . . . . . . . . . . .
5.1.8 Efectele erorilor din datele initiale . . . . . . . . . . . . .
5.1.9 Factorizarea L U . . . . . . . . . . . . . . . . . . . . . .
5.1.10 Descompunerea SV D . . . . . . . . . . . . . . . . . . . .
5.1.11 Sisteme cu matrice rare . . . . . . . . . . . . . . . . . . .
5.2 Metode iterative . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Metoda iterativ
a Jacobi . . . . . . . . . . . . . . . . . . .
5.2.2 Metoda iterativ
a Gauss-Seidel . . . . . . . . . . . . . . . .
5.2.3 Accelerarea convergentei metodelor iterative . . . . . . . .
5.3 Comparatii ntre metode . . . . . . . . . . . . . . . . . . . . . . .
5.4 Elemente de calcul matriceal . . . . . . . . . . . . . . . . . . . .

115
116
116
121

6 Vectori si valori proprii


6.1 Elemente introductive . . . . . . . . . . . . . . . . . .
6.2 Metode pentru c
ateva valori proprii . . . . . . . . . . .
6.2.1 Metoda puterii directe . . . . . . . . . . . . . .
6.2.2 Metoda puterii inverse . . . . . . . . . . . . . .
6.2.3 Metoda deplas
arii . . . . . . . . . . . . . . . .
6.3 Determinarea tuturor valorilor si vectorilor proprii . .
6.4 Metoda Danilevschi . . . . . . . . . . . . . . . . . . .
6.5 Metodele QR si LR . . . . . . . . . . . . . . . . . . .
6.5.1 Rezultate teoretice preliminarii . . . . . . . . .
6.5.2 Algoritmi auxiliari . . . . . . . . . . . . . . . .
6.5.3 Formularea metodelor QR si LR . . . . . . . .
6.5.4 Reducerea num
arului de operatii la factorizare
6.5.5 Accelerarea metodelor QR si LR . . . . . . . .
6.5.6 Calculul vectorilor proprii . . . . . . . . . . . .

151
151
152
152
155
156
156
157
162
163
169
171
172
175
176

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

121
124
125
128
129
131
132
134
135
138
138
140
143
145
146

CUPRINS

VII

7 Metode de optimizare
7.1 Minimizarea n lungul unei directii . . . . . . . . . . . . . . . . .
7.2 Metode de minimizare far
a calculul derivatelor . . . . . . . . . .
7.3 Metoda gradientului . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 Metoda Newton . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5 Metode cvasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . .
7.6 Metode de gradient conjugat . . . . . . . . . . . . . . . . . . . .
7.6.1 Rezolvarea sistemelor de ecuatii liniare folosind metode
de optimizare . . . . . . . . . . . . . . . . . . . . . . . .
7.7 Metode specifice de optimizare . . . . . . . . . . . . . . . . . . .
7.8 Probleme de optimizare cu restrictii . . . . . . . . . . . . . . . .

181
183
187
190
193
196
198

8 Rezolvarea sistemelor neliniare


8.1 Iteratia simpla . . . . . . . . .
8.2 Metoda iterativa Newton . . .
8.3 Metode cvasi-Newton . . . . . .
8.4 Metoda gradientului . . . . . .
8.5 Metoda hibrida . . . . . . . . .

200
204
205

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

213
214
216
219
221
223

9 Rezolvarea ecuatiilor diferentiale


9.1 Consideratii generale . . . . . . . . . . . . . . . . . . . .
9.2 Metode cu pasi separati . . . . . . . . . . . . . . . . . . .
9.2.1 Formule Euler . . . . . . . . . . . . . . . . . . . .
9.2.2 Formule Runge-Kutta . . . . . . . . . . . . . . . .
9.2.3 Formule Runge-Kutta-Gill . . . . . . . . . . . . . .
9.2.4 Alegerea pasului la rezolvarea ecuatiei diferentiale
9.3 Extrapolare Richardson. Metoda Bulirsch-Stoer . . . . . .
9.4 Metode cu pasi legati . . . . . . . . . . . . . . . . . . . . .
9.4.1 Formule explicite . . . . . . . . . . . . . . . . . . .
9.4.2 Formule implicite . . . . . . . . . . . . . . . . . . .
9.5 Propagarea erorilor. Stabilitate. . . . . . . . . . . . . . . .
9.6 Sisteme de ecuatii diferentiale. Ecuatii de ordin superior .
9.6.1 Probleme cu valori initiale . . . . . . . . . . . . . .
9.6.2 Probleme cu valori la limite . . . . . . . . . . . . .
9.6.3 Ecuatii diferentiale de ordin superior . . . . . . .
9.7 Sisteme cu scari disparate . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

229
229
230
230
233
234
235
238
239
239
241
243
247
248
249
254
255

10 Ecuatii diferentiale cu derivate partiale


10.1 Ecuatii cu derivate partiale de ordinul I . . . . . . .
10.2 Ecuatii cu derivate partiale de ordinul II . . . . . . .
10.2.1 Ecuatii cu derivate partiale de tip parabolic .
10.2.2 Ecuatii cu derivate partiale de tip eliptic . . .
10.2.3 Ecuatii cu derivate partiale de tip hiperbolic
10.2.4 Metoda caracteristicilor . . . . . . . . . . . .
10.2.5 Scheme cu diferente finite . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

263
264
270
273
287
295
297
300

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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, restrictiile fiind legate de conditia ca functia care aproximeaz
a s
a fie c
at mai simpl
a.
In al doilea caz informatiile sunt reduse si se completeaz
a cu presupuneri suplimentare, 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

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 c


a nodurile (xi , yi )
sunt cunoscute exact. Dac
a din diverse motive cel mai adesea datorit
a
unui procedeu de m
asurare nodurile sunt afectate de erori atunci criteriul
de interpolare este inadecvat.
b) Minimizarea abaterii maxime. Se impune 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.
c) Minimizarea sumei p
atratelor abaterilor n noduri. In acest caz se impune
ca
S=

n
X

(yi g(xi )) = minim .

(1.5)

i=1

Se observa c
a, n cazul interpol
arii, aceast
a sum
a este chiar nul
a, 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 nt
alnit
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) reprezinta 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

c-alegerea formei functiei de aproximare s


a fie f
acut
a 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)
g(x) =

N
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 contin
a elemente
arul de parametri s
a nu se
distincte, astfel ncat introduse n forma (1.6), num
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 aceast
a 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
g(x) =

N
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

asirii coeficientilor ak din conditia


Revenind la forma (1.7) se pune problema g
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 neconvenabila. 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 constituie 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 .

1. Aproximarea funct
iilor de o variabila

(xi , yi ), se introduc urm


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

DD(x3 , x2 , x1 ) =

y2 y1
,
x2 x1

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

DD(xN , xN 1 , . . . , x1 ) =

DD(xN , . . . , x2 ) DD(xN 1 , . . . , x1 )
.
xN x1

(1.9)

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:
DD(xN , xN 1 , . . . , x1 ) =

N
X
i=1

yi

N
Y

(xi xj ) .

(1.10)

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
atuindu-se un tabel
divizate sa nu se calculeze cu formula (1.10) ci recursiv, alc
(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 ) =
y1 + (x x1 ) DD(x2 , x1 ) + (x x1 )(x x2 ) DD(x, x2 , x1 ) .

(1.12)

In relatia (1.12) ultima diferent


a divizat
a este format
a cu punctul curent x.
Continuand procedeul (1.12) p
an
a 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 ) ,
RN 1 =

N
Y

i=1

(x xi ) DD(x, xN , xN 1 , . . . , x1 ) .

(1.14)

1.1. Aproximarea prin interpolare

Se verifica direct din (1.14) c


a restul se anuleaz
a 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.
atuieste mai int
ai tabloul diferentelor
Pentru scrierea polinomului (1.13) se alc
divizate de diverse ordine. Nu este necesar ca tabloul s
a cuprind
a 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
Q(t) = f (t) pN 1 (t)

N
Y

(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 derivabil
a 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
ac
and
intervalul (a, b). Fie t = acest zero. Deriv
and relatia (1.15) de N ori, si f
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
at
a forma
de derivata de ordinul N . In acest fel, restul la interpolare (1.14) cap
RN 1 (x) =

N
Y

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

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 intentioneaz
a 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 alegerea 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, diferent
a 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
DD(xN , xN 1 , . . . , x1 ) =

N 1 f (xN )
N 1 f (x1 )
=
,
N
1
(N 1)!h
(N 1)!hN 1

(1.23)

1.1. Aproximarea prin interpolare

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

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

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
0

N
Y
x xj
, k 1, N ,
Lk (x) =
xk xj
j=1

unde produsul

Q0

(1.29)

a
se ia pentru j 6= k. Se observ
a direct din (1.29) c

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


a xj = xk .

(1.30)

Polinomul de interpolare Lagrange se scrie


pN 1 (x) =

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

1. Aproximarea funct
iilor de o variabila

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

L2 (x) =

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

L3 (x) =

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

L4 (x) =

(x 1)(x 2)(x 3)
1
=
(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 canonic
a a fost f
acut
a 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 c
and num
arul N de noduri creste. Spre exemplu,
a proportionalitatea
n cazul diviziunilor egale, expresiile (1.26) si (1.28) indic
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)| c
and N , diviziunile intervalului
[5, 5] fiind luate egale. Comportarea interpol
arii pentru N = 6 si N = 11 este
a prin teorema
redata n figura 1.1. Mai general, acest rezultat negativ se exprim
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

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 calculului 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
k = N : 1 : j
[dk (dk dk1 )/(xk xkj1 )

(1.32)

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 polinomului ntr-un punct u se face eficient prin schema lui Horner
S dN
j = (N 1) : 1 : 1
[S dj + (u xj ) S

(1.33)

2 Am folosit notat
ia Matlab j = jini : pas : jf in pentru bucle: variabila j este initializat
a la
valoarea jini si apoi incrementat
a cu pas. Instructiunile din bucl
a, delimitate de [ se execut
a
repetat p
an
a c
and 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


j =k+1:N
P 1

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 global
a, pe tot intervalul [a, b], nu converge
ntotdeauna. Desigur, dac
a am reusi s
a micsor
am diviziunea f
ar
a a modifica gradul 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 polinomiala 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)

adic
a 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 ,
p02,i (xi+1 ) = p02,i+1 (xi+1 ) ,

(1.40)

care se pot scrie n nodurile xi , i = 1, 2, 3, . . . , N 2 conduce la sistemul


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

(1.41)

ce trebuie completat cu o singur


a 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
an
a la
ordinul doi inclusiv, ceea ce permite calculul razei de curbur
a. Din conditiile de
continuitate pe noduri p
an
a la derivata de ordinul 2 inclusiv
p3,i (xi+1 ) = yi+1 ,
p03,i (xi+1 ) = p03,i+1 (xi+1 ) ,
p003,i (xi+1 ) = p003,i+1 (xi+1 ) ,

(1.44)

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 egalit
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
a 2 > |i | + |i | = 1.
racordare (1.48) sunt diagonal dominante pe linii, adic
Cum o matrice diagonal dominant
a este, n general, inversabil
a, este suficient
a p
astreze aceast
a proprietate. Practic,
ca si conditiile suplimentare (1.50) s
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

1
l2

A=
0
.
..
0

0
1
l3
..
.
0

..
.

0
0
..
.

..

1
lN

r
1

0

0 ...
1
0
0
0
..
.

1
r2
0
..
.
0

..
.
..
.
..
.

N 2

rN 1
0

N 1
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 supradiagonalei 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, de clas
a C (2) [a, b] ce este aproximat
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 verific
ari 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 aproximare, 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 intervalul [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 abaterea 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 intervalului si diferenta maxima de pante ntre functia f si linia poligonal
a. Aceast
a
evaluare nu corespunde nsa neap
arat functiei spline de interpolare, dar sugereaza 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 c
a interpolarea polinomial
a global
a
esueaz
a. Se adopt
a o diviziune echidistant
a a intervalului cu h = [5 (5)]/(N 1),
xk = x1 + (k 1)h, k 1, N . Se vor considera trei tipuri de 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
k =

1000
X
i=1



(k)
(k)

(k)
f (ui ) s (ui ) / f (ui ) , k = 0, 1, 2

pentru diverse valori ale lui N unde {ui , i 1, 1000} este o diviziune echidistant
a
fin
a a intervalului [5, 5]. Rezultatele sunt prezentate n figura (1.4). Se observ
a
c
a interpolarea este convergent
a, eroarea relativ
a sc
az
and rapid cu 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 dup
a 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 polinomial
a 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
a o baz
a5 . Avem un
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 ortogonalitate pe multimea discreta de puncte {xi } = {0, 1/2N, 2/2N, ..., (2N 1)/2N }
2N
1
X
j=0

2N
1
X
j=0

k 6= m
0,
N, k = m 6= 0, N
cos 2kxj cos 2mxj =

2N, k = m = 0, N

sin 2kxj sin 2mxj =

0, k 6= m
;
N, k = m

2N
1
X

(1.56)

cos 2kxj sin 2mxj = 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
imea infinit
a {1, cos x, sin x, cos 2x, sin 2x, . . . } formeaz
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
g(x) = 12 a0 +

N
1
X

[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 amplific
a cu sin 2mxj iar apoi se
calculeaza suma de la j = 0 la j = 2N 1
"
NP
1
2N
2N
P1
P1
a0 2NP1
(cos 2kxj sin 2mxj ) +
sin 2mxj +
yj sin 2mxj =
ak
2 j=0
j=0
j=0
k=1
#
2N
P1
aN 2NP1
(sin 2kxj sin 2mxj ) +
bk
(cos 2N xj sin 2mxj ) .
2 j=0
j=0
Se poate observa schimbarea ordinii de nsumare din relatia de mai sus ce permite aplicarea (1.56) obtin
andu-se
2N
1
X

g(xj ) sin(2mxj ) =

j=0

2N
1
X

yj sin(2mxj ) = bm N .

j=0

Un calcul analog pentru ceilalti coeficienti conduce la relatiile


ak =

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

(1.58)

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
a vom avea toti ak = 0
prezentate n 1.1.4. Se poate lesne observa din (1.58) c
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
g(x) = 12 a0 +

N
X

k=1

[ak cos(2kx) + bk sin(2kx)] ,

1.1. Aproximarea prin interpolare

19

coeficientii ak si bk fiind dati de


2N

ak =

2N

X
X
2
2
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
ar, ridic
and expresia (1.57) la
p
atrat 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 X 2
1
a0 +
(ak + b2k ) + a2N =
y
4
2
4
2N j=0 j

(1.59)

k=1

relatie denumita egalitatea lui ParsevalR discret


a. C
and N creste, suma din
1
a integrala este m
arginit
a6
membrul drept se aproprie de integrala 0 y 2 dx. Dac
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 trigonometric
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
mic
a distanta de pe abscisa pe care functia f are o variatie semnificativ
a. Deoarece 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 contin
a un num
ar de termeni N .
a functiei f polinomul (1.57) trebuie s
Acest rezultat este cunoscut sub numele de criteriul Nyquist ce rezult
a dintrun 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 interpolarea functiei treapt
a. Pe m
asur
a ce N creste, interpolarea se aproprie mai mult de
functia exact
a f
ar
a 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 polinomul (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
frecventa de variatie posibil
a a unei functii ar fi ceea ce corespunde
la x = 0, adica f sa prezinte discontinuit
ati. Cum nu vom putea ndeplini
niciodata criteriul Nyquist N pentru functii discontinue, interpolarea trigonometrica 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. R
aspunsul
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
f (x) = 12 0 +

[k cos(2kx) + k sin(2kx)] .

(1.60)

k=1

am de la
Ca mai nainte, evaluam (1.60) n xj , nmultim cu sin 2mxj si nsum
j = 0 la j = 2N 1. Urmarim doar termenii cu produse de functii sinus
ceilalti dau contributii nule conform (1.56)
i
P2N 1
P2N 1 h P2N 1
k j=0 (sin 2kxj sin 2mxj ) +
j=0 f (xj ) sin 2mxj =
k=1
i
P4N 1 h P2N 1
(sin
2kx
sin
2mx
)
+ ...+

j
j
k
j=0
k=2N
i
P2(p+1)N 1 h P2N 1
k j=0 (sin 2kxj sin 2mxj ) + . . . .
k=2pN
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 )
coeficientii determinati
coeficientilor ak , bk la dublarea lui N . Fie ak , bk
(4N )
(4N )
coeficientii determinati folosindu-se 4N
folosindu-se 2N puncte si ak , bk
(2N ) (4N )
(2N ) (4N )
pentru k N atunci num
arul
puncte. Daca ak
= bk
= ak , b k
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 dezavantajoas
a, conduc
and la dou
a
functii
p
y = b 1 x2 /a2 .
De aceea se prefer
a coordonatele polare r, sau coordonatele paramametrice r, t. In
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 transformarea 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. Rezultatele 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 reprezentare

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 echidistant repartizate n intervalul [0, 1]. Evalu
am calitatea interpol
arii pentru diverse
valori ale lui N = 4, 8, . . . , 256 prin calculul erorii relative pe o diviziune mai deas
a
{j = j/2048, j 0, 2048}
N =

4N
X

|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 dou
a reprezent
ari adoptate.
Rezultatele sunt prezentate n fig. 1.7. In toate cazurile, interpolarea este convergent
a: pe m
asur
a 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 intervalul [0, 1]. Odat
a cu sc
aderea raportului a/b, observ
am c
a este nevoie de un num
ar
mai mare de termeni n polinomul trigonometric pentru a se 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
and
unite cu linii n fig. 1.7) conduce la erori mai mici n toate cazurile studiate, arat
importanta unei alegeri judicioase a reprezent
arii.
S
a mai remarc
am c
a, o dat
a atins
a o precizie de circa 12 cifre, n cazul unei 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 mobil
a cu o precizie de circa 11, 12 cifre semnificative. 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 rotunjire. Dac
a ntr-adev
ar este nevoie de o acuratete mai mare trebuie lucrat n precizie
sporit
a.

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 discret
a 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 s
a
a des nt
alnit
a
se transforme pe exteriorul cercului (fig. 1.8), este o problem
n mecanica fluidelor incompresibile sau n electricitate. Conform teoremei de
reprezentare Riemann, odata precizate contururile, se mai pot alege trei parametrii reali. Acestia se determina de regul
a din impunerea unor corespondente
ce au semnificatie fizica. Vom ncerca mai nt
ai 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
z=

M
2
X

Cn n .

(1.61)

n=1

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


a din conditii de corespondenta 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
zk =

M
2
X

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

(1.63)
k = exp(ik), i 1, 2/M .
Coeficientii Cn sunt solutia sistemului
M
2
X

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
functiile exp(ikn) formeaz
a un sistem ortogonal. Intr-adev
ar, nmultind
and dup
a k,
(1.64) membru cu membru, cu exp(ijk), j = 1, 2, ..., M 2 si sum
se obtine succesiv
M
1
X

zk eijk =

M
1 M
2
X
X

Cn eik(jn) =

k=0 n=1

k=0

M
2
X

Cn

n=1

M
1
X

eik(jn) .

(1.65)

k=0

Dar progresia geometric


a de ratie exp i(j n) se poate suma obtin
andu-se
M
1
X

eik(jn) =

k=0

1 ei(jn)M
=
1 ei(jn)

0
M

dac
a j 6= n
.
dac
aj=n

In consecinta, din (1.65) se obtine


Cj =

M 1
1 X ijk
e
, j 1, M 2 .
M

(1.66)

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 direct
a (TFDD) a functiei u(N ) ca
(N )
fiind o alta functie retea, notata U , ale c
arei valori n noduri sunt date de
relatiile
(N )

Uk

N
1
X

(N )

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 obtin
andu-se
(N )

uj

N 1
1 X (N ) jk
, j 0, N 1 .
Uk
N

(1.69)

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
a deducere a algoritmului, o
sau prescurtat TFR11 . Vom prezenta cea mai simpl
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
(2P )

(2P )

(P )
(P )
vm
= u2m , wm
= u2m+1 , m 0, P 1 .
11 O aplicat
ie tipic
a provine din domeniul previziunilor meteo pe termen scurt pe care se
bazeaz
a navigatia aerian
a si marin
a. Tipic, pentru o previziune pe 3 zile, se calculeaz
a 106
TFD-uri de lungime N = 214 . Un calculator performant, de vitez
a 109 operatii aritmetice pe
secund
a, n-ar reusi calculul produselor matrice-vector dec
at n 74 ore prea t
arziu ca s
a mai
fie de folos. Cu folosirea TFR timpul se reduce la circa 4 minute!

26

1. Aproximarea funct
iilor de o variabila

Suma (1.68) se poate scrie


(2P )

Uk

2P
1
X

(2P )

uj

jk =

P
1 h
X

i
(P ) 2mk
(P ) (2m+1)k
vm

+ wm

m=0

j=0

P
1
X

(P ) 2mk
vm

+ k

m=0

P
1
X

(P ) 2mk
wm

(1.70)

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 )

Uk

(P )

= Vk

(P )

+ k Wk

(P )

(2P )

, Uk+P = Vk

(P )

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 c
astiga 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 ar
atat n urm
atoarea schem
a
etapa 0:
etapa 1:
etapa 2:

0
0
0

1
2
4

2
4
2

3
6
6

4
1
1

5
3
5

6
5
3

7
7
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
etapa 2: 0002

0012
1002

0102
0102

0112
1102

1002
0012

1012
1012

1102
0112

1112
.
1112

Observati ca inversarea ordinei de citire a indicilor din ultima etap


a 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-inversat
a. Putem da acum algoritmul TFR

c
attimp p N
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
a este s
a se scrie
trigonometric (1.57) precizati de relatiile (1.58). O cale evident
ck ak + ibk =

2N 1
1 X
yj exp(2ijk/2N ), k 0, N
N j=0

si s
a se aplice TFR asupra vectorului yj , j 0, 2N 1 ce are 2N componente.
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

ck =

1
2N (Zk

+ ZN
k )

i
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 suplimentare.
Exemplu. Prezent
am o aplicatie real
a tipic
a. Un senzor de vibratii a m
asurat
deplas
arile unei componente mecanice rezult
and datele din fig. 1.10. Vibratiile de
frecvent
a mai joas
a de 1 Hz nu prezentau interes astfel nc
at fereastra de timp n
care s-au m
asurat datele a fost de t = 1 sec. Se cere identificarea frecventelor de
amplitudine maxim
a astfel nc
at s
a se poat
a identifica sursele de excitatie ce produc
vibratia componentei.
Rezolvare. M
asur
atorile au fost efectuate cu patru rate de esantionare N = 256,
512, 1024 rezultand datele u(256) , u(512) , u(1024) . Pentru identificarea frecventelor dominante 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 aplic
a 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 rat
a 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 c
a 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 folosit
a 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
realizat
a 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.2

1. Aproximarea funct
iilor de o variabila

Aproximarea mini-max

Trecem acum la considerarea celui de-al doilea criteriu de aproximare (1.3).


Exemplul lui Runge din 1.1.1 a ar
atat c
a aproximarea prin interpolare, chiar
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),
am aici
adica criteriul (1.3) pe care-l repet
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 liniara de monoame. Examinnd comportarea monoamelor xk pe intervalul [1, 1]
se constata ca toate iau valori absolute maxime la capetele intervalului; prin urmare 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 monoton 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 poat
a 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 comportare: 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 c
autate 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.

n
0
1
2
3
4
5

Tabelul 1.2: Polinoame Cebasev


Tn (z)
zn
1
T0
z
T1
1 + 2z 2
(T0 + T2 )/2
3z + 4z 3
(3T1 + T3 )/4
1 8z 2 + 8z 4
(3T0 + 4T2 + T4 )/8
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 c
a 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 c
a n Tn (z) coeficientul lui z n este
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:
Teorem
a. Dintre toate polinoamele monice de grad n fixat, Tn (z) are cea mai
mica margine n valoare absolut
a pe intervalul [1, 1].
Demonstratie. Proced
a m prin reducere la absurd. In acest scop s
a observ
am


mai ntai ca functia Tn (z) = 21n |cos n| ia de n + 1 ori valorea maxim
a 21n
a consider
am
pe [1, 1], anume n punctele distincte zk0 = cos(k/n), k 0, n. S
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 mic
a n modul dect Tn (z) pe [1, 1],
adica


sup |
pn (z)| < sup Tn (z) = 21n .
(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)
a
pn (z) vom obtine, evident, un polinom de gradul n 1. Din (1.76) rezult


(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. Rezult
a c
a presupunerea
a, deci oricare ar fi polinomul monic pn (z) avem
(1.75) nu este adevarat
sup |
pn (z)| 21n .

(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


a un polinom de gradul
formularea generala (1.73) vom lua functia aproximant
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 minimizeaza 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 convenabil sa privim polinomul pN 1 ca fiind definit de faptul c
a trece prin nodurile
a, spre deosebire de problema anterioar
a de
{(xi , yi ), i 1, N }. Nodurile ns

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)
RN 1 (x) =

N
Y

(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




21N .
(x xi ) =
(z zi )




2
2
i=1
i=1

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 polinoamele 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 c
a interpolarea functiei lui Runge f (x) = 1/(1 + x2 ) pe
[5, 5] cu o repartitie echidistant
a a nodurilor nu converge. Vom determina acum un
alt polinom ce aproximeaz
a pe f (x) dar la care nodurile nu mai sunt luate echidistant,
ci sunt determinate de criteriul mini-max, anume vom lua xk = 5zk , k 1, N , cu zk
determinate de (1.79). Ca n exemplele
precedente calitatea aproxim
arii este apreciat
a
P
prin evaluarea erorii relative  = 500
|f
(u
)

p
(u
)|
/
|f
(u
)|
pe
o
diviziune
mai
i
N
1
i
i
i=1
fin
a a intervalului [5, 5]. Variatia erorii  cu N este
N
lg 

5
0.4

10
0.8

15
1.2

20
1.6

25
2.1

30
2.4

35
3.0

40
3.3

45
3.8

50
4.2

oberv
andu-se c
a aproximarea converge. Observ
am acum clar importanta alegerii nodurilor pe care se bazeaz
a o interpolare. Aproximarea prezent
a este tot o interpolare,
bazat
a ns
a pe alte noduri dec
at cele echidistante considerate anterior. Comportarea
a c
a, pentru N mic, apar oscilatii ntre
aproxim
arii este redat
a n fig. 1.13. Se observ
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 dec


at cel anterior (1.73) deoarece nu mai impunem
determinarea polinomului aproximant pN (x) astfel nc
at s
a realiz
am un minim
al erorii, ci doar ca eroarea s
a devin
a mai mic
a dec
at un prag dat e. De data
aceasta gradul polinomului nu se mai consider
a fixat, ci c
aut
am polinomul de
gradul cel mai mic ce satisface conditia (1.80). Asemenea probleme apar tipic n
situatii n care dorim o aproximare c
at 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
f (x) =

M
X

bk xk ,

(1.81)

k=0

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


at f se poate scrie
polinoamele Cebasev (vezi tabel 1.2) astfel nc
f (x) =

M
X

ak Tk (x) .

(1.82)

k=0

Am vazut ca polinoamele Ceb


asev sunt mai eficiente n descrierea variatiilor
unei functii pe [1, 1] dec
at monoamele xk . Este asadar de asteptat ca sirul
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
pN (x) =

N
X

ak Tk (x).

k=0

Deoarece |Tk (x)| 1, vom putea trunchia seria (1.82) la cel mai mic N pentru
care avem
|f (x) pN (x)| =

M
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
a
din 1.2.2 gradul polinomului se considera cunoscut. De asemenea, cu toate c
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 impus
a.
Exemplu. Intr-un calculator de navigatie aerian
a, este nevoie de un algoritm de
aproximare a functiei cos x. Abaterea maxim
a admis
a 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 variabil
a x = z/2. Functia cos(z/2) are dezvoltarea n serie


1 2 2
1  4 4
1  2n 2n

z +
z + . . . + (1)n
z + R2n+1 .
cos z = 1
2
2! 2
4! 2
(2n)! 2
Restul dezvolt
arii poate fi m
arginit dup
a cum urmeaz
a




 2n
cos (2n+1)  2n
1
|z|2n+1
.
|R2n+1 | =
(2n + 1)!
2
(2n + 1)! 2
Restul devine mai mic dec
at eroarea impus
a pentru n = 5. Deci suma Taylor




2
4
1
1
1  6 6
1  8 8
1  10 10
z2 +
z4
z +
z
z
S10 (z) = 1
2! 2
4! 2
6! 2
8! 2
10! 2
realizeaz
a conditia de eroare impus
a 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 urm
atoarele valori ale coeficientilor ak din (1.82)
a0
0.472

a2
0.499

a4
2.79 102

a6
5.96 104

a8
6.69 106

a10
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 dec
at S10 .
Graficul erorii cos x p6 (x) prezentat n figura (1.14) confirm
a atingerea preciziei
impuse.

1.3

Aproximarea n sensul celor mai mici p


atrate

Reamintim ca, n acest caz, criteriul de aproximare l reprezint


a minimizarea
sumei (1.5)
S=

N
X

[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)
g(x) =

n
X

aj gj (x) ,

(1.84)

j=1

gj (x) fiind functii cunoscute, liniar independente, iar aj , j = 1, 2, . . . , n paramea de minimizare


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

1.3. Aproximarea n sensul celor mai mici p


atrate

37

av
and caracterul unor perturbatii care trebuie, dimpotriv
a, eliminate13 . Este
deci evident ca numarul de parametri n trebuie s
a fie mai mic dec
at num
arul
de noduri N, n < N .
a o eroare. In acest caz ns
a eroarea
Criteriul (1.83), ca si 1.73, minimizeaz
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
(1.86)
aj
gi (xk )gj (xk ) =
yk gi (xk ), i 1, n ,
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
S=

N
X

w(xk )[yk g(xk )]2 = minim,

(1.87)

k=1

iar sistemul (1.86) se va nlocui cu


n
X
j=1

aj

N
X

k=1

w(xk )gi (xk )gj (xk )

N
X

yk w(xk )gi (xk ), i 1, n .

(1.88)

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 legat
a 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.


limbajul din capitolul 5, matricea sistemului (1.86) sau (1.88) este r
au conditionat
a,
iar rezolvarea cere tehnici speciale cum ar fi descompunerea n valori singulare.
14
In

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
a g(x) este convenabil
a
unei combinatii liniare (1.84) pentru functia aproximant
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 abaa
terile din fig. 1.15 de la cotele nominale. Sunt reprezentate si marginile ce determin
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
N
N
2

b
=
e
p
p
a
+
p
k
k
k
k
k=1
Pk=1 
Pk=1 
N
N

=
ek
pk a + N b
k=1

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 prev
azut
a.

1.3. Aproximarea n sensul celor mai mici p


atrate

39

Exemplul 2. O serie de m
asur
atori chimice au furnizat ratele de reactie din tabelul
de mai jos. Din teoria reactiilor chimice se cunoaste dependenta ratei de reactie de
temperatur
a
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
2000
2100
2200
2300
2400
2500

k
mol/cm3
8.4765e12
7.6895e12
7.0071e12
6.4118e12
5.8892e12
5.4280e12

T
K
2600
2700
2800
2900
3000
3100

k
mol/cm3
5.0189e12
4.6544e12
4.3282e12
4.0351e12
3.7708e12
3.5317e12

T
K
3200
3300
3400
3500
3600
3700

k
mol/cm3
3.3146e12
3.1169e12
2.9364e12
2.7711e12
2.6194e12
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
S=

N
X

(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

ln
k
N
ln
c
+
ln
T

1/T
K/R
=

j
j
j
j=1

P

j=1

P

P j=1

PN
N
N
N
2
ln
T
ln
c
+
ln
T

ln
T
/T
K/R
=
ln
k
ln
T
j
j
j
j
j
j


Pj=1

 j=1

 j=1

j=1

N
PN 1/Tj ln c + PN ln Tj /Tj PN 1/Tj2 K/R
=
ln kj /Tj
j=1

j=1

j=1

j=1

a c
arui solutie este ln c = 44.97, c = 3.39 1019 mol/K2 /cm3 /s, = 2, K = 46000
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
e=

hv/kT
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
S=

N 
X
j=1

x/Tj
RTj ej
exp(x/Tj ) 1

2

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
j=1



x/Tj
[exp(x/Tj ) 1] x/Tj exp(x/Tj )
RTj ej
=0
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
lu
am xk = k 1, yk = f (xk ) cu f (x) = 40 + 10x + 5x2 + 3x3 + 2x4 + x5 + x6 . Vom
ncerca reobtinerea coeficientilor polinomului f prin metoda celor mai mici p
atrate
arii
folosind alegerea (1.89), gj = xj1 , j 1, 7. Coeficientii obtinuti n urma rezolv
sistemului liniar15 n simpl
a (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 c
a 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
S/(N n)

2
5.3E11

3
5.1E10

4
1.8E09

5
1.3E07

6
9.4E05

7
3.3E05

8
3.2E04

9
5.2E04

Se observ
a 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


an
a acum, s-ar p
area c
a problemele de aproximare prezinta multe aspecte ad hoc, l
asate 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 intuitiv
a dec
at riguroas
a a notiunilor de analiza functional
a utile teoriei aproxim
arii. De asemenea,
vom ncerca formularea unei analogii geometrice utile asimil
arii acestor notiuni.

1.4.1

Spatii vectoriale

a astfel nc
at deAstfel, forma (1.6) a functiei de aproximare g(x) a fost aleas
terminarea coeficientilor ak , k 1, N s
a conduc
a 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 vectorial sau spatiu liniar. Notam un spatiu vectorial oarecare prin V. Elementele 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 vectori 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.
a unul dintre ei
Vectorii nenuli uk , k = 1, N se numesc liniar dependenti dac
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
!
M
1
N
X
X
1
ak u k +
ak u k .
(1.92)
uM =
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. Dac
a
at atunci c
and scalarii
vectorii uk nu pot fi pusi n relatii de forma (1.91) dec
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 adecvat este notiunea de baz
a 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 dimensiune 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
a de vectorii din baz
a16 . Imediat ce baza este
(1.92), ca o combinatie liniar
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
~ = ~i + ~j + ~k/2, sau pe scurt V
~ (1, 1, 1/2).
a acestora, de exemplu V
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 monoamele 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 liniar
a de monoame. Notatia prin coeficientii scalari este
p2 (1, 1, 1/2).
3. Multimea C () (, ) a functiilor infinit derivabile pe axa real
a formeaza un spatiu de dimensiune infinit
a. 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 monoame 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 =
and doar coeficientii f (1, 1, 1/2).
1 + cos 2x + 12 sin 2x, sau not
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


a
considerarea spatiului vectorial plan familiar. In fig. 1.16 sunt prezentate dou
16 Mai trebuie demonstrat c
a avem aN +1 6= 0 astfel nc
at s
a putem scrie uN +1 =
PN
PN
a1
a prin absurd aN +1 = 0, am avea
k=1 ak uk . Dac
k=1 ak uk = 0 cu unul dinN +1
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 s
a 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 c
autata 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
a
ortogonali daca (u, v) = 0. O baz
a de vectori {uk , k 1, N } este ortogonal
dac
a j 6= k, j, k 1, N (uj , uk ) = 0 si ortonormat
a dac
a este ortogonal
a
si n plus k, k 1, N (uk , uk ) = 1. Ortogonalitatea unor vectori implic
a
si 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
a ortogonalit
atii. Dar uM 6= 0 si deci
(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.
a obtinem
Ne punem ntrebarea: putem dintr-o baz
a oarecare {uk , k 1, N } s

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
am
ane 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 c
ateva exemple
de produse scalare si baze ortonormate utile n aplicatii.
Polinoame ortogonale.
Ortonormarea monoamelor {1, x, x2 , . . . } produce o baz
a {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)

arind relatiile de
Relatiile (1.93)-(1.95) se pot verifica usor prin inductie. Urm
mai sus se poate observa c
a vom avea totdeauna un coeficient unitar al termenului de grad maxim, adic
a polinoamele obtinute vor fi sub forma lor monic
a
a asupra formei monice se impune o conditie de standar(vezi 1.2.1). De regul
dizare ce revine la nmultirea cu o constant
a. S
a consider
am cazurile cele mai
des ntalnite.
1. Polinoamele Legendre Pn (x). Se consider
a V = C (0) [1, 1] si se adopt
a
produsul scalar
Z 1
u(x)v(x)dx .
(1.96)
(u, v) =
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 conduce 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 consider
a tot V = C (0) [1, 1] dar se
adopta produsul scalar
Z 1
u(x)v(x)(1 x2 )1/2 dx .
(1.97)
(u, v) =
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
am ns
a (1.93)-(1.95) pentru a vedea c
a
prezentate n tabelul 1.2. Sa aplic
ntr-adevar reobtinem acele expresii. Avem T0 (x) = 1, 1 = (x, 1)/(1, 1).
Apar integrale ce se calculeaz
a prin substitutia trigonometric
a x = cos
Z
Z 1
cos d = 0
x(1 x2 )1/2 dx =
(x, 1) =
1

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.
3. Polinoamele Laguerre Ln (x). Se consider
a V = C (0) [0, ) si se adopt
a
produsul scalar
Z
u(x)v(x) exp(x) dx .
(1.98)
(u, v) =
0

Domeniul de definitie al elementelor din acest spatiu vectorial este acum


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

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
0
1
2
3
4

Pn
1
x
(1 + 3x2 )/2
(3x + 5x3 )/2
(3 30x2 + 35x4 )/8

Hn
1
2x
2 + 4x2
12x + 8x3
12 48x2 + 16x4

Ln
1
x
(2 4x + x2 )/2
(6 18x + 9x2 x3 )/6
(24 96x + 72x2 16x3 + x4 )/24

Ortogonalitate pe multimi discrete.


In paragraful anterior s-au introdus produse scalare definite prin integrale, adecvate situatiilor n care c
aut
am 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 GramSchmidt asupra bazei {1, x, x2 , . . . } utiliz
and aceste noi produse scalare. O
prima rasplata a abord
arii abstracte a notiunii de ortogonalitate este c
a relatiile
aa
(1.93)-(1.95) raman valabile deoarece ele nu fac referire la forma particular
produsului scalar. Polinoamele ortogonale obtinute de data aceasta vor fi dependente 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],
nodurile se consider
a n acest interval 1 xk 1 si se adopt
a produsul
scalar
(u, v) =

N
X

u(xk )v(xk ) .

(1.100)

k=1

2. Polinoamele Ceb
asev discrete Tn (x; {xk }). Se consider
a V = C (0) (1, 1),
nodurile se iau 1 < xk < 1 si se adopt
a produsul scalar
(u, v) =

N
X

u(xk )v(xk )(1 x2k )1/2 .

(1.101)

k=1

3. Polinoamele Hermite discrete Hn (x; {xk }). Se consider


a V = C (0) [0, )
si se adopta produsul scalar
(u, v) =

N
X

k=1

u(xk )v(xk ) exp(xk ) .

(1.102)

1.4. Elemente de teoria aproxim


arii

47

4. Polinoamele Laguerre discrete Ln (x; {xk }). Se consider


a tot V = C (0) (, )
si se adopta produsul scalar
(u, v) =

N
X

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 s
a poat
a
m
asura 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
kukp =

|u(x)| dx

!1/p

(1.104)

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


kukp =

N
X

|u(xk )|

!1/p

(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 obi
s
nuit
u

R
corespunde
definit

iei
clasice
a
modulului
unui
vector
PN
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)

kuk = max |u(xk )|

(1.107)

x[a,b]

n cazul continuu si
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)

Se poate verifica satisfacerea propriet


atilor unei norme. In particular inegalitatea triunghiului rezult
a 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. Definirea 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 vecT
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 vectoriale. Sa consideram c
a aplicatia f : V1 V2 este liniar
a, adic
a 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 num
ar real pozitiv M astfel
nc
at kf (u)k M kuk. Cu alte cuvinte, norma valorilor aplicatiei liniare este
raportat
a 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
a si continuitatea.
este si continua, deci (1.110) implic

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 mentionate la nceputul capitolului. Daca adopt
am oricare dintre normele discrete si
impunem realizarea unei erori nule, d(f, g) = 0, obtinem
kf gkp =

N
X

|f (xk ) g(xk )|

!1/p

= 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
a adopt
am norma
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 minimizarea sumei
S=

N
X

[yk g(xk )]2 ,

k=1

adic
a criteriul celor mai mici patrate (1.5).
Teoria generala ne furnizeaza cadrul de a pune anumite ntreb
ari peste care
am sarit n prezentarea elementar
a anterioar
a. Exist
a o cea mai bun
a aproximare? 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 convearg
a 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 , adic
a 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 discreta. 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 c
and 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 , . . . }. Problema 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 anterior, iar solutia este dat
a si n acest caz de conditia de ortogonalitate. Este
educativa demonstratia general
a a acestui rezultat.
Teorem
a. Fie V un spatiu vectorial n care avem definit un produs scalar, si S
un subspatiu al lui V. Dac
a 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).
Demonstratie. Sa vedem dac
a vreun alt w S realizeaz
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 ortogonalitatea 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
alegerea produsului scalar obisnuit ntre vectori din P
Rn cu ponderea w. Scriind
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 trigonometrice 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 introduce 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 penn
tru un n fixat coeficientii aproximantei g = j=1 aj gj prin relatiile (1.113). Pe
m
asura ce n creste, am dori ca g s
a r
am
an
a n spatiul considerat. Acest deziderat 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 s
a z
abovim putin.
Daca revedeti exemplele prezentate p
an
a 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
limit
a: a este limita a sirului {an } cu n N dac
a > 0 exist
a un N astfel nc
at
|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 c
a rezultatul 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 proprietatilor operatorilor printre care se remarc
a cele de descompunere spectral
a.
a un set de
Exemplu. Relu
am exemplul 4 din 1.3, de data aceasta folosind ca baz
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 adopt
am polinoamele Legendre discrete. Acestea sunt definite pe [1, 1] astfel
nc
at este nevoie s
a introducem transformarea z = 2x/(N 1)1. Functia aproximant
a
P
se scrie g(z) = n
iilor de recurent
a (1.93)-(1.95)
j=0 aj Pj (z) cu n = 6. Conform relat
8
primele 7 polinoame Legendre discrete sunt P0 (z) = 1, P1 (z) = z, P2 (z) = 21
+ z2,
3
4
167
1296
331 2
44252
545 3
P3 (z) = 245 z + z , P4 (z) = 12005 343 z + z , P5 (z) = 151263 z 441 z + z 5 ,
36000
+ 2042
z 2 115
z4 + z6.
P6 (z) = 1294139
3773
77
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
a0 =

75236936
1764735

a1 =

1058398
84035

a2 =

18800
2401

a3 =

1868
441

a4 =

269
77

a5 = 1

a6 = 1

ce introdusi n combinatia liniar


a de mai sus dau exact functia f . Calculul n simpl
a
precizie furnizeaz
a valorile coeficientilor aj
a0 =
a4 =

42.633556
3.4935030

a1 =
a5 =

12.594727
0.99998158

a2 =
a6 =

7.8300747
.99996691

a3 =

4.2358241

cu o eroare relativ
a maxim
a de = 3 105 fat
a de valorile exacte. Se observ
a
c
a folosirea unei baze ortogonale a permis obtinerea unei erori mici lucr
and chiar n
simpl
a precizie.

53

Capitolul 2

Derivarea si integrarea
numeric
a

2.1

Derivarea numeric
a

Pentru derivarea 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
y0

dg
dR
df
=
+
,
dx
dx
dx

(2.1)

unde g este aproximanta iar R restul (eroarea).


In formulele de aproximare numeric
a a derivatei, se utilizeaz
a de regul
a valorile functiei f n cateva din punctele xi . Fie h distanta tipic
a ntre aceste
abscise. Un aspect important al aproxim
arii numerice este stabilirea ordinului
erorii. Eroarea se poate scrie sub forma
e=

dg
dR
df

=
= O(hk ) .
dx dx
dx

(2.2)

54

2. Derivarea si integrarea numerica

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


interes de sub paranteze, n cazul de fat
a hk . Ordinul erorii este exponentul k.
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 mic
a, pe c
and 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 ,

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


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

(2.3)
(2.4)

(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
y0 =

df
1 df
1 dpn
1 dRn
=
=
+
.
dx
h d
h d
h d

(2.6)

Prezenta pasului h la numitor n relatia (2.6) sugereaz


a 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, aproximarea 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
y0 =

1
h d
yi1 +
[( 1)f 00 ()] .
h
2 d

(2.7)

Pentru valorile = 0 si = 1, ce corespund la capetele intervalului (xi1 , xi )


se obtine
0
yi1
=

yi0 =

h
yi yi1
f 00 (),
h
2

h
yi yi1
+ f 00 () .
h
2

(2.8)

(2.9)

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
y0 =

1
2 1 2
h2 d
yi1 +
yi1 +
[( 1)( 2)f 000 ()] .
h
2h
6 d

(2.10)

Pentru = 1, din (2.10) rezulta


yi0 =

h2
yi+1 yi1
f 000 () ,
2h
6

(2.11)

n timp ce, pentru = 0, se deduce


0
yi1
=

h2
yi+1 + 4yi 3yi1
+ f 000 () .
2h
3

(2.12)

Comparand formulele (2.11) si (2.12), se observ


a c
a, la acelasi grad al polinomului de interpolare, plasarea punctului de calcul spre centrul diviziunii conduce
la reducerea de doua ori a erorii. Mai important
a este ns
a comparatia cu cazul
a
anterior, n = 1. Se observa ca formulele (2.11), (2.12) sunt de ordinul doi fat
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
y 00 =

h d2
2 yi1
+
[( 1)( 2)f 000 ()] .
h2
6 d2

(2.13)

56

2. Derivarea si integrarea numerica

Pentru = 1, se obtine
 
h2 d
h2 (4)
2 yi1
yi+1 2yi + yi1
00
(4)
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,
a formula
pentru care din (2.13) rezult
 
2h2 d
2 yi1
000
00

hf
()
+
yi1
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
calculeaz
a derivatele y 0 , y 00 ale functiei y(x) = ex/2 n punctul xi = 2.5 folosind formulele 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 0 (x0 ) = lim

xx0

y(x) y(x0 )
x x0

(2.16)

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)
yi0
= (yi+2
= (yi+1 yi )/h, (3) yi0 = (yi+1 yi1 )/2h, (4) yi00
= (yi yi1 )/h, (2) yi0
2
00
2yi+1 +yi )/h , (5) yi = (yi+1 2yi +yi1 )/h2 . S-a utilizat o precizie de lucru de 80 biti.
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 zecimal
a exact
a.
lg hCazul
-1
-4
-7
-10

1
1.70226
1.74513
1.74517
1.70985

2
1.78954
1.74522
1.74517
1.70985

3
1.74590
1.74517
1.74517
1.70985

4
0.91752
0.87202
0.00000
7.3108

5
0.87277
0.87239
0.00000
0.00000

M
arirea preciziei de lucru nu elimin
a fenomenul de pierdere de cifre semnificative.
Acesta se va produce la valori mai mici ale pasului h. O prezentare sugestiv
a a acestei
comport
ari universale a procedeului de aproximare numeric
a a derivatei este dat
a n
a grafic logaritmul zecimal al erorii
fig. 2.1 unde se reprezint




(2.17)
lg e1 = lg yi0 yi0 , lg e2 = lg yi00 yi00
functie de logaritmul pasului. Reprezentarea logaritmic
a este convenabil
a pentru verificarea practic
a a ordinului erorii prezis teoretic. Dac
a din teorie se prezice c
a e = O(hk ),
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 s
a verific
am obtinerea ordinului
de eroare. Trebuie s
a elimin
am din datele de intrare cele ce sunt afectate de pierderea 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.
a si prin expeAceste drepte sunt reprezentate cu linie groas
a n fig. 2.1. Se confirm
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


 1 0

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

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

(2.19)
(2.20)

unde s-a evidentiat prin [ ] operatorul ce trebuie aplicat. Prin identificare,


rezulta operatorul de derivare cu diferenta la dreapta ()
d
1
= ln(E 0 + ) .
dx
h

(2.21)

58

2. Derivarea si integrarea numerica

In mod similar, folosind operatorul diferenta la st


anga (), se obtine
d
1
= ln(E 0 ) .
dx
h

(2.22)

Extinderea operatiei de derivare a functiei exponentiale la derivarea operatorilor


este justificata prin analogia expresiilor utilizate cu seria binomial
a. Practic,
a sub forma obtinut
a prin dezvoltarea n
expresiile (2.21) si (2.22) se utilizeaz
serie a logaritmului


d
1
2
3
4
=

+ ...
(2.23)
dx
h
2
3
4


1
2
3
4
=
+
+
+
+ ... .
(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 st
anga 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


1
11 4
d2
2
3
=

+
.
.
.
(2.25)
dx2
h2
2


1
11 4
2
3
=

+
.
.
.
.
(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.
arul
Rezolvare. Fiind disponibile doar punctele la dreapta, vom aplica (2.23). Num
de termeni luati din dezvoltarea n serie determin
a ordinul formulei. In cazul de fat
a,
va trebui s
a consider
am patru termeni


1
2
3
4
f00

f0 .
(2.27)
=
h
2
3
4
Aplicarea repetat
a a operatorului de diferent
a la dreapta conduce la f0 = f1
f0 , 2 f0 = (f0 ) = (f1 f0 ) = f1 f0 = f2 2f1 + f0 , 3 f0 = (2 f0 ) =
f3 3f2 + 3f1 f0 , 4 f0 = (3 f0 ) = f4 4f3 + 6f2 4f1 + f0 . Se remarc
a aparitia
coeficientilor din dezvoltarea binomial
a (1 a)n . Rezult
a formula


1
1
4
25

f
+
f

3f
+
4f

f
.
(2.28)
f00
=
4
3
2
1
0
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
4
25
1
(5)
T5 (4h) + T5 (3h) 3T5 (2h) + 4T5 (h)
T5 (0) = f00 h4 f0 /5 , (2.29)
h
4
3
12
deci eroarea este ntr-adev
ar de ordinul IV.

2.1. Derivarea numeric


a

2.1.3

59

Polinoame de interpolare n functie si derivat


a

S
a 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 abscise 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)

am
ane
Regula recursiva (1.9), de obtinere a diferentelor divizate superioare, r
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

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

(2.32)
(2.33)

ce se poate compara cu (1.13). Coeficientii formei Newton se pot calcula convenabil tabelar precum n exemplul de mai jos.

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

x1
x1

y1
y1

x2

y2

x2

y2

DD(x2 , x2 ) = y20

..
.

..
.

..
.

DD(x2 , x1 ) DD(x1 , x1 )
x2 x1
DD(x2 , x2 ) DD(x2 , x1 )
DD(x1 , x2 , x2 ) =
x2 x1
..
.
DD(x1 , x1 , x2 ) =

Forma Lagrange a polinomului de interpolare Hermite este


p2N 1 (x) =

N
X

Ak (x)yk +

k=1

N
X

Bk (x)yk0 ,

(2.34)

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)
Bk (x)

=
=

[1 2(x xk )L0k (xk )] L2k (x) ,


(x

xk )L2k (x) .

(2.36)
(2.37)

Printr-un procedeu asem


an
ator celui folosit pentru determinarea formulei
(1.16), se poate obtine expresia restului la interpolarea Hermite
R2N 1 (x) f (x) p2N 1 (x) =

N
Y

(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. Utiliz
am nodurile xj = (j 1)/4, j = 1, 2. Tabelul
diferentelor divizate este
xj
0
0
1
4
1
4

yj
0
0

2
2

2
2

2 2

2
2

4(2 2 )

2 2( 4)

4(2 2 + 4) 64 2

unde valorile obtinute din derivata exact


a f 0 (x) = cos x au fost ncadrate. Forma
Newton a polinomului Hermite este
h

p2 (x) = x + x2 4(2 2 ) + x2 (x 1/4) 4(2 2 + 4) 64 2 ,


(2.39)
ceea ce conduce la urm
atoarea form
a canonic
a a polinomului

p2 (x) = + (48 2 16 4 2) x + (192 2 + 48 + 24 2) x2 .

(2.40)

Derivata cerut
a este p02 (1/8) = 2.90188 foarte apropriat
a de cea exact
a f 0 (1/8) =
2.90245 si cu mult mai precis
a dec
at estimarea centrat
a de ordinul II (f (1/4)
f (0))/(1/4) = 2.82843. Graficul logaritmului erorii relative lg = lg |(p02 (x) f 0 (x)) /f 0 (x)|
de mai jos arat
a prezicerea corect
a a 3 cifre semnificative n evaluarea derivatei pe intervalul [0, 1/4].

2.1. Derivarea numeric


a

2.1.4

61

Derivate folosind functii spline

Functia spline polinomiala de ordinul 3 poate fi utilizat


a pentru calculul aproximativ 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)

a prin
determinata n paragraful 1.1.2. Derivatele de ordinul 1 si 2 se aproximeaz
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





(k)
max f (k) (x) sm
max f (m) (x) s(m)
(x)
m (x) ,
(m k)! x[a,b]
x[a,b]

(2.43)

unde m este ordinul functiei spline (m = 3 pentru functia spline cubic


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

2.1.5

Derivate folosind diverse aproximatii

Formule de derivare se pot obtine folosind oricare dintre procedeele de aproam pe scurt c
ateva alte procedee
ximare prezentate n capitolul 1. Consider
inidicand domeniile tipice de aplicare.
Interpolare trigonometric
a.
Prin derivarea expresiei (1.57), se obtine
df
dg
= y0
=
=
dx
dx
2

N
1
X

[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 . Conarii trigonometrice se aplic
a
sideratiile din 1.1.3 asupra convergentei interpol
acum noii functii. In particular, vom urm
ari dac
a ck = 2k(a2k + b2k )1/2 devin
suficient de mici pe masura ce N creste. O proprietate important
a a aproxim
arilor 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, spunem 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 general
a a procedeului este ns
a limitat
a de cerinta de netezime.
De exemplu, daca functia f prezint
a discontinuit
ati izolate, vor ap
area 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 minimizarea 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
asur
atori experimentale).

2.2

Integrarea numeric
a

Integrarea numerica a functiilor de o variabil


a reprezint
a o aplicatie imediat
a
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 compenseaz
a, 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 urm
atoarea:
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 aproximativa si o eroare pentru integrare
Z
a
1 Vezi

capitolul 4.

f (x)dx =

Z
a

g(x)dx +

Z
a

R(x)dx .

(2.46)

2.2. Integrarea numeric


a

63

Integrala aproximantei g(x) se evalueaz


a numeric pe fiecare subinterval al
diviziunii
I=

g(x)dx =

N
X

ak Ik , Ik

gk (x)dx .

(2.47)

k=1

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 rezultate din analiza pe care le reamintim f
ar
a 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
a

f (x)g(x)dx = f ()

g(x)dx.

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 ] exist
a
un [a, b] astfel ncat f () = r.
Teorema fundamental
a a analizei. Dac
a f este continu
a pe [a, b], atunci functia
Rx
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 echidistanta 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
a c
a se prefer
a utifinite a polinomului de interpolare (1.25). Vom remarca ns
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 nt
ai
plus un rest. Conform (1.25), polinomul se scrie
p1 (x) = yi + yi ,

(2.49)

cu [0, 1], unde restul (1.26) este


R1 (x) = h2 C2 f 00 (i ), i (xi , xi+1 ) .

(2.50)

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


x = xi + h,
de unde dx = hd. Integrala exact
a a aproximantei (2.49) este
Ii =

(yi + yi )d = (yi + yi+1 )/2 ,

(2.51)

iar eroarea pe interval rezult


a din integrarea restului (2.50)
3

i = (h /2)

( 1)f 00 [i ()] d, i (xi , xi+1 ) .

Expresia erorii poate fi transformat


a aplic
and teorema de medie pentru integrale. Avem ( 1) 0 si vom presupune c
a f 00 [i ()] este continu
a pe
[xi , xi+1 ], astfel ncat conditiile teoremei s
a fie satisf
acute. Se obtine
3 00

i = [h f

(i0 )/2]

( 1)d = h3 f 00 (i0 )/12 ,

(2.52)

a pe
cu i0 [xi , xi+1 ], n general diferit de i din (2.50). Formula (2.51) se aplic
fiecare subinterval si vom obtine, prin sumare, valoarea aproximativ
a a integralei
I=

N
1
X
i=1

Ii =

h
(y1 + 2y2 + . . . + 2yN 1 + yN ) .
2

(2.53)

PN 1
Eroarea la integrare este suma erorilor pe subintervale, = i=1 i = (h3 /12)
P
PN 1 00 0
a (N 1)1 N 1 f 00 ( 0 ) este o valoare medie a valorilor
i
i=1
i=1 f (i ). Ins
00
functiei f n punctele i0 si am presupus f 00 continu
a. Conform teoremei valorii
intermediare, exista un [x1 , xN ] astfel nc
at
N 1
1 X 00 0
f (i ) = f 00 ()
N 1 i=1

(2.54)

2.2. Integrarea numeric


a

65

si eroarea se poate scrie


=

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

(2.55)

Expresia (2.55) sugereaza ca, pentru functii cu derivata de ordinul doi continu
a,
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 acumul
arii erorii din nsumare.
Se remarca, de asemenea, ca formula trapezelor este exact
a pentru toate polinoamele 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
Ii = h

Z
0

p2 (xi1 + h)d =

h
(yi1 + 4yi + yi+1 ) .
3

(2.56)

Aplicarea teoremei de medie la integrarea restului trebuie efectuat


a pe subintervalele pe care C3 nu schimba semnul
 



Z 2
1
h3 (3) (1) 1
3 (3)
3
(3) (2)
C f (i )d =
f (i )
+ f (i )
.
h
3!
4
4
0
Rezultatul obtinut este nsa o supraestimare. Faptul c
a 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
Ii =

h
[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
(5)

(4)

(3)

0
00
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 exact
a pe intervalul (xi1 , xi+1 ). Conform teoremei 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
(4)

(3)

(5)

0
00
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 num
arul 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
I=

h
(y1 + 4y2 + 2y3 + . . . + 2y2N 1 + 4y2N + y2N +1 ) .
3

(2.57)

Estimarea erorii la integrare este


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

(a, b) .

(2.58)

a eroarea este invers proportional


a cu puterea a patra
Din (2.58), se observa c
a numarului de perechi de subintervale N , adic
a = O(h4 ). Spunem c
a formula
Simpson 1/3 este de ordinul IV.
Fomula Simpson 3/8. Trecem acum la urm
atorul polinom de interpolare,
cel de gradul 3. Consider
and 4 puncte de diviziune pe intervalul (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


Ii = h

p3 (xi1 + h)d =

3h
(yi1 + 3yi + 3yi+1 + yi+2 ) ,
8

(2.59)

cu eroarea
i = h5

C4 f (4) (i ) d = 3h5 f (4) (i )/80,

i (xi1 , xi+2 ) .

(2.60)

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


integrare pe (a, b) se va scrie
I=

3h
(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 dec
at n cazul
formulei Simpson 1/3 datorita factorului numeric de la numitor. Cum ns
ao
precizie sporita la integrare este obtinut
a ndeosebi prin m
arirea 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 obtinut
a prin interpolare cu un polinom de gradul
4, pe intervalul (xi2 , xi+2 )
Ii =

2h
(7yi2 + 32yi1 + 12yi + 32yi+1 + 7yi+2 ) ,
45

(2.63)

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

I=

Z
a

f (x)dx
=

N
X
i=1

Ai yi ,

(2.65)

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

=ba
= A1 + A2 + A3
Ra dx
b
2
2
(2.66)
xdx
=
(b

a
)/2
=
A1 x1 + A2 x2 + A3 x3
a

Rb 2
2
2
2
2
2
x dx = (b a )/3 = A1 x1 + A2 x2 + A3 x3
a
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)
Z

f (x)dx =

N
bX

yi Li (x)dx +

a i=1

Z
a

f (N ) () Y
(x xi ) dx ,
N ! i=1

(2.67)

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


and cu (2.65) se observ
a c
a
Ai =

Li (x)dx .

(2.68)

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
"N
#
Z b
Z b
N
N
X
X
f (N ) () Y
w(x)
Li (x)yi +
w(x)f (x)dx =
(x xi ) dx =
Ai yi + ,
N ! i=1
a
a
i=1
i=1

Ai =

Z
a

2.2.2

w(x)Li (x)dx,

Z
a

w(x)

N
f (N ) () Y
(x xi ) dx,
N ! i=1

(a, b).

Formule de integrare deschise

a
O ntrebare imediata asociat
a formulei generale de integrare (2.65) este dac
alegerea altor puncte xi si ponderi Ai ar putea aduce avantaje de calcul. Vom
considera n cele ce urmeaz
a c
ateva asemenea cazuri. In general, n obtinerea
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 dec
at 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
N 3 N 3
2
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
a o singur
a evaluare a functiei fat
a de dou
a
formula trapezelor (2.53), folosind ns
n (2.53). Factorul numeric din expresia erorii de mai sus este ns
a mai mare
dec
at cel din (2.55). Ca atare, avantajul de calcul 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
Ii =

4h
(2yi yi+1 + 2yi+2 ),
3

i =

14h5 (4)
f (i ) .
45

(2.72)

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 .
P
ana 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
a

w(x)f (x)dx
=

N
X
i=1

Ai f (xi ) ,

(2.73)

70

2. Derivarea si integrarea numerica

unde w(x) este o functie pondere pozitiv


a, iar coeficientii Ai sunt alesi astfel
ncat formula este exact
a pentru toate polinomale de grad p
an
a n N 1.
Teorem
a. Daca abscisele xi , din (2.73) se aleg ca fiind zerourile unui polinom
q(x) de gradul N ce satisface relatia de ortogonalitate
Z

w(x)p(x)q(x)dx = 0

(2.74)

pentru orice polinom p(x) de grad p


an
a la N 1, atunci formula (2.73)
este exacta pentru toate polinoamele de grad p
an
a la 2N 1.
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

w(x)f (x)dx =

w(x) [p(x)q(x) + r(x)] dx =

w(x)r(x)dx =

N
X
i=1

Ai r(xi ) =

N
X

Ai f (xi ) ,

(2.75)

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 simple 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 absciselor, se folosesc domenii de integrare canonice, specifice fiec
arui tip de ponderi
a tratarea cazurilor
w(x). Aparitia functiei de pondere n formula (2.73) faciliteaz
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 r
ad
acinile acestora, 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 dac
a o asemenea comportare nu ar ap
area si n formulele de integrare Gauss. Conditia de ortogoa,
nalitate (2.74) joaca un rol esential aici si se poate demonstra (Stieltjes) c
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 mic
a 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
Z

w(x)f (x)dx

w(x)p2N 1 (x)dx =

w(x)

N
Y

(x xi )2

i=1

f (2N ) ((x))
dx .
(2N )!
(2.77)

Formula de integrare Gauss, fiind exact


a pentru polinoame de grad maxim 2N
1, rezulta
Z

w(x)p2N 1 (x)dx =

N
X

Ai p2N 1 (xi ) =

i=1

N
X

Ai f (xi ) ,

(2.78)

i=1

de unde eroarea la integrarea functiei f este


=

w(x)f (x)dx

N
X

1
(2N )!

Ai f (xi ) =

i=1

w(x)

N
Y

(x xi )2 f (2N ) ((x)) dx .

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
=

f (2N ) ()
(2N )!

w(x)q 2 (x) dx ,

(a, b).

(2.80)

Recunoastem aparitia produsului scalar


(q, q) =

w(x)q 2 (x) dx

(2.81)

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


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

(2.82)

Dac
a f C 2N [a, b], atunci f (2N ) () este m
arginit
a. Produsul (q, q) se poate
arginit. In
evalua folosind relatiile de recurent
a (1.94) si este de asemenea m
plus, factorul (q, q)/(2N )! scade rapid cu cresterea lui N . S
a 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
Z
a

ba
f (x)dx =
2

+1

F (z)dz,

F (z) f

ba
b+a
z+
2
2

(2.83)

72

2. Derivarea si integrarea numerica

In cazul de fata conditia de ortogonalitate este


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

(2.84)

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 ,
a prin
n tabelul (2.1). Integrala pe [1, 1] se aproximeaz
Z

+1

F (z)dz
=

N
X

Ai F (zi ) ,

(2.85)

i=1

iar cea pe [a, b] prin


b

Z
a

ba X
f (x)dx
Ai f (xi ) ,
=
2 i=1

(2.86)

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 evalueaza functia F nu sunt de regul
a echidistante. Putem ns
a pune n evident
a
un pas mediu h = (b a)/N , pentru a determina ordinul erorii n vederea
compararii cu metodele anterioare. Se obtine
=

ba
N

2N +1

N 2N +1 f (2N ) ()
h2N +1 f (2N ) ()
<
(N !)4 (2N + 1)[(2N )!]3
(N !)4 (2N )!

(2.89)

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
a singularit
ati n 1. Utilitatea practic
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
p
h7 f (6) ()
5/9
3/5
3
16
8/9
0
2 33 53 7
h9 f (8) ()
0.86113 63115 94053
0.34785 48451 37454
4
0.33998 10435 84856
0.65214 51548 62546
215 312 53 73
0.90617 98459 38664
0.23692 68850 56189
5h11 f (10) ()
0.53846 93101 05683
0.47862 86704 99366
5
36
2 316 73 11
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
w(z)F (z) dz
f (z) dz =
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 procedeu consta n izolarea comport
arii singulare din capete n functia pondere.
R
adacinile si ponderile sunt (vezi si 1.2.1)
zi = cos [(2i 1)/2N ] ,

Ai = /N,

Integrala pe [1, 1] se evalueaza ca


Z +1
N
F (z)
X
2F (2N ) ()

dz =
F (zi ) + N
,
N i=1
2 (2N )!
1 z2
1

i = 1, n .

(1, 1)

(2.90)

(2.91)

unde ultimul termen este eroarea la integrare. Deoarece toate ponderile Ai de la


formulele Gauss-Cebasev au aceeasi valoare, aceste formule necesit
a un num
ar 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 semiinfinit. 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)
(2N )!
0
i=1
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
2.29428 03603
2.78517 73357 E-1
3
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
3.59642 57710
7.59424 49682 E-2
5
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
0.95857 24646
3.93619 32315 E-1
5
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

ex f (x) dx =

N
X
i=1

Ai f (xi ) +

(N !) (2N )
f
(),
2N (2N )!

(, )

(2.93)

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
Z 1
b 1 1 + k2 z 2
1 + k2 z 2

L=b
dz =
dz ,
2 1
1 z2
1 z2
0

(2.95)

unde k2 (a2 b2 )/b2 iar ultima egalitate s-a obtinut observ


and c
a 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
Z
b 1 f (z)
b

dz = I ,
L=
(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 GaussCeb
asev utilizate este
Ordin
I

2
3.556041

3
3.544605

4
3.545250

5
3.545205

6
3.545209

7
3.545208

(2.97)

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
a pe acest grafic cum panta curbei scade
n coordonate logaritmice (fig. 2.2). Se observ
continuu, denot
and o sc
adere a erorii mai rapid
a dec
at cea polinomial
a (pentru care
graficul ar fi fost o linie dreapt
a n coordonate logaritmice, vezi Exemplul 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.2.3

2. Derivarea si integrarea numerica

Tehnici de atingere a unei precizii impuse

Pentru toate formulele de integrare prezentate anterior s-a determinat si o expresie a erorii de integrare. Tipic, forma acestei expresii este
= C f (k) () hm ,

(2.98)

unde C este o constant


a. Sunt foarte rare ns
a 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
atur
a
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 )
at
atirea pasului obtinem
nodurile sunt xj = a + jh, j = 0, N 3 . Prin njum
(2N )

h2N = (b a)/2N , xj
(2N )
y2j

(N )
yj

(2N )

= a + jh, j = 0, 2N . Deoarece x2j


(2N )
y2j

(2N )
f (x2j ),

(N )
yj

(N )

= xj

, j = 0, N ,

(N )
f (xj ).

Deci valorile
=
=
unde
=
rezulta
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 trapea cu 2N intervale.
zelor (2.53) cu N intervale si prin T (h2N ) aproximarea obtinut
2T (hN )/hN si 2T (h2N )/h2N sunt
i
h
(N )
(N )
(N )
(N )
+ yN
+ . . . + 2yN 1 +
+
+ 2y1
y0
i ,
h
(2N )
(2N )
(2N )
(2N )
(2N )
(2N )
+ . . . + 2y2N 2 + 2y2N 1 + y2N
+ 2y2
+ 2y1
y0
respectiv. Valorile egale au fost aliniate pe vertical
a. T
in
and cont c
a avem
h2N = hN /2 se obtine
N

T (h2N ) =

X (2N )
1
T (hN ) + h2N
y2j1 .
2
j=1

(2.99)

3 Datorit
a operatiilor succesive de njum
at
atire este preferabil
a nceperii numerot
arii nodurilor de la 0.

2.2. Integrarea numeric


a

77

Formula trapezelor furnizeaza o regul


a recursiv
a deosebit de simpl
a datorit
a
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
a
1/3. Vom nota prin S(h2N ) suma din (2.56). Deoarece formula lucreaz
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 impar. 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 componentelor pare si a celor impare
S(h2N ) = Spar (h2N ) + Simpar (h2N ) ,

Spar (h2N ) =

i
h2N h (2N )
(2N )
(2N )
(2N )
,
+ . . . + 2y2N 2 + y2N
+ 2y2
y0
3

Simpar (h2N ) =

i
4h2N h (2N )
(2N )
(2N )
(2N )
+ . . . + y2N 3 + y2N 1 .
+ y3
y1
3

(2.100)

(2.101)

(2.102)

Regula recursiva de trecere la noua etap


a este
Spar (h4N )

S(h4N )

1
1
Spar (h2N ) + Simpar (h2N ),
2
4
Spar (h4N ) + Simpar (h4N ) .

(2.103)
(2.104)

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


aproximarilor. Exemplificam, pentru regula recursiv
a Simpson 1/3, n algoritmul 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

Simpar Simpar + f (x)

x x + doih

Simpar 4hSimpar /3
SM Spar + Simpar
pana cand |SM SM 1 | |SM | + S sau M > Mmax

(2.105)

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 dep
asit.
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
am mai nt
ai aproximarea
cunoasterea formei erorii de integrare (2.98). Consider
prin formula trapezelor. Valoarea exact
a a integralei este
I = T (h) + Cf (2) (1 )h2 .

(2.107)

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

(2.108)

Injumatatind pasul avem

cu 1 6= 2 n general. Dac
a se poate presupune ns
a c
a f (2) (1 )
= 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 ),
4
S

k > 4.

(2.112)

este denumit coeficient de sigurant


a si permite oprirea iteratiilor si c
and SM = 0.
Uzual se ia S = si conditia de oprire a iteratiilor se scrie |SM SM 1 | (1 + |SM |).
5 Presupunerea f (2) ( ) f (2) ( ) implic
a fie c
a 1 nu difer
a de 2 fie c
a f (2) (x) nu are
2
1 =
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 )
a
= f (2) (2 ). Exist
(2m)
ns
a o cale de a justifica acest pas pentru functii netede, f C
[a, b]. Punctul
de pornire l constituie formula Euler-MacLaurin6
Z

m1
h
i
F (0) + F (1) X
+
A2k F (2k1) (0) F (2k1) (1) A2m F (2m) (0 ),
2

F (t) dt =

k=1

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


am formula pentru F (t) = f (xj +
t h) si obtinem
Z

m1
h
i
h [f (xj ) + f (xj+1 )] X
+
A2k h2k f (2k1) (xj ) f (2k1) (xj+1 )
2

xj+1

f (x) dx

xj

k=1

A2m h
Prin sumarea
Z

P2N 1

f (x) dx

j=0

(i ) .

, se obtine

N
2X
1

j=0

2m+1 (2m)

m1
h
i
h [f (xj ) + f (xj+1 )] X
+
A2k h2k f (2k1) (a) f (2k1) (b)
2
k=1

A2m (b a)h

2m (2m)

() .

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

De data aceasta, observam ca s-a obtinut un coeficient a2 al primului termen din eroare, ce este constant. Ca atare, extrapolarea Richardson este justificat
a. De fapt procedeul de extrapolare poate fi repetat de m 1 ori. Aceast
a
combinatie dintre regula trapezelor recursiv
a si extrapolare Richardson este cunoscuta ca metoda Romberg. Fie R(n, m) estimarea integralei obtinut
a cu 2n subintervale si m etape de extrapolare Richardson. Avem R(n, 0) = T ((b a)/2n )
si
R(n, m) = R(n, m 1) +

1
[R(n, m 1) R(n 1, m 1)] .
4m 1

(2.114)

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
R(n, m) =

1
4m
R(n, m 1) m
R(n 1, m 1) .
m
4 1
4 1

(2.115)

6 Formula rezult
a din integrarea prin p
arti repetat
a si alegerea convenabil
a a constantelor
1 R
R

de integrare: 01 F (t) dt = (t 12 )F (t) 0 01 (t 12 ) F 0 (t) dt = . . .

80

2. Derivarea si integrarea numerica

Calculul se organizeaz
a convenabil ntr-un tabel
R(0, 0)
R(1, 0)
R(2, 0)
..
.

R(1, 1)
R(2, 1)
..
.

R(2, 2)
..
.

R(M, 0)

R(M, 1)

R(M, 2)

(2.116)

..

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 pentru 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 sensibil
a a algoritmului este stabilirea unei conditii de oprire.
Cea de mai sus este simpl
a dar functioneaz
a 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 realizeaz
a o diviziune a ntregului interval
de integrare. Ori, este adesea cazul c
a subdivizarea este necesar
a numai pe zone
a este
restranse, de variatie mai rapid
a a functiei f (fig. 2.3). Strategia adecvat
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
a
de integrare pe care o vom aplica pentru a calcula a f (x) dx, cu eroarea relativ
. 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

daca |Inou Iab | (1 + |Inou |) atunci P Inou


altfel P P (F, a, c, ya , yc , ) + P (F, c, b, yc , yb , )

(2.117)

Pentru intervalul [a, b], se efectueaz


a dou
a evalu
ari ale integralei, folosind formula F . Prima Iab utilizeaza tot intervalul, cealalt
a Inou utilizeaz
a o divizare n
dou
a a intervalului. Daca, ntre cele dou
a evalu
ari conditia de eroarea relativ
a
este ndeplinita, se accepta evaluarea mai precis
a Inou . Altfel se repet
a aplicarea 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)
,
F h (ya + 4ym + yb )/3

(2.118)

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


F (a, b, ya , yb )
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

xj = m zj + n
F m (A1 f (x1 ) + A2 f (x2 ) + A3 f (x3 ))
Exemplu 1. Consider
am integrala
Z 10
1
1
I=
f (x)dx, f (x) =
+
(x 1)2 + 0.01
(x 3)2 + 0.04
0

(2.119)

(2.120)

ce se poate evalua analitic, I = 45.54044. Ne propunem s


a compar
am diversele metode
de integrare pe acest caz. Impunem atingerea unei erori relative de = 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
adaptiv
a cu formula Simpson 1/3.

M
1
2
3
4
5

trapeze
4.38356
12.10104
26.15636
30.61403
46.64699

Simpson 1/3
14.67353
30.84147
32.09992
51.99130
43.96342

M
7
8
9
10
11

trapeze
45.54563
45.54017
45.54037
45.54042
45.54043

Simpson 1/3
45.53835
45.54044
45.54044

(2.121)

cu 2049 de apeluri ale functiei f pentru formula trapezelor si 1025 pentru formula
Simpson p
an
a la atingerea erorii impuse.
Aplic
am acum extrapolarea Richardson asupra rezultatelor de la metoda trapezelor
(metoda Romberg). Se obtine tabelul de mai jos.
nm
0
1
2
3
4

0
5.667271
4.383564
12.101037
26.156360
30.614030

3.955662
14.673528
30.841468
32.099919

15.388053
31.919330
32.183816

4
(2.122)

32.181731
32.188014

32.188039

Algoritmul se opreste la n = 4, m = 4, deoarece corectia adus


a de extrapolare este
mic
a, l
as
and primele 6 cifre semnificative nemodificate. Dar rezultatul este foarte
departe de cel exact si de fapt nu avem nici o cifr
a semnficativ
a corect
a. Functia f
prezint
a dou
a puncte de variatie foarte rapid
a, la x = 1 si x = 3. Acestea apar ca niste
singularit
ati 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
Formul
a
I
evalu
ari f

Trapeze
45.5419
839

Simpson 1/3
45.5405
557

GL II
45.5404
877

GL III
45.5405
573

GL IV
45.5404
485

(2.123)

unde prin GLn s-a notat formula Gauss-Legendre de ordinul n. Procedeul adaptiv 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
c
and n . Exemplul de aici ne arat
a pericolul identific
arii aproprierii dintre dou
a
aproximatii cu aproprierea aproximatiilor de solutia exact
a. Pentru a preveni o estimare eronat
a a preciziei cu care s-a determinat un rezultat trebuie impus
a o conditie
de eroare mai strict
a dec
at 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 evalu
ari ntre Simpson 1/3 si
GLII ce sunt procedee cu comport
ari comparabile ale erorii provine de la posibilitatea
reutiliz
arii nodurilor n formula Simpson. La formulele Gauss-Legendre modificarea
intervalului conduce si la modificarea 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
a ndesirea nodurilor n zonele de variatie rapid
a
reprezentate n fig. 2.3. Se observ
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 lent
a.
Exemplul 2. Fie acum integrala
Z 10
1
1
I=
f (x)dx, f (x) =
+
(2.124)
2 +1
2 +4
(x

1)
(x

3)
0
ce are valoarea exact
a I = 3.38318. Functia este asem
an
atoare celei din exemplu
precedent dar are un aspect mult mai neted. Procedeul Romberg furnizeaz
a tabelul:
nm
0
1
2
3
4
5
6

0
3.039931
2.439083
2.737904
3.326170
3.365313
3.378763
3.382077

2.238800
2.837511
3.522259
3.378361
3.383246
3.383182

2.877425
3.567908
3.368768
3.383572
3.383178

3.578868
3.365607
3.383807
3.383172

3.364771
3.383878
3.383169

3.383897

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
anduse si un efort de calcul mult inferior celor 1025 de evalu
ari 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 analitica. Ca atare vom presupune c
a F (x) este neliniar
a, 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.
autarea r
ad
acinilor
De aceea o prima etapa n rezolvarea ecuatiei (3.1) este c
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
ad
acinilor. Localizarea r
ad
acinilor 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
ad
acinilor.
a un sir de aproximatii
Uzual, procedeele de rezolvare a ecuatiei (3.1) furnizeaz
{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 rapidit


atii cu care sirul tinde c
atre limita. 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 convergent


a superioare, exist
and ns
a, un num
ar
mic de algoritmi ce au ordine de convergent
a mai mari de 2. Multe metode
prezinta un ordin de convergent
a intermediar ntre cel liniar si cel p
atratic.
Spunem ca sirul {xn }nN converge superliniar c
atre dac
a exist
a 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 r
ad
acini (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


ad
acin
a. Dac
a F (c) 6= 0, se calculeaz
a semnul
produsului F (a)F (c). Dac
a acesta este negativ, F (a)F (c) < 0, atunci r
ad
acina
se 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. Conand tipic un
vergenta este nsa doar liniar
a (c = 1/2 n 3.2), algoritmul efectu

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

altfel

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

(3.6)

Se poate observa utilizarea a unui cumul de trei conditii de oprire: dep


asirea
numarului maxim de iteratii, restr
angerea intervalului sub un prag ales , sau
obtinerea unei valori a functiei mai mici dec
at num
arul 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 simpl


a 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 pentru stabilirea intervalului pe care exist
a o r
ad
acin
a real
a, dup
a care se aplic
a
procedee care converg mai rapid.

3.2.1

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
at
atirii
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


ad
acin
a, si am folosit formula cresterilor finite (Lagrange) presupunand c
a f (x) este derivabil
a 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 dac
a
dorim ca sirul (3.9) s
a convearg
a spre , oricare ar fi punctul de plecare x0 .
Astfel, valorile derivatei, n modul, trebuie s
a fie subunitare ntr-o vecin
atate a
radacinii , inclusa n intervalul pe care c
aut
am r
ad
acina. Sirul (3.9) defineste
un procedeu de determinare a unei r
ad
acini reale denumit iteratie simpl
a. Forma
a simpl
a, ilustrata n fig. 3.1. Se
(3.7) a ecuatiei are o interpretare geometric
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
ad
acina
x = 2 n vecinatatea c
areia |f 0 (x)| < 1. Pe de alt
a parte |f 0 (x0 )| > 1 deci
a. Pentru oprirea iteratiilor un criteriu
conditia (3.13) nu este ntodeauna necesar
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 inegalitatea
|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 m
arime dec
at ales. In particular, dac
a nu
s-a verificat conditia de existent
a a r
ad
acinii, s-ar putea ca aceasta s
a nici nu
a testarea valorii
existe (fig. 3.1). De aceea, n programul de calcul, se recomand
|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
ad
acini 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 )| =
|xk | |1 (1 f 0 (k ))| ,

k (xk , ) .

(3.20)
(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 observ


a c
a am nlocuit k cu x, deoarece
k este, n general, necunoscut. In particular, dac
a am cunoaste k , lu
and
= 1/ [1 f 0 (k )]

(3.23)

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


a.
a NewtonPentru k = xk , din (3.23) si (3.19), se obtine formula iterativ
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 vedere geometric, procedeul iterativ (3.24) corespunde apropierii de r
ad
acin
a prin
punctele de intersectie ale tangentelor duse la curba F (x) n punctele (xk , F (xk ))
atoarea aproximatie a r
ad
acinii xk+1 este dat
a de
(fig. 3.2). Altfel spus, urm
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
a
x = , din (3.25) rezult
0 = F (xk ) + ( xk )F 0 (xk ) + ( xk )2 F 00 (k )/2 .

(3.27)

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


= xk

F (xk )
(xk )2 00

F (k ) .
0
F (xk )
2F 0 (xk )

(3.28)

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
x0 ,x00 (a,b)

|F 00 (x00 )/F 0 (x0 )| ,

F 0 (x0 ) 6= 0 .

(3.30)

Relatia (3.29) arata ca de la o etap


a k la o etap
a k+1 distanta scade aproximativ
cu patratul distantei la r
ad
acina din etapa precedent
a, adic
a metoda NewtonRaphson are o vitez
a de convergent
a p
atratic
a, superioar
a aproximatiei simple.
Efortul de calcul este de dou
a unit
ati de lucru deoarece la fiecare iteratie se
evalueaza atat functia c
at 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)

acut
a ntotdeauna dac
a plec
am suDaca M este finit, conditia (3.32) este satisf
ficient de aproape de r
ad
acin
a. Alt
a conditie de convergent
a 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 vecin
atatea r
ad
acinii 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
ad
acina este (a, b), se poate
pleca cu aproximatia initiala
x0 = (a + b)/2 .

(3.33)

Se recomanda ca n orice etapa sa control


am ntre ce valori se g
aseste r
ad
acina,
tangenta putand fi dusa dintr-un cap
at al intervalului sau din cel
alalt (dac
a
aseste
noua valoare calculata cu (3.24) iese n afara intervalului n care se g
r
ad
acina). Daca se iese din interval indiferent de cap
atul 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 rad
acina (fig. 3.3).
In vederea analizei convergentei metodei not
am Fk = F (xk ) si ek = xk ,
eroarea n iteratia k. Avem
ek+1 = xk+1 = xk

Fk ek1 Fk1 ek
(xk xk1 ) Fk
=
.
Fk Fk1
Fk Fk1

(3.36)

Dand factor comun fortat pe ek ek1 si inser


and raportul unitar (xk xk1 )/(xk
xk1 ) se obtine



Fk /ek Fk1 /ek1
xk xk1
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 | .
p

Avem |ek | = A |ek1 | de unde |ek1 | = A1 |ek |


obtine

(3.41)
1/p

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


= |ek |

. Inlocuind n (3.40) vom

1p+1/p

(3.42)

Membrul stang este n general finit pe c


and n membrul drept ek 0. Singura
posibilitate ca relatia s
a r
am
an
a valabil
a pe m
asur
a ce k creste este ca
1 p + 1/p = 0

(3.43)

ceea conduce la p = (1 + 5)/2


a al metodei
= 1.62, ordinul de convergent
secantei. Valoarea obtinut
a ar indica o convergent
a mai lent
a dec
at metoda
Newton-Raphson. Ins
a, n fiecare iteratie metoda secantei efectueaz
a o singur
a
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
rapid
a
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 parabolelor tangente restr
ange rapid, din ambele capete, intervalul pe care se afl
a r
ad
acina
de la (a0 , b0 ) la (a1 , b1 ).

3.2.4

Metoda parabolelor tangente

In cadrul metodei Newton-Raphson procesul iterativ se bazeaz


a pe aproximarea 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, datorit
a pierderii de
precizie.
Mai convenabil este sa se construiasc
a o parabol
a ce foloseste informatii din
dou
a 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 consider
a ca F (x) are derivate continui p
an
a 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),
p2 (a) = F (a),
1 Metoda

p1 (b) = F (b),
p2 (b) = F (b),

p01 (a) = F 0 (a) .


p02 (b) = F 0 (b) .

a fost elaborat
a de prof. M. Blumenfeld, 1977.

(3.46)
(3.47)

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,


i000 (x)

(3.48)

000

cu 1 (a, x), 2 (x, b). Dac


a derivata
= 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 .
atile
T
inand cont de (3.48), se deduc inegalit
F 000 (x)1 (x) < 0,

F 000 (x)2 (x) > 0,

(3.49)

pentru F 000 (x) 6= 0 de unde rezult


a c
a pentru x (a, b)
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
i
hp
k 2 + 4l(k + 1) k , k 2 + 4l(k + 1) 0,
(3.51)
x0 = a + 2l(b a)/
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 singur
a formul
a, schimb
and cap
atul
de tangenta, pentru a obtine un sir care converge spre r
ad
acin
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
urm
atorul tabel
x
F (x)
F 0 (x)
F 00 (x)

1
-2.2
2
+

%
+
+

0
+ | +
+ |
+ | +

&
-

1
-0.2
0
+

%
+

2
0.107
0.5
+

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 intervale ca (1, ), (, 1) cu apropriat de zero si care p
astreaz
a 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 r
ad
acinilor. Trecem
la restr
angerea 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
ad
acin
a

3.2. Procedee iterative


k
0
1
2
3
4

ak
-1.000000
-0.550000
-0.325000
-0.325000
-0.268750

95

ck
-0.550000
-0.325000
-0.212500
-0.268750
-0.240625

bk
-0.100000
-0.100000
-0.100000
-0.212500
-0.212500

f (ak )
-2.200000
-1.152163
-0.401070
-0.401070
-0.154776

f (ck )
-1.152163
-0.401070
0.136313
-0.154776
-0.016109

f (bk )
1.002585
1.002585
1.002585
0.136313
0.136313

Un calcul asem
an
ator furnizeaz
a intervalele (0.4375, 0.49375) si (1.75, 1.78125) pentru celelalte dou
a r
ad
acini. 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
ad
acinilor.
Pentru rafinarea r
ad
acinilor vom compara mai multe metode. Iteratia simpl
a conduce la relatia
xk+1 = f (xk ) = ln |xk | + 1.2

(3.54)

cu m = |f (x)| = 1/ |x| < 1 doar pentru intervalul (1.75, 1.78125). Pentru celelalte
dou
a 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 propunem determinarea r
ad
acinilor cu sase cifre semnificative exacte si astfel nc
at valoarea
functiei s
a fie mai mic
a de 107 . Primele c
ateva iteratii sunt redate n tabelul urm
ator.

k
0
1
2
3
4
5
6

= 0.1
-0.240625
-0.239014
-0.238236
-0.237862
-0.237682
-0.237596
-0.237555

secant
a
-0.240625
-0.268750
-0.238841
-0.237449
-0.237517

Newton
-0.240625
-0.237501
-0.237517

=1
1.765625
1.768505
1.770134
1.771055
1.771869
1.772228
1.772248

secant
a
1.765625
1.772176
1.772250
1.772250

= 0.5
0.465625
0.480625
0.487271
0.490374
0.491855
0.492568
0.492913

secant
a
0.465625
0.437500
0.493294
0.493245
0.493239

Newton
0.465625
0.491765
0.493235
0.493239

Newton
1.765625
1.772266
1.772250

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


iteratie simpl
a 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
simpl
a. Metoda Newton converge n general mai repede, ns
a metoda secantei realizeaz
a num
arul minim de evalu
ari de functie p
an
a la atingerea preciziei impuse.
Exemplu 2. S
a se determine r
ad
acina ecuatiei
F (x) = ex cos x = 0
cuprins
a n intervalul (-2,-1) cu 7 cifre semnificative exacte.
Rezolvare. Vom compara de data aceasta metoda Newton-Raphson cu metoda
parabolelor tangente. Valoarea de start furnizat
a de metoda parabolelor tangente
ad
acina evident
a
(3.51) este x0 = 0.17271412. Din acest punct de start se obtine r
din x = 0. Efectu
am totusi calculul pentru a compara cele dou
a metode. Iteratiile
succesive sunt
k
1
2
3

xk Newton
0.0419823
0.0016474
0.0000027

xk Parabole tangente
0.0376656
-0.0001885
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


ad
acinilor unei functii F (x)
oarecare. Daca functia F (x) are o form
a particular
a 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
ad
acinilor f
ar
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
Pn (x) =

n
X
j=0

anj x = a0

n
Y

(x xj ),

a0 6= 0 ,

(3.56)

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 leg
atur
a
dintre coeficientii unui polinom si r
ad
acinile 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
ad
acini este mai mare n modul dec
at toate celelalte |x1 | > |xj |, j = 2, n,
prin
m

ridicarea la o putere mare m ea va deveni preponderent
a |xm
|

x
1
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
ad
acinilor preponderente.
Se observa imediat ca, schimb
and x n x, se obtine
Pn (x) = (1)n a0

n
Y

(x + xj ) .

(3.59)

j=1

F
ac
and apoi produsul
(1)n Pn (x)Pn (x) = a20

n
Y

(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


Qn (z) = am
0

n
Y

(z xm
j )=

j=1

n
X

(s)

(1)j Anj z j ,

m = 20 , 21 , . . . , 2s .

(3.62)

j=0

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


ad
acinilor xj deoarece
acestea sunt necunoscutele problemei, ci prin nmultirea direct
a a polinoamelor
(s+1)
valorile acestor coeficienti n etapa s + 1, se
Pn (z) si Pn (z). Notand cu Aj
obtine urmatoarea relatie de recurent
a (prin identificarea coeficientilor):
(s+1)

Aj

n
i2
h
X
(s)
(s)
(s)
+2
(1)k Ajk Aj+k ,
= Aj

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)
ata
tarea semnului si valorilor coeficientilor Aj n diverse etape s. Pentru a ar
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)

m
m
xm
1 + x2 + . . . + xn = A1 /A0

(s)

(3.65)
(s)

m
m m
m
m
xm
1 x2 + x1 x3 + . . . + xn1 xn = A2 /A0

(s)

(3.66)
(s)

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

(3.67)

(s)

m
m
(s)
xm
1 x2 . . . xn = An /A0

(3.68)

a c
a, la un anumit m, termenul xm
Tinand cont de inegalit
atile (3.64) rezult
1 va
m
deveni preponderent n relatia (3.65); la fel se va ntmpla cu termenul xm
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 cantit
ati care reprezint
a p
atrate perfecte
(s)
(s)
(3.69)
xm
= A /A
1

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

(3.70)

(s)
m
m (s)
xm
1 x2 . . . xn = An /A0 ,

de unde se obtin imediat modulele r


ad
acinilor
1/m

(s)
(s)
,
xj = Aj /Aj1

j = 1, n .

(3.71)

(3.72)

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


problema care se pune este aceea de a sti c
and termenii retinuti n sistemul (3.693.71) au devenit ntr-adev
ar preponderenti, astfel nc
at s
a se produc
a separarea
radacinilor. Pentru aceasta se calculeaz
a rapoartele
i2
h
(s)
(s1)
(s)
/Aj , j = 1, n 1 ,
rj = Aj
(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)
(s1)

.
/A0
= A1

Cu atat mai mult n iteratia urm


atoare
(s) (s)
xm
1 = A1 /A0
(s)
(s)
a fie aproape de unu, rn1
Ca atare, raportul r1 ar trebui s
= 1. Rationamentul
se repeta pentru ceilalti coeficienti astfel c
a ajungem la urm
atorul criteriu de
(s)
separare: daca toate rapoartele rj , j = 1, n 1 tind c
atre unu atunci s-a
produs separarea rad
acinilor polinomului ce au fost presupuse distincte.

3.3. Determinarea r
ad
acinilor polinoamelor

99

Cazul r
ad
acinilor reale, multiple n modul.
Putem trata si cazul n care polinomul Pn (x) are mai multe r
ad
acini reale, de
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 preponderenta a primei relatii Vieta (3.65) este
(s)
m
m
m (s)
xm
1 + x2 + . . . + xM = M x1 = A1 /A0 ,

(3.75)

iar cea a relatiei Vieta M este


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

(3.76)

S
a deducem criteriul de separare. Dac
a separarea s-ar fi produs n iteratia s 1
atunci ar trebui ca
m/2

x1

(s1)
(s1)

/M ,
/A0
= A1

iar n iteratia urmatoare


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

deoarece se obtine o aproximatie mai bun


a datorit
a exponentului mai mare.
Se observa ca pentru calculul unei r
ad
acini 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 aplic


a cu o deplasare cu k a indicilor. Anume
(s)
ad
acinii xm
raportul rk va tinde catre M la separarea r
k , iar calculul acesteia se
efectueaza conform formulei
i1/mM
h
(s)
(s)
.
(3.79)
xk = Ak+M /Ak

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)

x2 = ei

(3.81)

Vom scrie
x1 = ei ,

cu = |x1 | = |x2 | modulul r


ad
acinilor si argumentul acestora. Prima relatie
Vieta (3.65) devine
(s)
m (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
(s)
(s)
2m
= A2 /A0 .

(3.83)

Modulul se determin
a analog determin
arii unei r
ad
acini reale, 2-multipl
a n
modul
i 1
h
(s) 2m
(s)
= 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
(s1)
(s1)
,
/A0
m/2
= A2

iar n iteratia urmatoare


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

Ca atare, raportul r2
parte, raportul

(s)

ar trebui s
a fie aproape de unu, r2
i2
h
(s)
(s1)
(s)
/A1
r1 = A1

a
= 1. Pe de alt

(3.85)

este oscilant datorita schimb


arii semnului termenului 2m cos m. Asadar, vom
recunoaste prezenta r
ad
acinilor complex conjugate prin aparitia unor rapoarte
oscilante. Separarea modulului unei perechi de r
ad
acini 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)
a p
atrate perfecte, n ordinea indicilor.
cientilor Aj , j = 1, n 1 care reprezint
(s)

(s)

atrate perfecte.
Coeficientii A0 si An sunt ntodeauna p
(s)
atrat perfect se stabileste prin
2. Verificarea ca un anumit Aj este un p
(s)

(s)

raportul rj dintre valorile coeficientului Aj n etape succesive, care tinde


c
atre unitate,
i2
h
(s)
(s1)
(s)
(3.86)
/A1 1
rj = A1
c
and patratul perfect se realizeaz
a.
(s)
atre unitate au indici consecutivi, atunci
3. Daca rapoartele rj care tind c
se obtin radacini simple.
(s)
(s)
atrate perfecte consecutive, atunci modulul
4. Daca Aj si Aj+M sunt p
(s)

(s)

a M0
unor radacini are ordinul de multiplicitate M. Dac
a ntre rj si rj+M exist
0
rapoarte oscilante, atunci vor apare M perechi de r
ad
acini 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
ad
acinilor
reale, semnul se stabileste prin nlocuirea n ecuatia original
a, Pn (x) = 0. In cazul radacinilor complexe, modulul odat
a determinat, se determin
a partea real
a si
imaginara folosind relatiile ntre r
ad
acini 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 tuturor radacinilor, reale si complexe, ale unui polinom cu coeficienti reali. Printre
dezavantaje se numara: posibilitatea dep
asirii superioare de registru, necesitatea examinarii de catre utilizator a tabloului coeficientilor precum si necesitatea
rezolvarii unor sisteme de ecuatii neliniare n cazul existentei r
ad
acinilor complexe.
7. Datorita lucrului cu numere mari, aproximatiile r
ad
acinilor 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 r
ad
acinilor 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
ad
acinii 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 num
ar
minim de operatii aritmetice.
Schema lui Horner.
Impartind polinomul Pn (x) prin monomul x se obtine
Pn (x) =

n
X

anj xj = (x )

j=0

n1
X

bnj1 xj + bn ,

(3.87)

j=0

a prin identificarea termenilor


unde bj , j = 0, n sunt coeficienti care se determin
av
and aceeasi putere a lui x,
b 0 = a0 ,

bk = ak + bk1 ,

k = 1, n .

(3.88)

Din (3.87) se observa c


a 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 dup
a (3.88)
dbk
dbk1
= bk1 +
,
d
d

k = 1, n .

(3.89)

S-au obtinut relatii de recurent


a pentru noii coeficienti
ck1

dbk
,
d

k = 1, n ,

(3.90)

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
ad
acini 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)

AtinsPrecizie |nou | (1 + |nou |) sau |b| <


nou ; m m + 1
pana cand AtinsPrecizie sau m > mmax

(3.93)

unde este eroarea relativa maxim admis


a pentru r
ad
acin
a, este valoarea
maxim admisa pentru valoare polinomului, iar M este multiplicitatea r
ad
acinii
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.
Daca este o radacina multipla, derivata polinomului n va fi nul
a, Pn0 () = 0.
Numerele bn , cn1 vor tinde catre zero simultan, iar convergenta procedeului 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
ad
acinii. Aplicam procedeul Newton-Raphson functiei f (x) = [Pn (x)]
ce
1/m1
0
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


am
ane de stabilit o modalitate
de determinare a multiplicitatii M . Se stie c
a 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 r
ad
acinii.
Pentru evaluarea derivatelor se foloseste schema lui Horner complet
a. Determinarea tuturor derivatelor unui polinom n x = este echivalent
a cu dezvoltarea 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
k=
 0 : (n 1)
j = (n 1) : k : 1
[Cj Cj + Cj+1

(3.99)

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 (dac
a
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
Pn (x) =

n
X

anj xj = (x2 + px + q)

j=0

n2
X

bnj2 xj + Rx + S .

(3.100)

j=0

Identificarea termenilor conduce la relatiile


bk = ak pbk1 qbk2 ,
R = an1 pbn2 qbn3 ,

k = 0, n 2 ,

(3.101)

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)

a un sistem de dou
a ecuatii cu dou
a necunoscute.
Relatiile (3.103) formeaz
Ecuatiile sunt nelineare si pentru rezolvarea sistemului se aplic
a tot o metod
a

3.3. Determinarea r
ad
acinilor polinoamelor

105

de tip Newton-Raphson2 . Vom aplica principiul liniariz


arii, p
astr
and numai
termenii liniari din dezvoltarile n serie Taylor a functiilor bn (p, q), bn1 (p, q) n
jurul unei aproximatii curente (pm , qm )




bn
bn

+ (q qm )
= 0 , (3.104)
bn (p, q) = bn (pm , qm ) + (p pm )
p m
q m
bn1 (p, q)
= bn1 (pm , qm ) + (p pm )

bn1
p

+ (q qm )

bn1
q

= 0.
m

(3.105)
Urmatoarea aproximatie (pm+1 , qm+1 ), va fi dat
a de solutia sistemului liniarizat
de mai sus. Pentru obtinerea derivatelor partiale diferentiem relatia de recurent
a
(3.101)
bk
bk1
bk2
= bk1 p
q
,
p
p
p

bk
bk1
bk2
= bk2 p
q
.
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)

a relatii de
pentru k = 0, n si cu c1 = c2 = d1 = d2 = 0. Cum cele dou
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 nesingular
a pentru
r
ad
acini complexe simple. Solutia sistemului este, n aceste conditii,
p pm+1 pm = (bn1 cn1 bn cn2 )/J ,
q qm+1 qm = (bn cn1 bn1 cn )/J ,

(3.109)
(3.110)

cu J cn cn2 c2n1 .
Procedeul poate fi repetat pentru polinomul
Pn2 (x) =

n2
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
(3.112)
x1,2 = p p2 4q /2 .
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 bun
a pentru . Mai trebuie doar ncercate diverse
valori pentru pentru a vedea ce valori initiale conduc la convergenta procedeului. Exista si alte rezultate teoretice ce pot fi folosite pentru localizarea
radacinilor. Spre exemplu, dac
a not
am
R1 = 1 + |a0 |

max |ak | ,

0<kn


1
1
,
R2 = 1 + |an |
max |ak |
0k<n

(3.114)

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


atorul
initiale ale r
ad
acinilor. Rezultatele aplic
arii relatiei (3.63) sunt redate n urm
tabel.

3.3. Determinarea r
ad
acinilor polinoamelor
s
0
1
2
3
4
5
6

(s)

A0
1.00
1.00
1.00
1.00
1.00
1.00
1.00

(s)

A1
4.000E+00
1.400E+01
1.500E+02
1.951E+04
3.785E+08
1.433E+17
2.053E+34

(s)

A2
1.000E+00
2.300E+01
1.495E+03
1.047E+06
9.139E+11
8.263E+23
6.828E+47

107
(s)

A3
-3.000E+00
-3.700E+01
3.987E+03
4.657E+06
1.172E+13
1.241E+26
1.543E+52

(s)

A4
-1.000E+00
-3.500E+01
3.889E+03
4.790E+06
7.301E+12
-1.285E+25
-1.811E+51

(s)

A5
-6.000E+00
3.600E+01
1.296E+03
1.680E+06
2.821E+12
7.959E+24
6.334E+49

Calculul s-a desfasurat cu mai multe cifre semnificative dec


at 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 calculeaz
a si rapoartele din (3.73):
s
0
1
2
3
4
5
6

(s)

r1

1.14
1.31
1.15
1.01
1.00
1.00

(s)

r2

0.04
0.35
2.14
1.20
1.01
1.00

(s)

r3

-0.24
0.34
3.41
1.85
1.11
1.00

(s)

r4

-0.03
0.31
3.16
3.14
-4.15
-0.09
(s)

(2)

(s)

Se observ
a obtinerea izol
arii a trei r
ad
acine reale din rapoartele r1 , r2 , r3 ce
(s)
tind toate c
atre 1. Raportul r4 oscileaz
a denot
and prezenta unei perechi de r
ad
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
Modulul perechii de r
ad
acini complexe este

1/(264)
(6)
(6)
= A5 /A3
= 0.9579761

(3.119)

(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 aproximatiilor 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 ns
a la aplicarea procedeului Bairstow pentru exemplificarea
modului de lucru. Lu
am q = 2 si p = 0 ca aproximatie initial
a ceea ce corespunde la
= /2. Se obtin urm
atoarele rezultate
Iteratie
0
1
2
3

p
0.0000
-0.1052
-0.1064
-0.1064

q
0.9180
0.9028
0.9407
0.9178

b0
-1.25E-01
1.43E-01
-7.04E-04
-4.73E-09

b1
-1.08E+00
-3.60E-02
3.54E-04
1.76E-08

R
-1.0753
-0.0360
0.0004
0.0000

S
-0.1249
0.1468
-0.0007
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
ad
acinile 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 simpl
a: 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 efectueaz
a o serie de experimente numerice, lu
and diverse
puncte din [2, 2] [2, 2] ca puncte de start. Se nregistreaz
a num
arul de iteratii
necesare atingerii unei r
ad
acini sau faptul c
a procesul diverge. Frontiera dintre domeniul atractiv, pentru care procesul converge si cel repulsiv, pentru care procesul
diverge este extrem de complicat
a. Cercet
ari matematice moderne au ar
atat c
a este
vorba de o nou
a structur
a matematic
a cu propriet
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
ad
acin
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 inerente 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 zecimal
a 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, oric
at de mult.
Erorile de rotunjire sunt legate de posibilit
atile limitate de reprezentare a
numerelor n calculatoarele numerice. In general, orice calculator poate reprezenta 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 virgul
a 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 num
ar 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 exact
a
a a num
arului si cu x valoarea calculat
(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, s


a 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 adun


a. 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). Not
and cu p aceast
a nou
a eroare,
vom obtine eroarea relativa totala tp la nmultirea a dou
a numere
tp = x + y + p

(4.11)

|tp | |x | + |y | + |p | < 15 10t .

(4.12)

iar ca margine a erorii

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
/
y (1 + ex /
x ey /
y) = x
/
y (1 + x y ),

(4.13)

unde am neglijat termenii de grad superior lui 2 n ex si ey . S-a folosit dezvoltarea n serie Taylor pentru 1/(1 + y )
a c
a eroarea relativ
a
= 1 y + . . . . Rezult
la mpartire, datorata erorilor de reprezentare n calculator (ex si ey ), este
ex/y /(
x/
y ) = x y ,

(4.14)

adica este egala cu diferenta erorilor relative introduse initial n valorile num
ar
atorului si numitorului. La acestea se adaug
a eroarea de rotunjire la reprezentarea
raportului x
/
y , pe care o vom nota cu d , astfel nc
at eroarea relativ
a total
a la
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 suplimentar
a la reprezentarea sumei x
+ y, a c
arei 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)

Ca aplicatie, sa scriem eroarea total


a la calculul expresiei E = (x + y)z
=
(
x + y)
z . Rezulta
tE = x
/(
x + y)x + y/(
x + y)y + z + s + p ,

(4.19)

|tE | 5 10t [(|


x| + |
y |)/ |
x + y| + 3]

(4.20)

cu marginea

Ca recomandare general
a, n calculul numeric trebuie studiat
a si propagarea 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
xn ex1 dx .
(4.21)
In =
0

4.2. Propagarea erorilor n calcule

n
0
1
3
7

Tabelul 4.1: Exemplu


In (4.22) In (4.24)
0.632121 0.632121
0.367879 0.367879
0.207277 0.207277
0.112383 0.112384

113

de amplificare a erorilor

n
9
13
17
20

In (4.22)
0.091586
-0.377925

In (4.24)
0.091612
0.066948
0.052778
0.000000

O modalitate de calcul o reprezint


a utilizarea unei relatii de recurent
a
In = 1 nIn1 ,

n = 1, 2, . . . ,

(4.22)

plec
and de la valoarea I0 = 1 e1 . Rezultatele calculelor pentru diferitele
a c
a, pentru n = 13, se obtine
valori ale lui n sunt date n tabelul 4.1 Se observ
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. Observ
and c
a valoarea integralei scade
cu n, vom alege N = 20 si vom aproxima I20
and integralele de indice
= 0, calcul
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 simularea numerica. Enumeram cateva situatii: interpolare cu functii spline cubice, rezolvarea sistemelor de ecuatii neliniare cu ajutorul metodelor iterative
care au la baza liniarizarea ecuatiilor, discretizarea ecuatiilor diferentiale ordinare 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
j=1

ai,j xj = bi , i 1, m ,

(5.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
cel
mai
bine
ecuat

iile
(5.1)

n
sensul
minimiz
a
rii
reziduuPn
Pn
lui R = i=1 (bi j=1 ai,j xj )2 .
Nu trebuie uitat c
a, 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
at
ateste de la
o etapa la alta.

5.1
5.1.1

Metode directe
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 extins
a 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
1,n+1
x1
(1)
(1)
(1)
0
a2,n+1
...
...
a2,n
a2,2 . . .

x2

..
..
..
0


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

= (i1)

. (5.4)
(i1)
(i1)
0
xi
ai,n+1
. . . ai,n
0
0 ai,j


..

..
.
0

.
.
0
0
0
... .
(n1)
(n1)
x
n
an,n+1
0
0
0
0
0 an,n
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 alt
a 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)

ai n
Repetand procedeul pentru i = 2, n, se obtin elemente nule pe coloana nt
aceasta prima etapa. Evident, pentru a putea opera, trebuie ca a1,1 6= 0. Mai
a ca a1,1 s
a fie n
mult, dupa cum vom vedea la paragraful (5.1.3), se recomand
modul cat mai mare posibil, deoarece n acest mod, erorile de rotunjire sunt reduse. Elementul ai,i plasat pe diagonala principal
a se numeste pivot. Obtinerea
unui pivot cu modul cat mai mare este posibil
a prin schimb
ari 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 pivotului. 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 elementul 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 interschimbate 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 schimb
am 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 dup
a regula
s = 1 : (n 1)

i = (s + 1) : n

(s1)
(s1)

mi,s ai,s /as,s

j = (s + 1) : (n + 1)
h
(s1)

(s)

ai,j ai,j

(5.6)
(s1)

mi,s as,j

(s1)
Intr-adev
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
a matricea A nu este
ar fi rafinarea solutiei (paragraful 5.1.3). In final, dac
(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

xci (a(i1)
i,n+1

n
X

(5.7)
(i1)
(i1)
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
astrat
a o copie a acesteia.
rafinarea inversei, vezi. 5.1.7), trebuie p
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 mpreun
a tot a operatie (aproximativ acelasi timp

5.1. Metode directe

119

de calcul pe calculator). Amintindu-ne c


a operatiile se efectueaz
a cu elementele matricei extinse A0 , de dimensiuni n (n + 1), vom avea de efectuat, dup
a
artiri pentru a obtine multiplicatorii mi,s .
schema (5.6), ntr-o etapa s, n s mp
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 num
arul de operatii la eliminarea
Gauss
nG =

n1
X

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

s=1

n2
5n
n3
+

.
3
2
6

(5.8)

Acest numar este foarte mic (ncep


and cu n 3) fat
a de n n! operatii cerute de
regula lui Cramer (cu determinantii calculati dup
a minori). La operatiile (5.8) se
adauga nca aproximativ 1 + (n 1) + n(n 1)/2 = n2 /2 + n/2 operatii pentru
arul total de operatii pentru eliminarea
retrosubstituirea (5.7). Rezulta num
gaussiana
nG =

n
n3
n3
+ n2
+ n2 .
3
3
3

(5.9)

aproximatia fiind valabila pentru n  1.


and 1 pe diagonala principal
a,
Relatiile (5.6) si (5.7) se pot optimiza obtin
dupa algoritmul dat de (5.10), unde am inclus si calculul determinantului matricei A, d = det A. Numarul de operatii se reduce (nesemnificativ) cu n mp
artiri
la etapa de retrosubstituire.
Algoritm Gauss
[Eliminare ]
d1
s = 1 : (n 1)

j = (s + 1) : (n + 1)
[as,j as,j /as,s ]

d d as,s ; as,s 1

i = (s + 1) : n
"

j=

h (s + 1) : n
(s)

(s1)

ai,j ai,j

(s1) (s1)
ai,j

ai,s

[Retrosubstituire ]
(n1)
xn an,n+1
i = (n 1) : 1

xi a(i1)
i,n+1

Algoritm Gauss-Jordan
[Eliminare ]
d1
s= 1 : n
j = (s + 1) : (n + 1)
[as,j as,j /as,s ]

d d as,s ; as,s 1

i=1:n

dac

" a i 6= s

jh = (s + 1) : n

(s)

(s1)

(s1) (s1)
ai,j

ai,j ai,j ai,s


[Calculul necunoscutelor ]
hi = 1 : n
(i1)

xi ai,n+1

n
X

(i1)

ai,j

xj

j=i+1

(5.10)

120

5. Rezolvarea sistemelor liniare

Exemplu. Folosind metoda elimin


arii

x1 + 29 x2
8x1 + 2x2

x1 + 2x2

gaussiene, s
a se rezolve sistemul de ecuatii
+

x3
3x3
5x3

Scriem matricea extins


a si efectu
am elimin
arile

2
1
1
2
9
1
1 |
2
9
s=1
2
8 2 3 | 1 0
11
9
16
1 2 5 |
1
0
6
9

=
=
=

2
1 .
1

(5.11)

dup
a regula (5.6). Obtinem succesiv

|
2
1 92
1 |
2
s=2
2
0 9 11 | 17 .
| 17
0 0
82 | 135
|
1

Rezult
a

= 819/164 ' 4.9939,
x3 = 135/82 ' 1.6463, x2 = (9/2) 17 + 11 135
82
x1 = 2 135/82 (2/9)(819/164) = 31/41 ' 0.7561 .

(5.12)

Valoarea din chenar reprezint


a pivotul etapei respective. Modul de lucru nu este cel
mai adecvat pentru transpunerea pe calculator deoarece: (a) elimin
arile s-au f
acut
f
ar
a a utiliza nici o tehnic
a de pivotare (partial
a sau total
a); (b) calculele s-au efectuat
utiliz
and fractii ordinare, ceea ce implic
a programe speciale.
Pentru evidentierea erorilor si tin
and cont c
a sistemul este foarte mic, relu
am
calculele folosind pivotarea partial
a si lucr
and 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

8
0
0

s=1

2
0.028
1.75

3
1.38
4.63

|
|
|

8
0
0

s=2

8
1
l2 l3
2.13 0
1.13
0
2
1.75
0

3
4.63
1.31

2
1.75
0.028
|
|
|

3
4.63
1.38

|
|
|

1
s=2
1.13
2.13

1
1.13 .
2.15

Rezult
a
x
3 = 0.164 101 , 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 virgul
a mobil
a normalizat
a n sistem zecimal. Desi sistemul este mic si relativ bine
arul de conditionare calculat cu (5.64) si norma
conditionat (vezi paragraful 5.1.8, num
euclidian
a 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
0
81.6 | 1.13
0
1.75
4.63 | 1.13
cu solutiile
01 = 0.7 100 .
02 = 0.476 101 , x
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
kx x
k = 0.139 101 , kx x
0 k = 0.234 .

5.1.2

(5.15)

Metoda Gauss-Jordan

Este similara cu metoda precedent


a, cu deosebirea c
a produce zerouri at
at dedesubtul cat si deasupra diagonalei principale, reduc
and astfel matricea initial
a
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 justificat
a. Aceast
a metoda este nsa utilizat
a la calculul numeric al matricei inverse,
arul de operatii, nGJ ,
operatie pe care o vom prezenta la paragraful 5.1.5. Num
pentru metoda de eliminare Gauss-Jordan se calculeaz
a observ
and c
a 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
nGJ =

n
X

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

s=1

n3
3n
n3
+ n2

+ n2 , (5.16)
2
2
2

aproximatia fiind valabila pentru n  1.

5.1.3

Propagarea erorilor la metodele de eliminare. Rafinarea solutiei

Formula de calcul a coeficientilor matricei extinse este dat


a de relatiile (5.6) pe
care le retranscriem sub forma
(s)

(s1)

ai,j = ai,j

(s1) (s1)
as,j /a(s1)
,
s,s

ai,s

j s + 1, n + 1 ,

(5.17)

3 Elementele matricei Hilbert sunt date de relat


ia hi,j = 1/(i + j + 1). Matricea Hilbert este un caz tipic de matrice r
au conditionat
a; 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)

(s)

i,j

ai,j

(s)
ai,j
(s1)

i,s

(s1)

(s1)

i,j

(s1)

+ s,j

ai,s

(s1)

as,j

(s1)
as,s

(s)
ai,j

0 + s ,

(5.18)

(s1)
+ p + d .
s,s

In expresia (5.18) s-a tinut seama de propagarea erorilor la sc


adere (sau sumare),
la produs si la mpartire, dup
a regulile date n capitolul 4. Marginea erorii
relative totale este



(s1)
(s1) (s1)



a
ai,s as,j
(s)
t i,j


(5.19)
i,j 5 10
(s) + 5 (s1) (s) + 1 ,
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
a fie c
at mai mare. In leg
atur
a cu strategia
pivotului maxim, se poate face ns
a si urm
atoarea remarc
a: deoarece, conform
a
relatiei (5.35), produsul pivotilor este n modul egal cu valoarea lui det A, rezult
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
acut
a
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 elementul maxim n modul s
a se afle pe aceast
a linie, chiar dac
a 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 nc
at elemetele maxime n modul de pe fiecare linie s
a fie egale cu unitatea. Sistemul (5.1)
devine
n
X
(5.20)
ri ai,j xj = ri bi , ri = 1/ max |aij |, i 1, n ,
j=1

j1,n

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 determinantul, acesti multiplicatori trebuie memorati.
Similar, preconditionarea prin echilibrare pe coloane, const
a n transformarea
sistemului (5.1) n sistemul echivalent
n
X
j=1

pj ai,j (xj /pj ) = bi , pj = 1/ max |aij |, j 1, n ,


i1,n

(5.21)

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. Not
and
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 rafinat
a
x
1 = x
+e .

(5.25)

a, deoarece la determinarea
Evident, nici aceasta solutie (5.25) nu este exact
vectorului eroare e se introduc aceleasi erori ca la rezolvarea sistemului initial
a rafinare, plec
and
(5.2), prin transformarile efectuate asupra matricei A. O nou
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
verificat
a n sistem. In acest fel, se g
aseste vectorul erorilor (5.23)
Solutia
(5.13)
(5.14)

1
0.944 102
0.328 102

2
0
0

3
0.5 102
0.38 100

kk /kbk
0.47 102
0.19 100

Se constat
a 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
0
81.6 |
0.585
0
1.75
4.63 |
0.38
cu solutia
e3 = 0.717 102 , e2 = 0.236 100 , e1 = 0.563 101
Solutia corectat
a este
0i + ei ) ,
1 = 0.756, (
x00i = x
002 = 0.450 101 , x
x
003 = 0.165 101 , x
cu norma maxim
a a erorii
kx x
00 k = 0.4 101 .
Se observ
a o reducere a normei erorii absolute n raport cu solutia x
0 , dar rezultatul este
sub precizia realizat
a cu pivotare, chiar f
ar
a rafinare (5.12), care are norma maxim
a
dat
a de (5.15).

124

5.1.4

5. Rezolvarea sistemelor liniare

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 etap
a cu o matrice L2 ,
s.a.m.d. Se verifica direct c
a aceste matrice sunt de forma

1
0 ... ... 0
1
0
... ... 0
m2,1 1 . . . . . . 0
0
1
... ... 0

..
..

,
.
.
m
0
.
.
.
0
L1 =
.
.
.
0
0
m
,
L
=
3,1
3,2
2

..
.. . .
.
.
.
.
.
.
.
.
.
.
.
.
.

.
. .
. .
.
.
.
.
.
mn,1 0 . . .
0 1
0 mn,2 . . . . . . 1
adica se obtin din matricea unitate de dimensiuni n n prin introducerea multiplicatorilor, 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)

a n etapa n 1 a elimin
arii gaU fiind matricea superior triunghiular
a4 , obtinut
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 verifica direct ca matricele inverse L1
in din matricele Ls prin schimbarea
s se obt
semnelor elementelor mi,s . Not
and cu L = (Ln1 Ln2 . . . L2 L1 )1 matricea
a c
a la eliminarea gaussian
a
inversa a transformarilor matricei A (5.27), rezult
(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

1
1
m3,1 m3,2
1
...
0
L = L1
L
.
.
.
L
=
(5.29)

.
1
2
n1
..
..
..
..
..
.

.
.
.
.
mn,1

4 Literele

mn,2

...

mn,n1

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

a1,1 a1,2 a1,3 . . .


a1,n
(1)
(1)
(1)
0
a2,n
a2,2 a2,3 . . .

(2)
(2)
a3,n
0
0
a3,3 . . .
U =

..
..
..
..
..
.
.
.
.
.
(n1)
0
0
...
0 an,n

expresia

(5.30)

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 concluzia ca, datorita permutarilor, matricea A nu se mai descompune chiar ntr-un
produs de matrice triughiulare. De fapt
1
1
0
A = (L1
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
1
1
1
1
1
0
0
Pi,j L1
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)

np
det A = (1)np det U 0 = a1,1 a2,2 . . . a(n1)
,
n,n (1)

(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
a fie probleme str
ans legate. Intr-adev
ar, matricea B
este inversa matricei A dac
a
AB = BA = I .

(5.36)

Daca lu
am n considerare prima coloan
a a matricei B, obtinem

1
b1,1
a1,1 a1,2 . . . a1,n
a2,1 a2,2 . . . a2,n b2,1 0
=

...
... ... ... ... ...
bn,1
an,1 an,2 . . . an,n
0

(5.37)

adica un sistem de n ecuatii cu n necunoscute. Rezult


a deci c
a problema determinarii 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)

unde Pi,j , Pk,l reprezint


a matricele de permutare, Ts , s 1, n sunt matrice care
contin multiplicatorii, iar D(n) este o matrice diagonal
a

1
0

T2 =
0
.
..
0

m1,2
1
m3,2
..
.
mn,2

...
...
..
.
..
.
...

...
...
...
..
.
...

T1 = L1 ,

0
1/a1,1

(n)

0
..
, D =
.

..

.
0
1

0
(1)
1/a2,2
..
.
0

...
...
..
.
...

0
0
..
.
(n1)

1/an,n

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

Pk,l IPk,l = Pk,l BAPk,l Pk,l , rezult


a (Pk,l B)A = I, deci A1 = Pk,l B , (5.42)

5.1. Metode directe

127

adic
a matricea inversa se obtine din matricea B printr-o permutare de linii, corespunz
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)

A1 = (Pkm ,lm . . . (Pk2 ,l2 (Pk1 ,l1 B)) . . . ) ,

(5.44)

rezulta

adic
a permutarile de linii n matricea B se efectueaz
a n ordine invers
a fat
a de
permutarile de coloane efectuate n matricea A. Dac
a la c
autarea 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
etap
a 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
etap
a, 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)

a
deci, aproape de 1.5 ori mai mic fat
a de (5.45) n cazul matricelor mari. Aceast
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 adaug
a
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 c
a 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
g
asirea celor n2 necunoscute cerand ns
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
8
1

| 1 0 0
8
2
3 | 0 1
l1 l2
| 0 1 0
1 0.2222
1
| 1 0
| 0 0 1
1
2
5 | 0 0
"
#
8
2
3
| 0
1
0
s=1
0 0.0278
1.375
| 1 0.125 0

1.75
4.625 | 0 0.125 1
0
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

1.75
| 1 0.125
1
0 4.625
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

0.2222
2
2

1
3
5

0
0
1

(5.49)
Calculele au fost efectuate cu 4 cifre semnificative.
2 si 3 pentru aducerea valorii 4.625 pe pozitia
obtine din (5.49) prin permutarea liniilor 2 si 3 n
coloane

0.2195
0.1707
0.3293
B0 = 2.030
0.7683
0.09758

5.1.6

Deoarece am permutat coloanele


pivotului, matricea invers
a B0 se
matricea format
a cu ultimele trei

0.1463
0.6037 .
0.0122

(5.50)

Relatia Sherman-Morisson

Fie matricea A pentru care am calculat, cu un efort apreciabil, o aproximatie


a inversei, B
a presupunem c
a n matricea A sunt c
ateva elemente
= A1 . S
care sufera mici modific
ari (se poate modifica numai un element, sau o linie, sau
o coloan
a, etc.). Se pune problema de a folosi munca depus
a anterior pentru
calculul matricei inverse B. Acest lucru se poate realiza cu formula ShermanMorisson
(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 modific
a 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
in
and cont de (5.54), atunci Fk 0, deoarece
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 =
= I ABk ABk Fk = I A(Bk + Bk Fk ) = I ABk+1 ,

(5.57)

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, adic
a
inversarea initiala sa fie c
at mai bun
a.
Exemplu. Matricea erorilor pentru matricea invers
a B0 dat
a de (5.50) este
5

F0 = 10

13.4
90
100

7.046
20
10

4.214
40 ,
10

(5.62)

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
57.94
1.68 1.419 .
B0 F0 = 10
2.731
3.339
0.544
Se obtine matricea rafinat
a B1 si matricea erorilor F1 date de

3.923
0.2195
0.171
0.1463
8
0.3293
0.6037 , F1 = 10 9.94
B1 = 2.0306
5.6
0.7683
0.09758
0.0122

2.775
14.34
6.046

2.962
7.793 .
0.786
(5.63)

Folosind inversele B0 si B1 pentru rezolvarea sistemului (5.11), se obtin solutiile


x
(0) = B0 b = (0.756, 4.993, 1.6464)T , 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 la inversare dat
a de relatia (5.60) n norma kk este pentru matricea
nerafinat
a B0 dat
a de (5.50)
k0 A1 k /kA1 k kF0 k = 1.5 103 ,
iar pentru matricea rafinat
a B1 dat
a de (5.63) este
k1 A1 k /kA1 k kF1 k = 0.32 106 .

5.1. Metode directe

5.1.8

131

Efectele erorilor din datele initiale

Dac
a 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 nerafinat
a B0 dat
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 initial


a A, s-a introdus perturbatia A astfel
nc
at eroarea relativa, n norma, satisface inegalitatea
kAk kA1 k < 1 .

(5.65)

S
a presupunem ca si vectorul b este dat cu eroarea b. In consecint
a, va rezulta
o imprecizie x n solutie, astfel nc
at
(A + A)(x + x) = b + b ,

(5.66)

A x + (A + A)x = b .

(5.67)

sau, tinand cont de (5.1)

Din (5.67) se obtine succesiv


x = (A + A)1 (b A x) = [A(I + A1 A)]1 (b A x) =
= (I + A1 A)1 A1 (b A x) ,

(5.68)

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)

kxk (1 kA1 k/kAk)1 kA1 k(kbk + kAk kxk)

(5.71)

Utilizand (5.68), rezulta

132

5. Rezolvarea sistemelor liniare

sau, mpartind cu kxk 6= 0 si utiliz


and (5.70)


kxk
(A)
kbk kAk

+
.
kxk
1 (A)kAk/kAk kbk
kAk

(5.72)

a.
Semnul egal n (5.72) corespunde matricelor hermitice, cu norma spectral
Se observa importanta num
arului 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
kA k
1 (A)kAk/kAk kAk

5.1.9

(5.73)

Factorizarea L U

Dupa cum am vazul la paragraful 5.1.4, metoda elimin


arii gaussiane f
ar
a permutari 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

A=

l1,1
l2,1
..
.
ln,1

0
l2,2
..
.

...
...
..
.

0
0
..
.

ln,2

...

ln,n

u1,1
0
..
.

u1,2
u2,2
..
.

...
...
..
.

u1,n
u2,n
..
.

un,n

(5.75)

and cont
Putem folosi descompunerea (5.74) pentru a rezolva sistemul (5.2) tin
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)

a cu usurint
a datorit
a faptului c
a matricele L si U
Sistemele (5.77) se rezov
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 dac
a pentru orice vector x 6= 0, avem xT Ax > 0.

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
[Se alege uk,k sau lk,k ,
se determina lk,k sau uk,k ]

k1

lk,k uk,k ak,k P lk,s us,k

s=1

i = (k + 1) : n

ji


k1
P

(ak,j
lk,s us,j )


s=1
uk,j

lk,k

k1
P


(ai,k
li,s us,k )

s=1
li,k
uk,k

k=1:n

[Se alege lk,k , se determin


a
uk,k care se p
a
streaz
a

locatia ak,k ]

k1

(ak,k
ak,s as,k )

s=1
a
k,k
lk,k

i = (k + 1) : n

ji


k1
P

(ak,j
ak,s as,j )


s=1
ak,j

lk,k

k1

P

(ai,k
ai,s as,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 real
a, simetric
a si pozitiv definit
a, atunci ea
admite o factorizare LU unic
a, n care U = LT .
In cazul n care A este o matrice real
a, simetric
a si pozitiv definit
a, descompunerea 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
h
Pk1
li,k (ai,k s=1 li,s lk,s )/lk,k .

(5.79)

134

5. Rezolvarea sistemelor liniare

5.1.10

Descompunerea SV D

In unele cazuri, metodele prezentate anterior esueaz


a datorit
a matricei sistemului care are determinantul foarte mic ca valoare absolut
a. Altfel spus, una din
liniile sistemului este aproape o combinatie liniar
a a celorlalte linii6 . In aceste
7
situatii se recomanda descompunerea SV D pe care o prezent
am n acest paragraf. 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 descompus
a ntr-un produs de trei matrice
A=U W VT ,

(5.80)

unde U este o matrice ortogonal


a m n, W este o matrice diagonal
a n n, iar
V este o matrice ortogonal
a 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
a.
(5.80) poate fi facuta si n cazul n care matricea A este singular
In cazul n care matricea A este p
atrat
a (m = n), sistemul (5.2) se rezolv
a
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,
a
iar sistemul (5.2) este nedeterminat si poate fi compatibil sau incompatibil dup
cum rangul matricei A este sau nu egal cu rangul matricei extinse A0 . Dac
a
ata c
a o solutie particular
a poate fi
sistemul (5.2) este compatibil, se poate ar
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
a solutia obtinut
a
care sistemul (5.83) este incompatibil, se poate demonstra c
minimizeaza reziduul
R = kAx bk2 ,

(5.84)

atrate.
adica vectorul x satisface cel mai bine (5.2) n sensul celor mai mici p
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.
SV D provin de la cuvintele din limba englez
a Singular Value Decomposition.

7 Init
ialele

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)

wmax = max |wi |, wmin = min |wi | .

(5.86)

unde

Cu c
at num
arul de conditionare este mai mare, cu at
at matricea A este mai r
au
conditionat
a (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
a de prezenta elemetelor wi foarte mici
(5.80), solutia obtinuta (5.83) este efectat
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
at cel dat de solutia obtinut
a cu
care au reziduul R dat de (5.84) mai mic dec
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
aug
and n m
linii de zerouri n matricea A obtin
and o matrice p
atrat
a n n, efectu
and apoi
descompunerea (5.80) si nlocuind cu zero termenii 1/wi ce corespund valorilor
wi mici n modul.
ari puternice n toate bibliotecile
Tehnica descompunerii (5.80) are implement
matematice de rezolvare a sistemelor de ecuatii liniare. Algoritmii folositi sunt
relativ sofisticati, depasind cadrul acestei lucr
ari, 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 elemente 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 nenule ale matricei, precum si metode de ordonare care urm
aresc, prin intermediul
unor secvente de pivotare, minimizarea num
arului de elemente nenule nou create 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 dep
asind
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 eficient
a si cu succes a metodelor directe
n rezolvarea sistemelor cu matrice rare depinde de c
at de ordonat
a (simpl
a)

136

5. Rezolvarea sistemelor liniare

Figura 5.1: Forme speciale de matrice rare.


este structura matricei. In bibliotecile matematice sunt implementate tehnici
de 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 num
arului
de conditionare a matricei, efect nedorit care se poate ameliora prin echilibrarea
(scalarea) matricei, tehnic
a descris
a 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 nenule 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

p
an
a 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 vector v de dimensiune 1 + 2 + . . . + n = n(n + 1)/2 elemente. Dac
a matricea este
p
astrata pe linii, elementele ei sunt memorate n ordinea a1,1 , a2,1 , a2,2 , a3,1 ,
a3,2 , a3,3 , a4,1 . . . , elementul ai,j av
and n vectorul v pozitia i(i 1)/2 + j.
Pentru memorarea unei matrice rare oarecare exist
a mai multe tehnici dintre
care amintim: memorare prin identificare binar
a, memorare compact
a aleatoare,
memorare 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 exemplificare, 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=
(5.87)
0
0 a3,3
0
a3,5
a4,1 0
0
a4,4
0
Matricea se memoreaza folosind dou
a zone: o zon
a primar
a n care sunt memorate elementele nenule ale matricei A si o zon
a secundar
a n care sunt p
astrate
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 memor
arii 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 = 0 si 1 dac
a ai,j 6 =0. Pentru matricea
(5.87), zona secundara va fi data de succesiunea de cifre binare
1

0 0

1 0 .

Aceasta schema necesita calcule complicate (care s


a permit
a accesul la bit)
pentru identificarea pozitiei elementelor matricei.
In cazul memor
arii 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 fiea n vectorul (5.88), cele dou
a zone
care linie. Pentru matricea (5.87) memorat
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.2

5. Rezolvarea sistemelor liniare

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. Metodele 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, rezult
and 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)

xk+1 = f (xk ) .

(5.91)

ce conduce la procedeul iterativ

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)

a de obtinere a
Analog iteratiei simple, vom considera relatia (5.93) ca o procedur
unei aproximatii mbun
at
atite a solutiei sistemului x(k+1) , dat
a fiind o aproximatie
initiala x(k) ,
Bx(k+1) = (B A)x(k) + b .

(5.94)

at:
Descompunerea (5.92) se alege astfel nc
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 fie nesingular
a det D 6= 0. Sistemul Ax = b devine
Dx = Cx + b x = D1 C x + D1 b,

(5.96)

5.2. Metode iterative

139

si rezulta procesul iterativ


P D1 C;

x(k+1) = P x(k) + d;

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 rezolvant
a a sistemului.
Matricea D poate fi chiar diagonala principal
a a matricei A, n care caz
exprimarea pe componente a procedeului este
(k+1)

xi

= (bi

i1
X

(k)

ai,j xj

j=1

n
X

(k)

ai,j xj )/ai,i , i = 1, n ,

(5.98)

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, rezult
and procedeul
(k+1)

xi

(k)

= (bi a00i,i xi

i1
X

(k)

ai,j xj

j=1

n
X

(k)

ai,j xj )/a0i,i , i = 1, n .

(5.99)

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
ac
and diferenta ecuatiilor (5.96) si (5.97), se obtine imediat
e(k+1) = P e(k)

(5.101)

sau, trecand la norme si notand cu e(0) eroarea initial


a








(k+1)




2
k
e
kP k e(k) kP k e(k1) . . . kP k e(0) .

(5.102)

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 c
at
mai mica. In mod uzual, se extrage ntreaga diagonal
a a matricei A, adic
a
areia dintre conditiile
se utilizeaza sirul (5.98). In acest caz, ndeplinirea oric
urm
atoare este suficienta pentru a asigura convergenta procedeului Jacobi:
(a) diagonal-dominanta matricei A pe linii
|ai,i | >

i1
X
j=1

|ai,j | +

n
X

j=i+1

|ai,j | ,

i = 1, n ;

(5.104)

140

5. Rezolvarea sistemelor liniare


(b) diagonal-dominanta matricei A pe coloane
|aj,j | >

j1
X

|ai,j | +

i=1

n
X

|ai,j | ,

j = 1, n ;

(c) satisfacerea relatiei

n
i1
n
X
X
X
(ai,j /ai,i )2 +
(ai,j /ai,i )2 < 1 .
i=1

(5.105)

i=j+1

j=1

(5.106)

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

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

(5.107)

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 tuturor 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
.
[xvechij xnouj .

5.2.2

(5.108)

Metoda iterativ
a Gauss-Seidel

In aceasta metoda, ideea const


a n a folosi noile valori ale componentelor vectorului necunoscutelor x(k+1) imediat ce au fost calculate. S
irul de iteratii (5.98)
se nlocuieste cu
(k+1)

xi

= (bi

i1
X
j=1

(k+1)

ai,j xj

n
X

j=i+1

(k)

ai,j xj )/ai,i , i = 1, n.

(5.109)

5.2. Metode iterative

141

Relatia (5.109) corespunde la descompunerea matricei A ntr-o matrice diagonal


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 s
a 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, astfel 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 Jacobi. Pentru transcrierea acestei conditii vom folosi urm
atoarele notatii
pi

i1
X

|ai,j /ai,i | ,

qi

j=1

n
X

|ai,j /ai,i | .

(5.113)

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
xi = (bi

i1
X

ai,j xj

j=1

n
X

ai,j xj )/ai,i , i = 1, n

(5.115)

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
(k+1)

xi xi

i1
X
ai,j
j=1

ai,i

(k+1)

(xj xj

n
X
ai,j
(k)
(xj xj ) ,
a
i,i
j=i+1

(5.116)

sau, observand ca n (5.116) au aparut componentele vectorului eroare absolut


a
si trecand la module



n

i1
X
ai,j (k)
(k+1) X ai,j (k+1)


ei

+
ai,i ej
ai,i ej
j=i+1
j=1

(5.117)

142

5. Rezolvarea sistemelor liniare

Inegalitatea poate fi majorat


a n continuare, introduc
and norma maxim
a a vectorului eroare,




(k)
(k)
(5.118)
e = max ej .

In acest fel, utilizand si notatiile (5.113), se obtine








(k+1)




ei
pi e(k+1) + qi e(k)

(5.119)

arat
a pentru orice i = 1, n, este adev
arat
a si
Inegalitatea (5.119), fiind adev
(k+1)

| este maxim. Deci:


pentru acel i = i pentru care |ei






(k+1)




(5.120)
pi e(k+1) + qi e(k)
e

qi
(k+1)
(k)
(5.121)

e
e .

1 pi

Pe de alta parte, utiliz


and conditia (5.114), rezult
a
qi
ri qi
ri ri pi
=

= ri < 1 .
1 pi
1 pi
1 pi

(5.122)

Deoarece, n cazul diagonal-dominantei matricei A, cantitatea r = max ri rei

prezinta tocmai norma maxim


a a matricei rezolvante a procedeului Jacobi,
a c
a rata de micsorare a erorii de la o aproximatie
(r kPJ k) din (5.121) rezult
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
a
pe linii, sa se ia startul cu ecuatia i = i1 din (5.109) n care se realizeaz
dominanta maxima a elementului diagonal. Prima necunoscut
a calculat
a va fi
xi1 . In acest fel, se realizeaz
a reducerea maxim
a a erorii la start, deoarece
pi1 = 0,

qi1 = ri1 = minim .

(5.123)

In continuare, pot fi ordonate celelalte 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 definit
a.

5.2. Metode iterative

143

Algoritmul pentru procedeul Gauss-Seidel este


xvechi x0 ; xnou x0 ; k 0;
repet
a
i =1 : n

s bi

j=1:n


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

(5.124)

Se observa asemanarea cu algoritmul pentru metoda Jacobi (5.107). Ca si n acel


algoritm s-a considerat ca liniile matricei A si ale vectorului b au fost 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 dac
a avem informatii privind valorile proprii ale matricei rezolvante. Intr-adev
ar, conditia necesar
a
si suficienta pentru ca orice metod
a iterativ
a s
a fie convergent
a este
(P ) = max |i | < 1
i

(5.125)

a
unde i , i = 1, n sunt valorile proprii ale matricei P . Valoarea proprie maxim
n modul este numita raza spectral
a si se noteaz
a cu (P ). Dificultatea aplic
arii
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 sistemului 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 simple (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 ) =

M m
<1
M +m

(5.128)

si este subunitara pentru orice M, m > 0. Se observ


a importanta raportului
M/m pentru convergenta procedeului iterativ. Acest raport reprezint
a o evaluare a num
arului de conditionare al matricei A, notat (A).
Accelerarea convergentei procedeului Gauss-Seidel.
and o matrice B, usor inverSirul iterativ (5.126) se poate generaliza introduc
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 mic
a. Se observ
a c
a, n cazul procedeului
Jacobi (5.97), se obtine = 1 si B = D1 . Din punctul de vedere al aplicatiilor,
este util sa observam c
a 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
(k+1)

xi

(k)

= (1 )xi

+ (bi

i1
X

(k+1)

ai,j xj

j=1

n
X

(k)

ai,j xj )/ai,i

(5.131)

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)

a c
a singura modificare este re
amp
arComparand (5.132) cu (5.110) se observ
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 GaussSeidel standard. O conditie necesar
a de convergent
a a sirului iterativ (5.135)
este ca produsul valorilor proprii n modul s
a fie subunitar. In acest fel se obtine
intervalul de valori ale parametrului de accelerare
0 < < 2.

(5.137)

Metodele care utilizeaza 0 < < 1 se numesc metode de subrelaxare, iar metodele 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)

acut cu c
at num
arul de ecuatii
Inegalitatea (5.138) este cu atat mai usor de satisf
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 diminuate 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)

k
(5.139)
e kP k e(0) 10q ,

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. Dac
a se adaug
a si efectul erorilor de rotunjire,
a.
marginea (5.141) trebuie majorat
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)
e




k
(k)
(1)


x x(k1)
x x(0) 10q ,
1
1

(5.142)

cu kP k . Pentru procedeul Jacobi, kP k este usor de calculat. Pentru procedeul Gauss-Seidel, n cazul matricei diagonal-dominante pe linii se ia (vezi si
5.121)
= max
i

qi
1 pi

(5.143)

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) intervin 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
ampl
a
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
atrat
a de dimensiuni n n. Matricea obtinut
a prin
nmultirea lui A cu ea ns
asi de k ori este tot o matrice p
atrat
a si se noteaz
a
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
an
ator cu cazul scalarilor.

5.4. Elemente de calcul matriceal

147

Matricele pot fi nmultite (la dreapta sau la st


anga) cu vectori (coloan
a 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 reprezint
a, 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)

Dac
a x este un vector asupra caruia opereaz
a 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 impuse 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
kAk = sup
i

|ai,j | ,

(5.147)

data de suma maxima a modulelor elementelor matricei, pe linii;


2. norma unu
kAk1 = sup
j

|ai,j | ,

(5.148)

data de suma maxima a modulelor elementelor matricei, pe coloane;


3. norma euclidian
a

kAkE =

X
i,j

1/2

2
|ai,j |

(5.149)

148

5. Rezolvarea sistemelor liniare

4. norma spectral
a
kAk2 = ((A A))

1/2

(5.150)

adica raza spectral


a 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)

Pentru vectori se utilizeaz


a normele precizate n (1.105). Normele de matrice
sunt compatibile cu normele vectoriale de acelasi indice. In particular, norma
spectrala kAk2 este compatibil
a cu norma euclidian
a a vectorului x. Dac
a vectorul x are componente complexe norma sa euclidian
a este definit
a de
kxk2 =

(x, x) =

n
X

xi x
i .

(5.152)

i=1

Produsul scalar a doi vectori ce au componente complexe este definit ca


x y = (x, y) =

n
X

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
S=

An

(5.155)

n=0

este ca norma matricei A s


a fie subunitar
a, kAk > 1. In acest caz se obtine
suma seriei
S = (I A)1 ,

(5.156)

egal
a cu inversa matricei I A. Se observ
a analogia cu seria geometric
a de
and la norme, o inegalitate important
a
numere. Din (5.156) se obtine, trec


X
n
(I A)1
kAk = (1 kAk)1 .
n=0

(5.157)

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, adic
a raza
spectrala (A) a matricei A sa fie subunitar
a
(A) = max |i | < 1 .
i

(5.158)

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


m
arime 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


a. Conform teoremei fundamentale
ecuatia (6.2) se numeste ecuatie caracteristic
a algebrei exista n valori proprii care sunt tocmai r
ad
acinile polinomului caracteristic. 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 deosebit
a pentru rezolvarea sistemelor
de ecuatii diferentiale liniare, pentru studiul stabilit
atii 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, deoarece mici abateri n valorile coeficientilor acestui polinom conduc la abateri
mari n valorile solutiilor (se spune c
a problema rezolv
arii ecuatiei caracteristice
este r
au 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 determina doar cateva dintre valorile proprii. Ne ndrept
am mai nt
ai atentia
asupra celei de-a doua clase de metode. Prezint
a un interes deosebit n aplicatii
determinarea valorilor proprii extremale, care delimiteaz
a spectrul matricei A.
De aici si marea varietate de metode concepute pentru a determina valorile proprii cele mai mari sau mai mici. Vom considera c
ateva dintre metodele cele mai
folosite.

6.2.1

Metoda puterii directe

Metoda puterii directe permite determinarea valorii proprii de modul maxim,


n ipoteza ca vectorii proprii ai matricei formeaz
a o baz
a, adic
a sunt liniar
independenti. Acest lucru se nt
ampl
a ntotdeana c
and 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 simpl
a. In ipoteza
a o baz
a, putem scrie
ca vectorii proprii xi , i = 1, n, ai matricei A formeaz
y=

n
X

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
z (1)

Ay =

n
X

ci Ax(i) =

i=1

n
X

ci i x(i)

z (k)

Ak y = Az (k1) =

n
X

ci ki x(i)

i=1

z (k+1)

Ak+1 y =

(6.5)

i=1

n
X
i=1

(6.6)
h
i

(6.7)
= k1 c1 x(1) + O k2 /k1

h
i
(. 6.8)
ci ik+1 x(i) = k+1
c1 x(1) + O k+1
/k+1
1
2
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)
c1 x(1) .
= k+1
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
(k)
(k+1)
/zi .
1
= 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)
(k+1)
/zi , 1, n. Dac
0) verificandu-se prin comportarea sirurilor zi
a aceste siruri
par convergente, ncepand cu anumit k, si tind spre aceasi valoare (care reprezinta, 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 etap
a. Dac
a nu exist
a o singur
a valoare
proprie reala de modul maxim, spre exemplu dac
a
|1 | = |2 | > |3 | . . . |n | ,
atunci dupa k iteratii se obtine


z (k)
= k1 c1 x(1) + c2 x(2) ,



z (k+1)
c1 x(1) + c2 x(2) ,
= k+1
1
k

(6.12)

(6.13)

termenii neglijati fiind de ordinul (3 /1 ) . Se observ


a 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 necesit
a utilizarea rezultatelor 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 disponibile pe parcursul iteratiilor. Pentru k suficient de mare se obtin combinatiile


(1) 2
(k)
(k+1) (k1)
(zi )2 = ci xi (1 1 )k1 (1 1 )2 ,
zi
(6.17)
uki zi
(k+2) (k1)
zi

vki zi

(k+1) (k)
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 constant
a multiplicativa, 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)

zi

= k1 c1 x(1) + k1 c1 x(1) = 2 |1 | cos(i + ),

i = 1, n ,

(6.22)

iar din (6.17) se obtine


uki = 4 |1 |

2k

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)

ri

(k+1)

= zi

/zi

(6.25)

iar R este raportul Rayleigh.


k
2
3
5
6

(k)

z1
14
64
2196
12644

(k)

z2
10
58
1882
10730

(k)

z2
10
72
2228
12580

(k)

r1
4.571

5.758

(k)

r2
5.800

5.701

(k)

r3
7.200

5.646

R
5.5455

5.7013

Valorile proprii ale matricei sunt 1 = 5.701562, 2 = 2, 3 = 0.01562. Se


observ
a obtinerea primelor 4 cifre semnificative dup
a circa 6 iteratii. O estimare mai
bun
a a valorii proprii este furnizat
a de raportul Rayleigh. Aceast
a comportare este
caracteristic
a pentru matricele simetrice, unde raportul Rayleigh tinde c
atre valoarea
proprie conform

iT

iT
h
h
2k
.
z (k) z (k+1) / z (k) z (k) = 1 + O 2k
1 /2
De asemenea, se observ
a cresterea rapid
a a componentelor vectorului z (k) pe m
asur
a
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 mic


a valoare proprie n modul, diferit
a de
zero. In aceste conditii, matricea A este nesingular
a si A1 exist
a. Not
and 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 c
a vectorii proprii formeaz
a 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 rezolvarea repetata a sistemului de ecuatii
Az (k+1) = z (k) ,

(6.29)

prin eliminare gaussian


a 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 reprezint
a 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 g
asit
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 aplicat


a 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 p
an
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 nc
at au loc relatiile
B = P AP 1 ,

A = P 1 BP .

(6.32)

Dou
a matrice asemenea au aceleasi valori proprii. Intr-adev
ar, 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)

adic
a matricea B are aceleasi valori proprii ca si A. In plus, dac
a pentru o
valoare proprie matricea A are vectorul propriu x, atunci pentru matricea B
vectorul propriu corespunzator lui este
y = Px,

(6.34)

adic
a 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, av
and valorile
proprii si vectorii proprii usor de determinat. Exist
a 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

p1
1

F = 0
..
.
0

A la forma
p2
0
1
..
.

...
...
...
..
.

pn1
0
0
..
.

pn
0
0
..
.

...

(6.35)

denumita form
a Frobenius, prin transform
ari similare. Avantajul formei Frobenius este obtinerea imediata a ecuatiei caracteristice a matricei
n

(1) det(F I) =

n
X

pi ni = 0 .

(6.36)

i=1

a permit
a totodat
a si construirea
Vom deduce relatia (6.36) pe o cale care s
vectorilor proprii y ai matricei F . In acest scop, vom scrie, conform definitiei

158

6. Vectori si valori proprii

(6.1), egalitatea F y

p1
1

..
.
0

= y, adic
a
p2
0
1
..
.

...
...
...
..
.

pn1
0
0
..
.

pn
0
0
..
.

...

y1
y2
y3
..
.
yn

y1
y2
y3
..
.
yn

(6.37)

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
yn

n
X

pi

ni

= 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, adic
a pot fi determinati imediat ce au fost determinate
valorile proprii. Aceast
a proprietate remarcabil
a pune n evident
a si anumite
limitari ale formei Frobenius. Astfel, dac
a valorile proprii sunt multiple, vectorii 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, adic
a 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,n1
an,n
an,1
an,2
...

(1)
(1)
(1)
(1)
a1,n
. . . a1,n1
a1,2
a1,1

(1)
(1)
(1)
(1)
a2,n
. . . a2,n1
a2,2

a2,1

.
..
..
..
..
.

(6.44)
.
. .

.
.
.

(1)
(1)
(1)
(1)
a
an1,n1 an1,n
an1,2
n1,1
0
0
... 1
0
S-a presupus an ,n1 6= 0 si s-au eliminat celelalte elemente din linia a n-a. Dac
a
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 ns
a 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 , necesar
a pentru a face
transformarea similara, este obtinut
a din matricea unitate prin introducerea n

160

6. Vectori si valori proprii

matricea unitate, n linia n 1,

1
0

M11 = ...

an,1
0

a liniei elementelor modificate n matricea A

0
... 0
0

1
... 0
0

..
..
..
..
(6.47)
.
. .
.
.

an,2 . . . an,n1 an,n


0
... 0
1

Verificarea egalitatii M11 M1 = I se face usor, observ


and c
a n matricea
produs raman nemodificate toate liniile cu exceptia liniei n 1, singura care
trebuie verificata ca apartin
and matricei unitate I. In aceast
a verificare, ca si
n cele care urmeaza este util
a urm
atoarea regul
a 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
an
a se ajunge la forma Frobenius. Odat
a
determinate valorile proprii, vectorii proprii y ai matricei Frobenius se deduc din
and postmultiplic
arile
(6.42) iar, vectorii proprii x ai matricei A se deduc acumul
(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 f
acute
astfel ncat sa nu afect
am elementele de tip Frobenius deja produse. Aceasta
(k)
a nu permut
am linii si coloane
revine n etapa k (cand pivotul este ank+1,nk ) s
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 asemenea 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 dup
a schema
Ai+1 = Mi1 Ai Mi .

(6.50)

Rezulta ca erorile se transmit dupa regula


kAi+1 k
(Mi )
kAi+1 k


!
kAi k kMi k Mi1
+
+ 1 .
M
kAi k
kMi k
i

(6.51)

Prin urmare, este util ca numarul de conditionare al matricelor Mi s


a fie egal
cu unitatea ((Mi ) = 1, ntr-o norm
a oarecare). Aceast
a conditie nu este,
n general, realizabila, asa cum rezult
a din forma matricelor Mi . Dac
a, spre
exemplu, ani+1,ni este pivot astfel nc
at


ani+1,j
, kMi k = |ani+1,ni | > 1 ,
(6.52)
kMi k1 = 1 + max
1
j6=ni ani+1,ni
rezulta (folosind norma kk1 n num
arul de conditionare)

1 (Mi ) = |ani+1,ni | + max |ani+1,j | > 1 .


j6=ni

(6.53)

In consecinta, metoda se recomand


a la determinarea valorilor si vectorilor proprii 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 elementare. 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, oper
and 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


1/3 8/3 .
A1 M1 = 4/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
A2 = M11 A1 M1 = 10/3
0

2/3
10/3
1

4/3
32/3 .
0

In etapa urm
atoare se elimin
a elementele 10/3 si 32/3 de pe linia a doua din matricea
A, oper
and cu coloana nt
aia. In pozitia (2,1) se obtine elementul 1. Totul revine la a
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
, M21 = 0
0
1
0
1
0 ,
M2 =
0
0
1
0
0
1
astfel nc
at

3
A3 = M21 A2 M2 = 1
0

14
0
1

8
0 = F,
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 p
atrate A, prin aducerea acesteia la o matrice
superior triunghiular
a 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 adus
a
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 unitatea. Daca matricele de transformare M sunt unitare, adic
a dac
a 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)

x Q Qx = x Q x .

(6.57)

cu vectorul linie x Q rezulta

a
Prin operatiile de transpunere si complex conjugare a relatiei (6.56) rezult
,
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.
x Q Qx = 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 c
a 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, construieste o matrice unitar
a pornind de la un vector coloan
a v prin
U = I vv .

(6.61)

Vectorul v este un vector linie astfel nc


at produsul vv este o matrice. S
a vedem ce conditii trebuie impuse vectorului v pentru ca matricea U s
a fie unitar
a.
Adjuncta lui U este
T

v T ) = I (
v v T )T = I v
v T = I vv ,
U = (I vv ) = I (v

(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
v v =

n
X

vi vi = kvk2 .

(6.64)

i=1

Se obtine
2

U U = I + (kvk2 2)vv ,
deci matricea U este unitar
a dac
a matricea vv este nul
a sau dac
a

kvk2 = 2 .

(6.65)

(6.66)

Prima posibilitate implic


a v = 0 si nu prezint
a 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 dimensiuni (n = 2) dac
a v = [ 2, 0]T se
obtine

 
 

 

1 0
2 0
1 0
2 
U =I

=
. (6.67)
2 0 =
0 1
0 0
0
1
0
T

Coordonatele [x, y] ale unui punct se transform


a conform

 

x
x
U
=
,
y
y

(6.68)

adic
a s-a efectuat o reflexie fata de axa Oy pe care vectorul v este ortogonal.
In cazul general, vectorul v defineste normala unui plan fat
a de care se reflect
a
coordonatele unui punct.
In aplicatii vom avea de evaluat produsul U A sau AU . S-ar p
area c
a 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
2
terior wv nc
a O(n ) pentru un total de O(2n2 ), mult mai mic dec
at O(n3 ).
Dat fiind vectorul v, algoritmul de aplicare la dreapta a unei transform
ari Householder asupra matricei A este


j=

1 : n
j=

1:n
wj 0

k=1:n
(6.70)

k=1:n

[a

v
w
.
jk
jk
j
k
[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 ,
rk,j = ei sin ,

rj,k = ei sin ,
rk,k = ei cos .

(6.72)

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 aplic
am 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 urm
atoarea: dorim s
a anul
am 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
a42 a43 a44
0 s 0 c

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 direct. Este mai


n cazul general. Ecuatia trigonometric
a (6.73) nu se rezolv
economic sa calculam pe s, c prin
daca |ajk | > |akk |

2
atunci t akk /ajk ; s 1/
1 + t ; c st
altfel t ajk /akk ; c 1/ 1 + t2 ; s c t

(6.74)

cu o singura extragere de radical si evitarea mp


artirii 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
[aki caki saji ;

aji saki + caji

(6.75)

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 coloan
a
a matricei A. Trebuie sa gasim o matrice unitar
a U ce realizeaz
a transformarea

w1
. . . wn1
0 a(1) . . . a(1)

2,3
2,2
.
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 deoarece U AU are aceleasi valori proprii ca si A, iar calculul polinomului caracteristic al matricei U AU conduce la aparitia factorului ( ). Este convenabil
s
a introducem o diviziune n portiuni a matricei din dreapta sub forma



wT
(6.77)
U AU =
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 . Not
am prin x acest vector propriu. Deoarece x este determinat pana la o constant
a multiplicativ
a putem presupune
kxk2 = 1 si
U e(1) = x,

6= 0 ,

C.

(6.80)

a g
asim o transformare a vectorului e(1)
Relatia (6.80) ne spune ca trebuie s
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)
(6.81)
e = || kxk2 = || = 1.
2

Daca adoptam procedeul Householder, matricea U este dat


a de U = I vv
cu v vectorul normalei la planul fat
a de care reflexia lui y = 1 e(1) este chiar

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

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)
p
2
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
trebuie sa fie o cantitate real
a. Cum || = 1 rezult
a
=x
1 / |x1 |

(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, datorit
a necesit
atii de a evalua
radicali. Exceptia de la aceasta regul
a 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.
Teorem
a. (Schur) Orice matrice p
atrat
a 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
Un = U
cu U construit ca mai
Intr-adevar, avem

1

Un AUn =
0n1

1
=
0n1

1
=
0n1

1
0n1

0Tn1
Un1

(6.90)

sus realizeaz
a aducerea matricei A la forma tringhiular
a.
0Tn1

Un1
0Tn1

Un1
0Tn1

Un1

U AU


0n1


0n1


0Tn1
Un1


wn1
1
0Tn1
An1
0n1 Un1

 

wn1 Un1
wn1 Un1
=
0n1 Tn1
An1 Un1

1
0n1

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 exist
a. Ins
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 mic
a 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 important
a o constituie factoriz
arile ortogonale, la
ate doi.
care vectorii coloana ai matricei B sunt ortogonali (vezi 1.4.2) doi c
Printre factorizarile ortogonale, cea mai util
a este factorizarea QR a lui Householder
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.
Deoarece Q este unitar
a din (6.92) se obtine
Q A = R .

(6.93)

Ideea de baza a algoritmului de factorizare este construirea pas cu pas a matricei


Q prin eliminarea succesiv
a 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 eficient
a metod
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 memoreaz
a prin succesiunea 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 valorilor proprii. Incepem cu metoda QR. Am v
azut c
a odat
a cunoscut
a o valoare
proprie putem reduce ordinul problemei prin aplicarea tehnicii de 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 metoda puterii asupra noi matrice si asa mai departe. S
a rescriem metoda puterii
folosind notatii ce sugereaza generalizarea procedeului
z (s) = Aq (s1)


q (s) = z (s) / z (s) 2


= q (s) Aq (s) ,

(6.97)

pentru s = 1, 2, . . . . Algoritmul porneste cu un vector 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 estimat
a prin raportul
a q (s) este normalizat.
Rayleigh (6.11), tinandu-se cont c
Sa ncercam acum sa aplicam metoda puterii asupra mai multor vectori
initiali
i
h
(6.98)
Q(0) = q1(0) q2(0) . . . qn(0)
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)
.
 (s) 
(s)
(s)
T = Q
AQ .

(6.99)

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 liniar
a
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 c
atre o matrice cvasitriunghiulara 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)
R(s) . (6.101)
Q(s1) Q(s) , RT
cu QT
RT
T (s1) = QT


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
i
h
i h
h
i
(s1) (s1)
.
QT
T (s) = Q(s) AQ(s) = Q(s) A Q(s1) Q(s1) Q(s) = RT
(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 pivotare pentru a preveni mp
artirile 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 cvasitriunghiulara, 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


factorizarii. O astfel de form
a este

h1,1 h1,2 h1,3 . . .


h2,1 h2,2 h2,3 . . .

0
h3,2 h3,3 . . .

H= 0
0
h4,3 . . .

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

din operatiile aritmetice necesare

...

h1,n1
h2,n1
h3,n1
h4,n1
..
.

h1,n
h2,n
h3,n
h4,n
..
.

hn,n1

hn,n

denumita form
a Hessenberg superioar
a. Analog matricea transpus
a se spune
c
a este de form
a Hessenberg inferioar
a. Prin form
a Hessenberg, f
ar
a vreun alt
calificativ, vom 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 =
(6.106)
, mi,2 = ai,1 /a2,1 ,
.. ..
.. . .
..
. .

.
.
.
0 mn,2 0 . . . 1
pentru i 3, n. Se poate remarca similitudinea cu matriciele de la eliminarea
gaussiana. Matricea se poate scrie ca

m2 =

m3,2

...

M1 = I m2 eT2 ,
T

mn,2
, e2 = 0

(6.107)
1

...

T

. (6.108)

Inversa este

M11

1 0
0 1
0 m3,2
.. ..
. .
0 mn,2

0 ...
0 ...
1 ...
.. . .
.
.
0 ...

0
0
0
..
.
1

= I + m2 eT2 ,

(6.109)

174

6. Vectori si valori proprii

ceea ce se poate verifica prin calcul direct


M1 M11

= (I m2 eT2 )(I + m2 eT2 )



= I m2 eT2 + m2 eT2 m2 eT2 m2 eT2 = I .

(6.110)
(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
ar
a 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 folosirii 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)
. . . a1,n
. . . a1,s1 a1,s
a12
a11
(s1)
(s1)
(s1)
(s1)
(s1)

. . . a2,s1 a2,s
a21
a22
. . . a2,n

..
..
..
..

..
..
..

.
. .
. .
.
.

(s1)
(s1)
(s1)
A(s1) =
a
.
.
.
a
0
0
.
.
.
a
s,s
s,n
s,s1
. (6.112)

(s1)
(s1)
0
0
... 0
as+1,s . . . as+1,n

..
.
..
..

..
..
..
. ..
. .

.
.
.
(s1)
(s1)
. . . an,n
0
0
... 0
an,s

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,


B C
(s1)
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 aceast
a coloan
a,
d=

(s1)

as+1,s

(s1)

as+2,s

...

(s1)

an,s

iT

(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







B C
B CU
I 0
I 0
I 0
(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 sia a reflectorului Householder
milara problemei (6.80), iar interpretarea geometric
ne furnizeaza solutia
U = I vv ,
cu = (d1 / |d1 |) kdk2 , a =

6.5.5

v = a(d e(1) ) ,

(6.119)



(s1)
2 d e(1) 2 , d1 = as+1,s .

Accelerarea metodelor QR si LR

Aplicarea factorizarii QR sau LR asupra formei Hessenberg a unei matrice reduce 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 urm
areste ameliorarea convergentei atunci c
and apare un bloc 2 2 pe diagonal
a. Relatiile de
iterare QR devin
H (s) ks I
H (s+1) ks I

= Q(s) R(s)
= R(s) Q(s)

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


(s)

h(s)
n1,n1 k hn1,n
(6.122)
= 0.
(s)
(s)
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 triunghiular
a de
dimensiuni 5 5

1 a1 b1 c1 d1
0
2 b2 c2 d2

0
3 c3 d3
(6.123)
Hs = 0

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 )
y4 (i 4 )
y3 (i 3 )
y2 (i 2 )
y1 (i 1 )

=
=
=
=
=

0
d4 y5
d3 y5 + c3 y4
d2 y5 + c2 y4 + b2 y3
d1 y5 + c1 y4 + b1 y3 + a1 y2

(6.125)

Sistemul (6.125) poate determina componentele yi , cel mult p


an
a la o constant
a
multiplicativa. Acest sistem este simplu, principala dificultate nu este legat
a de
gasirea necunoscutelor ci mai degrab
a 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,
a
din primele 4 ecuatii (6.125) rezult
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)

0 y2 = 0, 0 y1 = a1 y2 .

(6.131)

iar din ultimele doua

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 c
a, n

178

6. Vectori si valori proprii

urma erorilor de calcul numeric, natura vectorilor proprii s


a ap
ar
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
ar
aa
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.
Odat
a 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
S
a 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
35
50
A1 = P23 AP23 = 20
9 63 15
Pentru a elimina elementul a31 = 9 vom folosi pivotul a21 =
m32 = a31 /a21 = 9/20, ceea ce duce la matricele

1
0
1
0
0
1
1
0 , M1 = 0
1
M1 = 0
0 9/20
0 9/20 1

20 si multiplicatorul

0
0 .
1

Se obtine
A2 =

M1 A1 M11

12
= 20
0

32
115/2
765/8

20
50 = H
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 permut
a liniile 1 si 2 si se obtine

20
115/2
50
32
20 .
H1 = P12 H = 12
0 765/8 75/2

6.5. Metodele QR si LR

179

Rezult
a multiplicatorul l21
L1

1
L1 = 3/5
0

= h21 /h11 = 3/5 si matricea de multiplicare la st


anga

0
20
0 , L1 H1 = 0
1
0

0
1
0

115/2
5/2
765/8

50
50 .
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
L2 = 0
0

0
1
4/153

0
20
0 , R = 0
1
0

25/2
765/8
0

50
75/2
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
1
0 0
1 0 , L2 L11 = 0
1
L11 = 0
3/5 4/153
3/5 0 1

0
0 .
1

Rezult
a c
a s-a obtinut o descompunere LR pentru matricea H permutat
a

1
0
0
1
0
P23 P12 H = LR, L = (L2 L11 )1 = 0
3/5 4/153 1
n timp ce matricea H are descompunerea

3/5
H = L R, L = P12 P23 L = 1
0
0

4/153
0
1

1
0 .
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,
adic
a 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 prezent
am 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
a minimul global, care se
simplu sau multiplu (fig. 7.1). In general, intereseaz
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 definit
a1 .
Clasificarea metodelor de optimizare poate fi f
acut
a dup
a mai multe criterii.
Din punct de vedere al restrictiilor impuse variabilelor, avem probleme de optimizare 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 pozitiv
a, 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 punctului 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 r


am
ane de o sigur
a variabil
a,
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, problema 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 minimizarea unidirectionala reprezinta o etap
a 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 minimului, etapa n care se obtine un interval (a, b) care contine minimul si (b)
reducerea lungimii intervalului care contine minimul, p
an
a c
and lungimea acestuia 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

a distanta relativ
a minim
a ntre
vedere faptul ca m , unde m reprezint
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
00
2
f (b)
= 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)| ,
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|
= |a| m 2 2 00
.
= 2m 00
f (a)
a f (a)

(7.4)

(7.5)

184

7. Metode de optimizare

Figura 7.2: Localizarea minimului pentru o functie de o variabila.


p

Dac
a 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
an
a c
and lungimea intervalului ce contine minimul
cel mult p
devine mai mic
adec
at 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 nc
at 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 calculeaz
a 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)
dac
a |c b| > |b a|
atunci x1 b; x2 b + w(c b)
altfel
x2 b; x1 b w(b a)
f1 f (x1 ); f2 f (x2 )
c
attimp |x3 x0 | > |x1 + x2 |
dac
a 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 not
am
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 realizeaz
a impun
and ca cele dou
a
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 n final ecuatia w2 3w + 1 = 0, cu
a) = z/w. Rezult

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 c
a minimul se afl
a 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!)
x=b

1 (b a)2 [f (b) f (c)] (b c)2 [f (b) f (a)]


.
2 (b a)[f (b) f (c)] (b c)[f (b) f (a)]

(7.7)

De asemenea, se poate folosi o interpolare cu o parabol


a cubic
a, caz n care se
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
an
a 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 m
asuri de sigurant
a: (a) minimul calculat s
a
fie n intervalul (a, b); (b) deplasarea fat
a de ultima valoare care aproximeaz
a
minimul lui f sa fie mai mic
a dac
at jum
atatea 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
ar mic (spre exemplu s = ) introdus
o lungime impusa e, iar s este un num
pentru a evita nedeterminarea care apare pentru cazul n care punctul de minim
a precizia relativ
a de calcul pentru punctul
este chiar x = 0. Conditia (7.8) asigur
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 lui epsilon masina, adic


a M .

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

(7.10)

urmata de bucla iterativa principal


a
c
attimp (b a) > esi iter maxiter
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

7.2

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
e (2 |x| + 1); iter iter + 1

atunci v u; fv fu

Metode de minimizare f
ar
a calculul derivatelor

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 p
ana cand se obtine minimul functiei U (se poate folosi o conditie
de forma (7.18)). Aceasta metoda, numit
a si metoda c
aut
arii unidimensionale,
se dovedeste ineficienta pentru ca, fie nu este capabil
a s
a 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

(x) = U (xk ) +

n
X

(xj xkj )T

j=1



n
1 X
2 U
U
k T
(x

x
+
)
(xp xkp ) .
j
j
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
functiei U (x) n vecin
atatea punctului xk . Not
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 ) ,
2

(7.13)

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 ,
atoare xk+1 a
adica (pk1 )T g k = 0 (vezi 7.3). Deplasarea spre aproximatia urm
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
in
and
k+1
+ Gk (x xk+1 ). Sc
az
and cele dou
a
cont de (7.14), putem scrie = g
relatii si tinand cont c
a deplasarea din xk n xk+1 s-a f
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
a exact n deplas
ari. Pentru aceasta, mai
(7.17), minimul functiei este atins dup
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 bun
a.
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 c
autare 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
Se reinitializeaz
a punctul de start.
x min{U (x + u )}

daca |U U0 | < (1 + |U |) atunci minim determinat stop.

Conditia de oprire folosita este de forma


|Uk+1 Uk | < (1 + |Uk+1 |) ,

(7.18)

a. Conditia (7.18)
unde am vazut la 7.1 ca M , M fiind epsilon masin
asigura precizia relativa pentru valoarea minimului U (x ), dac
a acesta ia valori
dep
artate de zero. Daca valoarea minim
a este chiar zero sau foarte apropiat
a
a precizia absolut
a .
de zero, atunci testul (7.18) asigur
Powell a demostrat nca din 1964 c
a, pentru o form
a p
atratic
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 dup
a directiile
a tendinta ca directiile construite
date de vectorii ui , i = 1, n, si xn x0 . Exist
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
am
ant la ultima directie, se renunt
a la
directia care a produs cea mai mare descrestere.
am c
a pentru a defini o form
a p
atratic
a
Revenind la relatia (7.13), sa observ
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
ar
a 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, folosind 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 .
Se bazeaza pe observatia c
a suprafetele cu n 1 dimensiuni de forma
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 cresc
atoare c
and ne deplas
am pe directia pozitiv
a a
vectorului gradient
g grad U U

U
U U
,
, ...,
x1 x2
xn

T

(7.20)

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
a razele cercurilor de intersectie cu planul xOy. Pe
cu axa Oz iar Ki reprezint
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


k

g =

T
g1k , g2k , ..., gnk

U (xk )
U (xk ) U (xk )
,
, ...,
x1
x2
xn

T

(7.22)

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
a minimul k se determin
a exact, atunci
din metodele prezentate n 7.1. Dac
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)

a faptul c
a punctul n care produsul scalar
Ultima egalitate (7.23) exprim
al gradientilor gk si gk+1 este nul reprezint
a 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
convergent
a liniar
a, adica distanta la punctul de minim tinde spre zero ca o
a,
progresie geometrica de ratie subunitar
a (vezi 7.5). Convergenta devine lent
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
U
k+1 U (x); g k+1 U (x)
dac
a Uk+1 Uk atunci esec stop.

[test convergent
a]

[actualizarea directiei de descrestere p]

(7.24)

Uk Uk+1 .

Algoritmii care folosesc calculul gradientului functiei scop U se deosebesc


prin modul de calcul al directiei de descrestere p. C
ateva preciz
ari sunt necesare n cele ce urmeaz
a. O prim
a problem
a 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 minimului 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
derivat
a 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, adic


a minimizarea unidirectional
a s-a f
acut
exact. Pe l
anga criteriul (7.25) se poate impune o conditie de descrestere suficient
a de forma
Uk+1 Uk k (g k )T pk .

(7.26)

Valori uzuale: [105 , 101 ], (, 1).


O a treia problema o constituie testul de convergent
a. In general, trei criterii
sunt mai des folosite:
1. kxk+1 xk k x (1 + kxk+1 k)
2. kUk+1 Uk k U (1 + kUk+1 k)
3.
kU (xk+1 )k g .

(7.27)

Primul criteriu arata c


a 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 nseamn


a n
mod obligatoriu atingerea unui punct de minim, ci poate fi si un punct de maxim
sau punct sa (un punct de inflexiune n cazul unidimensional). Trebuie reamintit
a trebuie s
a ndeplineasc
a
(vezi 7.1) ca valorile impuse pentru precizia relativ

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
lim sup

kxk+1 x k
=c.
kxk x kr

(7.28)

Daca r = 1 si c (0, 1), atunci convergenta este liniar


a. Dac
a 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) definit
a de (7.13). Functia k are un
minim x = x daca matricea Gk este pozitiv definit
a1 , adic
a dac
a 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
stationar, adica derivatele partiale de ordinul nt
ai, deci gradientul k , se
anuleaza n acest punct. Prin urmare, pentru valori suficient de mici ale distantei
p
an
a 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)
k

Gk (xk+1 xk ) = g k xk+1 = xk G1
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
a de relatia
k . Direct
k
k T k
pk = G1
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 Newton dupa directia gradientului este negativ
a deoarece matricele Gk si G1
k sunt
pozitiv definite
k
(g k )T pk = (g k )T G1
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 p
atratic
a conduce la rezultate bune dac
a aproximatia
initial
a este suficient de apropiat
a de solutie. Aceasta nseamn
a c
a, dac
a hessiana exista si este pozitiv definit
a, ncep
and 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, put
and fi aproximat
a local
cu o functie de gradul 1 (hiperplan), hessiana se anuleaz
a (G = 0), iar ecuatia
a n aceste cazuri introducem
(7.30) nu are solutie (punctul L, figura 7.4). Dac
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 (p
atratic
a), dar prezint
a 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
atratic
a (x)
a local, se stabileste o zon
a
dat
a de (7.13). Fiind vorba de o aproximare valabil
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 prezis
a,
rk = [U (xk+1 ) U (xk )]/[(xk+1 ) (xk )] .

(7.33)

Pentru valori mici ale raportului rk (evident rk > 0 dac


a ne deplas
am spre
minim), se ia k+1 < k , n timp ce pentru valori care tind c
atre unitate se
poate lua k+1 > k .
Directia de cautare pk se determin
a plec
and de la directia Newton definit
a
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 dac
a 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 g
asit 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

Calculul
directiei de descrestere pk

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,


simetric
a si pozitiv definit
a. Pentru a combina propriet
atile de convergent
a
globala ale metodei gradientului cu cele de convergent
a local
a rapid
a 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)

a pentru determinarea matricei Bk+1 , astfel


Relatia (7.40) nu este suficient
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 )T sk k k T
z k (y k )T + y k (z k )T

y (y )
k
T
k
(y ) s
[(y k )T sk ]2
z k y k Bk sk = y k + k g k .

Bk+1 = Bk +

(7.42)

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)


Bk+1 = Bk +

Bk sk (sk )T Bk
y k (y k )T

.
(y k )T sk
(sk )T (Bk sk )

(7.44)

Ambele formule (7.42) si (7.44) se pot simplifica tin


and cont c
a Bk sk = k g k
si au urmatoarea proprietate remarcabil
a: dac
a 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

Hk+1 = Hk +

Hk y k (y k )T Hk
sk (sk )T

,
k
T
k
(y ) s
(y k )T (Hk y k )

(7.46)

iar pentru BFGS

Hk+1





sk (y k )T
y k (sk )T
sk (sk )T
= I k T k Hk I k T k + k T k =
(y ) s
(y ) s
(y ) s
(7.47)

sk (y k )T Hk y k (sk )T
sk (sk )T
Hk y k (sk )T + sk (y k )T Hk
= 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 matricea 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, utilizandu-se numai produse de vectori sau de vectori si matrice. Convergenta
acestor metode este global
a si superliniar
a.
Exista pericolul ca, din cauza acumul
arii erorilor de rotunjire, matricele
B sau H sa devina singulare sau s
a-si piard
a 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), metodele 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 cvasiNewton din punct de vedere al scopului, si anume obtinerea minimului unei
forme patratice n n iteratii. Ambele clase de metode necesit
a calculul derivatelor 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 memorarea unei matrice.

7.6. Metode de gradient conjugat

199

Fie gradientul formei patratice definit


a de (7.13), evaluat n punctul xk+1
(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 c
astigat
a fie Gla iteratiile anterioare (vezi 7.2), vom impune ca directiile pk+1 si pk s
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
s
a fie perpendiculari. Inmultind relatia (7.48) cu (g k+1 )T , respectiv cu (g k )T ,
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 c
a ponderea k din relatia (7.48) este
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

and cont
adica (p ) g
= 0. Inmultind la st
anga relatia (7.48) cu (pk )T si tin
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)

Dac
a 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 Gconjugate, n practica se nt
alnesc 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
ar
atorul relatiei Polak-Ribi`ere se mai scrie (g k+1 )T (g k+1 g k ) = (g k+1 )T g k+1 ,
deoarece (g k+1 )T g k = 0, iar numitorul 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 cauz
a, 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 asemenea, au proprietati de convergent
a global
a. Ca urmare, la rezolvarea problemelor 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 metode de optimizare

Metodele de optimizare pot fi aplicate cu succes pentru rezolvarea sistemelor de


and metodele
ecuatii liniare (capitolul 5), ndeosebi pentru sisteme mari, atunci c
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, adic
a avem AT = A si xT Ax >

0 pentru orice x 6= 0. In aceste conditii, problema rezolv


arii sistemului (7.55)
este echivalenta cu problema minimiz
arii 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 .
i=1

(7.57)

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)

Se observ
a ca functia U are un extrem pentru solutia x a sistemului (7.55). In
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)


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 ,
d

(7.60)

= hp, b Axi / hp, Api .

(7.61)

rezultand

a directia p
Cu valoarea data de (7.61), obtinem minimul functiei U dup
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
=

U (x) hp, b Axi / hp, Api .

(7.62)

D
am 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 Fletcherang
a am prezentat o variant
a mai
Reeves duce la algoritmul (7.65). In partea st
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 viteza de convergenta, se poate mbun
at
ati conditionarea sistemului (7.56) prin
transformarea sa ntr-un sistem echivalent
x = b ,
A

(7.63)

A = S T AS, x
= S 1 x, b = S T b .

(7.64)

unde

Spunem ca am efectuat o preconditionare a sistemului.

Algoritmul Fletcher-Reeves
Date: x0 , A, b, maxiter, ,
r0 b Ax0
p0 r 0
k = 0 : (maxiter 1)

1/2
daca
pk , pk
< stop
rk , rk / pk , Apk
k
xk+1 xk + pk
k

rk+1 rk Apk
k

daca
rk+1 , rk+1 < stop


rk+1 , rk+1 /
rk , Ark
k
pk+1 rk+1 + k pk .

pentru sisteme liniare.


Date: x0 , A, b, maxiter, ,
x x0 ; r b Ax; p r
c hr, ri ; d c
k= 1 : maxiter
1/2
dac
a hp, pi
< stop
z Ap; c/ hp, zi

(7.65)
x x + p

r r z

d hr, ri

dac
a d < stop

p r + (d/c)p
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 original urmat
a apoi de rezolvarea numeric
a a sistemului obtinut, este mai avantajoasa din punct de vedere numeric folosirea unei tehnici de preconditionare
implicita folosind relatiile
x
k = S 1 xk ; pk = S 1 pk
xk = S T b (S T AS)(S 1 xk ) = S T rk
r = b A
r = S rk = Q1 rk , unde Q1 = S S T .
k

(7.66)

7.6. Metode de gradient conjugat

203

In aceste conditii obtinem


E

D
pk

k = rk , rk / pk , A


= 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


(7.67)
= rk , rk / pk , Apk .
Relatia de deplasare catre minimul ce reprezint
a solutia sistemului (7.63) este
x
k+1 = 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


rk+1 = rk
k Apk ,
k = rk+1 , rk+1 / rk , rk , pk+1 = rk+1 +
k pk .
(7.71)
D
am n continuare algoritmul pentru rezolvarea sistemului de ecuatii liniare
folosind metoda de gradient conjugat Fletcher-Reeves cu preconditionare.
Date: x0 , A, b, maxiter, ,
r0 b Ax0
rezolva sistemul Q
r0 = r0
0
0
p r
k = 0 : (maxiter 1)

1/2
daca
pk , pk
< stop

k rk , rk / pk , Apk
xk+1 xk +
k pk
rk+1 rk
k Apk
k+1
rezolv
= rk+1

a sistemul Q
r
daca rk+1 , rk+1 < atunci

2
daca rk+1 , rk+1 < stop

k+1 k+1
k k
r , r

/ r , r
k
k+1
k+1

p
r
+ k pk .

Date: x0 , A, b, maxiter, ,
x x0 ; r b Ax
rezolv
a sistemul Qz = r
p r; c hz, ri
k= 1 : maxiter
1/2
dac
a hp, pi
< stop
z Ap; c/ hp, zi

x x + p

r r z

rezolv
a sistemul Qz = r

d hz, ri

dac
ad<

atunci

e hr, ri

dac
a e < stop

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 s
a 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
Fj2 (x) = 12 kF k22 ,
(7.72)
U (x) = 12
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
(7.73)
gi = U/xi =
(Fj /xi )Fj , i 1, n ,
j=1

sau vectorial
U (x) g(x) = J T (x)F (x) ,

(7.74)

unde J este matricea jacobian


a a functiei F . Not
and cu [Gi ]j,p = ( 2 Fi )/(xj xp ),
se obtine
2 U (x) = J T (x)J(x) + Q(x) ,

(7.75)

unde cu Q s-a notat matricea


Q(x) =

Xn

i=1

Fi (x)Gi (x) .

(7.76)

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
at
atiri modului de
cont de aproximarea hessianei cu (7.77) pot fi aduse mbun
calcul al directiei de descrestere p.
p
ipotez
a nu mai este justificat
a dac
a U (x ) este de acelasi ordin de m
arime cu
T
valoarea proprie maxim
a a matricei J J, unde cu x s-a notat punctul n care U ia valoarea
minim
a.
2 Aceast
a

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 c
autat pe o dreapta (fig. 7.5),
iar o restrictie inegalitate de forma x1 x2 1 face ca punctele admisibile
s
a fie plasate n semiplanul de deasupra dreptei x2 = 1 x1 . Se observ
a c
a
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 s
a ias
a din domeniul D al punctelor

206

7. Metode de optimizare

admisibile. Practic se redefineste functia scop



U (x),
pentru x D

U (x) =
,
pentru x
/D

(7.80)

unde U (x0 ). Aceast


a strategie are dezavantajul micsor
arii vitezei de convergenta, 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 ,
atoarea transformare de
i 1, m0 , xi i , i m0 + 1, m se poate utiliza urm
tip Valentine:
xi = 12 [(i i ) cos zi + (i + i )], i 1, m0
xi = i zi2 , i m0 + 1, m .

(7.81)

Tehnicile bazate pe transform


ari prezint
a dezavantajul cresterii neliniarit
atii
. In plus, U
poate deveni nem
functiei scop transformate U
arginit
a sau poate
avea derivate discontinue ori hessiana nedefinit
a sau singular
a. 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 problemelor 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
U (x1 , x2 , . . . , xn ) =

n
X

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 ,

Xn

akj xj

bk , k m1 + 1, m2 , bk 0 ,

alj xj

bl , l m2 + 1, m, bl 0 .

j=1

k=1

Xn

l=1

(7.84)

3 O funct
ie U : Rn R este liniar
a dac
a ndeplineste urm
atoarele 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
a de
simultan conditiile (7.84) si care se numesc vectorii admisibili, este definit
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
a c
a valoarea optim
a se
liniare de forma (7.83) este nenul n orice punct, rezult
afl
a pe frontiera domeniului admisibil. Aceast
a valoare maxim
a este finit
a numai
a valoarea
dac
a restrictiile (7.84) definesc un poliedru convex. Mai mult, dac
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
c
autarea 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 observ
a 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 c
autare a valorii

208

7. Metode de optimizare

optime asigurand n acelasi timp dou


a lucruri: (a) valoarea functiei scop U
creste de la un pas la altul; (b) valoarea optim
a este obtinut
a 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)

x1 + 2x2 3x3 = 3, x2 x3 x4 = 1, x1 , x2 , x3 , x4 0 ,

(7.88)

cu restrictiile

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; rezult
a x2 32 (1 + x3 ). Pentru

7.8. Probleme de optimizare cu restrictii

209

Tabelul 7.1: Exemplu de calcul pentru algoritmul simplex

U
x1
x4

0
3
1

x2
1
2
1

x3
1
3
2

U
x2
x4

3/2
3/2
5/2

x1
1/2
1/2
1/2

x3
1/2
3/2
1/2

U
x2
x3

4
9
5

x1
1
2
1

x4
1
3
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)

x1 + 2x2 3x3 = 3, x2 + 2x3 + x4 = 1, x1 , x2 , x3 , x4 0 .

(7.90)

cu restrictiile

Proced
and la fel ca n exemplul precedent, obtinem x1 = 3 2x2 + 3x3 0 rezult
and
and x3 12 (1 + x2 ). Suntem tentati
x2 32 (1 + x3 ) si x4 = 1 + x2 2x3 0, rezult
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
a c
a valoarea minim
a nu
functiei scop, obtinem U 32 + 12 x3 , rezultat care sugereaz
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
ar
a de care este clar c
a nu vom putea rezolva problemele
cu mai multe variabile.
Prezent
am algoritmul simplex folosindu-ne de exemplul 2 si cu ajutorul tabelului
7.1. Observ
am n prima parte a tabelului (primele 4 coloane) c
a variabilele x1 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 nc
at s
a nu contin
a nici o variabil
a
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 c
aut
am 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 const
a n
interschimbarea variabilelor x2 si x1 , adic
a din relatia de definitie a variabilei de baz
a
x1 se expliciteaz
a x2 , iar expresia obtinut
a 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


aut
am un coeficient pozitiv
pe linia functiei U , si g
asim valoarea 12 pe coloana x3 , adic
a U nc
a mai creste cu x3 .
Repet
am procedeul, c
aut
am 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
a fie nedegenerat
a, adic
a rang(A) =
coeficientii aij , i 1, m, j 1, n, trebuie s
m. In plus, daca dispunem de un set de nm variabile de baz
a, spunem c
a avem
o problema n forma standard restr
ans
a. 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 variabilelor 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
zi
zk
zl

0, j 1, n ,
Xn
= bi
aij xj + yi , i 1, m1 , bi 0 ,
j=1
Xn
= bk
akj xj yk , k m1 + 1, m2 , bk 0 ,
k=1
Xn
= bl
alj xj , l m2 + 1, m, bl 0 ,

(7.91)

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
a pentru U 0 cu zi = 0, nseamn
a
(7.83). Daca nu se poate obtine valoarea maxim
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 ) ,
F1 (x1 , x2 ) x1 + 3 lg |x1 | x22 , F2 (x1 , x2 ) 2x21 + 1 x1 x2 5x1 ,

(7.93)

situat n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare . Intruc
at 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 coordoandu-se
nate (figura 7.7) si evaluarea functiei U n centrele Ci (i = 1, 2, . . . , 12), obtin
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 gradient, Fletcher-Reeves, Polak-Rib`ere, Hestens-Stiefel si Davidon-Fletcher-Powell. Pentru 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 evalu
ari

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 minimul 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 c
at distanta fat
a de minim scade, metoda gradientului
devine si mai ineficient
a. Explicatia const
a n faptul c
a metoda gradientului se bazeaz
a
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 continue, mpreuna cu derivatele lor partiale p
an
a la un ordin convenabil (de obicei,
p
an
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
a pe un domeniu
neesential de altfel. Cu notatia (8.2), solutiile reale se caut
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, ncep
and cu n 2. Localizarea
solutiei reprezinta un avantaj cov
arsitor al cazului unidimensional, pentru c
ao
solutie localizata nu mai poate fi sc
apat
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 anumit
a zon
a
pana cand solutia nu este calculat
a. In al doilea r
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
asit
a 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 algoritm iterativ: pornind de la o aproximatie initial
a, algoritmul o va mbun
at
atii
de la o iteratie la alta p
an
a c
and 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 bun
a este valoarea initial
a. Aceast
a valoare trebuie obtinuta, ori de c
ate 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.
a
Sistemul (8.2) se mai poate scrie sub forma echivalent
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
= fi (xk ), i 1, n, k = 0, 1, 2, . . . ,
i

(8.4)

unde indicele superior indic


a iteratia. Startul se ia cu vectorul initial x0 din
domeniul D n care se caut
a 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
xk+1
i = fi (xk ) i = fi (xk ) fi () =
i

n
X
j=1

(xkj j )

fi k
( ), i 1, n .
xj

Ultima egalitate de mai sus s-a obtinut aplic


and formula cresterilor finite pentru
o functie de n variabile. Derivatele partiale fi /xj se evalueaz
a 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

|xk+1
i

i | mi

n
X

|xkj j |, i 1, n .

(8.5)

j=1

Se observa ca distanta dintre dou


a componente |xk+1
i | are o margine care
i
depinde de distantele dintre toate componentele vectorilor xk si . Ajungem
astfel, n mod firesc, la necesitatea de a introduce norme de vectori. Spre exemplu, 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)

a pentru ca sirul de iteratii (8.4)


Din relatia (8.6) rezulta ca o conditie suficient
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 convergent
a (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.
a indicele i conduce la norma k k1 (suma
O sumare a inegalitatilor (8.5) dup
modulelor componentelor vectorilor)
kxk+1 k1 kxk k1

n
X

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 convergent
a se poate obtine scriind succesiv

n
X fi ( k )
k
k
k


(8.9)
|xk+1

kx

k
i

i
xj , i 1, n, (x , ) ,
j=1
sau pentru indicele imax care corespunde normei vectoriale maxime

n
X
fimax ( k )
k+1
k

.
kx
k kx k


x
j
j=1

(8.10)

Desi k depinde si de indicele i prin forma functiei fi (x), putem evalua suma
a a matricei
din dreapta inegalitatilor (8.9) si (8.10) n functie de norma maxim
jacobiene J a sistemului de functii f


n
n
X
X
fi ( k )
fi ( k )
sup

kJ( k )k ,

(8.11)

xj
xj
i
j=1
j=1

216

8. Rezolvarea sistemelor neliniare

k fiind un punct independent de indicele i. Prin urmare, se obtine conditia


suficient
a de convergent
a
k
k
kJ( )k < 1, (xk , ) .

(8.12)

a dec
at (8.7).
Conditia (8.12) este n general mai slab
O formulare general
a a conditiei n care se realizeaz
a 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 afl
a solutia. Aceste
testari pot implica ns
a un volum mare de calcul, c
and num
arul de variabile este
mare sau/si solutia este localizat
a 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 r
ad
acin
a, ncep
and, dac
a nu
chiar cu prima iteratie, cel putin cu un anumit k > 1.
a
Daca suntem suficient de aproape de solutie, conditia (8.12) poate fi scris
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
acut
a, distanta la r
ad
acin
a poate fi evaluat
a
cu relatia
kxk+1 k

8.2

qk
kx1 x0 k, q [0, 1] , k = 1, 2, . . . .
1q

(8.14)

Metoda iterativ
a Newton

Ca si n cazul unei singure variabile (de fapt, chiar ntr-o m


asur
a 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 convergent
a. In
acest scop, vom aplica formula lui Taylor pentru o functie de n variabile Fi (x)
sub forma
Fi (x) = Fi (xk ) +

n
X

(xj xkj )

j=1

n
1 X
2 Fi ( k )
Fi
+
.
(xj xkj )(xp xkp )
xj
2 j,p=1
xj xp

Daca n expresiile de mai sus neglij


am ultimul termen si facem x = xk+1 , atunci
conditia de deplasare spre solutie, Fi (xk+1 ) = 0, ne conduce la sistemul
n
X
j=1

(xk+1
xkj )
j

Fi (xk )
= Fi (xk ), i 1, n ,
xj

(8.15)

8.2. Metoda iterativ


a Newton

217

care reprezinta metoda iterativ


a Newton, ce ne furnizeaz
a 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
nt
ai ale functiilor Fi (x), i 1, n, form
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
0 = Fi (xk ) +

n
X

(j xkj )

j=1

Fi
+ Vi , i 1, n ,
xj

(8.17)

unde s-a notat cu Vi cantitatea


Vi =

n
1 X
2 Fi ( k )
(p xkp ), i 1, n .
(j xkj )
2 j,p=1
xj xp

(8.18)

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
Dac
a se ia norma maxima, din (8.18) rezult
kV k = sup |Vi | M
i

Se obtine deci

n
X

|xkj j | |xkp p | n2 M kxk k2 ,

(8.22)

j,p=1

2

Fi
1

.
unde M = sup
2 i,j,p xj xp

(8.23)

kxk+1 k Ckxk k2 , unde C = M n2 sup kJ 1 (xk )k .


k

(8.24)

218

8. Rezolvarea sistemelor neliniare

Plecand de la o aproximatie initial


a x0 , se obtin succesiv
1

kx1 k C kx0 k2 = C 1 (C kx0 k )2


2
kx2 k C kx1 k2 = C 1 (C kx0 k )2
...
k
kxk k C 1 (C kx0 k )2 .

(8.25)

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
, iar M = sup Mi .
unde Mi = 21 sup

i,j xj xp
i

(8.27)

a
Introducand apoi norma 1 n relatia (8.21) si folosind inegalitatea (8.27), rezult
kxk+1 k1 C1 kxk k21 , unde C1 = M n sup kJ 1 (xk )k1 .

(8.28)

a c
a, dac
a este ndeplinit
a
Parcurcand aceleasi etape ca n relatiile (8.21), rezult
inegalitatea
C1 kx0 k1 < 1 ,

(8.29)

metoda are o convergent


a p
atratic
a, ca si n cazul c
and utiliz
am norma maxim
a.
a dec
at (8.26), deoarece scalarul C1 este
Conditia (8.29) poate fi mai avantajoas
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
acut
a o conditie de forma
a. In toate cazurile, pentru
(8.26) sau (8.29), independent de norma utilizat
verificarea conditiilor de convergent
a, 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 utilizeaz
a rezultatele calculului ntr-o prim
a
aproximatie a fost dat
a de Kantorivici. In acest scop se evalueaz
a
derivatele
de


ordinul 2 ntr-o sfera nchis
a U0 de centru x0 si de raz
a 2 x1 x0 . Conditia
de convergenta este
h0 2KkJ 1 (x0 )k kx1 x0 k 1 ,

unde K = sup
i

X
j,p


2
fi (x)
.

sup

xU0 xj xp

(8.31)

(8.32)

8.3. Metode cvasi-Newton

219

Notand cu U0 radacina, eroarea este evaluat


a prin relatia
k

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 derivatele de ordinul 2 sunt marginite problema care mai r
am
ane este g
asirea 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 c
aut
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, num
arul 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 utilizeaz
a 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 posibil
a 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. Num
arul de operatii poate fi redus
dac
a 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 actualizata n etapa urmatoare, lucru se face scriind c
a Bk+1 aproximeaz
a J(xk+1 ),
adic
a
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)

a pentru determinarea elementelor matricei


Relatia (8.35) nu este suficient
Bk+1 . Ea se completeaz
a cu conditia ca matricele Bk+1 si Bk s
a 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
Bk+1 = Bk +

(y k Bk sk )(sk )T
F k+1 (sk )T
=
B
+
.
k
(sk )T sk
(sk )T sk

(8.42)

Vom arata acum c


a, matricele Bk+1 furnizate de (8.42) sunt cele mai apropiate n norma euclidian
a 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
P
P
ks sT k22 i=1 j=1 s2i s2j = ni=1 s2i nj=1 s2j = [(s)T s]2 .
(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.
a circa n3 /3 operatii,
Rezolvarea sistemului de ecuatii (8.35), care necesit
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
(A + u v)1 = A1

A1 u v T A1
.
1 + v T (A1 u)

(8.44)

a direct, nmultind cu matricea (A + u v T ). F


ac
and
Relatia (8.44) se verific
k
A = Bk , u = c, v = s , din (8.44) se obtine
Hk+1 = Hk +

(sk Hk y k )(sk )T Hk
, unde Hk = Bk1 ,
(sk )T (Hk y k )

(8.45)

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
a din punct de
comparatie cu (8.37) dar metoda se dovedeste mai putin stabil
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 triunghiulara. 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 echivalent
a 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)

T
inand seama de forma speciala (8.47) a functiei U si de convergenta sirului
U (xk ) la zero, putem da unele expresii simplificate pentru parametrul k . Folosind 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 ,
j=1

(8.50)

cu conditia ca functia scop sa descreasc


a, adic
a U (xk+1 ) < U (xk ).
Putem nsa folosi o aproximatie liniar
a pentru functiile Fj (xk k g k ), j
1, n, de forma
Fj (xk k g k )
= Fj (xk ) k

n
X
p=1

(Fj (xk )/xp ) gpk .

(8.51)

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 )
2
1 X
f (k )
gpk ,
Fj (xk ) k vjk , vjk
=
p
2 j=1
x
p=1
f 0 (k )
=

n
X


Fj (xk ) k vjk vjk ,

(8.52)

(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
a o valoare aproximativ
a pentru k optim
(8.53), din ecuatia f 0 (k ) = 0 rezult
k
=

n
X
j=1

Fj (xk ) vjk /

n
X

(vjk )2 = (v k )T F (xk )/(v k )T v k ,

(8.54)

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 metodei gradientului nu este conditionat
a de determinarea precis
a a valorii k ;
singura conditie este ca valoarea functiei U s
a scad
a, adic
a Uk+1 < Uk . Determinarea unei valori mai exacte pentru k optim se poate face cu una din
asur
a ce ne apropiem de minim, commetodele prezentate la 7.1. Deoarece, pe m
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, deplas
arile 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 cresc
and pe m
asur
a ce ne
apropiem de solutie. Aceste observatii sugereaz
a o combinare a celor dou
a metode n felul urmator: plec
and 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 dac
a
functia U 0. Se aplic
a apoi metoda Newton, plec
and din punctul xk0 , pentru
a creste viteza de convergent
a 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)

[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.55)

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


dac

a nG

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
a urm
areste combinarea avantajuprezentate la 33. In principiu, metoda hibrid
lui de convergenta local
a 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 s
a folosim o matrice care
aproximeaza hessiana ca n metoda Broyden, fie s
a le evalu
am 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


an
ator cu cel al metodei regiuni de ncredere,
cu o deosebire la calculul directiei de descrestere. Mai nt
ai se ncearc
a avansul
a pasul Newton pkN iese din afara
dupa directia Newton data de (7.31). Dac
regiunii de ncredere (fig.8.1), adic
a kpkN k2 > k , atunci se calculeaz
a pasul optimal 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
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
F2 (x1 , x2 ) 2x21 + 1 x1 x2 5x1 = 0 .

(8.57)

(8.58)

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 zon
a, 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 dac
a 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 c
a 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
a circa 50 iteratii n jurul minimului local U (0.4798, 0.32323)
(8.49) oscileaz
= 0.476,
dup
a care scap
a si sare la cea dea doua solutie a sistemului, x1 = 1.4589, x2 =
a n jurul minimul
1.39677. Folosind formula (8.49), metoda gradientului oscileaz
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 .
a se poate rezolva cu
Graficul functiei F (x1 ) este dat n figura 8.3. Ecuatia obtinut
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 c
ate 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 consider
am o problem
a real
a din domeniul investigatiilor radar.
Un impuls radar pleac
a din E si sufer
a 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
asoar
a timpul de parcugere pe vertical
a, t2 . Intereseaz
a determinarea
ad
ancimii 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
q
p
(8.61)
T2 = h2 + (d x1 )2 /c + z12 + x21 /c1 .
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 )

f2 (x1 , c1 , z1 )

f3 (x1 , c1 , z1 )

t2 2(h/c + z1 /c1 )


q
p
T2 2
h2 + (d x1 )2 /c + z12 + x21 /c1
q
p
x1 c h2 + (d x1 )2 (d x1 )c1 z12 + x21

(8.63)
(8.64)
(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

Figura 8.4: Drumul optic al unei unde prin doua medii.

227

228

8. Rezolvarea sistemelor neliniare

229

Capitolul 9

Rezolvarea ecuatiilor
diferentiale

9.1

Consideratii generale

Ecuatiile diferentiale ordinare (sau ecuatiile diferentiale care contin ca necunoscute 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 necunoscute. Ordinul cel mai mare al derivatei functiei necunoscute d
a ordinul 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 determina complet functia (sau functiile) necunoscut
a. Pentru a determina complet
solutia, este necesar ca, odat
a cu ecuatia (sau sistemul) s
a 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
an
a 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 consider
a 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] intervalul 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 independent


a. 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 si derivabil
a pe un dreptunghi [a, b] [c, d] R2 .
Functia f (x, y) se numeste functie pant
a, deoarece n punctul de coordonate
(x, y) valoarea ei este egal
a cu valoarea derivatei nt
ai 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 intervalul [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 metod


a 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 valorile ym , m = 1, 2, . . . , n ale functiei necunoscute, adic
a o functie retea care
aproximeaza functia cautata (barele indic
a valori aproximative).
a
Pentru a determina eroarea de trunchiere pentru formula (9.5), se admite c
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)

a plec
and din x = xm ,
T
in
and seama ca ambele formule (9.5) si (9.6) se aplic
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
eT =

n
X

m=1

eT m =

b a 00 0
h2 00 0
ny ( ) =
hy ( ), 0 (a, b)
2
2

(9.8)

si deci eroarea este proportionala cu pasul la puterea nt


aia. De aceea, forai, indic
and m
arimea erorii de
mula (9.5) este denumita formula de ordinul nt
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)

a coincid
a
iar parametrii , , w1 si w2 se determin
a din conditia ca (9.9) s
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
a
T
inand cont de faptul ca ym
= f (xm , ym ) = K1 , din (9.11) rezult

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, dou
a 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 mbun
at
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, prezentat
a 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
0
ntai. In punctul B(xm+1 , yB ), se evalueaz
a prima derivat
a a functiei y, yB
=
f (xm+1 , yB ) K2 . Bara de deasupra semnific
a faptul c
a 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 tangenta 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 de0
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 c
a, lu
and n calcul mai multe puncte (deci
folosind mai multe evaluari ale functiei pant
a 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
ym+1 = ym + h

s
X

wi Ki ,

(9.19)

i=1

Ki = f (xm + i h, ym + h

i1
X

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 p
an
a 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 )] ,
K4 = f [xm + 4 h, ym + h(43 K3 + 42 K2 + 41 K1 )] .

(9.21)

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 ) ,
K1 = f (xm , ym ), K2 = f (xm + h2 , ym + h2 K1 )
K3 = f (xm + h2 , ym + h2 K2 ), K4 = f (xm + h, ym + hK3 ) .

9.2.3

(9.22)

(9.23)

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 propag
arii 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

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 )

2
Q Q + 3[(1 + 1/2)(K Q )] (1 + 1/2)K ,
3
2
3
2
3

K f (x + h, Y ), y
h

Y
+
(K

2Q
),
m
3
m+1
3
4
3
4
Q Q + 3[ 1 (K 2Q )] 1 K 6
4
3
4
3
6
2 4
Q0 Q4 .

(9.24)

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
ari, reduceri, etc.), ci se p
astreaz
a
(9.24) nu trebuie modificate (nu se fac simplific
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 apreciaz
a 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 RungeKutta standard din punct de vedere al propag
arii erorilor de rotunjire numai dac
a toate
calculele se efectueaz
a cu acelasi num
ar 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

9.2.4

235

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 corespunz
atoare, se avanseaz
a doi pasi din
punctul xm cu pasul h, apoi se reface calculul cu pasul dublu 2h, dup
a 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)!
= yh +

(s+1)
2hs+1 y(2 ) /(s

(9.26)

+ 1)! ,

unde 1 , 2 (x, x + 2h), 21 (x, x + h), 22 (x + h, x + 2h). Pentru s = 4


avem
(2h)3 000
(2h)4 (4)
(2h)2 00
2 y(x) +
6 y(x) + 24 y(x)
2
3
4 (4)
0
00
000
+ h2 y(x)
+ h6 y(x)
+ h24 y(x) +
yh = y(x) + hy(x)
2
3
4 (4)
0
00
000
+ h2 y(x+h)
+ h6 y(x+h)
+ h24 y(x+h) .
+hy(x+h)

0
+
y2h = y(x) + 2hy(x)

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


yh y2h = 2hs+1

2s 1 (s+1)
2hs+1 (s+1)
yh y2h
y
()
y
() = s
.
(s + 1)!
(s + 1)!
2 1

(9.28)

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 exact
a
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 termenul e. Se poate deci impune micsorarea n continuare a pasului, dac
a e dep
aseste
o anumita margine superioara sau, dimpotriv
a, m
arirea pasului n cazul n care
e are o valoare prea mica.
Sa presupunem ca dorim ca eroarea absolut
a s
a nu dep
aseasc
a valoarea impus
a 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
e hs+1
0
= 0s+1
e
h
(s+1)

(s+1)



1
(s+1)
  s+1
y(0 )
e
0


,
(s+1) h0 = S h |e|
y()

(9.31)

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 impus
a (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 dec
at cea
a c
a pasul de integrare este mai mic dec
at cel necesar,
impusa (e  e0 ), nseamn
a pentru estimarea pasului urm
ator.
iar relatia (9.31) poate fi folosit
De regula, n locul erorii absolute se foloseste eroarea relativ
a 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 pant
a 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
2
3
4
5

1/6
0
0
2/3
1/6

1/15
0
3/10
4/15
1/30

0
1/3
1/3
1/2
1

1/3
1/6
1/8
1/2

1/6
0
0

3/8
3/2

mare. In realitate nu este asa deoarece ambele formule folosesc aceleasi puncte
pentru evaluarea functiei panta, adic
a numai p evalu
ari! Acest lucru este posibil, 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
Ki = f (x + i h, ym + h j=1 ij Kj ) .

(9.35)

O estimare a erorii de trunchiere pentru ys poate fi obtinut


a cu relatia
e = yp ys = h

p
X

(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, respectiv 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
a mai robust
a.
dat
a de (9.33). Varianta pasului dublu este ns
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

i1

16/135

1/360

i2

i3

i4

1/4

1/4

6656/12825

128/4275

3/8

3/32

9/32

28561/56430

2197/75240

12/13

1932/2197

7200/2197

9/50

1/50

439/216

3680/513

845/4104

2/55

2/55

1/2

8/27

3544/2565

1859/4104

9.3

i5

7296/2197

11/40

Extrapolare Richardson. Metoda BulirschStoer

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 calcuex
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
an
a la un moment dat si xm+1 = xm + H
punctul n care dorim s
a calcul
am o valoarea aproximativ
a ym+1 . Intervalul
(x, x + H) 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 numeric
a 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)
[zi+1 = zi1 + 2hf (xm + ih, yi )
ym+1 = 12 [zn + zn1 + hf (x + H, zn )] .

(9.39)

Unul din avantajele formulelor (9.39) const


a n faptul c
a avem nevoie de numai 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 formul


a 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 evalu
arii
la fiecare pas a unui numar de functii cel putin egal cu ordinul metodei; (b) evaluarea 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: s
a presupua
nem, revenind la ecuatia (9.2), ca se cunoaste solutia y(x). Atunci functia pant
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

a, dar poate fi apro(figura 9.2). In relatia (9.42), functia (x) este necunoscut
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
r
(x) (xm + h) = m + m + . . . + (1)r C
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)

T
inand seama de (9.44), relatia (9.42) se scrie
ym+1 = ymk + h


r
m + m + . . . + (1)r C
r m d + m ,
(9.46)

m fiind eroarea la integrare la pasul m


Z
m = (1)r+1 hr+2

r+1 r+1
C
() d .

(9.47)

Constatam ca avem doi parametri la dispozitie: r, gradul polinomului de


interpolare, grad care d
a ordinul de precizie al formulei (egal cu r + 1) si k, parametrul 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
(55fm 59fm1 + 37fm2 9fm3 ) ,
ym+1 = ym + 24
251 5 (4)
251 5 (4)
m = 720 h () = 720
h m + O(h6 ) .

(9.48)

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)
m = 45
h () = 45
h m + O(h6 ) .

(9.49)

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 termenii 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, utiliz
and formulele Adams si Milne, se obtine,
cu o aproximatie de ordinul O(h6 )
(A)

ym+1 = ym+1 +

251 (M )
27 (ym+1

(A)

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 metodele cu pasi legati este nc
a si mai mare, n comparatie cu metodele cu
pasi separati.

9.4.2

Formule implicite

a n xm+1 ,
Deoarece polinomul de interpolare obtinut din (9.44) se extrapoleaz
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 furnizat
a de o formul
a
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)
r
(x) (xm+1 + h) = m+1 + m+1 + . . . + (1)r C
r m+1 + Rr ,
(9.53)

restul fiind dat de relatia (9.45). Relatiile (9.42) si (9.53) ne conduc la


R0
r
r m+1 )d + m ,
ym+1 = ymk + h k1 (m+1 + m+1 + . . . + (1)r C
R
0
r+1 r+1
()d .
m = (1)r+1 hr+2 k1 C
(9.54)
De aceasta data, expresiile pentru ym+1 sunt implicite deoarece m+1 depinde de valoarea necunoscut
a ym+1 , m+1 = f (xm+1 , ym+1 ). Pentru a vedea
modul de lucru efectiv, se consider
a mai nt
ai c
ateva formule uzuale
a) Formula corector a lui Adams se obtine pentru r = 3, k = 0
(A)

h
(9fm+1 + 19fm 5fm1 + fm2 ) ,
ym+1 = ym + 24
19 5 (4)
19 5 (4)
m = 720 h () = 720
h m + O(h6 ) .

(9.55)

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)
m = 90
h () = 90
h m + O(h6 ) .

(9.56)

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 ) ,
(4)
8
8
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 rezolvat
a numeric iterativ. Conditia suficient
a ca sirul de
iteratii
(k)

(k+1)

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)
a de o formul
a
pas cu pas. De aceea, pentru start se alege valoarea ym+1 dat
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
de a face astfel o noua corectie. Astfel, utiliz
and formulele Adams (9.48) si
(9.55), se obtine
(Ac)

ym+1 = ym+1

(Ac)
19
270 (ym+1

(Ap)

ym+1 ) + O(h6 ) .

(9.61)

Diferenta dintre valorile date de cele dou


a metode, ne permite s
a 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)

ym+1 = ym+1

9.5

(M c)
1
29 (ym+1

(Ap)

ym+1 ) + O(h6 ) .

(9.62)

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 considera 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
simpla integrala obisnuit
a. Ecuatia (9.63) are solutia exact
y = ym Am ebm (xxm ) + Am + Bm (x xm ),
Am = fm /bm am /b2m , Bm = am /bm , bm 6= 0 .

(9.64)

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)
(RK)
ym+1 = ym
Am

X4

n=0

m h + eRm ,
(bm h)n /n! + Am + B

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

(bm h) bm m
(RK)
m ) eRm .
em+1 = e(RK)
(Am Am )(ebm h 1) Am
e
+ (Bm B
m
5!
(9.67)
S-a folosit formula Taylor pentru a nlocui
X4

n=0

(bm h)n /n! = ebm h

(bm h)5 bm m
e
,
5!

(xm , xm+1 ) .

(9.68)

Prin sumare de la x = x0 la x = xm+1 , din (9.67) se obtine


(RK)
em+1

= e0

m 
X
i=0


(bi h)5 bi
bi h

(Ai Ai )(e 1) + Ai
e (Bi Bi )h + eRi .
5!
(9.69)

(RK)
si eR0 put
and fi considerate nule, iar coeficientii Ai , Ai si
Erorile initiale e0

Bi , Bi , egali, relatia (9.69) se poate scrie


(RK)

em+1 =

m 
X

(1 ebi h )(Ai Ai ) Ai

i=1

(bi h)5 bi
i )h + eRi
e + (Bi B
5!

. (9.70)

Pe de alta parte, prin sumare, din (9.65) se obtine


ym+1 = y0 +

m
X


(1 ebi h )Ai + Bi h .

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


Din relatiile (9.70) si (9.71) se deduce c
a

(9.72)

9.5. Propagarea erorilor. Stabilitate.

245

1. Daca bm h (0, 1), atunci ebm > 1, unde bm = (f /x)m , eroarea


(RK)
arul m de pasi parcursi. Totodat
a creste
absoluta em+1 creste n modul cu num
(RK)
a,
valoarea ym+1 daca Am 6= 0. Prin urmare, eroarea relativ
a m+1 poate fi mic
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. Aceast
a 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)
at de mult, indiferent
absoluta em+1 cat si cea relativa, m+1 pot creste oric
de metoda numeric
a folosit
a. De aceea se spune c
a solutia, pentru conditia la
limit
a 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 formulele multipas. Pentru a aplica formula Milne (9.56) ecuatiei (9.63), vom scrie
(M )
(M )
fm+1 = fm + a
m h + bm (
ym+1 ym
)

(9.74)

de unde, prin sumare, se obtine


fm+1 = f0 +

m h
X

i
(M )
(M )
a
i h + bi (
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 )
(M )
ym
(1 bh/3)
ym+1 4bh/3
(1 + bh/3)
ym+1
= 2h(f0 by0 ) + 2a h2 m .

(9.77)

Ecuatia n diferente (9.77) se rezolv


a similar cu ecuatiile diferentiale cu
coeficienti constanti, neomogene. Astfel, ecuatia omogen
a (f
ar
a membrul drept)
admite solutii de forma ym = rm , numerele r fiind date de solutiile ecuatiei caracteristice
(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
r2 = (1/r1 )(3 + bh)/(3 bh) = (2bh 9 + 3b2 h2 )/(3 bh) .

(9.79)

246

9. Rezolvarea ecuat
iilor diferent
iale

Solutia generala a ecuatiei (9.77) se obtine adun


and la solutia ecuatiei omogene
o solutie particulara. Astfel, introduc
and si o eroare de rotunjire, eRm , rezult
a
(M )
ym
= C1 r1m + C1 r2m + y0 (
a + bf0 )/b2 m(
ah)/b + eRm .

Pentru determinarea constantelor C1 si C2 , se pun conditiile


(
(M )
x = x0 , m = 0, y0 = y0 , eR0 = 0
(M )
x = x1 , m = 1, y1 = y1 ,

(9.80)

(9.81)

valoarea y1 fiind furnizat


a de o metod
a pas cu pas sau de o alt
a metod
a. 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. Rezult
a solutia exact
a n absenta erorilor de rotunjire
ym =

ah
(a + bf0 ) b hm
(e
1)
m + y0 + e0Rm .
b2
b

(9.84)

Se observa prezenta termenului exponential eb hm . Pe de alt


a parte, utiliz
and
conditia (9.81), ecuatia (9.80) devine
(M )
ym
=

1
(
a

b2

+ 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
and n plus a
= a, b = b, vom scrie
(M )
ym
= y1 =

1
b2 (a

+ b f0 )(eb h 1) h a/b + e0R1 .

Se deduce astfel expresia constantei C2 din solutia (9.85)


h
i
a+bf0
3b h
C2 = 29+3b
(r1 eb h ) + eR1 e0R1 =
2 h2
2
b

i
h
 5 5
a+bf0
b h
3b h
6 6
0
+
O(b
h
)
+
e

e
= 29+3b
2 h2
2
R1
R1 .
b
180

(9.86)

(9.87)

9.6. Sisteme de ecuatii diferentiale. Ecuatii de ordin superior

247

In (9.87) s-a tinut seama ca dezvolt


arile n serie Taylor ale functiilor r1 si ebh
5 5
coincid pana la termenii n b h . Mai precis
r1 =

X4

i=0

(bh)0
b 5 h5
+
+ O(b6 h6 ), |b h| < 1 .
i!
72

(9.88)

Eroarea absoluta n cazul metodei Milne-predictor este


)
(M )
e(M
= ym ym
=
m

1
b2 (a

+ b f0 )(eb hm r1m ) C2 (r2m r1m ) + e0Rm eRm ,

a aparitia unui termen


depinzand atat de r1 cat si de r2 (vezi (9.79)). Se observ
suplimentar n ecuatia cu diferente Milne, legat de existenta a dou
a solutii r1 ,
a de solutia exact
a (9.84). Dintre cele dou
a
r2 ale ecuatiei n diferente (9.77), fat
solutii, r1 este cea care urmeaza ndeaproape exponentiala ebh , n timp ce r2
este o solutie str
ain
a.
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 |,
dac
a (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 c
at si cea relativ
a cresc
and
n modul.
Cazul critic este: a + bf0 = 0, a
+ bf0 6= 0, caz n care avem


a
+ bf0
3 bh
0
(9.89)
C2 p
b2 r1 + eR1 eR1 ,
2 9 + 3b2 h2
iar solutia este instabila numeric, ca si n cazul metodei Runge-Kutta (instabilitate inerent
a).

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 nt
ai. 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 canonic
a, 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
Ki3 = fi (xm + 2 , yi,m + 2 K2 ), Ki4 = fi (xm + h, yi,m + hKi3 ) .

(9.93)

Ordinea de calcul a derivatelor este urm


atoarea: se calculeaz
a Ki1 pentru toti
indicii i = 1, 2, . . . , n, apoi Ki2 , s.a.m.d. Plec
and din punctul x0 cu valorile
a valorile yi,m pas cu pas.
initiale date de (9.91) se calculeaz
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
0.01
(9.94)
r = sup
Ki1 Ki2
i

si njumatatirea pasului dac


a r 0.1, sau dublarea pasului dac
a r 0.001.
Criteriul calcului dublu cu pasii h si 2h consider
a, dup
a modelul (9.25) cantitatea
(h)

= sup
i
(h)

|yi

(2h)

yi
2s 1

(9.95)

(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
(55fi,m 59fi,m1 + 37fi,m2 9fi,m3 ) ,
yi,m+1 = yi,m + 24
(Ac)
h
yi,m+1 = yi,m + 24 (9fi,m+1 + 19fi,m 5fi,m1 + fi,m2 ) ,
(Ap)
(Ac)
(Ac)
19
(yi,m+1 yi,m+1 ), i 1, n .
yi,m+1 = yi,m+1 270

(9.96)

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)
a a functiilor pant
a.
unde J = (fi /yj )i,j1,n este matricea jacobian
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
270

(Ac)

(Ap)

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



x = x0 , yj = yj,0 , j 1, n1 ,
0
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
cap
at, 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
cap
at; (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 dou
a 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)

asi numeric,
Fie valoarea care satisface ecuatia (9.101). Pentru a o g
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
a pentru
un sir iterativ folosind metoda coardei prezentat
a n capitolul 3, adic
fiecare pereche k2 , k1 , cu F (k2 ) F (k1 ) < 0 se determin
a k cu relatia
k = k1

F (k1 )(k1 k2 )
.
F (k1 ) F (k2 )

(9.102)

In iteratia urmatoare se atribuie valoarea k uneia din valorile k1 , k2 astfel 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 parametrului 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 ) ,
y1 (x0 ) = , y2 (x0 ) = , y3 (x0 ) = 1 = 0, y4 (x0 ) = 2 = 1 ,

(9.107)

unde pentru cele dou


a valori ale parametrului am ales 1 = 0 si 2 = 1, iar
pentru rezolvare putem folosi oricare din metodele pas cu pas. Valorile y1 (xm ) si
y2 (xm ) 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)

F () yN () = 0, y 0 (x0 ) .

(9.109)

unde

Pentru determinarea derivatei functiei F , F 0 F/ = y(xN )/, se deriveaza functia y 00 data de (9.103) n raport cu
y 00
f x f y
f y 0
=
+
+ 0
.

x y y
Notand u y/ si tinand cont c
a


 
x
y 00

2y
2
y
= 0,
=
=
= u00 ,

x2
x2

(9.110)

(9.111)

si c
a y(x0 )/ = 0, y 0 (x0 )/ = 1, obtinem ecuatia diferential
a de ordinul
doi cu conditii initiale
u00 = u

f (x, y, y 0 )
f (x, y, y 0 )
, u(x0 ) = 0, u0 (x0 ) = 1 .
+ u0
y
y 0

(9.112)

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 ) ,
y1 (x0 ) = , y2 (x0 ) = , y3 (x0 ) = 0, y4 (x0 ) = 1 ,

(9.113)

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 dac
a valoarea exact
a este chiar = 0.
a atunci c
and k+1 si
Pentru s = 0 si = 10s , conditia (9.114) este ndeplinit
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 dificult
atile cresc; pasul esential
l reprezinta trecerea de la un parametru la doi parametri, mai departe extinderea fiind evidenta. Pentru exemplificare s
a 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
a de optimizare pentru functia scop
capitolul 8, sau se poate aplica o metod
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 matricei jacobian J0 pentru a g
asi directia de descrestere. Cum n general este
imposibil de determinat expresia analitic
a a jacobienei, aceasta se poate aproxima 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 descrestere 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 dac
a 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 regul
a 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 pentru 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 s
a fie folosite pentru rezolvarea problemelor 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 ??.
Cele n ecuatii lipsa se completeaza folosind conditiile la limit
a (9.99) care uneori
pot fi date n forma generala
L0j (x0 , y1 , . . . , yn ) = 0, j 1, n1 ,
LN k (x0 , y1 , . . . , yn ) = 0, k 1, n2 ,

(9.124)

unde L0j si LN k sunt expresii liniare sau neliniare care contin functiile necunoscute 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,
EiN +1 = LN i (x0 , y1 , . . . , yn ), i 1, n2 , EiN +1 0, i n2 + 1, n .

(9.125)

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 )
m
m

E m+1 (Y
, 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
X

Ji,j yim +

j=1

n
X

Ji,n+j yim+1 = Eim , Ji,j =

j=1

Eim
Eim
, Ji,n+j =
.
m
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.
a Newton converge rapid dac
a disDupa cum am vazut la 8.2, metoda iterativ
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.

x
x
x
x
x

x
x
x
x
x

x
x
x x
x x
x x
x
x
x

x x
x x
x x
x x
x x
x x

x x x
x x x
x x x
x x x
x x x
x x x

x x x

x x x

x x x
x x x

y30
y11
y21
y31
y12
y22
y32
y13
y23
y33
y2N
y3N

E30
E11
E21
E31
E12
E22
E32
E13
E23
E33
E2N
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 funct


ii 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 c
a ecuatia (9.129) poate fi transformat
a ntr-un sistem de ecuatii
diferentiale de forma canonica (9.90), not
and
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 larg
a 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 dac
a e1000x devine complet
x
neglijabil n comparatie cu e
imediat ce ne dep
art
am de origine. In astfel
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 dificultate 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

yim+1 = yim + h fi (xm+1 , ykm ) +

n
X
j=1

(yjm+1

fi (xm , ykm )
.
yjm )
yj

(9.134)

Obtinem astfel o metod


a semi-implicit
a. M
arimea pasului va fi impus
a acum n
principal de precizie (care este de ordinul nt
ai) si nu de stabilitatea metodei,
care este n general asigurat
a.
Pentru a obtine o metod
a de ordinul al doilea, vom scrie
m+1
yim+1 = yim + h2 [fi (xm , y m ) + fi (xm+1 , ym
)] .

(9.135)

Liniarizand din nou obtinem

n
m
X
h
f
(x
,
y
)
i
m
k
.
yim+1 = yim + fi (xm , ykm ) + fi (xm+1 , ykm ) +
(yjm+1 yjm )
2
y
j
j=1
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 dou
a 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 evalu
ari 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

(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 predictorcorector 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 formulelor implicite de tip corector nu este posibil
a deoarece pasul este nc
a prea mare
a superioritatea (din punct de vedere
(relatia (9.60)). Pentru h = 0.01 iese n evident
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 ordin 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, adic
a aproape de dou
a ori mai putine evalu
ari dec
at cu Runge-Kutta.
Pentru cazul (b), erorile absolute se mentin n limite normale (adic
a O(h5 )) pentru
(4)
toate formulele aplicate. Derivata din expresia erorii absolute este (x) y (6) (x) =
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
(c)
(p)
1
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
dec
at 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 dec
at 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 suficient
a
de convergent
a este dat
a de (9.60). Aplicarea formulei (9.62) nu duce la rezultate
sensibil mai exacte, ns
a reprezint
a o 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
eficient
a este metoda Runge-Kutta-Fehlberg. Nu putem trage concluzii definitive pe
baza exemplelor considerate, pe de o parte pentru c
a doar dou
a exemple reprezint
a
prea putin
a 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 at
at mai eficient
a 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
a folosirea unei valori pentru factorul de sigurant
a de cel
de (9.32), unde este esential
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 recomand
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 plan
a. 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 bilocal
a. 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 c
ai: (a) se face
o schimbare de variabil
a independent
a convenabil
a, care transform
a intervalul [0, )
ntr-un interval finit (transformarea trebuie s
a fie o 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
an
a 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 lent
a a functiilor y2 si y3 pentru x 3, ceea ce
justific
a 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
ac
atoare.

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

Iter
0
1
2
3
4
5

1
0.20
0.20
0.20
0.20
0.20
0.20

x
0.0
0.6
1.2
1.8
2.4
3.0
3.6
4.2
4.8
5.4
6.0

261

Tabelul 9.6:
2
0.600000
0.483939
0.471284
0.469800
0.469625
0.469604

Tabelul 9.7:
y1
0.0
0.084392
0.333678
0.728912
1.231590
1.795654
2.385699
2.983684
3.583403
4.183392
1.783410

Exemplul 2

U (1 )
-0.434162
-0.434162
-0.434162
-0.434162
-0.434162
-0.434162

U (2 )
0.177466
0.020252
0.002388
2.8267104
3.3475105
3.9646106

Functiile y1 , y2 , y3

y2
0.0
0.280590
0.545273
0.761092
0.901101
0.969088
0.992919
0.998850
0.999893
1.000022
1.000034

y3
0.469625
0.461758
0.410585
0.300455
0.167563
0.067715
0.019338
0.003870
0.000543
0.000054
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 fenomene 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 comport
a cel
putin dou
a variabile independente, iar urm
arirea desf
asur
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
dec
at 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 s
a tin
a
loc si de teorie, recomandandu-se o extrem
a prudent
a 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 util
a,
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
i=1

Ai (x1 , . . . , xn , u)

u
= B(x1 , . . . , xn , u) ,
xi

(10.1)

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
liniar
a; 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
= ... =
=
.
A1 (x1 , . . . , xn , u)
An (x1 , . . . , xn , u)
B(x1 , . . . , xn , u)

(10.2)

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
a complet pentru
(10.1) si anumite conditii de selectie. Problema este studiat
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), sistem 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 depinzand de un singur parametru, se numesc linii caracteristice.
a un sistem de n + 2 ecuatii din
Conditiile (10.3), mpreuna cu (10.4) formeaz
care, n principiu, prin exprimarea celor n + 1 variabile x1 , . . . , xn , u n functie
amas
a, se obtine o
de Ci , i 1, n si introducerea lor n a (n + 2)-a ecuatie r
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

care contine suprafata dat


a 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.
a deoarece o inteDaca B 0 (ecuatie omogen
a), sistemul (10.2) se simplific
grala prima este u = const. Ramane de rezolvat sistemul de ecuatii diferentiale
n+1

dxn
dx1
= ... =
,
A1 (x1 , . . . , xn , u0 )
An (x1 , . . . , xn , u0 )

(10.7)

amp ale
u0 fiind data de conditia initiala (10.3). Din (10.7) se obtin liniile de c
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 constituie discretizarea, care consta pe de o parte n divizarea domeniului cu ajutorul 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 finite, 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 ] ,
t
x

(10.8)

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(xi1 , tn )

u(xi , tn+1 )

u(xi , tn )
+ O(h2 ),
x
u(xi , tn )
u(xi , tn ) + k
+ O(k 2 ) ,
t

u(xi , tn ) h

(10.11)

unde xi = ih, i 0, I, tn = nk, n 0, N , h = 1/I, k = T /N . Rezult


a
n
n
uni uni1
u(xi , tn )
u
u
un+1 uni

+ O(h),
+ O(k) .
=
= i


x
x i
h
t i
k
(10.12)
Neglijand termenii O(k) si O(h), rezult
a ecuatia n diferente finite
n
vin+1 = vin + c(vi1
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
a
este cunoscut sub denumirea de num
ar Courant1 . Relatia (10.13) este o schem
explicit
a cu diferente finite, deoarece valorile vin+1 se determin
a direct, folosind
numai valorile vin de la momentul de timp anterior. Valorile vin sunt aproximative 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 nt
ai de precizie. Observ
am cum
n
pentru c = 1 se obtine solutia exact
a vin+1 = vi1
.
Exemplu. Vom rezolva ecuatia
u
u
+
= 0,
t
x

(10.14)

u(x, 0) = 0, 0 < x 1, u(0, t) = 1, t 0 .

(10.15)

cu conditiile initiale si la limit


a

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
a diferente mari ntre
cu schema explicit
a (10.13) sunt date n figura 10.2. Se observ
rezultatele obtinte cu retele diferite. Desi ar fi fost de asteptat ca cele mai bune
rezultate s
a 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 sper
am la rezultate
mai bune, acest lucru nu se nt
ampl
a, ba din contra, rezultatele nu mai au nici o
semnificatie fizic
a. Asa cum vom vedea mai departe, acest lucru se datoreste faptului
a pentru valori k/h > 1.
c
a schema (10.13) este instabil

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 convergent
a.
Definitie. O metoda cu diferente finite este convergent
a, dac
a solutia obtinut
a
cu ajutorul ecuatiei cu diferente converge c
atre solutia exact
a atunci c
and
norma retelei tinde la zero.
T
inand cont de (10.2), caracteristicile ecuatiei (10.8) sunt date de
dt = dx/a ,

(10.16)

adica drepte de panta dt/dx = 1/a. Conditia de convergent


a pentru schema
a de criteriul CFL (Courant-Friederichs-Lewy)
explicita (10.13) este este dat
care impune ca domeniul de influent
a numeric
a s
a includ
a domeniul de influent
a
a a punctului B
fizic
a (fig.10.1; vezi si 10.2.3, fig.10.15). Domeniul de influent
este format din totalitatea punctelor care primesc informatie din B. Domeniul
de influenta fizica este m
arginit 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)

a, schema (10.13) nu este convergent


a
Daca conditia (10.17) nu este ndeplinit
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
uni+1 uni
u
u
un+1 uni
+
O(h),
+ O(k) ,
(10.18)
=
= i


x i
h
t i
k
obtinem

n
vin+1 = vin + c(vin vi+1
).

(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
anga la dreapta, ci numai de
(10.19) nu permite propagarea informatiei de la st
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 diferente centrate
n
un uni1
u
+ O(h2 ) ,
(10.20)
= i+1

x i
2h

obtinandu-se

n
n
vin+1 = vin + (c/2)(vi1
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. Observam cum un ordin mai mare n aproximarea derivatelor partiale, nu nseamn
a
neap
arat precizie mai bun
a.
O schema explicita des ntalnit
a este schema Lax-Wendroff dat
a de
n
n
+ 2c (1 + c)vi1
,
vin+1 = (1 c2 )vin 2c (1 c)vi+1

(10.22)

care are ordinul de precizie O(h2 ). Pentru c = 1 se obtine solutia exact


a vin+1 =
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). Rezultatele 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 caracteristic
a 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 aproximeaz
a folosind valorile
aproximative vi nu la momentul n, ci la momentul n + 1,
n+1
n+1
un+1
u
i+1 ui
+ 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
n+1
vin+1 = (cvi1
+ vin )/(1 + c), i = 1, 2, . . . .

(10.24)

a.
Schema (10.24) este neconditionat convergent
O alta schema implicit
a este cea atribuit
a lui Wendroff, dat
a de relatia
n
vin+1 = vi1
+

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
X
i=1

Ai

2u X
u
+C =0 ,
+
Bi
x2i
x
i
i=1

(10.26)

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, dup
a
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;


(b) parabolic, daca exista un indice j astfel nc
at Aj = 0, Ai 6= 0 (i 6= j) si
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 legat
a 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
u =

2u 2u 2u
+ 2 + 2 =0.
x2
y
z

(10.27)

Datorita influentei reciproce o problem


a de tip eliptic nu se poate rezolva numeric 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
Bj

u 2 u
u
= F (x1 , . . . , xn , u,
,
), i 1, n, i6=j ,
xj
xi x2i

(10.28)

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
2u 2u
u
+ 2 ,
=
t
x2
y

(10.29)

t fiind timpul. Ecuatia (10.29) n trei variabile independente (x, y, t) este, n general, mai usor de rezolvat numeric dec
at ecuatia (10.27) n variabilele (x, y, z).
In cazul ecuatiei de tip hiperbolic, exist
a puncte care nu se pot influenta
reciproc. Un exemplu l reprezint
a misc
arile 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
= a2 2 ,
2
t
x

(10.30)

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 l
ang
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
d(uy ) = uyx dx + uyy dy .
a sistemul
Ecuatiile (10.31) si (10.32) formeaz

f
a
b
c
uxx
dx dy 0 uxy = d(ux ) .
uyy
d(uy )
0 dx dy

(10.32)

(10.33)

Solutia sistemului (10.33) exist


a si este unic
a dac
a determinantul matricei sistemului este nenul, adic
a
a(dy)2 b dx dy + c(dx)2 6= 0 .

(10.34)

Daca curba are panta m = dy/dx astfel nc


at a m2 b m + c = 0, atunci
and fi
sistemul (10.33) este nedeterminat, necunoscutele uxx , uxy , uyy neput
determinate n mod unic.
Ecuatia (10.34) poate avea:

10.2. Ecuatii cu derivate partiale de ordinul II

273

(a) doua radacini reale distincte, m1 6= m2 , dac


a b2 4 a c > 0; n acest caz
ecuatia este de tip hiperbolic;
(b) doua radacini reale confundate, m1 = m2 , dac
a b2 4 a c = 0; ecuatia este
de tip parabolic;
(c) doua radacini complex conjugate, dac
a b2 4 a c < 0; ecuatia este de tip
eliptic.
Nedeterminarea care se obtine n cazul n care este o curb
a caracteristic
aa
unei ecuatii de tip hiperbolic sugereaz
a ideea c
a este posibil ca pe aceast
a curb
a
a cu o ecuatie mai simpl
a. Dup
a cum vom
ecuatia (10.31) sa poata fi nlocuit
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 ordinar
a, 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
2u
u
.
=
t
x2

(10.35)

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.
alneste n transmiterea c
aldurii n regim nestaExemplu. Ecuatia (10.35) se nt
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 coordonata spatial
a, de asemenea adimensionalizate. Transferul c
aldurii printr-o bar
a n
care una din dimensiuni este mult mai mare dec
at celelelalte dou
a si deci fenomenul
se poate considera unidimensional, n regim nestationar, este descris de ecuatia
2T
cp T
=
,
t
x2

(10.36)

unde este densitatea materialului n kg/m3 , cp c


aldura specific
a n j/kg K, iar
este conductivitatea termic
a, j/m grad. Ecuatia (10.36) are conditiile initiale si la
limite
T (x, 0) = F (x), x [0, L]
T (0, t) = G0 (t), T (L, t) = G1 (t), t 0 .

(10.37)

Din punct de vedere fizic, F (x) reprezint


a 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, adic
a
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
= x/L, u = (T T1 )/(T0 T1 ) .

(10.38)

Ecuatia (10.36) devine


cp 2 u
2u
L
=
.
(10.39)

t
x
2
Variabila adimensionalizat
a pentru timp este sugerat
a de coeficientul derivatei u/t .
Folosirea unei variabile adimensionale pentru timp este posibil
a numai dac
a cp / =
const.
t = t/[(cp /)L2 ] .

(10.40)

Adimensionalizarea este recomandat


a deoarece conduce n general la reducerea num
arului de parametrii, iar valorile variabilelor dependente si a functiilor necunoscute au
acelasi ordin de m
arime.
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 const
a n mp
artirea domeniului dreptunghiuarim desf
asurarea
lar (figura 10.6) de dimensiuni 1 si T (durata pe care urm
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.
and derivatele partiale cu
Ecuatia (10.35) se va scrie n noduri, aproxim
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 obligatorie.

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
n
n
(vin+1 vin )/k = (vi1
2vin + vi+1
)/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
n
n
vin+1 = vi1
+ (1 2)vin + vi+1
,

(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 momenn
n
tul n: vi1
, vin si vi+1
. 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
v01 = g0 (k); vI1 = g1 (k); vi0 = f (xi ) .

(10.48)

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
am
ane 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 explicita (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)

arilor n serie
Derivatele partiale din (10.49) se vor exprima cu ajutorul dezvolt
Taylor ale valorilor functiei u(x, t) n puncte vecine. Astfel,
n
n
3
2
n
uni1 = uni h (u/x)i + h2 2 u/x2 i h6 3 u/x3 i +
n
n
(10.50)
4
h5
+ h24 4 u/x4 i 120
5 u/x5 i + O(h6 ) ,
n

un+1
= uni + k (u/t)i +
i

k2
2

2 u/t2

n
i

+ O(k 3 ) ,

(10.51)

de unde rezulta
n
n
(u/t)i = k1 (un+1
uni ) k2 2 u/t2 i + O(k 2 ) ,
i
n
n
2
2 u/x2 i = h12 (uni1 2uni + uni+1 ) h12 4 u/x4 i + O(h4 ) .

(10.52)

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
= uni1 + (1 2)uni + uni+1 + zin , i 1, I 1, n 0, N .
i

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

a de (10.44)
Scazand relatiile (10.53) si (10.46), se obtine pentru eroarea w definit
n
n
win+1 = wi1
+ (1 2)win + wi+1
+ zin .

(10.55)

Conditia de convergent
a a schemei cu diferente, se poate formula sub forma
win 0, c
and I, N .

(10.56)

ari comportarea
Pentru a stabili n ce conditii se realizeaz
a (10.56), vom urm
modulelor erorilor maxime. Din (10.56) se obtine pentru > 0
n+1
n
n
w
wi1
+ |1 2| |win | + wi+1
+ |zin | .
(10.57)
i

arat
a pentru orice i,
Notam cu wn = max |win |. Inegalitatea (10.57) fiind adev
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
+ |1 2| |wn | + wn + |z n | ,
wn+1 wi1
i
i+1
i
(10.58)
wn+1 (2 + |1 2|)wn + z n , unde z n = max |zin | .
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
wn w0 +

N
1
X
n=0

z n w0 + N zmax = w0 + T

zmax
,
k

(10.61)

unde w0 reprezinta eroarea la momentul initial t = 0, iar zmax = max z n . Deon


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)

adica metoda explicita cu diferente finite converge, cu conditia (10.59). Convergenta conditionat
a este o situatie general nt
alnit
a la metodele explicite si
conduce la cresterea volumului de calcul pentru obtinerea unei precizii corespunzatoare. 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.
a d
am o explicatie calitativ
a a fenomeUrmarind (figura 10.6), vom ncerca s
nului de convergent
a conditionat
a pentru schemele explicite. Astfel, cunosc
and
valorile functiei u pe linia AB, se pot calcula valorile aproximative vin pentru 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 numeric 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
= uni1 + (1 2)uni + uni+1 + zin ,
i

(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
(10.35) se arata usor c
a 2 u/t2 = 4 u/x4 , astfel nc
at din (10.54) se vede
usor ca pentru k = h2 /6, adic
a = 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
arat
a 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
n+1
n+1
(vin+1 vin )/k = (vi1
2vin+1 + vi+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
n+1
vi1
(1 + 2)vin+1 + vi+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)

1
cu v (1) = (v11 , v21 , . . . , vI1
)T , xi = ih,

b(0) = (f (x1 ) + g0 (k), f (x2 ), . . . , f (xI2 ), f (xI1 ) + g1 (k))T ,

(1 + 2)

(1
+
2)

A=

.
..

..
.

...
...
..
.

..

..

0
0
0

(1 + 2)

(10.69)

(10.70)

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 tridiagonal
a a matricei A.
T
in
and cont de particularitatile sistemului (10.70), algoritmul de rezolvare a
ecuatiei caldurii folosind schema implicit
a (10.66) se poate scrie formal dup
a
cum urmeaza:
Date : conditiile initiale f (x); conditiile la limit
a 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
n
zI1 vi1
vIn+1

ri r1 li

i = 0 : I
Rezolv
a sistemul Rv = z
0
n+1
vi f (ih)
v

z
I1 /rI1
I1
n=
: (T /k)
i = (I 2) : 1
 0 n+1
 n+1
v0 g0 ((n + 1)k)
n+1
vi
(zi vi+1
)/ri .
n+1
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 valorilor functiei luate la momentele n si n + 1. Not
and cu (0, 1) un coeficientpondere, se scrie
n+1
n+1
n
n
(vin+1 vin )/k = [(1 )(vi1
2vin + vi+1
) + (vi1
2vin+1 + vi+1
)]/h2 .
(10.72)

In acest fel, derivata u/t se calculeaz


a pentru un punct intermediar momentelor 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 CrankNicolson, astfel ncat sistemul de ecuatii pentru calculul valorilor functiei n
noduri devine
n+1
n+1
n
n
vi1
2(1 + )vin+1 + vi+1
= vi1
2(1 )vin vi+1
.

(10.73)

Se observa o crestere a gradului de dominant


a a elementului diagonal de la
1 + 1/2 la 1 + 1/. Se poate ar
ata c
a pentru = (6 1)/12, eroarea de
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 exact
a 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 aproximeaz
a) dac
a 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 finite, 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 discretizare 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
)/h2 ,
vin1 vin+1 + vi+1
(vin+1 vin1 )/2k = (vi1

(10.74)

vin

a fost scris
a ca medie aritmetic
a a valorilor
n care valoarea aproximativ
a a functiei
am
vin1 si vin+1 , 2vin = vin1 + vin+1 . Pentru a stabili eroarea de trunchiere, dezvolt
n serie Taylor functia u n jurul punctului (i, n)
n
un
i1 = ui hux +
n1
= un
ui
i kut +

3
4
h2
u h6 uxxx + h24 uxxxx
2 xx
3
k2
u k6 uttt + O(k4 ) .
2 tt

h5
u
120 xxxxx

+ O(h6 )

a
si uin+1 , rezult
Adun
and si sc
az
and relatiile pentru un1
i
n1
k2 utt + O(k4 ), ut =
+ un+1
2un
i = ui
i

1
(un+1
i
2k

)+
un1
i

k2
u
6 ttt

+ O(k4 ) .

Pentru uxx se obtine relatia


uxx =

1
(un
i1
h2

+ un
un+1
un1
i+1 )
i
i

h2
u
12 xxxx

k2
u
h2 tt

+ O( hk2 ) + O(h4 ) ,

iar pentru ecuatia c


aldurii
n1
2
+ un
un+1
uin1 )/(2k) = (un
(un+1
i+1 )/h
i1 ui
i
i
(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 dac
a 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
reprezint
a ecuatia c
aldurii. Dac
a avem k/h  1, c  1, efectul acestui termen de
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 instabilitate 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

(10.75)
w = (t)ejx , R, j = 1 ,
unde (t) este amplitudinea, iar R num
arul de und
a al perturbatiei. Deoarece sursa perturbatiilor n calculul numeric o constituie erorile de calcul s-a
p
astrat notatia w. Prin urmare, n (10.67) se face nlocuirea
vin vin + win ; win = n ejxi .

(10.76)

Rezulta ecuatia care da evolutia perturbatiei


n+1
n+1
wi1
(1 + 2)win+1 + wi+1
= win .

(10.77)

Impartind (10.77) membru cu membru cu wn , se obtine


i
(n+1 /n )[ejh (1 + 2) + ejh ] = 1 ,
|n+1 /n | 1/|1 + 2(1 cos h)| = 1/(1 + 4 sin 2 h
2 )1 .

(10.78)

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 implicit
a 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
n
.
+ (1 2)win + wi+1
win+1 = wi1

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.
Conditia de convergent
a 1/2 a schemei explicite (10.46) este necesar
a deci asigur
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 ,
=
t
x2
y

(10.79)

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,
u(x, 0, t) = g0 (x, t), u(x, 1, t) = g1 (x, t), 0 x 1, 0 < t T .

(10.80)

Vom considera cazul unei retele rectangulare (figura 10.7), unde pentru simplitate 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, rezult
and 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
 2
n+1 #
2
2
2

u
u

u
k
n+1
n
+ 2
+ 2
vi,j
vi,j
+
,
(10.84)
=
2
x2
y i,j
x2
y i,j
obtinandu-se
n+1
n
vi,j
vi,j

n
n
n
n
n
n
(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
aldurii cu o
tridiagonala ca n cazul schemei implicite (10.67) pentru ecuatia c
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 variabil
a spatial
a
folosirea schemei implicite (10.67) a dus la rezolvarea unui astfel de sistem4 .
Obtinerea si n cazul ecuatiilor parabolice cu dou
a variabile spatiale a unui sistem 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
n+1
n+1
2

= (un+1
i+1,j 2 ui,j + ui1,j )/h
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 .
y 2 i,j

(10.86)

(10.87)

atea
Pentru fiecare j 1, J, se obtine un sistem de I 1 ecuatii liniare5 cu tot at
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 implicit
a 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 Num
arul de puncte pe o dreapt
a y = const este I + 1, punctele de pe frontier
a 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 formul
a 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)

Metoda directiilor alternante const


a n aplicarea relatiei (10.88) pentru determinarea 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
a dac
a coeficientii Ai , Bi si C sunt cel mult
derivate partiale (10.26) este liniar
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 cvasiliniar
a.
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 depinz
and si de functia necunoscut
a
u, motiv pentru care schemele explicite sunt putin utilizate.
Pentru exemplificare, consider
am ecuatia neliniar
a
u u
2u
= f (x, t, u,
,
),
x2
t x

(10.90)

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
n+1
n+1
x2 vin+1 = f [ih, (n + 1)k, vin+1 , (vin+1 vin )/k, (vi+1
vi1
)/2h] ,

(10.91)

sau prescurtat x2 vin+1 fin+1 , unde


n+1
n+1
x2 vin+1 (vi1
2vin+1 + vi+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
an
a cand |(vin+1 )m+1 (vin+1 )m | < . Pentru m = 0, (vin+1 )0 se obtine
rezolvand ecuatia neliniara
n
n
x2 (vin+1 )0 = (fin+1 )0 fin f [ih, nt, vin , ((vin+1 )0 vin )/k, (vi+1
vi1
)/2h] .
(10.94)

a. Dup
a cum se observ
a, la
Dac
a sirul (10.93) converge, convergenta este liniar
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 (x, t, um+1 , um+1
, um+1
)
t
x

f (z m )
u
m
f (z m )
m+1
m f (z )
+ (um+1
,
+(ut
ut )
um
x
x )
ut
ux

f (z m ) + (um+1 um )

m
unde z m (x, t, um , um
a un sistem tridiagonal de forma
t , ux ). Rezult
n+1 m+1
n+1 m+1
ai (vi1
)
bi (vin+1 )m+1 + ci (vi+1
)
= di , i 1, I 1 ,

(10.95)

unde
m

(z )
f (z )
1 f (z )
2
1 f (z )
ai = h12 + 2h
+ k1 fu
, ci = h12 2h
ux m, bi = h2 +
u
ux ,
t m
m
f (z )
1 f (z ) m
1 f (z ) m
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 derivatele 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 alternante, 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
1
u
n+1
n

).
(10.98)
= (vi+1 vi ),
= (vin+1 vi1
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
n+1
n
(1 + )vin+1 = vin + (vi1
vin + vi+1
).

(10.99)

a dac
a efectueaz
a calculele de la frontiera din st
anga
Formula (10.99) este explicit
la cea din dreapta pentru toti pasii de timp n = 1, 2, 3, . . . . In mod analog,
ine
daca n (10.97) se nlocuieste (u/x)ni+1/2 cu (u/x)n+1
i+1/2 , se obt
n+1
n
(1 + )vin+1 = vin + (vi+1
vin + vi1
).

(10.100)

a dac
a efectueaz
a calculele de la frontiera din
Formula (10.100) este explicit
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 c
a n acest caz pasul de timp este cel mai mic si deci eroarea de trunchiere
este cea mai mic
a.
In figura 10.9 sunt date rezultatele 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 dat
a 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, implic
a 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 c
a k = h2
obtinem
3
4
4 n
zin = (k2 /2)[( 2 u/t2 )n
i ( u/x )i ] + O(k ) .

(10.101)

Pentru ecuatia c
aldurii avem 2 u/t2 = 4 u/x4 . Putem considera ( 2 u/t2 )n
i =
4
4 n
at ecuatia (10.101) se scrie
( u/x )i pentru ecuatia cu diferente finite, astfel nc
3
zin = (k2 /2)( 2 u/t2 )n
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) .
x2
y

(10.103)

Pentru ecuatia (10.103), se pot formula trei tipuri de probleme, dup


a conditiile 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 frontiera 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 dup
a
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)

a domeniul D este rectangular, atunci


unde i, j 1, N 1, Mij NI . Dac
(10.107) reprezint
a unica form
a de aproximare.
In cazul ecuatiei lui Laplace
2u 2u
+ 2 =0,
x2
y

(10.108)

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.


adic
a 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 sisar mare de necunoscute ((N 1)2
temului (10.107), care are, n general un num
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 necunoscute. Ecuatiile care alcatuiesc sistemul sunt liniare dac
a 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. Num
arul mare de necunoscute 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 clasific


a 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 simultan. 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 n forma
(a) Metoda Jacobi. Relatia (10.109) se aplic
(k+1)

vi,j

(k)

(k)

(k)

(k)

= 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)

astrate
valori de la iteratia anterioar
a. In consecint
a, valorile vi,j trebuie p
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)

vi,j

(k)

(k+1)

(k+1)

(k)

= 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)

vi,j

(k)

(k+1)

vi,j
= vi,j + [

(k)

(k)

(k+1)

vi,j
vi,j ] = (1 )vi,j +

(10.114)

(k+1)

reprezint
a valoarea calculat
a la iteratia k + 1, folosind de exemplu
unde vi,j
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 prezentata 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, parcurgerea se poate face fie pe orizontal
a, fie pe vertical
a (fig. 10.11), evident,
existand mai multe posibilit
ati de parcurgere.
6
In

cazul problemelor neliniare, se utilizeaz


a deseori un factor de subrelaxare (0, 1).

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)

pe
Dup
a cum am vazut, metodele iterative punctuale calculeaz
a valoarea vi,j
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)

vi,j

(k+1)

(k)

(k+1)

(k+1)

= 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, deoarece 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)

vi1,j + 4vi,j

(k+1)

(k+1)

(k)

vi+1,j = vi,j1 + vi,j+1 .

(10.117)

Redefinirea formulei explicite ntr-o formul


a implicit
a duce la cresterea vitezei
de convergenta, pentru care se pl
ateste pretul unei complic
ari a algoritmului.
Viteza de convergenta este n general mbun
at
atit
a dac
a dup
a folosirea formulei implicite (10.116) la iteratia k + 1 se foloseste formula
(k+2)

vi,j

(k+2)

(k+2)

(k+2)

(k+1)

= 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, rezult
a un sistem de J 1 ecuatii cu J 1
necunoscute, cu matrice tridiagonal
a
(k+2)

(k+2)

vi,j1 + 4vi,j

(k+2)

(k+2)

(k+1)

vi,j+1 = vi1,j + vi+1,j .

(10.119)

O alta metod
a 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)

(vi1,j 2vi,j

(k)

(k)

(k)

(k+1)

+ 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 formul
a explicit
a. Din relatia
(10.120), adaugand si sc
az
and valoarea 4vi,j , rezult
a
(k+1)

(k+1)

(vi1,j 2vi,j

(k)

(k)

(k+1)

(k)

+ 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)

vi,j

(k)

(k+1)

(k+1)

= vi,j + 14 (vi1,j 2vi,j

(k+1)

(k)

(k)

(k)

+ vi+1,j ) + 41 (vi,j1 2vi,j + vi,j+1 )

sau
(k+1)

(k+1)

14 vi1,j + 23 vi,j

(k+1)

(k)

(k)

(k)

41 vi+1,j = 14 vi,j1 12 vi,j + 41 vi,j+1 .

(10.121)

Am obtinut o relatie identic


a cu (10.88) pentru = 14 , relatia (10.121) reprezentand 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)

14 vi,j1 + 23 vi,j

(k+2)

(k+1)

(k+1)

41 vi,j+1 = 14 vi1,j 21 vi,j

(k+1)

+ 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 alt
a 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
a aproxim
am cu
. Fie punctul 1 NE (figura 10.12) punctul n care dorim s
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 ) ,
uB = u1 + bh(u/y)1 + 12 b2 h2 ( 2 u/y 2 )1 + O(h3 ) .

(10.123)

Deoarece, pe langa derivatele de ordinul 2 care apar n ecuatia lui Poisson, au


ap
arut si derivate de ordinul 1, aceste din urm
a trebuie eliminate. In acest scop,
sunt necesare nca dou
a 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 ) ,
u3 = u1 h(u/y)1 + 12 h2 ( 2 u/y 2 )1 + O(h3 ) .

(10.124)

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
uB + au3 = (1 + b)u1 + h2 b(1 + b)( 2 u/y 2 )1 + O(h3 ) .

(10.125)

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


u2
u3
h2
uA
uB
1 1
+
+
+
=
1

, u 1 NE .
u1
a b
1+a 1+b
2
a(1 + a) b(1 + b)
(10.127)
a c
a derivatele de ordinul 2 se calculeaz
a n
Din relatiile (10.125), se observ
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
a
(figura 10.13), punctul A fiind cel mai apropiat de punctul 1 n care vrem s
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 ,
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
+
dn A
x A
y A

(10.130)

(10.131)

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 pentru o plac
a p
atrat
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 prezint
a discontinuit
ati. Distributia de temperaturi, 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 relax
arilor 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
nr.iter.

Jacobi
121

GS
68

= 1.2
48

= 1.4
31

= 1.5
23

= 1.6
22

= 1.8
42

Se observ
a superioritatea metodei supra-relax
arilor 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 rezolv
a. 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 hiperbolic, vom lua ca model ecuatia undelor
2u 2u

=0,
t2
x2
a c
arei solutie generala este de forma
u(x, t) = f (x + t) + g(x t) ,

(10.134)

(10.135)

unde f si g sunt doua functii arbitrare de clas


a C 2 . Ecuatia (10.134) poate avea

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 ,
u(0, t) = h0 (t), u(1, t) = h1 (t) .

(10.137)

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
a si este unic
a. Altfel spus, se pune
(10.134) cu (10.136) sau (10.137) exist
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 unic
a (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 necaracteristic
a
CD. Domeniul n care solutia exist
a si este unic
a este m
arginit de caracteristicile CE si DE si de curba CD (figura din st
anga).
2. Valorile u sau ux sunt date pe curba caracteristic
a CF si pe curba necaracteristica 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 caracteristicilor si metode de discretizare cu diferente finite.

10.2.4

Metoda caracteristicilor

Metoda caracteristicilor reprezint


a o metod
a natural
a pentru rezolvarea ecuatiilor 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 compatibil, 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,
am2 d(ux )/dx + c d(uy )/dx f m2 = 0,

(10.140)

cu m1,2 pantele celor dou


a caracteristici date de
m1,2

p
dy
1
=
[b b2 4ac] .
dx
2a

(10.141)

Pentru n = 2, ecuatiile cu derivate partiale se transform


a n lungul directiilor
caracteristice n ecuatii diferentiale ordinare, acesta reprezent
and avantajul principal 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 caracteristic
a. In figura 10.17 se pot
observa cele doua familii de caracteristici notate m1 si m2 . Deoarece caracteristicile 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 aproat precizia este de ordinul distantei dintre
ximat cu o linie dreapt
a7 astfel nc
7 Eroarea de discretizare poate fi redus
a folosind arce de parabol
a n locul segmentelor de
dreapt
a, 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
(fR + fP )(yR yP )/2 = 0
(aR m2R + aQ m2Q )(uxR uxQ )/2 + (cR + cQ )(uyR uyQ )/2
(fR + fQ )(yR yQ )/2 = 0

(10.142)

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
uR uQ = (uxR + uxQ )(xR xQ )/2 + (uyR + uyQ )(yR yQ )/2 .

(10.144)

a un sistem de 5 ecuatii neliniare


Ecuatiile (10.142) si una din (10.144) reprezint
cu necunoscutele xR , yR , uxR , uyR si uR . Sistemul se poate rezolva iterativ cu
and pentru start valorile necunoscute
metoda iteratiei simple (capitolul 8.1), lu
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 independente dintre care una este timpul, se poate cere solutia u la momente de timp
specificate. Metoda caracteristicilor aplicat
a direct nu poate asigura acest lucru, astfel ca se foloseste o metod
a hibrid ntre o metod
a cu diferente finite si
metoda caracteriticilor. Aceasta metod
a const
a n folosirea unei retele de discretizare 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
an
a 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
an
a la linia n. Caracteristicile 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 rezult
a 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 reprezinta 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 c
a discontinuit
atile 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
n
n
uxx
2vin + vi+1
)/h2 , utt
= (vi1
= (vin1 2vin + vin+1 )/k 2 .

(10.147)

Rezulta
n
n
vin+1 = m2 (vi1
+ 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
0
0
g(ih) gi = ut |i u/t|i
= (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 intr


a 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 numeric valori aproximative ale solutiei u n afara domeniului n care avem solutie
analitica. Daca m 1, atunci solutia numeric
a se afl
a interiorul domeniului de
dependenta fizica al punctului C.
In general, o schem
a cu diferente finite este
stabil
a, dac
a domeniul de influent
a numeric
a include domeniului de influent
a
fizic
a (analitic
a).
a solutia de forma
Pentru a studia stabilitatea schemei (10.148), se consider
u(x, t) =

en t ejn x ,

(10.151)

n=0

a, actioneaz
a principiul superpozitiei
unde j 1. Ecuatia (10.146) fiind liniar
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)

k
e2k 2(1 2m2 sin 2 h
+1=0 .
2 )e

(10.154)

sau

Pentru a evita situatia n care solutia numeric


a creste c
and 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

2
ek
, unde A = 1 2m2 sin 2 h
(10.155)
1,2 = A
2 , =A 1 .
Se observa ca pentru a avea ek
a
1,2 = 1, este necesar ca 0, adic
2
2
2 h
(1 2m2 sin 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 prezint
a un interes special. Din (10.156) rezult
a
2 h
1 1 2 sin 2 h
2 sin 2 1 .

Pentru sin 2 h
inem = 0, ek
ia (10.148) devine
1,2 = 1. Relat
2 = 1, obt
n
n
vin+1 = vi1
+ vi+1
vi,n1 .

(10.158)

ata acest lucru, foSchema (10.158) satisface exact ecuatia (10.146). Pentru a ar
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
utt k12 (ui,n1 2uni + un+1
) k12 utttt + O(k 4 ) .
i

(10.159)

10.2. Ecuatii cu derivate partiale de ordinul II

303

Inlocuind n (10.146), rezulta


un+1
= m2 (uni1 + uni+1 ) + 2(1 m2 )uni un1
+
i
i
k2 h2
k4
6
2 4
+ 12 utttt 12 uxxxx + O(k ) + O(k h ) ,
4
4
4
m=1 n
h6 6 u
un+1
( t6
=
ui1 + uni+1 un1
+ h12 ( t4u xu4 ) + 360
i
i

6u
x6 )

+ O(h8 ) .
(10.160)

In cazul n care functia u este de p ori derivabil


a, se poate usor ar
ata c
a dac
a
uxx = utt , atunci p u/xp = p u/tp , astfel c
a ultima relatie (10.160) devine
un+1
= uni1 + uni+1 un1
,
i
i

(10.161)

a.
astfel ncat schema cu diferente (10.158) are eroarea de trunchiere nul
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)

n
n
. In relatia
unde este un parametru de relaxare, iar x2 vin vi1
2vin + vi+1
a ca o medie ponde(10.162), valoarea aproximativa a derivatei utt se calculeaz
rat
a ntre valorile aproximative la momentele de timp n 1, n, n + 1. Se poate
a oricare ar fi parametrul
ar
ata ca pentru 1/4, schema (10.162) este stabil
retelei de calcul m. Pentru = 0, se obtine schema explicit
a (10.148), iar pentru
= 1/2 se obtine schema
n+1
vin+1 2vin + vi+1
= 21 m2 [x2 vin+1 + x2 vi,n1 ] =
n+1
n+1
1 2
= 2 m [(vi+1 2vin+1 + vi1
) + (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 a problemei
Pentru rezolvare s-a folosit schema explicit
a (10.148). Solutia analitic
(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
ac
atoare. Sunt
pentru k = 0.05, n timp ce pentru k = 0.1, rezultatele sunt nesatisf
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
a,
primul caz h este mai mic. De altfel, pentru m > 1 schema (10.148) nu este stabil
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
in
and 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 nesatisf
ac
atoare s-au obtinut acolo unde functia
u variaz
a rapid, pasul h = 0.1, fiind prea mare pentru a obtine o valoare suficient de
precis
a 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
a.
faptului c
a schema (10.148) este instabil

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 Numerice 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 Cliffs, 1974.
Bucur, C.M., Popeea, C.A., Simion, Gh., Matematici Speciale - Calcul Numeric, Editura Didactica si Pedagogic
a, Bucuresti, 1983.
Carnahan, B., Luther, H.A., Applied Numerical Methods, John Wiley &
Sons, New York, 1969.
ements de Calcul Numerique, Editions MIR,
Demidovitch, B., Maron, I., El
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, Editura Nancov Dumka, Kiev, 1972.
Golub, G.H. and van Loan, C.F., Matrix Computations, 2nd Ed., John Hopkins University Press, Baltimore, 1989.
Gourlay, A.R., Watson, G.A., Computational Methods for Matrix Eigenproblems, John Wiley & Sons, New York, 1973.
Halanay, A., Matematici, Calcul Numeric si Programare, Litografia Universit
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 Programming, 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 Tehnic
a, 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, Cambridge 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 Pedagogic
a, Bucuresti, 1981.
Wolfram, S., Mathematica A System for Doing Mathematics by Computer,
2nd Ed., Addison-Wesley, 1991.

S-ar putea să vă placă și