Documente Academic
Documente Profesional
Documente Cultură
carteMN2 PDF
carteMN2 PDF
1997 Autorii
CUPRINS V
Cuprins
Capitolul 1
Aproximarea functiilor de o
variabil
a
yi = f (xi ), i 1, N . (1.1)
g(xi ) = yi , i 1, N . (1.2)
Aproximarea facut
a pe baza criteriului de mai sus se numeste aproximare
mini-max.
atratelor abaterilor n noduri. In acest caz se impune
c) Minimizarea sumei p
ca
n
X 2
S= (yi g(xi )) = minim . (1.5)
i=1
Deoarece nu ne-am nscris ntr-un formalism riguros, vom face unele observatii
de bun simt. Astfel, am ales N parametri nedeterminati ak , deoarece avem
N conditii. Pe de alta parte, setul de functii gk (x) trebuie s
a contina elemente
distincte, astfel ncat introduse n forma (1.6), num arul de parametri s a nu se
reduca1 . Intr-un limbaj mai riguros, se spune c a cele N functii cunoscute gk
trebuie sa fie liniar independente. In lipsa altei analize, ne putem limita la
functii despre care stim ca au aceasta proprietate. Un astfel de set l reprezint
a
monoamele xk1 , k {1, 2, ..., N }, n care caz functia de interpolare este un
polinom de gradul N 1
N
X
g(x) = ak xk1 . (1.7)
k=1
Daca N este mare, rezolvarea sistemului (1.8) este dificil a sau cel putin necon-
venabila. In orice caz, nodurile xi fiind distincte, sistemul de ecuatii (1.8) este
un sistem cu determinant Vandermonde diferit de zero si are o solutie unic a,
bine determinata pentru coeficientii ak . In consecint
a, oricare ar fi calea pe care
se construieste efectiv polinomul de interpolare (1.7), acesta este unic pentru o
functie si o diviziune data. Aproximarea efectuat a este o interpolare global a n
sensul ca se foloseste un singur polinom pe tot intervalul [a, b].
DD(x3 , x2 ) DD(x2 , x1 )
DD(x3 , x2 , x1 ) = ,
x3 x1
DD(xN , . . . , x2 ) DD(xN 1 , . . . , x1 )
DD(xN , xN 1 , . . . , x1 ) = . (1.9)
xN x1
Diferentele divizate care se construiesc folosind k + 1 puncte se numesc diferente
divizate de ordinul k. Se poate demonstra prin inductie matematic a, urm
atoarea
expresie a diferentei divizate de ordinul N 1:
N N 0
X Y
DD(xN , xN 1 , . . . , x1 ) = yi (xi xj ) . (1.10)
i=1 j=1
f (x) = y1 + (x x1 ) DD(x, x1 ) =
(1.12)
y1 + (x x1 ) DD(x2 , x1 ) + (x x1 )(x x2 ) DD(x, x2 , x1 ) .
f (N ) () = N ! DD(x, xN , xN 1 , . . . , x1 ) ,
relatie din care putem deduce expresia diferentei divizate de ordinul N n functie
de derivata de ordinul N . In acest fel, restul la interpolare (1.14) cap
ata forma
N
Y
RN 1 (x) = (x xi ) f (N ) ()/N ! . (1.16)
i=1
Q
Prezenta produselor (x xi ), sugereaz a c
a restul este mai mic (n modul)
c
and punctul curent x este centrat pe intervalul care contine diviziunea si mai
mare cand x este luat spre marginile intervalului sau n afara lui acest ultim
caz este denumit extrapolare. Deoarece derivata de ordinul N a functiei n
punctul nu este accesibila (din diverse motive), evalu ari ale restului se pot
face presupunand ca, la schimbarea diviziunii, punctul (necunoscut) nu se
deplaseaza mult, astfel ncat derivata respectiv
a s
a fie aproximativ constant a,
si refacand calculul pentru o noua diviziune a intervalului se poate testa astfel
si sensibilitatea erorii la includerea de noi puncte de interpolare.
6 1. Aproximarea funct
iilor de o variabila
x = xi + h, [0, N 1] , (1.24)
RN 1 (x1 + h) = hN CN f (N ) () . (1.26)
x = xN + h, [N + 1, 0] , (1.27)
deci coeficientii ak din expresia (1.6) sunt chiar valorile functiei f (x) n noduri,
ak = yk . Se verifica direct, tinand cont de propriet
atile (1.30) c a pN 1 (xi ) =
yi , i = 1, 2, ..., N .
8 1. Aproximarea funct
iilor de o variabila
Exemplu. Utiliz
and primele patru noduri din tabelul 1, polinoamele Lagrange
sunt
(x 2)(x 3)(x 5) 1
L1 (x) = = (x 2)(x 3)(x 5),
(1 2)(1 3)(1 5) 8
(x 1)(x 3)(x 5) 1
L2 (x) = = (x 1)(x 3)(x 5),
(2 1)(2 3)(2 5) 3
(x 1)(x 2)(x 5) 1
L3 (x) = = (x 1)(x 2)(x 5),
(3 1)(3 2)(3 5) 4
(x 1)(x 2)(x 3) 1
L4 (x) = = (x 1)(x 2)(x 3),
(5 1)(5 2)(5 3) 24
iar polinomul de interpolare este
p3 (x) = 2L1 (x) + 3L2 (x) + 0L3 (x) + 6L4 (x) = x3 8x2 + 18x 9 ,
Convergenta interpol
arii polinomiale globale.
Expresiile restului RN 1 (x) obtinute la interpolarea polinomial a sugereaz a o
crestere a preciziei atunci cand num arul N de noduri creste. Spre exemplu,
n cazul diviziunilor egale, expresiile (1.26) si (1.28) indic a proportionalitatea
abaterii cu hN (h fiind pasul diviziunii) dar si cu alti factori cum ar fi derivata de
ordinul N . Interpolarea ar fi convergent a dac a atunci c and num arul de puncte
de interpolare creste indefinit N , restul scade oric at de mult RN 1
0. Se pune ntrebarea: este interpolarea polinomial a ntotdeauna convergent a?
Raspunsul la aceasta ntrebare este negativ. Inc
a din 1901, Runge a dat exemplul
functiei
Figura 1.2: Aproximarea functiei lui Runge f (x) printr-o linie poligonala s(x).
Forma polinomiala (1.37) satisface automat conditia p2,i (xi ) = yi prin modul
de scriere. Conditiile de racordare
conduc la urm
atoarele ecuatii pentru coeficientii ai
1 = 0, d1 = 2m1 , N = 0, dN = 2mN .
sau explicit
r
1
0 0 0 1 1 0 0
l2 1 0 0 ..
0
r2 . 0 0
.. ..
.. ..
0
A= l3 . . .
0 0 . N 2 0 .
. .. ..
.. 0 ... .. ..
. . 1 . . rN 1 N 1
0 0 lN 1 0 0 0 rN
(L R) m = L (R m) = d .
1. factorizarea A = L R
r1 2;
i=2:N
[li i /ri1 ; ri 2 li i1
z1 d1
i=2:N
[zi di li zi1
mN zN /rN
i = (N 1) : 1 : 1
[mi (zi i mi+1 )/ri
ceea ce conduce la
adic
a
unde f (x) este functia exacta, necunoscut a C (2) [a, b] ce este aproximat
a, de clas a
de interpolarea spline. Minimizarea integralei (1.53) prin impunerea conditiilor
naturale (1.51) conduce la cea mai neted a interpolare spline cubic a. In absenta
unor informatii precise asupra pantelor n capete m1 , mN , se recomand a folosirea
conditiilor naturale ce conduc de regul a la minizarea erorii de interpolare.
2. Folosita pentru reprezentarea unor curbe date (traiectorii ale unei scule,
profile aerodinamice, etc.), functia spline cubic a poate avea abateri n zonele
cu pante mari. De aceea, se recomand a verificari mai atente n vecin atatea
nodurilor cu pante mari, mi 5.
3. Restrictiile unei functii spline s(x) pe intervalele Ii nu trebuie s a fie
obligatoriu polinoame. Se pot racorda alte functii, sau polinoame cu alte functii
spre exemplu, cercuri cu polinoame. Aceste combinatii pot fi avantajoase n
cazul cand pantele pe noduri sunt mari.
4. Pentru interpolarea spline nu s-a dedus o expresie a erorii de aproxi-
mare, de o maniera directa ca la interpolarea polinomial a. S-a retinut doar
afirmatia ca, o functie continua poate fi aproximat a oric at de bine pe tot inter-
valul [x1 , xN ] atunci cand numarul de diviziuni creste, adic a interpolarea spline
este ntotdeauna convergent a. Deoarece derivata de ordinul m, s(m) , a unei
functii spline polinomiale este o functie treapt a (constant a pe portiuni), iar o
functie treapta aproximeaza oricat de bine o functie continu a pe interval c and
num arul de diviziuni creste, se poate da o evaluare a erorii n functie de abate-
rea maxima ntre derivatele f (m) (x) si s(m) (x), presupun and c a f (m) (x) exist a
si este continua
max |f (x) s(x)| (b a)m max f (m) (x) s(m) (x) /m! .
pentru diverse valori ale lui N unde {ui , i 1, 1000} este o diviziune echidistant a
fina a intervalului [5, 5]. Rezultatele sunt prezentate n figura (1.4). Se observ a
ca interpolarea este convergent a, eroarea relativa sc
az
and rapid cu cresterea lui N .
Pentru un num ar mic de puncte toate conditiile de cap
at dau rezultate comparabile. Pe
m asur
a ce diviziunea devine suficient de fin
a pentru a descrie precis variatiile functiei,
conditiile exacte dau eroarea minim a dupa cum era de asteptat, urmate de conditiile
naturale si apoi de cele de extrapolare a pantei. Se remarc a pierderea a 1,2 ordine de
precizie a aproxim arii n urma deriv
arii.
xj = j/2N, j 0, 2N 1 . (1.55)
2N
X 1 0, k 6= m
cos 2kxj cos 2mxj = N, k = m 6= 0, N (1.56)
2N, k = m = 0, N
j=0
2N 1 2N 1
X 0, k 6= m X
sin 2kxj sin 2mxj = ; cos 2kxj sin 2mxj = 0 ,
N, k = m
j=0 j=0
g(xj ) = f (xj ) yj , j 0, 2N 1 .
Se poate observa schimbarea ordinii de nsumare din relatia de mai sus ce per-
mite aplicarea (1.56) obtin
andu-se
2N
X 1 2N
X 1
g(xj ) sin(2mxj ) = yj sin(2mxj ) = bm N .
j=0 j=0
cu k 0, N , m 1, N 1.
In aplicatii, coeficientii ak , bk se evaluez
a mult mai economic dec at prin
calculul direct al sumelor de mai sus prin folosirea transform arii Fourier rapide
prezentate n 1.1.4. Se poate lesne observa din (1.58) c a vom avea toti ak = 0
pentru functii impare f (x) = f (x) si toti bm = 0 pentru functii pare f (x) =
f (x).
Aparitia unei oarecare asimetrii termenii n cos sunt mai numerosi dec at cei
n sin este legata de alegerea unui num ar par de 2N intervale n care se divide
perioada functiei. Dac a se aleg 2N + 1 intervale, forma functiei de interpolare
este
N
X
g(x) = 12 a0 + [ak cos(2kx) + bk sin(2kx)] ,
k=1
1.1. Aproximarea prin interpolare 19
cu k 0, N , m 1, N , xj = j/(2N + 1).
Convergenta interpol
arii trigonometrice.
Se pot determina exprimari ale erorii de interpolare n genul restului RN 1 (x)
de la interpolarea polinomiala si pentru interpolarea trigonometric a. Expresiile
obtinute sunt nsa sub o forma integral a greu utilizabil
a practic. Vom prefera
o discutie mai putin formala a erorii si convergentei procedeului. Dac a functia
f admite o dezvoltare n serie Fourier m arirea num arului de noduri conduce
la aproximatii din ce n ce mai bune. Intr-adev and expresia (1.57) la
ar, ridic
patrat membru cu membru, nsum and valorile pe noduri si tin
and seama de
relatiile de ortogonalitate (1.56), se obtine
N 1 2N 1
1 2 1 X 2 1 1 X 2
a0 + (ak + b2k ) + a2N = y (1.59)
4 2 4 2N j=0 j
k=1
relatie denumita egalitatea lui ParsevalR discret a. C and N creste, suma din
1
membrul drept se aproprie de integrala 0 y 2 dx. Dac a integrala este m arginita6
suma este de asemenea marginita. Ca urmare, seria p atratelor coeficientilor este
convergenta, ceea ce arata ca a2k , b2k devin din ce n ce mai mici c and N creste.
Interpolarea trigonometric a este asadar convergent a pentru functii f continue
sau cu un numar finit de discontinuit ati acestea fiind conditii suficiente pentru
a asigura existenta integralei anterioare. Stabilirea convergentei este important a
pentru validarea interpolarii trigonometrice. In aplicatii ns a mai apar si alte
aspecte ale comportarii erorii la interpolare. Vom considera doar dou a mai
importante: rapiditatea convergentei si efectul consider arii doar a unui num ar
finit de functii trigonometrice n dezvoltarea (1.57).
Fara a ncerca o definitie formal a, vom spune c a o interpolare trigonome-
tric
a este rapid convergenta daca num arul de termeni N necesar realiz arii unei
precizii impuse a aproximarii este mic. Intelesul cuv antului mic depinde
de aplicatie, dar un domeniu orientativ ar fi 2 N 128. Urm arirea fig. 1.5
sugereaza ca includerea mai multor termeni n polinomul Fourier (1.57) permite
descrierea unei functii cu variatii mai rapide pe intervalul [0, 1]. Fie x cea mai
mica distanta de pe abscisa pe care functia f are o variatie semnificativ a. Deo-
arece f are perioada 1, spunem ca = 1/x este frecventa variatiilor celor mai
rapide ale functiei. Pentru a descrie variatiile date de frecventa cea mai rapid a
a functiei f polinomul (1.57) trebuie s a contin
a un num ar de termeni N .
Acest rezultat este cunoscut sub numele de criteriul Nyquist ce rezult a dintr-
un rezultat mai general denumit teorema de esantionare Shannon. Observati c a
6
Intr-o formulare riguroas
a dac
a y = f (x) este p
atrat integrabil
a pe [0, 1], ceea ce se scrie
f L2 [0, 1].
20 1. Aproximarea funct
iilor de o variabila
coeficientii exacti k , k
X
f (x) = 12 0 + [k cos(2kx) + k sin(2kx)] . (1.60)
k=1
Ins
a sin 2(2pN + k)xj = sin 2kxj pentru xj = j/(2N ). Se obtine asadar
bm = m + m+2N + m+4N + . . . ,
x2 /a2 + y 2 /b2 = 1 .
cu [0, 2]. Functia r() are perioada 2. O aducem la perioada 1 prin transfor-
marea s = /2,
1/2
r(s) = ab a2 sin 2 2s + b2 cos 2 2s
.
Figura 1.7: Variatia erorii relative la interpolarea trigonometrica a unor elipse. Re-
zultatele pentru reprezentarea parametric
a sunt unite cu linii.
In reprezentarea parametric
a, elipsa este descris
a de x = a cos t, y = b sin t, astfel
nc
at obtinem
1/2
r(t) = a2 sin 2 t + b2 cos 2 t
cu t [0, 2]. Aducem functia la perioada 1 prin s = t/2 si avem o a doua reprezen-
tare
1/2
r(s) = a2 sin 2 2s + b2 cos 2 2s
Vom nota prin gN (s) polinomul trigonometric ce interpoleaz a r(s) n 2N puncte echi-
distant repartizate n intervalul [0, 1]. Evalu am calitatea interpol arii pentru diverse
valori ale lui N = 4, 8, . . . , 256 prin calculul erorii relative pe o diviziune mai deas a
{j = j/2048, j 0, 2048}
4N
X
N = |r(j ) gN (j )| / |r(j )| .
j=0
Presupunem c a a = 1 si vom studia comportarea erorii relative pentru mai multe valori
ale lui b, n cele doua reprezent ari adoptate.
Rezultatele sunt prezentate n fig. 1.7. In toate cazurile, interpolarea este conver-
genta: pe m asura ce N creste eroarea se aproprie de zero. Cea mai rapid a convergent a
se obtine pentru a/b = 1/2 deoarece functia ce descrie elipsa are variatii lente pe inter-
valul [0, 1]. Odat a cu scaderea raportului a/b, observ am ca este nevoie de un num ar
mai mare de termeni n polinomul trigonometric pentru a se obtine o precizie dat a.
Elipsa are variatii rapide n punctele (1, 0) si este nevoie de mai multi termeni pentru
a satisface criteriul Nyquist. In plus, este de asteptat ca aproximarea s a fie afectat
a si
de fenomenul Gibbs n zona punctelor (1, 0) variatiile functiilor sunt ntr-at at de
1.1. Aproximarea prin interpolare 23
rapide nc
at nesatisfacerea criteriului Nyquist le face s a apar a ca niste discontinuit
ati.
Se poate observa c a, pentru un acelasi raport a/b reprezentarea parametric a (puncte
unite cu linii n fig. 1.7) conduce la erori mai mici n toate cazurile studiate, arat and
importanta unei alegeri judicioase a reprezent arii.
Sa mai remarc am c a, o dat
a atins
a o precizie de circa 12 cifre, n cazul unei functii
r(s) netede, a/b = 1/2, cresterea lui N nu mai mbun at
ateste calitatea aproxim arii.
Calculele au fost efectuate n virgul a mobila cu o precizie de circa 11, 12 cifre semni-
ficative. Odat a atins acest prag, cresterea lui N produce efecte detrimentale deoarece
prin cresterea num arului de operatii aritmetice are loc o acumulare a erorilor de rotu-
njire. Dac a ntr-adevar este nevoie de o acuratete mai mare trebuie lucrat n precizie
sporita.
M 1
1 X ijk
Cj = e , j 1, M 2 . (1.66)
M
k=0
Trebuie mentionat c
a problema nu s-a ncheiat odat
a cu g
asirea coeficientilor
Cj pentru un M ales. Anume, mai trebuie verificat a atingerea preciziei dorite
prin considerarea a unor puncte intermediare ca, de exemplu,
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)
u(N ) = U (N ) .
u(N ) = U (N ) .
P
X 1 P
X 1
(P ) 2mk
vm + k (P ) 2mk
wm . (1.70)
m=0 m=0
v (P ) = V (P ) , w(P ) = W (P ) ,
unde s-a folosit identitatea k+P = k . Acest rezultat este cunoscut ca lema
lui Danielson si Lanczos. Evaluarea direct a a lui U (2P ) ar fi costat O(4P 2 )
operatii aritmetice. Acum avem de evaluat dou a transformate, V (P ) , W (P ) ce
fiecare necesita O(P 2 ) operatii pentru un total de O(2P 2 ) operatii. Reducerea
la jumatate a calculelor este benefic a, ns
a se poate castiga si mai mult dac
aN
este o putere a lui 2, N = 2q . In acest caz separarea pe indici pari si impari
poate continua pana c and se ajunge la transformarea unui vector de lungime
1 ce nu necesita nici o operatie aritmetic a deoarece se reduce la transformarea
de identitate, U (1) = u(1) . Singurele operatii artimetice ce mai r am an sunt
nmultirile cu k din (1.71). Calculul se poate vizualiza ca parcurgerea arborelui
cu q = log 2 N nivele din fig. 1.9. Pe fiecare nivel sunt necesare doar N operatii
aritmetice astfel ncat obtinem costul mentionat anterior de O(N log2 N ).
Separarea repetat a n indici pari si impari conduce la o alt a ordonare a
componentelor vectorului u(N ) . Exemplific am pentru N = 23 = 8. Vectorul
u(N ) are componente de indici de la 0 la 7. Procedeul de separare par-impar se
aplica de doua ori dup a cum este aratat n urm atoarea schem a
etapa 0: 0 1 2 3 4 5 6 7
etapa 1: 0 2 4 6 1 3 5 7
etapa 2: 0 4 2 6 1 5 3 7
Inmultirile cu diversele puteri ale lui trebuie s a le ncepem asupra vectorului
permutat {u0 , u4 , u2 , u6 , u1 , u5 , u3 , u7 }. Permutarea se poate construi ns
a foarte
usor daca scriem indicii initiali si finali n binar
etapa 0: 0002 0012 0102 0112 1002 1012 1102 1112
.
etapa 2: 0002 1002 0102 1102 0012 1012 0112 1112
Observati ca inversarea ordinei de citire a indicilor din ultima etapa corespunde
chiar la numerotarea natural a 0, 1, . . . , 7 anume: 0002 citit de la dreapta la
1.1. Aproximarea prin interpolare 27
st
anga este 0002 = 0, 1002 citit de la dreapta la st anga este 0012 = 1,. . . ,0112
citit de la dreapta la stanga este 1102 = 6, 1112 citit de la dreapta la st anga
este 1112 = 7. Rezultatul este valabil pentru orice N = 2q iar permutarea final a
a indicilor se zice n ordine bit-inversata. Putem da acum algoritmul TFR
attimp p N
c
j= 1 : N 2
j=0 : p : N 1
k invbit(j, q)
r0
daca k > j permut a(uj , uk )
k =0:t1
rad exp(semn 2i/N );
tmp uj+k
0 1
uj+k tmp + r uj+k+t
j = 1 : N/2
uj+k+t tmp r uj+k+t
j rad j1
r r+s
t 1; p 2; s N/2
t 2t; p 2p; s s/2 .
zm = y2m + iy2m+1 , m 0, N 1 .
Zk = Pk + iIk , N ck = Pk + Ik exp(ik/N ) .
ZN k = PN k + iIN k = Pk + iIk ZN
k = Pk iIk
si putem deduce expresiile Pk = (Zk + ZN k )/2, Ik = i(Zk ZN k )/2 astfel
ncat
1 i
ck = 2N (Zk + ZN k ) 2N (Zk ZN k ) exp(ik/N ), k 0, N . (1.72)
Pu (f ) = 2U (f )U (f ) ,
Figura 1.11: Spectrele de putere ale semnalului anterior pentru N = 256, 512, 1024.
N/2. Rezultatele sunt prezentate n fig. 1.11. Maximele locale sunt denumite picuri
si corespund la vibratiile predominante. Se poate observa c a la trecerea la o rata de
esantionare mai mare uneori apar noi picuri n domeniul frecventelor mari iar unele
picuri din domeniul frecventelor mici dispar. De asemenea, amplitudinile asociate unui
pic se modific a uneori. Alte picuri nu par afectate de cresterea ratei de esantionare.
Comportarea rezult a din fenomenul de mascare discutat n 1.1.3. De exemplu,
picurile , sunt stabile la trecerea de la spectrul 2 la 3. Rezult a ca pentru aceste
frecevente mici criteriul Nyquist este statisf acut si n plus nu are loc mascharea unor
frecvente mai nalte. Picul din spectrul 2, construit cu N = 512 dispare complet
ns a la trecerea la spectrul 3, construit cu N = 1024. In spectrul 2 picul era
fals, n sensul c
a nu reprezenta o vibratie real a cu frecventa f . De fapt, rata de
esantionare folosita era prea mic a astfel nc
at se nregistra contributia unei frecvente
mai nalte f ' 2f , frecvent
a a c arei contributie devine discernabil a atunci c
and se
dubleaz a rata de esantionare n spectrul 3. Intr-adev ar pentru a discerne frecventa
f = 350 Hz criteriul Nyquist indic a necesitatea a cel putin 700 puncte, conditie
realizata doar de m asurarea u(1024) . Exemplul arat a importanta studiilor de rezolutie
n aplicatii de aproximare spectral a, studii n care se urm areste stabilitatea spectrului
la modificarea ratelor de esantionare. In aplicatii practice, fenomenul de mascare se
elimin a prin folosirea unor filtre trece-jos cu pretul pierderii portiunii de frecvente
nalte a spectrului.
30 1. Aproximarea funct
iilor de o variabila
z = cos , = arccos z .
a. Dintre toate polinoamele monice de grad n fixat, Tn (z) are cea mai
Teorem
mica margine n valoare absolut
a pe intervalul [1, 1].
Considernd diferenta dn1 (z) a polinoamelor Tn (z) si pn (z), dn1 (z) Tn (z)
pn (z) vom obtine, evident, un polinom de gradul n 1. Din (1.76) rezult a
adica dn1 (z) are n schimb ari de semn pe (1, 1), deci polinomul de gradul
n 1, dn1 (z), ar avea n r
ad
acini, ceea ce este absurd. Rezulta c
a presupunerea
(1.75) nu este adevarata, deci oricare ar fi polinomul monic pn (z) avem
pn (z)| 21n .
sup | 2 (1.77)
z[1,1]
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.
Criteriul (1.80) este mai larg decat cel anterior (1.73) deoarece nu mai impunem
determinarea polinomului aproximant pN (x) astfel nc at sa realizam un minim
al erorii, ci doar ca eroarea sa devina mai mic a decat un prag dat e. De data
aceasta gradul polinomului nu se mai consider a fixat, ci caut
am polinomul de
gradul cel mai mic ce satisface conditia (1.80). Asemenea probleme apar tipic n
situatii n care dorim o aproximare cat mai economic a n operatii aritmetice12 .
Vom lua [1, 1] pentru intervalul din (1.80) si vom presupune c a functia f (x)
are o dezvoltare n serie de puteri
M
X
f (x) = bk xk , (1.81)
k=0
Deoarece |Tk (x)| 1, vom putea trunchia seria (1.82) la cel mai mic N pentru
care avem
M
X
|f (x) pN (x)| = |ak | < e .
k=N +1
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
ce realizeaz
a eroarea impus a dar cu 40% mai putine operatii aritmetice decat S10 .
Graficul erorii cos x p6 (x) prezentat n figura (1.14) confirm
a atingerea preciziei
impuse.
S/ai = 0, i 1, n. (1.85)
Sistemele (1.86) sau (1.88) se pot rezolva prin metodele din capitolul 5, de
rezolvare a sistemelor de ecuatii liniare. O observatie important a este legata de
faptul ca aceste sisteme pot ridica probleme legate de introducerea unor erori
mari n calculul numeric, mai ales c and diviziunile sunt egale14 . Functiile gj (x)
se pot alege din baza canonica
(1.88). Deseori, din informatii suplimentare, cunoastem forma cea mai adecvat a
a functiilor gj (x). Un exemplu este prezentat la sf arsitul sectiunii. Folosirea
unei combinatii liniare (1.84) pentru functia aproximant a g(x) este convenabil a
deoarece conduce la un sistem liniar de ecuatii pentru coeficientii ai . Se pot
adopta nsa si alte forme, cu complicatia posibilei aparitii a unui sistem neliniar
de ecuatii, mult mai dificil de rezolvat. Incheiem cu observatia c a nu s-a precizat
nca ce grad al polinomului ar conduce la cea mai mic a eroare, adic a la cea mai
mica valoare a lui S n (1.83). Un criteriu util pentru alegerea gradului este
minimizarea expresiei
= S/(N n)
U (1.90)
e = ap + b
k = cT exp(K/RT ) .
T k T k T k
K mol/cm3 K mol/cm3 K mol/cm3
2000 8.4765e12 2600 5.0189e12 3200 3.3146e12
2100 7.6895e12 2700 4.6544e12 3300 3.1169e12
2200 7.0071e12 2800 4.3282e12 3400 2.9364e12
2300 6.4118e12 2900 4.0351e12 3500 2.7711e12
2400 5.8892e12 3000 3.7708e12 3600 2.6194e12
2500 5.4280e12 3100 3.5317e12 3700 2.4799e12
ln k = ln c + ln T K/RT
si reobtinem o dependent
a liniar
a de parametrii c, , K. Se construieste suma
N
X
S= (ln c + ln Tj K/RTj ln kj )2 .
j=1
P P
N PN 2 N N
ln Tj ln c + ln Tj ln Tj /Tj K/R = ln k j ln T j
j=1 j=1 j=1 Pj=1
PN 1/Tj ln c + PN ln Tj /Tj PN 1/Tj2 K/R N
= ln kj /Tj
arui solutie este ln c = 44.97, c = 3.39 1019 mol/K2 /cm3 /s, = 2, K = 46000
a c
J/mol.
Exemplul 3. S a presupunem date m asur
atori fizice ale energiei de vibratie ale
unei molecule de O2 . Se cunoaste dependenta energiei de temperatur a
hv/kT
e= RT
exp(hv/kT ) 1
Se cere , frecventa fotonilor emisi la saltul ntre dou
a nivele energetice.
Rezolvare. In acest caz nu avem nici o posibilitate de a liniariza problema. Not
am
x = hv/k. Suma patratelor este
N 2
X x/Tj
S= RTj ej ,
j=1
exp(x/Tj ) 1
40 1. Aproximarea funct
iilor de o variabila
n1 2 3 4 5 6 7 8 9
S/(N n) 5.3E11 5.1E10 1.8E09 1.3E07 9.4E05 3.3E05 3.2E04 5.2E04
Se observa c
a cea mai mic
a valoare a sumei se obtine aproape de gradul polinomului
f , n = 8.
In egalitatea (1.91), 0 din membrul drept este vectorul nul al spatiului, diferit de
scalarul zero. Din context se poate ntelege ntotdeauna semnificatia lui 0. Daca
vectorii uk nu pot fi pusi n relatii de forma (1.91) dec at atunci c
and scalarii
ak sunt toti nuli, vectorii se vor numi liniar independenti. Num arul maxim
de vectori liniar independenti dintr-un spatiu vectorial se numeste dimensiunea
spatiului. Aceasta dimensiune poate fi finit a sau infinit
a.
O data stabilit cat de mare este un spatiu vectorial V, ne punem problema
cum putem sa descriem eficient un element oarecare u V. Instrumentul adec-
vat este notiunea de baza a unui spatiu vectorial ce este orice multime de vectori
liniar independenti n numar egal cu dimensiunea spatiului V. Orice alt element
al spatiului poate fi exprimat ca o combinatie liniar a a elementelor din baz a.
42 1. Aproximarea funct
iilor de o variabila
baze. Ne punem problema descrierii schimb arii pozitiei unui element din A n
B, traiectoria fiind paralela cu primul vector din baz a. In baza (a) descrierea
este complicata: se modifica ambele coordonate si n plus unit atile de m
asur
a
sunt diferite pe cele doua directii. In baza (b) deplasarea se descrie simplu. Din
geometrie, stim ca simplitatea provine din faptul c a baza (b) este ortonormat a.
Am dori ca si n cazul spatiilor vectoriale abstracte sa avem posibilitatea folosirii
unor baze n care deplasarile sa poat a fi descrise simplu. Pentru aceasta trebuie
s
a generalizam notiunea geometric a de ortogonalitate prin introducerea unei
functii care sa ne arate cat de aproape de a fi ortogonali se afl a doi vectori.
Functia cautata este denumita produs scalar. Vom nota produsul scalar a doi
vectori u, v prin (u, v). Definitia formal a a produsului scalar este precizat a de
proprietatile urmatoare, unde u, v, w V, a, b S:
1. (, ) : V V S;
2. (u, u) 0 si (u, u) = 0 u = 0;
3. (u, v) = (v, u) ;
Polinoame ortogonale.
Ortonormarea monoamelor {1, x, x2 , . . . } produce o baza {p0 (x), p1 (x), p2 (x), . . . }
ale carei elemente sunt evident polinoame. Aceste polinoame ortogonale au
multe aplicatii iar expresiile lor rezult
a din procedeul Gram-Schmidt ca fiind
p0 (x) = 1, p1 (x) = x 1 , (1.93)
pentru primele doua elemente, celelalte elemente ale bazei fiind definite de relatia
recursiva
pn (x) = (x n )pn1 (x) n pn2 (x) , n 2 . (1.94)
Coeficientii n , n sunt dependenti de produsul scalar ales fiind precizati de
relatiile
n = (xpn1 , pn1 )/(pn1 , pn1 ), n = (xpn1 , pn2 )/(pn2 , pn2 ) . (1.95)
Relatiile (1.93)-(1.95) se pot verifica usor prin inductie. Urm
arind relatiile de
mai sus se poate observa c a vom avea totdeauna un coeficient unitar al terme-
nului de grad maxim, adic a polinoamele obtinute vor fi sub forma lor monic a
(vezi 1.2.1). De regul a asupra formei monice se impune o conditie de standar-
dizare ce revine la nmultirea cu o constant a. Sa consider
am cazurile cele mai
des ntalnite.
a V = C (0) [1, 1] si se adopt
1. Polinoamele Legendre Pn (x). Se consider a
produsul scalar
Z 1
(u, v) = u(x)v(x)dx . (1.96)
1
n Pn Hn Ln
0 1 1 1
1 x 2x x
2 (1 + 3x2 )/2 2 + 4x2 (2 4x + x2 )/2
3 (3x + 5x3 )/2 12x + 8x3 (6 18x + 9x2 x3 )/6
4 (3 30x2 + 35x4 )/8 12 48x2 + 16x4 (24 96x + 72x2 16x3 + x4 )/24
1. Polinoamele Legendre discrete Pn (x; {xk }). Se consider a V = C (0) [1, 1],
a n acest interval 1 xk 1 si se adopt
nodurile se consider a produsul
scalar
N
X
(u, v) = u(xk )v(xk ) . (1.100)
k=1
a V = C (0) [0, )
3. Polinoamele Hermite discrete Hn (x; {xk }). Se consider
si se adopta produsul scalar
N
X
(u, v) = u(xk )v(xk ) exp(xk ) . (1.102)
k=1
1.4. Elemente de teoria aproxim
arii 47
a tot V = C (0) (, )
4. Polinoamele Laguerre discrete Ln (x; {xk }). Se consider
si se adopta produsul scalar
N
X
(u, v) = u(xk )v(xk ) exp(x2k ) . (1.103)
k=1
1. kk : V R+ ;
2. kuk = 0 u = 0;
N
!1/p
X p
kukp = |u(xk )| . (1.105)
k=1
n cazul continuu si
d(f, g) = kf gk . (1.111)
N
!1/p
X p
kf gkp = |f (xk ) g(xk )| = 0,
k=1
g(xk ) = yk , k 1, N ,
adic
a criteriul celor mai mici patrate (1.5).
Teoria generala ne furnizeaza cadrul de a pune anumite ntrebari peste care
am sarit n prezentarea elementar a anterioar
a. Exista o cea mai buna aproxi-
mare? Daca exista, carui spatiu vectorial apartine? Putem construi un sir de
50 1. Aproximarea funct
iilor de o variabila
Figura 1.18: Cea mai buna aproximare este ortogonala pe subspatiul aproximantei.
(f g, gk ) = 0, k 1, n . (1.112)
aplicatii, aceasta este situatia uzual a. Putem obtine aproximatii succesive, dar
nu, de regula, si limita exact
a a sirului de aproximatii. Lucr and n spatii Hilbert
vom avea un bun indiciu al convergentei, atunci c and aproximatiile succesive
devin apropriate ntre ele.
Spatiile Hilbert au multe alte propriet atile utile aplicatiilor numerice. Dou a
exemple ar fi: (1) teorema de reprezentare Frechet-Riesz ce ne asigur a ca rezul-
tatul aplicarii unei functionale f (e.g. integrala definit a) asupra unui element
u H este el nsusi exprimabil ca un produs scalar f (u) = (u, vf ), unde vf este
un element al spatiului care depinde de f ; (2) teoreme generale asupra propri-
etatilor operatorilor printre care se remarc a cele de descompunere spectral a.
Exemplu. Relu am exemplul 4 din 1.3, de data aceasta folosind ca baz a un set de
polinoame ortogonale definite pe multimea discret a {xk = k 1, k 1, N }, cu N = 15.
Functia aproximat a este polinomul f (x) = 40 + 10x + 5x2 + 3x3 + 2x4 + x5 + x6 . Cum
nu avem vreun motiv s a acord am vreunui nod o important a deosebit a lu
am ponderea
w = 1 si adoptam polinoamele Legendre discrete. Acestea sunt definite pe [1, 1] astfel
nc
at este nevoie sa introducem transformarea z = 2x/(N 1)1. Functia aproximant a
se scrie g(z) = n
P
j=0 aj Pj (z) cu n = 6. Conform relat iilor de recurent a (1.93)-(1.95)
primele 7 polinoame Legendre discrete sunt P0 (z) = 1, P1 (z) = z, P2 (z) = 21 8
+ z2,
P3 (z) = 245 z + z , P4 (z) = 12005 343 z + z , P5 (z) = 151263 z 441 z + z 5 ,
167 3 1296 331 2 4 44252 545 3
36000
P6 (z) = 1294139 + 2042
3773
z 2 115
77
z4 + z6.
Coeficientii ak rezult a imediat din (1.113)
"N # "N #
X X 2
aj = f (zk )Pj (zk ) / Pj (zk ) .
k=1 k=1
Efectu
and calculul n numere rationale a produselor scalare rezult
a coeficientii
75236936 1058398 18800 1868 269
a0 = 1764735
a1 = 84035
a2 = 2401
a3 = 441
a4 = 77
a5 = 1 a6 = 1
ce introdusi n combinatia liniara de mai sus dau exact functia f . Calculul n simpl
a
precizie furnizeaz a valorile coeficientilor aj
Capitolul 2
Derivarea si integrarea
numeric
a
df 1 df 1 dpn 1 dRn
y0 = = = + . (2.6)
dx h d h d h d
Prezenta pasului h la numitor n relatia (2.6) sugereaza tendinta cresterii erorii
la derivarea aproximativ a. Astfel, dac a eroarea la interpolare era de ordinul
n + 1, R = O(hn+1 ), eroarea la derivare este ordinul n, R0 = O(hn ), datorit a
mpartirii la h. De aceea, se iau o serie de precautiuni ca:
Consideram acum c
ateva cazuri particulare utile.
2.1. Derivarea numeric
a 55
Cazul n = 1.
Din relatiile (2.4)-(2.6) se obtine
1 h d
y0 = yi1 + [( 1)f 00 ()] . (2.7)
h 2 d
Pentru valorile = 0 si = 1, ce corespund la capetele intervalului (xi1 , xi )
se obtine
0 yi yi1 h
yi1 = f 00 (), (2.8)
h 2
yi yi1 h
yi0 = + f 00 () . (2.9)
h 2
Aproximatia (2.8) utilizeaza punctul xi ce se afl a la dreapta punctului xi1
n care se evalueaza derivata si se numeste, uzual, formul
a la dreapta. Analog
(2.9) se numeste formul
a la st
anga. Ambele formule au o eroare de ordinul nt
ai.
Spunem pe scurt ca sunt formule de ordinul I.
Cazul n = 2.
In acest caz, din (2.4)-(2.6), se obtine
1 2 1 2 h2 d
y0 = yi1 + yi1 + [( 1)( 2)f 000 ()] . (2.10)
h 2h 6 d
Pentru = 1, din (2.10) rezulta
yi+1 yi1 h2
yi0 = f 000 () , (2.11)
2h 6
n timp ce, pentru = 0, se deduce
2 yi1 h d2
y 00 = + [( 1)( 2)f 000 ()] . (2.13)
h2 6 d2
56 2. Derivarea si integrarea numerica
Pentru = 1, se obtine
2 yi1 h2 d h2 (4)
00 (4) yi+1 2yi + yi1
yi = f () = f () ,
h2 3 d =1 h2 12
(2.14)
eroarea fiind de ordinul doi. A doua egalitate (2.14) se obtine cu ajutorul unor
formule Taylor pentru yi1 , sau prin utilizarea unui polinom de gradul trei. Se
constata o precizie superioar
a, datorat a centr
arii punctului, fat
a de cazul = 0,
pentru care din (2.13) rezulta formula
2 yi1 2h2 d
00 000
yi1 = hf () + f (4) () (2.15)
h2 3 d =0
lg hCazul 1 2 3 4 5
-1 1.70226 1.78954 1.74590 0.91752 0.87277
-4 1.74513 1.74522 1.74517 0.87202 0.87239
-7 1.74517 1.74517 1.74517 0.00000 0.00000
-10 1.70985 1.70985 1.70985 7.3108 0.00000
unde C este o constant a. Putem construi regresia linear a (vezi Exemplul 1 din 1.3)
a valorilor erorii calculate n experimente numerice si sa verific
am obtinerea ordinului
de eroare. Trebuie s a elimin am din datele de intrare cele ce sunt afectate de pier-
derea catastrofal a de cifre semnificative. Pentru cazurile 1, 3 si 5 se obtin dreptele
0.364134 + 0.999353 lg h, 1.00836 + 2.05568 lg h, 1.72727 + 2.00789 lg h respectiv.
Aceste drepte sunt reprezentate cu linie groas a n fig. 2.1. Se confirm a si prin expe-
riment numeric ordinele O(h) pentru cazul 1, O(h2 ) pentru cazurile 3, 5, ce au fost
prezise teoretic.
f (x0 + h) = (E 0 + ) y0 , (2.18)
d 1
= ln(E 0 + ) . (2.21)
dx h
58 2. Derivarea si integrarea numerica
x1 y1
x1 y1 DD(x1 , x1 ) = y10
y2 y1 DD(x2 , x1 ) DD(x1 , x1 )
x2 y2 DD(x1 , x2 ) = DD(x1 , x1 , x2 ) =
x2 x1 x2 x1
DD(x2 , x2 ) DD(x2 , x1 )
x2 y2 DD(x2 , x2 ) = y20 DD(x1 , x2 , x2 ) =
x2 x1
.. .. .. .. ..
. . . . .
Exemplu. Vom calcula derivata functiei f (x) = sin x n x = 1/8 folosind forma
Newton a polinomul Hermite. Utilizam nodurile xj = (j 1)/4, j = 1, 2. Tabelul
diferentelor divizate este
xj yj
0 0
0 0
1 2
2 2 4(2 2 )
4 2
1 2 2
2 2( 4) 4(2 2 + 4) 64 2
4 2 2
Derivata cerut a este p02 (1/8) = 2.90188 foarte apropriat a de cea exact a f 0 (1/8) =
2.90245 si cu mult mai precis a decat estimarea centrat a de ordinul II (f (1/4)
f (0))/(1/4) = 2.82843. Graficul logaritmului erorii relative lg = lg |(p02 (x) f 0 (x)) /f 0 (x)|
de mai jos arat a prezicerea corect
a a 3 cifre semnificative n evaluarea derivatei pe in-
tervalul [0, 1/4].
2.1. Derivarea numeric
a 61
unde m este ordinul functiei spline (m = 3 pentru functia spline cubic a). Deo-
(m)
arece functia spline este derivabila de m 1 ori pe (a, b), am notat prin sm o
functie treapta, obtinuta prin derivarea restrictiilor functiei s pe subintervale.
Exemplul din paragraful 1.1.2 prezinta si comportarea numeric a a derivatelor.
Interpolare trigonometric
a.
Prin derivarea expresiei (1.57), se obtine
df dg
= y0
= =
dx dx
N
X 1
2 [kak sin(2kx) + kbk cos(2kx)] N aN sin 2N x . (2.44)
k=1
Rezultatul este o noua functie ce are coeficientii Fourier 2kak , 2kbk . Con-
sideratiile din 1.1.3 asupra convergentei interpol arii trigonometrice se aplic a
acum noii functii. In particular, vom urm ari daca ck = 2k(a2k + b2k )1/2 devin
suficient de mici pe masura ce N creste. O proprietate important a a apro-
ximarilor trigonometrice este c a, pentru functii netede, coeficientii ck scad mai
repede decat orice putere a lui h = 1/N ncep and de la un anumit rang k.
Prin analogie cu analiza de ordin de eroare de la formul arile anterioare, spu-
nem ca aproximarea trigonometric a a derivatei este de ordin infinit. Aceast a
62 2. Derivarea si integrarea numerica
Aproximarea mini-max.
Se deriveaza polinomul aproape mini-max (vezi 1.2.3). Gradul acestui polinom
se ia, n general, mai mic dec
at gradul polinomului de interpolare corespunz ator
unei diviziuni alese. Astfel de aproxim ari se utilizeaz
a c
and se doreste minimi-
zarea numarului de operatii aritmetice necesare estim arii derivatei.
Formula trapezelor.
Functia aproximanta este o linie poligonal a. Pe fiecare subinterval (xi , xi+1 ),
functia f (x) se nlocuieste cu aproximarea sa printr-un polinom de gradul ntai
plus un rest. Conform (1.25), polinomul se scrie
p1 (x) = yi + yi , (2.49)
x = xi + h,
h2 (b a)3 00
= (b a)f 00 () = f () . (2.55)
12 12(N 1)2
Expresia (2.55) sugereaza ca, pentru functii cu derivata de ordinul doi continua,
eroarea la integrare scade aproximativ cu p atratul num arului de intervale N 1.
Spunem astfel ca eroarea la formula trapezelor este de ordinul doi, = O(h2 ).
Se observa ca, fata de eroarea pe un subinterval i = O(h3 ), eroarea pe tot
intervalul este cu un ordin mai mic datorit a acumularii erorii din nsumare.
Se remarca, de asemenea, ca formula trapezelor este exact a pentru toate poli-
noamele de gradul 1, adica pentru f 1 .
Formulele Simpson.
Urmarim obtinerea unor formule mai precise pe subintervalele de calcul. Din
procedeul general, observam ca acest deziderat se poate realiza prin folosirea
unor polinoame de interpolare de grad mai mare pe subintervale. Deoarece,
pentru polinoame de grad mai mare de unu, avem nevoie de mai mult de dou a
noduri, vom grupa convenabil subintervalele (xi , xi+1 ). Din punctul de vedere
al aproximarii functiei f (x) pe tot intervalul de calcul [a, b] procedeul revine la
folosirea unei interpolari spline cu deficient
a, ale c
arei restrictii pe subintervale
sunt polinoame.
Formula Simpson 1/3. Incepem cu polinoame de gradul doi pe subinterval.
Avem nevoie de trei noduri si ca atare vom obtine o formul a de integrare pe
(xi1 , xi+1 ) 2 . Polinomul aproximant este
3h
I= (y1 + 3y2 + 3y2 + 2y4 + . . . + 2y3N 2 + 3y3N 1 + 3y3N + y3N +1 ) ,
8
(2.61)
La acelasi interval (a, b) si acelasi N , eroarea este mai mic a decat n cazul
formulei Simpson 1/3 datorita factorului numeric de la numitor. Cum ns ao
precizie sporita la integrare este obtinut a ndeosebi prin marirea num arului de
subintervale, observam ca marirea gradului polinomului de interpolare p3 (x) nu
conduce la un ordin al erorii mai mare, formula 3/8 fiind tot de ordinul IV
ca si formula 1/3. Datorita num arului mai mic de evalu ari de functie cerute
este preferabila folosirea formulei Simpson 1/3 celei 3/8.
Informativ, dam si formula obtinuta prin interpolare cu un polinom de gradul
4, pe intervalul (xi2 , xi+2 )
2h
Ii = (7yi2 + 32yi1 + 12yi + 32yi+1 + 7yi+2 ) , (2.63)
45
cu eroarea
Z b N
f (x)dx
X
I= = Ai yi , (2.65)
a i=1
68 2. Derivarea si integrarea numerica
In final, sa adaugam, c
a n numeroase situatii practice, este convenabil s a se
evidentieze o functie pondere w(x) n operatiile de integrare. Se generalizeaz a
astfel operatia de medie ponderat a din aritmetic a. Utiliz
and (2.67) avem
Z b Z b "N N
# N
X f (N ) () Y X
w(x)f (x)dx = w(x) Li (x)yi + (x xi ) dx = Ai yi + ,
a a i=1
N ! i=1 i=1
b b N
f (N ) () Y
Z Z
Ai = w(x)Li (x)dx, = w(x) (x xi ) dx, (a, b).
a a N ! i=1
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
In acest caz, intervalul de integrare a fost (xi1 , xi+1 ), dar termenul yi+1 s-a
redus, astfel ncat formula (2.71) nu contine nici una din valorile de la capetele
intervalului. Observam ca se obtine acelasi ordin al erorii O(h3 ) ca la
formula trapezelor (2.53), folosind ns
a o singura evaluare a functiei fat
a de dou
a
n (2.53). Factorul numeric din expresia erorii de mai sus este ns a mai mare
decat cel din (2.55). Ca atare, avantajul de calcul obtinut poate fi nesemnificativ
n practica.
Pentru N = 6 si x (xi1 , xi+3 ) se obtine o formul a cu acelasi ordin de
eroare ca formula Simpson
4h 14h5 (4)
Ii = (2yi yi+1 + 2yi+2 ), i = f (i ) . (2.72)
3 45
Coeficientul numeric din formula erorii este iar asi mai mare dec
at cel din (2.58)
si numarul de evaluari de functie este acelasi. Ca atare, nu se obtine vreun
avantaj de calcul.
unde w(x) este o functie pondere pozitiva, iar coeficientii Ai sunt alesi astfel
ncat formula este exact
a pentru toate polinomale de grad p ana n N 1.
Teorema. Daca abscisele xi , din (2.73) se aleg ca fiind zerourile unui polinom
q(x) de gradul N ce satisface relatia de ortogonalitate
Z b
w(x)p(x)q(x)dx = 0 (2.74)
a
b b b N
f (2N ) ((x))
Z Z Z Y
w(x)f (x)dx w(x)p2N 1 (x)dx = w(x) (x xi )2 dx .
a a a i=1
(2N )!
(2.77)
Daca f C 2N [a, b], atunci f (2N ) () este marginita. Produsul (q, q) se poate
evalua folosind relatiile de recurenta (1.94) si este de asemenea m arginit. In
plus, factorul (q, q)/(2N )! scade rapid cu cresterea lui N . Sa consider
am acum
cele mai des ntalnite cazuri.
Formule Gauss-Legendre.
Mai ntai luam ponderea w(x) = 1, adic a vom considera integrala obisnuit
a.
Intervalul canonic uzual este [1, 1]. Orice alt interval de integrare [a, b] poate
fi usor transformat n [1, 1] prin substitutia z = 2(x a)/(b a) 1
b +1
ba ba
Z Z
b+a
f (x)dx = F (z)dz, F (z) f z+ . (2.83)
a 2 1 2 2
72 2. Derivarea si integrarea numerica
b N
ba X
Z
f (x)dx
= Ai f (xi ) , (2.86)
a 2 i=1
Formule Gauss-Ceb
asev.
Consideram acum ponderea w(z) = (1 z 2 )1/2 pe intervalul [1, 1]. Se poate
observa ca functia pondere prezint ati n 1. Utilitatea practic
a singularit a a
unei astfel de ponderi este integrarea numeric a a functiilor ce prezint
a acelasi
gen de singularitate integrabil
a n capetele domeniului de integrare. Fie f (z) o
2.2. Integrarea numeric
a 73
unde F (z) este acum o functie continu a. Cea de-a doua integral a se poate
evalua prin folosirea formulelor Gauss-Ceb asev. Avantajul unui astfel de pro-
cedeu consta n izolarea comport arii singulare din capete n functia pondere.
Radacinile si ponderile sunt (vezi si 1.2.1)
zi = cos [(2i 1)/2N ] , Ai = /N, i = 1, n . (2.90)
Integrala pe [1, 1] se evalueaza ca
Z +1 N
F (z) X 2F (2N ) ()
dz = F (zi ) + N , (1, 1) (2.91)
1 1 z2 N i=1 2 (2N )!
unde ultimul termen este eroarea la integrare. Deoarece toate ponderile Ai de la
formulele Gauss-Cebasev au aceeasi valoare, aceste formule necesita un numar de
operatii mai mic pentru atingerea unui anumit ordin de precizie, n comparatie
cu formulele Gauss-Legendre. De aceea, n situatii precum efectuarea unui mare
numar de integrale din interiorul unei bucle, se prefer a utilizarea unei formule
Gauss-Cebasev.
Formule Gauss-Laguerre.
Un alt gen de comportare singular a apare la integrarea pe un interval semi-
infinit. Ponderea adecvata este n acest caz w(x) = exp(x) si familia de
polinoame ortogonale indusa de aceast a functie pondere este cea a polinoamelor
Laguerre din 1.4.2. Formula de calcul este n acest caz
Z N
X (N !)2 (2N )
ex f (x) dx = Ai f (xi ) + f (), (0, ) (2.92)
0 i=1
(2N )!
cu radacinile si ponderile din tabelul 2.2.
74 2. Derivarea si integrarea numerica
Formule Gauss-Hermite.
In fine, pentru domeniile de integrare infinite se poate folosi ponderea w(x) =
exp(x2 ) si polinoamele Hermite asociate. Formula de integrare numeric a este
Z N
2 X (N !) (2N )
ex f (x) dx = Ai f (xi ) + f (), (, ) (2.93)
i=1
2N (2N )!
unde k2 (a2 b2 )/b2 iar ultima egalitate s-a obtinut observ and ca functia de sub
integral
a este par a. Integralele de tipul de mai sus se numesc integrale eliptice si
formeaz a un capitol important al analizei matematice. Se observ a c
a am obtinut o
integral
a de forma
b 1 f (z)
Z
b
L= dz = I , (2.96)
2 1 1 z 2 2
n care apare ponderea Ceb asev w(z) = 1/ 1 z 2 . Pentru evaluarea integralei folosim
formula (2.91) cu coeficientii din (2.90). Pentru a = 5, b = 4 rezult
a k = 3/4, iar sirul
de aproximatii succesive ale integralei ce se obtine m arind ordinul formulei Gauss-
Cebasev utilizate este
Ordin 2 3 4 5 6 7
(2.97)
I 3.556041 3.544605 3.545250 3.545205 3.545209 3.545208
= C f (k) () hm , (2.98)
unde C este o constant a. Sunt foarte rare nsa aplicatiile n care derivata este
cunoscuta. Dupa cum s-a mentionat, partea important a a expresiei (2.98) este
dependenta de pasul h. Intrebarea ce apare totdeauna ntr-o aplicatie este: cum
se poate stabili pasul h necesar atingerii unei precizii impuse ? Vom considera
acum cateva tehnici ce permit determinarea preciziei de integrare. O tr as
atura
importanta a tehnicilor considerate este c
a ele pot fi aplicate mpreun a cu oricare
dintre formulele de integrare considerate mai sus.
3 Datorit
a operatiilor succesive de njum
at
atire este preferabil
a nceperii numerot
arii nodu-
rilor de la 0.
2.2. Integrarea numeric
a 77
M 1, N 2, h (b a)/2
Spar h(f (a) + f (b))/3, Simpar 4hf (a + h)/3
S1 Spar + Simpar
78 2. Derivarea si integrarea numerica
repet
a
N 2N, M M + 1, doih h, h h/2
Spar Spar /2 + Simpar /4
x a + h, Simpar 0
k=1:2:N
(2.105)
Simpar Simpar + f (x)
x x + doih
Simpar 4hSimpar /3
SM Spar + Simpar
pana cand |SM SM 1 | |SM | + S sau M > Mmax .
Conditia de oprire a iteratiei este cea de atingere a unei erori relative impuse
|(SM SM 1 )/SM | , (2.106)
Extrapolarea Richardson.
Sunt multe situatii n care evaluarea functiei f este costisitoare si este de dorit
obtinerea unei precizii sporite cu un num ar minim de evalu ari ale functiei. Vom
considera acum un procedeu de mbun at
atire a aproximatiilor ce se bazeaz a pe
cunoasterea formei erorii de integrare (2.98). Consider am mai nt ai aproximarea
prin formula trapezelor. Valoarea exact a a integralei este
I = T (h) + Cf (2) (1 )h2 . (2.107)
Injumatatind pasul avem
cu 1 6= 2 n general. Dac
a se poate presupune ns a f (2) (1 )
a c = f (2) (2 )5 se
(2)
poate elimina Cf (1 ) din cele dou a ecuatii de mai sus si obtine
I
= T (h/2) + [T (h/2) T (h)] /3 . (2.109)
Tipic, noua aproximare este de un ordin de precizie mai ridicat
I = T (h/2) + [T (h/2) T (h)] /3 + O(hk ) , (2.110)
cu k > 2. Acelasi procedeu aplicat pentru formula Simpson, la care avem
I = S(h) + Cf (4) ()h4 , (2.111)
conduce la
I = S(h/2) + [S(h/2) S(h)] /15 + O(hk ), k > 4. (2.112)
4 este denumit coeficient de siguranta si permite oprirea iteratiilor si c
and SM = 0.
S
Uzual se ia S = si conditia de oprire a iteratiilor se scrie |SM SM 1 | (1 + |SM |).
5 Presupunerea f (2) ( ) f (2) ( ) implica fie ca 1 nu difer
a de 2 fie ca f (2) (x) nu are
1 = 2
variatii importante pe intervalul considerat.
2.2. Integrarea numeric
a 79
Algoritmul Romberg.
Punctul slab al tehnicii de mai sus este presupunerea f (2) (1 ) = f (2) (2 ). Exist
a
(2m)
a o cale de a justifica acest pas pentru functii netede, f C
ns [a, b]. Punctul
de pornire l constituie formula Euler-MacLaurin6
Z 1 m1
F (0) + F (1) X h i
F (t) dt = + A2k F (2k1) (0) F (2k1) (1) A2m F (2m) (0 ),
0 2
k=1
Prima suma este chiar aproximarea prin formula trapezelor T (h), astfel nc at
avem
Z b
I= f (x) dx = T (h) + a2 h2 + a4 h4 + . . . + a2m h2m f (2m) () . (2.113)
a
Calculul se organizeaz
a convenabil ntr-un tabel
R(0, 0)
R(1, 0) R(1, 1)
R(2, 0) R(2, 1) R(2, 2) (2.116)
.. .. .. ..
. . . .
R(M, 0) R(M, 1) R(M, 2) R(M, M )
ce se parcurge n sensul umplerii triunghiurilor inferioare: R(0, 0), R(1, 0), R(1, 1),
R(2, 0), R(2, 1), R(2, 2), . . . . Noi evalu
ari ale functiei f sunt necesare doar pen-
tru prima coloana ce contine R(0, 0), R(1, 0), . . . . Algoritmul este
n 0; h b a; N 1
R(0, 0) h(f (a) + f (b))/2
repet
a
n n + 1; N 2N ; doih h; h h/2
R(n, 0) = 0; x a + h
k=1:2:N
R(n, 0) R(n, 0) + f (x)
x x + doih
R(n, 0) R(n 1, 0)/2 + h R(n, 0)
AtinsPrecizie f als; m 0; putere4 1
repeta
putere4 4 putere4; m m + 1
dif R(n, m 1) R(n 1, m 1)
R(n, m) R(n, m 1) + dif / (putere4 1)
AtinsPrecizie |R(n, m) R(n, m 1)| (1 + |R(n, m 1)|)
pana cand m > n sau AtinsPrecizie
pana cand AtinsPrecizie sau n > nmax .
Partea cea mai sensibila a algoritmului este stabilirea unei conditii de oprire.
Cea de mai sus este simpl a dar functioneaza bine doar pentru functii netede.
In aplicatii ale procedeului trebuie atent esantionat a functia de sub integral a
pentru a determina prezenta unor singularit ati sau zone de variatii rapide ce ar
mpiedica ameliorarea aproximatiilor prin extrapolarea Richardson.
Integrarea adaptiv
a.
Pe langa atingerea unei precizii impuse, n practic a, se doreste atingerea acestei
precizii cu un numar minim de evalu ari ale functiei f. Algoritmii considerati
pana acum prezinta dezavantajul c a realizeaza o diviziune a ntregului interval
de integrare. Ori, este adesea cazul c a subdivizarea este necesar a numai pe zone
restranse, de variatie mai rapida a functiei f (fig. 2.3). Strategia adecvat a este
de verificare a ndeplinirii unei conditii de eroare pe fiecare subinterval n parte
si de subdivizare numai a acelor subintervale pe care aceast a conditie nu este
ndeplinita.
2.2. Integrarea numeric
a 81
P (F, a, b, ya , yb , )
Iab F (a, b, ya , yb )
c (a + b)/2, yc f (c)
Iac F (a, c, ya , yc ), Icb F (c, b, yc , yb )
Inou Iac + Icb (2.117)
daca |Inou Iab | (1 + |Inou |) atunci P Inou
altfel P P (F, a, c, ya , yc , ) + P (F, c, b, yc , yb , )
F (a, b, ya , yb )
h (b a)/2, ym f (a + h)
, (2.118)
F h (ya + 4ym + yb )/3
F (a, b, ya , yb )
p p
z1 = 3/5, z2 = 0, z3 = 3/5
A1 = 5/9, A2 = 8/9, A3 = 5/9
m (b a)/2, n (a + b)/2
j=1:3 . (2.119)
xj = m zj + n
F m (A1 f (x1 ) + A2 f (x2 ) + A3 f (x3 ))
cu 2049 de apeluri ale functiei f pentru formula trapezelor si 1025 pentru formula
Simpson pan
a la atingerea erorii impuse.
Aplic
am acum extrapolarea Richardson asupra rezultatelor de la metoda trapezelor
(metoda Romberg). Se obtine tabelul de mai jos.
nm 0 1 2 3 4
0 5.667271
1 4.383564 3.955662
(2.122)
2 12.101037 14.673528 15.388053
3 26.156360 30.841468 31.919330 32.181731
4 30.614030 32.099919 32.183816 32.188014 32.188039
unde prin GLn s-a notat formula Gauss-Legendre de ordinul n. Procedeul adap-
tiv determin a n general corect cele 6 cifre semnificative cerute. Exceptie face doar
metoda trapezelor. Nesatisfacerea preciziei n acest caz este rezultatul conditiei de
oprire a iteratiilor. S-a presupus necunoscut a valoarea exact a si s-au comparat dou a
aproximatii succesive pentru a se estima eroarea. In termenii din capitolul 1 s-a aplicat
criteriul de convergent a pentru siruri Cauchy. Criteriul este ns a strict valabil doar
and n . Exemplul de aici ne arat
c a pericolul identific arii aproprierii dintre dou a
aproximatii cu aproprierea aproximatiilor de solutia exact a. Pentru a preveni o esti-
mare eronat a a preciziei cu care s-a determinat un rezultat trebuie impus a o conditie
de eroare mai strict a decat cea dorit a efectiv n rezultatul final. Ref ac
and calculul cu
= 107 se obtine I = 45.5407 pentru metoda trapezelor cu 1801 evalu ari ale functiei
f.
Num arul de evalu ari de functie scade cu cresterea ordinului de integrare. C astigul
devine din ce n ce mai mic ns a. Diferenta de num ar de evaluari ntre Simpson 1/3 si
GLII ce sunt procedee cu comport ari comparabile ale erorii provine de la posibilitatea
reutilizarii nodurilor n formula Simpson. La formulele Gauss-Legendre modificarea
intervalului conduce si la modificarea pozitiei nodurilor.
Prin comparatie cu regula recursiv a Simpson se observ a reducerea semnificativ aa
num arului de evalu ari ale functiei f n cazul procedurii adaptive ce utilizeaz a formula
Simpson 1/3. Nodurile folosite pentru atingerea unei erori relative de = 103 sunt
reprezentate n fig. 2.3. Se observ a ndesirea nodurilor n zonele de variatie rapid a
a functiei. Pentru obtinerea aceleasi precizii regula recursiv a Simpson mparte tot
intervalul cu aceesi finete rezult and multe evalu ari ale functiei inutile, n zonele de
variatie lenta.
Exemplul 2. Fie acum integrala
Z 10
1 1
I= f (x)dx, f (x) = + (2.124)
0 (x 1)2 +1 (x 3) 2 +4
nm 0 1 2 3 4 5
0 3.039931
1 2.439083 2.238800
2 2.737904 2.837511 2.877425
3 3.326170 3.522259 3.567908 3.578868
4 3.365313 3.378361 3.368768 3.365607 3.364771
5 3.378763 3.383246 3.383572 3.383807 3.383878 3.383897
6 3.382077 3.383182 3.383178 3.383172 3.383169
84 2. Derivarea si integrarea numerica
Valoarea la care s-a ndeplinit conditia de eroare este I = 3.38317 dup a 65 de evalu ari
ale functiei f. Functia fiind neted
a extrapolarea Richardson functioneaz a corect obtin
andu-
se si un efort de calcul mult inferior celor 1025 de evaluari de functie necesare atingerii
aceleasi precizii prin regula trapezelor recursiv a (de 16 ori mai putine calcule!).
85
Capitolul 3
Rezolvarea ecuatiilor
neliniare
c = (a + b)/2 . (3.5)
Se poate observa utilizarea a unui cumul de trei conditii de oprire: dep asirea
numarului maxim de iteratii, restrangerea intervalului sub un prag ales , sau
obtinerea unei valori a functiei mai mici dec at numarul mic . In algoritm
valoarea c este actualizata prin ad
agarea unei mici corectii e, spre deosebire de
transcrierea directa a formulei (3.5). Aceasta conduce tipic la un control mai
bun al erorilor numerice pe parcursul iteratiilor.
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
m < 1, (3.13)
|xn+1 xn | . (3.14)
T
inand, mai departe cont de (vezi si 3.10)
rezulta ca distanta la r
ad
acina ultimei valori calculate, xn+1 satisface inegalita-
tea
In consecinta, dac
a panta m este foarte apropiat a de unitate, distanta la
radacina poate fi de alt ordin de marime dec at ales. In particular, daca nu
s-a verificat conditia de existent
a a r
adacinii, s-ar putea ca aceasta s a nici nu
existe (fig. 3.1). De aceea, n programul de calcul, se recomand a testarea valorii
|f 0 (x)|.
3.2. Procedee iterative 89
Figura 3.1: (a) Exemplu de convergenta a iteratiei simple. (b) Exemplu de divergenta
a iteratiei simple.
= 1/ [1 f 0 (k )] (3.23)
ale carei conditii de convergent a le vom preciza mai jos. Din punct de ve-
dere geometric, procedeul iterativ (3.24) corespunde apropierii de r adacin
a prin
punctele de intersectie ale tangentelor duse la curba F (x) n punctele (xk , F (xk ))
(fig. 3.2). Altfel spus, urm atoarea aproximatie a r adacinii xk+1 este data de
radacina unei liniariz ari a functiei F (x). Aceeasi idee, de aproximare local a
liniara, rezulta si pe cale analitic
a din formula lui Taylor
F (xk ) (xk )2 00
= xk 0
F (k ) . (3.28)
F (xk ) 2F 0 (xk )
x0 = (a + b)/2 . (3.33)
F 0 (xk )
= [F (xk ) F (xk1 )] / (xk xk1 ) (3.35)
ca mparte intervalul [a, b] n segmente proportionale, dintre care cel mai mic
contine radacina (fig. 3.3).
In vederea analizei convergentei metodei notam Fk = F (xk ) si ek = xk ,
eroarea n iteratia k. Avem
(xk xk1 ) Fk Fk ek1 Fk1 ek
ek+1 = xk+1 = xk = . (3.36)
Fk Fk1 Fk Fk1
conduce la
ek+1
= [F 00 ()/2F 0 ()] ek ek1 , (3.40)
p 1/p
Avem |ek | = A |ek1 | de unde |ek1 | = A1 |ek | . Inlocuind n (3.40) vom
obtine
1 p + 1/p = 0 (3.43)
ceea conduce la p = (1 + 5)/2 = 1.62, ordinul de convergent a al metodei
secantei. Valoarea obtinut a ar indica o convergent a mai lent
a decat metoda
Newton-Raphson. Ins a, n fiecare iteratie metoda secantei efectueaz a o singura
evaluare a functiei F . Pentru dou a iteratii ale metodei secantei (pentru a avea
acelasi efort de calcul ca si metoda Newton-Raphson), ordinul de convergent a ar
fi p2
= 2.62, metoda secantei fiind mai rapida dec
a t metoda Newton-Raphson.
3.2. Procedee iterative 93
Figura 3.3: (a) Metoda secantei restrange intervalul pe care se afla radacina la (x2 , x1 ),
mai mic dec at intervalul (c, b) furnizat de metoda njum
at
atirii. (b) Metoda parabo-
lelor tangente restr ange rapid, din ambele capete, intervalul pe care se afl a rad
acina
de la (a0 , b0 ) la (a1 , b1 ).
F (x)
= F (xk ) + (x xk )F 0 (xk ) + (x xk )2 F 00 (k )/2 . (3.44)
pi (x) = Ai x2 + Bi x + Ci . (3.45)
k = 0.1 secant
a Newton = 0.5 secant
a Newton
0 -0.240625 -0.240625 -0.240625 0.465625 0.465625 0.465625
1 -0.239014 -0.268750 -0.237501 0.480625 0.437500 0.491765
2 -0.238236 -0.238841 -0.237517 0.487271 0.493294 0.493235
3 -0.237862 -0.237449 0.490374 0.493245 0.493239
4 -0.237682 -0.237517 0.491855 0.493239
5 -0.237596 0.492568
6 -0.237555 0.492913
=1 secant
a Newton
1.765625 1.765625 1.765625
1.768505 1.772176 1.772266
1.770134 1.772250 1.772250
1.771055 1.772250
1.771869
1.772228
1.772248
Se observ
a convergenta mult mai rapid
a a metodelor Newton si secant a fat
a de iteratia
simpla. Metoda Newton converge n general mai repede, ns a metoda secantei reali-
zeaz
a num arul minim de evalu
ari de functie p
an
a la atingerea preciziei impuse.
Exemplu 2. S a se determine r
adacina ecuatiei
F (x) = ex cos x = 0
Se observ
a convergenta mai rapida c
atre solutie a metodei parabolelor tangente pe
acest exemplu.
3.3 Determinarea r
ad
acinilor polinoamelor
Metodele prezentate anterior permit determinarea r adacinilor unei functii F (x)
oarecare. Daca functia F (x) are o form a particulara se pot elabora algoritmi
mai performanti ce exploateaz a acest fapt. Spre exemplu, metodele anterioare
necesita o aproximare initial
a a unei r
ad
acini si nu pot garanta obtinerea tuturor
radacinilor functiei F (x). Dac
a F (x) este o functie polinomial a cu coeficienti
reali se pot elabora metode care permit determinarea tuturor r adacinilor far
aa
fi nevoie de furnizarea unor aproximatii initiale.
F
ac
and apoi produsul
n
Y
(1)n Pn (x)Pn (x) = a20 (x2 x2j ) , (3.60)
j=1
unde s-a facut conventia ca termenii de indice j + k > n sau de indice j i < 0
sunt considerati nuli.
Gasirea radacinilor n metoda Lobacevschi-Graeffe se bazeaz a pe interpre-
(s)
tarea semnului si valorilor coeficientilor Aj n diverse etape s. Pentru a ar
ata
cum se procedeaza, vom considera trei cazuri, discutate mai jos.
Cazul r
ad
acinilor reale si distincte.
S
a presupunem ca toate radacinile xj , j = 1, n, ale polinomului Pn (x) sunt
distincte. Radacinile vor fi ordonate dup
a indici astfel, n ordinea descresc
atoare
a modulelor,
|x1 | > |x2 | > . . . > |xn | . (3.64)
98 3. Rezolvarea ecuat
iilor neliniare
(s) (s)
xm m m m m m
1 x2 + x1 x3 + . . . + xn1 xn = A2 /A0 (3.66)
(s) (s)
xm m m m m m m m m
1 x2 x3 + x1 x2 x4 + . . . + xn2 xn1 xn = A3 /A0 (3.67)
(s)
xm m m (s)
1 x2 . . . xn = An /A0 (3.68)
Tinand cont de inegalit atile (3.64) rezult a, la un anumit m, termenul xm
a c 1 va
deveni preponderent n relatia (3.65); la fel se va ntmpla cu termenul xm m
1 x2
n relatia (3.66) si asa mai departe. In consecint a, pentru m suficient de mare,
sistemul (3.65)-(3.68) se aproximeaz a prin cantitati care reprezint
a p
atrate per-
fecte
xm
(s) (s)
1 = A /A
1 0 (3.69)
m (s) (s)
xm
1 x2 = A2 /A0 (3.70)
m (s) (s)
xm m
1 x2 . . . xn = An /A0 , (3.71)
de unde se obtin imediat modulele r
adacinilor
1/m
(s) (s)
xj = Aj /Aj1 , j = 1, n . (3.72)
Cazul r
ad
acinilor reale, multiple n modul.
Putem trata si cazul n care polinomul Pn (x) are mai multe r
ad
acini reale, de
acelasi modul. Sa presupunem
|x1 | = |x2 | = . . . = |xM | > |xM +1 | > |xM +1 | > . . . > |xn | , (3.74)
adic
a cea mai mare radacina n modul apare de M ori. Atunci partea prepon-
derenta a primei relatii Vieta (3.65) este
m (s) (s)
xm m m
1 + x2 + . . . + xM = M x1 = A1 /A0 , (3.75)
xm (s) (s)
1 = A1 /A0 /M .
a fie aproape de M , r1
(s) (s)
Ca atare, raportul r1 ar trebui s = M . Deci, c and
un raport rj tinde catre un numar ntreg M , atunci s-a produs separarea unei
r
ad
acini M -multiple n modul. Calculul radacinii se efectueaza folosind relatia
Vieta M
h i1/mM
(s) (s)
x1 = AM /A0 (3.77)
Cazul r
ad
acinilor complexe.
Sa presupunem acum c
a x1 , x2 sunt r
ad
acini complex conjugate
Vom scrie
x1 = ei , x2 = ei (3.81)
2m
(s) (s)
= A2 /A0 . (3.83)
Modulul se determin
a analog determin
arii unei r
ad
acini reale, 2-multipl
a n
modul
h i 1
(s) (s) 2m
= A2 /A0 . (3.84)
m/2
(s1) (s1)
= A2 /A0 ,
m
(s) (s)
= A2 /A0 .
Ca atare, raportul r2
(s)
ar trebui s
a fie aproape de unu, r2
(s)
= 1. Pe de alt
a
parte, raportul
h i2
(s) (s1) (s)
r1 = A1 /A1 (3.85)
Regulile de determinare a r
ad
acinilor.
Sintetiz
and rezultatele discutiilor de mai sus vom stabili urm atoarele concluzii.
1. Modulele radacinilor, reale sau complexe, sunt date de rapoartele coefi-
(s)
cientilor Aj , j = 1, n 1 care reprezinta p
atrate perfecte, n ordinea indicilor.
(s) (s)
Coeficientii A0 si An sunt ntodeauna p
atrate perfecte.
(s)
2. Verificarea ca un anumit Aj este un p atrat perfect se stabileste prin
(s) (s)
raportul rj dintre valorile coeficientului Aj n etape succesive, care tinde
c
atre unitate,
h i2
(s) (s1) (s)
rj = A1 /A1 1 (3.86)
c
and patratul perfect se realizeaz
a.
(s)
3. Daca rapoartele rj care tind c atre unitate au indici consecutivi, atunci
se obtin radacini simple.
(s) (s)
4. Daca Aj si Aj+M sunt p atrate perfecte consecutive, atunci modulul
(s) (s)
unor radacini are ordinul de multiplicitate M. Dac a ntre rj si rj+M exist a M0
0
rapoarte oscilante, atunci vor apare M perechi de r adacini complex conjugate.
(s) (s) (s)
Dac a ntre rj si rj+M nu exista rapoarte oscilante, ci rj M , atunci se va
produce o radacina reala cu ordinul de multiplicitate M .
5. Metoda prezentata furnizeaz a doar modulele r ad acinilor. In cazul r
adacinilor
reale, semnul se stabileste prin nlocuirea n ecuatia original a, Pn (x) = 0. In ca-
zul radacinilor complexe, modulul odat a determinat, se determin a partea reala si
imaginara folosind relatiile ntre r
adacini si coeficienti pentru ecuatia Pn (x) = 0.
Nu se recomanda determinarea argumentului din relatii de forma (3.82) deoarece
numarul m este mare si se obtin multe solutii ale ecuatiilor de forma cos m = ,
R, care trebuie verificate apoi n ecuatia initial a.
6. Principalul avantaj al metodei Graeffe-Lobacevski este furnizarea tutu-
ror radacinilor, reale si complexe, ale unui polinom cu coeficienti reali. Printre
dezavantaje se numara: posibilitatea dep asirii superioare de registru, necesita-
tea examinarii de catre utilizator a tabloului coeficientilor precum si necesitatea
rezolvarii unor sisteme de ecuatii neliniare n cazul existentei r adacinilor com-
plexe.
7. Datorita lucrului cu numere mari, aproximatiile r adacinilor furnizate de
metoda Lobacevschi-Graeffe sunt destul de imprecise. Ca atare metoda va fi
folosita pentru localizarea tuturor r ad
acinilor. Dup a localizare, se va trece la
rafinarea acestora prin procedeele de factorizare a polinoamelor prezentate mai
jos.
n
X n1
X
Pn (x) = anj xj = (x ) bnj1 xj + bn , (3.87)
j=0 j=0
b 0 = a0 , bk = ak + bk1 , k = 1, n . (3.88)
dbk dbk1
= bk1 + , k = 1, n . (3.89)
d d
S-au obtinut relatii de recurent
a pentru noii coeficienti
dbk
ck1 , k = 1, n , (3.90)
d
ce satisfac relatiile de recurent
a
c0 = b0 , ck = bk + ck1 , k = 1, n 1. (3.91)
Determinarea r
ad
acinilor simple.
Data fiind aproximatia initial
a a unei r
adacini simple 0 , rafinarea iterativ
a prin
procedeul Newton-Raphson se exprim a ca
Determinarea r
ad
acinilor multiple.
a, Pn0 () = 0.
Daca este o radacina multipla, derivata polinomului n va fi nul
Numerele bn , cn1 vor tinde catre zero simultan, iar convergenta procedeu-
lui Newton-Raphson se nrautateste. Se poate efectua o modificare simpl a a
procedeului ce mbunatateste convergenta. Fie M ordinul de multiplicitate a
1/m
r
adacinii. Aplicam procedeul Newton-Raphson functiei f (x) = [Pn (x)] ce
0 1/m1
are derivata f (x) = [Pn (x)] /m. Iteratia Newton-Raphson se exprim a ca
m+1 = m M bn (m )/cn1 (m ) , (3.95)
forma folosita n algoritmul de mai sus. Mai r amane de stabilit o modalitate
de determinare a multiplicitatii M . Se stie ca dac
a r
ad acina are ordinul de
multiplicitate M , avem P (k) () = 0 pentru k = 1, 2, . . . , M 1 si P (M ) () 6= 0.
Ca atare, la detectarea posibilitatii unei r
ad
acini multiple (prin faptul c a prima
derivata a devenit mica) vom evalua toate derivatele polinomului. Prima dintre
derivatele polinomului ce este nenul a va furniza multiplicitatea radacinii.
Pentru evaluarea derivatelor se foloseste schema lui Horner complet a. De-
terminarea tuturor derivatelor unui polinom n x = este echivalent a cu dezvol-
tarea n serie Taylor n jurul lui x =
Pn (x) = C0 + C1 (x ) + C2 (x )2 + . . . + Cn (x )n , Ck = Pn(k) ()/k! .
(3.96)
104 3. Rezolvarea ecuat
iilor neliniare
si asa mai departe. Aplicarea de n ori a schemei Horner va furniza toti coeficientii
(k)
Ck , k = 0, n 1, deci implicit toate derivatele Pn () = k! Ck . Algoritmul este
k=0:n
[Ck = ank
0 : (n 1)
k= (3.99)
j = (n 1) : k : 1
[Cj Cj + Cj+1
Determinarea r
ad
acinilor complex conjugate (Metoda Bairstow).
In cazul cand polinomul Pn (x) are coeficientii reali, r
ad
acinile complexe (daca
exista) sunt conjugate, iar calculul cu numere complexe poate fi evitat. In acest
scop, se utilizeaza o factorizare cu un polinom de gradul doi de forma x2 +px+q
n
X n2
X
Pn (x) = anj xj = (x2 + px + q) bnj2 xj + Rx + S . (3.100)
j=0 j=0
bn1 bn1
bn1 (p, q)
= bn1 (pm , qm ) + (p pm ) + (q qm ) = 0.
p m q m
(3.105)
cu J cn cn2 c2n1 .
Procedeul poate fi repetat pentru polinomul
n2
X
Pn2 (x) = bnj2 xj (3.111)
j=0
p
an
a la factorizarea polinomului Pn (x) n produse de polinoame de grad cel
mult doi. Se obtin perechi de solutii de forma
p
x1,2 = p p2 4q /2 . (3.112)
2 Vezi capitolul 8.
106 3. Rezolvarea ecuat
iilor neliniare
Aproximatia initial
a (p0 , q0 ) se poate obtine dintr-un procedeu de localizare.
Este recomandabila folosirea coordonatelor polare
x1 = ei , x2 = ei , x1 x2 = 2 = q, x1 + x2 = 2 cos = p . (3.113)
R2 < R1 . (3.115)
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
Calculul s-a desfasurat cu mai multe cifre semnificative decat sunt afisate n
(6) (6)
tabel. Dupa 6 iteratii valorile coeficientilor sunt A0 = 1, A1 = 2.05336782
(6) (6) (6)
1034 , A2 = 6.82754862 1047 , A3 = 1.54270278 1052 , A4 = 1.81053152
(6)
1051 , A5 = 6.33402866 1049 . Pentru stabilirea convergentei metodei se calcu-
leaz
a si rapoartele din (3.73):
(s) (s) (s) (s)
s r1 r2 r3 r4
0
1 1.14 0.04 -0.24 -0.03
2 1.31 0.35 0.34 0.31
3 1.15 2.14 3.41 3.16
4 1.01 1.20 1.85 3.14
5 1.00 1.01 1.11 -4.15
6 1.00 1.00 1.00 -0.09
(s) (2) (s)
Se observa obtinerea izol
arii a trei r
adacine reale din rapoartele r1 , r2 , r3 ce
(s)
tind toate c
atre 1. Raportul r4 oscileaz a denot and prezenta unei perechi de rad
acini
complexe, conjugate. Procedeul furnizeaz a dou a valori posibile pentru r
ad
acina de
modul maxim
1/64
(6) (6)
x1 = A1 /A0 = 3.4366. (3.117)
1/64
(6) (6)
x3 = A3 /A2 = 1.16958 x3 = 1.16958 (3.119)
Modulul perechii de r
ad
acini complexe este
1/(264)
(6) (6)
= A5 /A3 = 0.9579761 (3.120)
dup
a o singur a iteratie Newton-Raphson. Se observ a calitatea extrem de bun
a a a-
proximatiilor initiale furnizate de procedeul Lobacevschi-Graeffe. Pentru r
ad
acinile
108 3. Rezolvarea ecuat
iilor neliniare
Capitolul 4
exemplu, numarul 0.1 reprezentat printr-un num ar finit de zecimale n baza 10,
devine o fractie zecimala periodic a n baza 2 (0.110 = 0.0(0011)2 ).
Erorile de metod a sau erorile de trunchiere sunt provenite din aproximatiile
facute la deducerea formulelor de calcul. Exemple: restul RN (x) la interpolarea
polinomiala, distanta |xn+1 | la r ad
acin
a, din metodele iterative de calcul,
eroarea i = h3 /12 f 00 () introdus a de formula de integrare a trapezelor pe un
interval egal cu pasul h, erorile introduse prin trunchierea seriilor la un anumit
rang, etc. Spre deosebire de erorile inerente, erorile de metod a pot fi reduse, n
principiu, oricat de mult.
Erorile de rotunjire sunt legate de posibilit atile limitate de reprezentare a
numerelor n calculatoarele numerice. In general, orice calculator poate repre-
zenta numerele cu un num ar redus de cifre semnificative, depinz and de lungimea
cuvantului (numarul de biti) utilizat la stocarea unui num ar. In mod curent se
lucreaza cu un echivalent de circa 7 cifre semnificative n simpl a precizie si de
circa 15 cifre semnificative n dubl a precizie.
Dupa cum se stie, n memoria intern a a calculatoarelor actuale se foloseste
reprezentarea n virgula mobil a, n forma normalizat a. Astfel, orice num ar real
x se scrie
x = f bn , |f | < 1 (4.1)
unde f este un numar real denumit mantis a, b > 0 (b 6= 1) este baza sistemului
de numeratie utilizat, iar n (ntreg) este exponentul. In forma normalizat a,
mantisa este cuprinsa n intervalul [b1 , 1)
b1 |f | < 1 . (4.2)
ex = x x . (4.3)
Raportul ex /
x se numeste eroare relativ
a, notat
a deseori cu x
x = ex /
x. (4.4)
x=x
+ ex , y = y + ey . (4.8)
x y = (
x + ex )(~y + ey ) = x
y + y ex + x
ey , (4.9)
exy /
x y = ex /
x + ey /
y = x + y . (4.10)
tp = x + y + p (4.11)
Propagarea erorilor la mp
artire.
Cu notatiile (4.8) vom scrie
x/y = (
x + ex )/(
y + ey ) = x
/ x ey /
y (1 + ex / y) = x y (1 + x y ),
/ (4.13)
unde am neglijat termenii de grad superior lui 2 n ex si ey . S-a folosit dezvolta-
rea n serie Taylor pentru 1/(1 + y ) = 1 y + . . . . Rezult
a c
a eroarea relativ
a
la mpartire, datorata erorilor de reprezentare n calculator (ex si ey ), este
ex/y /( y ) = x y ,
x/ (4.14)
adica este egala cu diferenta erorilor relative introduse initial n valorile numar
a-
torului si numitorului. La acestea se adaug a eroarea de rotunjire la reprezentarea
raportului x /
y , pe care o vom nota cu d , astfel ncat eroarea relativ a total
a la
mpartirea a doua numere x, y este
td = x y + d . (4.15)
In = 1 nIn1 , n = 1, 2, . . . , (4.22)
e13
= 13! e0 = 6.227 109 e0 . (4.23)
n care erorile sunt reduse n fiecare etap a. Prin urmare, plec and de la un
N suficient de mare eroarea introdus a din necunoastera valorii In va fi redus
a,
astfel ncat sa obtinem rezultate corecte. Observand c
a valoarea integralei scade
cu n, vom alege N = 20 si vom aproxima I20 = 0, calcul
and integralele de indice
mai mic din ce n ce mai precis. Valorile obtinute sunt date n acelasi tabel 4.1
(s-a utilizat un calculator HP-25 care lucreaz a cu zece zecimale). Se observ a c
a
rezultatele sunt mai bune la indici mari si identice la indici mici (n < 7).
114 4. Erorile de calcul numeric
115
Capitolul 5
Rezolvarea sistemelor
liniare
(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.
Ax = b , (5.2)
Indicii superiori indica etapa n care a fost obtinut elementul. Pentru a obtine
zerourile de sub diagonala principal a, se folosesc operatii simple de nmultire a
unei linii cu un multiplicator si de sc
adere din alta linie. Spre exemplu, pentru
a obtine zerouri pe prima coloana, din linia i se scade prima linie nmultit a cu
multiplicatorul mi,1 , obtinandu-se
(1)
ai,1 = ai,1 mi,1 a1,1 = 0 mi,1 = ai,1 /a1,1 . (5.5)
s = 1 : (n 1)
i = (s + 1) : n
(s1) (s1)
mi,s ai,s /as,s (5.6)
j = (s + 1) : (n + 1)
h
(s) (s1) (s1)
ai,j ai,j mi,s as,j .
Intr-adev (s1)
ar, n etapa (s) pivotul este as,s , iar elementele care se anuleaz a
sunt plasate n pozitia ai,s , i s + 1, n. Practic, aceste elemente nu se mai
calculeaza deoarece se stie c a ele sunt nule, iar pe pozitiile acestora se pot
memora multiplicatorii mi,s , eventual necesari pentru calcule ulterioare cum
ar fi rafinarea solutiei (paragraful 5.1.3). In final, dac a matricea A nu este
(i1)
singulara, se ajunge la forma (5.4) a sistemului, coeficientii ai,j , i 1, n,
j 1, n + 1 fiind obtinuti prin operatii asupra matricei extinse A0 . Ca urmare,
necunoscutele se obtin prin retrosubstituire, dup a schema
(n1) (n1)
xcn an,n+1 /an,n
i =(n 1) : 1
n (5.7)
xci (a(i1) (i1) (i1)
X
i,n+1 ai,j xcj ) / ai,i ,
j=i+1
and cu n 3) fat
Acest numar este foarte mic (ncep a de n n! operatii cerute de
a minori). La operatiile (5.8) se
regula lui Cramer (cu determinantii calculati dup
adauga nca aproximativ 1 + (n 1) + n(n 1)/2 = n2 /2 + n/2 operatii pentru
retrosubstituirea (5.7). Rezulta num arul total de operatii pentru eliminarea
gaussiana
n3 n n3
nG = + n2 + n2 . (5.9)
3 3 3
aproximatia fiind valabila pentru n 1.
Relatiile (5.6) si (5.7) se pot optimiza obtin
and 1 pe diagonala principal a,
dupa algoritmul dat de (5.10), unde am inclus si calculul determinantului matri-
cei A, d = det A. Numarul de operatii se reduce (nesemnificativ) cu n mp artiri
la etapa de retrosubstituire.
x1 + 29 x2
+ x3 = 2
8x1 + 2x2 3x3 = 1 . (5.11)
x1 + 2x2 5x3 = 1
1 2
1 | 2
1 9
1 | 2
1 92 1 | 2
9 s=1 s=2
2 2
8 2 3 | 1 0
9
11 | 17 0 9 11 | 17 .
1 2 5 | 1 0 16
6 | 1 0 0 82 | 135
9
Rezult
a
x3 = 135/82 ' 1.6463, x2 = (9/2) 17 + 11 135
82
= 819/164 ' 4.9939,
(5.12)
x1 = 2 135/82 (2/9)(819/164) = 31/41 ' 0.7561 .
Valoarea din chenar reprezint a pivotul etapei respective. Modul de lucru nu este cel
mai adecvat pentru transpunerea pe calculator deoarece: (a) elimin arile s-au f
acut
f
ar
a a utiliza nici o tehnic
a de pivotare (partial a); (b) calculele s-au efectuat
a sau total
utiliz
and fractii ordinare, ceea ce implic a programe speciale.
Pentru evidentierea erorilor si tinand cont ca sistemul este foarte mic, relu am
calculele folosind pivotarea partiala si lucrand doar cu trei cifre semnificative2 . Se
obtine
1 0.222 1 | 2 8 2 3 | 1
l1 l2 s=1
8 2 3 | 1 1 0.222 1 | 2
1 2 5 | 1 1 2 5 | 1
3 | 1
8 2 3 | 1 8 2
s=1 l2 l3 s=2
0 0.028 1.38 | 2.13 0 1.75 4.63 | 1.13
0 1.75 4.63 | 1.13 0 0.028 1.38 | 2.13
8 2 3 | 1
s=2
0 1.75 4.63 | 1.13 .
0 0 1.31 | 2.15
Rezult
a
3 = 0.164 101 , x
x 2 = 0.498 101 , x
1 = 0.755 100 . (5.13)
Valorile necunoscutelor fiind aproximative, s-a folosit notatia cu bar ax. Scrierea este
cu virgula mobila normalizata n sistem zecimal. Desi sistemul este mic si relativ bine
conditionat (vezi paragraful 5.1.8, num arul de conditionare calculat cu (5.64) si norma
euclidiana este (A) = 24, iar calculat cu (5.85) este (A) = 21.6, n timp ce num arul
2 Calculele intermediare au fost efectuate ns
a cu sapte cifre semnificative.
5.1. Metode directe 121
Tot pe linia obtinerii unei unei precizii c at mai bune se nscrie si rafinarea
solutiei, care consta n mbunatatirea solutiei printr-un proces iterativ. Notand
cu e vectorul eroare si cu x vectorul solutiei aproximative g asite, nlocuind n
sistemul (5.2) vom obtine o valoare b 6= b
A x = b, x=xe , (5.22)
adic
a apare o diferenta fata de vectorul b, diferent
a pe care o vom nota cu
=bb . (5.23)
Prin scaderea ecuatiilor (5.2) si (5.22), se obtine un sistemul
Ae = , (5.24)
care are aceeasi matrice cu sistemul initial. Prin urmare, sistemul (5.24) se
rezolva cu acelasi algoritm, nefiind necesare dec
at operatiile de eliminare aplicate
asupra termenilor liberi. Se obtine solutia rafinata
x
1 = x
+e . (5.25)
Evident, nici aceasta solutie (5.25) nu este exact a, deoarece la determinarea
vectorului eroare e se introduc aceleasi erori ca la rezolvarea sistemului initial
(5.2), prin transformarile efectuate asupra matricei A. O nou a rafinare, plec
and
de la x1 este posibila, dar aceasta nu mbun at
ateste n mod necesar solutia
sistemului. Conditii suficiente pentru corectarea solutiei se vor da la paragraful
5.1.7.
Exemplu. Relu am exemplul (5.11). Indiferent de metoda utilizat a, solutia trebuie
a n sistem. In acest fel, se g
verificat aseste vectorul erorilor (5.23)
Solutia 1 2 3 kk /kbk
(5.13) 0.944 102 0 0.5 102 0.47 102
(5.14) 0.328 102 0 0.38 100 0.19 100
Se constata c
a, n cazul solutiei (5.14), exist
a o eroare relativ
a mare (circa 20%) n
termenii liberi, deci se impune rafinarea solutiei. Presupunnd c a efectu
am asupra
matricei A aceleasi operatii care ne-au condus la solutia (5.14), sistemul (5.24) pentru
determinarea vectorului eroare e conduce la matricea
8 2 3 | 0
8 2 3 | 0
0 0.028 1.38 | 0.00328 0 0.028 1.38 | 0.00328 ,
0 1.75 4.63 | 0.38 0 0 81.6 | 0.585
cu solutia
e3 = 0.717 102 , e2 = 0.236 100 , e1 = 0.563 101
Solutia corectat
a este
003 = 0.165 101 , x
x 002 = 0.450 101 , x
1 = 0.756, ( 0i + ei ) ,
x00i = x
cu norma maxim
a a erorii
00 k = 0.4 101 .
kx x
Se observ 0 , dar rezultatul este
a o reducere a normei erorii absolute n raport cu solutia x
sub precizia realizat
a cu pivotare, chiar f
ar
a rafinare (5.12), care are norma maxim a
dat
a de (5.15).
124 5. Rezolvarea sistemelor liniare
A=LU , (5.28)
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
unde Pi,j si Pk,l sunt matrice de permutare. Din (5.31) se poate trage conclu-
zia ca, datorita permutarilor, matricea A nu se mai descompune chiar ntr-un
produs de matrice triughiulare. De fapt
A = (L1 1 1 0
1 Pi,j L2 . . . Ln1 )U Pk,l , (5.32)
1
unde am tinut cont ca Pi,j = Pi,j , sau
Pi,j L1 1 1 0 1 1 1 0
1 Pi,j (L2 . . . Ln1 U Pk,l ) = Pi,j Pi,j L1 (L2 . . . Ln1 U Pk,l ) (5.34)
AB = BA = I . (5.36)
Daca lu
am n considerare prima coloan
a a matricei B, obtinem
a1,1 a1,2 . . . a1,n b1,1 1
a2,1 a2,2 . . . a2,n b2,1 0
= , (5.37)
... ... ... ... ... ...
an,1 an,2 . . . an,n bn,1 0
T1 = L1 ,
1 m1,2 ... ... 0
0 1 ... ... 0 1/a1,1 0 ... 0
(1)
..
0 1/a2,2 ... 0
m3,2 . (n)
0
T2 = ... 0 , D =
.. .. .. .. .
. .. .. .. .. . . . .
..
. . . . (n1)
0 0 ... 1/an,n
0 mn,2 ... ... 1
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
adic
a matricea inversa se obtine din matricea B printr-o permutare de linii, co-
respunz
atoare permut arilor de coloane efectuate la c
autarea pivotilor n operatiile
de eliminare. Daca s-au efectuat mai multe permut ari de coloane, spre exemplu
rezulta
ninv1 = n3 n2 + 1 n3 n2 , (5.46)
deci, aproape de 1.5 ori mai mic fat a de (5.45) n cazul matricelor mari. Aceast a
reducere se face pe seama tinerii evidentei pozitiilor elementelor nenule din linia
pivotului. Aceasta evidenta nu este dificil
a deoarece, la fiecare etap a se adauga
o coloana noua la precedentele. In final, vom observa c a permut arile de linii
(singurele care se aplica pe pozitia ocupat a initial de matricea I) schimb a doar
pozitiile elementelor nenule (nu si num arul acestora).
Determinarea matricei inverse am v azut ca este echivalent a cu rezolvarea a
n sisteme de n ecuatii simultane (cu aceeasi matrice A), av and ca termeni liberi
coloanele matricei I, iar ca necunoscute elementele matricei inverse. Aceeasi
problema poate fi rezolvata si prin eliminare gaussian a, retrosubstituirea pentru
asirea celor n2 necunoscute cerand ns
g a n2 (n+1)/2 operatii. In aceste conditii,
numarul de operatii pentru inversare este
Se observ
a ca ninv2 < ninv , n timp ce ninv3 > ninv1 .
A A + u vT . (5.52)
F0 = I AB0 . (5.53)
kF0 k 1 , (5.54)
x = A1 b = Bk+1 b, k 1 . (5.61)
Deoarece kF0 k < 1, putem rafina inversa B0 folosind (5.58), unde apare corectia
2.208 3.33 4.44
5
B0 F0 = 10 57.94 1.68 1.419 .
2.731 3.339 0.544
e(0) = 105 (9.756, 90.024, 5.854)T , e(1) = 105 (0.244, 19.76, 5.854)T .
Cu cat (A) este mai mare, cu atat matricea este mai r au conditionat
a, calculul
matricei inverse fiind mai dificil de efectuat. De aceea, este mai util a definitia
(5.85) pe care o vom da n paragraful 5.1.10.
Exemplu. Num arul de conditionare al matricei A din exemplul (5.11) calculat
cu relatia (5.64), folosind norma k k si cu matricea invers a B0 dat
a nerafinat a de
(5.50) este
adic
a amplificarea erorilor este moderat
a.
Sa presupunem ca, n matricea initiala A, s-a introdus perturbatia A astfel
nc
at eroarea relativa, n norma, satisface inegalitatea
(A + A)(x + x) = b + b , (5.66)
A x + (A + A)x = b . (5.67)
5.1.9 Factorizarea L U
Dupa cum am vazul la paragraful 5.1.4, metoda elimin arii gaussiane f
ar
a per-
mutari de linii sau coloane este echivalent
a cu descompunerea matricei A ntr-un
produs dintre o matrice superior triunghiular a L si una inferior triunghiular
aU
A=LU , (5.74)
adica
l1,1 0 ... 0 u1,1 u1,2 ... u1,n
l2,1 l2,2 ... 0 0 u2,2 ... u2,n
A= . (5.75)
.. .. .. .. .. .. .. ..
. . . . . . . .
ln,1 ln,2 ... ln,n 0 0 0 un,n
Lz = b, U x = z . (5.77)
k=1:n
k [Se alege lk,k , se determin a
= 1 : n
[Se alege uk,k sau lk,k , uk,k care se p a streaz a
n
se determina lk,k sau uk,k ] locatia ak,k ]
k1
k1 P
lk,k uk,k ak,k P lk,s us,k
(ak,k ak,s as,k )
s=1 a s=1
i = (k + 1) : n k,k lk,k
ji i = (k + 1) : n
k1
P ji
(ak,j lk,s us,j )
k1
s=1 P
uk,j (ak,j ak,s as,j )
lk,k s=1
ak,j
k1
P lk,k
(ai,k
li,s us,k ) k1
s=1
P
li,k (ai,k ai,s as,k )
uk,k s=1
ai,k
ak,k
(5.78)
In partea dreapta este dat algoritmul n care se aleg valorile lk,k , k 1, n, care
se memoreaza separat, iar elementele li,j , i 2, n, j 1, i 1, um,p , m 1, n,
p m, n, se plaseaza pe locul elementelor matricei A.
Din (5.78) observa ca pentru a putea obtine factorizarea LU este necesar
ca lk,k si uk,k sa fie nenule. Factorizarea LU poate fi implementat a eficient
folosind tehnica pivotului partial, caz n care P A = LU , iar solutia se obtine
rezolvand sistemul echivalent LU = P b, unde P este matricea care contine
toate permutarile de linii efectate asupra matricei A pe parcursul procesului de
factorizare. Conditiile n care o matrice admite o factorizare LU sunt incluse n
urm atoarele teoreme pe care le dam f ar
a demonstratie:
Teorem
a. Daca minorii principali ai matricei A sunt nenuli, atunci aceasta
admite o factorizare LU .
Teorem
a. Daca A este o matrice reala, simetric
a si pozitiv definit
a, atunci ea
a, n care U = LT .
admite o factorizare LU unic
In cazul n care A este o matrice real
a, simetric
a si pozitiv definit
a, descom-
punerea A = LLT se numeste factorizarea Cholesky si este dat a de algoritmul
(5.79).
k=1:n
Pk1 2 1/2
lk,k (ak,k s=1 lk,s )
i = (k + 1) : n (5.79)
h Pk1
li,k (ai,k s=1 li,s lk,s )/lk,k .
134 5. Rezolvarea sistemelor liniare
5.1.10 Descompunerea SV D
In unele cazuri, metodele prezentate anterior esueaz a datorit
a matricei sistemu-
lui care are determinantul foarte mic ca valoare absolut a. Altfel spus, una din
liniile sistemului este aproape o combinatie liniara a celorlalte linii6 . In aceste
7
situatii se recomanda descompunerea SV D pe care o prezent am n acest para-
graf. Dam fara demostratie urm
atoarea teorem a:
A=U W VT , (5.80)
UT U = V T V = I , (5.81)
A1 = V diag(1/wi ) U T , (5.82)
x = V [diag(1/wi )] (U T b) . (5.83)
Daca matricea A este singular a, unul sau mai multe din elementele wi sunt nule,
iar sistemul (5.2) este nedeterminat si poate fi compatibil sau incompatibil dup a
cum rangul matricei A este sau nu egal cu rangul matricei extinse A0 . Dac a
sistemul (5.2) este compatibil, se poate ar ata c a o solutie particulara poate fi
obtinuta prin nlocuirea elementelor infinite din (5.83) cu zero (adic a n loc
de 1/wi = vom pune wi = 0!). Dac a proced am n acelasi fel n cazul n
care sistemul (5.83) este incompatibil, se poate demonstra c a solutia obtinuta
minimizeaza reziduul
adica vectorul x satisface cel mai bine (5.2) n sensul celor mai mici p
atrate.
In cazul n care matricea A este aproape singular a, unul sau mai multe
elemente wi au valori foarte mici n modul. Spunem n acest caz c a matricea
6 Spunem n acest caz c
a matricea A este aproape singular
a.
7 Init
ialele SV D provin de la cuvintele din limba englez
a Singular Value Decomposition.
5.1. Metode directe 135
A este r
au conditionat a. Num
arul de conditionare al matricei A poate fi definit
de raportul (vezi si (5.64))
unde
x = f (x) , (5.90)
A=A+BB (5.92)
Bx = c (B A)x + b . (5.93)
A=DC, (5.95)
Dx = Cx + b x = D1 C x + D1 b, (5.96)
5.2. Metode iterative 139
pentru pornirea caruia este nevoie de specificare unei aproximatii initiale x(0) .
Matricea P se numeste matricea rezolvanta a sistemului.
Matricea D poate fi chiar diagonala principal a a matricei A, n care caz
exprimarea pe componente a procedeului este
i1 n
(k+1) (k) (k)
X X
xi = (bi ai,j xj ai,j xj )/ai,i , i = 1, n , (5.98)
j=1 j=i+1
kP k 1 . (5.103)
A=DT S. (5.110)
cu P (D T )1 S, d (D T )1 b. Conditia de convergent
a este, ca si la
metoda Jacobi, ca norma matricei rezolvante P sa fie subunitar
a
kP k < 1
(D T )1 S
< 1 .
(5.112)
Evaluarea inversei (D T )1 este costisitoare, necesit and O(n3 /6) operatii, ast-
fel ncat se cauta conditii mai simple de convergent
a a procedeului Gauss-Seidel.
Una dintre ele este: dac a matricea A este diagonal-dominant a pe linii, (5.104),
atunci metoda Gauss-Seidel converge cel putin tot at at de rapid ca metoda Ja-
cobi. Pentru transcrierea acestei conditii vom folosi urm atoarele notatii
i1
X n
X
pi |ai,j /ai,i | , qi |ai,j /ai,i | . (5.113)
j=1 j=i+1
ri pi + qi < 1, i = 1, n . (5.114)
S
a demonstram enuntul anterior n aceste conditii. Sistemul de ecuatii Ax = b
se scrie sub forma
i1
X n
X
xi = (bi ai,j xj ai,j xj )/ai,i , i = 1, n (5.115)
j=1 j=i+1
qi ri qi ri ri pi
= = ri < 1 . (5.122)
1 pi 1 pi 1 pi
P = I A, (P ) = 1 (A) (5.127)
144 5. Rezolvarea sistemelor liniare
P = I BA , (5.130)
A = 1 D ( 1 1)D T S . (5.132)
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
P = (D T )1 [(1 )D + S] . (5.136)
Metodele care utilizeaza 0 < < 1 se numesc metode de subrelaxare, iar meto-
dele cu 1 < < 2 se numesc metode de suprarelaxare. In lipsa altor informatii
privind valorile proprii ale matricei P , parametrul se alege prin ncerc
ari.
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)
Ca propagare a erorilor.
Metodele iterative sunt, n general, mai avantajoase, deoarece erorile sunt di-
minuate la fiecare pas prin nmultirea cu norma matricei rezolvante, care este
subunitara ( kP k < 1). De fapt, rata de diminuare a erorii corespunde razei
spectrale a matricei rezolvante. Totodat a, la fiecare iteratie se introduc erori de
rotunjire.
Sa consideram ca dorim sa obtinem un rezultat cu q zecimale exacte. In
acest scop sunt necesare k iteratii, astfel nc
at, n absenta erorilor de rotunjire,
se obtine (vezi 5.102)
k
e
kP k
e(0)
10q ,
(k)
(5.139)
146 5. Rezolvarea sistemelor liniare
e(0) fiind eroarea de start. Logaritm and a doua inegalitate n baza 10, rezult
a
k lg kP k + lg
e(0)
q . (5.140)
1. kAk > 0;
2. kAk = || kAk cu C;
3. kA + Bk kAk + kBk.
Daca x este un vector asupra caruia opereaza matricea A, atunci normele kAk
si kxk sunt compatibile daca are loc inegalitatea
Se poate arata ca inegalitatile (5.145) si (5.146) se pot deduce din conditiile im-
puse normelor operatorilor liniari si continui pe spatii vectoriale de dimensiune
finita (vezi si 1.4.3). Printre normele de matrice des utilizate care ndeplinesc
conditiile impuse se numara:
1. norma maxim
a
X
kAk = sup |ai,j | , (5.147)
i
j
2. norma unu
X
kAk1 = sup |ai,j | , (5.148)
j
i
3. norma euclidian
a
1/2
X 2
kAkE = |ai,j | ; (5.149)
i,j
148 5. Rezolvarea sistemelor liniare
4. norma spectral
a
1/2
kAk2 = ((A A)) , (5.150)
A = AT . (5.151)
p n
X
kxk2 = (x, x) = xi x
i . (5.152)
i=1
si are proprietatile
S = (I A)1 , (5.156)
Capitolul 6
Ax = x , (6.1)
P () det(A I) = 0 . (6.2)
cu spec(A). Vectorii proprii, ca solutii ale unor sisteme de ecuatii omogene, sunt
determinati p ana la o constant a multiplicativ
a. G asirea valorilor si vectorilor
proprii prezinta o important a practic
a deosebita pentru rezolvarea sistemelor
de ecuatii diferentiale liniare, pentru studiul stabilitatii misc
arilor mecanice sau
de alta natura, inclusiv pentru studiul stabilit atii diverselor metode numerice.
Trebuie remarcat ns a c
a determinarea practic a a valorilor si vectorilor proprii
nu se face, n general, plec and de la construirea polinomului caracteristic, de-
oarece mici abateri n valorile coeficientilor acestui polinom conduc la abateri
mari n valorile solutiilor (se spune c
a problema rezolv arii ecuatiei caracteristice
este rau conditionat a). Ca urmare, procedeele care determin a valorile proprii
prin construirea polinomului caracteristic sunt limitate la matrice de dimensiuni
mici (n 10) unde erorile de rotunjire introduse nu sunt importante.
Vom da n continuare o serie de procedee, preciz and avantajele si limitele lor
de aplicabilitate. Ne vom limita, n general, la cazul matricelor reale.
astfel ncat valoarea proprie 1 este cea mai mare dintre ele n modul. Inmultind
repetat vectorul y cu matricea A si utiliz and relatia (6.1), se obtine
n
X n
X
z (1) = Ay = ci Ax(i) = ci i x(i) (6.5)
i=1 i=1
(6.6)
n
X h i
z (k) Ak y = Az (k1) = ci ki x(i) = k1 c1 x(1) + O k2 /k1
= (6.7)
i=1
n h
X i
z (k+1) = Ak+1 y = ci ik+1 x(i) = k+1
1 c1 x(1) + O k+1
2 /k+1
1 (. 6.8)
i=1
k
Pentru k suficient de mare termenii de ordinul (2 /1 ) devin neglijabili, astfel
nc
at putem aproxima
z (k)
= k1 c1 x(1) , z (k+1)
= k+1
1 c1 x(1) . (6.9)
1
(k+1) (k)
= zi /zi . (6.10)
In ceea ce priveste vectorul propriu corespunz ator x(1) , acesta are directia
z (k+1) . Practic, vectorul y se alege sub forme ca: y = (1, 0, . . . ), y = (1, 1, . . . )
sau alte forme convenabile, deci coeficientii ci nu trebuie cunoscuti efectiv,
conditiile de aplicabilitate ale procedeului (vectori proprii liniar independenti, c1 6=
(k+1) (k)
0) verificandu-se prin comportarea sirurilor zi /zi , 1, n. Dac a aceste siruri
par convergente, ncepand cu anumit k, si tind spre aceasi valoare (care repre-
zinta, la limita, valoarea proprie 1 ) atunci se poate trage concluzia c a procedeul
este aplicabil. Pentru
reducerea
erorilor de rotunjire se recomand a normarea
prin mpartire cu
z (k)
, n fiecare etapa. Dac a nu exist a o singura valoare
proprie reala de modul maxim, spre exemplu dac a
|1 | = |2 | > |3 | . . . |n | , (6.12)
k
termenii neglijati fiind de ordinul (3 /1 ) . Se observa c
a valoarea proprie se
poate calcula ca si pana acum, din (6.10); n schimb vectorii proprii x(1) si x(2)
154 6. Vectori si valori proprii
Rezolvare. Deoarece matricea A este simetric a, toate valorile proprii sunt reale.
Pentru aflarea valorii proprii de modul maxim vom aplica metoda puterii pornind cu
vectorul y = (1, 0, 0)T . Primele c
ateva iteratii sunt redate n tabelul de mai jos. S-au
utilizat notatiile
(k) (k+1)
ri = zi /zi (6.25)
Din Ax = x se obtine
x = A1 x A1 x = 1 x, (6.27)
sau ca matricea invers a are valorile proprii 1/. Prin urmare, 1/1 este valoarea
proprie de modul maxim a matricei A1 si se poate aplica metoda puterii directe
acestei matrice, n ipoteza ca vectorii proprii formeaza o baz
a. Plec
and de la un
vector initial arbitrar y = z (0) , se formeaz
a sirul
Practic, nu se calculeaz
a inversa matricei A, deoarece este mai economic
a rezol-
varea repetata a sistemului de ecuatii
|j 1 | = sup |j 1 | . (6.30)
i=1,n
B = P AP 1 , A = P 1 BP . (6.32)
y = Px, (6.34)
denumita form a Frobenius, prin transform ari similare. Avantajul formei Frobe-
nius este obtinerea imediata a ecuatiei caracteristice a matricei
n
X
n n
(1) det(F I) = pi ni = 0 . (6.36)
i=1
pentru j = 1, n 1, si
n
X
pi yi = yi . (6.39)
i=1
S-a presupus an ,n1 6= 0 si s-au eliminat celelalte elemente din linia a n-a. Daca
an,n1 = 0, se folosesc permutari de coloane. Mai mult, permut arile de coloane
sunt indicate pentru a avea elemente an,n1 c at mai mari n modul, n vederea
reducerii erorilor de rotunjire. Prin urmare, se recomanda utilizarea pivotilor
(totali sau partiali), analog cu eliminarea gaussian a. Pentru schema (6.43), s-au
folosit multiplicatorii
A2 = M11 A1 M1 , A1 A . (6.48)
x = M1 M2 . . . Mn1 y . (6.49)
polinomului (inclusiv aparitia unor valori complexe n locul celor reale). Analiza
erorilor se poate efectua tinand seama c
a transform arile se fac dupa schema
In acest fel, s-au obtinut pe pozitia ultimei linii elemente corespunz atoare din matricea
Frobenius. Pentru ca transformarea s a fie similar
a se va nmulti la st
anga cu matricea
1 0 0
M11 = 2 3 1 ,
0 0 1
162 6. Vectori si valori proprii
se obtine
1/3 2/3 4/3
A2 = M11 A1 M1 = 10/3 10/3 32/3 .
0 1 0
In etapa urm atoare se elimina elementele 10/3 si 32/3 de pe linia a doua din matricea
A, oper aia. In pozitia (2,1) se obtine elementul 1. Totul revine la a
and cu coloana nt
nmulti la dreapta cu matricea M2 , iar la st anga cu inversa ei M21
3/10 1 16/5 10/3 10/3 32/2
M2 = 0 1 0 , M21 = 0 1 0 ,
0 0 1 0 0 1
astfel nc
at
3 14 8
A3 = M21 A2 M2 = 1 0 0 = F,
0 1 0
A3 fiind o matrice Frobenius. Valorile proprii sunt solutiile ecuatiei caracteristice
3 32 14 8 = 0 .
Se obtin valorile proprii
1 = (5 + 41), 2 = 2, 3 = (5 41)/2 .
Desi s-a lucrat cu fractii rationale, s-a utilizat pivot pentru a atrage atentia aupra
tehnicii uzuale de lucru cu numere masin a afectate de erori de rotunjire.
6.5 Metodele QR si LR
Metodele QR si LR, pe care le vom prezenta n continuare, determin a valorile si
vectorii proprii ale unei matrice patrate A, prin aducerea acesteia la o matrice
superior triunghiulara prin transform ari de similitudine. Valorile proprii ale
unei matrice triunghiulare T sunt chiar elementele de pe diagonal a deoarece
calculul polinomului caracteristic conduce la
t1,1 t1,2 . . . t1,n
0 t2,2 . . . t2,n
P () = det(T I) = . (6.54)
.. .. ..
..
. . .
0 0 0 tn,n
6.5. Metodele QR si LR 163
Transform
ari unitare.
In plus, analiza de eroare de la metoda Danilevschi a ar
atat importanta obtinerii
unor transformari similare la care num arul de conditionare s
a fie egal cu uni-
tatea. Daca matricele de transformare M sunt unitare, adic a daca M M = I
atunci vom avea n mod evident (M ) = 1 dac a folosim norma spectral a (5.150)
p p
(M ) = kM k2
M 1
2 = kM k2 kM k2 = (M M ) (M M ) = (I)(I) = 1 .
Qx = x , (6.56)
x Q Qx = x Q x . (6.57)
Reflectori elementari.
Sa consideram acum modalit atile de obtinere a unei matrice unitare. Exist
a
doua procedee mai utilizate. Primul, denumit procedeul Householder, con-
struieste o matrice unitar
a pornind de la un vector coloana v prin
U = I vv . (6.61)
Cum v este vector coloan a si v este un vector linie, v v este un produs scalar
ce este chiar patratul normei euclidiene a lui v
n
X 2
v v = vi vi = kvk2 . (6.64)
i=1
Se obtine
2
U U = I + (kvk2 2)vv , (6.65)
unui punct. Spre exemplu, n dou a v = [ 2, 0]T se
a dimensiuni (n = 2) dac
obtine
2
1 0 2 0 1 0
U =I 2 0 = = . (6.67)
0 0 1 0 0 0 1
T
Coordonatele [x, y] ale unui punct se transforma conform
x x
U = , (6.68)
y y
adica s-a efectuat o reflexie fata de axa Oy pe care vectorul v este ortogonal.
In cazul general, vectorul v defineste normala unui plan fata de care se reflect
a
coordonatele unui punct.
In aplicatii vom avea de evaluat produsul U A sau AU . S-ar p area ca sunt
necesare O(n3 ) operatii aritmetice pentru aplicarea unui reflector elementar.
Lucrurile nu stau asa si este esential pentru economicitatea metodei QR s a
observam c a reflectorul elementar U nu trebuie calculat n mod explicit. Putem
evalua rezultatul AU prin
U A = (I vv )A = A vv A = A vwT (6.71)
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
i=k:n
(6.75)
[aki caki saji ; aji saki + caji
wT
U AU = (6.77)
0n1 An1
U e(1) = x, 6= 0 , C. (6.80)
v = a(x y) , (6.82)
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)] .
1 a2 (x x y x) = 0. (6.84)
y x = x y. (6.86)
1 / |x1 |
=x (6.88)
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.
Matricea
0Tn1
1
Un = U (6.90)
0n1 Un1
0Tn1 0Tn1
1 1
Un AUn = U AU
0n1 Un1 0n1 Un1
0Tn1 0Tn1
1 wn1 1
=
0n1 Un1 0n1 An1 0n1 Un1
0Tn1
1 wn1 Un1 wn1 Un1
= =
0n1 Un1 0n1 An1 Un1 0n1 Tn1
Deflatie.
Teorema Schur ne asigur a c
a o transformare unitar a, similar
a de la matricea A
la o forma triunghiular a. Ins
a exist a suntem n situatia nepl
acut
a c
a trebuie s
a
cunoastem deja vectorii si valorile proprii pentru a determina efectiv matricea
de transformare. Modul efectiv n care se aplic a rezultatele de mai sus este n
reducerea ordinului matricei cu care se lucreaz a n momentul c and una dintre
valori proprii a fost izolat
a. Acest proces este cunoscut ca deflatie si cuprinde
urmatoarele etape:
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 = QR (6.92)
Q A = R . (6.93)
Un1 . . . U2 U1 A = R (6.94)
6.5. Metodele QR si LR 171
Q = U1 U2 . . . Un1 , (6.95)
Uj = I vj vj . (6.96)
n speranta obtinerii mai multor valori proprii simultan. In acest caz va trebui ca
matricea Q(0) sa fie ortogonala pentru a asigura liniar independenta vectorilor
de start. Algoritmul devine
Z (s) = AQ(s1)
Q(s) R(s) = Z (s) . (6.99)
(s)
(s) (s)
T = Q AQ .
172 6. Vectori si valori proprii
M1 = I m2 eT2 , (6.107)
T T
m2 = 0 0 m3,2 ... mn,2 , e2 = 0 1 0 ... 0 . (6.108)
Inversa este
1 0 0 ... 0
0 1 0 ... 0
M11 =
0 m3,2 1 ... 0 = I + m2 eT2 ,
(6.109)
.. .. .. . . ..
. . . . .
0 mn,2 0 ... 1
174 6. Vectori si valori proprii
S
a determinam modul n care aducem coloana s la forma Hessenberg. Este
comod sa introducem o transcriere pe blocuri a matricei,
(s1) B C
A = , (6.113)
D E
U d = e(1) , (6.118)
Hs y = i y, i 1, 5, y = (y1 , y2 , y3 , y4 , y5 )T . (6.124)
y5 (i 5 ) = 0
y4 (i 4 ) = d4 y5
y3 (i 3 ) = d3 y5 + c3 y4 (6.125)
y2 (i 2 ) = d2 y5 + c2 y4 + b2 y3
y1 (i 1 ) = d1 y5 + c1 y4 + b1 y3 + a1 y2
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
y3 = y4 = y5 = 0, y1 (2 1 ) = a1 y2 , y2 6= 0, (6.128)
y3 = y4 = y5 = 0 (6.130)
0 y2 = 0, 0 y1 = a1 y2 . (6.131)
Se obtine
12 32 20
A2 = M1 A1 M11 = 20 115/2 50 = H
0 765/8 75/2
de form
a Hessenberg.
Pentru descompunerea LR a matricei H, trebuie eliminate elementele h21 = 20 si
h32 = 765/8. Deoarece h11 = 12 nu este pivot, se permuta liniile 1 si 2 si se obtine
20 115/2 50
H1 = P12 H = 12 32 20 .
0 765/8 75/2
6.5. Metodele QR si LR 179
Rezult
a multiplicatorul l21 = h21 /h11 = 3/5 si matricea de multiplicare la st
anga
L1
1 0 0 20 115/2 50
L1 = 3/5 1 0 , L1 H1 = 0 5/2 50 .
0 0 1 0 765/8 75/2
1 0 0 20 25/2 50
L2 = 0 1 0 , R = 0 765/8 75/2
0 4/153 1 0 0 2500/51
L2 P23 L1 P12 H = R .
Rezult
a c
a s-a obtinut o descompunere LR pentru matricea H permutat
a
1 0 0
P23 P12 H = LR, L = (L2 L11 )1 = 0 1 0
3/5 4/153 1
Capitolul 7
Metode de optimizare
adica n punctul de minim gradientul functiei scop trebuie s a fie nul iar matricea
derivatelor partiale de ordinul al doilea, numit a matrice hessian, trebuie s a fie
pozitiv definita1 .
Clasificarea metodelor de optimizare poate fi f acut a dupa mai multe criterii.
Din punct de vedere al restrictiilor impuse variabilelor, avem probleme de opti-
mizare f ar
a restrictii si cu restrictii. Dup
a felul functiei scop, avem probleme de
optimizare liniare, n care at at functia c
at si restrictiile sunt liniare si probleme
de optimizare neliniare. Dup a efortul de calcul al derivatelor, avem metode
de tip Newton la care se calculeaz a matricea hessian (care contine derivatele
partiale de ordinul al doilea) si vectorul gradient (derivatele de ordinul nt ai),
metode cvasi-Newton si metode de gradienti conjugati, la care se calculeaz a
numai derivatele partiale de ordinul nt ai, si metode la care nu se calculeaz a
derivate partiale.
1 O matrice G se nume ste pozitiv definit
a, dac a oricare ar fi vectorul nenul y, are loc
inegalitatea y T Gy > 0. In cazul unidimensional (n = 1 ) n locul matricei G avem derivata a
doua, care, dac a este pozitiva, atunci graficul functiei tine ap
a, iar functia are un minim.
7.1. Minimizarea n lungul unei directii 183
xk+1 = xk + k pk , k = 1, 2, . . . , (7.2)
f (b) 00 2
= f (a) + f (a)(b a) /2 . (7.3)
S-au neglijat termenii de ordinul trei si mai mare si s-a tinut cont c
a n vecin
atatea
minimului f 0 0. Valorile a si b nu pot fi luate oric
at de apropiate dec at dac
a este
ndeplinit
a conditia
astfel nc
at reprezent
arile numerelor f (a) si f (b) s
a fie diferite. Rezult
a
s s
|f (a)| |f (a)|
|b a|
= 2m 00 = |a| m 2 2 00 . (7.5)
f (a) a f (a)
184 7. Metode de optimizare
p
Daca 2|f (a)|/(a2 f 00 (a)) 1, atunci |b a| |a| m , iar conditia pe care o impunem
|b a| < |a| duce la limitarea > m . Spre exemplu, dac a m = 108 , determinarea
minimului o putem face cel mult p
ana cand lungimea intervalului ce contine minimul
devine mai mic adecat 108 = 104 .
Localizarea minimului.
Pentru localizarea minimului este nevoie de cel putin trei puncte (fig. 7.2),
spre deosebire de localizarea solutiei unei ecuatii f (x) = 0, unde sunt necesare
numai doua puncte care ndeplinesc conditia f (a) f (b) < 0. Av and trei puncte
a < b < c, minimul xm este continut de intervalul (a, c) dac a f (a) > f (b) < f (c).
Fiind date doua valori a < b pentru care f (a) > f (b), localizarea minimului se
poate face dupa urmatorul algoritm:
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.
Fie a < b < c cu fa > fb < fc , nu neap arat b = (a + c)/2. Dac a notam
w = (b a)/(c a), atunci 1 w = (c b)/(c a). Se pune problema s a alegem
punctul x (a, c) astfel ncat sa micsor
am intervalul care contine punctul de
minim. Sa presupunem (b, c) acest intervalul de lungime mai mare unde vom
alege pe x si sa notam z = (x b)/(c a). Tripletul care contine minimul
xm va fi a < b < x, sau b < x < c, de lungimi raportate (x a)/(c a) =
w + z, respectiv (c b)/(c a) = 1 w. Strategia este de a minimiza cea
mai dezavantajoasa posibilitate, lucru care se realizeaza impunand ca cele doua
lungimi sa fie egale: 1 w = w + z, rezult and z = 1 2w. Cum aceast a
strategie a fost folosita si la determinarea punctului b la pasul anterior, adic
a
(x b)/(c b) = (b a)/(c a) = w, rezult a x b = w(c b) = z(c a), sau
186 7. Metode de optimizare
|b a| e = 2|x| + s , (7.8)
adica lungimea itervalului care contine punctul de minim s a fie mai mic
a dec
at
o lungime impusa e, iar s este un num ar mic (spre exemplu s = ) introdus
pentru a evita nedeterminarea care apare pentru cazul n care punctul de minim
este chiar x = 0. Conditia (7.8) asigur
a precizia relativ
a de calcul pentru punctul
de minim data de relatia
daca fu ft sau t = x
atunci
v t; t u; fv ft ; ft fu
altfel
daca fu fv sau v = x sau v = t atunci v u; fv fu
e (2 |x| + 1); iter iter + 1
Devine clar ca pentru a obtine o metod a mai eficient a este necesar a g asi
directii de deplasare mai eficiente. Astfel de directii sunt directiile conjugate.
Date: x0 , U (x)
i = 1 : n
(7.11)
xi = min{U (xi1 + ei )} .
R
Directii conjugate.
Fie forma patratic
a definit
a de
n n
2 U
X U 1 X
(x) = U (xk ) + (xj xkj )T + (xj xk T
j ) (xp xkp ) .
j=1
xj k 2 j,p=1 xj xp k
(7.12)
Forma (7.12) coincide cu primii trei termeni din dezvoltarea n serie Taylor a
atatea punctului xk . Not
functiei U (x) n vecin and cu g k gradientul functiei U n
k
punctul x si cu Gk matricea hessian n acelasi punct, expresia (7.12) se poate
scrie vectorial
1
(x) = Uk + (x xk )T g k + (x xk )T Gk (x xk ) , (7.13)
2
iar gradientul functiei este
= g k + Gk (x xk ) . (7.14)
Din cele trei notatii uzuale din (7.20), o vom prefera pe prima, adic a n mod
curent vom nota gradientul cu g.
Deoarece g este variabil, deplasarea trebuie s a fie suficient de mic a pentru
ca plecand dintr-un punct oarecare, s a nt
alnim suprafete de nivel superioare.
Daca, dimpotriva, ne deplas am n sens opus (g ), vom nt alni constante de
nivel Ki cu valori descresc atoare.
2 2
Exemplu. Fie functia U = x + y . Suprafetele de nivel sunt cilindri coaxiali
cu axa Oz iar Ki reprezint a razele cercurilor de intersectie cu planul xOy. Pe
de alta parte, gradientul este g U = 2(~ix +~jy), ~i si ~j fiind versorii axelor Ox
si Oy. Se observa ca n orice punct gradientul este orientat n sensul cresterii
razei, deci a cresterii constantelor Ki (fig. 7.3).
Pentru determinarea minimului functiei U, construim sirul de iteratii
Uk+1 Uk k (g k )T pk . (7.26)
k (x) k (x )
= 12 (x x )T Gk (x x ) > 0 . (7.29)
Gk (xk+1 xk ) = g k xk+1 = xk G1 k
k g =x . (7.30)
pk = G1 k k T k
k g , (g ) p < 0 , (7.31)
194 7. Metode de optimizare
(g k )T pk = (g k )T G1 k
k g <0 , (7.32)
Pentru valori mici ale raportului rk (evident rk > 0 dac a ne deplasam spre
minim), se ia k+1 < k , n timp ce pentru valori care tind c atre unitate se
poate lua k+1 > k .
Directia de cautare pk se determin
a plec
and de la directia Newton definita
de (7.31), rescrisa n forma
directiei de descrestere pk
Calculul
d 1; ip 1
cat timp |d| > p || + 105si ip < np
factorizare Cholesky Gk + I = RT R
rezolva sistemul RT Rpk = g k
rezolva sistemul RT q = pk
d (kpk k/kqk)2 (kpk k/ 1)
+d
ip ip + 1
(7.35)
xk+1 xk + pk ; Uk+1 U (xk+1 ); g k+1 U (xk+1 ); Gk+1 G(xk+1 )
k+1 Uk + (pk )T g k+1 + 12 (pk )T Gk+1 (pk )
d Uk+1 Uk
daca |d| < |Uk+1 | atunci minim calculat stop.
rk d/[(xk+1 ) (xk )]
daca rk > atunci xk xk+1 ; g k g k+1 ; Gk Gk+1
Actualizarea
razei regiunii de ncredere
daca rk
atunci 1
altfel daca rk >
atunci 2 .
Bk pk = g k , (7.36)
sk xk+1 xk = k pk , (7.37)
pentru care
g
= g k+1 + Gk+1 (x xk+1 )
= g k+1 + Bk+1 (x xk+1 ) , (7.39)
z k (y k )T + y k (z k )T (z k )T sk k k T
Bk+1 = Bk + y (y )
k T
(y ) s k [(y k )T sk ]2 (7.42)
z k y k Bk sk = y k + k g k .
1
min{kW 1/2 (Bk+1 Bk1 )W 1/2 kF | Bk+1 sk = y k } , (7.43)
y k (y k )T Bk sk (sk )T Bk
Bk+1 = Bk + . (7.44)
(y k )T sk (sk )T (Bk sk )
sk (sk )T Hk y k (y k )T Hk
Hk+1 = Hk + k T k
, (7.46)
(y ) s (y k )T (Hk y k )
sk (y k )T y k (sk )T sk (sk )T
Hk+1 = I k T k Hk I k T k + k T k =
(y ) s (y ) s (y ) s
(7.47)
Hk y k (sk )T + sk (y k )T Hk sk (y k )T Hk y k (sk )T sk (sk )T
= Hk + + .
(y k )T sk [(y k )T sk ]2 (y k )T sk
Pentru determinarea lui k vom folosi din nou conditia ca vectorii g k si g k+1
a fie perpendiculari. Inmultind relatia (7.48) cu (g k+1 )T , respectiv cu (g k )T ,
s
se obtin relatiile
relatii care nu sunt utile din punct de vedere practic deoarece nu avem la
dispozitie hessiana G. Vom arata ns a ponderea k din relatia (7.48) este
a c
chiar valoarea care rezulta din problema de optimizare k = min{U (xk + pk )}.
R
Pentru aceasta trebuie sa aratam c a vectorii g k+1 si pk sunt perpendiculari,
k T k+1
adica (p ) g
= 0. Inmultind la st anga relatia (7.48) cu (pk )T si tin
and cont
de relatile (7.49) si (7.51), se obtine succcesiv
Ax = b , (7.55)
U (x + p) = hx + p, A(x + p)i 2 hx + p, bi
= hx, Axi + hx, Api + hp, Axi + 2 hp, Api 2 hx, bi 2 hp, bi
= U (x) + 2 hp, Axi 2 hp, bi + 2 hp, Api
= U (x) + 2 hp, Ax bi + 2 hp, Api . (7.59)
T
Am folosit egalitatea hx, Api = A x, p = p, AT x , si cum AT = A, rezult a
hx, Api = hp, Axi. Observam cum coeficientul lui 2 este pozitiv, hp, Api > 0
deoarece matricea A este pozitiv definit
a, deci functia U are un minim pentru
= care poate fi determinat din conditia
d
U (x + p) = 2 hp, Ax bi + 2 hp, Api , (7.60)
d
rezultand
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
unde
= S 1 x, b = S T b .
A = S T AS, x (7.64)
Daca matricea sistemului original are multe elemente nule (matrice rar a),
operatia de preconditionare poate duce la pierderea acestui avantaj. Din acest
punct de vedere, n loc de a efectua o preconditionare explicit
a a sistemului ori-
ginal urmat a apoi de rezolvarea numerica a sistemului obtinut, este mai avan-
tajoasa din punct de vedere numeric folosirea unei tehnici de preconditionare
implicita folosind relatiile
k = S 1 xk ; pk = S 1 pk
x
r = b A
k xk = S T b (S T AS)(S 1 xk ) = S T rk (7.66)
r = S rk = Q1 rk , unde Q1 = S S T .
7.6. Metode de gradient conjugat 203
= S T rk , S T rk / S 1 pk , (S T AS)(S 1 pk )
= SS T rk , rk / SS 1 pk , Apk = Q1 rk , rk / pk , Apk
= rk , rk / pk , Apk .
(7.67)
k+1 = x
x k +
k pk , (7.68)
S 1 xk+1 = S 1 xk +
k S 1 pk . (7.69)
xk+1 = xk +
k pk . (7.70)
k Apk ,
rk+1 = rk k = rk+1 , rk+1 / rk , rk , pk+1 = rk+1 +
k pk .
(7.71)
sau vectorial
U (x) g(x) = J T (x)F (x) , (7.74)
unde J este matricea jacobian and cu [Gi ]j,p = ( 2 Fi )/(xj xp ),
a a functiei F . Not
se obtine
2 U (x) = J T (x)J(x) + Q(x) , (7.75)
unde cu Q s-a notat matricea
Xn
Q(x) = Fi (x)Gi (x) . (7.76)
i=1
Daca minimul functiei U este zero sau foarte mic, atunci n vecin
atatea acestuia
avem valori mici pentru functiile Fi astfel nc
at se poate neglija termenul Q(x)
and2 hessiana cu relatia
din relatia (7.75), aproxim
J T (x)J(x) ,
G(x) = 2 U (x) = (7.77)
obtinand deci o metod a cu eficient
a comparabil
a metodelor de tip Newton.
Dintre metodele care rezolv a problema celor mai mici p
atrate neliniare, metoda
Levenberg-Marquardt face parte din categoria metodelor regiunii de ncredere
n model prezentate la 33. Algoritmul prezentat pentru metoda regiunii de
ncredere poate fi aplicat direct pentru metoda Levenberg-Marquardt, dar tin and
cont de aproximarea hessianei cu (7.77) pot fi aduse mbun atatiri modului de
calcul al directiei de descrestere p.
p
2 Aceast
aipotez
a nu mai este justificat a U (x ) este de acelasi ordin de m
a dac arime cu
valoarea proprie maxima a matricei J J, unde cu x s-a notat punctul n care U ia valoarea
T
minima.
7.8. Probleme de optimizare cu restrictii 205
Ax = b , (7.78)
c
and avem de a face cu restrictii egalit
ati liniare, sau
Ax b , (7.79)
c
and avem de a face cu restrictii inegalit ati liniare. Matricea A are m linii,
unde m este numarul de restrictii impuse celor n variabile ale functiei scop.
Un punct x Rn este admisibil dac a ndeplineste conditiile (7.78) sau (7.79)
dupa cum este cazul. Spre exemplu, n cazul n = 2, o restrictie egalitate de
forma x1 x2 = 1 impune ca minimul s a fie cautat pe o dreapta (fig. 7.5),
iar o restrictie inegalitate de forma x1 x2 1 face ca punctele admisibile
a fie plasate n semiplanul de deasupra dreptei x2 = 1 x1 . Se observ
s a c
a
restrictiile egalitate reduc dimensiunea problemei: minimizarea unei functii scop
de n variabile supuse la m restrictii independente, se poate obtine aplic and o
metoda de optimizare fara restrictii pentru o functie scop de n m variabile.
O prima posibilitate de rezolvare a problemelor cu restrictii liniare este de a
folosi o metoda de optimizare fara restrictii mpreun a cu o strategie de penalizare
a functiei scop daca algoritmul ncearc a sa iasa din domeniul D al punctelor
206 7. Metode de optimizare
Algoritmul Simplex.
Numeroase probleme din practic
a conduc la necesitatea optimiz
arii unei functii
scop liniare3 de forma
n
X
U (x1 , x2 , . . . , xn ) = j xj , (7.83)
j=1
xj 0, j 1, n ,
Xn
aij xj bi , i 1, m1 , bi 0 ,
j=1
Xn
akj xj bk , k m1 + 1, m2 , bk 0 , (7.84)
k=1
Xn
alj xj = bl , l m2 + 1, m, bl 0 .
l=1
3 O functie U : Rn R este liniar
a dac
a ndeplineste urmatoarele dou a conditii: U (x) =
U (x) si U (x + y) = U (x) + U (y), oricare ar fi vectorii x, y Rn si scalarii , , R.
7.8. Probleme de optimizare cu restrictii 207
Vom urmari n continuare obtinerea unei valori maxime (pe care o vom numi
n continuare valoare optim a) a functiei U . Problema determin arii unei valori
minime pentru U se reduce la determinarea unei valori maxime pentru U .
Restrictiile de forma xj 0 sunt impuse de semnificatia fizic a a variabilelor.
Frontiera domeniului admisibil, care contine toti vectorii x Rn care ndeplinesc
simultan conditiile (7.84) si care se numesc vectorii admisibili, este definit a de
ecuatiile liniare obtinute prin transformarea inegalit atilor n egalit
ati. Vectorul
admisibil care realizeaza valoarea maxim a a functiei scop U se numeste vector
optimal. Conditiile bi 0 pot fi ntotdeauna ndeplinite (n cazul n care bp < 0,
se nmulteste cu 1 inegalitatea respectiv a). Deoarece gradientul unei functii
liniare de forma (7.83) este nenul n orice punct, rezult a ca valoarea optim a se
afl
a pe frontiera domeniului admisibil. Aceast a valoare maxim a este finit
a numai
dac a restrictiile (7.84) definesc un poliedru convex. Mai mult, dac a valoarea
optima este unica, atunci ea se va g asi ntr-unul din v arfurile poliedrului.
Problema determinarii valorii optime a functiei U se reduce principial la
cautarea acesteia pe frontiera domeniului valorilor admisibile. Vectorul optimal
trebuie sa satisfaca sistemul de m ecuatii liniare ce definesc frontiera si care
contin n necunoscute, xj , j 1, n, n 7 m.
Exemplu. In figura (7.6) este exemplificat cazul
U (x1 , x2 ) = x1 + x2 , (7.85)
cu restrictiile
x1 + x2 10, 2x1 + x2 3, x1 + x2 3, x1 0, x2 0 . (7.86)
Pe figur
a se observa domeniul admisibil, precum si vectorul optimal unic x = (1.75, 6.50)
aflat pe frontier
a.
In cazul n care n este mare, parcurgerea la nt
amplare a frontierei poate
fi total ineficienta. Algorimul simplex ofer
a o modalitate de cautare a valorii
208 7. Metode de optimizare
optime asigurand n acelasi timp doua lucruri: (a) valoarea functiei scop U
creste de la un pas la altul; (b) valoarea optim a este obtinuta n maximum
M pasi, unde M = max(n, m). Este interesant c a desi algoritmul simplex a
fost elaborat nca din 1948 de G.B. Dantzig iar proprietatea (b) de mai sus era
confirmata practic, aceasta a fost demostrat
a riguros abia n 1982 de S. Smale.
Pentru prezentarea algoritmului simplex, vom apela la dou a exemple simple.
Exemplul I. Se cere s
a se g
aseasc
a valoarea maxim
a a functiei
U = x2 3x3 , (7.87)
cu restrictiile
si binenteles xi 0. Se observ
a valoarea functiei U este cu at
at mai mare cu c at x2 este
mai mare si x3 mai mic. Rescriem prima relatie (7.88) n forma x1 = 32x2 +3x3 0.
Ultima inegalitate este impus a de conditia x1 0; rezulta x2 32 (1 + x3 ). Pentru
7.8. Probleme de optimizare cu restrictii 209
x2 x3 x1 x3 x1 x4
U 0 1 1 U 3/2 1/2 1/2 U 4 1 1
x1 3 2 3 x2 3/2 1/2 3/2 x2 9 2 3
x4 1 1 2 x4 5/2 1/2 1/2 x3 5 1 2
U = x2 x3 , (7.89)
cu restrictiile
Proced and la fel ca n exemplul precedent, obtinem x1 = 3 2x2 + 3x3 0 rezult and
x2 32 (1 + x3 ) si x4 = 1 + x2 2x3 0, rezult and x3 12 (1 + x2 ). Suntem tentati
de valorile x3 = 0, x2 = 3 cu care am obtinut cu at ata usurint a U = 3 n exemplul
precedent. Dac a introducem ns a inegalitatea pentru x2 obtinut a mai sus n expresia
functiei scop, obtinem U 32 + 12 x3 , rezultat care sugereaz a ca valoarea minim a nu
se obtine pentru x3 = 0. Intr-adev ar, putem scrie x2 32 (1 + x3 ) 32 [1 + 12 (1 + x2 )],
rezult and x2 = 9, x3 = 5, x1 = 0, x4 = 0, U = 4. Incepem s a simtim nevoia unei
metodologii mai riguroase, f ara de care este clar c a nu vom putea rezolva problemele
cu mai multe variabile.
Prezent am algoritmul simplex folosindu-ne de exemplul 2 si cu ajutorul tabelului
7.1. Observ am n prima parte a tabelului (primele 4 coloane) c a variabilele x1 si x4 apar
distinct de variabilele x2 si x3 , de care depinde n mod explicit functia U . Variabilele
x1 si x4 care apar pe prima coloan a se numesc variabile de baz a. Variabilele de baz a
sunt acele variabile care apar ntr-o singur a relatie-restrictie (si numai ntr-una), av and
coeficientul pozitiv si care se pot exprima numai n functie de celelalte variabile. In
consecint a, functia scop se poate exprima n asa fel ncat sa nu contin a nici o variabila
de baz a. In exemplul nostru avem variabile de baz a x1 si x4 . Din tabel citim de pe
prima linie U = 0 + 1 x2 1 x3 , de pe linia a doua x1 = 3 2x2 + 3x3 s.a.m.d. De pe
linia functiei scop cautam un coeficient pozitiv si g asim 1 pe coloana variabilei x2 , adic a
la cresterea valorii x2 creste si valoarea functiei scop U . Pe coloana lui x2 c aut am un
coeficient negativ, si g asim valoarea 2 pe linia lui x1 . Inseamn a c
a nu putem creste
oric at de mult valoarea x2 , deoarece acest lucru poate duce la obtinerea unei valori
negative pentru variabila de baz a pentru care am g asit coeficientul negativ, n cazul
nostru x1 . De fapt, rata cresterii functiei U este dat a de multiplicatorul pij = |aijj | bi ,
unde j = 1 este coeficientul lui x2 din expresia functiei U , aij = 2 este coeficientul
negativ de pe coloana lui x2 , iar bi = 3 este termenul liber din expresia variabilei de
baz a x1 , (i = 1, j = 2). Dac a pe coloana lui x2 toti coeficientii ar fi fost pozitivi, ar
fi nsemnat c a puteam creste oric at de mult pe x2 , iar functia scop ar fi crescut de
210 7. Metode de optimizare
asemenea oric at de mult, caz n care problema este ncheiat a. Pasul urm ator consta n
interschimbarea variabilelor x2 si x1 , adic a din relatia de definitie a variabilei de baz a
x1 se expliciteaza x2 , iar expresia obtinuta este folosit
a pentru a obtine U si x4 numai
n functie de x1 si x3 . Se obtin relatiile x2 = 12 (3 x1 + 3x3 ), U = 12 (3 x1 + x3 )
si x4 = 12 (5 x1 x3 ), relatii prezente prin coeficienti n partea a doua a tabelului
7.1. In general, se procedez a la interschimbarea variabilelor xi si xj corespunz atoare
unui multiplicator pij = |aijj | bi maxim. In continuare, c autam un coeficient pozitiv
asim valoarea 12 pe coloana x3 , adic
pe linia functiei U , si g a U nc
a mai creste cu x3 .
Repet am procedeul, c autam un coeficient negativ pe coloana x3 , g asim valoarea 12
pe linia x4 si interschimb am variabilele x3 si x4 ca la pasul anterior. Obtinem ultimele
patru coloane din tabelul 7.1. Pe linia functiei U citim U = 4 x1 x4 . Calculul s-a
ncheiat, deoarece coeficientii variabilelor din expresia functiei U sunt toti negativi.
Solutia o citim pe coloana functiei scop, adic a U = 4, x2 = 9, x3 = 5, iar pentru
celelalte variabile obtinem x1 = x4 = 0.
Stim n acest moment s a rezolv am o problem a de programare liniar a n
forma standard restr ans a. Forma standard se caracterizeaz a prin faptul c a cele
m restrictii (m < n) sunt egalit ati. In plus, matricea A ce se formeaz a cu
coeficientii aij , i 1, m, j 1, n, trebuie s a fie nedegenerat a, adic
a rang(A) =
m. In plus, daca dispunem de un set de nm variabile de baz a, spunem ca avem
o problema n forma standard restr ansa. Dup a cum vom vedea n continuare,
orice problema de programare liniar a de forma (7.83) se poate transforma ntr-o
forma standard restrans a.
Restrictiile inegalit ati se transform a n restrictii egalit
ati cu ajutorul vari-
abilelor auxiliare. In cazul n care nu putem izola variabilele de baz a ca n
exemplele precedente, adic a nu putem izola n m variabile care s a apar
a ntr-o
singura relatie-restrictie cu coeficient pozitiv, apel am la variabile fictive (sau
artificiale). Spre exemplu, restrictiile (7.84) se rescriu n forma
xj 0, j 1, n ,
Xn
zi = bi aij xj + yi , i 1, m1 , bi 0 ,
j=1
Xn
zk = bk akj xj yk , k m1 + 1, m2 , bk 0 , (7.91)
k=1
Xn
zl = bl alj xj , l m2 + 1, m, bl 0 ,
l=1
Exemplu. S
a se g
aseasc
a minimul functiei
situat n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare . Intrucat domeniul n care se caut
a solutiile este destul de mare, se pune
problema alegerii unei valori initiale. O modalitate o constituie mp artirea domeniul n
mai multe subdomenii (12 p atrate n exemplul nostru) prin paralele la axele de coordo-
nate (figura 7.7) si evaluarea functiei U n centrele Ci (i = 1, 2, . . . , 12), obtin
andu-se
valorile din tabelul 7.2.
ale functiei U , acesta dator andu-se exclusiv preciziei impuse la calculul scalarului ,
convergenta acestor metode depinz and de precizia cu care se calculeaz a optim.
Folosind ca punct de start punctul (0.5, 0.5), metodele de optimizare determin a mi-
nimul local al functiei U dat de x = (0.47980, 0.32323). Folosind aceeasi conditie
kgk k <105 , metoda gradientului are nevoie pentru determinarea minimului de 7
iteratii, Hestens-Stiefel 8, Fletcher-Reeves 9 si Polak-Ribi`ere 10 iteratii.
In figura (7.8) este reprezentat drumul parcurs de metodele DFP si gradient simplu
pentru punctul de start x0 = (3.5, 2.5). curbele de nivel U = Ki sunt trasate pentru
valorile Ki {0.906, 0.7, 0.5, 0.3, 0.128, 0.1, 0.05, 0.026, 0.01, 0.0052, 0.00076}. Primul
pas este identic pentru ambele metode. Se observ a ineficienta metodei gradientului
care avanseaz a n zig-zag. Cu cat distanta fata de minim scade, metoda gradientului
devine si mai ineficient a. Explicatia const
a n faptul c
a metoda gradientului se bazeaza
doar pe informatia furnizat a de gradientul functiei scop, care este nul n punctul de
minim si foarte mic n vecin atatea acestuia.
213
Capitolul 8
Rezolvarea sistemelor
neliniare
F (x) = 0 , (8.2)
Ultima egalitate de mai sus s-a obtinut aplicand formula cresterilor finite pentru
o functie de n variabile. Derivatele partiale fi /xj se evalueaza n punctul k
8.1. Iteratia simpl
a 215
n
X
|xk+1
i i | mi |xkj j |, i 1, n . (8.5)
j=1
Desi k depinde si de indicele i prin forma functiei fi (x), putem evalua suma
din dreapta inegalitatilor (8.9) si (8.10) n functie de norma maxim a a matricei
jacobiene J a sistemului de functii f
n n
fi ( k ) fi ( k )
kJ( k )k ,
X X
sup (8.11)
xj i
xj
j=1 j=1
216 8. Rezolvarea sistemelor neliniare
qk
kxk+1 k kx1 x0 k, q [0, 1] , k = 1, 2, . . . . (8.14)
1q
Sistemul de ecuatii liniare (8.15) sau (8.16) se poate rezolva cu metoda elimin arii
gaussiene (capitolul 5). Matricea jacobian a se calculeaz
a analitic sau, dac
a nu
este posibil, numeric, utilizand diferente finite.
Pentru a studia convergenta metodei, consider am x = ( fiind o solutie).
Obtinem
n
X Fi
0 = Fi (xk ) + (j xkj ) + Vi , i 1, n , (8.17)
j=1
xj
2
1 Fi
unde M = sup . (8.23)
2 i,j,p xj xp
Se obtine deci
a x0 , se obtin succesiv
Plecand de la o aproximatie initial
1
kx1 k C kx0 k2 = C 1 (C kx0 k )2
2
kx2 k C kx1 k2 = C 1 (C kx0 k )2
(8.25)
...
k
kxk k C 1 (C kx0 k )2 .
Prin urmare, metoda converge dac
a este satisf
acut
a inegalitatea
2
X fi (x)
unde K = sup sup
. (8.32)
xU0 xj xp
i
j,p
8.3. Metode cvasi-Newton 219
Bk z = Bk+1 z . (8.39)
Vom arata acum c a, matricele Bk+1 furnizate de (8.42) sunt cele mai apro-
piate n norma euclidiana sau Frobenius de matricele Bk . Intr-adev
ar, se poate
scrie
kBk+1 Bk k2 = k(y k Bk sk )(sk )T k2 /(sk )T sk = k(B Bk )sk (sk )T k2 /(sk )T sk
kB Bk k2 ksk (sk )T k2 /(sk )T sk = kB Bk k2 .
A1 u v T A1
(A + u v)1 = A1 . (8.44)
1 + v T (A1 u)
(sk Hk y k )(sk )T Hk
Hk+1 = Hk + , unde Hk = Bk1 , (8.45)
(sk )T (Hk y k )
8.4. Metoda gradientului 221
n
f 0 (k )
X
Fj (xk ) k vjk vjk ,
= (8.53)
j=1
Jk J(x)
rezolva sistemul Jk pN = F k
daca kpN k
atunci p pN
altfel
pG {JkT F k |U (x JkT F k ) = minim}
nG kpG k
a nG
dac
atunci p {pG + (pN pG ) | kpk = }
altfel p (/nG )pg
Fi /xj
= [F (x1 , . . . , xj + h, . . . , xn ) F (x1 , . . . , xj , . . . , xn )]/h . (8.56)
Algoritmul metodei hibride este asem anator cu cel al metodei regiuni de ncredere,
cu o deosebire la calculul directiei de descrestere. Mai nt
ai se ncearc
a avansul
dupa directia Newton data de (7.31). Dac a pasul Newton pkN iese din afara
a kpkN k2 > k , atunci se calculeaz
regiunii de ncredere (fig.8.1), adic a pasul op-
timal pe directia gradientului negativ pkG = k g k , iar dac
a kpkG k2 < k , atunci
224 8. Rezolvarea sistemelor neliniare
x1 + 3 lg |x1 | = x22
(8.57)
2x21 + 1 = x1 x2 + 5x1 ,
situate n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare. Sistemul (8.57) rescrie n forma
sistemul admite dou a solutii, dintre care numai una este n domeniul de interes. Se
observ a c
a mai exist
a o zona, marcat a cu cercul A, unde curbele de nivel ale celor dou
a
functii se apropie destul de mult. Astfel de zone sunt dificile si pot provoca divergenta
metodelor de rezolvare.
Drept criterii de convergent a se recomand a, ntr-o norm
a de vectorial
a oarecare
kF k + 1
k < F , kxk + 1
xk k < x kxk + 1
k, (8.60)
Graficul functiei F (x1 ) este dat n figura 8.3. Ecuatia obtinut a se poate rezolva cu
metoda Newton-Raphson, sau orice alt a metod a de rezolvare a unei ecuatii neliniare.
Avantajul principal const a n posibilitatea localiz
arii r
ad
acinilor. Reducerea num arului
226 8. Rezolvarea sistemelor neliniare
de ecuatii cuplate n sistem prin substituiri, este n general avantajoas a. In plus, ori
de cate ori este posibil, este benefic a obtinerea unei dependente de o singur a variabil
a
pentru a folosi avantajul localiz arii solutiei.
Exemplu 2. S a consideram o problem a real
a din domeniul investigatiilor radar.
Un impuls radar pleac a din E si sufera reflexii de pe dou a frontiere. Un receptor,
plasat n R, m asoar
a timpul dup a care este receptionat semnalul, T2 . Un alt receptor
plasat n E m asoara timpul de parcugere pe vertical a, t2 . Intereseaz
a determinarea
adancimii z1 . Necunoscutele sunt x1 , c1 si z1 . Pozitia punctului de refractie depinde
de propriet atile dielectrice ale mediului. Timpul de parcurgere a distantei EABCR
este
p q
T2 = h2 + (d x1 )2 /c + z12 + x21 /c1 . (8.61)
T2 /x1 = 0 (8.62)
Rezult
a urm
atorul sistem de ecuatii
Capitolul 9
Rezolvarea ecuatiilor
diferentiale
y 0 = f (x, y) , (9.2)
K2 = f (x + h, y + hK1 ) , (9.10)
Sistemul (9.16) are patru necunoscute si numai trei ecuatii. Teoretic exist ao
infinitate de posibilitati de a construi o metod
a de ordinul 2, doua variante fiind
mai des ntalnite. Prima dintre acestea se obtine aleg and w2 = 1/2. Rezult a
= = 1, w1 = 1/2, obtin andu-se formula Euler mbunat
atit
a
i1
X
Ki = f (xm + i h, ym + h ij Kj ), i 1, s, j 1, i 1, 1 = 10 = 0 ,
j=1
(9.20)
K1 = f (xm , ym ), K2 = f (xm + h2 , ym + h2 K1 )
(9.23)
K3 = f (xm + h2 , ym + h2 K2 ), K4 = f (xm + h, ym + hK3 ) .
Date: x0 , xn , Y 0
x = x0 , y = Y 0 , Q0 = 0, h = (xn x0 )/n
m = 0 : (n 1),
K1 f (xm , Y m ), Y1 Y m + h2 (K1 2Q0 ),
Q1 Q0 + 3[ 12 (K1 2Q0 )] 12 K1 ,
K2 f (xm + h , Y1 ), Y2 Y1 + h(1 1/ 2)(K2 Q1 ),
2 (9.24)
Q2 Q1 + 3[(1 1/ 2)(K2 Q1 )] (1 1/ 2)K2 ,
K3 f [xm + h , Y2 ], Y3 Y2 + h(1 + 1/ 2)(K3 Q2 )
Q Q + 3[(1 + 1/2)(K Q )] (1 + 1/2)K ,
2
3 2 3 2 3
K f (x + h, Y ), y h
4 m 3 m+1 Y3 + (K 4 2Q 3 ),
Q Q + 3[ 1 (K 2Q )] 1 K 6
4 3 6 4 3 2 4
Q0 Q4 .
xm + h + h = xm + 2h . (9.25)
y (s+1) (1 )
= y (s+1) (2 ) y (s+1) (), (x, x + 2h) , (9.27)
y(x + 2h)
= yh + e, e (yh y2h )/(2s 1) . (9.29)
Se obtine
(s+1) 1
e hs+1 y(0 )
s+1
0 e 0
= 0s+1 (s+1) h0 = S h |e|
, (9.31)
e h y()
(s+1) (s+1) 1
unde S = |y(0 ) /y() | s+1 este, pentru h suficient de mic, de ordinul unit atii
(rezultate bune n majoritatea cazurilor pot fi obtinute cu S = 0.9). Dac a
eroarea obtinuta cu pasul h este mai mare dec at cea impusa (e > e0 ), atunci
calculul trebuie reluat cu un pas mai mic, h0 fiind o estimare bun a a m arimii
acestui pas. Daca n schimb eroarea obtinut a este mult mai mic a decat cea
impusa (e e0 ), nseamn a ca pasul de integrare este mai mic decat cel necesar,
iar relatia (9.31) poate fi folosit
a pentru estimarea pasului urm ator.
De regula, n locul erorii absolute se foloseste eroarea relativa definit
a ca
= |e/yref |, unde yref este o valoare de referint
a a necunoscutei y (spre exemplu
ultima valoare calculat a, yref = ym+1 = yh ). In acest caz se poate scrie
1
h0 = S h (0 /) s+1 . (9.32)
e
= yh y2h ,
= (yh y2h )/yh . (9.33)
mare. In realitate nu este asa deoarece ambele formule folosesc aceleasi puncte
pentru evaluarea functiei panta, adica numai p evalu ari! Acest lucru este po-
sibil, deoarece raportul dintre num arul de evalu
ari ale functiei pant
a si ordinul
metodei creste cu ordinul metodei dup a cum urmeaz a:
Numar de evaluari 1 2 3 4 5 6 7 8
Ordinul metodei Runge-Kutta 1 2 3 4 4 5 6 6 .
i ai ai b i i i1 i2 i3 i4 i5
1 16/135 1/360 0 0
2 0 0 1/4 1/4
z0 y(xm ); z1 = z0 + h f (xm , y0 )
i = 1 : (n 1)
(9.39)
[zi+1 = zi1 + 2hf (xm + ih, yi )
ym+1 = 12 [zn + zn1 + hf (x + H, zn )] .
Unul din avantajele formulelor (9.39) const a n faptul ca avem nevoie de nu-
mai o evaluare a functiei panta. Avantajul esential l constituie ns
a faptul c
a
dezvoltarea n serie Taylor a erorii contine numai termenii cu puteri pare
X
e ym+1 y(x + H) = ai h2i . (9.40)
i=1
Astfel, daca avem doua valori yn si yn/2 obtinute cu n respectiv n/2 subintervale,
obtinem o valoare mbunatatita
de ordinul patru si nu trei cum ar fi fost normal pentru o formula de ordinul doi.
Pentru extrapolare la valoarea h = 0, Burlisch si Stoer au g asit mai eficient
a
aproximarea cu functii rationale n locul interpol
arii polinomiale.
x = xm + h, 1 . (9.43)
240 9. Rezolvarea ecuat
iilor diferent
iale
ym+1 = ym + 3h
10 (11fm 14fm1 + 26fm2 14fm3 + 11fm4 ) ,
41 7 (6) 41 7 (6)
m = 140 h () = 140 h m + O(h8 ) .
(9.50)
Observatii.
1. Formulele prezentate n acest paragraf sunt explicite pentru c
a toti terme-
nii din dreapta semnului egal sunt cunoscuti. Formulele explicite cu pasi
legati se mai numesc formule predictor.
2. Formulele explicite multipas necesit a evaluarea unei singure functii fm la
fiecare pas, indiferent de ordinul de pecizie al formulei.
x = xm+1 + h, 0 (9.52)
242 9. Rezolvarea ecuat
iilor diferent
iale
ym+1 = ym3 + 2h
45 (7fm+1 + 32fm + 12fm1 + 32fm2 + 7fm3 ) ,
8 8 (4)
m = 945 h7 (6) () = 945 h7 m + O(h8 ) .
(9.57)
f (x, y) s
a fie mai mic decat ordinul metodei, n caz contrar dispare avantajul
volumului de calcul mai redus al formulelor multipas, n raport cu formulele
(0)
pas cu pas. De aceea, pentru start se alege valoarea ym+1 dat a de o formul a
multipas explicita, de acelasi ordin, formul
a utilizat
a ca predictor, n timp ce
formula implicita (9.58) foloseste drept corector. O asemenea combinatie se
numeste formul a predictor-corector.
Metoda predictor-corector ne furnizeaz a posibilitatea de evaluare a erorii si
and formulele Adams (9.48) si
de a face astfel o noua corectie. Astfel, utiliz
(9.55), se obtine
(Ac) (Ac) (Ap)
ym+1 = ym+1 19
270 (ym+1 ym+1 ) + O(h6 ) . (9.61)
y 0 = fm + am (x xm ) + bm (y ym ) f (x, y) , (9.63)
y = ym Am ebm (xxm ) + Am + Bm (x xm ),
(9.64)
Am = fm /bm am /b2m , Bm = am /bm , bm 6= 0 .
Asa cum se observa, membrul drept din (9.63) contine primii 3 termeni din
dezvoltarea Taylor a functiei de dou
a variabile f (x, y). Dac
a f (x, y) este o
244 9. Rezolvarea ecuat
iilor diferent
iale
functie de gradul nt
ai n variabilele x, y, atunci expresia (9.64) este exact
a,
daca valorile ym sunt exacte. Pentru x = xm+1 , solutia (9.64) devine
(RK)
eRm fiind eroarea de rotunjire cu care obtinem numeric valoarea ym+1 . S-a
folosit bara pentru a indica valorile aproximative. Pe de alt a parte, s-a avut
n vedere ca, la pasul x = xm , problema se rezolv a prin metoda Runge-Kutta
pentru o conditie initial
a alterat
a (y = ym ).
(RK)
Eroarea absolut a em+1 este, conform definitiei, diferenta ym+1 ym+1
5
(RK) (bm h) bm m
em+1 = e(RK)
m (Am Am )(ebm h 1) Am e m ) eRm .
+ (Bm B
5!
(9.67)
S-a folosit formula Taylor pentru a nlocui
X4 (bm h)5 bm m
(bm h)n /n! = ebm h 5! e , (xm , xm+1 ) . (9.68)
n=0
n care caz termenul exponential dispare din solutia exact a. Aceasta situatie se
poate produce pentru anumite conditii la limite. In fapt, anularea derivatei y 00
n fiecare punct conduce la o functie de gradul nt ai. Ca urmare, at at eroarea
(RK) (RK)
absoluta em+1 cat si cea relativa, m+1 pot creste oric at de mult, indiferent
de metoda numeric a folosit
a. De aceea se spune c a solutia, pentru conditia la
limita care satisface (9.73), este inerent instabil a numeric.
2. Daca bm h (1, 0), atunci ebm h < 1, iar solutia poate deveni instabil a
odata cu scaderea n modul a valorilor solutiei.
In continuare, vom arata particularit atile propag
arii erorilor pentru formu-
lele multipas. Pentru a aplica formula Milne (9.56) ecuatiei (9.63), vom scrie
(M )
fm+1 = fm + a
m h + bm ( (M )
ym+1 ym ) (9.74)
T
inand seama de (9.76), din formula Milne (9.56) se obtine urm
atoarea
(M )
ecuatie n diferente pentru ym
(M ) (M )
ym+1 4bh/3
(1 bh/3) (M )
ym (1 + bh/3)
ym+1 (9.77)
= 2h(f0 by0 ) + 2a h2 m .
Se obtin solutiile
p
r1 = (2bh + 9 + 3b2 h2 )/(3 bh) p (9.79)
r2 = (1/r1 )(3 + bh)/(3 bh) = (2bh 9 + 3b2 h2 )/(3 bh) .
246 9. Rezolvarea ecuat
iilor diferent
iale
(a + bf0 ) b hm ah
ym = (e 1) m + y0 + e0Rm . (9.84)
b2 b
Se observa prezenta termenului exponential eb hm . Pe de alt
a parte, utiliz
and
conditia (9.81), ecuatia (9.80) devine
(M )
ym = 1
b2
(
a + b f0 )(r1m 1) + C2 (r2m r1m ) 1b a
h m + y0 + eRm . (9.85)
In (9.87) s-a tinut seama ca dezvoltarile n serie Taylor ale functiilor r1 si ebh
5 5
coincid pana la termenii n b h . Mai precis
X4 (bh)0 b 5 h5
r1 = + + O(b6 h6 ), |b h| < 1 . (9.88)
i=0 i! 72
Eroarea absoluta n cazul metodei Milne-predictor este
e(M
m
) (M )
= ym ym = 1
b2 (a + b f0 )(eb hm r1m ) C2 (r2m r1m ) + e0Rm eRm ,
depinzand atat de r1 cat si de r2 (vezi (9.79)). Se observ a aparitia unui termen
suplimentar n ecuatia cu diferente Milne, legat de existenta a dou a solutii r1 ,
r2 ale ecuatiei n diferente (9.77), fata de solutia exacta (9.84). Dintre cele dou a
solutii, r1 este cea care urmeaza ndeaproape exponentiala ebh , n timp ce r2
este o solutie str aina.
Daca bh (0, 1), atunci r1 > 1, iar r2 av and dezvoltarea r2 = (1 bh/3 +
b2 h2 /18 + . . . ) este, n modul, subunitar (|r2 | < 1). Ca urmare, solutia proprie,
r1m , este preponderenta, iar erorile de trunchiere sunt proportionale cu |ebh r1 |,
daca (a + bf0 ) 6= 0. Solutia este relativ stabil a: eroarea relativ a |m | descreste.
Daca bh (1, 0), atunci termenul n r2m este preponderent (|r2 > 1) si
solutia este numeric instabil a, atat eroarea absolut a cat si cea relativa crescand
n modul.
Cazul critic este: a + bf0 = 0, a + bf0 6= 0, caz n care avem
+ bf0
3 bh a 0
C2 p
2 9 + 3b2 h2 b2 r1 + eR1 eR1 , (9.89)
unde
Ki1 = fi (xm , yi,m ), Ki2 = fi (xm + h2 , yi,m + h2 Ki1 ),
h h (9.93)
Ki3 = fi (xm + 2 , yi,m + 2 K2 ), Ki4 = fi (xm + h, yi,m + hKi3 ) .
Ordinea de calcul a derivatelor este urm atoarea: se calculeaza Ki1 pentru toti
indicii i = 1, 2, . . . , n, apoi Ki2 , s.a.m.d. Plecand din punctul x0 cu valorile
initiale date de (9.91) se calculeaz a valorile yi,m pas cu pas.
Criteriile de modificare a pasului sunt similare cu cele din cazul unei singure
ecuatii diferentiale. Folosirea criteriului simplu const a n calculul raportului
Ki2 Ki3
r = sup 0.01 (9.94)
i Ki1 Ki2
a r 0.1, sau dublarea pasului dac
si njumatatirea pasului dac a r 0.001.
Criteriul calcului dublu cu pasii h si 2h consider a modelul (9.25) can-
a, dup
titatea
(h) (2h)
|yi yi |
= sup , (9.95)
i 2s 1
(h) (2h)
unde yi este calculat cu pasul h iar yi cu pasul 2h, s fiind ordinul metodei.
Pasul se pastreza dac a se afl
a ntr-un interval considerat dinainte. Limitele
pentru se stabilesc n functie de problema care se rezolv a. In cazul c
and se
6 4
lucreaza adimensional, (10 , 10 ) este un interval uzual, n functie de
precizia dorita si de calculator. In locul normei maxime din relatiile (9.94) si
(9.95), se pot folosi orice alte norme de vectori.
In mod similar, pentru rezolvarea sistemului (9.90) se pot utiliza metode
multipas. Pentru formula predictor-corector Adams, spre exemplu, se scrie
(Ap) h
yi,m+1 = yi,m + 24 (55fi,m 59fi,m1 + 37fi,m2 9fi,m3 ) ,
(Ac) h
yi,m+1 = yi,m + 24 (9fi,m+1 + 19fi,m 5fi,m1 + fi,m2 ) , (9.96)
(Ac) 19 (Ac) (Ap)
yi,m+1 = yi,m+1 270 (yi,m+1 yi,m+1 ), i 1, n .
9.6. Sisteme de ecuatii diferentiale. Ecuatii de ordin superior 249
h sup |fi /yj | < (1/n)(24/9); h |fi /yj | < (24/9), i, j 1, n , (9.97)
Metoda tirului.
Din punct de vedere al dificultatii rezolv
arii unei probleme cu conditii la limite,
distingem doua situatii pe care le vom trata separat: (a) probleme cu valori la
limite uniparametrice, cand n1 = 1 sau n2 = 1; (b) probleme cu valori la limite
cu doi sau mai multi parametri.
F (k1 )(k1 k2 )
k = k1 . (9.102)
F (k1 ) F (k2 )
unde y1 si y2 sunt dou a solutii obtinute pentru dou a valori diferite ale parame-
trului y 0 (x0 ), iar se determin a din conditia ca y(xN ) = rezult and
Spre exemplu, utiliz and metoda gradientului (vezi 8.4), se scrie sirul de iteratii
k+1 = k k g k unde g este vectorul gradient, g k = U (k1 , k2 ) = J T F ,
J este jacobiana functiei vectoriale F = (F1 , F2 )T . Parametrul k > 0 se
determina optimizand descresterea functiei U n lungul directiei gradientului
negativ g.
Plecand dintr-un punct ales initial (01 , 02 ), este necesar
a cunoasterea ma-
tricei jacobian J0 pentru a g asi directia de descrestere. Cum n general este
imposibil de determinat expresia analitic a a jacobienei, aceasta se poate apro-
xima cu ajutorul diferentelor la dreapta
[F1 (10 + h1 , 20 ) F10 ]/h1 [F1 (10 , 20 + h2 ) F10 ]/h2
J0 = .
[F2 (10 + h1 , 20 ) F20 ]/h1 [F1 (10 , 20 + h2 ) F20 ]/h2
(9.118)
Y 0 = F (x, Y ) , (9.119)
unde L0j si LN k sunt expresii liniare sau neliniare care contin functiile necunos-
cute yi , i 1, n. Relatiile (9.124) se pun n aceasi form
a cu (9.123)
E m+1 (Y m m
, Y m+1 + Y m+1 ) P
= E m+1 (Y m , Y m+1 )+
Pn + Y m+1 n
+ i=1 (E /yi,m )yi,m + i=1 (E m+1 /yi,m+1 )yi,m+1 .
(9.126)
254 9. Rezolvarea ecuat
iilor diferent
iale
Desi sistemul (9.127) este de regul a mare4 se poate rezolva foarte eficient cu
metoda eliminarii gaussiene dac a de tine cont de structura matricei sistemului
care contine elementele nenule grupate n blocuri de dimensiuni n 2n. Relatia
(9.128) ilustreaza structura sistemului liniar pentru n = 3 si N = 4, cu 2 conditii
la x = x0 , y1 (x0 ) = y10 , y2 (x0 ) = y20 si o conditie la x = xN , y1 (xN ) = y1N . Au
fost reprezentate numai elementele nenule. Pentru astfel de sisteme cu matrice
rare exista tehnici eficiente de optimizare a memoriei utilizate (vezi 5.1.11), cu
pretul unor calcule suplimentare.
Dupa cum am vazut la 8.2, metoda iterativ a Newton converge rapid dac a dis-
punem de un punct suficient de apropiat de solutie. Pentru obtinerea aproximatii
de start, se poate folosi o metod a pas cu pas cu care se integreaz a ecuatiile
diferentiale cu conditiile la limit a completate la unul din capetele intervalului,
la fel ca la metoda tirului. In unele cazuri avem de rezolvat de mai multe ori
acelasi sistem de ecuatii diferentiale care sufer a mici modific ari. In asemenea
cazuri, o solutie obtinut a poate fi folosit a ca punct de start pentru calculele
urmatoare.
y30
E30
x x x
x x x
y11
E11
x x x x x x
y21
E21
x x x x x x
y31
E31
x x x x x x
y12
E12
x x x x x x
y22
= E22
x x x x x x
y32
E32
x x x x x x
y13
E13
x x x x x x
y23
E23
x x x x x x
y33
E33
x x x x x x y2N E2N
x x x y3N E3N
(9.128)
y1 y, y2 y 0 , y3 y 00 , . . . , yn y (n1) . (9.130)
9.7 Sisteme cu sc
ari disparate
Sistemele de ecuatii diferentiale ordinare cu sc ari disparate provin de regul a
din descrierea unor fenomene evolutive cu sc ari de timp diferite. De exemplu,
controlul automat al traiectoriei unei aeronave impune corectii rapide n cazul
unor abateri de la traiectoria programat a. Un alt exemplu poate fi preluat n
cazul reactiilor chimice complexe cu o gam a larga de valori pentru vitezele de
reactie. In astfel de situatii, conditiile de stabilitate ale metodelor de rezolvare
impun pasi de integrare exagerat de mici si care nu sunt justificati de vitezele
de variatie ale unor functii necunoscute.
Pentru exemplificare, vom considera sistemul
0
y1 = 998y1 + 1998y2 , y1 (0) = 1 ,
(9.132)
y20 = 999y1 1999y2 , y2 (0) = 0 ,
Este posibila si obtinerea unor metode pas cu pas de ordine mai mari de 2 cu
pretul unor calcule laborioase, care nu ntotdeauna sunt justificate dac
a folosim
o liniarizare de forma (9.134) sau celei de mai sus.
2
Exemplul 1. Fie ecuatia diferential a y 00 = 4kxy 0 (4k2 x2 + m2 2k)y + m2 ekx ,
0
y(0) = 1, y (0) = m a. Se cere solutia pe intervalul [0, 1.6], pentru (a) a = 1, m =
15, k = 1 si (b) a = 13, m = 1, k = 0.
2
Rezolvare. Ecuatia are solutia y = [1 + a sin(m x)]ekx , deci vom putea compara
rezultatele numerice cu cele exacte. In figura 9.3 sunt reprezentate functiile y(x) si
y (6) (x) pentru k = 1. Rezultatele calculelor sunt date n tabelele 9.3 si 9.4, pentru (a),
respectiv (b). S-au folosit metodele Runge-Kutta-Gill, Adams si Milne cu pasii (a) h =
0.05, 0.02, 0.01, respectiv (b) h = 0.2, 0.1, 0.05. Pentru metodele predictor-corector
sunt date trei seturi de rezultate: P predictor, C1 o singur a corectie, C2 doua corectii.
Valorile din tabele reprezint a erorile absolute calculate cu formula e = ( y yexact ) si
amplificate cu 104 , respectiv 106 . Pe ultima coloan a este dat num arul de evaluari ale
functiei pant a F pentru x = 1.6 care poate fi calculat cu relatia nF = sr+(N r)(1+c),
unde s este ordinul metodei pas-cu-pas folosit a pentru start, r este gradul polinomului
de interpolare folosit n formula multipas, N = (xmax xmin )/h este num arul de pasi,
iar c este num arul de corectii efectuate cu formula corector.
Pentru cazul (a), pasul h = 0.05 se dovedeste a fi prea mare. Spre exemplu,
eroarea absolut a n x = 0.4 pentru metoda Runge-Kutta este 8.9 103 . Expresia
erorii pentru o metod a de ordinul 4 este de forma e = Ch5 (4) (), unde C este o
constant a, iar (x) f (x, y(x)) = y 00 (x). Pentru exemplul considerat avem
2
(4) y (6) (x) = [120 + 720x +480x4 +64x6 + cos(15x)(8 313 300x 525 600x
2 x2
+2880x5 + sin(15x)(9 912 255 + 2 876 220x 53 520x4 +64x6 )]e ,
este de ordinul 103 la toate metodele folosite. Cresterea preciziei prin folosirea for-
mulelor implicite de tip corector nu este posibil a deoarece pasul este nc a prea mare
(relatia (9.60)). Pentru h = 0.01 iese n evident a superioritatea (din punct de vedere
al efortului de calcul) metodelor predictor-corector. Spre exemplu, folosind formulele
Milne cu 2 corectii, cu pretul a 484 evalu ari ale functiilor pant a, se obtine acelasi or-
din de precizie cu metoda Runge-Kutta care necesit a 640 evalu ari, adic
a cu 32% mai
mult, iar dac a folosim o singur a corectie, rezultate bune se obtin cu pretul a numai
326 evalu ari, adica aproape de dou a ori mai putine evalu ari decat cu Runge-Kutta.
Pentru cazul (b), erorile absolute se mentin n limite normale (adic a O(h5 )) pentru
toate formulele aplicate. Derivata din expresia erorii absolute este (x) y (6) (x) =
(4)
13 sin(x), astfel c a putem folosi pasi de integrare mai mari. In Tabelul 9.4 sunt
date si erorile absolute (multiplicate cu 106 ) obtinute aplic and relatia (9.62), iar
1 (c) (p)
reprezint a valoarea corectiei din aceast a relatie, = 29 (ym+1 ym+1 ). Dup a cum se
observ a din relatiile (9.48) si (9.49) precizia formulei Adams-predictor este mai mare
decat a formulei Milne-predictor, iar din relatiile (9.55) si (9.56) se poate vedea cum
formula Milne-corector este n general mai precis a dec at Adams-corector. Fat a de
cazul precedent, folosirea celei de-a doua corectii duce la rezultate mai exacte. Cele
mai bune rezultate le avem pentru h = 0.05 cu Milne folosind formula corector de dou a
ori. Ordinul de precizie este acelasi cu cel dat de formula Runge-Kutta, dar cu un efort
de calcul cu aproximativ 30% mai mic, n timp ce folosirea unei singure corectii duce
la un efort de calcul cu 83% mai mic fat a de Runge-Kutta si rezultate acceptabile.
Metoda Runge-Kutta se dovedeste ns a mai stabil a n situatii dificile decat formulele
predictor-corector care sunt mai sensibile datorit a extrapol arii din formula predictor si
a procedeului de tip iteratie simpl a din formula corector a c arei conditie suficienta
de convergent a este dat a de (9.60). Aplicarea formulei (9.62) nu duce la rezultate
sensibil mai exacte, ns a reprezint a o informatie util a privind ordinul de m arime a
erorii absolute, n special n situatiile n care solutia nu are variatii puternice.
In tabelul 9.5 sunt datele referitoare la efortul de calcul necesar obtinerii unei
258 9. Rezolvarea ecuat
iilor diferent
iale
solutii aproximative cu precizie impus a. Pentru cazul (a) s-a impus o precizie relativ a
de 106 , iar pentru cazul (b), o precizie absolut a de 106 . Pentru metodele pas cu pas,
Runge-Kutta (RK4), Kutta-Merson (KM) si Runge-Kutta-Fehlberg (RKF), s-a folosit
integrarea adaptiv a descris a la 9.2.4, n timp ce pentru formulele predictor-corector
Adams si Milne s-a integrat cu pas constant. Pentru primul caz, dintre metodele unipas
metoda Runge-Kutta s-a dovedit mai eficient a, n timp ce pentru cazul al doilea mai
eficienta este metoda Runge-Kutta-Fehlberg. Nu putem trage concluzii definitive pe
baza exemplelor considerate, pe de o parte pentru c a doar dou a exemple reprezint a
prea putina informatie pentru a generaliza, iar pe de alt a parte pentru c a, efortul de
calcul de la metodele adaptive depinde uneori si de o alegere norocoas a a pasului
de plecare, dac a micsorarea pasului se face prin njum at
atire. Aplicarea relatiei (9.29)
este cu atat mai eficienta cu c at derivata (4) y (6) are variatii c
at mai mici. Aceeasi
observatiei este valabil
a si n ceea ce priveste estimarea pasului optim de integrare dat
de (9.32), unde este esential a folosirea unei valori pentru factorul de sigurant a de cel
mult 0.9.
Pentru cazul (b) ordinul metodelor si spune cuv antul, efortul de calcul fiind sensibil
9.7. Sisteme cu sc
ari disparate 259
egal pentru toate metodele folosite. Pentru cazul (a) rezultate mai bune se obtin
cu metodele multipas. Rezultatele mai bune ale formulei Milne le punem pe seama
preciziei superioare a formulei corector fat a de formula corector Adams. Rezultatele
mai slabe date de formulele Runge-Kutta-Merson si Runge-Kutta-Fehlberg se datoresc
n principal aproxim arilor ce intervin n estimarea erorii, vezi (9.36).
In concluzie, ori de c ate ori timpul de calcul nu costituie o problem a si nu avem
informatii suplimentare privind solutia unui sistem de ecuatii diferentiale, se reco-
mand a metoda Runge-Kutta-Gill cu criteriul pasului dublu, ca fiind cea mai sigur a
cale.
Exemplul 2. S a se rezolve ecuatia diferential a f 000 + f f 00 = 0 cu conditiile la
0 0
limite pe intervalul [0, ], f (0) = 0, f (0) = 0, f () = 1. (Ecuatia este nt alnit
a la
calculul stratului limit a laminar incompresibil pe o plac a plana. Este cunoscut a sub
denumirea de solutia lui Blasius).
Rezolvare. Se scrie sistemul de ecuatii diferentiale echivalent, folosind notatiile
y1 = f (x), y2 = f 0 (x), y3 = f 00 (x). Sistemul obtinut este y10 = y2 , y20 = y3 , y30 = y1 y2
cu conditiile la limite y1 (0) = y2 (0) = 0, y20 () = 1. Prin urmare avem de rezolvat
o problem a bilocala. Un element suplimentar l constituie faptul c a intervalul pe care
se caut a solutia este infinit. In acest caz, putem proceda pe dou a cai: (a) se face
o schimbare de variabil a independent a convenabil a, care transform a intervalul [0, )
ntr-un interval finit (transformarea trebuie s a fie o bijectie); (b) se porneste calculul
cu un anumit pas, urm arindu-se dac a functiile y1 , y2 , y3 au tendinta s a se stabilizeze
dup a o anumit a distant
a pe x. Parametrul problemei este y3 (0) despre care se stie c a
este pozitiv (din considerente fizice).
S-a plecat cu valoarea y3 (0) = 0.20, folosind un pas constant n x (h = 0.20) si
s-a integrat p ana la x = 6. S-a obtinut y2 (6) 1 = 0.434162. Pentru y3 (0) = 0.60
s-a obtinut y2 (6) 1 = 0.177466, prin urmare s-a realizat o schimbare de semn. In
continuare, s-a aplicat metoda coardei. Rezultatele iteratiilor dup a parametrul =
y3 (0) si functia scop U () = y2 (6, ) 1 sunt date n tabelul 9.6. S-a folosit formula
Runge-Kutta de ordinul 4.
Criteriul de oprire a iteratiilor a fost |U ()| < . La iteratia a 4-a s-a realizat aceast a
conditie pentru = 104 . Cu y3 (0) = 0.469625 obtinut n aceast a a 4-a iteratie, s-au
calculat functiile y1 , y2 si y3 pentru diferite valori ale lui x (pasul h = 0.20), ale c aror
valori sunt date n tabelul 9.7.
Din tabelul 9.7 se observ a variatia lenta a functiilor y2 si y3 pentru x 3, ceea ce
justifica oprirea calculului la x = 6 (n loc de x ). Cresterea usoar a a functiei y2
peste valoarea 1 de la x = 5.4 la x = 6.0, sugereaz a o eventual a necesitate de crestere
a preciziei. Astfel, s-a mai efectuat o iteratie (a cincea) pentru obtinerea unei valori
mai precise pentru . Din tabelul 9.6 se obtine valoarea y3 (0) = 0.469604 ( = 105 .
Cu aceast a valoare mbun at
atit
a rezult a y2 (5.6) = 0.9999926 si y2 (6.0) = 1.000005,
precizie care poate fi considerat a cu totul satisf acatoare.
260 9. Rezolvarea ecuat
iilor diferent
iale
Capitolul 10
Ecuatii diferentiale cu
derivate partiale
i (x1 , . . . , xn , u) = Ci , i 1, n . (10.4)
10.1. Ecuatii cu derivate partiale de ordinul I 265
(C1 , . . . , Cn ) = 0 (10.5)
Scheme explicite.
O prima etapa n rezolvarea numeric a a unei ecuatii cu derivate partiale o con-
stituie discretizarea, care consta pe de o parte n divizarea domeniului cu aju-
torul unei retele de calcul, iar pe de alt
a parte n nlocuirea ecuatiei cu derivate
partiale cu o ecuatie mai simpla. Exist a mai multe metode pentru nlocuirea
ecuatiei cu derivate partiale: metode cu diferente finite, metode cu volume fi-
nite, metode cu elemente finite, metode spectrale. In acest capitol, vom prezenta
elementele de baza pentru rezolvarea numeric a a ecuatiilor cu derivate partiale
folosind metode cu diferente finite.
Consideram ecuatia unidimensional a a propag arii undelor
u u
+a = 0, x [0, 1], t [0, T ] , (10.8)
t x
unde a este o constanta pozitiva. Am folosit notatia uni u(xi , tn ). Pentru a
rezolva ecuatia (10.8), sunt necesare conditii initiale de forma
u(xi , tn )
u(xi1 , tn ) = u(xi , tn ) h + O(h2 ), (10.11)
x
u(xi , tn )
u(xi , tn+1 ) = u(xi , tn ) + k + O(k 2 ) ,
t
unde xi = ih, i 0, I, tn = nk, n 0, N , h = 1/I, k = T /N . Rezult
a
n n
u(xi , tn ) u uni uni1 u un+1 uni
= + O(h), = i + O(k) .
x x i h t i k
(10.12)
unde cu vin s-a notat valoarea aproximativ a a functiei u(ih, nk), iar c = ak/h
este cunoscut sub denumirea de num ar Courant1 . Relatia (10.13) este o schem a
a cu diferente finite, deoarece valorile vin+1 se determin
explicit a direct, folosind
numai valorile vin de la momentul de timp anterior. Valorile vin sunt aproxi-
mative deoarece din dezvolt arile (10.11) am folosit numai termenii de ordinul
10.1. Ecuatii cu derivate partiale de ordinul I 267
nt
ai. Spunem ca formulele (10.12) au ordinul ntai de precizie. Observ
am cum
a vin+1 = vi1
pentru c = 1 se obtine solutia exact n
.
Exemplu. Vom rezolva ecuatia
u u
+ = 0, (10.14)
t x
cu conditiile initiale si la limit
a
dt = dx/a , (10.16)
obtinem
Utilizand schema (10.19) pentru rezolvarea ecuatiei (10.14), valorile vin+1 pentru
toate momentele de timp r am an egale cu valorile initiale vi0 , deoarece schema
(10.19) nu permite propagarea informatiei de la st anga la dreapta, ci numai de
la dreapta la stanga. Schema (10.19) ar putea fi folosit a n cazul c < 0, caz n
care schema (10.12) nu mai este adecvat a.
Putem ncerca o aproximare mai bun a pentru derivata spatial a folosind di-
ferente centrate
n
u un uni1
= i+1 + O(h2 ) , (10.20)
x i 2h
obtinandu-se
Figura 10.3: Rezultate obtinute pentru ecuatia (10.14), cu schemele explicite (10.21)
si (10.22) pentru t = 0.5.
schema care este instabila pentru orice valoare a num arului Courant c. Ob-
servam cum un ordin mai mare n aproximarea derivatelor partiale, nu nseamn
a
neaparat precizie mai buna.
O schema explicita des ntalnit
a este schema Lax-Wendroff dat
a de
a vin+1 =
care are ordinul de precizie O(h2 ). Pentru c = 1 se obtine solutia exact
n
vi1 , la fel ca la schema (10.13).
Exemplu. In figura (10.3) sunt date rezultatele obtinute la momentul de timp
t = 0.5 pentru ecuatia (10.14) rezolvat
a cu schemele explicite (10.21) si (10.22). Re-
zultatele obtinute cu schema (10.21) sunt proaste chiar si pentru h = k = 0.05, n timp
ce rezultate foarte bune se obtin cu schema (10.22) pentru h = k = 0.05, acceptabile
pentru h = 0.05,k = 0.01, si proaste pentru h = 0.05, k = 0.1 deoarece schema este
instabil
a.
Scheme implicite.
Convergenta conditionata este o caracteristica a schemelor explicite si impune
adeseori pasi de timp foarte mici. Pentru a evita acest neajuns, se folosesc
schemele implicite, n care derivatele spatiale se aproximeaza folosind valorile
aproximative vi nu la momentul n, ci la momentul n + 1,
n+1
u un+1
i+1 ui
n+1
= + O(h) . (10.23)
x i h
270 10. Ecuat
ii diferent
iale cu derivate part
iale
Figura 10.4: Rezultate obtinute pentru ecuatia (10.14), cu schemele implicite (10.24)
si (10.25) pentru t = 0.5.
vin+1 = (cvi1
n+1
+ vin )/(1 + c), i = 1, 2, . . . . (10.24)
vin+1 = vi1
n
+ 1c n
1+c (vi
n
vi1 ), (10.25)
u u 2 u
Bj = F (x1 , . . . , xn , u, , ), i 1, n, i6=j , (10.28)
xj xi x2i
iar problema se rezolva simultan numai pentru punctele situate pe suprafetele
xj = const, nu pentru toate nodurile din domeniu, ceea ce simplific a esential
calculul. Problemele cu ecuatii de tip parabolic sunt comparativ mai simple
(la acelasi numar de variabile) dec at cele cu ecuatii de tip eliptic. Exemplu
tipic de ecuatie de tip parabolic, este ecuatia de transmitere a c
aldurii n regim
nestationar
u 2u 2u
= + 2 , (10.29)
t x2 y
t fiind timpul. Ecuatia (10.29) n trei variabile independente (x, y, t) este, n ge-
neral, mai usor de rezolvat numeric dec at ecuatia (10.27) n variabilele (x, y, z).
In cazul ecuatiei de tip hiperbolic, exista puncte care nu se pot influenta
reciproc. Un exemplu l reprezint a miscarile supersonice, unde perturbatiile
mici sunt limitate la interiorul unui con, denumit con Mach. Prin urmare, n
rezolvarea numerica trebuie evitat a comunicarea numeric a a nodurilor care nu
comunica fizic ntre ele. Un exemplu tipic de ecuatie de tip hiperbolic este
ecuatia undelor
2u 2u
2
= a2 2 , (10.30)
t x
a fiind viteza de propagare a undei (a = const). In cazul ecuatiilor hiperbolice
exista mai multe directii caracteristice distincte de-a lungul c
arora se poate
272 10. Ecuat
ii diferent
iale cu derivate part
iale
at a m2 b m + c = 0, atunci
Daca curba are panta m = dy/dx astfel nc
sistemul (10.33) este nedeterminat, necunoscutele uxx , uxy , uyy neput
and fi
determinate n mod unic.
Ecuatia (10.34) poate avea:
10.2. Ecuatii cu derivate partiale de ordinul II 273
u 2u
= . (10.35)
t x2
Ecuatia (10.35) este un caz particular al ecuatiei (10.31), cu y t, a = 1, b = 0,
c = 0, f = 0. Avem b2 4ac = 0, deci ecuatia este de tip parabolic.
Exemplu. Ecuatia (10.35) se nt alneste n transmiterea c aldurii n regim nesta-
tionar. Absenta constantelor fizice n (10.35) se explic a prin faptul c a s-au introdus
variabile adimensionalizate: u, temperatura adimensionalizat a, t, x timpul si coor-
donata spatial
a, de asemenea adimensionalizate. Transferul c aldurii printr-o bar a n
care una din dimensiuni este mult mai mare dec at celelelalte doua si deci fenomenul
se poate considera unidimensional, n regim nestationar, este descris de ecuatia
cp T 2T
= , (10.36)
t x2
unde este densitatea materialului n kg/m3 , cp c a n j/kg K, iar
aldura specific
a, j/m grad. Ecuatia (10.36) are conditiile initiale si la
este conductivitatea termic
limite
T (x, 0) = F (x), x [0, L]
(10.37)
T (0, t) = G0 (t), T (L, t) = G1 (t), t 0 .
Din punct de vedere fizic, F (x) reprezint a distributia de temperatur a ntr-o bar a de
lungime L, la momentul initial t = 0, iar G0 (t) si G1 (t) temperaturile la care se mentin
capetele barei, spre exemplu, ca urmare a contactului cu mediul ambiant sau cu alte
corpuri. In locul temperaturii date, se poate impune fluxul de temperatur a, adica
derivata T /x, de regul a nul. Functiile G0 si G1 sunt, n cazul general, functii de
timp, n timp ce functia F (x) este n general functie de coordonata spatial a x. Vom
lua n considerare pentru simplitate n cele ce urmeaz a cazul n care functiile G0 si G1
sunt constante, G0 = T0 , G1 = T1 .
274 10. Ecuat
ii diferent
iale cu derivate part
iale
Scheme explicite.
Aproximand derivatele partiale cu diferente finite sub forma3
vin+1 = vi1
n
+ (1 2)vin + vi+1
n
, (10.46)
= k/h2 . (10.47)
Se observa ca pentru calculul valorii vin+1 sunt necesare trei valori la momen-
n
tul n: vi1 , vin si vi+1
n
. Pentru n = 0, aceste valori sunt cunoscute din conditiile
initiale si la limite. Intr-adevar, din (10.46), (10.41) si (10.42) se obtine
In acest fel, calculul poate continua pas cu pas n directia axei timpului.
Relatia (10.46) este explicita deoarece sistemul de I + 1 ecuatii care se obtine
pentru i 0, I este practic rezolvat. R amane de studiat problema convergentei
metodei explicite (definitia convergentei a fost dat a la 41).
In cazul de fata, trebuie studiat
a comportarea solutiei dat a de schema ex-
plicita (10.45) sau (10.46) cu conditiile la limite si initiale (10.48).
3 Aproximarea se face cu ajutorul dezvolt arii n serie Taylor, dup
a cum se va vedea n
continuare c
and se va analiza convergenta schemei.
276 10. Ecuat
ii diferent
iale cu derivate part
iale
Derivatele partiale din (10.49) se vor exprima cu ajutorul dezvolt arilor n serie
Taylor ale valorilor functiei u(x, t) n puncte vecine. Astfel,
n 2 n 3 n
uni1 = uni h (u/x)i + h2 2 u/x2 i h6 3 u/x3 i +
4 n h5
n (10.50)
+ h24 4 u/x4 i 120 5 u/x5 i + O(h6 ) ,
n k2
n
un+1
i = uni + k (u/t)i + 2 2 u/t2 i
+ O(k 3 ) , (10.51)
de unde rezulta
n n
(u/t)i = k1 (un+1
i uni ) k2 2 u/t2 i + O(k 2 ) ,
n 2 n (10.52)
2 u/x2 i = h12 (uni1 2uni + uni+1 ) h12 4 u/x4 i + O(h4 ) .
un+1
i = uni1 + (1 2)uni + uni+1 + zin , i 1, I 1, n 0, N . (10.53)
zin /k = (k/2)( 2 u/t2 )ni (h2 /12)( 4 u/x4 )ni + O(k 2 ) + O(h4 ) . (10.54)
win+1 = wi1
n
+ (1 2)win + wi+1
n
+ zin . (10.55)
Conditia de convergent
a a schemei cu diferente, se poate formula sub forma
win 0, c
and I, N . (10.56)
wn+1 wn + z n , n 0, N . (10.60)
lim wn 0, wn 0, c
and N , (10.62)
N
un+1
i = uni1 + (1 2)uni + uni+1 + zin , (10.63)
278 10. Ecuat
ii diferent
iale cu derivate part
iale
adica s-a castigat un ordin de precizie numai prin alegerea adecvat a a retelei
de calcul. Acest castig nu este ns a at
at de spectaculos, deoarece egalitatea
2 u/t2 = 4 u/x4 este adev arata pentru ecuatia u/t = 2 u/x2 cu conditia
ca derivatele respective s a fie evaluate exact. Ori, folosind diferente finite,
aceasta egalitate este verificat a aproximativ, n functie de ordinul aproxim arii
si de pasul retelei. Relatia (10.54) se scrie pentru = 1/6 n forma
zin = kh2 /2[( 2 u/t2 )ni ( 4 u/x4 )ni ] + O(k 3 + kh4 ) , (10.65)
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
(1 + 2) 0 ... 0
(1 + 2) ... 0
.. ..
A=
0 . . 0 .
(10.70)
. .. .. ..
. .
0 0 (1 + 2)
10.2. Ecuatii cu derivate partiale de ordinul II 279
Convergent
a, consistent
a, stabilitate.
S-a definit anterior convergenta schemelor cu diferente finite prin conditia ca
solutia aproximativa v s a se apropie oric at de mult de solutia exacta u, atunci
cand norma diviziunii tinde la zero (k 0, h 0).
Deoarece convergenta unei scheme cu diferente este mai greu de demostrat,
se definesc si alte propriet
ati mai slabe ale schemei, care se pot verifica mai usor,
fiecare n parte, iar mpreun a pot asigura convergenta. Astfel de propriet ati,
mai slabe, sunt consistenta si stabilitatea.
De obicei schemele provenite din aproxim arile derivatelor prin diferente fi-
nite, avand erorile de discretizare O(hp + k m ), p, m N+ sunt consistente.
Exista nsa si combinatii mai putin ortodoxe care conduc la erori de discre-
tizare de ordine de m arime care depind de rapoarte ale pasilor, spre exemplu
O(hp /k m ), p, m N+ . In acest caz, eroarea de discretizare nu tinde neap arat
la zero odata cu norma retelei, ci poate avea valori finite.
Exemplu. Consider
am schema de discretizare a ecuatiei c
aldurii sub forma
n
n
(vin+1 vin1 )/2k = (vi1 vin1 vin+1 + vi+1 )/h2 , (10.74)
Adun
and si sc and relatiile pentru un1
az i si uin+1 , rezult
a
k2
2un n1
i = ui + un+1
i k2 utt + O(k4 ), ut = 1
2k
(un+1
i un1
i )+ u
6 ttt
+ O(k4 ) .
u 2u 2u
= + 2 , (10.79)
t x2 y
cu conditiile initiale si la limite
Vom considera cazul unei retele rectangulare (figura 10.7), unde pentru simpli-
tate consideram pasii de discretizare spatial egali, hx = hy = h
x = i h, y = j h, t = n k, i 1, I, j 1, J, n 1, N . (10.81)
obtinandu-se
n+1 n n n n n n n
vi,j vi,j = (v 2vi,j + vi1,j + vi,j+1 2vi,j + vi,j1 +
2 i+1,j
n+1 n+1 n+1 n+1 n+1 n+1
vi+1,j 2vi,j + vi1,j + vi,j+1 2vi,j + vi,j1 ) (10.85)
.
si o formul
a explicita pentru derivata spatial a 2 u/y 2
n
2 u n
= (ui,j+1 2 uni,j + uni,j1 )/h2 . (10.87)
y 2 i,j
n+1
Pentru determinarea valorilor vi,j , trebuie rezolvate J 1 astfel de sisteme
(vezi figura 10.7). Efortul de calcul este sensibil mai mic la rezolvarea a J 1
sisteme tridiagonale de c ate I 1 ecuatii dec
at pentru rezolvarea unui singur
sistem de (I 1)(J 1) ecuatii cu tot at atea necunoscute.
La pasul urmator este recomandat s a folosim o formula explicit
a pentru
aproximarea derivatei spatiale 2 u/x2 si o formul a implicit
a pentru derivata
spatiala 2 u/y 2 , obtin
and
n+2 n+2 n+2 n+1 n+1 n+1
vi,j1 + (1 + 2)vi,j vi,j+1 = vi1,j + (1 2)vi,j + vi+1,j .
(10.89)
x2 vin+1 (vi1
n+1
2vin+1 + vi+1
n+1
)/h2 . (10.92)
p
ana cand |(vin+1 )m+1 (vin+1 )m | < . Pentru m = 0, (vin+1 )0 se obtine
rezolvand ecuatia neliniara
x2 (vin+1 )0 = (fin+1 )0 fin f [ih, nt, vin , ((vin+1 )0 vin )/k, (vi+1
n n
vi1 )/2h] .
(10.94)
Dac a sirul (10.93) converge, convergenta este liniara. Dupa cum se observa, la
fiecare iteratie m trebuie rezolvat un sistem tridiagonal de ecuatii liniare.
O alta modalitate de liniarizare a sistemului neliniar (10.91) o constituie
metoda Newton. Termenul din dreapta egalit atii (10.90) se poate dezvolta n
serie Taylor ca o functie de mai multe variabile, p astr
and numai termenii de
ordinul ntai
f (z m )
f (x, t, um+1 , um+1
t , um+1
x ) = f (z m ) + (um+1 um )
u
m
m+1 m f (z ) f (z m )
+(ut ut ) + (um+1
x um
x ) ,
ut ux
unde z m (x, t, um , um m
t , ux ). Rezult
a un sistem tridiagonal de forma
n+1 m+1
ai (vi1 ) bi (vin+1 )m+1 + ci (vi+1
n+1 m+1
) = di , i 1, I 1 , (10.95)
unde
m m m m
1 f (z ) f (z )
ai = h12 + 2h 2
ux m, bi = h2 + u + k1 fu
(z )
t m
1 f (z )
, ci = h12 2h ux ,
m
m f (z ) 1 f (z ) m 1 f (z ) m m
di = f (z ) ( u + k ut )vi,n+1 2h ux (vi+1,n+1 vi1,n+1 ) .
(10.96)
In obtinerea relatiilor (10.96) s-a tinut cont de relatia (v n )m+1 (v n )m 0,
i i
deoarece valorile vi,n sunt cunoscute, fiind calculate anterior. Dac a sirul (10.96)
converge, convergenta este patratic a, dar la fiecare iteratie trebuie evaluate deri-
vatele partiale f (z m )/u, f (z m )/ut , f (z m )/ux , derivate a c aror expresii
analitice trebuie determinate anterior. In cazul ecuatiilor parabolice cu dou a sau
trei variabile spatiale, liniarizarea sistemului neliniar se face n mod asem an
ator,
dar sistemul liniar ce rezulta nu mai are matrice tridiagonal a. Pentru a obtine
sisteme liniare cu matrice tridiagonal a, se poate folosi metoda directiilor alter-
nante, prezentata anterior.
O metoda mai simpla si elegant a este propus a de Saulyev. Vom exemplifica
aceasta metoda pentru ecuatia c adurii adimensionalizat a (10.35) n care vom
aproxima derivata spatiala ( 2 u/x2 )ni cu formula cu diferente centrate
n n n !
2 u 1 u u
= , (10.97)
x2 i h x i+1/2 x i1/2
pentru dou a momente de timp diferite si trei valori ale parametrului retelei. Pasul h
s-a mentinut constant la valoarea h = 0.1. Se observ a instabilitatea schemei explicite
pentru = 0.55. Rezultatele cele mai bune s-au obtinut pentru = 0.1, datorit a
faptului ca n acest caz pasul de timp este cel mai mic si deci eroarea de trunchiere
este cea mai mic a.
In figura 10.9 sunt date rezultatele obtinute cu schema implicit a (10.67) si cu
schema Saulyev. Se observ a cum ambele scheme sunt stabile si pentru = 2 (ele
sunt de altfel neconditionat stabile). De aceast a data pasul de timp k s-a mentinut
constant la valoarea k = 0.001, modificarea parametrului retelei fac andu-se prin
ndesirea retelei pe directia x. Se observ
a de asemenea cum rezultate mai bune se
10.2. Ecuatii cu derivate partiale de ordinul II 287
Figura 10.9: Ecuatia caldurii rezolvata cu schema implicita Saulyev (10.99), (10.100).
obtin pentru = 0.1, desi = 2, implica acelasi pas de timp si o retea spatial
a mai
fin
a. Pentru a explica acest lucru, s a consider am eroarea de trunchiere a schemei
explicite (10.67) care are aceeasi form
a cu (10.54). T in
and cont de faptul ca k = h2
obtinem
2u 2u
+ 2 = (x, y) . (10.103)
x2 y
Pentru ecuatia (10.103), se pot formula trei tipuri de probleme, dup a con-
ditiile impuse pe frontiera domeniului D R2 unde se caut a solutia. Astfel
exista:
288 10. Ecuat
ii diferent
iale cu derivate part
iale
2u 2u
+ 2 =0, (10.108)
x2 y
relatia (10.107) se poate scrie
i + j = k, k = 2, 3, 4, . . . , 2N 2 . (10.110)
At
at pentru ecuatia Poisson c at si Laplace, dup a ce se aproximeaza cu
diferente finite, rezulta un sistem de (N 1)2 ecuatii cu (N 1)2 necunos-
cute. Ecuatiile care alcatuiesc sistemul sunt liniare daca provin din discretizarea
unei ecuatii cu derivate partiale liniare. In cazul ecuatiilor cu derivate partiale
neliniare, prin discretizare se obtine un sistem de ecuatii algebrice neliniare.
Pentru rezolvarea sistemului de ecuatii liniare (10.109) scris matriceal
Av = b (10.111)
se pot folosi atat metode directe c at si metode iterative (vezi capitolul 5).
Numarul de necunoscute este n general mare; spre exemplu, pentru ecuatia
Laplace n spatiu, pentru N = 11, rezult a un sistem de 1000 ecuatii cu 1000
necunoscute, iar pentru N = 101, rezult a 106 ecuatii. Numarul mare de necu-
noscute pune probleme din punct de vedere al stoc arii matricei A, iar num
arul
mare de operatii pune probleme din punct de vedere al erorilor de rotunjire.
Metodele directe sunt folosite n cazul problemelor mici, atunci c and matricea
A este rara (multe elemente sunt nule) sau c and matricea A este de tip band a.
In celelate cazuri, metodele iterative se dovedesc mult mai eficiente.
290 10. Ecuat
ii diferent
iale cu derivate part
iale
sau
(k+1) (k+1) (k+1) (k) (k) (k)
14 vi1,j + 23 vi,j 41 vi+1,j = 14 vi,j1 12 vi,j + 41 vi,j+1 . (10.121)
Observam cum pe baza unor prelucr ari efectuate asupra relatiei (10.120), am
obtinut o ecuatie cu diferente finite, pentru o alta ecuatie cu derivate partiale,
si anume pentru ecuatia de tip parabolic ut = uxx + uyy . Altfel spus, schemele
cu diferente finite (10.121) si (10.122) nu sunt consistente cu ecuatia cu derivate
partiale de tip eliptic uxx + uyy = 0, ci cu ecuatia parabolic a ut = uxx + uyy , a
carei solutie pentru valori de timp suficient de mari coincide cu solutia ecuatiei
uxx + uyy = 0. In general, solutia unei probleme de echilibru (care nu depinde
de timp), poate fi obtinut a ca o solutie a unei probleme fictive dependente de
timp, pentru t = T suficient de mare. De fapt, rezolvarea unei probleme eliptice
cu o metoda iterativa, este analoag a cu rezolvarea unei probleme dependente de
timp, numai ca pasul de timp variaz a de la punct la punct.
Combinand primele relatii din (10.123) si (10.124) ntre ele, iar apoi si ultimele,
se obtine
2
uA + au2 = (1 + a)u1 + h2 a(1 + a)( 2 u/x2 )1 + O(h3 ) ,
2 (10.125)
uB + au3 = (1 + b)u1 + h2 b(1 + b)( 2 u/y 2 )1 + O(h3 ) .
h2
1 1 u2 u3 uA uB
u1 + + + = 1 , u 1 NE .
a b 1+a 1+b 2 a(1 + a) b(1 + b)
(10.127)
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
Cele doua caracteristici care trec printr-un punct P (x0 , t0 ) (figura 10.15) taie
axa Ox n punctele A si B. Valoarea solutiei n punctul P , depinde numai
de valorile din interiorul triunghiul P AB. Segmentul AB se numeste domeniu
(interval) de dependent a. Pe de alt a parte, prin punctul Q(x0 , 0) de pe axa Ox,
trec cele doua caracteristici de ecuatii x + t = x0 si x t = x0 care reprezint a
domeniul de influent a al punctului Q, adic a acea parte a domeniului care este
influentata de valoarea solutiei din punctul Q.
O problema important a const a n stabilirea conditiilor n care solutia ecuatiei
(10.134) cu (10.136) sau (10.137) exist a si este unic a. Altfel spus, se pune
problema stabilirii valorilor ce trebuie date pe frontierele domeniului de calcul
pentru ca solutia sa existe si s
a fie unic a.
Pentru ecuatia de ordinul al doilea (10.31), se disting trei cazuri la care se
poate demonstra ca solutia exist a si este unica (figura 10.16):
10.2. Ecuatii cu derivate partiale de ordinul II 297
rezultand
am1 d(ux )/dx + c d(uy )/dx f m1 = 0,
(10.140)
am2 d(ux )/dx + c d(uy )/dx f m2 = 0,
dy 1 p
m1,2 = [b b2 4ac] . (10.141)
dx 2a
Pentru n = 2, ecuatiile cu derivate partiale se transform a n lungul directiilor
caracteristice n ecuatii diferentiale ordinare, acesta reprezent and avantajul prin-
cipal al metodei caracteristicilor. S-a obtinut un sistem de ecuatii diferentiale
format din ecuatiile (10.140) si (10.141), cu necunoscutele m1 , m2 , d(ux )/dx si
d(uy )/dx. Pentru rezolvvarea sistemului, presupunem c a se cunosc valorile u,
ux si uy pe curba diferit a de o curb a. In figura 10.17 se pot
a caracteristic
observa cele doua familii de caracteristici notate m1 si m2 . Deoarece caracte-
risticile depind n general de solutia u, simultan cu determinarea valorii solutiei
uP n punctul R se calculeaz a si pozitia acestuia. In principiu, orice metod a
numerica prezentata la capitolul ?? se poate aplica pentru rezolvarea sistemului
de ecuatii diferentiale obtinut. Folosind metoda Euler, segmentul P R este apro-
ximat cu o linie dreapt a7 astfel ncat precizia este de ordinul distantei dintre
7 Eroarea de discretizare poate fi redusa folosind arce de parabol
a n locul segmentelor de
dreapta, cu pretul unor calcule mai laborioase.
10.2. Ecuatii cu derivate partiale de ordinul II 299
dou
a puncte considerate n calcul. Se obtin relatiile
(yR yP )/(xR xP ) = (m1R + m1P )/2
(yR yQ )/(xR xQ ) = (m2R + m2Q )/2
(aR m1R + aP m1P )(uxR uxP )/2 + (cR + cP )(uyR uyP )/2
(10.142)
(fR + fP )(yR yP )/2 = 0
(aR m2R + aQ m2Q )(uxR uxQ )/2 + (cR + cQ )(uyR uyQ )/2
(fR + fQ )(yR yQ )/2 = 0
cu necunoscutele xR , yR , uxR , uyR si uR (uR apare indirect prin coeficientii aR ,
bR , cR si fR ). Pentru determinarea valorii uR este nevoie de o aproximatie a
relatiei
du = ux dx + uy dy . (10.143)
Se scrie
uR uP = (uxR + uxP )(xR xP )/2 + (uyR + uyP )(yR yP )/2
(10.144)
uR uQ = (uxR + uxQ )(xR xQ )/2 + (uyR + uyQ )(yR yQ )/2 .
Ecuatiile (10.142) si una din (10.144) reprezint
a un sistem de 5 ecuatii neliniare
cu necunoscutele xR , yR , uxR , uyR si uR . Sistemul se poate rezolva iterativ cu
metoda iteratiei simple (capitolul 8.1), luand pentru start valorile necunoscute
din punctul R egale cu cele din punctul de plecare al caracteristicii, P sau Q.
Spre exemplu, prima ecuatie din (10.142) se scrie
(yR yP )/(xR xP ) = (m1P + m1P )/2 = m1P . (10.145)
Procedeul se repeta pentru calculul valorilor solutiei n celelalte puncte ale retelei
de curbe caracteristice (punctele T , S, etc.). Oberv am cum n cazul folosirii
celei mai simple metode de rezolvare a sistemului de ecuatii diferentiale, pentru
fiecare punct al retelei de calcul se rezolv
a un sistem de ecuatii liniare.
Scheme explicite.
Vom considera problema cu conditii initiale
uxx n
= (vi1 2vin + vi+1
n
)/h2 , utt
= (vin1 2vin + vin+1 )/k 2 . (10.147)
Rezulta
vin+1 = m2 (vi1
n n
+ vi+1 ) + 2(1 m2 )vin vin1 , unde m = k/h . (10.148)
Pentru n = 0, avem date valorile vi0 = f (ih). In relatia (10.148) apar si valorile
vi,1 , care se calculeaza cu ajutorul celei de a doua conditii initiale (10.146). Se
aproximeaza derivata n raport cu timpul ut u/t folosind diferente centrate
g(ih) gi = ut |i u/t|i
0 0
= (vi1 vi1 )/2k vi1 = vi1 2kgi . (10.149)
10.2. Ecuatii cu derivate partiale de ordinul II 301
Pentru n = 0 rezulta
In figura 10.19 sunt date punctele care intra n calculul valorii vin+1 , precum
si domeniul de dependenta fizica pentru punctul C. Dreptele AC si BC sunt
caracteristicile ecuatiei uxx = utt care trec prin punctul C. Solutia este deci
unic definita n triunghiul ABC. Dac a m = k/h > 1, atunci se vor calcula nu-
meric valori aproximative ale solutiei u n afara domeniului n care avem solutie
analitica. Daca m 1, atunci solutia numeric a se afla interiorul domeniului de
dependenta fizica al punctului C.
In general, o schem a cu diferente finite este
stabila, daca domeniul de influent
a numeric a include domeniului de influent a
fizica (analitic
a).
Pentru a studia stabilitatea schemei (10.148), se consider a solutia de forma
X
u(x, t) = en t ejn x , (10.151)
n=0
unde j 1. Ecuatia (10.146) fiind liniar a, actioneaz
a principiul superpozitiei
astfel ca este suficient sa se studieze un singur termen din (10.151). Avem
ek + ek = 2 4m2 sin 2 h
2 , (10.153)
sau
(1 2m2 sin 2 h 2 2 2 h
2 ) 1 0, sau 1 1 2m sin 2 1 . (10.156)
m2 1/ sin 2 h
2 , (10.157)
1 1 2 sin 2 h 2 h
2 sin 2 1 .
vin+1 = vi1
n n
+ vi+1 vi,n1 . (10.158)
Schema (10.158) satisface exact ecuatia (10.146). Pentru a ar ata acest lucru, fo-
losim dezvoltarea n serie Taylor a functiei u n jurul punctului (ih, nk), obtin
and
2
uxx = h12 (uni1 2uni + uni+1 ) h12 uxxxx + O(h4 ) ,
2 (10.159)
utt k12 (ui,n1 2uni + un+1
i ) k12 utttt + O(k 4 ) .
10.2. Ecuatii cu derivate partiale de ordinul II 303
un+1
i = m2 (uni1 + uni+1 ) + 2(1 m2 )uni un1 i +
k4 k2 h2 6 2 4
+ 12 utttt 12 uxxxx + O(k ) + O(k h ) ,
m=1 n 4 4 4
h6 6 u 6u
un+1
i = ui1 + uni+1 un1i + h12 ( t4u xu4 ) + 360 ( t6 x6 ) + O(h8 ) .
(10.160)
un+1
i = uni1 + uni+1 un1
i , (10.161)
Scheme implicite.
O schema implicita poate fi scrisa n general ca