Documente Academic
Documente Profesional
Documente Cultură
b002 PDF
b002 PDF
PREFAT
A
Extraordinara dezvoltare a tehnicii de calcul din ultima perioad
a permite simularea unui tot mai mare num
ar de probleme fizice, ingineresti sau economice.
In paralel, a avut loc o dezvoltare a programelor disponibile fizicianului, inginerului sau economistului, oferindu-le o bogat
a gam
a de algoritmi pentru rezolvarea
unor aplicatii concrete. Utilizarea acestei bog
atii de tehnici si informatii necesit
a
ns
a, o baz
a teoretic
a solid
a pentru a fi efectiv folosite.
Reprezentarea printr-un num
ar finit de cifre semnificative a numerelor n
calculator introduce dificult
ati extrem de mari n asigurarea conditiilor pentru
aplicarea unora din notiunile fundamentale ale matematicilor moderne, legate
de procesul de trecere la limit
a, amend
and astfel utilizarea eficient
a a unor teoreme de baz
a din analiz
a.
In schimb, se introduc erorile de rotunjire a c
aror
propagare, n interactie cu alte tipuri de erori (inerente sau de metod
a) este
greu de urm
arit. Prinre consecinte, se poate nt
ampla ca varainate echivalente
teoretic (spre exemplu pe baza unor teoreme privind unicitatea solutiei) s
a duc
a,
numeric, la rezultate foarte diferite. Ca urmare, este explicabil
a tendinta de a se
descoperi noi si noi formule de calcul numeric, chiar dac
a n esent
a (matematic)
acestea difer
a foarte putin.
Aceast
a carte prezint
a o viziune detaliat
a asupra teoriei si practicii metodelor
numerice, rod al unei activit
ati de aproape 20 de ani n acest domeniu. Algoritmii cei mai utilizati sunt prezentati integral. O serie de algoritmi avansati, de
larg
a aplicabilitate sunt de asemenea inclusi. Autorii au ncercat o prezentare
intuitiv
a a teoriei ce st
a la baza metodelor numerice considerate, urm
arindu-se
mai mult usurinta ntelegerii materialului. Locul demonstratiilor riguroase de
altfel dificile si nu ntotdeauna eficiente didactic e luat, ntr-o serie de cazuri,
de observatii critice si de bun simt. O observatie de bun simt este si aceea
de a face apel la mai mult
a teorie atunci c
and modalit
atile cunoscute au fost
epuizate. Ca atare, se vor reg
asi n carte si o serie de cunostinte mai avansate
necesare dezvolt
arii unor metode numerice performante.
Sunt incluse capitole privind: aproximarea functiilor, derivarea si integrarea
numeric
a, problemele algebrei liniare, ecuatii si sisteme de ecuatii neliniare, optimizare, ecuatii diferentiale.
In prezentarea algoritmilor s-a optat pentru folosirea unui meta-limbaj, asem
an
ator celui din programul Matlab. Cititorul poate
transcrie un algoritm n limbajul de programare preferat cu usurint
a. Pentru a
prentimpina cererile unor utilizatori ce doresc programe surs
a sau direct executabile, cartea este suplimentat
a de un bogat material oferit pe Internet la adresa
http://www.propulsion.pub.ro. La acest sit se pot reg
asi implement
ari n
Pascal, FORTRAN si C++ ale celor mai utilizati algoritmi, exemple extinse,
leg
aturi la alte situri de pe Internet de interes pentru analiza numeric
a. Cei cu
acces la Internet pot beneficia de programele de instruire asistat
a de calculator
ce sunt disponibile la acest sit, unde este disponibil
a o versiune electronic
a a
acestei c
arti, o serie de lucr
ari de laborator si numeroase aplicatii mici ce pot fi
rulate direct din browser-ul preferat.
Pe tot parcursul prezent
arii, elementele teoretice sunt completate cu numeroase exemple detaliat rezolvate. Acestea provin din cele mai variate domenii:
ingineria mecanic
a, ingineria electric
a, fizic
a si chimie. S-a ncercat formularea
unor exemple initiale simple, ce s
a se concentreze pe aspectele strict numerice,
iar apoi, a unor exemple apropriate problemelor reale. Se sper
a ca aceast
a modalitate de prezentare s
a fie util
a at
at studentului c
at si practicianului metodelor
numerice.
1997
Autorii
CUPRINS
Cuprins
1 Aproximarea functiilor de o variabil
a
1.1 Aproximarea prin interpolare . . . . . . . . . . . . . .
1.1.1 Interpolarea polinomial
a global
a . . . . . . . .
1.1.2 Interpolare cu functii spline . . . . . . . . . . .
1.1.3 Interpolare cu functii trigonometrice . . . . . .
1.1.4 Interpolare n planul complex . . . . . . . . . .
1.2 Aproximarea mini-max . . . . . . . . . . . . . . . . . .
1.2.1 Polinoamele Cebasev . . . . . . . . . . . . . . .
1.2.2 Minimizarea erorii la interpolarea polinomial
a.
1.2.3 Aproximarea aproape mini-max a unei functii .
1.3 Aproximarea n sensul celor mai mici p
atrate . . . . .
1.4 Elemente de teoria aproxim
arii . . . . . . . . . . . . .
1.4.1 Spatii vectoriale . . . . . . . . . . . . . . . . .
1.4.2 Produsul scalar si ortogonalitate . . . . . . . .
1.4.3 Norme, operatori si functionale . . . . . . . . .
1.4.4 Problema general
a a celei mai bune aproxim
ari
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
3
10
16
23
30
30
32
34
36
40
41
42
47
49
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
54
57
59
61
61
62
63
68
76
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
86
87
87
89
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
VI
CUPRINS
3.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 91
. 93
. 96
. 96
. 101
115
116
116
121
151
151
152
152
155
156
156
157
162
163
169
171
172
175
176
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
121
124
125
128
129
131
132
134
135
138
138
140
143
145
146
CUPRINS
VII
7 Metode de optimizare
7.1 Minimizarea n lungul unei directii . . . . . . . . . . . . . . . . .
7.2 Metode de minimizare far
a calculul derivatelor . . . . . . . . . .
7.3 Metoda gradientului . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 Metoda Newton . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5 Metode cvasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . .
7.6 Metode de gradient conjugat . . . . . . . . . . . . . . . . . . . .
7.6.1 Rezolvarea sistemelor de ecuatii liniare folosind metode
de optimizare . . . . . . . . . . . . . . . . . . . . . . . .
7.7 Metode specifice de optimizare . . . . . . . . . . . . . . . . . . .
7.8 Probleme de optimizare cu restrictii . . . . . . . . . . . . . . . .
181
183
187
190
193
196
198
200
204
205
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
213
214
216
219
221
223
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
229
229
230
230
233
234
235
238
239
239
241
243
247
248
249
254
255
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
263
264
270
273
287
295
297
300
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Capitolul 1
Aproximarea functiilor de o
variabil
a
1. Aproximarea funct
iilor de o variabila
(1.1)
(1.2)
(1.3)
x[a,b]
(1.4)
i1,N
Aproximarea facut
a pe baza criteriului de mai sus se numeste aproximare
mini-max.
c) Minimizarea sumei p
atratelor abaterilor n noduri. In acest caz se impune
ca
S=
n
X
(1.5)
i=1
Se observa c
a, n cazul interpol
arii, aceast
a sum
a este chiar nul
a, adic
a are
cea mai mica valoare posibil
a. Totusi, aceast
a observatie nu face superfluu
criteriul (1.5) care este mai general si permite tratarea datelor cunoscute
incert, asa cum se va vedea mai departe. Metoda care foloseste acest
criteriu este nt
alnit
a sub numele de metoda celor mai mici p
atrate.
1.1
Presupunand ca nodurile xi sunt distincte, conditia de interpolare (1.1) reprezinta un sistem de N conditii si va duce n general la un sistem de N ecuatii
cu N necunoscute. Considerentele de simplitate amintite mai sus ne sugereaz
a
N
X
ak gk (x) .
(1.6)
k=1
Deoarece nu ne-am nscris ntr-un formalism riguros, vom face unele observatii
de bun simt. Astfel, am ales N parametri nedeterminati ak , deoarece avem
N conditii. Pe de alta parte, setul de functii gk (x) trebuie s
a contin
a elemente
arul de parametri s
a nu se
distincte, astfel ncat introduse n forma (1.6), num
reduca1 . Intr-un limbaj mai riguros, se spune c
a cele N functii cunoscute gk
trebuie sa fie liniar independente. In lipsa altei analize, ne putem limita la
functii despre care stim ca au aceast
a proprietate. Un astfel de set l reprezint
a
monoamele xk1 , k {1, 2, ..., N }, n care caz functia de interpolare este un
polinom de gradul N 1
g(x) =
N
X
ak xk1 .
(1.7)
k=1
1.1.1
Interpolarea polinomial
a global
a
ak xk1 = yi , i 1, N .
(1.8)
k=1
1. Aproximarea funct
iilor de o variabila
DD(x3 , x2 , x1 ) =
y2 y1
,
x2 x1
DD(x3 , x2 ) DD(x2 , x1 )
,
x3 x1
DD(xN , xN 1 , . . . , x1 ) =
DD(xN , . . . , x2 ) DD(xN 1 , . . . , x1 )
.
xN x1
(1.9)
N
X
i=1
yi
N
Y
(xi xj ) .
(1.10)
j=1
(1.11)
(1.12)
N
Y
i=1
(x xi ) DD(x, xN , xN 1 , . . . , x1 ) .
(1.14)
N
Y
(t xi ) DD(x, xN , xN 1 , . . . , x1 ) .
(1.15)
i=1
N
Y
(x xi ) f (N ) ()/N ! .
(1.16)
i=1
Q
Prezenta produselor (x xi ), sugereaz
a c
a restul este mai mic (n modul)
c
and punctul curent x este centrat pe intervalul care contine diviziunea si mai
mare cand x este luat spre marginile intervalului sau n afara lui acest ultim
caz este denumit extrapolare. Deoarece derivata de ordinul N a functiei n
punctul nu este accesibila (din diverse motive), evalu
ari ale restului se pot
face presupunand ca, la schimbarea diviziunii, punctul (necunoscut) nu se
deplaseaza mult, astfel ncat derivata respectiv
a s
a fie aproximativ constant
a,
si refacand calculul pentru o noua diviziune a intervalului se poate testa astfel
si sensibilitatea erorii la includerea de noi puncte de interpolare.
1. Aproximarea funct
iilor de o variabila
2
3
1
3
0
-3
-2
5
6
3
2
1
4
4
2
1
-3/2 -5/6
De regula, este nerecomandabil
a utilizarea unui num
ar mare de noduri la
interpolare, mai ales dac
a se intentioneaz
a calcularea unor derivate cu ajutorul
acestui polinom. Uzual, nu se folosesc toate cele N noduri, ci doar 3-5 noduri
cele mai apropriate de punctul n care se cere valoarea functiei. In consecint
a,
exista posibilitatea unor variante chiar c
and nu putem ndesi reteaua prin alegerea altor noduri.
Interpolarea polinomial
a apare deseori ca o component
a a altor algoritmi
numerici cum ar fi integrarea sau derivarea numeric
a a unor functii. In aceste
aplicatii se considera deseori cazul diviziunilor egale
xi+1 xi = h, i = 1, 2, . . . , N 1 ,
h fiind pasul retelei. Se introduc operatorii si denumiti diferent
a la dreapta
respectiv, diferent
a la st
anga, prin relatiile
f (x) = f (x + h) f (x) ,
(1.17)
f (x) = f (x) f (x h) .
(1.18)
n Z.
(1.19)
(1.20)
(1.21)
(1.22)
N 1 f (xN )
N 1 f (x1 )
=
,
N
1
(N 1)!h
(N 1)!hN 1
(1.23)
(1.24)
(1.25)
(1.26)
(1.27)
yN
pN 1 (x) = yN + yN + 12 ( + 1)2 yN + . . . + (1)N 1 C
RN 1 (xN + h) = (1)N hN CN f (N ) () .
(1.28)
N
Y
x xj
, k 1, N ,
Lk (x) =
xk xj
j=1
unde produsul
Q0
(1.29)
a
se ia pentru j 6= k. Se observ
a direct din (1.29) c
(1.30)
N
X
yk Lk (x) ,
(1.31)
k=1
deci coeficientii ak din expresia (1.6) sunt chiar valorile functiei f (x) n noduri,
ak = yk . Se verifica direct, tinand cont de propriet
atile (1.30) c
a pN 1 (xi ) =
yi , i = 1, 2, ..., N .
1. Aproximarea funct
iilor de o variabila
Exemplu. Utiliz
and primele patru noduri din tabelul 1, polinoamele Lagrange
sunt
L1 (x) =
L2 (x) =
(x 2)(x 3)(x 5)
1
= (x 2)(x 3)(x 5),
(1 2)(1 3)(1 5)
8
(x 1)(x 3)(x 5)
1
= (x 1)(x 3)(x 5),
(2 1)(2 3)(2 5)
3
L3 (x) =
(x 1)(x 2)(x 5)
1
= (x 1)(x 2)(x 5),
(3 1)(3 2)(3 5)
4
L4 (x) =
(x 1)(x 2)(x 3)
1
=
(x 1)(x 2)(x 3),
(5 1)(5 2)(5 3)
24
Convergenta interpol
arii polinomiale globale.
Expresiile restului RN 1 (x) obtinute la interpolarea polinomial
a sugereaz
a o
crestere a preciziei atunci c
and num
arul N de noduri creste. Spre exemplu,
a proportionalitatea
n cazul diviziunilor egale, expresiile (1.26) si (1.28) indic
abaterii cu hN (h fiind pasul diviziunii) dar si cu alti factori cum ar fi derivata de
ordinul N . Interpolarea ar fi convergent
a dac
a atunci c
and num
arul de puncte
de interpolare creste indefinit N , restul scade oric
at de mult RN 1
0. Se pune ntrebarea: este interpolarea polinomial
a ntotdeauna convergent
a?
Raspunsul la aceasta ntrebare este negativ. Inc
a din 1901, Runge a dat exemplul
functiei
f (x) = 1/(1 + x2 ), x [5, 5] .
Se poate verifica faptul c
a |RN 1 (x)| c
and N , diviziunile intervalului
[5, 5] fiind luate egale. Comportarea interpol
arii pentru N = 6 si N = 11 este
a prin teorema
redata n figura 1.1. Mai general, acest rezultat negativ se exprim
lui Faber care spune c
a pentru orice diviziune a intervalului [a, b] exist
a o functie,
chiar continua, fata de care abaterea polinomului de interpolare creste oric
at de
mult cand N . Faptul c
a exist
a sigur cel putin o functie pentru care
interpolarea polinomial
a global
a nu converge reduce aplicabilitatea practic
a a
procedeului, acesta folosindu-se ndeosebi ca o component
a a altor algoritmi
numerici, pentru valori mici ale lui N .
(1.32)
(1.33)
2 Am folosit notat
ia Matlab j = jini : pas : jf in pentru bucle: variabila j este initializat
a la
valoarea jini si apoi incrementat
a cu pas. Instructiunile din bucl
a, delimitate de [ se execut
a
repetat p
an
a c
and j > jf in Dac
a pas nu este precizat, precum n j = jini : jf in , se subntelege
pas = 1.
10
1. Aproximarea funct
iilor de o variabila
Figura 1.2: Aproximarea functiei lui Runge f (x) printr-o linie poligonala s(x).
necesitand numai O(3N ) operatii. Evaluarea polinomului Lagrange ntr-un
punct u necesita O(4N 2 ) prin
S0
k=
1
:
N
j =k+1:N
P 1
j =1:k1
[P P (u xj )/(xk xj )
[P P (u xj )/(xk xj )
S S + yk P
1.1.2
citeste splain.
11
(k)
(1.34)
adic
a la frontiera xi+1 dintre dou
a subintervale, polinomul din st
anga pm,i si
primele sale m 1 derivate trebuie s
a aibe aceleasi valori cu ale polinomului
din dreapta, pm,i+1 . In afara intervalului [a, b] functia s se poate prelungi prin
polinoame de grad m. Conditiile de racordare n noduri pot fi sl
abite, astfel
nc
at functia s sa nu mai fie de clas
a C (m1) pe tot intervalul [a, b], ci s
a fie
derivabila de mai putine ori pe diverse subintervale. In acest caz, obtinem functii
spline cu deficient
a.
Functia spline de ordinul nt
ai (linia poligonal
a).
Functia spline este formata din segmente de ecuatie
p1,i (x) = yi + mi (x xi ), x [xi , xi+1 ),
(1.35)
(1.36)
12
1. Aproximarea funct
iilor de o variabila
(1.37)
Forma polinomiala (1.37) satisface automat conditia p2,i (xi ) = yi prin modul
de scriere. Conditiile de racordare
p2,i (xi+1 ) = yi+1
(1.38)
conduc la urm
atoarele ecuatii pentru coeficientii ai
ai = (yi+1 yi )/h2i mi /hi , i 1, N 1 .
(1.39)
(1.40)
(1.41)
(1.42)
(1.43)
(1.44)
13
(1.45)
(1.46)
(1.47)
(1.48)
(1.49)
14
1. Aproximarea funct
iilor de o variabila
sau explicit
1
l2
A=
0
.
..
0
0
1
l3
..
.
0
..
.
0
0
..
.
..
1
lN
r
1
0
0 ...
1
0
0
0
..
.
1
r2
0
..
.
0
..
.
..
.
..
.
N 2
rN 1
0
N 1
rN
ri 2 li i1
(1.51)
15
adic
a
1 = 1, d1 = 3(y2 y1 )/h1 , N = 1, dN = 3(yN yN 1 )/hN 1 ,
(1.52)
16
1. Aproximarea funct
iilor de o variabila
1000
X
i=1
(k)
(k)
(k)
f (ui ) s (ui ) / f (ui ) , k = 0, 1, 2
pentru diverse valori ale lui N unde {ui , i 1, 1000} este o diviziune echidistant
a
fin
a a intervalului [5, 5]. Rezultatele sunt prezentate n figura (1.4). Se observ
a
c
a interpolarea este convergent
a, eroarea relativ
a sc
az
and rapid cu cresterea lui N .
Pentru un num
ar mic de puncte toate conditiile de cap
at dau rezultate comparabile. Pe
m
asur
a ce diviziunea devine suficient de fin
a pentru a descrie precis variatiile functiei,
conditiile exacte dau eroarea minim
a dup
a cum era de asteptat, urmate de conditiile
naturale si apoi de cele de extrapolare a pantei. Se remarc
a pierderea a 1,2 ordine de
precizie a aproxim
arii n urma deriv
arii.
1.1.3
Interpolarea polinomial
a nu este adecvat
a aproxim
arii tuturor tipurilor de functii.
Vom considera acum o alt
a alegere a functiilor liniar independente din (1.6),
anume functiile trigonometrice (fig. 1.5)
cos(2kx), k 0, N ; sin(2mx), m 1, N 1 .
(1.54)
17
(1.55)
2N
1
X
j=0
k 6= m
0,
N, k = m 6= 0, N
cos 2kxj cos 2mxj =
2N, k = m = 0, N
0, k 6= m
;
N, k = m
2N
1
X
(1.56)
j=0
18
1. Aproximarea funct
iilor de o variabila
N
1
X
(1.57)
k=1
g(xj ) sin(2mxj ) =
j=0
2N
1
X
yj sin(2mxj ) = bm N .
j=0
2N 1
2N 1
1 X
1 X
yj cos 2kxj , bm =
yj sin 2mxj
N j=0
N j=0
(1.58)
cu k 0, N , m 1, N 1.
In aplicatii, coeficientii ak , bk se evaluez
a mult mai economic dec
at prin
calculul direct al sumelor de mai sus prin folosirea transform
arii Fourier rapide
a vom avea toti ak = 0
prezentate n 1.1.4. Se poate lesne observa din (1.58) c
pentru functii impare f (x) = f (x) si toti bm = 0 pentru functii pare f (x) =
f (x).
Aparitia unei oarecare asimetrii termenii n cos sunt mai numerosi dec
at cei
n sin este legata de alegerea unui num
ar par de 2N intervale n care se divide
perioada functiei. Dac
a se aleg 2N + 1 intervale, forma functiei de interpolare
este
g(x) = 12 a0 +
N
X
k=1
19
ak =
2N
X
X
2
2
yj cos 2kxj , bm =
yj sin 2mxj ,
2N + 1 j=0
2N + 1 j=0
cu k 0, N , m 1, N , xj = j/(2N + 1).
Convergenta interpol
arii trigonometrice.
Se pot determina exprimari ale erorii de interpolare n genul restului RN 1 (x)
de la interpolarea polinomiala si pentru interpolarea trigonometric
a. Expresiile
obtinute sunt nsa sub o forma integral
a greu utilizabil
a practic. Vom prefera
o discutie mai putin formala a erorii si convergentei procedeului. Dac
a functia
f admite o dezvoltare n serie Fourier m
arirea num
arului de noduri conduce
la aproximatii din ce n ce mai bune. Intr-adev
ar, ridic
and expresia (1.57) la
p
atrat membru cu membru, nsum
and valorile pe noduri si tin
and seama de
relatiile de ortogonalitate (1.56), se obtine
N 1
2N 1
1 2 1 X 2
1 X 2
1
a0 +
(ak + b2k ) + a2N =
y
4
2
4
2N j=0 j
(1.59)
k=1
20
1. Aproximarea funct
iilor de o variabila
Figura 1.6: Comportarea polinoamelor trigonometrice cu N = 8, 16, 32, 64 la interpolarea functiei treapt
a. Pe m
asur
a ce N creste, interpolarea se aproprie mai mult de
functia exact
a f
ar
a ns
a a elimina oscilatiile n zona punctelor de discontinuitate.
21
coeficientii exacti k , k
f (x) = 12 0 +
[k cos(2kx) + k sin(2kx)] .
(1.60)
k=1
am de la
Ca mai nainte, evaluam (1.60) n xj , nmultim cu sin 2mxj si nsum
j = 0 la j = 2N 1. Urmarim doar termenii cu produse de functii sinus
ceilalti dau contributii nule conform (1.56)
i
P2N 1
P2N 1 h P2N 1
k j=0 (sin 2kxj sin 2mxj ) +
j=0 f (xj ) sin 2mxj =
k=1
i
P4N 1 h P2N 1
(sin
2kx
sin
2mx
)
+ ...+
j
j
k
j=0
k=2N
i
P2(p+1)N 1 h P2N 1
k j=0 (sin 2kxj sin 2mxj ) + . . . .
k=2pN
Ins
a sin 2(2pN + k)xj = sin 2kxj pentru xj = j/(2N ). Se obtine asadar
bm = m + m+2N + m+4N + . . . ,
altfel spus contributiile frecventelor mari m + 2N, m + 4N, . . . apar mascate n
coeficientul bm . Fenomenul de mascare8 impune s
a urm
arim n aplicatii variatia
(2N )
(2N )
coeficientii determinati
coeficientilor ak , bk la dublarea lui N . Fie ak , bk
(4N )
(4N )
coeficientii determinati folosindu-se 4N
folosindu-se 2N puncte si ak , bk
(2N ) (4N )
(2N ) (4N )
pentru k N atunci num
arul
puncte. Daca ak
= bk
= ak , b k
de puncte a fost considerat suficient de mare pentru a elimina fenomenul de
mascare.
Exemplu. Folosind interpolarea trigonometric
a s
a se aproximeze pozitia punctelor
situate pe elipsa
x2 /a2 + y 2 /b2 = 1 .
Rezolvare. Ca n orice problem
a de aproximare, alegerea variabilelor este important
a.
Reprezentarea n coordonate carteziene x, y este dezavantajoas
a, conduc
and la dou
a
functii
p
y = b 1 x2 /a2 .
De aceea se prefer
a coordonatele polare r, sau coordonatele paramametrice r, t. In
coordonatele polare x = r cos , y = r sin , elipsa este dat
a de functia
1/2
r() = ab a2 sin 2 + b2 cos 2
,
cu [0, 2]. Functia r() are perioada 2. O aducem la perioada 1 prin transformarea s = /2,
1/2
r(s) = ab a2 sin 2 2s + b2 cos 2 2s
.
8 Comportarea
este descris
a deseori prin denumirea din englez
a de aliasing.
22
1. Aproximarea funct
iilor de o variabila
Figura 1.7: Variatia erorii relative la interpolarea trigonometrica a unor elipse. Rezultatele pentru reprezentarea parametric
a sunt unite cu linii.
In reprezentarea parametric
a, elipsa este descris
a de x = a cos t, y = b sin t, astfel
nc
at obtinem
1/2
r(t) = a2 sin 2 t + b2 cos 2 t
cu t [0, 2]. Aducem functia la perioada 1 prin s = t/2 si avem o a doua reprezentare
1/2
r(s) = a2 sin 2 2s + b2 cos 2 2s
Vom nota prin gN (s) polinomul trigonometric ce interpoleaz
a r(s) n 2N puncte echidistant repartizate n intervalul [0, 1]. Evalu
am calitatea interpol
arii pentru diverse
valori ale lui N = 4, 8, . . . , 256 prin calculul erorii relative pe o diviziune mai deas
a
{j = j/2048, j 0, 2048}
N =
4N
X
|r(j ) gN (j )| / |r(j )| .
j=0
Presupunem c
a a = 1 si vom studia comportarea erorii relative pentru mai multe valori
ale lui b, n cele dou
a reprezent
ari adoptate.
Rezultatele sunt prezentate n fig. 1.7. In toate cazurile, interpolarea este convergent
a: pe m
asur
a ce N creste eroarea se aproprie de zero. Cea mai rapid
a convergent
a
se obtine pentru a/b = 1/2 deoarece functia ce descrie elipsa are variatii lente pe intervalul [0, 1]. Odat
a cu sc
aderea raportului a/b, observ
am c
a este nevoie de un num
ar
mai mare de termeni n polinomul trigonometric pentru a se obtine o precizie dat
a.
Elipsa are variatii rapide n punctele (1, 0) si este nevoie de mai multi termeni pentru
a satisface criteriul Nyquist. In plus, este de asteptat ca aproximarea s
a fie afectat
a si
de fenomenul Gibbs n zona punctelor (1, 0) variatiile functiilor sunt ntr-at
at de
23
rapide nc
at nesatisfacerea criteriului Nyquist le face s
a apar
a ca niste discontinuit
ati.
Se poate observa c
a, pentru un acelasi raport a/b reprezentarea parametric
a (puncte
and
unite cu linii n fig. 1.7) conduce la erori mai mici n toate cazurile studiate, arat
importanta unei alegeri judicioase a reprezent
arii.
S
a mai remarc
am c
a, o dat
a atins
a o precizie de circa 12 cifre, n cazul unei functii
r(s) netede, a/b = 1/2, cresterea lui N nu mai mbun
at
ateste calitatea aproxim
arii.
Calculele au fost efectuate n virgul
a mobil
a cu o precizie de circa 11, 12 cifre semnificative. Odat
a atins acest prag, cresterea lui N produce efecte detrimentale deoarece
prin cresterea num
arului de operatii aritmetice are loc o acumulare a erorilor de rotunjire. Dac
a ntr-adev
ar este nevoie de o acuratete mai mare trebuie lucrat n precizie
sporit
a.
1.1.4
M
2
X
Cn n .
(1.61)
n=1
M
2
X
Cn kn .
(1.62)
n=1
(1.63)
k = exp(ik), i 1, 2/M .
Coeficientii Cn sunt solutia sistemului
M
2
X
Cn eikn = zk ,
(1.64)
n=1
9 Forma reprezentat
a a fost astfel aleas
a nc
at punctele de la infinit ale celor dou
a plane
complexe s
a corespund
a.
24
1. Aproximarea funct
iilor de o variabila
zk eijk =
M
1 M
2
X
X
Cn eik(jn) =
k=0 n=1
k=0
M
2
X
Cn
n=1
M
1
X
eik(jn) .
(1.65)
k=0
eik(jn) =
k=0
1 ei(jn)M
=
1 ei(jn)
0
M
dac
a j 6= n
.
dac
aj=n
M 1
1 X ijk
e
, j 1, M 2 .
M
(1.66)
k=0
Trebuie mentionat c
a problema nu s-a ncheiat odat
a cu g
asirea coeficientilor
Cj pentru un M ales. Anume, mai trebuie verificat
a atingerea preciziei dorite
prin considerarea a unor puncte intermediare ca, de exemplu,
k0 = exp [i(k + 1/2)] , k 0, M 1 .
Daca afixele zk0 sunt prea ndep
artate de conturul (C) atunci trebuie ndesit
a
reteaua de puncte de calcul si, n consecint
a, m
arit num
arul de termeni n seria
(1.61).
Rezultatele obtinute se nscriu ntr-o formulare mai general
a, important
a
pentru multe aplicatii10 . Pentru reteaua de puncte xj = jh, j = 0, 1, . . . , N 1,
10 Algoritmul TFR prezentat
n continuare este, conform unor studii statistice de utilizare
a calculatoarelor, al doilea cel mai des utilizat algoritm, fiind devansat doar de rezolvarea
direct
a a sistemelor liniare. Exemple de aplicatii: model
ari meteorologice, analize de vibratii
mecanice, prelucrare de imagini.
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)
Uk
N
1
X
(N )
uj
jk , k 0, N 1 .
(1.68)
j=0
uj
N 1
1 X (N ) jk
, j 0, N 1 .
Uk
N
(1.69)
k=0
(2P )
(P )
(P )
vm
= u2m , wm
= u2m+1 , m 0, P 1 .
11 O aplicat
ie tipic
a provine din domeniul previziunilor meteo pe termen scurt pe care se
bazeaz
a navigatia aerian
a si marin
a. Tipic, pentru o previziune pe 3 zile, se calculeaz
a 106
TFD-uri de lungime N = 214 . Un calculator performant, de vitez
a 109 operatii aritmetice pe
secund
a, n-ar reusi calculul produselor matrice-vector dec
at n 74 ore prea t
arziu ca s
a mai
fie de folos. Cu folosirea TFR timpul se reduce la circa 4 minute!
26
1. Aproximarea funct
iilor de o variabila
Uk
2P
1
X
(2P )
uj
jk =
P
1 h
X
i
(P ) 2mk
(P ) (2m+1)k
vm
+ wm
m=0
j=0
P
1
X
(P ) 2mk
vm
+ k
m=0
P
1
X
(P ) 2mk
wm
(1.70)
m=0
Uk
(P )
= Vk
(P )
+ k Wk
(P )
(2P )
, Uk+P = Vk
(P )
k Wk
, k 0, P 1
(1.71)
unde s-a folosit identitatea k+P = k . Acest rezultat este cunoscut ca lema
lui Danielson si Lanczos. Evaluarea direct
a a lui U (2P ) ar fi costat O(4P 2 )
operatii aritmetice. Acum avem de evaluat dou
a transformate, V (P ) , W (P ) ce
fiecare necesita O(P 2 ) operatii pentru un total de O(2P 2 ) operatii. Reducerea
la jumatate a calculelor este benefic
a, ns
a se poate c
astiga si mai mult dac
aN
este o putere a lui 2, N = 2q . In acest caz separarea pe indici pari si impari
poate continua pana c
and se ajunge la transformarea unui vector de lungime
1 ce nu necesita nici o operatie aritmetic
a deoarece se reduce la transformarea
de identitate, U (1) = u(1) . Singurele operatii artimetice ce mai r
am
an sunt
nmultirile cu k din (1.71). Calculul se poate vizualiza ca parcurgerea arborelui
cu q = log 2 N nivele din fig. 1.9. Pe fiecare nivel sunt necesare doar N operatii
aritmetice astfel ncat obtinem costul mentionat anterior de O(N log2 N ).
Separarea repetat
a n indici pari si impari conduce la o alt
a ordonare a
componentelor vectorului u(N ) . Exemplific
am pentru N = 23 = 8. Vectorul
u(N ) are componente de indici de la 0 la 7. Procedeul de separare par-impar se
aplica de doua ori dup
a cum este ar
atat n urm
atoarea schem
a
etapa 0:
etapa 1:
etapa 2:
0
0
0
1
2
4
2
4
2
3
6
6
4
1
1
5
3
5
6
5
3
7
7
7
0012
1002
0102
0102
0112
1102
1002
0012
1012
1012
1102
0112
1112
.
1112
27
2
j=
0 : p : N 1
k invbit(j, q)
r0
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
.
2N 1
1 X
yj exp(2ijk/2N ), k 0, N
N j=0
si s
a se aplice TFR asupra vectorului yj , j 0, 2N 1 ce are 2N componente.
Ins
a, daca vectorul {yj } este real, se poate obtine rezultatul cu doar jum
atate
28
1. Aproximarea funct
iilor de o variabila
N ck = Pk + Ik exp(ik/N ) .
ZN k = PN k + iIN k = Pk + iIk ZN
k = Pk iIk
ck =
1
2N (Zk
+ ZN
k )
i
2N (Zk
ZN
k ) exp(ik/N ), k 0, N .
(1.72)
29
Figura 1.11: Spectrele de putere ale semnalului anterior pentru N = 256, 512, 1024.
N/2. Rezultatele sunt prezentate n fig. 1.11. Maximele locale sunt denumite picuri
si corespund la vibratiile predominante. Se poate observa c
a la trecerea la o rat
a de
esantionare mai mare uneori apar noi picuri n domeniul frecventelor mari iar unele
picuri din domeniul frecventelor mici dispar. De asemenea, amplitudinile asociate unui
pic se modific
a uneori. Alte picuri nu par afectate de cresterea ratei de esantionare.
Comportarea rezult
a din fenomenul de mascare discutat n 1.1.3. De exemplu,
picurile , sunt stabile la trecerea de la spectrul 2 la 3. Rezult
a c
a pentru aceste
frecevente mici criteriul Nyquist este statisf
acut si n plus nu are loc mascharea unor
frecvente mai nalte. Picul din spectrul 2, construit cu N = 512 dispare complet
ns
a la trecerea la spectrul 3, construit cu N = 1024. In spectrul 2 picul era
fals, n sensul c
a nu reprezenta o vibratie real
a cu frecventa f . De fapt, rata de
esantionare folosit
a era prea mic
a astfel nc
at se nregistra contributia unei frecvente
mai nalte f ' 2f , frecvent
a a c
arei contributie devine discernabil
a atunci c
and se
dubleaz
a rata de esantionare n spectrul 3. Intr-adev
ar pentru a discerne frecventa
f = 350 Hz criteriul Nyquist indic
a necesitatea a cel putin 700 puncte, conditie
realizat
a doar de m
asurarea u(1024) . Exemplul arat
a importanta studiilor de rezolutie
n aplicatii de aproximare spectral
a, studii n care se urm
areste stabilitatea spectrului
la modificarea ratelor de esantionare. In aplicatii practice, fenomenul de mascare se
elimin
a prin folosirea unor filtre trece-jos cu pretul pierderii portiunii de frecvente
nalte a spectrului.
30
1.2
1. Aproximarea funct
iilor de o variabila
Aproximarea mini-max
(1.73)
x[a,b]
1.2.1
Polinoamele Ceb
asev
31
n
0
1
2
3
4
5
(1.74)
32
1. Aproximarea funct
iilor de o variabila
mai ntai ca functia Tn (z) = 21n |cos n| ia de n + 1 ori valorea maxim
a 21n
a consider
am
pe [1, 1], anume n punctele distincte zk0 = cos(k/n), k 0, n. S
apoi un alt polinom monic de acelasi grad pn (z), si s
a presupunem prin absurd
ca acesta ar avea o margine superioar
a mai mic
a n modul dect Tn (z) pe [1, 1],
adica
sup |
pn (z)| < sup Tn (z) = 21n .
(1.75)
z[1,1]
z[1,1]
(1.76)
Considernd diferenta dn1 (z) a polinoamelor Tn (z) si pn (z), dn1 (z) Tn (z)
a
pn (z) vom obtine, evident, un polinom de gradul n 1. Din (1.76) rezult
(1)k Tn (zk0 ) pn (zk0 ) = (1)k+n dn1 (zk ) > 0, k n, 0
adica dn1 (z) are n schimb
ari de semn pe (1, 1), deci polinomul de gradul
n 1, dn1 (z), ar avea n r
ad
acini, ceea ce este absurd. Rezult
a c
a presupunerea
a, deci oricare ar fi polinomul monic pn (z) avem
(1.75) nu este adevarat
sup |
pn (z)| 21n .
(1.77)
z[1,1]
1.2.2
x[a,b]
Dorim sa determinam, dintre toate polinoamele de grad N 1, pe cel ce minimizeaza abaterea maxim
a fat
a de functia f (x). Polinomul obtinut va fi numit
polinom mini-max de grad N 1 al functiei f (x) pe intervalul [a, b]. Este convenabil sa privim polinomul pN 1 ca fiind definit de faptul c
a trece prin nodurile
a, spre deosebire de problema anterioar
a de
{(xi , yi ), i 1, N }. Nodurile ns
33
N
Y
(x xi ) f (N ) ()/N !
i=1
(1.78)
(1.79)
Exemplu. Am v
azut c
a interpolarea functiei lui Runge f (x) = 1/(1 + x2 ) pe
[5, 5] cu o repartitie echidistant
a a nodurilor nu converge. Vom determina acum un
alt polinom ce aproximeaz
a pe f (x) dar la care nodurile nu mai sunt luate echidistant,
ci sunt determinate de criteriul mini-max, anume vom lua xk = 5zk , k 1, N , cu zk
determinate de (1.79). Ca n exemplele
precedente calitatea aproxim
arii este apreciat
a
P
prin evaluarea erorii relative = 500
|f
(u
)
p
(u
)|
/
|f
(u
)|
pe
o
diviziune
mai
i
N
1
i
i
i=1
fin
a a intervalului [5, 5]. Variatia erorii cu N este
N
lg
5
0.4
10
0.8
15
1.2
20
1.6
25
2.1
30
2.4
35
3.0
40
3.3
45
3.8
50
4.2
oberv
andu-se c
a aproximarea converge. Observ
am acum clar importanta alegerii nodurilor pe care se bazeaz
a o interpolare. Aproximarea prezent
a este tot o interpolare,
bazat
a ns
a pe alte noduri dec
at cele echidistante considerate anterior. Comportarea
a c
a, pentru N mic, apar oscilatii ntre
aproxim
arii este redat
a n fig. 1.13. Se observ
noduri dar, spre deosebire de cazul redat n fig. 1.1, acestea nu mai cresc la infinit.
34
1. Aproximarea funct
iilor de o variabila
Figura 1.13: Polinoamele de interpolare cu noduri alese optimal pentru N = 11, 21, 31
suprapuse peste f (x). Nodurile sunt reprezentate doar pentru N = 31.
1.2.3
(1.80)
x[a,b]
M
X
bk xk ,
(1.81)
k=0
M
X
ak Tk (x) .
(1.82)
k=0
ce urmeaz
a mai este cunoscut sub denumirea de economizare de serii.
35
N
X
ak Tk (x).
k=0
Deoarece |Tk (x)| 1, vom putea trunchia seria (1.82) la cel mai mic N pentru
care avem
|f (x) pN (x)| =
M
X
|ak | < e .
k=N +1
z +
z + . . . + (1)n
z + R2n+1 .
cos z = 1
2
2! 2
4! 2
(2n)! 2
Restul dezvolt
arii poate fi m
arginit dup
a cum urmeaz
a
2n
cos (2n+1) 2n
1
|z|2n+1
.
|R2n+1 | =
(2n + 1)!
2
(2n + 1)! 2
Restul devine mai mic dec
at eroarea impus
a pentru n = 5. Deci suma Taylor
2
4
1
1
1 6 6
1 8 8
1 10 10
z2 +
z4
z +
z
z
S10 (z) = 1
2! 2
4! 2
6! 2
8! 2
10! 2
realizeaz
a conditia de eroare impus
a si avem M = 10 n (1.81). Inlocuim monoamele
k
z din S10 (z) prin expresiile lor n functie de polinoamele Ceb
asev folosind relatiile
din tabelul 1.2. Se obtin urm
atoarele valori ale coeficientilor ak din (1.82)
a0
0.472
a2
0.499
a4
2.79 102
a6
5.96 104
a8
6.69 106
a10
4.92 108
Coeficientii de indici impari sunt nuli. Avem |a8 | + |a10 | < e = 105 astfel nc
at putem
s
a trunchiem la N = 6 si obtinem aproximarea
p6 (x) = 0.999993 0.499912x2 + 0.0414876x4 1.27122 103 x6
36
1. Aproximarea funct
iilor de o variabila
1.3
N
X
(1.83)
k=1
n
X
aj gj (x) ,
(1.84)
j=1
37
av
and caracterul unor perturbatii care trebuie, dimpotriv
a, eliminate13 . Este
deci evident ca numarul de parametri n trebuie s
a fie mai mic dec
at num
arul
de noduri N, n < N .
a o eroare. In acest caz ns
a eroarea
Criteriul (1.83), ca si 1.73, minimizeaz
este scrisa ca o suma de patrate. Consecinta esential
a a acestei alegeri este
c
a S(a1 , . . . , an ) este derivabila, fapt ce poate fi exploatat pentru a determina
coeficientii ai . Pentru ca S(a1 , . . . , an ) s
a aibe un extrem trebuie ca derivatele
partiale n raport cu ai sa se anuleze
S/ai = 0, i 1, n.
(1.85)
k=1
k=1
N
X
(1.87)
k=1
aj
N
X
k=1
N
X
(1.88)
k=1
Sistemele (1.86) sau (1.88) se pot rezolva prin metodele din capitolul 5, de
rezolvare a sistemelor de ecuatii liniare. O observatie important
a este legat
a de
faptul ca aceste sisteme pot ridica probleme legate de introducerea unor erori
mari n calculul numeric, mai ales c
and diviziunile sunt egale14 . Functiile gj (x)
se pot alege din baza canonica
gj (x) = xj1 ,
j 1, n ,
(1.89)
38
1. Aproximarea funct
iilor de o variabila
(1.90)
b
=
e
p
p
a
+
p
k
k
k
k
k=1
Pk=1
Pk=1
N
N
=
ek
pk a + N b
k=1
k=1
39
Exemplul 2. O serie de m
asur
atori chimice au furnizat ratele de reactie din tabelul
de mai jos. Din teoria reactiilor chimice se cunoaste dependenta ratei de reactie de
temperatur
a
k = cT exp(K/RT ) .
Se cere estimarea parametrilor c, , K pe baza m
asur
atorilor efectuate. Constanta
gazelor R =8314 J/mol/K este cunoscut
a.
T
K
2000
2100
2200
2300
2400
2500
k
mol/cm3
8.4765e12
7.6895e12
7.0071e12
6.4118e12
5.8892e12
5.4280e12
T
K
2600
2700
2800
2900
3000
3100
k
mol/cm3
5.0189e12
4.6544e12
4.3282e12
4.0351e12
3.7708e12
3.5317e12
T
K
3200
3300
3400
3500
3600
3700
k
mol/cm3
3.3146e12
3.1169e12
2.9364e12
2.7711e12
2.6194e12
2.4799e12
N
X
(ln c + ln Tj K/RTj ln kj )2 .
j=1
P
P
P
N
N
N
ln
k
N
ln
c
+
ln
T
1/T
K/R
=
j
j
j
j=1
P
j=1
P
P j=1
PN
N
N
N
2
ln
T
ln
c
+
ln
T
ln
T
/T
K/R
=
ln
k
ln
T
j
j
j
j
j
j
Pj=1
j=1
j=1
j=1
N
PN 1/Tj ln c + PN ln Tj /Tj PN 1/Tj2 K/R
=
ln kj /Tj
j=1
j=1
j=1
j=1
a c
arui solutie este ln c = 44.97, c = 3.39 1019 mol/K2 /cm3 /s, = 2, K = 46000
J/mol.
Exemplul 3. S
a presupunem date m
asur
atori fizice ale energiei de vibratie ale
unei molecule de O2 . Se cunoaste dependenta energiei de temperatur
a
e=
hv/kT
RT
exp(hv/kT ) 1
N
X
j=1
x/Tj
RTj ej
exp(x/Tj ) 1
2
40
1. Aproximarea funct
iilor de o variabila
x/Tj
[exp(x/Tj ) 1] x/Tj exp(x/Tj )
RTj ej
=0
exp(x/Tj ) 1
[exp(x/Tj ) 1]2
2
5.3E11
3
5.1E10
4
1.8E09
5
1.3E07
6
9.4E05
7
3.3E05
8
3.2E04
9
5.2E04
Se observ
a c
a cea mai mic
a valoare a sumei se obtine aproape de gradul polinomului
f , n = 8.
1.4
41
1.4.1
Spatii vectoriale
a astfel nc
at deAstfel, forma (1.6) a functiei de aproximare g(x) a fost aleas
terminarea coeficientilor ak , k 1, N s
a conduc
a la sisteme de ecuatii liniare.
S-a remarcat apoi ca nici setul de functii gk (x) nu poate fi complet arbitrar,
ajungandu-se la sugerarea propriet
atii de independent
a liniar
a. De fapt, am
ales elemente dintr-o structura bine cunoscut
a din algebr
a, aceea de spatiu vectorial sau spatiu liniar. Notam un spatiu vectorial oarecare prin V. Elementele spatiului se numesc vectori. Denumirea sugereaz
a originea geometric
a a
notiunilor, nsa vom putea interpreta ca vectori si functiile gk (x) sau functia
g(x). In definitia acestei structuri algebrice intr
a operatii de adunare ntre vectori si de nmultire a vectorilor cu numere reale sau complexe, denumite scalari,
cum ar fi parametrii ak . Multimea din care se iau scalarii o not
am cu S. De
regula avem scalari din multimea numerelor reale, S = R, sau din multimea
numerelor complexe, S = C. Far
a a repeta toate propriet
atile din definitia
unui spatiu vectorial, vom retine c
a prin nmultirea unui scalar cu un vector,
rezultatul este un vector, iar la adunarea vectorilor se obtin tot vectori.
a unul dintre ei
Vectorii nenuli uk , k = 1, N se numesc liniar dependenti dac
se poate exprima ca o combinatie liniar
a a celorlalti, adic
a s
a existe scalarii ak ,
nu toti nuli, astfel ncat sa aibe loc egalitatea
N
X
ak u k = 0 .
(1.91)
k=1
k=M +1
In egalitatea (1.91), 0 din membrul drept este vectorul nul al spatiului, diferit de
scalarul zero. Din context se poate ntelege ntotdeauna semnificatia lui 0. Dac
a
at atunci c
and scalarii
vectorii uk nu pot fi pusi n relatii de forma (1.91) dec
ak sunt toti nuli, vectorii se vor numi liniar independenti. Num
arul maxim
de vectori liniar independenti dintr-un spatiu vectorial se numeste dimensiunea
spatiului. Aceasta dimensiune poate fi finit
a sau infinit
a.
O data stabilit cat de mare este un spatiu vectorial V, ne punem problema
cum putem sa descriem eficient un element oarecare u V. Instrumentul adecvat este notiunea de baz
a a unui spatiu vectorial ce este orice multime de vectori
liniar independenti n numar egal cu dimensiunea spatiului V. Orice alt element
al spatiului poate fi exprimat ca o combinatie liniar
a a elementelor din baz
a.
42
1. Aproximarea funct
iilor de o variabila
1.4.2
43
44
1. Aproximarea funct
iilor de o variabila
(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)
arind relatiile de
Relatiile (1.93)-(1.95) se pot verifica usor prin inductie. Urm
mai sus se poate observa c
a vom avea totdeauna un coeficient unitar al termenului de grad maxim, adic
a polinoamele obtinute vor fi sub forma lor monic
a
a asupra formei monice se impune o conditie de standar(vezi 1.2.1). De regul
dizare ce revine la nmultirea cu o constant
a. S
a consider
am cazurile cele mai
des ntalnite.
1. Polinoamele Legendre Pn (x). Se consider
a V = C (0) [1, 1] si se adopt
a
produsul scalar
Z 1
u(x)v(x)dx .
(1.96)
(u, v) =
1
45
2. Polinoamele Ceb
asev Tn (x). Se consider
a tot V = C (0) [1, 1] dar se
adopta produsul scalar
Z 1
u(x)v(x)(1 x2 )1/2 dx .
(1.97)
(u, v) =
1
46
1. Aproximarea funct
iilor de o variabila
Pn
1
x
(1 + 3x2 )/2
(3x + 5x3 )/2
(3 30x2 + 35x4 )/8
Hn
1
2x
2 + 4x2
12x + 8x3
12 48x2 + 16x4
Ln
1
x
(2 4x + x2 )/2
(6 18x + 9x2 x3 )/6
(24 96x + 72x2 16x3 + x4 )/24
N
X
u(xk )v(xk ) .
(1.100)
k=1
2. Polinoamele Ceb
asev discrete Tn (x; {xk }). Se consider
a V = C (0) (1, 1),
nodurile se iau 1 < xk < 1 si se adopt
a produsul scalar
(u, v) =
N
X
(1.101)
k=1
N
X
k=1
(1.102)
47
N
X
(1.103)
k=1
1.4.3
|u(x)| dx
!1/p
(1.104)
N
X
|u(xk )|
!1/p
(1.105)
k=1
R
corespunde
definit
iei
clasice
a
modulului
unui
vector
PN
kuk2 = ( k=1 u2k )1/2 , astfel ncat ne putem nt
ari intuitia perceperii normei
ca marime a unui element dintr-un spatiu vectorial. Se poate demonstra c
a
atunci cand p avem
kuk = sup |u(x)|
(1.106)
(1.107)
x[a,b]
n cazul continuu si
k1,N
48
1. Aproximarea funct
iilor de o variabila
(1.108)
(1.109)
49
(1.110)
1.4.4
Problema general
a a celei mai bune aproxim
ari
S
a vedem acum modul n care notiunile introduse permit o abordare general
aa
problemei de aproximare. Reamintin problema de aproximare: avem o functie
f complicata sau incomplet cunoscut
a si dorim g
asirea unei aproximante g. Am
dori ca diferenta dintre f si g sa fie c
at mai mic
a posibil
a, adic
a s
a minimiz
am
distanta
d(f, g) = kf gk .
(1.111)
Din aceasta formulare generala, putem reobtine criteriile de aproximare mentionate la nceputul capitolului. Daca adopt
am oricare dintre normele discrete si
impunem realizarea unei erori nule, d(f, g) = 0, obtinem
kf gkp =
N
X
|f (xk ) g(xk )|
!1/p
= 0,
k=1
x[a,b]
N
X
k=1
adic
a criteriul celor mai mici patrate (1.5).
Teoria generala ne furnizeaza cadrul de a pune anumite ntreb
ari peste care
am sarit n prezentarea elementar
a anterioar
a. Exist
a o cea mai bun
a aproximare? Daca exista, carui spatiu vectorial apartine? Putem construi un sir de
50
1. Aproximarea funct
iilor de o variabila
Figura 1.18: Cea mai buna aproximare este ortogonala pe subspatiul aproximantei.
aproximatii care sa convearg
a la cea mai bun
a aproximare? Nu vom parcurge
aici n detaliu aceste chestiuni. Vom face mai degrab
a o discutie calitativ
a,
apeland la intuitia geometric
a din spatiul vectorial euclidian.
Incepem printr-un exemplu simplu din geometria plan
a. S
a presupunem c
a
dorim s
a aproximam c
at mai bine punctul X(a, b) din plan folosind elemente
doar de pe axa x1 , adic
a de forma (x1 , 0) (fig. 1.18). Scriem
d(X, P ) = kX P k = minim,
1/2
ceea ce conduce la d(X, P ) = (a )2 + b2
=minim, pentru norma 2 discreta. Este clar ca cea mai mic
a abatere dintre toate punctele pe axa x1 se
obtine pentru punctul P ce are proprietatea c
a XP este ortogonal pe axa x1 .
Axa x1 este un subspatiu al planului, iar P parcurge doar acest subspatiu. Cea
mai buna aproximare a lui X de c
atre P se obtine atunci c
and diferenta X P
este ortogonal
a pe subspatiul parcurs de P .
Concluzia de mai este general valabil
a ntr-un spatiu n care avem definit
un produs scalar, iar norma rezult
a din acest produs scalar conform (1.108).
De exemplu, sa adoptam spatiul C () (, ) ce are baza {1, x, x2 , . . . }. Problema analoaga celei anterioare este s
a se aproximeze functia X = a+bx c
at mai
bine cu o constanta P = . Reprezentarea prin coordonate X (a, b, 0, . . . ),
P (, 0, 0, . . . ) ne convinge imediat c
a avem aceeasi problem
a ca n cazul anterior, iar solutia este dat
a si n acest caz de conditia de ortogonalitate. Este
educativa demonstratia general
a a acestui rezultat.
Teorem
a. Fie V un spatiu vectorial n care avem definit un produs scalar, si S
un subspatiu al lui V. Dac
a v u este ortogonal pe orice w din S atunci
u este cea mai bun
a aproximare a lui v prin elemente din S, anume u
realizeaza minimul distantei d(u, v).
Demonstratie. Sa vedem dac
a vreun alt w S realizeaz
a o distant
a mai
mica:
d2 (v, w) = (v w, v w) = (v u + u w, v u + u w) = (v u, v u)+
2
2
2(u w, v u) + (u w, u w) = kv uk + ku wk + 2(u w, v u).
51
(1.112)
(1.113)
ce sunt numiti coeficienti Fourier generalizati. De exemplu alegerea bazei trigonometrice cos(2kx), k 0, N ; sin(2mx), m 1, N 1 definit
a pe punctele
discrete {xj = j/2N, j 0, 2N 1} si a produsului scalar obisnuit permite
obtinerea relatiilor (1.58) folosind rezultatul general (1.113).
Rezultate ca cele de mai sus arat
a utilitatea spatiilor vectoriale n care se introduce un produs scalar si norma indus
a prin relatia (1.108). Un astfel de spatiu
se numeste spatiu prehilbertian. Intr-un spatP
iu prehilbertian putem obtine penn
tru un n fixat coeficientii aproximantei g = j=1 aj gj prin relatiile (1.113). Pe
m
asura ce n creste, am dori ca g s
a r
am
an
a n spatiul considerat. Acest deziderat conduce natural la spatii Hilbert H, definite prin faptul c
a limitele sirurilor
fundamentale apartin si ele lui H. Spatiile vectoriale din exemplele din 1.4.1
sunt spatii de acest tip, ele numindu-se complete. Aceste notiuni sunt deosebit
de importante pentru procedeele numerice si merit
a s
a z
abovim putin.
Daca revedeti exemplele prezentate p
an
a acum, veti observa c
a deseori s-a
calculat o eroare fata de un rezultat exact cunoscut. In exemplificarea unui
procedeu numeric alegerea unei probleme la care cunoastem deja r
aspunsul este
perfect acceptabila. Dar n aplicatiile reale nu cunoastem r
aspunsul exact. Cum
putem, n asemenea conditii, sa ne d
am seama de convergenta unui algoritm
numeric? Notiunile de mai sus furnizeaz
a cadrul matematic n care putem da un
r
aspuns la aceasta ntrebare. Reamintim definitia convergentei unui sir c
atre o
limit
a: a este limita a sirului {an } cu n N dac
a > 0 exist
a un N astfel nc
at
|an a| < pentru n > N . Observati c
a n aceast
a definitie a convergentei
valoarea limitei se presupune cunoscut
a. In afar
a de aceast
a definitie se mai
introduce n analiza notiunea de sir fundamental sau Cauchy {an } caracterizat
prin faptul ca sirul este convergent dac
a > 0, p N exist
a un N astfel nc
at
|an+p an | < pentru n > N . Observati elementul esential al definitiei unui
sir fundamental: convergenta este definit
a prin aproprierea termenilor succesivi.
Pentru verificarea convergentei nu este nevoie s
a cunoastem limita sirului. In
52
1. Aproximarea funct
iilor de o variabila
k=1
Efectu
and calculul n numere rationale a produselor scalare rezult
a coeficientii
a0 =
75236936
1764735
a1 =
1058398
84035
a2 =
18800
2401
a3 =
1868
441
a4 =
269
77
a5 = 1
a6 = 1
42.633556
3.4935030
a1 =
a5 =
12.594727
0.99998158
a2 =
a6 =
7.8300747
.99996691
a3 =
4.2358241
cu o eroare relativ
a maxim
a de = 3 105 fat
a de valorile exacte. Se observ
a
c
a folosirea unei baze ortogonale a permis obtinerea unei erori mici lucr
and chiar n
simpl
a precizie.
53
Capitolul 2
Derivarea si integrarea
numeric
a
2.1
Derivarea numeric
a
dg
dR
df
=
+
,
dx
dx
dx
(2.1)
dg
dR
df
=
= O(hk ) .
dx dx
dx
(2.2)
54
2.1.1
[0, n],
n 1, N 1 ,
(2.3)
(2.4)
(2.5)
df
1 df
1 dpn
1 dRn
=
=
+
.
dx
h d
h d
h d
(2.6)
55
Cazul n = 1.
Din relatiile (2.4)-(2.6) se obtine
y0 =
1
h d
yi1 +
[( 1)f 00 ()] .
h
2 d
(2.7)
yi0 =
h
yi yi1
f 00 (),
h
2
h
yi yi1
+ f 00 () .
h
2
(2.8)
(2.9)
1
2 1 2
h2 d
yi1 +
yi1 +
[( 1)( 2)f 000 ()] .
h
2h
6 d
(2.10)
h2
yi+1 yi1
f 000 () ,
2h
6
(2.11)
h2
yi+1 + 4yi 3yi1
+ f 000 () .
2h
3
(2.12)
h d2
2 yi1
+
[( 1)( 2)f 000 ()] .
h2
6 d2
(2.13)
56
Pentru = 1, se obtine
h2 d
h2 (4)
2 yi1
yi+1 2yi + yi1
00
(4)
yi =
f () ,
f
()
=
h2
3 d =1
h2
12
(2.14)
eroarea fiind de ordinul doi. A doua egalitate (2.14) se obtine cu ajutorul unor
formule Taylor pentru yi1 , sau prin utilizarea unui polinom de gradul trei. Se
constata o precizie superioar
a, datorat
a centr
arii punctului, fat
a de cazul = 0,
a formula
pentru care din (2.13) rezult
2h2 d
2 yi1
000
00
hf
()
+
yi1
f (4) ()
(2.15)
=
h2
3
d =0
la care eroarea este de ordinul nt
ai.
Exemplu. (Efectul reprezent
arii finite n numere masin
a a numerelor reale) Se
calculeaz
a derivatele y 0 , y 00 ale functiei y(x) = ex/2 n punctul xi = 2.5 folosind formulele de mai sus. Valorile exacte sunt yi0 = 1.74517, yi00 = 0.87259. In formulele de
derivare apare pasul h. Valoarea acestuia este necunoscut
a. Din definitia derivatei
y 0 (x0 ) = lim
xx0
y(x) y(x0 )
x x0
(2.16)
1
1.70226
1.74513
1.74517
1.70985
2
1.78954
1.74522
1.74517
1.70985
3
1.74590
1.74517
1.74517
1.70985
4
0.91752
0.87202
0.00000
7.3108
5
0.87277
0.87239
0.00000
0.00000
M
arirea preciziei de lucru nu elimin
a fenomenul de pierdere de cifre semnificative.
Acesta se va produce la valori mai mici ale pasului h. O prezentare sugestiv
a a acestei
comport
ari universale a procedeului de aproximare numeric
a a derivatei este dat
a n
a grafic logaritmul zecimal al erorii
fig. 2.1 unde se reprezint
(2.17)
lg e1 = lg yi0 yi0 , lg e2 = lg yi00 yi00
functie de logaritmul pasului. Reprezentarea logaritmic
a este convenabil
a pentru verificarea practic
a a ordinului erorii prezis teoretic. Dac
a din teorie se prezice c
a e = O(hk ),
atunci dependenta dintre eroare si pas se exprim
a logaritmic prin lg e = C + k lg h,
57
2.1.2
Formularea operatorial
a
(2.18)
(2.19)
(2.20)
(2.21)
58
(2.22)
+ ...
(2.23)
dx
h
2
3
4
1
2
3
4
=
+
+
+
+ ... .
(2.24)
h
2
3
4
Operatorii (2.23) si (2.24) pot fi aplicati oric
arui polinom de interpolare cu
diferente la dreapta sau la st
anga care aproximeaz
a functia f (x). In acest fel,
se obtin, pe cale formal
a, relatii similare cu cele precedente. Prin aplicarea
repetata a operatorilor (2.23) se obtin operatorii derivatelor de ordin superior.
Spre exemplu, pentru derivata de ordinul doi rezult
a
1
11 4
d2
2
3
=
+
.
.
.
(2.25)
dx2
h2
2
1
11 4
2
3
=
+
.
.
.
.
(2.26)
h2
2
Exemplu. Fie f : [0, 1] R o functie a c
arei valori n nodurile xj = j/n,
j = 0, n sunt fj = f (xj ) si sunt cunoscute. Se cere o estimare de O(h4 ) a derivatei
f00 = f 0 (x0 = 0) unde h = 1/n.
arul
Rezolvare. Fiind disponibile doar punctele la dreapta, vom aplica (2.23). Num
de termeni luati din dezvoltarea n serie determin
a ordinul formulei. In cazul de fat
a,
va trebui s
a consider
am patru termeni
1
2
3
4
f00
f0 .
(2.27)
=
h
2
3
4
Aplicarea repetat
a a operatorului de diferent
a la dreapta conduce la f0 = f1
f0 , 2 f0 = (f0 ) = (f1 f0 ) = f1 f0 = f2 2f1 + f0 , 3 f0 = (2 f0 ) =
f3 3f2 + 3f1 f0 , 4 f0 = (3 f0 ) = f4 4f3 + 6f2 4f1 + f0 . Se remarc
a aparitia
coeficientilor din dezvoltarea binomial
a (1 a)n . Rezult
a formula
1
1
4
25
f
+
f
3f
+
4f
f
.
(2.28)
f00
=
4
3
2
1
0
h
4
3
12
Pentru a verifica ordinul formulei, folosim primii 5 termeni din dezvoltarea n serie
(3)
(4)
(5)
Taylor a functiei f , T5 (x) = f0 + f00 x + f000 x/2 + f0 x/6 + f0 x/24 + f0 x/120 si se
obtine
1
4
25
1
(5)
T5 (4h) + T5 (3h) 3T5 (2h) + 4T5 (h)
T5 (0) = f00 h4 f0 /5 , (2.29)
h
4
3
12
deci eroarea este ntr-adev
ar de ordinul IV.
2.1.3
59
S
a presupunem ca sunt date valorile unei functii yi si ale derivatei sale yi0 n
nodurile xi [a, b], i = 1, N . Pentru evaluarea derivatei n alte puncte din
intervalul [a, b], se poate urma procedeul anterior de derivare a polinomului de
interpolare ce satisface pN 1 (xi ) = yi . O metod
a mai precis
a, ce foloseste si
informatiile asupra derivatei n noduri, este ns
a s
a se construiasc
a polinomul
de grad 2N 1 ce satisface
p2N 1 (xi ) = yi ,
i = 1, N .
(2.30)
(2.31)
am
ane
Regula recursiva (1.9), de obtinere a diferentelor divizate superioare, r
valabila. Explicit, forma Newton a polinomului Hermite este
p2N 1 (x) = y1 + (x x1 ) DD(x1 , x1 ) + (x x1 )2 DD(x1 , x1 , x2 ) +
2
(x x1 ) (x x2 ) DD(x1 , x1 , x2 , x2 ) + . . .
(2.32)
(2.33)
ce se poate compara cu (1.13). Coeficientii formei Newton se pot calcula convenabil tabelar precum n exemplul de mai jos.
DD(x1 , x1 ) = y10
y2 y1
DD(x1 , x2 ) =
x2 x1
x1
x1
y1
y1
x2
y2
x2
y2
DD(x2 , x2 ) = y20
..
.
..
.
..
.
DD(x2 , x1 ) DD(x1 , x1 )
x2 x1
DD(x2 , x2 ) DD(x2 , x1 )
DD(x1 , x2 , x2 ) =
x2 x1
..
.
DD(x1 , x1 , x2 ) =
N
X
Ak (x)yk +
k=1
N
X
Bk (x)yk0 ,
(2.34)
k=1
A0k (xj ) = 0,
Bk (xj ) = 0,
Bk0 (x) = kj
(2.35)
..
60
=
=
xk )L2k (x) .
(2.36)
(2.37)
N
Y
(x xi )2 f (2N ) ()/(2N )! .
(2.38)
i=1
Exemplu. Vom calcula derivata functiei f (x) = sin x n x = 1/8 folosind forma
Newton a polinomul Hermite. Utiliz
am nodurile xj = (j 1)/4, j = 1, 2. Tabelul
diferentelor divizate este
xj
0
0
1
4
1
4
yj
0
0
2
2
2
2
2 2
2
2
4(2 2 )
2 2( 4)
4(2 2 + 4) 64 2
(2.40)
Derivata cerut
a este p02 (1/8) = 2.90188 foarte apropriat
a de cea exact
a f 0 (1/8) =
2.90245 si cu mult mai precis
a dec
at estimarea centrat
a de ordinul II (f (1/4)
f (0))/(1/4) = 2.82843. Graficul logaritmului erorii relative lg = lg |(p02 (x) f 0 (x)) /f 0 (x)|
de mai jos arat
a prezicerea corect
a a 3 cifre semnificative n evaluarea derivatei pe intervalul [0, 1/4].
2.1.4
61
(2.41)
a prin
determinata n paragraful 1.1.2. Derivatele de ordinul 1 si 2 se aproximeaz
derivatele de acelasi ordin ale polinomului p3,i
y 0 = mi + 2bi (x xi ) + 3ai (x xi )2 ,
y 00 = 2bi + 6ai (x xi ) .
(2.42)
(2.43)
2.1.5
Formule de derivare se pot obtine folosind oricare dintre procedeele de aproam pe scurt c
ateva alte procedee
ximare prezentate n capitolul 1. Consider
inidicand domeniile tipice de aplicare.
Interpolare trigonometric
a.
Prin derivarea expresiei (1.57), se obtine
df
dg
= y0
=
=
dx
dx
2
N
1
X
(2.44)
k=1
Rezultatul este o noua functie ce are coeficientii Fourier 2kak , 2kbk . Conarii trigonometrice se aplic
a
sideratiile din 1.1.3 asupra convergentei interpol
acum noii functii. In particular, vom urm
ari dac
a ck = 2k(a2k + b2k )1/2 devin
suficient de mici pe masura ce N creste. O proprietate important
a a aproxim
arilor trigonometrice este c
a, pentru functii netede, coeficientii ck scad mai
repede decat orice putere a lui h = 1/N ncep
and de la un anumit rang k.
Prin analogie cu analiza de ordin de eroare de la formul
arile anterioare, spunem ca aproximarea trigonometric
a a derivatei este de ordin infinit. Aceast
a
62
2.2
Integrarea numeric
a
(2.45)
capitolul 4.
f (x)dx =
Z
a
g(x)dx +
Z
a
R(x)dx .
(2.46)
63
g(x)dx =
N
X
ak Ik , Ik
gk (x)dx .
(2.47)
k=1
f (x)g(x)dx = f ()
g(x)dx.
2.2.1
64
Formula trapezelor.
Functia aproximanta este o linie poligonal
a. Pe fiecare subinterval (xi , xi+1 ),
functia f (x) se nlocuieste cu aproximarea sa printr-un polinom de gradul nt
ai
plus un rest. Conform (1.25), polinomul se scrie
p1 (x) = yi + yi ,
(2.49)
(2.50)
(2.51)
i = (h /2)
i = [h f
(i0 )/2]
(2.52)
a pe
cu i0 [xi , xi+1 ], n general diferit de i din (2.50). Formula (2.51) se aplic
fiecare subinterval si vom obtine, prin sumare, valoarea aproximativ
a a integralei
I=
N
1
X
i=1
Ii =
h
(y1 + 2y2 + . . . + 2yN 1 + yN ) .
2
(2.53)
PN 1
Eroarea la integrare este suma erorilor pe subintervale, = i=1 i = (h3 /12)
P
PN 1 00 0
a (N 1)1 N 1 f 00 ( 0 ) este o valoare medie a valorilor
i
i=1
i=1 f (i ). Ins
00
functiei f n punctele i0 si am presupus f 00 continu
a. Conform teoremei valorii
intermediare, exista un [x1 , xN ] astfel nc
at
N 1
1 X 00 0
f (i ) = f 00 ()
N 1 i=1
(2.54)
65
h2
(b a)3 00
f () .
(b a)f 00 () =
12
12(N 1)2
(2.55)
Expresia (2.55) sugereaza ca, pentru functii cu derivata de ordinul doi continu
a,
eroarea la integrare scade aproximativ cu p
atratul num
arului de intervale N 1.
Spunem astfel ca eroarea la formula trapezelor este de ordinul doi, = O(h2 ).
Se observa ca, fata de eroarea pe un subinterval i = O(h3 ), eroarea pe tot
intervalul este cu un ordin mai mic datorit
a acumul
arii erorii din nsumare.
Se remarca, de asemenea, ca formula trapezelor este exact
a pentru toate polinoamele de gradul 1, adica pentru f 1 .
Formulele Simpson.
Urmarim obtinerea unor formule mai precise pe subintervalele de calcul. Din
procedeul general, observam ca acest deziderat se poate realiza prin folosirea
unor polinoame de interpolare de grad mai mare pe subintervale. Deoarece,
pentru polinoame de grad mai mare de unu, avem nevoie de mai mult de dou
a
noduri, vom grupa convenabil subintervalele (xi , xi+1 ). Din punctul de vedere
al aproximarii functiei f (x) pe tot intervalul de calcul [a, b] procedeul revine la
folosirea unei interpolari spline cu deficient
a, ale c
arei restrictii pe subintervale
sunt polinoame.
Formula Simpson 1/3. Incepem cu polinoame de gradul doi pe subinterval.
Avem nevoie de trei noduri si ca atare vom obtine o formul
a de integrare pe
(xi1 , xi+1 ) 2 . Polinomul aproximant este
p2 (x) = yi1 + yi1 + ( 1)2 yi1 /2
conform (1.25) iar restul are forma
R2 (x) = h3 C3 f (3) (i ), i (xi1 , xi+1 ) .
Formula obtinuta prin integrarea lui p2 (x) este
Ii = h
Z
0
p2 (xi1 + h)d =
h
(yi1 + 4yi + yi+1 ) .
3
(2.56)
66
h
[f (xi1 ) + 4f (xi ) + f (xi+1 )]
3
(4)
(3)
0
00
Ii = 2hfi1 + 2h2 fi1
+ 4h3 fi1
/3 + 2h4 fi1 /3 + 5h5 fi1 /18 + h6 fi1 /10 + . . .
(k)
unde am notat fi
(3)
(5)
0
00
2hfi1 + 2h2 fi1
+ 4h3 fi1
/3 + 2h4 fi1 /3 + 4h5 fi1 /15 + 4h6 fi1 /45 + . . .
(5)
h
(y1 + 4y2 + 2y3 + . . . + 2y2N 1 + 4y2N + y2N +1 ) .
3
(2.57)
(a, b) .
(2.58)
67
p3 (xi1 + h)d =
3h
(yi1 + 3yi + 3yi+1 + yi+2 ) ,
8
(2.59)
cu eroarea
i = h5
i (xi1 , xi+2 ) .
(2.60)
3h
(y1 + 3y2 + 3y2 + 2y4 + . . . + 2y3N 2 + 3y3N 1 + 3y3N + y3N +1 ) ,
8
(2.61)
(a, b) .
(2.62)
2h
(7yi2 + 32yi1 + 12yi + 32yi+1 + 7yi+2 ) ,
45
(2.63)
cu eroarea
i = 8h7 f (7) (i )/945,
i (xi1 , xi+2 ) .
(2.64)
I=
Z
a
f (x)dx
=
N
X
i=1
Ai yi ,
(2.65)
68
=ba
= A1 + A2 + A3
Ra dx
b
2
2
(2.66)
xdx
=
(b
a
)/2
=
A1 x1 + A2 x2 + A3 x3
a
Rb 2
2
2
2
2
2
x dx = (b a )/3 = A1 x1 + A2 x2 + A3 x3
a
unde am nlocuit rand pe r
and functia f (x) cu un polinom de gradul 0,1,2.
Se obtin coeficientii A1 = A3 = h/3, A2 = 4h/3, adic
a exact cei din formula
Simpson 1/3 (2.56). Procedeul de mai sus este cunoscut sub denumirea de
identificare a coeficientilor de integrare.
Un al doilea procedeu este dat de nlocuirea functiei f cu forma Lagrange a
polinomului de interpolare (1.31)
Z
f (x)dx =
N
bX
yi Li (x)dx +
a i=1
Z
a
f (N ) () Y
(x xi ) dx ,
N ! i=1
(2.67)
Li (x)dx .
(2.68)
In final, sa adaugam, c
a n numeroase situatii practice, este convenabil s
a se
evidentieze o functie pondere w(x) n operatiile de integrare. Se generalizeaz
a
astfel operatia de medie ponderat
a din aritmetic
a. Utiliz
and (2.67) avem
"N
#
Z b
Z b
N
N
X
X
f (N ) () Y
w(x)
Li (x)yi +
w(x)f (x)dx =
(x xi ) dx =
Ai yi + ,
N ! i=1
a
a
i=1
i=1
Ai =
Z
a
2.2.2
w(x)Li (x)dx,
Z
a
w(x)
N
f (N ) () Y
(x xi ) dx,
N ! i=1
(a, b).
a
O ntrebare imediata asociat
a formulei generale de integrare (2.65) este dac
alegerea altor puncte xi si ponderi Ai ar putea aduce avantaje de calcul. Vom
considera n cele ce urmeaz
a c
ateva asemenea cazuri. In general, n obtinerea
acestor formule nu se utilizeaz
a valorile functiei f din capetele intervalului.
Astfel de formule se numesc formule deschise.
Formule de integrare deschise de tip Newton Cotes
Aceste formule se obtin utiliz
and un polinom de interpolare care nu trece prin
capetele intervalului, deci cu un polinom cu dou
a grade mai mic dec
at n cazul
69
y2 , (2.69)
(2.70)
Evident, formulele de mai sus se pot utiliza pentru N > 3. Putem obtine
diverse formule prin alegerea intervalului de integrare si a gradului polinomului
de aproximare.
Pentru N = 4, calculam integrala polinomului aproximant de la = 0 la
= 2 si se obtine
Ii = 2hyi ,
i = h3 f 00 (i )/3 .
(2.71)
In acest caz, intervalul de integrare a fost (xi1 , xi+1 ), dar termenul yi+1 s-a
redus, astfel ncat formula (2.71) nu contine nici una din valorile de la capetele
intervalului. Observam ca se obtine acelasi ordin al erorii O(h3 ) ca la
a o singur
a evaluare a functiei fat
a de dou
a
formula trapezelor (2.53), folosind ns
n (2.53). Factorul numeric din expresia erorii de mai sus este ns
a mai mare
dec
at cel din (2.55). Ca atare, avantajul de calcul obtinut poate fi nesemnificativ
n practica.
Pentru N = 6 si x (xi1 , xi+3 ) se obtine o formul
a cu acelasi ordin de
eroare ca formula Simpson
Ii =
4h
(2yi yi+1 + 2yi+2 ),
3
i =
14h5 (4)
f (i ) .
45
(2.72)
w(x)f (x)dx
=
N
X
i=1
Ai f (xi ) ,
(2.73)
70
w(x)p(x)q(x)dx = 0
(2.74)
w(x)f (x)dx =
w(x)r(x)dx =
N
X
i=1
Ai r(xi ) =
N
X
Ai f (xi ) ,
(2.75)
i=1
i = 1, N .
(2.76)
71
w(x)f (x)dx
w(x)p2N 1 (x)dx =
w(x)
N
Y
(x xi )2
i=1
f (2N ) ((x))
dx .
(2N )!
(2.77)
w(x)p2N 1 (x)dx =
N
X
Ai p2N 1 (xi ) =
i=1
N
X
Ai f (xi ) ,
(2.78)
i=1
w(x)f (x)dx
N
X
1
(2N )!
Ai f (xi ) =
i=1
w(x)
N
Y
(x xi )2 f (2N ) ((x)) dx .
i=1
(2.79)
Nodurile xi se aleg ca fiind radacinile polinomului q(x) de gradul N si ortogonal
pe orice polinom p(x) de grad pana la N 1. Conform teoremei de medie, avem
=
f (2N ) ()
(2N )!
w(x)q 2 (x) dx ,
(a, b).
(2.80)
w(x)q 2 (x) dx
(2.81)
(2.82)
Dac
a f C 2N [a, b], atunci f (2N ) () este m
arginit
a. Produsul (q, q) se poate
arginit. In
evalua folosind relatiile de recurent
a (1.94) si este de asemenea m
plus, factorul (q, q)/(2N )! scade rapid cu cresterea lui N . S
a consider
am acum
cele mai des ntalnite cazuri.
Formule Gauss-Legendre.
Mai ntai luam ponderea w(x) = 1, adic
a vom considera integrala obisnuit
a.
Intervalul canonic uzual este [1, 1]. Orice alt interval de integrare [a, b] poate
fi usor transformat n [1, 1] prin substitutia z = 2(x a)/(b a) 1
Z
a
ba
f (x)dx =
2
+1
F (z)dz,
F (z) f
ba
b+a
z+
2
2
(2.83)
72
(2.84)
+1
F (z)dz
=
N
X
Ai F (zi ) ,
(2.85)
i=1
Z
a
ba X
f (x)dx
Ai f (xi ) ,
=
2 i=1
(2.86)
(2.87)
(2.88)
pe intervalul [a, b] folosind substitutia de mai sus. Abscisele xi n care se evalueaza functia F nu sunt de regul
a echidistante. Putem ns
a pune n evident
a
un pas mediu h = (b a)/N , pentru a determina ordinul erorii n vederea
compararii cu metodele anterioare. Se obtine
=
ba
N
2N +1
N 2N +1 f (2N ) ()
h2N +1 f (2N ) ()
<
(N !)4 (2N + 1)[(2N )!]3
(N !)4 (2N )!
(2.89)
Formule Gauss-Ceb
asev.
Consideram acum ponderea w(z) = (1 z 2 )1/2 pe intervalul [1, 1]. Se poate
observa ca functia pondere prezint
a singularit
ati n 1. Utilitatea practic
a a
unei astfel de ponderi este integrarea numeric
a a functiilor ce prezint
a acelasi
gen de singularitate integrabil
a n capetele domeniului de integrare. Fie f (z) o
73
h5 f (4) ()
2
1/ 3
1
28 33 5
p
h7 f (6) ()
5/9
3/5
3
16
8/9
0
2 33 53 7
h9 f (8) ()
0.86113 63115 94053
0.34785 48451 37454
4
0.33998 10435 84856
0.65214 51548 62546
215 312 53 73
0.90617 98459 38664
0.23692 68850 56189
5h11 f (10) ()
0.53846 93101 05683
0.47862 86704 99366
5
36
2 316 73 11
0
0.56888 88888 88889
astfel de functie si sa presupunem c
a avem de evaluat integrala acestei functii
pe [1, 1]. Putem da factor comun fortat termenul singular
Z +1
Z +1
w(z)F (z) dz
f (z) dz =
1
Ai = /N,
dz =
F (zi ) + N
,
N i=1
2 (2N )!
1 z2
1
i = 1, n .
(1, 1)
(2.90)
(2.91)
74
Formule Gauss-Hermite.
In fine, pentru domeniile de integrare infinite se poate folosi ponderea w(x) =
exp(x2 ) si polinoamele Hermite asociate. Formula de integrare numeric
a este
Z
ex f (x) dx =
N
X
i=1
Ai f (xi ) +
(N !) (2N )
f
(),
2N (2N )!
(, )
(2.93)
75
L=b
dz =
dz ,
2 1
1 z2
1 z2
0
(2.95)
dz = I ,
L=
(2.96)
2 1 1 z 2
2
2
3.556041
3
3.544605
4
3.545250
5
3.545205
6
3.545209
7
3.545208
(2.97)
76
2.2.3
Pentru toate formulele de integrare prezentate anterior s-a determinat si o expresie a erorii de integrare. Tipic, forma acestei expresii este
= C f (k) () hm ,
(2.98)
h2N = (b a)/2N , xj
(2N )
y2j
(N )
yj
(2N )
(2N )
f (x2j ),
(N )
yj
(N )
= xj
, j = 0, N ,
(N )
f (xj ).
Deci valorile
=
=
unde
=
rezulta
functiei cunoscute din calculul efectuat cu pasul hN pot fi refolosite n calculul
efectuat cu pasul h2N . Noua aproximare a integralei se poate exprima recursiv
(2N )
utilizand vechea aproximare si valorile functiei f n noile noduri x2j+1 , j =
0, 2N 1. Sa stabilim efectiv aceste reguli pentru dou
a dintre formulele cele
mai utilizate, cea a trapezelor (2.53) si formula Simpson 1/3 (2.56).
Vom nota prin T (hN ) aproximarea integralei I obtinut
a prin formula trapea cu 2N intervale.
zelor (2.53) cu N intervale si prin T (h2N ) aproximarea obtinut
2T (hN )/hN si 2T (h2N )/h2N sunt
i
h
(N )
(N )
(N )
(N )
+ yN
+ . . . + 2yN 1 +
+
+ 2y1
y0
i ,
h
(2N )
(2N )
(2N )
(2N )
(2N )
(2N )
+ . . . + 2y2N 2 + 2y2N 1 + y2N
+ 2y2
+ 2y1
y0
respectiv. Valorile egale au fost aliniate pe vertical
a. T
in
and cont c
a avem
h2N = hN /2 se obtine
N
T (h2N ) =
X (2N )
1
T (hN ) + h2N
y2j1 .
2
j=1
(2.99)
3 Datorit
a operatiilor succesive de njum
at
atire este preferabil
a nceperii numerot
arii nodurilor de la 0.
77
Valorile functiei ce trebuiesc calculate n etapa 4N sunt cele de indice impar. Pentru cele de indice par se pot refolosi rezultatele etapei 2N . Datorit
a
alternantei coeficientilor este convenabil s
a separ
am suma S(h2N ) n suma componentelor pare si a celor impare
S(h2N ) = Spar (h2N ) + Simpar (h2N ) ,
Spar (h2N ) =
i
h2N h (2N )
(2N )
(2N )
(2N )
,
+ . . . + 2y2N 2 + y2N
+ 2y2
y0
3
Simpar (h2N ) =
i
4h2N h (2N )
(2N )
(2N )
(2N )
+ . . . + y2N 3 + y2N 1 .
+ y3
y1
3
(2.100)
(2.101)
(2.102)
S(h4N )
1
1
Spar (h2N ) + Simpar (h2N ),
2
4
Spar (h4N ) + Simpar (h4N ) .
(2.103)
(2.104)
78
x a + h, Simpar 0
k=1:2:N
x x + doih
Simpar 4hSimpar /3
SM Spar + Simpar
pana cand |SM SM 1 | |SM | + S sau M > Mmax
(2.105)
Conditia de oprire a iteratiei este cea de atingere a unei erori relative impuse
|(SM SM 1 )/SM | ,
(2.106)
(2.107)
(2.108)
cu 1 6= 2 n general. Dac
a se poate presupune ns
a c
a f (2) (1 )
= f (2) (2 )5 se
(2)
poate elimina Cf (1 ) din cele dou
a ecuatii de mai sus si obtine
I
= T (h/2) + [T (h/2) T (h)] /3 .
(2.109)
(2.110)
(2.111)
conduce la
I = S(h/2) + [S(h/2) S(h)] /15 + O(hk ),
4
S
k > 4.
(2.112)
79
Algoritmul Romberg.
Punctul slab al tehnicii de mai sus este presupunerea f (2) (1 )
a
= f (2) (2 ). Exist
(2m)
ns
a o cale de a justifica acest pas pentru functii netede, f C
[a, b]. Punctul
de pornire l constituie formula Euler-MacLaurin6
Z
m1
h
i
F (0) + F (1) X
+
A2k F (2k1) (0) F (2k1) (1) A2m F (2m) (0 ),
2
F (t) dt =
k=1
m1
h
i
h [f (xj ) + f (xj+1 )] X
+
A2k h2k f (2k1) (xj ) f (2k1) (xj+1 )
2
xj+1
f (x) dx
xj
k=1
A2m h
Prin sumarea
Z
P2N 1
f (x) dx
j=0
(i ) .
, se obtine
N
2X
1
j=0
2m+1 (2m)
m1
h
i
h [f (xj ) + f (xj+1 )] X
+
A2k h2k f (2k1) (a) f (2k1) (b)
2
k=1
A2m (b a)h
2m (2m)
() .
Prima suma este chiar aproximarea prin formula trapezelor T (h), astfel nc
at
avem
Z b
f (x) dx = T (h) + a2 h2 + a4 h4 + . . . + a2m h2m f (2m) () .
(2.113)
I=
a
De data aceasta, observam ca s-a obtinut un coeficient a2 al primului termen din eroare, ce este constant. Ca atare, extrapolarea Richardson este justificat
a. De fapt procedeul de extrapolare poate fi repetat de m 1 ori. Aceast
a
combinatie dintre regula trapezelor recursiv
a si extrapolare Richardson este cunoscuta ca metoda Romberg. Fie R(n, m) estimarea integralei obtinut
a cu 2n subintervale si m etape de extrapolare Richardson. Avem R(n, 0) = T ((b a)/2n )
si
R(n, m) = R(n, m 1) +
1
[R(n, m 1) R(n 1, m 1)] .
4m 1
(2.114)
1
4m
R(n, m 1) m
R(n 1, m 1) .
m
4 1
4 1
(2.115)
6 Formula rezult
a din integrarea prin p
arti repetat
a si alegerea convenabil
a a constantelor
1 R
R
de integrare: 01 F (t) dt = (t 12 )F (t) 0 01 (t 12 ) F 0 (t) dt = . . .
80
Calculul se organizeaz
a convenabil ntr-un tabel
R(0, 0)
R(1, 0)
R(2, 0)
..
.
R(1, 1)
R(2, 1)
..
.
R(2, 2)
..
.
R(M, 0)
R(M, 1)
R(M, 2)
(2.116)
..
R(M, M )
ce se parcurge n sensul umplerii triunghiurilor inferioare: R(0, 0), R(1, 0), R(1, 1),
R(2, 0), R(2, 1), R(2, 2), . . . . Noi evalu
ari ale functiei f sunt necesare doar pentru prima coloana ce contine R(0, 0), R(1, 0), . . . . Algoritmul este
n 0; h b a; N 1
R(0, 0) h(f (a) + f (b))/2
repet
a
n n + 1; N 2N ; doih h; h h/2
R(n, 0) = 0; x a + h
k=1:2:N
x
x + doih
repeta
putere4 4 putere4; m m + 1
81
Iab F (a, b, ya , yb )
c (a + b)/2, yc f (c)
(2.117)
(2.118)
z1 = 3/5, z2 = 0, z3 = 3/5
A1 = 5/9, A2 = 8/9, A3 = 5/9
m (b a)/2, n (a + b)/2
.
j=1:3
xj = m zj + n
F m (A1 f (x1 ) + A2 f (x2 ) + A3 f (x3 ))
Exemplu 1. Consider
am integrala
Z 10
1
1
I=
f (x)dx, f (x) =
+
(x 1)2 + 0.01
(x 3)2 + 0.04
0
(2.119)
(2.120)
82
M
1
2
3
4
5
trapeze
4.38356
12.10104
26.15636
30.61403
46.64699
Simpson 1/3
14.67353
30.84147
32.09992
51.99130
43.96342
M
7
8
9
10
11
trapeze
45.54563
45.54017
45.54037
45.54042
45.54043
Simpson 1/3
45.53835
45.54044
45.54044
(2.121)
cu 2049 de apeluri ale functiei f pentru formula trapezelor si 1025 pentru formula
Simpson p
an
a la atingerea erorii impuse.
Aplic
am acum extrapolarea Richardson asupra rezultatelor de la metoda trapezelor
(metoda Romberg). Se obtine tabelul de mai jos.
nm
0
1
2
3
4
0
5.667271
4.383564
12.101037
26.156360
30.614030
3.955662
14.673528
30.841468
32.099919
15.388053
31.919330
32.183816
4
(2.122)
32.181731
32.188014
32.188039
83
In fine, compar
am diversele formule de integrare n interiorul procedurii adaptive
P (F, a, b, ya , yb , ). Se obtin rezultatele
Formul
a
I
evalu
ari f
Trapeze
45.5419
839
Simpson 1/3
45.5405
557
GL II
45.5404
877
GL III
45.5405
573
GL IV
45.5404
485
(2.123)
unde prin GLn s-a notat formula Gauss-Legendre de ordinul n. Procedeul adaptiv determin
a n general corect cele 6 cifre semnificative cerute. Exceptie face doar
metoda trapezelor. Nesatisfacerea preciziei n acest caz este rezultatul conditiei de
oprire a iteratiilor. S-a presupus necunoscut
a valoarea exact
a si s-au comparat dou
a
aproximatii succesive pentru a se estima eroarea. In termenii din capitolul 1 s-a aplicat
criteriul de convergent
a pentru siruri Cauchy. Criteriul este ns
a strict valabil doar
c
and n . Exemplul de aici ne arat
a pericolul identific
arii aproprierii dintre dou
a
aproximatii cu aproprierea aproximatiilor de solutia exact
a. Pentru a preveni o estimare eronat
a a preciziei cu care s-a determinat un rezultat trebuie impus
a o conditie
de eroare mai strict
a dec
at cea dorit
a efectiv n rezultatul final. Ref
ac
and calculul cu
= 107 se obtine I = 45.5407 pentru metoda trapezelor cu 1801 evalu
ari ale functiei
f.
Num
arul de evalu
ari de functie scade cu cresterea ordinului de integrare. C
astigul
devine din ce n ce mai mic ns
a. Diferenta de num
ar de evalu
ari ntre Simpson 1/3 si
GLII ce sunt procedee cu comport
ari comparabile ale erorii provine de la posibilitatea
reutiliz
arii nodurilor n formula Simpson. La formulele Gauss-Legendre modificarea
intervalului conduce si la modificarea pozitiei nodurilor.
Prin comparatie cu regula recursiv
a Simpson se observ
a reducerea semnificativ
aa
num
arului de evalu
ari ale functiei f n cazul procedurii adaptive ce utilizeaz
a formula
Simpson 1/3. Nodurile folosite pentru atingerea unei erori relative de = 103 sunt
a ndesirea nodurilor n zonele de variatie rapid
a
reprezentate n fig. 2.3. Se observ
a functiei. Pentru obtinerea aceleasi precizii regula recursiv
a Simpson mparte tot
intervalul cu aceesi finete rezult
and multe evalu
ari ale functiei inutile, n zonele de
variatie lent
a.
Exemplul 2. Fie acum integrala
Z 10
1
1
I=
f (x)dx, f (x) =
+
(2.124)
2 +1
2 +4
(x
1)
(x
3)
0
ce are valoarea exact
a I = 3.38318. Functia este asem
an
atoare celei din exemplu
precedent dar are un aspect mult mai neted. Procedeul Romberg furnizeaz
a tabelul:
nm
0
1
2
3
4
5
6
0
3.039931
2.439083
2.737904
3.326170
3.365313
3.378763
3.382077
2.238800
2.837511
3.522259
3.378361
3.383246
3.383182
2.877425
3.567908
3.368768
3.383572
3.383178
3.578868
3.365607
3.383807
3.383172
3.364771
3.383878
3.383169
3.383897
84
85
Capitolul 3
Rezolvarea ecuatiilor
neliniare
x [a, b].
(3.1)
Dac
a F (x) este o functie liniara problema este banal
a si admite o solutie analitica. Ca atare vom presupune c
a F (x) este neliniar
a, caz n care problema
devine dificila datorita absentei vreunei teoreme matematice ce s
a furnizeze
numarul radacinilor sau vecinatatile n care acestea se afl
a n cazul general.
autarea r
ad
acinilor
De aceea o prima etapa n rezolvarea ecuatiei (3.1) este c
pentru care se folosesc rezultate din analiza matematic
a, precum teorema lui
Rolle, sau esantionarea functiei F (x). Dup
a determinarea intervalelor pe care
se afla radacini se trece la restrangerea acestor intervale, proces cunoscut si sub
denumirea de localizare a r
ad
acinilor. Localizarea r
ad
acinilor se efectueaz
a de
regula prin procedee sigure dar nu deosebit de eficiente. Pentru a obtine rapid
o precizie ridicata a aproximatiei unei r
ad
acini se efectueaz
a o ultim
a etap
a de
rafinare a r
ad
acinilor.
a un sir de aproximatii
Uzual, procedeele de rezolvare a ecuatiei (3.1) furnizeaz
{xn }nN ce tinde catre o radacin
a . In analiza acestor procedee este util s
a se
86
3. Rezolvarea ecuat
iilor neliniare
n>N.
(3.2)
|xn+1 a| C |xn a| ,
n>N.
(3.3)
n>N
(3.4)
Ordinul de convergent
a va indica num
arul de iteratii ce trebuiesc efectuate
pentru a atinge o anumit
a precizie. Metodele cu ordin de convergent
a mai
ridicat tind sa efectueze mai multe operatii aritmetice pe iteratie. De aceea este
necesara si o cuantificare a efortului de calcul ntr-o iteratie pentru a avea o
estimare realista a timpului de calcul. Uzual, unitatea de lucru adoptat
a este
numarul de evaluari ale functiei F (x) ntr-o iteratie.
3.1
Metoda njum
at
atirii intervalelor
(3.5)
87
[b c; Fb Fc
altfel
[a c; Fa Fc
mm+1
pana cand m > mmax sau |b a| < sau |Fc | <
(3.6)
3.2
Procedee iterative
3.2.1
Iteratia simpl
a
(3.7)
(a, b).
(3.8)
k = 0, 1, 2, . . .
(3.9)
Vom cauta sa stabilim n ce conditii sirul (3.9) converge spre valorea , plec
and
de la un punct arbitrar x0 (a, b). In acest scop, vom calcula distanta la
r
ad
acina
|xk+1 | = |f (xk ) f ()| = |f 0 ()| |xk | ,
(xk , ) .
(3.10)
88
3. Rezolvarea ecuat
iilor neliniare
(3.11)
x(a,b)
(3.12)
(3.13)
(3.14)
|xn | m/(1 m)
(3.17)
rezulta ca distanta la r
ad
acina ultimei valori calculate, xn+1 satisface inegalitatea
|xn+1 | m/(1 m) .
(3.18)
In consecinta, dac
a panta m este foarte apropiat
a de unitate, distanta la
radacina poate fi de alt ordin de m
arime dec
at ales. In particular, dac
a nu
s-a verificat conditia de existent
a a r
ad
acinii, s-ar putea ca aceasta s
a nici nu
a testarea valorii
existe (fig. 3.1). De aceea, n programul de calcul, se recomand
|f 0 (x)|.
89
Figura 3.1: (a) Exemplu de convergenta a iteratiei simple. (b) Exemplu de divergenta
a iteratiei simple.
3.2.2
Metoda Newton-Raphson
k = 0, 1, 2, . . . ,
(3.19)
k (xk , ) .
(3.20)
(3.21)
x (a, b)
(3.22)
(3.23)
k = 0, 1, . . . , F 0 (xk ) 6= 0 ,
(3.24)
90
3. Rezolvarea ecuat
iilor neliniare
k (x, xk ) . (3.25)
(3.26)
(3.27)
F (xk )
(xk )2 00
F (k ) .
0
F (xk )
2F 0 (xk )
(3.28)
(3.29)
sup
x0 ,x00 (a,b)
F 0 (x0 ) 6= 0 .
(3.30)
|xk+1 | M 1 [M (x0 )]
(3.31)
(3.32)
acut
a ntotdeauna dac
a plec
am suDaca M este finit, conditia (3.32) este satisf
ficient de aproape de r
ad
acin
a. Alt
a conditie de convergent
a pentru metoda
91
(3.33)
3.2.3
Metoda secantei
(3.34)
(3.35)
92
3. Rezolvarea ecuat
iilor neliniare
ca mparte intervalul [a, b] n segmente proportionale, dintre care cel mai mic
contine rad
acina (fig. 3.3).
In vederea analizei convergentei metodei not
am Fk = F (xk ) si ek = xk ,
eroarea n iteratia k. Avem
ek+1 = xk+1 = xk
Fk ek1 Fk1 ek
(xk xk1 ) Fk
=
.
Fk Fk1
Fk Fk1
(3.36)
(3.38)
conduce la
Fk /ek = F 0 () + ek F 00 ()/2 + O(e2k ) .
(3.39)
(3.40)
asem
anatoare relatiei (3.29) de la procedeul Newton-Raphson. In deducerea
relatiei (3.40) s-a nlocuit aproximarea prin diferente finite a derivatei cu F 0 ().
Relatia sugereaza un ordin de convergent
a mai mare dec
at liniar dar sub cel
patratic
p
|ek+1 | = A |ek | .
p
(3.41)
1/p
1p+1/p
(3.42)
(3.43)
93
Figura 3.3: (a) Metoda secantei restrange intervalul pe care se afla radacina la (x2 , x1 ),
mai mic dec
at intervalul (c, b) furnizat de metoda njum
at
atirii. (b) Metoda parabolelor tangente restr
ange rapid, din ambele capete, intervalul pe care se afl
a r
ad
acina
de la (a0 , b0 ) la (a1 , b1 ).
3.2.4
(3.44)
(3.45)
p1 (b) = F (b),
p2 (b) = F (b),
a fost elaborat
a de prof. M. Blumenfeld, 1977.
(3.46)
(3.47)
94
3. Rezolvarea ecuat
iilor neliniare
(3.48)
000
(3.49)
(3.50)
(3.52)
(3.53)
1
-2.2
2
+
%
+
+
0
+ | +
+ |
+ | +
&
-
1
-0.2
0
+
%
+
2
0.107
0.5
+
ak
-1.000000
-0.550000
-0.325000
-0.325000
-0.268750
95
ck
-0.550000
-0.325000
-0.212500
-0.268750
-0.240625
bk
-0.100000
-0.100000
-0.100000
-0.212500
-0.212500
f (ak )
-2.200000
-1.152163
-0.401070
-0.401070
-0.154776
f (ck )
-1.152163
-0.401070
0.136313
-0.154776
-0.016109
f (bk )
1.002585
1.002585
1.002585
0.136313
0.136313
Un calcul asem
an
ator furnizeaz
a intervalele (0.4375, 0.49375) si (1.75, 1.78125) pentru celelalte dou
a r
ad
acini. Valorile functiei la mijloacele acestor dou
a intervale sunt
f (0.465625) = 0.0299 si f (1.765625) = 0.00288, suficient de mici. S-a ncheiat etapa
de localizare a r
ad
acinilor.
Pentru rafinarea r
ad
acinilor vom compara mai multe metode. Iteratia simpl
a conduce la relatia
xk+1 = f (xk ) = ln |xk | + 1.2
(3.54)
cu m = |f (x)| = 1/ |x| < 1 doar pentru intervalul (1.75, 1.78125). Pentru celelalte
dou
a intervale se poate folosi modificarea iteratiei simple (3.19) pentru care trebuie
s
a satisfac
a (3.22), ce n cazul de fat
a devine
|1 (1 1/x)| < 1 .
(3.55)
k
0
1
2
3
4
5
6
= 0.1
-0.240625
-0.239014
-0.238236
-0.237862
-0.237682
-0.237596
-0.237555
secant
a
-0.240625
-0.268750
-0.238841
-0.237449
-0.237517
Newton
-0.240625
-0.237501
-0.237517
=1
1.765625
1.768505
1.770134
1.771055
1.771869
1.772228
1.772248
secant
a
1.765625
1.772176
1.772250
1.772250
= 0.5
0.465625
0.480625
0.487271
0.490374
0.491855
0.492568
0.492913
secant
a
0.465625
0.437500
0.493294
0.493245
0.493239
Newton
0.465625
0.491765
0.493235
0.493239
Newton
1.765625
1.772266
1.772250
96
3. Rezolvarea ecuat
iilor neliniare
Se observ
a convergenta mult mai rapid
a a metodelor Newton si secant
a fat
a de iteratia
simpl
a. Metoda Newton converge n general mai repede, ns
a metoda secantei realizeaz
a num
arul minim de evalu
ari de functie p
an
a la atingerea preciziei impuse.
Exemplu 2. S
a se determine r
ad
acina ecuatiei
F (x) = ex cos x = 0
cuprins
a n intervalul (-2,-1) cu 7 cifre semnificative exacte.
Rezolvare. Vom compara de data aceasta metoda Newton-Raphson cu metoda
parabolelor tangente. Valoarea de start furnizat
a de metoda parabolelor tangente
ad
acina evident
a
(3.51) este x0 = 0.17271412. Din acest punct de start se obtine r
din x = 0. Efectu
am totusi calculul pentru a compara cele dou
a metode. Iteratiile
succesive sunt
k
1
2
3
xk Newton
0.0419823
0.0016474
0.0000027
xk Parabole tangente
0.0376656
-0.0001885
0.0000000
Se observ
a convergenta mai rapida c
atre solutie a metodei parabolelor tangente pe
acest exemplu.
3.3
Determinarea r
ad
acinilor polinoamelor
3.3.1
Metoda Lobacevschi-Graeffe
Se consider
a polinomul Pn (x) de gradul n, cu coeficienti reali
Pn (x) =
n
X
j=0
anj x = a0
n
Y
(x xj ),
a0 6= 0 ,
(3.56)
j=1
(3.57)
(3.58)
3.3. Determinarea r
ad
acinilor polinoamelor
97
n
Y
(x + xj ) .
(3.59)
j=1
F
ac
and apoi produsul
(1)n Pn (x)Pn (x) = a20
n
Y
(x2 x2j ) ,
(3.60)
j=1
m = 2s ,
s N,
(3.61)
n
Y
(z xm
j )=
j=1
n
X
(s)
(1)j Anj z j ,
m = 20 , 21 , . . . , 2s .
(3.62)
j=0
Aj
n
i2
h
X
(s)
(s)
(s)
+2
(1)k Ajk Aj+k ,
= Aj
j = 0, n ,
(3.63)
k=0
unde s-a facut conventia ca termenii de indice j + k > n sau de indice j i < 0
sunt considerati nuli.
Gasirea radacinilor n metoda Lobacevschi-Graeffe se bazeaz
a pe interpre(s)
ata
tarea semnului si valorilor coeficientilor Aj n diverse etape s. Pentru a ar
cum se procedeaza, vom considera trei cazuri, discutate mai jos.
Cazul r
ad
acinilor reale si distincte.
S
a presupunem ca toate radacinile xj , j = 1, n, ale polinomului Pn (x) sunt
distincte. Radacinile vor fi ordonate dup
a indici astfel, n ordinea descresc
atoare
a modulelor,
|x1 | > |x2 | > . . . > |xn | .
(3.64)
98
3. Rezolvarea ecuat
iilor neliniare
(s)
m
m
xm
1 + x2 + . . . + xn = A1 /A0
(s)
(3.65)
(s)
m
m m
m
m
xm
1 x2 + x1 x3 + . . . + xn1 xn = A2 /A0
(s)
(3.66)
(s)
m m
m m m
m
m
m
xm
1 x2 x3 + x1 x2 x4 + . . . + xn2 xn1 xn = A3 /A0
(3.67)
(s)
m
m
(s)
xm
1 x2 . . . xn = An /A0
(3.68)
a c
a, la un anumit m, termenul xm
Tinand cont de inegalit
atile (3.64) rezult
1 va
m
deveni preponderent n relatia (3.65); la fel se va ntmpla cu termenul xm
1 x2
n relatia (3.66) si asa mai departe. In consecint
a, pentru m suficient de mare,
sistemul (3.65)-(3.68) se aproximeaz
a prin cantit
ati care reprezint
a p
atrate perfecte
(s)
(s)
(3.69)
xm
= A /A
1
(s)
m (s)
xm
1 x2 = A2 /A0
(3.70)
(s)
m
m (s)
xm
1 x2 . . . xn = An /A0 ,
j = 1, n .
(3.71)
(3.72)
x1
(s1)
(s1)
.
/A0
= A1
3.3. Determinarea r
ad
acinilor polinoamelor
99
Cazul r
ad
acinilor reale, multiple n modul.
Putem trata si cazul n care polinomul Pn (x) are mai multe r
ad
acini reale, de
acelasi modul. Sa presupunem
|x1 | = |x2 | = . . . = |xM | > |xM +1 | > |xM +1 | > . . . > |xn | ,
(3.74)
adic
a cea mai mare radacina n modul apare de M ori. Atunci partea preponderenta a primei relatii Vieta (3.65) este
(s)
m
m
m (s)
xm
1 + x2 + . . . + xM = M x1 = A1 /A0 ,
(3.75)
(3.76)
S
a deducem criteriul de separare. Dac
a separarea s-ar fi produs n iteratia s 1
atunci ar trebui ca
m/2
x1
(s1)
(s1)
/M ,
/A0
= A1
(3.78)
100
3. Rezolvarea ecuat
iilor neliniare
Cazul r
ad
acinilor complexe.
Sa presupunem acum c
a x1 , x2 sunt r
ad
acini complex conjugate
|x1 | = |x2 | > . . . > |xn | .
(3.80)
x2 = ei
(3.81)
Vom scrie
x1 = ei ,
(3.82)
(3.83)
Modulul se determin
a analog determin
arii unei r
ad
acini reale, 2-multipl
a n
modul
i 1
h
(s) 2m
(s)
= A2 /A0
.
(3.84)
Ca atare, raportul r2
parte, raportul
(s)
ar trebui s
a fie aproape de unu, r2
i2
h
(s)
(s1)
(s)
/A1
r1 = A1
a
= 1. Pe de alt
(3.85)
3.3. Determinarea r
ad
acinilor polinoamelor
101
Regulile de determinare a r
ad
acinilor.
Sintetiz
and rezultatele discutiilor de mai sus vom stabili urm
atoarele concluzii.
1. Modulele radacinilor, reale sau complexe, sunt date de rapoartele coefi(s)
a p
atrate perfecte, n ordinea indicilor.
cientilor Aj , j = 1, n 1 care reprezint
(s)
(s)
atrate perfecte.
Coeficientii A0 si An sunt ntodeauna p
(s)
atrat perfect se stabileste prin
2. Verificarea ca un anumit Aj este un p
(s)
(s)
(s)
a M0
unor radacini are ordinul de multiplicitate M. Dac
a ntre rj si rj+M exist
0
rapoarte oscilante, atunci vor apare M perechi de r
ad
acini complex conjugate.
(s)
(s)
(s)
Dac
a ntre rj si rj+M nu exista rapoarte oscilante, ci rj M , atunci se va
produce o radacina reala cu ordinul de multiplicitate M .
5. Metoda prezentata furnizeaz
a doar modulele r
ad
acinilor. In cazul r
ad
acinilor
reale, semnul se stabileste prin nlocuirea n ecuatia original
a, Pn (x) = 0. In cazul radacinilor complexe, modulul odat
a determinat, se determin
a partea real
a si
imaginara folosind relatiile ntre r
ad
acini si coeficienti pentru ecuatia Pn (x) = 0.
Nu se recomanda determinarea argumentului din relatii de forma (3.82) deoarece
numarul m este mare si se obtin multe solutii ale ecuatiilor de forma cos m = ,
R, care trebuie verificate apoi n ecuatia initial
a.
6. Principalul avantaj al metodei Graeffe-Lobacevski este furnizarea tuturor radacinilor, reale si complexe, ale unui polinom cu coeficienti reali. Printre
dezavantaje se numara: posibilitatea dep
asirii superioare de registru, necesitatea examinarii de catre utilizator a tabloului coeficientilor precum si necesitatea
rezolvarii unor sisteme de ecuatii neliniare n cazul existentei r
ad
acinilor complexe.
7. Datorita lucrului cu numere mari, aproximatiile r
ad
acinilor furnizate de
metoda Lobacevschi-Graeffe sunt destul de imprecise. Ca atare metoda va fi
folosita pentru localizarea tuturor r
ad
acinilor. Dup
a localizare, se va trece la
rafinarea acestora prin procedeele de factorizare a polinoamelor prezentate mai
jos.
3.3.2
102
3. Rezolvarea ecuat
iilor neliniare
n
X
anj xj = (x )
j=0
n1
X
bnj1 xj + bn ,
(3.87)
j=0
bk = ak + bk1 ,
k = 1, n .
(3.88)
k = 1, n .
(3.89)
dbk
,
d
k = 1, n ,
(3.90)
ck = bk + ck1 ,
k = 1, n 1.
(3.91)
(3.92)
3.3. Determinarea r
ad
acinilor polinoamelor
103
(3.93)
b a0 ; c b
k = 1 : (n 1)
(3.94)
[b ak + b, c b + c
b an + b
Metoda poate fi aplicata direct pentru calculul r
ad
acinilor complexe, deoarece
polinomul este o functie analitica n tot planul C.
Determinarea r
ad
acinilor multiple.
Daca este o radacina multipla, derivata polinomului n va fi nul
a, Pn0 () = 0.
Numerele bn , cn1 vor tinde catre zero simultan, iar convergenta procedeului Newton-Raphson se nrautateste. Se poate efectua o modificare simpl
a a
procedeului ce mbunatateste convergenta. Fie M ordinul de multiplicitate a
1/m
r
ad
acinii. Aplicam procedeul Newton-Raphson functiei f (x) = [Pn (x)]
ce
1/m1
0
are derivata f (x) = [Pn (x)]
/m. Iteratia Newton-Raphson se exprim
a ca
m+1 = m M bn (m )/cn1 (m ) ,
(3.95)
104
3. Rezolvarea ecuat
iilor neliniare
(3.97)
(3.98)
si asa mai departe. Aplicarea de n ori a schemei Horner va furniza toti coeficientii
(k)
Ck , k = 0, n 1, deci implicit toate derivatele Pn () = k! Ck . Algoritmul este
k=0:n
[Ck = ank
k=
0 : (n 1)
j = (n 1) : k : 1
[Cj Cj + Cj+1
(3.99)
n
X
anj xj = (x2 + px + q)
j=0
n2
X
bnj2 xj + Rx + S .
(3.100)
j=0
k = 0, n 2 ,
(3.101)
S = an qbn2 .
(3.102)
bn1 (p, q) = 0 .
(3.103)
a un sistem de dou
a ecuatii cu dou
a necunoscute.
Relatiile (3.103) formeaz
Ecuatiile sunt nelineare si pentru rezolvarea sistemului se aplic
a tot o metod
a
3.3. Determinarea r
ad
acinilor polinoamelor
105
+ (q qm )
= 0 , (3.104)
bn (p, q) = bn (pm , qm ) + (p pm )
p m
q m
bn1 (p, q)
= bn1 (pm , qm ) + (p pm )
bn1
p
+ (q qm )
bn1
q
= 0.
m
(3.105)
Urmatoarea aproximatie (pm+1 , qm+1 ), va fi dat
a de solutia sistemului liniarizat
de mai sus. Pentru obtinerea derivatelor partiale diferentiem relatia de recurent
a
(3.101)
bk
bk1
bk2
= bk1 p
q
,
p
p
p
bk
bk1
bk2
= bk2 p
q
.
q
q
q
(3.106)
(3.107)
a relatii de
pentru k = 0, n si cu c1 = c2 = d1 = d2 = 0. Cum cele dou
recurenta sunt identice vom pastra numai una dintre ele pentru calcule. Sistemul
liniarizat devine
(pm+1 pm )cn + (qm+1 qm )cn1 = bn
.
(3.108)
(pm+1 pm )cn1 + (qm+1 qm )cn2 = bn1
Matricea sistemului se numeste matrice Jacobian
a, si este nesingular
a pentru
r
ad
acini complexe simple. Solutia sistemului este, n aceste conditii,
p pm+1 pm = (bn1 cn1 bn cn2 )/J ,
q qm+1 qm = (bn cn1 bn1 cn )/J ,
(3.109)
(3.110)
cu J cn cn2 c2n1 .
Procedeul poate fi repetat pentru polinomul
Pn2 (x) =
n2
X
bnj2 xj
(3.111)
j=0
p
an
a la factorizarea polinomului Pn (x) n produse de polinoame de grad cel
mult doi. Se obtin perechi de solutii de forma
p
(3.112)
x1,2 = p p2 4q /2 .
2 Vezi
capitolul 8.
106
3. Rezolvarea ecuat
iilor neliniare
Aproximatia initial
a (p0 , q0 ) se poate obtine dintr-un procedeu de localizare.
Este recomandabila folosirea coordonatelor polare
x1 = ei , x2 = ei ,
x1 x2 = 2 = q,
x1 + x2 = 2 cos = p .
(3.113)
max |ak | ,
0<kn
1
1
,
R2 = 1 + |an |
max |ak |
0k<n
(3.114)
(3.115)
b2 b1 ; b1 b0 ; c2 c1 ; c1 c0
b0 ak pb1 qb2
c0 b1 pc1 qc2
J c0 c2 c21 ;
pnou p + p; qnou q + q
3.3. Determinarea r
ad
acinilor polinoamelor
s
0
1
2
3
4
5
6
(s)
A0
1.00
1.00
1.00
1.00
1.00
1.00
1.00
(s)
A1
4.000E+00
1.400E+01
1.500E+02
1.951E+04
3.785E+08
1.433E+17
2.053E+34
(s)
A2
1.000E+00
2.300E+01
1.495E+03
1.047E+06
9.139E+11
8.263E+23
6.828E+47
107
(s)
A3
-3.000E+00
-3.700E+01
3.987E+03
4.657E+06
1.172E+13
1.241E+26
1.543E+52
(s)
A4
-1.000E+00
-3.500E+01
3.889E+03
4.790E+06
7.301E+12
-1.285E+25
-1.811E+51
(s)
A5
-6.000E+00
3.600E+01
1.296E+03
1.680E+06
2.821E+12
7.959E+24
6.334E+49
(s)
r1
1.14
1.31
1.15
1.01
1.00
1.00
(s)
r2
0.04
0.35
2.14
1.20
1.01
1.00
(s)
r3
-0.24
0.34
3.41
1.85
1.11
1.00
(s)
r4
-0.03
0.31
3.16
3.14
-4.15
-0.09
(s)
(2)
(s)
Se observ
a obtinerea izol
arii a trei r
ad
acine reale din rapoartele r1 , r2 , r3 ce
(s)
tind toate c
atre 1. Raportul r4 oscileaz
a denot
and prezenta unei perechi de r
ad
acini
complexe, conjugate. Procedeul furnizeaz
a dou
a valori posibile pentru r
ad
acina de
modul maxim
1/64
(6)
(6)
x1 = A1 /A0
= 3.4366.
(3.117)
Cum p5 (3.4366) = 0.00269734 si p5 (3.4366) = 1032.99 alegem x1 = 3.4366. Analog
obtinem
1/64
(6)
(6)
x2 = A2 /A1
= 1.62659 x2 = 1.62659
(3.118)
1/64
(6)
(6)
x3 = A3 /A2
= 1.16958 x3 = 1.16958
Modulul perechii de r
ad
acini complexe este
1/(264)
(6)
(6)
= A5 /A3
= 0.9579761
(3.119)
(3.120)
(3.121)
dup
a o singur
a iteratie Newton-Raphson. Se observ
a calitatea extrem de bun
a a aproximatiilor initiale furnizate de procedeul Lobacevschi-Graeffe. Pentru r
ad
acinile
108
3. Rezolvarea ecuat
iilor neliniare
p
0.0000
-0.1052
-0.1064
-0.1064
q
0.9180
0.9028
0.9407
0.9178
b0
-1.25E-01
1.43E-01
-7.04E-04
-4.73E-09
b1
-1.08E+00
-3.60E-02
3.54E-04
1.76E-08
R
-1.0753
-0.0360
0.0004
0.0000
S
-0.1249
0.1468
-0.0007
0.0000
Rad
acinile complexe satisfac ecuatia
x2 + px + q = 0
(3.122)
(3.123)
Se observ
a o convergent
a rapid
a a iteratiilor. Plecarea din = 0 ns
a nu converge
c
atre solutie.
Exemplu 2. S
a se determine r
ad
acinile polinomului
p4 (x) = x4 6x3 + 18x2 30x + 25
Rezolvare. Cum nici unul din rapoartele r1 , r2 , r3 nu se stabilizeaz
a deducem
prezenta a dou
a perechi de r
ad
acini complexe, de acelasi modul
p > 1.
(3.124)
Pentru aflarea r
aspunsului se efectueaz
a o serie de experimente numerice, lu
and diverse
puncte din [2, 2] [2, 2] ca puncte de start. Se nregistreaz
a num
arul de iteratii
necesare atingerii unei r
ad
acini sau faptul c
a procesul diverge. Frontiera dintre domeniul atractiv, pentru care procesul converge si cel repulsiv, pentru care procesul
diverge este extrem de complicat
a. Cercet
ari matematice moderne au ar
atat c
a este
vorba de o nou
a structur
a matematic
a cu propriet
ati remarcabile, printre care si o
dimensiune a frontierei ce nu este un num
ar ntreg. O asemenea multime Julia este
reprezentat
a pe copert
a pentru p = 6. Nuantele de culori nchise indic
a convergenta
rapid
a c
atre o r
ad
acin
a pe c
and cele deschise indic
a divergenta.
109
Capitolul 4
4.1
Surse de erori
110
|f | < 1
(4.1)
(4.2)
(4.3)
Raportul ex /
x se numeste eroare relativ
a, notat
a deseori cu x
x = ex /
x.
(4.4)
(4.5)
111
(4.6)
(4.7)
4.2
y = y + ey .
(4.8)
(4.9)
(4.10)
(4.11)
(4.12)
112
Propagarea erorilor la mp
artire.
Cu notatiile (4.8) vom scrie
x/y = (
x + ex )/(
y + ey ) = x
/
y (1 + ex /
x ey /
y) = x
/
y (1 + x y ),
(4.13)
unde am neglijat termenii de grad superior lui 2 n ex si ey . S-a folosit dezvoltarea n serie Taylor pentru 1/(1 + y )
a c
a eroarea relativ
a
= 1 y + . . . . Rezult
la mpartire, datorata erorilor de reprezentare n calculator (ex si ey ), este
ex/y /(
x/
y ) = x y ,
(4.14)
adica este egala cu diferenta erorilor relative introduse initial n valorile num
ar
atorului si numitorului. La acestea se adaug
a eroarea de rotunjire la reprezentarea
raportului x
/
y , pe care o vom nota cu d , astfel nc
at eroarea relativ
a total
a la
mpartirea a doua numere x, y este
td = x y + d .
(4.15)
(4.16)
(4.17)
(4.18)
(4.19)
(4.20)
cu marginea
Ca recomandare general
a, n calculul numeric trebuie studiat
a si propagarea erorilor. In anumite cazuri, acumularea erorilor poate conduce la rezultate
complet eronate. Pentru a ilustra aceast
a posibilitate, s
a consider
am calculul
integralei
Z 1
xn ex1 dx .
(4.21)
In =
0
n
0
1
3
7
113
de amplificare a erorilor
n
9
13
17
20
In (4.22)
0.091586
-0.377925
In (4.24)
0.091612
0.066948
0.052778
0.000000
n = 1, 2, . . . ,
(4.22)
plec
and de la valoarea I0 = 1 e1 . Rezultatele calculelor pentru diferitele
a c
a, pentru n = 13, se obtine
valori ale lui n sunt date n tabelul 4.1 Se observ
o valoare negativa a integralei, ceea ce nu este posibil, functia integrat
a fiind
pozitiva pe [0, 1]. Rezulta ca valorile obtinute sunt eronate, ncep
and cu o
anumita valoare a lui n. Explicatia o constituie faptul c
a valoarea integralei
I0 se calculeaza cu o eroare e0 care este amplificat
a prin aplicarea formulei de
recurenta (4.22) astfel ca, la calculul lui I13 eroarea este
e13
= 13! e0 = 6.227 109 e0 .
(4.23)
n = N, N 1, . . . ,
(4.24)
114
115
Capitolul 5
Rezolvarea sistemelor
liniare
ai,j xj = bi , i 1, m ,
(5.1)
116
iile
(5.1)
n
sensul
minimiz
a
rii
reziduuPn
Pn
lui R = i=1 (bi j=1 ai,j xj )2 .
Nu trebuie uitat c
a, la reprezentarea numerelor n calculator nu putem retine
decat un numar finit de cifre, iar erorile de rotunjire se propag
a dup
a regulile
discutate n capitolul 4. Se poate ajunge n situatia ca din cauza acestor erori,
determinantul sa devin
a egal cu zero sau s
a aib
a o valoare foarte mic
a n modul.
Complexitatea implement
arilor prezente n bibliotecile matematice se datoreaz
a
n mare parte tehnicilor de evitare a acestei situatii, dar totodat
a si eforturilor
de minimizare a memoriei utilizate si a timpului de calcul.
Metodele de rezolvare a sistemelor de ecuatii liniare sunt de dou
a tipuri: (a)
metode directe (sau metode de eliminare sau metode exacte), n care solutia este
obtinuta n urma unui num
ar de operatii dinainte cunoscut; (b) metode iterative,
care se bazeaza pe folosirea unei aproximatii initiale ce se mbun
at
ateste de la
o etapa la alta.
5.1
5.1.1
Metode directe
Metoda elimin
arii a lui Gauss
(5.2)
117
...
... ... ... |
...
0
.
A =
(5.3)
a
a1,1 a1,2 . . .
...
...
a1,n
1,n+1
x1
(1)
(1)
(1)
0
a2,n+1
...
...
a2,n
a2,2 . . .
x2
..
..
..
0
.
.
0
...
...
...
.
= (i1)
. (5.4)
(i1)
(i1)
0
xi
ai,n+1
. . . ai,n
0
0 ai,j
..
..
.
0
.
.
0
0
0
... .
(n1)
(n1)
x
n
an,n+1
0
0
0
0
0 an,n
Indicii superiori indica etapa n care a fost obtinut elementul. Pentru a obtine
zerourile de sub diagonala principal
a, se folosesc operatii simple de nmultire a
unei linii cu un multiplicator si de sc
adere din alt
a linie. Spre exemplu, pentru
a obtine zerouri pe prima coloana, din linia i se scade prima linie nmultit
a cu
multiplicatorul mi,1 , obtinandu-se
(1)
(5.5)
ai n
Repetand procedeul pentru i = 2, n, se obtin elemente nule pe coloana nt
aceasta prima etapa. Evident, pentru a putea opera, trebuie ca a1,1 6= 0. Mai
a ca a1,1 s
a fie n
mult, dupa cum vom vedea la paragraful (5.1.3), se recomand
modul cat mai mare posibil, deoarece n acest mod, erorile de rotunjire sunt reduse. Elementul ai,i plasat pe diagonala principal
a se numeste pivot. Obtinerea
unui pivot cu modul cat mai mare este posibil
a prin schimb
ari de linii si coloane
care nu afecteaza zerourile deja produse, adic
a pivotul se poate alege dintre
elementele de sub si/sau la dreapta pozitiei de pe diagonala principal
a a pivotului. In functie de numarul de elemente dintre care este selectat, pivotul poate
fi partial, cand se alege cel mai mare n modul1 dintre elementele de pe coloana
pivotului, sub diagonala principal
a, sau total, c
and se alege cel mai mare n
modul dintre toate elementele continute n linii si coloane care, interschimbate,
nu modific
a zerourile deja obtinute. In cazul n care pentru obtinerea unui pivot
1 Cu
privire la alegerea elementului cel mai mare n modul, vezi si paragraful 5.1.3.
118
i = (s + 1) : n
(s1)
(s1)
j = (s + 1) : (n + 1)
h
(s1)
(s)
ai,j ai,j
(5.6)
(s1)
mi,s as,j
(s1)
Intr-adev
ar, n etapa (s) pivotul este as,s , iar elementele care se anuleaz
a
sunt plasate n pozitia ai,s , i s + 1, n. Practic, aceste elemente nu se mai
calculeaza deoarece se stie c
a ele sunt nule, iar pe pozitiile acestora se pot
memora multiplicatorii mi,s , eventual necesari pentru calcule ulterioare cum
a matricea A nu este
ar fi rafinarea solutiei (paragraful 5.1.3). In final, dac
(i1)
singulara, se ajunge la forma (5.4) a sistemului, coeficientii ai,j , i 1, n,
j 1, n + 1 fiind obtinuti prin operatii asupra matricei extinse A0 . Ca urmare,
necunoscutele se obtin prin retrosubstituire, dup
a schema
(n1)
(n1)
xci (a(i1)
i,n+1
n
X
(5.7)
(i1)
(i1)
ai,j xcj ) / ai,i
j=i+1
119
n1
X
s=1
n2
5n
n3
+
.
3
2
6
(5.8)
n
n3
n3
+ n2
+ n2 .
3
3
3
(5.9)
j = (s + 1) : (n + 1)
[as,j as,j /as,s ]
d d as,s ; as,s 1
i = (s + 1) : n
"
j=
h (s + 1) : n
(s)
(s1)
ai,j ai,j
(s1) (s1)
ai,j
ai,s
[Retrosubstituire ]
(n1)
xn an,n+1
i = (n 1) : 1
xi a(i1)
i,n+1
Algoritm Gauss-Jordan
[Eliminare ]
d1
s= 1 : n
j = (s + 1) : (n + 1)
[as,j as,j /as,s ]
d d as,s ; as,s 1
i=1:n
dac
" a i 6= s
jh = (s + 1) : n
(s)
(s1)
(s1) (s1)
ai,j
xi ai,n+1
n
X
(i1)
ai,j
xj
j=i+1
(5.10)
120
x1 + 29 x2
8x1 + 2x2
x1 + 2x2
gaussiene, s
a se rezolve sistemul de ecuatii
+
x3
3x3
5x3
2
1
1
2
9
1
1 |
2
9
s=1
2
8 2 3 | 1 0
11
9
16
1 2 5 |
1
0
6
9
=
=
=
2
1 .
1
(5.11)
dup
a regula (5.6). Obtinem succesiv
|
2
1 92
1 |
2
s=2
2
0 9 11 | 17 .
| 17
0 0
82 | 135
|
1
Rezult
a
= 819/164 ' 4.9939,
x3 = 135/82 ' 1.6463, x2 = (9/2) 17 + 11 135
82
x1 = 2 135/82 (2/9)(819/164) = 31/41 ' 0.7561 .
(5.12)
1 0.222
1
|
2
8
2
3 | 1
l1 l2
s=1
8
2
3 | 1 1 0.222
1
|
2
1
2
5 |
1
1
2
5 |
1
8
0
0
s=1
2
0.028
1.75
3
1.38
4.63
|
|
|
8
0
0
s=2
8
1
l2 l3
2.13 0
1.13
0
2
1.75
0
3
4.63
1.31
2
1.75
0.028
|
|
|
3
4.63
1.38
|
|
|
1
s=2
1.13
2.13
1
1.13 .
2.15
Rezult
a
x
3 = 0.164 101 , x
2 = 0.498 101 , x
1 = 0.755 100 .
(5.13)
121
8
2
3
| 1
8
2
3 | 1
s=20
0 0.028
1.38
| 2.13 0 0.028 1.38 | 2.13 ,
0
0
81.6 | 1.13
0
1.75
4.63 | 1.13
cu solutiile
01 = 0.7 100 .
02 = 0.476 101 , x
x
03 = 0.164 101 , x
(5.14)
Se observ
a aparitia unor erori mult mai mari, comparativ cu valorile (5.12). Normele
maxime ale erorilor sunt
kx x
k = 0.139 101 , kx x
0 k = 0.234 .
5.1.2
(5.15)
Metoda Gauss-Jordan
n
X
s=1
n3
3n
n3
+ n2
+ n2 , (5.16)
2
2
2
5.1.3
(s1)
ai,j = ai,j
(s1) (s1)
as,j /a(s1)
,
s,s
ai,s
j s + 1, n + 1 ,
(5.17)
122
(s)
i,j
ai,j
(s)
ai,j
(s1)
i,s
(s1)
(s1)
i,j
(s1)
+ s,j
ai,s
(s1)
as,j
(s1)
as,s
(s)
ai,j
0 + s ,
(5.18)
(s1)
+ p + d .
s,s
(s1)
(s1) (s1)
a
ai,s as,j
(s)
t i,j
(5.19)
i,j 5 10
(s) + 5 (s1) (s) + 1 ,
ai,j
as,s ai,j
j1,n
(5.21)
123
=bb .
(5.23)
Prin scaderea ecuatiilor (5.2) si (5.22), se obtine un sistemul
Ae = ,
(5.24)
care are aceeasi matrice cu sistemul initial. Prin urmare, sistemul (5.24) se
rezolva cu acelasi algoritm, nefiind necesare dec
at operatiile de eliminare aplicate
asupra termenilor liberi. Se obtine solutia rafinat
a
x
1 = x
+e .
(5.25)
a, deoarece la determinarea
Evident, nici aceasta solutie (5.25) nu este exact
vectorului eroare e se introduc aceleasi erori ca la rezolvarea sistemului initial
a rafinare, plec
and
(5.2), prin transformarile efectuate asupra matricei A. O nou
de la x1 este posibila, dar aceasta nu mbun
at
ateste n mod necesar solutia
sistemului. Conditii suficiente pentru corectarea solutiei se vor da la paragraful
5.1.7.
Exemplu. Relu
am exemplul (5.11). Indiferent de metoda utilizat
a, solutia trebuie
verificat
a n sistem. In acest fel, se g
aseste vectorul erorilor (5.23)
Solutia
(5.13)
(5.14)
1
0.944 102
0.328 102
2
0
0
3
0.5 102
0.38 100
kk /kbk
0.47 102
0.19 100
Se constat
a c
a, n cazul solutiei (5.14), exist
a o eroare relativ
a mare (circa 20%) n
termenii liberi, deci se impune rafinarea solutiei. Presupunnd c
a efectu
am asupra
matricei A aceleasi operatii care ne-au condus la solutia (5.14), sistemul (5.24) pentru
determinarea vectorului eroare e conduce la matricea
8
2
3
|
0
8
2
3 |
0
0 0.028
1.38
| 0.00328 0 0.028 1.38 | 0.00328 ,
0
0
81.6 |
0.585
0
1.75
4.63 |
0.38
cu solutia
e3 = 0.717 102 , e2 = 0.236 100 , e1 = 0.563 101
Solutia corectat
a este
0i + ei ) ,
1 = 0.756, (
x00i = x
002 = 0.450 101 , x
x
003 = 0.165 101 , x
cu norma maxim
a a erorii
kx x
00 k = 0.4 101 .
Se observ
a o reducere a normei erorii absolute n raport cu solutia x
0 , dar rezultatul este
sub precizia realizat
a cu pivotare, chiar f
ar
a rafinare (5.12), care are norma maxim
a
dat
a de (5.15).
124
5.1.4
Interpretarea matriceal
a a metodelor de eliminare
1
0 ... ... 0
1
0
... ... 0
m2,1 1 . . . . . . 0
0
1
... ... 0
..
..
,
.
.
m
0
.
.
.
0
L1 =
.
.
.
0
0
m
,
L
=
3,1
3,2
2
..
.. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
.
.
.
.
.
mn,1 0 . . .
0 1
0 mn,2 . . . . . . 1
adica se obtin din matricea unitate de dimensiuni n n prin introducerea multiplicatorilor, cu semn schimbat, n pozitiile specificate chiar prin indicii acestor
multiplicatori. Ca prob
a, elementul pi,1 din matricea produs L1 A este
pi,1 = mi,1 a1,1 + 1 ai,1 = 0, i = 2, 3, . . . , n .
(5.26)
(5.27)
a n etapa n 1 a elimin
arii gaU fiind matricea superior triunghiular
a4 , obtinut
ussiene (etapa finala). Vom observa, mai departe, c
a matricele Ls , s 1, n 1
sunt toate inversabile, av
and determinanti egali cu unitatea. Mai mult, se verifica direct ca matricele inverse L1
in din matricele Ls prin schimbarea
s se obt
semnelor elementelor mi,s . Not
and cu L = (Ln1 Ln2 . . . L2 L1 )1 matricea
a c
a la eliminarea gaussian
a
inversa a transformarilor matricei A (5.27), rezult
(fara permutari de linii sau coloane), s-a realizat factorizarea
A=LU ,
(5.28)
1
0
...
...
0
m2,1
1
...
...
0
1
1
m3,1 m3,2
1
...
0
L = L1
L
.
.
.
L
=
(5.29)
.
1
2
n1
..
..
..
..
..
.
.
.
.
.
mn,1
4 Literele
mn,2
...
mn,n1
125
(2)
(2)
a3,n
0
0
a3,3 . . .
U =
..
..
..
..
..
.
.
.
.
.
(n1)
0
0
...
0 an,n
expresia
(5.30)
(5.31)
unde Pi,j si Pk,l sunt matrice de permutare. Din (5.31) se poate trage concluzia ca, datorita permutarilor, matricea A nu se mai descompune chiar ntr-un
produs de matrice triughiulare. De fapt
1
1
0
A = (L1
1 Pi,j L2 . . . Ln1 )U Pk,l ,
(5.32)
1
unde am tinut cont ca Pi,j
= Pi,j , sau
Pi,j APk,l = LU 0 ,
(5.33)
(5.34)
np
det A = (1)np det U 0 = a1,1 a2,2 . . . a(n1)
,
n,n (1)
(5.35)
5.1.5
126
si inversarea matricei A s
a fie probleme str
ans legate. Intr-adev
ar, matricea B
este inversa matricei A dac
a
AB = BA = I .
(5.36)
Daca lu
am n considerare prima coloan
a a matricei B, obtinem
1
b1,1
a1,1 a1,2 . . . a1,n
a2,1 a2,2 . . . a2,n b2,1 0
=
...
... ... ... ... ...
bn,1
an,1 an,2 . . . an,n
0
(5.37)
(5.38)
(5.39)
1
0
T2 =
0
.
..
0
m1,2
1
m3,2
..
.
mn,2
...
...
..
.
..
.
...
...
...
...
..
.
...
T1 = L1 ,
0
1/a1,1
(n)
0
..
, D =
.
..
.
0
1
0
(1)
1/a2,2
..
.
0
...
...
..
.
...
0
0
..
.
(n1)
1/an,n
(5.40)
(5.41)
2
sau, observand ca Pk,l
= I si nmultind egalitatea (5.41) la dreapta si la stnga
cu Pk,l , se obtine
127
adic
a matricea inversa se obtine din matricea B printr-o permutare de linii, corespunz
atoare permut
arilor de coloane efectuate la c
autarea pivotilor n operatiile
de eliminare. Daca s-au efectuat mai multe permut
ari de coloane, spre exemplu
I = BAPk1 ,l1 Pk2 ,l2 . . . Pkm ,lm ,
(5.43)
(5.44)
rezulta
adic
a permutarile de linii n matricea B se efectueaz
a n ordine invers
a fat
a de
permutarile de coloane efectuate n matricea A. Dac
a la c
autarea pivotilor nu
se folosesc schimbari de coloane, atunci A1 = B.
Lasand la o parte permutarile, num
arul de operatii la inversare este
ninv = 3n3 /2 2n2 + 5n/2 + 1 3n3 /2 2n2 , (n 1) .
(5.45)
(5.46)
a
deci, aproape de 1.5 ori mai mic fat
a de (5.45) n cazul matricelor mari. Aceast
reducere se face pe seama tinerii evidentei pozitiilor elementelor nenule din linia
pivotului. Aceasta evidenta nu este dificil
a deoarece, la fiecare etap
a se adaug
a
o coloana noua la precedentele. In final, vom observa c
a permut
arile de linii
(singurele care se aplica pe pozitia ocupat
a initial de matricea I) schimb
a doar
pozitiile elementelor nenule (nu si num
arul acestora).
Determinarea matricei inverse am v
azut c
a este echivalent
a cu rezolvarea a
n sisteme de n ecuatii simultane (cu aceeasi matrice A), av
and ca termeni liberi
coloanele matricei I, iar ca necunoscute elementele matricei inverse. Aceeasi
problema poate fi rezolvata si prin eliminare gaussian
a, retrosubstituirea pentru
g
asirea celor n2 necunoscute cerand ns
a n2 (n+1)/2 operatii. In aceste conditii,
numarul de operatii pentru inversare este
(a) fara considerarea zerourilor din matricea unitate
ninv2 = 4n3 /3 n/3 ;
(5.47)
128
(5.48)
Se observ
a ca ninv2 < ninv , n timp ce ninv3 > ninv1 .
Exemplu. Ne propunem s
a calcul
am inversa matricei A a sistemului (5.11). Vom
folosi metoda Gauss-Jordan cu pivotare total
a pentru matricea extins
a. Avem succesiv
"
1
8
1
| 1 0 0
8
2
3 | 0 1
l1 l2
| 0 1 0
1 0.2222
1
| 1 0
| 0 0 1
1
2
5 | 0 0
"
#
8
2
3
| 0
1
0
s=1
0 0.0278
1.375
| 1 0.125 0
1.75
4.625 | 0 0.125 1
0
8
2
3
| 0
1
0
l2 l3
0 -4.625
1.75
| 1 0.125 1
c2 c3
0
1.375
0.0278 | 0 0.125 0
8
0
0.8649 | 0
1.081
0.6486
s=2
1.75
| 1 0.125
1
0 4.625
0
0
0.4925 | 0 0.1622
0.2973
"
#
8
0
0
| 1.756
1.366
1.171
s=3
0 4.625
0
| 3.553
0.4513
0.0564
0
0
0.4925 |
1
0.1622
0.2973
"
#
1 0 0 | 0.2195
0.171
0.1463
D
0 1 0 | 0.7683 0.09758 0.0122
.
0 0 1 |
2.030
0.3293
0.06037
0.2222
2
2
1
3
5
0
0
1
(5.49)
Calculele au fost efectuate cu 4 cifre semnificative.
2 si 3 pentru aducerea valorii 4.625 pe pozitia
obtine din (5.49) prin permutarea liniilor 2 si 3 n
coloane
0.2195
0.1707
0.3293
B0 = 2.030
0.7683
0.09758
5.1.6
0.1463
0.6037 .
0.0122
(5.50)
Relatia Sherman-Morisson
(5.51)
129
(5.52)
5.1.7
(5.53)
(5.54)
(5.55)
T
in
and cont de (5.54), atunci Fk 0, deoarece
k
(5.56)
(5.57)
(5.58)
(5.59)
(5.60)
130
(5.61)
F0 = 10
13.4
90
100
7.046
20
10
4.214
40 ,
10
(5.62)
cu norma
kF0 k = 105 (90 + 20 + 40) = 1.5 103 1 .
Deoarece kF0 k < 1, putem rafina inversa B0 folosind (5.58), unde apare corectia
2.208 3.33
4.44
5
57.94
1.68 1.419 .
B0 F0 = 10
2.731
3.339
0.544
Se obtine matricea rafinat
a B1 si matricea erorilor F1 date de
3.923
0.2195
0.171
0.1463
8
0.3293
0.6037 , F1 = 10 9.94
B1 = 2.0306
5.6
0.7683
0.09758
0.0122
2.775
14.34
6.046
2.962
7.793 .
0.786
(5.63)
5.1.8
131
Dac
a n datele initiale ale sistemului (5.1) exist
a erori, acestea pot fi amplificate
n calcul mai mult sau mai putin, n functie de num
arul de conditionare al
matricei sistemului. Num
arul de conditionare (sau indicele de conditionare) al
unei matrice A, nesingulare, este notat cu (A) si are, prin definitie, expresia
(A) = kAk kA1 k 1 .
(5.64)
(5.65)
S
a presupunem ca si vectorul b este dat cu eroarea b. In consecint
a, va rezulta
o imprecizie x n solutie, astfel nc
at
(A + A)(x + x) = b + b ,
(5.66)
A x + (A + A)x = b .
(5.67)
(5.68)
(5.69)
(5.70)
(5.71)
132
+
.
kxk
1 (A)kAk/kAk kbk
kAk
(5.72)
a.
Semnul egal n (5.72) corespunde matricelor hermitice, cu norma spectral
Se observa importanta num
arului de conditionare (A) n amplificarea erorilor
initiale. Legat de eroarea la inversarea matricei A, se stabileste o expresie
similara cu (5.72)
k(A + A)1 A1 k
(A)
kAk
.
1
kA k
1 (A)kAk/kAk kAk
5.1.9
(5.73)
Factorizarea L U
(5.74)
adica
A=
l1,1
l2,1
..
.
ln,1
0
l2,2
..
.
...
...
..
.
0
0
..
.
ln,2
...
ln,n
u1,1
0
..
.
u1,2
u2,2
..
.
...
...
..
.
u1,n
u2,n
..
.
un,n
(5.75)
and cont
Putem folosi descompunerea (5.74) pentru a rezolva sistemul (5.2) tin
de asociativitatea produsului de matrice
Ax = (LU )x = L(U x) = b ,
(5.76)
(5.77)
a cu usurint
a datorit
a faptului c
a matricele L si U
Sistemele (5.77) se rezov
sunt triunghiulare. Relatia (5.75) reprezint
a un sistem de n2 ecuatii cu n2 + n
necunoscute, deci trebuie precizate n dintre necunoscute. Cele mai utilizate
alegeri sunt date de factorizarea Doolittle c
and se aleg li,i = 1, factorizarea Crout
cand se aleg ui,i = 1 si factorizarea Cholesky c
and U = LT , deci li,i = ui,i .
Factorizarea Cholesky este posibil
a numai dac
a matricea A este simetric
a si
pozitiv definita5 .
5O
133
k
= 1 : n
[Se alege uk,k sau lk,k ,
se determina lk,k sau uk,k ]
k1
s=1
i = (k + 1) : n
ji
k1
P
(ak,j
lk,s us,j )
s=1
uk,j
lk,k
k1
P
(ai,k
li,s us,k )
s=1
li,k
uk,k
k=1:n
locatia ak,k ]
k1
(ak,k
ak,s as,k )
s=1
a
k,k
lk,k
i = (k + 1) : n
ji
k1
P
(ak,j
ak,s as,j )
s=1
ak,j
lk,k
k1
P
(ai,k
ai,s as,k )
s=1
ai,k
ak,k
(5.78)
In partea dreapta este dat algoritmul n care se aleg valorile lk,k , k 1, n, care
se memoreaza separat, iar elementele li,j , i 2, n, j 1, i 1, um,p , m 1, n,
p m, n, se plaseaza pe locul elementelor matricei A.
Din (5.78) observa ca pentru a putea obtine factorizarea LU este necesar
ca lk,k si uk,k sa fie nenule. Factorizarea LU poate fi implementat
a eficient
folosind tehnica pivotului partial, caz n care P A = LU , iar solutia se obtine
rezolvand sistemul echivalent LU = P b, unde P este matricea care contine
toate permutarile de linii efectate asupra matricei A pe parcursul procesului de
factorizare. Conditiile n care o matrice admite o factorizare LU sunt incluse n
urm
atoarele teoreme pe care le dam f
ar
a demonstratie:
Teorem
a. Daca minorii principali ai matricei A sunt nenuli, atunci aceasta
admite o factorizare LU .
Teorem
a. Daca A este o matrice real
a, simetric
a si pozitiv definit
a, atunci ea
admite o factorizare LU unic
a, n care U = LT .
In cazul n care A este o matrice real
a, simetric
a si pozitiv definit
a, descompunerea A = LLT se numeste factorizarea Cholesky si este dat
a de algoritmul
(5.79).
k=1:n
Pk1 2 1/2
lk,k (ak,k s=1 lk,s
)
i = (k + 1) : n
h
Pk1
li,k (ai,k s=1 li,s lk,s )/lk,k .
(5.79)
134
5.1.10
Descompunerea SV D
(5.80)
(5.81)
(5.82)
(5.83)
(5.84)
atrate.
adica vectorul x satisface cel mai bine (5.2) n sensul celor mai mici p
In cazul n care matricea A este aproape singular
a, unul sau mai multe
elemente wi au valori foarte mici n modul. Spunem n acest caz c
a matricea
6 Spunem
n acest caz c
a matricea A este aproape singular
a.
SV D provin de la cuvintele din limba englez
a Singular Value Decomposition.
7 Init
ialele
135
A este r
au conditionat
a. Num
arul de conditionare al matricei A poate fi definit
de raportul (vezi si (5.64))
(A) = wmax /wmin ,
(5.85)
(5.86)
unde
Cu c
at num
arul de conditionare este mai mare, cu at
at matricea A este mai r
au
conditionat
a (vezi paragraful 5.1.8), iar una sau mai multe ecuatii sunt foarte
aproape de niste combinatii liniare ale celorlate ecuatii. Metodele de eliminare,
chiar si cu pivotare totala, pot esua n astfel de cazuri. Folosind descompunerea
a de prezenta elemetelor wi foarte mici
(5.80), solutia obtinuta (5.83) este efectat
n modul. O modalitate de a evita astfel de probleme const
a n renuntarea la
ecuatiile care sunt foarte aproape de niste combinatii liniare ale celorlate ecuatii
(si deci care nu aduc informatii suplimentare), ceea ce ce se poate realiza prin
nlocuirea cu zero a elementelor 1/wi foarte mari n modul. Se obtin astfel solutii
at cel dat de solutia obtinut
a cu
care au reziduul R dat de (5.84) mai mic dec
valorile 1/wi ce rezulta din descompunerea (5.80).
Pentru cazul n care numarul de ecuatii este mai mic dec
at num
arul de
necunoscute (m < n), se poate obtine o solutie particular
a ad
aug
and n m
linii de zerouri n matricea A obtin
and o matrice p
atrat
a n n, efectu
and apoi
descompunerea (5.80) si nlocuind cu zero termenii 1/wi ce corespund valorilor
wi mici n modul.
ari puternice n toate bibliotecile
Tehnica descompunerii (5.80) are implement
matematice de rezolvare a sistemelor de ecuatii liniare. Algoritmii folositi sunt
relativ sofisticati, depasind cadrul acestei lucr
ari, fiind folositi n cazurile dificile
ale sistemelor cu matrice mari si rau conditionate.
5.1.11
136
137
p
an
a la linia i 1 inclusiv si j (i b) elemente pe linia i, deci elementul ai,j se
va g
asi pe pozitia (b 1)i b(b 1)/2 + j. In cazul matricelor mari care contin
multe elemente nule n interiorul benzii, se pot folosi scheme adecvate care s
a
memoreze numai elementele nenule.
Pentru memorarea unei matrice inferior triunghiular
a este nevoie de un vector v de dimensiune 1 + 2 + . . . + n = n(n + 1)/2 elemente. Dac
a matricea este
p
astrata pe linii, elementele ei sunt memorate n ordinea a1,1 , a2,1 , a2,2 , a3,1 ,
a3,2 , a3,3 , a4,1 . . . , elementul ai,j av
and n vectorul v pozitia i(i 1)/2 + j.
Pentru memorarea unei matrice rare oarecare exist
a mai multe tehnici dintre
care amintim: memorare prin identificare binar
a, memorare compact
a aleatoare,
memorare compacta sistematica, memorare prin utilizarea adreselor nl
antuite,
s.a. De regula, o tehnica de memorare care minimizeaz
a capacitatea de memorie
utilizata plateste pretul unui timp mai mare de calcul si viceversa. Pentru exemplificare, prezentam pe scurt doua tehnici: memorare prin identificare binar
a si
memorare compact
a sistematic
a. Vom folosi ca exemplu matricea
a1,1 0 a1,3
0
0
0
0
0
0
0
.
A=
(5.87)
0
0 a3,3
0
a3,5
a4,1 0
0
a4,4
0
Matricea se memoreaza folosind dou
a zone: o zon
a primar
a n care sunt memorate elementele nenule ale matricei A si o zon
a secundar
a n care sunt p
astrate
informatii necesare gasirii rapide a acestora. Ambele tehnici folosesc o zon
a
primara reprezentata de vectorul
v = (a1,1 , a1,3 , a3,3 , a3,5 , a4,1 , a4,4 ).
(5.88)
In cazul memor
arii prin identificare binar
a, zona secundar
a se bazeaz
a pe
natura binara a sistemului de calcul. Pentru fiecare element ai,j al matricei A
se memoreaza o cifra binara: 0 dac
a ai,j = 0 si 1 dac
a ai,j 6 =0. Pentru matricea
(5.87), zona secundara va fi data de succesiunea de cifre binare
1
0 0
1 0 .
(5.89)
138
5.2
Metode iterative
(5.90)
xk+1 = f (xk ) .
(5.91)
(5.92)
(5.93)
a de obtinere a
Analog iteratiei simple, vom considera relatia (5.93) ca o procedur
unei aproximatii mbun
at
atite a solutiei sistemului x(k+1) , dat
a fiind o aproximatie
initiala x(k) ,
Bx(k+1) = (B A)x(k) + b .
(5.94)
at:
Descompunerea (5.92) se alege astfel nc
1. sirul aproximatiilor {x(k) }kN s
a fie c
at mai rapid convergent c
atre solutia
sistemului Ax = b;
2. sistemul Bx = c s
a fie usor de rezolvat.
5.2.1
Metoda iterativ
a Jacobi
(5.95)
(5.96)
139
x(k+1) = P x(k) + d;
d D1 b;
k = 0, 1, . . . ,
(5.97)
pentru pornirea caruia este nevoie de specificare unei aproximatii initiale x(0) .
Matricea P se numeste matricea rezolvant
a a sistemului.
Matricea D poate fi chiar diagonala principal
a a matricei A, n care caz
exprimarea pe componente a procedeului este
(k+1)
xi
= (bi
i1
X
(k)
ai,j xj
j=1
n
X
(k)
ai,j xj )/ai,i , i = 1, n ,
(5.98)
j=i+1
xi
(k)
= (bi a00i,i xi
i1
X
(k)
ai,j xj
j=1
n
X
(k)
ai,j xj )/a0i,i , i = 1, n .
(5.99)
j=i+1
(5.100)
F
ac
and diferenta ecuatiilor (5.96) si (5.97), se obtine imediat
e(k+1) = P e(k)
(5.101)
(5.102)
(5.103)
i1
X
j=1
|ai,j | +
n
X
j=i+1
|ai,j | ,
i = 1, n ;
(5.104)
140
j1
X
|ai,j | +
i=1
n
X
|ai,j | ,
j = 1, n ;
n
i1
n
X
X
X
(ai,j /ai,i )2 +
(ai,j /ai,i )2 < 1 .
i=1
(5.105)
i=j+1
j=1
(5.106)
j=I+1
j=1:n
[daca i 6= j atunci ai,j m ai,j
xvechi x0 ; k 0;
repet
a
i =1 : n
s bi
j=1:n
[daca i 6= j atunci s s ai,j xvechij
xnou
i s
(5.107)
5.2.2
(5.108)
Metoda iterativ
a Gauss-Seidel
xi
= (bi
i1
X
j=1
(k+1)
ai,j xj
n
X
j=i+1
(k)
ai,j xj )/ai,i , i = 1, n.
(5.109)
141
(5.110)
(5.111)
cu P (D T )1 S, d (D T )1 b. Conditia de convergent
a este, ca si la
metoda Jacobi, ca norma matricei rezolvante P s
a fie subunitar
a
kP k < 1
(D T )1 S
< 1 .
(5.112)
i1
X
|ai,j /ai,i | ,
qi
j=1
n
X
|ai,j /ai,i | .
(5.113)
j=i+1
i = 1, n .
(5.114)
S
a demonstram enuntul anterior n aceste conditii. Sistemul de ecuatii Ax = b
se scrie sub forma
xi = (bi
i1
X
ai,j xj
j=1
n
X
ai,j xj )/ai,i , i = 1, n
(5.115)
j=i+1
xi xi
i1
X
ai,j
j=1
ai,i
(k+1)
(xj xj
n
X
ai,j
(k)
(xj xj ) ,
a
i,i
j=i+1
(5.116)
(5.117)
142
(5.119)
arat
a pentru orice i = 1, n, este adev
arat
a si
Inegalitatea (5.119), fiind adev
(k+1)
qi
(k+1)
(k)
(5.121)
e
e
.
1 pi
= ri < 1 .
1 pi
1 pi
1 pi
(5.122)
(5.123)
143
s bi
j=1:n
[daca i 6= j atunci s s ai,j xnouj
xnou
i s
(5.124)
5.2.3
(5.125)
a
unde i , i = 1, n sunt valorile proprii ale matricei P . Valoarea proprie maxim
n modul este numita raza spectral
a si se noteaz
a cu (P ). Dificultatea aplic
arii
acestui criteriu consta n faptul ca, n general, problema determin
arii valorilor
proprii ale unei matrice este mai complicat
a dec
at problema rezolv
arii sistemului Ax = b. De aceea, se cauta obtinerea unor metode de accelerare care s
a
ocoleasca problema determinarii valorilor proprii, utiliz
and informatii minime.
Vom da doua exemple.
Cazul matricelor pozitiv definite.
Exista sisteme ale caror matrice A sunt cunoscute ca fiind pozitiv definite (de
obicei si simetrice), adica avand valorile proprii pozitive. Fie m cea mai mic
a si
M cea mai mare valoare proprie (M > m > 0). Aceste valori (vezi Cap. 6) se
determina mai usor.
Se defineste sirul de iteratii
x(k+1) = x(k) + (b Ax(k) ) = (I A)x(k) + b ,
(5.126)
care aminteste de tehnica folosita pentru accelerarea convergentei iteratiei simple (3.19). Matricea rezolvanta este
P = I A,
(P ) = 1 (A)
(5.127)
144
2
,
m+M
(P ) =
M m
<1
M +m
(5.128)
(5.129)
(5.130)
xi
(k)
= (1 )xi
+ (bi
i1
X
(k+1)
ai,j xj
j=1
n
X
(k)
ai,j xj )/ai,i
(5.131)
j=i+1
(5.132)
a c
a singura modificare este re
amp
arComparand (5.132) cu (5.110) se observ
tirea diagonalei matricei A, o operatie putin costisitoare. S
irul iterativ va fi
definit acum sub forma
Dx(k+1) = (1 )Dx(k) + (T x(k+1) + Sx(k) + b) ,
(5.133)
(5.134)
145
(5.136)
(5.137)
Metodele care utilizeaza 0 < < 1 se numesc metode de subrelaxare, iar metodele cu 1 < < 2 se numesc metode de suprarelaxare. In lipsa altor informatii
privind valorile proprii ale matricei P , parametrul se alege prin ncerc
ari.
5.3
(5.138)
acut cu c
at num
arul de ecuatii
Inegalitatea (5.138) este cu atat mai usor de satisf
n este mai mare. Practic, conditia (5.138) se realizeaz
a pentru n & 50.
Ca propagare a erorilor.
Metodele iterative sunt, n general, mai avantajoase, deoarece erorile sunt diminuate la fiecare pas prin nmultirea cu norma matricei rezolvante, care este
subunitara ( kP k < 1). De fapt, rata de diminuare a erorii corespunde razei
spectrale a matricei rezolvante. Totodat
a, la fiecare iteratie se introduc erori de
rotunjire.
Sa consideram ca dorim sa obtinem un rezultat cu q zecimale exacte. In
acest scop sunt necesare k iteratii, astfel nc
at, n absenta erorilor de rotunjire,
se obtine (vezi 5.102)
(k)
k
(5.139)
e
kP k
e(0)
10q ,
146
(5.141)
Rezulta c
a numarul de iteratii necesar creste cu precizia impus
a q, cu eroarea
initiala e(0) si scade cu lg kP k. Dac
a se adaug
a si efectul erorilor de rotunjire,
a.
marginea (5.141) trebuie majorat
Deoarece e(0) nu se cunoaste, se pot utiliza evalu
ari obtinute cu ajutorul
unor prime iteratii. Intr-adev
ar, din inegalitatea (5.139) se poate obtine
(k)
e
k
(k)
(1)
x x(k1)
x x(0)
10q ,
1
1
(5.142)
cu kP k . Pentru procedeul Jacobi, kP k este usor de calculat. Pentru procedeul Gauss-Seidel, n cazul matricei diagonal-dominante pe linii se ia (vezi si
5.121)
= max
i
qi
1 pi
(5.143)
5.4
Asa cum s-a vazut, n rezolvarea sistemelor de ecuatii (dar nu numai aici) intervin operatii cu matrice, ndeosebi matrice p
atrate. Oper
am de multe ori cu
matrice, chiar cand acest lucru nu apare n mod explicit, asa cu se nt
ampl
a
spre exemplu n cazul elimin
arii unor necunoscute din ecuatiile sistemului.
Presupunem cunoscute operatiile de adunare si nmultire ale matricelor.
Amintim doar ca adunarea este definit
a pentru matrice de acelasi tip (cu acelasi
numar de linii si coloane) si c
a, la nmultirea de matrice, num
arul de coloane
ale matricei din stanga trebuie s
a fie egal cu num
arul de linii ale matricei din
dreapta. Aceasta conditie se realizeaz
a ntotdeauna pentru matricele p
atrate de
aceeasi dimensiune. Produsul matricelor nu este comutativ.
Fie A o matrice p
atrat
a de dimensiuni n n. Matricea obtinut
a prin
nmultirea lui A cu ea ns
asi de k ori este tot o matrice p
atrat
a si se noteaz
a
cu Ak . Prin analogie cu puterile scalarilor, prin A0 se ntelege matricea unitate
I, o matrice patrata de dimensiune n. Cu puterile matricelor p
atrate se pot
construi polinoame de matrice, n mod asem
an
ator cu cazul scalarilor.
147
(5.145)
Dac
a x este un vector asupra caruia opereaz
a matricea A, atunci normele kAk
si kxk sunt compatibile daca are loc inegalitatea
kA xk kAk kxk .
(5.146)
Se poate arata ca inegalitatile (5.145) si (5.146) se pot deduce din conditiile impuse normelor operatorilor liniari si continui pe spatii vectoriale de dimensiune
finita (vezi si 1.4.3). Printre normele de matrice des utilizate care ndeplinesc
conditiile impuse se numara:
1. norma maxim
a
kAk = sup
i
|ai,j | ,
(5.147)
|ai,j | ,
(5.148)
kAkE =
X
i,j
1/2
2
|ai,j |
(5.149)
148
4. norma spectral
a
kAk2 = ((A A))
1/2
(5.150)
(5.151)
(x, x) =
n
X
xi x
i .
(5.152)
i=1
n
X
xi yi
(5.153)
i=1
si are proprietatile
(x, y) = (y, x),
y).
(x, y) = (x,
(5.154)
An
(5.155)
n=0
(5.156)
egal
a cu inversa matricei I A. Se observ
a analogia cu seria geometric
a de
and la norme, o inegalitate important
a
numere. Din (5.156) se obtine, trec
X
n
(I A)1
kAk = (1 kAk)1 .
n=0
(5.157)
149
(5.158)
(5.159)
(5.160)
150
151
Capitolul 6
6.1
Elemente introductive
(6.1)
(6.2)
152
cu spec(A). Vectorii proprii, ca solutii ale unor sisteme de ecuatii omogene, sunt
determinati p
ana la o constant
a multiplicativ
a. G
asirea valorilor si vectorilor
proprii prezinta o important
a practic
a deosebit
a pentru rezolvarea sistemelor
de ecuatii diferentiale liniare, pentru studiul stabilit
atii misc
arilor mecanice sau
de alta natura, inclusiv pentru studiul stabilit
atii diverselor metode numerice.
Trebuie remarcat ns
a c
a determinarea practic
a a valorilor si vectorilor proprii
nu se face, n general, plec
and de la construirea polinomului caracteristic, deoarece mici abateri n valorile coeficientilor acestui polinom conduc la abateri
mari n valorile solutiilor (se spune c
a problema rezolv
arii ecuatiei caracteristice
este r
au conditionat
a). Ca urmare, procedeele care determin
a valorile proprii
prin construirea polinomului caracteristic sunt limitate la matrice de dimensiuni
mici (n 10) unde erorile de rotunjire introduse nu sunt importante.
Vom da n continuare o serie de procedee, preciz
and avantajele si limitele lor
de aplicabilitate. Ne vom limita, n general, la cazul matricelor reale.
6.2
Metode pentru c
ateva valori proprii
6.2.1
n
X
ci x(i) ,
(6.3)
i=1
(6.4)
153
astfel ncat valoarea proprie 1 este cea mai mare dintre ele n modul. Inmultind
repetat vectorul y cu matricea A si utiliz
and relatia (6.1), se obtine
z (1)
Ay =
n
X
ci Ax(i) =
i=1
n
X
ci i x(i)
z (k)
Ak y = Az (k1) =
n
X
ci ki x(i)
i=1
z (k+1)
Ak+1 y =
(6.5)
i=1
n
X
i=1
(6.6)
h
i
(6.7)
= k1 c1 x(1) + O k2 /k1
h
i
(. 6.8)
ci ik+1 x(i) = k+1
c1 x(1) + O k+1
/k+1
1
2
1
k
z (k+1)
c1 x(1) .
= k+1
1
(6.9)
(6.10)
(6.11)
z (k+1)
c1 x(1) + c2 x(2) ,
= k+1
1
k
(6.12)
(6.13)
154
|1 | = |2 | > |3 | . . . |n | ,
(6.15)
vki zi
(k+1) (k)
zi
zi
= uki (1 + 1 ) ,
(6.18)
(6.19)
a2 + b2 = uk+1,i /uki .
(6.20)
c1 xi
= i ei1 ,
i = 1, n.
(6.21)
155
zi
i = 1, n ,
(6.22)
2k
2i sin2 < 0 .
(6.23)
k
i = uki /2 || sin , cos(i + ) = zik sin / uki .
(6.24)
Exemplu. S
a se determine valoarea proprie de modul maxim a matricei
1 2 3
A= 2 1 2
3 2 1
Rezolvare. Deoarece matricea A este simetric
a, toate valorile proprii sunt reale.
Pentru aflarea valorii proprii de modul maxim vom aplica metoda puterii pornind cu
vectorul y = (1, 0, 0)T . Primele c
ateva iteratii sunt redate n tabelul de mai jos. S-au
utilizat notatiile
(k)
ri
(k+1)
= zi
/zi
(6.25)
(k)
z1
14
64
2196
12644
(k)
z2
10
58
1882
10730
(k)
z2
10
72
2228
12580
(k)
r1
4.571
5.758
(k)
r2
5.800
5.701
(k)
r3
7.200
5.646
R
5.5455
5.7013
6.2.2
(6.26)
156
Din Ax = x se obtine
x = A1 x A1 x = 1 x,
(6.27)
k = 0, 1, . . . .
(6.28)
Practic, nu se calculeaz
a inversa matricei A, deoarece este mai economic
a rezolvarea repetata a sistemului de ecuatii
Az (k+1) = z (k) ,
(6.29)
6.2.3
Metoda deplas
arii
Se bazeaza pe observatia c
a, dac
a matricea A are valoarea proprie atunci
matricea A qI, unde q este un scalar, are valoarea proprie q . Scalarul
q reprezint
a tocmai deplasarea si poate fi utilizat pentru a g
asi si alte valori
proprii decat cele maxime sau minime n modul. Spre exemplu, dac
a am g
asit
valoarea de modul maxim 1 (folosind metoda puterii directe), atunci valoarea
proprie cea mai departat
a de 1 , fie aceasta j , va avea proprietatea
|j 1 | = sup |j 1 | .
(6.30)
i=1,n
(6.31)
6.3
Metodele prezentate p
an
a n prezent, desi foarte simple, permit determinarea
numai a unor valori proprii particulare, fiind limitate si de conditia ca vectorii
157
A = P 1 BP .
(6.32)
Dou
a matrice asemenea au aceleasi valori proprii. Intr-adev
ar, dac
a este o
valoare proprie a matricei A, adica Ax = x cu x 6= 0, tinand cont de relatiile
(6.32) se obtine
P 1 BP x = x B(P x) = (P x),
(6.33)
adic
a matricea B are aceleasi valori proprii ca si A. In plus, dac
a pentru o
valoare proprie matricea A are vectorul propriu x, atunci pentru matricea B
vectorul propriu corespunzator lui este
y = Px,
(6.34)
adic
a se obtine din vectorul x prin nmultire cu matricea P de premultiplicare.
Este de dorit ca transformarile similare specificate prin matricele P , P 1
cu care nmultim matricea A, sa conduc
a la matrice B simple, av
and valorile
proprii si vectorii proprii usor de determinat. Exist
a mai multe astfel de forme
simple. Prima pe care o vom considera n cele ce urmeaz
a este forma Frobenius
utlizata n metoda Danilevschi. Apoi vom prezenta algoritmii LR si QR de
aducere a matricei A la forma triunghiular
a.
6.4
Metoda Danilevschi
p1
1
F = 0
..
.
0
A la forma
p2
0
1
..
.
...
...
...
..
.
pn1
0
0
..
.
pn
0
0
..
.
...
(6.35)
denumita form
a Frobenius, prin transform
ari similare. Avantajul formei Frobenius este obtinerea imediata a ecuatiei caracteristice a matricei
n
(1) det(F I) =
n
X
pi ni = 0 .
(6.36)
i=1
a permit
a totodat
a si construirea
Vom deduce relatia (6.36) pe o cale care s
vectorilor proprii y ai matricei F . In acest scop, vom scrie, conform definitiei
158
(6.1), egalitatea F y
p1
1
..
.
0
= y, adic
a
p2
0
1
..
.
...
...
...
..
.
pn1
0
0
..
.
pn
0
0
..
.
...
y1
y2
y3
..
.
yn
y1
y2
y3
..
.
yn
(6.37)
(6.38)
pentru j = 1, n 1, si
n
X
pi yi = yi .
(6.39)
i=1
yn2 = 2 yn , . . . ,
y1 = n1 yn .
(6.40)
n
X
pi
ni
= 0.
(6.41)
i=1
(6.42)
159
a1,1
a1,2
. . . a1,n1
a1,n
a2,1
a2,2
. . . a2,n1
a2,n
..
..
..
..
..
(6.43)
.
. .
.
.
(1)
(1)
(1)
(1)
a1,n
. . . a1,n1
a1,2
a1,1
(1)
(1)
(1)
(1)
a2,n
. . . a2,n1
a2,2
a2,1
.
..
..
..
..
.
(6.44)
.
. .
.
.
.
(1)
(1)
(1)
(1)
a
an1,n1 an1,n
an1,2
n1,1
0
0
... 1
0
S-a presupus an ,n1 6= 0 si s-au eliminat celelalte elemente din linia a n-a. Dac
a
an,n1 = 0, se folosesc permutari de coloane. Mai mult, permut
arile de coloane
sunt indicate pentru a avea elemente an,n1 c
at mai mari n modul, n vederea
reducerii erorilor de rotunjire. Prin urmare, se recomanda utilizarea pivotilor
(totali sau partiali), analog cu eliminarea gaussian
a. Pentru schema (6.43), s-au
folosit multiplicatorii
mn1,j = an,j /an,n1 pentru j 6= n 1,
mn1,n1 = 1/an,n1 .
(6.45)
1
0
... 0
0
0
1
... 0
0
..
.
.
.
..
..
..
..
M1 = .
(6.46)
,
.
160
1
0
M11 = ...
an,1
0
0
... 0
0
1
... 0
0
..
..
..
..
(6.47)
.
. .
.
.
A1 A .
(6.48)
(6.49)
161
polinomului (inclusiv aparitia unor valori complexe n locul celor reale). Analiza
erorilor se poate efectua tinand seama c
a transform
arile se fac dup
a schema
Ai+1 = Mi1 Ai Mi .
(6.50)
!
kAi k kMi k
Mi1
+
+
1
.
M
kAi k
kMi k
i
(6.51)
(6.53)
1 2 2
1
0
0
A1 = P12 AP12 = 2 1 3 , M1 = 2/3 1/3 1/3 ,
2 3 1
0
0
0
am obtinut o nou
a matrice similar
a cu A. Se elimin
a elementele a31si a33 de pe ultima
linie, oper
and cu coloana a doua. In locul elementului a32 = 3 se obtine valoarea 1,
mp
artind cu 3 toat
a coloana a doua. Toate operatiile revin la nmultirea la dreapta
cu matricea M1 , format
a cu multiplicatori. Se obtine
1 0 0
M11 = 2 3 1 ,
0 0 1
162
se obtine
1/3
A2 = M11 A1 M1 = 10/3
0
2/3
10/3
1
4/3
32/3 .
0
In etapa urm
atoare se elimin
a elementele 10/3 si 32/3 de pe linia a doua din matricea
A, oper
and cu coloana nt
aia. In pozitia (2,1) se obtine elementul 1. Totul revine la a
nmulti la dreapta cu matricea M2 , iar la st
anga cu inversa ei M21
3/10 1 16/5
10/3 10/3 32/2
, M21 = 0
0
1
0
1
0 ,
M2 =
0
0
1
0
0
1
astfel nc
at
3
A3 = M21 A2 M2 = 1
0
14
0
1
8
0 = F,
0
41), 2 = 2, 3 = (5 41)/2 .
6.5
Metodele QR si LR
6.5. Metodele QR si LR
163
(6.55)
6.5.1
(6.56)
x Q Qx = x Q x .
(6.57)
a
Prin operatiile de transpunere si complex conjugare a relatiei (6.56) rezult
,
x Q = x
(6.58)
164
(6.59)
(6.60)
(6.61)
v T ) = I (
v v T )T = I v
v T = I vv ,
U = (I vv ) = I (v
(6.62)
(6.63)
n
X
vi vi = kvk2 .
(6.64)
i=1
Se obtine
2
U U = I + (kvk2 2)vv ,
deci matricea U este unitar
a dac
a matricea vv este nul
a sau dac
a
kvk2 = 2 .
(6.65)
(6.66)
6.5. Metodele QR si LR
165
=
. (6.67)
2 0 =
0 1
0 0
0
1
0
T
(6.68)
adic
a s-a efectuat o reflexie fata de axa Oy pe care vectorul v este ortogonal.
In cazul general, vectorul v defineste normala unui plan fat
a de care se reflect
a
coordonatele unui punct.
In aplicatii vom avea de evaluat produsul U A sau AU . S-ar p
area c
a sunt
necesare O(n3 ) operatii aritmetice pentru aplicarea unui reflector elementar.
Lucrurile nu stau asa si este esential pentru economicitatea metodei QR s
a
observam c
a reflectorul elementar U nu trebuie calculat n mod explicit. Putem
evalua rezultatul AU prin
AU = A(I vv ) = A Avv = A wv
(6.69)
v
w
.
jk
jk
j
k
[wj wj + ajk vk
Analog evaluam U A prin
U A = (I vv )A = A vv A = A vwT
(6.71)
rj,k = ei sin ,
rk,k = ei cos .
(6.72)
166
T
A cu Rjk
= Rjk
se vor produce modific
ari ale liniilor j si k ale matricei. Spre
exemplu, pentru j = 4, k = 2
1 0 0 0
a11 a12 a13 a14
0 c 0 s 0
a22 a23 a24
0 0 1 0 0
a32 a33 a34
0
a42 a43 a44
0 s 0 c
a11
a12
a13
a14
0 ca22 sa42 ca23 sa43 ca24 sa44
,
=
0
a32
a33
a34
0 sa22 + ca42 sa23 + ca43 sa24 + ca44
cu c = cos , s = sin . Conditia ce trebuie satisf
acut
a de este sa22 + ca42 = 0
n exemplul de mai sus, sau
sakk + cajk = 0
(6.73)
2
atunci t akk /ajk ; s 1/
1 + t ; c st
altfel t ajk /akk ; c 1/ 1 + t2 ; s c t
(6.74)
(6.75)
6.5. Metodele QR si LR
167
w1
. . . wn1
0 a(1) . . . a(1)
2,3
2,2
.
U AU =
(6.76)
..
..
.. ..
. .
. .
(1)
(1)
0 a2,n . . . an,n
Elementul de pe pozitia 1, 1 trebuie s
a fie chiar o valoare proprie a lui A deoarece U AU are aceleasi valori proprii ca si A, iar calculul polinomului caracteristic al matricei U AU conduce la aparitia factorului ( ). Este convenabil
s
a introducem o diviziune n portiuni a matricei din dreapta sub forma
wT
(6.77)
U AU =
0n1 An1
unde este o valoare proprie a lui A, w un vector coloan
a de dimensiune n 1,
0n1 vectorul nul de dimensiune n 1, iar An1 o matrice p
atrat
a de ordinul
n 1.
Prima coloana a unei matrice se obtine prin nmultirea acesteia la dreapta
cu vectorul e(1) = [1, 0, . . . , 0]T
U AU e(1) =
= e(1) .
(6.78)
0n1
Dar U = U 1 si nmultind la stanga cu U se obtine
AU e(1) = U e(1) ,
(6.79)
6= 0 ,
C.
(6.80)
a g
asim o transformare a vectorului e(1)
Relatia (6.80) ne spune ca trebuie s
n vectorul x printr-o matrice unitar
a. Interpret
arile geometrice ale procedeelor
Householder si Givens ne furnizeaz
a imediat modalitatea de constructie a lui U .
Cum o reflexie sau o rotatie nu vor modifica modulul unui vector va trebui s
a
avem
(1)
(6.81)
e
= || kxk2 = || = 1.
2
168
(6.82)
kvk2 = 2 a2 = 2 kx yk2
(6.83)
= (I vv )x y = x vv x y = x a2 (x y)(x y )x y
= (x y)[1 a2 (x x y x)] .
(6.84)
kx yk2 2(x x y x) = 0,
(6.85)
p
2
sau, tinand cont ca kx yk2 = (x y, x y) = (x y) (x y ) (vezi relatia
5.153) si ca x x = y y,
y x = x y.
(6.86)
(6.87)
(6.88)
6.5. Metodele QR si LR
169
Un1
An1 Un1 = Tn1 .
(6.89)
Matricea
Un = U
cu U construit ca mai
Intr-adevar, avem
1
Un AUn =
0n1
1
=
0n1
1
=
0n1
1
0n1
0Tn1
Un1
(6.90)
sus realizeaz
a aducerea matricei A la forma tringhiular
a.
0Tn1
Un1
0Tn1
Un1
0Tn1
Un1
U AU
0n1
0n1
0Tn1
Un1
wn1
1
0Tn1
An1
0n1 Un1
wn1 Un1
wn1 Un1
=
0n1 Tn1
An1 Un1
1
0n1
6.5.2
Algoritmi auxiliari
170
Deflatie.
Teorema Schur ne asigur
a c
a o transformare unitar
a, similar
a de la matricea A
la o forma triunghiular
a exist
a. Ins
a suntem n situatia nepl
acut
a c
a trebuie s
a
cunoastem deja vectorii si valorile proprii pentru a determina efectiv matricea
de transformare. Modul efectiv n care se aplic
a rezultatele de mai sus este n
reducerea ordinului matricei cu care se lucreaz
a n momentul c
and una dintre
valori proprii a fost izolat
a. Acest proces este cunoscut ca deflatie si cuprinde
urmatoarele etape:
1. se calculeaza vectorul propriu x asociat valorii proprii ;
2. se ia = x1 / |x1 | pentru x1 6= 0 sau = 1 pentru x1 = 0;
3. se ia a = 2/
x e(1)
, v = a(x e(1) ) si U = I vv ;
4. se calculeaza U AU si se izoleaz
a submatricea An1 (6.77).
La sfarsitul unei etape de deflatie se obtine o matrice mai mic
a asupra c
areia
se poate opera n continuare cu o economie de operatii aritmetice fat
a de cazul
n care s-ar ncerca determinarea transform
arii globale ce aduce pe A la forma
triunghiulara.
Factorizarea QR.
Am vazut n 5.1.9 cum o matrice A se poate descompune ntr-un produs de
doua matrice, una inferior triunghiular
a si alta superior triunghiular
a. Exist
a
multe alte tipuri de factorizare
A = BC
(6.91)
(6.92)
(6.93)
(6.94)
6.5. Metodele QR si LR
171
(6.95)
(6.96)
6.5.3
Formularea metodelor QR si LR
Suntem acum pregatiti pentru prezentarea metodelor QR si LR de calcul a valorilor proprii. Incepem cu metoda QR. Am v
azut c
a odat
a cunoscut
a o valoare
proprie putem reduce ordinul problemei prin aplicarea tehnicii de deflatie. O
idee imediata este folosirea metodei puterii pentru a determina valoarea proprie
cea mai mare n modul. Am putea reduce ordinul problemei, aplica din nou metoda puterii asupra noi matrice si asa mai departe. S
a rescriem metoda puterii
folosind notatii ce sugereaza generalizarea procedeului
z (s) = Aq (s1)
q (s) = z (s) /
z (s)
2
= q (s) Aq (s) ,
(6.97)
(6.99)
172
(6.103)
(6.104)
6.5.4
Reducerea num
arului de operatii la factorizare
6.5. Metodele QR si LR
173
0
h3,2 h3,3 . . .
H= 0
0
h4,3 . . .
..
..
..
..
.
.
.
.
0
...
h1,n1
h2,n1
h3,n1
h4,n1
..
.
h1,n
h2,n
h3,n
h4,n
..
.
hn,n1
hn,n
denumita form
a Hessenberg superioar
a. Analog matricea transpus
a se spune
c
a este de form
a Hessenberg inferioar
a. Prin form
a Hessenberg, f
ar
a vreun alt
calificativ, vom ntelege forma superioar
a.
Algoritmul QR devine n acest caz
Q(s1) R(s1) = H (s1) H (s) = R(s1) Q(s1) .
(6.105)
1 0
0 ... 0
0 1
0 ... 0
0 m3,2 1 . . . 0
M1 =
(6.106)
, mi,2 = ai,1 /a2,1 ,
.. ..
.. . .
..
. .
.
.
.
0 mn,2 0 . . . 1
pentru i 3, n. Se poate remarca similitudinea cu matriciele de la eliminarea
gaussiana. Matricea se poate scrie ca
m2 =
m3,2
...
M1 = I m2 eT2 ,
T
mn,2
, e2 = 0
(6.107)
1
...
T
. (6.108)
Inversa este
M11
1 0
0 1
0 m3,2
.. ..
. .
0 mn,2
0 ...
0 ...
1 ...
.. . .
.
.
0 ...
0
0
0
..
.
1
= I + m2 eT2 ,
(6.109)
174
(6.110)
(6.111)
(s1)
(s1)
(s1)
(s1)
(s1)
. . . a1,n
. . . a1,s1 a1,s
a12
a11
(s1)
(s1)
(s1)
(s1)
(s1)
. . . a2,s1 a2,s
a21
a22
. . . a2,n
..
..
..
..
..
..
..
.
. .
. .
.
.
(s1)
(s1)
(s1)
A(s1) =
a
.
.
.
a
0
0
.
.
.
a
s,s
s,n
s,s1
. (6.112)
(s1)
(s1)
0
0
... 0
as+1,s . . . as+1,n
..
.
..
..
..
..
..
. ..
. .
.
.
.
(s1)
(s1)
. . . an,n
0
0
... 0
an,s
6.5. Metodele QR si LR
175
S
a determinam modul n care aducem coloana s la forma Hessenberg. Este
comod sa introducem o transcriere pe blocuri a matricei,
B C
(s1)
A
=
,
(6.113)
D E
unde B, C, D, E sunt submatrice din A(s1) . Submatricea B este de dimensiuni
s s si este de forma Hessenberg. Submatricea C este de dimensiuni (n s)
(n s). Submatricea D este de dimensiuni (n s) s si are elemente nenule
doar pe ultima coloana. Fie d aceast
a coloan
a,
d=
(s1)
as+1,s
(s1)
as+2,s
...
(s1)
an,s
iT
(6.114)
(6.118)
cu e(1) = (1, 0, . . . , 0)T , un vector unitar cu n s componente. Aceasta este sia a reflectorului Householder
milara problemei (6.80), iar interpretarea geometric
ne furnizeaza solutia
U = I vv ,
cu = (d1 / |d1 |) kdk2 , a =
6.5.5
v = a(d e(1) ) ,
(6.119)
(s1)
2
d e(1)
2 , d1 = as+1,s .
Accelerarea metodelor QR si LR
Aplicarea factorizarii QR sau LR asupra formei Hessenberg a unei matrice reduce numarul de operatii aritmetice efectuate ntr-o iteratie. O a doua cale de
reducere a timpului de calcul este reducerea num
arului de iteratii. Iteratiile QR
si LR tind sa aduca forma Hessenberg la o form
a cvasi-triunghiular
a. Pentru a
reduce numarul de iteratii necesare atingerii acestei forme se pot folosi tehnici
176
= Q(s) R(s)
= R(s) Q(s)
(6.120)
(6.121)
6.5.6
1 a1 b1 c1 d1
0
2 b2 c2 d2
0
3 c3 d3
(6.123)
Hs = 0
0
0
0
4 d 4
0
0
0
0
5
forma la care presupunem c
a s-a ajuns dup
a un num
ar s de iteratii. Not
am mai
departe cu y un vector propriu oarecare al matricei care satisface relatia
Hs y = i y, i 1, 5, y = (y1 , y2 , y3 , y4 , y5 )T .
(6.124)
=
=
=
=
=
0
d4 y5
d3 y5 + c3 y4
d2 y5 + c2 y4 + b2 y3
d1 y5 + c1 y4 + b1 y3 + a1 y2
(6.125)
6.5. Metodele QR si LR
177
(6.126)
(6.127)
(6.128)
(6.129)
(6.130)
0 y2 = 0, 0 y1 = a1 y2 .
(6.131)
(6.132)
(6.133)
(6.134)
178
12 20
41
A = 9 15 63 .
20
50
35
S
a se calculeze apoi factorizarea LR a matricei Hessenberg obtinute.
Rezolvare. Vom folosi transform
ari de eliminare. Avem de eliminat un singur
element a31 = 20. Deoarece elementul a21 = 9 nu este pivot vom schimba ntre ele
liniile 2 si 3 si coloanele 2 si 3 pentru a obtine o matrice similar
a
12
41
20
35
50
A1 = P23 AP23 = 20
9 63 15
Pentru a elimina elementul a31 = 9 vom folosi pivotul a21 =
m32 = a31 /a21 = 9/20, ceea ce duce la matricele
1
0
1
0
0
1
1
0 , M1 = 0
1
M1 = 0
0 9/20
0 9/20 1
20 si multiplicatorul
0
0 .
1
Se obtine
A2 =
M1 A1 M11
12
= 20
0
32
115/2
765/8
20
50 = H
75/2
de form
a Hessenberg.
Pentru descompunerea LR a matricei H, trebuie eliminate elementele h21 = 20 si
h32 = 765/8. Deoarece h11 = 12 nu este pivot, se permut
a liniile 1 si 2 si se obtine
20
115/2
50
32
20 .
H1 = P12 H = 12
0 765/8 75/2
6.5. Metodele QR si LR
179
Rezult
a multiplicatorul l21
L1
1
L1 = 3/5
0
0
20
0 , L1 H1 = 0
1
0
0
1
0
115/2
5/2
765/8
50
50 .
75/2
20
115/2
50
P23 L1 H1 = 0 765/8 75/2
0
5/2
50
1
L2 = 0
0
0
1
4/153
0
20
0 , R = 0
1
0
25/2
765/8
0
50
75/2
2500/51
L2 P23 L1 P12 H = R .
Mai departe, tin
and cont c
a P23 P23 = I se deduce
L2 (P23 L1 P23 )P23 P12 H = R
unde matricea P23 L1 P23 similar
a cu L1 , o vom nota cu L11
1
0
1
0 0
1 0 , L2 L11 = 0
1
L11 = 0
3/5 4/153
3/5 0 1
0
0 .
1
Rezult
a c
a s-a obtinut o descompunere LR pentru matricea H permutat
a
1
0
0
1
0
P23 P12 H = LR, L = (L2 L11 )1 = 0
3/5 4/153 1
n timp ce matricea H are descompunerea
3/5
H = L R, L = P12 P23 L = 1
0
0
4/153
0
1
1
0 .
0
180
181
Capitolul 7
Metode de optimizare
182
7. Metode de optimizare
(7.1)
183
(7.2)
7.1
a distanta relativ
a minim
a ntre
vedere faptul ca m , unde m reprezint
dou
a numere reprezentabile, si care este de acelasi ordin cu epsilon masin
a M
(vezi capitolul 4).
Exemplu. Pentru a verifica afirmatia de mai sus, aproxim
am functia f folosind
seria Taylor n jurul punctului a din vecin
atatea punctului de minim
00
2
f (b)
= f (a) + f (a)(b a) /2 .
(7.3)
S-au neglijat termenii de ordinul trei si mai mare si s-a tinut cont c
a n vecin
atatea
minimului f 0 0. Valorile a si b nu pot fi luate oric
at de apropiate dec
at dac
a este
ndeplinit
a conditia
|f (b) f (a)| > m |f (a)| ,
astfel nc
at reprezent
arile numerelor f (a) si f (b) s
a fie diferite. Rezult
a
s
s
|f (a)|
|f (a)|
|b a|
= |a| m 2 2 00
.
= 2m 00
f (a)
a f (a)
(7.4)
(7.5)
184
7. Metode de optimizare
Dac
a 2|f (a)|/(a2 f 00 (a)) 1, atunci |b a| |a| m , iar conditia pe care o impunem
Localizarea minimului.
Pentru localizarea minimului este nevoie de cel putin trei puncte (fig. 7.2),
spre deosebire de localizarea solutiei unei ecuatii f (x) = 0, unde sunt necesare
numai doua puncte care ndeplinesc conditia f (a) f (b) < 0. Av
and trei puncte
a < b < c, minimul xm este continut de intervalul (a, c) dac
a f (a) > f (b) < f (c).
Fiind date doua valori a < b pentru care f (a) > f (b), localizarea minimului se
poate face dupa urmatorul algoritm:
Date: a < b, f (a) > f (b)
fa f (a); fb f (b)
Repet
a
c b + k(b a), fc f (c)
dac
a fc > fb
185
Date: a < b < c; f (a) > f (b) < f (c); > M ; w = 0.38197; w1 = 1 w
x0 a; x3 c; f0 f (a); f3 f (c)
dac
a |c b| > |b a|
atunci x1 b; x2 b + w(c b)
altfel
x2 b; x1 b w(b a)
f1 f (x1 ); f2 f (x2 )
c
attimp |x3 x0 | > |x1 + x2 |
dac
a f2 < f1
atunci x0 x1 ; x1 x2 ; x2 w1 x1 + w x3
f0 f1 ; f1 f2 ; f2 f (x2 )
altfel
x3 x2 ; x2 x1 ; x1 w1 x2 + w x0
f3 f2 ; f2 f1 ; f1 f (x1 )
dac
a f1 < f2
atunci xmin x1 ; fmin f1
altfel
xmin x2 ; fmin f2 .
(7.6)
Fie a < b < c cu fa > fb < fc , nu neap
arat b = (a + c)/2. Dac
a not
am
w = (b a)/(c a), atunci 1 w = (c b)/(c a). Se pune problema s
a alegem
punctul x (a, c) astfel ncat sa micsor
am intervalul care contine punctul de
minim. Sa presupunem (b, c) acest intervalul de lungime mai mare unde vom
alege pe x si sa notam z = (x b)/(c a). Tripletul care contine minimul
xm va fi a < b < x, sau b < x < c, de lungimi raportate (x a)/(c a) =
w + z, respectiv (c b)/(c a) = 1 w. Strategia este de a minimiza cea
mai dezavantajoasa posibilitate, lucru care se realizeaz
a impun
and ca cele dou
a
lungimi sa fie egale: 1 w = w + z, rezult
and z = 1 2w. Cum aceast
a
strategie a fost folosita si la determinarea punctului b la pasul anterior, adic
a
(x b)/(c b) = (b a)/(c a) = w, rezult
a x b = w(c b) = z(c a), sau
186
7. Metode de optimizare
1 w = (c b)/(c
a n final ecuatia w2 3w + 1 = 0, cu
a) = z/w. Rezult
(7.7)
(7.8)
exact |
| x| + s ,
(7.9)
unde reamintim c
a valoarea nu trebuie s
a fie mai mic
a dec
at r
ad
acina p
atrat
a
187
(7.10)
atunci
altfel
fu f (u); u x + x
daca fu fx
atunci
v
t; t x; x u; fv ft ; ft fx ; fx fu
altfel
7.2
daca fu ft sau t = x
atunci
v t; t u; fv ft ; ft fu
altfel
daca fu fv sau v = x sau v = t
e (2 |x| + 1); iter iter + 1
atunci v u; fv fu
Metode de minimizare f
ar
a calculul derivatelor
Cea mai simpla modalitate de determinare a minimului unei functii reale de mai
multe variabile reale, U : Rn R , const
a n minimizarea functiei U de-a lungul
directiilor definite de versorii ei si este dat
a de algoritmul (7.11). Algoritmul
(7.11) se repeta p
ana cand se obtine minimul functiei U (se poate folosi o conditie
de forma (7.18)). Aceasta metoda, numit
a si metoda c
aut
arii unidimensionale,
se dovedeste ineficienta pentru ca, fie nu este capabil
a s
a ating
a minimul, fie
apropierea de acesta se face cu pasi mici.
188
7. Metode de optimizare
(7.11)
xi = min{U (xi1 + ei )} .
R
Directii conjugate.
Fie forma patratic
a definit
a de
(x) = U (xk ) +
n
X
(xj xkj )T
j=1
n
1 X
2 U
U
k T
(x
x
+
)
(xp xkp ) .
j
j
xj k 2 j,p=1
xj xp k
(7.12)
Forma (7.12) coincide cu primii trei termeni din dezvoltarea n serie Taylor a
functiei U (x) n vecin
atatea punctului xk . Not
and cu g k gradientul functiei U n
k
punctul x si cu Gk matricea hessian n acelasi punct, expresia (7.12) se poate
scrie vectorial
1
(x) = Uk + (x xk )T g k + (x xk )T Gk (x xk ) ,
2
(7.13)
(7.14)
(7.15)
(7.16)
(7.17)
189
k = 1 : (n + 1)
i=1:n
0
n
n
Se reinitializeaz
a punctul de start.
x min{U (x + u )}
(7.18)
a. Conditia (7.18)
unde am vazut la 7.1 ca M , M fiind epsilon masin
asigura precizia relativa pentru valoarea minimului U (x ), dac
a acesta ia valori
dep
artate de zero. Daca valoarea minim
a este chiar zero sau foarte apropiat
a
a precizia absolut
a .
de zero, atunci testul (7.18) asigur
Powell a demostrat nca din 1964 c
a, pentru o form
a p
atratic
a (7.13), k
iteratii din algoritmul prezentat mai sus produc un set de directii ui dintre care
ultimele k sunt G-conjugate, cu conditia ca minimiz
arile n lungul directiilor ui
s
a fie facute exact. O iteratie se obtine dup
a n + 1 minimiz
ari dup
a directiile
a tendinta ca directiile construite
date de vectorii ui , i = 1, n, si xn x0 . Exist
s
a devina liniar dependente. Acest lucru poate fi evitat (a) printr-o initializare
a directiilor ui = ei la fiecare n + 1 iteratii (asa cum s-a si procedat mai sus),
sau (b) n loc de a renunta fara discern
am
ant la ultima directie, se renunt
a la
directia care a produs cea mai mare descrestere.
am c
a pentru a defini o form
a p
atratic
a
Revenind la relatia (7.13), sa observ
este nevoie de un numar de parametrii de ordinul n2 . Mai exact, matricea G fiind
simetrica, suma elementelor distincte este 1+2+. . .+n = n(n+1)/2. Dac
a tinem
cont si de cele n componente ale gradientului, rezult
a n(n + 3)/2 parametrii
190
7. Metode de optimizare
7.3
Metoda gradientului
(7.19)
U
U U
,
, ...,
x1 x2
xn
T
(7.20)
Din cele trei notatii uzuale din (7.20), o vom prefera pe prima, adic
a n mod
curent vom nota gradientul cu g.
Deoarece g este variabil, deplasarea trebuie s
a fie suficient de mic
a pentru
ca plecand dintr-un punct oarecare, s
a nt
alnim suprafete de nivel superioare.
Daca, dimpotriva, ne deplas
am n sens opus (g ), vom nt
alni constante de
nivel Ki cu valori descresc
atoare.
2
2
Exemplu. Fie
functia U = x + y . Suprafetele de nivel sunt cilindri coaxiali
a razele cercurilor de intersectie cu planul xOy. Pe
cu axa Oz iar Ki reprezint
de alta parte, gradientul este g U = 2(~ix +~jy), ~i si ~j fiind versorii axelor Ox
si Oy. Se observa ca n orice punct gradientul este orientat n sensul cresterii
razei, deci a cresterii constantelor Ki (fig. 7.3).
Pentru determinarea minimului functiei U, construim sirul de iteratii
xk+1 = xk k g k , U (xk+1 ) < U (xk ) ,
(7.21)
g =
T
g1k , g2k , ..., gnk
U (xk )
U (xk ) U (xk )
,
, ...,
x1
x2
xn
T
(7.22)
191
(7.23)
a faptul c
a punctul n care produsul scalar
Ultima egalitate (7.23) exprim
al gradientilor gk si gk+1 este nul reprezint
a un punct de minim unidirectional.
Intr-adevar, daca vectorul g k ar avea o component
a diferit
a de zero dup
a directia
g k+1 , atunci functia U ar scadea n continuare, ceea ce contrazice definitia
minimului.
Metoda gradientului utilizata cu valoarea optim
a pentru scalarul k (caz
n care spunem ca am folosit un pas optimal sau pas Cauchy), are o vitez
a de
convergent
a liniar
a, adica distanta la punctul de minim tinde spre zero ca o
a,
progresie geometrica de ratie subunitar
a (vezi 7.5). Convergenta devine lent
de regula, cand numarul de variabile n creste si de asemenea, n vecin
atatea
minimului cand vectorul g tinde c
atre zero. Metoda de c
autare a minimului
dupa directia g k , utilizand un singur parametru k , a fost descris
a n 7.1.
In continuare, dam un algoritm general pentru metodele de optimizare care
192
7. Metode de optimizare
x min{U (x + p)}
R
U
k+1 U (x); g k+1 U (x)
dac
a Uk+1 Uk atunci esec stop.
[test convergent
a]
(7.24)
Uk Uk+1 .
(7.25)
(7.26)
(7.27)
193
7.4
Metoda Newton
kxk+1 x k
=c.
kxk x kr
(7.28)
(7.29)
Gk (xk+1 xk ) = g k xk+1 = xk G1
k g =x .
(7.30)
(7.31)
194
7. Metode de optimizare
(7.32)
195
(7.33)
(7.34)
196
7. Metode de optimizare
Calculul
directiei de descrestere pk
d 1; ip 1
cat timp |d| > p || + 105si ip < np
factorizare Cholesky Gk + I = RT R
rezolva sistemul RT q = pk
+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
7.5
Metode cvasi-Newton
(7.36)
(7.37)
197
(7.39)
(7.40)
(7.41)
y (y )
k
T
k
(y ) s
[(y k )T sk ]2
z k y k Bk sk = y k + k g k .
Bk+1 = Bk +
(7.42)
(7.43)
Bk sk (sk )T Bk
y k (y k )T
.
(y k )T sk
(sk )T (Bk sk )
(7.44)
(7.45)
198
7. Metode de optimizare
Hk+1 = Hk +
Hk y k (y k )T Hk
sk (sk )T
,
k
T
k
(y ) s
(y k )T (Hk y k )
(7.46)
Hk+1
sk (y k )T
y k (sk )T
sk (sk )T
= I k T k Hk I k T k + k T k =
(y ) s
(y ) s
(y ) s
(7.47)
sk (y k )T Hk y k (sk )T
sk (sk )T
Hk y k (sk )T + sk (y k )T Hk
= Hk
+
+
.
(y k )T sk
[(y k )T sk ]2
(y k )T sk
Formulele pentru inversa matricei hessiene prezint
a avantajul principal al
numarului mai mic de operatii, ns
a sunt mai putin stabile din punct de vedere
al pastrarii pozitivitatii matricelor H. In plus, matricele Bk , simetrice si pozitiv
definite, admit o descompunere Choleski de forma Bk = RkT Rk . In acest caz,
rezolvarea sistemului (7.36) necesit
a numai O(n2 ), operatii. In plus, factorii
descompunerii Choleski se pot actualiza direct n O(n2 ) operatii.
In toate cazurile, ca matrice initial
a se poate lua matricea unitate sau orice
matrice simetrica si pozitiv definit
a. Se observ
a c
a formula BFGS pentru matricea B este mai simpl
a, n timp ce pentru matricea H este preferabil
a formula
DFP. La aplicarea formulelor de mai sus, se evit
a nmultirea matricelor, utilizandu-se numai produse de vectori sau de vectori si matrice. Convergenta
acestor metode este global
a si superliniar
a.
Exista pericolul ca, din cauza acumul
arii erorilor de rotunjire, matricele
B sau H sa devina singulare sau s
a-si piard
a pozitivitatea. O modalitate de
corectie consta n reinitializarea matricelor B sau H cu matricea unitate dup
a
n iteratii.
Convergenta metodelor cvasi-Newton depinde esential de exactitatea cu care
se determina minimul unidirectional la fiecare etap
a. Metoda BFGS se dovedeste
mai putin sensibila din acest punct de vedere, fiind mai stabil
a dec
at metoda
DFP. Aplicate unor functii p
atratice (U = xT Ax, A matrice constant
a), metodele cvasi-Newton converg n maximum n iteratii (n fiind num
arul de variabile
independente) cand matricea B va contine elementele matricei hessiene.
7.6
Metodele de gradient conjugat nu se deosebesc esential de metodele cvasiNewton din punct de vedere al scopului, si anume obtinerea minimului unei
forme patratice n n iteratii. Ambele clase de metode necesit
a calculul derivatelor partiale de ordinul nt
ai si au aceeasi convergent
a superliniar
a. Deosebirea
esentiala consta n faptul c
a metodele de gradient conjugat nu necesit
a memorarea unei matrice.
199
(7.48)
(7.49)
(7.50)
(7.51)
(7.52)
Pentru determinarea lui k vom folosi din nou conditia ca vectorii g k si g k+1
s
a fie perpendiculari. Inmultind relatia (7.48) cu (g k+1 )T , respectiv cu (g k )T ,
se obtin relatiile
k = (g k )T g k /(g k )T Gpk = (g k+1 )T g k+1 /(g k+1 )T Gpk ,
(7.53)
relatii care nu sunt utile din punct de vedere practic deoarece nu avem la
dispozitie hessiana G. Vom arata ns
a c
a ponderea k din relatia (7.48) este
chiar valoarea care rezulta din problema de optimizare k = min{U (xk + pk )}.
R
and cont
adica (p ) g
= 0. Inmultind la st
anga relatia (7.48) cu (pk )T si tin
de relatile (7.49) si (7.51), se obtine succcesiv
(pk )T g k+1
(g k )T g k + k1 (pk1 )T g k (g k )T g k+1 + (g k )T g k
k1 (pk1 )T g k .
(7.54)
Dac
a la pasul anterior cautarea unidirectional
a s-a f
acut exact, adic
a ponderea
k1 a fost determinata astfel ncat (pk1 )T g k = 0, atunci avem (pk )T g k+1 = 0.
Am obtinut astfel setul de directii G-conjugate pk construite cu relatia (7.49),
cu valoarea k data de relatia (7.52). Pentru construirea setului de directii pk
200
7. Metode de optimizare
7.6.1
(7.55)
(7.56)
201
(7.57)
(7.58)
Se observ
a ca functia U are un extrem pentru solutia x a sistemului (7.55). In
lungul unei directii de descrestere p avem relatiile
U (x + p) = hx + p, A(x + p)i 2 hx + p, bi
= hx, Axi + hx, Api + hp, Axi + 2 hp, Api 2 hx, bi 2 hp, bi
= U (x) + 2 hp, Axi 2 hp, bi + 2 hp, Api
= U (x) + 2 hp, Ax bi + 2 hp, Api .
(7.59)
Am folosit egalitatea hx, Api = A x, p = p, AT x , si cum AT = A, rezult
a
hx, Api = hp, Axi. Observam cum coeficientul lui 2 este pozitiv, hp, Api > 0
deoarece matricea A este pozitiv definit
a, deci functia U are un minim pentru
= care poate fi determinat din conditia
d
U (x + p) = 2 hp, Ax bi + 2 hp, Api ,
d
(7.60)
(7.61)
rezultand
a directia p
Cu valoarea data de (7.61), obtinem minimul functiei U dup
U (x + p)
(7.62)
D
am n continuare algoritmul de determinare a minimului functiei U dat
a de
(7.56) folosind metoda gradientului pentru care directia de descrestere este p =
2
g data de (7.58). Conditia de oprire folosit
a este kb Axk2 < .
Date: x0 , A, b, maxiter,
iter 1; norm 1; x x0
cattimp norm > si iter maxiter
p b Ax; norm hp, pi
norm/ hp, Api
x x + p .
202
7. Metode de optimizare
codificarea ntr-un limbaj de programare. Testul de oprire este rk+1 , rk+1 < ,
unde rk+1 este reziduul la pasul k + 1 care coincide cu gradientul functiei scop
definita de (7.56). Iterat
iile
se opresc si n cazul n care naintarea spre minim
devine lenta, adica pk , pk < .
Numarul de iteratii necesare obtinerii solutiei sistemului (7.56) depinde de
numarul de conditionare al matricei A (vezi capitolul 5). Pentru a m
ari viteza de convergenta, se poate mbun
at
ati conditionarea sistemului (7.56) prin
transformarea sa ntr-un sistem echivalent
x = b ,
A
(7.63)
A = S T AS, x
= S 1 x, b = S T b .
(7.64)
unde
Algoritmul Fletcher-Reeves
Date: x0 , A, b, maxiter, ,
r0 b Ax0
p0 r 0
k = 0 : (maxiter 1)
1/2
daca
pk , pk
< stop
rk , rk / pk , Apk
k
xk+1 xk + pk
k
rk+1 rk Apk
k
daca
rk+1 , rk+1 < stop
rk+1 , rk+1 /
rk , Ark
k
pk+1 rk+1 + k pk .
(7.65)
x x + p
r r z
d hr, ri
dac
a d < stop
p r + (d/c)p
cd.
Daca matricea sistemului original are multe elemente nule (matrice rar
a),
operatia de preconditionare poate duce la pierderea acestui avantaj. Din acest
punct de vedere, n loc de a efectua o preconditionare explicit
a a sistemului original urmat
a apoi de rezolvarea numeric
a a sistemului obtinut, este mai avantajoasa din punct de vedere numeric folosirea unei tehnici de preconditionare
implicita folosind relatiile
x
k = S 1 xk ; pk = S 1 pk
xk = S T b (S T AS)(S 1 xk ) = S T rk
r = b A
r = S rk = Q1 rk , unde Q1 = S S T .
k
(7.66)
203
D
pk
k = rk , rk / pk , A
= S T rk , S T rk / S 1 pk , (S T AS)(S 1 pk )
= SS T rk , rk / SS 1 pk , Apk = Q1 rk , rk / pk , Apk
(7.67)
= rk , rk / pk , Apk .
Relatia de deplasare catre minimul ce reprezint
a solutia sistemului (7.63) este
x
k+1 = x
k +
k pk ,
(7.68)
(7.69)
(7.70)
rk+1 = rk
k Apk ,
k = rk+1 , rk+1 / rk , rk , pk+1 = rk+1 +
k pk .
(7.71)
D
am n continuare algoritmul pentru rezolvarea sistemului de ecuatii liniare
folosind metoda de gradient conjugat Fletcher-Reeves cu preconditionare.
Date: x0 , A, b, maxiter, ,
r0 b Ax0
rezolva sistemul Q
r0 = r0
0
0
p r
k = 0 : (maxiter 1)
1/2
daca
pk , pk
< stop
k rk , rk / pk , Apk
xk+1 xk +
k pk
rk+1 rk
k Apk
k+1
rezolv
= rk+1
a sistemul Q
r
daca rk+1 , rk+1 < atunci
2
daca rk+1 , rk+1 < stop
k+1 k+1
k k
r , r
/ r , r
k
k+1
k+1
p
r
+ k pk .
Date: x0 , A, b, maxiter, ,
x x0 ; r b Ax
rezolv
a sistemul Qz = r
p r; c hz, ri
k= 1 : maxiter
1/2
dac
a hp, pi
< stop
z Ap; c/ hp, zi
x x + p
r r z
rezolv
a sistemul Qz = r
d hz, ri
dac
ad<
atunci
e hr, ri
dac
a e < stop
p z + (d/c)p
cd.
204
7. Metode de optimizare
7.7
Din aceasta categorie fac parte metodele care sunt special construite pentru
functii scop ce au forme particulare. Fie functia scop de forma
Xn
Fj2 (x) = 12 kF k22 ,
(7.72)
U (x) = 12
j=1
unde F : Rn Rn . O problem
a de optimizare cu functia scop de forma (7.72)
se mai ntalneste sub denumirea de problema celor mai mici p
atrate neliniare.
Observam ca
Xn
(7.73)
gi = U/xi =
(Fj /xi )Fj , i 1, n ,
j=1
sau vectorial
U (x) g(x) = J T (x)F (x) ,
(7.74)
(7.75)
Xn
i=1
Fi (x)Gi (x) .
(7.76)
Daca minimul functiei U este zero sau foarte mic, atunci n vecin
atatea acestuia
avem valori mici pentru functiile Fi astfel nc
at se poate neglija termenul Q(x)
and2 hessiana cu relatia
din relatia (7.75), aproxim
J T (x)J(x) ,
G(x) = 2 U (x) =
(7.77)
obtinand deci o metod
a cu eficient
a comparabil
a metodelor de tip Newton.
Dintre metodele care rezolv
a problema celor mai mici p
atrate neliniare, metoda
Levenberg-Marquardt face parte din categoria metodelor regiunii de ncredere
n model prezentate la 33. Algoritmul prezentat pentru metoda regiunii de
ncredere poate fi aplicat direct pentru metoda Levenberg-Marquardt, dar tin
and
at
atiri modului de
cont de aproximarea hessianei cu (7.77) pot fi aduse mbun
calcul al directiei de descrestere p.
p
ipotez
a nu mai este justificat
a dac
a U (x ) este de acelasi ordin de m
arime cu
T
valoarea proprie maxim
a a matricei J J, unde cu x s-a notat punctul n care U ia valoarea
minim
a.
2 Aceast
a
205
7.8
(7.78)
c
and avem de a face cu restrictii egalit
ati liniare, sau
Ax b ,
(7.79)
c
and avem de a face cu restrictii inegalit
ati liniare. Matricea A are m linii,
unde m este numarul de restrictii impuse celor n variabile ale functiei scop.
Un punct x Rn este admisibil dac
a ndeplineste conditiile (7.78) sau (7.79)
dupa cum este cazul. Spre exemplu, n cazul n = 2, o restrictie egalitate de
forma x1 x2 = 1 impune ca minimul s
a fie c
autat pe o dreapta (fig. 7.5),
iar o restrictie inegalitate de forma x1 x2 1 face ca punctele admisibile
s
a fie plasate n semiplanul de deasupra dreptei x2 = 1 x1 . Se observ
a c
a
restrictiile egalitate reduc dimensiunea problemei: minimizarea unei functii scop
de n variabile supuse la m restrictii independente, se poate obtine aplic
and o
metoda de optimizare fara restrictii pentru o functie scop de n m variabile.
O prima posibilitate de rezolvare a problemelor cu restrictii liniare este de a
folosi o metoda de optimizare fara restrictii mpreun
a cu o strategie de penalizare
a functiei scop daca algoritmul ncearc
a s
a ias
a din domeniul D al punctelor
206
7. Metode de optimizare
U (x) =
,
pentru x
/D
(7.80)
(7.81)
(7.82)
n
X
j xj ,
(7.83)
j=1
0, j 1, n ,
Xn
aij xj
bi , i 1, m1 , bi 0 ,
Xn
akj xj
bk , k m1 + 1, m2 , bk 0 ,
alj xj
bl , l m2 + 1, m, bl 0 .
j=1
k=1
Xn
l=1
(7.84)
3 O funct
ie U : Rn R este liniar
a dac
a ndeplineste urm
atoarele dou
a conditii: U (x) =
U (x) si U (x + y) = U (x) + U (y), oricare ar fi vectorii x, y Rn si scalarii , , R.
207
(7.85)
cu restrictiile
x1 + x2 10, 2x1 + x2 3, x1 + x2 3, x1 0, x2 0 .
(7.86)
Pe figur
a se observ
a domeniul admisibil, precum si vectorul optimal unic x = (1.75, 6.50)
aflat pe frontier
a.
208
7. Metode de optimizare
(7.87)
x1 + 2x2 3x3 = 3, x2 x3 x4 = 1, x1 , x2 , x3 , x4 0 ,
(7.88)
cu restrictiile
si binenteles xi 0. Se observ
a valoarea functiei U este cu at
at mai mare cu c
at x2 este
mai mare si x3 mai mic. Rescriem prima relatie (7.88) n forma x1 = 32x2 +3x3 0.
Ultima inegalitate este impus
a de conditia x1 0; rezult
a x2 32 (1 + x3 ). Pentru
209
U
x1
x4
0
3
1
x2
1
2
1
x3
1
3
2
U
x2
x4
3/2
3/2
5/2
x1
1/2
1/2
1/2
x3
1/2
3/2
1/2
U
x2
x3
4
9
5
x1
1
2
1
x4
1
3
2
(7.89)
(7.90)
cu restrictiile
Proced
and la fel ca n exemplul precedent, obtinem x1 = 3 2x2 + 3x3 0 rezult
and
and x3 12 (1 + x2 ). Suntem tentati
x2 32 (1 + x3 ) si x4 = 1 + x2 2x3 0, rezult
de valorile x3 = 0, x2 = 3 cu care am obtinut cu at
ata usurint
a U = 3 n exemplul
precedent. Dac
a introducem ns
a inegalitatea pentru x2 obtinut
a mai sus n expresia
a c
a valoarea minim
a nu
functiei scop, obtinem U 32 + 12 x3 , rezultat care sugereaz
se obtine pentru x3 = 0. Intr-adev
ar, putem scrie x2 32 (1 + x3 ) 32 [1 + 12 (1 + x2 )],
rezult
and x2 = 9, x3 = 5, x1 = 0, x4 = 0, U = 4. Incepem s
a simtim nevoia unei
metodologii mai riguroase, f
ar
a de care este clar c
a nu vom putea rezolva problemele
cu mai multe variabile.
Prezent
am algoritmul simplex folosindu-ne de exemplul 2 si cu ajutorul tabelului
7.1. Observ
am n prima parte a tabelului (primele 4 coloane) c
a variabilele x1 si x4 apar
distinct de variabilele x2 si x3 , de care depinde n mod explicit functia U . Variabilele
x1 si x4 care apar pe prima coloan
a se numesc variabile de baz
a. Variabilele de baz
a
sunt acele variabile care apar ntr-o singur
a relatie-restrictie (si numai ntr-una), av
and
coeficientul pozitiv si care se pot exprima numai n functie de celelalte variabile. In
consecint
a, functia scop se poate exprima n asa fel nc
at s
a nu contin
a nici o variabil
a
de baz
a. In exemplul nostru avem variabile de baz
a x1 si x4 . Din tabel citim de pe
prima linie U = 0 + 1 x2 1 x3 , de pe linia a doua x1 = 3 2x2 + 3x3 s.a.m.d. De pe
linia functiei scop c
aut
am un coeficient pozitiv si g
asim 1 pe coloana variabilei x2 , adic
a
la cresterea valorii x2 creste si valoarea functiei scop U . Pe coloana lui x2 c
aut
am un
coeficient negativ, si g
asim valoarea 2 pe linia lui x1 . Inseamn
a c
a nu putem creste
oric
at de mult valoarea x2 , deoarece acest lucru poate duce la obtinerea unei valori
negative pentru variabila de baz
a pentru care am g
asit coeficientul negativ, n cazul
210
7. Metode de optimizare
asemenea oric
at de mult, caz n care problema este ncheiat
a. Pasul urm
ator const
a n
interschimbarea variabilelor x2 si x1 , adic
a din relatia de definitie a variabilei de baz
a
x1 se expliciteaz
a x2 , iar expresia obtinut
a este folosit
a pentru a obtine U si x4 numai
n functie de x1 si x3 . Se obtin relatiile x2 = 12 (3 x1 + 3x3 ), U = 12 (3 x1 + x3 )
si x4 = 12 (5 x1 x3 ), relatii prezente prin coeficienti n partea a doua a tabelului
7.1. In general, se procedez
a la interschimbarea variabilelor xi si xj corespunz
atoare
0, j 1, n ,
Xn
= bi
aij xj + yi , i 1, m1 , bi 0 ,
j=1
Xn
= bk
akj xj yk , k m1 + 1, m2 , bk 0 ,
k=1
Xn
= bl
alj xj , l m2 + 1, m, bl 0 ,
(7.91)
l=1
211
(7.93)
situat n dreptunghiul 0 x1 4, 0 x2 3.
Rezolvare . Intruc
at domeniul n care se caut
a solutiile este destul de mare, se pune
problema alegerii unei valori initiale. O modalitate o constituie mp
artirea domeniul n
mai multe subdomenii (12 p
atrate n exemplul nostru) prin paralele la axele de coordoandu-se
nate (figura 7.7) si evaluarea functiei U n centrele Ci (i = 1, 2, . . . , 12), obtin
valorile din tabelul 7.2.
212
7. Metode de optimizare
213
Capitolul 8
Rezolvarea sistemelor
neliniare
(8.1)
unde Fi reprezinta functii cunoscute de n variabile x1 , x2 , ..., xn , presupuse continue, mpreuna cu derivatele lor partiale p
an
a la un ordin convenabil (de obicei,
p
an
a la ordinul doi) pentru ca anumite relatii de calcul s
a fie valabile. Se va
urmari gasirea solutiilor reale ale sistemului (8.1) ntr-un anumit domeniu de
interes, domeniu n care se consider
a valabile si propriet
atile de continuitate
impuse functiilor Fi si derivatelor lor.
Sistemul (8.1) se scrie vectorial
F (x) = 0 ,
(8.2)
214
8.1
Iteratia simpl
a
(8.3)
(8.4)
n
X
j=1
(xkj j )
fi k
( ), i 1, n .
xj
215
|xk+1
i
i | mi
n
X
|xkj j |, i 1, n .
(8.5)
j=1
(8.6)
(8.7)
i,j
n
X
mi n m kxk k1 .
(8.8)
i=1
kx
k
i
i
xj , i 1, n, (x , ) ,
j=1
sau pentru indicele imax care corespunde normei vectoriale maxime
n
X
fimax ( k )
k+1
k
.
kx
k kx k
x
j
j=1
(8.10)
Desi k depinde si de indicele i prin forma functiei fi (x), putem evalua suma
a a matricei
din dreapta inegalitatilor (8.9) si (8.10) n functie de norma maxim
jacobiene J a sistemului de functii f
n
n
X
X
fi ( k )
fi ( k )
sup
kJ( k )k ,
(8.11)
xj
xj
i
j=1
j=1
216
(8.12)
a dec
at (8.7).
Conditia (8.12) este n general mai slab
O formulare general
a a conditiei n care se realizeaz
a convergenta iteratiei
simple este (ntr-un spatiu Banach) ca sistemul de functii f s
a fie contractant,
adica pentru orice pereche de puncte x1 , x2 s
a se realizeaze inegalitatea
kf (x2 ) f (x1 )k qkx2 x1 k, unde q [0, 1) ,
(8.13)
Conditiile de convergent
a se pot testa n domeniul n care se afl
a solutia. Aceste
testari pot implica ns
a un volum mare de calcul, c
and num
arul de variabile este
mare sau/si solutia este localizat
a slab.
Din existenta a dou
a conditii (8.7) si (8.12) care, n general, nu coincid,
putem ntelege mai bine n ce sens aceste conditii sunt doar suficiente. Ele
nu sunt neaparat necesare, n sensul c
a ar putea exista o conditie mai putin
restrictiva care sa asigure descresterea distantei la r
ad
acin
a, ncep
and, dac
a nu
chiar cu prima iteratie, cel putin cu un anumit k > 1.
a
Daca suntem suficient de aproape de solutie, conditia (8.12) poate fi scris
folosind orice alta norm
a a matricei jacobiene. Viteza de convergent
a este cu
atat mai mare cu cat norma (subunitar
a) este mai mic
a.
In cazul cand (8.13) este satisf
acut
a, distanta la r
ad
acin
a poate fi evaluat
a
cu relatia
kxk+1 k
8.2
qk
kx1 x0 k, q [0, 1] , k = 1, 2, . . . .
1q
(8.14)
Metoda iterativ
a Newton
n
X
(xj xkj )
j=1
n
1 X
2 Fi ( k )
Fi
+
.
(xj xkj )(xp xkp )
xj
2 j,p=1
xj xp
(xk+1
xkj )
j
Fi (xk )
= Fi (xk ), i 1, n ,
xj
(8.15)
217
(8.16)
Sistemul de ecuatii liniare (8.15) sau (8.16) se poate rezolva cu metoda elimin
arii
gaussiene (capitolul 5). Matricea jacobian
a se calculeaz
a analitic sau, dac
a nu
este posibil, numeric, utilizand diferente finite.
Pentru a studia convergenta metodei, consider
am x = ( fiind o solutie).
Obtinem
0 = Fi (xk ) +
n
X
(j xkj )
j=1
Fi
+ Vi , i 1, n ,
xj
(8.17)
n
1 X
2 Fi ( k )
(p xkp ), i 1, n .
(j xkj )
2 j,p=1
xj xp
(8.18)
(8.19)
(8.20)
(8.21)
a
Dac
a se ia norma maxima, din (8.18) rezult
kV k = sup |Vi | M
i
Se obtine deci
n
X
(8.22)
j,p=1
2
Fi
1
.
unde M = sup
2 i,j,p xj xp
(8.23)
(8.24)
218
(8.25)
(8.26)
(8.27)
a
Introducand apoi norma 1 n relatia (8.21) si folosind inegalitatea (8.27), rezult
kxk+1 k1 C1 kxk k21 , unde C1 = M n sup kJ 1 (xk )k1 .
(8.28)
a c
a, dac
a este ndeplinit
a
Parcurcand aceleasi etape ca n relatiile (8.21), rezult
inegalitatea
C1 kx0 k1 < 1 ,
(8.29)
(8.30)
unde K = sup
i
X
j,p
2
fi (x)
.
sup
xU0 xj xp
(8.31)
(8.32)
219
)kx1 x0 k .
(8.33)
8.3
Metode cvasi-Newton
(8.35)
unde sk xk+1 xk si F k = F (xk ). Aproximatia Bk a jacobienei trebuie actualizata n etapa urmatoare, lucru se face scriind c
a Bk+1 aproximeaz
a J(xk+1 ),
adic
a
Fk
= F k+1 + J(xk+1 )(xk xk+1 )
= F k+1 Bk+1 sk .
(8.36)
(8.37)
(8.38)
220
(8.39)
(8.40)
(8.41)
(y k Bk sk )(sk )T
F k+1 (sk )T
=
B
+
.
k
(sk )T sk
(sk )T sk
(8.42)
A1 u v T A1
.
1 + v T (A1 u)
(8.44)
(sk Hk y k )(sk )T Hk
, unde Hk = Bk1 ,
(sk )T (Hk y k )
(8.45)
221
(8.46)
8.4
Metoda gradientului
(8.48)
T
inand seama de forma speciala (8.47) a functiei U si de convergenta sirului
U (xk ) la zero, putem da unele expresii simplificate pentru parametrul k . Folosind spre exemplu o aproximatie liniar
a pentru U (xk k g k ) vom scrie,
dezvoltand n serie n jurul valorii k = 0
Xn
k = U (xk )/(g k )T g k , (g k )T g k =
(gjk )2 .
(8.49)
j=1
(8.50)
n
X
p=1
(8.51)
222
X Fj (xk )
2
1 X
f (k )
gpk ,
Fj (xk ) k vjk , vjk
=
p
2 j=1
x
p=1
f 0 (k )
=
n
X
Fj (xk ) k vjk vjk ,
(8.52)
(8.53)
j=1
n
X
j=1
Fj (xk ) vjk /
n
X
(8.54)
j=1
(8.55)
223
Jk J(x)
rezolva sistemul Jk pN = F k
daca kpN k
atunci p pN
altfel
pG {JkT F k |U (x JkT F k ) = minim}
nG kpG k
dac
a nG
atunci p {pG + (pN pG ) | kpk = }
altfel p (/nG )pg
8.5
Metoda hibrid
a
Aceasta metoda face parte din clasa metodelor regiunii de ncredere n model
a urm
areste combinarea avantajuprezentate la 33. In principiu, metoda hibrid
lui de convergenta local
a patratic
a a metodei Newton cu convergenta global
a
a metodei gradientului. Pentru functia scop U de forma (7.72) se foloseste
ca aproximanta o forma patratica dat
a de (7.13). Pentru matricea hessian se
poate folosi aproximatia data de (7.77). Dac
a evaluarea exact
a a derivatelor
partiale este imposibila sau foarte dificil
a, putem fie s
a folosim o matrice care
aproximeaza hessiana ca n metoda Broyden, fie s
a le evalu
am numeric folosind
diferente finite de forma
Fi /xj
= [F (x1 , . . . , xj + h, . . . , xn ) F (x1 , . . . , xj , . . . , xn )]/h .
(8.56)
224
(8.57)
(8.58)
225
+ 1
k < F , kxk
+ 1
xk k < x kxk
+ 1
k,
(8.60)
226
(8.62)
Rezult
a urm
atorul sistem de ecuatii
f1 (x1 , c1 , z1 )
f2 (x1 , c1 , z1 )
f3 (x1 , c1 , z1 )
t2 2(h/c + z1 /c1 )
q
p
T2 2
h2 + (d x1 )2 /c + z12 + x21 /c1
q
p
x1 c h2 + (d x1 )2 (d x1 )c1 z12 + x21
(8.63)
(8.64)
(8.65)
(8.66)
227
228
229
Capitolul 9
Rezolvarea ecuatiilor
diferentiale
9.1
Consideratii generale
Ecuatiile diferentiale ordinare (sau ecuatiile diferentiale care contin ca necunoscute functii care depind de o singur
a variabil
a independent
a) se nt
alnesc n
mod curent n descrierea fenomenelor din natur
a. Functiile necunoscute pot fi
viteze, temperaturi, densitati, sarcini electrice, etc. Variabila independent
a este
n multe cazuri timpul, cand se descriu fenomene evolutive, sau o coordonat
a
spatiala, cand se descriu fenomene unidimensionale.
In ecuatiile diferentiale apar derivatele de diverse ordine ale functiilor necunoscute. Ordinul cel mai mare al derivatei functiei necunoscute d
a ordinul ecuatiei diferentiale. Daca avem un sistem de ecuatii diferentiale (adic
a
mai multe ecuatii care contin mai multe functii necunoscute, n num
ar egal cu
numarul ecuatiilor diferentiale), ordinul sistemului este egal cu suma ordinelor
ecuatiilor diferentiale care l formeaz
a.
In general, ecuatia diferentiala (sau sistemul de ecuatii diferentiale) nu determina complet functia (sau functiile) necunoscut
a. Pentru a determina complet
solutia, este necesar ca, odat
a cu ecuatia (sau sistemul) s
a se impun
a un num
ar
de conditii suplimentare egal cu ordinul ecuatiei diferentiale (sau sistemului de
ecuatii diferentiale).
230
9. Rezolvarea ecuat
iilor diferent
iale
(9.1)
(9.2)
(9.3)
9.2
9.2.1
Formule Euler
(9.4)
231
(9.5)
(9.6)
a plec
and din x = xm ,
T
in
and seama ca ambele formule (9.5) si (9.6) se aplic
rezulta eroarea de trunchiere pentru un pas eT m
eT m = ym+1 ym+1 = (h2 /2)y 00 (m ) ,
(9.7)
n
X
m=1
eT m =
b a 00 0
h2 00 0
ny ( ) =
hy ( ), 0 (a, b)
2
2
(9.8)
(9.9)
(9.10)
a coincid
a
iar parametrii , , w1 si w2 se determin
a din conditia ca (9.9) s
cu primii trei termeni din dezvoltarea n serie Taylor a functiei y(x) n jurul
punctului xm
0
00
ym+1 = ym + hym
+ (h2 /2)ym
+ (h3 /6)y 000 (m ), m (xm , xm+1 ) ,
(9.11)
(9.12)
0
a
T
inand cont de faptul ca ym
= f (xm , ym ) = K1 , din (9.11) rezult
(9.13)
232
9. Rezolvarea ecuat
iilor diferent
iale
(9.14)
(9.15)
(9.16)
Sistemul (9.16) are patru necunoscute si numai trei ecuatii. Teoretic exist
ao
infinitate de posibilitati de a construi o metod
a de ordinul 2, dou
a variante fiind
mai des ntalnite. Prima dintre acestea se obtine aleg
and w2 = 1/2. Rezult
a
= = 1, w1 = 1/2, obtin
andu-se formula Euler mbun
at
atit
a
ym+1 = ym + h2 (K1 + K2 ), K2 = f (xm + h, ym + hK1 ) .
(9.17)
(9.18)
233
9.2.2
Formule Runge-Kutta
s
X
wi Ki ,
(9.19)
i=1
Ki = f (xm + i h, ym + h
i1
X
ij Kj ), i 1, s, j 1, i 1, 1 = 10 = 0 ,
j=1
(9.20)
unde s este ordinul formulei, iar scalarii wi , i , ij se determin
a din conditia
ca expresia (9.19) sa coincida cu formula Taylor p
an
a la termenii n hs inclusiv.
S-a renuntat a se mai pune bara pentru a indica valorile aproximative. Pentru
s = 4, relatiile (9.20) se scriu
K1 = f (xm , ym ), K2 = f (xm + 2 h, ym + 21 hK1 ) ,
K3 = f [xm + 3 h, ym + h(32 K2 + 31 K1 )] ,
K4 = f [xm + 4 h, ym + h(43 K3 + 42 K2 + 41 K1 )] .
(9.21)
234
9. Rezolvarea ecuat
iilor diferent
iale
9.2.3
(9.22)
(9.23)
Formule Runge-Kutta-Gill
2
Q Q + 3[(1 + 1/2)(K Q )] (1 + 1/2)K ,
3
2
3
2
3
K f (x + h, Y ), y
h
Y
+
(K
2Q
),
m
3
m+1
3
4
3
4
Q Q + 3[ 1 (K 2Q )] 1 K 6
4
3
4
3
6
2 4
Q0 Q4 .
(9.24)
9.2.4
235
(9.25)
(s+1)
2hs+1 y(2 ) /(s
(9.26)
+ 1)! ,
0
+
y2h = y(x) + 2hy(x)
(9.27)
2s 1 (s+1)
2hs+1 (s+1)
yh y2h
y
()
y
() = s
.
(s + 1)!
(s + 1)!
2 1
(9.28)
(9.29)
e = hs+1 y()
/(s + 1)! .
(9.30)
236
9. Rezolvarea ecuat
iilor diferent
iale
Se obtine
e hs+1
0
= 0s+1
e
h
(s+1)
(s+1)
1
(s+1)
s+1
y(0 )
e
0
,
(s+1) h0 = S h |e|
y()
(9.31)
unde S = |y(0 ) /y() | s+1 este, pentru h suficient de mic, de ordinul unit
atii
(rezultate bune n majoritatea cazurilor pot fi obtinute cu S = 0.9). Dac
a
eroarea obtinuta cu pasul h este mai mare dec
at cea impus
a (e > e0 ), atunci
calculul trebuie reluat cu un pas mai mic, h0 fiind o estimare bun
a a m
arimii
acestui pas. Daca n schimb eroarea obtinut
a este mult mai mic
a dec
at cea
a c
a pasul de integrare este mai mic dec
at cel necesar,
impusa (e e0 ), nseamn
a pentru estimarea pasului urm
ator.
iar relatia (9.31) poate fi folosit
De regula, n locul erorii absolute se foloseste eroarea relativ
a definit
a ca
= |e/yref |, unde yref este o valoare de referint
a a necunoscutei y (spre exemplu
ultima valoare calculat
a, yref = ym+1 = yh ). In acest caz se poate scrie
1
h0 = S h (0 /) s+1 .
(9.32)
(9.33)
(9.34)
237
1/6
0
0
2/3
1/6
1/15
0
3/10
4/15
1/30
0
1/3
1/3
1/2
1
1/3
1/6
1/8
1/2
1/6
0
0
3/8
3/2
mare. In realitate nu este asa deoarece ambele formule folosesc aceleasi puncte
pentru evaluarea functiei panta, adic
a numai p evalu
ari! Acest lucru este posibil, deoarece raportul dintre num
arul de evalu
ari ale functiei pant
a si ordinul
metodei creste cu ordinul metodei dup
a cum urmeaz
a:
Numar de evaluari
1 2 3 4 5 6 7 8
Ordinul metodei Runge-Kutta 1 2 3 4 4 5 6 6 .
Formulele din categoria de mai sus se pot scrie n forma general
a
Pp
Pp
ym+1 yp = ym + h i=1 ai Ki , ys = ym + h i=1 bi Ki ,
Pi1
Ki = f (x + i h, ym + h j=1 ij Kj ) .
(9.35)
p
X
(ai bi )Ki ,
(9.36)
i=1
(9.37)
238
9. Rezolvarea ecuat
iilor diferent
iale
ai
ai b i
i1
16/135
1/360
i2
i3
i4
1/4
1/4
6656/12825
128/4275
3/8
3/32
9/32
28561/56430
2197/75240
12/13
1932/2197
7200/2197
9/50
1/50
439/216
3680/513
845/4104
2/55
2/55
1/2
8/27
3544/2565
1859/4104
9.3
i5
7296/2197
11/40
(9.38)
239
(9.39)
Astfel, daca avem doua valori yn si yn/2 obtinute cu n respectiv n/2 subintervale,
obtinem o valoare mbunatatita
y(x + H) (1/3)(4yn yn/2 )
(9.41)
9.4
Principalele deficiente ale metodelor cu pasi separati sunt: (a) necesitatea evalu
arii
la fiecare pas a unui numar de functii cel putin egal cu ordinul metodei; (b) evaluarea dificila a erorii de trunchiere.
Deficientele semnalate pot fi nl
aturate folosind metode care utilizeaz
a mai
bine valorile deja calculate ale functiei necunoscute. Aceste metode se numesc
metode cu pasi legati sau metode multipas. Ideea este urm
atoarea: s
a presupua
nem, revenind la ecuatia (9.2), ca se cunoaste solutia y(x). Atunci functia pant
f (x, y(x)) este o anumita functie de x, notat
a cu (x) f (x, y(x)). Integr
and
ecuatia (9.2) termen cu termen, pe un interval [xmk , xm+1 ], m = 0, 1, 2, . . . ,
se obtine
Z xm+1
ym+1 = ymk +
(x) dx
(9.42)
xmk
a, dar poate fi apro(figura 9.2). In relatia (9.42), functia (x) este necunoscut
ximata utilizand spre exemplu un polinom de interpolare.
9.4.1
Formule explicite
Pentru a lua n consideratie valori deja calculate ale functiei y(x), vom utiliza
polinomul cu diferente la stanga. Introducem num
arul real prin relatia
x = xm + h, 1 .
(9.43)
240
9. Rezolvarea ecuat
iilor diferent
iale
(9.44)
(), (xmr , x) .
(9.45)
T
inand seama de (9.44), relatia (9.42) se scrie
ym+1 = ymk + h
r
m + m + . . . + (1)r C
r m d + m ,
(9.46)
r+1 r+1
C
() d .
(9.47)
h
(55fm 59fm1 + 37fm2 9fm3 ) ,
ym+1 = ym + 24
251 5 (4)
251 5 (4)
m = 720 h () = 720
h m + O(h6 ) .
(9.48)
241
ym+1 = ym3 + 4h
3 (2fm fm1 + 2fm2 ) ,
14 5 (4)
14 5 (4)
m = 45
h () = 45
h m + O(h6 ) .
(9.49)
ym+1 = ym+1 +
251 (M )
27 (ym+1
(A)
ym+1 ) + O(h7 ) .
(9.51)
9.4.2
Formule implicite
a n xm+1 ,
Deoarece polinomul de interpolare obtinut din (9.44) se extrapoleaz
erorile m ale formulelor multipas explicite sunt relativ mari. Pentru reducerea
acestor erori, se folosesc formule implicite. Formulele implicite cu pasi legati se
mai numesc formule corector. Dup
a cum vom vedea, formulele corector nu pot
fi folosite singure, ele avand nevoie de o valoare aproximativ
a initial
a pe care o
mbunatatesc iterativ. Aceasta valoare aproximativ
a este furnizat
a de o formul
a
predictor, ansamblul celor doua formule form
and o formul
a predictor-corector.
In scopul evitarii extrapolarii, la construirea polinomului de interpolare se
ia n consideratie si valoarea ym+1 . Se redefineste variabila (9.43) prin
x = xm+1 + h, 0
(9.52)
242
9. Rezolvarea ecuat
iilor diferent
iale
h
(9fm+1 + 19fm 5fm1 + fm2 ) ,
ym+1 = ym + 24
19 5 (4)
19 5 (4)
m = 720 h () = 720
h m + O(h6 ) .
(9.55)
(9.56)
(9.58)
(k+1)
(9.59)
(9.60)
243
f (x, y) s
a fie mai mic decat ordinul metodei, n caz contrar dispare avantajul
volumului de calcul mai redus al formulelor multipas, n raport cu formulele
(0)
a de o formul
a
pas cu pas. De aceea, pentru start se alege valoarea ym+1 dat
multipas explicita, de acelasi ordin, formul
a utilizat
a ca predictor, n timp ce
formula implicita (9.58) foloseste drept corector. O asemenea combinatie se
numeste formul
a predictor-corector.
Metoda predictor-corector ne furnizeaz
a posibilitatea de evaluare a erorii si
de a face astfel o noua corectie. Astfel, utiliz
and formulele Adams (9.48) si
(9.55), se obtine
(Ac)
ym+1 = ym+1
(Ac)
19
270 (ym+1
(Ap)
ym+1 ) + O(h6 ) .
(9.61)
ym+1 = ym+1
9.5
(M c)
1
29 (ym+1
(Ap)
ym+1 ) + O(h6 ) .
(9.62)
Dupa cum s-a vazut n capitolul 4, orice calcul numeric este afectat de erori de
metod
a si de erori de rotunjire. O metod
a n care erorile introduse ntr-o anumit
a
etapa nu sunt amplificate la pasii urm
atori de calcul se numeste stabil
a. Trebuie
observat nsa ca aceast
a definitie se aplic
a numai pentru probleme corect puse,
adica pentru ecuatii diferentiale si conditii la limite pentru care solutiile exist
a
si sunt stabile. O solutie este instabil
a n sensul lui Hadamard dac
a variatii mici
n parametri introduc variatii mari n solutie. Evident c
a n asemenea cazuri
orice metoda numerica utilizata va conduce la erori necontrolabile.
Pe de alta parte, erorile absolute pot fi amplificate, dar n acelasi timp, este
posibil ca erorile relative n modul s
a r
am
an
a pe loc sau chiar s
a scad
a, ca
urmare a cresterii valorilor solutiei, n modul. In acest caz, se poate spune c
a
metoda este relativ stabil
a.
Pentru a scoate n evidenta mai concret situatiile care pot apare, vom considera ca, la pasul x = xm , ecuatia de rezolvat are forma
y 0 = fm + am (x xm ) + bm (y ym ) f (x, y) ,
(9.63)
(9.64)
Asa cum se observa, membrul drept din (9.63) contine primii 3 termeni din
dezvoltarea Taylor a functiei de dou
a variabile f (x, y). Dac
a f (x, y) este o
244
9. Rezolvarea ecuat
iilor diferent
iale
functie de gradul nt
ai n variabilele x, y, atunci expresia (9.64) este exact
a,
daca valorile ym sunt exacte. Pentru x = xm+1 , solutia (9.64) devine
ym+1 = ym Am ebm h + Am + Bm h .
(9.65)
X4
n=0
m h + eRm ,
(bm h)n /n! + Am + B
(9.66)
(RK)
eRm fiind eroarea de rotunjire cu care obtinem numeric valoarea ym+1 . S-a
folosit bara pentru a indica valorile aproximative. Pe de alt
a parte, s-a avut
n vedere ca, la pasul x = xm , problema se rezolv
a prin metoda Runge-Kutta
pentru o conditie initial
a alterat
a (y = ym ).
(RK)
Eroarea absolut
a em+1 este, conform definitiei, diferenta ym+1 ym+1
5
(bm h) bm m
(RK)
m ) eRm .
em+1 = e(RK)
(Am Am )(ebm h 1) Am
e
+ (Bm B
m
5!
(9.67)
S-a folosit formula Taylor pentru a nlocui
X4
n=0
(bm h)5 bm m
e
,
5!
(xm , xm+1 ) .
(9.68)
= e0
m
X
i=0
(bi h)5 bi
bi h
(Ai Ai )(e 1) + Ai
e (Bi Bi )h + eRi .
5!
(9.69)
(RK)
si eR0 put
and fi considerate nule, iar coeficientii Ai , Ai si
Erorile initiale e0
em+1 =
m
X
(1 ebi h )(Ai Ai ) Ai
i=1
(bi h)5 bi
i )h + eRi
e + (Bi B
5!
. (9.70)
m
X
(1 ebi h )Ai + Bi h .
(9.71)
i=0
(RK)
(9.72)
245
(9.73)
(9.74)
m h
X
i
(M )
(M )
a
i h + bi (
yi+1 yi ) , i 0, m ,
(9.75)
i=0
(9.76)
T
inand seama de (9.76), din formula Milne (9.56) se obtine urm
atoarea
(M )
ecuatie n diferente pentru ym
(M )
(M )
(M )
ym
(1 bh/3)
ym+1 4bh/3
(1 + bh/3)
ym+1
= 2h(f0 by0 ) + 2a h2 m .
(9.77)
(9.78)
Se obtin solutiile
p
r1 = (2bh + 9 + 3b2 h2 )/(3 bh)
p
r2 = (1/r1 )(3 + bh)/(3 bh) = (2bh 9 + 3b2 h2 )/(3 bh) .
(9.79)
246
9. Rezolvarea ecuat
iilor diferent
iale
(9.80)
(9.81)
(9.82)
Inlocuind apoi Am din (9.64) si fm dintr-o relatie de tipul (9.76) din (9.82) se
obtine urmatoarea ecuatie n diferente finite
ym+1 ym eb h = [(a + bf0 )/b2 y0 ](eb h 1) ha/b + h (a/b)(eb h 1)m .
Solutia ecuatiei n diferente finite de mai sus este
ym = Keb hm + y0 m(a + bfo )/b + e0Rm ,
(9.83)
ah
(a + bf0 ) b hm
(e
1)
m + y0 + e0Rm .
b2
b
(9.84)
1
(
a
b2
1
b2 (a
e
= 29+3b
2 h2
2
R1
R1 .
b
180
(9.86)
(9.87)
247
X4
i=0
(bh)0
b 5 h5
+
+ O(b6 h6 ), |b h| < 1 .
i!
72
(9.88)
1
b2 (a
9.6
(9.90)
248
9. Rezolvarea ecuat
iilor diferent
iale
9.6.1
(9.91)
(9.92)
unde
Ki1 = fi (xm , yi,m ),
Ki2 = fi (xm + h2 , yi,m + h2 Ki1 ),
h
h
Ki3 = fi (xm + 2 , yi,m + 2 K2 ), Ki4 = fi (xm + h, yi,m + hKi3 ) .
(9.93)
= sup
i
(h)
|yi
(2h)
yi
2s 1
(9.95)
(2h)
unde yi este calculat cu pasul h iar yi cu pasul 2h, s fiind ordinul metodei.
Pasul se pastreza dac
a se afl
a ntr-un interval considerat dinainte. Limitele
pentru se stabilesc n functie de problema care se rezolv
a. In cazul c
and se
6
4
lucreaza adimensional, (10 , 10 ) este un interval uzual, n functie de
precizia dorita si de calculator. In locul normei maxime din relatiile (9.94) si
(9.95), se pot folosi orice alte norme de vectori.
In mod similar, pentru rezolvarea sistemului (9.90) se pot utiliza metode
multipas. Pentru formula predictor-corector Adams, spre exemplu, se scrie
(Ap)
h
(55fi,m 59fi,m1 + 37fi,m2 9fi,m3 ) ,
yi,m+1 = yi,m + 24
(Ac)
h
yi,m+1 = yi,m + 24 (9fi,m+1 + 19fi,m 5fi,m1 + fi,m2 ) ,
(Ap)
(Ac)
(Ac)
19
(yi,m+1 yi,m+1 ), i 1, n .
yi,m+1 = yi,m+1 270
(9.96)
249
(Ac)
(Ap)
(9.98)
9.6.2
x = xN , yn = yn,N
,
250
9. Rezolvarea ecuat
iilor diferent
iale
F () yn,N () yn,N
= 0, yn,0 .
(9.101)
asi numeric,
Fie valoarea care satisface ecuatia (9.101). Pentru a o g
trebuie mai ntai localizat
a, adic
a trebuie g
asite dou
a valori k1 , k2 astfel
ncat F () sa-si schimbe semnul. Aceste valori se aleg prin ncerc
ari, av
and n
vedere si eventuale alte informatii (s.e. de natur
a fizic
a). Se introduce apoi
a pentru
un sir iterativ folosind metoda coardei prezentat
a n capitolul 3, adic
fiecare pereche k2 , k1 , cu F (k2 ) F (k1 ) < 0 se determin
a k cu relatia
k = k1
F (k1 )(k1 k2 )
.
F (k1 ) F (k2 )
(9.102)
In iteratia urmatoare se atribuie valoarea k uneia din valorile k1 , k2 astfel ncat sa se pastreze schimbarea de semn. Procedeul se opreste dac
a sunt
ndeplinite conditiile |F ()| < F , sau |k k1 | < |k | + s , unde s este
valoarea introdusa pentru eventualitatea c
and = 0.
Un caz particular l constituie ecuatiile diferentiale de ordinul doi3 de forma
y 00 = f (x, y, y 0 ), y(x0 ) = , y(xN ) = .
(9.103)
(9.104)
(9.105)
(9.106)
(9.107)
251
(9.108)
F () yN () = 0, y 0 (x0 ) .
(9.109)
unde
Pentru determinarea derivatei functiei F , F 0 F/ = y(xN )/, se deriveaza functia y 00 data de (9.103) n raport cu
y 00
f x f y
f y 0
=
+
+ 0
.
x y y
Notand u y/ si tinand cont c
a
x
y 00
2y
2
y
= 0,
=
=
= u00 ,
x2
x2
(9.110)
(9.111)
si c
a y(x0 )/ = 0, y 0 (x0 )/ = 1, obtinem ecuatia diferential
a de ordinul
doi cu conditii initiale
u00 = u
f (x, y, y 0 )
f (x, y, y 0 )
, u(x0 ) = 0, u0 (x0 ) = 1 .
+ u0
y
y 0
(9.112)
(9.113)
(9.114)
x = xN , yn1 = yn1,N
, yn,N = yn,N
.
252
9. Rezolvarea ecuat
iilor diferent
iale
F1 (1 , 2 ) yn1,N (1 , 2 ) yn1,N
=0,
(9.116)
F2 (1 , 2 ) yn,N (1 , 2 ) yn,N = 0 .
Cu yn1,N (1 , 2 ) si yn,N (1 , 2 ) s-au notat valorile functiilor yn1 respectiv
yn care se obtin prin integrare numeric
a la x = xN cu parametrii 1 si 2 alesi .
Pentru a gasi solutia (1 , 2 ) care satisface conditiile (9.116) se poate aplica
una din metodele de rezolvare a sistemelor de ecuatii neliniare prezentate n
a de optimizare pentru functia scop
capitolul 8, sau se poate aplica o metod
U (1 , 2 ) = 12 [F12 (1 , 2 ) + F22 (1 , 2 )] .
(9.117)
.
J0 =
[F2 (10 + h1 , 20 ) F20 ]/h1 [F1 (10 , 20 + h2 ) F20 ]/h2
(9.118)
Procedeul este acelasi indiferent de num
arul de parametri (n 2). Dac
a
numarul de parametri este mai mare dec
at 2, se recomand
a o metod
a de descrestere cvasi-Newton sau de gradient conjugat.
Vom observa ca num
arul real de parametri nu poate dep
asi 2 dac
a ordinul
sistemului n 4, 3 dac
a n 6, n general [n/2] (parte ntreag
a) deoarece putem
alege convenabil ca punct de plecare x0 sau xN , adic
a punctul unde se dau cele
mai multe conditii.
Metode cu diferente finite.
Se bazeaza pe folosirea unei o retele de puncte de diviziune ale intervalului care
se stabileste nainte de integrarea ecuatiilor diferentiale. De regul
a nu se cunosc
dinainte zonele n care functiile necunoscute prezint
a variatii mai rapide unde
nodurile retelei ar trebui s
a fie mai dese. Desi exist
a tehnici adaptive si pentru metodele cu diferente finite, care constau n ndesirea retelei n zonele de
variatie rapida a functiilor necunoscute, acestea sunt mai complexe dec
at cele
corespunzatoare metodelor pas cu pas folosite la metoda tirului, astfel nc
at
metodele cu diferente finite se recomand
a s
a fie folosite pentru rezolvarea problemelor cu conditii la limit
a a c
aror solutie nu prezint
a zone de variatie rapid
a.
253
(9.119)
(9.120)
(9.122)
(9.124)
unde L0j si LN k sunt expresii liniare sau neliniare care contin functiile necunoscute yi , i 1, n. Relatiile (9.124) se pun n aceasi form
a cu (9.123)
Ei0 0, i 1, n n1 , Ei0 = L0i (x0 , y1 , . . . , yn ), i n n1 + 1, n,
EiN +1 = LN i (x0 , y1 , . . . , yn ), i 1, n2 , EiN +1 0, i n2 + 1, n .
(9.125)
E m+1 (Y
, Y m+1 + Y m+1 ) P
= E m+1 (Y m , Y m+1 )+
Pn + Y m+1
n
+ i=1 (E
/yi,m )yi,m + i=1 (E m+1 /yi,m+1 )yi,m+1 .
(9.126)
254
9. Rezolvarea ecuat
iilor diferent
iale
Ji,j yim +
j=1
n
X
j=1
Eim
Eim
, Ji,n+j =
.
m
yj
yjm+1
(9.127)
x
x
x
x
x
x
x
x
x
x
x
x
x x
x x
x x
x
x
x
x x
x x
x x
x x
x x
x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
x x x
y30
y11
y21
y31
y12
y22
y32
y13
y23
y33
y2N
y3N
E30
E11
E21
E31
E12
E22
E32
E13
E23
E33
E2N
E3N
(9.128)
9.6.3
(9.129)
9.7. Sisteme cu sc
ari disparate
255
(9.130)
(9.131)
9.7
Sisteme cu sc
ari disparate
(9.133)
256
9. Rezolvarea ecuat
iilor diferent
iale
n
X
j=1
(yjm+1
fi (xm , ykm )
.
yjm )
yj
(9.134)
(9.135)
n
m
X
h
f
(x
,
y
)
i
m
k
.
yim+1 = yim + fi (xm , ykm ) + fi (xm+1 , ykm ) +
(yjm+1 yjm )
2
y
j
j=1
Este posibila si obtinerea unor metode pas cu pas de ordine mai mari de 2 cu
pretul unor calcule laborioase, care nu ntotdeauna sunt justificate dac
a folosim
o liniarizare de forma (9.134) sau celei de mai sus.
2
(4)
y (6) (x) = [120 + 720x +480x4 +64x6 + cos(15x)(8 313 300x 525 600x
2
x2
9.7. Sisteme cu sc
ari disparate
257
258
9. Rezolvarea ecuat
iilor diferent
iale
9.7. Sisteme cu sc
ari disparate
259
egal pentru toate metodele folosite. Pentru cazul (a) rezultate mai bune se obtin
cu metodele multipas. Rezultatele mai bune ale formulei Milne le punem pe seama
preciziei superioare a formulei corector fat
a de formula corector Adams. Rezultatele
mai slabe date de formulele Runge-Kutta-Merson si Runge-Kutta-Fehlberg se datoresc
n principal aproxim
arilor ce intervin n estimarea erorii, vezi (9.36).
In concluzie, ori de c
ate ori timpul de calcul nu costituie o problem
a si nu avem
informatii suplimentare privind solutia unui sistem de ecuatii diferentiale, se recomand
a metoda Runge-Kutta-Gill cu criteriul pasului dublu, ca fiind cea mai sigur
a
cale.
Exemplul 2. S
a se rezolve ecuatia diferential
a f 000 + f f 00 = 0 cu conditiile la
0
0
limite pe intervalul [0, ], f (0) = 0, f (0) = 0, f () = 1. (Ecuatia este nt
alnit
a la
calculul stratului limit
a laminar incompresibil pe o plac
a plan
a. Este cunoscut
a sub
denumirea de solutia lui Blasius).
Rezolvare. Se scrie sistemul de ecuatii diferentiale echivalent, folosind notatiile
y1 = f (x), y2 = f 0 (x), y3 = f 00 (x). Sistemul obtinut este y10 = y2 , y20 = y3 , y30 = y1 y2
cu conditiile la limite y1 (0) = y2 (0) = 0, y20 () = 1. Prin urmare avem de rezolvat
o problem
a bilocal
a. Un element suplimentar l constituie faptul c
a intervalul pe care
se caut
a solutia este infinit. In acest caz, putem proceda pe dou
a c
ai: (a) se face
o schimbare de variabil
a independent
a convenabil
a, care transform
a intervalul [0, )
ntr-un interval finit (transformarea trebuie s
a fie o bijectie); (b) se porneste calculul
cu un anumit pas, urm
arindu-se dac
a functiile y1 , y2 , y3 au tendinta s
a se stabilizeze
dup
a o anumit
a distant
a pe x. Parametrul problemei este y3 (0) despre care se stie c
a
este pozitiv (din considerente fizice).
S-a plecat cu valoarea y3 (0) = 0.20, folosind un pas constant n x (h = 0.20) si
s-a integrat p
an
a la x = 6. S-a obtinut y2 (6) 1 = 0.434162. Pentru y3 (0) = 0.60
s-a obtinut y2 (6) 1 = 0.177466, prin urmare s-a realizat o schimbare de semn. In
continuare, s-a aplicat metoda coardei. Rezultatele iteratiilor dup
a parametrul =
y3 (0) si functia scop U () = y2 (6, ) 1 sunt date n tabelul 9.6. S-a folosit formula
Runge-Kutta de ordinul 4.
Criteriul de oprire a iteratiilor a fost |U ()| < . La iteratia a 4-a s-a realizat aceast
a
conditie pentru = 104 . Cu y3 (0) = 0.469625 obtinut n aceast
a a 4-a iteratie, s-au
calculat functiile y1 , y2 si y3 pentru diferite valori ale lui x (pasul h = 0.20), ale c
aror
valori sunt date n tabelul 9.7.
Din tabelul 9.7 se observ
a variatia lent
a a functiilor y2 si y3 pentru x 3, ceea ce
justific
a oprirea calculului la x = 6 (n loc de x ). Cresterea usoar
a a functiei y2
peste valoarea 1 de la x = 5.4 la x = 6.0, sugereaz
a o eventual
a necesitate de crestere
a preciziei. Astfel, s-a mai efectuat o iteratie (a cincea) pentru obtinerea unei valori
mai precise pentru . Din tabelul 9.6 se obtine valoarea y3 (0) = 0.469604 ( = 105 .
Cu aceast
a valoare mbun
at
atit
a rezult
a y2 (5.6) = 0.9999926 si y2 (6.0) = 1.000005,
precizie care poate fi considerat
a cu totul satisf
ac
atoare.
260
9. Rezolvarea ecuat
iilor diferent
iale
-1
0.8
22
C2
-61
-42
27
h = 0.1
RKG
-4
-6
-6
-1
64
Adams P
-30
-5
13
25
C1
11
22
23
38
C2
7
10
2
51
M ilne P
-4
-36
-20
-2
25
C1
0.4
5
7
38
extrapolare
-0.9
4
7
38
-0.09
0.3
0.5
38
C2
-1
-0.2
-1.3
51
h = 0.05
RKG
-0.3
-0.4
-0.3
0.03
128
Adams P
-1
-0.1
0.6
0.7
41
C1
0.3
1
1
0.8
70
C2
0.3
0.8
0.8
0.03
99
M ilne P
-1
-0.9
-0.3
0.1
41
C1
-0.03
0.2
0.3
0.3
70
extrapolare
-0.08
0.1
0.1
0.3
70
-0.01
0.01
0.02
0.02
70
C2
-0.05
0.08
0.09
-0.05
99
9.7. Sisteme cu sc
ari disparate
Iter
0
1
2
3
4
5
1
0.20
0.20
0.20
0.20
0.20
0.20
x
0.0
0.6
1.2
1.8
2.4
3.0
3.6
4.2
4.8
5.4
6.0
261
Tabelul 9.6:
2
0.600000
0.483939
0.471284
0.469800
0.469625
0.469604
Tabelul 9.7:
y1
0.0
0.084392
0.333678
0.728912
1.231590
1.795654
2.385699
2.983684
3.583403
4.183392
1.783410
Exemplul 2
U (1 )
-0.434162
-0.434162
-0.434162
-0.434162
-0.434162
-0.434162
U (2 )
0.177466
0.020252
0.002388
2.8267104
3.3475105
3.9646106
Functiile y1 , y2 , y3
y2
0.0
0.280590
0.545273
0.761092
0.901101
0.969088
0.992919
0.998850
0.999893
1.000022
1.000034
y3
0.469625
0.461758
0.410585
0.300455
0.167563
0.067715
0.019338
0.003870
0.000543
0.000054
3.7475106
262
9. Rezolvarea ecuat
iilor diferent
iale
263
Capitolul 10
Ecuatii diferentiale cu
derivate partiale
264
10. Ecuat
ii diferent
iale cu derivate part
iale
10.1
Ai (x1 , . . . , xn , u)
u
= B(x1 , . . . , xn , u) ,
xi
(10.1)
(10.2)
(10.4)
265
(10.5)
(10.6)
dxn
dx1
= ... =
,
A1 (x1 , . . . , xn , u0 )
An (x1 , . . . , xn , u0 )
(10.7)
amp ale
u0 fiind data de conditia initiala (10.3). Din (10.7) se obtin liniile de c
unui vector de componente Ai , i 1, n pe care u = const.
Scheme explicite.
O prima etapa n rezolvarea numeric
a a unei ecuatii cu derivate partiale o constituie discretizarea, care consta pe de o parte n divizarea domeniului cu ajutorul unei retele de calcul, iar pe de alt
a parte n nlocuirea ecuatiei cu derivate
partiale cu o ecuatie mai simpla. Exist
a mai multe metode pentru nlocuirea
ecuatiei cu derivate partiale: metode cu diferente finite, metode cu volume finite, metode cu elemente finite, metode spectrale. In acest capitol, vom prezenta
elementele de baza pentru rezolvarea numeric
a a ecuatiilor cu derivate partiale
folosind metode cu diferente finite.
Consideram ecuatia unidimensional
a a propag
arii undelor
u
u
+a
= 0, x [0, 1], t [0, T ] ,
t
x
(10.8)
(10.9)
266
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.10)
u(xi , tn+1 )
u(xi , tn )
+ O(h2 ),
x
u(xi , tn )
u(xi , tn ) + k
+ O(k 2 ) ,
t
u(xi , tn ) h
(10.11)
+ O(h),
+ O(k) .
=
= i
x
x i
h
t i
k
(10.12)
Neglijand termenii O(k) si O(h), rezult
a ecuatia n diferente finite
n
vin+1 = vin + c(vi1
vin ), i 1, I, n 0, N ,
(10.13)
267
(10.14)
(10.15)
Dupa cum am vazut din exemplul precedent, folosirea unei retele foarte
fine (altfel spus, norma retelei este foarte mic
a) nu este ntotdeauna suficient
a.
1 Dup
a
268
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.16)
(10.17)
n
vin+1 = vin + c(vin vi+1
).
(10.19)
Utilizand schema (10.19) pentru rezolvarea ecuatiei (10.14), valorile vin+1 pentru
toate momentele de timp r
am
an egale cu valorile initiale vi0 , deoarece schema
anga la dreapta, ci numai de
(10.19) nu permite propagarea informatiei de la st
la dreapta la stanga. Schema (10.19) ar putea fi folosit
a n cazul c < 0, caz n
care schema (10.12) nu mai este adecvat
a.
Putem ncerca o aproximare mai bun
a pentru derivata spatial
a folosind diferente centrate
n
un uni1
u
+ O(h2 ) ,
(10.20)
= i+1
x i
2h
obtinandu-se
n
n
vin+1 = vin + (c/2)(vi1
vi+1
),
(10.21)
269
Figura 10.3: Rezultate obtinute pentru ecuatia (10.14), cu schemele explicite (10.21)
si (10.22) pentru t = 0.5.
schema care este instabila pentru orice valoare a num
arului Courant c. Observam cum un ordin mai mare n aproximarea derivatelor partiale, nu nseamn
a
neap
arat precizie mai bun
a.
O schema explicita des ntalnit
a este schema Lax-Wendroff dat
a de
n
n
+ 2c (1 + c)vi1
,
vin+1 = (1 c2 )vin 2c (1 c)vi+1
(10.22)
Scheme implicite.
Convergenta conditionata este o caracteristic
a a schemelor explicite si impune
adeseori pasi de timp foarte mici. Pentru a evita acest neajuns, se folosesc
schemele implicite, n care derivatele spatiale se aproximeaz
a folosind valorile
aproximative vi nu la momentul n, ci la momentul n + 1,
n+1
n+1
un+1
u
i+1 ui
+ O(h) .
(10.23)
=
x i
h
270
10. Ecuat
ii diferent
iale cu derivate part
iale
Figura 10.4: Rezultate obtinute pentru ecuatia (10.14), cu schemele implicite (10.24)
si (10.25) pentru t = 0.5.
Se obtin ecuatiile cu diferente finite
n+1
vin+1 = (cvi1
+ vin )/(1 + c), i = 1, 2, . . . .
(10.24)
a.
Schema (10.24) este neconditionat convergent
O alta schema implicit
a este cea atribuit
a lui Wendroff, dat
a de relatia
n
vin+1 = vi1
+
1c n
1+c (vi
n
vi1
),
(10.25)
10.2
Ai
2u X
u
+C =0 ,
+
Bi
x2i
x
i
i=1
(10.26)
271
2u 2u 2u
+ 2 + 2 =0.
x2
y
z
(10.27)
u 2 u
u
= F (x1 , . . . , xn , u,
,
), i 1, n, i6=j ,
xj
xi x2i
(10.28)
(10.29)
t fiind timpul. Ecuatia (10.29) n trei variabile independente (x, y, t) este, n general, mai usor de rezolvat numeric dec
at ecuatia (10.27) n variabilele (x, y, z).
In cazul ecuatiei de tip hiperbolic, exist
a puncte care nu se pot influenta
reciproc. Un exemplu l reprezint
a misc
arile supersonice, unde perturbatiile
mici sunt limitate la interiorul unui con, denumit con Mach. Prin urmare, n
rezolvarea numerica trebuie evitat
a comunicarea numeric
a a nodurilor care nu
comunica fizic ntre ele. Un exemplu tipic de ecuatie de tip hiperbolic este
ecuatia undelor
2u
2u
= a2 2 ,
2
t
x
(10.30)
272
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.31)
f
a
b
c
uxx
dx dy 0 uxy = d(ux ) .
uyy
d(uy )
0 dx dy
(10.32)
(10.33)
(10.34)
273
10.2.1
Vom considera cea mai simpla ecuatie de tip parabolic sub forma
2u
u
.
=
t
x2
(10.35)
(10.36)
(10.37)
274
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.38)
t
x
2
Variabila adimensionalizat
a pentru timp este sugerat
a de coeficientul derivatei u/t .
Folosirea unei variabile adimensionale pentru timp este posibil
a numai dac
a cp / =
const.
t = t/[(cp /)L2 ] .
(10.40)
(10.41)
(10.42)
(10.43)
(10.44)
275
(10.45)
(10.46)
(10.47)
Se observa ca pentru calculul valorii vin+1 sunt necesare trei valori la momenn
n
tul n: vi1
, vin si vi+1
. Pentru n = 0, aceste valori sunt cunoscute din conditiile
(10.48)
In acest fel, calculul poate continua pas cu pas n directia axei timpului.
Relatia (10.46) este explicita deoarece sistemul de I + 1 ecuatii care se obtine
pentru i 0, I este practic rezolvat. R
am
ane de studiat problema convergentei
metodei explicite (definitia convergentei a fost dat
a la 41).
In cazul de fata, trebuie studiat
a comportarea solutiei dat
a de schema explicita (10.45) sau (10.46) cu conditiile la limite si initiale (10.48).
3 Aproximarea se face cu ajutorul dezvolt
arii n serie Taylor, dup
a cum se va vedea n
continuare c
and se va analiza convergenta schemei.
276
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.49)
arilor n serie
Derivatele partiale din (10.49) se vor exprima cu ajutorul dezvolt
Taylor ale valorilor functiei u(x, t) n puncte vecine. Astfel,
n
n
3
2
n
uni1 = uni h (u/x)i + h2 2 u/x2 i h6 3 u/x3 i +
n
n
(10.50)
4
h5
+ h24 4 u/x4 i 120
5 u/x5 i + O(h6 ) ,
n
un+1
= uni + k (u/t)i +
i
k2
2
2 u/t2
n
i
+ O(k 3 ) ,
(10.51)
de unde rezulta
n
n
(u/t)i = k1 (un+1
uni ) k2 2 u/t2 i + O(k 2 ) ,
i
n
n
2
2 u/x2 i = h12 (uni1 2uni + uni+1 ) h12 4 u/x4 i + O(h4 ) .
(10.52)
(10.53)
(10.54)
a de (10.44)
Scazand relatiile (10.53) si (10.46), se obtine pentru eroarea w definit
n
n
win+1 = wi1
+ (1 2)win + wi+1
+ zin .
(10.55)
Conditia de convergent
a a schemei cu diferente, se poate formula sub forma
win 0, c
and I, N .
(10.56)
ari comportarea
Pentru a stabili n ce conditii se realizeaz
a (10.56), vom urm
modulelor erorilor maxime. Din (10.56) se obtine pentru > 0
n+1
n
n
w
wi1
+ |1 2| |win | + wi+1
+ |zin | .
(10.57)
i
arat
a pentru orice i,
Notam cu wn = max |win |. Inegalitatea (10.57) fiind adev
i
277
(10.59)
(10.60)
N
1
X
n=0
z n w0 + N zmax = w0 + T
zmax
,
k
(10.61)
(10.62)
adica metoda explicita cu diferente finite converge, cu conditia (10.59). Convergenta conditionat
a este o situatie general nt
alnit
a la metodele explicite si
conduce la cresterea volumului de calcul pentru obtinerea unei precizii corespunzatoare. Spre exemplu, pentru h = 0.01, sunt necesari cel putin 5000 de
pasi pentru T = 1 (k 5 105 ). In acelasi timp, este interesant de observat
c
a, pentru k fixat, micsorarea pasului h dup
a directia x, poate duce la rezutate
eronate daca nu se respecta conditia 1/2.
a d
am o explicatie calitativ
a a fenomeUrmarind (figura 10.6), vom ncerca s
nului de convergent
a conditionat
a pentru schemele explicite. Astfel, cunosc
and
valorile functiei u pe linia AB, se pot calcula valorile aproximative vin pentru punctele din interiorul triunghiului ABP , f
ar
a a utiliza valorile impuse de
conditiile la limite. Altfel spus, punctul P primeste influent
a (n procesul numeric de calcul) numai de la punctele din interiorul triunghiului ABP , fapt ce
ar corespunde fizic unei ecuatii de tip hiperbolic si nu parabolic. O schem
a cu
diferente 100% parabolica ar trebui s
a nu poat
a determina valoarea functiei u
ntr-un punct de pe linia CD fara ca valorile din punctele C si D s
a fie luate n
calcul. O astfel de comportare o au schemele implicite care vor fi prezentate n
continuare.
Un aspect interesant al schemelor cu diferente finite l constituie schemele
optimale. Acestea constau n alegerea parametrului retelei astfel nc
at eroarea
de trunchiere sa fie cat mai mica. Pentru exemplificare, vom considera schema
explicita (10.46),
un+1
= uni1 + (1 2)uni + uni+1 + zin ,
i
(10.63)
278
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.64)
(10.65)
(10.67)
(10.68)
1
cu v (1) = (v11 , v21 , . . . , vI1
)T , xi = ih,
(1 + 2)
(1
+
2)
A=
.
..
..
.
...
...
..
.
..
..
0
0
0
(1 + 2)
(10.69)
(10.70)
279
k h2
Rezolv
a sistemul Lz = b
Factorizare A = L R
z1 v1n v0n+1
r1 (1 + 2)
i = 2 : (I 2)
i = 2 : (I 1)
li /ri1
n
zI1 vi1
vIn+1
ri r1 li
i = 0 : I
Rezolv
a sistemul Rv = z
0
n+1
vi f (ih)
v
z
I1 /rI1
I1
n=
: (T /k)
i = (I 2) : 1
0 n+1
n+1
v0 g0 ((n + 1)k)
n+1
vi
(zi vi+1
)/ri .
n+1
vI
g1 ((n + 1)k)
(10.71)
Deoarece matricea este diagonal dominant
a (1 + 2 > 2), sistemul poate
fi rezolvat si prin metode iterative (s.e. prin metoda Gauss-Seidel). Valorile
functiei la momentul n = 1, v (1) , sunt utilizate pentru calculul valorilor v (2) de
la momentul n = 2, s.a.m.d. Schema implicit
a (10.67) converge neconditionat
(se va demonstra mai jos), adica indiferent de valorile parametrului retelei .
Aceasta independenta a convergentei de parametrul retelei este o proprietate
comuna a schemelor implicite.
Precizia schemelor implicite se poate mbun
at
ati folosind combinatii ale valorilor functiei luate la momentele n si n + 1. Not
and cu (0, 1) un coeficientpondere, se scrie
n+1
n+1
n
n
(vin+1 vin )/k = [(1 )(vi1
2vin + vi+1
) + (vi1
2vin+1 + vi+1
)]/h2 .
(10.72)
(10.73)
280
10. Ecuat
ii diferent
iale cu derivate part
iale
Convergent
a, consistent
a, stabilitate.
S-a definit anterior convergenta schemelor cu diferente finite prin conditia ca
solutia aproximativa v s
a se apropie oric
at de mult de solutia exact
a u, atunci
cand norma diviziunii tinde la zero (k 0, h 0).
Deoarece convergenta unei scheme cu diferente este mai greu de demostrat,
se definesc si alte propriet
ati mai slabe ale schemei, care se pot verifica mai usor,
fiecare n parte, iar mpreun
a pot asigura convergenta. Astfel de propriet
ati,
mai slabe, sunt consistenta si stabilitatea.
Definitie. O schema cu diferente finite este consistent
a (cu ecuatia cu derivate
partiale pe care o aproximeaz
a) dac
a tinde spre ecuatia exact
a atunci c
and
norma diviziunii tinde la zero (k 0, h 0).
De obicei schemele provenite din aproxim
arile derivatelor prin diferente finite, avand erorile de discretizare O(hp + k m ), p, m N+ sunt consistente.
Exista nsa si combinatii mai putin ortodoxe care conduc la erori de discretizare de ordine de m
arime care depind de rapoarte ale pasilor, spre exemplu
O(hp /k m ), p, m N+ . In acest caz, eroarea de discretizare nu tinde neap
arat
la zero odata cu norma retelei, ci poate avea valori finite.
Exemplu. Consider
am schema de discretizare a ecuatiei c
aldurii sub forma
n
n
)/h2 ,
vin1 vin+1 + vi+1
(vin+1 vin1 )/2k = (vi1
(10.74)
vin
a fost scris
a ca medie aritmetic
a a valorilor
n care valoarea aproximativ
a a functiei
am
vin1 si vin+1 , 2vin = vin1 + vin+1 . Pentru a stabili eroarea de trunchiere, dezvolt
n serie Taylor functia u n jurul punctului (i, n)
n
un
i1 = ui hux +
n1
= un
ui
i kut +
3
4
h2
u h6 uxxx + h24 uxxxx
2 xx
3
k2
u k6 uttt + O(k4 ) .
2 tt
h5
u
120 xxxxx
+ O(h6 )
a
si uin+1 , rezult
Adun
and si sc
az
and relatiile pentru un1
i
n1
k2 utt + O(k4 ), ut =
+ un+1
2un
i = ui
i
1
(un+1
i
2k
)+
un1
i
k2
u
6 ttt
+ O(k4 ) .
1
(un
i1
h2
+ un
un+1
un1
i+1 )
i
i
h2
u
12 xxxx
k2
u
h2 tt
+ O( hk2 ) + O(h4 ) ,
281
(10.75)
w = (t)ejx , R, j = 1 ,
unde (t) este amplitudinea, iar R num
arul de und
a al perturbatiei. Deoarece sursa perturbatiilor n calculul numeric o constituie erorile de calcul s-a
p
astrat notatia w. Prin urmare, n (10.67) se face nlocuirea
vin vin + win ; win = n ejxi .
(10.76)
(10.77)
(10.78)
Rezult
a conditia
| n+1 / n | = |ejh + (1 2) + ejh | = |2(cos h 1) + 1| 1,
sau
|4 sin 2 h/2 1| 1 1/2.
Conditia de convergent
a 1/2 a schemei explicite (10.46) este necesar
a deci asigur
arii stabilit
atii.
282
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.79)
(10.80)
Vom considera cazul unei retele rectangulare (figura 10.7), unde pentru simplitate consideram pasii de discretizare spatial egali, hx = hy = h
x = i h, y = j h, t = n k, i 1, I, j 1, J, n 1, N .
(10.81)
(10.82)
(10.83)
283
u
u
u
k
n+1
n
+ 2
+ 2
vi,j
vi,j
+
,
(10.84)
=
2
x2
y i,j
x2
y i,j
obtinandu-se
n+1
n
vi,j
vi,j
n
n
n
n
n
n
(v
2vi,j
+ vi1,j
+ vi,j+1
2vi,j
+ vi,j1
+
2 i+1,j
n+1
n+1
n+1
n+1
n+1
n+1
vi+1,j 2vi,j + vi1,j + vi,j+1 2vi,j + vi,j1 ) (10.85)
.
= (un+1
i+1,j 2 ui,j + ui1,j )/h
x2 i,j
si o formul
a explicita pentru derivata spatial
a 2 u/y 2
n
2 u n
= (ui,j+1 2 uni,j + uni,j1 )/h2 .
y 2 i,j
(10.86)
(10.87)
atea
Pentru fiecare j 1, J, se obtine un sistem de I 1 ecuatii liniare5 cu tot at
necunoscute
n+1
n+1
n+1
n
n
n
vi1,j
+ (1 + 2)vi,j
vi+1,j
= vi,j1
+ (1 2)vi,j
+ vi,j+1
.
(10.88)
4 Nu orice schem
a implicit
a duce la aparitia unui sistem cu matrice tridiagonal
a, ci numai
cele la care diferentele finite pentru aproximarea derivatei spatiale folosesc numai trei puncte
al
aturate la momentul de timp n + 1.
5 Num
arul de puncte pe o dreapt
a y = const este I + 1, punctele de pe frontier
a fiind date
prin conditiile la limite.
284
10. Ecuat
ii diferent
iale cu derivate part
iale
n+1
Pentru determinarea valorilor vi,j
, trebuie rezolvate J 1 astfel de sisteme
(vezi figura 10.7). Efortul de calcul este sensibil mai mic la rezolvarea a J 1
sisteme tridiagonale de c
ate I 1 ecuatii dec
at pentru rezolvarea unui singur
sistem de (I 1)(J 1) ecuatii cu tot at
atea necunoscute.
La pasul urmator este recomandat s
a folosim o formul
a explicit
a pentru
aproximarea derivatei spatiale 2 u/x2 si o formul
a implicit
a pentru derivata
spatiala 2 u/y 2 , obtin
and
n+2
n+2
n+2
n+1
n+1
n+1
vi,j1
+ (1 + 2)vi,j
vi,j+1
= vi1,j
+ (1 2)vi,j
+ vi+1,j
.
(10.89)
(10.90)
(10.91)
(10.92)
(10.93)
285
p
an
a cand |(vin+1 )m+1 (vin+1 )m | < . Pentru m = 0, (vin+1 )0 se obtine
rezolvand ecuatia neliniara
n
n
x2 (vin+1 )0 = (fin+1 )0 fin f [ih, nt, vin , ((vin+1 )0 vin )/k, (vi+1
vi1
)/2h] .
(10.94)
a. Dup
a cum se observ
a, la
Dac
a sirul (10.93) converge, convergenta este liniar
fiecare iteratie m trebuie rezolvat un sistem tridiagonal de ecuatii liniare.
O alta modalitate de liniarizare a sistemului neliniar (10.91) o constituie
metoda Newton. Termenul din dreapta egalit
atii (10.90) se poate dezvolta n
serie Taylor ca o functie de mai multe variabile, p
astr
and numai termenii de
ordinul ntai
f (x, t, um+1 , um+1
, um+1
)
t
x
f (z m )
u
m
f (z m )
m+1
m f (z )
+ (um+1
,
+(ut
ut )
um
x
x )
ut
ux
f (z m ) + (um+1 um )
m
unde z m (x, t, um , um
a un sistem tridiagonal de forma
t , ux ). Rezult
n+1 m+1
n+1 m+1
ai (vi1
)
bi (vin+1 )m+1 + ci (vi+1
)
= di , i 1, I 1 ,
(10.95)
unde
m
(z )
f (z )
1 f (z )
2
1 f (z )
ai = h12 + 2h
+ k1 fu
, ci = h12 2h
ux m, bi = h2 +
u
ux ,
t m
m
f (z )
1 f (z ) m
1 f (z ) m
m
m
di = f (z ) ( u + k ut )vi,n+1 2h ux (vi+1,n+1 vi1,n+1 ) .
(10.96)
,
(10.97)
=
x2 i
h x i+1/2
x i1/2
).
(10.98)
= (vi+1 vi ),
= (vin+1 vi1
x i+1/2
h
x i+1/2
h
286
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.99)
a dac
a efectueaz
a calculele de la frontiera din st
anga
Formula (10.99) este explicit
la cea din dreapta pentru toti pasii de timp n = 1, 2, 3, . . . . In mod analog,
ine
daca n (10.97) se nlocuieste (u/x)ni+1/2 cu (u/x)n+1
i+1/2 , se obt
n+1
n
(1 + )vin+1 = vin + (vi+1
vin + vi1
).
(10.100)
a dac
a efectueaz
a calculele de la frontiera din
Formula (10.100) este explicit
dreapta la cea din stanga pentru toti pasii de timp n = 1, 2, 3, . . . . Se recomand
a
folosirea alternativa a formulelor (10.99) si (10.100).
Exemplu. In figura 10.8 sunt prezentate rezultatele obtinute folosind schema
explicit
a (10.46) pentru ecuatia adimensionalizat
a a c
aldurii
u/t = 2 u/x2 , u(x, 0) = 4x(1 x), u(0, t) = u(1, t) = 0,
pentru dou
a momente de timp diferite si trei valori ale parametrului retelei. Pasul h
s-a mentinut constant la valoarea h = 0.1. Se observ
a instabilitatea schemei explicite
pentru = 0.55. Rezultatele cele mai bune s-au obtinut pentru = 0.1, datorit
a
faptului c
a n acest caz pasul de timp este cel mai mic si deci eroarea de trunchiere
este cea mai mic
a.
In figura 10.9 sunt date rezultatele obtinute cu schema implicit
a (10.67) si cu
schema Saulyev. Se observ
a cum ambele scheme sunt stabile si pentru = 2 (ele
sunt de altfel neconditionat stabile). De aceast
a dat
a pasul de timp k s-a mentinut
constant la valoarea k = 0.001, modificarea parametrului retelei fac
andu-se prin
ndesirea retelei pe directia x. Se observ
a de asemenea cum rezultate mai bune se
287
Figura 10.9: Ecuatia caldurii rezolvata cu schema implicita Saulyev (10.99), (10.100).
obtin pentru = 0.1, desi = 2, implic
a acelasi pas de timp si o retea spatial
a mai
fin
a. Pentru a explica acest lucru, s
a consider
am eroarea de trunchiere a schemei
explicite (10.67) care are aceeasi form
a cu (10.54). T
in
and cont de faptul c
a k = h2
obtinem
3
4
4 n
zin = (k2 /2)[( 2 u/t2 )n
i ( u/x )i ] + O(k ) .
(10.101)
Pentru ecuatia c
aldurii avem 2 u/t2 = 4 u/x4 . Putem considera ( 2 u/t2 )n
i =
4
4 n
at ecuatia (10.101) se scrie
( u/x )i pentru ecuatia cu diferente finite, astfel nc
3
zin = (k2 /2)( 2 u/t2 )n
i [1 1/(6)] + O(k ) .
(10.102)
10.2.2
Pentru studiul solutiilor numerice ale ecuatiilor cu derivate partiale de tip eliptic,
vom lua ca model ecuatia lui Poisson
2u 2u
+ 2 = (x, y) .
x2
y
(10.103)
288
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.104)
(10.107)
(10.108)
289
(10.110)
At
at pentru ecuatia Poisson c
at si Laplace, dup
a ce se aproximeaza cu
diferente finite, rezulta un sistem de (N 1)2 ecuatii cu (N 1)2 necunoscute. Ecuatiile care alcatuiesc sistemul sunt liniare dac
a provin din discretizarea
unei ecuatii cu derivate partiale liniare. In cazul ecuatiilor cu derivate partiale
neliniare, prin discretizare se obtine un sistem de ecuatii algebrice neliniare.
Pentru rezolvarea sistemului de ecuatii liniare (10.109) scris matriceal
Av = b
(10.111)
290
10. Ecuat
ii diferent
iale cu derivate part
iale
vi,j
(k)
(k)
(k)
(k)
(10.112)
(k+1)
astrate
valori de la iteratia anterioar
a. In consecint
a, valorile vi,j trebuie p
pana cand noile valori sunt calculate n totalitate, ceea ce poate constitui un
dezavantaj.
(b) Metoda Gauss-Seidel. Relatia (10.109) se aplic
a n forma
(k+1)
vi,j
(k)
(k+1)
(k+1)
(k)
(10.113)
vi,j
(k)
(k+1)
vi,j
= vi,j + [
(k)
(k)
(k+1)
vi,j
vi,j ] = (1 )vi,j +
(10.114)
(k+1)
reprezint
a valoarea calculat
a la iteratia k + 1, folosind de exemplu
unde vi,j
metoda Gauss-Seidel.
(d) Metoda gradientului. Fie functia
U (v) = v T Av 2bT v ,
(10.115)
291
pe
Dup
a cum am vazut, metodele iterative punctuale calculeaz
a valoarea vi,j
baza unei formule explicite, n care toti termenii din dreapta semnului egal sunt
considerati cunoscuti. Pentru a ntelege mai bine principiul metodelor iterative
n bloc, consideram metoda Gauss-Seidel, pentru care rescriem relatia (10.113)
n forma
(k+1)
vi,j
(k+1)
(k)
(k+1)
(k+1)
(10.116)
(k+1)
vi1,j + 4vi,j
(k+1)
(k+1)
(k)
(10.117)
vi,j
(k+2)
(k+2)
(k+2)
(k+1)
(10.118)
(k+2)
vi,j1 + 4vi,j
(k+2)
(k+2)
(k+1)
(10.119)
O alta metod
a iterativa n bloc este metoda directiilor alternante prezentat
a
anterior la paragraful 43. Derivatele partiale din ecuatia Laplace uxx + uyy = 0
292
10. Ecuat
ii diferent
iale cu derivate part
iale
(k+1)
(vi1,j 2vi,j
(k)
(k)
(k)
(k+1)
(10.120)
(k+1)
(vi1,j 2vi,j
(k)
(k)
(k+1)
(k)
vi,j
(k)
(k+1)
(k+1)
(k+1)
(k)
(k)
(k)
sau
(k+1)
(k+1)
14 vi1,j + 23 vi,j
(k+1)
(k)
(k)
(k)
(10.121)
(k+2)
14 vi,j1 + 23 vi,j
(k+2)
(k+1)
(k+1)
(k+1)
+ 41 vi+1,j .
(10.122)
293
(10.123)
(10.124)
Combinand primele relatii din (10.123) si (10.124) ntre ele, iar apoi si ultimele,
se obtine
2
(10.125)
(10.126)
, u 1 NE .
u1
a b
1+a 1+b
2
a(1 + a) b(1 + b)
(10.127)
a c
a derivatele de ordinul 2 se calculeaz
a n
Din relatiile (10.125), se observ
punctele de categoria NE cu precizia O(h), fat
a de O(h2 ) n relatiile (10.107).
Ca urmare, eroarea de discretizare n (10.127) este mai mare. Acest aspect
294
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.128)
(10.130)
(10.131)
A
A
A
(10.133)
295
Jacobi
121
GS
68
= 1.2
48
= 1.4
31
= 1.5
23
= 1.6
22
= 1.8
42
Se observ
a superioritatea metodei supra-relax
arilor succesive fat
a de celelalte metode
pentru [1.2, 1.8], precum si existenta unui minim pentru = 1.6, minim care
depinde n general de ecuatia care se rezolv
a. Pentru = 1 se reg
aseste metoda
Gauss-Seidel, iar pentru = 2 metoda nu converge.
10.2.3
Pentru studiul solutiilor numerice ale ecuatiilor cu derivate partiale de tip hiperbolic, vom lua ca model ecuatia undelor
2u 2u
=0,
t2
x2
a c
arei solutie generala este de forma
u(x, t) = f (x + t) + g(x t) ,
(10.134)
(10.135)
296
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.136)
caz n care functiile f si g din (10.134) sunt chiar cele date de (10.136),
sau
(b) conditii initiale si conditii la limite
u(x, 0) = f (x), u/t(x, 0) = g(x), 0 < x < 1 ,
u(0, t) = h0 (t), u(1, t) = h1 (t) .
(10.137)
(10.138)
Cele doua caracteristici care trec printr-un punct P (x0 , t0 ) (figura 10.15) taie
axa Ox n punctele A si B. Valoarea solutiei n punctul P , depinde numai
de valorile din interiorul triunghiul P AB. Segmentul AB se numeste domeniu
(interval) de dependent
a. Pe de alt
a parte, prin punctul Q(x0 , 0) de pe axa Ox,
trec cele doua caracteristici de ecuatii x + t = x0 si x t = x0 care reprezint
a
domeniul de influent
a al punctului Q, adic
a acea parte a domeniului care este
influentata de valoarea solutiei din punctul Q.
O problema important
a const
a n stabilirea conditiilor n care solutia ecuatiei
a si este unic
a. Altfel spus, se pune
(10.134) cu (10.136) sau (10.137) exist
problema stabilirii valorilor ce trebuie date pe frontierele domeniului de calcul
pentru ca solutia sa existe si s
a fie unic
a.
Pentru ecuatia de ordinul al doilea (10.31), se disting trei cazuri la care se
poate demonstra ca solutia exist
a si este unic
a (figura 10.16):
297
10.2.4
Metoda caracteristicilor
298
10. Ecuat
ii diferent
iale cu derivate part
iale
(10.140)
p
dy
1
=
[b b2 4ac] .
dx
2a
(10.141)
299
dou
a puncte considerate n calcul. Se obtin relatiile
(yR yP )/(xR xP ) = (m1R + m1P )/2
(yR yQ )/(xR xQ ) = (m2R + m2Q )/2
(aR m1R + aP m1P )(uxR uxP )/2 + (cR + cP )(uyR uyP )/2
(fR + fP )(yR yP )/2 = 0
(aR m2R + aQ m2Q )(uxR uxQ )/2 + (cR + cQ )(uyR uyQ )/2
(fR + fQ )(yR yQ )/2 = 0
(10.142)
(10.143)
Se scrie
uR uP = (uxR + uxP )(xR xP )/2 + (uyR + uyP )(yR yP )/2
uR uQ = (uxR + uxQ )(xR xQ )/2 + (uyR + uyQ )(yR yQ )/2 .
(10.144)
(10.145)
Procedeul se repeta pentru calculul valorilor solutiei n celelalte puncte ale retelei
de curbe caracteristice (punctele T , S, etc.). Oberv
am cum n cazul folosirii
celei mai simple metode de rezolvare a sistemului de ecuatii diferentiale, pentru
fiecare punct al retelei de calcul se rezolv
a un sistem de ecuatii liniare.
Metoda hibrid Hartree.
In cazul unei ecuatii hiperbolice de ordinul al doilea cu dou
a variabile independente dintre care una este timpul, se poate cere solutia u la momente de timp
specificate. Metoda caracteristicilor aplicat
a direct nu poate asigura acest lucru, astfel ca se foloseste o metod
a hibrid ntre o metod
a cu diferente finite si
metoda caracteriticilor. Aceasta metod
a const
a n folosirea unei retele de discretizare fixate nainte de determinarea solutiei (figura 10.18), cu pasul h pentru
Ox si k pentru Ot. Presupunem c
a s-au efectuat calculele p
an
a la momentul de
timp t = n k si trebuie sa calculam solutia pentru momentul de timp urm
ator.
Valorile u, ux , uy sunt calculate deci n nodurile retelei p
an
a la linia n. Caracteristicile care trec prin punctul R intersecteaz
a linia n n punctele P si Q.
Valorile u, ux , uy se pot determina prin interpolare folosind valorile din nodurile
de pe linia n (B, A, D). Folosind metoda Euler pentru rezolvarea sistemului de
ecuatii diferentiale ordinare ce rezult
a pe directiile caracteristice RP si RQ, se
obtine acelasi sistem neliniar (10.142) si (10.144), necunoscutele fiind de data
aceasta uR , uxR , uyR , xP si xQ , deoarece xR , yR , yP si yQ sunt cunoscute.
300
10. Ecuat
ii diferent
iale cu derivate part
iale
10.2.5
Pentru ecuatiile hiperbolice de ordinul al doilea, metoda caracteristicilor reprezinta varianta cea mai convenabil
a si precis
a de rezolvare numeric
a. Unul
dintre avantajele majore ale metodei caracteristicilor fat
a de metodele bazate
pe scheme cu diferente finite const
a n faptul c
a discontinuit
atile care exist
a
eventual n conditiile initiale se propag
a de-a lungul directiilor caracteristice.
In cazul n care ecuatiile nu sunt foarte complicate iar solutiile nu prezint
a
discontinuitati, se pot folosi metode cu diferente finite. Alegerea unei scheme
explicite sau implicite depinde esential de tipul problemei: numai cu conditii
initiale sau cu conditii initiale si la limit
a.
Scheme explicite.
Vom considera problema cu conditii initiale
uxx = utt ,
u(x, 0) = f (x),
ut (x, 0) = g(x) .
(10.146)
(10.147)
Rezulta
n
n
vin+1 = m2 (vi1
+ vi+1
) + 2(1 m2 )vin vin1 , unde m = k/h .
(10.148)
Pentru n = 0, avem date valorile vi0 = f (ih). In relatia (10.148) apar si valorile
vi,1 , care se calculeaza cu ajutorul celei de a doua conditii initiale (10.146). Se
aproximeaza derivata n raport cu timpul ut u/t folosind diferente centrate
0
0
g(ih) gi = ut |i u/t|i
= (vi1 vi1 )/2k vi1 = vi1 2kgi .
(10.149)
301
(10.150)
en t ejn x ,
(10.151)
n=0
a, actioneaz
a principiul superpozitiei
unde j 1. Ecuatia (10.146) fiind liniar
astfel ca este suficient sa se studieze un singur termen din (10.151). Avem
vin = enk ejih
(10.152)
(10.153)
k
e2k 2(1 2m2 sin 2 h
+1=0 .
2 )e
(10.154)
sau
302
10. Ecuat
ii diferent
iale cu derivate part
iale
2
ek
, unde A = 1 2m2 sin 2 h
(10.155)
1,2 = A
2 , =A 1 .
Se observa ca pentru a avea ek
a
1,2 = 1, este necesar ca 0, adic
2
2
2 h
(1 2m2 sin 2 h
2 ) 1 0, sau 1 1 2m sin 2 1 .
(10.156)
(10.157)
Pentru sin 2 h
inem = 0, ek
ia (10.148) devine
1,2 = 1. Relat
2 = 1, obt
n
n
vin+1 = vi1
+ vi+1
vi,n1 .
(10.158)
ata acest lucru, foSchema (10.158) satisface exact ecuatia (10.146). Pentru a ar
losim dezvoltarea n serie Taylor a functiei u n jurul punctului (ih, nk), obtin
and
2
(10.159)
303
6u
x6 )
+ O(h8 ) .
(10.160)
(10.161)
a.
astfel ncat schema cu diferente (10.158) are eroarea de trunchiere nul
Scheme implicite.
O schema implicita poate fi scrisa n general ca
vin1 2vin + vin+1 = m2 [x2 vin+1 + (1 2)x2 vin + x2 vi,n1 ],
(10.162)
n
n
. In relatia
unde este un parametru de relaxare, iar x2 vin vi1
2vin + vi+1
a ca o medie ponde(10.162), valoarea aproximativa a derivatei utt se calculeaz
rat
a ntre valorile aproximative la momentele de timp n 1, n, n + 1. Se poate
a oricare ar fi parametrul
ar
ata ca pentru 1/4, schema (10.162) este stabil
retelei de calcul m. Pentru = 0, se obtine schema explicit
a (10.148), iar pentru
= 1/2 se obtine schema
n+1
vin+1 2vin + vi+1
= 21 m2 [x2 vin+1 + x2 vi,n1 ] =
n+1
n+1
1 2
= 2 m [(vi+1 2vin+1 + vi1
) + (vi+1,n1 2vi,n1 + vi1,n1 ) .
(10.163)
(10.164)
a a problemei
Pentru rezolvare s-a folosit schema explicit
a (10.148). Solutia analitic
(10.164) este
u(x, t) = cos(nt) sin(nx)
In figura 10.20 sunt reprezentate rezultatele pentru trei valori diferite ale pasului k,
cu m = 1 (k = h). Se observ
a rezultatele foarte bune obtinute pentru k = 0.01, bune
ac
atoare. Sunt
pentru k = 0.05, n timp ce pentru k = 0.1, rezultatele sunt nesatisf
date de asemenea rezultatele obtinute pentru dou
a valori m 6= 1, h = 0.05, k = 0.1,
(m = 2), si h = 0.1, k = 0.01, (m = 0.1). La acelasi pas de timp k = 0.1, pentru
h = 0.05 (m = 2) se obtin rezultate mai slabe dec
at pentru h = 0.1 (m = 1), desi n
a,
primul caz h este mai mic. De altfel, pentru m > 1 schema (10.148) nu este stabil
fiind de asteptat ca pentru valori mai mari n timp rezultatele s
a fie din ce n ce mai
304
10. Ecuat
ii diferent
iale cu derivate part
iale
BIBLIOGRAFIE
MacCracken, D.D., Dorn, S.W., Numerical Methods and Fortran Programming, John Wiley & Sons, New York, 1965.
Mandelbrot, B. The Fractal Geometry of Nature, Freeman, New York, 1982.
Maruster, St., Metode numerice n rezolvarea ecuatiilor nelineare, Editura
Tehnica, Bucuresti, 1981.
Micula, Gh., Functii Spline si Aplicatii, Editura Tehnic
a, Bucuresti, 1978.
Press, W.P., Teukolsky, S.A, Vetterling, W.T., Flannery, B.P., Numerical
Recipes in FORTRAN The Art of Scientific Computing, 2nd Edition, Cambridge University Press, 1995.
Schwartz, H.R., Numerical Analysis of Symmetric Matrices, Prentice Hall
Inc., New York, 1973.
Sima, V., Varga, A., Practica Optimiz
arii Asistat
a de Calculator, 1987.
Stanasila, O., Analiza Matematic
a, Editura Didactic
a si Pedagogic
a, Bucuresti, 1981.
Wolfram, S., Mathematica A System for Doing Mathematics by Computer,
2nd Ed., Addison-Wesley, 1991.