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 .
TA(n) sup{TA(p): p P şi g ( p) n} ,
iar comportarea medie a algoritmului este
- 11 -
polinomial se numeşte exponenţial. Astfel algoritmii cu complexitate
exponenţială sunt irealizabili, în timp ce algoritmii polinomiali de grad mai
mare decât 2 sunt nepractici. Importanţa practică a acestora rezultă şi din
următorul exemplu. Presupunem că un pas necesită 10 6 secunde, adică
O (1) 10 6 secunde, atunci pentru n = 40,
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 (!).
- 12 -
atribuire. Această abordare a programării s-a născut din necesitatea eliminării
saltului necondiţionat, determinându-l pe Dijsktra să impună D-structurile de
control:
secvenţa (în care prelucrările se execută în ordinea scrierii lor);
iteraţia pretestată (cât timp o condiţie este adevărată execută o
prelucrare, prelucrare ce trebuie să modifice valoarea de adevăr a condiţiei);
alternativa simplă (dacă o condiţie este adevărată execută o prelucrare).
S-a demonstrat (Bohm şi Jacopini) că orice algoritm se poate descrie
doar cu D-structurile, dar pentru o mai bună lizibilitate şi înţelegere a
programelor sursă s-au adăugat şi iteraţia posttestată, iteraţia cu un număr
prestabilit de ciclări, alternativa binară şi alternativa generalizată.
Programarea prin abstractizarea datelor propune metodologii în care
conceptele deduse din analiza problemei să poată fi reflectate cât mai fidel în
program. În general un tip abstract de date are două componente: datele
membru – care reflectă reprezentarea tipului şi funcţiile membru – care reflectă
comportamentul tipului.
Programarea orientată spre obiecte. În cadrul structurilor ierarhice,
unde conceptele sunt strâns legate între ele, nu este suficientă doar legătura
dintre concepte în care datele membru ale unei clase pot fi obiecte ale unei alte
clase. Exprimarea ierarhiilor conduce la atribute suplimentare cum sunt cele de
moştenire, atribute care conduc la un model nou de programare numit
programare orientată obiect. În vârful ierarhiei se află fenomenul sau forma de
existenţă care are trăsături comune pentru toate celelalte componente ale
ierarhiei respective. Pe nivelul următor al ierarhiei se află componente care pe
lângă trăsăturile comune de pe nivelul superior, mai au trăsături specifice. O
ierarhie are, de obicei, mai multe nivele, iar situarea unui element pe un nivel
sau altul al ierarhiei este uneori o problemă complexă.
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 , x2 ,..., xn ) . 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 x n , 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 xn 1 g ( xn )
= 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 x 0 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 | xn 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 x n 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 | x n p x n | 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 xn 1 g ( xn ) 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
x 0 ş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 , xn 1 g ( xn ) ş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 c ( a, ) ,
f (a) f () (a ) f ' () f " (c) cu
2
de unde
- 20 -
( a ) 2 f " (c )
g ' () .
2 f (a)
Deci | g ' () | 1 devine
( a ) 2 f " (c )
1.
2 f (a)
3) Fie x0 b , xn 1 g ( xn ) ş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 x0 [a, b] astfel încât f ( x0 ) f " ( x0 ) 0 ,
şirul ( x n ) definit prin x0 şi xn 1 g ( xn ) 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 )
x n 1 x n
f ' ( xn )
f () f ( xn )
xn
f ' ( xn )
- 21 -
( x n ) 2
( x n ) f ' ( x n ) f " ( 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ă
( x n ) 2 f " ( n )
x n 1 .
2 f ' ( xn )
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 , n N
f ' ( x0 )
.
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 .
- 22 -
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 , n N
f ' ( x0 )
.
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).
e n 1 x n 1 g ( xn
( xn ) p
g ( p) (
p!
sau
2
en
e n 1 e n g ' ( ) g " (
2!
.
Metoda este, deci, de ordinul p, dacă şi numai dacă:
( p 1)
g ' () g " () ... g () 0 şi
g ( p ) () 0 .
- 23 -
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.
Propoziţia 2.2.5.1. Dacă este un zero al lui f de multiplicitate m,
f ( x)
metoda iterativă definită prin xn 1 g ( xn ) 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 ' ( x n ) 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)
Din exemplul 2 urmează că 0 | A |1, unde
( a ) 2 f " (c)
A g ' () cu c ( a, ) .
2 f (a)
af ( xn ) x n f (a ) (a ) f ( xn ) en f (a )
x n 1 , en 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
- 25 -
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 Axn ),
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 x n
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 x n converge mai repede, adică lim 0.
x n 2 2 x n 1 x n n xn
Demonstraţie.
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
- 26 -
( 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.
- 28 -
x 2 g ( x1 )
x x0 ( x1 x0 ) 2 /( x2 2 x1 x0 )
}
}.
- 29 -
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 ( x n ) en f ( x n 1 )
e n 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 n
2!
.
Atunci:
2
en
e n 1 (e n f ' () f " ()
e n 1 2
f " ()
k .
2 f ' ()
Ordinul metodei falsei poziţii este p, dacă avem
| en 1 |
lim c cu c 0 .
n | en | p
Deci:
| en 1 |~ c | en | p şi | en |~ c | en 1 | p ,
de unde
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ă
- 30 -
1 5
p .
2
- 31 -
2.3. Rezolvarea numerică a sistemelor neliniare
Pentru mai multă claritate, ne limităm la sisteme de două ecuaţii cu două
necunoscute. Se constată că teoria este identică cu cea a ecuaţiilor înlocuind
x R cu X R 2 şi valoarea absolută în R cu norma în R 2 .
Fie f1 şi f 2 două aplicaţii în D R 2 R .
Se caută (1 , 2 ) astfel încât
f1 (1 , 2 ) 0
f 2 (1 , 2 ) 0.
Domeniul D se va alege astfel încât să existe în D o soluţie şi numai
una a sistemului.
f1 ( x, y) 0 echivalent cu sistemul:
Fie sistemul
f ( x, y ) 0
2
x x f1( x, y)
y y f ( x, y).
2
Aceasta ne conduce, luând ( x0 , y 0 ) D :
x1 x0 f1( x0 , y0 )
y y f ( x , y ).
1 0 2 0 0
Iterând, obţinem
- 32 -
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
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 2
G( X1 ) G( X 2 ) L X1 X 2 , adică
( g1 ( x1 , y1 ) g1 ( x 2 , y 2 )) ( g 2 ( x1 , y1 ) g 2 ( x 2 , y 2 )) 2 L2 (( x1 x2 ) 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:
( g1 ( x1 , y1 ) g1 ( x 2 , y 2 )) 2 ( g 2 ( x1 , y1 ) g 2 ( x 2 , y 2 )) 2 max ( g '12x g '12y g ' 22 x g ' 22 y )
X D
(( x1 x 2 ) 2 ( y1 y 2 ) 2 ).
Metoda aproximaţiilor succesive conduce la următorul algoritm.
Algoritmul 2.3.1.1.
Intrări: n = număr de necunoscute
g = procedura de evaluare G ( X )
- 33 -
= 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
X0 X
execută g ( n, X 0)
cât timp X X 0 şi k nr_max
{
k k 1
X0 X
execută g ( n, X 0)
}
}.
f1( xn 1, yn 2 ) 0
f (x , y ) 0.
2 n 1 n 2
Dezvoltăm în serie Taylor şi neglijăm termenii de ordinul 2:
f1 ( xn , yn ) 1 f '1x ( xn , yn ) 2 f '1y ( xn , yn ) 0
f ( x , y ) f ' ( x , y ) f ' ( x , y ) 0.
2 n n 1 2x n n 2 2 y n n
Deci, (1 , 2 ) trebuie să verifice următorul sistem:
- 34 -
1 f '1x ( xn , yn ) 2 f '1y ( xn , yn ) f1 ( xn , yn )
f ' ( x , y ) f ' ( x , y ) f ( x , y ).
1 2x n n 2 2 y n n 2 n n
f '1x ( xn , y n ) f '1 y ( xn , y n )
Fie J ( x n , y n ) matricea J ( xn , 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 .
Şi în cazul sistemelor, metoda Newton este de ordin cel puţin 2. Pentru a
f
evita inversarea matricii jacobiene, avem J ( xn , y n ) 1 1 .
f 2 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
- 35 -
}.
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 x1x2 5x1 1 0
x 3,4
folosind metoda lui Newton cu iteraţia iniţială X 0 0 .
2,2
y0
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.
- 36 -
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.
- 37 -
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
22 x2 b2
0 ( k 1) ( k 1) ( k 1) x ( k 1)
0 a kk a kk 1 akn k bk
x
0 0 a k( k11k) a k( k11k)1 ak( k11n) k 1 bk( k11)
xn
( k 1) ( k 1) ( k 1) ( k 1)
0 0 a nk a nk 1 ann 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
b1(1)
0 a ( 2) a ( 2) a ( 2 ) ( 2) 1
x
22 2k 2k 1 a 2n x 2 b2 ( 2 )
(k ) (k ) (k ) x
0 0 a kk a kk 1 a kn k bk ( k )
( k ) x k 1 b ( k )
0 0 0 0 a k(k)1k 1 a k 1n
k 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
- 38 -
b ( n)
xn n
a nn ( n)
x b (i ) n a (i) x / a (i) , i n 1, ..., 1 .
i i j i 1 ij j ii
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 eTk , î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 :
- 39 -
Tk Ak Tk a1 a 2 a k a n Tk a1 Tk a 2 Tk a k Tk a n
,
unde ai este coloana i a matricei Ak .
Tk a k I n t k eTk a k a k a kk t k .
Componenta i a coloanei transformate Tk a k este:
aik pentru i k
a'ik aik akk tik
aik akk tik pentru i k .
Remarcăm faptul că, în timpul transformării, primele k componente nu se
modifică, fiind afectate numai elementele subdiagonale.
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 ekT 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
ai, k : n ai, k : n t a k , k :n
- 40 -
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
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 u 3n .
n2 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
- 41 -
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
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 2 k ... 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 2 k ... 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 a kj
k 1
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
- 42 -
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
}
}
}.
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ă.
- 43 -
1 k 1
i11k i 2 2k ... ik kk aik ik aik is ks , i k 1, ..., n .
kk s 1
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
0 0 0 0
a 0 0 0
Ainf 21 ,
an1 an 2 ann 1 0
- 44 -
0 a12 a12 a1n 1 a1n
Asup 0 0 a23 a 2n 1 a 2n .
0 0 0 0 0
b1
b
1 1 inf sup
unde P D C , d D b, C ( A A ), b 2 . Vom stabili în ce
bn
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) D1C ( x x (k ) ) Pe(k ) ,
sau, trecând la norme şi notând cu e (0) x x (0) obţinem
k
e ( k 1)
P e ... P
(k )
e . (0)
- 45 -
n n
| aij | | aii |, i {1,2,..., n} | aij | | a jj |, j {1,2,..., n}
j 1 sau i 1
j i i j
sau
2
n n aij
1 .
i 1 j 1 aii
j i
Din motive de eficienţă verificăm condiţia || x ( k 1) x ( k ) || || x (k ) ||
considerând şirul convergent începând cu un rang k.
Metoda Jacobi conduce la următorul algoritm.
Algoritmul 3.3.1.1.
Intrări: n = ordinul matricii sistemului
A = matricea sistemului
b = vectorul termenilor liberi
y = aproximaţia iniţială / precedentă a soluţiei
nr_max = numărul maxim admis de iteraţii
= precizia
Ieşiri: x = soluţia (aproximaţia cerută)
{
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
}.
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.
- 47 -
( k 1) i 1 aij ( k 1) n aij (k )
Obţinem xi xi (x j x j ) (x j x j ) ,
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} .
j 1 aii j i 1 aii
- 48 -
u k 1 u k
( D qA inf ) Au k b ,
q
adicǎ
pq.
B D qAinf ,
Dacǎ q 1 obţinem metoda Gauss-Seidel.
Existǎ şi alte condiţii în care procedeele iterative sunt convergente. Dacǎ
q (0,2) şi A este o matrice simetricǎ şi strict pozitivǎ atunci şirul de
aproximaţii construit prin metoda relaxǎrii converge cǎtre soluţia exactǎ a
sistemului Ax = b.
3.4. Exerciţii
1) Să se rezolve sistemele:
Discuţii finale:
- 49 -
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.
- 50 -
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.
- 51 -
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 .
- 52 -
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 H 1
det( A I ) �
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
- 53 -
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 AH P )
P H A( PP H ) A H P P H AAH 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 ,
- 54 -
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
- 55 -
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
AT A AT A AAT A normală. Conform lemei 4.2.1.3., A este regulată şi
admite o bază ortonormală de vectori proprii. A regulată, este asemenea cu o
matrice diagonală ce are pe diagonală valorile proprii.
Metoda lui Jacobi utilizează matrice de rotaţie reale şi construieşte un şir
de matrice { Ak } asemenea cu A.
Luăm A0 A şi în general Ak 1 Rk Ak RkT , k 0,1,2,... , în care
Rk R( p k , q k ) o matrice de rotaţie reală, având la intersecţiile liniilor p k şi q k
cu coloanele p k şi q k elementele cos k , sin k şi respectiv sin k ,
cos k , iar în rest elementele matricei unitate.
Pentru un k fixat notăm p p k , q q k , k . Alegem p şi q astfel încât
| a kpq | max | aijk | (maximul în modul dintre elementele nediagonale). Alegem
1 i j n
astfel încât să se anuleze pentru Ak 1 elementele simetrice cele mai mari în
modul.
Dacă A0 este simetrică atunci
A0T A0 A1T R0 A0T R0T R0 A0 R0T A1 .
Prin inducţie
AkT1 Ak 1 Ak 1 simetrică.
- 56 -
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
- 57 -
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
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
Deci
1/ 2 2
( k 1) 2
E k 1 E | aij
2 2
| E k E 2( a (pq
k) 2
)
i j
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
(n2� n)(a (pq
Ek E �ޣ 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 E 0 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 ) .
- 59 -
Cu această precizie
vectorii proprii sunt coloanele matricii
V s 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
(k )
respectivă. Notăm V (Vij ) .
Înmulţirea de mai sus se transpune în formulele:
v (k 1) v (k ) cos v (k ) sin
pi pi qi
(k 1) (k ) (k )
v
qi v pi sin v qi cos
Metoda Jacobi conduce la următorul algoritm.
Algoritmul 4.3.1.
Intrări: n = ordinul matricei simetrice A
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
{
- 60 -
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
{
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
2
s1 s1 aij
}
pentru i 1 : n
i aii
pentru j 1 : n
{
\* vectorul propriu j
pentru j 1 : n
bij aij
- 61 -
}
}.
sau,
L1 A( L1 ) T ( LT x ) ( LT x ) ,
adică
A x x
adică
x ( LT ) 1 x .
4.5. Exerciţii
- 62 -
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:
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.
- 63 -
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ă.
- 64 -
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 ] .
- 65 -
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 x k ) w' ( x k )
- 66 -
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' ( x k )
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.
- 67 -
(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
- 68 -
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 } .
- 69 -
Î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.
- 70 -
[ x 2 ,..., xk 1 ] f [ x1 ,..., x k ] f
[ x1 , x2 ,..., x k 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 �i j 2 j 1 � j 1
�
� j � i �
k f ( x )( x x ) f ( x )( x x ) f ( x1 ) k 1 f ( xi )
k 1
� i i 1 i i � .
k 1 k 1 k
i 2 i 1
( xk 1 x1 ) � ( xi x j ) � ( x1 x j ) � ( xi x j )
j 1 j2 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 )
- 71 -
}.
- 72 -
apelează Dif._div. (n,x,y)
s y0
P 1
pentru i 1 : n
{
P P ( a xi 1 )
s s P yi
}
s
}.
- 73 -
5.2.7. Formule de interpolare pe noduri echidistante
Să presupunem că punctul x în care se face interpolarea pe nodurile
echidistante x0 , x1 , ..., xn 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 ( xn ) [ xn , x n 1 ] f ( x x n ) [ x n , x n 1 , xn 2 ] f ( x x n )( x x n 1 )
... [ x n , x n 1 ,..., x0 ] f ( x x n )( x x n 1 )...( x x1 ).
Făcând transformarea x xn 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
- 74 -
{
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
P ( xi ) f ( xi ) f i ,
P' ( x ) f ' ( x ) f ' i 0, 1, ..., n .
i i i
Teorema 5.2.8.1. Există un polinom P şi numai unul singur de grad
cel mult 2n 1 astfel încât:
P(xi ) fi pentru
P' ( x ) f ' i 0, 1, ..., n .
i i
Demonstraţie. Presupunem că există polinoamele P şi Q de grad cel
mult 2n 1 astfel ca P( xi ) Q( xi ) f i şi P' ( xi ) Q' ( xi ) f 'i pentru
i 0, 1, ..., n . Polinomul R P Q , care are de asemenea gradul cel mult
2n 1 , admite fiecare xi ca rădăcină dublă ( R( xi ) R' ( xi ) 0 ). Deoarece R
- 75 -
are cel puţin 2n 2 rădăcini şi are gradul cel mult 2n 1 urmează că R este
polinomul nul şi deci P Q .
Să arătăm că polinomul
n n
P( x) hi ( x) f i k i ( x) f 'i ,
i 0 i0
unde:
hi ( x) [1 2( x xi )'i ( xi )]2i ( x )
k i ( x ) ( x xi )2i ( x )
cu
n xxj
i ( xi )
j 0 xi x j
j i
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' ( x k ) 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
- 76 -
P ( xi ) f ( xi ) f i ,
P' ( x ) f ' ( x ) f ' i 0, 1, ..., n .
i i i
Pentru calculul valorii polinomului Hermite într-un punct a a fost definit
un O(n 2 )
- algoritm.
Algoritmul 5.2.8.1.
Intrări: n + 1 = numărul nodurilor de interpolare
a = abscisa în care se calculează valoarea polinomului
x = tabloul celor n + 1 puncte de interpolare
y = tabloul valorilor funcţiei de interpolat în cele n+1 puncte
y _ d = tabloul valorilor derivatelor funcţiei de interpolat în cele
n+1 puncte
Ieşiri: h = valoarea polinomului Hermite în a
{
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 xi ) l _ d y i ( a x i ) y _ d i
}
hs
}.
şi
2
hi
f "i 1 bi h
6
,
de unde
- 78 -
fi hi
ai f "i şi
hi 6
f i 1 hi
bi f "i 1 .
hi 6
Înlocuind ai şi bi prin expresiile lor obţinem:
( 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
,
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.
- 79 -
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
- 80 -
Teorema 5.3.2.1. Fie n elemente liniar independente din
X : x1 , x 2 , ..., x n . Pentru orice y X , problema celei mai bune aproximări are
o soluţie.
Verificare. Trebuie arătat că funcţia norma erorii
e( a1 , a 2 ,..., a n ) y (a1 x1 a 2 x 2 ... a n x n )
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:
are o soluţie.
Aceasta se numeşte aproximarea discretă în sensul celor mai mici pătrate.
- 81 -
Cele ( n 1) funcţii liniar independente (u i ) sunt date. Se pot alege,
u k ( x) x k ( k 0, 1, ..., n ) sau funcţiile trigonometrice sau cele exponenţiale.
Se cunosc (k 1) perechi ( xi , yi ) ( i 0, 1, ..., k ) cu k n , unde xi sunt
distincte. Fie ri yi P ( xi ) , i 0, 1, ..., k .
k
2
Să se determine a ( ai ) �R n 1 astfel ca R ( a) ri să fie minim.
i0
Considerând norma euclidiană în R k 1 , avem R(a ) || r 2 || , unde
r (ri ) 0i k R k 1 . Luăm: y ( y i ) 0i k R k 1 . U (u ij ) (u i ( x j )) , matricea
rectangulară cu (k 1) linii şi ( n 1) coloane.
Avem || r || 2 (r , r ) ( y Ua, y Ua) .
Minimul lui R este caracterizat prin R (a) R (a b) , R {0} ,
b R n 1 , adică:
( y Ua, y Ua) ( y U (a b), y U (a b))
( y Ua, y Ua) ( y Ua Ub, y Ua Ub)
0 2( y Ua,Ub) 2 (Ub, Ub).
Pentru 0 , împărţind prin 2 şi făcând să tindă spre zero obţinem
0 ( y Ua,Ub) . pentru 0 , împărţind prin 2 şi făcând să tindă spre
zero obţinem 0 ( y Ua, Ub) . Cele două inegalităţi dau ( y Ua, Ub) 0 .
Notând cu U T transpusa lui U obţinem (U T y U T Ua, b) 0 ,
b R n 1 . Deci valoarea minimă a funcţiei R verifică sistemul liniar
U T Ua U T y , unde U T U este o matrice pătratică de ordin n 1 .
Acest sistem se numeşte sistemul ecuaţiilor normale.
b) Cazul liniar
În acest caz particular, se caută polinomul de grad unu, P( x) a0 a1 x
k k
2 2
astfel ca ( yi a1 xi a0 ) ( yi b1 xi b0 ) , (b0 , b1 ) R 2 . Fie
i0 i 0
X ( xi ) R k 1 şi Y ( yi ) R k 1 . Sistemul de ecuaţii normale devine:
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
- 82 -
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
xi xi xi y i
i 0 i 0 i0
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) .
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:
- 83 -
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.
- 84 -
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 .
- 85 -
6..2 Metode
Prezentăm două metode elementare.
- 86 -
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 K 0 yn
h [ k f (tn k , yn k ) k 1 f (tn k 1 , yn k 1 ) K 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 tn 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 � t n , yn k 2 �
� 2 2 �
k4 f tn h, yn hk3
- 87 -
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 2k2 2k3 k4
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, ...
- 89 -
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.
- 90 -
hn k y(tn k ; y (tn ), y (tn 1 ),K , y (tn k 1 ); h) y (tn k ) .
h
Metoda este consistentă dacă lim n k 0 .
h �0 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.
- 91 -
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ă.
- 92 -
Metode dezvoltate pentru ecuaţii diferenţiale ordinare, precum metodele
Runge – Kutta, pot fi aplicate pentru problema formulată şi astfel pot fi folosite
pentru a evalua integrala.
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.
- 93 -
Exemplificare pentru regula dreptunghiului
.
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:
- 94 -
b b a �f (a ) f (b) n 1 � ba�
�
�f ( x)dx � � �f �ak �(*)
�
a n � 2 k 1 � n �
�
unde subintervalele au forma
[ kh, (k 1)h] ,
ba
cu h şi k 0, n 1 .
n
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
- 95 -
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ă
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
- 96 -
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
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.
- 97 -
Integrarea numerică prin metoda Monte Carlo: nodurile sunt aleatoriu
echidistante. Noile noduri sunt albastru închis, vechile noduri sunt bleu.
Valoare integralei tinde către 3.32.
- 98 -
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 a1i 40 2 4 3
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
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.
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ă.
- 100 -
b n
egală cu integrala definită: �f ( x)dx lim � f (a i ' x) x . Acest lucru este
a n ��i 1
adevărat indiferent de ce i este folosit. Deşi aproximarea în mijloc tinde să fie
mai precisă pentru n finit, limita celor trei aproximări, cum n � �, este
aceeaşi, astfel oricare dintre ele poate fi folosită pentru a calcula o integrală
definită.
Eroarea
Erorii de aproximare în mijloc se descompune ca cubul lăţimii
dreptunghiului
ah 3
� h� h
� f ( x ) dx hf a
� � f "()
a � 2 � 24
pentru �(a, a h) oarecare.
- 101 -
ba
xk a k ,
n
pentru k 0, n (putem folosi de asemenea o reţea neuniformă).
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.
- 102 -
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.
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.
- 103 -
Înlocuim integrantul f ( x ) prin polinomul integral P(x) care ia
aceleaşi valori ca f ( x ) în punctele terminale a şi b şi în mijlocul
ab
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� �a b � �
�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:
�a b �
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 �a b �
�f ( x)dx �f (a) f � � gf (b) .
a �2 �
Coeficienţii , şi g 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
- 104 -
(asimptotic) proporţională cu (b a)5 . Oricum, derivaţiile de mai sus sugerează
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 n �
1
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 ) K
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ă.
- 105 -
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.
- 106 -
Î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
32
5 36
�
7
- 107 -
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
- 108 -
(−1,1) (1 x) (1 x ) , , 1 Polinoamele Jacobi
1
(−1,1) Polinoamele Chebyshev (de prima speţă)
1 x2
Teorema fundamentală
b
w( x) x k q ( x )dx 0
Fie q un polinom netrivial de grad n astfel încât �
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) ()
w( 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 ) �
w( 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ă.
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.
- 109 -
Regulile Gauss – Kronrod
Dacă intervalul [a,b] este împărţit, punctele de evaluare Gauss ale noilor
subintervale coincid cu punctele de evaluarea anterioare (exceptând zero, pentru
numerele impare), şi astfel, integrantul trebuie să fie evaluat în fiecare punct.
Regulile Gauss – Kronrod sunt extinderi ale regulilor de cvadratură gaussiană
generate prin adăugarea a n + 1 puncte la o regulă n – punct în aşa fel încât
regula rezultantă să fie de ordin 3n + 1. Acest fapt permite calculul estimărilor
de ordin superior refolosind valorile funcţiei a unei estimări de ordin mic.
Diferenţa dintre regula de cvadratură gaussiană şi extensia ei Kronrod
este des utilizată ca o estimare a erorii aproximării. Regulile sunt numite după
Alexander Kronrod care le-a inventat în 1960. Algoritmii în QUADPACK au la
bază regulile Gauss–Kronrod. Un exemplu popular combină o regulă Gauss 7 –
puncte cu o regulă Kronrod 15 – puncte.
Deoarece punctele Gauss sunt încorporate în punctele Kronrod, un total
de doar 15 evaluări produc estimarea integrării cât şi eroarea estimării.
- 110 -
Cvadratura tanh – sinh este o metodă de integrare numerică introdusă de
Hidetosi Takahasi şi Masatake Mori în 1974. Ea foloseşte schimbarea de
variabilă
� �
x tanh � sinh t �
�2 �
pentru a transforma o integrală pe ( 1,1) într-o integrală pe întreaga dreaptă
reală. Pentru un pas dat h, integrala este aproximată de suma
�
� wk f ( xk )
k �
cu:
� �
- abscisele xk tanh � sinh kh �
�2 �
şi
cosh kh
2 � �
- ponderile wk tanh � sin kh �.
� � 2
cos 2 � sinh kh � � �
�2 �
La fel ca cvadratura gaussiană, cvadratura tanh-sinh este potrivită pentru
integrarea cu precizie arbitrară, unde este dorită o acurateţe de sute sau mii de
digiţi.
Convergenţa este pătratică pentru integranţi cu comportare suficient de
bună: dublarea numărului de puncte de evaluare dublează grosolan numărul de
digiţi corecţi.
Cvadratura tanh – sinh este mai puţin eficientă decât cvadratura Gauss
pentru integranţi netezi, dar, spre deosebire de cvadratura Gauss lucrează bine şi
cu integranţi care au singularităţi sau derivate infinite într-unul sau în ambele
capete ale intervalului de integrare. Un alt avantaj este acela că abscisele şi
ponderile sunt relativ simplu de calculat. Costul calculului perechilor abscise –
ponderi pentru o acurateţe de n – digiţi este n 2 log 2 n comparabil cu n3 log n
pentru cvadratura Gauss.
Comparând schema cu cvadratura Gauss şi cvadratura funcţiei eroare,
Bailey ş.a. au găsit că schema tanh – sinh „pare a fi cea mai bună pentru
integranţi de tipul celor mai des întâlniţi în cercetările matematice
experimentale”.
- 111 -
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
- 112 -
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
= N, sunt precis calculate de punctele N echidistante şi ponderile n
N
echidistante pentru n 0, N (cu excepţia punctelor terminale care sunt
1
ponderate de , pentru a evita dubla numărare). Adică, aproximăm
2
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
- 113 -
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ă).
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 2 N 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.
- 114 -
Fejér a propus două reguli de integrare foarte asemănătoare cu cele de
integrare Clenshaw – Curtis, dar cu mult timp înainte (în 1933). A “doua”
regulă de integrare a lui Fejér este identică cu cea dată de Clenshaw – Curtis.
Singura diferenţă este aceea că punctele terminale f (1) şi f (1) sunt fixate în
zero. Adică, Fejér a folosit doar extremele interioare ale polinoamelor
Chebyshev, adică punctele staţionare.
“Prima” regulă de integrare a lui Fejér evaluează ak estimând f (cos )
într-o altă mulţime de puncte echidistante, la jumătatea distanţei dintre extreme:
( n 0,5) n
n pentru 0 �n N . Acestea sunt rădăcinile lui TN (cos ) ,
N
cunoscute sub denumirea de nodurile Chebyshev. (Aceste mijloace echidistante
sunt singurele celelalte alegeri ale punctelor de integrare care păstrează atât
simetria pară a transformării cosinus cât şi simetria translaţională a seriei
Fourier periodice) . Aceste lucruri conduc la:
2 N 1 � (n 0,5) � (n 0,5)k
ak � � f � cos �cos
N n 0 � N � N
care este chiar DCT de tip II.
În ciuda faptului că Fejér a descoperit aceste tehnici înainte lui Clenshaw
şi Curtis, denumirea “cvadratura Clenshaw – Curtis” a devenit cea standard.
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:
- 116 -
�2(i 0,5) �
xi cos � �.
� n 1 �
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.
- 117 -
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
1
discontinuitate cunoscută sau o divergenţă a integralei (precum ) într-
x
un anumit punct.
- 118 -
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.
- 119 -
(vezi regula trapezului). Formula Euler – MacLaurin furnizează expresii pentru
diferenţa dintre sumă şi integrală în termeni ai derivatelor f ( k ) în 0 şi n. Pentru
orice număr natural p, avem:
p B
S I � k 1 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 .
(2)2 p 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
n
3 �n( n 1) �
�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:
b b f (a ) f (b) � B2k
� f (n) : �f ( x)dx � f (2k 1) (b) f (2 k 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.
- 120 -
Atunci toţi termenii seriilor asimptotice pot si exprimaţi în termenii funcţiilor
elementare. De exemplu,
b 1 � 1 1 � B
� : � dk � 2t
na (z k)
2
0 (z k)
2
z 2 t 1 z 2t 1 .
1 44 2 4 43
1
z
1
Aici, membrul stâng este egal cu suma dintre şi y (1) ( z ) , unde,
z2
aceasta din urmă este funcţia poligamma de prim ordin definită prin
d2
y (1) ( z ) ln G( z ) ; funcţia gamma G( 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 y ( 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 ,K
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
- 121 -
u f ( x),
du f '( x )dx,
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
vdu [ f ( x) P1 ( x )] k
uv � � 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) K 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:
- 122 -
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
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)
%
Bn ( 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)
� B%
n ( 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 B% 0 ( x) 1 . Polinoamele Bernoulli, împreună
cu dualele lor, formează o mulţime ortogonală a intervalului unitate: avem
1
�B%
m ( x ) Bn ( x )dx mn
0
şi
�
� Bn ( x) B%
n ( y ) ( x y ) .
n 0
Formula de sumare Euler – MacLaurin rezultă atunci ca o integrală peste
cea din urmă. Avem
1 �
f ( x ) �� Bn ( x) B%
n ( y ) f ( y ) dy
0 n 0
1 � 1 � ( n 1)
�f ( y )dy � Bn ( x) f (1) f ( n 1) (0) �
0 n 1 n! � �
1 1
� BN 1 ( x y ) f ( N ) ( 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ă
- 123 -
acestea se anulează pentru n impar mai mare decât 1. Această derivaţie nu
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 .
- 124 -
integratorii numerici bazaţi pe teoria clasică a aproximării. Simularea mişcării
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ă.
- 125 -
BIBLIOGRAFIE
- 126 -
***, Borland International, Inc. Borland C++, Programming Guide
(Borland International, Scotts wally, CA, 1992).
- 127 -
FIŞA DISCIPLINEI
- 128 -
- 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
- 129 -