Sunteți pe pagina 1din 184

ANALIZĂ NUMERICĂ

Note de curs pentru anul III Informatică

de

lector dr. Daniel Stănică


(email: stanicad@fmi.unibuc.ro)

1
Analiza numerică (sau calculul numeric) studiază tehnici de aproximare pentru
rezolvarea problemelor matematice, luând în considerare şi evaluarea posibilelor erori.
Aceste tehnici de aproximare sunt transpuse în algoritmi implementaţi în computer
prin intermediul unor diverse limbaje de programare (MATLAB, C++, JAVA, etc.),
ţinându-se cont de puterea de calcul şi acuarteţea rezultatelor specifice calculatoarelor
sau a limbajelor de programare.

Cursul va cuprinde următoarele capitole:

• Metode pentru aproximarea soluţiilor ecuaţiilor neliniare unidimensionale

• Metode pentru rezolvarea sau aproximarea soluţiilor sistemelor de ecuaţii liniare

• Metode pentru aproximarea valorilor proprii ale unei matrice

• Metode pentru aproximarea soluţiilor sistemelor de ecuaţii neliniare

• Aproximarea funcţiilor reale prin interpolare polinomială

• Construcţia curbelor de regresie

• Derivare numerică

• Integrare numerică: formule de cuadratură

• Metode pentru aproximarea soluţiilor ecuaţiilor diferenţiale

Bibliografie pentru lucrările de laborator:


Iuliana Paraschiv-Munteanu, Daniel Stănică - ANALIZĂ NU-
MERICĂ (Exerciţii şi teme de laborator), Editura Universităţii
din Bucureşti, 2006.

2
Fenomenul de instabilitate manifestat în diverse procese matematice este important
de studiat, dat fiind limitările tehnicii de calcul sau ale măsurătorilor de unde provin
datele de calcul. Următorul exemplu scoate în evidenţă existenţa unui astfel de fenomen
şi motivaţia studiului său.
Fie sistemul de ecuaţii Ax = b, unde
     
 10 7 8 7   32   1 
     
 7 5 6 5   23   1 
     
A=  b=  cu soluţia x= 
 8 6 10 9   33   1 
     
     
7 5 9 10 31 1

Considerăm sistemul perturbat A(x + δx) = b + δb, unde


   
 10 7 8 7   32, 1 
   
 7 5 6 5   22, 9 
   
A=  b + δb =  
 8 6 10 9    33, 1 
  
   
7 5 9 10 30, 9

Acesta are soluţia  


 9, 2 
 
 −12, 6 
 
x + δx =   (1)
 4, 5 
 
 
−1, 1
Considerăm şi sistemul perturbat (A + ∆A)(x + ∆x) = b unde
   
 10 7 8, 1 7, 2   32 
   
 7, 08 5, 04 6 5   23 
   
A + ∆A =   b= 
 8 5, 98 9, 89 9   33 
   
   
6, 99 4, 99 9 9, 98 31

3
Acesta are soluţia  
 −81 
 
 137 
 
x + ∆x =   (2)
 −34 
 
 
22
Sistemul (1) diferă de cel iniţial printr-o ”mică” variaţie a coloanei termenilor liberi, iar
sistemul (2) printr-o ”mică” variaţie a elementelor matricei. După cum se observă,
aceste ”mici” variaţii antrenează după sine variaţii ”mari” ale soluţiei iniţiale.

4
Metode numerice pentru ecuaţii neliniare

În general, modelele matematice asociate fenomenelor fizice sau de altă natură


conduc la ecuaţii de forma
f (x) = 0

Ne propunem să găsim aproximaţii ale soluţiei ecuaţiei anterioare, în cazul în care f
este o funcţie reală neliniară.

Metoda bisecţiei

Această metodă constă în înjumătăţirea intervalului în care se află soluţia unei


ecuaţii.

Fie a < b ∈ R şi f : [a, b] → R o funcţie continuă cu f (a) · f(b) < 0. Atunci există
z ∈ [a, b] astfel încât f (z) = 0.
Definim şirurile (an )n≥0 , (bn )n≥0 , (cn )n≥0 astfel:

• a0 := a, b0 := b, c0 := (a + b)/2;

• Pentru n ≥ 1


 a := an−1
 n

— dacă f (cn−1 ) = 0, atunci bn := bn−1




cn := cn−1


 an := an−1


— dacă f (an−1 ) · f (cn−1 ) < 0, atunci bn := cn−1




cn := (an + bn )/2

1


 an := cn−1


— dacă f (an−1 ) · f (cn−1 ) > 0, atunci bn := bn−1




cn := (an + bn )/2

Teorema -1.1 Presupunem că funcţia f are o singură rădăcină în [a, b]. Atunci şirul
(cn )n≥0 construit mai sus converge la unica soluţie z ∈ [a, b] a ecuaţiei f(x) = 0 şi
b−a
|cn − z| ≤
2n
Iteraţiile construite prin metoda bisecţiei se opresc la pasul m pentru care

|f(cm )| < ε

sau, pentru o mai mare acurateţe, la pasul m pentru care

|f (cm )| < ε şi |cm − cm−1 | < ε,

unde ε este eroarea de aproximare.

Exemplul -1.1 Să se aproximeze, folosind metoda bisecţiei, soluţia ecuaţiei x3 +4x2 −
10 = 0 (conţinută în intervalul [−1, 2]) cu eroarile ε1 = 0.01, ε2 = 10−10 .

Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 9 şi are


valoarea c10 = 1.36132812500000.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 se obţine la pasul m = 35 şi are
valoarea c37 = 1.36523001347086.

Regula falsi

"Regula falsi" este tot o metoda de "micsorare" a intervalului in care se afla solutia
unei ecuatii.
Fie a < b ∈ R şi f : [a, b] → R o funcţie continuă cu f (a) · f(b) < 0. Atunci există
z ∈ [a, b] astfel încât f (z) = 0.
Definim şirurile (an )n≥0 , (bn )n≥0 , (cn )n≥0 astfel:

2
• a0 := a, b0 := b, c0 := (a0 f (b0 ) − b0 f(a0 ))/(f (b0 ) − f(a0 );

• Pentru n ≥ 1


 an := an−1


— dacă f (cn−1 ) = 0, atunci bn := bn−1




cn := cn−1


 an := an−1


— dacă f (an−1 )·f (cn−1 ) < 0, atunci bn := cn−1




cn := (an f (bn ) − bn f (an ))/(f(bn ) − f (an )


 an := cn−1


— dacă f (an−1 )·f (cn−1 ) > 0, atunci bn := bn−1




cn := (an f (bn ) − bn f (an ))/(f(bn ) − f (an )

Iteraţiile construite prin regula falsi se opresc la pasul m pentru care

|f(cm )| < ε

sau, pentru o mai mare acurateţe, la pasul m pentru care

|f (cm )| < ε şi |cm − cm−1 | < ε,

unde ε este eroarea de aproximare.

Teorema -1.2 Presupunem că funcţia f are o singură rădăcină în [a, b]. Atunci şirul
(cn )n≥0 construit mai sus converge la unica soluţie z ∈ [a, b] a ecuaţiei f(x) = 0.

Exemplul -1.2 Să se aproximeze, folosind regula falsi, soluţia ecuaţiei x3 +4x2 −10 =
0 (conţinută în intervalul [−1, 2]) cu eroarile ε1 = 0.01, ε2 = 10−10 .

3
Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 8 şi are
valoarea c7 = 1.36506360624662.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 se obţine la pasul m = 21 şi are
valoarea c21 = 1.36523001341145.

Metoda coardei

Fie [a, b] ⊂ R şi f : [a, b] → R o funcţie. Definim recurent şirul (xn )n astfel:

x0 := a, x1 := b şi

x0 f(xn ) − xn f(x0 )
xn+1 := , ∀n∈N
f (xn ) − f (x0 )

Teorema -1.3 Presupunem că f este de două ori derivabilă pe [a, b] şi

a) f ”(x) = 0, ∀ x ∈ (a,b)

b) f (a) · f ”(a) > 0

c) f (a) · f (b) < 0

Atunci ecuaţia f(x) = 0, are o soluţie unică z ∈ [a, b], iar şirul (xn )n converge la z.

Iteraţiile construite prin metoda coardei se opresc la pasul m pentru care

|f (xm )| < ε

sau, pentru o mai mare acurateţe, la pasul m pentru care

|f (xm )| < ε şi |xm − xm−1 | < ε,

unde ε este eroarea de aproximare.

Exemplul -1.3 Să se aproximeze, folosind metoda coardei, soluţia ecuaţiei x3 −x+3 =
0 (conţinută în intervalul [−3, 0]) cu eroarile ε1 = 0.01, ε2 = 10−10 .

4
Se verifică ipotezele teoremei anterioare.
Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 10 şi are
valoarea x15 = −1.66063905970749.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 se obţine la pasul m = 40 şi are
valoarea x40 = −1.67169988158683.

Metoda secantei

Fie [a, b] ⊂ R şi f : [a, b] → R o funcţie. Definim recurent şirul (xn )n astfel:

x0 , x1 ∈ [a, b] şi

xn−1 f(xn ) − xn f(xn−1 )


xn+1 := , ∀n∈N
f (xn ) − f (xn−1 )

Teorema -1.4 Presupunem că f este derivabilă pe [a, b] şi

a) f ’(x) = 0, ∀ x ∈ [a,b]

b) şirul (xn )n are toate valorile în intervalul [a, b]

c) f (a) · f (b) < 0

Atunci ecuaţia f(x) = 0, are o soluţie unică z ∈ [a, b], iar şirul (xn )n converge la z.

Iteraţiile construite prin metoda secantei se opresc la pasul m pentru care

|f (xm )| < ε

sau, pentru o mai mare acurateţe, la pasul m pentru care

|f (xm )| < ε şi |xm − xm−1 | < ε,

unde ε este eroarea de aproximare.

5
Exemplul -1.4 Să se aproximeze, folosind metoda secantei, soluţia ecuaţiei x3 − x +
3 = 0 (conţinută în intervalul [−15, 15], luând x0 = 1, x1 = 2) cu eroarile ε1 = 0.01,
ε2 = 10−10 .

Se verifică ipotezele teoremei anterioare. Punctul b) se verifică la fiecare pas.


Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 23 şi are
valoarea x23 = −1.67109143768403.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 (chiar ε = 10−13 ) se obţine la
pasul m = 26 şi are valoarea x26 = −1.67169988165715

Metoda lui Newton

Fie [a, b] ⊂ R şi f : [a, b] → R o funcţie.

Teorema -1.5 Presupunem că f este de două ori derivabilă pe [a, b], că f’, f ” nu se
anulează pe [a, b] şi f(a) · f (b) < 0. Fie x0 ∈ [a, b] astfel încât

f (x0 ) · f ”(x0 ) > 0

şi
f(xn )
xn+1 := xn − , ∀n∈N
f’(xn )
Atunci ecuaţia f(x) = 0, are o soluţie unică z ∈ [a, b], iar şirul (xn )n converge la z.

Propoziţia -1.1 Este adevărată următoarea formulă de evaluare a erorii:

|f (xn )|
|xn − z| ≤ ,∀n∈N
min |f’(x)|
x∈[a,b]

Iteraţiile construite prin metoda Newton se opresc la pasul m pentru care

|f (xm )| < ε

6
sau, pentru o mai mare acurateţe, la pasul m pentru care

|f (xm )| < ε şi |xm − xm−1 | < ε,

unde ε este eroarea de aproximare (se poate folosi si evaluarea data de propozitia
anterioara).

Exemplul -1.5 Să se aproximeze, folosind metoda secantei, soluţia ecuaţiei x3 − x +


3 = 0 (conţinută în intervalul [−2, −1], luând x0 = −1) cu eroarile ε1 = 0.01, ε2 =
10−10 .

Se verifică ipotezele teoremei anterioare.


Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 5 şi are
valoarea x5 = −1.67170038194364.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 (chiar ε = 10−11 ) se obţine la
pasul m = 7 şi are valoarea x7 = −1.67169988165716.

Principiul contracţiei

Fie I ⊂ R un interval şi f : I → R o funcţie. f se numeşte contracţie dacă şi numai


dacă:

a) există q ∈ (0, 1) astfel încât |f (x) − f (y)| ≤ q |x − y| , pentru orice x, y ∈ I

b) f (I) ⊂ I

Propoziţia -1.2 Fie f : [a, b] → R o funcţie derivabilă.

a) Dacă există q ∈ (0, 1) astfel încât |f (x)| ≤ q, pentru orice x ∈ [a, b], atunci
|f (x) − f(y)| ≤ q |x − y| , pentru orice x, y ∈ [a, b].
   a+b 
b) Dacă |f (x) − f (y)| ≤ q |x − y| şi f a+b
2
− 2  ≤ (1−q)· b−a
2
, atunci f ([a, b]) ⊂
[a, b].

7
Teorema -1.6 Fie f : I → R o contracţie şi x0 ∈ I. Definim şirul (xn )n prin relaţia
de recurenţă
xn+1 := f(xn ), ∀ n ∈ N

Atunci ecuaţia f(x) = x are o soluţie unică z ∈ [a, b] , iar şirul (xn )n converge la z, cu
următoarea formulă de evaluare a erorii:

q qn
|xn − z| ≤ |xn − xn−1 | ≤ |x1 − x0 | , ∀ n ∈ N.
1−q 1−q

Iteraţiile construite prin metoda coardei se opresc la pasul m pentru care

q
|xm − xm−1 | < ε
1−q

sau la pasul m pentru care

|f (xm ) − xm | < ε şi |xm − xm−1 | < ε,

unde ε este eroarea de aproximare.

Exemplul -1.6 Să se aproximeze, folosind principiul contracţiei, soluţia ecuaţiei

8
x=
x+2

conţinută în intervalul [1, 4], luând x0 = 4,cu eroarile ε1 = 0.01, ε2 = 10−10 .

Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 9 şi are


valoarea x9 = 1.99707174231332.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 se obţine la pasul m = 36 şi are
valoarea x36 = 2.00000000002183.

8
Metode pentru rezolvarea sau aproximarea soluţiilor
sistemelor de ecuaţii liniare
Norme de vectori şi norme de matrici

Fie m ∈ N ∗ . Pe spaţiul Rm se consideră normele vectoriale uzuale  · 1 ,  · 2 şi


 · ∞ definite prin
m

x1 = |xi | ;
i=1

 m

x2 =  |xi |2 ;
i=1

x∞ = max |xi | , ∀ x = (xi )1≤i≤m ∈ Rm .


1≤i≤m

Fie Mm (R) spaţiul matricelor cu m linii şi m coloane cu elemente din R. Pe Mm (R)
se pot considera norme definite ca norme de operator liniar

Aαβ := sup Axβ , ∀ A ∈ Mm (R)


xα ≤1

unde  · α şi  · β sunt norme pe Rm . În cazul în care α = β notăm Aα := Aαα


şi o numim norma α a matricei A (subordonată normei vectoriale  · α ).
m

Propoziţia -1.1 Fie A = (aij )1≤i,j≤m ∈ Mm (R). Atunci A1 = max |aij |.
1≤j≤m
i=1
m

Propoziţia -1.2 Fie A = (aij )1≤i,j≤m ∈ Mm (R). Atunci A∞ = max |aij |.
1≤i≤m
j=1

Propoziţia -1.3 Fie A ∈ Mm (R). Atunci A2 = ρ(At A), unde ρ(At A) reprezintă
cea mai mare valoare proprie a matricei At A.

Exemplul -1.1 Fie


 
1 −2 3
 
 
A =  4 −5 6 
 
7 −8 9

1
Atunci
3

A1 = max |aij | =
1≤j≤3
i=1

= max (|1| + |4| + |7| , |−2| + |−5| + |−8| , |3| + |6| + |9|) = max (12, 15, 18) = 18

şi
3

A∞ = max |aij | =
1≤i≤3
j=1

= max (|1| + |−2| + |3| , |4| + |−5| + |6| , |7| + |−8| + |9|) = max (6, 15, 24) = 24.

Condiţionarea unui sistem de ecuaţii liniare

Fenomenul de instabilitate manifestat în diverse procese matematice este important


de studiat , dat fiind limitările tehnicii de calcul sau ale măsurătorilor de unde provin
datele de calcul. Un exemplu cum este cel care urmează scoate în evidenţă existenţa
unui astfel de fenomen şi motivaţia studiului său.

Exemplul -1.2 Fie sistemul de ecuaţii Ax = b unde


     
 10 7 8 7   32   1 
     
 7 5 6 5   23   1 
     
A=  b=  cu soluţia x= 
 8 6 10 9   33   1 
     
     
7 5 9 10 31 1

Considerăm sistemul perturbat A(x + δx) = b + δb unde


   
 10 7 8 7   32, 1 
   
 7 5 6 5    22, 9 
  
A=  b + δb =  
 8 6 10 9   33, 1 
   
   
7 5 9 10 30, 9

2
 
 9, 2 
 
 −12, 6 
 
cu soluţia x + δx =   (1)
 4, 5 
 
 
−1, 1
Considerăm şi sistemul perturbat (A + ∆A)(x + ∆x) = b unde
   
 10 7 8, 1 7, 2   32 
   
 7, 08 5, 04 6 5   23 
   
A + ∆A =   b= 
 8 5, 98 9, 89 9   33 
   
   
6, 99 4, 99 9 9, 98 30
 
 −81 
 
 137 
 
cu soluţia x + ∆x =   (2)
 −34 
 
 
22

Sistemul (1) diferă de cel iniţial printr-o ”mică” variaţie a coloanei termenilor liberi,
iar sistemul (2) printr-o ”mică” variaţie a elementelor matricei. După cum se observă
aceste ”mici” variaţii antrenează după sine variaţii ”mari” ale soluţiei iniţiale.

Exemplul -1.3 Dacă considerăm sistemul perturbat (A +∆A)(x + ∆x) = b + ∆b unde


   
 10 7 8, 1 7, 2   32, 1 
   
 7, 08 5, 04 6 5   22, 9 
   
A + ∆A =   b + ∆b =  
 8 5, 98 9, 89 9    
  33, 1 
   
6, 99 4, 99 9 9, 98 30, 9
 
 332, 90 
 
 −550, 49 
 
atunci acesta are soluţia x + ∆x =   (3)
 143, 88 
 
 
−84, 58

3
În legătură cu această problemă de stabilitate a sistemelor de ecuaţii liniare sunt
cunoscute următoarele rezultate:

Definiţia -1.1 Fie A o matrice nesingulară şi   o normă a matricei A. Numărul


cond(A) := A · A−1  se numeşte indice de condiţionare al matricei A relativ la
norma  .

Propoziţia -1.4 Fie sistemul de ecuaţii liniare Ax = b şi sistemul perturbat A(x +
δx) = b + δb. Presupunem b = 0. Atunci

δx δb
≤ cond(A) · . (4)
x b

şi
δx 1 δb
≥ ·
x cond(A) b
În plus există b = 0 şi δb = 0 astfel încât inegalitatea (4) să devină egalitate.

Propoziţia -1.5 Fie sistemul de ecuaţii liniare Ax = b şi sistemul perturbat (A +


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

∆x ∆A
≤ cond(A) · . (5)
x + ∆x A

În plus există b = 0 şi ∆A = 0 astfel încât inegalitatea (5) să devină egalitate.

Propoziţia -1.6 Fie sistemul de ecuaţii liniare Ax = b şi sistemul perturbat (A +


∆A)(x + ∆x) = b + ∆b. Dacă A−1 ∆A < 1, atunci

∆x cond(A) ∆b ∆A
≤ · +
x 1 − A−1 ∆A b A

Exemplul -1.4 Vom considera cazul sistemului (1) şi vom lucra cu norma infinit.

Avem:
δx∞ = x + δx − x∞ = 13, 6

4
x∞ = 1.

Atunci
δx∞ 13, 6
= = 13, 6
x∞ 1
 
 25 −41 10
−6 
 
 −41 68 −17 10 
 
A−1 = 
 10 −17 5 −3 
 
 
−6 10 −3 2
 
A∞ = 33, A−1 ∞ = 136.

Rezultă că
 
cond(A) := A∞ · A−1 ∞ = 33 · 136 = 4488

Avem
δb∞ = b + δb − b∞ = 0, 1.

b∞ = 33..

Atunci
δb∞ 0, 1 1
= =
b∞ 33 330
şi
δb∞ 1
cond(A) · = 4488 · = 13, 6
b∞ 330
Deci
δx∞ δb∞
= cond(A) ·
x∞ b∞

5
Exemplul -1.5 Fie sistemul de ecuaţii Ax = b unde
     
 10 1 4 0   15   1 
     
 1 10 5 −1   15   1 
     
A=  b=  cu soluţia x= 
 4 5 10 7   26   1 
     
     
0 −1 7 9 15 1

Considerăm sistemul perturbat A(x + δx) = b + δb unde


   
 10 1 4 0   16 
   
 1 10 5 −1   16 
   
A=  b + δb =  
 4 5 10 7    25 
  
   
0 −1 7 9 16
 
 832 
 
 1324 
 
cu soluţia x + δx =  
 −2407 
 
 
2021

Exemplul -1.6 Un alt exemplu de matrici cu un indice de condiţionare mare sunt


matricele Hilbert (Hn ) de ordinul n, definite astfel:

(n) (n) 1
Hn = (hij )i,j=1,n cu hij = , ∀ i, j = 1, n
i+j−1

Metode directe
Metoda lui Gauss (cu pivotare parţială)

Se dau m ∈ N∗ şi A = (aij ) ∈ Mm,m+1 (R). Fie sistemul de ecuaţii liniare




 a x + · · · + a1m xm = a1,m+1

 11 1
...............




am1 x1 + · · · + amm xm = am,m+1

6
cu necunoscutele x1 , . . . , xm ∈ R. Metoda lui Gauss este folosită atât pentru deter-
minarea soluţiei sistemului, cât şi pentru calculul determinantului matricei sistemului..
Sistemul dat se transformă în m − 1 etape astfel:
Iniţial se consideră determinantul matricei sistemului det = 1

Pentru n între 1 şi m − 1 se efectuează următoarele:

• Se determină max = |asn | = max |ain | (s ∈ n, m reprezintă poziţia pe care s-a


n≤i≤m
găsit maximul).

• Se ia piv = asn (elementul asn se numeşte pivot).

• Dacă piv = 0, atunci metoda nu se aplică.

• det = det · piv.

• Dacă s = n, atunci det = (−1) · det şi se permută ecuaţia s cu ecuaţia n.

• Coeficienţii ecuaţiei n se împart la piv.

• Pentru ∀i ∈ n + 1, m se elimină xn din ecuaţia i astfel: aij = aij − ain · anj ,


∀ j ∈ m, n.

Procedând astfel se obţine un sistem de forma:


 
m
 xi + aij xj = ai,m+1 , 1 ≤i ≤m−1
j=i+1 (6)

 amm xm = am,m+1
Determinantul matricei sistemului se calculează astfel: det = det · amm .
Dacă amm = 0, atuci metoda nu se aplică.
Se rezolvă sistemul (6) astfel:

• xm = am,m+1 /am,m ;

7

m
• xi = ai,m+1 − aij xj , ∀ i ∈ m − 1, 1.
j=i+1

Exemplul -1.7 Fie sistemul de ecuaţii liniare




 x + 12 y + 13 z = 1


1
x + 31 y + 41 z = 2

 2

 1
3
x + 41 y + 51 z = 3

Să se calculeze determinantul matricei sistemului şi să se rezolve sistemul cu metoda
lui Gauss.

Folosind transformările date de metoda lui Gauss, obţinem următorul sistem de


ecuaţii: 

 x + 12 y + 13 z = 1


y + z = 18



 1 7
180
z = 6

Calculăm determinantul matricei sistemului (tot cu algoritmul dat de metoda lui


Gauss) det = 1
2160
şi rezolvăm sistemul anterior. Obţinem z = 210, y = −192, x = 27.
Observaţie: Alegerea pivotului ca cel mai mare element de pe coloană se face
pentru a minimiza erorile care apar dacă pivotul are valori mici. Dacă considerăm
sistemul de ecuaţii liniare 
 x + 592y = 437
 592x + 4308y = 2251

şi dacă considerăm că lucrăm numai cu 4 cifre exacte, atunci prin alegerea pivotului
elementul 1,prin metoda lui Gauss se obţine soluţia

x = −1, 6128, y = 0, 7409

iar prin alegera pivotului elementul 592, prin metoda lui Gauss se obţine soluţia

x = −1, 5891, y = 0, 7409

8
pe când soluţia exactă a sistemului este

x = −1.58889055801431, y = 0.74085961242908.

Metoda lui Gauss (cu pivotare totală)

Se dau m ∈ N∗ şi A = (aij ) ∈ Mm,m+1 (R). Fie sistemul de ecuaţii liniare




 a11 x1 + · · · + a1m xm = a1,m+1


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




am1 x1 + · · · + amm xm = am,m+1

cu necunoscutele x1 , . . . , xm ∈ R. La metoda lui Gauss cu pivotare totală căutarea


pivotului se face în toată matricea rămasă de transformat (reamintim că, la pivotarea
parţială, pivotul se caută numai pe prima coloană a matricei rămase de transformat).
Sistemul dat se transformă în m − 1 etape astfel:
Iniţial se consideră determinantul matricei sistemului det = 1

Pentru n între 1 şi m − 1 se efectuează următoarele:

• Se determină max = |aps | = max |aij | (s, p ∈ n, m reprezintă indicii de poziţie


n≤i,j≤m
ai maximului determinat).

• Se ia piv = aps (elementul aps se numeşte pivot)

• Dacă piv = 0, atunci metoda nu se aplică.

• det = det · piv.

• Dacă p = n sau s = n (dar nu p = s = n), atunci det = (−1) · det şi se permută
coloana s cu coloana n (dacă p = n) sau linia p cu linia n (dacă s = n). Dacă
p = n şi s = n se permută linia p cu linia n şi apoi coloana s cu coloana n.

• Ecuaţia n se împarte la piv.

9
• Pentru ∀i ∈ n + 1, m se elimină xn din ecuaţia i astfel: aij = aij − ain · anj ,
∀ j ∈ m, n.

Procedând astfel se obţine un sistem de forma:


 
m
 xi + aij xj = ai,m+1 , 1 ≤i ≤m−1
j=i+1 (7)

 amm xm = am,m+1
Determinantul matricei sistemului se calculează astfel: det = det · amm .
Dacă amm = 0, atuci metoda nu se aplică.
Se rezolvă sistemul (7) astfel:

• xm = am,m+1 /am,m ;


m
• xi = ai,m+1 − aij xj , ∀ i ∈ m − 1, 1.
j=i+1

unde (x1 , . . . , xm ) este o permutare a soluţiei (x1 , . . . , xm ) sistemului iniţial (după
cum s-au permutat coloanele matricei iniţiale în procesul de transformare a sistemului).

Exemplul -1.8 Folosind metoda lui Gauss cu pivotare totală, să se rezolve sistemul
de ecuaţii liniare: 

 5x + y + 2z = 29


3x − y + z = 10 (8)




x + 2y + 4z = 31
Să se calculeze şi determinantul matricei sistemului.

Folosind transformările date de metoda lui Gauss cu pivotare totală, obţinem ur-

10
mătorul sistem de ecuaţii:
 2 1 29

 x+ z+ y =

 5 5 5







1
z+ y = 7

 2







 3
 − y = −6
2
Calculăm determinantul matricei sistemului (tot cu algoritmul dat de metoda lui
Gauss) det = −27 şi rezolvăm sistemul anterior. Obţinem z = 5, y = 4, x = 3.

Metoda lui Gauss-Jordan de calcul a inversei unei matrice

Se dau m ∈ N ∗ şi matricea


 
a . . . a1m
 11 
 . .. .. 
A =  .. . . 
 
am1 . . . amm

Metoda lui Gauss-Jordan este folosită pentru determinarea inversei matricei A (dacă
aceasta există). Se consideră ansamblul matriceal compus din matricea A şi matricea
unitate Im   

a . . . a1m  1 ... 0
 11  
 .. .. ..  .. .. .. 
 . . .  . . . 
  

am1 . . . amm  0 ... 1
Ansamblul anterior se transformă (analog metodei Gauss - cu pivotare parţială sau
totală) astfel:

Pentru n între 1 şi m se efectuează următoarele:

• Se determină pivotul piv ca la metoda lui Gauss de rezolvare a unui sistem de


ecuaţii liniare cu pivotare parţială (analog se poate descrie un algoritm folosind
metoda lui Gauss cu pivotare totală).

11
• Dacă piv = 0, atunci metoda nu se aplică.

• Dacă s = n, atunci se permută ecuaţia s cu ecuaţia n.

• Ecuaţia n se împarte la piv.

• Pentru ∀ i ∈ n + 1, m se elimină xn din ecuaţia i astfel: aij = aij − ain · anj ,


∀ j ∈ 2m, n.

Procedând astfel se obţine un ansamblu matricial de forma:

  

1 a12 . . . a1m  a1,m+1 a1,m+2 . . . a1,2m 
 
  
 0 1 . . . a2m  a2,m+1 a2,m+2 . . . a2,2m 
  
 .. .. ... ..  .. .. ... .. 
 . . .  . . . 
  
  

0 0 ... 1  am,m+1 am,m+2 . . . am,2m
(matricea din partea dreaptă are cel puţin n(n − 1)/2 zerouri).
Pentru n între m şi 2 se efectuează următoarele:

• Pentru ∀ i ∈ n − 1, 1 se recalculează elementele aij astfel: aij = aij − ain · anj ,


∀ j ∈ 2m, n.

Precedând astfel se obţine un ansamblu matricial de forma:

  

1 0 ... 0  b11 b12 . . . b1m 
 
  
 0 1 ... 0  b21 b22 . . . b2m 
  
 .. .. . . ..  .. .. ..  .
 .  ... 
 . . .  . . . 
  

0 0 ... 1  bm1 bm2 . . . bmm
Matricea  
 b11 b12 . . . b1m 
 
 b21 b22 . . . b2m 
 
B= .. .. . 
 ... .. 
 . . 
 
bm1 bm2 . . . bmm

12
are liniile matricei inverse A−1 modulo permutarea liniilor descrisă în algoritm.
Rezolvarea unui sistem de ecuaţii liniare Ax = b este echivalentă, după ce s-a
calculat inversa matricei A, cu egalitatea x = A−1 b.

Exemplul -1.9 Folosind metoda Gauss-Jordan să se calculeze inversa matricei


 
1 1
1 2 3
 
 1 1 1 
A= 
 2 3 4 
1 1 1
3 4 5

Formăm ansamblul matriceal


  
1 1 
1 2 3  1 0 0
  
 1 1 1  
  0 1 0 
 2 3 4  

1 1 1  0 0 1
3 4 5

Cu transformările din algoritm obţinem:


  

1 21 13  1 0 0
  
  
 0 1 1  −6 12 0 
  

0 0 1  30 −180 180

iar, în final, 
 

1 0 0  9 −36 30
  
  
 0 1 0  −36 192 −180 
  

0 0 1  30 −180 180
Deci  
9 −36 30
 
−1  
A =  −36 192 −180 
 
30 −180 180

Factorizarea LU

13
Se numeşte factorizare LU a unei matrice A descompunerea matricei ca produs de
două matrici, una inferior triunghiulară (notată L), alta superior triunghiulară (notată
U ), adică A = LU. Descompunerea, dacă este posibilă, nu este unică.

Teorema -1.1 Fie A = (aij )1≤i,j≤m o matrice astfel încât determinanţii "de colţ"
∆k := det((aij )1≤i,j≤k ) să fie nenuli, pentru orice k = 1, m. Atunci A se descompune
unic sub forma A = LU cu L = (lij )1≤i,j≤m inferior triunghiulară şi U = (uij )1≤i,j≤m
superior triunghiulară cu elementele diagole egale cu 1.

Calculul elementelor matricelor L şi U se face după formulele:


a1j
li1 = ai1 , i = 1, m, u11 = 1, u1j = , j = 2, m. (9)
l11
iar, pentru k = 2, m,
k−1

akj − lkp upj
k−1
 p=1
lik = aik − lip upk , i = k, m, ukk = 1, ukj = , j = k + 1, m. (10)
p=1
lkk

Fie un sistem de ecuaţii liniare Ax = b, pentru care A admite factorizare LU. Atunci
soluţia y a sistemului Ly = b se determină astfel:

i−1
bi − lik yk
k=1
yi = ∀i = 1, m
lii
Soluţia x a sistemului iniţial se determină astfel:

m
xi = yi − uik xk ∀i = m, 1
k=i+1

Exemplul -1.10 Să se factorizeze sub forma LU matricea


 
 2 4 −2 0 
 
 −1 −1 2 3 
 
A= 
 4 5 −2 −9 
 
 
0 1 3 4

14
Se verifică mai întâi că determinanţii de colţ ai matricei A sunt nenuli. Cu formulele
(9) şi (10) se obţine:
l11 = 2, l21 = −1, l31 = 4, l41 = 0

u11 = 1, u12 = 2, u13 = −1, u14 = 0

l22 = 1, l32 = −3, l42 = 1

u22 = 1, u23 = 1, u24 = 3

l33 = 5, l43 = 2

u33 = 1, u34 = 0

l44 = 1

u44 = 1

Deci    
 2 0 0 0   1 2 −1 0 
   
 −1 1 0 0   0 1 1 3 
   
L= , U = 
 4 −3 5 0   0 0 1 0 
   
   
0 1 2 1 0 0 0 1

Metoda rădăcinii pătrate (Cholesky)

Definiţia -1.2 O matrice A = (aij )1≤i,j≤m se numeşte simetrică dacă A = At . Ma-


tricea A este pozitiv definită dacă determinanţii "de colţ" ∆k := det((aij )1≤i,j≤k ) sunt
strict pozitivi pentru orice k = 1, m.

Teorema -1.2 Fie A simetrică şi pozitiv definită. Atunci A se descompune unic sub
forma A = L · Lt cu L = (lij )1≤i,j≤m inferior triunghiulară.

15
Fie sistemul de ecuaţii liniare Ax = b, cu A = (aij ) ∈ Mm (R) simetrică şi pozitiv
definită, iar b = (bi ) ∈ Rm .
Descompunem A = L · Lt cu L = (lij ) ∈ Mn(R) matrice superior triunghiulară. Se
determină mai întâi y = (yi ) ∈ Rn soluţia sistemului de ecuaţii Ly = b şi apoi soluţia
x = (xi ) ∈ Rn a sistemului iniţial se determină prin rezolvarea sistemului Lt x = y.
Se calculează elementele matricei L astfel:
 
j−1
aij − lik ljk

j−1
ljj = ajj − 2
ljk şi lij = k=1
, ∀i = j + 1, m, ∀j = 1, m
k=1 ljj
(11)
Soluţia y a sistemului Ly = b se determină astfel:

i−1
bi − lik yk
k=1
yi = ∀i = 1, m (12)
lii
Soluţia x a sistemului iniţial se determină astfel:

m
yi − lki xk
k=i+1
xi = ∀i = m, 1 (13)
lii
Dacă matricea A nu este simetrică şi pozitiv definită, dar este inversabilă, atunci
sistemul de ecuaţii liniare Ax = b se transformă în sistemul echivalent At Ax = At b, a
cărui matrice este simetrică şi pozitiv definită.

Exemplul -1.11 Folosind metoda rădăcinii pătrate, să se rezolve sistemul de ecuaţii
liniare Ax = b cu    
4 2 2 8
   
   
A =  2 10 4  , b =  16 
   
2 4 6 12

Se verifică imediat că matricea A este simetrică şi pozitiv definită. Cu formulele
(11) se obţine
l11 = 2, l12 = 1, l13 = 1

16
l22 = 3, l23 = 1

l33 = 2

Din (12) rezultă că


y1 = 4, y2 = 4, y3 = 2

iar din (13) rezultă că


x3 = 1, x2 = 1, x3 = 1.

Descompunerea QR

Se consideră date m ∈ N∗ , A = (aij )i,j=1,m ∈ Mm (R) şi b = (bi )i=1,m ∈ Rm . Vom


calcula soluţia x = (x1 , . . . , xm ) ∈ Rm a sistemului Ax = b şi determinantul matricei
sistemului folosind factorizarea QR.
Factorizarea QR a matricei A însemnă descompunerea A = QR cu Q matrice
ortogonală, adică QQt = Qt Q = Im şi R matricea superior triunghiulară.
m m

Dacă notăm Q = (qij ) cu qik qjk = δ ij şi qki qkj = δ ij pentru i, j = 1, m şi
k=1 k=1
R = (rij ) cu rij = 0 pentru 1 ≤ j < i ≤ m, atunci din identificarea A = QR se obţin
relaţiile următoare:  

 r11 = a211 + · · · + a2m1 ,






 a
 qi1 = i1 , pentru i = 1, m
r11

17
şi pentru k = 2, m avem:
 m



 rjk = aik qij , pentru j = 1, k − 1



 i=1





 

  m
  k−1

rkk =  2
aik − 2
rik , (14)



 i=1 i=1





  

 k−1

 1 
 rjk qij , pentru i = 1, m .
 qik = r
 aik −
kk j=1

Rezolvarea sistemului după descompunerea matricei A în produs QR se face astfel:


- rezolvăm întâi sistemul Qy = b a cărui soluţie este

y = Qt b,

sau pe componente:
m

yi = qji bj , i = 1, m.
j=1

- apoi, rezolvăm sistemul triunghiular Rx = y, şi obţinem:


ym
xm = ,
rmm 
1 m (15)
xi = yi − rij xj , i = m − 1, 1 .
rii j=i+1

Observaţie. Descompunerea QR nu există dacă există un k ∈ 1, m astfel încât


rkk = 0 în (??) sau (??).
   
0 4 5 23
   
   
Exemplul -1.12 Pentru m = 3 , matricea A =  −1 −2 −3  şi vectorul b =  −14  ,
   
0 0 1 3
rezolvaţi sistemul Ax = b folosind o descompunere QR.

18
Folosind relaţiile de mai sus obţinem:
   
0 1 0 1 2 3
   
   
Q =  −1 0 0  şi R =  0 4 5  ,
   
0 0 1 0 0 1

iar pentru soluţie


    
0 −1 0 23 14
    

t    
y=Qb= 1 0 0   −14  =  23  ,
    
0 0 1 3 3

iar din Rx = y rezultă:


 
1
 
 
x= 2  .
 
3

Metode iterative de rezolvare a sistemelor de ecuaţii liniare


Metoda lui Jacobi

Fie m ∈ N ∗ , A ∈ Mm (R), b ∈ Rm .
Considerăm sistemul de ecuaţii liniare Ax = b. Notăm cu I matricea unitate din
Mm (R) şi cu B := I − A. Sistemul de ecuaţii Ax = b se transformă echivalent astfel:

Ax = b ⇐⇒ (I − B)x = b ⇐⇒ x = Bx + b.

Pentru orice x(0) ∈ Rm definim şirul (numit şir Jacobi) (x(n) )n∈N prin relaţia de re-
curenţă
x(n+1) = Bx(n) + b, ∀ n ∈ N

Fie  ·  o normă pe Mm (R). Dacă B = q < 1 atunci avem evaluările:

q qn
x(n) − x ≤ x(n) − x(n−1)  ≤ x(1) − x(0) , ∀ n ∈ N∗
1−q 1−q

19
(în particular lim x(n) = x).
n→∞
(n)
Algoritm: Dacă A = (aij )1≤i,j≤m , b = (bi )1≤i≤m , B = (bij )1≤i,j≤m , x(n) = (xi )1≤i≤m ,
∀ n ∈ N , atunci bij = −aij dacă i = j, bii = 1 − aii , ∀ 1 ≤ i, j ≤ m. Dacă pe Rm consid-

m
erăm norma  · 1 , atunci q := B1 = max |bij |, iar dacă considerăm norma  · ∞
1≤j≤m i=1

m
atunci q := B∞ = max |bij |. Se testează condiţia de aplicabilitate a metodei
1≤i≤m j=1

q < 1. În caz de aplicabilitate se atribuie iteratei iniţiale x(0) o valoare oarecare din
Rm , iar calculul celorlalte iterate se face după formula:
m

(n+1) (n)
xi = bij xj + bi , ∀ 1 ≤ i ≤ m, ∀ n ∈ N.
j=1

Se opreşte calculul recursiv la iterata x(n) pentru care

q
x(n) − x(n−1) p ≤ ε,
1−q

unde p = 1 sau p = ∞, iar ε este eroarea de aproximaţie dorită.

Exemplul -1.13 Să se arate că se poate aplica metoda lui Jacobi (relativă la normele
1 şi ∞) pentru sistemul de ecuaţii liniare Ax = b cu
   
 0, 9 0, 1 0, 2 0, 3   3, 6 
   
 −0, 2 0, 8 0, 1 0, 4   2 
   
A= ; b =  .
 0, 1 −0, 3 0, 7 −0, 1   2, 4 
   
   
−0, 3 −0, 2 −0, 1 0, 9 1, 5
 
 0 
 
 0 
 
Luând x =   să se determine numărul de iteraţii necesar pentru a aproxima
(0)
 0 
 
 
0
soluţia sistemului cu o eroare mai mică de 10−10 .

20
Avem  
 0, 1 −0, 1 −0, 2 −0, 3 
 
 0, 2 0, 2 −0, 1 −0, 4 
 
B = I −A =  
 −0, 1 0, 3 0, 3 0, 1 
 
 
0, 3 0, 2 0, 1 0, 1
Atunci
4

B1 = max |bij | = 0, 9 < 1.,
1≤j≤4
i=1
şi
4

B∞ = max |bij | = 0, 9 < 1
1≤i≤4
j=1

Deci metoda lui Jacobi se aplică. Din formula de evaluare a erorii avem:

qn
x(n) − xp ≤ x(1) − x(0) p , ∀ n ∈ N∗
1−q

unde p = 1 sau p = ∞, q = 0, 9, x(1) = Bx(0) + b = b. Deci, pentru a aproxima x cu


qn
x(n) cu eroarea ε = 10−10 este suficient ca 1−q
x(1) − x(0) p < ε. Avem

x(1) − x(0) 1 = b1 = 9, 5

şi
x(1) − x(0) ∞ = b∞ = 3, 6

Atunci
qn  ε
(1) (0)
x − x 1 < ε ⇐⇒ n = log0,9 +1
1−q 95
şi
qn  ε
x(1) − x(0) ∞ < ε ⇐⇒ n = log0,9 +1
1−q 36

Metoda lui Jacobi pentru matrice diagonal dominante pe linii

Fie m ∈ N ∗ , A ∈ Mm (R), a ∈ Rm .

21
Considerăm sistemul de ecuaţii liniare Ax = a. Notăm cu I matricea unitate din
Mm (R) şi cu  
 a11 0 · · · 0 
 
 0 a22 · · · 0 
 
D = diag(A) =  .
 ··· ··· ··· ··· 
 
 
0 0 · · · amm
Spunem că A este diagonal dominantă pe linii dacă

|aii | > |aij | , ∀i ∈ 1, m
j=1,m j =i

Atunci aii = 0, ∀i ∈ 1, m, deci D este inversabilă. Notăm cu B = I − D−1 A şi cu


b = D−1 a. Sistemul de ecuaţii Ax = a se transformă echivalent astfel:

Ax = a⇐⇒D−1 Ax = D−1 a⇐⇒(I − B)x = b⇐⇒x = Bx + b.

Pentru orice x(0) ∈ Rm definimm şirul (x(n) )n∈N prin relaţia de recurenţă

x(n+1) = Bx(n) + b, ∀ n ∈ N.

Teorema -1.3 Fie A o matrice diagonal dominantă pe linii, B = I−D−1 A, q := B∞


şi (x(n) )n∈N definit ca mai sus. Atunci q < 1 şi avem evaluările:

q qn
x(n) − x∞ ≤ x(n) − x(n−1) ∞ ≤ x(1) − x(0) ∞, ∀ n ∈ N∗
1−q 1−q

(în particular lim x(n) = x).


n→∞

Metoda lui Jacobi pentru matrice diagonal dominante pe coloane

Spunem că matricea A este diagonal dominantă pe coloane dacă



|ajj | > |aij | , ∀j ∈ 1, m
i=1,m i =j

22
Atunci aii = 0, ∀i ∈ 1, m, deci D este inversabilă. Notăm cu y = Dx (deci x = D−1 y),
şi cu B = I − AD−1 . Sistemul de ecuaţii Ax = a se transformă echivalent astfel:

Ax = a⇐⇒AD−1 y = a⇐⇒(I − B)y = a⇐⇒y = By + a.

Pentru orice y (0) ∈ Rm definimm şirul (y (n) )n∈N prin relaţia de recurenţă

y (n+1) = By (n) + a, ∀ n ∈ N.

Teorema -1.4 Fie A o matrice diagonal dominantă pe coloane, B = I − AD−1 , q :=


B1 şi (y (n) )n∈N definit ca mai sus. Atunci q < 1 şi avem evaluările:

q qn
y (n) − y1 ≤ y (n) − y (n−1) 1 ≤ y (1) − y (0) 1 , ∀ n ∈ N∗
1−q 1−q

(în particular lim y (n) = y). Deci soluţia x a sistemului Ax = a este aproximată de
n→∞
−1 (n)
D y ( lim D y
−1 (n)
= x).
n→∞

Metoda Gauss-Seidel

Fie m ∈ N ∗ , A ∈ Mm (R), b ∈ Rm .
Considerăm sistemul de ecuaţii liniare Ax = b. Notăm cu I matricea unitate din
Mm (R) şi cu B := I − A. Dacă elementele matricei B sunt (bij )1≤i,j≤m , descompunem
B sub forma B = L + R, cu L = (lij )1≤i,j≤m , unde lij := bij , ∀ 1 ≤ j < i ≤ m şi lij := 0
altfel. Atunci det(I − L) = 1 şi deci există (I − L)−1 .
Sistemul de ecuaţii Ax = b se transformă echivalent astfel:

Ax = b⇐⇒(I − B)x = b⇐⇒(I − L − R)x = b⇐⇒

⇐⇒(I − L)−1 (I − L − R)x = (I − L)−1 b⇐⇒(I − (I − L)−1 R)x = (I − L)−1 b⇐⇒

⇐⇒x − (I − L)−1 Rx = (I − L)−1 b.

Dacă notăm C := (I − L)−1 R şi c := (I − L)−1 b atunci

Ax = b⇐⇒x = Cx + c.

23
Pentru orice x(0) ∈ C m definim şirul Jacobi (x(n) )n∈N prin relaţia de recurenţă

x(n+1) = Cx(n) + c⇐⇒x(n+1) = Lx(n+1) + Rx(n) + b, ∀ n ∈ N

Deci
m

(n+1) (n)
x1 = b1j xj + b1 , ∀ n ∈ N şi
j=1

i−1
 m

(n+1) (n+1) (n)
xi = bij xj + bij xj + bi , ∀ 2 ≤ i ≤ m, ∀ n ∈ N.
j=1 j=i


m 
i−1 
m
Teorema -1.5 Dacă q := max qi cu q1 = |b1j |, qi = |bij |qj + |bij |, 2 ≤ i ≤ m
1≤i≤m j=1 j=1 j=i
şi q < 1 atunci avem evaluările:

q qn
x(n) − x∞ ≤ x(n) − x(n−1) ∞ ≤ x(1) − x(0) ∞, ∀ n ∈ N∗
1−q 1−q

(în particular lim x(n) = x).


n→∞

Exemplul -1.14 Fie sistemul de ecuaţii liniare




 x + 1x + 1x = 1

 1 2 2 3 3
1
x
5 1
+ x2 + 16 x3 = 2



 1 1
x
10 1
+ x
20 2
+ x3 = 3

Să se arate că se aplică metoda Gauss-Seidel.

Soluţie Notăm cu A matricea ceoficienţilor sistemului. Avem


 
1 1
0 −2 −3
 
 1 1 
B = I − A =  −5 0 −6 
 
1 1
− 10 − 20 0

şi
5 1 1
q1 = , q2 = , q3 = .
6 3 10

24
Deci
5
q = max(q1 , q2 , q3 ) = <1
6
Rezultă că metoda Gauss-Seidel se aplică.

Metoda relaxării simultane

Fie m ∈ N ∗ , A ∈ Mm (R) simetrică şi pozitiv definită, a ∈ Rm .


Considerăm sistemul de ecuaţii liniare Ax = a. Notăm cu I matricea unitate din
Mm (R) şi cu D = diag(A). Atunci D inversabilă. Fie σ > 0 un număr real. Notăm
cu Cσ := I − σD−1 A şi cu cσ := σD−1 a. Sistemul de ecuaţii Ax = a se transformă
echivalent astfel:

Ax = a ⇐⇒ σD−1 Ax = σD−1 a ⇐⇒ (I − Cσ )x = cσ ⇐⇒ x = Cσ x + cσ .

Pentru orice x(0) ∈ Rm definim şirul Jacobi (x(n) )n∈N prin relaţia de recurenţă

x(n+1) = Cσ x(n) + cσ , ∀ n ∈ N

Fie λ1 ≥ λ2 ≥ . . . ≥ λm valorile proprii ale matricei D−1 A. Dacă alegem σ astfel încât
0 < σ < 2/λ1 , şi notăm q := max |1 − σλi |, atunci q < 1 şi avem evaluările:
1≤i≤m

q qn
x(n) − xD ≤ x(n) − x(n−1) D ≤ x(1) − x(0) D , ∀ n ∈ N∗
1−q 1−q

(în particular lim x(n) = x), unde xD := Dx, x, ∀ x ∈ Rm , cu ·, · produsul
n→∞
scalar uzual pe R .
m

Parametrul optim de relaxare σ (pentru care q corespunzător este minim) este

2
σ= ,
λ1 + λm

iar valoarea lui q în acest caz este

λ1 − λm
q=
λ1 + λm

25
În practică, de obicei, nu se calculează valoarea lui λ1 , ci se alege σ ∈ (0, 2/D−1 A∞)
(deoarece λ1 ≤ D−1 A∞ ), parcurgând intervalul cu un pas echidistant. Valoarea op-
timă a lui σ se stabileşte atunci când numărul de iteraţii n, necesar pentru a aproxima
soluţia sistemului de ecuaţii cu o eroare dată este minim.
Dacă matricea A a sistemului de ecuaţii liniare Ax = a nu este simetriică şi pozitiv
definită, sistemul se transformă echivalent

Ax = a ⇐⇒ At Ax = At a

(unde At = (aji )1≤i,j≤m este transpusa matricei A), pentru care matricea At A este
simetrică şi pozitiv definită.

Exemplul -1.15 Fie sistemul de ecuaţii liniare:




 5x + 3x2 + 2x3 = 1

 1
3x1 + 6x2 + 3x3 = 2




2x1 + 3x2 + 5x3 = 3
Să se arate că se poate aplica metoda relaxării simultane. Să se determine parametrul
optim de relaxare. Luând x(0) = (0, 0, 0) să se evalueze eroarea x − x(n) .

Soluţie: Notăm cu A matricea sistemului. Se verifică că A este simetrică şi pozitiv
definită.
Fie D = diag(A). Atunci
 
1 3/5 2/5
 
−1  
D A =  1/2 1 1/2 
 
2/5 3/5 1

şi det(D−1 A − λI) = 0 ⇐⇒ (1 − λ)3 − 19


25
(1 − λ) + 6
25
= 0, de unde rezultă că valorile
proprii ale matricei D−1 A sunt λ1 = 2 > λ2 = 3/5 > λ3 = 2/5. Parametrul optim de
relaxare este
2 5
σ= =
λ1 + λ3 6

26
căruia îi corespunde
λ1 − λ3 2
q= = .
λ1 + λ3 3
Avem x(1) = Cσ x(0) + cσ = cσ = σD−1 b = 5/6 · (1/5; 2/6; 3/5)t unde b = (1; 2; 3)t este
vectorul termenilor liberi din sistem. Atunci

  2 25
x(1) 2D = Dx(1) , x(1) = ·
3 9

şi
n+ 12
qn 2
x(n) − xD ≤ x(1) − x(0) D = 5 · .
1−q 3

Metode relaxării succesive

Fie m ∈ N ∗ , A ∈ Mm (R) simetrică şi pozitiv definită şi b ∈ Rm .


Considerăm sistemul de ecuaţii liniare Ax = b şi σ > 0 un număr real numit
parametru de relaxare. Notăm cu I matricea unitate din Mm (R) şi cu D = diag(A).
Atunci D inversabilă. Dacă elementele matricei A sunt (aij )1≤i,j≤m , descompunem A
sub forma B = L + D + R, cu L = (lij )1≤i,j≤m , unde lij := aij , ∀ 1 ≤ j < i ≤ m şi
lij := 0 altfel. Atunci matricea σ −1 D + L este inversabilă,iar sistemul de ecuaţii Ax = b
se transformă echivalent astfel:

Ax = b ⇔ (σ −1 D + L)−1 (L + D + R)x = (σ −1 D + L)−1 b ⇔

(I − (σ −1 D + L)−1 ((σ −1 − 1)D − R))x = (σ −1 D + L)−1 b

Notând cu Cσ := (σ −1 D + L)−1 ((σ −1 − 1)D − R) şi cu cσ := (σ −1 D + L)−1 b rezultă că

Ax = b ⇔ x = Cσ x + cσ .

Pentru orice x(0) ∈ Rm definim şirul Jacobi (x(n) )n∈N prin relaţia de recurenţă

x(n+1) = Cσ x(n) + cσ , ∀ n ∈ N

27
Atunci
x(n+1) = Cσ x(n) + cσ ⇔

⇔ x(n+1) = (σ −1 D + L)−1 ((σ −1 − 1)D − R)x(n) + b) ⇔

⇔ σ −1 Dx(n+1) = −Lx(n+1) + ((σ −1 − 1) − R)x(n) + b ⇔

⇔ x(n+1) = (1 − σ)x(n) − σD−1 (Lx(n+1) + Rx(n) − b) ⇔


i−1
 m
(n+1) (n) σ (n+1) (n)
xi = (1 − σ)xi − (−bi + aij xj + aij xj ), ∀1 ≤ i ≤ m
aii j=1 j=i+1

Dacă alegem σ astfel încât 0 < σ < 2, şi notăm q := Cσ A atunci q < 1 şi avem
evaluările:

q qn
x(n) − xA ≤ x(n) − x(n−1) A ≤ x(1) − x(0) A , ∀ n ∈ N∗
1−q 1−q

(în particular lim x(n) = x), unde xA := Ax, x , ∀ x ∈ Rm , cu ·, · produsul scalar
n→∞
uzual pe R . m

În practică, se alege σ ∈ (0, 2) parcurgând intervalul cu un pas echidistant. Valoarea


optimă a lui σ se stabileşte atunci când numărul de iteraţii n, necesar pentru a aproxima
soluţia sistemului de ecuaţii cu o eroare dată, este minim.
Dacă matricea A a sistemului de ecuaţii liniare Ax = b nu este simetrică şi pozitiv
definită, sistemul se transformă echivalent

Ax = b ⇔ At Ax = At b

(unde At este transpusa matricei A) pentru care matricea At A este simetrică şi pozitiv
definită.

Metoda lui Ritz

Este o metoda de calcul a inversei unei matrice simetrice şi poyitiv definite. Fie A ∈
Mm (R) o matrice simetrică şi pozitiv definită. Notăm cu ∗ operaţia de transpunere (a

28
unui vector sau a unei matrice). Definim succesiv vectorii (wk )m
k=0 ⊂ R , (vk )k=1 ⊂ R
m m m

şi matricele (Ck )m


k=1 , (Dk )k=1 ⊂ Mm (R) astfel:
m

w0 w0∗
w0 = 0, C1 = , D1 = Im − C1 A
w0∗ Aw0
iar pentru k = 1, m − 1:

Se alege vk astfel ca Dk vk = 0,

wk = Dk vk .
wk wk∗
Ck+1 := Ck + ,
wk∗ Awk
Dk+1 := Im − Ck+1 A,

Atunci Cm = A−1 (inversa matricei A) şi Dm = 0m .


 
 1 2 3 4 
 
 2 5 1 10 
 
Exemplul -1.16 Fie A =   . Folosind metoda lui Ritz să se cal-
 3 1 35 5 
 
 
4 10 5 30
culeze A−1 .

Se verifică mai întâi că matricea A este simetrică şi pozitiv definita. Luăm w0 =
(1, 0, 0, 0)∗ . Atunci w0∗ Aw0 = 1 şi
   
 1 0 0 0   0 −2 −3 −4 
   
 0 0 0 0   0 1 0 0 
   
C1 =   , D1 =  .
 0 0 0 0   0 0 1 0 
   
   
0 0 0 0 0 0 0 1
Luăm v1 = (0, 1, 0, 0)∗ . Rezultă că w1 = (−2, 1, 0, 0)∗ şi w1∗ Aw1 = 1, de unde
   
 5 −2 0 0   0 0 −13 0 
   
 −2 1 0 0   0 0 5 −2 
   
C2 =   , D2 =  .
 0 0 0 0   0 0 1 0 
   
   
0 0 0 0 0 0 0 1

29
Luăm v2 = (0, 0, 1, 0)∗ . Rezultă că w2 = (−13, 5, 1, 0)∗ şi w2∗ Aw2 = 1, de unde
   
 174 −67 −13 0   0 0 0 39 
   
 −67 26 5 0   0 0 0 −17 
   
C3 =   , D3 =  .
 −13 5 1 0   0 0 0 −3 
   
   
0 0 0 0 0 0 0 1

Luăm v3 = (0, 0, 0, 1)∗ . Rezultă că w3 = (39, −17, −3, 1)∗ şi w3∗ Aw3 = 1, de unde
   
 1695 −730 −130 39   0 0 0 0 
   
 −730 315 56 −17    0 0 0 0 
  
C4 =   , D4 =  .
 −130 56 10 −3   0 0 0 0 
   
   
39 −17 −3 1 0 0 0 0

Pseudoinversa unei matrice

Pseudoinversa unei matrice este o extensie naturală a noţiunii de matrice inversabilă.


Se poate defini pseudoinversa atât pentru matrici pătratice (singulare sau nesingu-
lare - caz în care pseudoinversa coincide cu inversa) cât şi pentru matrici dreptunghi-
ulre (în care numărul de linii diferă de numărul de coloane). Pentru o matrice T ∈
Mm,n(R),notăm cu T ∗ ∈ Mn,m (R) transpusa matricei T şi cu T + ∈ Mn,m (R) pseudoin-
versa matricei matricei T.
Prin definiţie T + este singura soluţie U ∈ Mn,m (R) a sistemului de ecuaţii ma-
triceale:
T U T = T, UT U = U, (T U )∗ = T U, (U T )∗ = U T. (16)

Teorema -1.6 Fie T ∈ Mm,n (R) şi b ∈ Rm .


a) x0 din Rn verifică egalitatea

T x0 − b = infn T x − b (17)
x∈R

dacă şi numai dacă T ∗ T x0 = T ∗ b.

30
b) Elementul x0 := T + b verifică egalitatea (17) şi, pentru orice alt element x0 ce
verifică aceeaşi egalitate, avem x0  ≤ x0 .
Reciproc, T + este unica soluţie U ∈ Mn,m (R)a problemei: U b satisface egalitatea
(17) pentru orice b ∈ Rm , iar pentru orice alt element x0 , care verifică aceeaşi egalitate,
avem U b ≤ x0 .

Prin această teoremă, în cazul unui sistem de ecuaţii liniare T x = b compatibil


nedeterminat, rezultă că T + b este o soluţie a acestui sistem (anume cea mai mică soluţie
în normă), iar, în cazul unui sistem incompatibil, T + b este acel element x, minim în
normă, pentru care T x − b este cel mai aproape de 0.
În continuare presupunem că rang T = l ≤ min(m, n). Cu R(A) am notăm imaginea
matricei A ∈ Mm,n (R), adică mulţimea {Ax | x ∈ Rn }.
Determinarea pseudoinversei unei matrice se poate face cu algoritmi cu un număr
de paşi mai mic sau egal cu l. În această categorie intră următorii algoritmi

• (Grigore) Definim succesiv vectorii (yk )lk=1 ⊂ X, (wk )lk=1 ⊂ Rn şi matricele
(Hk )lk=0 ⊂ Mn,m (R) astfel:
H0 = 0.

yk ∈ R(T ∗ ) (adică în imaginea transpusei), astfel ca yk − Hk−1 T yk = 0,

wk := yk − Hk−1 T yk şi
wk (T wk )∗
Hk := Hk−1 + , ∀k = 1, l.
T wk 2
Atunci Hl = T + (pseudoinversa matricei T ).

Exemplul -1.17 Fie


 
 1 0 −1 
 
 0 1 0 
 
T =  cu rang(T ) = 2 şi H0 = 0.
 1 1 −1 
 
 
1 2 −1

31
 
 
 1 
  1
 0   
   
Luăm y1 = T ∗   =  0  (avem y1 − H0 T y1 = y1 = 0. Atunci w1 =

 0   
 
  −1
0
 
 2 
 
 0 
 
y1 − H0 T y1 = y1 şi T w1 =   . Rezultă că T w1 2 = 12, iar w1 (T w1 )∗ =
 2 
 
 
2
 
2 0 2 2
 
 
 0 0 0 0  . Deci
 
−2 0 −2 −2
 
1/6 0 1/6 1/6
w1 (T w1 )∗ 


H1 = H0 + 2 =  0 0 0 0 .
T w1   
−1/6 0 −1/6 −1/6
 
   
 0 
  0 −1/2
 1     
     
Luăm y2 = T ∗ ∗   =  1  (avem y2 − H1 T y2 =  1  = 0. Atunci
 0     
 
  0 1/2
0
 
 −1 
 
 1 
  2
w2 = y2 − H1 T y2 şi T w2 =   . Rezultă că T w2  = 3, iar w2 (T w2 )∗ =
 0 
 
 
1

32
 
1/2 −1/2 0 −1/2
 
 
 −1 1 0 1  . Deci
 
−1/2 1/2 0 1/2
 
1/3 −1/6 1/6 0
w2 (T w2 )∗ 



H2 = H1 + 2 =  −1/3 1/3 0 1/3 
T w2   
−1/3 1/6 −1/6 0

În concluzie  
1/3 −1/6 1/6 0
 
+  
T = H2 =  −1/3 1/3 0 1/3 
 
−1/3 1/6 −1/6 0

• (Gramm-Schmidt) Fie o bază e1 , e2 , . . . , el în R(T ∗ ) şi fie fi = T ei , ∀ i = 1, l.


Definim, succesiv, elementele (ei )li=1 , (xi )li=1 ⊂ Rn , (fi )li=1 (yi )li=1 ⊂ Rm , astfel:
1
x1 = e1 şi y1 = T x1 ,
f1 
iar pentru i = 2, l
i−1
 1 
ei = ei − fi , yj  xj , fi = T ei şi xi = e , yi = T xi
j=1
fi  i

Definim matricea U ∈ Mn,m (R) prin


l

U := xi yi∗
i=1

Atunci U = T . +

Exemplul -1.18 Fie


 
 1 0 −1 
 
 0 1 0 
 
T =  cu dim R(T ∗ ) = 2
 1 1 −1 
 
 
1 2 −1

33
Luând e1 = (1; 0; −1)∗ , e2 = (0; 1; 0)∗ (bază în R(T ∗ )) obţinem f1 = (2; 0; 2; 2)∗ , f2 =
(0; 1; 1; 2)∗ . Atunci
1 1
x1 = √ (1; 0; −1)∗ , y1 = √ (1; 0; 1; 1)∗
2 3 3
În continuare
1
e2 = e2 − f2 , y1  x1 = (−1; 2; 1)∗ şi f2 = T e2 = (−1; 1; 0; 1)∗
2
Atunci
1 1
x2 = √ (−1; 2; 1)∗ , y2 = √ (−1; 1; 0; 1)∗
2 3 3
Rezultă că  
2 −1 1 0
+ 1



T = x1 y1∗ + x2 y2∗ =  −2 2 0 2 
6 
−2 1 −1 0

• (Stanica) Definim, succesiv, vectorii (uk )l−1


k=0 ⊂ R , (vk )k=0 ⊂ R , (wk )k=0 ⊂ R
m l−1 n l−1 m

şi matricele (Hk )lk=1 ⊂ Mn,m (R) astfel:

H0 = T ∗ .

vk ∈ R((I − T Hk )∗ T ), wk ∈ R(Hk ) astfel încît vk , T wk  = 0,


1
uk := (I − Hk T )wk şi
vk , T wk 
Hk+1 := Hk + uk · vk∗ , ∀k = 0, l − 1.

Atunci Hl = T + .

Exemplul -1.19 Fie


 
 1 0 −1 
 
 0 1 0 
 
T =  cu rang(T ) = 2 şi H0 = T ∗
 1 1 −1 
 
 
1 2 −1

34
   
 
 1   −5 
1    
   0   −3 
     
Luând a1 =  0  , b1 =   obţinem v0 := (I − T H0 )∗ T a1 =  ,
   0   −8 
   
0    
0 −11
   
1 5/48
  1  
   
w0 = H0 b1 =  0  , u0 := (I − H0 T )w0 =  1/8  ,
  v0 , T w0   
−1 −5/48
 
23/48 −5/16 1/6 −7/48
 
 
v0∗
H1 := H0 + u0 · =  −5/8 5/8 0 5/8 
 
−23/48 5/16 1/6 7/48
   
 
 0   7/8 
0    
   1   −7/8 
     
Luând a2 =  1  , b2 =   obţinem v1 := (I − T H1 )∗ T a2 =   , w1 =
   0   0 
   
0    
0 −7/8
   
−5/16 −1/6
  1  
   
H1 b2 =  5/8  , u1 := (I − H1 T )w1 =  1/3  , deci
  v1 , T w1   
5/16 1/6
 
1/3 −1/6 1/6 0
 
+  
T = H2 := H1 + u1 · v1∗ =  −1/3 1/3 0 1/3  .
 
−1/3 1/6 −1/6 0

Exemplul -1.20 Fie sistemul de ecuaţii liniare T x = b, unde


   
 1 0 −1   0 
   
 0 1 0   1 
   
T =  cu rang(T ) = 2 şi b =  
 1 1 −1   1 
   
   
1 2 −1 2

35
(acest sistem este compatibil nedetreminat). Atunci
 
   
 0 
1/3 −1/6 1/6 0   0
  1   
+     
z = T b =  −1/3 1/3 0 1/3    =  1 
  1   
 
−1/3 1/6 −1/6 0   0
2

este o soluţie a sistemului (compatibil nedeterminat) de ecuaţii liniare T x = b.

Exemplul -1.21 Fie sistemul de ecuaţii liniare T x = b, unde


   
 1 0 −1   1 
   
 0 1 0   0 
   
T =  cu rang(T ) = 2 şi b =  
 1 1 −1   0 
  
   
1 2 −1 0

(acest sistem este incompatibil). Atunci


 
   
 1 
1/3 −1/6 1/6 0   1/3
  0   
     
z = T + b =  −1/3 1/3 0 1/3    =  −1/3 
  0   
 
−1/3 1/6 −1/6 0   −1/3
0

are proprietatea că


T z − b = infn T x − b
x∈R

36
Metode pentru aproximarea valorilor proprii ale
unei matrice
În acest capitol prezentăm algoritmi pentru determinarea valorilor şi vectorilor pro-
prii ai unei matrice A ∈ Mm (R), adică a scalarilor λ ∈ C şi a vectorilor x ∈ C m \ {0}
asfel ca:
Ax = λx .

Valorile proprii λ sunt rădăcinile polinomului caracteristic:

pA (λ) = det(λIm − A) .

Pentru o valoare proprie λ dată, vectorul propriu se obţine ca o soluţie nenulă a sis-
temului liniar omogen:
(A − λIm )x = 0 .

Metodele numerice pentru determinarea valorilor proprii se împart în doua mari cate-
gorii:
- metode care utilizează polinomul caracteristic;
- metode care nu folosesc polinomul caracteristic.
Prima categorie de metode este mai rar folosită pentru că trebuie să calculăm
rădăcinile unui polinom de grad m arbitrar. Metodele care nu folosesc polinomul
caracteristic aproximează, în general, prin iterare, valorile proprii ale unei matrice.

Metode folosind polinomul caracteristic

Metodele numerice pe care le prezentăm în acest paragraf determină, de fapt, co-


eficienţii polinomului caracteristic. Dacă A ∈ Mm (R), atunci polinomul caracteristic
va fi:
pA (λ) = λm − c1 λm−1 + c2 λm−2 + · · · + (−1)m cm ,

1
unde ck este suma minorilor de ordin k ai matricei A pentru k = 1, m. Numărul mino-
m!
rilor de ordin k ai matricei A este Cm k
= . Deci, calculând direct coeficienţii
k!(m − k)!
ck , k = 1, m, ar trebui calculaţi Cm
1 2
+ Cm + · · · + Cmm
= 2m − 1 determinanţi. Acest
lucru este dificil şi implică multe calcule pentru valori mari ale lui m. De aceea, s-au
căutat metode care să determine mai uşor coeficienţii polinomului caracteristic. În
subparagrafele următoare prezentăm câteva astfel de metode împreună cu algoritmii
corespunzători şi exemple numerice.
Metoda Krylov
Metoda Krylov se bazează pe teorema Cayley-Hamilton:
Dacă A ∈ Mm (R) şi pA (λ) = λm −p1 λm−1 −p2 λm−2 −· · ·−pm , atunci pA (A) = 0m ,
adică:
Am − p1 Am−1 − p2 Am−2 − · · · − pm−1 A − pm Im = 0m .
 t
(0) (0)
Considerăm y (0) = y1 , . . . , ym ∈ Rm un vector arbitrar. Înmulţind relaţia (??)
cu y (0) , se obţine:

Am y (0) − p1 Am−1 y (0) − p2 Am−2 y (0) − · · · − pm−1 Ay (0) − pm y (0) = 0 ,

de unde, notând:

y (k) = Ak y (0) = Ay (k−1) , pentru k = 1, m,

ne rezultă că p1 , . . . , pm sunt soluţiile sistemului:


 
 p1 
 
 p2 
  
 .


· .  = y (m) .
y (m−1) y (m−2) · · · y (1) y (0)  . 
 
 
 pm−1 
 
pm

2
Deci determinarea soluţiilor polinomului caracteristic prin metoda Krylov se reduce
la rezolvarea sistemului (??), în cazul în care are soluţie unică. Dacă sistemul nu are
soluţie unică, atunci se poate încerca schimbarea vectorului iniţial y (0) .

Exemplul -1.1 Determinaţi polinomul caracteristic pentru matricea


 
 5 −4 −3 −1 
 
 1 4 2 −9 
 
A= ,
 2 5 1 −5 
 
 
7 1 2 −1

folosind metoda Krylov.


 
 1 
 
 2 
 
Alegem pentru aplicarea metodei Krylov vectorul y (0) =   şi calculăm
 3 
 
 
4
   
 −16   8 
   
 −21   −209 
   
y (1) = Ay (0) = , y (2) = Ay (1) = ,
 −5   −197 
   
   
11 −154
   
 1621   9210 
   
 164   4902 
   
y (3) = Ay (2) −  , y (4) = Ay (3) = .
 −456   5571 
   
   
−393 10992

3
Coefienţii polinomului caracteristic se obţin rezolvâd sistemul:
    
 1621 8 −16 1   p1   9210 
    
 164 −209 −21 2   p2   4902 
    
  = .
 −456 −197 −5 3   p   5571 
  3   
    
−393 −154 11 4 p4 10992
 
 9 
 
 −45 
 
Folosind o metodă de rezolvare a sistemelor liniare , obţinem p =   şi polino-
 369 
 
 
885
mul caracteristic este:

pA (λ) = λ4 + 9λ3 − 45λ2 + 369λ + 885 . 

Metoda Leverrier
Determinarea coeficienţilor polinomului caracteristic prin metoda Leverrier se bazează
pe următorul rezultat:
Dacă P (x) = xm + p1 xm−1 + p2 xm−2 + · · · + pm este un polinom de gradul m cu
rădacinile λ1 , . . . , λm şi sk = λk1 + · · · + λkm pentru k ∈ N , atunci avem
k−1

−kpk = pj sk−j pentru k ∈ N ∗ ,
j=0

cu p0 = 1 .
Se ştie că, dacă A ∈ Mm (R) şi λ1 , . . . , λm sunt valori proprii distincte ale lui A,
atunci sk = tr(Ak ) pentru k ∈ N ∗ .
Determinarea coeficienţilor polinomului carateristic cu metoda Leverrier constă în:
P1. se calculează s1 = tr(A) şi p1 = −s1 ;
P2. pentru k = 2, m calculăm:

1
Ak , sk = tr(Ak ) , pk = − (sk + p1 sk−1 + p2 sk−2 + · · · pk−1 s1 ).
k
4
P3. Polinomul caracteristic al matricei A va fi

pA (λ) = λm + p1 λm−1 + p2 λm−2 + · · · + pm .

Observaţie. Dacă pm = 0, atunci λ = 0 este valoare proprie pentru A şi nu există


A−1 , iar dacă pm = 0 atunci, conform teoremei Cayley-Hamilton, avem:

Am + p1 Am−1 + p2 Am−2 − · · · + pm−1 A + pm Im = 0m ,

de unde rezultă
1
m−1
A−1 = − A + p1 Am−2 + p2 Am−3 + · · · + pm−1 Im .
pm
Există un algoritm propus de Fadeev prin care se calculează simultan coeficienţii
polinomului caracteristic şi A−1 (dacă există). Astfel determinarea coeficienţilor poli-
nomului carateristic cu metoda Leverrier constă în:
P1. se calculează p1 = −tr(A) şi B1 = A1 + p1 Im , unde A1 = A ;
P2. pentru k = 2, m calculăm:
1
Ak = ABk ,pk = − tr(Ak ) , Bk = Ak + pk Im .
k
1
P3. Dacă pm = 0 atunci avem A−1 = − Bm−1 .
pm
Observaţie. În algoritmul de mai sus, din modul de calculare a şirului B1 , . . . , Bm−1 , Bm
şi din teorema Cayley-Hamilton, se obţine că

Bm = Am + pm Im = Am + p1 Am−1 + · · · + pm−1 A + pm Im = 0m

Exemplul -1.2 Determinaţi, folosind metoda Leverrier, polinomul caracteristic şi ma-
tricea A−1 , dacă există, pentru matricea
 
 11 0 −3 12 
 
 −9 −5 2 5 
 
A= ,
 2 −4 15 −11 
 
 
2 6 −7 10

5
Aplicând metoda Leverrier pentru matriceaA şi m = 4, obţinem:

s1 = 31 , p1 = −31 ,

- pentru k = 2:
 
 139 84 −162 285 
 
 −40 47 12 −105 
2  
A2 = A =  , s2 = 705 , p2 = 128 ,
 66 −106 288 −271 
 
 
−26 58 −169 231

- pentru k = 3:
 
 1019 1938 −4674 6720 
 
 −1049 −913 1129 −1427 
 
A3 = A3 =  ,
 7714 −2248 5807 −5616 
 
 
−684 1772 −3958 4147
s3 = 10060 , p3 = 2609 ,

- pentru k = 4:
 
 −2141 49326 −116331 140532 
 
 −3918 −8513 28245 −43842 
4  
A4 = A =  ,
 39468 −45684 116779 −110709 
 
 
−23094 31854 −82803 85660
s4 = 191785 , p4 = −12761 ,

şi polinomul caracteristic este:

pA (λ) = λ4 − 31λ3 + 128λ2 + 2609λ − 12761 .

6
Cum p4 = 0, rezultă că:

A−1 = − p14 (A3 + p1 A2 + p2 A + p3 I4 )

 
 0.0570 −0.0522 −0.0028 −0.0454 
 
 −0.0753 −0.0314 0.0794 0.1934 
 
=   .
 −0.0060 0.0412 0.1103 0.1079 
 
 
0.0296 0.0581 0.0302 0.0686

Exemplul -1.3 Calculaţi coeficienţii polinomului caracteristic şi matricea A−1 , dacă
există, pentru matricea
 
 11 1 −3 2 
 
 −9 −5 12 5 
 
A= ,
 2 −4 5 −11 
 
 
2 16 −7 10

folosind algoritmul Fadeev.

Aplicând algoritmul Fadeev obţinem:

A1 = A ,
 
 −10 1 −3 2 
 
 −9 −26 12 5 
 
p1 = −tr(A1 ) = −21 , B1 = A1 + p1 I4 =  ,
 2 −4 −16 −11 
 
 
2 16 −7 −11

7
- pentru k = 2
 
 −121 29 13 38 
 
 169 153 −260 −230 
 
A2 = AB1 =  ,
 4 −90 −57 50 
 
 
−158 −226 228 51

 
 −134 29 13 38 
 
 169 140 −260 −230 
 
p2 = − 21 tr(A2 ) = −13 , B2 = A2 + p2 I4 =  ,
 4 −90 −70 50 
 
 
−158 −226 228 38

- pentru k = 3
 
 −1633 277 549 114 
 
 −381 −3171 1483 1598 
 
A3 = AB2 =  ,
 814 1534 −1792 828 
 
 
828 668 −1364 −3574

 
 1757 277 549 114 
 
 −381 219 1483 1598 
 
p3 = − 31 tr(A3 ) = 3390 , B3 = A3 + p3 I4 =  ,
 814 1534 1598 828 
 
 
828 668 −1364 −184

8
- pentru k = 4
 
 18160 0 0 0 
 
 0 18160 0 0 
 
A4 = AB3 =  ,
 0 0 18160 0 
 
 
0 0 0 18160

 
 0 0 0 0 
 
 0 0 0 0 
 
p4 = − 14 tr(A4 ) = −18160 , B4 = A4 + p4 I4 =  .
 0 0 0 0 
 
 
0 0 0 0

Polinomul caracteristic este:

pA (λ) = λ4 − 21λ3 − 13λ2 + 3390λ − 18160 .

Cum p4 = 0, rezultă că:

 
 0.0968 0.0153 0.0302 0.0063 
 
1  −0.0210 0.0121 0.0817 0.0880 
 
A−1 = − B3 =  . 
p4  0.0448 0.0845 0.0880 0.0456 
 
 
0.0456 0.0368 −0.0751 −0.0101

Metoda coeficienţilor nedeterminaţi


Metoda coeficienţilor nedeterminati constă în determinarea coeficienţilor p1 , . . . , pm
ai polinomului caracteristic pA (λ) = λm + p1 λm−1 + · · · + pm−1 λ + pm , asociat matriei

9
A ∈ Mm (R) , dintr-un sistem liniar format din m ecuaţii liniare:

pm = D(0)
1m + p1 1m−1 + · · · + pm−1 1 + pm = D(1)
2m + p1 2m−1 + · · · + pm−1 2 + pm = D(2)) ,
..
.
(m − 1)m + p1 (m − 1)m−1 + · · · + pm−1 (m − 1) + pm = D(m − 1)

unde D(k) = det (kIm − A) pentru k = 0, m .


Dacă notăm p = (p1 , p2 , . . . , pm−1 )t , sistemul (??) se reduce la m − 1 ecuaţii liniare
şi se poate scrie în forma:
M p = b,

unde  
 1 1 ··· 1 
 
 2 m−1
2m−2
··· 2 
 
M = .. .. .. 
 ... 
 . . . 
 
(m − 1)m−1 (m − 1)m−2 · · · (m − 1)
şi  
m
 D(1) − D(0) − 1 
 
 D(2) − D(0) − 2 m 
 
 .. .
 . 
 
 
D(m − 1) − D(0) − (m − 1)m
Această metodă are dezavatajul că se calculează m determinanţi de ordin m.

Exemplul -1.4 Determinaţi coeficienţii polinomului caracteristic pentru


matricea  
 9 −4 10 13 
 
 11 −1 −15 8 
 
A= ,
 1 −2 −3 1 
 
 
2 4 5 7

10
folosind metoda coeficienţilor nedeterminaţi.

Avem p4 = −2703. Se obţine sistemul


   
1 1 1 334
   
   
 8 4 2 p=  482 
   
27 9 3 372

a cărui soluţie este:  


−12
 
 
p =  −57  .
 
403
Deci polinomul caracteristic este:

pA (λ) = λ4 − 12λ3 − 57λ2 + 403λ − 2703 . 

Metoda rotaţiilor
Se dau m ∈ N, m ≥ 2, A = (aij )1≤i,j≤m ∈ Mm (R) o matrice simetrică şi ε > 0 un
număr real. Metoda rotaţiilor aproximează valorile proprii ale unei matrice simetrice
prin construirea unui şir de matrice (obţinut cu ajutorul unor matrice de rotaţie) ale
căror valori de pe diagonală converg către valorile proprii ale matricei A.
Dacă la pasul n este cunoscută matricea An , matricea An+1 se determină cu formula

An+1 = Tnt An Tn ,

unde Tn este o matrice de rotaţie.

Calcul succesiv al matricelor An (n ≥ 0), obţinute din matricea A prin rotaţii plane
se realizează după algoritmul:
A0 := A

• Repetă (se calculează Y = An+1 în funcţie de X = An ):

11
— se aleg p < q ∈ {1, . . . , m} astfel încât

|xpq | = max{|xij |; i < j ∈ {1, . . . , m}};

— dacă xpp = xqq atunci θ = π , altfel θ = 1 · arctan 2·xpq


4 2 xpp −xqq
— se iau c = cos(θ) şi s = sin(θ);

— Se calculează matricea Y = T t AT cu
 
1 ··· 0 ··· 0 ··· 0
 
 .. ... .. .. .. .. .. 
 . . . . . . 
 
 
 0 ··· cos θ · · · − sin θ · · · 0 
 
 . .. .. ... .. .. .. 
T = . ,
 . . . . . . 
 
 
 0 ··· sin θ · · · cos θ ··· 0 
 
 .. .. .. .. .. . . .. 
 . . . . . . . 
 
0 ··· 0 ··· 0 ··· 1

unde elementele cosθ, − sin θ, sin θ, cosθ se află la intersecţia liniilor p şi q
cu coloanele p şi q. Atunci

∗ ∀ i, j ∈ {p, q}, yij = xij ;

∗ ∀ j ∈ {p, q}, ypj = yjp = c · xpj + s · xqj , yqj = yjq = −s · xpj + c · xqj

∗ ypq = 0; yqp = 0; ypp = c2 · xpp + 2 · c · s · xpq + s2 · xqq ; yqq = s2 · xpp −


2 · c · s · xpq + c2 · xqq ;

— se face atribuirea X = Y ;

m

— se calculează modul = |X| := x2ij unde i, j ∈ 1, m.
i=j

pâna când modul < ε .

• Se colectează în vectorul z elementele diagonalei lui X, care reprezintă aproximări


ale valorilor proprii ale matricei A cu erori în modul mai mici decât ε : ∀i∈
1, m se ia zi = xii .

12
• Se tipăreşte z.

Exemplul -1.5 Fie matricea


 √ 
17 −2 3 3
 √ 
 
A =  −2 8 2 3 .
 
√ √
3 3 2 3 11

Folosind metoda rotaţiilor, să se determine valorile proprii ale matricei A.

Se verifică imediat că matricea A este simetrică. Se aleg p < q astfel încât

|apq | = max{aij |; i < j ∈ {1, 2, 3}.

Atunci p = 1, q = 3. Se calculează

1 2 · apq π
θ= · arctan = .
2 app − aqq 6

Se ia  
cos θ 0 − sin θ
 
 
T = 0 1 0 
 
sin θ 0 cos θ
şi se calculează matricea
 
20 0 0
 
t  
B = T AT =  0 8 4 
 
0 4 8

Se aleg p < q astfel încât

|bpq | = max{bij |; i < j ∈ {1, 2, 3}.

Atunci p = 2, q = 3. Se calculează

π
θ= deoarece bpp = bqq .
4
13
Se ia  
1 0 0
 
 
T =  0 cos θ − sin θ 
 
0 sin θ cos θ
şi se calculează matricea
 
20 0 0
 
 
B = T t AT ==  0 12 0 
 
0 0 4
Rezultă că valorile proprii ale matricei A sunt λ1 = 20, λ2 = 12, λ3 = 4. 
Metoda puterii
Este o metodă numerică pentru aproximarea celei mai mari valori proprii în modul
şi a unui vector propriu corespunzător.
Vom considera cazul în care matricea A ∈ Mm (R) are toate valorile proprii pozitive.
Fie x(0) ∈ Rm astfel încât Ax(0) = 0. Definim recurent şirul (x(n) )n∈N prin relaţia
1
x(n+1) := Ax(n) , ∀n ∈ N. Notăm cu (z (n) )n∈N şirul definit prin z (n) := ·
x(n) 
x(n) , ∀n ∈ N. Atunci
lim Az (n) , z (n)  = λ,
n→∞

unde λ este cea mai mare valoare proprie a matricei A şi

lim z (n) = z,
n→∞

unde z este un vector propriu ataşat valorii proprii λ.


Metoda permite şi determinarea celorlalte valori proprii astfel:

• Se consideră matricea
 
 1 0 ... 0 
 
 x2 1 ... 0 
 
T = ,
 ... ... ... ... 
 
 
xm 0 ... 1

14
unde (1, x2 , . . . , xm ) este un vector propriu corespunzător
valorii proprii λ. Acest vector se obţine astfel:

zi
xi = , ∀i = 2, m,
z1

• Se calculează matricea B = T −1 AT.

• Se scrie matricea B sub forma


 
b11 B12
B= ,
0 B22

cu B22 matrice de ordinul m − 1.

• Cu algoritmul descris mai sus se determină cea mai mare


valoare proprie a matricei C = B22 . Aceasta este a doua
valoare proprie (în ordine descrescătoare) a matricei A.

• Acest algoritm se aplică în continuare pentru matricea C.

Algoritmul LU
Fie A o matrice pătratică de ordin m. Descompunem A = L1 U1 cu L1 , U1 matrice
triunghiulare (vezi factorizarea LU din paragraful 1.2.4, capitolul 1). Construim şirul
de matrice (Bn )n astfel:
B0 = A = L1 U1 , B1 = U1 L1 .

Descompunem B1 = L2 U2 , luăm B2 = U2 L2 , . . .

Descompunem Bn = Ln+1 Un+1 , luăm Bn+1 = Un+1 Ln+1 , . . .

Când n → ∞, elementele de pe diagonala lui Bn converg la valorile proprii ale matricei


A (în practică, calculul iterativ se opreşte atunci când, pentru orice i = 1, m, avem
 
 (n) (n−1)  (n)
bii − bii  < ε, o eroare dată, unde cu (bij )i,j am notat elementele matricei Bn ).

15
Algoritmul QR
Metoda QR este o metodă des folosită pentru calculul valorilor proprii pentru o
matrice oarecare, în general, nesimetrică. Fie A ∈ Mm (R). Metoda QR constă în
construirea unui şir de matrice (Ak )k≥0 folosind factorizarea QR (definită la ssisteme
liniare) astfel:
A0 = A = Q0 R0 , A1 = R0 Q0 ,
Ak = Qk Rk , Ak+1 = Rk Qk , k ≥ 0 .
Când k → ∞, elementele de pe diagonala lui Ak converg la valorile proprii ale matricei
 
 (k+1) (k) 
A. Calculul iterativ se opreşte atunci când, pentru orice i = 1, m, avem aii − aii  <
ε, pentru ε > 0 o eroare dată.

16
Ecuaţii neliniare în Rm
Principiul contracţiei
Fie m ∈ N∗ , M ⊂ Rm o mulţime şi  ·  o normă pe Rm . O funcţie f : M → R
m
se numeşte q-contracţie a mulţimii M relativă la norma  ·  dacă are următoarele
proprietăţi:
1) ∃ q ∈ (0, 1) astfel încât f (x) − f (y) ≤ qx − y, ∀ x, y ∈ M şi
2) f(M ) ⊂ M .
Principiul contracţiei se enunţă astfel:
Fie  ·  o normă pe Rm , M o mulţime închisă din Rm şi f : M → R m
o q-
contracţie a mulţimii M relativă la norma  · . Atunci ecuaţia f(x) = x are o soluţie
unică z ∈ M , şi, pentru orice x(0) ∈ M , şirul (x(n) )n∈N definit prin relaţia de recurenţă
x(n+1) = f (x(n) ) converge la z. Avem evaluarea
q qn
x(n) − z ≤ x(n) − x(n−1)  ≤ x(1) − x(0) .
1−q 1−q
Fie a ∈ Rm şi r > 0. Dacă M := {x ∈ Rm | x − a ≤ r}, atunci:
1. Dacă f diferenţiabilă pe M şi există q ∈ (0, 1) astfel încât f  (x) ≤ q, ∀ x ∈ M
rezultă că f(x) − f (y) ≤ qx − y, ∀ x, y ∈ M .
2. Dacă f (x) − f (y) ≤ qx − y, ∀ x, y ∈ M şi f (a) − a ≤ (1 − q)r rezultă că
f (M ) ⊂ M .
Deci, în aceste condiţii, f este q-contracţie a mulţimii M .

Exemplul -1.1 Fie sistemul de ecuaţii




 x = (80 + x3 − x2 − 3yz)/100


y = (60 − y 3 − z 2 + 4xz)/86 (1)




z = (40 + z 3 + y 2 − 5xy)/72

Folosind principiul contracţiei în raport cu norma  · ∞, să se arate că sistemul
(1) are soluţie unică v în V := [0, 2]3 . Pentru o eroare ε dată şi pentru iterata iniţială

1
x(0) := (1, 1, 1) să se calculeze iterata x(n) (din principiul contracţiei) pentru care x(n) −
v∞ ≤ ε.

Fie r = 1 şi a = (1, 1, 1). Atunci mulţimea V = {x ∈ Rm | x − a∞ ≤ r}.


Fie funcţia F = (f, g, h) : V → R 3
cu f (x, y, z) := (80 + x3 − x2 − 3yz)/100,
g(x, y, z) := (60−y 3 −z 2 +4xz)/86 şi h(x, y, z) := (40+z 3 +y 2 −5xy)/72, ∀ (x, y, z) ∈ V .
Sistemul de ecuaţii (1) este echivalent cu F (x, y, z) = (x, y, z).
Avem
 
(3x2 − 2x)/100 −3z/100 −3y/100
 
  
F (x, y, z) =  4z/86 2
−3y /86 (−2z + 4x)/86  ,
 
2
−5y/72 (2y − 5x)/72 3z /72

deci F  (x, y, z)∞ = max((|3x2 − 2x| + | − 3z| + | − 3y|)/100, (|4z| + | − 3y 2 | +


| − 2z + 4x|)/86, (| − 5y| + |2y − 5x| + |3z 2 |)/72) ≤ max(28/100, 32/86, 36/72) =
= 1/2 (am folosit 0 ≤ x, y, z ≤ 2). Putem lua q = 1/2. Pe de altă parte F (a) − a∞ =
max(28/100, 24/86, 35/72) = 35/72 < (1 − q)r = 1/2. Deci F este 1/2-contracţie a
mulţimii V în raport cu norma  · ∞ . Din principiul contracţiei rezultă că ecuaţia
F (x, y, z) = (x, y, z) are soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă x(n) = F (x(n−1) ),
∀ n ∈ N. Se opreşte procesul iterativ atunci când q/(1 − q)x(n) − x(n−1) ∞ < ε.
Pentru ε = 10−10 se obţin următoarele rezultate:

2
n x y z
1 0.7700000000 0.7209302326 0.5138888889
2 0.7875219889 0.7086511560 0.5261092736
3 0.7874973924 0.7095886570 0.5257974572
4 0.7874891632 0.7095640029 0.5257622709
5 0.7874902776 0.7095633762 0.5257631334
6 0.7874902723 0.7095634355 0.5257631103
7 0.7874902718 0.7095634337 0.5257631082
8 0.7874902719 0.7095634337 0.5257631083 . 

Metoda Gauss-Seidel neliniară


Fie m ∈ N ∗ , (a1 , a2 , . . . , am ) ∈ Rm , r1 , r2 , . . . , rm numere reale strict pozitive,
M := {x = (x1 , x2 , . . . , xm ) ∈ Rm | |xi − ai | ≤ ri , ∀ 1 ≤ i ≤ m} şi f = (f1 , f2 , . . . , fm ) :
M →R m
o q-contracţie a mulţimii M relativă la norma  · ∞.
Pentru orice x(0) ∈ M definim şirul (x(n) )n∈N prin relaţia de recurenţă

(n+1) (n) (n)


x1 = f1 (x1 , x2 , . . . , x(n)
m ) şi

(n+1) (n+1) (n+1) (n)


xi = fi (x1 , . . . , xi−1 , xi , . . . , x(n)
m ) ∀ 2 ≤ i ≤ m.

Atunci şirul (x(n) )n∈N converge către unica soluţie z ∈ M a ecuaţiei f (x) = x. Avem
evaluarea:

q qn
x(n) − z∞ ≤ x(n) − x(n−1) ∞ ≤ x(1) − x(0) ∞.
1−q 1−q

Dacă f diferenţiabilă pe M şi există q ∈ (0, 1) astfel încât f  (x)∞ ≤ q, ∀ x ∈ M


rezultă că f(x) − f (y)∞ ≤ qx − y∞ , ∀ x, y ∈ M .

3
Exemplul -1.2 Fie sistemul de ecuaţii


 x = (432 + x4 + y 4 − 2z 4 + y 2 z 2 )/234


y = (324 − x4 + 2y 4 − 3z 4 + 3x2 z 2 )/432 (2)




z = (234 + 2x4 − 3y 4 + 4z 4 − x2 y 2 + 3x + y)/324

Folosind metoda Gauss-Seidel neliniară, să se arate că sistemul (2) are soluţie unică
v în V := [−2, 2] × [−1, 1] × [0, 1]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1/2) să se calculeze iterata x(n) pentru care x(n) − v∞ ≤ ε.

Fie r1 = 2, r2 = 1 şi r3 = 1/2, a1 = a2 = 0 şi a3 = 1/2. Atunci mulţimea


V = {(x, y, z) ∈ R3 | |x − a1 | ≤ r1 , |y − a2 | ≤ r2 , |z − a3 | ≤ r3 }. Fie funcţia
F = (f, g, h) : V → R 3
cu f(x, y, z) := (432 + x4 + y 4 − 2z 4 + y 2 z 2 )/234, g(x, y, z) :=
(324−x4 +2y 4 −3z 4 +3x2 z 2 )/432 şi h(x, y, z) := (234+2x4 −3y 4 +4z 4 −x2 y 2 +3x+y)/324,
∀ (x, y, z) ∈ V . Sistemul de ecuaţii (2) este echivalent cu F (x, y, z) = (x, y, z).
Avem F  (x, y, z) =
 
4x3 /234 (4y 3 + 2yz 2 )/234 (−8z 3 + 2y 2 z)/234
 
 
 (−4x3 + 6xz 2 )/432 8y 3 /432 (−12z 3 + 6x2 z)/432 ,
 
(8x3 − 2xy 2 + 3)/324 (−12y 3 − 2x2 y + 1)/324 16z 3 /324

deci F  (x, y, z)∞ = max((|4x3 | + |4y 3 + 2yz 2 | + | − 8z 3 + 2y 2 z|)/234, (| − 4x3 + 6xz 2 | +


|8y 3 | + | − 12z 3 + 6x2 z|)/432, (|8x3 − 2xy 2 + 3| + | − 12y 3 − 2x2 y + 1| + |16z 3 |)/324) ≤
max(48/234, 88/432, 108/234) = 1/3 (am folosit −2 ≤ x ≤ 2, −1 ≤ y ≤ 1, 0 ≤ z ≤ 1).
Putem lua q = 1/3. Pe de altă parte |f (x, y, z) − a1 | ≤ (|432| + |x4 | + |y 4 | + |2z 4 | +
|y 2 z 2 |)/234 ≤ 452/234 < 2, |g(x, y, z)−a2 | ≤ (|324|+|x4 |+|2y 4 |+|3z 4 |+|3x2 z 2 |)/432 ≤
357/432 < 1 şi |h(x, y, z) − a3 | ≤ (|234| + |2x4 | + |3y 4 | + |4z 4 | + |x2 y 2 | + |3x| + |y|)/324 ≤
122/324 < 1/2, ∀ (x, y, z) ∈ V . Deci F (V ) ⊂ V şi F este 1/3-contracţie a mulţimii V în
raport cu norma ·∞ . Din principiul contracţiei rezultă că ecuaţia F (x, y, z) = (x, y, z)
ar soluţie unică în V .

4
(n) (n) (n)
Pentru x(0) = (0, 0, 1/2) se calculează x(n) = (x1 , x2 , x3 ) cu formula de recurenţă
(n) (n) (n) (n−1) (n−1) (n) (n) (n) (n−1)
x1 = f(x(n−1) ), x2 = g(x1 , x2 , x3 ), x3 = h(x1 , x2 , x3 ) ∀ n ∈ N. Se
opreşte procesul iterativ atunci când q/(1 − q)x(n) − x(n−1) ∞ < ε.
Pentru ε = 10−10 se obţin următoarele rezultate:

n x y z
1 1.8498931624 0.7283987914 0.8064491799
2 1.8952624827 0.7347217752 0.8182233410
3 1.9002520392 0.7348417419 0.8193883638
4 1.9008188414 0.7348467169 0.8195175386
5 1.9008834671 0.7348471269 0.8195321857
6 1.9008908388 0.7348471703 0.8195338544
7 1.9008916797 0.7348471752 0.8195340447
8 1.9008917756 0.7348471757 0.8195340664
9 1.9008917866 0.7348471758 0.8195340689
10 1.9008917878 0.7348471758 0.8195340692
11 1.9008917880 0.7348471758 0.8195340692 . 

Metoda lui Newton


Fie m ∈ N∗ , D o mulţime deschisă din Rm şi f : D → Rm o funcţie de clasă C 2 (D).
Dacă presupunem că f  (x) este inversabilă pentru orice x ∈ D, atunci ecuaţia f(x) = 0
se transformă echivalent astfel:

f (x) = 0⇔f(x) + f  (x)(x − x) = 0⇔x = x − (f  (x))−1 f(x).

În ipotezele de mai sus (fără a presupune că f  (x) este inversabilă ∀ x ∈ D), pentru
orice x(0) ∈ D definim, dacă este posibil, şirul (x(n) )n∈N prin relaţia de recurenţă

x(n+1) = x(n) − (f (x(n) ))−1 f (x(n) ), ∀ n ∈ N. (3)

5
Fie  ·  o normă pe Rm . Notăm tot cu  ·  norma matricială asociată. Presupunem
că există a ∈ D, r > 0, M > 0, α > 0, β > 0, µ > 0, q ∈ (0, 1) astfel încât:
1) V := Br (a) := {x ∈ Rm | x − a ≤ r} ⊂ D;
2) f  (x) ≤ M, ∀ x ∈ V ;
3) Există (f  (a))−1 şi (f  (a))−1  ≤ α;
α 1
4) Mrα < 1 şi ≤ ;
1 − M rα µ
5) (f (a)) f(a) ≤ β ≤ (1 − q)r;
 −1

M
6) 2 f (x) ≤ q, ∀ x ∈ V ;
µ
Mr
7) ≤ q.
µ
Atunci ecuaţia f (x) = 0 are o soluţie unică z ∈ V şi pentru orice x(0) ∈ V se poate
construi şirul (x(n) )n∈N (prin relaţia de recurenţă (3)) cu proprietăţile x(n) ∈ V şi

2µ 2n
x(n) − z ≤ q , ∀ n ∈ N.
M

Exemplul -1.3 Fie sistemul de ecuaţii




 x3 + 3xy 2 + 3xz 2 − 183x + 2 = 0


y 3 + +3x2 y + 3yz 2 − 193y + 1 = 0 (4)




z 3 + 3x2 z + 3y 2 z − 188(z − 1) − 1 = 0

Folosind metoda Newton relativă la norma  ·∞ , să se arate că sistemul (4) are soluţie
unică v în V := [−1, 1]2 × [0, 2]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1) să se calculeze iterata x(n) , pentru care x(n) − v∞ ≤ ε.

Fie r = 1 şi a = (0, 0, 1). Atunci mulţimea V este Br (a) în raport cu norma
 · ∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x3 + 3xy 2 + 3xz 2 − 183x + 2,
g(x, y, z) := y 3 ++3x2 y+3yz 2 −193y+1 şi h(x, y, z) := z 3 +3x2 z+3y 2 z−188(z−1)−1 =
0, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (4) este echivalent cu F (x, y, z) = 0.

6
Avem F  (x, y, z) =
 
3x2 + 3y 2 + 3z 2 − 183 6xy 6xz
 
 
 6xy 2 2
3x + 3y + 3z − 193 2
6yz ,
 
6xz 6yz 3x2 + 3y 2 + 3z 2 − 188
 
6x 6y 6z 6y 6x 0 6z 0 6x
 
 
F  (x, y, z) =  6y 6x 0 6x 6y 6z 0 6z 6x ,
 
6z 0 6x 0 6z 6y 6x 6y 6z
deci F  (x, y, z)∞ ≤ max(|18x| + |12y| + |12z|, |12x| + |18y| + |12z|, |12x| + |12y| +
|18z|) ≤ max(54, 54, 60) = 60 (am folosit −1 ≤ x, y ≤ 1, 0 ≤ z ≤ 2). Putem lua
 
−180 0 0
 
 
M = 60. Avem F  (a) =  0 −190 0  , deci F (a) inversabilă, (F (a)) =
  −1
 
0 0 −185
 
−1/180 0 0
 
 
 0 −1/190 0  şi (F  (a))−1 ∞ = max(1/180, 1/190, 1/185) = 1/180.
 
0 0 −1/185
Luăm α = 1/180. Cum M rα = 60/180 < 1 şi α/(1 − M Rα) = 1/120, putem
lua µ = 120. Avem F (a) = (2, 1, 0)t şi (F  (a))−1 F (a) = (−1/90, −1/190, 0)t , deci
(F  (a))−1 F (a)∞ = 1/90. Luă m β = 1/90. Condiţia β ≤ (1 − q)r implică q ≤ 89/90.
Din F (x, y, z)∞ ≤ max(|x3 | + |3xy 2 | + |3xz 2 | + |183x| + 2, |y 3 | + |3x2 y| + |3yz 2 | +
|193y| + 1, |z 3 | + |3x2 z| + |3y 2 z| + |188(z − 1)| + 1) ≤ max(201, 210, 209) = 210 rezultă
că (M/µ2 )F (x, y, z)∞ ≤ q⇔q ≥ 210/240 = 7/8. Din M r/µ ≤ q rezultă q ≥ 1/2.
Deci putem lua q = 7/8 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (0, 0, 1) se calculează x(n) cu formula de recurenţă (4) (folosind la
fiecare pas o procedură de inversare a matricei (F  (x(n) ))−1 ). Se opreşte calculul iterativ
n n
atunci când (2µ)/M · q2 ≤ ε ⇔4 · (7/8)2 ≤ ε.
Pentru ε = 10−10 se obţin următoarele rezultate:

7
n x y z
1 −0.0387039145 −0.2345464953 0.8497295394
2 0.0109754027 0.0044322958 1.0031237498
3 0.0111111051 0.0052632384 0.9999155652
4 0.0111111257 0.0052631697 1.0000048646
5 0.0111111247 0.0052631693 1.0000023842
6 0.0111111248 0.0052631693 1.0000024531
7 0.0111111248 0.0052631693 1.0000024512 . 

Metoda lui Newton simplificată


Fie m ∈ N∗ , D o mulţime deschisă din Rm şi f : D→ Rm o funcţie de clasă C 2 (D).
Dacă presupunem că există a ∈ D astfel încât f  (a) este inversabilă, atunci ecuaţia
f (x) = 0 se transformă echivalent astfel:

f (x) = 0⇔f (x) + f  (a)(x − x) = 0⇔x = x − (f  (a))−1 f (x).

Pentru orice x(0) ∈ D definim, dacă este posibil, şirul (x(n) )n∈N prin relaţia de
recurenţă
x(n+1) = x(n) − (f  (a))−1 f (x(n) ), ∀ n ∈ N. (5)

Fie  ·  o normă pe Rm . Notăm tot cu ·  norma matricială asociată. Presupunem


că există r > 0, M > 0, α > 0, β > 0, q ∈ (0, 1) astfel încât:
1) V := Br (a) := {x ∈ Rm | x − a ≤ r} ⊂ D;
2) f  (x) ≤ M, ∀ x ∈ V ;
3) (f  (a))−1  ≤ α;
4) (f  (a))−1 f(a) ≤ β ≤ (1 − q)r;
5) Mrα ≤ q.
Atunci ecuaţia f (x) = 0 are o soluţie unică z ∈ V şi pentru orice x(0) ∈ V se poate

8
construi şirul (x(n) )n∈N (prin relaţia de recurenţă (5)) cu proprietă ţile x(n) ∈ V şi

(n) q (n) (n−1) qn


x − z ≤ x − x ≤ x(1) − x(0) , ∀ n ∈ N.
1−q 1−q

Exemplul -1.4 Fie sistemul de ecuaţii




 x2 + y 2 + z 2 + x + y + z − 853/144 = 0


3x2 − 4y 2 + z 2 + x − y − 3z + 1309/432 = 0 (6)




5x2 + 2y 2 − 3z 2 + 2x − 4y − 6z + 37/9 = 0

Folosind metoda Newton simplificată relativă la norma  · ∞ , să se arate că sistemul
(6) are soluţie unică v în V := [−0, 8; 1, 2]3 . Pentru o eroare ε dată şi pentru iterata
iniţială x(0) := (1, 1, 1), să se calculeze iterata x(n) pentru care x(n) − v∞ ≤ ε.

Fie r := 0, 2 = 1/5 şi a := (1, 1, 1). Atunci mulţimea V este Br (a) în raport cu
norma  · ∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x2 + y 2 + z 2 + x +
y + z − 853/144, g(x, y, z) := 3x2 − 4y 2 + z 2 + x − y − 3z + 1309/432 şi h(x, y, z) :=
5x2 + 2y 2 − 3z 2 + 2x − 4y − 6z + 37/9, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (6) este
echivalent cu F (x, y, z) = 0.
Avem  
2x + 1 2y + 1 2z + 1
 
  
F (x, y, z) =  6x + 1 −8y − 1 2z − 3  ,
 
10x + 2 4y − 4 −6z − 6
 
2 0 0 0 2 0 0 0 2
 
 
F  (x, y, z) =  6 0 0 0 −8 0 0 0 2 ,
 
10 0 0 0 4 0 0 0 −6
deci F  (x, y, z)∞ ≤ max(|2|+|2|+|2|, |6|+|−8|+|2|, |10|+|4|+|−6|) = 20, ∀ (x, y, z) ∈
 
3 9 3
 
 
V . Putem lua M = 20. Avem F  (a) =  7 −9 −1  , cu det(F  (a)) = 72, deci
 
12 0 −12

9
 
9 3 2
1 



F (a) inversabilă, (F (a)) =
  −1
 6 −6 2  şi (F  (a))−1 ∞ = max(14/72, 14/72, 16/72) =
72  
9 3 −4
2/9. Luă m α = 2/9. Avem F (a) = (11/144, 13/432, 1/9)t şi (F  (a))−1 F (a) =
(1/72, 1/144, 1/216)t , deci (F  (a))−1 F (a)∞ = 1/72. Luăm β = 1/72. Condiţia
β ≤ (1 − q)r implică q ≤ 67/72. Din αM r ≤ q rezultă q ≥ 8/9. Deci putem lua
q = 8/9 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă (6). Se opreşte
calculul iterativ atunci când q/(1 − q) · x(n) − x(n−1) ∞ ≤ ε.
Pentru ε = 10−10 se obţin următoarele rezultate:

n x y z
1 0.9861111111 0.9930555556 0.9953703704
2 0.9860336380 0.9930399270 0.9953759520
3 0.9860328001 0.9930398800 0.9953760624
4 0.9860327911 0.9930398803 0.9953760635
5 0.9860327910 0.9930398803 0.9953760635 . 

10
INTERPOLARE POLINOMIALĂ
Formula lui Lagrange

Se consideră:

• n ∈ N∗ ;

• x1 , x2 , . . . , xn ∈ R cu xi = xj pentru orice 1 ≤ i = j ≤ n puncte (noduri)


distincte două câte două;

• y1 , y2 , . . . , yn ∈ R numere reale.

Spunem că aceste elemente definesc un sistem de date notat cu (SL).


Se numeşte polinom de interpolare Lagrange ataşat sistemului de date (SL) un
polinom P ∈ R[X] cu următoarele proprietăţi:
1) grad P ≤ n − 1;
2) P (xi ) = yi pentru orice 1 ≤ i ≤ n.
Polinomul de interpolare Lagrange ataşat sistemului de date (SL) există, este unic
şi se reprezintă sub forma:
n
 n
 x − xj
P (x) = yi . (1)
i=1 j=1, j=i
xi − xj

Formula (1) se numeşte formula lui Lagrange de reprezentare a polinomului de inter-


polare.

Exemplul -1.1 Utilizând formula lui Lagrange de reprezentare să se determine poli-
nomul de interpolare de grad 2 ce verifică condiţiile:

P (0) = 2, P (1) = 1, P (4) = 4.

1
Din (1) rezultă că:

P (x) = P (0)L1 (x) + P (1)L2 (x) + P (4)L3 (x).

Avem:
(x − 1)(x − 4) x2 − 5x + 4
L1 (x) = = ,
(0 − 1)(0 − 4) 4
x(x − 4) x2 − 4x
L2 (x) = = ,
(1 − 0)(1 − 4) −3
x(x − 1) x2 − x
L3 (x) = = .
(4 − 0)(4 − 1) 12
Atunci:

x2 − 5x + 4 x2 − 4x x2 − x 1 3
P (x) = 2 · +1· +4· = x2 − x + 2.
4 −3 12 2 2

Algoritmul lui Aitken

Fie n ∈ N∗ şi x1 , x2 , . . . , xn puncte distincte două câte două, conţinute într-un


interval real I. Considerăm o funcţie continuă f : I → R. Se numeşte polinom de
interpolare Lagrange asociat funcţiei f şi nodurilor x1 , x2 , . . . , xn polinomul P de grad
mai mic sau egal cu n−1 care verifică condiţiile P (xi ) = f (xi ). Notăm valoarea acestui
polinom într-un punct x din I cu P (f; x1 , x2 , . . . , xn ; x). Polinomul de interpolare
Lagrange asociat funcţiei f şi nodurilor x1 , x2 , . . . , xn există şi este unic.
Dacă n = 1, atunci
P (f ; x1 ; x) = f(x1 ), (2)

iar dacă n ≥ 2, atunci P (f; x1 , x2 . . . , xn ; x) =

P (f; x2 , x3 . . . , xn ; x)(x − x1 ) − P (f ; x1 , x2 . . . , xn−1 ; x)(x − xn )


= . (3)
xn − x1

Pentru orice 1 ≤ i ≤ n şi i ≤ j ≤ n definim recurent polinoamele Pij astfel:

P1j (x) := P (f ; xj ; x) = f (xj ) ∀ 1 ≤ j ≤ n şi

2
Pij (x) := P (f ; x1 , x2 , . . . , xi−1 , xj ; x) ∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. (4)

Cu formula (3) rezultă că


(x − xi−1 )Pi−1j − (x − xj )Pi−1i−1
Pij (x) = ∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. (5)
xj − xi−1
Observăm că P (f ; x1 , x2 , . . . , xn ; x) = Pnn (x).
Prezentăm în continuare un algoritm pentru calculul coeficienţilor polinomului de
interpolare Lagrange P (f ; x1 , x2 , . . . , xn ; x) (bazat pe algoritmul Aitken):
Cum grad Pij ≤ i − 1 ∀ 1 ≤ i ≤ n, ∀ i ≤ j ≤ n, putem scrie

Pij (x) = aij ij ij i−1


1 + a2 x + · · · + ai x .

Egalând coeficienţii lui xk cu 0 ≤ k ≤ i − 1 din relaţile (4) şi (5), obţinem:

a1j
1 = f (xj ) ∀ 1 ≤ j ≤ n,


 ij −ai−1
1
j
xi−1 + ai−1
1
i−1
xj


 a1 =

 xj − xi−1
 ai−1 j
− ai−1 j i−1 i−1
xi−1 − ak−1 + aki−1 i−1 xj
aij
k = k−1 k
∀2 ≤ k ≤ i − 1 ,


 x j − xi−1
 ai−1 j i−1 i−1
i−1 − ai−1

 ij

 ai =
xj − xi−1
∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. Deci se observă că determinarea coeficienţilor aij
k este

recursivă. În concluzie, avem:

P (f; x1 , x2 , . . . , xn ; x) = ann nn nn n−1


1 + a2 x + · · · + an x .

Exemplul -1.2 Fie funcţia f : [0, 12] → R cu f (x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 12].
Să se determine polinomul de interpolare Lagrange P (f ; 0, 4, 12; x) utilizând algoritmul
Aitken.

Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că
10x − 6(x − 4)
P22 (x) = = x + 6,
4
3
6x − 6(x − 12)
P23 (x) = =6
12
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + + 6.
8 2

Algoritmul lui Neville

Fie n ∈ N∗ şi x1 , x2 , . . . , xn puncte distincte două câte două conţinute într-un


interval real I. Considerăm o funcţie continuă f : I → R.
Pentru orice 1 ≤ i ≤ n şi i ≤ j ≤ n definim recurent polinoamele Pij astfel:

P1j (x) := P (f ; xj ; x) = f (xj ) ∀ 1 ≤ j ≤ n şi

Pij (x) = P (f ; xj−i+1 , . . . , xj−1 , xj ; x) ∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. (6)

Cu formula (3) rezultă că

(x − xj−i+1 )Pi−1 j − (x − xj )Pi−1 j−1


Pij (x) = ∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. (7)
xj − xj−i+1

Observăm că P (f ; x1 , x2 , . . . , xn ; x) = Pnn (x).


Prezentăm în continuare un algoritm pentru calculul coeficienţilor polinomului de
interpolare Lagrange P (f ; x1 , x2 , . . . , xn ; x) (bazat pe algoritmul Neville):
Cum grad Pij ≤ i − 1 ∀ 1 ≤ i ≤ n, ∀ i ≤ j ≤ n, putem scrie

Pij (x) = aij ij ij i−1


1 + a2 x + · · · + ai x

Egalând coeficienţii lui xk cu 0 ≤ k ≤ i − 1, din relaţile (6) şi (7) obţinem:

a1j
1 = f (xj ) ∀ 1 ≤ j ≤ n,


 ij −ai−1
1
j
xj−i+1 + ai−1
1
j−1
xj


 a 1 =

 xj − xj−i+1
 a i−1 j
− ai−1 j
xj−i+1 − ai−1 j−1
+ aki−1 j−1 xj
aij
k = k−1 k k−1
∀ 2 ≤ k ≤ i − 1,


 xj − xj−i+1
 ai−1 j i−1 j−1
i−1 − ai−1

 ij

 ai =
xj − xj−i+1

4
∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. Deci se observă că determinarea coeficienţilor aij
k este

recursivă. Astfel, avem:

P (f; x1 , x2 , . . . , xn ; x) = ann nn nn n−1


1 + a2 x + · · · + an x .


Exemplul -1.3 Fie funcţia f : [0, 12] → R cu f (x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 12].
Să se determine polinomul de interpolare Lagrange P (f ; 0, 4, 12; x) utilizând algoritmul
Neville.

Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că

10x − 6(x − 4)
P22 (x) = = x + 6,
4
6(x − 4) − 10(x − 12) x
P23 (x) = = − + 12
8 2
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + +6
8 2

Formula lui Newton de reprezentare a polinomului de interpolare

Se consideră:

• n ∈ N∗ ;

• x1 , x2 , . . . , xn ∈ R un sistem de puncte (noduri);

• m ∈ N∗ numărul de puncte distincte;

• y1 , y2 , . . . , ym ∈ R punctele distincte ale sistemului;

• n1 , n2 , . . . , nm ∈ N∗ ordinele de multiplicitate ale punctelor distincte în sistem;

• zij ∈ R cu 1 ≤ i ≤ m, 0 ≤ j ≤ ni − 1 familie de elemente reale.

5
Spunem că aceste elemente definesc un sistem de date notat cu (SH).
Se numeşte polinom de interpolare Hermite ataşat sistemului de date (SH) un
polinom P ∈ R[x] cu următoarele proprietăţi:
1) grad P ≤ n − 1;
2) P (j) (yi ) = zij pentru orice 1 ≤ i ≤ m, 0 ≤ j ≤ ni − 1.
Polinomul de interpolare Hermite ataşat sistemului dedate (SH) există şi este unic.
Fie I un interval real ce conţine punctele x1 , . . . , xn şi f : I → R o funcţie de ni − 1
ori derivabilă în yi pentru orice 1 ≤ i ≤ m. Luăm zij := f (j) (yi ), ∀ 1 ≤ i ≤ m, 0 ≤
j ≤ ni − 1. Polinomul de interpolare Hermite ataşat acestui sistem de date se numeşte
polinom de interpolare asociat funcţiei f şi sistemului de date (SH). Notăm valoarea
acestui polinom într-un punct x din I cu P (f ; x1 , x2 , . . . , xn ; x).
Se numeşte diferenţă divizată a funcţiei f relativă la sistemul de noduri x1 , x2 , . . . , xn
coeficientul lui xn−1 din reprezentarea canonică a polinomului de interpolare P (f ; x1 , x2 , . . . , xn ; x).
Notăm diferenţa divizată cu f (x1 , x2 , . . . , xn ). Diferenţele divizate se calculează cu aju-
torul următoarelor formule:
Pentru n ≥ 2 şi x1 = xn
f (x2 , . . . , xn ) − f (x1 , . . . , xn−1 )
f (x1 , x2 , . . . , xn ) = ,
xn − x1
iar
f (n−1) (a)
f(a, a, . . . , a) = . (8)
 
(n − 1)!
n ori

Următoarea egalitate este formula lui Newton de reprezentare a polinomului de


interpolare:
n
 i−1

P (f ; x1 , x2 , . . . , xn ; x) = f (x1 ) + f(x1 , x2 , . . . , xi ) (x − xj ).
i=2 j=1

Fie f : I → R o funcţie de n ori derivabilă pe I. Atunci


n
1 (n) 

|f (x) − P (f ; x1 , x2 , . . . , xn ; x)| ≤ · max f (x) · (x − xi ) , ∀x ∈ I.
n! x∈I
i=1

6
Algoritm:
Notăm cu aij diferenţele divizate f (xj−i+1 , . . . , xj−1, xj ), ∀ i ∈ {2, . . . , n}, ∀ j ∈
n
i−1

{i, . . . , n} si cu ci = aii . Atunci P (x) := P (f ; x1 , x2 , . . . , xn ; x) = c1 + ci (x − xj )
i=2 j=1

Pentru i ∈ 1, n luăm a1i = f (xi ) si c1 = a1 .


ai−1:j − ai−1:j−1
Apoi pentru i = 2, n, calculăm diferenţele divizate aij = ∀ j = i, n
xj − xj−i+1
si luam ci = aii .
Polinomul P în punctul x îl putem calcula cu o schemă de tip Horner astfel:
Are loc descompunerea:

P = [. . . [[[cn](x − xn−1 ) − cn−1 ](x − xn−2 ) + cn−2 ](x − xn−3 ) + · · ·

· · · + c2 ](x − x1 ) + c1

Rezultă schema de calcul:

P = cn ; P = P · (x − xn−1 ) + cn−1 ; P = P · (x − xn−2 ) + cn−2 ; . . . ; P = P · (x − x1 ) + c1

deci

• P := cn ;

• pentru i = n − 1 până la 1 luăm P = P · (u − xi ) + ci ;


Exemplul -1.4 Fie funcţia f : [0, 4] → R cu f (x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 4].
Utilizând formula de reprezentare Newton să se determine polinomul de interpolare
Hermite P (x) = P (f ; 0, 0, 0, 4, 4; x). Se se evalueze eroarea |f (x) − P (x)|.

Avem x1 = x2 = x3 = 0, x4 = x5 = 4. Din formula de reprezentare Newton avem:

P (f ; 0, 0, 0, 4, 4; x) = f(0) + f (0, 0)x + f(0, 0, 0)x2 +

+f (0, 0, 0, 4)x3 + f(0, 0, 0, 4, 4)x3 (x − 4)

7
Vom calcula diferenţele divizate cu formulele de recurenţă date de (8). Calculele le
vom organiza într-un tabel de forma:

nod d.d. d.d. d.d. d.d. d.d.


1n 2n 3n 4n 5n
x1 f (x1 ) f(x1 , x2 ) f(x1 , x2 , x3 ) f (x1 , x2 , x3 , x4 ) f(x1 , . . . , x5 )
x2 f (x2 ) f(x2 , x3 ) f(x2 , x3 , x4 ) f (x2 , x3 , x4 , x5 )
x3 f (x3 ) f(x3 , x4 ) f(x3 , x4 , x5 )
x4 f (x4 ) f(x4 , x5 )
x5 f (x5 )

(am notat cu "d.d.kn " diferenţe divizate asociate la k noduri).



Cum f (x) = 6 2x + 1 − 2x = 6(2x + 1)1/2 − 2x, rezultă că f  (x) = 6(2x + 1)−1/2 −
2 şi f  (x) = −6(2x + 1)−3/2 . Atunci f(0) = 6, f (4) = 10, f (0, 0) = f  (0) = 4,
f (0, 4) = (f(4) − f (0))/(4 − 0) = 1, f (4, 4) = f  (4) = 0, f(0, 0, 0) = 12 f  (0) = −3,
f (0, 0, 4) = (f(0, 4) − f (0, 0))/(4 − 0) = −3/4 etc.. Rezultă următorul tabel în cazul
datelor problemei:
nod 1n 2n 3n 4n 5n
0 6 4 −3 9/16 −7/64
0 6 4 −3/4 2/16
0 6 1 −1/4
4 10 0
4 10
Atunci (cu formula de reprezentare Newton) avem

9 3 7
P (f ; 0, 0, 0, 4, 4; x) = 6 + 4x − 3x2 + x − x3 (x − 4).
16 64

Din formula de evaluare a erorii rezultă că

M5 3
|f (x) − P (f ; 0, 0, 0, 4, 4; x)| ≤ |x (x − 4)2 | ∀ x ∈ [0, 4],
5!
8
unde M5 = sup |f (5) (x)|. Avem f (3) (x) = 18(2x + 1)−5/2 , f (4) (x) = −90(2x + 1)−7/2 ,
x∈[0,4]
f (5) (x) = 630(2x + 1)−9/2 . Cum f (6) (x) = −630 · 9(2x + 1)−11/2 < 0, rezultă că f (5) este
descrescătoare şi cum f (5) (x) > 0 ∀ x ∈ [0, 4] rezultă că M5 = f (5) (0) = 630. Atunci

630 3 21
|f(x) − P (x)| ≤ |x (x − 4)2 | = x3 (x − 4)2 , ∀ x ∈ [0, 4]. 
120 4

Interpolare Cebâşev

În cele ce urmează ne propunem să diminuăm eroarea la interpolarea polinomială


Lagrange pe un interval dat [a, b] în cazul unui număr dat n ∈ N ∗ de noduri prin
alegerea unor "noduri optimale". Definim "nodurile optimale" y1 , y2 , . . . , yn prin re-
laţia:
n
 n

sup |x − yi | ≤ sup |x − xi |, (9)
x∈[a,b] i=1 x∈[a,b] i=1

pentru orice puncte x1 , x2 , . . . , xn din [a, b]. În continuare vVom construi aceste "noduri
optimale".
Funcţia Tn : R → R dată de Tn (x) = cos(n arccos x) este un polinom de gradul n
şi are n rădăcini distincte situate în intervalul [−1, 1].
Fie n ∈ N ∗ şi a < b ∈ R. Notăm
 n  
b−a 2x − a − b
Pn (x) = 2 Tn ∀ x ∈ [a, b] (10)
4 b−a

Atunci
sup |Pn (x)| ≤ sup |Q(x)|,
x∈[a,b] x∈[a,b]

pentru orice polinom Q monic de grad n.


"Nodurile optimale", pe un interval dat [a, b], la interpolarea polinomială Lagrange
cu n puncte, sunt:
 
b−a (2i − 1)π b+a
yi = cos + ∀ i ∈ 1, n.
2 2n 2

9
Formula lui Newton de interpolare ascendentă

Fie I un interval real, familia (xj )j∈Z o reţea de noduri (reale) echidistante cu pasul
x − x0
h definită prin x0 ∈ I şi xj = x0 + jh, ∀ j ∈ N. Notăm q := unde x ∈ I.
h
n−1

Pentru x ∈ I şi n ∈ N∗ notăm Anx = (x − j) numite aranjamente generalizate şi
j=0
An
Cxn = x numite combinări generalizate. Prin convenţie luăm A0x = 1 şi Cx0 = 1.
n!
Fie f : I → R o funcţie, x ∈ I şi h > 0 un număr real. Numim diferenţă
nedivizată ascendentă a funcţiei f în punctul x, corespunzătoare pasului h
(şi o notăm cu ∆h f (x)), expresia:

∆h f (x) := f (x + h) − f(x).

Fie n ∈ N∗ . Numim diferenţă nedivizată ascendentă de ordin n a funcţiei f în


punctul x, corespunzătoare pasului h (şi o notăm cu ∆nh f (x)) compunerea:

∆nh f (x) := ∆n−1


h (∆h f (x)),

unde, prin convenţie, ∆0hf (x) = f(x), iar ∆1h = ∆h .


Cu datele şi notaţiile anterioare este adevărată egalitatea
n

P (f ; x0 , x1 , . . . , xn ; x) = Cqi ∆ihf (x0 ),
i=0

numită formula lui Newton de interpolare ascendentă.

Exemplul -1.5 Să se determine, folosind formula de interpolare Newton ascendentă,


polinomul Lagrange ataşat datelor: n = 3, x0 = 4, h = 2 (de unde x1 = 6, x2 = 8,
x3 = 10) şi f : R → R o funcţie continuă cu f (x0 ) = 1, f (x1 ) = 3, f (x2 ) = 8,
f (x3 ) = 20 şi să se estimeze valoarea funcţiei f în punctul x = 7.

10
Organizăm calculul diferenţelor nedivizate ascendente în tabelul următor:

k xk f (xk ) ∆1h f(xk ) ∆2hf (xk ) ∆3h f (xk )


0 4 1 2 3 4
1 6 3 5 7
2 8 8 12
3 10 20

(De exemplu ∆1h f (x0 ) = ∆h f (x0 ) = f(x1 )−f(x0 ) = 3−1 = 2, ∆2hf (x0 ) = ∆1h ∆h f (x0 ) =
∆h f (x1 ) − ∆h f (x0 ) = ∆1hf (x1 ) − ∆1h f (x0 ) = 5 − 2 = 3, etc.) Atunci ∆0hf (x0 ) = 1,
∆1h f (x0 ) = 2, ∆2hf (x0 ) = 3, ∆3h f(x0 ) = 4.
x − x0 x−4 x−4
Fie x ∈ R Avem q = = şi atunci Cq0 = 1, Cq1 = q = , Cq2 =
h 2 2
q(q − 1) (x − 4)(x − 6) q(q − 1)(q − 2) (x − 4)(x − 6)(x − 8)
= , Cq3 = = . Rezultă
2 8 6 48
că: P (f ; x0 , x1 , x2 , x3 ; x) =
3
 3 4
Cqi ∆ihf (x0 ) = 1 + (x − 4) + (x − 4)(x − 6) + (x − 4)(x − 6)(x − 8)
i=0
8 48

şi deci
9 1 39
P (f ; x0 , x1 , x2 , x3 ; 7) = 1 + 3 + − = = 4.875 .
8 4 8

Formula lui Newton de interpolare descendentă

Cu notaţiile de la secţiunea anterioară, fie f : I → R o funcţie, x ∈ I şi h > 0 un


număr real. Numim diferenţă nedivizată descendentă a funcţiei f în punctul
x, corespunzătoare pasului h (şi o notăm cu ∇h f(x)), expresia:

∇h f (x) := f (x) − f (x − h).

Fie n ∈ N∗ . Numim diferenţă nedivizată descendentă de ordinul n a funcţiei


f în punctul x, corespunzătoare pasului h (şi o notăm cu ∇nh f (x)) compunerea:

∇nh f (x) := ∇n−1


h (∇h f (x)),

11
unde, prin convenţie, ∇0h f (x) = f (x), iar ∇1h = ∇h .. Atunci este adevărată egalitatea
n

P (f ; x0 , x−1 , . . . , x−n ; x) = (−1)i C−q
i
∇ih f(x0 ),
i=0

numită formula lui Newton de interpolare descendentă.

Exemplul -1.6 Să se determine, folosind formula de interpolare Newton descendentă,


polinomul Lagrange ataşat datelor: n = 3, x0 = 10, h = 2 (de unde x−1 = 8, x−2 = 6,
x−3 = 4) şi f : R → R o funcţie continuă cu f(x0 ) = 20, f (x−1 ) = 8, f(x−2 ) = 3,
f (x−3 ) = 1 şi să se estimeze valoarea funcţiei f în punctul x = 7.

Organizăm calculul diferenţelor nedivizate descendente în tabelul următor:

k xk f (xk ) ∇1h f (xk ) ∇2hf (xk ) ∇3h f (xk )


0 10 20 12 7 4
−1 8 8 5 3
−2 6 3 2
−3 4 1

(De exemplu ∇1h f (x0 ) = ∇h f(x0 ) = f (x0 ) − f (x−1 ) = 20 − 8 = 12, ∇2h f(x0 ) =
∇1h ∇h f (x0 ) = ∇h f (x0 ) − ∇h f (x−1 ) = ∇1hf (x0 ) − ∇1h f (x−1 ) = 12 − 5 = 7, etc.) Atunci
∇0h f (x0 ) = 20, ∇1h f(x0 ) = 12, ∇2h f (x0 ) = 7, ∇3h f (x0 ) = 4.
x − x0 x − 10
Fie x ∈ R. Avem q = = şi atunci
h 2
1 x − 10 −q(−q − 1) (x − 10)(x − 8)
0
C−q = 1, C−q = −q = − , C−q
2
= = , C−q
3
=
2 2 8
−q(−q − 1)(−q − 2) (x − 10)(x − 8)(x − 6)
= . Rezultă că:
6 48
3

P (f ; x0 , x−1 , x−2 , x−3 ; x) = (−1)i C−q
i
∇ih f (x0 ) =
i=0

12 7 4
= 20 + (x − 10) + (x − 10)(x − 8) + (x − 10)(x − 8)(x − 6)
2 8 48
şi deci
21 1 39
P (f ; x0 , x−1 , x−2 , x−3 ; 7) = 20 − 18 + + = = 4.875 .
8 4 8

12
Formula de interpolare Gauss înainte

Fie f : I → R o funcţie, x ∈ I şi h > 0 un număr real. Numim diferenţă


nedivizată centrală a funcţiei f în punctul x corespunzătoare pasului h (şi o
notăm cu δ hf (x)), expresia:
   
h h
δ hf (x) := f x + −f x− .
2 2

Fie n ∈ N ∗ . Numim diferenţă nedivizată centrală de ordinul n a funcţiei f în


punctul x, corespunzătoare pasului h (şi o notăm cu δnh f (x)) compunerea:

δ nh f (x) := δn−1
h (δ h f (x)),

unde, prin convenţie, δ 0h f (x) = f (x), iar δ 1h f (x) = δ h f (x).


Atunci este adevărată egalitatea

P (f; x−n . . . , x−1 , x0 , x1 . . . , xn ; x) =


n

2i−1 2i−1
= f(x0 ) + (Cq+i−1 2i
δ h f(x1/2 ) + Cq+i−1 δ 2i
h f (x0 ))
i=1

1
(unde x1/2 = x + h), numită formula de interpolare Gauss înainte.
2

Exemplul -1.7 Să se determine, folosind formula de interpolare Gauss înainte, poli-
nomul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,
x1 = 8, x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1,
f (x0 ) = 3, f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul
x = 7.

Printr-un calcul elementar, se arată că, pentru orice i = 1, 2:

δ h2i−1 f (x1/2 ) = ∆h2i−1 f (x−i+1 ) şi δ 2i 2i


h f(x0 )) = ∆h f (x−i )).

13
Atunci: P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
2

2i−1
f (x0 ) + (Cq+i−1 ∆2i−1
h
2i
f(x−i+1 ) + Cq+i−1 ∆2i
h f(x−i )) =
i=1

= f (x0 ) + Cq1 ∆1h f (x0 ) + Cq2 ∆2hf (x−1 ) + Cq+1


3
∆3h f (x−1 ) + Cq+1
4
∆4h f(x−2 ).

Organizăm calculul diferenţelor finite ascendente în tabelul următor:

k xk f (xk ) ∆1h f (xk ) ∆2h f(xk ) ∆3hf (xk ) ∆4hf (xk )


−2 2 −2 3 −1 4 0
−1 4 1 2 3 4
0 6 3 5 7
1 8 8 12
2 10 20

Avem: f (x0 ) = 3, ∆1h f(x0 ) = 5, ∆2hf (x−1 ) = 3, ∆3h f (x−1 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 q(q − 1) (x − 6)(x − 8)
q = rezultă că Cq1 = q = , Cq2 = = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48
P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
x−6 (x − 6)(x − 8) (x − 4)(x − 6)(x − 8)
=3+5 +3 +4
2 8 48
şi
5 3 1 39
f(7)  P (f ; x−2 , x−1 , x0 , x1 , x2 ; 7) = 3 + − − = = 4.875 .
2 8 4 8
Formula de interpolare Gauss înapoi

Cu notaţiile din secţiunea anterioară este adevărată egalitatea:

P (f; x−n . . . , x−1 , x0 , x1 . . . , xn ; x) =


n

2i−1 2i−1 2i 2i
= f (x0 ) + (Cq+i−1 δ h f (x−1/2 ) + Cq+i δ h f (x0 ))
i=1
1
(unde x−1/2 = x0 − h), numită formula de interpolare Gauss înapoi.
2
14
Exemplul -1.8 Să se determine, folosind formula de interpolare Gauss înapoi, polino-
mul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4, x1 = 8,
x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1, f (x0 ) = 3,
f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul x = 7.

Printr-un calcul elementar, se arată că, pentru orice i = 1, 2:

δ h2i−1 f (x1/2 ) = ∆h2i−1 f (x−i+1 ) şi δ 2i 2i


h f(x0 )) = ∆h f (x−i )).

Atunci: P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =


2

2i−1
f(x0 ) + (Cq+i−1 ∆2i−1
h
2i
f (x−i ) + Cq+i ∆2i
h f(x−i )) =
i=1

= f (x0 ) + Cq1 ∆1h f (x−1 ) + Cq+1


2
∆2h f(x−1 ) + Cq+1
3
∆3h f (x−2 ) + Cq+2
4
∆4h f (x−2 ).

Organizăm calculul diferenţelor finite ascendente în tabelul următor:

k xk f (xk ) ∆1h f (xk ) ∆2h f(xk ) ∆3hf (xk ) ∆4hf (xk )


−2 2 −2 3 −1 4 0
−1 4 1 2 3 4
0 6 3 5 7
1 8 8 12
2 10 20

Avem: f (x0 ) = 3, ∆1h f (x−1 ) = 2, ∆2h f (x−1 ) = 3, ∆3hf (x−2 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 (q + 1)q (x − 4)(x − 6)
q = , rezultă că Cq1 = q = , Cq+1
2
= = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48

P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =

x−6 (x − 4)(x − 6) (x − 4)(x − 6)(x − 8)


=3+2 +3 +4
2 8 48
15
şi
9 1 39
f(7)  P (f ; x−2 , x−1 , x0 , x1 , x2 ; 7) = 3 + 1 + − = = 4.875 . 
8 4 8

Interpolare cu funcţii spline cubice

Fie I = [a, b] ⊂ R, ∆n = (a = x1 < x2 < . . . < xn = b) o diviziune a intervalului


[a, b] şi fi ∈ R , i = 1, n pentru n ∈ N  .
Se numeşte funcţie spline cubică, corespunzătoare diviziunii ∆n o funcţie s :
[a, b] −→ R care satisface condiţiile:




 i) s|[xi ,xi+1 ] este polinom de gradul trei pentru i = 1, n − 1





ii) s ∈ C 2 ([a, b]) .
Se notează cu S3 (∆n ) mulţimea funcţiilor spline cubice, corespunzătoare diviziunii ∆n .
Funcţia spline cubică asociată sistemului de puncte (xi , fi )i=1,n este o funcţie
cubică corespunzătoare diviziunii ∆n , s : [a, b] → R, cu proprietatea

s (xi ) = fi , i = 1, n .

În condiţile formulate mai sus, ∀ i = 1, n − 1, funcţia s se reprezintă în mod unic


sub forma:

c3i c4i
s(x) = c1i +c2i (x − xi )+ (x − xi )2 + (x − xi )3 , ∀x ∈ [xi , xi+1 ], (11)
2 6

unde 

 c1i = fi ,





 c2i = si ,

  

 1 fi+1 − fi
c3i = 6 − (4si + 2si+1 ) , (12)
 xi+1 − xi xi+1 − xi







  

 6 fi+1 − fi
 c4i = (si + si+1 ) − 2 − ,
(xi+1 − xi )2 xi+1 − xi

16
iar s1 , . . . , sn sunt soluţiile sistemului:

(xi+1 − xi ) si−1 + 2 (xi+1 − xi−1 ) si + (xi − xi−1 ) si+1 =

(13)
 
fi − fi−1 fi+1 − fi
3 (xi+1 − xi ) + (xi − xi−1 ) , i = 2, n − 1 .
xi − xi−1 xi+1 − xi

Pentru determinarea unică a spline-ului cubic, sistemul (12) trebuie completat cu


condiţii la capete. De exemplu, putem presupune că sunt cunoscute valorile pentru
 
s (x1 ) şi s (xn ):
 
s (x1 ) = α , s (xn ) = β , (14)
 
sau că sunt cunoscute valorile pentru s (x1 ) şi s (xn ):

 
s1 = s (x1 ) = α , sn = s (xn ) = β . (15)

Relaţiile (14) sunt echivalente cu:


 f2 − f1 α

 2s1 + s2 = 3 − (x2 − x1 )

 x2 − x1 2




 sn−1 + 2sn = 3 fn − fn−1 + β (xn − xn−1 ) .

xn − xn−1 2

Remarcă. Din (13) şi (??) sau din (13) şi (15) din se pot determina s1 , . . . , sn ,
apoi din (12) se determină c1i , c2i , c3i , c4i pentru i = 1, n − 1 şi deci, conform cu
(11), funcţia s este cunoscută pe [a, b]. Pentru f : [a, b] → R de două ori derivabilă
determinăm funcţia spline cubică de interpolare asociată diviziunii ∆n şi functiei f,
adică, o functie spline cubica s ∈ S3 (∆n) cu proprietăţile s(xi ) = f(xi ), ∀ i ∈ 1, n şi

   
s (a) = f (a) şi s (b) = f (b) .

   
sau s (a) = f (a) şi s (b) = f (b) .

17
Derivare numerică

Derivarea numerică constă în aproximarea derivatelor de un anumit ordin ale unei


funcţii, printr-o combinaţie liniară de valori ale funcţiei în anumite puncte.
Formule pentru derivata de ordinul I
Fie f : R → R o funcţie derivabilă, x0 ∈ R şi h > 0 un număr real numit pas.
Atunci
f (x0 + h) − f(x0 )
f  (x0 ) = + R(f), (1)
h
unde, dacă f ∈ C 2 ([x0 , x0 + h]), restul R(f) poate fi evaluat prin

h
|R(f )| ≤ · max |f  (x)| .
2 x∈[x0 ,x0 +h]

f (x0 ) − f(x0 − h)
f  (x0 ) = + R(f ), (2)
h
unde, dacă f ∈ C 2 ([x0 − h, x0 ]), restul R(f ) poate fi evaluat prin

h
|R(f )| ≤ · max |f  (x)| .
2 x∈[x0 −h,x0 ]

Formulele de derivare (1) @si (2) sunt exacte pe mulţimea polinoamelor de gradul 1.

f (x0 + h) − f(x0 − h)
f  (x0 ) = + R(f), (3)
2h

unde, dacă f ∈ C 3 ([x0 − h, x0 + h]), restul R(f) poate fi evaluat prin

h2
|R(f )| ≤ · max |f  (x)| .
6 x∈[x0 −h,x0 +h]

Formula de derivare numerică anterioară se poate generaliza astfel:

h21 f (x0 + h2 ) + (h22 − h21 )f (x0 ) − h22 f (x0 − h1 )


f  (x0 ) ,
h1 h2 (h1 + h2 )

unde h1 , h2 sunt numere reale pozitive.

−3f(x0 ) + 4f (x0 + h) − f (x0 + 2h)


f  (x0 ) = + R(f), (4)
2h
1
unde, dacă f ∈ C 3 ([x0 , x0 + 2h]), restul R(f ) poate fi evaluat prin

h2
|R(f )| ≤ · max |f  (x)| .
3 x∈[x0 ,x0 +2h]

Formulele de derivare (3) @si (4) sunt exacte pe mulţimea polinoamelor de gradul 2.

−11f (x0 ) + 18f(x0 + h) − 9f (x0 + 2h) + 2f (x0 + 3h)


f  (x0 ) = + R(f ), (5)
6h

unde, dacă f ∈ C 4 ([x0 , x0 + 3h]), restul R(f ) poate fi evaluat prin

h3  
|R(f )| ≤ · max f (4) (x)
18 x∈[x0 ,x0 +3h]

Formula de derivare (5) este exactă pe mulţimea polinoamelor de gradul 3.

f (x0 − 2h) − 8f (x0 − h) + 8f (x0 + h) − f(x0 + 2h)


f  (x0 ) = + R(f), (6)
12h

unde, dacă f ∈ C 5 ([x0 − 2h, x0 + 2h]), restul R(f ) poate fi evaluat prin

2h4  (5) 
f (x) .
|R(f)| ≤ · max
5 x∈[x0 −2h,x0 +2h]

Formula de derivare (6) este exactă pe mulţimea polinoamelor de gradul 4.


bf Formule pentru derivata de ordinul II
Fie f : R → R o funcţie de două ori derivabilă, x0 ∈ R şi h > 0 un număr real
numit pas. Atunci

f (x0 ) − 2f (x0 + h) + f (x0 + 2h)


f  (x0 ) = + R(f ), (7)
h2

unde, dacă f ∈ C 3 ([x0 , x0 + 2h]), restul R(f ) poate fi evaluat prin

|R(f )| ≤ h · max |f  (x)| .


x∈[x0 ,x0 +2h]

Formula de derivare (6) este exactă pe mulţimea polinoamelor de gradul 2.

f  (x0 ) = R(f )+

2
−f (x0 − 2h) + 16f (x0 − h) − 30f(x0 ) + 16f (x0 + h) − f (x0 + 2h)
, (8)
12h2
unde, dacă f ∈ C 5 ([x0 − 2h, x0 + 2h]), restul R(f ) poate fi evaluat prin
h3  (5) 
f x) .
|R(f )| ≤ · max
5 x∈[x0 −2h,x0 +2h]
Formula de derivare (6) este exactă pe mulţimea polinoamelor de gradul 4.

Exemplul -1.1 Să se aproximeze derivatele de ordinul I şi ordinul II ale funcţiei
f (x) = e−x sin(x) în punctul x0 = 1, cu metodele prezentate mai sus, luând pentru
pasul h valorile 0.1; 0.01; 0.001; 0.0001.

Cu formula de derivare (1) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.1290271591; h =


0.01 ⇒ f  (x0 ) −0.1127645338; h = 0.001 ⇒ f  (x0 ) −0.1109923614; h = 0.0001 ⇒
f  (x0 ) −0.1108136394.
Cu formula de derivare (2) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.0891707946, h =
0.01 ⇒ f  (x0 ) −0.1087891083, h = 0.001 ⇒ f  (x0 ) −0.1105948299, h = 0.0001 ⇒
f  (x0 ) −0.1107738899.
Cu formula de derivare (3) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.1090989768, h =
0.01 ⇒ f  (x0 ) −0.1107768211, h = 0.001 ⇒ f  (x0 ) −0.1107935957, h = 0.0001 ⇒
f  (x0 ) −0.1107937646.
Cu formula de derivare (4) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.1138788298, h =
0.01 ⇒ f  (x0 ) −0.1108273447, h = 0.001 ⇒ f  (x0 ) −0.1107941027, h = 0.0001 ⇒
f  (x0 ) −0.1107937669.
Cu formula de derivare (4) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.1138788298, h =
0.01 ⇒ f  (x0 ) −0.1108273447, h = 0.001 ⇒ f  (x0 ) −0.1107941027, h = 0.0001 ⇒
f  (x0 ) −0.1107937669.
Cu formula de derivare (5) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.1110871310, h =
0.01 ⇒ f  (x0 ) −0.1107940736, h = 0.001 ⇒ f  (x0 ) −0.1107937643, h = 0.0001 ⇒
f  (x0 ) −0.1107937699.

3
Cu formula de derivare (6) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.1107952264, h =
0.01 ⇒ f  (x0 ) −0.1107937655, h = 0.001 ⇒ f  (x0 ) −0.1107937652, h = 0.0001 ⇒
f  (x0 ) −0.1107937669.
Valoarea exactă este f  (x0 ) = −0.1107937653.
Cu formula de derivare (7) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.3029665865, h =
0.01 ⇒ f  (x0 ) −0.3874378126, h = 0.001 ⇒ f  (x0 ) −0.3965174074, h = 0.0001 ⇒
f  (x0 ) −0.3974491847.
Cu formula de derivare (8) se obţin rezultatele: h = 0.1 ⇒ f  (x0 ) −0.3975339923, h =
0.01 ⇒ f  (x0 ) −0.3975322253, h = 0.001 ⇒ f  (x0 ) −0.3975308497, h = 0.0001 ⇒
f  (x0 ) −0.3974643429.
Valoarea exactă este f  (x0 ) = −0.3975322207.

Derivare numerică obţinută prin interpolare


Fie f : [a, b] → R, n ∈ N∗ , x1 , . . . , xn puncte distincte din [a, b]. Presupunem
că f este derivabilă. Se numeşte derivare numerică obţinută prin interpolare a lui f
aproximarea lui f  (x) prin P  (f ; x1 , . . . , xn ; x), ∀x ∈ [a, b].

Din formula de reprezentare a lui Newton avem:


n
 i−1

P (f ; x1 , . . . , xn ; x) = f(x1 ) + f (x1 , . . . , xi ) · (x − xj ).
i=2 j=1

Rezultă că:
n
 i−1 i−1

  
P  (f ; x1 , . . . , xn ; x) = f (x1 , x2 ) + f (x1 , . . . , xi ) · (x − xk ) ,
i=3 j=1 k=1, k=j

∀ (n ≥ 3). Pentru calculul diferenţelor divizate se foloseşte algoritmul Neville: fie,


prin notaţie, Fij = f [xj−i+1 , . . . , xj−1, xj ]. Atunci Fij satisfac relaţiile de recurenţă:
Fi−1:j − Fi−1:j−1
F1i = f (xi ), ∀ i ∈ 1, n şi Fij = , ∀ i ∈ {2, . . . , n}, ∀ j ∈ {i, . . . , n},
xj − xj−i+1
deci f(x1 , . . . , xi ) = Fii , ∀i ∈ {2, . . . , n} .

4
Cuadraturi numerice

Fie [a, b] ⊂ R, x1 , x2 , . . . , xn puncte distincte din [a, b] şi f : [a, b] → R o funcţie


continuă. Se numeşte formulă de cuadratură egalitatea
n

σ(f ) = ci f(xi ), unde ci ∈ R, ∀ i = 1, n.
i=1

b
Se numeşte integrare numerică aproximarea integralei f (x)dx cu σ(f).
a
Fie k ∈ N ∗ , h = (b − a)/k, xi = a + ih, ∀ i ∈ 0, k. Dacă σ i (f ) este o formulă
de cuadratură a funcţiei f pe intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1, atunci se defineşte
formula de cuadratură sumată
k−1

(k)
σ (f ) = σ i (f ).
i=0

Cuadraturi închise
Formula de cuadratură a trapezului

Formula de cuadratură a trapezului este


b
σ(f ) = P (f ; a, b; x) dx.
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem

f (b) − f(a)
P (f ; a, b; x) = f (a) + f (a, b)(x − a) = f (a) + (x − a).
b−a

Atunci
b  
f (b) − f (a)
σ(f ) = f (a) + (x − a) dx =
b−a
a

f(b) − f (a) (b − a)2


= (b − a)f (a) + · =
b−a 2
b−a
= · (f (a) + f (b)) .
2
1
Dacă f ∈ C 2 ([a, b]), din formula de evaluare a erorii la interpolare, avem

1
|f(x) − P (f; a, b; x)| ≤ |(x − a)(x − b)| · max |f  (x)| , ∀ x ∈ [a, b].
2 x∈[a,b]

Atunci  b   b 
   
   
 f (x)dx − σ(f ) =  (f (x) − P (f ; a, b; x)) dx ≤
   
   
a a

b b
1
≤ |f (x) − P (f; a, b; x)| dx ≤ max |f  (x)| · (x − a)(b − x)dx =
2 x∈[a,b]
a a
3 3
1 (b − a) (b − a)
= max |f 
(x)| · = · max |f  (x)| .
2 x∈[a,b] 6 12 x∈[a,b]

Formula de cuadratură a trapezului sumată este:


k−1 k−1
(k) 1 b−a
σ T (f ) = (xi+1 − xi )(f (xi ) + f (xi+1 )) = (f (xi ) + f(xi+1 )),
2 i=0 2k i=0

pentru care, dacă f ∈ C 2 ([a, b]), avem evaluarea erorii:


 b  x 
   k−1  i+1 
 (k)
   (b − a)3
 f (x)dx − σ (f ) ≤
 T 

 f (x)dx − σ i (f ) ≤
 2
· max |f  (x)| ,
  i=0   12k x∈[a,b]
a xi

unde σ i (f) este formula de cuadratură a trapezului, aplicată funcţiei f pe intervalul


[xi , xi+1 ], ∀ i ∈ 0, k − 1

Exemplul -1.1 Folosind formula de cuadratură a trapezului sumată, să se aproximeze


calculul integralei
2
1 + ln x
I= dx
x
1

pentru k = 5, k = 10, k = 50 şi k = 100, evaluând şi eroarea comisă.

2
Se obţin următoarele rezultate:

(k)
k σ D (f ) eroarea
5 0.9328067513 0.0033333333
10 0.9332299640 0.0008333333
50 0.9333679124 0.0000333333
100 0.9333722435 0.0000083333

În stabilirea erorii am ţinut seama de max |f  (x)| = 1. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0.9333736875 .

Exemplul -1.2 Să se determine numărul minim de subintervale k în care trebuie îm-
părţit intervalul [0, 1], pentru ca, folosind formula trapezului sumată, să putem calcula
integrala
1
ex
I= dx
x+1
0

cu o eroare mai mică de 10−5 .

3e
Avem sup |f  (x)| = . Din formula de evaluare a erorii rezultă că
x∈[0,1] 8

105
k≥ + 1 = 92 
12

Formula de cuadratură Simpson

Formula de cuadratură Simpson este


b  
a+b
σ(f ) = P f ; a, , b; x dx
2
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem


   
a+b a+b
P f ; a, b; x = f (a) + f a, (x − a)+
2 2

3
   
a+b a+b
+f a, , b (x − a) x − .
2 2
Atunci
b  
a+b
σ(f ) = f (a) + f a, (x − a)+
2
a
   
a+b a+b
+f a, , b (x − a) x − dx =
2 2
2(f ((a + b)/2) − f (a)) (b − a)2
= (b − a)f (a) + · +
b−a 2
2(f (b) − 2f ((a + b)/2) + f (a)) (b − a)3
+ · =
(b − a)2 12
   
b−a a+b
= · f (a) + 4f + f(b) .
6 2
Dacă f ∈ C 3 ([a, b]), din formula de evaluare a erorii la interpolare avem
  
 
f (x) − P f ; a, a + b , b; x  ≤
 2 
      
1  a+b   
≤ (x − a) x − (x − b) · max f  (x) , ∀ x ∈ [a, b].
6 2 x∈[a,b]

Atunci  b   b 
      
   a+b 
 f (x)dx − σ(f ) =  f(x) − P f ; a, , b; x dx ≤
   2 
   
a a

b   
 a + b 
≤ f(x) − P f ; a, , b; x  dx ≤
2
a

b    
1  
≤ max |f 
(x)| · (x − a) x − a + b (x − b) dx =
6 x∈[a,b]  2 
a

1 (b − a)4 (b − a)4
= max |f 
(x)| · = · max |f  (x)| .
6 x∈[a,b] 32 192 x∈[a,b]

Observaţie: Dacă f este derivabilă în punctul (a+b)/2, atunci formula de cuadratură


Simpson se poate obţine şi cu formula
b  
a+b a+b
σ(f ) = P f; a, , , b; x dx.
2 2
a

4
În acest caz, dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare, avem
  
 a + b a + b 
f (x) − P f ; a, , , b; x ≤
 2 2 
  2 
1  a+b 
  
≤ (x − a) x − (x − b) · max f (4) (x) , ∀ x ∈ [a, b].
24  2  x∈[a,b]
Atunci
 b   b 
      
   a+b a+b 
 f(x)dx − σ(f) =  f(x) − P f; a, , , b; x dx ≤
   2 2 
   
a a

b   
 a+b a+b 

≤ f (x) − P f; a, , , b; x  dx ≤
2 2
a
b    2
   
≤ max f (4) (x) · (x − a) x − a + b (x − b) dx =
x∈[a,b]  2 
a
(b − a)5  
= · max f (4) (x) .
2880 x∈[a,b]
Formula de cuadratură Simpson sumată este:
k−1    
(k) 1 xi + xi+1
σ S (f) = (xi+1 − xi ) f (xi ) + 4f + f (xi+1 ) =
6 i=0 2
k−1    
b−a xi + xi+1
= f (xi ) + 4f + f (xi+1 ) ,
6k i=0 2
pentru care, dacă f ∈ C 3 ([a, b]), avem evaluarea erorii:
 b  x 
   k−1  i+1 
 (k)
   (b − a)4
 f (x)dx − σ (f) ≤
 S 

 f(x)dx − σ i (f )≤
 3
· max |f
 (x)| ,
  i=0   192k x∈[a,b]
a xi

unde σ i (f) este formula de cuadratură Simpson, aplicată funcţiei f pe intervalul


[xi , xi+1 ], ∀ i ∈ 0, k − 1, iar dacă f ∈ C 4 ([a, b]), avem evaluara erorii:
 b  x 
   k−1  i+1 
 (k)
   (b − a)5  (4) 
 f (x)dx − σ (f) ≤  f (x)dx − σ i (f )≤ · max f (x)
 S    2880k 4 x∈[a,b]
  i=0  
a xi

unde σ i (f ) este formula de cuadratură Simpson aplicată funcţiei f pe intervalul [xi , xi+1 ],
∀ i ∈ 0, k − 1,

5
Exemplul -1.3 Folosind formula de cuadratură Simpson sumată să se aproximeze
calculul integralei
2
1 + ln x
I= dx
x
1
pentru k = 5, k = 10 şi k = 50, evaluând şi eroarea comisă.

Se obţin următoarele rezultate:


(k)
k σ D (f) eroarea
5 0.9333710349 0.0000005555
10 0.9333735173 0.0000000347
50 0.9333736875 0.0000000000
 
În stabilirea erorii am ţinut seama de max f (4) (x) = 14. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0.9333736875 .

Exemplul -1.4 Să se determine numărul minim de subintervale k în care trebuie


împărţit intervalul [0, 1], pentru ca, folosind formula Simpson sumată, să putem calcula
integrala
1
ex
I= dx
x+1
0
−5
cu o eroare mai mică de 10 .

Avem sup |f (4) (x)| = 9. Din formula de evaluare a erorii rezultă că
x∈[0,1]

105
k≥ + 1 = 5. 
320

Formula de cuadratură Hermite

Presupunem că funcţia f este derivabilă în punctele a şi b. Formula de cuadratură


Hermite este
b
σ(f ) = P (f ; a, a, b, b; x) dx.
a

6
Din formula lui Newton de reprezentare a polinomului de interpolare avem

P (f; a, a, b, b; x) =

= f (a) + f (a, a)(x − a) + f (a, a, b)(x − a)2 + f (a, a, b, b)(x − a)2 (x − b).

Atunci
b
σ(f ) = (f (a) + f (a, a)(x − a)+
a

+f (a, a, b)(x − a)2 + f (a, a, b, b)(x − a)2 (x − b))dx =


f (b)−f (a)
(b − a)2
 b−a
− f  (a) (b − a)3
= (b − a)f (a) + f (a) · + · +
2 b−a 12
f  (b) − 2 f (b)−f
b−a
(a)
+ f  (a) (b − a)4
− · =
(b − a)2 12
b−a (b − a)2 
= (f (a) + f (b)) + (f (a) − f  (b)).
2 12
Dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare avem

1    
|f (x) − P (f; a, a, b, b; x)| ≤ (x − a)2 (x − b)2  · max f (4) (x) ,
24 x∈[a,b]

∀ x ∈ [a, b]. Atunci


 b   b 
   
   
 f (x)dx − σ(f ) =  (f(x) − P (f ; a, a, b.b; x)) dx ≤
   
   
a a

b
≤ |f (x) − P (f ; a, a, b, b; x)| dx ≤
a

b
1    
≤ max f (4) (x) · (x − a)2 (x − b)2  dx =
24 x∈[a,b]
a

1  (4)  (b − a)5 (b − a)5  


= 
max f (x) ·  = · max f (4) (x) .
24 x∈[a,b] 30 720 x∈[a,b]

7
Formula de cuadratură Hermite sumată este:
k−1

(k) xi+1 − x1
σ H (f ) = (f (xi+1 ) +
i=0
2

(xi+1 − xi )2
+f (xi )) + (f
(xi+1 ) − f  (xi )) =
12
k−1
b−a (b − a)2 
= (f (xi+1 ) + f (xi )) + 2
(f (a) − f  (b)),
2k i=0 12k
pentru care avem evaluarea erorii:
 b  x 
   k−1  i+1 
 (k)
   (b − a)5  (4) 
 f (x)dx − σ (f ) ≤  f (x)dx − σ i (f ) ≤ · max f (x) ,
 H    720k 4 x∈[a,b]
  i=0  
a xi

unde σ i (f ) este formula de cuadratură Hermite, aplicată funcţiei f pe intervalul [xi , xi+1 ],
∀ i ∈ 0, k − 1.

Exemplul -1.5 Folosind formula de cuadratură Hermite sumată, să se aproximeze


calculul integralei
2
1 + ln x
I= dx
x
1

pentru k = 5, k = 10, k = 50 şi k = 100, evaluând şi eroarea comisă.

Se obţin următoarele rezultate:

(k)
k σ D (f ) eroarea
5 0, 9333843739 0, 000002222
10 0, 9333743697 0, 000000238
50 0, 9333736876 0, 0000000002
100 0, 9333736875 0, 0000000000
 
În stabilirea erorii am ţinut seama de max f (4) (x) = 14. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0, 9333736875 .

8
Exemplul -1.6 Să se determine numărul minim de subintervale k în care trebuie
împărţit intervalul [0, 1], pentru ca, folosind formula Hermite sumată, să putem calcula
integrala
1
ex
I= dx,
x+1
0

cu o eroare mai mică de 10−5 .

Avem sup |f (4) (x)| = 9. Din formula de evaluare a erorii rezultă că
x∈[0,1]


5
10
k≥ + 1 = 6. 
80

Formula de cuadratură Newton

Formula de cuadratură Newton este


b  
2a + b a + 2b
σ(f ) = P f; a, , , b; x dx.
3 3
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem


   
2a + b a + 2b 2a + b
P f; a, , , b; x = f (a) + f a, (x − a)
3 3 3
   
2a + b a + 2b 2a + b
+f a, , (x − a) x − +
3 3 3
    
2a + b a + 2b 2a + b a + 2b
+f a, , , b (x − a) x − x−
3 3 3 3
Atunci 

2a + b
f − f (a)
3 (b − a)2
σ(f ) = (b − a)f (a) + 3 · · +
b−a 2
   
a + 2b 2a + b
f − 2f + f (a)
9 3 3 (b − a)3
+ · · +
2 (b − a)2 6

9
   
a + 2b 2a + b
f (b) − 3f + 3f − f(a)
9 3 3 (b − a)4
+ · · =
2 (b − a)3 36
     
b−a a + 2b 2a + b
= f(a) + 3f + 3f + f(b) .
8 3 3
Dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare avem
  
 
f (x) − P f ; a, 2a + b , a + 2b , b; x  ≤
 3 3 
    
1  2a + b a + 2b   
≤  (x − a) x − x− (x − b) · max f (4) (x) ,
24 3 3 x∈[a,b]

∀ x ∈ [a, b]. Atunci


 b   b 
      
   2a + b a + 2b 
 f (x)dx − σ(f ) =  f(x) − P f ; a, , , b; x dx ≤
   3 3
   
a a

b   
 2a + b a + 2b 
≤ f(x) − P f; a, , , b; x  dx ≤
3 3
a
b     
1    
max f (4) (x) · (x − a) x − 2a + b x −
a + 2b
(x − b) dx =
24 x∈[a,b]  3 3 
a

1   (b − a)5 (b − a)5  
= max f (4) (x) · = · max f (4) (x) .
24 x∈[a,b] 270 6480 x∈[a,b]
(k)
Formula de cuadratură Newton sumată este: σ N (f ) =
k−1
      
xi+1 − x1 2xi+1 + xi xi+1 + 2xi
f (xi+1 ) + 3f + 3f + f (xi ) =
i=0
8 3 3
k−1      
b−a 2xi+1 + xi xi+1 + 2xi
= f (xi+1 ) + 3f + 3f + f (xi ) ,
8k i=0 3 3
pentru care, dacă f ∈ C 4 ([a, b]), avem evaluarea erorii:
 b  x 
   k−1  i+1 
 (k)
   (b − a)5  (4) 
 f (x)dx − σ (f ) ≤  f (x)dx − σ i (f )≤ · max f (x) ,
 N    6480k 4 x∈[a,b]
  i=0  
a xi

unde σ i (f ) este formula de cuadratură Newton, aplicată funcţiei f pe intervalul [xi , xi+1 ],
∀ i ∈ 0, k − 1.

10
Exemplul -1.7 Folosind formula de cuadratură Newton sumată, să se aproximeze
calculul integralei
2
1 + ln x
I= dx
x
1

pentru k = 5, k = 10 şi k = 50, evaluând şi eroarea comisă.

Se obţin următoarele rezultate:

(k)
k σ D (f ) eroarea
5 0, 9333725034 0, 000000249
10 0, 9333736118 0, 000000015
50 0, 9333736875 0, 0000000000
 
În stabilirea erorii am ţinut seama de max f (4) (x) = 1. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0, 9333736875 .

Exemplul -1.8 Să se determine numărul minim de subintervale k, în care trebuie


împărţit intervalul [0, 1], pentru ca, folosind formula Newton sumată, să putem calcula
integrala
1
ex
I= dx,
x+1
0

cu o eroare mai mică de 10−5 .

Avem sup |f (4) (x)| = 9. Din formula de evaluare a erorii rezultă că
x∈[0,1]


105
k≥ + 1 = 4. 
720

Cuadraturi deschise
Formula de cuadratură a dreptunghiului

11
Formula de cuadratură a dreptunghiului este

b  
a+b
σ(f ) = P f; ; x dx .
2
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem


   
a+b a+b
P f; ;x = f
2 2

Atunci
b    
a+b a+b
σ(f ) = f .dx = (b − a)f
2 2
a

Dacă f ∈ C ([a, b]), din formula de evaluare a erorii la interpolare, avem:


1

    
   
f (x) − P f ; a + b ; x  ≤ x − a + b  · max |f  (x)| , ∀ x ∈ [a, b].
 2   2  x∈[a,b]

Atunci  b   b 
      
   a+b 
 f (x)dx − σ(f ) =  f (x) − P f ; ;x dx ≤
   2
   
a a

b    b  
 a + b  
 a + b 
≤ f (x) − P f ; ; x  dx ≤ max |f (x)| · x −  dx =
2 x∈[a,b] 2 
a a
2
(b − a)
= · max |f  (x)| .
4 x∈[a,b]

Observaţie: Dacă f este derivabilă în punctul (a+b)/2, atunci formula de cuadratură


a dreptunghiului se poate obţine şi cu formula

b  
a+b a+b
σ(f ) = P f; , ; x dx.
2 2
a

În acest caz, dacă f ∈ C 1 ([a, b]), din formula de evaluare a erorii la interpolare, avem
    2
   
f (x) − P f ; a + b , a + b ; x  ≤ 1 x − a + b  · max |f  (x)| , ∀ x ∈ [a, b].
 2 2  2 2  x∈[a,b]

12
Atunci
 b   b 
      
   a+b a+b 
 f (x)dx − σ(f) =  f(x) − P f; , ; x dx ≤
   2 2 
   
a a

b    b  2
 a + b a + b  
 a + b 

≤ f(x) − P f ; ,  
; x  dx ≤ max |f (x)| · x − dx =
2 2 x∈[a,b] 2 
a a

(b − a)3
= · max |f  (x)| .
24 x∈[a,b]

Formula de cuadratură a dreptunghiului sumată este:


k−1
   k−1  
(k) xi + xi+1 b−a xi + xi+1
σ D (f ) = (xi+1 − xi )f = f ,
i=0
2 k i=0 2

pentru care, dacă f ∈ C 1 ([a, b]), avem evaluarea erorii:


 b   
  k−1  xi+1 
 (k)
    (b − a)2
 f (x)dx − σ (f ) ≤
 D 

 f (x)dx − σ i (f ) ≤
 · max |f  (x)| ,
  i=0   4k x∈[a,b]
a xi

iar dacă f ∈ C 2 ([a, b]), avem evaluarea erorii:


 b  x 
  k−1  i+1   
    (b − a)3   
 f (x)dx − σ (k) (f) ≤  f(x)dx − σ i (f ) ≤ · max f (x) ,
 D    24k x∈[a,b]
  i=0  
a xi

unde σ i (f ) este formula de cuadratură a dreptunghiului, aplicată funcţiei f pe intervalul


[xi , xi+1 ], ∀ i ∈ 0, k − 1.

Exemplul -1.9 Folosind formula de cuadratură a dreptunghiului sumată, să se aprox-


imeze calculul integralei
2
1 + ln x
I= dx
x
1

pentru k = 5, k = 10, k = 50 şi k = 100, evaluând şi eroarea comisă.

13
Se obţin următoarele rezultate:

(k)
k σ D (f ) eroarea
5 0.9336531768 0.0016666666
10 0.9334452939 0.0004166666
50 0.9333765747 0.0000166666
100 0.9333744095 0.0000041666

În stabilirea erorii am ţinut seama de max |f  (x)| = 1. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0.9333736875 .

Exemplul -1.10 Să se determine numărul minim de subintervale k în care trebuie


împărţit intervalul [0, 1], pentru ca, folosind formula dreptunghiului sumată, să putem
calcula integrala
1
ex
I= dx
x+1
0

cu o eroare mai mică de 10−5 .

Avem sup |f  (x)| = 1. Din formula de evaluare a erorii rezultă că


x∈[0,1]


105
k≥ + 1 = 65 .
24

n=2

Formula de cuadratură deschisă pentru n = 2 este


b  
2a + b a + 2b
σ(f ) = P f; , ; x dx .
3 3
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem


   
2a + b a + 2b 2a + b
P f; , ;x = f +
3 3 3

14
      
3 a + 2b 2a + b 2a + b
+ f −f x−
b−a 3 3 3
Atunci
b        b  
2a + b 3 a + 2b 2a + b 2a + b
σ(f ) = f dx + f −f x− dx =
2 b−a 3 3 3
a a
 
    
b−a
2a + b a + 2b 2a + b
= (b − a)f + f −f =
3 2 3 3
    
b−a 2a + b a + 2b
= f +f
2 3 3
Dacă f ∈ C 2 ([a, b]), din formula de evaluare a erorii la interpolare, avem:

  
 2a + b a + 2b 
f (x) − P f ; , ; x ≤
 3 3 
  
1  2a + b a + 2b 
≤ · x− x− max |f  (x)| , ∀x ∈ [a, b].
 · x∈[a,b]
2 3 3
Atunci
 b   b 
      
   2a + b a + 2b 
 f (x)dx − σ(f ) =  f(x) − P f ; , ; x dx ≤
   3 3 
   
a a

b   
 2a + b a + 2b 

≤ f(x) − P f ; , ; x  dx ≤
3 3
a

 b   
1  a + 2b 
≤ · max |f  (x)| ·  x − 2a + b x−
2 x∈[a,b]  3 3  dx =
a

11(b − a)3
= · max |f  (x)| .
324 x∈[a,b]

Formula de cuadratură deschisă sumată pentru n = 2 este:


k−1
     
(k) xi+1 − xi 2xi + xi+1 xi + 2xi+1
σ D (f) = f +f =
i=0
2 3 3

15
k−1     
b−a 2xi + xi+1 xi + 2xi+1
= f +f ,
2k i=0 3 3
pentru care, dacă f ∈ C 2 ([a, b]), avem evaluarea erorii:
 b  x 
   k−1  i+1 
    11(b − a)3
 f (x)dx − σ (k) (f ) ≤  f (x)dx − σ i (f ) ≤ · max |f  (x)| ,
 D    324k 2 x∈[a,b]
  i=0  
a xi

unde σ i (f ) este formula de cuadratură deschisa pentru n = 2, aplicată funcţiei f pe


intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1.

n=3

Formula de cuadratură deschisa pentru n = 3 este

b  
3a + b a + b a + 3b
σ(f ) = P f; , , ; x dx.
4 2 4
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem


   
3a + b a + b a + 3b 3a + b
P f; , , ;x = f +
4 2 4 4
      
4 a+b 3a + b 3a + b
+ f −f x− +
b−a 2 4 4
         
8 a + 3b a+b 3a + b 3a + b a+b
+ f − 2f +f x− x−
(b − a)2 4 2 4 4 2
Atunci
b        b  
3a + b 4 a+b 3a + b 3a + b
σ(f) = f dx + f −f x− dx+
4 b−a 2 4 4
a a
      
8 a + 3b a+b 3a + b
+ f − 2f +f ·
(b − a)2 4 2 4
b   
3a + b a+b
· x− x− dx =
4 2
a

16
      
3a + b a+b 3a + b
= (b − a)f + (b − a) f −f +
4 2 4
      
2 a + 3b a+b 3a + b
+ (b − a) f − 2f +f =
3 4 2 4
      
(b − a) 3a + b a+b a + 3b
= 2f −f + 2f
3 4 2 4
Dacă f ∈ C 3 ([a, b]), din formula de evaluare a erorii la interpolare, avem
  
 
f (x) − P f ; 3a + b , a + b , a + 3b ; x  ≤
 4 2 4 
   
1  3a + b a+b a + 3b   
≤  x− x− x−  · max f (3) (x) , ∀ x ∈ [a, b].
6 4 2 4 x∈[a,b]

Atunci
 b   b 
      
   3a + b a + b a + 3b 
 f (x)dx − σ(f) =  f(x) − P f; , , ; x dx ≤
   4 2 4 
   
a a

b   
 3a + b a + b a + 3b 

≤ f (x) − P f; , , ; x  dx ≤
4 2 4
a

 b    
1    a + 3b 
≤ · max f (3) (x) ·  x − 3a + b x−
a+b
x−
6 x∈[a,b]  4 2 4  dx =
a

1   5(b − a)4 5(b − a)4  


= · max f (3) (x) · = · max f (3) (x)
6 x∈[a,b] 256 1536 x∈[a,b]

Formula de cuadratură deschisa sumată pentru n = 3 este:


k−1       
(k) 1 3xi + xi+1 xi + xi+1 3xi + xi+1
σ T (f) = (xi+1 − xi ) 2f −f + 2f =
3 i=0 4 2 4

k−1       
b−a 3xi + xi+1 xi + xi+1 3xi + xi+1
= 2f −f + 2f ,
3k i=0 4 2 4
pentru care, dacă f ∈ C 3 ([a, b]), avem evaluarea erorii:
 b  x 
   k−1  i+1 
    5(b − a)4  
 f (x)dx − σ (k) (f ) ≤  f(x)dx − σ i (f)≤ · max f (3) (x) ,
 T    1536k 3 x∈[a,b]
  i=0  
a xi

17
unde σ i (f ) este formula de cuadratură deschisa pentru n = 3, aplicată funcţiei f pe
intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1

n=4

Formula de cuadratură deschisa pentru n = 4 este

b  
4a + b 3a + 2b 2a + 3b a + 4b
σ(f ) = P f; , , , ; x dx.
5 5 5 5
a

Din formula lui Newton de reprezentare a polinomului de interpolare avem


   
4a + b 3a + 2b 2a + 3b a + 4b 4a + b
P f; , , , ;x = f +
5 5 5 5 5
      
5 3a + 2b 4a + b 4a + b
+ f −f x− +
b−a 5 5 5
      
25 2a + 3b 3a + 2b 4a + b
+ f − 2f +f ·
2(b − a)2 5 5 5
  
4a + b 3a + 2b
· x− x− +
5 5
        
125 a + 4b 2a + 3b 3a + 2b 4a + b
+ f − 3f + 3f −f ·
6(b − a)3 5 5 5 5
   
4a + b 3a + 2b 2a + 3b
· x− x− x−
5 5 5
Atunci
b        b  
4a + b 5 3a + 2b 4a + b 4a + b
σ(f ) = f dx+ f −f x− dx+
5 b−a 5 5 5
a a
      
25 2a + 3b 3a + 2b 4a + b
+ f − 2f +f ·
2(b − a)2 5 5 5
b   
4a + b 3a + 2b
· x− x− dx+
5 5
a

18
        
125 a + 4b 2a + 3b 3a + 2b 4a + b
+ f − 3f + 3f −f ·
6(b − a)3 5 5 5 5
b    
4a + b 3a + 2b 2a + 3b
· x− x− x− dx =
5 5 5
a

b       
4a + b 3 3a + 2b 4a + b
= (b − a) f + (b − a) f −f +
5 2 5 5
a
      
17 2a + 3b 3a + 2b 4a + b
+ (b − a) f − 2f +f +
12 5 5 5
        
11 a + 4b 2a + 3b 3a + 2b 4a + b
+ (b − a) f − 3f + 3f −f =
24 5 5 5 5
        
(b − a) 4a + b 3a + 2b 2a + 3b a + 4b
= 11f +f +f + 11f
24 5 5 5 5
Dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare, avem
  
 4a + b 3a + 2b 2a + 3b a + 4b 
f (x) − P f ; , , , ; x ≤
 5 5 5 5 
    
1  4a + b 3a + 2b 2a + 3b a + 4b 
≤ x− x− x− x− ·
24  5 5 5 5
 
· max f (4) (x) , ∀ x ∈ [a, b].
x∈[a,b]

Atunci
 b   b 
      
   4a + b 3a + 2b 2a + 3b a + 4b 
 f (x)dx − σ(f ) =  f(x) − P f ; , , , ;x dx ≤
   5 5 5 5
   
a a

b   
 4a + b 3a + 2b 2a + 3b a + 4b  1  
≤ f (x) − P f ; , , , ; x  dx ≤≤ · max f (4) (x) ·
5 5 5 5 24 x∈[a,b]
a

b     
 4a + b 3a + 2b 2a + 3b a + 4b 
·  x − x− x− x−  dx =

5 5 5 5
a

1   551(b − a)4 551(b − a)4  


= · max f (4) (x) · = · max f (4) (x)
24 x∈[a,b] 93750 2250000 x∈[a,b]

19
Formula de cuadratură deschisa sumată pentru n = 4 este:
k−1
(k) 1 
σ T (f ) = (xi+1 − xi )·
24 i=0
        
4xi + xi+1 3xi + 2xi+1 2xi + xi+1 xi + 4xi+1
· 11f +f +f + 11f =
5 5 5 5
k−1         
b−a 4xi + xi+1 3xi + 2xi+1 2xi + xi+1 xi + 4xi+1
= 11f +f +f + 11f ,
24k i=0 5 5 5 5
pentru care, dacă f ∈ C 4 ([a, b]), avem evaluarea erorii:
 b  x 
   k−1  i+1 
    551(b − a)5  (4) 
 f (x)dx − σ (k) (f) ≤  f (x)dx − σ i (f )≤ · max f (x) ,
 T    2250000k 4 x∈[a,b]
  i=0  
a xi

unde σ i (f ) este formula de cuadratură deschisa pentru n = 4, aplicată funcţiei f pe


intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1
Formule de cuadratură Gauss

Fie [a, b] ⊂ R şi n ∈ N. Notăm cu

n! (n)
Ln (x) := · ((x − a)n (x − b)n ) , ∀ x ∈ [a, b]
(2n)!

(Ln se numeşte polinom Legendre de grad n).


a) Ln este un polinim de grad n.
b) Ln are n rădăcini distincte x1 , x2 , . . . , xn situate în intervalul [a, b].
b
c) Ln (x)C(x)dx = 0, pentru orice polinom C de grad ≤ n − 1.
a
Fie
n

b
x − xj
Qi (x) = şi αi = Qi (x)dx, ∀ i = 1, n.
j=1, j=i
xi − xj
a

Cu notaţiile anterioare, fie f : [a, b] → R o funcţie continuă. Numim formulă de


cuadratură a lui Gauss de ordinul n, ataşată funcţiei f, expresia
n

σ nG (f ) := αi f (xi ).
i=1

20
Pentru orice polinom P de grad≤ 2n − 1, avem

b n

P (x)dx = αi P (xi ),
a i=1

(adică formula de cuadratură a lui Gauss este exactă de ordinul 2n − 1).


Dacă f ∈ C 2n ([a, b]) atunci este adevărată următoarea formulă de evaluare a erorii:
 
 b  4 2n+1
 n   (2n) 
σ (f) − f (x)dx ≤ (n!) · (b − a) · sup f (ξ) .
 G  ((2n)!)3 2n + 1
  ξ∈[a,b]
a

Cazuri particulare
I. n = 2, a = −1, b = 1
În acest caz,

2! 2 2  1 1
L2 (x) = x −1 = 12x2 − 4 = x2 − ,
4! 12 3

care are rădăcinile  


1 1
x1 = − , dx2 = ,
3 3
iar
1 b
x − x2 x − x1
α1 = dx = 1 şi α2 = dx = 1.
x1 − x2 x2 − x1
−1 a

Deci, pentru f o funcţie continuă pe [−1, 1], formula de cuadratură Gauss de ordinul
2 este     
1 1
σ(f ) = f − +f .
3 3
Din formula de evaluare a erorii, în cazul în care f este de 4 ori derivabilă, rezultă că
 
 1  4 5
     
σ(f ) − f(x)dx ≤ (2!) · 2 · sup f (4) (ξ) = 1 · . sup f (4) (ξ) .
  (4!)3 5 135 ξ∈[a,b]
  ξ∈[a,b]
−1

II. n = 3, a = −1, b = 1

21
În acest caz,

3! 2 3  1 3
L3 (x) = x −1 = 120x3 − 72x = x3 − x,
6! 120 5

care are rădăcinile  


3 3
x1 = − , x2 = 0, x3 = ,
5 5
iar
1 b
(x − x2 )(x − x3 ) 5 (x − x1 )(x − x3 ) 8
α1 = dx = , α2 = dx = ,
(x1 − x2 )(x1 − x3 ) 9 (x2 − x1 )(x2 − x3 ) 9
−1 a

b
(x − x1 )(x − x2 ) 5
α3 = dx = .
(x3 − x1 )(x3 − x1 ) 9
a

Deci, pentru f o funcţie continuă pe [−1, 1], formula de cuadratură Gauss de ordinul
3 este      
1 3 3
σ(f) = 5f − + 8f (0) + 5f .
9 5 5
Din formula de evaluare a erorii, în cazul în care f este de 6 ori derivabilă, rezultă că
 
 1  4 7
     
σ(f ) − f (x)dx ≤ (3!) · 2 · sup f (6) (ξ) = 1 · . sup f (6) (ξ) .
  (6!)3 7 15750 ξ∈[a,b]
  ξ∈[a,b]
−1

Formule sumate:
Fie k ∈ N ∗ , h = (b − a)/k, yi = a + ih, ∀ i ∈ 0, k. Dacă σ i (f) este o formulă de
cuadratură Gauss a funcţiei f pe intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1, atunci se defineşte
formula de cuadratură Gauss sumată
k−1

(k)
σ G (f ) = σ i (f ).
i=0

• Formula lui Gauss sumată pentru două noduri:

Pentru orice j ∈ {1, . . . , k} se consideră nodurile:

yj−1 + yj b−a yj−1 + yj b−a


aj = − √ , bj = + √ .
2 2n 3 2 2n 3

22
Cuadratura este :
n
(k) h 
σG = · (f(aj ) + f (bj )),
2 j=1

pentru care (dacă f ∈ C 4 ([a, b])) avem evaluarea erorii


 
 b  6
 (k)   
σ − f (x)dx ≤ 7(b − a) · sup f (6) (ξ) .
 G  2160k 5 ξ∈[a,b]
 
a

• Formula lui Gauss sumată pentru trei noduri:

Pentru orice j ∈ {1, . . . , n} se consideră nodurile:



yj−1 + yj (b − a) 15 yj−1 + yj
aj = − , bj = ,
2 10n 2

yj−1 + yj (b − a) 15
cj = + .
2 10n
Cuadratura este:
 n
h 
σ (k)
G = · (5f (aj ) + 8f (bj ) + 5f(cj )) ,
18 j=1

pentru care (dacă f ∈ C 6 ([a, b])) avem evaluarea erorii


 
 b  8
 (k)   
σ − f (x)dx ≤ (b − a) · sup f (6) (ξ) .
 G  2016000k 7
  ξ∈[a,b]
a

Exemplul -1.11 Folosind formulele de cuadratură ale lui Gauss sumate (cu două,
respectiv cu trei noduri) să se aproximeze calculul integralei

2
1 + ln x
I= dx
x
1

pentru k = 5, k = 10, k = 50 şi k = 100, evaluând şi eroarea comisă.

23
Pentru formula de cuadratură Gauss sumată, relativă la două noduri, se obţin
următoarele rezultate:

k σ (k)
D (f ) eroarea
5 0, 9333754517 0, 000014518
10 0, 9333738009 0, 000000453
50 0, 9333736877 0, 0000000002
100 0, 9333736875 0, 0000000000
 
În stabilirea erorii am ţinut seama de max f (4) (x) = 14.
x∈[a,b]
Pentru formula de cuadratură Gauss sumată, relativă la trei noduri, se obţin ur-
mătoarele rezultate:
(k)
k σ D (f ) eroarea
5 0, 9333736921 0, 000000032
10 0, 9333736875 0, 000000000
 
În stabilirea erorii am ţinut seama de max f (6) (x) = 508. Facem observaţia că
x∈[a,b]
valoarea exactă a integralei este I = 0, 9333736875 .

24
Metode numerice pentru ecuaţii diferenţiale
Studiul ecuaţiilor diferenţiale este o parte a matematicii, care face obiectul a nu-
meroase cercetări şi care continuă să rămână în actualitate prin interesul particular pe
care-l reprezintă pentru alte discipline, ca mecanica, astronomia, fizica si, mai recent,
chimia, biologia, ştiinţe în care modelarea poate conduce la probleme matematice ce
implică ecuaţii diferenţiale. De multe ori, chiar dacă rezultatele matematice ne per-
mit să demostrăm existenţa şi unicitatea soluţiei problemei la care se ajunge, soluţia
analitică nu poate fi obţinută, şi atunci se impune găsirea unei soluţii aproximative a
problemei printr-o metodă de rezolvare numerică a problemei.
În acest capitol ne propunem să dăm o descriere a principalelor metode de rezolvare
numerică a problemelor Cauchy (a problemelor cu condiţii iniţiale). Problema Cauchy
se defineşte astfel: dată fiind aplicaţia f : D ⊂ R × Rm −→ Rm , care defineşte ecuaţia
diferenţială:

y  (t) = f (t, y(t)) (1)

şi punctul iniţial (t0 , y0 ), să se determine o soluţie y : I ⊂ R −→ Rm a ecuaţiei


diferenţiale (1) şi care verifică condiţia iniţială:

y(t0 ) = y0 . (2)

Metodele pe care le vom prezenta în acest capitol se bazează pe aproximarea soluţiei


problemei (1)-(2), definită pe un interval [t0 , t0 + T ], printr-un şir finit de valori (yn )
care aproximează soluţia y(t) în nodurile tn = t0 +nh , n ∈ {1, N} , adică yn  y(tn ) . Se
 
consideră că N = Th , unde h este pasul, adică distanţa dintre două valori consecutive
ale variabilei t, pentru care se face aproximarea.
Se cunosc două clase importante de metode numerice pentru rezolvarea problemei
Cauchy:

1
1. Metode într-un pas (metode directe) sunt metodele în care yn+1 se cal-
culează printr-o relaţie de recurenţă în funcţie doar de yn , calculat anterior. În această
categorie intră metodele Euler, Euler îmbunătăţită, Euler modificată, Runge-Kutta.
2. Metode în mai mulţi paşi (metode indirecte) sunt metodele în care yn+1 se
calculează printr-o relaţie de recurenţă în funcţie de valorile precedente yn , yn−1 , . . . , yn−r+1 .
În această categorie intră metodele Adams-Bashforth, Adams-Moulton, metoda predictor-
corector, metoda diferenţialei retrograde.

Metode într-un pas (directe)

Considerăm următoarea problemă Cauchy:



 y  (t) = f(t, y(t)) , ∀ t ∈ I0 = [t0 , t0 + T ]
(3)
 y(t ) = y .
0 0

O metoda numerică într-un pas, pentru aproximarea soluţiei acestei probleme, constă
în determinarea aproximatiilor (yn ) pentru y(tn ) în tn = t0 + nh, cu n = 1, N , unde:

 y0 = α ∈ Rm ,
(4)
 y
n+1 = yn + hΦ(tn , yn , h) .

Alegerea unei metode înseamnă să alegem funcţia Φ.


Observaţie. Pasul h se poate alege şi dependent de n astfel încât tn+1 = tn +nhn să nu
depăşească t0 +T . În acest caz, în definiţiile ce urmează se va considera h = max hn .
n=0,N −1
Observaţie. Noţiunea de stabilitate arată că o mică perturbare asupra datelor schemei
numerice (4) produce o pertubare mică a aproximaţiei şi este independentă de h.

Definiţia -1.1 Spunem că metoda numerică (4) este de ordinul p, cu p ∈ N ∗ , dacă
pentru orice y soluţie a problemei (3) avem:
 
1 
max   (y(t n+1 ) − y(tn )) − Φ(tn , y(tn ), h)  = O(hp ) .

n=0,N−1 h

2
Metoda Euler explicită (progresivă)

Schema numerică pentru metoda Euler este următoarea:



 y0 ∈ Rm ,
 y = y + hf (t , y ) .
n+1 n n n

Interpretarea geometrică a metodei Euler. Dacă s-a determinat yn , pentru


a determina yn+1 se consideră soluţia ecuaţiei (1) care trece prin (tn , yn ), adică acea
soluţie pentru care y(tn ) = yn . Se duce tangenta la graficul acestei soluţii în (tn , yn ).
Ecuaţia tangentei este:
y − yn = f (tn , yn )(t − tn ) .

Pentru t = tn+1 se oţine yn+1 = yn + (tn+1 − tn )f (tn , yn ) , adică yn+1 este intersecţia
tangentei cu dreapta t = tn+1 . Din acest motiv, metoda Euler mai este numită şi
metoda liniilor poligonale. Erorile se acumulează, ceea ce face ca, în această metodă,
pentru pas h nu prea mic, valorile numerice să fie mult diferite de valorile soluţiei
exacte.

Exemplul -1.1 Folosind metoda Euler, determinaţi soluţia aproximativă a problemei


Cauchy: 
 y  = y2 − y − 1 , t ∈ [1, 2]
t 4t2
 y(1) = 0.75

în t = 2, luând h = 0.5.

y 1
Avem f (t, y) = y 2 − − 2 , t0 = 1 şi y0 = 0.75 . Se obţine N = 2 şi yn+1 =
t 4t
yn + 0.5f (tn , yn ), pentru n = 0, 1 . Deci rezultă:

t1 = 1.5 , y(t1 )  y1 = y0 + 0, 5f (t0 , y0 ) = 0.75 + 0.5f (1, 0.75) =


0.75 + 0.5(−0.4375) = 0.5313 ,
t2 = 2 , y(t2 )  y2 = y1 + 0, 5f(t1 , y1 ) = 0.5313 + 0.5f(1.5, 0.5313) =
0.5313 + 0.5(−0.1831) = 0.4397 .

3
Soluţia exactă a problemei din exerciţiul -1.1 este
t+5
y(t) = − .
2t(t − 5)
Valoarea exactă în t = 2 este y(2) = 0.5833333333, iar valoarea aproximativă, în funcţie
de h, este dată în tabelul 1.

Table 1: Date obtinute prin metoda Euler.

h aproximarea
pentru y(2)
0.5 0.4397243924
0.2 0.5231702705
0.1 0.5526766962
0.05 0.5678404244

Se poate considera o metodă Euler implicită (retrogradă), în care schema numerică


este: 
 y0 ∈ Rm ,
 y
n+1 = yn + hf (tn+1 , yn+1 ) , n = 0, N − 1 .

Folosirea acestei metode este mai dificilă decât metoda Euler explicită, deoarece,la
fiecare pas, calculul lui yn+1 cu yn cunoscut, se face prin rezolvarea unei ecuaţii, în
general, neliniare, şi care poate avea mai multe soluţii. Calculul soluţiei ecuaţiei din
(??) în yn+1 va necesita rezolvarea unui sistem liniar dacă f este afină în y sau, în cazul
general, utilizarea unei metode pentru ecuaţii neliniare.

Metode Runge-Kutta

Metodele Runge-Kutta se deosebesc de metoda Taylor prin faptul ca înlocuiesc


calculul derivatelor lui f prin evaluări pentru f în puncte intermediare între tn şi tn+1 .

4
Metoda a fost introdusă de matematicianul german Carl David Runge în 1895 şi a fost
dezvoltată de alt matematician german, Wilhelm Kutta, în 1901.
În definirea generală a metodelor Runge-Kutta, pentru q ∈ N∗ se dau o listă de
constante reale:
c1 a11 ··· a1q
.. .. ... ..
. . .
cq aq1 ··· aqq
b1 ··· bq
cu c1 , . . . , cq nu neapărat distincte, şi formulele de cuadratură:
 ci q

ψ(t) dt  aij ψ(cj ) , i = 1, q ,
0 j=1
 1 q
ψ(t) dt  bj ψ(cj ).
0 j=1

Vom considera cazul general, când punctele din I0 nu sunt echidistante, adică tn+1 −tn =
hn . Pentru fiecare n = 1, N , se consideră punctele intermediare

tn,i = tn + ci hn pentru i = 1, q

şi determinăm (yn,i )i=1,q prin rezolvarea sistemului:


q

yn,i = yn + hn aij f (tn,j , yn,j ) , i = 1, q .
j=1

Aproximarea soluţiei în tn+1 se determină din:


q

yn+1 = yn + hn bj f(tn,j , yn,j ) .
j=1

Relaţiile (??) şi (??) rezultă aplicând formulele de cuadratură (??). Fie y o soluţie

5
t − tn
pentru (1). Folosind schimbarea de variabilă u = , obţinem:
hn
 tn,i
y(tn,i ) = y(tn ) + f (t, y(t))dt =
tn

 ci
y(tn ) + f (tn + hn u, y(tn + hn u))dt , i = 1, q
0

 tn+1  1
y(tn+1 ) = y(tn ) + f (t, y(t))dt = y(tn ) + f (tn + hn u, y(tn + hn u))dt.
tn 0

Aplicând formulele de cuadratură (??)se obţine:


q

y(tn,i )  y(tn ) + hn aij f(tn,j , y(tn,j )) , i = 1, q
j=1
q
y(tn+1 )  y(tn ) + hn bj f (tn,j , y(tn,j )) ,
j=1

de unde, pentru calculul valorilor aproximative avem (??) şi (??).


Schema numerică generală pentru metode Runge-Kutta se poate scrie sub forma:

y(tn+1 ) = y(tn ) + hn Φ(tn , yn , hn )) , n = 0, N − 1,


q

unde Φ(t, y, h) = bj f (t + cj h, yj ) cu y1 , . . . , yq rezultate prin rezolvarea sistemului:
j=1

q

yi = y + h aij f (t + cj h, yj ) , i = 1, q .
j=1

Notăm A = (aij )i,j=1,q , C = diag (c1 , c2 , . . . , cq ), b = (b1 , b2 , . . . , bq )t şi e = (1, 1, . . . , 1)t ∈


Rq .
În funcţie de coeficienţii aij metodele Runge-Kutta pot fi clasificate astfel:
- dacă aij = 0, ∀ 1 ≤ i ≤ j ≤ q, atunci metoda Runge-Kutta se numeşte explicită.
- dacă aij = 0, ∀ 1 ≤ i < j ≤ q, atunci metoda Runge-Kutta se numeşte semi-
implicită.

6
În cazul când nici una dintre condiţiile de mai sus nu este îndeplinită, metoda
Runge-Kutta se numeşte implicită.
Dăm mai jos câteva rezultate importante în convergenţa metodelor Runge-Kutta.

Teorema -1.1 Dacă f este lipschitziană în a doua varibilă, având constanta L, ρ (|A|)
este raza spectrală a lui |A| şi hn este astfel încât hn Lρ (|A|) < 1, atunci schema
numerică Runge-Kutta (??) admite soluţie unică. De asemenea, pentru hn = h =
const., astfel încât 0 < h ≤ h∗ cu h∗ Lρ (|A|) < 1, metoda Runge-Kutta este stabilă.

Observaţie. Pentru o metodă Runge-Kutta explicită avem ρ (|A|) = 0. Deci o metodă


Runge-Kutta explicită întotdeauna este stabilă.

Definiţia -1.2 Vom spune că este îndeplinită condiţia A(p) dacă sunt îndeplinite
 
condiţiile A (l) pentru l = 1, p, unde A (l) sunt date în tabelul 2 pentru l = 1, 5.

Teorema -1.2 Condiţia necesară şi suficientă ca o metodă Runge-Kutta (pentru toate
funcţiile suficient de regulate) să fie de ordin p este să fie verificată condiţia A(p).

Remarcă. Condiţiile necesare pentru ca o metodă Runge-Kutta să fie de ordin p sunt:

1 1
bt e = 1 , bt Ce = , . . . , bt C p−1 e = .
2 p

Condiţiile (??) sunt echivalente cu afirmaţia: formula de cuadratură (??)2 este de ordin
p − 1, adică este exactă pentru polinoame până la gradul p − 1. Se poate deduce că
p ≤ 2q.
Construcţia unei metode Runge-Kutta se face, în general, în modul următor:
- se determină relaţii pentru b1 , . . . , bq şi c1 , . . . , cq din condiţia ca formula de
cuadratură (??)2 să fie de ordin p − 1;
- se obţin şi coeficienţii din matricea A, rezolvând restul de condiţii suficiente pentru
metode Runge-Kutta, până la ordinul p, date în tabelul 3.

7
Pentru p = 5 se verifică şi condiţiile pentru p = 3 şi p = 4.
Observaţie. Pentru programarea metodelor Runge-Kutta este mai uşor să notăm:

kn,i = f (tn,i , yn,i ) pentru i = 1, q,

şi atunci avem:


q

kn,i = f(tn,i , yn + hn aij kn,j ) pentru i = 1, q
j=1

q

yn+1 = yn + hn bj kn,j .
j=1

Rezolvând sistemul (??) în necunoscutele (kn,i )i=1,q , calculăm mai uşor yn+1 din (??).
De asemenea, obţinem:
q

yn,i = yn + hn aij kn,j , pentru i = 1, q .
j=1


Definiţia -1.3 O metodă RKpp  este o metodă Runge-Kutta de ordin p corespunză-
toare tabloului de constante

c1 a11 ··· a1q 0


.. .. ... ..
. . .
cq aq1 ··· aqq 0
1 b1 ··· bq 0
  
b1 ··· bq bq+1

în care dacă excludem ultima linie şi ultima coloană, obţinem o metodă de ordin p.

Exemple particulare de metode Runge-Kutta.


Exemplul 1. Pentru q = 1, metoda Runge-Kutta definită prin:

8
θ θ
cu θ ∈ R, se scrie:
1

yn,1 = yn + θf (tn + θhn , yn,1 )


yn+1 = yn + hn f (tn + θhn , yn,1 ) .

Pentru θ = 0 şi θ = 1 se obţin metode de ordinul 1: metoda Euler progresivă,


respectiv, metoda Euler retrogradă. Pentru θ = 1/2 se obţine metoda punctului
de mijloc şi este o metodă de ordinul 2.
Exemplul 2. Pentru q = 2, metoda Runge-Kutta definită prin:

0 0 0
α α 0
1 1
1−
2α 2α
cu α ∈ R∗ , se scrie:


 yn,1 = yn






yn,2 = yn + hn α f (tn , yn,1 )


1 1
yn+1 = yn + hn 1− f (tn , yn ) + f (tn + αhn , yn + αhn f (tn , yn ))
2α 2α
1
Dacă α = , atunci se obţine metoda Euler modificată (ameliorată):
2


1 1
yn+1 = yn + hn f tn + hn , yn + hn f (tn , yn ) .
2 2
     
0 0 0 0 0
Avem A =   ,C=  ,b=  şi este îndeplinită condiţia
1/2 0 0 1/2 1
A(2), deci metoda (??) este de ordin 2.

9
Dacă α = 1, atunci se obţine metoda Heun sau metoda Euler îmbunătăţită
sau metoda RK12 :
1
hn (f (tn , yn ) + f (tn + hn , yn + hn f (tn , yn ))) .
yn+1 = yn +
2
     
0 0 0 0 1/2
Avem A =   ,C =  ,b=  şi este îndeplinită condiţia
1 0 0 1 1/2
A(2), deci metoda (??) este de ordin 2.
Exemplul 3. Pentru q = 4 metoda Runge-Kutta definită prin:

0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 2/6 2/6 1/6

este metoda Runge-Kutta clasică sau metoda RK24 (Kutta - 1901). Sub
această formă, metoda este cel mai des utilizată. Avem:


 yn,1 = yn











 hn

 yn,2 = yn + f(tn , yn,1 )

 2




 hn 1

 yn,3 = yn + f(tn + hn , yn,2 )

 2 2







 yn,4 = yn + hn f(tn + 1 hn , yn,3 )

2

hn 1
si yn+1 = yn + f(tn, yn,1 ) + 2f (tn + hn , yn,2 )+
6 2

1
2f(tn + hn , yn,3 ) + f (tn+1 , yn,4 ) . (5)
2

10
În metodaRK24 avem:     
 0 0 0 0   0 0 0 0   1/6 
     
 1/2 0 0 0   0 1/2 0 0   2/6 
     
A =   , C =   , b =   şi este
 0 1/2 0 0   0 0 1/2 0   2/6 
     
     
o 0 1 0 0 0 0 1 1/6
îndeplinită condiţia A(4), deci metoda (5) este de ordin 4.
Exemplul 4. Pentru q = 5, metoda Runge-Kutta definită prin:

0 0 0 0 0 0
2/7 2/7 0 0 0 0
4/7 -8/35 4/5 0 0 0
6/7 29/42 -2/3 5/6 0 0
1 1/6 1/6 5/12 1/4 0
11/96 28/96 35/96 14/96 8/96

este o metodă RK34 .


Exemplul 5. Pentru q = 6, metoda Runge-Kutta definită prin:

0 0 0 0 0 0 0
1/2 1/2 0 0 0 0 0
1/4 3/16 0 0 0 0 0
1/2 0 0 1/2 0 0 0
3/4 0 -3/16 9/16 0 0 0
1 1/7 4/7 6/7 -12/7 8/7 0
7/90 0 32/90 12/90 32/90 7/90

este o metodă Runge-Kutta de ordin 6.

11
Exemplul -1.2 Se dă problema Cauchy:

 y  = y2 − y − 1 , t ∈ [1, 2.9]
t 4t2

y(1) = 0.75

Să se determine valoarea aproximativă a soluţiei în t = 2.9, folosind metodele Euler


progresivă, Euler modificată, RK12 şi RK24 , pentru N = 2.

Pentru N = 2 avem h = 0.9500. Luăm y0 = 0.75, t0 = 1. Pentru metoda RK24 ,


y 1
avem f (t, y) = y 2 − − 2 . Se obţine:
t 4t
- pentru n = 1:

y0,1 = y0 = 1 , t0,1 = t0 = 1 ,
y0,2 = y0 = 1 + 0.95f(t0,1 , y0,1 )/2 = 0.8812 , t0,2 = t0 + 0.95/2 = 1.4750 ,
y0,3 = y0 = 1 + 0.95f(t0,2 , y0,2 )/2 = 1.0305 , t0,3 = t0 + 0.95/2 = 1.4750 ,
y0,4 = y0 = 1 + 0.95f(t0,3 , y0,3 )/2 = 1.2360 , t0,4 = t0 + 0.95 = 1.9500 ,
y1 = y0 + 0.95(f(t0,1 , y0,1 ) + 2f (t0,2 , y0,2 ) + 2f (t0,3 , y0,3 ) + f (t0,4 , y0,4 ))/6 =
1 + 0.95(−0.2500 + 2 · 0.0642 + 2 · 0.2484 + 0.8281)/6 = 1.1905
t1 = t0 + h = 1.9500

- pentru n = 2:

y1,1 = y1 = 1.1905 , t1,1 = t1 = 1.95 ,


y1,2 = y1 = 1 + 0.95f(t1,1 , y1,1 )/2 = 1.5425 , t1,2 = t1 + 0.95/2 = 2.4250 ,
y1,3 = y1 = 1 + 0.95f(t1,2 , y1,2 )/2 = 1.9984 , t1,3 = t1 + 0.95/2 = 2.4250 ,
y1,4 = y1 = 1 + 0.95f(t1,3 , y1,3 )/2 = 4.1612 , t1,4 = t1 + 0.95 = 2.9 ,
y2 = y1 + 0.95(f(t1,1 , y1,1 ) + 2f (t1,2 , y1,2 ) + 2f (t1,3 , y1,3 ) + f (t1,4 , y1,4 ))/6 =
1.1905 + 0.95(0.7411 + 2 · 1.7008 + 2 · 3.1270 + 15.8509)/6 = 5.3464
t2 = t1 + h = 2.9 . 

În tabelul 4 am dat valorile obţinute cu metodele cerute în enunţ pentru N = 2.


t+3
Soluţia exactă este y(t) = − . Pentru aceleaşi cerinţe ca în exerciţiul -1.2, dar
2t(t − 3)

12
pentru N = 7 se obţin datele din tabelul 5. Pentru valori mai mari ale lui N se obţin
valori aproximative mult apropiate de soluţia exactă. De exemplu, pentru N = 20
valorile obţinute sunt în tabelul 6.
Metode în mai mulţi paşi (indirecte)

Calculul valorii yn+1 la tn+1 se poate obţine folosind r + 1 valori deja calculate
yn , yn−1 , . . . , yn−r+1 , adică folosind r + 1 paşi anteriori cu r ∈ N. În general, se obţin
metode cu caracteristici mai bune. Cel mai des întâlnite medote în r + 1 paşi sunt
metodele Adams. Se consideră problema (1)-(2), în care presupunem că f este lipschi-
tiziană în al doilea argument. Considerăm diviziunea:

t0 < t1 , < . . . , tN = t0 + T ,
hn = tn+1 − tn .

Metodele Adams se bazează pe relaţia:


 tn+1
y(tn+1 ) = y(tn ) + f (t, y(t))dt ,
tn

unde y(·) este soluţie a ecuaţiei (1).


Schema de aproximare într-o metodă Adams este:
 tn+1
yn+1 = yn + Pn,r (t)dt ,
tn

unde Pn,r (·) este o aproximare a funcţiei f(·, ·).


Se presupune că printr-o metodă directă (de exemplu, de tip Runge-Kutta) s-au de-
 
terminat valorile y1 , y2 , . . . , yr pornind de la o valoare y0 . Pentru n ≥ r, n ∈ 1, N − 1 ,
presupunem cunoscute yn , yn−1 , . . . , yn−r şi notăm:

fj = f(tj , yj ) , j = n − r, n ,

valorile aproximative pentru f(tj , y(tj )) , j = n − r, n , pentru y(·) soluţie a ecuaţiei


(1).

13
Metoda Adams-Bashforth

În metoda Adams-Bashforth considerăm, în (??), Pn,r (t) polinomul de interpolare


de grad ≤ r, definit prin:

Pn,r (tn−i ) = fn−i , i = 0, r .

Dacă alegem pentru Pn,r polinomul Lagrange, atunci se scrie sub forma:
r

Pn,r (t) = fn−i Ln,i,r (t) ,
i=0

unde
r
 t − tn−j
Ln,i,r (t) = , i = 0, r .
j=0,j=i
t n−i − tn−j

Avem
 tn+1 r
  tn+1
Pn,r (t)dt = fn−i Ln,i,r (t)dt ,
tn i=0 tn

unde notând:
 tn+1
1
bn,i,r = Ln,i,r (t)dt , i = 0, r ,
hn tn

schema Adams-Bashforth se poate scrie:


 r
 

 yn+1 = yn + hn bn,i,r fn−i ,
i=0


 fn+1 = f (tn+1 , yn+1 ) , n = r, N − 1 .

Observaţie. Pentru r = 0 se obţine metoda Euler progresivă, deoarece:

Pn,0 (t) = fn = f (tn , yn ) , Ln,0,0 (t) = 1 , bn,0,0 = 1 ,

şi, deci
yn+1 = yn + hn f (tn , yn ) .

Dacă considerăm hn = hn−1 = . . . = hn−r = h = const., atunci coeficienţii bn,i,r


sunt independenţi de n. Din (??) prin schimbarea de variabilă t = tn + sh şi punând

14
tn−j = tn − jh , j = 0, r , se obţine:
 1 r
s+j
bn,i,r = bi,r = li,r (s)ds , unde li,r (s) = , i = 0, r .
0 j=0,j=i
j −i

În tabelul 7 avem coeficienţii metodei Adams-Bashforth (bi,r )i=0,r pentru r = 1, 5, astfel


că:
h
- pentru r = 1 avem yn+1 = yn + (3fn − fn−1 );
2
h
- pentru r = 2 avem yn+1 = yn + (23fn − 16fn−1 + 5fn−2 );
12
h
- pentru r = 3 avem yn+1 = yn + (55fn − 59fn−1 + 37fn−2 − 9fn−3 );
24
- pentru r = 4 avem

h
yn+1 = yn + (1901fn − 2774fn−1 + 2616fn−2 − 1274fn−3 + 251fn−4 )
720

l
Exemplul -1.3 Folosind metoda Adams-Bashforth pentru r = 3, determinaţi soluţia
aproximativă a problemei Cauchy:

 y  = y2 − y − 1 , t ∈ [1, 2.25]
t 4t2

y(1) = 0.75

în t = 2.25 pentru N = 5, determinând valorile de început y1 , y2 , y3 cu metoda Euler


progresivă.

y 1
Avem h = 0.25 şi f (t, y) = y 2 − − 2 . Aplicând metoda Euler progresivă se
t 4t
obţine:
t0 = 1 , y0 = 0.75 , f0 = f (t0 , y0 ) = −0.4375 ,
t1 = 1.25 , y1 = 0.6406 , f1 = f (t1 , y1 ) = −0.2621 ,
t2 = 1.5 , y2 = 0.5751 , f2 = f (t2 , y2 ) = −0.1638 ,
t3 = 1.75 , y3 = 0.5342 , f3 = f (t3 , y3 ) = −0.1015 ,

15
şi, în continuare, cu metoda Adams-Bashforth pentru r = 3, rezultă:
h
t4 = 2 , y4 = y3 + (55f3 − 59f2 + 37f1 − 9f0 ) = 0.5166 ,
24

f4 = f (t4 , y4 ) = −0.0539 ,

h
t5 = 2.25 , y5 = y4 + (55f4 − 59f3 + 37f2 − 9f1 ) = 0.5096 ,
24

f5 = f (t5 , y5 ) = −0.0162 .

16

Table 2: Conditiile A (l) pentru l = 1, 5.


l A (l)

1 bt e = 1
1
2 bt Ce = bt Ae =
2
1 1
3 b C e = b CAe = bt (Ae).2 = , bt ACe = bt A2 e =
t 2 t
3 6
t 3 t 2 t .2 t .3 1
b C e = b C Ae = b C (Ae) = b (Ae) = ,
4
  1
4 b CACe = b CA e = b ((Ae).(ACe)) = b (Ae).(A2 e) =
t t 2 t t
8
t 2 t t .2 1 t 2 t 3 1
b AC e = b ACAe = b A(Ae) = , b A Ce = b A e =
12 24
t 4 t 3 t 2 .2 t .3 t .4 1
b C e = b C Ae = b C (Ae) = b C (Ae) = b (Ae) = ,
5
t 2 t 2 2 t t
 2

b C ACe = b C A e = b C ((Ae).(ACe)) = b C (Ae).(A e) =
    1
bt (Ae).2 .(ACe) = bt C (Ae).2 .(A2 e) = ,
10
   
bt CAC 2 e = bt CACAe = bt CA (Ae).2 = bt (Ae).(AC 2 e) =
  1
bt ((Ae).(ACAe)) = bt (Ae).A(Ae).2 = ,
15
5 bt AC 3 e = bt AC 2 Ae = bt AC(Ae).2 = bt A(Ae).3 e = bt (ACe).2 e =
   .2 1
bt (ACe).(A2 e) = bt A2 e) = ,
20
    1
bt CA2 Ce = bt CA3 e = bt (Ae).(A2 Ce) = bt (Ae).(A3 e) = ,
30
  1
bt ACACe = bt ACA2 e = bt A ((Ae).(ACe)) = bt A (Ae).(A2 e) = ,
40
1 1
bt A2 C 2 e = bt A2 CAe = bt A2 (Ae).2 = , bt A3 Ce = bt A4 e =
60 120

17
Table 3: Conditiile suficiente pentru metode de ordin p ∈ {3, 4, 5}.

p Conditii suficiente pentru metoda Runge-Kutta de ordin p

1 1 1
3 Ae = Ce , bt e = 1 , bt Ce = , bt C 2 e = , bt ACe =
2 3 6
1 1 t 1 1
4 b C e = , b CACe = , b AC e =
t 3 t 2 t 2
, b A Ce =
4 8 12 24
1
5 bC e= ,
t 4
5
t 2 1 1 1 1
b C ACe = , bt CAC 2 e = , bt (AC).2 e = , bt CA2 Ce =
10 15 20 30

Table 4: Valori aproximative pentru N = 2.

n tn Solutia Metoda Metoda Metoda Metoda


exacta Euler RK12 Euler mod. RK24
0 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1 1.9500 1.2088 0.7625 0.9405 1.0610 1.1905
2 2.9000 10.1724 0.8809 1.6339 2.1295 5.3464

18
Table 5: Valori aproximative pentru N = 7.

n tn Solutia Metoda Metoda Metoda Metoda


exacta Euler RK12 Euler mod. RK24
0 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1 1.2714 0.9718 0.9321 0.9635 0.9698 0.9717
2 1.5429 1.0103 0.9270 0.9934 1.0048 1.0103
3 1.8143 1.1190 0.9687 1.0881 1.1058 1.1188
4 2.0857 1.3335 1.0578 1.2736 1.3011 1.3332
5 2.3571 1.7677 1.2083 1.6274 1.6731 1.7667
6 2.6286 2.8825 1.4532 2.3968 2.4825 2.8745
7 2.9000 10.1724 1.8665 4.7272 4.9158 9.2669

19
Table 6: Valori aproximative pentru N = 20.

n tn Solutia Metoda Metoda Metoda Metoda


exacta Euler RK12 Euler mod. RK24
0 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000
1 1.09500 0.98155 0.97625 0.98114 0.98149 0.98155
2 1.19000 0.97265 0.96228 0.97187 0.97251 0.97265
3 1.28500 0.97219 0.95666 0.97105 0.97195 0.97219
4 1.38000 0.97960 0.95849 0.97808 0.97922 0.97960
5 1.47500 0.99472 0.96732 0.99278 0.99417 0.99472
6 1.57000 1.01777 .982995 1.01535 1.01700 1.01777
7 1.66500 1.04936 1.00568 1.04636 1.04828 1.04936
8 1.76000 1.09054 1.03581 1.08682 1.08905 1.09054
9 1.85500 1.14290 1.07416 1.13825 1.14083 1.14290
10 1.95000 1.20879 1.12186 1.20289 1.20588 1.20879
11 2.04500 1.29162 1.18052 1.28401 1.28749 1.29162
12 2.14000 1.39644 1.25240 1.38638 1.39046 1.39643
13 2.23500 1.53090 1.34062 1.51721 1.52199 1.53089
14 2.33000 1.70713 1.44962 1.68770 1.69333 1.70712
15 2.42500 1.94532 1.58577 1.91626 1.92284 1.94529
16 2.52000 2.28175 1.75851 2.23503 2.24252 2.28169
17 2.61500 2.78861 1.98225 2.70542 2.71305 2.78847
18 2.71000 3.63278 2.28004 3.45972 3.46390 3.63226
19 2.80500 5.30646 2.69075 4.83886 4.82237 5.30322
20 2.90000 10.17241 3.28441 8.01230 7.86910 10.11166

20
Table 7: Valorile coeficien@tilor bi,r pentru r = 1, 5.

6
i=0 i=1 i=2 i=3 i=4 i=5
1 3/2 -1/2 - - - -
2 23/12 -4/3 5/12 - - -
3 55/24 -59/24 37/24 -3/8 - -
4 1901/720 -1387/360 109/30 -637/360 251/720 -
5 4277/1440 -2641/480 4991/720 -3649/720 959/480 -95/288

21
Metode numerice pentru ecuaţii neliniare

Metoda bisecţiei

Exemplul -1.1 Să se aproximeze soluţia ecuaţiei x3 + 4x2 − 10 = 0 (conţinută în


intervalul [−1, 2]).

Soluţie Avem

a0 = a = −1, b0 = b = 2, f (a) = −7, f (b) = 14.

Atunci c0 = (a0 + b0 )/2 = 1/2. Cum f (c0 ) < 0 rezultă că

a1 = c0 = 1/2, b1 = b0 = 2, c1 = (a1 + b1 ) /2 = 5/4 = 1, 25

Cum f(c1 ) < 0 rezultă că

a2 = c1 = 5/4, b2 = b1 = 2, c2 = (a2 + b2 ) /2 = 13/8 = 1, 625

Cum f(c2 ) > 0 rezultă că

a3 = a2 = 5/4, b3 = c2 = 13/8, c3 = (a3 + b3 ) /2 = 23/16 = 1, 4375

Cum f(c3 ) > 0 rezultă că

a4 = a3 = 5/4, b4 = c3 = 23/16, c4 = (a4 + b4 ) /2 = 43/32 = 1, 34375

etc.

Regula falsi

Exemplul -1.2 Să se aproximeze soluţia ecuaţiei x3 + 4x2 − 10 = 0 (conţinută în


intervalul [−1, 2]).

1
Soluţie Avem

a0 = a = −1, b0 = b = 2, f (a) = −7, f (b) = 14.

Atunci c0 = (a0 f (b0 ) − b0 f (a0 ))/(f (b0 ) − f (a0 ) = 0. Cum f(c0 ) < 0 rezultă că

a1 = c0 = 0, b1 = b0 = 2, c1 = (a1 f (b1 ) − b1 f (a1 ))/(f (b1 ) − f (a1 ) = 5/6 = 0, 83333

Cum f(c1 ) < 0 rezultă că

a2 = c1 = 5/6, b2 = b1 = 2, c2 = (a2 f(b2 )−b2 f(a2 ))/(f (b2 )−f (a2 ) = 110/91 = 1, 20879

etc.

Metoda coardei

Exemplul -1.3 Să se aproximeze soluţia ecuaţiei 2x3 − 4x + 1 = 0 (conţinută în


intervalul [1/4, 1]), folosind metoda coardei.
Solutie: Fie f (x) = 2x3 − 4x + 1. Avem: f  (x) = 6x2 − 8x si f  (x) = 12x. Luam
a = 1/4 si b = 1. Evident, f  nu se anuleaza pe [a, b], f (a) · f  (a) = 3/32 > 0 si
f (a) · f (b) = −1/32 < 0. Deci conditiile de aplicabilitate ale metodei coardei sunt
indeplinite. Luam x0 = 1/4 si x1 = 1. Atunci

x0 f (x1 ) − x1 f (x0 ) 3 x0 f (x3 ) − x3 f (x0 ) 899


x2 = = , x3 = = , etc.
f (x1 ) − f (x0 ) 11 f (x3 ) − f (x0 ) 3475

Metoda secantei

Exemplul -1.4 Să se aplice metoda secantei pe intervalul [0, 1] pentru rezolvarea ecuaţiei
3ex − 4 cos x = 0 pentru x0 = 1 şi x1 = 0, 9.

2
Soluţie: Evident f este de două ori derivabilă pe [0, 1] şi f (x) = 3ex + 4 sin x, ,
funcţie care evident nu se anulează pe [0, 1]. Cum f (0) · f (1) = −3e + 4 cos 1 < 0
rezultă că ecuaţia are o radăcină în intervalul [0, 1].
Avem

x0 f (x1 ) − x1 f (x0 ) 3e9/10 − 4 cos(9/10) − 9/10(3e − 4 cos 1)


x2 := = = 0, 45575
f (x1 ) − f (x0 ) 3e9/10 − 4 cos(9/10) − 3e + 4 cos 1

Metoda lui Newton

Exemplul -1.5 Să se arate că se aplică metoda lui Newton pe intervalul [0, 1] pentru
rezolvarea ecuaţiei 3ex − 4 cos x = 0. Luând x0 = 1, să se calculeze valoarea primei
iteraţii.

Soluţie: Evident f este de două ori derivabilă pe [0, 1] şi f(x) = 3ex + 4 sin x,
f (x) = 3ex + 4 cos x, funcţii care evident nu se anulează pe [0, 1]. Cum f(0) · f (1) =
−3e + 4 cos 1 < 0 şi f (1) · f (1) = 9e2 − 16 cos 1 > 0, rezultă că metoda lui Newton se
aplică.
Avem

f (x0 ) 3e − 4 cos 1 4 sin 1 + 4 cos 1


x1 := x0 − = 1− = = 0, 47975
f(x0 ) 3e + 4 sin 1 3e + 4 sin 1

Principiul contracţiei

Exemplul -1.6 Fie funcţia


 
3 1 7
f : − , − → R, f (x) = x2 + x −
4 2 16

Să se arate că f este o contracţie. Luând x0 = − 58 , să se determine numărul de iteraţii
necesari pentru a aproxima soluţia ecuaţiei f (x) = x cu o eroare ε.

3
Soluţie Funcţia f este derivabilă şi

f  (x) = 2x + 1

Avem
 
 3 1
max |f (x)| = max |2x + 1| = max (−2x − 1) = −2 · − −1=
x∈[− 43 ,− 12 ] x∈[− 43 ,− 12 ] x∈[− 34 ,− 12 ] 4 2

Deci
1
|f  (x)| ≤ q := .
2
Notăm a = − 34 , b = − 12 . Atunci
       
 a + b a + b  b − a  5 5  1 1
f −  ≤ (1 − q) · ⇐⇒ f − +  ≤ (1 − ) · ⇐⇒
 2 2  2 8 8 2 8
 
 25 5 7 5  1 3 4
⇐⇒  − − +  ≤ ⇐⇒ ≤ , ceea ce este adevărat.
64 8 16 8 16 64 64
Deci f este o contracţie. Fie z soluţia ecuaţiei f(x) = x pe intervalul [a, b].
Din formula de evaluare a erorii avem

qn
|xn − z| ≤ |x1 − x0 |
1−q

Dacă

qn
|x1 − x0 | ≤ ε, atunci |xn − z| ≤ ε, deci xn aproximează pe z cu eroarea ε.
1−q

Avem
 
5 25 5 7 43
x1 = f (x0 ) = f − = − − =−
8 64 8 16 64
şi  
 43 5  3
|x1 − x0 | = − +  =
64 8 64
Atunci  1 n
qn 3 3
|x1 − x0 | ≤ ε ⇐⇒ 2 1 · ≤ ε ⇐⇒ n+5 ≤ ε ⇐⇒
1−q 1 − 2 64 2

4
 
n+5 3 3
⇐⇒ 2 ≥ ⇐⇒ n ≥ log2 −5
ε ε
Deci putem lua
  
3
n = log2 − 4, unde [·] reprezintă partea întreagă.
ε

Metode pentru rezolvarea sau aproximarea


soluţiilor sistemelor de ecuaţii liniare
Norme de vectori şi norme de matrici

Exemplul -1.7 Fie


 
1 −2 3
 
 
A =  4 −5 6 
 
7 −8 9
Atunci
3


A
1 = max |aij | =
1≤j≤3
i=1

= max (|1| + |4| + |7| , |−2| + |−5| + |−8| , |3| + |6| + |9|) = max (12, 15, 18) = 18

şi
3


A
∞ = max |aij | =
1≤i≤3
j=1

= max (|1| + |−2| + |3| , |4| + |−5| + |6| , |7| + |−8| + |9|) = max (6, 15, 24) = 24.

Condiţionarea unui sistem de ecuaţii liniare


Exemplul -1.8
     
 10 7 8 7   32   1 
     
 7 5 6 5   23   1 
     
A=  b=  cu soluţia x= 
 8 6 10 9   33   1 
     
     
7 5 9 10 31 1

5
Considerăm sistemul perturbat A(x + δx) = b + δb unde
   
 10 7 8 7   32, 1 
   
 7 5 6 5   22, 9 
   
A=  b + δb =  
 8 6 10 9    33, 1 
  
   
7 5 9 10 30, 9
 
 9, 2 
 
 −12, 6 
 
cu soluţia x + δx =   (1)
 4, 5 
 
 
−1, 1
Considerăm şi sistemul perturbat (A + ∆A)(x + ∆x) = b unde
   
 10 7 8, 1 7, 2   32 
   
 7, 08 5, 04 6 5   23 
   
A=  b= 
 8 5, 98 9, 89 9   33 
   
   
6, 99 4, 99 9 9, 98 30
 
 −81 
 
 137 
 
cu soluţia x + ∆x =   (2)
 −34 
 
 
22

δx∞
Exemplul -1.9 Sa se arate ca x∞
= cond(A)· δb
b∞

(Vom considera cazul sistemului
(1) şi vom lucra cu norma infinit).

Avem:


δx
∞ =
x + δx − x
∞ =
(9, 2 − 1; −12, 6 − 1; 4, 5 − 1; −1, 1 − 1)
∞ =

=
(8, 2; −13, 6; 3, 5; −2, 1)
∞ = max(|8, 2| ; |−13, 6| ; |3, 5| ; |−2, 1|) = 13, 6.

6

x
∞ =
(1; 1; 1; 1)
∞ = max(|1| ; |1| ; |1| ; |1|) = 1.

Atunci

δx
∞ 13, 6
= = 13, 6

x
∞ 1
 
 25 −41 10
−6 
 
 −41 68 −17 10 
 
A−1 = 
 10 −17 5 −3 
 
 
−6 10 −3 2

A
∞ = max(|10|+|7|+|8|+|7| , |7|+|5|+|6|+|5| , |8|+|6|+|10|+|9| , |7|+|5|+|9|+|10|) =

= max(32, 23, 33, 31) = 33


 −1 
A  = max(|25| + |−41| + |10| + |−6| , |−41| + |68| + |−17| + |10| ,

, |10| + |−17| + |5| + |−3| , |−6| + |10| + |−3| + |2|) =

= max(82, 136, 35, 21) = 136.

Rezultă că
 
cond(A) :=
A
∞ · A−1 ∞ = 33 · 136 = 4488

Avem


δb
∞ =
b + δb − b
∞ =
(32, 1 − 32; 22, 9 − 23; 33, 1 − 33; 30, 9 − 31)
∞ =

=
(0, 1; −0, 1; 0, 1; −0, 1)
∞ = max(|0, 1| ; |−0, 1| ; |0, 1| ; |−0, 1|) = 0, 1.


b
∞ =
(32; 23; 33; 31)
∞ = max(|32| ; |23| ; |33| ; |31|) = 33..

Atunci

δb
∞ 0, 1 1
= =

b
∞ 33 330

7
şi

δb
∞ 1
cond(A) · = 4488 · = 13, 6

b
∞ 330
Deci

δx

δb

= cond(A) ·

x

b

Metode directe

Metoda lui Gauss (cu pivotare parţială)

Exemplul -1.10 Fie sistemul de ecuaţii liniare





 x + 12 y + 13 z = 1

1
2
x + 31 y + 41 z = 2



 1
3
x + 41 y + 51 z = 3

Să se calculeze determinantul matricei sistemului şi să se rezolve sistemul cu metoda
lui Gauss.

Soluţie Notăm cu (aij )1≤i,j≤3 matricea sistemului. Iniţializăm det = 1. La etapa


n = 1 căutăm cel mai mare element în modul de pe coloana n a matricei sistemului.
Acesta este max = |a11 | = 1 şi se află pa linia 1. Deci s = 1 şi piv = a11 = 1. Calculăm
det = det ∗piv, deci det = 1. Cum s = n se trece la pasul împărţirii la pivot. Cum
pivotul este egal cu 1, prin împărţire la pivot linia n rămâne nemodificată. Eliminăm
x din liniile 2 şi 3 ca în algoritm. Obţinem următorul sistem de ecuaţii:



 x + 12 y + 31 z = 1

1 1
12
y + 12 z = 32



 1 4
12
y + 45 z = 83

La etapa n = 2 căutăm cel mai mare element în modul de pe coloana n a matricei


sistemului (de la elementul a22 în jos). Acesta este max = |a22 | = 1/12 şi se află pa

8
linia 2. Deci s = 2 şi piv = a22 = 1/12. Calculăm det = det ∗piv, deci det = 1/12. Cum
s = n se trece la pasul împărţirii la pivot. Ecuaţia 2 devine y + z = 18 . Eliminăm
y din linia 3 ca în algoritm. Obţinem următorul sistem de ecuaţii:



 x + 12 y + 13 z = 1

y + z = 18



 1 7
180
z = 6

Calculăm determinantul matricei sistemului det = det ∗a33 = 1


12
∗ 1
180
= 1
2160
şi
rezolvăm sistemul anterior. Obţinem z = 210, y = −192, x = 27.

Metoda lui Gauss-Jordan de calcul a inversei unei matrice


Exemplul -1.11 Folosind metoda Gauss-Jordan să se calculeze inversa matricei
 
1 12 13
 
 
A =  21 13 14 
 
1 1 1
3 4 5

Soluţie Formăm ansamblul matriceal


  

1 21 13  1 0 0
  
 1 1 1  
 2 3 4  0 1 0 
  
1 1 1

 0 0 1
3 4 5

Cu transformările din algoritm obţinem:


  

1 21 13  1 0 0
  
 1 1  1 
 0 12 12
 −2 1 0 
  
1 4
 1
0 12  − 0 1
45 3
  
1 1 
1 2 3  1 0 0
  
  
 0 1 1  −6 12 0 
  
1 4 
 1
0 12 45
−3 0 1

9
  
1 
1
1 2  1
3
0 0
  
  
 0 1 1  −6 12 0 
  
1
 1
0 0 180  −1 1
6
  

1 12 13  1 0 0
  
  
 0 1 1  −6 12 0 
  

0 0 1  30 −180 180
  

1 12 0  −9 60 −60
  
  
 0 1 0  −36 192 −180 
  

0 0 1  30 −180 180
  

1 0 0  9 −36 30
  
  
 0 1 0  −36 192 −180 
  

0 0 1  30 −180 180
Deci  
9 −36 30
 
 
A−1 =  −36 192 −180 
 
30 −180 180
Rezolvarea unui sistem de ecuaţii liniare Ax = b este echivalentă, după ce s-a
calculat inversa matricei A, cu egalitatea x = A−1 b.

Factorizarea LU

Exemplul -1.12 Să se factorizeze sub forma LU matricea


 
 2 4 −2 0 
 
 −1 −1 2 3 
 
A= 
 4 5 −2 −9 
 
 
0 1 3 4

10
Soluţie Se verifică mai întâi că determinanţii de colţ ai matricei A sunt nenuli. Cu
formulele (??) şi (??) se obţine:

l11 = 2, l21 = −1, l31 = 4, l41 = 0

u11 = 1, u12 = 2, u13 = −1, u14 = 0

l22 = 1, l32 = −3, l42 = 1

u22 = 1, u23 = 1, u24 = 3

l33 = 5, l43 = 2

u33 = 1, u34 = 0

l44 = 1

u44 = 1

Deci    
 2 0 0 0   1 2 −1 0 
   
 −1 1 0 0   0 1 1 3 
   
L= , U = 
 4 −3 5 0   0 0 1 0 
   
   
0 1 2 1 0 0 0 1

Metoda rădăcinii pătrate

Exemplul -1.13 Folosind metoda rădăcinii pătrate, să se rezolve sistemul de ecuaţii
liniare Ax = b cu    
4 2 2 8
   
   
A =  2 10 4  , b =  16 
   
2 4 6 12

11
Soluţie Se verifică imediat că matricea A este simetrică. Deoarece
 
   
   4 2 2 
 4 2   
∆1 = |4| > 0, ∆2 =   = 36 > 0, ∆3 =  2 10 4 
 = 144 > 0
  
 2 10   
 2 4 6 

rezultă că matricea A este pozitiv definită. Cu formulele din curs se obţine

l11 = 2, l21 = 1, l31 = 1

l22 = 3, l32 = 1

l33 = 2

Rezultă că
y1 = 4, y2 = 4, y3 = 2

si
x3 = 1, x2 = 1, x3 = 1.

Metode iterative de rezolvare a sistemelor de ecuaţii liniare

Metoda lui Jacobi

Exemplul -1.14 Să se arate că se poate aplica metoda lui Jacobi (relativă la normele
1 şi ∞) pentru sistemul de ecuaţii liniare Ax = b cu
   
 0, 9 0, 1 0, 2 0, 3   3, 6 
   
 −0, 2 0, 8 0, 1 0, 4   2 
   
A=  ; b =  .
 0, 1 −0, 3 0, 7 −0, 1   2, 4 
   
   
−0, 3 −0, 2 −0, 1 0, 9 1, 5

12
 
 0 
 
 0 
 
Luând x =   să se determine numărul de iteraţii necesar pentru a aproxima
(0)
 0 
 
 
0
soluţia sistemului cu o eroare mai mică de 10−10 .

Soluţie: Avem
 
 0, 1 −0, 1 −0, 2 −0, 3 
 
 0, 2 0, 2 −0, 1 −0, 4 
 
B = I −A =  
 −0, 1 0, 3 0, 3 0, 1 
 
 
0, 3 0, 2 0, 1 0, 1

Atunci
4


B
1 = max |bij | = max(|0, 1| +|0, 2|+|−0, 1| +|0, 3| , |−0, 1| +|0, 2|+|0, 3| +|0, 2| ,
1≤j≤4
i=1

|−0, 2|+|−0, 1|+|0, 3|+|0, 1| , |−0, 3|+|−0, 4|+|0, 1|+|0, 1|) = max(0, 7; 0, 8; 0, 7; 0, 9) = 0, 9 < 1.

şi
4


B
∞ = max |bij | = max(|0, 1|+|−0, 1|+|−0, 2|+|−0, 3| , |0, 2|+|0, 2|+|−0, 1|+|−0, 4| ,
1≤i≤4
j=1

|−0, 1|+|0, 3|+|0, 3|+|0, 1| , |0, 3|+|0, 2|+|0, 1|+|0, 1|) = max(0, 7; 0, 9; 0, 8; 0, 7) = 0, 9 < 1.

Deci metoda lui Jacobi se aplică. Din formula de evaluare a erorii avem:

qn

x(n) − x
p ≤
x(1) − x(0)
p , ∀ n ∈ N∗
1−q

unde p = 1 sau p = ∞, q = 0, 9, x(1) = Bx(0) + b = b. Deci, pentru a aproxima x cu


qn
x(n) cu eroarea ε = 10−10 este suficient ca 1−q

x(1) − x(0)
p < ε. Avem


x(1) − x(0)
1 =
b
1 = |3, 6| + |2| + |2, 4| + |1, 5| = 9, 5

13
şi


x(1) − x(0)
∞ =
b
∞ = max(|3, 6| , |2| , |2, 4| , |1, 5|) = 3, 6

Atunci

qn 0, 9n ε  ε

x(1) − x(0)
1 < ε ⇐⇒ 9, 5 < ε ⇐⇒ 0, 9n < ⇐⇒ n = log0,9 +1
1−q 1 − 0, 9 95 95

şi

qn 0, 9n ε  ε

x(1) − x(0)
∞ < ε ⇐⇒ 3, 6 < ε ⇐⇒ 0, 9n < ⇐⇒ n = log0,9 +1
1−q 1 − 0, 9 36 36

Metoda Gauss-Seidel
Exemplul -1.15 Fie sistemul de ecuaţii liniare



 x1 + 12 x2 + 13 x3 = 1

1
x
5 1
+ x2 + 16 x3 = 2



 1 1
x
10 1
+ x
20 2
+ x3 = 3

Să se arate că se aplică metoda Gauss-Seidel.

Soluţie Notăm cu A matricea ceoficienţilor sistemului. Avem


 
1 12 13
 
 
A =  15 1 16 
 
1 1
10 20
1

Atunci  
0 − 12 − 13
 
 1 1 
B = I − A =  −5 0 −6 
 
1 1
− 10 − 20 0
şi    
 1  1 5
q1 = |b11 | + |b12 | + |b13 | = −  + −  =
2 3 6

14
   
 1 5  1 1
q2 = |b21 | q1 + |b22 | + |b23 | = −  · + −  =
5 6 6 3
   
 1 5  1 1 1
q3 = |b31 | q1 + |b32 | q2 + |b33 | = −  · + −  · =
10 6 20 3 10
Deci
 
5 1 1 5
q = max(q1 , q2 , q3 ) = max , , = <1
6 3 10 6
Rezultă că metoda Gauss-Seidel se aplică.

Metoda relaxării simultane


Exemplul -1.16 Fie sistemul de ecuaţii liniare:


 5x + 3x2 + 2x3 = 1
 1

3x1 + 6x2 + 3x3 = 2




2x1 + 3x2 + 5x3 = 3

Să se arate că se poate aplica metoda relaxării simultane. Să se determine parametrul
optim de relaxare. Luând x(0) = (0, 0, 0) să se evalueze eroarea x − x(n) .

Soluţie: Notăm cu A matricea sistemului. Avem


 
5 3 2
 
 
A =  3 6 3  = At transpusa matricei A.
 
2 3 5

Deci A simetrică. Deoarece


 
   
   5 3 2 
 5 3   
∆1 := |5| > 0, ∆2 :=   > 0, ∆3 :=  3 6 3 
 > 0,
  
 3 6   
 2 3 5 

cu teorema lui Sylvester rezultă că matricea A este şi pozitiv definită. în concluzie, se
poate aplica metoda relaxării simultane.

15
Fie D = diag(A). Atunci
 
1 3/5 2/5
 
−1  
D A =  1/2 1 1/2 
 
2/5 3/5 1

şi det(D−1 A − λI) = 0 ⇐⇒ (1 − λ)3 − 19


25
6
(1 − λ) + 25 = 0. Dacă notăm 1 − λ = t, atunci
ecuaţia 25t3 − 19t + 6 = 0 are rădăcinile t1 = −1, t2 = 2/5, t3 = 3/5, de unde rezultă
că valorile proprii ale matricei D−1 A sunt λ1 = 2 > λ2 = 3/5 > λ3 = 2/5. Parametrul
optim de relaxare este
2 5
σ= =
λ1 + λ3 6
căruia îi corespunde
λ1 − λ3 2
q= = .
λ1 + λ3 3
Avem x(1) = Cσ x(0) + cσ = cσ = σD−1 b = 5/6 · (1/5; 2/6; 3/5)t unde b = (1; 2; 3)t este
vectorul termenilor liberi din sistem. Atunci
 
  25 1 2 9 2 25

x(1)
2D = Dx(1) , x(1) = + + = ·
36 5 3 5 3 9

şi
 n+ 12
(n) qn 2

x − x
D ≤
x(1) − x(0)
D = 5 · .
1−q 3

Metoda lui Ritz


 
 1 2 3 4 
 
 2 5 1 10 
 
Exemplul -1.17 Fie A =   . Folosind metoda lui Ritz să se cal-
 3 1 35 5 
 
 
4 10 5 30
culeze A .
−1

16
Se verifică mai întâi că matricea A este simetrică şi pozitiv definita. Luăm w0 =
(1, 0, 0, 0)∗ . Atunci w0∗ Aw0 = 1 şi
   
 1 0 0 0   0 −2 −3 −4 
   
 0 0 0 0   0 1 0 0 
   
C1 =   , D1 =  .
 0 0 
0 0   0 
  0 0 1 
   
0 0 0 0 0 0 0 1

Luăm v1 = (0, 1, 0, 0)∗ . Rezultă că w1 = (−2, 1, 0, 0)∗ şi w1∗ Aw1 = 1, de unde
   
 5 −2 0 0   0 0 −13 0 
   
 −2 1 0 0   0 0 5 −2 
   
C2 =   , D2 =  .
 0 0 0 0   0 0 1 0 
   
   
0 0 0 0 0 0 0 1

Luăm v2 = (0, 0, 1, 0)∗ . Rezultă că w2 = (−13, 5, 1, 0)∗ şi w2∗ Aw2 = 1, de unde
   
 174 −67 −13 0   0 0 0 39 
   
 −67 26 5 0   0 0 0 −17 
   
C3 =   , D3 =  .
 −13 5 1 0   0 0 0 −3 
   
   
0 0 0 0 0 0 0 1

Luăm v3 = (0, 0, 0, 1)∗ . Rezultă că w3 = (39, −17, −3, 1)∗ şi w3∗ Aw3 = 1, de unde
   
 1695 −730 −130 39   0 0 0 0 
   
 −730 315 56 −17   0 0 0 0 
   
C4 =   , D4 =  .
 −130 56 10 −3   0 0 0 0 
   
   
39 −17 −3 1 0 0 0 0

Pseudoinversa unei matrice

17
Exemplul -1.18 Fie
 
 1 0 −1 
 
 0 1 0 
 
T =  cu rang(T ) = 2 şi H0 = 0.
 1 1 −1 
 
 
1 2 −1
 
 
 1 
  1
 0   
   
Luăm y1 = T ∗ ∗   =  0  (avem y1 − H0 T y1 = y1 = 0. Atunci w1 =
 0   
 
  −1
0
 
 2 
 
 0 
 
y1 − H0 T y1 = y1 şi T w1 =   . Rezultă că
T w1
2 = 12, iar w1 (T w1 )∗ =
 2 
 
 
2
 
2 0 2 2
 
 
 0 0 0 0  . Deci
 
−2 0 −2 −2
 
1/6 0 1/6 1/6
w1 (T w1 )∗ 


H1 = H0 + 2 =  0 0 0 0 .

T w1
 
−1/6 0 −1/6 −1/6
 
   
 0 
  0 −1/2
 1     
     
Luăm y2 = T ∗ ∗   =  1  (avem y 2 − H1 T y2 =  1  = 0. Atunci
 0     
 
  0 1/2
0

18
 
 −1 
 
 1 
  2
w2 = y2 − H1 T y2 şi T w2 =   . Rezultă că
T w2
= 3, iar w2 (T w2 )∗ =
 0 
 
 
1
 
1/2 −1/2 0 −1/2
 
 
 −1 1 0 1  . Deci
 
−1/2 1/2 0 1/2
 
1/3 −1/6 1/6 0
w2 (T w2 )∗ 



H2 = H1 + 2 =  −1/3 1/3 0 1/3 

T w2
 
−1/3 1/6 −1/6 0

În concluzie  
1/3 −1/6 1/6 0
 
 
T+ = H2 =  −1/3 1/3 0 1/3 
 
−1/3 1/6 −1/6 0
.

Exemplul -1.19 Fie


 
 1 0 −1 
 
 0 1 0 
 
T =  cu dim R(T ∗ ) = 2
 1 1 −1 
 
 
1 2 −1

Luând e1 = (1; 0; −1)∗ , e2 = (0; 1; 0)∗ (bază în R(T ∗ )) obţinem f1 = (2; 0; 2; 2)∗ , f2 =
(0; 1; 1; 2)∗ . Atunci
1 1
x1 = √ (1; 0; −1)∗ , y1 = √ (1; 0; 1; 1)∗
2 3 3
În continuare
1
e2 = e2 − f2 , y1  x1 = (−1; 2; 1)∗ şi f2 = T e2 = (−1; 1; 0; 1)∗
2
19
Atunci
1 1
x2 = √ (−1; 2; 1)∗ , y2 = √ (−1; 1; 0; 1)∗
2 3 3
Rezultă că  
2 −1 1 0
+ 1



T = x1 y1∗ + x2 y2∗ =  −2 2 0 2 
6 
−2 1 −1 0

Exemplul -1.20 Fie


 
 1 0 −1 
 
 0 1 0 
 
T =  cu rang(T ) = 2 şi H0 = T ∗
 1 1 −1 
 
 
1 2 −1
   
 
 1   −5 
1    
   0   −3 
     
Luând a1 =  0  , b1 =   obţinem v0 := (I − T H0 )∗ T a1 =  ,
   0   −8 
   
0    
0 −11
   
1 5/48
  1  
   
w0 = H0 b1 =  0  , u0 := (I − H0 T )w0 =  1/8  ,
  v0 , T w0   
−1 −5/48
 
23/48 −5/16 1/6 −7/48
 
 
H1 := H0 + u0 · v0∗ =  −5/8 5/8 0 5/8 
 
−23/48 5/16 1/6 7/48
   
 
 0   7/8 
0    
   1   −7/8 
     
Luând a2 =  1  , b2 =   obţinem v1 := (I − T H1 )∗ T a2 =   , w1 =
   0   0 
   
0    
0 −7/8

20
   
−5/16 −1/6
  1  
   
H1 b2 =  5/8  , u1 := (I − H1 T )w1 =  1/3  , deci
  v1 , T w1   
5/16 1/6
 
1/3 −1/6 1/6 0
 
+  
T = H2 := H1 + u1 · v1∗ =  −1/3 1/3 0 1/3  .
 
−1/3 1/6 −1/6 0

Metode pentru aproximarea valorilor proprii ale


unei matrice
Metode folosind polinomul caracteristic

Metoda Danilevsky
.

Exemplul -1.21 Determinaţi polinomul caracteristic pentru matricea


 
 −12 −4 3 4 
 
 −23 −8 6 8 
 
A= ,
 −60 −39 21 28 
 
 
−3 −2 1 2

folosind metoda Danilevski.

Aplicând paşii algoritmului se obţine:


 
 −12 −4 4 3
 
 −23 −8 6 8 
 
A0 =  ,
 −60 −39 21 28 
 
 
−3 −2 1 2

21
   
 1 0 0 0   −3 2 3 −2 
   
 0 1 0 0   −5 4 6 −4 
  −1  
S3 =   ⇒ A1 = S3 A0 S3 =  ,
 3 2 1 −2   22 −11 2 0 
   
   
0 0 0 1 0 0 1 0
 
 1 0 0 0 
 
 2 −1 2
0 
 11 11 
S2 =   ⇒ A2 =
 
 0 0 1 0 
 
0 0 0 1
 
2 37
 1 − −2 
 11 11 
 −11 2 0 0 
−1  
= S2 A1 S2 =  ,
 
 0 1 0 0 
 
0 0 170
   
1 2
 − 11 11 0 0   3 0 −37 22 
   
 0 1 0 0   1 0 0 0 
  −1  
S1 =   ⇒ A3 = S1 A S
2 1 ,
   0 1 0 0 
 0 0 1 0   
   
0 0 0 1 0 0 1 0
Deci polinomul caracteristic este:

pA (λ) = λ4 − 3λ3 + 37λ − 22 . 

Metoda Krylov

Exemplul -1.22 Determinaţi polinomul caracteristic pentru matricea


 
 5 −4 −3 −1 
 
 1 4 2 −9 
 
A= ,
 2 5 1 −5 
 
 
7 1 2 −1

22
folosind metoda Krylov.
 
 1 
 
 2 
 
Alegem pentru aplicarea metodei Krylov vectorul y (0) =   şi calculăm
 3 
 
 
4
   
 −16   8 
   
 −21   −209 
   
y (1) = Ay (0) =   , y (2) = Ay (1) =  ,
 −5   −197 
   
   
11 −154
   
 1621   9210 
   
 164   4902 
   
y (3) = Ay (2) −   , y (4) = Ay (3) =  .
 −456   5571 
   
   
−393 10992
Coefienţii polinomului caracteristic se obţin rezolvâd sistemul:
    
 1621 8 −16 1   p1   9210 
    
 164 −209 −21 2   p2   4902 
    
  = .
 −456 −197 −5 3   p   5571 
  3   
    
−393 −154 11 4 p4 10992
 
 9 
 
 −45 
 
Folosind o metodă de rezolvare a sistemelor liniare , obţinem p =   şi polino-
 369 
 
 
885
mul caracteristic este:

pA (λ) = λ4 + 9λ3 − 45λ2 + 369λ + 885 . 

Metoda Leverrier

23
Exemplul -1.23 Determinaţi, folosind metoda Leverrier, polinomul caracteristic şi
matricea A−1 , dacă există, pentru matricea
 
 11 0 −3 12 
 
 −9 −5 2 5 
 
A= ,
 2 −4 15 −11 
 
 
2 6 −7 10

Aplicând metoda Leverrier pentru matriceaA şi m = 4, obţinem:

s1 = 31 , p1 = −31 ,

- pentru k = 2:
 
 139 84 −162 285 
 
 −40 47 12 −105 
 
A2 = A2 =  , s2 = 705 , p2 = 128 ,
 66 −106 288 −271 
 
 
−26 58 −169 231

- pentru k = 3:
 
 1019 1938 −4674 6720 
 
 −1049 −913 1129 −1427 
 
A3 = A3 =  ,
 7714 −2248 5807 −5616 
 
 
−684 1772 −3958 4147
s3 = 10060 , p3 = 2609 ,

- pentru k = 4:
 
 −2141 49326 −116331 140532 
 
 −3918 −8513 28245 −43842 
 
A4 = A4 =  ,
 39468 −45684 116779 −110709 
 
 
−23094 31854 −82803 85660
s4 = 191785 , p4 = −12761 ,

24
şi polinomul caracteristic este:

pA (λ) = λ4 − 31λ3 + 128λ2 + 2609λ − 12761 .

Cum p4 = 0, rezultă că:

A−1 = − p14 (A3 + p1 A2 + p2 A + p3 I4 )

 
 0.0570 −0.0522 −0.0028 −0.0454 
 
 −0.0753 −0.0314 0.0794 0.1934 
 
=   .
 −0.0060 0.0412 0.1103 0.1079 
 
 
0.0296 0.0581 0.0302 0.0686

Exemplul -1.24 Calculaţi coeficienţii polinomului caracteristic şi matricea A−1 , dacă
există, pentru matricea
 
 11 1 −3 2 
 
 −9 −5 12 5 
 
A= ,
 2 −4 5 −11 
 
 
2 16 −7 10

folosind algoritmul Fadeev.

Aplicând algoritmul Fadeev obţinem:

A1 = A ,
 
 −10 1 −3 2 
 
 −9 −26 12 5 
 
p1 = −tr(A1 ) = −21 , B1 = A1 + p1 I4 =  ,
 2 −4 −16 −11 
 
 
2 16 −7 −11

25
- pentru k = 2
 
 −121 29 13 38 
 
 169 153 −260 −230 
 
A2 = AB1 =  ,
 4 −90 −57 50 
 
 
−158 −226 228 51

 
 −134 29 13 38 
 
 169 140 −260 −230 
1  
p2 = − tr(A 2)
= −13 , B2 = A2 + p2 I4 =  ,
 4 −90 −70 50 
 
 
−158 −226 228 38

- pentru k = 3
 
 −1633 277 549 114 
 
 −381 −3171 1483 1598 
 
A3 = AB2 =  ,
 814 1534 −1792 828 
 
 
828 668 −1364 −3574

 
 1757 277 549 114 
 
 −381 219 1483 1598 
1  
p3 = − tr(A 3)
= 3390 , B3 = A3 + p3 I4 =  ,
 814 1534 1598 828 
 
 
828 668 −1364 −184

26
- pentru k = 4
 
 18160 0 0 0 
 
 0 18160 0 0 
 
A4 = AB3 =  ,
 0 0 18160 0 
 
 
0 0 0 18160

 
 0 0 0 0 
 
 0 0 0 0 
1  
p4 = − tr(A 4)
= −18160 , B4 = A4 + p4 I4 =  .
 0 0 0 0 
 
 
0 0 0 0

Polinomul caracteristic este:

pA (λ) = λ4 − 21λ3 − 13λ2 + 3390λ − 18160 .

Cum p4 = 0, rezultă că:

 
 0.0968 0.0153 0.0302 0.0063 
 
1  −0.0210 0.0121 0.0817 0.0880 
 
A−1 = − B3 =  . 
p4  0.0448 0.0845 0.0880 0.0456 
 
 
0.0456 0.0368 −0.0751 −0.0101
Metoda coeficienţilor nedeterminaţi

Exemplul -1.25 Determinaţi coeficienţii polinomului caracteristic pentru


matricea  
 9 −4 10 13 
 
 11 −1 −15 8 
 
A= ,
 1 −2 −3 1 
 
 
2 4 5 7
folosind metoda coeficienţilor nedeterminaţi.

27
Avem p4 = −2703. Se obţine sistemul
   
1 1 1 334
   
   
 8 4 2 p=  482 
   
27 9 3 372

a cărui soluţie este:


 
−12
 
 
p =  −57  .
 
403
Deci polinomul caracteristic este:

pA (λ) = λ4 − 12λ3 − 57λ2 + 403λ − 2703 . 

Metoda rotaţiilor

Exemplul -1.26 Fie matricea


 √ 
17 −2 3 3
 √ 
 
A =  −2 8 2 3 .
 
√ √
3 3 2 3 11

Folosind metoda rotaţiilor, să se determine valorile proprii ale matricei A.

Se verifică imediat că matricea A este simetrică. Se aleg p < q astfel încât

|apq | = max{aij |; i < j ∈ {1, 2, 3}.

Atunci p = 1, q = 3. Se calculează
1 2 · apq π
θ= · arctan = .
2 app − aqq 6
Se ia  
cos θ 0 − sin θ
 
 
T = 0 1 0 
 
sin θ 0 cos θ

28
şi se calculează matricea
 
20 0 0
 
t  
B = T AT =  0 8 4 
 
0 4 8

Se aleg p < q astfel încât

|bpq | = max{bij |; i < j ∈ {1, 2, 3}.

Atunci p = 2, q = 3. Se calculează

π
θ= deoarece bpp = bqq .
4

Se ia  
1 0 0
 
 
T =  0 cos θ − sin θ 
 
0 sin θ cos θ
şi se calculează matricea
 
20 0 0
 
 
B = T t AT ==  0 12 0 
 
0 0 4

Rezultă că valorile proprii ale matricei A sunt λ1 = 20, λ2 = 12, λ3 = 4. 

Ecuaţii neliniare în Rm
Principiul contracţiei

Exemplul -1.27 Fie sistemul de ecuaţii




 x = (80 + x3 − x2 − 3yz)/100


y = (60 − y 3 − z 2 + 4xz)/86 (3)




z = (40 + z 3 + y 2 − 5xy)/72

29
Folosind principiul contracţiei în raport cu norma
·
∞, să se arate că sistemul
(3) are soluţie unică v în V := [0, 2]3 . Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (1, 1, 1) să se calculeze iterata x(n) (din principiul contracţiei) pentru care
x(n) −
v
∞ ≤ ε.

Fie r = 1 şi a = (1, 1, 1). Atunci mulţimea V = {x ∈ Rm |


x − a
∞ ≤ r}.
Fie funcţia F = (f, g, h) : V → R 3
cu f (x, y, z) := (80 + x3 − x2 − 3yz)/100,
g(x, y, z) := (60−y 3 −z 2 +4xz)/86 şi h(x, y, z) := (40+z 3 +y 2 −5xy)/72, ∀ (x, y, z) ∈ V .
Sistemul de ecuaţii (3) este echivalent cu F (x, y, z) = (x, y, z).
Avem
 
(3x2 − 2x)/100 −3z/100 −3y/100
 
  
F (x, y, z) =  4z/86 2
−3y /86 (−2z + 4x)/86  ,
 
2
−5y/72 (2y − 5x)/72 3z /72

deci
F  (x, y, z)
∞ = max((|3x2 − 2x| + | − 3z| + | − 3y|)/100, (|4z| + | − 3y 2 | +
| − 2z + 4x|)/86, (| − 5y| + |2y − 5x| + |3z 2 |)/72) ≤ max(28/100, 32/86, 36/72) =
= 1/2 (am folosit 0 ≤ x, y, z ≤ 2). Putem lua q = 1/2. Pe de altă parte
F (a) − a
∞ =
max(28/100, 24/86, 35/72) = 35/72 < (1 − q)r = 1/2. Deci F este 1/2-contracţie a
mulţimii V în raport cu norma
·
∞ . Din principiul contracţiei rezultă că ecuaţia
F (x, y, z) = (x, y, z) are soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă x(n) = F (x(n−1) ),
∀ n ∈ N. Se opreşte procesul iterativ atunci când q/(1 − q)
x(n) − x(n−1)
∞ < ε.
Metoda Gauss-Seidel neliniară

Exemplul -1.28 Fie sistemul de ecuaţii




 x = (432 + x4 + y 4 − 2z 4 + y 2 z 2 )/234


y = (324 − x4 + 2y 4 − 3z 4 + 3x2 z 2 )/432 (4)




z = (234 + 2x4 − 3y 4 + 4z 4 − x2 y 2 + 3x + y)/324

30
Folosind metoda Gauss-Seidel neliniară, să se arate că sistemul (4) are soluţie unică
v în V := [−2, 2] × [−1, 1] × [0, 1]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1/2) să se calculeze iterata x(n) pentru care
x(n) − v
∞ ≤ ε.

Fie r1 = 2, r2 = 1 şi r3 = 1/2, a1 = a2 = 0 şi a3 = 1/2. Atunci mulţimea


V = {(x, y, z) ∈ R3 | |x − a1 | ≤ r1 , |y − a2 | ≤ r2 , |z − a3 | ≤ r3 }. Fie funcţia
F = (f, g, h) : V → R 3
cu f(x, y, z) := (432 + x4 + y 4 − 2z 4 + y 2 z 2 )/234, g(x, y, z) :=
(324−x4 +2y 4 −3z 4 +3x2 z 2 )/432 şi h(x, y, z) := (234+2x4 −3y 4 +4z 4 −x2 y 2 +3x+y)/324,
∀ (x, y, z) ∈ V . Sistemul de ecuaţii (4) este echivalent cu F (x, y, z) = (x, y, z).
Avem F  (x, y, z) =
 
3 3 2 3 2
4x /234 (4y + 2yz )/234 (−8z + 2y z)/234
 
 
 (−4x3 + 6xz 2 )/432 8y 3 /432 (−12z 3 + 6x2 z)/432 ,
 
(8x3 − 2xy 2 + 3)/324 (−12y 3 − 2x2 y + 1)/324 16z 3 /324

deci
F  (x, y, z)
∞ = max((|4x3 | + |4y 3 + 2yz 2 | + | − 8z 3 + 2y 2 z|)/234, (| − 4x3 + 6xz 2 | +
|8y 3 | + | − 12z 3 + 6x2 z|)/432, (|8x3 − 2xy 2 + 3| + | − 12y 3 − 2x2 y + 1| + |16z 3 |)/324) ≤
max(48/234, 88/432, 108/234) = 1/3 (am folosit −2 ≤ x ≤ 2, −1 ≤ y ≤ 1, 0 ≤ z ≤ 1).
Putem lua q = 1/3. Pe de altă parte |f (x, y, z) − a1 | ≤ (|432| + |x4 | + |y 4 | + |2z 4 | +
|y 2 z 2 |)/234 ≤ 452/234 < 2, |g(x, y, z)−a2 | ≤ (|324|+|x4 |+|2y 4 |+|3z 4 |+|3x2 z 2 |)/432 ≤
357/432 < 1 şi |h(x, y, z) − a3 | ≤ (|234| + |2x4 | + |3y 4 | + |4z 4 | + |x2 y 2 | + |3x| + |y|)/324 ≤
122/324 < 1/2, ∀ (x, y, z) ∈ V . Deci F (V ) ⊂ V şi F este 1/3-contracţie a mulţimii V în
raport cu norma
·
∞ . Din principiul contracţiei rezultă că ecuaţia F (x, y, z) = (x, y, z)
ar soluţie unică în V .
(n) (n) (n)
Pentru x(0) = (0, 0, 1/2) se calculează x(n) = (x1 , x2 , x3 ) cu formula de recurenţă
(n) (n) (n) (n−1) (n−1) (n) (n) (n) (n−1)
x1 = f(x(n−1) ), x2 = g(x1 , x2 , x3 ), x3 = h(x1 , x2 , x3 ) ∀ n ∈ N. Se
opreşte procesul iterativ atunci când q/(1 − q)
x(n) − x(n−1)
∞ < ε.
Metoda lui Newton

31
Exemplul -1.29 Fie sistemul de ecuaţii


 x3 + 3xy 2 + 3xz 2 − 183x + 2 = 0


y 3 + +3x2 y + 3yz 2 − 193y + 1 = 0 (5)




z 3 + 3x2 z + 3y 2 z − 188(z − 1) − 1 = 0
Folosind metoda Newton relativă la norma
·
∞ , să se arate că sistemul (5) are soluţie
unică v în V := [−1, 1]2 × [0, 2]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1) să se calculeze iterata x(n) , pentru care
x(n) − v
∞ ≤ ε.

Fie r = 1 şi a = (0, 0, 1). Atunci mulţimea V este Br (a) în raport cu norma

·
∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x3 + 3xy 2 + 3xz 2 − 183x + 2,
g(x, y, z) := y 3 ++3x2 y+3yz 2 −193y+1 şi h(x, y, z) := z 3 +3x2 z+3y 2 z−188(z−1)−1 =
0, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (5) este echivalent cu F (x, y, z) = 0.
Avem F  (x, y, z) =
 
3x2 + 3y 2 + 3z 2 − 183 6xy 6xz
 
 
 6xy 3x2 + 3y 2 + 3z 2 − 193 6yz ,
 
6xz 6yz 3x2 + 3y 2 + 3z 2 − 188
 
6x 6y 6z 6y 6x 0 6z 0 6x
 
  
F (x, y, z) =  6y 6x 0 6x 6y 6z 0 6z 6x  ,
 
6z 0 6x 0 6z 6y 6x 6y 6z
deci
F  (x, y, z)
∞ ≤ max(|18x| + |12y| + |12z|, |12x| + |18y| + |12z|, |12x| + |12y| +
|18z|) ≤ max(54, 54, 60) = 60 (am folosit −1 ≤ x, y ≤ 1, 0 ≤ z ≤ 2). Putem lua
 
−180 0 0
 
 
M = 60. Avem F (a) =  0

−190 0  , deci F  (a) inversabilă, (F  (a))−1 =
 
0 0 −185
 
−1/180 0 0
 
 
 0 −1/190 0  şi
(F  (a))−1
∞ = max(1/180, 1/190, 1/185) = 1/180.
 
0 0 −1/185

32
Luăm α = 1/180. Cum M rα = 60/180 < 1 şi α/(1 − M Rα) = 1/120, putem
lua µ = 120. Avem F (a) = (2, 1, 0)t şi (F  (a))−1 F (a) = (−1/90, −1/190, 0)t , deci

(F  (a))−1 F (a)
∞ = 1/90. Luă m β = 1/90. Condiţia β ≤ (1 − q)r implică q ≤ 89/90.
Din
F (x, y, z)
∞ ≤ max(|x3 | + |3xy 2 | + |3xz 2 | + |183x| + 2, |y 3 | + |3x2 y| + |3yz 2 | +
|193y| + 1, |z 3 | + |3x2 z| + |3y 2 z| + |188(z − 1)| + 1) ≤ max(201, 210, 209) = 210 rezultă
că (M/µ2 )
F (x, y, z)
∞ ≤ q⇔q ≥ 210/240 = 7/8. Din M r/µ ≤ q rezultă q ≥ 1/2.
Deci putem lua q = 7/8 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (0, 0, 1) se calculează x(n) cu formula de recurenţă (5) (folosind la
fiecare pas o procedură de inversare a matricei (F  (x(n) ))−1 ). Se opreşte calculul iterativ
n n
atunci când (2µ)/M · q2 ≤ ε ⇔4 · (7/8)2 ≤ ε.
Metoda lui Newton simplificata

Exemplul -1.30 Fie sistemul de ecuaţii




 x2 + y 2 + z 2 + x + y + z − 853/144 = 0


3x2 − 4y 2 + z 2 + x − y − 3z + 1309/432 = 0 (6)




5x2 + 2y 2 − 3z 2 + 2x − 4y − 6z + 37/9 = 0

Folosind metoda Newton simplificată relativă la norma


·
∞ , să se arate că sistemul
(6) are soluţie unică v în V := [−0, 8; 1, 2]3 . Pentru o eroare ε dată şi pentru iterata
iniţială x(0) := (1, 1, 1), să se calculeze iterata x(n) pentru care
x(n) − v
∞ ≤ ε.

Fie r := 0, 2 = 1/5 şi a := (1, 1, 1). Atunci mulţimea V este Br (a) în raport cu
norma
·
∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x2 + y 2 + z 2 + x +
y + z − 853/144, g(x, y, z) := 3x2 − 4y 2 + z 2 + x − y − 3z + 1309/432 şi h(x, y, z) :=
5x2 + 2y 2 − 3z 2 + 2x − 4y − 6z + 37/9, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (6) este
echivalent cu F (x, y, z) = 0.

33
Avem  
2x + 1 2y + 1 2z + 1
 
  
F (x, y, z) =  6x + 1 −8y − 1 2z − 3  ,
 
10x + 2 4y − 4 −6z − 6
 
2 0 0 0 2 0 0 0 2
 
 
F  (x, y, z) =  6 0 0 0 −8 0 0 0 2 ,
 
10 0 0 0 4 0 0 0 −6
deci
F  (x, y, z)
∞ ≤ max(|2|+|2|+|2|, |6|+|−8|+|2|, |10|+|4|+|−6|) = 20, ∀ (x, y, z) ∈
 
3 9 3
 
 
V . Putem lua M = 20. Avem F (a) =  7 −9 −1  , cu det(F  (a)) = 72, deci

 
12 0 −12
 
9 3 2
1 



F  (a) inversabilă, (F  (a))−1 =  6 −6 2  şi
(F  (a))−1
∞ = max(14/72, 14/72, 16/72) =
72  
9 3 −4
2/9. Luă m α = 2/9. Avem F (a) = (11/144, 13/432, 1/9)t şi (F  (a))−1 F (a) =
(1/72, 1/144, 1/216)t , deci
(F  (a))−1 F (a)
∞ = 1/72. Luăm β = 1/72. Condiţia
β ≤ (1 − q)r implică q ≤ 67/72. Din αM r ≤ q rezultă q ≥ 8/9. Deci putem lua
q = 8/9 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă (6). Se opreşte
calculul iterativ atunci când q/(1 − q) ·
x(n) − x(n−1)
∞ ≤ ε.

Interpolare polinomială
Formula lui Lagrange

Exemplul -1.31 Utilizând formula lui Lagrange de reprezentare să se determine poli-
nomul de interpolare de grad 2 ce verifică condiţiile:

P (0) = 2, P (1) = 1, P (4) = 4.

34
Din curs rezultă că:

P (x) = P (0)L1 (x) + P (1)L2 (x) + P (4)L3 (x).

Avem:
(x − 1)(x − 4) x2 − 5x + 4
L1 (x) = = ,
(0 − 1)(0 − 4) 4
x(x − 4) x2 − 4x
L2 (x) = = ,
(1 − 0)(1 − 4) −3
x(x − 1) x2 − x
L3 (x) = = .
(4 − 0)(4 − 1) 12
Atunci:

x2 − 5x + 4 x2 − 4x x2 − x 1 3
P (x) = 2 · +1· +4· = x2 − x + 2.
4 −3 12 2 2

Algoritmul lui Aitken



Exemplul -1.32 Fie funcţia f : [0, 12] → R cu f(x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 12].
Să se determine polinomul de interpolare Lagrange P (f ; 0, 4, 12; x) utilizând algoritmul
Aitken.

Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că

10x − 6(x − 4)
P22 (x) = = x + 6,
4
6x − 6(x − 12)
P23 (x) = =6
12
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + + 6.
8 2

Algoritmul lui Neville

35

Exemplul -1.33 Fie funcţia f : [0, 12] → R cu f(x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 12].
Să se determine polinomul de interpolare Lagrange P (f ; 0, 4, 12; x) utilizând algoritmul
Neville.

Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că

10x − 6(x − 4)
P22 (x) = = x + 6,
4
6(x − 4) − 10(x − 12) x
P23 (x) = = − + 12
8 2
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + +6
8 2

Formula lui Newton de reprezentare a polinomului de interpolare



Exemplul -1.34 Fie funcţia f : [0, 4] → R cu f (x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 4].
Utilizând formula de reprezentare Newton să se determine polinomul de interpolare
Hermite P (x) = P (f ; 0, 0, 0, 4, 4; x). Se se evalueze eroarea |f (x) − P (x)|.

Avem x1 = x2 = x3 = 0, x4 = x5 = 4. Din formula de reprezentare Newton avem:

P (f ; 0, 0, 0, 4, 4; x) = f(0) + f (0, 0)x + f(0, 0, 0)x2 +

+f (0, 0, 0, 4)x3 + f(0, 0, 0, 4, 4)x3 (x − 4)

Vom calcula diferenţele divizate cu formulele de recurenţă date de (??). Calculele le

36
vom organiza într-un tabel de forma:

nod d.d. d.d. d.d. d.d. d.d.


1n 2n 3n 4n 5n
x1 f (x1 ) f(x1 , x2 ) f(x1 , x2 , x3 ) f (x1 , x2 , x3 , x4 ) f(x1 , . . . , x5 )
x2 f (x2 ) f(x2 , x3 ) f(x2 , x3 , x4 ) f (x2 , x3 , x4 , x5 )
x3 f (x3 ) f(x3 , x4 ) f(x3 , x4 , x5 )
x4 f (x4 ) f(x4 , x5 )
x5 f (x5 )

(am notat cu "d.d.kn " diferenţe divizate asociate la k noduri).



Cum f (x) = 6 2x + 1 − 2x = 6(2x + 1)1/2 − 2x, rezultă că f  (x) = 6(2x + 1)−1/2 −
2 şi f  (x) = −6(2x + 1)−3/2 . Atunci f(0) = 6, f (4) = 10, f (0, 0) = f  (0) = 4,
f (0, 4) = (f(4) − f (0))/(4 − 0) = 1, f (4, 4) = f  (4) = 0, f(0, 0, 0) = 12 f  (0) = −3,
f (0, 0, 4) = (f(0, 4) − f (0, 0))/(4 − 0) = −3/4 etc.. Rezultă următorul tabel în cazul
datelor problemei:
nod 1n 2n 3n 4n 5n
0 6 4 −3 9/16 −7/64
0 6 4 −3/4 2/16
0 6 1 −1/4
4 10 0
4 10
Atunci (cu formula de reprezentare Newton) avem

9 3 7
P (f ; 0, 0, 0, 4, 4; x) = 6 + 4x − 3x2 + x − x3 (x − 4).
16 64

Din formula de evaluare a erorii rezultă că

M5 3
|f (x) − P (f ; 0, 0, 0, 4, 4; x)| ≤ |x (x − 4)2 | ∀ x ∈ [0, 4],
5!

37
unde M5 = sup |f (5) (x)|. Avem f (3) (x) = 18(2x + 1)−5/2 , f (4) (x) = −90(2x + 1)−7/2 ,
x∈[0,4]
f (5) (x) = 630(2x + 1)−9/2 . Cum f (6) (x) = −630 · 9(2x + 1)−11/2 < 0, rezultă că f (5) este
descrescătoare şi cum f (5) (x) > 0 ∀ x ∈ [0, 4] rezultă că M5 = f (5) (0) = 630. Atunci
630 3 21
|f(x) − P (x)| ≤ |x (x − 4)2 | = x3 (x − 4)2 , ∀ x ∈ [0, 4]. 
120 4
Formula lui Newton de interpolare ascendentă

Exemplul -1.35 Să se determine, folosind formula de interpolare Newton ascendentă,


polinomul Lagrange ataşat datelor: n = 3, x0 = 4, h = 2 (de unde x1 = 6, x2 = 8,
x3 = 10) şi f : R → R o funcţie continuă cu f (x0 ) = 1, f (x1 ) = 3, f (x2 ) = 8,
f (x3 ) = 20 şi să se estimeze valoarea funcţiei f în punctul x = 7.

Organizăm calculul diferenţelor nedivizate ascendente în tabelul următor:

k xk f (xk ) ∆1h f(xk ) ∆2hf (xk ) ∆3h f (xk )


0 4 1 2 3 4
1 6 3 5 7
2 8 8 12
3 10 20

(De exemplu ∆1h f (x0 ) = ∆h f (x0 ) = f(x1 )−f(x0 ) = 3−1 = 2, ∆2hf (x0 ) = ∆1h ∆h f (x0 ) =
∆h f (x1 ) − ∆h f (x0 ) = ∆1hf (x1 ) − ∆1h f (x0 ) = 5 − 2 = 3, etc.) Atunci ∆0hf (x0 ) = 1,
∆1h f (x0 ) = 2, ∆2hf (x0 ) = 3, ∆3h f(x0 ) = 4.
x − x0 x−4 x−4
Fie x ∈ R Avem q = = şi atunci Cq0 = 1, Cq1 = q = , Cq2 =
h 2 2
q(q − 1) (x − 4)(x − 6) q(q − 1)(q − 2) (x − 4)(x − 6)(x − 8)
= , Cq3 = = . Rezultă
2 8 6 48
că: P (f ; x0 , x1 , x2 , x3 ; x) =
3
 3 4
Cqi ∆ihf (x0 ) = 1 + (x − 4) + (x − 4)(x − 6) + (x − 4)(x − 6)(x − 8)
i=0
8 48
şi deci
9 1 39
P (f ; x0 , x1 , x2 , x3 ; 7) = 1 + 3 + − = = 4.875 .
8 4 8

38
Formula lui Newton de interpolare descendentă

Exemplul -1.36 Să se determine, folosind formula de interpolare Newton descen-


dentă, polinomul Lagrange ataşat datelor: n = 3, x0 = 10, h = 2 (de unde x−1 = 8,
x−2 = 6, x−3 = 4) şi f : R → R o funcţie continuă cu f (x0 ) = 20, f (x−1 ) = 8,
f (x−2 ) = 3, f (x−3 ) = 1 şi să se estimeze valoarea funcţiei f în punctul x = 7.

Organizăm calculul diferenţelor nedivizate descendente în tabelul următor:

k xk f (xk ) ∇1h f (xk ) ∇2hf (xk ) ∇3h f (xk )


0 10 20 12 7 4
−1 8 8 5 3
−2 6 3 2
−3 4 1

(De exemplu ∇1h f (x0 ) = ∇h f(x0 ) = f (x0 ) − f (x−1 ) = 20 − 8 = 12, ∇2h f(x0 ) =
∇1h ∇h f (x0 ) = ∇h f (x0 ) − ∇h f (x−1 ) = ∇1hf (x0 ) − ∇1h f (x−1 ) = 12 − 5 = 7, etc.) Atunci
∇0h f (x0 ) = 20, ∇1h f(x0 ) = 12, ∇2h f (x0 ) = 7, ∇3h f (x0 ) = 4.
x − x0 x − 10
Fie x ∈ R. Avem q = = şi atunci
h 2
1 x − 10 −q(−q − 1) (x − 10)(x − 8)
0
C−q = 1, C−q = −q = − , C−q
2
= = , C−q
3
=
2 2 8
−q(−q − 1)(−q − 2) (x − 10)(x − 8)(x − 6)
= . Rezultă că:
6 48
3

P (f ; x0 , x−1 , x−2 , x−3 ; x) = (−1)i C−q
i
∇ih f (x0 ) =
i=0

12 7 4
= 20 + (x − 10) + (x − 10)(x − 8) + (x − 10)(x − 8)(x − 6)
2 8 48
şi deci
21 1 39
P (f ; x0 , x−1 , x−2 , x−3 ; 7) = 20 − 18 + + = = 4.875 .
8 4 8

Formula de interpolare Gauss înainte

39
Exemplul -1.37 Să se determine, folosind formula de interpolare Gauss înainte, poli-
nomul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,
x1 = 8, x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1,
f (x0 ) = 3, f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul
x = 7.

Printr-un calcul elementar, se arată că, pentru orice i = 1, 2:

δ h2i−1 f (x1/2 ) = ∆h2i−1 f (x−i+1 ) şi δ 2i 2i


h f(x0 )) = ∆h f (x−i )).

Atunci: P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =


2

2i−1
f (x0 ) + (Cq+i−1 ∆2i−1
h
2i
f(x−i+1 ) + Cq+i−1 ∆2i
h f(x−i )) =
i=1

= f (x0 ) + Cq1 ∆1h f (x0 ) + Cq2 ∆2hf (x−1 ) + Cq+1


3
∆3h f (x−1 ) + Cq+1
4
∆4h f(x−2 ).

Organizăm calculul diferenţelor finite ascendente în tabelul următor:

k xk f (xk ) ∆1h f (xk ) ∆2h f(xk ) ∆3hf (xk ) ∆4hf (xk )


−2 2 −2 3 −1 4 0
−1 4 1 2 3 4
0 6 3 5 7
1 8 8 12
2 10 20

Avem: f (x0 ) = 3, ∆1h f(x0 ) = 5, ∆2hf (x−1 ) = 3, ∆3h f (x−1 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 q(q − 1) (x − 6)(x − 8)
q = rezultă că Cq1 = q = , Cq2 = = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48

P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =

40
x−6 (x − 6)(x − 8) (x − 4)(x − 6)(x − 8)
=3+5 +3 +4
2 8 48
şi
5 3 1 39
f(7)  P (f ; x−2 , x−1 , x0 , x1 , x2 ; 7) = 3 + − − = = 4.875 .
2 8 4 8

Formula de interpolare Gauss înapoi

Exemplul -1.38 Să se determine, folosind formula de interpolare Gauss înapoi, poli-
nomul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,
x1 = 8, x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1,
f (x0 ) = 3, f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul
x = 7.

Printr-un calcul elementar, se arată că, pentru orice i = 1, 2:

δ h2i−1 f (x1/2 ) = ∆h2i−1 f (x−i+1 ) şi δ 2i 2i


h f(x0 )) = ∆h f (x−i )).

Atunci: P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =


2

2i−1
f(x0 ) + (Cq+i−1 ∆2i−1
h
2i
f (x−i ) + Cq+i ∆2i
h f(x−i )) =
i=1

= f (x0 ) + Cq1 ∆1h f (x−1 ) + Cq+1


2
∆2h f(x−1 ) + Cq+1
3
∆3h f (x−2 ) + Cq+2
4
∆4h f (x−2 ).

Organizăm calculul diferenţelor finite ascendente în tabelul următor:

k xk f (xk ) ∆1h f (xk ) ∆2h f(xk ) ∆3hf (xk ) ∆4hf (xk )


−2 2 −2 3 −1 4 0
−1 4 1 2 3 4
0 6 3 5 7
1 8 8 12
2 10 20

41
Avem: f (x0 ) = 3, ∆1h f (x−1 ) = 2, ∆2h f (x−1 ) = 3, ∆3hf (x−2 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 (q + 1)q (x − 4)(x − 6)
q = , rezultă că Cq1 = q = , Cq+1
2
= = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48

P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =

x−6 (x − 4)(x − 6) (x − 4)(x − 6)(x − 8)


=3+2 +3 +4
2 8 48
şi
9 1 39
f(7)  P (f ; x−2 , x−1 , x0 , x1 , x2 ; 7) = 3 + 1 + − = = 4.875 . 
8 4 8

Metode numerice pentru ecuaţii diferenţiale


Metode într-un pas (directe)
Metoda Euler explicită (progresivă)
Exemplul -1.39 Folosind metoda Euler, determinaţi soluţia aproximativă a problemei
Cauchy: 
 y  = y2 − y − 1 , t ∈ [1, 2]
t 4t2
 y(1) = 0.75

în t = 2, luând h = 0.5.

y 1
Avem f (t, y) = y 2 − − 2 , t0 = 1 şi y0 = 0.75 . Se obţine N = 2 şi yn+1 =
t 4t
yn + 0.5f (tn , yn ), pentru n = 0, 1 . Deci rezultă:

t1 = 1.5 , y(t1 )  y1 = y0 + 0, 5f (t0 , y0 ) = 0.75 + 0.5f (1, 0.75) =


0.75 + 0.5(−0.4375) = 0.5313 ,
t2 = 2 , y(t2 )  y2 = y1 + 0, 5f(t1 , y1 ) = 0.5313 + 0.5f(1.5, 0.5313) =
0.5313 + 0.5(−0.1831) = 0.4397 .

Metode Runge-Kutta

42
Exemplul -1.40 Se dă problema Cauchy:

 y  = y2 − y − 1 , t ∈ [1, 2.9]
t 4t2
 y(1) = 0.75

Să se determine valoarea aproximativă a soluţiei în t = 2.9, folosind metoda şi RK24 ,
pentru N = 2.

Pentru N = 2 avem h = 0.9500. Luăm y0 = 0.75, t0 = 1. Pentru metoda RK24 ,


y 1
avem f (t, y) = y 2 − − 2 . Se obţine:
t 4t
- pentru n = 1:

y0,1 = y0 = 1 , t0,1 = t0 = 1 ,
y0,2 = y0 = 1 + 0.95f(t0,1 , y0,1 )/2 = 0.8812 , t0,2 = t0 + 0.95/2 = 1.4750 ,
y0,3 = y0 = 1 + 0.95f(t0,2 , y0,2 )/2 = 1.0305 , t0,3 = t0 + 0.95/2 = 1.4750 ,
y0,4 = y0 = 1 + 0.95f(t0,3 , y0,3 ) = 1.2360 , t0,4 = t0 + 0.95 = 1.9500 ,
y1 = y0 + 0.95(f(t0,1 , y0,1 ) + 2f (t0,2 , y0,2 ) + 2f (t0,3 , y0,3 ) + f (t0,4 , y0,4 ))/6 =
1 + 0.95(−0.2500 + 2 · 0.0642 + 2 · 0.2484 + 0.8281)/6 = 1.1905
t1 = t0 + h = 1.9500

- pentru n = 2:

y1,1 = y1 = 1.1905 , t1,1 = t1 = 1.95 ,


y1,2 = y1 = 1 + 0.95f(t1,1 , y1,1 )/2 = 1.5425 , t1,2 = t1 + 0.95/2 = 2.4250 ,
y1,3 = y1 = 1 + 0.95f(t1,2 , y1,2 )/2 = 1.9984 , t1,3 = t1 + 0.95/2 = 2.4250 ,
y1,4 = y1 = 1 + 0.95f(t1,3 , y1,3 ) = 4.1612 , t1,4 = t1 + 0.95 = 2.9 ,
y2 = y1 + 0.95(f(t1,1 , y1,1 ) + 2f (t1,2 , y1,2 ) + 2f (t1,3 , y1,3 ) + f (t1,4 , y1,4 ))/6 =
1.1905 + 0.95(0.7411 + 2 · 1.7008 + 2 · 3.1270 + 15.8509)/6 = 5.3464
t2 = t1 + h = 2.9 . 

Metode în mai mulţi paşi (indirecte)


Metoda Adams-Bashforth

43
l
Exemplul -1.41 Folosind metoda Adams-Bashforth pentru r = 3, determinaţi soluţia
aproximativă a problemei Cauchy:

 y  = y2 − y − 1 , t ∈ [1, 2.25]
t 4t2

y(1) = 0.75

în t = 2.25 pentru N = 5, determinând valorile de început y1 , y2 , y3 cu metoda Euler


progresivă.

y 1
Avem h = 0.25 şi f (t, y) = y 2 − − 2 . Aplicând metoda Euler progresivă se
t 4t
obţine:
t0 = 1 , y0 = 0.75 , f0 = f (t0 , y0 ) = −0.4375 ,
t1 = 1.25 , y1 = 0.6406 , f1 = f (t1 , y1 ) = −0.2621 ,
t2 = 1.5 , y2 = 0.5751 , f2 = f (t2 , y2 ) = −0.1638 ,
t3 = 1.75 , y3 = 0.5342 , f3 = f (t3 , y3 ) = −0.1015 ,
şi, în continuare, cu metoda Adams-Bashforth pentru r = 3, rezultă:
h
t4 = 2 , y4 = y3 + (55f3 − 59f2 + 37f1 − 9f0 ) = 0.5166 ,
24

f4 = f (t4 , y4 ) = −0.0539 ,

h
t5 = 2.25 , y5 = y4 + (55f4 − 59f3 + 37f2 − 9f1 ) = 0.5096 ,
24

f5 = f (t5 , y5 ) = −0.0162 .

44

S-ar putea să vă placă și