Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE ŞTIINŢE
DEPARTAMENTUL MATEMATICĂ, INFORMATICĂ
ŞI ŞTIINŢELE EDUCAŢIEI
SPECIALIZAREA INFORMATICĂ
FORMA DE ÎNVĂŢĂMÂNT FR
CALCUL NUMERIC
NOTE DE CURS
-1-
CUPRINS
Introducere 4
Capitolul 1
Erorile de calcul numeric 6
1.1. Surse de erori 6
1.2. Propagarea erorilor de calcul 7
1.3. Algoritmi şi complexitate de calcul 9
1.4. Metode de programare 11
Capitolul 2
Rezolvarea numerică a ecuaţiilor şi sistemelor de ecuaţii algebrice neliniare 13
2.1. Introducere 13
2.2. Rezolvarea numerică a ecuaţiilor neliniare 13
1.1. Metoda aproximaţiilor succesive 14
1.2. Metoda Lagrange 15
1.3. Metoda Newton 16
1.4. O teoremă de punct fix 17
22
1.5. Ordinul metodei
1.6. Accelerarea convergenţei 24
1.6.1. Metoda Aitken 24
1.6.2. Metoda Steffensen 26
1.7. Metoda poziţiei false 28
1.8. Principiul dihotomiei 30
2.3. Rezolvarea numerică a sistemelor neliniare 31
3.1. Metoda aproximaţiilor succesive 31
3.2. Metoda Newton 33
2.4. Exerciţii 35
Capitolul 3
Rezolvarea sistemelor algebrice liniare 36
3.1. Introducere 36
3.2. Metode directe 36
3.2.1. Metoda de eliminare a lui Gauss 37
3.1.1. Factorizarea LU 40
3.2.2. Factorizarea Cholesky 42
3.3. Metode iterative 43
3.3.1. Metoda iterativă Jacobi 44
46
3.3.2. Metoda iterativă Gauss-Seidel
3.3.3. Metoda relaxării 48
3.4. Exerciţii 48
Capitolul 4
Rezolvarea numerică a problemelor algebrice de valori şi vectori proprii 50
4.1. Abordarea elementară a subiectului 50
4.2. Aspecte teoretice generale 51
4.2.1. Clase speciale de matrici 51
4.1.1. Punerea corectă a problemei 54
4.3. Metoda lui Jacobi 55
4.4. Probleme de valori proprii generalizate 61
4.5. Exerciţii 62
-2-
Capitolul 5
Aproximarea funcţiilor prin polinoame 63
5.1. Introducere 63
5.2. Aproximarea prin interpolare 63
5.2.1. Interpolarea polinomială Lagrange 64
66
5.1.1. Algoritmul Aitken
5.2.2. Evaluarea restului la interpolarea Lagrange 68
5.2.3. Diferenţe divizate 70
5.2.4. Formula lui Newton de interpolare 71
5.2.5. Diferenţe finite 73
5.2.6. Formule de interpolare pe noduri echidistante 73
5.2.7. Interpolarea polinomială Hermite 75
77
5.2.8. Interpolarea prin funcţii spline
5.3. Aproximarea în sensul celor mai mici pătrate 79
5.3.1. Problema fundamentală a aproximării liniare 79
5.3.2. Teoreme fundamentale 80
5.3.3. Aproximarea discretă în sensul celor mai mici pătrate 81
5.4. Exerciţii 83
Capitolul 6
Rezolvarea ecuaţiilor diferenţiale ordinare de ordinul I 84
6.1. Introducere 84
6.2. Metode 85
6.2.1. Metoda Euler 85
6.2.1. Metoda Euler backward 85
6.3. Generalizări 86
6.3.1. Metode Runge – Kutta 86
6.3.1.1. Metoda clasică Runge – Kutta de ordin 4 86
6.3.1.2. Metode Runge – Kutta explicite 87
6.3.1.3. Metode Runge – Kutta ajustative 87
6.3.1.4. Metode Runge – Kutta implicite 88
6.3.2. Caracteristici 88
6.4. Metode alternative 89
Capitolul 7 Integrarea numerică 91
7.1. Introducere 91
7.2. Integrarea în puncte echidistante 97
7.2.1. Formulele Newton – Cotes 97
7.2.1. Metoda dreptunghiurilor 99
7.2.2. Regula trapezului 100
7.2.3. Metoda Romberg 101
7.2.4. Regula Simpson 102
7.2.5. Metoda ajustativă Simpson 104
7.3. Integrarea în puncte neechidistante 105
7.3.1. Cvadratura gaussiană 105
7.3.1. Cvadratura tanh – sinh 109
7.3.2. Cvadratura Clenshaw – Curtis 110
7.3.3. Cvadratura Fejer 113
7.3.4. Cvadratura ajustativă 113
7.4. Integrarea cu funcţii pondere 115
7.5. Metoda Nystrom 116
7.6. Formula Euler – MacLaurin 116
7.7. T - integrarea 121
Bibliografie 123
-3-
Fişa disciplinei 124
-4-
INTRODUCERE
Ultimele decenii au fost marcate de progresul mijloacelor de calcul.
Asistăm la o competiţie între dezvoltarea tehnologică şi dezvoltarea aplicaţiilor,
în particular, a celor numerice. Tehnica de calcul a devenit accesibilă pentru
categorii tot mai largi de utilizatori. Globalizarea accesului la magistralele
informaţiilor organizate în reţeaua Internet a dat o nouă dimensiune utilizării
calculatoarelor, revoluţionând domenii întregi de activitate.
Obiectul calculului numeric îl reprezintă găsirea unor metode de
aproximare eficientă a soluţiilor problemelor care pot fi exprimate prin modele
matematice, eficienţă ce depinde de precizia cerută pentru rezultate şi de
uşurinţa implementării. Calculul numeric este una dintre disciplinele
matematice ce depinde în cea mai mare măsură de calculatorul numeric.
Drumul parcurs pentru rezolvarea unei probleme dintr-un domeniu
oarecare cu ajutorul calculatorului constă în: stabilirea unui model matematic al
problemei concrete (model ce se poate încadra într-o categorie cum ar fi: o
ecuaţie neliniară, un sistem de ecuaţii liniare sau neliniare), care fiind de multe
ori de natură continuă trebuie discretizat; soluţia problemei discretizate trebuie
să fie consistentă şi stabilă (robustă); modelul discretizat trebuie transpus într-
un algoritm realizabil şi eficient, descris de obicei într-un limbaj de programare
evoluat.
Calculul numeric operând cu mărimi variate presupune folosirea tipului
real a cărui reprezentare în calculator este aproximativă, apărând erori de
rotunjire care se propagă. Deci, o metodă numerică trebuie aleasă ţinând seama
de convergenţă, stabilitate, propagarea erorilor şi de analiza complexităţii
algoritmului asociat.
Pentru parcurgerea şi utilizarea unui asemenea material, cititorul are
nevoie de cunoştinţe de matematică la îndemâna studenţilor care au promovat
primul an de studiu al oricărei facultăţi cu profil tehnic, matematico-informatic
sau economic.
Metodele numerice sunt prezentate în detaliu, prin discutarea aspectelor
de ordin strict matematic şi descrierea algoritmilor cu ajutorul unui limbaj de tip
pseudocod.
Lucrarea „Calcul numeric” are şapte capitole.
Primul capitolul are un caracter eterogen – la început se prezintă sursele
de erori şi propagarea lor, apoi algoritmi şi complexitate de calcul, iar în final,
metode de programare.
Capitolul al doilea are ca obiect rezolvarea numerică a ecuaţiilor şi
sistemelor de ecuaţii algebrice neliniare. Sunt prezentate metode de localizare a
soluţiei, de aproximaţii succesive şi de accelerare a convergenţei pentru ecuaţii
neliniare, precum şi metode numerice de rezolvare a sistemelor algebrice
neliniare.
-5-
Capitolul al treilea este dedicat rezolvării numerice a sistemelor
algebrice liniare. Sunt examinate metode directe bazate pe factorizarea
gaussiană, precum şi metode de aproximare.
În capitolul al patrulea se prezintă metode de tip Jacobi de rezolvare
numerică a problemelor algebrice de valori şi vectori proprii, precum şi
generalizarea lor.
În capitolul al cincilea se prezintă aproximarea funcţiilor prin
interpolare de tip Lagrange, Hermite şi prin funcţii spline, precum şi
aproximarea în sensul celor mai mici pătrate.
În cel de al şaselea capitol sunt prezentate câteva metode numerice de
rezolvare a ecuaţiilor cu derivate parţiale, iar în utimul capitol sunt prezentate
diferite metode pentru integrarea numerică.
-6-
CAPITOLUL 1
Erorile de calcul numeric
Obiectivul capitolului
Însuşirea unor noţiuni referitoare la erorile de calcul numeric, algoritmi şi
complexitate de calcul, metode de programare.
-7-
unde m este un număr real numit mantisă, b 0 ( b 1 ) este baza sistemului de
numeraţie, iar e (întreg) este exponentul.
În forma normalizată, mantisa este cuprinsă în intervalul [b 1 ,1) (
b 1 | m | 1 ).
Excepţia de la această regulă de reprezentare este numărul zero.
Deci, un număr real cu mai multe cifre semnificative este „rotunjit” la
numărul de cifre maxim, lucru care se realizează prin rotunjirea mantisei. Alte
rotunjiri se fac în decursul operaţiilor.
Notând cu x valoarea exactă a numărului şi cu x valoarea calculată
(aproximativă), eroarea absolută e x se defineşte ca
ex x x ,
iar raportul e x / x se numeşte eroare relativă, notată cu x ,
x ex / x .
Fie k numărul de cifre semnificative. Presupunem că b = 10. Atunci, un
număr x se va scrie
x m 10 e n 10 e k , | m |, | n | [0.1,1) ,
unde n conţine cifrele care nu pot incluse în mantisa m.
Rotunjirea se face simetric (de obicei), adică se înlocuieşte
| n | 1 dacă | n | 0.5 , | n | 0 dacă | n | 0.5 .
În acest fel marginea erorii relative este
| n | 10 e k / | m | 10 e 5 10 k .
Erorile cu marginea dată mai sus se fac la introducerea numerelor reale în
memoria calculatorului numeric.
-8-
e x y /( x y ) (e x e y ) /( x y ) x /( x y ) x y /( x y ) y ,
adică o diferenţă ponderată a erorilor introduse la reprezentarea în calculator a
diferenţei. Notăm cu d eroarea introdusă suplimentar la reprezentarea
diferenţei x y . Eroarea relativă totală la scădere, td , va fi
td x /( x y ) x y /( x y ) y d .
2
Fie x , y 0,6665 şi k 4 . Să se calculeze e x y .
3
Avem x 0,6666 , y y , deci
2
0,6666 y y
xx 0.
x 3 0,0001 , y y
x 0,6666
0.6666
x y 0,0001 d 0,6666 d
2 .
0,6666
3
Această eroare relativă a lui x y se propagă în toate calculele
ulterioare.
Propagarea erorilor la înmulţire
Presupunem că se efectuează produsul numerelor
xy ( x e x )( y e y ) x y ye x x e y ,
unde s-a neglijat produsul e x e y considerat ca având un ordin de mărime
suficient de mic. Eroarea la înmulţire este
e xy / x y e x / x e y / y x y .
Deci la înmulţire erorile relative introduse iniţial se adună. Pot apărea noi
erori, deoarece produsul xy poate avea un număr de cifre semnificative mai
mare decât cel admis, necesitând o nouă rotunjire. Notând cu p această nouă
eroare, vom obţine eroarea relativă totală tp la înmulţirea a două numere
tp x y p ,
-9-
Deoarece seria este convergentă, exprimând-o liniar, obţinem
x ex x
x/ y ey .
y x y2
Eroare la împărţire este
ex / y
e ey
x .
x/y x y
Notând cu i noua eroare datorată împărţirii şi cu ti eroarea totală la
împărţirea a două numere obţinem ti x y i .
- 11 -
un algoritm cu funcţia de complexitate n necesită 0.00004 secunde,
un algoritm cu funcţia de complexitate n 5 necesită 1.7 minute,
un algoritm cu funcţia de complexitate n 6 necesită 129 ani (!).
Discuţii finale:
Să se discute despre erorile de calcul numeric, despre algoritmi şi complexitate
de calcul, despre metode de programare.
Tema propusă:
Să se facă o lucrare despre erorile de calcul numeric, despre algoritmi şi
complexitate de calcul, despre metode de programare.
- 13 -
CAPITOLUL 2
Rezolvarea numerică a ecuaţiilor şi sistemelor de
ecuaţii algebrice neliniare
Obiectivul capitolului
Însuşirea unor noţiuni referitoare la metodele Newton, Aitken, Steffensen,
falsei poziţii.
2.1. Introducere
Forma generală a unei ecuaţii (sistem de ecuaţii) algebrice neliniare este:
f ( x) 0
unde f este o funcţie vectorială pe X R n , n 1 , cu n componente:
f ( x ) ( f1 ( x ), f 2 ( x ),..., f n ( x ))T , iar x este vectorul necunoscutelor cu n
componente x ( x1 , x 2 ,..., x n ) . Pentru n 1 , notând x1 x , avem o ecuaţie
algebrică neliniară sau transcendentă, cu o necunoscută.
...
x n 1 g ( x n ).
Geometric, se înlocuieşte căutarea intersecţiei graficului funcţiei f cu axa
absciselor, prin căutarea intersecţiei curbei de ecuaţie y g (x ) cu dreapta de
ecuaţie y x .
Există numeroase moduri de a obţine metoda de aproximaţii succesive,
adică de a determina g plecând de la f.
În acest sens sunt necesare răspunsuri la întrebările:
i) şirul ( x n ) este convergent?
ii) dacă şirul converge, limita sa este ?
Dacă ( x n ) nu-i convergent atunci metoda aleasă trebuie eliminată. Dacă
s [ a, b] (unde s lim xn , deoarece lim x n 1 lim g ( x n ) şi cum g este o
n n n
funcţie continuă urmează că s g (s ) , adică f ( s) 0 ) atunci s . Deci
răspunsul la întrebarea ii) este orice şir.
Deoarece, din punct de vedere numeric se efectuează un număr finit de
iteraţii, este necesar să ne preocupe şi următoarele probleme:
iii) dacă precizia este dată atunci este necesar să se cunoască cum se
opresc iteraţiile astfel încât această condiţie să fie îndeplinită.
iv) deoarece se cere obţinerea rapidă a rezultatului aproximativ, este
necesar să fie estimată maniera în care evoluează eroarea en x n în cursul
iteraţiilor.
Metoda aproximaţiilor succesive conduce la următorul algoritm.
Algoritmul 2.2.1.1.
Intrări: g = funcţia din relaţia x n 1 g ( x n )
= precizia
x = aproximaţia iniţială
nr_max = numărul maxim de iteraţii admis
Ieşiri: x = soluţia aproximativă îndeplinind sau nr_max
{
- 15 -
k 0
x0 x
x g (x)
cât timp | x x0 | şi k nr_max
{
k k 1
x0 x
x g (x)
}
}.
- 16 -
Metoda Newton se mai numeşte şi metoda tangentei şi constă în
înlocuirea graficului funcţiei f restrâns la un interval [a,b] prin tangenta într-un
punct al graficului.
Tangenta la curbă în punctul B (b, f (b)) are ecuaţia:
y f (b) f ' (b)( x b) .
Dacă x1 este intersecţia acestei tangente cu axa absciselor atunci:
f (b)
x1 b .
f ' (b)
Se reîncepe procedeul precedent cu tangenta în punctul ( x1 , f ( x1 )) , în
general se obţine:
x n 1 g ( x n )
f ( x)
unde g ( x ) x .
f ' ( x)
Remarca 2.2.3.1. Metoda lui Newton este bine definită dacă
f ' (b) 0 . Este suficient ca să fie un zero simplu al lui f, căci, dacă f ' este
continuă şi x n „suficient de aproape” de vom avea f ' ( x n ) 0 .
Metoda Newton conduce la următorul algoritm.
Algoritmul 2.2.3.1.
Intrări: f = funcţia din metodă
fd = derivata funcţiei f
= precizia
nr_max = numărul maxim de iteraţii admis
x = aproximaţia iniţială
Ieşiri: x = soluţia aproximativă îndeplinind sau nr_max
{
k 0
x0 x
x x0 f ( x0 ) / fd ( x0 )
cât timp | x x0 | şi k nr_max
{
k k 1
x0 x
x x0 f ( x0 ) / fd ( x0 )
}
}.
Dacă pe parcursul procesului iterativ se anulează derivata funcţiei atunci
se execută o iteraţie de „salvare” în care corecţia rădăcinii se calculează fără a o
împărţi la derivata funcţiei. Această abordare are avantajul că rezolvă şi
zerourilor de ordin superior, în care funcţia şi prima ei derivată au zerouri
comune.
- 17 -
2.2.4. O teoremă de punct fix
În exemplele precedente, avem următoarea situaţie:
x0 dat
x n 1 g ( x n ) .
Problema care se pune este de a alege o metodă, deci funcţia g astfel încât
şirul x n ) să fie convergent la .
(
Este necesar ca soluţia ecuaţiei x g (x) în intervalul [a,b] să fie aceeaşi
cu soluţia ecuaţiei f ( x) 0 în intervalul [a,b].
Are loc următorul rezultat:
Teorema 2.2.4.1. Dacă în intervalul [a,b] funcţia g verifică
următoarele condiţii:
a)pentru orice x [ a, b] are loc g ( x) [a, b] ;
b)g este o aplicaţie strict contractantă, adică există un număr real L:
0 L 1 astfel încât pentru x [ a, b] , y [ a, b] avem:
| g ( x) g ( y) | L | x y |
atunci, oricare ar fi x0 [ a, b] şirul definit prin
x n 1 g ( x n )
converge spre unica soluţie a ecuaţiei x g (x) cu [a, b] .
Demonstraţie.
Dacă 1 şi 2 sunt două soluţii distincte ale ecuaţiei x g (x) urmează
că
| 1 2 | | g (1 ) g (2 ) | L | 1 2 | cu L 1 .
Deci | 1 2 | (1 L) 0 . Deoarece L 1 obţinem 1 = 2 .
Avem
| x n 1 x n | | g ( x n ) g ( x n 1 ) | L | x n x n 1 | .
Deci | x n 1 x n | Ln | x1 x0 | sau
| x n p x n | | ( x n p x n p 1 ) ( x n p 1 x n p 2 ) ... ( x n 1 x n ) |
| x n p xn p 1 | | x n p 1 x n p 2 | ... | x n 1 x n| .
Deci
| xn p xn | |x1 x0 | ( Ln p 1 Ln p 2 ... Ln )
1 Lp Ln
Ln |x1 x0 | |x1 x0 | .
1 L 1 L
Deoarece nlim Ln 0 urmează că lim | xn p xn | 0 pentru p N .
n
Deoarece şirul ( x n ) verifică criteriul lui Cauchy urmează că el este
convergent spre limita sa şi cum g este funcţie continuă, deoarece este strict
contractantă, această limită verifică g () .
- 18 -
Dacă x n [a, b] atunci g ( x n ) [ a, b] . Deoarece elementele şirului
( x n ) aparţin intervalului [a,b] (deoarece x0 [ a, b] ) şi ( x n ) converge,
urmează că limita sa aparţine intervalului [a,b].
Se poate evalua eroarea făcând p să tindă spre :
Ln
| x n | | x1 x0 | .
1 L
Se constată că pentru n fixat, eroarea este cu atât mai mică cu cât L se
apropie de zero, în timp ce, dacă L este apropiat de 1 eroarea se diminuează.
Dacă g este o funcţie derivabilă atunci o condiţie suficientă astfel încât g
să fie strict contractantă este următoarea.
Propoziţia 2.2.4.1. Fie g o funcţie derivabilă în [a,b]. Dacă g '
max | g ' ( x ) | L 1
verifică x[ a, b] atunci g este o aplicaţie strict contractantă în
intervalul [a,b].
Utilizând formula creşterilor finite:
g ( x ) g ( y ) g ' ()( x y ) cu ( a, b) ,
| g ( x) g ( y ) | | g ' () || x y | ( max | g ' ( x) |) | x y | L | x y |
x[ a , b]
unde 0 L 1 .
Condiţia a) din teorema precedentă trebuie să fie îndeplinită.
1 1
Într-adevăr. Pentru funcţia g ( x) x , unde x 1 , g ' ( x) 1 2 ,
x x
| g ' ( x) | c 1 , dar ecuaţia x g (x) nu are punct fix în intervalul considerat,
1
deoarece x g ( x) 0 .
x
Intervalul [a,b] în care ipotezele teoremei de punct fix sunt verificate este,
în general greu de determinat.
Dacă se poate calcula (estima) g ' () atunci are loc următorul rezultat.
Propoziţia 2.2.4.2. Fie o soluţie a ecuaţiei x g (x) cu g '
funcţie continuă. Dacă | g ' () | 0 atunci există un interval [a,b] conţinând
pentru care şirul definit prin x0 [ a, b] şi x n 1 g ( x n ) converge la .
Demonstraţie.
Fie 0 g ' () 1 . Atunci, din continuitatea lui g ' , există un interval
[ p, q ] conţinând pentru care
max | g ' ( x ) | 1
x[ p , q ] şi g ' ( x ) 0 .
Funcţia g restrictivă la intervalul [p, q] este strict crescătoare şi verifică
max | g ' ( x ) | 1
x[ p , q ] .
Arătăm că dacă x [ p, q] atunci g ( x) [ p, q ] . Deoarece
g ( x ) [ g ( p ), g ( q )] , este suficient să arătăm că [ g ( p ), g (q )] [ p, q ] .
Deoarece g ( p ) g () g ( p ) g ' ()( p ) 0 urmează că
g ( p ) p , adică g ( p ) p .
- 19 -
Similar, deoarece g (q ) g (q) g () g ' ()(q ) 0 urmează că
g (q) q .
Deci p g ( p ) g ( q) q .
Luând [ a, b] [ p, q] , avem verificate ipotezele teoremei de punct fix.
Fie 1 g ' () 0 . Atunci există un interval [ p, q ] astfel încât
max | g ' ( x ) | 1
x[ p , q ] şi g ' ( x) 0 .
Se arată şi în acest caz că sunt verificate ipotezele teoremei de punct fix.
Şirul ( x n ) converge la din [ a, b] .
Dăm fără demonstraţie următorul rezultat.
Propoziţia 2.2.4.3. Fie o soluţie a ecuaţiei x g (x) . Dacă g '
este continuă într-o vecinătate a lui şi | g ' () | 1 , x0 , şirul definit de
x0 şi x n 1 g ( x n ) nu converge spre .
Dacă | g ' () | 1 atunci şirul ( x n ) poate converge sau diverge.
Exemplu. Să se găsească condiţia | g ' () | 1 care asigură existenţa
unui interval [a,b], conţinând , în care ipotezele teoremei de punct fix sunt
verificate pentru:
1) metoda aproximaţiilor succesive;
2) metoda lui Lagrange;
3) metoda lui Newton.
Rezolvare.
1) Fie funcţia g definită prin g ( x) x g ( x) . Dacă f este derivabilă atunci
g ' ( x) 1 f ' ( x ) . Condiţia | g ' () | 1 devine | 1 f ' () | 1 , adică
0 f () 2 .
2) Fie x0 b , x n 1 g ( x n ) şi funcţia g definită prin
af ( x) xf (a )
g ( x) .
f ( x) f (a )
Dacă f este derivabilă avem
(af ' ( x) f (a))( f ( x) f (a )) f ' ( x)(af ( x) xf ( a))
g ' ( x) ,
( f ( x) f (a)) 2
de unde
f ( a) ( a) f ' ()
g ' () ,
f (a)
deoarece f () 0 .
Dar
(a ) 2
f ( a ) f () (a ) f ' () f " (c ) cu c ( a, ) ,
2
de unde
) 2
g ' ()
(a f " (c )
2 f (a) .
Deci | g ' () | 1 devine (a ) 2 f " (c)
2 f (a )
1
.
- 20 -
3) Fie x0 b , x n 1 g ( x n ) şi funcţia g definită prin
f ( x)
g ( x) x .
f ' ( x)
Dacă există f " atunci
f ( x) f " ( x)
g ' ( x)
( f ' ( x )) 2 .
Deci g ' () 0 .
Deci există totdeauna un interval în care ipotezele teoremei de punct fix
sunt verificate, în cazul metodei tangentei.
Este mai uşoară aplicarea metodei Newton apelând la rezultatul următor.
Teorema 2.2.4.2. Dacă f C 2 [a, b] verifică
(1) f (a ) f (b) 0
(2) x [ a, b ] , f ' ( x ) 0
(3) x [ a, b] , f " ( x ) 0
atunci alegând x 0 [ a, b] astfel încât
f ( x 0 ) f " ( x 0 ) 0 , şirul ( x n ) definit prin x0 şi
x n 1 g ( x n ) converge spre unica soluţie a ecuaţiei f ( x) 0 în intervalul
[ a, b] .
Demonstraţie.
Condiţiile (1), (2) şi (3) asigură existenţa şi unicitatea unei rădăcini
simple în [a,b] a ecuaţiei f ( x) 0 .
Deoarece
f ( xn )
x n 1 x n
f ' ( xn )
urmează că
f ( xn )
xn 1 xn
f ' ( xn )
f () f ( xn )
xn
f ' ( xn )
( x n ) 2
( x n ) f ' ( x n )
xn 2
f ' ( xn )
cu n cuprins între şi x n .
Deci x
,
f ' ( xn ) n f " ( n )
x n 1 ( x n )1 2
f ' ( xn )
adică
( xn ) 2 f " ( n )
x n 1
2 f ' ( xn )
.
- 21 -
Dacă f " ( x ) şi f ' ( x) sunt de acelaşi semn pe [a,b] atunci pentru
n 0 , x n 1 0 , şirul este minorat de plecând de la rangul 1.
Dacă f " ( x ) şi f ' ( x) sunt de semne contrare pe [a,b] atunci
pentru n 0 , x n 1 0 , şirul este majorat de plecând de la rangul 1.
1) Fie f " ( x ) 0 pentru x [ a, b] . Din ipoteză urmează că
f ( x0 ) 0 .
a) Fie f ' ( x) 0 . Atunci şirul este minorat de plecând de la
rangul 1.
f ( x0 )
Cum x1 x0 x0 urmează că x n ,
f ' ( x0 )
n N .
Deoarece f (x) nu se anulează decât pentru , oricare din
termenii şirului sunt mai mari decât urmează că f ( x n ) este
de acelaşi semn cu f ( x0 ) , deci pozitiv.
Deci
f ( xn )
x n 1 x n xn .
f ' ( xn )
Şirul este descrescător, minorat, deci convergent la .
b) Fie f ' ( x) 0 . Atunci şirul este majorat de plecând de la
rangul 1.
f ( x0 )
Cum x1 x0 x0 urmează că x n ,
f ' ( x0 )
n N .
Deoarece f (x) nu se anulează decât pentru şi oricare din
termenii şirului sunt mai mici decât urmează că f ( x n ) este
de acelaşi semn cu f ( x0 ) , deci pozitiv.
Deci
f ( xn )
x n 1 x n xn .
f ' ( xn )
Şirul este crescător, majorat, deci convergent la .
2) Fie f " ( x ) 0 pentru x [ a, b] . Demonstraţia este similară
cu cea de la punctul 1).
- 22 -
Definiţia 2.2.5.1. Metoda definită prin x n 1 g ( x n ) este de ordin p,
| e n 1 |
dacă are limită în mulţimea numerelor reale strict pozitive când n tinde
| en | p
spre .
Explicaţia acestei definiţii.
e n 1 x n 1 g ( xn
p
( xn )
g ( p)
p!
sau
2
en
e n 1 e n g ' ( ) g " (
2!
.
Metoda este, deci, de ordinul p, dacă şi numai dacă:
g ' ( ) g " ( ) ... g ( p 1) () 0 şi
( p)
. g () 0
Metoda aproximaţiilor succesive este de ordinul 1 (adică convergenţa
este liniară)
Într-adevăr. Se cunoaşte, din exemplul 1, că 0 f ' () 2 .
Dacă f " (c ) 0 atunci metoda Lagrange este de ordinul 1.
Rezultă imediat din exemplul 2.
Metoda lui Newton este de ordinul cel puţin 2.
Teorema 2.2.5.1.
Dacă este un zero simplu atunci metoda Newton este de ordinul cel
puţin doi.
Verificare.
Avem g ' () 0 .
Deoarece
( f ' ( x) f " ( x) f ( x) f ' ' ' ( x))( f ' ( x )) 2 2 f ' ( x) f " ( x) f ( x ) f " ( x)
g" ( x)
( f ' ( x)) 4
f " ()
urmează că g " () .
f ' ()
Dacă este un zero simplu al lui f atunci f ' () 0 .
Dacă f " () 0 atunci g " () 0 altfel ordinul metodei
este mai mare decât 2.
Pentru metodele de ordinul doi se mai spune încă: convergenţă este
pătratică.
Ordinul depinde atât de metoda aleasă cât şi de natura zeroului.
- 23 -
Propoziţia 2.2.5.1. Dacă este un zero al lui f de multiplicitate m,
f ( x)
metoda iterativă definită prin x n 1 g ( x n ) cu g ( x) x m este de
f ' ( x)
ordinul cel puţin doi.
Verificare.
În loc să considerăm ecuaţia f ( x) 0 care admite ca soluţie de
multiplicitate m, se poate lua | f ( x) |1 / m 0 care admite ca soluţie simplă.
Metoda Newton este atunci definită prin:
f 1 / m ( x)
x n 1 g ( x n ) cu g ( x) x ,
( f 1 / m ( x))'
adică
f 1 / m ( x) f ( x)
g ( x) x xm
1 f ' ( x) .
1 m 1
f ( x) f ' ( x)
m
unde:
A g ' () , 0 | A | 1 şi lim n 0 .
n
Verificare.
În metoda aproximaţiilor succesive:
g ( x ) x f ( x ) , x n 1 x n f ( x n ) , e n 1 e n f ( x n ) ,
f ( xn )
g ' ( x ) 1 f ' ( x ) , en 1 en g ' ( x n ) f ' ( x n ) .
en
f ( xn ) f ( xn ) f ()
lim n lim f ' ( xn ) lim f ' ( xn ) lim ,
n n en n n en
lim n lim f ' ( xn ) f ' () 0 .
n n
A g ' () 1 f ' () .
Din exemplul 1 urmează că 0 | A | 1 .
În metoda Lagrange:
af ( x) xf ( a )
g ( x) .
f ( x) f (a )
- 24 -
Din exemplul 2 urmează că 0 | A |1, unde
A g ' ( )
(a ) 2 f " (c )
2 f (a) cu c ( a, ) .
af ( x n ) xn f (a ) (a ) f ( x n ) en f (a )
x n 1 , e n 1 ,
f ( xn ) f (a ) f ( x n ) f (a)
en 1 ( g ' () n )en .
(a ) f ( x) ( x ) f ( a )
Fie H ( x) .
( x )( f ( x) f (a ))
(a ) f ' ( x) f (a) (a ) f ' () f (a)
lim H ( x) lim .
x x f ( x) f (a ) f ' ( x)( x ) f (a)
f (a ) ( a ) f ' ()
lim n lim H ( x n ) 0.
n x f (a)
Dacă presupunem n 0 atunci
x n 1 A( x n )
x n 2 A( x n 1 ).
Deci
x n 2 x n 1 A( x n 1 x n ) ,
adică
x x n 1
A n2 .
x n 1 x n
Deci
1
( xn 1 Ax n ),
1 A
1
xn ( xn 1 xn ),
1 A
( xn 1 xn ) 2
xn .
xn 2 2 xn 1 xn
Adică, dacă n 0 atunci soluţia se obţine numai după două iteraţii
succesive.
Fie n 0 . Este de aşteptat ca şirul ( x' n ) definit prin:
( x n 1 x n ) 2
x'n xn
x n 2 2 x n 1 x n
să aproximeze mai bine rădăcina decât x n .
Teorema 2.2.6.1.1. Dacă ( x n ) este un şir care converge la având
ordinul de convergenţă unu atunci şirul ( x' n ) definit prin
( x n 1 x n ) 2 x ' n
x'n xn converge mai repede, adică lim 0.
x n 2 2 x n 1 x n n xn
Demonstraţie.
- 25 -
Deoarece ( x n ) are ordinul de convergenţă unu avem en 1 ( A n )en
cu 0 | A | 1 şi nlim n 0 . Deci
en 2 ( A n 1 )( A n )en
xn 2 2 xn 1 xn ( xn 2 ) 2( xn 1 ) ( xn )
e n 2 2e n 1 e n
(( A n 1 )( A n ) 2( A n ) 1)en
(( A 1) 2 n )en
cu
n ( n 1 n ) A 2 n n 1 n .
Deci nlim n 0 .
La fel, xn 1 x n en 1 en ( A 1 n )en .
Deci
( x n 1 x n ) 2 ( A 1 n ) 2 en2
x ' n x n en
x n 2 2 x n 1 x n (( A 1) 2 n )en
e (( A 1) 2 n ) ( A 1 n ) 2 en 2 n ( A 1) 2n
n en n .
( A 1) 2 n ( A 1) 2 n
x ' n
Deci lim 0.
n xn
( x n 1 x n ) 2
Metoda definită de x' n xn se numeşte metoda lui
x n 2 2 x n 1 x n
Aitken.
- 26 -
( g ( x ' n ) x' n ) 2
x ' n 1 x ' n
g ( g ( x ' n )) 2 g ( x' n ) x ' n
ceea ce se poate scrie:
x' n g ( g ( x' n )) ( g ( x' n )) 2
x ' n 1 .
g ( g ( x' n )) 2 g ( x' n ) x' n
Aceasta este metoda Steffensen, care se poate defini formal prin funcţia G
care dă procesul iterativ:
xg ( g ( x )) ( g ( x )) 2
G ( x) .
g ( g ( x )) 2 g ( x ) x
Are loc următorul rezultat:
Teorema 2.2.6.2.1.
Fie o rădăcină simplă a ecuaţiei x g (x) .
Dacă metoda generată de g este de ordinul unu atunci metoda Steffensen
este de ordinul cel puţin doi.
Dacă metoda generată de g este de ordinul p 1 atunci metoda
Steffensen este de ordinul 2 p 1 .
Demonstraţie.
Pentru g C p 1 , în vecinătatea lui , avem
e2
g ( e) eg ' () g " () ...
2!
.
(k )
g ()
Notând cu xk avem
k!
g ( e) x1 e x 2 e 2 ... x p e p O (e p 1 ) .
- 27 -
nr_max = numărul maxim de iteraţii admis
x = aproximaţia iniţială
Ieşiri: x = soluţia aproximativă îndeplinind sau nr_max
{
k 0
x0 x
x1 g ( x0 )
x 2 g ( x1 )
x x0 ( x1 x 0 ) 2 /( x 2 2 x1 x0 )
cât timp | x x0 | şi k nr_max
{
k k 1
x0 x
x1 g ( x0 )
x 2 g ( x1 )
x x0 ( x1 x 0 ) 2 /( x 2 2 x1 x0 )
}
}.
- 28 -
af ( x n ) x n f ( a)
x n 1
f ( x n ) f (a )
se remarcă că metoda poziţiei false se obţine din metoda Lagrange înlocuind a
cu x n 1 .
Se poate, deci, prevedea că ordinul metodei poziţiei false va fi mai bun
decât al metodei Lagrange, dar mai puţin bun decât al metodei Newton.
Are loc
Teorema 2.2.7.1.
Ordinul metodei poziţiei false este
1 5
p ,
2
dacă f ' () 0 şi f " () 0 .
Demonstraţie.
Avem:
x f ( x n ) x n f ( x n 1 ) f ( x n ) f ( x n 1 )
x n 1 n 1 ,
f ( x n ) f ( x n 1 )
e f ( xn ) en f ( x n 1 )
en 1 n 1 .
f ( x n ) f ( x n 1 )
Dacă f ' () 0 şi f " () 0 atunci
( x n ) 2
f ( x n ) ( x n ) f ' () f " () ( x
2!
.
Atunci:
2
en
e n 1 (e n f ' () f " ()
e n 1 2
(e n e n 1 ) f ' (
(e n e n 1 ) f "
e n 1
(e n e n 1
.
Pentru n tinzând spre infinit urmează că en 1 ~ ken en 1 , unde
.
f " ( )
k
2 f ' ()
Deci:
| en 1 |~ c | en | p şi | en |~ c | en 1 | p ,
de unde
- 29 -
2
| en 1 |~ c p 1 | en 1 | p .
Înlocuind în | en 1 |~ k | en || en 1 | , obţinem:
c p p 2 p 1
e ~ 1,
k n 1
oricare ar fi k şi en 1 , deci p trebuie să verifice
p2 p 1 0 ,
adică
1 5
p .
2
- 30 -
f ( a ) f ( x) 0
atunci
bx
altfel
ax
x ( a b) / 2
}
}.
Iterând, obţinem
x n 1 x n f1 ( x n , y n ) g1 ( x n , y n )
y
n 1 y n f 2 ( x n , y n ) g 2 ( x n , y n ).
Punând X ( x, y ) ,
F ( X ) ( f1 ( X ), f 2 ( X ))
G ( X ) ( g1 ( X ), g 2 ( X )) ,
atunci iteraţia se scrie:
X n 1 X n F ( X n ) G ( X n ) .
Drept normă luăm: X x 2 y 2 .
Dăm fără demonstraţie următorul rezultat:
Teorema 2.3.1.1. Fie mulţimea închidă D R 2 . Dacă
1) X D G ( X ) D ;
2) există o constantă L: 0 L 1 astfel încât:
X , Y D , G ( X ) G (Y ) L X Y
- 31 -
atunci şirul definit prin X 0 D , X n 1 G ( X n ) este convergent şi limita sa
aparţine lui D.
O condiţie suficientă pentru ca G să fie o aplicaţie contractantă este dată
de următoarea teoremă.
Teorema 2.3.1.2. Dacă g1 şi g 2 sunt funcţii cu derivate parţiale
continui în D, atunci,
X 1 , X 2 D , G ( X 1 ) G ( X 2 ) L X 1 X 2
unde L Xmax g '12x g '12y g ' 2 2
2 x g '2 y .
D
Demonstraţie.
Inegalitatea G( X 1 ) G( X 2 ) L X 1 X 2 este echivalentă cu
2 2
G( X 1 ) G( X 2 ) L2 X 1 X 2 , adică
( g1 ( x1 , y1 ) g1 ( x2 , y 2 )) ( g 2 ( x1 , y1 ) g 2 ( x2 , y 2 )) 2 L2 (( x1 x 2 ) 2 ( y1 y 2 ) 2 )
2
.
Utilizând formula creşterilor finite avem:
g1( x1, y1) g1( x2 , y2 ) ( x1 x2 ) g '1x ( x , y ) ( y1 y2 ) g '1 y ( x , y ) ,
unde x ( x1 , x 2 ) şi y ( y1 , y 2 ) .
Deci:
( g1 ( x1 , y1 ) g1 ( x 2 , y 2 )) 2 (ac bd ) 2
unde a g '1x ( x , y ), b g '1 y ( x , y ), c ( x1 x 2 ), d ( y1 y 2 ) .
( ac bd ) 2 g '12x ( x , y )( x1 x 2 ) 2 g '12y ( x , y )( y1 y 2 ) 2
2 g '1x ( x , y )( x1 x 2 ) g '1 y ( x , y )( y1 y 2 ).
(ac bd ) 2 ( a 2 b 2 )(c 2 d 2 ) .
Deci
( g1 ( x1 , y1 ) g1 ( x 2 , y 2 )) 2 ( g '12x ( x , y ) g '12y ( x , y ))((x1 x 2 ) 2 ( y1 y 2 ) 2 ),
( g 2 ( x1 , y1 ) g 2 ( x 2 , y 2 )) 2 ( g ' 22 x ( x , y ) g ' 22 y ( x , y ))((x1 x 2 ) 2 ( y1 y 2 ) 2 ).
Deci:
( g 1 ( x1 , y1 ) g 1 ( x 2 , y 2 )) 2 ( g 2 ( x1 , y1 ) g 2 ( x 2 , y 2 )) 2 max ( g '1
2 2
x g '1
X D
(( x1 x 2 ) 2 (
f '1x ( x n , y n ) f '1 y ( x n , y n )
Fie J ( x n , y n ) matricea J ( x n , y n ) f ' ( x , y ) f ' ( x , y ) . Dacă
2x n n 2y n n
determinantul lui J ( x n , y n ) (matricea lui Jacobi) este diferit de zero atunci
1 f
sistemul are o soluţie şi numai una 1 J ( xn , y n ) 1 . Atunci metoda
2 f2
Newton devine:
( x0 , y 0 )
xn 1 xn 1
y n 1 y n 2 .
- 33 -
Şi în cazul sistemelor, metoda Newton este de ordin cel puţin 2. Pentru a
f
evita inversarea matricii jacobiene, avem J ( x n , y n ) 1 1 .
2 f
2
Un algoritm furnizat de metoda Newton este:
Intrări: n = numărul de necunoscute
f = procedura de evaluare a lui ( f1 ( X ), f 2 ( X ))
J = procedură de calcul a matricii jacobiene
= precizia
nr_max = numărul maxim de iteraţii admis
X = aproximaţia iniţială
Ieşiri: X = soluţia aproximativă îndeplinind şi nr_max
{
k 0
dX 0
repetă
k k 1
X 0 X dX
execută f ( n, X 0, b)
b b
execută J (n, X 0, A)
execută Gauss (n, A, b) /* Eliminarea Gauss
execută Sist_Tr ( n , A, b, dx ) /*Rezolvarea sistemelor
triunghiulare
X X0
până când dX sau k > nr_max
}.
2.4. Exerciţii
1) Fie ecuaţia x 3 x 2 1 0 . Precizaţi un interval [ k , k 1] , k Z în
care se găseşte o singură rădăcină reală, apoi determinaţi cu o eroare această
rădăcină folosind metodele:
a) metoda lui Newton;
b) metoda coardei.
2) Câţi paşi sunt necesari pentru determinarea rădăcinii reale a ecuaţiei
e x x 2 2 0 , x [1,2; 1,5] cu o aproximaţie de 10 6 , prin metodele:
a) metoda lui Newton;
b) metoda coardei.
3) Să se rezolve sistemul neliniar
x1 3 lg x1 x12 0
2 x1 x1 x 2 5 x1 1 0
- 34 -
x
3,4
folosind metoda lui Newton cu iteraţia iniţială X 0 0 .
0 2,2
y
Discuţii finale:
Să se programeze utilizând metoda Newton, Aitken, Steffensen, falsei poziţii.
Tema propusă:
Să se facă o lucrare cu tema metoda Newton, Aitken, Steffensen, falsei poziţii.
- 35 -
CAPITOLUL 3
Rezolvarea sistemelor algebrice liniare
Obiectivele invatarii
Însuşirea unor noţiuni referitoare la metoda de eliminare a lui Gauss,
factorizarea LU, factorizarea Cholesky, metoda iterativă Jacobi, metoda
iterativă Gauss-Seidel.
3.1. Introducere
Un sistem de ecuaţii algebrice liniare poate fi scris sub forma
n
aij x j bi , i 1,..., m
j 1
unde aij R sunt coeficienţi, x j sunt necunoscutele sistemului, iar bi sunt
termenii liberi.
Sunt posibile situaţiile:
(i) dacă m n atunci trebuie aleşi n – m parametri pentru a obţine o
soluţie;
(ii) dacă m n atunci se caută o soluţie care să minimizeze
2
m n
bi aij x j ;
i 1 j 1
(iii) pentru m = n, dacă det A 0 atunci sistemul are o soluţie unică
altfel (adică, det A 0 ) atunci sistemul poate avea o infinitate de soluţii sau
poate să nu aibă nici o soluţie.
Metodele de rezolvare sunt de două feluri: directe (sau exacte) în care
soluţia este obţinută după un număr de operaţii dinainte cunoscut şi metode
iterative, care utilizând o aproximaţie iniţială o îmbunătăţeşte de la o etapă la
alta.
- 36 -
Fie un sistem de n ecuaţii liniare cu n necunoscute scris sub forma Ax b
, unde A este o matrice pătrată, nesingulară, de dimensiune n n , iar x şi b sunt
vectori coloană de dimensiune n.
Metoda constă în a obţine zerouri sub diagonala principală a matricii A
succesiv, întâi pe prima coloană, apoi pe coloana a doua ş.a.m.d., pe ultima linie
a lui A rămânând doar coeficientul a nn - modificat de operaţiile de eliminare
anterioare. Un pas (etapă) k al metodei constă în obţinerea de zerouri sub
diagonala principală, în coloana k a matricei A. Etapa este simbolizată prin
indice superior atât pentru matricea A cât şi pentru vectorul b. Notăm, iniţial,
A (1) A şi b (1) b .
În urma pasului k 1 al fazei eliminării, sistemul are forma echivalentă
a (1) a (1) a1(1k) a1(1k)1 a1(1n) b (1)
11 12 1
0 a ( 2) ( 2) x1 ( 2)
a 2(2k) a 2(2k)1 a2n
x2 b2
22
0 ( k 1) ( k 1) ( k 1) x ( k 1)
0 a kk akk 1 a kn k bk
x
0 0 a k(k11k) a k( k11k)1 a k(k11n) k 1 bk( k11)
x n
( k 1) ( k 1) ( k 1) ( k 1)
0 0 a nk ank 1 a nn bn
La pasul k ( k 1, 2, ..., n 1 ) este eliminată necunoscuta x k din
ultimele n – k ecuaţii şi sistemul este adus la forma
a (1) a (1) a (1) a (1) (1)
11 12 1k 1k 1 a1n b (1)
( 2) 1 (2)
x 1
0 a ( 2) a ( 2) a ( 2)
22 2k 2 k 1 a 2n x 2 b2
(k ) (k ) (k )
0 0 a kk a kk 1 a kn x k bk (k )
(k ) x
a k 1n k 1 bk 1
(k ) (k )
0 0 0 0 a k 1k 1
x n ( k )
(k ) (k ) b
0 0 0 0 a nk 1 a nn n
În final se obţine sistemul
A ( n) x b ( n ) ,
în care matricea A (n ) este superior triunghiulară.
Sistemul se rezolvă prin metoda substituţiei inverse potrivit relaţiilor
bn(n)
xn
ann(n)
x b (i) n a (i) x / a (i) , i n 1, ..., 1 .
i i ji1 ij j ii
- 37 -
Sistemul Ax b poate fi transformat într-un sistem superior triunghiular
echivalent (adică cu matricea sistemului triunghiulară superior) folosind
rezultatele următoarei teoreme:
Teorema 3.2.1.1. Dacă A ( k ) (aij )1 i, j k , A(k ) R k k , cu
k 1, 2, ..., n sunt nesingulare, atunci există T R n n , nesingulară şi inferior
triunghiulară astfel încât matricea T A U este superior triunghiulară.
Demonstraţie. Fie T Tn 1 Tn 2 ... T2 T1 un produs de matrici
elementare de forma Tk I n t k ekT , în care I n este matricea unitate, ek este
coloana k a lui I n , iar t k 0 0 t k 1k t nk T , în care ultimele
n k elemente sunt neprecizate deocamdată.
Înmulţind la stânga matricea sistemului A cu matricea de transformare T
obţinem
T A Tn 1 Tn 2 ... T2 T1 A ,
sau exprimat printr-o secvenţă de transformări elementare:
A1 A
A2 T1 A1
...
Ak 1 Tk Ak
...
An Tn 1 An 1
în care fiecare operaţie anulează elementele subdiagonale din coloana k ale
matricei Ak :
- 38 -
Din condiţia de anulare a acestora urmează
a
t ik ik , pentru i k 1, ..., n ,
a kk
determinându-se vectorul t k , deci şi matricea Tk .
Coloanele a j ( j k ) se vor modifica astfel:
Tk a j I n t k eTk a j a j a kj t k ,
iar pe componente:
a
a'i aij a kj t ik aij a kj ik , j k 1, ..., n , i k 1, ..., n .
a kk
Coloanele a j ( j k ) au elementele subdiagonale deja anulate ( a kj 0
pentru j k ) astfel că transformarea le lasă nemodificate:
Tk a j a j .
Metoda de triangularizare şi substituţia inversă conduc la un O (n 3 ) -
algoritm.
Algoritmul 3.2.1.1.
Intrări: n = dimensiunea sistemului
A = matricea sistemului
b = vectorul termenilor liberi
Ieşiri: A = matricea sistemului triunghiular
b = termenii liberi ai sistemului triunghiular
x = vectorul necunoscutelor
{
pentru k 1 : n 1
pentru i k 1 : n
{
t aik / a kk
a i , k : n ai , k : n t a k , k : n
bi bi t bk
}
pentru i n : 1
{
suma suma + ai, i 1:n xi 1:n
xi (bi - suma) / aii
}
}.
În implementarea algoritmului eliminării gaussiene, la fiecare pas k al
eliminării se efectuează împărţirea liniei pivot k la elementul diagonal a kk . În
practică, este posibil ca acest element să fie egal cu zero, situaţie în care este
imposibilă continuarea algoritmului. Erorile de rotunjire în calculul elementelor
- 39 -
matricii A (k ) sunt cu atât mai mici cu cât elementul pivot a kk este mai mare în
valoare absolutǎ. Astfel, se efectueazǎ pivotarea parţialǎ pe coloane, ceea ce
pentru pasul k al eliminării revine la a găsi elementul maxim al matricei A ( k 1)
situat pe coloana k şi liniile i k , adică | a k | max | aik | şi permută între ele
k i n
liniile şi k. Permutarea a două linii sau coloane dintr-o matrice se poate face
prin înmulţirea cu o matrice de permutare care diferă de matricea unitate prin:
a a kk 0 , a k a k 1 . Astfel înmulţirea: A' Pk A are ca efect
permutarea liniilor şi k din matricea A, în timp ce:
A" A Ak , produce permutarea coloanelor k şi .
Căutarea elementului maxim în valoare absolută în submatricea delimitată
de ultimele n k 1 linii şi coloane duce la performanţe mai bune de stabilitate
numerică. Astfel se efectuează pivotarea totală.
3.2.2. Factorizarea LU
Fiind dată matricea A (aij ) , i, j 1, 2, ..., n a unui sistem nesingular
ne propunem să descompunem această matrice în produsul matricei inferior
triunghiulare L cu matricea superior triunghiulară U:
11 0 0 0 u11 u12 u13 u1n
21 22 0 0 0 u 22 u 23 u 2n
A 31 32 33 0 0 0 u33 u3n .
n 2 n3 nn 0 0 0 nn
n1
Motivul acestei descompuneri constă în transformarea sistemului dat
Ax b în două sisteme liniare: Ly b şi Ux y a căror matrici sunt
triunghiulare şi deci rezolvarea lor este uşoară. Relaţia ce leagă elementele celor
min(i , j )
trei matrici poate fi scrisă ik u kj aij , i, j 1, 2, ..., n .
k 1
Sunt posibile mai multe factorizări LU. Matricele L şi U au în total
n(n 1) elemente nenule, în timp ce A LU ne furnizează n 2 relaţii. Este
necesară particularizarea, de exemplu, a elementelor diagonale a uneia din
matricile L sau U. Dacă se consideră elementele diagonale ale matricii U unitare
se obţine factorizarea Crout, în timp ce dacă elementele diagonale ale lui L sunt
unitare se obţine factorizarea Doolittle.
Considerăm, întâi, ii 1, i 1,2,..., n . Atunci u11 a11 .
Pentru i 1 , j 1 avem 11u1 j a1 j u1 j a1 j , j 1, 2, ..., n .
ai1
Pentru i 1 , j 1 avem i1u11 ai1 i1 , i 1, 2, ..., n .
u11
La pasul k ( 1 k n ) avem
- 40 -
i k , j k , k1u1 j k 2 u 2 j ... kk u kj a kj
k 1
u kj a kj ks u sj , j k , ..., n .
s 1
i k , j k , i1u1k i 2 u 2k ... ik u kk aik
1 k 1
ik aik is u sk , i k 1, ..., n .
u kk s 1
u
Fie, acum ii 1 , i 1, 2, ..., n .
Pentru j 1 , i 1 avem
i1u11 ai1 i1 ai1 , i 1, 2, ..., n
Pentru i 1 , j 1 avem
11u1 j a1 j u1 j a1 j / 11 , j 1, 2, ..., n .
La pasul k ( 1 k n ) avem
i k ,…,n, j k :
i1u1k i 2 u 2k ... ik u kk aik
k 1
ik aik is u sk .
s 1
ik, j k 1,..., n :
k1u1 j k 2 u 2 j ... kk u kj akj
1 k 1
a kj ks u sj
u kj
kk s 1
Factorizarea Crout conduce la următorul O (n 3 ) - algoritm.
Algoritmul 3.2.2.1.
Intrări: n = dimensiunea matricii
A = matricea de factorizat
Ieşiri: L, U (folosesc acelaşi spaţiu de memorie ca A)
{
pentru k 1 : n
{
pentru i k : n
{
s ai1:k 1 a1:k 1k
aik aik s
}
pentru j k 1 : n
{
s a k1: k 1 a1: k 1 j
a kj (a kj s ) / a kk
}
- 41 -
}
}.
Din teorema 3.2.1.1. are loc următorul rezultat:
Teorema 3.2.2.1. Dacă toate submatricele principale A (k ) ale unei
matrici A nesingulare de ordinul n sunt nesingulare atunci există o factorizare
LU, unde L este triunghiulară inferior şi U este superior triunghiulară.
- 42 -
Fie
şi b R n , b (bi )1 i n .
A M n (R ), A ( aij )1 i, j n
Pentru rezolvarea sistemului algebric de ecuaţii liniare
Ax b
considerăm clasa de metode iterative
u k 1 u k
B Au k b ,
p
unde A M n (R ) şi k R sunt parametrii care definesc metoda iterativă.
Pornind de la un element arbitrar u 0 se construieşte un şir (u k ) k N unde
fiecare element reprezintă o aproximaţie a soluţiei sistemului Ax b , dacă
această soluţie există. Aceasta constituie o metodǎ iterativǎ de rezolvare a
sistemului algebric.
Ne interesează condiţiile în care şirul de aproximaţii (u k ) k N converge
către soluţia sistemului.
Pentru matricea A introducem notaţiile:
a11 0
D diag ( A) ,
0 a nn
0 0 0 0
inf
a 0 0 0
A 21 ,
a n1 an2 a nn 1
0
0 a12 a12 a1n 1 a1n
a23 a 2n 1 a2n
Asup 0 0 .
0 0 0 0 0
- 43 -
k N , iar prima aproximaţie u 0 (u10 ,..., u n0 ) este un element din R n .
n
k 1 k k
Relaţia de mai sus se mai scrie aii (u i u i ) aij u i bi , i {1, 2, ..., n}
j 1
sau sub formă matriceală D (u k 1 u k ) Au k b .
Raportat la cazul general, în
metoda Jacobi avem B D şi p 1 . Şirul definit prin formulele de recurenţă
n aij ( k ) b
xi( k 1) xj i
j 1 aii aii , i {1, 2, ..., n} , k N se rescrie prin x (k 1) Px (k ) d ,
j i
b1
k N, unde P D 1C , d D 1b, C ( Ainf Asup ), b b2 . Vom
bn
stabili în ce condiţii şirul definit mai sus converge la soluţia exactă a sistemului
Ax b . Fie x soluţia exactă şi e (k ) eroarea în aproximaţia k : e ( k ) x x ( k ) .
Sistemul Ax b se mai scrie Dx Cx b sau x D 1Cx D 1b . Deci
e( k 1) x x( k 1) D 1C ( x x( k ) ) Pe( k ) ,
sau, trecând la norme şi notând cu e (0) x x (0) obţinem
k
e P e( k 1)
... P e
(k )
. (0)
sau
2
n n aij
1
.
i 1 j 1 aii
j i
- 44 -
k 0
p y
| p q | p
cât timp (k < nr_max) şi ( | p q | p ) pentru i 1 : n
{
S 0
pentru j 1 : i 1
s s aij y j
pentru j i 1 : n
s s aij y j
xi (bi s ) / aii
}
p y
q x
yx
k k 1
}.
- 45 -
Astfel B Ainf D şi p 1 . Remarcăm faptul că, în această metodă se
folosesc noile valori ale componentelor vectorului necunoscutelor x ( k 1)
imediat ce au fost calculate. Şirul definit prin formulele de recurenţă
i 1 n
xi( k 1) (bi aij x (jk 1) aij x (jk ) ) / aii , i {1, 2, ..., n} , k N ,
j 1 j i 1
se rescrie prin x (k 1) Px (k ) d , k N , unde
P ( D Ainf ) 1 Asup , d ( D Ainf ) 1 b .
Condiţia de convergenţă este:
P 1 ( D A inf ) 1 Asup
. 1
3
Deoarece calcularea inversei necesită O( n ) operaţii, o condiţie simplă
de convergenţă a metodei Gauss-Seidel este: pentru fiecare linie a matricii A,
elementul diagonal considerat în modul să fie strict mai mare decât suma
tuturor modulelor celorlalte elemente ale liniei respective. Notând cu
i 1 n
s1i | aij / aii |, si2 | aij / aii |, i {1,2,..., n}
j 1 j i 1
condiţia precedentă se scrie: s1i si2 1, i {1,2,..., n} .
Să demonstrăm convergenţa. Sistemul de ecuaţii Ax b se mai scrie
i 1 n
xi (bi aij x j aij x j ) / aii , i {1, 2, ..., n} ,
j 1 j i 1
cu xi valorile exacte ale necunoscutelor şi aii nenuli.
( k 1) i 1 aij n aij
Obţinem xi xi ( x j x (jk 1) ) ( x j x (jk ) ) ,
j 1 aii j i 1 aii
i {1, 2, ..., n} , sau, trecând la module:
i 1 aij n aij
| ei( k 1) | | e (jk 1) | | e (jk ) | , i {1, 2, ..., n} .
a
j 1 ii a
j i 1 ii
- 46 -
{
k 0
py
x y
| p q | p
cât timp (k > nr_max) şi ( | p q | p ) pentru i 1 : n
{
S 0
pentru j 1 : i 1
s s aij x j
pentru j i 1 : n
s s aij y j
xi (b s) / aii
}
p y
q x
yx
k k 1
}.
3.4. Exerciţii
1) Să se rezolve sistemele:
a)
0,78 x1 0,02 x 2 0,12 x 3
0,02 x1 0,68 x 2 0,04 x 3
0,12 x1 0,04 x 2 0,72 x 3
0,14 x1 0,06 x 2 0,08 x 3
- 47 -
6 x1 x 2
x3 11,33
c) x1 6 x 2
x1 x 2
x3
6 x3
32
42 utilizând metoda Gauss-
Seidel.
2) Analizaţi comparat metodele Jacobi, Gauss-Seidel şi relaxării pentru
2 1 0 1 ( 0) 0
A 1 2 1 , b 0 , x 0 .
0 1 2 1 0
Discuţii finale:
Să se discute despre metoda de eliminare a lui Gauss, factorizarea LU,
factorizarea Cholesky, metoda iterativă Jacobi, metoda iterativă Gauss-Seidel.
Tema propusă:
Să se realizeze o lucrare cu tema metoda de eliminare a lui Gauss, factorizarea
LU, factorizarea Cholesky, metoda iterativă Jacobi, metoda iterativă Gauss-
Seidel.
- 48 -
CAPITOLUL 4
Rezolvarea numerică a problemelor algebrice de
valori şi vectori proprii
Obiectivul capitolului
Însuşirea noţiunilor necesare programării algoritmul lui Jacobi de determinare a
valorilor si vectorilor proprii.
- 49 -
unde A este o matrice pătratică de ordin n, x un vector (nenul) care se numeşte
vector propriu (la dreapta) ce trebuie calculat iar un număr care se numeşte
valoare proprie ce trebuie calculată.
Valorile proprii pentru problema Ax x sunt rădăcinile ecuaţiei
(numită ecuaţie caracteristică):
det( A I ) P ( ) 0 ,
P ( ) fiind un polinom de grad n în obţinut din dezvoltarea determinantului
det( A I ) . Având o valoare proprie , un vector propriu corespunzător x
este soluţia nebanală a sistemului omogen de ecuaţii ( A I ) x 0 .
- 50 -
Dacă H este nesingulară, matricele A şi HAH 1 se numesc asemenea
(similare).
Ecuaţiile caracteristice a două matrici asemenea sunt identice, deoarece:
det( HAH 1 I ) det( HAH 1 HIH 1 )
det H ( A I ) H 1
det H det( A I ) det H 1
det( A I ).
Dacă x este vector propriu al matricei A atunci Hx este vector propriu al
matricii HAH 1 , deoarece:
din Ax x HAx Hx HAH 1 Hx Hx .
O matrice asemenea cu o matrice diagonală se numeşte regulată.
Dacă A este regulată atunci ea admite n vectori proprii liniar independenţi
(o bază de vectori proprii).
Dacă D diag (1 , 2 ,..., n ) şi A HDH 1 rezultă AH HD . Notăm
H ( x1 , x 2 ,..., x n ) . Avem
a11 a12 a1n 1 0 0
a
21 a 22 a 2n x1 x 2 x n x1 x 2 x n 0 2 0 .
a n1 a n 2 a nn 0 0 n
Obţinem Axi i xi .
Teorema 4.2.1.1. Dacă valorile proprii ale unei matrici sunt
distincte, atunci matricea este regulată.
Teorema 4.2.1.2. Pentru orice matrice pătratică complexă A există o
matrice unitară P, astfel încât
B P H AP
să fie superior triunghiulară.
O matrice A este normală dacă
A H A AA H .
Lema 4.2.1.1. O matrice normală şi triunghiulară este matrice
diagonală.
Demonstraţie. Fie T (t ij ) superior triunghiulară ( t ij 0, 1 j i n
). Scriem egalitatea ce rezultă din faptul că A este normală:
t11 t12 t13 t1n t11 0 0 0
0 t t t t t 22 0 0
22 23 2 n 12
0 0 t 33 t 3n t13 t 23 t 33 0 T H T .
0 0 0 t t t 2n t 3n t nn
nn 1n
- 51 -
Deci:
n n
t1 j t1 j t1 j t 2 j t1n t1n
j 1 j 2 t11t11 t1n t11
n
t nn t nn t in t in
i 1
n
2 2
| t1i | | t11 | t1 j 0 pentru j 2 ,
i 1
n
2 2 2
| t 2i | | t12 | | t 22 | t 2 j 0 pentru j 3 ,
i2
…,
deci T este diagonală.
Teorema 4.2.1.3. O matrice normală este regulată şi admite o bază
ortonormală de vectori proprii şi reciproc.
Demonstraţie. Fie A normală. Din teorema 4.2.1.2. există P unitară
astfel încât B P H AP să fie superior triunghiulară.
Avem
BB H ( P H AP)( P H AP) H ( P H AP )( P H A H P)
P H A( PP H ) A H P P H AA H P
( PP H I pentru că P este unitară).
B H B ( P H AP) H ( P H AP) ( P H A H P)( P H AP )
P H A H ( PP H ) AP P H A H AP
P H AA H P
( A H A AA H pentru că A este normală).
Deci BB H B H B , adică B este normală. Conform lemei 4.2.1.1. rezultă
că B este diagonală. Cum P H P 1 (P unitară) şi B diagonală rezultă că A este
regulată. Coloanele lui P sunt vectori proprii şi formează o bază ortonormală.
Reciproc. Dacă A admite o bază ortonormală de vectori proprii avem
AP PD , unde P este matricea unitară a acestor vectori proprii şi D este
matricea diagonală a valorilor proprii. Avem A PDP 1 PDP H (P unitară).
Avem
AAH ( PDP H )( PDP H ) H
PDP H PD H P H PDD H P H ,
- 52 -
AH A ( PDP H ) H ( PDP H ) PD H P H PDP H
PD H DP H PDD H P H .
Deci A H A AA H , adică A este normală.
det[ I ( D I ) 1 H 1 BH )] 0
1 1
I ( D I ) H BH este singulară (avem teorema: dacă C 1 atunci
I C este nesingulară).
Deci ( D I ) 1 H 1 BH 1 . Utilizând norma spectrală:
1
max | j | H 1 B H 1 .
j
Deci min | j | H 1 B H .
j
Dar
| bij | 1 B n .
Deci
min | j | n H 1 H .
j
- 53 -
Cazul matricelor complexe hermitiene se reduce la cel al matricelor reale
simetrice.
Fie A B iC , B, C reale. Fie valoare proprie (în acest caz este
reală) căreia îi corespunde un vector propriu de forma x iy cu x, y R n .
Deci ( B iC )( x iy ) ( x iy ) , sau
Bx Cy x
Cx By y ,
adică
B C x x
C B y y .
Deci problema devine reală dar de dimensiune dublă.
A hermitiană ( B iC ) H B iC B T iC T B iC B B T şi C C T
.
Deci matricea de ordin 2n este reală şi simetrică.
Ne limităm la o matrice A reală şi simetrică. Deci
A A AT A AAT A normală. Conform lemei 4.2.1.3., A este regulată şi
T
- 54 -
p q
1
1
p cos sin
1
Rk
1
q sin cos
1
1
p q
1
1
p cos sin
1
T
Rk
1
q sin cos
1
1
Se observă că
Rk RkT I .
Deci
AkT1 Rk Ak RkT Rk Ak Rk1 Ak 1 asemenea cu Ak .
Facem calculele în relaţia
Ak 1 Rk Ak RkT
şi avem
- 55 -
p i j q
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0
0 cos 0 0 sin 0 cos sin
(a ( k ) )
0 0 0 1 0
0 0 ij (a
0 0 0 0 1 0 0 sin cos
0 0 sin 0 0 cos 0
0 0 0 0 0 0 1
Deci
( k 1) (k ) (k )
a ip a ip cos aiq sin , i p , q
( k 1) (k ) (k )
a aip sin aiq cos , i p , q
iq
a ( k 1)
pp a( k)
pp cos
2
2a ( k) (k )
pq sin cos a qq sin
2
( k 1)
a qq a( k)
pp sin
2
2a ( k) (k )
pq sin cos a qq cos
2
a ( k 1) ( k 1)
a qp (k )
( a qq a( k)
) cos sin a (k )
(cos 2
sin 2 )
pq pp pq
pentru toţi i, j p, q .
k 1)
Din condiţia de anulare a lui a (pq obţinem:
sin 2 2a (pqk )
a (k )
pq cos 2 (a (k )
qq a )(k )
pp 0 tg 2 ( k ) (k ) .
2 a pp a qq
Alegem cu | | .
4
Lucrăm cu numărătorul şi numitorul separat (pentru a evita pierderea
preciziei la împărţire).
sin 2 c sin 2 2 c 2 c2 c
sin 2 2 sin 2 f
cos 2 d cos 2 2 d 2 d 2 c2 d c2
2
- 56 -
adică suma pătratelor elementelor nediagonale, cu excepţia celor din poziţiile
(p,q) şi (q, p) nu se modifică.
Dar elementele din poziţiile (p,q) şi (q, p) în A ( k 1) sunt zero.
Deci
1/ 2 2
2 (
E k 1 E | aijk 1)
|
2 E 2 2( a ( k ) ) 2
i j k E pq
k 1) ( k 1)
pentru că a (pq a qp 0. Rezultă că
2 2
E k 1 E E k E
2
cu 1 2
1.
n n
Într-adevăr, | aij( k ) | | a qp
(k )
| pentru 1 i j n . În Ek E sunt n2
termeni, deci
2 1 2
Ek E (n 2 n)(a (pq
k) 2
) Ek E (a (pq
k) 2
)
2
n n
2 2
2(a (pq
k) 2
) Ek E
2
n n
2 2 k) 2 2 2
Ek 1 E Ek E 2( a (pq ) 1 Ek E .
2
n n
Deci E k 2E k E0 2E cu 0 1 . Rezultă klim E k 0 . Deci la limită
se obţine o matrice diagonală. Deoarece toate matricile şirului sunt asemenea cu
A elementele diagonale sunt valorile proprii ale lui A. Convergenţa este cel
puţin comparabilă cu cea a lui k , din punct de vedere al rapidităţii.
Dacă ultima rotaţie care se efectuează până elementele nediagonale devin
inferioare preciziei a calculelor ( fiind dat) este Rs atunci avem:
( Rs R2 R1 R0 ) A( R0T R1T R2T RsT ) diag (1 , 2 ,..., n ) .
Cu această precizie vectorii proprii sunt coloanele matricii
Vs R0T R1T R2T RsT ( Rs R2 R1 R0 )T .
Iniţializăm V = I şi la fiecare pas înmulţim la stânga pe V cu rotaţia
respectivă. Notăm V (Vij(k ) ) .
Înmulţirea de mai sus se transpune în formulele:
( k 1)
v pi v( k)
pi
(k )
cos v qi sin
( k 1) (k ) (k )
v v sin v cos
qi pi qi
Algoritmul 4.3.1.
Intrări: n = ordinul matricei simetrice A
- 57 -
A = matricea simetrică
= precizia
Ieşiri: x = vectorul cu valorile proprii
B = matricea ale cărei coloane conţine vectorii proprii
{
s1 1
cât timp s1
{
max | b12 |
p 1
q2
pentru i 1 : n
pentru j 1 : n
dacă j i atunci
dacă max | bij | atunci
{
max | bij |
pi
q j
}
dacă b pp bqq atunci
{
c 2/2
s 2 /2
}
altfel
{
c cos(arctan(2b pq /(b pp bqq )) / 2)
s sin(arctan(2b pq /(b pp bqq )) / 2)
}
a pp b pp c 2 bqq s 2 2b pq sc
a qq b pp s 2 bqq c 2 2b pq sc
a pq (bqq b pp ) sc (c 2 s 2 )b pq
a qp a pq
pentru i 1 : n
{
dacă (i p ) şi (i q ) atunci
{
- 58 -
aip bip c biq s
a pi aip
aiq bip s biq c
a qi aiq
pentru j 1 : n
dacă ( j p ) şi ( j q ) atunci
{
aij bij
a ji aij
}
}
}
pentru i 1 : n
pentru j 1 : n
bij aij
s1 0
pentru i 1 : n
pentru j 1 : n
dacă j i atunci
s1 s1 aij2
}
pentru i 1 : n
i aii
pentru j 1 : n
{
\* vectorul propriu j
pentru j 1 : n
bij aij
}
}.
- 59 -
constă în înmulţirea ecuaţiei la stânga cu B 1 , presupunând că matricea B este
nesingulară:
( B 1 A) x x .
Dacă A şi B sunt simetrice, nu întotdeauna B 1 A este simetrică.
Dacă A şi B sunt simetrice şi B este pozitiv definită, se poate transforma
problema generalizată într-o problemă standard pornind de la descompunerea
Chalescki a matricii B:
B L LT ,
unde L este inferior triunghiulară.
Obţinem:
L1 Ax LT x ,
sau,
L1 A( L1 ) T ( LT x ) ( LT x ) ,
adică
A x x
adică
x ( LT ) 1 x .
4.5. Exerciţii
1) Să se determine valorile proprii şi vectorii proprii pentru matricea
1 1 1
A 1 1 1 .
1 1 1
2) Să se determine cea mai mare valoare proprie pentru
202 262 369
A 176 440 504 .
228 462 561
3) Fie matricile:
- 60 -
7 6 2 1 5 0
a) A 1 2 2 b) B 1 1 1 .
1 1 2 0 1 1
Să se determine valorile proprii şi vectorii proprii prin metoda Jacobi.
De asemenea, să se scrie programul în C pentru metoda mai sus menţionată.
Discuţii finale:
Să se discute despre algoritmul lui Jacobi de determinare a valorilor şi
vectorilor proprii.
Tema propusă:
Să se facă o lucrare cu tema algoritmul lui Jacobi de determinare a valorilor şi
vectorilor proprii.
- 61 -
CAPITOLUL 5
Aproximarea funcţiilor prin polinoame
Obiectivele invatarii
Însuşirea unor noţiunie referitoare la interpolarea polinomială Lagrange,
algoritmul Aitken, diferenţe divizate, formula lui Newton de interpolare,
diferenţe finite, formule de interpolare pe noduri echidistante, interpolarea
polinomială Hermite, aproximarea discretă în sensul celor mai mici pătrate.
5.1. Introducere
Pentru o funcţie f : [a, b] R problema aproximării ei printr-un
polinom se pune fie când este dificil de evaluat f, fie când nu se cunoaşte
expresia analitică a lui f ci doar valorile ei în anumite puncte xi [a, b] ,
i 0, n , obţinute în general ca urmarea a unor măsurări şi prezentate într-un
tabel.
Mulţimea de puncte xi [a, b] , i 0, n , cu proprietatea
a x0 x1 ... xn b , o vom nota prin d[ a, b] şi o vom numi diviziune a
intervalului [ a, b] .
Punctele xi , i 0, n vor fi numite nodurile diviziunii.
Alegerea unui polinom pentru aproximarea funcţiei f se justifică prin
modul simplu computerizat de evaluare a valorii polinomului într-un punct.
Weierstrass, în 1885, demonstrează că „orice funcţie continuă pe un
interval [ a, b] este limita uniformă pe [ a, b] a unui şir de polinoame” şi dă
un procedeu pentru calculul acestor polinoame. Bernstein, în 1912, dă o metodă
prin care putem calcula, pentru o funcţie continuă pe [ a, b] , un şir ( Pn ) n de
polinoame uniform convergent către f.
Fiind dată o funcţie arbitrară f : [a, b] R se pune problema stabilirii
unui criteriu de alegere a polinomului P care să aproximeze funcţia dată. Astfel
este necesar un instrument matematic pentru măsurarea distanţei dintre două
funcţii, care impune situarea într-un spaţiu vectorial normat complet şi în
funcţie de stabilirea criteriului de alegere a polinomului P care să aproximeze
funcţia f vom avea metode de aproximare a funcţiilor prin polinoame şi anume:
aproximarea prin interpolare, aproximarea în medie pătratică.
- 62 -
d[ a, b] : a x0 x1 ... x n b .
Presupunem cunoscute valorile funcţiei f în nodurile xi , i 0, n ale
diviziunii d[ a, b] şi (eventual) derivatele de anumite ordine ale funcţiei f în
aceste noduri. Se pune problema determinării unui polinom P care are aceleaşi
valori ca şi f în noduri şi (eventual) derivatele de anumite ordine ale lui f şi P în
noduri să coincidă. Un astfel de polinom P îl vom numi polinom de interpolare
ataşat funcţiei f şi diviziunii d[ a, b] .
- 63 -
Cele (n + 1) polinoame k formează deci o bază a acestui spaţiu
vectorial de dimensiune n + 1. Polinomul P căutat se obţine ca o combinaţie
liniară de polinoame k , adică polinomul dat de formula Lagrange:
n
P( x) f k k ( x) .
k 0
Într-adevăr,
n
P( xi ) f k k ( xi ) f i , pentru i 0, 1, ..., n .
k 0
Pentru calculul valorii polinomului de interpolare Lagrange într-un punct
a folosind relaţia
n
P( x) f k k ( x)
k 0
a fost definit algoritmul următor:
Algoritmul 5.2.1.1.
Intrări: n = gradul polinomului de interpolare
a = valoarea argumentului polinomului
x = tabloul absciselor punctelor de interpolare
y = tabloul ordonatelor punctelor de interpolare
Ieşiri: = valoarea polinomului de interpolare în a
{
0
pentru i 0 : n
{
P 1
pentru j 0 : n
dacă j i atunci
P P (a x j ) /( xi x j )
yi P
}
}.
Complexitatea metodei este O( n 2 ) , mai exact 4n 2 operaţii ( n( 2n 3)
adăugări, (n 1)(2n 1) înmulţiri şi (n 1) împărţiri).
În continuare dăm o altă manieră de scriere a polinomului Lagrange. Fie
w polinomul de grad (n 1) definit prin:
w( x) ( x x0 )( x x1 )...( x x n ) .
Atunci
w' ( x k ) ( x k x0 )( x k x1 )...( x k x k 1 )( x k x k 1 )...( x k x n ) .
Deci
w( x)
k ( x)
( x xk ) w' ( xk )
- 64 -
cu k ( x k ) 1 .
Înlocuind k prin expresia sa în formula Lagrange, obţinem:
n f k w( x) n fk
P ( x) w( x) .
k 0 ( x x k ) w' ( x k ) k 0 ( x x k ) w' ( x k )
n
În cazul când f k 1 pentru orice k avem relaţia k ( x ) 1 . Cum
k 0
n n 1
k ( x) w( x) 1
k 0 k 0 ( x x k ) w' ( x k )
obţinem formulele baricentrice
n fk
( x x k ) w' ( xk )
P( x) k 0 .
n 1
k 0 ( x x k ) w' ( x k )
În acest caz numărul de operaţii este de ordinul 2n 2 , dar o nouă evaluare
1
a lui P ( x ) , dacă se conservă valorile lui , nu va cere decât 2n
w' ( x k )
operaţii.
- 65 -
(b a)
P(a)
ba
( a b)
P (b) .
ba
În continuare se va construi polinomul P de grad cel mult n astfel încât:
P ( xi ) f i pentru i 0, 1, ..., n .
Considerăm următorul tabel triunghiular:
0 1 2 3 j j+1 n
0 P0,0 x0 x
1 P1,0 P1,1 x1 x
k Pk ,0 Pk ,1 Pk , 2 Pk ,3 Pk , j Pk , j 1 xk x
- 66 -
Aplicând lema 5.2.2.1., Pk , j 1 este polinomul de interpolare pe
punctele {x0 , x1 , ..., x j 1 , x j , x k } .
- 67 -
În practică, pentru a aproxima o mulţime de puncte de interpolare, se va
limita la polinoame de grad cel mult 10.
Se va prefera pentru polinoame de grad mai mare decât 10, să se utilizeze
funcţii spline care au cele mai bune proprietăţi de stabilitate.
Exemplul 1. Să se construiască polinomul de interpolare Lagrange a
2
funcţiei f definită pe [5,5] prin f ( x ) e x .
2
Rezolvare. Se constată că se aproximează curba f ( x ) e x la centrul
intervalului, iar la extremităţi se produc oscilaţii numite efecte de margine.
Exemplul 2. Să se construiască polinomul de interpolare Lagrange a
1
funcţiei f definite pe [5,5] prin f ( x) .
1 x2
Rezolvare. Se remarcă faptul că se produc efecte de margine.
Exemplul 3. Se dă funcţia f prin următorul tabel:
xi 0 1 2
f ( xi ) 4 1 10
Se cere polinomul Lagrange P ( x ) .
Rezolvare.
( x 1)( x 2) ( x 0)( x 2) ( x 0)( x 1)
P ( x) (4) 1 10
(0 1)(0 2) (1 0)(1 2) (2 0)(2 1)
2 x 2 3 x 4.
- 68 -
[ x 2 ,..., x k 1 ] f [ x1 ,..., xk ] f
[ x1 , x 2 ,..., xk 1 ] f
x k 1 x1
în care diferenţele divizate de la numărător sunt de ordin k 1 .
Rezultatul care urmează precizează că diferenţa divizată depinde de
nodurile în care este definită şi de valorile funcţiei f în aceste noduri.
Teorema 5.2.4.1. Pentru orice k 2 şi orice noduri distincte
x1 , x 2 ,..., x k are loc formula:
k f ( xi )
[ x1 , x2 ,..., xk ] f
k
i 1
( xi x j ) .
j 1
j i
Demonstraţie. Facem inducţie după k. Pentru k 2 , formula din enunţ
se verifică conform definiţiei diferenţei divizate de ordinul întâi. Presupunem
adevărată formula din enunţ pentru k noduri distincte oarecare şi verificăm
pentru k 1 noduri. Utilizând formula de recurenţă din definiţia diferenţei
divizate de ordinul k şi ipoteza de inducţie avem:
k 1 k
1 f ( xi ) f ( xi ) f ( xk 1 )
[ x1 , x2 ,..., xk 1 ] f k 1
xk 1 x1 i 2 i 1
k k
( xi x j ) ( xi x j ) ( xk 1 x j )
j 2 j 1 j 1
j i j i
k f ( x )( x x ) f ( x )( x x ) f ( x1 ) k 1 f ( xi )
i i 1 i i k 1
.
k 1 k 1 k
i2 i 1
( xk 1 x1 ) ( xi x j ) ( x1 x j ) ( xi x j )
j 1 j 2 j 1
j i j i
Diferenţele divizate definite prin recurenţă furnizează un algoritm de
complexitate O( n 2 ) .
Algoritmul 5.2.4.1.
Intrări: n + 1 = numărul de puncte
x = tabloul celor n + 1 puncte
y = tabloul valorilor funcţie f în cele n + 1 puncte
Ieşiri: y = diferenţele divizate de ordin 0 .. n în x0
{
pentru i 1 : n
pentru j n : i
y j ( y j y j 1 ) /( x j x j 1 )
- 69 -
}.
- 70 -
s y0
P 1
pentru i 1 : n
{
P P (a xi 1 )
s s P yi
}
s
}.
- 71 -
Să presupunem că punctul x în care se face interpolarea pe nodurile
echidistante x0 , x1 , ..., x n este apropiat de x0 . Făcând transformarea
x x0 th în polinomul lui Newton de interpolare şi ţinând cont de legătura
dintre diferenţe finite şi divizate, obţinem după simplificări:
t (t 1) 2 t (t 1)...(t n 1) n
P( x0 th) f ( x0 ) t f ( x0 ) f ( x0 ) ... f ( x0 ).
2! n!
Aceasta se numeşte formula lui Newton progresivă pe noduri
echidistante.
Dacă x este apropiat de x n , făcând transformarea i ' n 1 i ,
i 0, 1, ..., n , formula lui Newton devine:
P( x) f ( x n ) [ x n , x n 1 ] f ( x x n ) [ x n , xn 1 , x n 2 ] f ( x x n )( x x n 1 )
... [ xn , x n 1 ,..., x0 ] f ( x x n )( x x n 1 )...( x x1 ).
Făcând transformarea x x n th şi ţinând cont de legătura dintre
diferenţe finite şi divizate, obţinem după simplificări:
t (t 1) 2
P ( xn th) f ( xn ) t f ( xn 1 ) f ( xn 2 ) ...
2!
t (t 1)...(t n 1) n
f ( x0 ),
n!
numit polinomul Newton regresiv pe noduri echidistante.
Formula lui Newton progresivă pe noduri echidistante conduce la
următorul algoritm.
Algoritmul 5.2.7.1.
Intrări: n + 1 = numărul de puncte
h = pasul
x = tabloul punctelor de interpolare
x0 ah = abscisa în care se calculează polinomul
Ieşiri: = valoarea polinomului de interpolare în x0 ah
{
f ( x0 )
pentru k 1 : n
{
P 1
pentru q 1 : k 1
P P (a q 1) / q
dacă k este par atunci
d f ( x0 )
altfel
d f ( x0 )
pentru j 1 : k
{
- 72 -
c 1
pentru q 1 : j
c c (k q 1) / q
dacă (k j ) este par atunci d d c f ( x0 jh)
altfel
d d c f ( x0 jh)
}
}
}.
xi 0 1 2 3
yi 4 1 10 29
adică P ( x k ) f k .
h'i ( x) 2'i ( xi )2 i ( x ) [1 2( x xi )'i ( xi )]2i ( x )'i ( x ) ,
2
k 'i ( x ) i ( x ) 2( x xi )i ( x )'i ( x ) .
Deci:
h'i ( xi ) 2'i ( xi ) 2'i ( xi ) 0 , k 'i ( xi ) 2i ( xi ) 1 ,
pentru j i avem h'i ( x j ) 0 , k 'i ( x j ) 0 , deci P' ( xk ) f ' k .
Pentru evaluarea erorii la interpolarea Hermite avem
Teorema 5.2.8.2.
Dacă f C 2n 2 [a, b] şi a x0 x1 ... xn b atunci
( x x0 ) 2 ( x x1 ) 2 ...( x x n ) 2 ( 2n 2)
f ( x ) P ( x) f ( ) ,
(2n 2)!
unde a min( x, x0 ) max(x, x n ) b .
Demonstraţia este asemănătoare celei de la interpolare Lagrange.
Polinomul P având expresia
n n
P ( x) hi ( x) f i k i ( x) f 'i
i 0 i0
se numeşte polinomul lui Hermite construit pe baza condiţiilor de interpolare
P ( xi ) f ( xi ) f i
P ' ( x ) f ' ( x ) f ' , i 0, 1, ..., n .
i i i
- 74 -
s 0
pentru i 0 : n
{
1
_ d 0
pentru j 0 : n
dacă j i atunci
{
(a x j ) /( xi x j )
_ d _ d 1 /( xi x j )
s s + + 1 2 ( a x i ) l _ d y i ( a x i ) y _ d i
}
hs
}.
şi
2
hi
f "i 1 bi h
6
,
de unde
fi hi
ai f "i şi
hi 6
f i 1 hi
bi f "i 1 .
hi 6
( x i 1 x ) 3 hi
S i ( x) f "i
6 hi 6
fi f i 1
( x i 1 x ) (x
hi hi
echivalent cu:
hi hi fi f i 1
f "i f "i 1 f "
3 6 hi hi
- 76 -
sau încă pentru i 1, 2, ..., n 1 :
hi f "i 1 2( hi hi 1
.
Am obţinut un sistem de n 1 ecuaţii liniare cu n 1 necunoscute.
Precizând valorile lui f "0 şi f "n
se poate rezolva sistemul liniar tridiagonal.
Exemplu. Pe intervalul [5,5] fie funcţiile f şi g definite prin
1
şi g ( x)
2
f ( x) e x 2 . Să se facă interpolarea prin funcţii spline cu 3, 5
x 1
şi respectiv 9 puncte echidistante şi să se dea valorile derivatelor la extremităţi.
Rezolvare. Se constată că pentru 9 puncte de interpolare avem o foarte
bună aproximare şi nici un efect de margine.
1/ 2
b
b) f | f ( x) | 2 dx (norma convergenţei pătratice).
a
are un minim. Pentru aceasta, se arată că această funcţie este continuă şi că este
suficient a limita mulţimea de variaţie a lui a1 , a 2 ,..., a n la o mulţime
mărginită şi închisă (exteriorul acestei mulţimi nu conţine minimul) pentru a
aplica teorema: orice funcţie continuă pe o mulţime închisă şi mărginită din R n
îşi atinge minimul său.
Corolarul 5.3.2.1. Fie f C (a, b) , n întreg fixat.
Problema: să se găsească ( ai ) astfel ca:
- 78 -
are o soluţie.
Aceasta se numeşte aproximarea discretă în sensul celor mai mici pătrate.
- 79 -
1 x0 y0
1
x1 a y
1 1 1 1 1 1 1 1 1
x x x x 1 x2 0 x x x x y 2 ,
0 1 2 k a
1
0 1 2 k
1
xk y
k
k k
k 1 xi yi
i 0 a0 i 0 . Notând x 1 x , y 1 y ,
k k
adică k
2 a1
k k i i
k 1 i 0 k 1 i 0
i i
x x i i
x y
i0 i 0 i 0
deoarece ( xi x )( yi y ) xi yi x yi yxi x y , avem
1 k 1 k x k y k
( xi x )( yi y ) xi y i yi xi x y , care, în
k 1 i 0 k 1 i 0 k 1 i 0 k 1 i 0
5.4. Exerciţii
1) Să se determine polinomul de interpolare Lagrange care aproximează
funcţia f, cu valorile din tabelul alăturat:
xi 0 1 2
f i 0 1 27
2) Să se calculeze, folosind polinomul de interpolare Lagrange,
funcţia definită de următorul tabel:
xi 0 1,2 2,5 4,0 5,1 6,0 6,5 7,0
f i 3,00 6,84 14,25 27 39,21 51,00 58,25 66,00
Se va evalua f ( 2,00) .
- 80 -
3) Pentru x0 1 , h 1 , să se determine diferenţele finite pentru
f ( x) x 4 x 2 1 .
1
4) Fie funcţia f : R R definită prin f ( x) .
1 x2
a) Construiţi polinomul P de interpolare Lagrange pe punctele 0, 1, 3, 5.
b) Calculaţi P ( 4) şi comparaţi cu f (4) .
c) Calculaţi polinomul Q al lui Hermite astfel ca:
Q (0) f (0) , Q ' (0) f ' (0) , Q(5) f (5) , Q ' (5) f ' (5) .
Comparaţi f (4) cu Q ( 4) . Care este concluzia?
5) Să se determine valorile polinoamelor de interpolare: Lagrange, Aitken,
Newton şi Hermite ce aproximează următoarele funcţii pe nodurile de interpolare
corespunzătoare în punctele precizate şi să se calculeze diferenţele finite şi divizate:
a) f ( x) x 3 şi nodurile: 0; 2; 4; 6; 8 în 0,1;
b) f ( x) x 3 2 x 2 x 3 şi nodurile 1; 2; 3; 4 în 1,1;
x4
c) f ( x) şi nodurile 2; 3; 4; 5; 6 în 4,5.
ln x
De asemenea, să se scrie programele în C pentru metodele mai sus
menţionate.
Discuţii finale:
Să se discute despre interpolarea polinomială Lagrange, algoritmul Aitken,
diferenţe divizate, formula lui Newton de interpolare, diferenţe finite, formule
de interpolare pe noduri echidistante, interpolarea polinomială Hermite,
aproximarea discretă în sensul celor mai mici pătrate.
Tema propusă:
Să se întocmească o lucrare cu tema interpolarea polinomială Lagrange,
algoritmul Aitken, diferenţe divizate, formula lui Newton de interpolare,
diferenţe finite, formule de interpolare pe noduri echidistante, interpolarea
polinomială Hermite, aproximarea discretă în sensul celor mai mici pătrate.
- 81 -
Capitolul 6
Rezolvarea ecuaţiilor diferenţiale ordinare de ordinul I
Obiectivul capitolului
Însuşirea unor noţiuni referitoare la metoda Euler şi la metode Runge – Kutta.
6.1. Introducere
Ecuaţiile diferenţiale numerice ordinare sunt o parte a analizei numerice
care studiază soluţia numerică a ecuaţiilor diferenţiale ordinare (ODE). Această
parte este cunoscută de asemenea sub denumirea de integrare numerică, dar unii
cercetători rezervă acest termen pentru calculul integralelor. Multe ecuaţii
diferenţiale nu pot fi rezolvate analitic, caz în care trebuie să ne mulţumim cu o
aproximaţie a soluţiei. Algoritmii studiaţi aici pot fi folosiţi pentru a calcula
astfel de aproximaţie. O metodă alternativă este să folosim tehnicile din calcul
pentru a obţine o dezvoltare în serie a soluţiei. Ecuaţiile diferenţiale ordinare
apar în multe discipline ştiinţifice, de exemplu în mecanică, chimie, biologie şi
economie. În plus, unele metode în numerica ecuaţiilor diferenţiale ordinare
transformă ecuaţia cu derivate parţiale într-o ecuaţie diferenţială ordinară, care
trebuie rezolvată.
Problema
Vrem să aproximăm soluţia ecuaţiei diferenţiale:
y '(t ) f (t , y (t )), y (t0 ) y0 (1)
unde f este o funcţie care duce [t0,∞) × Rd în Rd, şi condiţia iniţială y0 Rd este
un vector dat.
Formularea de mai sus se numeşte problema valorii iniţiale (IVP).
Teorema Picard – Lindelöf afirmă că există o soluţie unică, dacă f este Lipschitz
continuă. În contrast, problemele valorii mărginite (BVP) menţionează soluţia y
în mai mult de un punct. Diferite metode trebuie să fie folosite pentru a rezolva
BVP, de exemplu shooting method, multiple shooting sau metode globale
metoda diferenţelor finite sau metode sintagmă.
Ne limităm la ecuaţii diferenţiale de ordinul I (adică, în ecuaţie apare
doar prima derivată a lui y). Oricât, o ecuaţie de ordin superior poate fi uşor
convertită într-o ecuaţie de ordinul I introducând noi variabile. De exemplu,
ecuaţia de ordinul II y " y poate fi rescrisă ca ecuaţiile de ordinul I:
y ' z şi z ' y .
- 82 -
6.2. Metode
Prezentăm două metode elementare.
- 83 -
6.3. Generalizări
Metoda Euler este adesea nu destul de precisă. Mai precis, ea are
doar ordinul 1, acest lucru făcându-i pe matematicieni să caute metode de
ordin mai mare.
O posibilitate este folosirea nu doar a valorii anterior calculată yn
pentru a determina yn 1 , dar şi determinarea faptului ca soluţia să depindă de
mai multe valori precedente. Aceasta conduce la aşa – numita metoda multi –
pas. Probabil cea mai simplă este metoda Leapfrog care este de ordinul 2 şi,
vorbind grosolan, se bazează pe două valori de timp.
Aproape toate metodele practice multi – pas sunt din familia metodelor
multi – pas liniare, care au forma:
k yn k k 1 yn k 1 0 yn
h k f (tn k , yn k ) k 1 f (tn k 1 , yn k 1 ) 0 f (tn , yn ) .
O altă posibilitate este să folosim mai multe puncte în intervalul [tn,tn+1].
Aceasta conduce la familia metodelor Runge – Kutta. Ambele idei pot fi
combinate, metodele rezultante fiind numite metode liniare generale.
6.3.1. Metode Runge – Kutta
În analiza numerică, metodele Runge – Kutta sunt o familie importantă de
metode iterative implicite şi explicite pentru aproximarea soluţiilor unor ecuaţii
diferenţiale ordinare. Aceste tehnici au fost dezvoltate în jurul anului 1900 de
matematicienii germani C. Runge şi M. W. Kutta.
6.3.1.1. Metoda clasică Runge – Kutta de ordin 4
Fie problema y ' f (t , y ), y (t0 ) y0 . Metoda clasică Runge – Kutta de
ordin 4 (RK4) pentru această problemă este dată de ecuaţiile următoare:
h
yn 1 yn ( k1 2k2 2k3 k4 )
6
t n 1 t n h
unde yn 1 este aproximarea RK4 pentru y (tn 1 ) şi
k1 f (tn , yn )
h h
k2 f tn , yn k1
2 2
h h
k3 f tn , yn k2
2 2
k4 f tn h, yn hk3
- 84 -
Astfel, valoarea următoare ( yn 1 ) este determinată de valoarea curentă (
yn ) plus produsul dintre mărimea intervalului (h) şi o pantă estimată. Panta este
o medie ponderată a pantelor:
k1 este panta de la începutul intervalului;
k2 este panta de la mijlocul intervalului, folosind panta k1
h
pentru a determina valoarea lui y în punctul tn folosind metoda lui Euler;
2
k3 este tot panta de la mijlocul intervalului, dar folosind panta
k2 pentru a determina valoarea lui y;
k1 este panta de la sfârşitul intervalului, cu valoarea lui y
determinată folosind k3 .
Atunci,
k 2 k 2 2 k3 k 4
panta 1 .
6
Metoda RK4 este o metodă de ordin 4, adică eroarea pe pas este de
ordinul lui h5 , în timp ce eroarea totală acumulată are ordinul h 4 .
6.3.2. Caracteristici
O bună implementare a uneia din aceste metode de rezolvare a ecuaţiilor
diferenţiale ordinare este necesară mai mult decât formula time – stepping.
Adesea este insuficient să folosim acelaşi pas tot timpul, deci au fost dezvoltate
metodele care variază pasul.
De obicei, pasul este ales astfel încât eroarea (locală) pe pas să fie mai
mică decât un nivel de toleranţă. Aceasta înseamnă că metodele trebuie de
asemenea să calculeze un indicator al erorii, o estimare a erorii locale.
O extindere a acestei idei este să alegem dinamic între diferite metode de
diferite ordine (aceasta se numeşte metoda variaţiei ordinului). Metodele de
extrapolare sunt des folosite pentru a construi diferite metode de diferite ordine.
Alte caracteristici sunt:
ieşirea densă: aproximări numerice mici pentru întreg intervalul de
integrare, şi nu doar în punctele t0, t1, t2, ...
- 86 -
locaţia evenimentului: găsirea timpul în care, o funcţie particulară se
anulează.
ajutor pentru calcul paralel.
când sunt folosite pentru integrare în raport cu timpul, reversibilitatea
timpului.
- 87 -
hn k (tn k ; y (tn ), y (tn 1 ), , y (tn k 1 ); h) y(tn k ) .
h
Metoda este consistentă dacă lim n k 0 .
h0 h
Metoda este de ordinul p dacă hn k O(h p 1 ) pentru h 0 .
Deci, o metodă este consistentă dacă are un ordin mai mare decât 0.
Metoda Euler (forward) (4) şi metoda Euler backward (6) introduse mai sus au
amândouă ordinul 1, deci sunt consistente. Majoritatea metodelor folosite în
practică ating un ordin mare. Consistenţa este o condiţie necesară pentru
convergenţă, dar nu şi suficientă; pentru ca o metodă să fie convergentă trebuie
să fie atât consistentă cât şi stabilă în zero.
Un concept asociat este eroarea globală, adică eroarea făcută în toţi paşii
pe care trebuie să-i atingem la timpul fixat t. explicit, eroarea globală la timpul t
t t0
este y N y (t ) unde N . Eroarea globală a unei metode cu un pas de
h
ordinul p este O(h p ) ; în particular, o astfel de metodă este convergentă.
Această afirmaţie nu este neapărat adevărat pentru metodele multi – pas.
Stabilitatea şi stiffness
Pentru unele ecuaţii diferenţiale, aplicarea unor metode standard –
precum metoda Euler, metodele explicite Runge – Kutta sau metodele multi –
pas (de exemplu, metodele Adams – Bashforth) – expun instabilitatea în soluţie,
totuşi alte metode pot conduce la soluţii stabile. Acest “comportament dificil”
în ecuaţie (care nu trebuie neapărat să fie dificilă) este descris ca rigiditate, şi
adesea este cauzat la prezenţa unor scale de timp diferite în problema de bază.
Problemele rigide sunt omniprezente în cinematica chimică, teoria controlului,
mecanica solidului, predicţia vremii, biologie şi electronică.
Discuţii finale:
Să se discute despre metoda Euler şi metode Runge – Kutta.
Tema propusă:
Să se întocmească o lucrare cu tema metoda Euler, metode Runge – Kutta.
- 88 -
CAPITOLUL 7
Integrarea numerică
Obiectivul capitolului
Însuşirea unor noţiuni referitoare la formulele Newton – Cotes, metoda
dreptunghiurilor, regula trapezului, metoda Romberg, regula Simpson,
cvadratura gaussiană.
7.1. Introducere
În analiza numerică, integrarea numerică constituie o familie vastă de
algoritmi pentru calculul valorii numerice a unei integrale definite, şi prin
dezvoltare, termenul este de asemenea numit uneori folosit să descrie soluţia
numerică a unei ecuaţii diferenţiale. Termenul cvadratură numerică (pe scurt,
adesea, cvadratură) este mai mult sau mai puţin sinonim pentru integrarea
numerică, special ca aplicat integralelor unu – dimensionale. Integrarea 2 –
dimensională şi mai mare este uneori descrisă ca cubatură, deşi sensul
cvadraturii este înţeles la fel de bine şi pentru integrări de dimensiune mai mare.
Problema fundamentală considerată de integrarea numerică este să
calculăm o soluţie aproximativă a unei integrale definite:
b
f ( x)dx .
a
Dacă f ( x) este o funcţie netedă peste o un număr mic de dimensiuni şi
limitele de integrare sunt mărginite, atunci există multe metode de aproximare a
integralei cu o precizie arbitrară.
- 89 -
Această ecuaţie diferenţială are o formă specială: membrul drept conţine
doar variabila dependentă (x) şi nu variabila independentă (I). Acest fapt
sugerează că pot fi dezvoltate metode specifice pentru evaluarea unei integrale,
şi că aceste metode pot lucra mai bine decât metodele generale pentru problema
valorii iniţiale pentru ecuaţii diferenţiale.
Motive pentru integrarea numerică
Există câteva motive pentru a face integrarea numerică. Integrantul f ( x)
poate fi cunoscut doar în anumite puncte, aşa cum este obţinut prin prelevare.
Unele sisteme încastrate şi alte aplicaţii pe calculatoare pot avea nevoie de
integrare numerică pentru acest motiv. Poate fi ştiută o formulă pentru
integrant, dar este dificil sau imposibil de găsit o antiderivată care este o funcţie
2
elementară. Un exemplu de asemenea integrant este f ( x ) e x , antiderivata
căruia nu poate fi scrisă într-o formă elementară. Poate fi găsită o antiderivată
simbolică, dar este mai uşor de calculat o aproximare numerică decât de
calculat antiderivata. Acesta poate fi cazul dacă antiderivata este dată ca o serie
infinită sau ca product, sau dacă evaluarea ei necesită o funcţie specială ca nu
este disponibilă.
Metode pentru integrale de dimensiune unu
Metodele de integrare numerică pot fi descrise ca, combinând evaluările
integrantului pentru a obţine o aproximare a integralei. O importantă parte a
analizei oricărei metodei de integrare numerică este studiul comportării erorii
aproximării ca o funcţie de numărul de evaluări ale integrantului. O metodă care
produce o eroare mică pentru un număr mic de evaluări este de obicei
considerată ca superioară. Reducând numărul de evaluări ale integrantului
reducem numărul de operaţii aritmetice implicate, şi de aceea, reduce eroarea
totală rotunjită. De asemenea, fiecare evaluare ia timp, şi integrantul poate fi
complicat.
Poate fi făcută integrarea numerică brută dacă integrantul se comportă
rezonabil (adică, este continuu) prin evaluarea integrantului cu creşteri foarte
mici.
Regulile cvadraturii bazate pe interpolarea funcţiilor
O clasă largă de reguli de integrare poate fi obţinută prin construcţia
funcţiilor de interpolare car sunt uşor de integrat. De obicei aceste funcţii de
interpolare sunt polinoame.
- 90 -
Cea mai simplă metodă de acest tip este să punem ca funcţie de
interpolare o funcţie constantă (un polinom de grad 0) care trece prin punctul
a b a b
2 , f 2 . Această metodă se numeşte regula mijlocului sau regula
dreptunghiului.
b ab
f ( x)dx (b a ) f .
a 2
.
Exemplificare pentru regula trapezului
Pentru oricare din aceste trei reguli, putem face o aproximare mai precisă
împărţind intervalul [a, b] într-un număr de n subintervale, calculând o
aproximare pe fiecare subinterval, apoi adunând toate rezultatele. Acest mod se
numeşte regulă compusă, regulă extinsă sau regulă iterativă. De exemplu,
regula trapezului compusă poate fi exprimată ca:
b b a f (a ) f (b) n 1 b a
f ( x)dx f a k (*)
a n 2 k 1 n
unde subintervalele au forma
kh, (k 1)h ,
ba
cu h şi k 0, n 1 .
n
- 91 -
Interpolare cu polinoame evaluate în puncte echidistante în [a, b] produce
formulele Newton – Cotes, care are ca exemple regula dreptunghiului şi regula
trapezului. Regula Simpson, care se bazează pe un polinom de grad 2, este de
asemenea o formulă Newton – Cotes.
Regula corespunzătoare cu fiecare interval subdivizat include toate
punctele curente, deci valorile acelor integranţi pot fi refolosite. Dacă permitem
intervalelor dintre punctele de interpolare să varieze, găsim un alt grup de
formule de cvadratură, precum formulele de cvadratură gaussiană. O regulă de
cvadratură gaussiană este mai precisă decât o regulă Newton – Cotes care cere
acelaşi număr de evaluări ale funcţiilor, dacă integrantul este neted (adică, dacă
el are multe derivate). Alte metode de cvadratură cu variaţia intervalelor include
metoda cvadratura Clenshaw – Curtis şi metoda cvadraturii Fejér.
Algoritmi ajustaţi
Dacă f ( x) nu are multe derivate în toate punctele, sau dacă derivatele
devin mari, atunci cvadratura gaussiană este adesea insuficientă. În acest caz,
un algoritm similar cu următorul va executa mai bine:
// Acest algoritm calculează integrala definită a unei funcţii de la 0 la 1,
ajustativ,
// alegând cei mai mici paşi în vecinătatea punctelor problematice.
// Fie initial_h mărimea pasului iniţial.
x:=0
h:=initial_h
accumulator:=0
WHILE x<1.0 DO
IF x+h>1.0 THEN
h=1.0-x
END IF
IF error in quadrature of f(x) over [x,x+h] is too large THEN
Make h smaller
ELSE
accumulator:=accumulator + quadrature of f over [x,x+h]
x:=x+h
IF error in quadrature of f(x) over [x,x+h] is very small THEN
Make h larger
END IF
END IF
END WHILE
RETURN accumulator
Unele detalii ale algoritmului cer o gândire atentă. Pentru multe cazuri, nu
este evidentă estimarea erorii dintr-o cvadratură pe un interval pentru o funcţie
f ( x) . O soluţie populară este folosirea a două reguli diferite de cvadratură şi
folosirea diferenţei lor ca o estimare a erorii din cvadratură. Cealaltă problemă
- 92 -
este să decidem ce semnifică “prea mare” sau “foarte mic”. Un criteriu local
pentru “prea mare” este că eroarea cvadraturii trebuie să nu fie mai mare decât
t h unde t, un număr real, este toleranţa pe care dorim să o fixăm pentru
eroarea globală. Apoi, din nou, dacă h este deja mic, s-ar putea să nu merite să
facem mai mic chiar dacă eroarea cvadraturii este aparent mare. Un criteriu
global este ca suma erorilor pe toate intervalele trebuie să fie mai mică decât t.
Acest tip de analiză a erorii se numeşte, de obicei, “a posteriori” din moment ce
noi calculăm eroarea după ce am calculat aproximarea.
Metode de extrapolare
Precizia unei reguli de cvadratură de tip Newton – Cotes este, în
general, o funcţie de numărul punctelor de evaluare. Rezultatul este mai
precis când numărul punctelor de evaluare creşte, sau, echivalent, când
mărimea pasului dintre puncte scade. Este natural să ne întrebăm ce va fi
rezultatul dacă permitem pasului să se apropie de zero. La această
întrebare se poate răspunde extrapolând rezultatul de la două sau mai
multe mărimi diferite de zero (de exemplu, extrapolarea Richardson).
Funcţia de extrapolare poate fi o funcţie polinomială sau una raţională.
Estimarea (a priori) conservativă a erorii
Fie f cu prima derivată mărginită pe [a, b] . Teorema de medie pentru
f, unde x < b, ne dă:
( x a) f '( y x ) f ( x) f (a )
pentru un y x din [a, x] depinzând de x. Dacă integrăm în x de la a la b în
ambii membri şi luăm valoarea absolută, obţinem:
b b
f ( x) dx (b a ) f (a ) ( x a ) f '( y x ) dx
a a
Putem aproxima, în plus, integrala din membrul drept introducând
valoarea absolută în integrant şi înlocuind termenul în f ' printr-o limită
superioară:
b (b a )2
f ( x ) dx ( b a ) f ( a ) sup f '( x) (**)
a 2 a x b
b
Deci, dacă aproximăm integrala f ( x)dx prin regula cvadraturii
a
(b a) f (a) , atunci eroarea nu este mai mare de membrul drept al (**). Putem
transforma aceasta într-o analiză a erorii pentru suma Riemann (*), dând
marginea superioară a:
n 1
sup f '( x)
2 0 x 1
- 93 -
pentru termenul erorii a acelei aproximări particulare. Folosind mai multe
derivate şi cvadratura putem face o analiză a erorii similară folosind seriile
Taylor (folosind o sumă parţială cu rest) pentru f. Această analiză a erorii dă o
limită superioară a erorii, dacă derivatele lui f sunt disponibile.
Această metodă de integrare poate fi combinată cu aritmetica intervalului
pentru a obţine demonstraţii cu calculatorul şi pentru a verifica calculele.
Integrale multidimensionale
Regulile cvadraturii discutate până acum sunt destinate pentru a calcula
integrale de dimensiune 1. Pentru a calcula integrale în dimensiuni multiple, o
abordare este să exprimăm integrala multiplă ca integrale de dimensiune unu
repetate aplicând teorema lui Fubini. Această abordare cere ca evaluările
funcţiei să crească exponenţial cu numărul cu care creşte dimensiunea. Aceste
două metode sunt cunoscute ca învingând această aşa – numită curse a
dimensiunii.
Monte Carlo
Metodele Monte Carlo şi metodele cvasi – Monte Carlo sunt uşor de
aplicat integralelor multidimensionale, şi pot produce o mai mare precizie
pentru acelaşi număr de evaluări ale funcţiei decât integrări repetare folosind
metode unu – dimensionale.
O clasă mare de metode Monte Carlo utile este formată din aşa – numiţii
algoritmi “lanţul Monte Carlo al lui Marcov”, care include algoritmul
Metropolis – Hastings şi prelevarea Gibbs.
- 94 -
7.2. Integrarea în puncte echidistante
7.2.1. Formulele Newton-Cotes
În analiza numerică, formulele Newton – Cotes, numite şi regulile
Newton – Cotes, reprezintă un grup de formule pentru integrarea numerică
(numită şi cvadratură) bazate pe evaluarea integrantului în n 1 puncte
echidistante. Ele sunt numite după Isaac Newton şi Roger Cotes. Formulele
Newton – Cotes pot fi utile dacă este dată valoarea integrantului în punctele
echidistante. Dacă este posibil să schimbăm punctele în care este evaluat
integrantul, atunci alte metode precum cvadratura gaussiană şi cvadratura
Clenshaw – Curtis sunt, probabil, mai potrivite.
Este presupus că valoarea unei funcţii f este cunoscută în punctele
echidistante xi, pentru i 0, n . Există două tipuri de formule Newton – Cotes:
tipul “închis” care foloseşte valoarea funcţiei în toate punctele, şi tipul
“deschis” care nu foloseşte valorile funcţiei în capetele intervalului. Formula
Newton – Cotes închisă de grad n este exprimată astfel:
b n
f ( x)dx wi f ( xi )
a i 0
x x0
unde xi = h i + x0, cu h (numit pas) egal cu n . wi se numesc ponderi. Aşa
n
cum se poate vedea în următoarea derivaţie, ponderile derivă din polinoamele
Lagrange fundamentale. Aceasta înseamnă că ele depind doar de xi nu şi de
funcţia f. Fie L( x) polinomul de interpolare în forma Lagrange pentru punctele
( x0 , f ( x0 )), , ( xn , f ( xn )) . Atunci
b b b n
f ( x)dx L( x)dx f ( xi )li ( x )dx
a a a i 0
n b n
f ( xi ) li ( x)dx.
i 0 a i 0
wi
Formula Newton – Cotes deschisă de grad n este exprimată ca:
b n 1
f ( x)dx wi f ( xi )
a i 1
Ponderile sunt găsite într-o manieră similară ca în formula închisă.
Instabilitatea pentru grad mare
O formulă Newton – Cotes de orice grad n poate fi construită. Oricum,
pentru n mare, o regulă Newton – Cotes poate suferi uneori din cauza
fenomenului Runge unde eroarea creşte exponenţial pentru n mare. Metode
precum cvadratura gaussiană şi a cvadraturii Clenshaw – Curtis cu puncte ne-
echidistanete (grupate în extremităţile intervalului de integrare) sunt stabile şi
- 95 -
mult mai precise, şi sunt preferate formulei Newton – Cotes. Dacă aceste
metode nu pot fi folosite, deoarece integrantul este dat doar în punctele
echidistante, atunci fenomenul Runge poate fi evitat folosind o regulă compusă,
aşa cum este explicat dedesubt.
- 96 -
grad Denumire Formulă Eroarea
2hf1 h3 (2)
1 Regula dreptunghiului f ( )
24
3h
( f1 f 2 ) h3 (2)
2 Fără nume f ( )
2 4
4h
(2 f1 f 2 2 f3 ) 28h5 (4)
3 Fără nume f ( )
3 90
5h
(11 f1 f 2 f3 11 f 4 ) 95h5 (4)
4 Fără nume f ( )
24 144
Reguli compuse
Pentru ca regulile Newton – Cotes să fie precise, pasul h trebuie să fie
mic, ceea ce înseamnă că intervalul de integrare [a,b] trebuie să fie mic. Din
acest motiv se execută integrarea numerică împărţind [a,b] în subintervale
mai mici, aplicând o regulă Newton-Cotes pe fiecare subinterval şi
adunând rezultatele. Aceasta se numeşte regulă compusă.
Eroarea
Erorii de aproximare în mijloc se descompune ca cubul lăţimii
dreptunghiului
ah h h3
f ( x ) dx hf a f "()
a 2 24
pentru (a, a h) oarecare.
- 98 -
Regula trapezului este una din familiile de formule pentru integrarea
numerică numite formulele Newton – Cotes. Regula Simpson este alt membru
al aceleiaşi familii, adesea mai precis. Regula Simpson şi alte metode ca ea pot
fi aşteptate să îmbunătăţească regula trapezului pentru funcţii care sunt de două
ori continue diferenţiabile; oricum, pentru funcţii grosolane, regula trapezului
este probabil preferabilă. În plus, regula trapezului tinde să devină extrem de
precisă când sunt integrate funcţii periodice pe perioada lor, un lucru cel mai
bine înţeles în legătură cu formula de sumare Euler – MacLaurin.
Un avantaj al regulii trapezului este acela că semnul erorii aproximării
este cunoscut. O integrală aproximată cu această regulă pe o funcţie sus-
concavă va fi supraestimată deoarece trapezele includ toată aria de sub curbă şi
se extind peste ea. Folosind această metodă la o funcţie jos-concavă produce o
subestimare deoarece aria este nenumărată pentru partea de sub curbă, dar nici
una nu este numărată deasupra. Dacă intervalul integralei fiind aproximat
include un punct de inflexiune, atunci eroarea este mai greu de identificat.
ba m 1
unde n 1, m 1, hn n . Eroarea R (n, m) este de ordinul O( hn2 ).
2
Prima extrapolare, R (n,1) , este echivalentă cu regula Simpson cu n 2 puncte.
- 99 -
Când evaluările funcţiei sunt costisitoare, ar fi de preferat să înlocuim
interpolarea polinomială a lui Richardson cu interpolarea raţională propusă de
Bulirsch şi Stoer (1967).
Exemplu
Ca exemplu, funcţia Gauss este integrată de la 0 la 1, adică funcţia eroare
erf (1) 0.842700792949715 . Matricea triunghiulară este calculată pe linie şi
calculul se termină dacă ultimele două intrări din ultima linie diferă prin mai
puţin de 1.e – 8.
0.77174333
0.82526296 0.84310283
0.83836778 0.84273605 0.84271160
0.84161922 0.84270304 0.84270083 0.84270066
0.84243051 0.84270093 0.84270079 0.84270079 0.84270079
Rezultatul din colţul drept inferior al matricei triunghiulare este precis.
Este de remarcat că acest rezultat derivă din aproximările mai puţin precise
obţinute prin regula trapezului în prima coloană a matricei triunghiulare.
- 100 -
Înlocuim integrantul f ( x) prin polinomul integral P(x) care ia aceleaşi
ab
valori ca f ( x) în punctele terminale a şi b şi în mijlocul m .
2
Putem folosi interpolarea polinomială Lagrange pentru a găsi o expresie
pentru acest polinom,
( x m)( x b) ( x a )( x b) ( x a )( x m)
P ( x ) f (a ) f ( m) f (b) .
(a m)(a b) (m a )(m b) (b a )(b m)
Un calcul simplu arată că
b ba ab
P( x)dx f (a) 4 f f (b) .
a 6 2
Media mijlocului şi regulile trapezului
O altă derivaţie construieşte regula Simpson din două aproximări
mai simple:
ab
regula mijlocului: M (b a ) f
2
1
regula trapezului: T (b a ) f (a ) f (b) .
2
Erorile în aceste aproximări sunt, respectiv,
1 1
(b a)3 f "(a ) O((b a )4 ) şi (b a)3 f "(a ) O ((b a)4 ) .
24 12
Rezultă că termenul principal al erorii se anulează dacă luăm media
2M T
ponderată . Această medie ponderată este exact regula Simpson.
3
Folosind altă aproximare (de exemplu, regula trapezului cu un număr
dublu de puncte), este posibil să luăm o medie ponderată potrivită şi să
eliminăm alt termen al erorii. Aceasta este metoda Romberg.
Coeficienţii nedeterminaţi
A treia derivaţie începe de la ansatz
b ab
f ( x)dx f (a ) f f (b) .
a 2
Coeficienţii , şi pot fi fixaţi cerând ca această aproximare să fie
exactă pentru toate polinoamele cvadratice. Aceasta produce regula Simpson.
Eroarea
Eroarea în aproximarea unei integrale prin regula Simpson este
(b a )5 (4)
f () , unde este un număr oarecare între a şi b. Eroarea este
2880
(asimptotic) proporţională cu (b a)5 . Oricum, derivaţiile de mai sus sugerează
- 101 -
o eroare proporţională cu (b a) 4 . Regula Simpson câştigă un ordin în plus
deoarece punctele în care integrantul este evaluat, sunt distribuite simetric în
intervalul [a, b] .
Regula Simpson compusă
Dacă intervalul de integrare [a, b] este mic (adică funcţia de integrat este
relativ netedă pe intervalul [a, b] ), atunci regula Simpson va furniza o
aproximare adecvată a integralei exacte. Pentru o astfel de funcţie, un
interpolant cvadratic neted precum cel folosit în regula Simpson va da duce la
rezultate bune. Oricum, este des întâlnit cazul ca funcţia pe care încercăm să o
integrăm este netedă peste interval. Aceasta înseamnă că orice funcţia este
puternic oscilantă, ori ea nu are derivate în anumite puncte. În aceste cazuri,
regula Simpson poate da rezultate foarte slabe. O cale uzuală de a rezolva
această problemă este spargerea intervalului [a, b] într-un număr de
subintervale mici. Apoi, regula Simpson este aplicată pe fiecare subinterval, se
sumează rezultatele pentru o obţine o aproximare a integralei pe întreg
intervalul. Acest tip de abordare se numeşte regula Simpson compusă.
Presupunem că intervalul [a, b] este împărţit în n subintervale, cu n un
număr par. Atunci, regula Simpson compusă este dată de:
n
1
n
b h 2 2
f ( x)dx f ( x0 ) 2 f ( x2 j ) 4 f ( x2 j 1 ) f ( xn ) ,
a 3 j 1 j 1
ab
unde xi a ih pentru i 0, n cu h ; în particular, x0 a şi xn b .
n
Formula de mai sus poate fi scrisă astfel:
b h
f ( x)dx [ f ( x0 ) 4 f ( x1 ) 2 f ( x2 ) 4 f ( x3 ) 2 f ( x4 )
a 3
4 f ( xn 1 ) f ( xn )].
Eroarea făcută de regula Simpson compusă este mărginită (în valoarea
absolută) de
h4 ba
(b a ) max f (4) () , unde h .
180 [ a, b] n
Această formulare împarte intervalul [a, b] în subintervale de lungime
egală. În practică, este deseori avantajos de a folosi subintervale de lungimi
diferite, şi de a ne concentra eforturile în locurile unde integrantul se comportă
mai puţin bine. Aceasta conduce la metoda Simpson ajustată.
- 102 -
7.2.6. Metoda ajustativă Simpson
Metoda ajustativă Simpson, numită de asemenea regula ajustativă
Simpson, este o metodă de integrare numerică propusă de William M.
McKeeman în 1962. Este, probabil, primul algoritm ajustativ pentru integrarea
numerică care a apărut, deşi mai multe metode moderne bazate pe integrarea
Gauss – Kronrod şi integrarea Clenshaw – Curtis sunt, în general, preferate
acum. Metoda ajustativă Simpson foloseşte o estimare a erorii pe care o
obţinem calculând o integrală definită folosind regula lui Simpson. Dacă eroare
depăşeşte o toleranţă specificată de utilizator, algoritmul cere subdivizarea
intervalului de integrare în două şi aplicarea metodei ajustative a lui Simpson pe
fiecare subinterval într-o manieră recursivă. Tehnica este de obicei mult mai
eficientă decât regula de compunere Simpson din moment de foloseşte mai
puţine funcţii de evaluare în punctele în care funcţia este bine aproximată de o
funcţie integrală.
Criteriul de determinare a momentului în care oprim subdivizarea
intervalului este:
S ( a , c ) S (c, b) S ( a , b )
15
unde [a, b] este un interval care are mijlocul c, S (a, b), S ( a, c) şi S (c, b) sunt
estimările date de regula lui Simpson pe intervalele corespunzătoare şi este
toleranţa dorită pentru interval.
Regula Simpson este un caz particular al metodei Romberg. Teoria
acestei metode arată că regula lui Simpson este exactă atunci când integrantul
este un polinom de grad 3 sau mai mic. Potrivit metodei Romberg, cea mai
corectă estimare Simpson S (a, c) S (c, b) pentru şase valori ale funcţiei se
combină cu cea mai puţin corectă estimare Simpson S (a, b) pentru trei valori
ale funcţiei aplicând corecţia
S ( a, c ) S (c , b ) S ( a, b)
.
15
Aici, constanta 15 este aleasă pentru a asigura că după ce aplicăm
corecţia, este obţinută o estimare care este exactă pentru polinoame de grad cel
mult 5.
- 103 -
În analiza numerică, o regulă de integrare este o aproximare a integralei
definite a unei funcţii, uneori formulată ca suma ponderată a valorilor funcţiei
în punctele date înăuntrul domeniului de integrare.
O regula de cvadratură gaussiană n – puncte, numită după Carl Friedrich
Gauss, este in regulă de integrare construită pentru a produce un rezultat exact
pentru polinoamele de grad 2n 1 , printr-o alegere corespunzătoare a n
punctelor xi şi n ponderilor wi.
Domeniul de integrare pentru o astfel de regulă este, prin convenţie, luat
[−1, 1], astfel că regula este exprimată ca
1 n
f ( x )dx wi f ( xi ) .
1 i 1
Se poate arăta (vezi Press, ş.a. sau Stoer şi Bulirsch) că punctele de
evaluare sunt chiar rădăcinile polinomului care aparţine clasei polinoamelor
ortogonale.
Reguli pentru problema de bază
Pentru problema de integrare exprimată mai sus, polinoamele asociate
sunt polinoamele Legendre, Pn ( x) . Cu cel de-al n – lea polinom normalizat
pentru a obţine Pn(1) = 1, nodul Gauss i, xi, este a i – a rădăcină a lui Pn;
ponderea ei este dată de (Abramowitz & Stegun 1972, p. 887)
2
wi .
(1 xi )( P 'n ( xi ))2
2
Numărul de
Punctele, xi Ponderile, wi
puncte, n
1 0 2
1
2 1
3
8
0
9
3
3 5
5 9
4 6 18 30
3 2
5 36
7
- 104 -
6
3 2 18 30
5
36
7
128
0
225
1 10 322 13 70
5 52
3 7 900
1 10 322 13 70
52
3 7 900
- 105 -
Polinoamele Jacobi
(−1,1) (1 x) (1 x) , , 1
1
(−1,1) Polinoamele Chebyshev (de prima speţă)
1 x2
Teorema fundamentală
b
k
Fie q un polinom netrivial de grad n astfel încât ( x) x q( x) dx 0
a
pentru toţi k 0, n 1 .
Dacă alegem nodurile să fie zero-urile lui q, atunci există ponderile wi
care fac integrala calculată exactă pentru toate polinoamele de grad 2n − 1 sau
mai mic. În plus, toate aceste noduri se vor găsi în intervalul deschis (a, b).
Estimarea erorii
Eroarea unei reguli de integrare Gauss poate fi exprimată după cum
urmează. Pentru un integrant care are 2n derivate continue,
b n f (2n) ()
( x) f ( x)dx wi f ( xi ) ( pn , pn )
a i 1 (2n)!
pentru un ξ oarecare din (a, b), unde pn este polinomul ortogonal de grad n şi
b
unde ( f , g ) ( x) f ( x) g ( x)dx
a
În cazul special ω(x) = 1 avem estimarea erorii
(b a) 2n 1 (n !) 4 (2n)
f (), a b .
3
(2n 1) (2n)!
Stoer şi Bulirsch au remarcat că nu este convenabil în practică, din
moment ce poate fi dificil de estimat derivata de ordinul 2n, şi, în plus, eroarea
actuală poate fi mult mai mică decât o margine stabilită de derivată.
- 106 -
O altă abordare este de a folosi regulile de cvadratură gaussiană de ordine
diferite, şi să estimăm eroarea ca diferenţa dintre cele două rezultate. Pentru
acest scop, pot fi utile regulile de integrare Gauss – Kronrod.
- 108 -
integrantului în termeni de polinoame Chebyshev. Echivalent, ele folosesc o
schimbare de variabilă x = cosθ şi folosesc o aproximare a transformării cosinus
discretă pentru seriile cosinus. În afară că au o convergenţă rapidă comparabilă
cu regulile de integrare gaussiană, cvadratura Clenshaw – Curtis şi Fejér conduc
natural către regulile de integrare (în care diferite ordine de precizie împart
punctele), care este importantă pentru ambele integrări (multidimensionale şi
ajustativă). Pe scurt, funcţia f ( x) care trebuie integrată este evaluată în punctul
de extrem N sau în rădăcinile unui polinom Chebyshev şi aceste valori sunt
folosite pentru a construi o aproximare polinomială pentru această funcţie.
Această aproximare este atunci integrată exact. În practică, ponderile de
integrare pentru valoarea funcţiei în fiecare nod sunt precalculate, şi acest calcul
poate fi executat în timpul O(NlogN) cu ajutorul diferitor algoritmi legaţi de
transformării rapide Fourier pentru DCT.
O cale simplă de a înţelege algoritmul este de a înţelege faptul că
cvadratura Clenshaw – Curtis (propus de acei autori în 1960) se referă la o
integrare printr-o schimbare de variabilă x = cosθ.
Algoritmul este exprimat pentru integrala unei funcţii f ( x) pe un
interval [1,1] (orice alt interval poate fi obţinut printr-o rescalare). Pentru
această integrală, putem scrie
1
f ( x )dx f (cos )sin d .
1 0
Aceasta înseamnă că trebuie să transformăm această problemă din
integrarea lui f ( x) în integrarea lui f (cos )sin . Acest lucru poate fi făcut
dacă ştim seria cosinus pentru f (cos ) :
a
f (cos ) 0 ak cos(k )
2 k 1
caz în care integrala devine:
a0 2a2k
f (cos ) sin d .
0 2 k 1 1 (2k )2
Bineînţeles, pentru a calcula coeficienţii seriei cosinus
- 109 -
2
ak f (cos ) cos d
0
trebuie să executăm încă o dată o integrare numerică, deci pentru început
aceasta poate să pară că nu simplifică problema. Spre deosebire de calculul
integralelor arbitrare, oricum, integrările seriilor Fourier pentru funcţii periodice
(precum f (cos ) , prin construcţie), până la frecvenţa Nyquist k = N, sunt
n
precis calculate de punctele N echidistante şi ponderile n echidistante
N
1
pentru n 0, N (cu excepţia punctelor terminale care sunt ponderate de ,
2
pentru a evita dubla numărare). Adică, aproximăm integrala seriilor cosinus prin
transformarea cosinus discretă (DCT) de tipul I:
2 f (1) f (1) N 1 n nk
ak (1) k f cos cos
N 2 2 n 1 N N
pentru k 0, N şi apoi folosim formula de mai sus pentru integrală în termenii
acelor ak .
Legătura cu polinoamele Chebyshev
Motivul pentru care aceasta este legată de polinoamele Chebyshev Tk ( x)
este acela că, prin definiţie, Tk (cos ) cos(k ) şi astfel, seria cosinus de mai
sus este într-adevăr o aproximare a lui f ( x) prin polinoame Chebyshev:
a
f ( x ) 0 T0 ( x ) ak Tk ( x) ,
2 k 1
şi astfel integrăm “cu adevărat” f ( x) integrând dezvoltarea aproximantă în
n
termenii polinoamelor Chebyshev. Punctul de evaluare xn cos corespunde
N
extremei polinomului Chebyshev TN ( x) .
Faptul că o astfel de aproximare Chebyshev este chiar o serie cosinus
după o schimbare de variabile este responsabilă pentru convergenţa rapidă a
aproximării deoarece mai mulţi termeni Tk ( x) sunt incluşi. O serie cosinus
converge foarte repede pentru funcţiile pare, periodice, şi suficient de netede.
Acest lucru este adevărat aici, din moment de f (cos ) este pară şi periodică în
prin construcţie, şi este de k ori derivabilă în orice punct dacă f ( x) este de k
ori derivabilă pe [1,1] . (Spre deosebire, aplicând direct o dezvoltare în serie
cosinus lui f ( x) în loc de f (cos ) în mod uzual nu va converge rapid
deoarece panta dezvoltărilor pare – periodice va fi, în general, discontinuă).
- 110 -
Comparaţia cu cvadratura Gauss
Metoda clasică a integrării Gauss evaluează integrantul în N 1
puncte şi este construită pentru a integra exact polinoamele de grad maxim
2N 1.
În contrast, cvadratura Clenshaw – Curtis, mai întâi evaluează
integrantul în N 1 puncte şi integrează exact polinoamele doar până la
gradul N. Poate părea, deci, că cvadratura Clenshaw – Curtis este intrinsec,
mai rea, decât cvadratura Gauss, dar, în realitate acesta nu pare să fie cauza.
În practică, mai mulţi autori au observat că cvadratura Clenshaw – Curtis
poate avea o precizie comparabilă cu cea a cvadraturii gaussiene pentru acelaşi
număr de puncte. Acest lucru este posibil deoarece cei mai mulţi integranţi
numerici nu sunt polinoame (în special, de când polinoamele pot fi integrate
analitic), şi aproximarea mai multor funcţii în termeni ai polinoamelor
Chebyshev converge rapid. De fapt, rezultate teoretice recente (Trefethen,
2006) argumentează că atât cvadratura gaussiană cât şi cea Clenshaw – Curtis
[2 N ] k
au eroarea mărginită de O pentru un integrant de k ori diferenţiabil.
k
Un avantaj des citat al integrării Clenshaw – Curtis este acela că ponderile
cvadraturii pot fi evaluate în timpul O( N log N ) prin algoritmi rapizi de
transformare Fourier (şi analogii lor pentru DCT), pe când ponderile integrării
gaussiene cer un timp O( N 2 ) de calcul.
Ca o chestiune practică, o cvadratura numerică de ordin ridicat este de
puţine ori făcută prin simpla evaluare a formulei de integrare pentru N foarte
mare.
În schimb, de obicei foloseşte o schemă de integrare ajustativă care mai
întâi evaluează integrala de ordin mic, şi apoi, succesiv, rafinează precizia doar
în regiunile unde integrala este inexactă. Pentru a evalua precizia integralei,
comparăm răspunsul cu cel al regulii de integrare pentru ordine mici pare. Ideal,
această regulă de integrare de ordin mic evaluează integrantul pe o submulţime
a punctelor N originale, să minimizez evaluările integranţilor. Aceasta se
numeşte regulă de integrare nested, şi aici cvadratura Clenshaw – Curtis are
avantajul că regula pentru ordinul N foloseşte o submulţime a punctelor de la
ordinul 2N. În contrast, regulile de integrare gaussiene nu sunt natural nested, şi
astfel trebuie să folosească cvadratura Gauss – Kronrod sau metodele similare.
- 112 -
integrala este aplicată pe ambele intervale separat (linia 6). Se returnează atât
estimarea iniţială sau suma înjumătăţită calculată recursiv (linia 7).
b
Componentele importante sunt însăşi regula de integrare Q f ( x)dx ,
a
b
estimarea erorii Q f ( x )dx ,
a
şi logica deciderii împărţirii cărui interval, şi apoi când să ne oprim.
Bineînţeles că există mai multe variante ale acestei scheme. Cea mai
uzuală va fi discutată mai târziu.
Reguli de integrare de bază
Regulile de integrare au în general forma:
n b
Q wi f ( xi ) f ( x)dx
i 0 a
unde nodurile xi şi ponderile wi sunt, în general, calculate anterior.
În cazul general, sunt folosite formulele Newton – Cotes de ordin par,
unde nodurile xi sunt uniform spaţiate în interval:
i
xi a (b a ) .
n
Când sunt folosite asemenea reguli, punctele în care f(x) a fost evaluată
pot fi reutilizate după revenire:
adâncimea
x1 x2 x3
x1 x2 x3
x1 x2 x3
O strategie similară este folosită la cvadratura Clenshaw - Curtis, unde
nodurile sunt alese astfel:
2i
xi cos .
n
sau, când este folosită cvadratura Fejér:
2(i 0,5)
xi cos .
n 1
- 113 -
Un algoritm poate fi ales să folosească diferite metode de integrare pe
subintervale diferite, de exemplu, folosind o metodă de ordin înalt doar acolo
unde integrantul este neted.
Estimarea erorii
Unii algoritmi de integrare generează o secvenţă de rezultate care ar
trebui să se apropie de valoarea corectă. Altfel, putem folosi o “regulă nulă”
care are forma regulii de integrare de mai sus, dar ale cărei valori vor fi zero
pentru un integrant simplu (de exemplu, dacă integrantul este un polinom de
grad apropiat).
Subdiviziunea logică
Cvadratura ajustativă “locală” face eroarea acceptabilă pentru un interval
dat proporţional cu lungimea acelui interval. Acest criteriu poate fi cu greu
satisfăcut dacă integrantul se comportă rău în doar câteva puncte, de exemplu.
Pentru câţiva paşi de discontinuitate. Alternativ, putem cere doar ca suma
erorilor pe fiecare subinterval să fie mai mică decât cererea utilizatorului.
Aceasta va fi cvadratura ajustativă “globală”. Cvadratura ajustativă globală
poate fi mai eficientă (folosind mai puţine evaluări ale integrantului) dar este, în
general, mai dificil de programat şi poate cere mai mult spaţiu de lucru pentru
înregistrarea informaţiei pe mulţimea curentă de intervale.
- 114 -
7.4. Integrări cu funcţii pondere
Mai general, putem pune problema integrării unei funcţii f ( x) în locul
unei funcţii pondere w( x) care este cunoscută de dinainte:
1
f ( x) w( x) dx f (cos ) w( cos ) sin d .
1 0
Cazul cel mai comun este w( x) 1 , ca mai sus, dar în unele aplicaţii este
utilă o funcţie pondere diferită. Motivul fundamental este că, din moment ce
w( x) poate fi luat în socoteală aprioric, eroarea de integrare poate fi făcută să
depindă doar de precizia în aproximarea lui f ( x) , indiferent de cât de rău se
comportă funcţia pondere.
Cvadratura Clenshaw – Curtis poate fi generalizată la acest caz după cum
urmează. Ca şi înainte, ea merge găsind dezvoltarea cos-sin a funcţiei f (cos )
via DCT, şi apoi integrând fiecare termen a seriei cosinus. Acum, aceste
integrale sunt de forma:
Wk w(cos ) cos(k )sin d .
0
Pentru majoritatea funcţiilor w( x) , această integrală nu poate fi calculată
analitic, spre deosebire de cazul anterior. Din moment ce aceeaşi funcţie
pondere este folosită în general pentru mai mulţi integranţi f ( x) , putem
permite să calculăm aceşti Wk numeric pentru a mări precizia în prealabil. În
plus, din moment ce w(x) este specificată în mod general analitic, putem uneori
folosi metode speciale să calculăm Wk. De exemplu, au fost dezvoltate diferite
metode pentru a aplica cvadratura Clenshaw – Curtis pentru integranţi de forma
f(x)w(x) cu o funcţie pondere w(x) puternic oscilantă, de exemplu o sinusoidă
sau o funcţie Bessel. Acest lucru este util pentru precizia ridicată a calculului
seriilor Fourier sau a seriilor Fourier – Bessel, în care metodele de integrare
pentru w(x) = 1 sunt problematice din cauza preciziei ridicate cerută să rezolve
contribuţia oscilaţiilor rapide. Aici, partea integrantului cu oscilaţii rapide este
luată în seamă prin metode speciale pentru Wk, pe când funcţia necunoscută f(x)
se comportă mai bine. Alt caz în care funcţiile pondere sunt utile, în special,
dacă integrantul este necunoscut dar are o singularitate cunoscută de o anumită
formă, de exemplu, o discontinuitate cunoscută sau o divergenţă a integralei
1
(precum ) într-un anumit punct.
x
- 115 -
De notat este că cvadratura gaussiană poate fi de asemenea adaptată
pentru diferite funcţii pondere, dar tehnica este întrucâtva diferită. În cvadratura
Clenshaw – Curtis, integrantul este întotdeauna evaluat în aceeaşi mulţime de
puncte a lui w(x), corespunzătoare extremelor sau rădăcinilor polinomului
Chebyshev. În cvadratura gaussiană, diferite funcţii pondere conduc la diferite
polinoame ortogonale, şi astfel, diferite rădăcini în care integrantul este evaluat.
- 116 -
p Bk 1
SI f ( k ) (n) f ( k ) (0) R
k 1 (k 1)!
unde B1 = −1/2, B2 = 1/6, B3 = 0, B4 = −1/30, B5 = 0, B6 = 1/42, B7 = 0, B8 =
−1/30, ... sunt numerele Bernoulli, şi R este eroarea care este mică pentru valori
corespunzătoare ale lui p.
Utilizând substituţia, putem adapta această formulă de asemenea la funcţii
f care sunt definite pe alte intervale ale dreptei reale.
Restul
Restul R este dat de
n B p 1 x [ x ]
R (1) p f ( p 1) ( x) dx ,
0 ( p 1)!
unde Bi x [ x] sunt polinoamele Bernoulli. Restul poate fi estimat prin:
2 n
(2 p 1)
R f ( x) dx .
2p
(2) 0
Sume care implică un polinom
Dacă f este un polinom şi p este suficient de mare, atunci restul dispare.
De exemplu, dacă f(x) = x3, putem alege p = 2 pentru a obţine, după
simplificare,
2
3 n(n 1)
n
i .
i 0 2
Integrarea numerică
Formula Euler – MacLaurin este, de asemenea, folosită pentru analiza
detaliată a erorilor în integrarea numerică; în particular, metodele de extrapolare
depind de ea.
Dezvoltări asimptotice ale sumelor
În contextul calculului dezvoltărilor asimptotice ale sumelor şi seriilor, de
obicei, cea mai utilă formă a formulei Euler – MacLaurin este:
f (a) f (b) B2k
b b
f (n) f ( x)dx f (2k 1) (b) f (2k 1) (a ) ,
na a 2 k 1 (2k )!
unde a şi b sunt întregi. Adesea, dezvoltarea rămâne validă chiar şi după ce
trecem la limită pentru a sau b , sau amândouă. În multe cazuri
integrala sau membru drept pot fi evaluate în forma închisă în termenii
funcţiilor elementare chiar şi atunci când suma din membrul stâng nu poate.
Atunci toţi termenii seriilor asimptotice pot si exprimaţi în termenii funcţiilor
elementare. De exemplu,
- 117 -
b 1 1 1 B
dk 2t
na (z k)
2
( z k )2 z 2 t 1 z 2t 1 .
0
1
z
1
Aici, membrul stâng este egal cu suma dintre şi (1) ( z ) , unde,
z2
aceasta din urmă este funcţia poligamma de prim ordin definită prin
d2
(1) ( z ) ln ( z ) ; funcţia gamma ( z ) este egală cu ( z 1)! dacă z este un
dz 2
1
întreg pozitiv. Scăzând 2 din ambele părţi rezultă o dezvoltare asimptotică
z
(1)
pentru ( z ) . Dezvoltarea, în schimb, serveşte ca punct de plecare pentru una
din derivaţiile estimării precise a erorii pentru aproximarea Stirling a funcţiei
factorial.
Derivaţia din inducţie matematică
Polinoamele Bernoulli Bn(x), n = 0, 1, 2, ... pot fi definite recursiv după
cum urmează:
B0 ( x) 1 ,
1
B 'n nBn 1 ( x) şi Bn ( x )dx 0 pentru n 1 .
0
Primii termeni sunt:
1 1
B1 ( x) x , B2 ( x) x 2 x ,
2 6
3 1 1
B3 ( x) x3 x 2 x, B4 ( x) x 4 2 x3 x 2 ,
2 2 30
Valorile Bn(1) sunt numerele Bernoulli. Pentru n ≥ 2, avem Bn(0) = Bn(1).
Funcţiile Bernoulli periodice Pn sunt date de
Pn ( x) Bn x x pentru 0 x 1 ,
adică, coincid cu polinoamele Bernoulli pe (0,1) şi sunt periodice, de perioadă
1.
Fie integrala
k 1
f ( x) dx udv ,
k
unde
u f ( x),
du f '( x)dx,
- 118 -
dv P0 ( x)dx (din moment ce P0 ( x) 1 ),
v P1 ( x) .
Integrând prin părţi, obţinem
k 1 k 1
uv vdu f ( x) P1 ( x) k f '( x) P1 ( x)dx
k
f (k ) f (k 1) k 1
f '( x) P1 ( x) dx.
2 k
Sumăm pentru k de la 1 la n 1 şi rezultă
n f (1) f (n) n
f ( x)dx f (2) f (n 1) f '( x) P1 ( x)dx .
1 2 2 1
f (1) f (n)
Adunând în ambii membri şi rearanjând, avem
2
n n f (1) f (n) n
f (k ) f ( x) dx f '( x) P1 ( x)dx (1)
k 1 1 2 1
Ultimii doi termeni dau eroarea atunci când integrala este folosită pentru
aproximarea sumei.
Considerăm
k 1
f '( x ) P1 ( x)dx udv ,
k
unde
u f '( x),
du f "( x) dx,
dv P1 ( x)dx,
P ( x)
v 2 .
2
Integrând din nou, prin părţi, obţinem,
k 1
f '( x ) P2 ( x) 1 k 1
uv vdu f "( x) P2 ( x)dx
2 k 2 k
f '(k 1) f '(k ) 1 k 1
f "( x ) P2 ( x)dx.
12 2 k
Sumând apoi pentru k de la 1 la n 1 , şi apoi înlocuind ultima integrală în
(1) cu ce am arătat că este egală, avem:
n n f (1) f (n) f '(n) f '(1) 1 n
f ( k ) f ( x ) dx f "( x) P2 ( x)dx .
k 1 1 2 12 12 1
- 119 -
Procedând în continuare la fel se obţine demonstraţia prin inducţie
matematică a formulei de sumare Euler – MacLaurin, în care, pasul de inducţie
se bazează pe integrarea prin părţi şi pe identităţile pentru funcţiile periodice
Bernoulli.
Pentru o obţine limitele mărimii erorii atunci când suma este aproximată
de integrală, notăm că polinoamele Bernoulli pe intervalul [0,1] îşi ating
valorile maxime absolute în extreme şi Bn(1) este al n – lea număr Bernoulli.
Derivaţia din analiza funcţională
Formula Euler – MacLaurin poate fi înţeleasă ca o curioasă aplicaţie a
unor idei din spaţiile Hilbert şi analiza funcţională. Fie Bn(x) polinoamele
Bernoulli. Funcţiile duale polinoamelor Bernoulli sunt date de
(1)n 1 (n 1)
B n ( x) (1 x) ( n 1) ( x )
n!
unde δ este funcţia delta a lui Dirac. Deasupra este o notaţie formală pentru
ideea de a lua derivatele într-un punct; astfel avem:
1 1 ( n 1)
Bn ( x) f ( x)dx f (1) f ( n 1) (0)
0 n!
pentru n > 0 şi o funcţie arbitrară, dar diferenţiabilă, f(x) definită pe intervalul
unitate. Pentru cazul n =0, definim B0 ( x) 1 . Polinoamele Bernoulli, împreună
cu dualele lor, formează o mulţime ortogonală a intervalului unitate: avem
1
Bm ( x ) Bn ( x )dx mn
0
şi
Bn ( x) B n ( y ) ( x y ) .
n0
Formula de sumare Euler – MacLaurin rezultă atunci ca o integrală peste
cea din urmă. Avem
1
f ( x ) Bn ( x ) Bn ( y ) f ( y )dy
0 n0
1 1 ( n 1)
f ( y )dy Bn ( x ) f (1) f ( n 1) (0)
0 n 1 n!
1 1 (N )
BN 1 ( x y ) f ( y )dy.
( N 1)! 0
Luând x = 0, şi rearanjând termenii, obţinem formula cunoscută, împreună
cu eroarea. De notat că numerele Bernoulli sunt definite ca Bn = Bn(0), şi că
acestea se anulează pentru n impar mai mare decât 1. Această derivaţie nu
- 120 -
presupune că f(x) este netedă şi că se comportă bine; anume, că f poate fi
aproximată prin polinoame; echivalent, că f este o funcţie analitică reală.
Formula de sumare Euler – MacLaurin poate fi astfel văzută a fi un
rezultat al reprezentării funcţiei pe intervalul unitate prin produsul direct al
polinoamelor Bernoulli şi al dualelor lor. Oricât, reprezentarea nu este completă
pe mulţimea funcţiile pătrat integrabile. Dezvoltarea în termenii polinoamelor
Bernoulli are un nucleu netrivial. În particular, sin(2πnx) este într-un nucleu;
integrala lui sin(2πnx) se anulează pe intervalul unitate, fiind diferenţa
derivatelor ei în capetele intervalului.
7.7. T – integrarea
T – integrarea este o tehnică de integrare numerică dezvoltată de Jon
Michael Smith în 1970 pentru a facilita comanda şi controlul avionului.
Prescurtare pentru “integrare numerică tunabilă” ea foloseşte un pas fix ca
mărime şi o formulă iterativă care depinde de faza şi parametrii câştigaţi.
Fie f ( x) integrantul şi P şi G faza şi parametrii câştigaţi. În plus, limita
din membrul stâng al integralei este notată prin x0 şi x este mărimea pasului.
T – integrarea se defineşte prin formula recursivă:
Fn Fn 1 G x Pf n (1 P) f n 1 .
- 121 -
avionului pentru diferite configuraţii aviatice (roată sus, roată jos, clapă sus,
clapă jos, motor afară etc.) şi condiţiile dinamice (decolarea, aterizarea etc.)
devine o simplă problemă de tunare a T – integratorului la condiţiile de zbor
care sunt simulate. În acest sens, T – integratorul se adaptează la problema pe
care încearcă să o rezolve.
Discuţii finale:
Să se discute formulele Newton – Cotes, metoda dreptunghiurilor, regula
trapezului, metoda Romberg, regula Simpson, cvadratura gaussiană.
Tema propusă:
Să se realizeze o lucrare despre formulele Newton – Cotes, metoda
dreptunghiurilor, regula trapezului, metoda Romberg, regula Simpson,
cvadratura gaussiană.
- 122 -
BIBLIOGRAFIE
- 123 -
***, Borland International, Inc. Borland C++, Programming Guide
(Borland International, Scotts wally, CA, 1992).
- 124 -
FIŞA DISCIPLINEI
- 125 -
- Elemente de derivare numerică. - 3 ore
Derivarea formulei de interpolare a lui Lagrange, diferenţe finite,
formule de derivare pe noduri echidistante. Metoda coeficienţilor
nedeterminaţi.
- Elemente de integrare numerică. - 6 ore
Formule de cuadratură de tip Newton-Cotes. Formule de cuadratură
iterate, cazuri particulare. Formulele Gauss de integrare aproximativă,
integrarea numerică prin metoda Romberg.
- Elemente privind rezolvarea ecuaţiilor diferenţiale ordinare. - 3 ore
Metode numerice directe: dezvoltarea în serie Taylor, metoda Euler şi
Runge-Kutta. Convergenţa şi stabilitatea metodelor.
Teste si teme de
control
Stabilirea notei
-răspunsurile la examen / colocviu / lucrări practice 40%
finale (procentaje)
-activităţi aplicative atestate / laborator / lucrări
60%
practice/proiect etc.
-teste pe parcursul semestrului
-teme de control
Bucur, C. M., Metode numerice, Ed. Facla, Timişoara, 1973.
Coman, G., Analiză numerică, Ed. Libris, Cluj, 1995.
Cuculescu, I., Analiză numerică, Ed. Tehnică, Bucureşti, 1967.
Demidovici, B. P., Maron, I., Elements de calcul numerique, Ed. Mir
de Mosou, 1973.
Ignat, C., Ilioi, C., Jucan, T., Elemente de informatică şi calcul
numeric, Univ. „Al. I. Cuza”, Iaşi, Fac. de Matematică, 1989.
Bibliografia
del Rio J. A. I., Cabezas J. M. R., Metodos Numericas, Teoria,
problemas y practicas con MATLAB, Ed. Piramide, 2002.
Press, W. H., Teuklosky, S. A., Vetterling, W. T., Flannery, B. P.,
Numerical Recipes in C: The Art of scientific Computing, (Cambridge
University Press, Cambridge, 1992).
Vladislav, T., Raşa, I., Analiză numerică, Ed. Tehnică, Bucureşti,
1997.
Lista materialelor stiinte.ub.ro
didactice necesare
Coordonator Titular de Grad didactic, titlu, prenume, nume Semnătura
a) disciplină: Prof. univ. dr. Mihai Talmaciu
Calcul numeric
- 126 -