Curs Calcul Numeric

184
ANALIZ ˘ A NUMERIC ˘ A Note de curs pentru anul III Informatic˘ a de lector dr. Daniel St˘ anic˘ a (email: [email protected]) 1

Transcript of Curs Calcul Numeric

Page 1: Curs Calcul Numeric

ANALIZA NUMERICANote de curs pentru anul III Informatica

de

lector dr. Daniel Stanica

(email: [email protected])

1

Page 2: Curs Calcul Numeric

Analiza numerica (sau calculul numeric) studiaza tehnici de aproximare pentru

rezolvarea problemelor matematice, luând în considerare si evaluarea posibilelor erori.

Aceste tehnici de aproximare sunt transpuse în algoritmi implementati în computer

prin intermediul unor diverse limbaje de programare (MATLAB, C++, JAVA, etc.),

tinându-se cont de puterea de calcul si acuartetea rezultatelor specifice calculatoarelor

sau a limbajelor de programare.

Cursul va cuprinde urmatoarele capitole:

• Metode pentru aproximarea solutiilor ecuatiilor neliniare unidimensionale

• Metode pentru rezolvarea sau aproximarea solutiilor sistemelor de ecuatii liniare

• Metode pentru aproximarea valorilor proprii ale unei matrice

• Metode pentru aproximarea solutiilor sistemelor de ecuatii neliniare

• Aproximarea functiilor reale prin interpolare polinomiala

• Constructia curbelor de regresie

• Derivare numerica

• Integrare numerica: formule de cuadratura

• Metode pentru aproximarea solutiilor ecuatiilor diferentiale

Bibliografie pentru lucrarile de laborator:

IulianaParaschiv-Munteanu, Daniel Stanica - ANALIZANU-

MERICA (Exercitii si teme de laborator), Editura Universitatii

din Bucuresti, 2006.

2

Page 3: Curs Calcul Numeric

Fenomenul de instabilitate manifestat în diverse procese matematice este important

de studiat, dat fiind limitarile tehnicii de calcul sau ale masuratorilor de unde provin

datele de calcul. Urmatorul exemplu scoate în evidenta existenta unui astfel de fenomen

si motivatia studiului sau.

Fie sistemul de ecuatii Ax = b, unde

A =

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

b =

32

23

33

31

cu solutia x =

1

1

1

1

Consideram sistemul perturbat A(x+ δx) = b+ δb, unde

A =

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

b+ δb =

32, 1

22, 9

33, 1

30, 9

Acesta are solutia

x+ δx =

9, 2

−12, 6

4, 5

−1, 1

(1)

Consideram si sistemul perturbat (A+∆A)(x+∆x) = b unde

A+∆A =

10 7 8, 1 7, 2

7, 08 5, 04 6 5

8 5, 98 9, 89 9

6, 99 4, 99 9 9, 98

b =

32

23

33

31

3

Page 4: Curs Calcul Numeric

Acesta are solutia

x+∆x =

−81

137

−34

22

(2)

Sistemul (1) difera de cel initial printr-o ”mica” variatie a coloanei termenilor liberi, iar

sistemul (2) printr-o ”mica” variatie a elementelor matricei. Dupa cum se observa,

aceste ”mici” variatii antreneaza dupa sine variatii ”mari” ale solutiei initiale.

4

Page 5: Curs Calcul Numeric

Metode numerice pentru ecuatii neliniare

În general, modelele matematice asociate fenomenelor fizice sau de alta natura

conduc la ecuatii de forma

f(x) = 0

Ne propunem sa gasim aproximatii ale solutiei ecuatiei anterioare, în cazul în care f

este o functie reala neliniara.

Metoda bisectiei

Aceasta metoda consta în înjumatatirea intervalului în care se afla solutia unei

ecuatii.

Fie a < b ∈ R si f : [a, b]→ R o functie continua cu f(a) · f(b) < 0. Atunci exista

z ∈ [a, b] astfel încât f(z) = 0.

Definim sirurile (an)n≥0, (bn)n≥0, (cn)n≥0 astfel:

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

• Pentru n ≥ 1

— daca f(cn−1) = 0, atunci

an := an−1

bn := bn−1

cn := cn−1

— daca f(an−1) · f(cn−1) < 0, atunci

an := an−1

bn := cn−1

cn := (an + bn)/2

1

Page 6: Curs Calcul Numeric

— daca f(an−1) · f(cn−1) > 0, atunci

an := cn−1

bn := bn−1

cn := (an + bn)/2

Teorema -1.1 Presupunem ca functia f are o singura radacina în [a, b]. Atunci sirul

(cn)n≥0 construit mai sus converge la unica solutie z ∈ [a, b] a ecuatiei f(x) = 0 si

|cn − z| ≤b− a

2n

Iteratiile construite prin metoda bisectiei se opresc la pasul m pentru care

|f(cm)| < ε

sau, pentru o mai mare acuratete, la pasul m pentru care

|f(cm)| < ε si |cm − cm−1| < ε,

unde ε este eroarea de aproximare.

Exemplul -1.1 Sa se aproximeze, folosind metoda bisectiei, solutia ecuatiei x3+4x2−

10 = 0 (continuta în intervalul [−1, 2]) cu eroarile ε1 = 0.01, ε2 = 10−10.

Solutia ecuatiei, aproximata cu eroarea ε1 = 0.01 se obtine la pasul m = 9 si are

valoarea c10 = 1.36132812500000.

Solutia ecuatiei, aproximata cu eroarea ε = 10−10 se obtine la pasul m = 35 si 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 si f : [a, b]→ R o functie continua cu f(a) · f(b) < 0. Atunci exista

z ∈ [a, b] astfel încât f(z) = 0.

Definim sirurile (an)n≥0, (bn)n≥0, (cn)n≥0 astfel:

2

Page 7: Curs Calcul Numeric

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

• Pentru n ≥ 1

— daca f(cn−1) = 0, atunci

an := an−1

bn := bn−1

cn := cn−1

— daca f(an−1)·f(cn−1) < 0, atunci

an := an−1

bn := cn−1

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

— daca f(an−1)·f(cn−1) > 0, atunci

an := cn−1

bn := bn−1

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

Iteratiile construite prin regula falsi se opresc la pasul m pentru care

|f(cm)| < ε

sau, pentru o mai mare acuratete, la pasul m pentru care

|f(cm)| < ε si |cm − cm−1| < ε,

unde ε este eroarea de aproximare.

Teorema -1.2 Presupunem ca functia f are o singura radacina în [a, b]. Atunci sirul

(cn)n≥0 construit mai sus converge la unica solutie z ∈ [a, b] a ecuatiei f(x) = 0.

Exemplul -1.2 Sa se aproximeze, folosind regula falsi, solutia ecuatiei x3+4x2−10 =

0 (continuta în intervalul [−1, 2]) cu eroarile ε1 = 0.01, ε2 = 10−10.

3

Page 8: Curs Calcul Numeric

Solutia ecuatiei, aproximata cu eroarea ε1 = 0.01 se obtine la pasul m = 8 si are

valoarea c7 = 1.36506360624662.

Solutia ecuatiei, aproximata cu eroarea ε = 10−10 se obtine la pasul m = 21 si are

valoarea c21 = 1.36523001341145.

Metoda coardei

Fie [a, b] ⊂ R si f : [a, b]→ R o functie. Definim recurent sirul (xn)n astfel:

x0 := a, x1 := b si

xn+1 :=x0f(xn)− xnf(x0)

f(xn)− f(x0), ∀ n ∈ N

Teorema -1.3 Presupunem ca f este de doua ori derivabila pe [a, b] si

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

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

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

Atunci ecuatia f(x) = 0, are o solutie unica z ∈ [a, b], iar sirul (xn)n converge la z.

Iteratiile construite prin metoda coardei se opresc la pasul m pentru care

|f(xm)| < ε

sau, pentru o mai mare acuratete, la pasul m pentru care

|f(xm)| < ε si |xm − xm−1| < ε,

unde ε este eroarea de aproximare.

Exemplul -1.3 Sa se aproximeze, folosind metoda coardei, solutia ecuatiei x3−x+3 =

0 (continuta în intervalul [−3, 0]) cu eroarile ε1 = 0.01, ε2 = 10−10.

4

Page 9: Curs Calcul Numeric

Se verifica ipotezele teoremei anterioare.

Solutia ecuatiei, aproximata cu eroarea ε1 = 0.01 se obtine la pasul m = 10 si are

valoarea x15 = −1.66063905970749.

Solutia ecuatiei, aproximata cu eroarea ε = 10−10 se obtine la pasul m = 40 si are

valoarea x40 = −1.67169988158683.

Metoda secantei

Fie [a, b] ⊂ R si f : [a, b]→ R o functie. Definim recurent sirul (xn)n astfel:

x0, x1 ∈ [a, b] si

xn+1 :=xn−1f(xn)− xnf(xn−1)

f(xn)− f(xn−1), ∀ n ∈ N

Teorema -1.4 Presupunem ca f este derivabila pe [a, b] si

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

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

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

Atunci ecuatia f(x) = 0, are o solutie unica z ∈ [a, b], iar sirul (xn)n converge la z.

Iteratiile construite prin metoda secantei se opresc la pasul m pentru care

|f(xm)| < ε

sau, pentru o mai mare acuratete, la pasul m pentru care

|f(xm)| < ε si |xm − xm−1| < ε,

unde ε este eroarea de aproximare.

5

Page 10: Curs Calcul Numeric

Exemplul -1.4 Sa se aproximeze, folosind metoda secantei, solutia ecuatiei x3 − x+

3 = 0 (continuta în intervalul [−15, 15], luând x0 = 1, x1 = 2) cu eroarile ε1 = 0.01,

ε2 = 10−10.

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

Solutia ecuatiei, aproximata cu eroarea ε1 = 0.01 se obtine la pasul m = 23 si are

valoarea x23 = −1.67109143768403.

Solutia ecuatiei, aproximata cu eroarea ε = 10−10 (chiar ε = 10−13) se obtine la

pasul m = 26 si are valoarea x26 = −1.67169988165715

Metoda lui Newton

Fie [a, b] ⊂ R si f : [a, b]→ R o functie.

Teorema -1.5 Presupunem ca f este de doua ori derivabila pe [a, b], ca f ’, f” nu se

anuleaza pe [a, b] si f(a) · f(b) < 0. Fie x0 ∈ [a, b] astfel încât

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

si

xn+1 := xn −f(xn)

f ’(xn), ∀ n ∈ N

Atunci ecuatia f(x) = 0, are o solutie unica z ∈ [a, b], iar sirul (xn)n converge la z.

Propozitia -1.1 Este adevarata urmatoarea formula de evaluare a erorii:

|xn − z| ≤|f(xn)|

minx∈[a,b]

|f ’(x)|, ∀ n ∈ N

Iteratiile construite prin metoda Newton se opresc la pasul m pentru care

|f(xm)| < ε

6

Page 11: Curs Calcul Numeric

sau, pentru o mai mare acuratete, la pasul m pentru care

|f(xm)| < ε si |xm − xm−1| < ε,

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

anterioara).

Exemplul -1.5 Sa se aproximeze, folosind metoda secantei, solutia ecuatiei x3 − x+

3 = 0 (continuta în intervalul [−2,−1], luând x0 = −1) cu eroarile ε1 = 0.01, ε2 =

10−10.

Se verifica ipotezele teoremei anterioare.

Solutia ecuatiei, aproximata cu eroarea ε1 = 0.01 se obtine la pasul m = 5 si are

valoarea x5 = −1.67170038194364.

Solutia ecuatiei, aproximata cu eroarea ε = 10−10 (chiar ε = 10−11) se obtine la

pasul m = 7 si are valoarea x7 = −1.67169988165716.

Principiul contractiei

Fie I ⊂ R un interval si f : I→ R o functie. f se numeste contractie daca si numai

daca:

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

b) f(I) ⊂ I

Propozitia -1.2 Fie f : [a, b]→ R o functie derivabila.

a) Daca exista 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].

b) Daca |f(x)− f(y)| ≤ q |x− y| si∣∣f(a+b2

)− a+b

2

∣∣ ≤ (1−q) · b−a2, atunci f([a, b]) ⊂

[a, b].

7

Page 12: Curs Calcul Numeric

Teorema -1.6 Fie f : I → R o contractie si x0 ∈ I. Definim sirul (xn)n prin relatia

de recurenta

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

Atunci ecuatia f(x) = x are o solutie unica z ∈ [a, b] , iar sirul (xn)n converge la z, cu

urmatoarea formula de evaluare a erorii:

|xn − z| ≤q

1− q|xn − xn−1| ≤

qn

1− q|x1 − x0| , ∀ n ∈ N.

Iteratiile construite prin metoda coardei se opresc la pasul m pentru care

q

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

sau la pasul m pentru care

|f(xm)− xm| < ε si |xm − xm−1| < ε,

unde ε este eroarea de aproximare.

Exemplul -1.6 Sa se aproximeze, folosind principiul contractiei, solutia ecuatiei

x =8

x+ 2

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

Solutia ecuatiei, aproximata cu eroarea ε1 = 0.01 se obtine la pasul m = 9 si are

valoarea x9 = 1.99707174231332.

Solutia ecuatiei, aproximata cu eroarea ε = 10−10 se obtine la pasul m = 36 si are

valoarea x36 = 2.00000000002183.

8

Page 13: Curs Calcul Numeric

Metode pentru rezolvarea sau aproximarea solutiilorsistemelor de ecuatii liniare

Norme de vectori si norme de matrici

Fie m ∈ N∗. Pe spatiul Rm se considera normele vectoriale uzuale ‖ · ‖1, ‖ · ‖2 si

‖ · ‖∞ definite prin

‖x‖1 =m∑

i=1

|xi| ;

‖x‖2 =

√√√√m∑

i=1

|xi|2 ;

‖x‖∞ = max1≤i≤m

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

Fie Mm(R) spatiul matricelor cu m linii si m coloane cu elemente din R. Pe Mm(R)

se pot considera norme definite ca norme de operator liniar

‖A‖αβ := sup‖x‖α≤1

‖Ax‖β, ∀A ∈Mm(R)

unde ‖ · ‖α si ‖ · ‖β sunt norme pe Rm. În cazul în care α = β notam ‖A‖α := ‖A‖ααsi o numim norma α a matricei A (subordonata normei vectoriale ‖ · ‖α).

Propozitia -1.1 Fie A = (aij)1≤i,j≤m ∈Mm(R). Atunci ‖A‖1 = max1≤j≤m

m∑

i=1

|aij|.

Propozitia -1.2 Fie A = (aij)1≤i,j≤m ∈Mm(R). Atunci ‖A‖∞ = max1≤i≤m

m∑

j=1

|aij|.

Propozitia -1.3 Fie A ∈Mm(R). Atunci ‖A‖2 =√

ρ(AtA), unde ρ(AtA) reprezinta

cea mai mare valoare proprie a matricei AtA.

Exemplul -1.1 Fie

A =

1 −2 3

4 −5 6

7 −8 9

1

Page 14: Curs Calcul Numeric

Atunci

‖A‖1 = max1≤j≤3

3∑

i=1

|aij|=

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

si

‖A‖∞ = max1≤i≤3

3∑

j=1

|aij| =

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

Conditionarea unui sistem de ecuatii liniare

Fenomenul de instabilitate manifestat în diverse procese matematice este important

de studiat , dat fiind limitarile tehnicii de calcul sau ale masuratorilor de unde provin

datele de calcul. Un exemplu cum este cel care urmeaza scoate în evidenta existenta

unui astfel de fenomen si motivatia studiului sau.

Exemplul -1.2 Fie sistemul de ecuatii Ax = b unde

A =

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

b =

32

23

33

31

cu solutia x =

1

1

1

1

Consideram sistemul perturbat A(x + δx) = b + δb unde

A =

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

b + δb =

32, 1

22, 9

33, 1

30, 9

2

Page 15: Curs Calcul Numeric

cu solutia x + δx =

9, 2

−12, 6

4, 5

−1, 1

(1)

Consideram si sistemul perturbat (A + ∆A)(x + ∆x) = b unde

A + ∆A =

10 7 8, 1 7, 2

7, 08 5, 04 6 5

8 5, 98 9, 89 9

6, 99 4, 99 9 9, 98

b =

32

23

33

30

cu solutia x + ∆x =

−81

137

−34

22

(2)

Sistemul (1) difera de cel initial printr-o ”mica” variatie a coloanei termenilor liberi,

iar sistemul (2) printr-o ”mica” variatie a elementelor matricei. Dupa cum se observa

aceste ”mici” variatii antreneaza dupa sine variatii ”mari” ale solutiei initiale.

Exemplul -1.3 Daca consideram sistemul perturbat (A+∆A)(x+∆x) = b+∆b unde

A + ∆A =

10 7 8, 1 7, 2

7, 08 5, 04 6 5

8 5, 98 9, 89 9

6, 99 4, 99 9 9, 98

b + ∆b =

32, 1

22, 9

33, 1

30, 9

atunci acesta are solutia x + ∆x =

332, 90

−550, 49

143, 88

−84, 58

(3)

3

Page 16: Curs Calcul Numeric

În legatura cu aceasta problema de stabilitate a sistemelor de ecuatii liniare sunt

cunoscute urmatoarele rezultate:

Definitia -1.1 Fie A o matrice nesingulara si ‖ ‖ o norma a matricei A. Numarul

cond(A) := ‖A‖ · ‖A−1‖ se numeste indice de conditionare al matricei A relativ la

norma ‖ ‖.

Propozitia -1.4 Fie sistemul de ecuatii liniare Ax = b si sistemul perturbat A(x +

δx) = b + δb. Presupunem b �= 0. Atunci

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

si‖δx‖‖x‖ ≥

1

cond(A)· ‖δb‖‖b‖

În plus exista b �= 0 si δb �= 0 astfel încât inegalitatea (4) sa devina egalitate.

Propozitia -1.5 Fie sistemul de ecuatii liniare Ax = b si sistemul perturbat (A +

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

‖∆x‖‖x + ∆x‖ ≤ cond(A) · ‖∆A‖

‖A‖ . (5)

În plus exista b �= 0 si ∆A �= 0 astfel încât inegalitatea (5) sa devina egalitate.

Propozitia -1.6 Fie sistemul de ecuatii liniare Ax = b si sistemul perturbat (A +

∆A)(x + ∆x) = b + ∆b. Daca ‖A−1∆A‖ < 1, atunci

‖∆x‖‖x‖ ≤ cond(A)

1− ‖A−1∆A‖ ·(‖∆b‖‖b‖ +

‖∆A‖‖A‖

)

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

Avem:

‖δx‖∞ = ‖x + δx− x‖∞ = 13, 6

4

Page 17: Curs Calcul Numeric

‖x‖∞ = 1.

Atunci‖δx‖∞‖x‖∞

=13, 6

1= 13, 6

A−1 =

25 −41 10 −6

−41 68 −17 10

10 −17 5 −3

−6 10 −3 2

‖A‖∞ = 33,∥∥A−1

∥∥∞

= 136.

Rezulta ca

cond(A) := ‖A‖∞ ·∥∥A−1

∥∥∞

= 33 · 136 = 4488

Avem

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

‖b‖∞ = 33..

Atunci‖δb‖∞‖b‖∞

=0, 1

33=

1

330

si

cond(A) · ‖δb‖∞‖b‖∞= 4488 · 1

330= 13, 6

Deci‖δx‖∞‖x‖∞

= cond(A) · ‖δb‖∞‖b‖∞

5

Page 18: Curs Calcul Numeric

Exemplul -1.5 Fie sistemul de ecuatii Ax = b unde

A =

10 1 4 0

1 10 5 −1

4 5 10 7

0 −1 7 9

b =

15

15

26

15

cu solutia x =

1

1

1

1

Consideram sistemul perturbat A(x + δx) = b + δb unde

A =

10 1 4 0

1 10 5 −1

4 5 10 7

0 −1 7 9

b + δb =

16

16

25

16

cu solutia x + δx =

832

1324

−2407

2021

Exemplul -1.6 Un alt exemplu de matrici cu un indice de conditionare mare sunt

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

Hn = (h(n)ij )i,j=1,n cu h

(n)ij =

1

i + j − 1, ∀ i, j = 1, n

Metode directe

Metoda lui Gauss (cu pivotare partiala)

Se dau m ∈ N∗ si A = (aij) ∈Mm,m+1(R). Fie sistemul de ecuatii liniare

a11x1 + · · ·+ a1mxm = a1,m+1

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

am1x1 + · · ·+ ammxm = am,m+1

6

Page 19: Curs Calcul Numeric

cu necunoscutele x1, . . . , xm ∈ R. Metoda lui Gauss este folosita atât pentru deter-

minarea solutiei sistemului, cât si pentru calculul determinantului matricei sistemului..

Sistemul dat se transforma în m− 1 etape astfel:

Initial se considera determinantul matricei sistemului det = 1

Pentru n între 1 si m− 1 se efectueaza urmatoarele:

• Se determina max = |asn| = maxn≤i≤m

|ain| (s ∈ n,m reprezinta pozitia pe care s-a

gasit maximul).

• Se ia piv = asn (elementul asn se numeste pivot).

• Daca piv = 0, atunci metoda nu se aplica.

• det = det · piv.

• Daca s �= n, atunci det = (−1) · det si se permuta ecuatia s cu ecuatia n.

• Coeficientii ecuatiei n se împart la piv.

• Pentru ∀i ∈ n + 1,m se elimina xn din ecuatia i astfel: aij = aij − ain · anj,

∀ j ∈ m,n.

Procedând astfel se obtine un sistem de forma:

xi +m∑

j=i+1

aijxj = ai,m+1, 1 ≤ i ≤ m− 1

ammxm = am,m+1

(6)

Determinantul matricei sistemului se calculeaza astfel: det = det · amm.

Daca amm = 0, atuci metoda nu se aplica.

Se rezolva sistemul (6) astfel:

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

7

Page 20: Curs Calcul Numeric

• xi = ai,m+1 −m∑

j=i+1

aijxj, ∀ i ∈ m− 1, 1.

Exemplul -1.7 Fie sistemul de ecuatii liniare

x + 12y + 1

3z = 1

12x + 1

3y + 1

4z = 2

13x + 1

4y + 1

5z = 3

Sa se calculeze determinantul matricei sistemului si sa se rezolve sistemul cu metoda

lui Gauss.

Folosind transformarile date de metoda lui Gauss, obtinem urmatorul sistem de

ecuatii:

x + 12y + 1

3z = 1

y + z = 18

1180

z = 76

Calculam determinantul matricei sistemului (tot cu algoritmul dat de metoda lui

Gauss) det = 12160

si rezolvam sistemul anterior. Obtinem z = 210, y = −192, x = 27.

Observatie: Alegerea pivotului ca cel mai mare element de pe coloana se face

pentru a minimiza erorile care apar daca pivotul are valori mici. Daca consideram

sistemul de ecuatii liniare

x + 592y = 437

592x + 4308y = 2251

si daca consideram ca lucram numai cu 4 cifre exacte, atunci prin alegerea pivotului

elementul 1,prin metoda lui Gauss se obtine solutia

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

iar prin alegera pivotului elementul 592, prin metoda lui Gauss se obtine solutia

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

8

Page 21: Curs Calcul Numeric

pe când solutia exacta a sistemului este

x = −1.58889055801431, y = 0.74085961242908.

Metoda lui Gauss (cu pivotare totala)

Se dau m ∈ N∗ si A = (aij) ∈Mm,m+1(R). Fie sistemul de ecuatii liniare

a11x1 + · · ·+ a1mxm = a1,m+1

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

am1x1 + · · ·+ ammxm = am,m+1

cu necunoscutele x1, . . . , xm ∈ R. La metoda lui Gauss cu pivotare totala cautarea

pivotului se face în toata matricea ramasa de transformat (reamintim ca, la pivotarea

partiala, pivotul se cauta numai pe prima coloana a matricei ramase de transformat).

Sistemul dat se transforma în m− 1 etape astfel:

Initial se considera determinantul matricei sistemului det = 1

Pentru n între 1 si m− 1 se efectueaza urmatoarele:

• Se determina max = |aps| = maxn≤i,j≤m

|aij| (s, p ∈ n,m reprezinta indicii de pozitie

ai maximului determinat).

• Se ia piv = aps (elementul aps se numeste pivot)

• Daca piv = 0, atunci metoda nu se aplica.

• det = det · piv.

• Daca p = n sau s = n (dar nu p = s = n), atunci det = (−1) · det si se permuta

coloana s cu coloana n (daca p = n) sau linia p cu linia n (daca s = n). Daca

p �= n si s �= n se permuta linia p cu linia n si apoi coloana s cu coloana n.

• Ecuatia n se împarte la piv.

9

Page 22: Curs Calcul Numeric

• Pentru ∀i ∈ n + 1,m se elimina xn din ecuatia i astfel: aij = aij − ain · anj,

∀ j ∈ m,n.

Procedând astfel se obtine un sistem de forma:

x′i +m∑

j=i+1

aijx′j = ai,m+1, 1 ≤ i ≤ m− 1

ammx′m = am,m+1

(7)

Determinantul matricei sistemului se calculeaza astfel: det = det · amm.

Daca amm = 0, atuci metoda nu se aplica.

Se rezolva sistemul (7) astfel:

• x′m = am,m+1/am,m;

• x′i = ai,m+1 −m∑

j=i+1

aijx′j, ∀ i ∈ m− 1, 1.

unde (x′1, . . . , x′m) este o permutare a solutiei (x1, . . . , xm) sistemului initial (dupa

cum s-au permutat coloanele matricei initiale în procesul de transformare a sistemului).

Exemplul -1.8 Folosind metoda lui Gauss cu pivotare totala, sa se rezolve sistemul

de ecuatii liniare:

5x + y + 2z = 29

3x− y + z = 10

x + 2y + 4z = 31

(8)

Sa se calculeze si determinantul matricei sistemului.

Folosind transformarile date de metoda lui Gauss cu pivotare totala, obtinem ur-

10

Page 23: Curs Calcul Numeric

matorul sistem de ecuatii:

x +2

5z +

1

5y =

29

5

z +1

2y = 7

−3

2y = −6

Calculam determinantul matricei sistemului (tot cu algoritmul dat de metoda lui

Gauss) det = −27 si rezolvam sistemul anterior. Obtinem z = 5, y = 4, x = 3.

Metoda lui Gauss-Jordan de calcul a inversei unei matrice

Se dau m ∈ N∗ si matricea

A =

a11 . . . a1m...

......

am1 . . . amm

Metoda lui Gauss-Jordan este folosita pentru determinarea inversei matricei A (daca

aceasta exista). Se considera ansamblul matriceal compus din matricea A si matricea

unitate Im

a11 . . . a1m...

......

am1 . . . amm

∣∣∣∣∣∣∣∣∣

1 . . . 0

......

...

0 . . . 1

Ansamblul anterior se transforma (analog metodei Gauss - cu pivotare partiala sau

totala) astfel:

Pentru n între 1 si m se efectueaza urmatoarele:

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

ecuatii liniare cu pivotare partiala (analog se poate descrie un algoritm folosind

metoda lui Gauss cu pivotare totala).

11

Page 24: Curs Calcul Numeric

• Daca piv = 0, atunci metoda nu se aplica.

• Daca s �= n, atunci se permuta ecuatia s cu ecuatia n.

• Ecuatia n se împarte la piv.

• Pentru ∀ i ∈ n + 1,m se elimina xn din ecuatia i astfel: aij = aij − ain · anj,

∀ j ∈ 2m,n.

Procedând astfel se obtine un ansamblu matricial de forma:

1 a12 . . . a1m

0 1 . . . a2m...

.... . .

...

0 0 . . . 1

∣∣∣∣∣∣∣∣∣∣∣∣∣

a1,m+1 a1,m+2 . . . a1,2m

a2,m+1 a2,m+2 . . . a2,2m...

.... . .

...

am,m+1 am,m+2 . . . am,2m

(matricea din partea dreapta are cel putin n(n− 1)/2 zerouri).

Pentru n între m si 2 se efectueaza urmatoarele:

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

∀ j ∈ 2m,n.

Precedând astfel se obtine un ansamblu matricial de forma:

1 0 . . . 0

0 1 . . . 0

......

. . ....

0 0 . . . 1

∣∣∣∣∣∣∣∣∣∣∣∣∣

b11 b12 . . . b1m

b21 b22 . . . b2m...

.... . .

...

bm1 bm2 . . . bmm

.

Matricea

B =

b11 b12 . . . b1m

b21 b22 . . . b2m...

.... . .

...

bm1 bm2 . . . bmm

12

Page 25: Curs Calcul Numeric

are liniile matricei inverse A−1 modulo permutarea liniilor descrisa în algoritm.

Rezolvarea unui sistem de ecuatii liniare Ax = b este echivalenta, dupa ce s-a

calculat inversa matricei A, cu egalitatea x = A−1b.

Exemplul -1.9 Folosind metoda Gauss-Jordan sa se calculeze inversa matricei

A =

1 12

13

12

13

14

13

14

15

Formam ansamblul matriceal

1 12

13

12

13

14

13

14

15

∣∣∣∣∣∣∣∣∣

1 0 0

0 1 0

0 0 1

Cu transformarile din algoritm obtinem:

1 12

13

0 1 1

0 0 1

∣∣∣∣∣∣∣∣∣

1 0 0

−6 12 0

30 −180 180

iar, în final,

1 0 0

0 1 0

0 0 1

∣∣∣∣∣∣∣∣∣

9 −36 30

−36 192 −180

30 −180 180

Deci

A−1 =

9 −36 30

−36 192 −180

30 −180 180

Factorizarea LU

13

Page 26: Curs Calcul Numeric

Se numeste factorizare LU a unei matrice A descompunerea matricei ca produs de

doua matrici, una inferior triunghiulara (notata L), alta superior triunghiulara (notata

U), adica A = LU. Descompunerea, daca este posibila, nu este unica.

Teorema -1.1 Fie A = (aij)1≤i,j≤m o matrice astfel încât determinantii "de colt"

∆k := det((aij)1≤i,j≤k) sa fie nenuli, pentru orice k = 1,m. Atunci A se descompune

unic sub forma A = LU cu L = (lij)1≤i,j≤m inferior triunghiulara si U = (uij)1≤i,j≤m

superior triunghiulara cu elementele diagole egale cu 1.

Calculul elementelor matricelor L si U se face dupa formulele:

li1 = ai1, i = 1,m, u11 = 1, u1j =a1jl11

, j = 2,m. (9)

iar, pentru k = 2,m,

lik = aik −k−1∑

p=1

lipupk, i = k,m, ukk = 1, ukj =

akj −k−1∑

p=1

lkpupj

lkk, j = k + 1,m. (10)

Fie un sistem de ecuatii liniare Ax = b, pentru care A admite factorizare LU. Atunci

solutia y a sistemului Ly = b se determina astfel:

yi =

bi −i−1∑k=1

likyk

lii∀i = 1,m

Solutia x a sistemului initial se determina astfel:

xi = yi −m∑

k=i+1

uikxk ∀i = m, 1

Exemplul -1.10 Sa se factorizeze sub forma LU matricea

A =

2 4 −2 0

−1 −1 2 3

4 5 −2 −9

0 1 3 4

14

Page 27: Curs Calcul Numeric

Se verifica mai întâi ca determinantii de colt ai matricei A sunt nenuli. Cu formulele

(9) si (10) se obtine:

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

L =

2 0 0 0

−1 1 0 0

4 −3 5 0

0 1 2 1

, U =

1 2 −1 0

0 1 1 3

0 0 1 0

0 0 0 1

Metoda radacinii patrate (Cholesky)

Definitia -1.2 O matrice A = (aij)1≤i,j≤m se numeste simetrica daca A = At. Ma-

tricea A este pozitiv definita daca determinantii "de colt" ∆k := det((aij)1≤i,j≤k) sunt

strict pozitivi pentru orice k = 1,m.

Teorema -1.2 Fie A simetrica si pozitiv definita. Atunci A se descompune unic sub

forma A = L · Lt cu L = (lij)1≤i,j≤m inferior triunghiulara.

15

Page 28: Curs Calcul Numeric

Fie sistemul de ecuatii liniare Ax = b, cu A = (aij) ∈ Mm(R) simetrica si pozitiv

definita, iar b = (bi) ∈ Rm.

Descompunem A = L · Lt cu L = (lij) ∈Mn(R) matrice superior triunghiulara. Se

determina mai întâi y = (yi) ∈ Rn solutia sistemului de ecuatii Ly = b si apoi solutia

x = (xi) ∈ Rn a sistemului initial se determina prin rezolvarea sistemului Ltx = y.

Se calculeaza elementele matricei L astfel:

ljj =

ajj −j−1∑k=1

l2jk si lij =

aij −j−1∑k=1

likljk

ljj, ∀i = j + 1,m,∀j = 1,m

(11)

Solutia y a sistemului Ly = b se determina astfel:

yi =

bi −i−1∑k=1

likyk

lii∀i = 1,m (12)

Solutia x a sistemului initial se determina astfel:

xi =

yi −m∑

k=i+1

lkixk

lii∀i = m, 1 (13)

Daca matricea A nu este simetrica si pozitiv definita, dar este inversabila, atunci

sistemul de ecuatii liniare Ax = b se transforma în sistemul echivalent AtAx = Atb, a

carui matrice este simetrica si pozitiv definita.

Exemplul -1.11 Folosind metoda radacinii patrate, sa se rezolve sistemul de ecuatii

liniare Ax = b cu

A =

4 2 2

2 10 4

2 4 6

, b =

8

16

12

Se verifica imediat ca matricea A este simetrica si pozitiv definita. Cu formulele

(11) se obtine

l11 = 2, l12 = 1, l13 = 1

16

Page 29: Curs Calcul Numeric

l22 = 3, l23 = 1

l33 = 2

Din (12) rezulta ca

y1 = 4, y2 = 4, y3 = 2

iar din (13) rezulta ca

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

Descompunerea QR

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

calcula solutia x = (x1, . . . , xm) ∈ Rm a sistemului Ax = b si determinantul matricei

sistemului folosind factorizarea QR.

Factorizarea QR a matricei A însemna descompunerea A = QR cu Q matrice

ortogonala, adica QQt = QtQ = Im si R matricea superior triunghiulara.

Daca notam Q = (qij) cum∑

k=1

qikqjk = δij sim∑

k=1

qkiqkj = δij pentru i, j = 1,m si

R = (rij) cu rij = 0 pentru 1 ≤ j < i ≤ m, atunci din identificarea A = QR se obtin

relatiile urmatoare:

r11 =√

a211 + · · ·+ a2m1 ,

qi1 =ai1r11

, pentru i = 1,m

17

Page 30: Curs Calcul Numeric

si pentru k = 2,m avem:

rjk =m∑

i=1

aikqij , pentru j = 1, k − 1

rkk =

√√√√m∑

i=1

a2ik −k−1∑

i=1

r2ik ,

qik =1

rkk

(aik −

k−1∑

j=1

rjkqij

), pentru i = 1,m .

(14)

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

- rezolvam întâi sistemul Qy = b a carui solutie este

y = Qtb,

sau pe componente:

yi =m∑

j=1

qjibj , i = 1,m.

- apoi, rezolvam sistemul triunghiular Rx = y, si obtinem:

xm =ymrmm

,

xi =1

rii

(yi −

m∑

j=i+1

rijxj

), i = m− 1, 1 .

(15)

Observatie. Descompunerea QR nu exista daca exista un k ∈ 1,m astfel încât

rkk = 0 în (??) sau (??).

Exemplul -1.12 Pentrum = 3 , matricea A =

0 4 5

−1 −2 −3

0 0 1

si vectorul b =

23

−14

3

,

rezolvati sistemul Ax = b folosind o descompunere QR.

18

Page 31: Curs Calcul Numeric

Folosind relatiile de mai sus obtinem:

Q =

0 1 0

−1 0 0

0 0 1

si R =

1 2 3

0 4 5

0 0 1

,

iar pentru solutie

y = Qtb =

0 −1 0

1 0 0

0 0 1

23

−14

3

=

14

23

3

,

iar din Rx = y rezulta:

x =

1

2

3

.

Metode iterative de rezolvare a sistemelor de ecuatii liniare

Metoda lui Jacobi

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

Consideram sistemul de ecuatii liniare Ax = b. Notam cu I matricea unitate din

Mm(R) si cu B := I − A. Sistemul de ecuatii Ax = b se transforma echivalent astfel:

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

Pentru orice x(0) ∈ Rm definim sirul (numit sir Jacobi) (x(n))n∈N prin relatia de re-

curenta

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

Fie ‖ · ‖ o norma pe Mm(R). Daca ‖B‖ = q < 1 atunci avem evaluarile:

‖x(n) − x‖ ≤ q

1− q‖x(n) − x(n−1)‖ ≤ qn

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

19

Page 32: Curs Calcul Numeric

(în particular limn→∞

x(n) = x).

Algoritm: DacaA = (aij)1≤i,j≤m, b = (bi)1≤i≤m, B = (bij)1≤i,j≤m, x(n) = (x(n)i )1≤i≤m,

∀n ∈ N , atunci bij = −aij daca i �= j, bii = 1−aii, ∀ 1 ≤ i, j ≤ m. Daca pe Rm consid-

eram norma ‖ · ‖1, atunci q := ‖B‖1 = max1≤j≤m

m∑i=1

|bij|, iar daca consideram norma ‖ · ‖∞

atunci q := ‖B‖∞ = max1≤i≤m

m∑j=1

|bij|. Se testeaza conditia de aplicabilitate a metodei

q < 1. În caz de aplicabilitate se atribuie iteratei initiale x(0) o valoare oarecare din

Rm, iar calculul celorlalte iterate se face dupa formula:

x(n+1)i =

m∑

j=1

bijx(n)j + bi, ∀ 1 ≤ i ≤ m, ∀n ∈ N.

Se opreste calculul recursiv la iterata x(n) pentru care

q

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

unde p = 1 sau p = ∞, iar ε este eroarea de aproximatie dorita.

Exemplul -1.13 Sa se arate ca se poate aplica metoda lui Jacobi (relativa la normele

1 si ∞) pentru sistemul de ecuatii liniare Ax = b cu

A =

0, 9 0, 1 0, 2 0, 3

−0, 2 0, 8 0, 1 0, 4

0, 1 −0, 3 0, 7 −0, 1

−0, 3 −0, 2 −0, 1 0, 9

; b =

3, 6

2

2, 4

1, 5

.

Luând x(0) =

0

0

0

0

sa se determine numarul de iteratii necesar pentru a aproxima

solutia sistemului cu o eroare mai mica de 10−10.

20

Page 33: Curs Calcul Numeric

Avem

B = I −A =

0, 1 −0, 1 −0, 2 −0, 3

0, 2 0, 2 −0, 1 −0, 4

−0, 1 0, 3 0, 3 0, 1

0, 3 0, 2 0, 1 0, 1

Atunci

‖B‖1 = max1≤j≤4

4∑

i=1

|bij| = 0, 9 < 1.,

si

‖B‖∞ = max1≤i≤4

4∑

j=1

|bij| = 0, 9 < 1

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

‖x(n) − x‖p ≤qn

1− q‖x(1) − x(0)‖p, ∀n ∈ N∗

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

x(n) cu eroarea ε = 10−10 este suficient ca qn

1−q‖x(1) − x(0)‖p < ε. Avem

‖x(1) − x(0)‖1 = ‖b‖1 = 9, 5

si

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

Atunciqn

1− q‖x(1) − x(0)‖1 < ε⇐⇒ n =

[log0,9

ε

95

]+ 1

siqn

1− q‖x(1) − x(0)‖∞ < ε⇐⇒ n =

[log0,9

ε

36

]+ 1

Metoda lui Jacobi pentru matrice diagonal dominante pe linii

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

21

Page 34: Curs Calcul Numeric

Consideram sistemul de ecuatii liniare Ax = a. Notam cu I matricea unitate din

Mm(R) si cu

D = diag(A) =

a11 0 · · · 0

0 a22 · · · 0

· · · · · · · · · · · ·

0 0 · · · amm

.

Spunem ca A este diagonal dominanta pe linii daca

|aii| >∑

j=1,m j =i

|aij| , ∀i ∈ 1,m

Atunci aii �= 0, ∀i ∈ 1,m, deci D este inversabila. Notam cu B = I − D−1A si cu

b = D−1a. Sistemul de ecuatii Ax = a se transforma echivalent astfel:

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

Pentru orice x(0) ∈ Rm definimm sirul (x(n))n∈N prin relatia de recurenta

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

Teorema -1.3 Fie A o matrice diagonal dominanta pe linii, B = I−D−1A, q := ‖B‖∞si (x(n))n∈N definit ca mai sus. Atunci q < 1 si avem evaluarile:

‖x(n) − x‖∞ ≤q

1− q‖x(n) − x(n−1)‖∞ ≤

qn

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

(în particular limn→∞

x(n) = x).

Metoda lui Jacobi pentru matrice diagonal dominante pe coloane

Spunem ca matricea A este diagonal dominanta pe coloane daca

|ajj| >∑

i=1,m i=j

|aij| , ∀j ∈ 1,m

22

Page 35: Curs Calcul Numeric

Atunci aii �= 0, ∀i ∈ 1,m, deci D este inversabila. Notam cu y = Dx (deci x = D−1y),

si cu B = I −AD−1. Sistemul de ecuatii Ax = a se transforma echivalent astfel:

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

Pentru orice y(0) ∈ Rm definimm sirul (y(n))n∈N prin relatia de recurenta

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

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

‖B‖1 si (y(n))n∈N definit ca mai sus. Atunci q < 1 si avem evaluarile:

‖y(n) − y‖1 ≤q

1− q‖y(n) − y(n−1)‖1 ≤

qn

1− q‖y(1) − y(0)‖1, ∀n ∈ N∗

(în particular limn→∞

y(n) = y). Deci solutia x a sistemului Ax = a este aproximata de

D−1y(n) ( limn→∞

D−1y(n) = x).

Metoda Gauss-Seidel

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

Consideram sistemul de ecuatii liniare Ax = b. Notam cu I matricea unitate din

Mm(R) si cu B := I −A. Daca 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 si lij := 0

altfel. Atunci det(I − L) = 1 si deci exista (I − L)−1.

Sistemul de ecuatii Ax = b se transforma echivalent astfel:

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

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

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

Daca notam C := (I − L)−1R si c := (I − L)−1b atunci

Ax = b⇐⇒x = Cx + c.

23

Page 36: Curs Calcul Numeric

Pentru orice x(0) ∈ Cm definim sirul Jacobi (x(n))n∈N prin relatia de recurenta

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

Deci

x(n+1)1 =

m∑

j=1

b1jx(n)j + b1, ∀n ∈ N si

x(n+1)i =

i−1∑

j=1

bijx(n+1)j +

m∑

j=i

bijx(n)j + bi, ∀ 2 ≤ i ≤ m, ∀n ∈ N.

Teorema -1.5 Daca q := max1≤i≤m

qi cu q1 =m∑j=1

|b1j|, qi =i−1∑j=1

|bij|qj +m∑j=i

|bij|, 2 ≤ i ≤ m

si q < 1 atunci avem evaluarile:

‖x(n) − x‖∞ ≤q

1− q‖x(n) − x(n−1)‖∞ ≤

qn

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

(în particular limn→∞

x(n) = x).

Exemplul -1.14 Fie sistemul de ecuatii liniare

x1 + 12x2 + 1

3x3 = 1

15x1 + x2 + 1

6x3 = 2

110x1 + 1

20x2 + x3 = 3

Sa se arate ca se aplica metoda Gauss-Seidel.

Solutie Notam cu A matricea ceoficientilor sistemului. Avem

B = I − A =

0 −12−13

−15

0 −16

− 110

− 120

0

si

q1 =5

6, q2 =

1

3, q3 =

1

10.

24

Page 37: Curs Calcul Numeric

Deci

q = max(q1, q2, q3) =5

6< 1

Rezulta ca metoda Gauss-Seidel se aplica.

Metoda relaxarii simultane

Fie m ∈ N∗, A ∈Mm(R) simetrica si pozitiv definita, a ∈ Rm.

Consideram sistemul de ecuatii liniare Ax = a. Notam cu I matricea unitate din

Mm(R) si cu D = diag(A). Atunci D inversabila. Fie σ > 0 un numar real. Notam

cu Cσ := I − σD−1A si cu cσ := σD−1a. Sistemul de ecuatii Ax = a se transforma

echivalent astfel:

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

Pentru orice x(0) ∈ Rm definim sirul Jacobi (x(n))n∈N prin relatia de recurenta

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

Fie λ1 ≥ λ2 ≥ . . . ≥ λm valorile proprii ale matricei D−1A. Daca alegem σ astfel încât

0 < σ < 2/λ1, si notam q := max1≤i≤m

|1− σλi|, atunci q < 1 si avem evaluarile:

‖x(n) − x‖D ≤q

1− q‖x(n) − x(n−1)‖D ≤

qn

1− q‖x(1) − x(0)‖D, ∀n ∈ N∗

(în particular limn→∞

x(n) = x), unde ‖x‖D :=√〈Dx, x〉, ∀x ∈ Rm, cu 〈·, ·〉 produsul

scalar uzual pe Rm.

Parametrul optim de relaxare σ (pentru care q corespunzator este minim) este

σ =2

λ1 + λm,

iar valoarea lui q în acest caz este

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

25

Page 38: Curs Calcul Numeric

În practica, de obicei, nu se calculeaza valoarea lui λ1, ci se alege σ ∈ (0, 2/‖D−1A‖∞)

(deoarece λ1 ≤ ‖D−1A‖∞), parcurgând intervalul cu un pas echidistant. Valoarea op-

tima a lui σ se stabileste atunci când numarul de iteratii n, necesar pentru a aproxima

solutia sistemului de ecuatii cu o eroare data este minim.

Daca matricea A a sistemului de ecuatii liniare Ax = a nu este simetriica si pozitiv

definita, sistemul se transforma echivalent

Ax = a⇐⇒ AtAx = Ata

(unde At = (aji)1≤i,j≤m este transpusa matricei A), pentru care matricea AtA este

simetrica si pozitiv definita.

Exemplul -1.15 Fie sistemul de ecuatii liniare:

5x1 + 3x2 + 2x3 = 1

3x1 + 6x2 + 3x3 = 2

2x1 + 3x2 + 5x3 = 3

Sa se arate ca se poate aplica metoda relaxarii simultane. Sa se determine parametrul

optim de relaxare. Luând x(0) = (0, 0, 0) sa se evalueze eroarea x− x(n).

Solutie: Notam cu A matricea sistemului. Se verifica ca A este simetrica si pozitiv

definita.

Fie D = diag(A). Atunci

D−1A =

1 3/5 2/5

1/2 1 1/2

2/5 3/5 1

si det(D−1A− λI) = 0 ⇐⇒ (1− λ)3 − 1925

(1− λ) + 625

= 0, de unde rezulta ca valorile

proprii ale matricei D−1A sunt λ1 = 2 > λ2 = 3/5 > λ3 = 2/5. Parametrul optim de

relaxare este

σ =2

λ1 + λ3=

5

6

26

Page 39: Curs Calcul Numeric

caruia îi corespunde

q =λ1 − λ3λ1 + λ3

=2

3.

Avem x(1) = Cσx(0) + cσ = cσ = σD−1b = 5/6 · (1/5; 2/6; 3/5)t unde b = (1; 2; 3)t este

vectorul termenilor liberi din sistem. Atunci

‖x(1)‖2D =⟨Dx(1), x(1)

⟩=

2

3· 25

9

si

‖x(n) − x‖D ≤qn

1− q‖x(1) − x(0)‖D = 5 ·

(2

3

)n+ 1

2

.

Metode relaxarii succesive

Fie m ∈ N∗, A ∈Mm(R) simetrica si pozitiv definita si b ∈ Rm.

Consideram sistemul de ecuatii liniare Ax = b si σ > 0 un numar real numit

parametru de relaxare. Notam cu I matricea unitate din Mm(R) si cu D = diag(A).

Atunci D inversabila. Daca 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 si

lij := 0 altfel. Atunci matricea σ−1D+L este inversabila,iar sistemul de ecuatii Ax = b

se transforma echivalent astfel:

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

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

Notând cu Cσ := (σ−1D + L)−1((σ−1− 1)D−R) si cu cσ := (σ−1D + L)−1b rezulta ca

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

Pentru orice x(0) ∈ Rm definim sirul Jacobi (x(n))n∈N prin relatia de recurenta

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

27

Page 40: Curs Calcul Numeric

Atunci

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

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

⇔ σ−1Dx(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) ⇔

x(n+1)i = (1− σ)x

(n)i − σ

aii(−bi +

i−1∑

j=1

aijx(n+1)j +

m∑

j=i+1

aijx(n)j ), ∀1 ≤ i ≤ m

Daca alegem σ astfel încât 0 < σ < 2, si notam q := ‖Cσ‖A atunci q < 1 si avem

evaluarile:

‖x(n) − x‖A ≤q

1− q‖x(n) − x(n−1)‖A ≤

qn

1− q‖x(1) − x(0)‖A, ∀n ∈ N∗

(în particular limn→∞

x(n) = x), unde ‖x‖A := 〈Ax, x〉 , ∀x ∈ Rm, cu 〈·, ·〉 produsul scalar

uzual pe Rm.

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

optima a lui σ se stabileste atunci când numarul de iteratii n, necesar pentru a aproxima

solutia sistemului de ecuatii cu o eroare data, este minim.

Daca matricea A a sistemului de ecuatii liniare Ax = b nu este simetrica si pozitiv

definita, sistemul se transforma echivalent

Ax = b⇔ AtAx = Atb

(unde At este transpusa matricei A) pentru care matricea AtA este simetrica si pozitiv

definita.

Metoda lui Ritz

Este o metoda de calcul a inversei unei matrice simetrice si poyitiv definite. Fie A ∈

Mm(R) o matrice simetrica si pozitiv definita. Notam cu ∗ operatia de transpunere (a

28

Page 41: Curs Calcul Numeric

unui vector sau a unei matrice). Definim succesiv vectorii (wk)mk=0 ⊂ Rm, (vk)

mk=1 ⊂ Rm

si matricele (Ck)mk=1, (Dk)

mk=1 ⊂ Mm(R) astfel:

w0 �= 0, C1 =w0w

∗0

w∗0Aw0, D1 = Im − C1A

iar pentru k = 1,m− 1:

Se alege vk astfel ca Dkvk �= 0,

wk = Dkvk.

Ck+1 := Ck +wkw

∗k

w∗kAwk,

Dk+1 := Im − Ck+1A,

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

Exemplul -1.16 Fie A =

1 2 3 4

2 5 1 10

3 1 35 5

4 10 5 30

. Folosind metoda lui Ritz sa se cal-

culeze A−1.

Se verifica mai întâi ca matricea A este simetrica si pozitiv definita. Luam w0 =

(1, 0, 0, 0)∗. Atunci w∗0Aw0 = 1 si

C1 =

1 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

, D1 =

0 −2 −3 −4

0 1 0 0

0 0 1 0

0 0 0 1

.

Luam v1 = (0, 1, 0, 0)∗. Rezulta ca w1 = (−2, 1, 0, 0)∗ si w∗1Aw1 = 1, de unde

C2 =

5 −2 0 0

−2 1 0 0

0 0 0 0

0 0 0 0

, D2 =

0 0 −13 0

0 0 5 −2

0 0 1 0

0 0 0 1

.

29

Page 42: Curs Calcul Numeric

Luam v2 = (0, 0, 1, 0)∗. Rezulta ca w2 = (−13, 5, 1, 0)∗ si w∗2Aw2 = 1, de unde

C3 =

174 −67 −13 0

−67 26 5 0

−13 5 1 0

0 0 0 0

, D3 =

0 0 0 39

0 0 0 −17

0 0 0 −3

0 0 0 1

.

Luam v3 = (0, 0, 0, 1)∗. Rezulta ca w3 = (39,−17,−3, 1)∗ si w∗3Aw3 = 1, de unde

C4 =

1695 −730 −130 39

−730 315 56 −17

−130 56 10 −3

39 −17 −3 1

, D4 =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

.

Pseudoinversa unei matrice

Pseudoinversa unei matrice este o extensie naturala a notiunii de matrice inversabila.

Se poate defini pseudoinversa atât pentru matrici patratice (singulare sau nesingu-

lare - caz în care pseudoinversa coincide cu inversa) cât si pentru matrici dreptunghi-

ulre (în care numarul de linii difera de numarul de coloane). Pentru o matrice T ∈

Mm,n(R),notam cu T ∗ ∈Mn,m(R) transpusa matricei T si cu T+ ∈Mn,m(R) pseudoin-

versa matricei matricei T.

Prin definitie T+ este singura solutie U ∈ Mn,m(R) a sistemului de ecuatii ma-

triceale:

TUT = T, UTU = U, (TU)∗ = TU, (UT )∗ = UT. (16)

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

a) x0 din Rn verifica egalitatea

‖Tx0 − b‖ = infx∈Rn

‖Tx− b‖ (17)

daca si numai daca T ∗Tx0 = T ∗b.

30

Page 43: Curs Calcul Numeric

b) Elementul x0 := T+b verifica egalitatea (17) si, pentru orice alt element x0 ce

verifica aceeasi egalitate, avem ‖x0‖ ≤ ‖x0‖.

Reciproc, T+ este unica solutie U ∈ Mn,m(R)a problemei: Ub satisface egalitatea

(17) pentru orice b ∈ Rm, iar pentru orice alt element x0, care verifica aceeasi egalitate,

avem ‖Ub‖ ≤ ‖x0‖.

Prin aceasta teorema, în cazul unui sistem de ecuatii liniare Tx = b compatibil

nedeterminat, rezulta ca T+b este o solutie a acestui sistem (anume cea mai mica solutie

în norma), iar, în cazul unui sistem incompatibil, T+b este acel element x, minim în

norma, pentru care Tx− b este cel mai aproape de 0.

În continuare presupunem ca rang T = l ≤ min(m,n). CuR(A) am notam imaginea

matricei A ∈Mm,n(R), adica multimea {Ax | x ∈ Rn}.

Determinarea pseudoinversei unei matrice se poate face cu algoritmi cu un numar

de pasi mai mic sau egal cu l. În aceasta categorie intra urmatorii algoritmi

• (Grigore) Definim succesiv vectorii (yk)lk=1 ⊂ X, (wk)

lk=1 ⊂ Rn si matricele

(Hk)lk=0 ⊂ Mn,m(R) astfel:

H0 = 0.

yk ∈ R(T ∗) (adica în imaginea transpusei), astfel ca yk −Hk−1Tyk �= 0,

wk := yk −Hk−1Tyk si

Hk := Hk−1 +wk(Twk)

‖Twk‖2, ∀k = 1, l.

Atunci Hl = T+ (pseudoinversa matricei T ).

Exemplul -1.17 Fie

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu rang(T ) = 2 si H0 = 0.

31

Page 44: Curs Calcul Numeric

Luam y1 = T ∗ ∗

1

0

0

0

=

1

0

−1

(avem y1 − H0Ty1 = y1 �= 0. Atunci w1 =

y1 − H0Ty1 = y1 si Tw1 =

2

0

2

2

. Rezulta ca ‖Tw1‖2 = 12, iar w1(Tw1)∗ =

2 0 2 2

0 0 0 0

−2 0 −2 −2

. Deci

H1 = H0 +w1(Tw1)

‖Tw1‖2=

1/6 0 1/6 1/6

0 0 0 0

−1/6 0 −1/6 −1/6

.

Luam y2 = T ∗ ∗

0

1

0

0

=

0

1

0

(avem y2 − H1Ty2 =

−1/2

1

1/2

�= 0. Atunci

w2 = y2 − H1Ty2 si Tw2 =

−1

1

0

1

. Rezulta ca ‖Tw2‖2 = 3, iar w2(Tw2)∗ =

32

Page 45: Curs Calcul Numeric

1/2 −1/2 0 −1/2

−1 1 0 1

−1/2 1/2 0 1/2

. Deci

H2 = H1 +w2(Tw2)

‖Tw2‖2=

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

În concluzie

T+ = H2 =

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

• (Gramm-Schmidt) Fie o baza e1, e2, . . . , el în R(T ∗) si fie fi = Tei, ∀ i = 1, l.

Definim, succesiv, elementele (e′i)li=1, (xi)

li=1 ⊂ Rn, (f ′i)

li=1(yi)

li=1 ⊂ Rm, astfel:

x1 =1

‖f1‖e1 si y1 = Tx1,

iar pentru i = 2, l

e′i = ei −i−1∑

j=1

〈fi, yj〉xj, f ′i = Te′i si xi =1

‖f ′i‖e′i, yi = Txi

Definim matricea U ∈Mn,m(R) prin

U :=l∑

i=1

xiy∗i

Atunci U = T+.

Exemplul -1.18 Fie

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu dimR(T ∗) = 2

33

Page 46: Curs Calcul Numeric

Luând e1 = (1; 0;−1)∗, e2 = (0; 1; 0)∗ (baza în R(T ∗)) obtinem f1 = (2; 0; 2; 2)∗, f2 =

(0; 1; 1; 2)∗. Atunci

x1 =1

2√

3(1; 0;−1)∗, y1 =

1√3(1; 0; 1; 1)∗

În continuare

e′2 = e2 − 〈f2, y1〉 x1 =1

2(−1; 2; 1)∗ si f ′2 = Te′2 = (−1; 1; 0; 1)∗

Atunci

x2 =1

2√

3(−1; 2; 1)∗, y2 =

1√3(−1; 1; 0; 1)∗

Rezulta ca

T+ = x1y∗1 + x2y

∗2 =

1

6

2 −1 1 0

−2 2 0 2

−2 1 −1 0

• (Stanica) Definim, succesiv, vectorii (uk)l−1k=0 ⊂ Rm, (vk)

l−1k=0 ⊂ Rn, (wk)

l−1k=0 ⊂ Rm

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

H0 = T ∗.

vk ∈ R((I − THk)∗T ), wk ∈ R(Hk) astfel încît 〈vk, Twk〉 �= 0,

uk :=1

〈vk, Twk〉(I −HkT )wk si

Hk+1 := Hk + uk · v∗k, ∀k = 0, l − 1.

Atunci Hl = T+.

Exemplul -1.19 Fie

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu rang(T ) = 2 si H0 = T ∗

34

Page 47: Curs Calcul Numeric

Luând a1 =

1

0

0

, b1 =

1

0

0

0

obtinem v0 := (I − TH0)∗Ta1 =

−5

−3

−8

−11

,

w0 = H0b1 =

1

0

−1

, u0 :=

1

〈v0, Tw0〉(I −H0T )w0 =

5/48

1/8

−5/48

,

H1 := H0 + u0 · v∗0 =

23/48 −5/16 1/6 −7/48

−5/8 5/8 0 5/8

−23/48 5/16 1/6 7/48

Luând a2 =

0

1

0

, b2 =

0

1

0

0

obtinem v1 := (I − TH1)∗Ta2 =

7/8

−7/8

0

−7/8

, w1 =

H1b2 =

−5/16

5/8

5/16

, u1 :=

1

〈v1, Tw1〉(I −H1T )w1 =

−1/6

1/3

1/6

, deci

T+ = H2 := H1 + u1 · v∗1 =

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

.

Exemplul -1.20 Fie sistemul de ecuatii liniare Tx = b, unde

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu rang(T ) = 2 si b =

0

1

1

2

35

Page 48: Curs Calcul Numeric

(acest sistem este compatibil nedetreminat). Atunci

z = T+b =

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

0

1

1

2

=

0

1

0

este o solutie a sistemului (compatibil nedeterminat) de ecuatii liniare Tx = b.

Exemplul -1.21 Fie sistemul de ecuatii liniare Tx = b, unde

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu rang(T ) = 2 si b =

1

0

0

0

(acest sistem este incompatibil). Atunci

z = T+b =

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

1

0

0

0

=

1/3

−1/3

−1/3

are proprietatea ca

‖Tz − b‖ = infx∈Rn

‖Tx− b‖

.

36

Page 49: Curs Calcul Numeric

Metode pentru aproximarea valorilor proprii aleunei matrice

În acest capitol prezentam algoritmi pentru determinarea valorilor si vectorilor pro-

prii ai unei matrice A ∈Mm(R), adica a scalarilor λ ∈ C si a vectorilor x ∈ Cm \ {0}

asfel ca:

Ax = λx .

Valorile proprii λ sunt radacinile polinomului caracteristic:

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

Pentru o valoare proprie λ data, vectorul propriu se obtine ca o solutie nenula a sis-

temului liniar omogen:

(A− λIm)x = 0 .

Metodele numerice pentru determinarea valorilor proprii se împart în doua mari cate-

gorii:

- metode care utilizeaza polinomul caracteristic;

- metode care nu folosesc polinomul caracteristic.

Prima categorie de metode este mai rar folosita pentru ca trebuie sa calculam

radacinile unui polinom de grad m arbitrar. Metodele care nu folosesc polinomul

caracteristic aproximeaza, în general, prin iterare, valorile proprii ale unei matrice.

Metode folosind polinomul caracteristic

Metodele numerice pe care le prezentam în acest paragraf determina, de fapt, co-

eficientii polinomului caracteristic. Daca A ∈ Mm(R), atunci polinomul caracteristic

va fi:

pA(λ) = λm − c1λm−1 + c2λ

m−2 + · · ·+ (−1)mcm ,

1

Page 50: Curs Calcul Numeric

unde ck este suma minorilor de ordin k ai matricei A pentru k = 1, m. Numarul mino-

rilor de ordin k ai matricei A este Ckm =

m!

k!(m− k)!. Deci, calculând direct coeficientii

ck, k = 1, m, ar trebui calculati C1m + C2

m + · · · + Cmm = 2m − 1 determinanti. Acest

lucru este dificil si implica multe calcule pentru valori mari ale lui m. De aceea, s-au

cautat metode care sa determine mai usor coeficientii polinomului caracteristic. În

subparagrafele urmatoare prezentam câteva astfel de metode împreuna cu algoritmii

corespunzatori si exemple numerice.

Metoda Krylov

Metoda Krylov se bazeaza pe teorema Cayley-Hamilton:

Daca A ∈Mm(R) si pA(λ) = λm−p1λm−1−p2λ

m−2−· · ·−pm , atunci pA(A) = 0m ,

adica:

Am − p1Am−1 − p2A

m−2 − · · · − pm−1A− pmIm = 0m .

Consideram y(0) =(y(0)1 , . . . , y

(0)m

)t∈ Rm un vector arbitrar. Înmultind relatia (??)

cu y(0), se obtine:

Amy(0) − p1Am−1y(0) − p2A

m−2y(0) − · · · − pm−1Ay(0) − pmy(0) = 0 ,

de unde, notând:

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

ne rezulta ca p1, . . . , pm sunt solutiile sistemului:

(y(m−1) y(m−2) · · · y(1) y(0)

p1

p2...

pm−1

pm

= y(m) .

2

Page 51: Curs Calcul Numeric

Deci determinarea solutiilor polinomului caracteristic prin metoda Krylov se reduce

la rezolvarea sistemului (??), în cazul în care are solutie unica. Daca sistemul nu are

solutie unica, atunci se poate încerca schimbarea vectorului initial y(0).

Exemplul -1.1 Determinati polinomul caracteristic pentru matricea

A =

5 −4 −3 −1

1 4 2 −9

2 5 1 −5

7 1 2 −1

,

folosind metoda Krylov.

Alegem pentru aplicarea metodei Krylov vectorul y(0) =

1

2

3

4

si calculam

y(1) = Ay(0) =

−16

−21

−5

11

, y(2) = Ay(1) =

8

−209

−197

−154

,

y(3) = Ay(2) −

1621

164

−456

−393

, y(4) = Ay(3) =

9210

4902

5571

10992

.

3

Page 52: Curs Calcul Numeric

Coefientii polinomului caracteristic se obtin rezolvâd sistemul:

1621 8 −16 1

164 −209 −21 2

−456 −197 −5 3

−393 −154 11 4

p1

p2

p3

p4

=

9210

4902

5571

10992

.

Folosind o metoda de rezolvare a sistemelor liniare , obtinem p =

9

−45

369

885

si polino-

mul caracteristic este:

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

Metoda Leverrier

Determinarea coeficientilor polinomului caracteristic prin metoda Leverrier se bazeaza

pe urmatorul rezultat:

Daca P (x) = xm + p1xm−1 + p2x

m−2 + · · · + pm este un polinom de gradul m cu

radacinile λ1, . . . , λm si sk = λk1 + · · ·+ λkm pentru k ∈ N , atunci avem

−kpk =k−1∑

j=0

pjsk−j pentru k ∈ N∗ ,

cu p0 = 1 .

Se stie ca, daca A ∈ Mm(R) si λ1, . . . , λm sunt valori proprii distincte ale lui A,

atunci sk = tr(Ak) pentru k ∈ N∗ .

Determinarea coeficientilor polinomului carateristic cu metoda Leverrier consta în:

P1. se calculeaza s1 = tr(A) si p1 = −s1 ;

P2. pentru k = 2, m calculam:

Ak , sk = tr(Ak) , pk = −1

k(sk + p1sk−1 + p2sk−2 + · · · pk−1s1).

4

Page 53: Curs Calcul Numeric

P3. Polinomul caracteristic al matricei A va fi

pA(λ) = λm + p1λm−1 + p2λ

m−2 + · · ·+ pm .

Observatie. Daca pm = 0, atunci λ = 0 este valoare proprie pentru A si nu exista

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

Am + p1Am−1 + p2A

m−2 − · · ·+ pm−1A+ pmIm = 0m ,

de unde rezulta

A−1 = − 1

pm

(Am−1 + p1A

m−2 + p2Am−3 + · · ·+ pm−1Im

).

Exista un algoritm propus de Fadeev prin care se calculeaza simultan coeficientii

polinomului caracteristic si A−1 (daca exista). Astfel determinarea coeficientilor poli-

nomului carateristic cu metoda Leverrier consta în:

P1. se calculeaza p1 = −tr(A) si B1 = A1 + p1Im , unde A1 = A ;

P2. pentru k = 2, m calculam:

Ak = ABk , pk = −1

ktr(Ak) , Bk = Ak + pkIm.

P3. Daca pm �= 0 atunci avem A−1 = − 1

pmBm−1 .

Observatie. În algoritmul de mai sus, din modul de calculare a sirului B1, . . . , Bm−1, Bm

si din teorema Cayley-Hamilton, se obtine ca

Bm = Am + pmIm = Am + p1Am−1 + · · ·+ pm−1A+ pmIm = 0m

Exemplul -1.2 Determinati, folosind metoda Leverrier, polinomul caracteristic si ma-

tricea A−1 , daca exista, pentru matricea

A =

11 0 −3 12

−9 −5 2 5

2 −4 15 −11

2 6 −7 10

,

5

Page 54: Curs Calcul Numeric

Aplicând metoda Leverrier pentru matriceaA si m = 4, obtinem:

s1 = 31 , p1 = −31 ,

- pentru k = 2:

A2 = A2 =

139 84 −162 285

−40 47 12 −105

66 −106 288 −271

−26 58 −169 231

, s2 = 705 , p2 = 128 ,

- pentru k = 3:

A3 = A3 =

1019 1938 −4674 6720

−1049 −913 1129 −1427

7714 −2248 5807 −5616

−684 1772 −3958 4147

,

s3 = 10060 , p3 = 2609 ,

- pentru k = 4:

A4 = A4 =

−2141 49326 −116331 140532

−3918 −8513 28245 −43842

39468 −45684 116779 −110709

−23094 31854 −82803 85660

,

s4 = 191785 , p4 = −12761 ,

si polinomul caracteristic este:

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

6

Page 55: Curs Calcul Numeric

Cum p4 �= 0, rezulta ca:

A−1 = − 1p4(A3 + p1A

2 + p2A+ p3I4)

=

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 Calculati coeficientii polinomului caracteristic si matricea A−1 , daca

exista, pentru matricea

A =

11 1 −3 2

−9 −5 12 5

2 −4 5 −11

2 16 −7 10

,

folosind algoritmul Fadeev.

Aplicând algoritmul Fadeev obtinem:

A1 = A ,

p1 = −tr(A1) = −21 , B1 = A1 + p1I4 =

−10 1 −3 2

−9 −26 12 5

2 −4 −16 −11

2 16 −7 −11

,

7

Page 56: Curs Calcul Numeric

- pentru k = 2

A2 = AB1 =

−121 29 13 38

169 153 −260 −230

4 −90 −57 50

−158 −226 228 51

,

p2 = −12tr(A2) = −13 , B2 = A2 + p2I4 =

−134 29 13 38

169 140 −260 −230

4 −90 −70 50

−158 −226 228 38

,

- pentru k = 3

A3 = AB2 =

−1633 277 549 114

−381 −3171 1483 1598

814 1534 −1792 828

828 668 −1364 −3574

,

p3 = −13tr(A3) = 3390 , B3 = A3 + p3I4 =

1757 277 549 114

−381 219 1483 1598

814 1534 1598 828

828 668 −1364 −184

,

8

Page 57: Curs Calcul Numeric

- pentru k = 4

A4 = AB3 =

18160 0 0 0

0 18160 0 0

0 0 18160 0

0 0 0 18160

,

p4 = −14tr(A4) = −18160 , B4 = A4 + p4I4 =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

.

Polinomul caracteristic este:

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

Cum p4 �= 0, rezulta ca:

A−1 = − 1p4

B3 =

0.0968 0.0153 0.0302 0.0063

−0.0210 0.0121 0.0817 0.0880

0.0448 0.0845 0.0880 0.0456

0.0456 0.0368 −0.0751 −0.0101

. �

Metoda coeficientilor nedeterminati

Metoda coeficientilor nedeterminati consta în determinarea coeficientilor p1, . . . , pm

ai polinomului caracteristic pA(λ) = λm + p1λm−1 + · · ·+ pm−1λ+ pm , asociat matriei

9

Page 58: Curs Calcul Numeric

A ∈Mm(R) , dintr-un sistem liniar format din m ecuatii liniare:

pm = D(0)

1m + p11m−1 + · · ·+ pm−11 + pm = D(1)

2m + p12m−1 + · · ·+ pm−12 + 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 .

Daca notam p = (p1, p2, . . . , pm−1)t , sistemul (??) se reduce la m− 1 ecuatii liniare

si se poate scrie în forma:

Mp = b,

unde

M =

1 1 · · · 1

2m−1 2m−2 · · · 2

......

. . ....

(m− 1)m−1 (m− 1)m−2 · · · (m− 1)

si

D(1)−D(0)− 1m

D(2)−D(0)− 2m...

D(m− 1)−D(0)− (m− 1)m

.

Aceasta metoda are dezavatajul ca se calculeaza m determinanti de ordin m.

Exemplul -1.4 Determinati coeficientii polinomului caracteristic pentru

matricea

A =

9 −4 10 13

11 −1 −15 8

1 −2 −3 1

2 4 5 7

,

10

Page 59: Curs Calcul Numeric

folosind metoda coeficientilor nedeterminati.

Avem p4 = −2703. Se obtine sistemul

1 1 1

8 4 2

27 9 3

p =

334

482

372

a carui solutie este:

p =

−12

−57

403

.

Deci polinomul caracteristic este:

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

Metoda rotatiilor

Se dau m ∈ N, m ≥ 2, A = (aij)1≤i,j≤m ∈ Mm(R) o matrice simetrica si ε > 0 un

numar real. Metoda rotatiilor aproximeaza valorile proprii ale unei matrice simetrice

prin construirea unui sir de matrice (obtinut cu ajutorul unor matrice de rotatie) ale

caror valori de pe diagonala converg catre valorile proprii ale matricei A.

Daca la pasul n este cunoscuta matricea An, matricea An+1 se determina cu formula

An+1 = T tnAnTn,

unde Tn este o matrice de rotatie.

Calcul succesiv al matricelor An (n ≥ 0), obtinute din matricea A prin rotatii plane

se realizeaza dupa algoritmul:

A0 := A

• Repeta (se calculeaza Y = An+1 în functie de X = An):

11

Page 60: Curs Calcul Numeric

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

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

— daca xpp = xqq atunci θ = π4 , altfel θ = 1

2 · arctan2·xpq

xpp−xqq

— se iau c = cos(θ) si s = sin(θ);

— Se calculeaza matricea Y = T tAT cu

T =

1 · · · 0 · · · 0 · · · 0

.... . .

......

......

...

0 · · · cos θ · · · − sin θ · · · 0

......

.... . .

......

...

0 · · · sin θ · · · cos θ · · · 0

......

......

.... . .

...

0 · · · 0 · · · 0 · · · 1

,

unde elementele cosθ, − sin θ, sin θ, cosθ se afla la intersectia liniilor p si q

cu coloanele p si 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 ;

— se calculeaza modul = |X| :=√

m∑

i�=j

x2ij unde i, j ∈ 1,m.

pâna când modul < ε .

• Se colecteaza în vectorul z elementele diagonalei lui X, care reprezinta aproximari

ale valorilor proprii ale matricei A cu erori în modul mai mici decât ε : ∀ i ∈

1,m se ia zi = xii.

12

Page 61: Curs Calcul Numeric

• Se tipareste z.

Exemplul -1.5 Fie matricea

A =

17 −2 3√3

−2 8 2√3

3√3 2

√3 11

.

Folosind metoda rotatiilor, sa se determine valorile proprii ale matricei A.

Se verifica imediat ca matricea A este simetrica. Se aleg p < q astfel încât

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

Atunci p = 1, q = 3. Se calculeaza

θ =1

2· arctan 2 · apq

app − aqq=

π

6.

Se ia

T =

cos θ 0 − sin θ

0 1 0

sin θ 0 cos θ

si se calculeaza matricea

B = T tAT =

20 0 0

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 calculeaza

θ =π

4deoarece bpp = bqq.

13

Page 62: Curs Calcul Numeric

Se ia

T =

1 0 0

0 cos θ − sin θ

0 sin θ cos θ

si se calculeaza matricea

B = T tAT ==

20 0 0

0 12 0

0 0 4

Rezulta ca valorile proprii ale matricei A sunt λ1 = 20, λ2 = 12, λ3 = 4.�

Metoda puterii

Este o metoda numerica pentru aproximarea celei mai mari valori proprii în modul

si a unui vector propriu corespunzator.

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 sirul (x(n))n∈N prin relatia

x(n+1) := Ax(n), ∀n ∈ N. Notam cu (z(n))n∈N sirul definit prin z(n) :=1

‖x(n)‖ ·

x(n), ∀n ∈ N. Atunci

limn→∞

〈Az(n), z(n)〉 = λ,

unde λ este cea mai mare valoare proprie a matricei A si

limn→∞

z(n) = z,

unde z este un vector propriu atasat valorii proprii λ.

Metoda permite si determinarea celorlalte valori proprii astfel:

• Se considera matricea

T =

1 0 . . . 0

x2 1 . . . 0

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

xm 0 . . . 1

,

14

Page 63: Curs Calcul Numeric

unde (1, x2, . . . , xm) este un vector propriu corespunzator

valorii proprii λ. Acest vector se obtine astfel:

xi =zi

z1, ∀i = 2, m,

• Se calculeaza matricea B = T−1AT.

• Se scrie matricea B sub forma

B =

b11 B12

0 B22

,

cu B22 matrice de ordinul m− 1.

• Cu algoritmul descris mai sus se determina cea mai mare

valoare proprie a matricei C = B22. Aceasta este a doua

valoare proprie (în ordine descrescatoare) a matricei A.

• Acest algoritm se aplica în continuare pentru matricea C.

Algoritmul LU

Fie A o matrice patratica de ordin m. Descompunem A = L1U1 cu L1, U1 matrice

triunghiulare (vezi factorizarea LU din paragraful 1.2.4, capitolul 1). Construim sirul

de matrice (Bn)n astfel:

B0 = A = L1U1, B1 = U1L1.

Descompunem B1 = L2U2, luam B2 = U2L2, . . .

Descompunem Bn = Ln+1Un+1, luam Bn+1 = Un+1Ln+1, . . .

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

A (în practica, calculul iterativ se opreste atunci când, pentru orice i = 1,m, avem∣∣∣b(n)ii − b

(n−1)ii

∣∣∣ < ε, o eroare data, unde cu (b(n)ij )i,j am notat elementele matricei Bn).

15

Page 64: Curs Calcul Numeric

Algoritmul QR

Metoda QR este o metoda des folosita pentru calculul valorilor proprii pentru o

matrice oarecare, în general, nesimetrica. Fie A ∈ Mm(R). Metoda QR consta în

construirea unui sir de matrice (Ak)k≥0 folosind factorizarea QR (definita la ssisteme

liniare) astfel:

A0 = A = Q0R0 , A1 = R0Q0 ,

Ak = QkRk , Ak+1 = RkQk , k ≥ 0 .

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

A. Calculul iterativ se opreste atunci când, pentru orice i = 1, m, avem∣∣∣a(k+1)ii − a

(k)ii

∣∣∣ <

ε, pentru ε > 0 o eroare data.

16

Page 65: Curs Calcul Numeric

Ecuatii neliniare în Rm

Principiul contractiei

Fie m ∈ N∗, M ⊂ Rm o multime si ‖ · ‖ o norma pe Rm. O functie f : M → R

m se numeste q-contractie a multimii M relativa la norma ‖ · ‖ daca are urmatoarele

proprietati:

1) ∃ q ∈ (0, 1) astfel încât ‖f(x)− f(y)‖ ≤ q‖x− y‖, ∀ x, y ∈M si

2) f(M) ⊂M .

Principiul contractiei se enunta astfel:

Fie ‖ · ‖ o norma pe Rm, M o multime închisa din Rm si f : M → Rm o q-

contractie a multimii M relativa la norma ‖ · ‖. Atunci ecuatia f(x) = x are o solutie

unica z ∈M , si, pentru orice x(0) ∈M , sirul (x(n))n∈N definit prin relatia de recurenta

x(n+1) = f(x(n)) converge la z. Avem evaluarea

‖x(n) − z‖ ≤q

1− q‖x(n) − x(n−1)‖ ≤

qn

1− q‖x(1) − x(0)‖.

Fie a ∈ Rm si r > 0. Daca M := {x ∈ Rm | ‖x− a‖ ≤ r}, atunci:

1. Daca f diferentiabila peM si exista q ∈ (0, 1) astfel încât ‖f ′(x)‖ ≤ q, ∀ x ∈M

rezulta ca ‖f(x)− f(y)‖ ≤ q‖x− y‖, ∀ x, y ∈M .

2. Daca ‖f(x)− f(y)‖ ≤ q‖x− y‖, ∀ x, y ∈M si ‖f(a)− a‖ ≤ (1− q)r rezulta ca

f(M) ⊂M .

Deci, în aceste conditii, f este q-contractie a multimii M .

Exemplul -1.1 Fie sistemul de ecuatii

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

y = (60− y3 − z2 + 4xz)/86

z = (40 + z3 + y2 − 5xy)/72

(1)

Folosind principiul contractiei în raport cu norma ‖ · ‖∞, sa se arate ca sistemul

(1) are solutie unica v în V := [0, 2]3. Pentru o eroare ε data si pentru iterata initiala

1

Page 66: Curs Calcul Numeric

x(0) := (1, 1, 1) sa se calculeze iterata x(n) (din principiul contractiei) pentru care ‖x(n)−

v‖∞ ≤ ε.

Fie r = 1 si a = (1, 1, 1). Atunci multimea V = {x ∈ Rm | ‖x − a‖∞ ≤ r}.

Fie functia F = (f, g, h) : V → R3 cu f(x, y, z) := (80 + x3 − x2 − 3yz)/100,

g(x, y, z) := (60−y3−z2+4xz)/86 si h(x, y, z) := (40+z3+y2−5xy)/72, ∀ (x, y, z) ∈ V .

Sistemul de ecuatii (1) este echivalent cu F (x, y, z) = (x, y, z).

Avem

F ′(x, y, z) =

(3x2 − 2x)/100 −3z/100 −3y/100

4z/86 −3y2/86 (−2z + 4x)/86

−5y/72 (2y − 5x)/72 3z2/72

,

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

| − 2z + 4x|)/86, (| − 5y| + |2y − 5x| + |3z2|)/72) ≤ max(28/100, 32/86, 36/72) =

= 1/2 (am folosit 0 ≤ x, y, z ≤ 2). Putem lua q = 1/2. Pe de alta parte ‖F (a)−a‖∞ =

max(28/100, 24/86, 35/72) = 35/72 < (1 − q)r = 1/2. Deci F este 1/2-contractie a

multimii V în raport cu norma ‖ · ‖∞. Din principiul contractiei rezulta ca ecuatia

F (x, y, z) = (x, y, z) are solutie unica în V .

Pentru x(0) = (1, 1, 1) se calculeaza x(n) cu formula de recurenta x(n) = F (x(n−1)),

∀ n ∈ N . Se opreste procesul iterativ atunci când q/(1− q)‖x(n) − x(n−1)‖∞ < ε.

Pentru ε = 10−10 se obtin urmatoarele rezultate:

2

Page 67: Curs Calcul Numeric

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 neliniara

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} si f = (f1, f2, . . . , fm) :

M → Rm o q-contractie a multimii M relativa la norma ‖ · ‖∞.

Pentru orice x(0) ∈M definim sirul (x(n))n∈N prin relatia de recurenta

x(n+1)1 = f1(x

(n)1 , x

(n)2 , . . . , x

(n)m) si

x(n+1)i

= fi(x(n+1)1 , . . . , x

(n+1)i−1 , x

(n)i, . . . , x(n)

m) ∀ 2 ≤ i ≤ m.

Atunci sirul (x(n))n∈N converge catre unica solutie z ∈ M a ecuatiei f(x) = x. Avem

evaluarea:

‖x(n) − z‖∞ ≤q

1− q‖x(n) − x(n−1)‖∞ ≤

qn

1− q‖x(1) − x(0)‖∞.

Daca f diferentiabila pe M si exista q ∈ (0, 1) astfel încât ‖f ′(x)‖∞ ≤ q, ∀ x ∈M

rezulta ca ‖f(x)− f(y)‖∞ ≤ q‖x− y‖∞, ∀ x, y ∈M .

3

Page 68: Curs Calcul Numeric

Exemplul -1.2 Fie sistemul de ecuatii

x = (432 + x4 + y4 − 2z4 + y2z2)/234

y = (324− x4 + 2y4 − 3z4 + 3x2z2)/432

z = (234 + 2x4 − 3y4 + 4z4 − x2y2 + 3x+ y)/324

(2)

Folosind metoda Gauss-Seidel neliniara, sa se arate ca sistemul (2) are solutie unica

v în V := [−2, 2] × [−1, 1] × [0, 1]. Pentru o eroare ε data si pentru iterata initiala

x(0) := (0, 0, 1/2) sa se calculeze iterata x(n) pentru care ‖x(n) − v‖∞ ≤ ε.

Fie r1 = 2, r2 = 1 si r3 = 1/2, a1 = a2 = 0 si a3 = 1/2. Atunci multimea

V = {(x, y, z) ∈ R3 | |x − a1| ≤ r1, |y − a2| ≤ r2, |z − a3| ≤ r3}. Fie functia

F = (f, g, h) : V → R3 cu f(x, y, z) := (432 + x4 + y4 − 2z4 + y2z2)/234, g(x, y, z) :=

(324−x4+2y4−3z4+3x2z2)/432 si h(x, y, z) := (234+2x4−3y4+4z4−x2y2+3x+y)/324,

∀ (x, y, z) ∈ V . Sistemul de ecuatii (2) este echivalent cu F (x, y, z) = (x, y, z).

Avem F ′(x, y, z) =

4x3/234 (4y3 + 2yz2)/234 (−8z3 + 2y2z)/234

(−4x3 + 6xz2)/432 8y3/432 (−12z3 + 6x2z)/432

(8x3 − 2xy2 + 3)/324 (−12y3 − 2x2y + 1)/324 16z3/324

,

deci ‖F ′(x, y, z)‖∞ = max((|4x3|+ |4y3+2yz2|+ |−8z3+2y2z|)/234, (|−4x3+6xz2|+

|8y3|+ | − 12z3 + 6x2z|)/432, (|8x3 − 2xy2+ 3|+ | − 12y3 − 2x2y + 1|+ |16z3|)/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 alta parte |f(x, y, z) − a1| ≤ (|432| + |x4| + |y4| + |2z4| +

|y2z2|)/234 ≤ 452/234 < 2, |g(x, y, z)−a2| ≤ (|324|+|x4|+|2y4|+|3z4|+|3x2z2|)/432 ≤

357/432 < 1 si |h(x, y, z)−a3| ≤ (|234|+ |2x4|+ |3y4|+ |4z4|+ |x2y2|+ |3x|+ |y|)/324 ≤

122/324 < 1/2, ∀ (x, y, z) ∈ V . Deci F (V ) ⊂ V si F este 1/3-contractie a multimii V în

raport cu norma ‖·‖∞. Din principiul contractiei rezulta ca ecuatia F (x, y, z) = (x, y, z)

ar solutie unica în V .

4

Page 69: Curs Calcul Numeric

Pentru x(0) = (0, 0, 1/2) se calculeaza x(n) = (x(n)1 , x(n)2 , x

(n)3 ) cu formula de recurenta

x(n)1 = f(x(n−1)), x(n)2 = g(x

(n)1 , x

(n−1)2 , x

(n−1)3 ), x(n)3 = h(x

(n)1 , x

(n)2 , x

(n−1)3 ) ∀ n ∈ N . Se

opreste procesul iterativ atunci când q/(1− q)‖x(n) − x(n−1)‖∞ < ε.

Pentru ε = 10−10 se obtin urmatoarele 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 multime deschisa din Rm si f : D→ Rm o functie de clasa C2(D).

Daca presupunem ca f ′(x) este inversabila pentru orice x ∈ D, atunci ecuatia f(x) = 0

se transforma echivalent astfel:

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

În ipotezele de mai sus (fara a presupune ca f ′(x) este inversabila ∀x ∈ D), pentru

orice x(0) ∈ D definim, daca este posibil, sirul (x(n))n∈N prin relatia de recurenta

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

5

Page 70: Curs Calcul Numeric

Fie ‖·‖ o norma pe Rm. Notam tot cu ‖·‖ norma matriciala asociata. Presupunem

ca exista 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) Exista (f ′(a))−1 si ‖(f ′(a))−1‖ ≤ α;

4) Mrα < 1 siα

1−Mrα≤1

µ;

5) ‖(f ′(a))−1f(a)‖ ≤ β ≤ (1− q)r;

6)M

µ2‖f(x)‖ ≤ q, ∀x ∈ V ;

7)Mr

µ≤ q.

Atunci ecuatia f(x) = 0 are o solutie unica z ∈ V si pentru orice x(0) ∈ V se poate

construi sirul (x(n))n∈N (prin relatia de recurenta (3)) cu proprietatile x(n) ∈ V si

‖x(n) − z‖ ≤2µ

Mq2

n

, ∀n ∈ N.

Exemplul -1.3 Fie sistemul de ecuatii

x3 + 3xy2 + 3xz2 − 183x+ 2 = 0

y3 ++3x2y + 3yz2 − 193y + 1 = 0

z3 + 3x2z + 3y2z − 188(z − 1)− 1 = 0

(4)

Folosind metoda Newton relativa la norma ‖·‖∞, sa se arate ca sistemul (4) are solutie

unica v în V := [−1, 1]2 × [0, 2]. Pentru o eroare ε data si pentru iterata initiala

x(0) := (0, 0, 1) sa se calculeze iterata x(n), pentru care ‖x(n) − v‖∞ ≤ ε.

Fie r = 1 si a = (0, 0, 1). Atunci multimea V este Br(a) în raport cu norma

‖ · ‖∞. Fie functia F = (f, g, h) : V→ R3 cu f(x, y, z) := x3+ 3xy2 + 3xz2 − 183x+ 2,

g(x, y, z) := y3++3x2y+3yz2−193y+1 si h(x, y, z) := z3+3x2z+3y2z−188(z−1)−1 =

0, ∀ (x, y, z) ∈ V . Sistemul de ecuatii (4) este echivalent cu F (x, y, z) = 0.

6

Page 71: Curs Calcul Numeric

Avem F ′(x, y, z) =

3x2 + 3y2 + 3z2 − 183 6xy 6xz

6xy 3x2 + 3y2 + 3z2 − 193 6yz

6xz 6yz 3x2 + 3y2 + 3z2 − 188

,

F ′′(x, y, z) =

6x 6y 6z 6y 6x 0 6z 0 6x

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

M = 60. Avem F ′(a) =

−180 0 0

0 −190 0

0 0 −185

, deci F ′(a) inversabila, (F ′(a))−1 =

−1/180 0 0

0 −1/190 0

0 0 −1/185

si ‖(F ′(a))−1‖∞ = max(1/180, 1/190, 1/185) = 1/180.

Luam α = 1/180. Cum Mrα = 60/180 < 1 si α/(1 − MRα) = 1/120, putem

lua µ = 120. Avem F (a) = (2, 1, 0)t si (F ′(a))−1F (a) = (−1/90,−1/190, 0)t, deci

‖(F ′(a))−1F (a)‖∞ = 1/90. Lua m β = 1/90. Conditia β ≤ (1− q)r implica q ≤ 89/90.

Din ‖F (x, y, z)‖∞ ≤ max(|x3| + |3xy2| + |3xz2| + |183x| + 2, |y3| + |3x2y| + |3yz2| +

|193y|+ 1, |z3|+ |3x2z|+ |3y2z|+ |188(z − 1)|+ 1) ≤ max(201, 210, 209) = 210 rezulta

ca (M/µ2)‖F (x, y, z)‖∞ ≤ q⇔q ≥ 210/240 = 7/8. Din Mr/µ ≤ q rezulta q ≥ 1/2.

Deci putem lua q = 7/8 si atunci ecuatia F (x, y, z) = 0 are o solutie unica în V .

Pentru x(0) = (0, 0, 1) se calculeaza x(n) cu formula de recurenta (4) (folosind la

fiecare pas o procedura de inversare a matricei (F ′(x(n)))−1). Se opreste calculul iterativ

atunci când (2µ)/M · q2n

≤ ε⇔4 · (7/8)2n

≤ ε.

Pentru ε = 10−10 se obtin urmatoarele rezultate:

7

Page 72: Curs Calcul Numeric

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 simplificata

Fie m ∈ N∗, D o multime deschisa din Rm si f : D→ Rm o functie de clasa C2(D).

Daca presupunem ca exista a ∈ D astfel încât f ′(a) este inversabila, atunci ecuatia

f(x) = 0 se transforma echivalent astfel:

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

Pentru orice x(0) ∈ D definim, daca este posibil, sirul (x(n))n∈N prin relatia de

recurenta

x(n+1) = x(n) − (f ′(a))−1f(x(n)), ∀n ∈ N. (5)

Fie ‖·‖ o norma pe Rm. Notam tot cu ‖·‖ norma matriciala asociata. Presupunem

ca exista 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))−1f(a)‖ ≤ β ≤ (1− q)r;

5) Mrα ≤ q.

Atunci ecuatia f(x) = 0 are o solutie unica z ∈ V si pentru orice x(0) ∈ V se poate

8

Page 73: Curs Calcul Numeric

construi sirul (x(n))n∈N (prin relatia de recurenta (5)) cu proprieta tile x(n) ∈ V si

‖x(n) − z‖ ≤q

1− q‖x(n) − x(n−1)‖ ≤

qn

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

Exemplul -1.4 Fie sistemul de ecuatii

x2 + y2 + z2 + x+ y + z − 853/144 = 0

3x2 − 4y2 + z2 + x− y − 3z + 1309/432 = 0

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

(6)

Folosind metoda Newton simplificata relativa la norma ‖ · ‖∞, sa se arate ca sistemul

(6) are solutie unica v în V := [−0, 8; 1, 2]3. Pentru o eroare ε data si pentru iterata

initiala x(0) := (1, 1, 1), sa se calculeze iterata x(n) pentru care ‖x(n) − v‖∞ ≤ ε.

Fie r := 0, 2 = 1/5 si a := (1, 1, 1). Atunci multimea V este Br(a) în raport cu

norma ‖ · ‖∞. Fie functia F = (f, g, h) : V→ R3 cu f(x, y, z) := x2 + y2 + z2 + x +

y + z − 853/144, g(x, y, z) := 3x2 − 4y2 + z2 + x − y − 3z + 1309/432 si h(x, y, z) :=

5x2 + 2y2 − 3z2 + 2x − 4y − 6z + 37/9, ∀ (x, y, z) ∈ V . Sistemul de ecuatii (6) este

echivalent cu F (x, y, z) = 0.

Avem

F ′(x, y, z) =

2x+ 1 2y + 1 2z + 1

6x+ 1 −8y − 1 2z − 3

10x+ 2 4y − 4 −6z − 6

,

F ′′(x, y, z) =

2 0 0 0 2 0 0 0 2

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) ∈

V . Putem lua M = 20. Avem F ′(a) =

3 9 3

7 −9 −1

12 0 −12

, cu det(F ′(a)) = 72, deci

9

Page 74: Curs Calcul Numeric

F ′(a) inversabila, (F ′(a))−1 =1

72

9 3 2

6 −6 2

9 3 −4

si ‖(F ′(a))−1‖∞ = max(14/72, 14/72, 16/72) =

2/9. Lua m α = 2/9. Avem F (a) = (11/144, 13/432, 1/9)t si (F ′(a))−1F (a) =

(1/72, 1/144, 1/216)t, deci ‖(F ′(a))−1F (a)‖∞ = 1/72. Luam β = 1/72. Conditia

β ≤ (1 − q)r implica q ≤ 67/72. Din αMr ≤ q rezulta q ≥ 8/9. Deci putem lua

q = 8/9 si atunci ecuatia F (x, y, z) = 0 are o solutie unica în V .

Pentru x(0) = (1, 1, 1) se calculeaza x(n) cu formula de recurenta (6). Se opreste

calculul iterativ atunci când q/(1− q) · ‖x(n) − x(n−1)‖∞ ≤ ε.

Pentru ε = 10−10 se obtin urmatoarele 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

Page 75: Curs Calcul Numeric

INTERPOLARE POLINOMIALAFormula lui Lagrange

Se considera:

• n ∈ N∗;

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

distincte doua câte doua;

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

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

Se numeste polinom de interpolare Lagrange atasat sistemului de date (SL) un

polinom P ∈ R[X] cu urmatoarele proprietati:

1) gradP ≤ n− 1;

2) P (xi) = yi pentru orice 1 ≤ i ≤ n.

Polinomul de interpolare Lagrange atasat sistemului de date (SL) exista, este unic

si se reprezinta sub forma:

P (x) =n∑

i=1

yi

n∏

j=1, j �=i

x− xjxi − xj

. (1)

Formula (1) se numeste formula lui Lagrange de reprezentare a polinomului de inter-

polare.

Exemplul -1.1 Utilizând formula lui Lagrange de reprezentare sa se determine poli-

nomul de interpolare de grad 2 ce verifica conditiile:

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

1

Page 76: Curs Calcul Numeric

Din (1) rezulta ca:

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

Avem:

L1(x) =(x− 1)(x− 4)(0− 1)(0− 4) =

x2 − 5x+ 44

,

L2(x) =x(x− 4)

(1− 0)(1− 4) =x2 − 4x−3 ,

L3(x) =x(x− 1)

(4− 0)(4− 1) =x2 − x

12.

Atunci:

P (x) = 2 · x2 − 5x+ 4

4+ 1 · x

2 − 4x−3 + 4 · x

2 − x

12=1

2x2 − 3

2x+ 2.�

Algoritmul lui Aitken

Fie n ∈ N∗ si x1, x2, . . . , xn puncte distincte doua câte doua, continute într-un

interval real I. Consideram o functie continua f : I → R. Se numeste polinom de

interpolare Lagrange asociat functiei f si nodurilor x1, x2, . . . , xn polinomul P de grad

mai mic sau egal cu n−1 care verifica conditiile P (xi) = f(xi). Notam valoarea acestui

polinom într-un punct x din I cu P (f ; x1, x2, . . . , xn; x). Polinomul de interpolare

Lagrange asociat functiei f si nodurilor x1, x2, . . . , xn exista si este unic.

Daca n = 1, atunci

P (f ;x1; x) = f(x1), (2)

iar daca 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)

xn − x1. (3)

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

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

2

Page 77: Curs Calcul Numeric

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

Cu formula (3) rezulta ca

Pij(x) =(x− xi−1)Pi−1j − (x− xj)Pi−1i−1

xj − xi−1∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. (5)

Observam ca P (f ;x1, x2, . . . , xn;x) = Pnn(x).

Prezentam în continuare un algoritm pentru calculul coeficientilor polinomului de

interpolare Lagrange P (f ; x1, x2, . . . , xn; x) (bazat pe algoritmul Aitken):

Cum gradPij ≤ i− 1 ∀ 1 ≤ i ≤ n, ∀ i ≤ j ≤ n, putem scrie

Pij(x) = aij1 + aij2 x+ · · ·+ aiji xi−1.

Egalând coeficientii lui xk cu 0 ≤ k ≤ i− 1 din relatile (4) si (5), obtinem:

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

aij1 =−ai−1 j1 xi−1 + ai−1 i−11 xj

xj − xi−1

aijk =ai−1 jk−1 − ai−1 jk xi−1 − ai−1 i−1k−1 + ai−1 i−1k xj

xj − xi−1∀ 2 ≤ k ≤ i− 1

aiji =ai−1 ji−1 − ai−1 i−1i−1

xj − xi−1

,

∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. Deci se observa ca determinarea coeficientilor aijk este

recursiva. În concluzie, avem:

P (f ; x1, x2, . . . , xn;x) = ann1 + ann2 x+ · · ·+ annn xn−1 .

Exemplul -1.2 Fie functia f : [0, 12] → R cu f(x) = 6√2x+ 1 − 2x, ∀x ∈ [0, 12].

Sa 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. Rezulta ca

P22(x) =10x− 6(x− 4)

4= x+ 6,

3

Page 78: Curs Calcul Numeric

P23(x) =6x− 6(x− 12)

12= 6

si astfel

P (f ; 0, 4, 12;x) = P33(x) = −x2

8+3x

2+ 6 .

Algoritmul lui Neville

Fie n ∈ N∗ si x1, x2, . . . , xn puncte distincte doua câte doua continute într-un

interval real I. Consideram o functie continua f : I → R.

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

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

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

Cu formula (3) rezulta ca

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

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

Observam ca P (f ;x1, x2, . . . , xn;x) = Pnn(x).

Prezentam în continuare un algoritm pentru calculul coeficientilor polinomului de

interpolare Lagrange P (f ; x1, x2, . . . , xn; x) (bazat pe algoritmul Neville):

Cum gradPij ≤ i− 1 ∀ 1 ≤ i ≤ n, ∀ i ≤ j ≤ n, putem scrie

Pij(x) = aij1 + aij2 x+ · · ·+ aiji xi−1

Egalând coeficientii lui xk cu 0 ≤ k ≤ i− 1, din relatile (6) si (7) obtinem:

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

aij1 =−ai−1 j1 xj−i+1 + ai−1 j−11 xj

xj − xj−i+1

aijk =ai−1 jk−1 − ai−1 jk xj−i+1 − ai−1 j−1k−1 + ai−1 j−1k xj

xj − xj−i+1∀ 2 ≤ k ≤ i− 1,

aiji =ai−1 ji−1 − ai−1 j−1i−1

xj − xj−i+1

4

Page 79: Curs Calcul Numeric

∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. Deci se observa ca determinarea coeficientilor aijk este

recursiva. Astfel, avem:

P (f ; x1, x2, . . . , xn;x) = ann1 + ann2 x+ · · ·+ annn xn−1 .

Exemplul -1.3 Fie functia f : [0, 12] → R cu f(x) = 6√2x+ 1 − 2x, ∀x ∈ [0, 12].

Sa 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. Rezulta ca

P22(x) =10x− 6(x− 4)

4= x+ 6,

P23(x) =6(x− 4)− 10(x− 12)

8= −x

2+ 12

si astfel

P (f ; 0, 4, 12;x) = P33(x) = −x2

8+3x

2+ 6

Formula lui Newton de reprezentare a polinomului de interpolare

Se considera:

• n ∈ N∗;

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

• m ∈ N∗ numarul 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

Page 80: Curs Calcul Numeric

Spunem ca aceste elemente definesc un sistem de date notat cu (SH).

Se numeste polinom de interpolare Hermite atasat sistemului de date (SH) un

polinom P ∈ R[x] cu urmatoarele proprietati:

1) gradP ≤ n− 1;

2) P (j)(yi) = zij pentru orice 1 ≤ i ≤ m, 0 ≤ j ≤ ni − 1.

Polinomul de interpolare Hermite atasat sistemului dedate (SH) exista si este unic.

Fie I un interval real ce contine punctele x1, . . . , xn si f : I → R o functie de ni−1

ori derivabila în yi pentru orice 1 ≤ i ≤ m. Luam zij := f (j)(yi), ∀ 1 ≤ i ≤ m, 0 ≤

j ≤ ni− 1. Polinomul de interpolare Hermite atasat acestui sistem de date se numeste

polinom de interpolare asociat functiei f si sistemului de date (SH). Notam valoarea

acestui polinom într-un punct x din I cu P (f ; x1, x2, . . . , xn; x).

Se numeste diferenta divizata a functiei f relativa la sistemul de noduri x1, x2, . . . , xn

coeficientul lui xn−1 din reprezentarea canonica a polinomului de interpolare P (f ; x1, x2, . . . , xn; x).

Notam diferenta divizata cu f(x1, x2, . . . , xn). Diferentele divizate se calculeaza cu aju-

torul urmatoarelor formule:

Pentru n ≥ 2 si x1 �= xn

f(x1, x2, . . . , xn) =f(x2, . . . , xn)− f(x1, . . . , xn−1)

xn − x1,

iar

f(a, a, . . . , a︸ ︷︷ ︸n ori

) =f (n−1)(a)

(n− 1)! . (8)

Urmatoarea egalitate este formula lui Newton de reprezentare a polinomului de

interpolare:

P (f ; x1, x2, . . . , xn; x) = f(x1) +n∑

i=2

f(x1, x2, . . . , xi)i−1∏

j=1

(x− xj).

Fie f : I → R o functie de n ori derivabila pe I. Atunci

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

n!·maxx∈I

∣∣f (n)(x)∣∣ ·∣∣∣∣∣

n∏

i=1

(x− xi)

∣∣∣∣∣, ∀x ∈ I.

6

Page 81: Curs Calcul Numeric

Algoritm:

Notam cu aij diferentele divizate f(xj−i+1, . . . , xj−1,xj), ∀ i ∈ {2, . . . , n}, ∀ j ∈

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

i=2

cii−1∏

j=1

(x− xj)

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

Apoi pentru i = 2, n, calculam diferentele divizate aij =ai−1:j − ai−1:j−1xj − xj−i+1

∀ j = i, n

si luam ci = aii.

Polinomul P în punctul x îl putem calcula cu o schema 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

Rezulta 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âna la 1 luam P = P · (u− xi) + ci;

Exemplul -1.4 Fie functia f : [0, 4] → R cu f(x) = 6√2x+ 1 − 2x, ∀x ∈ [0, 4].

Utilizând formula de reprezentare Newton sa 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

Page 82: Curs Calcul Numeric

Vom calcula diferentele divizate cu formulele de recurenta 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 " diferente divizate asociate la k noduri).

Cum f(x) = 6√2x+ 1− 2x = 6(2x+1)1/2− 2x, rezulta ca f ′(x) = 6(2x+1)−1/2−

2 si 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) = 12f ′′(0) = −3,

f(0, 0, 4) = (f(0, 4) − f(0, 0))/(4 − 0) = −3/4 etc.. Rezulta urmatorul 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

P (f ; 0, 0, 0, 4, 4; x) = 6 + 4x− 3x2 + 9

16x3 − 7

64x3(x− 4).

Din formula de evaluare a erorii rezulta ca

|f(x)− P (f ; 0, 0, 0, 4, 4;x)| ≤ M5

5!|x3(x− 4)2| ∀x ∈ [0, 4],

8

Page 83: Curs Calcul Numeric

unde M5 = supx∈[0,4]

|f (5)(x)|. Avem f (3)(x) = 18(2x+ 1)−5/2, f (4)(x) = −90(2x+ 1)−7/2,

f (5)(x) = 630(2x+1)−9/2. Cum f (6)(x) = −630 · 9(2x+1)−11/2 < 0, rezulta ca f (5)este

descrescatoare si cum f (5)(x) > 0 ∀x ∈ [0, 4] rezulta ca M5 = f (5)(0) = 630. Atunci

|f(x)− P (x)| ≤ 630

120|x3(x− 4)2| = 21

4x3(x− 4)2, ∀x ∈ [0, 4]. �

Interpolare Cebâsev

În cele ce urmeaza ne propunem sa diminuam eroarea la interpolarea polinomiala

Lagrange pe un interval dat [a, b] în cazul unui numar dat n ∈ N∗ de noduri prin

alegerea unor "noduri optimale". Definim "nodurile optimale" y1, y2, . . . , yn prin re-

latia:

supx∈[a,b]

n∏

i=1

|x− yi| ≤ supx∈[a,b]

n∏

i=1

|x− xi|, (9)

pentru orice puncte x1, x2, . . . , xn din [a, b]. În continuare vVom construi aceste "noduri

optimale".

Functia Tn : R → R data de Tn(x) = cos(n arccosx) este un polinom de gradul n

si are n radacini distincte situate în intervalul [−1, 1].

Fie n ∈ N∗ si a < b ∈ R. Notam

Pn(x) = 2

(b− a

4

)nTn

(2x− a− b

b− a

)∀x ∈ [a, b] (10)

Atunci

supx∈[a,b]

|Pn(x)| ≤ supx∈[a,b]

|Q(x)|,

pentru orice polinom Q monic de grad n.

"Nodurile optimale", pe un interval dat [a, b], la interpolarea polinomiala Lagrange

cu n puncte, sunt:

yi =b− a

2cos

((2i− 1)π2n

)+b+ a

2∀ i ∈ 1, n.

9

Page 84: Curs Calcul Numeric

Formula lui Newton de interpolare ascendenta

Fie I un interval real, familia (xj)j∈Z o retea de noduri (reale) echidistante cu pasul

h definita prin x0 ∈ I si xj = x0 + jh, ∀ j ∈ N. Notam q :=x− x0h

unde x ∈ I.

Pentru x ∈ I si n ∈ N∗ notam Anx =n−1∏

j=0

(x− j) numite aranjamente generalizate si

Cnx =

Anxn!

numite combinari generalizate. Prin conventie luam A0x = 1 si C0x = 1.

Fie f : I → R o functie, x ∈ I si h > 0 un numar real. Numim diferenta

nedivizata ascendenta a functiei f în punctul x, corespunzatoare pasului h

(si o notam cu ∆hf(x)), expresia:

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

Fie n ∈ N∗. Numim diferenta nedivizata ascendenta de ordin n a functiei f în

punctul x, corespunzatoare pasului h (si o notam cu ∆nhf(x)) compunerea:

∆nhf(x) := ∆n−1h (∆hf(x)),

unde, prin conventie, ∆0hf(x) = f(x), iar ∆1h = ∆h.

Cu datele si notatiile anterioare este adevarata egalitatea

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

i=0

Ciq∆ihf(x0),

numita formula lui Newton de interpolare ascendenta.

Exemplul -1.5 Sa se determine, folosind formula de interpolare Newton ascendenta,

polinomul Lagrange atasat datelor: n = 3, x0 = 4, h = 2 (de unde x1 = 6, x2 = 8,

x3 = 10) si f : R → R o functie continua cu f(x0) = 1, f(x1) = 3, f(x2) = 8,

f(x3) = 20 si sa se estimeze valoarea functiei f în punctul x = 7.

10

Page 85: Curs Calcul Numeric

Organizam calculul diferentelor nedivizate ascendente în tabelul urmator:

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

0 4 1 2 3 4

1 6 3 5 7

2 8 8 12

3 10 20

(De exemplu∆1hf(x0) = ∆hf(x0) = f(x1)−f(x0) = 3−1 = 2,∆2hf(x0) = ∆

1h∆hf(x0) =

∆hf(x1) − ∆hf(x0) = ∆1hf(x1) − ∆1hf(x0) = 5 − 2 = 3, etc.) Atunci ∆0

hf(x0) = 1,

∆1hf(x0) = 2, ∆2hf(x0) = 3, ∆

3hf(x0) = 4.

Fie x ∈ R Avem q =x− x0h

=x− 42

si atunci C0q = 1, C1

q = q =x− 42

, C2q =

q(q − 1)2

=(x− 4)(x− 6)

8, C3

q =q(q − 1)(q − 2)

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

48. Rezulta

ca: P (f ;x0, x1, x2, x3; x) =

3∑

i=0

Ciq∆ihf(x0) = 1 + (x− 4) +

3

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

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

si deci

P (f ;x0, x1, x2, x3; 7) = 1 + 3 +9

8− 14=39

8= 4.875 .�

Formula lui Newton de interpolare descendenta

Cu notatiile de la sectiunea anterioara, fie f : I → R o functie, x ∈ I si h > 0 un

numar real. Numim diferenta nedivizata descendenta a functiei f în punctul

x, corespunzatoare pasului h (si o notam cu ∇hf(x)), expresia:

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

Fie n ∈ N∗. Numim diferenta nedivizata descendenta de ordinul n a functiei

f în punctul x, corespunzatoare pasului h (si o notam cu ∇nhf(x)) compunerea:

∇nhf(x) := ∇n−1

h (∇hf(x)),

11

Page 86: Curs Calcul Numeric

unde, prin conventie, ∇0hf(x) = f(x), iar ∇1

h = ∇h.. Atunci este adevarata egalitatea

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

i=0

(−1)iCi−q∇i

hf(x0),

numita formula lui Newton de interpolare descendenta.

Exemplul -1.6 Sa se determine, folosind formula de interpolare Newton descendenta,

polinomul Lagrange atasat datelor: n = 3, x0 = 10, h = 2 (de unde x−1 = 8, x−2 = 6,

x−3 = 4) si f : R → R o functie continua cu f(x0) = 20, f(x−1) = 8, f(x−2) = 3,

f(x−3) = 1 si sa se estimeze valoarea functiei f în punctul x = 7.

Organizam calculul diferentelor nedivizate descendente în tabelul urmator:

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

hf(xk) ∇3hf(xk)

0 10 20 12 7 4

−1 8 8 5 3

−2 6 3 2

−3 4 1

(De exemplu ∇1hf(x0) = ∇hf(x0) = f(x0) − f(x−1) = 20 − 8 = 12, ∇2

hf(x0) =

∇1h∇hf(x0) = ∇hf(x0)−∇hf(x−1) = ∇1

hf(x0)−∇1hf(x−1) = 12− 5 = 7, etc.) Atunci

∇0hf(x0) = 20, ∇1

hf(x0) = 12, ∇2hf(x0) = 7, ∇3

hf(x0) = 4.

Fie x ∈ R. Avem q =x− x0h

=x− 102

si atunci

C0−q = 1, C1

−q = −q = −x− 102

, C2−q =

−q(−q − 1)2

=(x− 10)(x− 8)

8, C3−q =

−q(−q − 1)(−q − 2)6

=(x− 10)(x− 8)(x− 6)

48. Rezulta ca:

P (f ; x0, x−1, x−2, x−3;x) =3∑

i=0

(−1)iCi−q∇i

hf(x0) =

= 20 +12

2(x− 10) + 7

8(x− 10)(x− 8) + 4

48(x− 10)(x− 8)(x− 6)

si deci

P (f ; x0, x−1, x−2, x−3; 7) = 20− 18 +21

8+1

4=39

8= 4.875 .�

12

Page 87: Curs Calcul Numeric

Formula de interpolare Gauss înainte

Fie f : I → R o functie, x ∈ I si h > 0 un numar real. Numim diferenta

nedivizata centrala a functiei f în punctul x corespunzatoare pasului h (si o

notam cu δhf(x)), expresia:

δhf(x) := f

(x+

h

2

)− f

(x− h

2

).

Fie n ∈ N∗. Numim diferenta nedivizata centrala de ordinul n a functiei f în

punctul x, corespunzatoare pasului h (si o notam cu δnhf(x)) compunerea:

δnhf(x) := δn−1h (δhf(x)),

unde, prin conventie, δ0hf(x) = f(x), iar δ1hf(x) = δhf(x).

Atunci este adevarata egalitatea

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

= f(x0) +n∑

i=1

(C2i−1q+i−1δ

2i−1h f(x1/2) + C2i

q+i−1δ2ih f(x0))

(unde x1/2 = x+1

2h), numita formula de interpolare Gauss înainte.

Exemplul -1.7 Sa se determine, folosind formula de interpolare Gauss înainte, poli-

nomul Lagrange atasat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,

x1 = 8, x2 = 10) si f : R → R o functie continua cu f(x−2) = −2, f(x−1) = 1,

f(x0) = 3, f(x1) = 8, f(x2) = 20 si sa se estimeze valoarea functiei f în punctul

x = 7.

Printr-un calcul elementar, se arata ca, pentru orice i = 1, 2:

δ2i−1h f(x1/2) = ∆2i−1h f(x−i+1) si δ2ih f(x0)) = ∆

2ih f(x−i)).

13

Page 88: Curs Calcul Numeric

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

f(x0) +2∑

i=1

(C2i−1q+i−1∆

2i−1h f(x−i+1) + C2i

q+i−1∆2ih f(x−i)) =

= f(x0) + C1q∆

1hf(x0) + C2

q∆2hf(x−1) + C3

q+1∆3hf(x−1) + C4

q+1∆4hf(x−2).

Organizam calculul diferentelor finite ascendente în tabelul urmator:

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

hf(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,∆1hf(x0) = 5,∆2hf(x−1) = 3,∆3hf(x−1) = 4,∆4

hf(x−2) = 0. Cum

q =x− 62

rezulta ca C1q = q =

x− 62

, C2q =

q(q − 1)2

=(x− 6)(x− 8)

8, C3

q+1 =

(q + 1)q(q − 1)6

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

48. Atunci:

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

= 3 + 5x− 62

+ 3(x− 6)(x− 8)

8+ 4

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

si

f(7) � P (f ; x−2, x−1, x0, x1, x2; 7) = 3 +5

2− 38− 14=39

8= 4.875 .�

Formula de interpolare Gauss înapoi

Cu notatiile din sectiunea anterioara este adevarata egalitatea:

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

= f(x0) +n∑

i=1

(C2i−1q+i−1δ

2i−1h f(x−1/2) + C2i

q+iδ2ih f(x0))

(unde x−1/2 = x0 −1

2h), numita formula de interpolare Gauss înapoi.

14

Page 89: Curs Calcul Numeric

Exemplul -1.8 Sa se determine, folosind formula de interpolare Gauss înapoi, polino-

mul Lagrange atasat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4, x1 = 8,

x2 = 10) si f : R → R o functie continua cu f(x−2) = −2, f(x−1) = 1, f(x0) = 3,

f(x1) = 8, f(x2) = 20 si sa se estimeze valoarea functiei f în punctul x = 7.

Printr-un calcul elementar, se arata ca, pentru orice i = 1, 2:

δ2i−1h f(x1/2) = ∆2i−1h f(x−i+1) si δ2ih f(x0)) = ∆

2ih f(x−i)).

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

f(x0) +2∑

i=1

(C2i−1q+i−1∆

2i−1h f(x−i) + C2i

q+i∆2ih f(x−i)) =

= f(x0) + C1q∆1hf(x−1) + C2

q+1∆2hf(x−1) + C3

q+1∆3hf(x−2) + C4

q+2∆4hf(x−2).

Organizam calculul diferentelor finite ascendente în tabelul urmator:

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

hf(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,∆1hf(x−1) = 2,∆2hf(x−1) = 3,∆3hf(x−2) = 4,∆4

hf(x−2) = 0. Cum

q =x− 62

, rezulta ca C1q = q =

x− 62

, C2q+1 =

(q + 1)q

2=(x− 4)(x− 6)

8, C3q+1 =

(q + 1)q(q − 1)6

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

48. Atunci:

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

= 3 + 2x− 62

+ 3(x− 4)(x− 6)

8+ 4

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

15

Page 90: Curs Calcul Numeric

si

f(7) � P (f ; x−2, x−1, x0, x1, x2; 7) = 3 + 1 +9

8− 14=39

8= 4.875 . �

Interpolare cu functii spline cubice

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

[a, b] si fi ∈ R , i = 1, n pentru n ∈ N�.

Se numeste functie spline cubica, corespunzatoare diviziunii ∆n o functie s :

[a, b] −→ R care satisface conditiile:

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

ii) s ∈ C2([a, b]) .

Se noteaza cu S3(∆n) multimea functiilor spline cubice, corespunzatoare diviziunii ∆n.

Functia spline cubica asociata sistemului de puncte (xi, fi)i=1,n este o functie

cubica corespunzatoare diviziunii ∆n, s : [a, b]→ R, cu proprietatea

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

În conditile formulate mai sus, ∀ i = 1, n− 1, functia s se reprezinta în mod unic

sub forma:

s(x) = c1i+c2i (x− xi)+c3i2(x− xi)

2+c4i6(x− xi)

3 , ∀x ∈ [xi, xi+1], (11)

unde

c1i = fi ,

c2i = si ,

c3i =1

xi+1 − xi

[6fi+1 − fixi+1 − xi

− (4si + 2si+1)],

c4i =6

(xi+1 − xi)2

[(si + si+1)− 2

fi+1 − fixi+1 − xi

−],

(12)

16

Page 91: Curs Calcul Numeric

iar s1, . . . , sn sunt solutiile sistemului:

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

3

[fi − fi−1xi − xi−1

(xi+1 − xi) +fi+1 − fixi+1 − xi

(xi − xi−1)

], i = 2, n− 1 .

(13)

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

conditii la capete. De exemplu, putem presupune ca sunt cunoscute valorile pentru

s′′

(x1) si s′′

(xn):

s′′

(x1) = α , s′′

(xn) = β , (14)

sau ca sunt cunoscute valorile pentru s′

(x1) si s′

(xn):

s1 = s′

(x1) = α , sn = s′

(xn) = β . (15)

Relatiile (14) sunt echivalente cu:

2s1 + s2 = 3f2 − f1x2 − x1

− α

2(x2 − x1)

sn−1 + 2sn = 3fn − fn−1xn − xn−1

2(xn − xn−1) .

Remarca. Din (13) si (??) sau din (13) si (15) din se pot determina s1, . . . , sn,

apoi din (12) se determina c1i, c2i, c3i, c4i pentru i = 1, n− 1 si deci, conform cu

(11), functia s este cunoscuta pe [a, b]. Pentru f : [a, b] → R de doua ori derivabila

determinam functia spline cubica de interpolare asociata diviziunii ∆n si functiei f ,

adica, o functie spline cubica s ∈ S3(∆n) cu proprietatile s(xi) = f(xi), ∀ i ∈ 1, n si

s′′

(a) = f′′

(a) si s′′

(b) = f′′

(b) .

sau s′

(a) = f′

(a) si s′

(b) = f′

(b) .

17

Page 92: Curs Calcul Numeric

Derivare numerica

Derivarea numerica consta în aproximarea derivatelor de un anumit ordin ale unei

functii, printr-o combinatie liniara de valori ale functiei în anumite puncte.

Formule pentru derivata de ordinul I

Fie f : R → R o functie derivabila, x0 ∈ R si h > 0 un numar real numit pas.

Atunci

f ′(x0) =f(x0 + h)− f(x0)

h+R(f), (1)

unde, daca f ∈ C2([x0, x0 + h]), restul R(f) poate fi evaluat prin

|R(f)| ≤h

2· maxx∈[x0,x0+h]

|f ′′(x)| .

f ′(x0) =f(x0)− f(x0 − h)

h+R(f), (2)

unde, daca f ∈ C2([x0 − h, x0]), restul R(f) poate fi evaluat prin

|R(f)| ≤h

2· maxx∈[x0−h,x0]

|f ′′(x)| .

Formulele de derivare (1) @si (2) sunt exacte pe multimea polinoamelor de gradul 1.

f ′(x0) =f(x0 + h)− f(x0 − h)

2h+R(f), (3)

unde, daca f ∈ C3([x0 − h, x0 + h]), restul R(f) poate fi evaluat prin

|R(f)| ≤h2

6· maxx∈[x0−h,x0+h]

|f ′′′(x)| .

Formula de derivare numerica anterioara se poate generaliza astfel:

f ′(x0) h21f(x0 + h2) + (h

22 − h

21)f(x0)− h

22f(x0 − h1)

h1h2(h1 + h2),

unde h1, h2 sunt numere reale pozitive.

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

2h+R(f), (4)

1

Page 93: Curs Calcul Numeric

unde, daca f ∈ C3([x0, x0 + 2h]), restul R(f) poate fi evaluat prin

|R(f)| ≤h2

3· maxx∈[x0,x0+2h]

|f ′′′(x)| .

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

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

6h+R(f), (5)

unde, daca f ∈ C4([x0, x0 + 3h]), restul R(f) poate fi evaluat prin

|R(f)| ≤h3

18· maxx∈[x0,x0+3h]

∣∣f (4)(x)∣∣

Formula de derivare (5) este exacta pe multimea polinoamelor de gradul 3.

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

12h+R(f), (6)

unde, daca f ∈ C5([x0 − 2h, x0 + 2h]), restul R(f) poate fi evaluat prin

|R(f)| ≤2h4

5· maxx∈[x0−2h,x0+2h]

∣∣f (5)(x)∣∣ .

Formula de derivare (6) este exacta pe multimea polinoamelor de gradul 4.

bf Formule pentru derivata de ordinul II

Fie f : R → R o functie de doua ori derivabila, x0 ∈ R si h > 0 un numar real

numit pas. Atunci

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

h2+R(f), (7)

unde, daca f ∈ C3([x0, x0 + 2h]), restul R(f) poate fi evaluat prin

|R(f)| ≤ h · maxx∈[x0,x0+2h]

|f ′′′(x)| .

Formula de derivare (6) este exacta pe multimea polinoamelor de gradul 2.

f ′′(x0) = R(f)+

2

Page 94: Curs Calcul Numeric

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

12h2, (8)

unde, daca f ∈ C5([x0 − 2h, x0 + 2h]), restul R(f) poate fi evaluat prin

|R(f)| ≤h3

5· maxx∈[x0−2h,x0+2h]

∣∣f (5)x)∣∣ .

Formula de derivare (6) este exacta pe multimea polinoamelor de gradul 4.

Exemplul -1.1 Sa se aproximeze derivatele de ordinul I si ordinul II ale functiei

f(x) = e−xsin(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 obtin 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 obtin 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 obtin 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 obtin 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 obtin 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 obtin 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

Page 95: Curs Calcul Numeric

Cu formula de derivare (6) se obtin 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 exacta este f ′(x0) = −0.1107937653.

Cu formula de derivare (7) se obtin 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 obtin 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 exacta este f ′′(x0) = −0.3975322207.

Derivare numerica obtinuta prin interpolare

Fie f : [a, b] → R, n ∈ N∗, x1, . . . , xn puncte distincte din [a, b]. Presupunem

ca f este derivabila. Se numeste derivare numerica obtinuta 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:

P (f ; x1, . . . , xn; x) = f(x1) +n∑

i=2

f(x1, . . . , xi) ·i−1∏

j=1

(x− xj).

Rezulta ca:

P ′(f ;x1, . . . , xn; x) = f(x1, x2) +n∑

i=3

f(x1, . . . , xi) ·

(i−1∑

j=1

i−1∏

k=1, k �=j

(x− xk)

)

,

∀ (n ≥ 3). Pentru calculul diferentelor divizate se foloseste algoritmul Neville: fie,

prin notatie, Fij = f [xj−i+1, . . . , xj−1,xj ]. Atunci Fij satisfac relatiile de recurenta:

F1i = f(xi), ∀ i ∈ 1, n si Fij =Fi−1:j − Fi−1:j−1xj − xj−i+1

, ∀ i ∈ {2, . . . , n},∀ j ∈ {i, . . . , n},

deci f(x1, . . . , xi) = Fii, ∀i ∈ {2, . . . , n} .

4

Page 96: Curs Calcul Numeric

Cuadraturi numerice

Fie [a, b] ⊂ R, x1, x2, . . . , xn puncte distincte din [a, b] si f : [a, b] → R o functie

continua. Se numeste formula de cuadratura egalitatea

σ(f) =n∑

i=1

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

Se numeste integrare numerica aproximarea integraleib∫

a

f(x)dx cu σ(f).

Fie k ∈ N∗, h = (b − a)/k, xi = a + ih, ∀ i ∈ 0, k. Daca σi(f) este o formula

de cuadratura a functiei f pe intervalul [xi, xi+1], ∀ i ∈ 0, k − 1, atunci se defineste

formula de cuadratura sumata

σ(k)(f) =k−1∑

i=0

σi(f).

Cuadraturi închiseFormula de cuadratura a trapezului

Formula de cuadratura a trapezului este

σ(f) =

b∫

a

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

Din formula lui Newton de reprezentare a polinomului de interpolare avem

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

Atunci

σ(f) =

b∫

a

(f(a) +

f(b)− f(a)b− a (x− a)

)dx =

= (b− a)f (a) + f(b)− f(a)b− a · (b− a)

2

2=

=b− a2

· (f(a) + f(b)) .

1

Page 97: Curs Calcul Numeric

Daca f ∈ C2([a, b]), din formula de evaluare a erorii la interpolare, avem

|f(x)− P (f ; a, b; x)| ≤ 1

2|(x− a)(x− b)| · max

x∈[a,b]|f ′′(x)| , ∀ x ∈ [a, b].

Atunci ∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P (f ; a, b; x)) dx

∣∣∣∣∣∣≤

≤b∫

a

|f(x)− P (f ; a, b; x)| dx ≤ 1

2maxx∈[a,b]

|f ′′(x)| ·b∫

a

(x− a)(b− x)dx =

=1

2maxx∈[a,b]

|f ′′(x)| · (b− a)3

6=(b− a)312

· maxx∈[a,b]

|f ′′(x)| .

Formula de cuadratura a trapezului sumata este:

σ(k)T (f) =

1

2

k−1∑

i=0

(xi+1 − xi)(f (xi) + f(xi+1)) =b− a2k

k−1∑

i=0

(f (xi) + f(xi+1)),

pentru care, daca f ∈ C2([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)T (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)3

12k2· maxx∈[a,b]

|f ′′(x)| ,

unde σi(f) este formula de cuadratura a trapezului, aplicata functiei f pe intervalul

[xi, xi+1], ∀ i ∈ 0, k − 1

Exemplul -1.1 Folosind formula de cuadratura a trapezului sumata, sa se aproximeze

calculul integralei

I =

2∫

1

1 + ln x

xdx

pentru k = 5, k = 10, k = 50 si k = 100, evaluând si eroarea comisa.

2

Page 98: Curs Calcul Numeric

Se obtin urmatoarele 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 tinut seama de maxx∈[a,b]

|f ′′(x)| = 1. Facem observatia ca valoarea

exacta a integralei este I = 0.9333736875 �.

Exemplul -1.2 Sa se determine numarul minim de subintervale k în care trebuie îm-

partit intervalul [0, 1], pentru ca, folosind formula trapezului sumata, sa putem calcula

integrala

I =

1∫

0

ex

x+ 1dx

cu o eroare mai mica de 10−5.

Avem supx∈[0,1]

|f ′′(x)| = 3e

8. Din formula de evaluare a erorii rezulta ca

k ≥[√

105

12

]

+ 1 = 92 �

Formula de cuadratura Simpson

Formula de cuadratura Simpson este

σ(f) =

b∫

a

P

(f ; a,

a+ b

2, b;x

)dx

Din formula lui Newton de reprezentare a polinomului de interpolare avem

P

(f ; a,

a+ b

2b; x

)= f (a) + f

(a,a+ b

2

)(x− a)+

3

Page 99: Curs Calcul Numeric

+f

(a,a+ b

2, b

)(x− a)

(x− a+ b

2

).

Atunci

σ(f) =

b∫

a

(f (a) + f

(a,a+ b

2

)(x− a)+

+f

(a,a+ b

2, b

)(x− a)

(x− a+ b

2

))dx =

= (b− a)f (a) + 2(f((a+ b)/2)− f(a))b− a · (b− a)

2

2+

+2(f(b)− 2f((a+ b)/2) + f(a))

(b− a)2 · (b− a)3

12=

=b− a6

·(f(a) + 4f

(a+ b

2

)+ f(b)

).

Daca f ∈ C3([a, b]), din formula de evaluare a erorii la interpolare avem∣∣∣∣f(x)− P

(f ; a,

a+ b

2, b;x

)∣∣∣∣ ≤

≤ 1

6

∣∣∣∣(x− a)(x− a+ b

2

)(x− b)

∣∣∣∣ · maxx∈[a,b]

∣∣∣f ′′′′

(x)∣∣∣ , ∀ x ∈ [a, b].

Atunci ∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ; a,

a+ b

2, b; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ; a,

a+ b

2, b; x

)∣∣∣∣ dx ≤

≤ 1

6maxx∈[a,b]

|f ′′(x)| ·b∫

a

∣∣∣∣(x− a)(x− a+ b

2

)(x− b)

∣∣∣∣ dx =

=1

6maxx∈[a,b]

|f ′′′(x)| · (b− a)4

32=(b− a)4192

· maxx∈[a,b]

|f ′′′(x)| .

Observatie: Daca f este derivabila în punctul (a+b)/2, atunci formula de cuadratura

Simpson se poate obtine si cu formula

σ(f) =

b∫

a

P

(f ; a,

a+ b

2,a+ b

2, b; x

)dx.

4

Page 100: Curs Calcul Numeric

În acest caz, daca f ∈ C4([a, b]), din formula de evaluare a erorii la interpolare, avem∣∣∣∣f(x)− P

(f ; a,

a+ b

2,a+ b

2, b; x

)∣∣∣∣ ≤

≤ 1

24

∣∣∣∣∣(x− a)

(x− a+ b

2

)2(x− b)

∣∣∣∣∣· maxx∈[a,b]

∣∣f (4)(x)∣∣ , ∀ x ∈ [a, b].

Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ; a,

a+ b

2,a+ b

2, b; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ; a,

a+ b

2,a+ b

2, b; x

)∣∣∣∣ dx ≤

≤ maxx∈[a,b]

∣∣f (4)(x)∣∣ ·

b∫

a

∣∣∣∣(x− a)(x− a+ b

2

)(x− b)

∣∣∣∣2

dx =

=(b− a)52880

· maxx∈[a,b]

∣∣f (4)(x)∣∣ .

Formula de cuadratura Simpson sumata este:

σ(k)S (f) =

1

6

k−1∑

i=0

(xi+1 − xi)(f (xi) + 4f

(xi + xi+1

2

)+ f(xi+1)

)=

=b− a6k

k−1∑

i=0

(f (xi) + 4f

(xi + xi+1

2

)+ f(xi+1)

),

pentru care, daca f ∈ C3([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)S (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)4

192k3· maxx∈[a,b]

|f ′′′(x)| ,

unde σi(f) este formula de cuadratura Simpson, aplicata functiei f pe intervalul

[xi, xi+1], ∀ i ∈ 0, k − 1, iar daca f ∈ C4([a, b]), avem evaluara erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)S (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)52880k4

· maxx∈[a,b]

∣∣f (4)(x)∣∣

unde σi(f) este formula de cuadratura Simpson aplicata functiei f pe intervalul [xi, xi+1],

∀ i ∈ 0, k − 1,

5

Page 101: Curs Calcul Numeric

Exemplul -1.3 Folosind formula de cuadratura Simpson sumata sa se aproximeze

calculul integralei

I =

2∫

1

1 + ln x

xdx

pentru k = 5, k = 10 si k = 50, evaluând si eroarea comisa.

Se obtin urmatoarele 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 tinut seama de maxx∈[a,b]

∣∣f (4)(x)∣∣ = 14. Facem observatia ca valoarea

exacta a integralei este I = 0.9333736875 �.

Exemplul -1.4 Sa se determine numarul minim de subintervale k în care trebuie

împartit intervalul [0, 1], pentru ca, folosind formula Simpson sumata, sa putem calcula

integrala

I =

1∫

0

ex

x+ 1dx

cu o eroare mai mica de 10−5.

Avem supx∈[0,1]

|f (4)(x)| = 9. Din formula de evaluare a erorii rezulta ca

k ≥[√

105

320

]

+ 1 = 5. �

Formula de cuadratura Hermite

Presupunem ca functia f este derivabila în punctele a si b. Formula de cuadratura

Hermite este

σ(f) =

b∫

a

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

6

Page 102: Curs Calcul Numeric

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

σ(f) =

b∫

a

(f (a) + f(a, a)(x− a)+

+f(a, a, b)(x− a)2 + f(a, a, b, b)(x− a)2(x− b))dx =

= (b− a)f (a) + f ′(a) · (b− a)2

2+

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

− f ′(a)b− a · (b− a)

3

12+

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

b−a+ f ′(a)

(b− a)2 · (b− a)4

12=

=b− a2(f(a) + f(b)) +

(b− a)212

(f ′(a)− f ′(b)).

Daca f ∈ C4([a, b]), din formula de evaluare a erorii la interpolare avem

|f(x)− P (f ; a, a, b, b; x)| ≤ 1

24

∣∣(x− a)2(x− b)2∣∣ · max

x∈[a,b]

∣∣f (4)(x)∣∣ ,

∀ x ∈ [a, b]. Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P (f ; a, a, b.b;x)) dx

∣∣∣∣∣∣≤

≤b∫

a

|f(x)− P (f ; a, a, b, b; x)| dx ≤

≤ 1

24maxx∈[a,b]

∣∣f (4)(x)∣∣ ·

b∫

a

∣∣(x− a)2(x− b)2∣∣ dx =

=1

24maxx∈[a,b]

∣∣f (4)(x)∣∣ · (b− a)

5

30=(b− a)5720

· maxx∈[a,b]

∣∣f (4)(x)∣∣ .

7

Page 103: Curs Calcul Numeric

Formula de cuadratura Hermite sumata este:

σ(k)H (f) =

k−1∑

i=0

xi+1 − x12

(f (xi+1)+

+f(xi)) +(xi+1 − xi)2

12(f ′(xi+1)− f ′(xi)) =

=b− a2k

k−1∑

i=0

(f (xi+1) + f(xi)) +(b− a)212k2

(f ′(a)− f ′(b)),

pentru care avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)H (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)5

720k4· maxx∈[a,b]

∣∣f (4)(x)∣∣ ,

unde σi(f) este formula de cuadratura Hermite, aplicata functiei f pe intervalul [xi, xi+1],

∀ i ∈ 0, k − 1.

Exemplul -1.5 Folosind formula de cuadratura Hermite sumata, sa se aproximeze

calculul integralei

I =

2∫

1

1 + ln x

xdx

pentru k = 5, k = 10, k = 50 si k = 100, evaluând si eroarea comisa.

Se obtin urmatoarele 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 tinut seama de maxx∈[a,b]

∣∣f (4)(x)∣∣ = 14. Facem observatia ca valoarea

exacta a integralei este I = 0, 9333736875 �.

8

Page 104: Curs Calcul Numeric

Exemplul -1.6 Sa se determine numarul minim de subintervale k în care trebuie

împartit intervalul [0, 1], pentru ca, folosind formula Hermite sumata, sa putem calcula

integrala

I =

1∫

0

ex

x+ 1dx,

cu o eroare mai mica de 10−5.

Avem supx∈[0,1]

|f (4)(x)| = 9. Din formula de evaluare a erorii rezulta ca

k ≥[√

105

80

]

+ 1 = 6. �

Formula de cuadratura Newton

Formula de cuadratura Newton este

σ(f) =

b∫

a

P

(f ; a,

2a+ b

3,a+ 2b

3, b; x

)dx.

Din formula lui Newton de reprezentare a polinomului de interpolare avem

P

(f ; a,

2a+ b

3,a+ 2b

3, b; x

)= f (a) + f

(a,2a+ b

3

)(x− a)

+f

(a,2a+ b

3,a+ 2b

3

)(x− a)

(x− 2a+ b

3

)+

+f

(a,2a+ b

3,a+ 2b

3, b

)(x− a)

(x− 2a+ b

3

)(x− a+ 2b

3

)

Atunci

σ(f) = (b− a)f (a) + 3 ·f

(2a+ b

3

)− f(a)

b− a · (b− a)2

2+

+9

2·f

(a+ 2b

3

)− 2f

(2a+ b

3

)+ f(a)

(b− a)2 · (b− a)3

6+

9

Page 105: Curs Calcul Numeric

+9

2·f(b)− 3f

(a+ 2b

3

)+ 3f

(2a+ b

3

)− f(a)

(b− a)3 · (b− a)4

36=

=b− a8

(f(a) + 3f

(a+ 2b

3

)+ 3f

(2a+ b

3

)+ f(b)

).

Daca f ∈ C4([a, b]), din formula de evaluare a erorii la interpolare avem∣∣∣∣f(x)− P

(f ; a,

2a+ b

3,a+ 2b

3, b;x

)∣∣∣∣ ≤

≤ 1

24

∣∣∣∣(x− a)(x− 2a+ b

3

)(x− a+ 2b

3

)(x− b)

∣∣∣∣ · maxx∈[a,b]

∣∣f (4)(x)∣∣ ,

∀ x ∈ [a, b]. Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ; a,

2a+ b

3,a+ 2b

3, b; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ; a,

2a+ b

3,a+ 2b

3, b; x

)∣∣∣∣ dx ≤

1

24maxx∈[a,b]

∣∣f (4)(x)∣∣ ·

b∫

a

∣∣∣∣(x− a)(x− 2a+ b

3

)(x− a+ 2b

3

)(x− b)

∣∣∣∣ dx =

=1

24maxx∈[a,b]

∣∣f (4)(x)∣∣ · (b− a)

5

270=(b− a)56480

· maxx∈[a,b]

∣∣f (4)(x)∣∣ .

Formula de cuadratura Newton sumata este: σ(k)N (f) =

k−1∑

i=0

xi+1 − x18

(f (xi+1) + 3f

(2xi+1 + xi

3

)+ 3f

(xi+1 + 2xi

3

)+ f(xi)

)=

=b− a8k

k−1∑

i=0

(f (xi+1) + 3f

(2xi+1 + xi

3

)+ 3f

(xi+1 + 2xi

3

)+ f(xi)

),

pentru care, daca f ∈ C4([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)N (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)56480k4

· maxx∈[a,b]

∣∣f (4)(x)∣∣ ,

unde σi(f) este formula de cuadratura Newton, aplicata functiei f pe intervalul [xi, xi+1],

∀ i ∈ 0, k − 1.

10

Page 106: Curs Calcul Numeric

Exemplul -1.7 Folosind formula de cuadratura Newton sumata, sa se aproximeze

calculul integralei

I =

2∫

1

1 + ln x

xdx

pentru k = 5, k = 10 si k = 50, evaluând si eroarea comisa.

Se obtin urmatoarele 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 tinut seama de maxx∈[a,b]

∣∣f (4)(x)∣∣ = 1. Facem observatia ca valoarea

exacta a integralei este I = 0, 9333736875 �.

Exemplul -1.8 Sa se determine numarul minim de subintervale k, în care trebuie

împartit intervalul [0, 1], pentru ca, folosind formula Newton sumata, sa putem calcula

integrala

I =

1∫

0

ex

x+ 1dx,

cu o eroare mai mica de 10−5.

Avem supx∈[0,1]

|f (4)(x)| = 9. Din formula de evaluare a erorii rezulta ca

k ≥[√

105

720

]

+ 1 = 4. �

Cuadraturi deschise

Formula de cuadratura a dreptunghiului

11

Page 107: Curs Calcul Numeric

Formula de cuadratura a dreptunghiului este

σ(f) =

b∫

a

P

(f ;a+ b

2; x

)dx .

Din formula lui Newton de reprezentare a polinomului de interpolare avem

P

(f ;a+ b

2; x

)= f

(a+ b

2

)

Atunci

σ(f) =

b∫

a

f

(a+ b

2

).dx = (b− a)f

(a+ b

2

)

Daca f ∈ C1([a, b]), din formula de evaluare a erorii la interpolare, avem:∣∣∣∣f(x)− P

(f ;a+ b

2;x

)∣∣∣∣ ≤∣∣∣∣x−

a+ b

2

∣∣∣∣ · maxx∈[a,b]

|f ′(x)| , ∀ x ∈ [a, b].

Atunci ∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ;a+ b

2; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ;a+ b

2; x

)∣∣∣∣ dx ≤ maxx∈[a,b]

|f ′(x)| ·b∫

a

∣∣∣∣x−a+ b

2

∣∣∣∣ dx =

=(b− a)24

· maxx∈[a,b]

|f ′(x)| .

Observatie: Daca f este derivabila în punctul (a+b)/2, atunci formula de cuadratura

a dreptunghiului se poate obtine si cu formula

σ(f) =

b∫

a

P

(f ;a+ b

2,a+ b

2; x

)dx.

În acest caz, daca f ∈ C1([a, b]), din formula de evaluare a erorii la interpolare, avem∣∣∣∣f(x)− P

(f ;a+ b

2,a+ b

2; x

)∣∣∣∣ ≤1

2

∣∣∣∣x−a+ b

2

∣∣∣∣2

· maxx∈[a,b]

|f ′′(x)| , ∀ x ∈ [a, b].

12

Page 108: Curs Calcul Numeric

Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ;a+ b

2,a+ b

2; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ;a+ b

2,a+ b

2; x

)∣∣∣∣ dx ≤ maxx∈[a,b]

|f ′′(x)| ·b∫

a

∣∣∣∣x−a+ b

2

∣∣∣∣2

dx =

=(b− a)324

· maxx∈[a,b]

|f ′′(x)| .

Formula de cuadratura a dreptunghiului sumata este:

σ(k)D (f) =

k−1∑

i=0

(xi+1 − xi)f(xi + xi+1

2

)=b− ak

k−1∑

i=0

f

(xi + xi+1

2

),

pentru care, daca f ∈ C1([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)D (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)2

4k· maxx∈[a,b]

|f ′(x)| ,

iar daca f ∈ C2([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)D (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ (b− a)3

24k· maxx∈[a,b]

∣∣∣f′′

(x)∣∣∣ ,

unde σi(f) este formula de cuadratura a dreptunghiului, aplicata functiei f pe intervalul

[xi, xi+1], ∀ i ∈ 0, k − 1.

Exemplul -1.9 Folosind formula de cuadratura a dreptunghiului sumata, sa se aprox-

imeze calculul integralei

I =

2∫

1

1 + ln x

xdx

pentru k = 5, k = 10, k = 50 si k = 100, evaluând si eroarea comisa.

13

Page 109: Curs Calcul Numeric

Se obtin urmatoarele 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 tinut seama de maxx∈[a,b]

|f ′′(x)| = 1. Facem observatia ca valoarea

exacta a integralei este I = 0.9333736875 �.

Exemplul -1.10 Sa se determine numarul minim de subintervale k în care trebuie

împartit intervalul [0, 1], pentru ca, folosind formula dreptunghiului sumata, sa putem

calcula integrala

I =

1∫

0

ex

x+ 1dx

cu o eroare mai mica de 10−5.

Avem supx∈[0,1]

|f ′′(x)| = 1. Din formula de evaluare a erorii rezulta ca

k ≥[√

105

24

]

+ 1 = 65 �.

n=2

Formula de cuadratura deschisa pentru n = 2 este

σ(f) =

b∫

a

P

(f ;2a+ b

3,a+ 2b

3; x

)dx .

Din formula lui Newton de reprezentare a polinomului de interpolare avem

P

(f ;2a+ b

3,a+ 2b

3;x

)= f

(2a+ b

3

)+

14

Page 110: Curs Calcul Numeric

+3

b− a

(f

(a+ 2b

3

)− f

(2a+ b

3

))(x− 2a+ b

3

)

Atunci

σ(f) =

b∫

a

f

(2a+ b

2

)dx+

3

b− a

(f

(a+ 2b

3

)− f

(2a+ b

3

)) b∫

a

(x− 2a+ b

3

)dx =

= (b− a)f(2a+ b

3

)+b− a2

(f

(a+ 2b

3

)− f

(2a+ b

3

))=

=b− a2

(f

(2a+ b

3

)+ f

(a+ 2b

3

))

Daca f ∈ C2([a, b]), din formula de evaluare a erorii la interpolare, avem:

∣∣∣∣f(x)− P(f ;2a+ b

3,a+ 2b

3;x

)∣∣∣∣ ≤

≤ 1

2·∣∣∣∣

(x− 2a+ b

3

)(x− a+ 2b

3

)∣∣∣∣ · maxx∈[a,b]

|f ′′(x)| ,∀x ∈ [a, b].

Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ;2a+ b

3,a+ 2b

3; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ;2a+ b

3,a+ 2b

3; x

)∣∣∣∣ dx ≤

≤ 1

2· maxx∈[a,b]

|f ′′(x)| ·b∫

a

∣∣∣∣

(x− 2a+ b

3

)(x− a+ 2b

3

)∣∣∣∣ dx =

=11(b− a)3324

· maxx∈[a,b]

|f ′′(x)| .

Formula de cuadratura deschisa sumata pentru n = 2 este:

σ(k)D (f) =

k−1∑

i=0

xi+1 − xi2

(f

(2xi + xi+1

3

)+ f

(xi + 2xi+1

3

))=

15

Page 111: Curs Calcul Numeric

=b− a2k

k−1∑

i=0

(f

(2xi + xi+1

3

)+ f

(xi + 2xi+1

3

)),

pentru care, daca f ∈ C2([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)D (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ 11(b− a)3

324k2· maxx∈[a,b]

|f ′′(x)| ,

unde σi(f) este formula de cuadratura deschisa pentru n = 2, aplicata functiei f pe

intervalul [xi, xi+1], ∀ i ∈ 0, k − 1.

n=3

Formula de cuadratura deschisa pentru n = 3 este

σ(f) =

b∫

a

P

(f ;3a+ b

4,a+ b

2,a+ 3b

4; x

)dx.

Din formula lui Newton de reprezentare a polinomului de interpolare avem

P

(f ;3a+ b

4,a+ b

2,a+ 3b

4; x

)= f

(3a+ b

4

)+

+4

b− a

(f

(a+ b

2

)− f

(3a+ b

4

))(x− 3a+ b

4

)+

+8

(b− a)2(f

(a+ 3b

4

)− 2f

(a+ b

2

)+ f

(3a+ b

4

))(x− 3a+ b

4

)(x− a+ b

2

)

Atunci

σ(f) =

b∫

a

f

(3a+ b

4

)dx+

4

b− a

(f

(a+ b

2

)− f

(3a+ b

4

)) b∫

a

(x− 3a+ b

4

)dx+

+8

(b− a)2(f

(a+ 3b

4

)− 2f

(a+ b

2

)+ f

(3a+ b

4

))·

·b∫

a

(x− 3a+ b

4

)(x− a+ b

2

)dx =

16

Page 112: Curs Calcul Numeric

= (b− a)f(3a+ b

4

)+ (b− a)

(f

(a+ b

2

)− f

(3a+ b

4

))+

+2

3(b− a)

(f

(a+ 3b

4

)− 2f

(a+ b

2

)+ f

(3a+ b

4

))=

=(b− a)3

(2f

(3a+ b

4

)− f

(a+ b

2

)+ 2f

(a+ 3b

4

))

Daca f ∈ C3([a, b]), din formula de evaluare a erorii la interpolare, avem∣∣∣∣f(x)− P

(f ;3a+ b

4,a+ b

2,a+ 3b

4; x

)∣∣∣∣ ≤

≤ 1

6

∣∣∣∣

(x− 3a+ b

4

)(x− a+ b

2

)(x− a+ 3b

4

)∣∣∣∣ · maxx∈[a,b]

∣∣f (3)(x)∣∣ , ∀ x ∈ [a, b].

Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ;3a+ b

4,a+ b

2,a+ 3b

4; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ;3a+ b

4,a+ b

2,a+ 3b

4; x

)∣∣∣∣ dx ≤

≤ 1

6· maxx∈[a,b]

∣∣f (3)(x)∣∣ ·

b∫

a

∣∣∣∣

(x− 3a+ b

4

)(x− a+ b

2

)(x− a+ 3b

4

)∣∣∣∣ dx =

=1

6· maxx∈[a,b]

∣∣f (3)(x)∣∣ · 5(b− a)

4

256=5(b− a)41536

· maxx∈[a,b]

∣∣f (3)(x)∣∣

Formula de cuadratura deschisa sumata pentru n = 3 este:

σ(k)T (f) =

1

3

k−1∑

i=0

(xi+1− xi)(2f

(3xi + xi+1

4

)− f

(xi + xi+1

2

)+ 2f

(3xi + xi+1

4

))=

=b− a3k

k−1∑

i=0

(2f

(3xi + xi+1

4

)− f

(xi + xi+1

2

)+ 2f

(3xi + xi+1

4

)),

pentru care, daca f ∈ C3([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)T (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ 5(b− a)4

1536k3· maxx∈[a,b]

∣∣f (3)(x)∣∣ ,

17

Page 113: Curs Calcul Numeric

unde σi(f) este formula de cuadratura deschisa pentru n = 3, aplicata functiei f pe

intervalul [xi, xi+1], ∀ i ∈ 0, k − 1

n=4

Formula de cuadratura deschisa pentru n = 4 este

σ(f) =

b∫

a

P

(f ;4a+ b

5,3a+ 2b

5,2a+ 3b

5,a+ 4b

5; x

)dx.

Din formula lui Newton de reprezentare a polinomului de interpolare avem

P

(f ;4a+ b

5,3a+ 2b

5,2a+ 3b

5,a+ 4b

5;x

)= f

(4a+ b

5

)+

+5

b− a

(f

(3a+ 2b

5

)− f

(4a+ b

5

))(x− 4a+ b

5

)+

+25

2(b− a)2(f

(2a+ 3b

5

)− 2f

(3a+ 2b

5

)+ f

(4a+ b

5

))·

·(x− 4a+ b

5

)(x− 3a+ 2b

5

)+

+125

6(b− a)3(f

(a+ 4b

5

)− 3f

(2a+ 3b

5

)+ 3f

(3a+ 2b

5

)− f

(4a+ b

5

))·

·(x− 4a+ b

5

)(x− 3a+ 2b

5

)(x− 2a+ 3b

5

)

Atunci

σ(f) =

b∫

a

f

(4a+ b

5

)dx+

5

b− a

(f

(3a+ 2b

5

)− f

(4a+ b

5

)) b∫

a

(x− 4a+ b

5

)dx+

+25

2(b− a)2(f

(2a+ 3b

5

)− 2f

(3a+ 2b

5

)+ f

(4a+ b

5

))·

·b∫

a

(x− 4a+ b

5

)(x− 3a+ 2b

5

)dx+

18

Page 114: Curs Calcul Numeric

+125

6(b− a)3(f

(a+ 4b

5

)− 3f

(2a+ 3b

5

)+ 3f

(3a+ 2b

5

)− f

(4a+ b

5

))·

·b∫

a

(x− 4a+ b

5

)(x− 3a+ 2b

5

)(x− 2a+ 3b

5

)dx =

= (b− a)b∫

a

f

(4a+ b

5

)+3

2(b− a)

(f

(3a+ 2b

5

)− f

(4a+ b

5

))+

+17

12(b− a)

(f

(2a+ 3b

5

)− 2f

(3a+ 2b

5

)+ f

(4a+ b

5

))+

+11

24(b− a)

(f

(a+ 4b

5

)− 3f

(2a+ 3b

5

)+ 3f

(3a+ 2b

5

)− f

(4a+ b

5

))=

=(b− a)24

(11f

(4a+ b

5

)+ f

(3a+ 2b

5

)+ f

(2a+ 3b

5

)+ 11f

(a+ 4b

5

))

Daca f ∈ C4([a, b]), din formula de evaluare a erorii la interpolare, avem∣∣∣∣f(x)− P

(f ;4a+ b

5,3a+ 2b

5,2a+ 3b

5,a+ 4b

5;x

)∣∣∣∣ ≤

≤ 1

24

∣∣∣∣

(x− 4a+ b

5

)(x− 3a+ 2b

5

)(x− 2a+ 3b

5

)(x− a+ 4b

5

)∣∣∣∣ ·

· maxx∈[a,b]

∣∣f (4)(x)∣∣ , ∀ x ∈ [a, b].

Atunci∣∣∣∣∣∣

b∫

a

f(x)dx− σ(f)

∣∣∣∣∣∣=

∣∣∣∣∣∣

b∫

a

(f(x)− P

(f ;4a+ b

5,3a+ 2b

5,2a+ 3b

5,a+ 4b

5; x

))dx

∣∣∣∣∣∣≤

≤b∫

a

∣∣∣∣f(x)− P(f ;4a+ b

5,3a+ 2b

5,2a+ 3b

5,a+ 4b

5; x

)∣∣∣∣ dx ≤≤1

24· maxx∈[a,b]

∣∣f (4)(x)∣∣ ·

·b∫

a

∣∣∣∣

(x− 4a+ b

5

)(x− 3a+ 2b

5

)(x− 2a+ 3b

5

)(x− a+ 4b

5

)∣∣∣∣ dx =

=1

24· maxx∈[a,b]

∣∣f (4)(x)∣∣ · 551(b− a)

4

93750=551(b− a)42250000

· maxx∈[a,b]

∣∣f (4)(x)∣∣

19

Page 115: Curs Calcul Numeric

Formula de cuadratura deschisa sumata pentru n = 4 este:

σ(k)T (f) =

1

24

k−1∑

i=0

(xi+1 − xi)·

·(11f

(4xi + xi+1

5

)+ f

(3xi + 2xi+1

5

)+ f

(2xi + xi+1

5

)+ 11f

(xi + 4xi+1

5

))=

=b− a24k

k−1∑

i=0

(11f

(4xi + xi+1

5

)+ f

(3xi + 2xi+1

5

)+ f

(2xi + xi+1

5

)+ 11f

(xi + 4xi+1

5

)),

pentru care, daca f ∈ C4([a, b]), avem evaluarea erorii:∣∣∣∣∣∣

b∫

a

f(x)dx− σ(k)T (f)

∣∣∣∣∣∣≤

k−1∑

i=0

∣∣∣∣∣∣

xi+1∫

xi

f(x)dx− σi(f)

∣∣∣∣∣∣≤ 551(b− a)52250000k4

· maxx∈[a,b]

∣∣f (4)(x)∣∣ ,

unde σi(f) este formula de cuadratura deschisa pentru n = 4, aplicata functiei f pe

intervalul [xi, xi+1], ∀ i ∈ 0, k − 1Formule de cuadratura Gauss

Fie [a, b] ⊂ R si n ∈ N. Notam cu

Ln(x) :=n!

(2n)!· ((x− a)n (x− b)n)(n) , ∀ x ∈ [a, b]

(Ln se numeste polinom Legendre de grad n).

a) Ln este un polinim de grad n.

b) Ln are n radacini distincte x1, x2, . . . , xn situate în intervalul [a, b].

c)b∫

a

Ln(x)C(x)dx = 0, pentru orice polinom C de grad ≤ n− 1.

Fie

Qi(x) =n∏

j=1, j �=i

x− xjxi − xj

si αi =

b∫

a

Qi(x)dx, ∀ i = 1, n.

Cu notatiile anterioare, fie f : [a, b] → R o functie continua. Numim formula de

cuadratura a lui Gauss de ordinul n, atasata functiei f , expresia

σnG(f) :=n∑

i=1

αif(xi).

20

Page 116: Curs Calcul Numeric

Pentru orice polinom P de grad≤ 2n− 1, avemb∫

a

P (x)dx =n∑

i=1

αiP (xi),

(adica formula de cuadratura a lui Gauss este exacta de ordinul 2n− 1).

Daca f ∈ C2n([a, b]) atunci este adevarata urmatoarea formula de evaluare a erorii:∣∣∣∣∣∣σnG(f)−

b∫

a

f(x)dx

∣∣∣∣∣∣≤ (n!)4

((2n)!)3· (b− a)

2n+1

2n+ 1· supξ∈[a,b]

∣∣f (2n)(ξ)∣∣ .

Cazuri particulare

I. n = 2, a = −1, b = 1

În acest caz,

L2(x) =2!

4!

((x2 − 1

)2)′′=1

12

(12x2 − 4

)= x2 − 1

3,

care are radacinile

x1 = −√1

3, dx2 =

√1

3,

iar

α1 =

1∫

−1

x− x2x1 − x2

dx = 1 si α2 =

b∫

a

x− x1x2 − x1

dx = 1.

Deci, pentru f o functie continua pe [−1, 1], formula de cuadratura Gauss de ordinul

2 este

σ(f) = f

(

−√1

3

)

+ f

(√1

3

)

.

Din formula de evaluare a erorii, în cazul în care f este de 4 ori derivabila, rezulta ca∣∣∣∣∣∣σ(f)−

1∫

−1

f(x)dx

∣∣∣∣∣∣≤ (2!)4

(4!)3· 2

5

5· supξ∈[a,b]

∣∣f (4)(ξ)∣∣ =

1

135· . supξ∈[a,b]

∣∣f (4)(ξ)∣∣ .

II. n = 3, a = −1, b = 1

21

Page 117: Curs Calcul Numeric

În acest caz,

L3(x) =3!

6!

((x2 − 1

)3)′′′=

1

120

(120x3 − 72x

)= x3 − 3

5x,

care are radacinile

x1 = −√3

5, x2 = 0, x3 =

√3

5,

iar

α1 =

1∫

−1

(x− x2)(x− x3)(x1 − x2)(x1 − x3)

dx =5

9, α2 =

b∫

a

(x− x1)(x− x3)(x2 − x1)(x2 − x3)

dx =8

9,

α3 =

b∫

a

(x− x1)(x− x2)(x3 − x1)(x3 − x1)

dx =5

9.

Deci, pentru f o functie continua pe [−1, 1], formula de cuadratura Gauss de ordinul

3 este

σ(f) =1

9

[

5f

(

−√3

5

)

+ 8f(0) + 5f

(√3

5

)]

.

Din formula de evaluare a erorii, în cazul în care f este de 6 ori derivabila, rezulta ca∣∣∣∣∣∣σ(f)−

1∫

−1

f(x)dx

∣∣∣∣∣∣≤ (3!)4

(6!)3· 2

7

7· supξ∈[a,b]

∣∣f (6)(ξ)∣∣ =

1

15750· . supξ∈[a,b]

∣∣f (6)(ξ)∣∣ .

Formule sumate:

Fie k ∈ N∗, h = (b − a)/k, yi = a + ih, ∀ i ∈ 0, k. Daca σi(f) este o formula de

cuadratura Gauss a functiei f pe intervalul [xi, xi+1], ∀ i ∈ 0, k − 1, atunci se defineste

formula de cuadratura Gauss sumata

σ(k)G (f) =

k−1∑

i=0

σi(f).

• Formula lui Gauss sumata pentru doua noduri:

Pentru orice j ∈ {1, . . . , k} se considera nodurile:

aj =yj−1 + yj

2− b− a2n√3, bj =

yj−1 + yj2

+b− a2n√3.

22

Page 118: Curs Calcul Numeric

Cuadratura este :

σ(k)G =

h

2·n∑

j=1

(f(aj) + f(bj)),

pentru care (daca f ∈ C4([a, b])) avem evaluarea erorii∣∣∣∣∣∣σ(k)G −

b∫

a

f(x)dx

∣∣∣∣∣∣≤ 7(b− a)6

2160k5· supξ∈[a,b]

∣∣f (6)(ξ)∣∣ .

• Formula lui Gauss sumata pentru trei noduri:

Pentru orice j ∈ {1, . . . , n} se considera nodurile:

aj =yj−1 + yj

2− (b− a)

√15

10n, bj =

yj−1 + yj2

,

cj =yj−1 + yj

2+(b− a)

√15

10n.

Cuadratura este:

σ(k)G =h

18·[

n∑

j=1

(5f(aj) + 8f(bj) + 5f(cj))

]

,

pentru care (daca f ∈ C6([a, b])) avem evaluarea erorii∣∣∣∣∣∣σ(k)G −

b∫

a

f(x)dx

∣∣∣∣∣∣≤ (b− a)82016000k7

· supξ∈[a,b]

∣∣f (6)(ξ)∣∣ .

Exemplul -1.11 Folosind formulele de cuadratura ale lui Gauss sumate (cu doua,

respectiv cu trei noduri) sa se aproximeze calculul integralei

I =

2∫

1

1 + ln x

xdx

pentru k = 5, k = 10, k = 50 si k = 100, evaluând si eroarea comisa.

23

Page 119: Curs Calcul Numeric

Pentru formula de cuadratura Gauss sumata, relativa la doua noduri, se obtin

urmatoarele 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 tinut seama de maxx∈[a,b]

∣∣f (4)(x)∣∣ = 14.

Pentru formula de cuadratura Gauss sumata, relativa la trei noduri, se obtin ur-

matoarele rezultate:

k σ(k)D (f) eroarea

5 0, 9333736921 0, 000000032

10 0, 9333736875 0, 000000000

În stabilirea erorii am tinut seama de maxx∈[a,b]

∣∣f (6)(x)∣∣ = 508. Facem observatia ca

valoarea exacta a integralei este I = 0, 9333736875 �.

24

Page 120: Curs Calcul Numeric

Metode numerice pentru ecuatii diferentiale

Studiul ecuatiilor diferentiale este o parte a matematicii, care face obiectul a nu-

meroase cercetari si care continua sa ramâna în actualitate prin interesul particular pe

care-l reprezinta pentru alte discipline, ca mecanica, astronomia, fizica si, mai recent,

chimia, biologia, stiinte în care modelarea poate conduce la probleme matematice ce

implica ecuatii diferentiale. De multe ori, chiar daca rezultatele matematice ne per-

mit sa demostram existenta si unicitatea solutiei problemei la care se ajunge, solutia

analitica nu poate fi obtinuta, si atunci se impune gasirea unei solutii aproximative a

problemei printr-o metoda de rezolvare numerica a problemei.

În acest capitol ne propunem sa dam o descriere a principalelor metode de rezolvare

numerica a problemelor Cauchy (a problemelor cu conditii initiale). Problema Cauchy

se defineste astfel: data fiind aplicatia f : D ⊂ R×Rm −→ Rm, care defineste ecuatia

diferentiala:

y′(t) = f(t, y(t)) (1)

si punctul initial (t0, y0), sa se determine o solutie y : I ⊂ R −→ Rm a ecuatiei

diferentiale (1) si care verifica conditia initiala:

y(t0) = y0. (2)

Metodele pe care le vom prezenta în acest capitol se bazeaza pe aproximarea solutiei

problemei (1)-(2), definita pe un interval [t0, t0 + T ], printr-un sir finit de valori (yn)

care aproximeaza solutia y(t) în nodurile tn = t0+nh , n ∈ {1, N} , adica yn � y(tn) . Se

considera ca N =[Th

], unde h este pasul, adica distanta dintre doua valori consecutive

ale variabilei t, pentru care se face aproximarea.

Se cunosc doua clase importante de metode numerice pentru rezolvarea problemei

Cauchy:

1

Page 121: Curs Calcul Numeric

1. Metode într-un pas (metode directe) sunt metodele în care yn+1 se cal-

culeaza printr-o relatie de recurenta în functie doar de yn, calculat anterior. În aceasta

categorie intra metodele Euler, Euler îmbunatatita, Euler modificata, Runge-Kutta.

2. Metode în mai multi pasi (metode indirecte) sunt metodele în care yn+1 se

calculeaza printr-o relatie de recurenta în functie de valorile precedente yn, yn−1, . . . , yn−r+1 .

În aceasta categorie intra metodele Adams-Bashforth, Adams-Moulton, metoda predictor-

corector, metoda diferentialei retrograde.

Metode într-un pas (directe)

Consideram urmatoarea problema Cauchy:

y′

(t) = f(t, y(t)) , ∀ t ∈ I0 = [t0, t0 + T ]

y(t0) = y0 .(3)

O metoda numerica într-un pas, pentru aproximarea solutiei acestei probleme, consta

în determinarea aproximatiilor (yn) pentru y(tn) în tn = t0 + nh, cu n = 1,N , unde:

y0 = α ∈ Rm ,

yn+1 = yn + hΦ(tn, yn, h) .(4)

Alegerea unei metode înseamna sa alegem functia Φ.

Observatie. Pasul h se poate alege si dependent de n astfel încât tn+1 = tn+nhn sa nu

depaseasca t0+T . În acest caz, în definitiile ce urmeaza se va considera h = maxn=0,N−1

hn.

Observatie. Notiunea de stabilitate arata ca o mica perturbare asupra datelor schemei

numerice (4) produce o pertubare mica a aproximatiei si este independenta de h.

Definitia -1.1 Spunem ca metoda numerica (4) este de ordinul p, cu p ∈ N∗, daca

pentru orice y solutie a problemei (3) avem:

maxn=0,N−1

∥∥∥∥1

h(y(tn+1)− y(tn))−Φ(tn, y(tn), h)

∥∥∥∥ = O(hp) .

2

Page 122: Curs Calcul Numeric

Metoda Euler explicita (progresiva)

Schema numerica pentru metoda Euler este urmatoarea:

y0 ∈ R

m ,

yn+1 = yn + hf(tn, yn) .

Interpretarea geometrica a metodei Euler. Daca s-a determinat yn, pentru

a determina yn+1 se considera solutia ecuatiei (1) care trece prin (tn, yn), adica acea

solutie pentru care y(tn) = yn. Se duce tangenta la graficul acestei solutii în (tn, yn).

Ecuatia tangentei este:

y − yn = f(tn, yn)(t− tn) .

Pentru t = tn+1 se otine yn+1 = yn + (tn+1 − tn)f(tn, yn) , adica yn+1 este intersectia

tangentei cu dreapta t = tn+1. Din acest motiv, metoda Euler mai este numita si

metoda liniilor poligonale. Erorile se acumuleaza, ceea ce face ca, în aceasta metoda,

pentru pas h nu prea mic, valorile numerice sa fie mult diferite de valorile solutiei

exacte.

Exemplul -1.1 Folosind metoda Euler, determinati solutia aproximativa a problemei

Cauchy:

y′

= y2 −y

t−1

4t2, t ∈ [1, 2]

y(1) = 0.75

în t = 2, luând h = 0.5.

Avem f(t, y) = y2 −y

t−1

4t2, t0 = 1 si y0 = 0.75 . Se obtine N = 2 si yn+1 =

yn + 0.5f(tn, yn), pentru n = 0, 1 . Deci rezulta:

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

Page 123: Curs Calcul Numeric

Solutia exacta a problemei din exercitiul -1.1 este

y(t) = −t+ 5

2t(t− 5).

Valoarea exacta în t = 2 este y(2) = 0.5833333333, iar valoarea aproximativa, în functie

de h, este data î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 metoda Euler implicita (retrograda), în care schema numerica

este:

y0 ∈ R

m ,

yn+1 = yn + hf(tn+1, yn+1) , n = 0, N − 1 .

Folosirea acestei metode este mai dificila decât metoda Euler explicita, deoarece,la

fiecare pas, calculul lui yn+1 cu yn cunoscut, se face prin rezolvarea unei ecuatii, în

general, neliniare, si care poate avea mai multe solutii. Calculul solutiei ecuatiei din

(??) în yn+1 va necesita rezolvarea unui sistem liniar daca f este afina în y sau, în cazul

general, utilizarea unei metode pentru ecuatii neliniare.

Metode Runge-Kutta

Metodele Runge-Kutta se deosebesc de metoda Taylor prin faptul ca înlocuiesc

calculul derivatelor lui f prin evaluari pentru f în puncte intermediare între tn si tn+1.

4

Page 124: Curs Calcul Numeric

Metoda a fost introdusa de matematicianul german Carl David Runge în 1895 si a fost

dezvoltata de alt matematician german, Wilhelm Kutta, în 1901.

În definirea generala a metodelor Runge-Kutta, pentru q ∈ N∗ se dau o lista de

constante reale:

c1 a11 · · · a1q...

.... . .

...

cq aq1 · · · aqq

b1 · · · bq

cu c1, . . . , cq nu neaparat distincte, si formulele de cuadratura:

∫ ci

0

ψ(t) dt �q∑

j=1

aij ψ(cj) , i = 1, q ,

∫ 1

0

ψ(t) dt �q∑

j=1

bj ψ(cj).

Vom considera cazul general, când punctele din I0 nu sunt echidistante, adica tn+1−tn =

hn. Pentru fiecare n = 1, N , se considera punctele intermediare

tn,i = tn + cihn pentru i = 1, q

si determinam (yn,i)i=1,q prin rezolvarea sistemului:

yn,i = yn + hn

q∑

j=1

aij f(tn,j , yn,j) , i = 1, q .

Aproximarea solutiei în tn+1 se determina din:

yn+1 = yn + hn

q∑

j=1

bj f(tn,j , yn,j) .

Relatiile (??) si (??) rezulta aplicând formulele de cuadratura (??). Fie y o solutie

5

Page 125: Curs Calcul Numeric

pentru (1). Folosind schimbarea de variabila u =t− tnhn

, obtinem:

y(tn,i) = y(tn) +

∫ tn,i

tn

f(t, y(t))dt =

y(tn) +

∫ ci

0

f(tn + hnu, y(tn + hnu))dt , i = 1, q

y(tn+1) = y(tn) +

∫ tn+1

tn

f(t, y(t))dt = y(tn) +

∫1

0

f(tn + hnu, y(tn + hnu))dt.

Aplicând formulele de cuadratura (??)se obtine:

y(tn,i) � y(tn) + hn

q∑

j=1

aij f(tn,j, y(tn,j)) , i = 1, q

y(tn+1) � y(tn) + hn

q∑

j=1

bj f(tn,j, y(tn,j)) ,

de unde, pentru calculul valorilor aproximative avem (??) si (??).

Schema numerica generala pentru metode Runge-Kutta se poate scrie sub forma:

y(tn+1) = y(tn) + hnΦ(tn, yn, hn)) , n = 0, N − 1,

unde Φ(t, y, h) =q∑

j=1

bj f(t+ cjh, yj) cu y1, . . . , yq rezultate prin rezolvarea sistemului:

yi = y + h

q∑

j=1

aij f(t+ cjh, yj) , i = 1, q .

Notam A = (aij)i,j=1,q , C = diag (c1, c2, . . . , cq), b = (b1, b2, . . . , bq)t si e = (1, 1, . . . , 1)t ∈

Rq.

În functie de coeficientii aij metodele Runge-Kutta pot fi clasificate astfel:

- daca aij = 0, ∀ 1 ≤ i ≤ j ≤ q, atunci metoda Runge-Kutta se numeste explicita.

- daca aij = 0, ∀ 1 ≤ i < j ≤ q, atunci metoda Runge-Kutta se numeste semi-

implicita.

6

Page 126: Curs Calcul Numeric

În cazul când nici una dintre conditiile de mai sus nu este îndeplinita, metoda

Runge-Kutta se numeste implicita.

Dam mai jos câteva rezultate importante în convergenta metodelor Runge-Kutta.

Teorema -1.1 Daca f este lipschitziana în a doua varibila, având constanta L, ρ (|A|)

este raza spectrala a lui |A| si hn este astfel încât hnLρ (|A|) < 1, atunci schema

numerica Runge-Kutta (??) admite solutie unica. De asemenea, pentru hn = h =

const., astfel încât 0 < h ≤ h∗ cu h∗Lρ (|A|) < 1, metoda Runge-Kutta este stabila.

Observatie. Pentru o metoda Runge-Kutta explicita avem ρ (|A|) = 0. Deci o metoda

Runge-Kutta explicita întotdeauna este stabila.

Definitia -1.2 Vom spune ca este îndeplinita conditia A(p) daca sunt îndeplinite

conditiile A′

(l) pentru l = 1, p, unde A′

(l) sunt date în tabelul 2 pentru l = 1, 5.

Teorema -1.2 Conditia necesara si suficienta ca o metoda Runge-Kutta (pentru toate

functiile suficient de regulate) sa fie de ordin p este sa fie verificata conditia A(p).

Remarca. Conditiile necesare pentru ca o metoda Runge-Kutta sa fie de ordin p sunt:

bte = 1 , btCe =1

2, . . . , btCp−1e =

1

p.

Conditiile (??) sunt echivalente cu afirmatia: formula de cuadratura (??)2 este de ordin

p − 1, adica este exacta pentru polinoame pâna la gradul p − 1. Se poate deduce ca

p ≤ 2q.

Constructia unei metode Runge-Kutta se face, în general, în modul urmator:

- se determina relatii pentru b1, . . . , bq si c1, . . . , cq din conditia ca formula de

cuadratura (??)2 sa fie de ordin p− 1;

- se obtin si coeficientii din matricea A, rezolvând restul de conditii suficiente pentru

metode Runge-Kutta, pâna la ordinul p, date în tabelul 3.

7

Page 127: Curs Calcul Numeric

Pentru p = 5 se verifica si conditiile pentru p = 3 si p = 4.

Observatie. Pentru programarea metodelor Runge-Kutta este mai usor sa notam:

kn,i = f(tn,i, yn,i) pentru i = 1, q,

si atunci avem:

kn,i = f(tn,i, yn + hn

q∑

j=1

aij kn,j) pentru i = 1, q

yn+1 = yn + hn

q∑

j=1

bj kn,j .

Rezolvând sistemul (??) în necunoscutele (kn,i)i=1,q , calculam mai usor yn+1 din (??).

De asemenea, obtinem:

yn,i = yn + hn

q∑

j=1

aij kn,j , pentru i = 1, q .

Definitia -1.3 O metoda RKpp′ este o metoda Runge-Kutta de ordin p

corespunza-

toare tabloului de constante

c1 a11 · · · a1q 0

......

. . ....

cq aq1 · · · aqq 0

1 b1 · · · bq 0

b′

1 · · · b′

q b′

q+1

în care daca excludem ultima linie si ultima coloana, obtinem o metoda de ordin p.

Exemple particulare de metode Runge-Kutta.

Exemplul 1. Pentru q = 1, metoda Runge-Kutta definita prin:

8

Page 128: Curs Calcul Numeric

θ θ

1cu θ ∈ R, se scrie:

yn,1 = yn + θf(tn + θhn, yn,1)

yn+1 = yn + hnf(tn + θhn, yn,1) .

Pentru θ = 0 si θ = 1 se obtin metode de ordinul 1: metoda Euler progresiva,

respectiv, metoda Euler retrograda. Pentru θ = 1/2 se obtine metoda punctului

de mijloc si este o metoda de ordinul 2.

Exemplul 2. Pentru q = 2, metoda Runge-Kutta definita prin:

0 0 0

α α 0

1−1

1

cu α ∈ R∗, se scrie:

yn,1 = yn

yn,2 = yn + hn α f(tn, yn,1)

yn+1 = yn + hn

((1−

1

)f(tn, yn) +

1

2αf (tn + αhn, yn + αhnf(tn, yn))

)

Daca α =1

2, atunci se obtine metoda Euler modificata (ameliorata):

yn+1 = yn + hnf

(tn +

1

2hn, yn +

1

2hnf(tn, yn)

).

Avem A =

0 0

1/2 0

, C =

0 0

0 1/2

, b =

0

1

si este îndeplinita conditia

A(2), deci metoda (??) este de ordin 2.

9

Page 129: Curs Calcul Numeric

Daca α = 1, atunci se obtine metoda Heun sau metoda Euler îmbunatatita

sau metoda RK12 :

yn+1 = yn +1

2hn (f(tn, yn) + f(tn + hn, yn + hnf(tn, yn))) .

Avem A =

0 0

1 0

, C =

0 0

0 1

, b =

1/2

1/2

si este îndeplinita conditia

A(2), deci metoda (??) este de ordin 2.

Exemplul 3. Pentru q = 4 metoda Runge-Kutta definita 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 clasica sau metoda RK24 (Kutta - 1901). Sub

aceasta forma, metoda este cel mai des utilizata. Avem:

yn,1 = yn

yn,2 = yn +hn2f(tn, yn,1)

yn,3 = yn +hn2f(tn +

1

2hn, yn,2)

yn,4 = yn + hnf(tn +1

2hn, yn,3)

si yn+1 = yn +hn6

(f(tn, yn,1) + 2f(tn +

1

2hn, yn,2)+

2f(tn +1

2hn, yn,3) + f(tn+1, yn,4)

). (5)

10

Page 130: Curs Calcul Numeric

În metoda RK24 avem:

A =

0 0 0 0

1/2 0 0 0

0 1/2 0 0

o 0 1 0

, C =

0 0 0 0

0 1/2 0 0

0 0 1/2 0

0 0 0 1

, b =

1/6

2/6

2/6

1/6

si este

îndeplinita conditia A(4), deci metoda (5) este de ordin 4.

Exemplul 4. Pentru q = 5, metoda Runge-Kutta definita 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 metoda RK34 .

Exemplul 5. Pentru q = 6, metoda Runge-Kutta definita 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 metoda Runge-Kutta de ordin 6.

11

Page 131: Curs Calcul Numeric

Exemplul -1.2 Se da problema Cauchy:

y′

= y2 −y

t−1

4t2, t ∈ [1, 2.9]

y(1) = 0.75

Sa se determine valoarea aproximativa a solutiei în t = 2.9, folosind metodele Euler

progresiva, Euler modificata, RK12 si RK24, pentru N = 2.

Pentru N = 2 avem h = 0.9500. Luam y0 = 0.75, t0 = 1. Pentru metoda RK24,

avem f(t, y) = y2 −y

t−1

4t2. Se obtine:

- 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 obtinute cu metodele cerute în enunt pentru N = 2.

Solutia exacta este y(t) = −t+ 3

2t(t− 3). Pentru aceleasi cerinte ca în exercitiul -1.2, dar

12

Page 132: Curs Calcul Numeric

pentru N = 7 se obtin datele din tabelul 5. Pentru valori mai mari ale lui N se obtin

valori aproximative mult apropiate de solutia exacta. De exemplu, pentru N = 20

valorile obtinute sunt în tabelul 6.Metode în mai multi pasi (indirecte)

Calculul valorii yn+1 la tn+1 se poate obtine folosind r + 1 valori deja calculate

yn, yn−1, . . . , yn−r+1, adica folosind r + 1 pasi anteriori cu r ∈ N. În general, se obtin

metode cu caracteristici mai bune. Cel mai des întâlnite medote în r + 1 pasi sunt

metodele Adams. Se considera problema (1)-(2), în care presupunem ca f este lipschi-

tiziana în al doilea argument. Consideram diviziunea:

t0 < t1, < . . . , tN = t0 + T ,

hn = tn+1 − tn .

Metodele Adams se bazeaza pe relatia:

y(tn+1) = y(tn) +

∫ tn+1

tn

f(t, y(t))dt ,

unde y(·) este solutie a ecuatiei (1).

Schema de aproximare într-o metoda Adams este:

yn+1 = yn +

∫ tn+1

tn

Pn,r(t)dt ,

unde Pn,r(·) este o aproximare a functiei f(·, ·).

Se presupune ca printr-o metoda directa (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 si notam:

fj = f(tj, yj) , j = n− r, n ,

valorile aproximative pentru f(tj, y(tj)) , j = n− r, n , pentru y(·) solutie a ecuatiei

(1).

13

Page 133: Curs Calcul Numeric

Metoda Adams-Bashforth

În metoda Adams-Bashforth consideram, în (??), Pn,r(t) polinomul de interpolare

de grad ≤ r, definit prin:

Pn,r(tn−i) = fn−i , i = 0, r .

Daca alegem pentru Pn,r polinomul Lagrange, atunci se scrie sub forma:

Pn,r(t) =r∑

i=0

fn−iLn,i,r(t) ,

unde

Ln,i,r(t) =r∏

j=0,j �=i

t− tn−jtn−i − tn−j

, i = 0, r .

Avem ∫ tn+1

tn

Pn,r(t)dt =r∑

i=0

fn−i

∫ tn+1

tn

Ln,i,r(t)dt ,

unde notând:

bn,i,r =1

hn

∫ tn+1

tn

Ln,i,r(t)dt , i = 0, r ,

schema Adams-Bashforth se poate scrie:

yn+1 = yn +r∑

i=0

hnbn,i,rfn−i ,

fn+1 = f(tn+1, yn+1) , n = r,N − 1 .

Observatie. Pentru r = 0 se obtine metoda Euler progresiva, deoarece:

Pn,0(t) = fn = f(tn, yn) , Ln,0,0(t) = 1 , bn,0,0 = 1 ,

si, deci

yn+1 = yn + hnf(tn, yn) .

Daca consideram hn = hn−1 = . . . = hn−r = h = const., atunci coeficientii bn,i,r

sunt independenti de n. Din (??) prin schimbarea de variabila t = tn + sh si punând

14

Page 134: Curs Calcul Numeric

tn−j = tn − jh , j = 0, r , se obtine:

bn,i,r = bi,r =

∫ 1

0

li,r(s)ds , unde li,r(s) =r∏

j=0,j �=i

s+ j

j − i, i = 0, r .

În tabelul 7 avem coeficientii metodei Adams-Bashforth (bi,r)i=0,r pentru r = 1, 5, astfel

ca:

- pentru r = 1 avem yn+1 = yn +h

2(3fn − fn−1);

- pentru r = 2 avem yn+1 = yn +h

12(23fn − 16fn−1 + 5fn−2);

- pentru r = 3 avem yn+1 = yn +h

24(55fn − 59fn−1 + 37fn−2 − 9fn−3);

- pentru r = 4 avem

yn+1 = yn +h

720(1901fn − 2774fn−1 + 2616fn−2 − 1274fn−3 + 251fn−4)

l

Exemplul -1.3 Folosind metoda Adams-Bashforth pentru r = 3, determinati solutia

aproximativa a problemei Cauchy:

y′

= y2 −y

t−1

4t2, t ∈ [1, 2.25]

y(1) = 0.75

în t = 2.25 pentru N = 5, determinând valorile de început y1, y2, y3 cu metoda Euler

progresiva.

Avem h = 0.25 si f(t, y) = y2 −y

t−1

4t2. Aplicând metoda Euler progresiva se

obtine:

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

Page 135: Curs Calcul Numeric

si, în continuare, cu metoda Adams-Bashforth pentru r = 3, rezulta:

t4 = 2 , y4 = y3 +h

24(55f3 − 59f2 + 37f1 − 9f0) = 0.5166 ,

f4 = f(t4, y4) = −0.0539 ,

t5 = 2.25 , y5 = y4 +h

24(55f4 − 59f3 + 37f2 − 9f1) = 0.5096 ,

f5 = f(t5, y5) = −0.0162 .

16

Page 136: Curs Calcul Numeric

Table 2: Conditiile A′

(l) pentru l = 1, 5.

l A′

(l)

1 bte = 1

2 btCe = btAe =1

2

3 btC2e = btCAe = bt (Ae).2 =1

3, btACe = btA2e =

1

6

btC3e = btC2Ae = btC (Ae).2 = bt (Ae).3 =1

4,

4 btCACe = btCA2e = bt ((Ae).(ACe)) = bt((Ae).(A2e)

)=1

8

btAC2e = btACAe = btA(Ae).2 =1

12, btA2Ce = btA3e =

1

24

btC4e = btC3Ae = btC2 (Ae).2 = btC (Ae).3 = bt (Ae).4 =1

5,

btC2ACe = btC2A2e = btC ((Ae).(ACe)) = btC((Ae).(A2e)

)=

bt((Ae).2.(ACe)

)= btC

((Ae).2.(A2e)

)=1

10,

btCAC2e = btCACAe = btCA((Ae).2

)= bt

((Ae).(AC2e)

)=

bt ((Ae).(ACAe)) = bt((Ae).A(Ae).2

)=1

15,

5 btAC3e = btAC2Ae = btAC(Ae).2 = btA(Ae).3e = bt(ACe).2e =

bt((ACe).(A2e)

)= bt

(A2e)

).2=1

20,

btCA2Ce = btCA3e = bt((Ae).(A2Ce)

)= bt

((Ae).(A3e)

)=1

30,

btACACe = btACA2e = btA ((Ae).(ACe)) = btA((Ae).(A2e)

)=1

40,

btA2C2e = btA2CAe = btA2 (Ae).2 =1

60, btA3Ce = btA4e =

1

120

17

Page 137: Curs Calcul Numeric

Table 3: Conditiile suficiente pentru metode de ordin p ∈ {3, 4, 5}.

p Conditii suficiente pentru metoda Runge-Kutta de ordin p

3 Ae = Ce , bte = 1 , btCe =1

2, btC2e =

1

3, btACe =

1

6

4 btC3e =1

4, btCACe =

1

8, btAC2e =

1

12, btA2Ce =

1

24

5 btC4e =1

5,

btC2ACe =1

10, btCAC2e =

1

15, bt(AC).2e =

1

20, btCA2Ce =

1

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

Page 138: Curs Calcul Numeric

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

Page 139: Curs Calcul Numeric

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

Page 140: Curs Calcul Numeric

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

Page 141: Curs Calcul Numeric

Metode numerice pentru ecuatii neliniare

Metoda bisectiei

Exemplul -1.1 Sa se aproximeze solutia ecuatiei x3 + 4x2 − 10 = 0 (continuta în

intervalul [−1, 2]).

Solutie Avem

a0 = a = −1, b0 = b = 2, f(a) = −7, f(b) = 14.

Atunci c0 = (a0 + b0)/2 = 1/2. Cum f(c0) < 0 rezulta ca

a1 = c0 = 1/2, b1 = b0 = 2, c1 = (a1 + b1) /2 = 5/4 = 1, 25

Cum f(c1) < 0 rezulta ca

a2 = c1 = 5/4, b2 = b1 = 2, c2 = (a2 + b2) /2 = 13/8 = 1, 625

Cum f(c2) > 0 rezulta ca

a3 = a2 = 5/4, b3 = c2 = 13/8, c3 = (a3 + b3) /2 = 23/16 = 1, 4375

Cum f(c3) > 0 rezulta ca

a4 = a3 = 5/4, b4 = c3 = 23/16, c4 = (a4 + b4) /2 = 43/32 = 1, 34375

etc.

Regula falsi

Exemplul -1.2 Sa se aproximeze solutia ecuatiei x3 + 4x2 − 10 = 0 (continuta în

intervalul [−1, 2]).

1

Page 142: Curs Calcul Numeric

Solutie Avem

a0 = a = −1, b0 = b = 2, f(a) = −7, f(b) = 14.

Atunci c0 = (a0f(b0)− b0f(a0))/(f(b0)− f(a0) = 0. Cum f(c0) < 0 rezulta ca

a1 = c0 = 0, b1 = b0 = 2, c1 = (a1f(b1)− b1f(a1))/(f(b1)− f(a1) = 5/6 = 0, 83333

Cum f(c1) < 0 rezulta ca

a2 = c1 = 5/6, b2 = b1 = 2, c2 = (a2f(b2)−b2f(a2))/(f(b2)−f(a2) = 110/91 = 1, 20879

etc.

Metoda coardei

Exemplul -1.3 Sa se aproximeze solutia ecuatiei 2x3 − 4x + 1 = 0 (continuta î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

x2 =x0f(x1)− x1f(x0)

f(x1)− f(x0)=

3

11, x3 =

x0f(x3)− x3f(x0)

f(x3)− f(x0)=

899

3475, etc.�

Metoda secantei

Exemplul -1.4 Sa se aplice metoda secantei pe intervalul [0, 1] pentru rezolvarea ecuatiei

3ex − 4 cosx = 0 pentru x0 = 1 si x1 = 0, 9.

2

Page 143: Curs Calcul Numeric

Solutie: Evident f este de doua ori derivabila pe [0, 1] si f ′(x) = 3ex + 4 sin x, ,

functie care evident nu se anuleaza pe [0, 1]. Cum f(0) · f(1) = −3e + 4 cos 1 < 0

rezulta ca ecuatia are o radacina în intervalul [0, 1].

Avem

x2 :=x0f(x1)− x1f(x0)

f(x1)− f(x0)=

3e9/10 − 4 cos(9/10)− 9/10(3e− 4 cos 1)

3e9/10 − 4 cos(9/10)− 3e + 4 cos 1= 0, 45575

Metoda lui Newton

Exemplul -1.5 Sa se arate ca se aplica metoda lui Newton pe intervalul [0, 1] pentru

rezolvarea ecuatiei 3ex − 4 cosx = 0. Luând x0 = 1, sa se calculeze valoarea primei

iteratii.

Solutie: Evident f este de doua ori derivabila pe [0, 1] si f ′(x) = 3ex + 4 sin x,

f ′′(x) = 3ex + 4 cosx, functii care evident nu se anuleaza pe [0, 1]. Cum f(0) · f(1) =

−3e+ 4 cos 1 < 0 si f(1) · f ′′(1) = 9e2 − 16 cos 1 > 0, rezulta ca metoda lui Newton se

aplica.

Avem

x1 := x0 −f(x0)

f ′(x0)= 1− 3e− 4 cos 1

3e + 4 sin 1=

4 sin 1 + 4 cos 1

3e + 4 sin 1= 0, 47975

Principiul contractiei

Exemplul -1.6 Fie functia

f :

[−3

4,−1

2

]→ R, f(x) = x2 + x− 7

16

Sa se arate ca f este o contractie. Luând x0 = −58, sa se determine numarul de iteratii

necesari pentru a aproxima solutia ecuatiei f(x) = x cu o eroare ε.

3

Page 144: Curs Calcul Numeric

Solutie Functia f este derivabila si

f ′(x) = 2x + 1

Avem

maxx∈[− 3

4,− 1

2 ]|f ′(x)| = max

x∈[− 3

4,− 1

2 ]|2x + 1| = max

x∈[− 3

4,− 1

2 ](−2x− 1) = −2 ·

(−3

4

)− 1 =

1

2

Deci

|f ′(x)| ≤ q :=1

2.

Notam a = −34, b = −1

2. Atunci

∣∣∣∣f(a + b

2

)− a + b

2

∣∣∣∣ ≤ (1− q) · b− a

2⇐⇒

∣∣∣∣f(−5

8

)+

5

8

∣∣∣∣ ≤ (1− 1

2) · 1

8⇐⇒

⇐⇒∣∣∣∣25

64− 5

8− 7

16+

5

8

∣∣∣∣ ≤1

16⇐⇒ 3

64≤ 4

64, ceea ce este adevarat.

Deci f este o contractie. Fie z solutia ecuatiei f(x) = x pe intervalul [a, b].

Din formula de evaluare a erorii avem

|xn − z| ≤ qn

1− q|x1 − x0|

Daca

qn

1− q|x1 − x0| ≤ ε, atunci |xn − z| ≤ ε, deci xn aproximeaza pe z cu eroarea ε.

Avem

x1 = f(x0) = f

(−5

8

)=

25

64− 5

8− 7

16= −43

64

si

|x1 − x0| =∣∣∣∣−

43

64+

5

8

∣∣∣∣ =3

64

Atunciqn

1− q|x1 − x0| ≤ ε⇐⇒

(12

)n

1− 12

· 3

64≤ ε⇐⇒ 3

2n+5≤ ε⇐⇒

4

Page 145: Curs Calcul Numeric

⇐⇒ 2n+5 ≥ 3

ε⇐⇒ n ≥ log2

(3

ε

)− 5

Deci putem lua

n =

[log2

(3

ε

)]− 4, unde [·] reprezinta partea întreaga.

Metode pentru rezolvarea sau aproximareasolutiilor sistemelor de ecuatii liniare

Norme de vectori si norme de matrici

Exemplul -1.7 Fie

A =

1 −2 3

4 −5 6

7 −8 9

Atunci

‖A‖1 = max1≤j≤3

3∑

i=1

|aij|=

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

si

‖A‖∞ = max1≤i≤3

3∑

j=1

|aij| =

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

Conditionarea unui sistem de ecuatii liniare

Exemplul -1.8

A =

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

b =

32

23

33

31

cu solutia x =

1

1

1

1

5

Page 146: Curs Calcul Numeric

Consideram sistemul perturbat A(x + δx) = b + δb unde

A =

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

b + δb =

32, 1

22, 9

33, 1

30, 9

cu solutia x + δx =

9, 2

−12, 6

4, 5

−1, 1

(1)

Consideram si sistemul perturbat (A + ∆A)(x + ∆x) = b unde

A =

10 7 8, 1 7, 2

7, 08 5, 04 6 5

8 5, 98 9, 89 9

6, 99 4, 99 9 9, 98

b =

32

23

33

30

cu solutia x + ∆x =

−81

137

−34

22

(2)

Exemplul -1.9 Sa se arate ca ‖δx‖∞‖x‖∞

= cond(A)· ‖δb‖∞‖b‖∞

(Vom considera cazul sistemului

(1) si 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

Page 147: Curs Calcul Numeric

‖x‖∞ = ‖(1; 1; 1; 1)‖∞ = max(|1| ; |1| ; |1| ; |1|) = 1.

Atunci‖δx‖∞‖x‖∞

=13, 6

1= 13, 6

A−1 =

25 −41 10 −6

−41 68 −17 10

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

∥∥A−1∥∥∞

= max(|25|+ |−41|+ |10|+ |−6| , |−41|+ |68|+ |−17|+ |10| ,

, |10|+ |−17|+ |5|+ |−3| , |−6|+ |10|+ |−3|+ |2|) =

= max(82, 136, 35, 21) = 136.

Rezulta ca

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‖∞‖b‖∞

=0, 1

33=

1

330

7

Page 148: Curs Calcul Numeric

si

cond(A) · ‖δb‖∞‖b‖∞= 4488 · 1

330= 13, 6

Deci‖δx‖∞‖x‖∞

= cond(A) · ‖δb‖∞‖b‖∞

Metode directe

Metoda lui Gauss (cu pivotare partiala)

Exemplul -1.10 Fie sistemul de ecuatii liniare

x + 12y + 1

3z = 1

12x + 1

3y + 1

4z = 2

13x + 1

4y + 1

5z = 3

Sa se calculeze determinantul matricei sistemului si sa se rezolve sistemul cu metoda

lui Gauss.

Solutie Notam cu (aij)1≤i,j≤3 matricea sistemului. Initializam det = 1. La etapa

n = 1 cautam cel mai mare element în modul de pe coloana n a matricei sistemului.

Acesta este max = |a11| = 1 si se afla pa linia 1. Deci s = 1 si piv = a11 = 1. Calculam

det = det ∗piv, deci det = 1. Cum s = n se trece la pasul împartirii la pivot. Cum

pivotul este egal cu 1, prin împartire la pivot linia n ramâne nemodificata. Eliminam

x din liniile 2 si 3 ca în algoritm. Obtinem urmatorul sistem de ecuatii:

x + 12y + 1

3z = 1

112y + 1

12z = 3

2

112y + 4

45z = 8

3

La etapa n = 2 cautam 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 si se afla pa

8

Page 149: Curs Calcul Numeric

linia 2. Deci s = 2 si piv = a22 = 1/12. Calculam det = det ∗piv, deci det = 1/12. Cum

s = n se trece la pasul împartirii la pivot. Ecuatia 2 devine y + z = 18 . Eliminam

y din linia 3 ca în algoritm. Obtinem urmatorul sistem de ecuatii:

x + 12y + 1

3z = 1

y + z = 18

1180

z = 76

Calculam determinantul matricei sistemului det = det ∗a33 = 112∗ 1180

= 12160

si

rezolvam sistemul anterior. Obtinem z = 210, y = −192, x = 27.

Metoda lui Gauss-Jordan de calcul a inversei unei matrice

Exemplul -1.11 Folosind metoda Gauss-Jordan sa se calculeze inversa matricei

A =

1 12

13

12

13

14

13

14

15

Solutie Formam ansamblul matriceal

1 12

13

12

13

14

13

14

15

∣∣∣∣∣∣∣∣∣

1 0 0

0 1 0

0 0 1

Cu transformarile din algoritm obtinem:

1 12

13

0 112

112

0 112

445

∣∣∣∣∣∣∣∣∣

1 0 0

−12

1 0

−13

0 1

1 12

13

0 1 1

0 112

445

∣∣∣∣∣∣∣∣∣

1 0 0

−6 12 0

−13

0 1

9

Page 150: Curs Calcul Numeric

1 12

13

0 1 1

0 0 1180

∣∣∣∣∣∣∣∣∣

1 0 0

−6 12 0

16

−1 1

1 12

13

0 1 1

0 0 1

∣∣∣∣∣∣∣∣∣

1 0 0

−6 12 0

30 −180 180

1 12

0

0 1 0

0 0 1

∣∣∣∣∣∣∣∣∣

−9 60 −60

−36 192 −180

30 −180 180

1 0 0

0 1 0

0 0 1

∣∣∣∣∣∣∣∣∣

9 −36 30

−36 192 −180

30 −180 180

Deci

A−1 =

9 −36 30

−36 192 −180

30 −180 180

Rezolvarea unui sistem de ecuatii liniare Ax = b este echivalenta, dupa ce s-a

calculat inversa matricei A, cu egalitatea x = A−1b.

Factorizarea LU

Exemplul -1.12 Sa se factorizeze sub forma LU matricea

A =

2 4 −2 0

−1 −1 2 3

4 5 −2 −9

0 1 3 4

10

Page 151: Curs Calcul Numeric

Solutie Se verifica mai întâi ca determinantii de colt ai matricei A sunt nenuli. Cu

formulele (??) si (??) se obtine:

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

L =

2 0 0 0

−1 1 0 0

4 −3 5 0

0 1 2 1

, U =

1 2 −1 0

0 1 1 3

0 0 1 0

0 0 0 1

Metoda radacinii patrate

Exemplul -1.13 Folosind metoda radacinii patrate, sa se rezolve sistemul de ecuatii

liniare Ax = b cu

A =

4 2 2

2 10 4

2 4 6

, b =

8

16

12

11

Page 152: Curs Calcul Numeric

Solutie Se verifica imediat ca matricea A este simetrica. Deoarece

∆1 = |4| > 0, ∆2 =

∣∣∣∣∣∣

4 2

2 10

∣∣∣∣∣∣= 36 > 0, ∆3 =

∣∣∣∣∣∣∣∣∣

4 2 2

2 10 4

2 4 6

∣∣∣∣∣∣∣∣∣

= 144 > 0

rezulta ca matricea A este pozitiv definita. Cu formulele din curs se obtine

l11 = 2, l21 = 1, l31 = 1

l22 = 3, l32 = 1

l33 = 2

Rezulta ca

y1 = 4, y2 = 4, y3 = 2

si

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

Metode iterative de rezolvare a sistemelor de ecuatii liniare

Metoda lui Jacobi

Exemplul -1.14 Sa se arate ca se poate aplica metoda lui Jacobi (relativa la normele

1 si ∞) pentru sistemul de ecuatii liniare Ax = b cu

A =

0, 9 0, 1 0, 2 0, 3

−0, 2 0, 8 0, 1 0, 4

0, 1 −0, 3 0, 7 −0, 1

−0, 3 −0, 2 −0, 1 0, 9

; b =

3, 6

2

2, 4

1, 5

.

12

Page 153: Curs Calcul Numeric

Luând x(0) =

0

0

0

0

sa se determine numarul de iteratii necesar pentru a aproxima

solutia sistemului cu o eroare mai mica de 10−10.

Solutie: Avem

B = I −A =

0, 1 −0, 1 −0, 2 −0, 3

0, 2 0, 2 −0, 1 −0, 4

−0, 1 0, 3 0, 3 0, 1

0, 3 0, 2 0, 1 0, 1

Atunci

‖B‖1 = max1≤j≤4

4∑

i=1

|bij| = max(|0, 1|+ |0, 2|+ |−0, 1|+ |0, 3| , |−0, 1|+ |0, 2|+ |0, 3|+ |0, 2| ,

|−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.

si

‖B‖∞ = max1≤i≤4

4∑

j=1

|bij| = max(|0, 1|+|−0, 1|+|−0, 2|+|−0, 3| , |0, 2|+|0, 2|+|−0, 1|+|−0, 4| ,

|−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 aplica. Din formula de evaluare a erorii avem:

‖x(n) − x‖p ≤qn

1− q‖x(1) − x(0)‖p, ∀n ∈ N∗

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

x(n) cu eroarea ε = 10−10 este suficient ca qn

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

Page 154: Curs Calcul Numeric

si

‖x(1) − x(0)‖∞ = ‖b‖∞ = max(|3, 6| , |2| , |2, 4| , |1, 5|) = 3, 6

Atunci

qn

1− q‖x(1) − x(0)‖1 < ε⇐⇒ 0, 9n

1− 0, 99, 5 < ε⇐⇒ 0, 9n <

ε

95⇐⇒ n =

[log0,9

ε

95

]+ 1

si

qn

1− q‖x(1) − x(0)‖∞ < ε⇐⇒ 0, 9n

1− 0, 93, 6 < ε⇐⇒ 0, 9n <

ε

36⇐⇒ n =

[log0,9

ε

36

]+ 1

Metoda Gauss-Seidel

Exemplul -1.15 Fie sistemul de ecuatii liniare

x1 + 12x2 + 1

3x3 = 1

15x1 + x2 + 1

6x3 = 2

110x1 + 1

20x2 + x3 = 3

Sa se arate ca se aplica metoda Gauss-Seidel.

Solutie Notam cu A matricea ceoficientilor sistemului. Avem

A =

1 12

13

15

1 16

110

120

1

Atunci

B = I − A =

0 −12−13

−15

0 −16

− 110

− 120

0

si

q1 = |b11|+ |b12|+ |b13| =∣∣∣∣−

1

2

∣∣∣∣+∣∣∣∣−

1

3

∣∣∣∣ =5

6

14

Page 155: Curs Calcul Numeric

q2 = |b21| q1 + |b22|+ |b23| =∣∣∣∣−

1

5

∣∣∣∣ ·5

6+

∣∣∣∣−1

6

∣∣∣∣ =1

3

q3 = |b31| q1 + |b32| q2 + |b33| =∣∣∣∣−

1

10

∣∣∣∣ ·5

6+

∣∣∣∣−1

20

∣∣∣∣ ·1

3=

1

10

Deci

q = max(q1, q2, q3) = max

(5

6,1

3,

1

10

)=

5

6< 1

Rezulta ca metoda Gauss-Seidel se aplica.

Metoda relaxarii simultane

Exemplul -1.16 Fie sistemul de ecuatii liniare:

5x1 + 3x2 + 2x3 = 1

3x1 + 6x2 + 3x3 = 2

2x1 + 3x2 + 5x3 = 3

Sa se arate ca se poate aplica metoda relaxarii simultane. Sa se determine parametrul

optim de relaxare. Luând x(0) = (0, 0, 0) sa se evalueze eroarea x− x(n).

Solutie: Notam cu A matricea sistemului. Avem

A =

5 3 2

3 6 3

2 3 5

= At transpusa matricei A.

Deci A simetrica. Deoarece

∆1 := |5| > 0, ∆2 :=

∣∣∣∣∣∣

5 3

3 6

∣∣∣∣∣∣> 0, ∆3 :=

∣∣∣∣∣∣∣∣∣

5 3 2

3 6 3

2 3 5

∣∣∣∣∣∣∣∣∣

> 0,

cu teorema lui Sylvester rezulta ca matricea A este si pozitiv definita. în concluzie, se

poate aplica metoda relaxarii simultane.

15

Page 156: Curs Calcul Numeric

Fie D = diag(A). Atunci

D−1A =

1 3/5 2/5

1/2 1 1/2

2/5 3/5 1

si det(D−1A−λI) = 0⇐⇒ (1−λ)3− 1925

(1−λ)+ 625

= 0. Daca notam 1−λ = t, atunci

ecuatia 25t3 − 19t + 6 = 0 are radacinile t1 = −1, t2 = 2/5, t3 = 3/5, de unde rezulta

ca valorile proprii ale matricei D−1A sunt λ1 = 2 > λ2 = 3/5 > λ3 = 2/5. Parametrul

optim de relaxare este

σ =2

λ1 + λ3=

5

6

caruia îi corespunde

q =λ1 − λ3λ1 + λ3

=2

3.

Avem x(1) = Cσx(0) + cσ = cσ = σD−1b = 5/6 · (1/5; 2/6; 3/5)t unde b = (1; 2; 3)t este

vectorul termenilor liberi din sistem. Atunci

‖x(1)‖2D =⟨Dx(1), x(1)

⟩=

25

36

(1

5+

2

3+

9

5

)=

2

3· 25

9

si

‖x(n) − x‖D ≤qn

1− q‖x(1) − x(0)‖D = 5 ·

(2

3

)n+ 1

2

.

Metoda lui Ritz

Exemplul -1.17 Fie A =

1 2 3 4

2 5 1 10

3 1 35 5

4 10 5 30

. Folosind metoda lui Ritz sa se cal-

culeze A−1.

16

Page 157: Curs Calcul Numeric

Se verifica mai întâi ca matricea A este simetrica si pozitiv definita. Luam w0 =

(1, 0, 0, 0)∗. Atunci w∗0Aw0 = 1 si

C1 =

1 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

, D1 =

0 −2 −3 −4

0 1 0 0

0 0 1 0

0 0 0 1

.

Luam v1 = (0, 1, 0, 0)∗. Rezulta ca w1 = (−2, 1, 0, 0)∗ si w∗1Aw1 = 1, de unde

C2 =

5 −2 0 0

−2 1 0 0

0 0 0 0

0 0 0 0

, D2 =

0 0 −13 0

0 0 5 −2

0 0 1 0

0 0 0 1

.

Luam v2 = (0, 0, 1, 0)∗. Rezulta ca w2 = (−13, 5, 1, 0)∗ si w∗2Aw2 = 1, de unde

C3 =

174 −67 −13 0

−67 26 5 0

−13 5 1 0

0 0 0 0

, D3 =

0 0 0 39

0 0 0 −17

0 0 0 −3

0 0 0 1

.

Luam v3 = (0, 0, 0, 1)∗. Rezulta ca w3 = (39,−17,−3, 1)∗ si w∗3Aw3 = 1, de unde

C4 =

1695 −730 −130 39

−730 315 56 −17

−130 56 10 −3

39 −17 −3 1

, D4 =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

.

Pseudoinversa unei matrice

17

Page 158: Curs Calcul Numeric

Exemplul -1.18 Fie

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu rang(T ) = 2 si H0 = 0.

Luam y1 = T ∗ ∗

1

0

0

0

=

1

0

−1

(avem y1 − H0Ty1 = y1 �= 0. Atunci w1 =

y1 − H0Ty1 = y1 si Tw1 =

2

0

2

2

. Rezulta ca ‖Tw1‖2 = 12, iar w1(Tw1)∗ =

2 0 2 2

0 0 0 0

−2 0 −2 −2

. Deci

H1 = H0 +w1(Tw1)

‖Tw1‖2=

1/6 0 1/6 1/6

0 0 0 0

−1/6 0 −1/6 −1/6

.

Luam y2 = T ∗ ∗

0

1

0

0

=

0

1

0

(avem y2 − H1Ty2 =

−1/2

1

1/2

�= 0. Atunci

18

Page 159: Curs Calcul Numeric

w2 = y2 − H1Ty2 si Tw2 =

−1

1

0

1

. Rezulta ca ‖Tw2‖2 = 3, iar w2(Tw2)∗ =

1/2 −1/2 0 −1/2

−1 1 0 1

−1/2 1/2 0 1/2

. Deci

H2 = H1 +w2(Tw2)

‖Tw2‖2=

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

În concluzie

T+ = H2 =

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

.

Exemplul -1.19 Fie

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu dimR(T ∗) = 2

Luând e1 = (1; 0;−1)∗, e2 = (0; 1; 0)∗ (baza în R(T ∗)) obtinem f1 = (2; 0; 2; 2)∗, f2 =

(0; 1; 1; 2)∗. Atunci

x1 =1

2√

3(1; 0;−1)∗, y1 =

1√3(1; 0; 1; 1)∗

În continuare

e′2 = e2 − 〈f2, y1〉 x1 =1

2(−1; 2; 1)∗ si f ′2 = Te′2 = (−1; 1; 0; 1)∗

19

Page 160: Curs Calcul Numeric

Atunci

x2 =1

2√

3(−1; 2; 1)∗, y2 =

1√3(−1; 1; 0; 1)∗

Rezulta ca

T+ = x1y∗1 + x2y

∗2 =

1

6

2 −1 1 0

−2 2 0 2

−2 1 −1 0

Exemplul -1.20 Fie

T =

1 0 −1

0 1 0

1 1 −1

1 2 −1

cu rang(T ) = 2 si H0 = T ∗

Luând a1 =

1

0

0

, b1 =

1

0

0

0

obtinem v0 := (I − TH0)∗Ta1 =

−5

−3

−8

−11

,

w0 = H0b1 =

1

0

−1

, u0 :=1

〈v0, Tw0〉(I −H0T )w0 =

5/48

1/8

−5/48

,

H1 := H0 + u0 · v∗0 =

23/48 −5/16 1/6 −7/48

−5/8 5/8 0 5/8

−23/48 5/16 1/6 7/48

Luând a2 =

0

1

0

, b2 =

0

1

0

0

obtinem v1 := (I − TH1)∗Ta2 =

7/8

−7/8

0

−7/8

, w1 =

20

Page 161: Curs Calcul Numeric

H1b2 =

−5/16

5/8

5/16

, u1 :=1

〈v1, Tw1〉(I −H1T )w1 =

−1/6

1/3

1/6

, deci

T+ = H2 := H1 + u1 · v∗1 =

1/3 −1/6 1/6 0

−1/3 1/3 0 1/3

−1/3 1/6 −1/6 0

.

Metode pentru aproximarea valorilor proprii aleunei matrice

Metode folosind polinomul caracteristic

Metoda Danilevsky

.

Exemplul -1.21 Determinati polinomul caracteristic pentru matricea

A =

−12 −4 3 4

−23 −8 6 8

−60 −39 21 28

−3 −2 1 2

,

folosind metoda Danilevski.

Aplicând pasii algoritmului se obtine:

A0 =

−12 −4 3 4

−23 −8 6 8

−60 −39 21 28

−3 −2 1 2

,

21

Page 162: Curs Calcul Numeric

S3 =

1 0 0 0

0 1 0 0

3 2 1 −2

0 0 0 1

⇒ A1 = S−13 A0S3 =

−3 2 3 −2

−5 4 6 −4

22 −11 2 0

0 0 1 0

,

S2 =

1 0 0 0

2 − 1

11

2

110

0 0 1 0

0 0 0 1

⇒ A2 =

= S−12 A1S2 =

1 − 2

11

37

11−2

−11 2 0 0

0 1 0 0

0 0 170

,

S1 =

− 1

11

2

110 0

0 1 0 0

0 0 1 0

0 0 0 1

⇒ A3 = S−11 A2S1

3 0 −37 22

1 0 0 0

0 1 0 0

0 0 1 0

,

Deci polinomul caracteristic este:

pA(λ) = λ4 − 3λ3 + 37λ− 22 . �

Metoda Krylov

Exemplul -1.22 Determinati polinomul caracteristic pentru matricea

A =

5 −4 −3 −1

1 4 2 −9

2 5 1 −5

7 1 2 −1

,

22

Page 163: Curs Calcul Numeric

folosind metoda Krylov.

Alegem pentru aplicarea metodei Krylov vectorul y(0) =

1

2

3

4

si calculam

y(1) = Ay(0) =

−16

−21

−5

11

, y(2) = Ay(1) =

8

−209

−197

−154

,

y(3) = Ay(2) −

1621

164

−456

−393

, y(4) = Ay(3) =

9210

4902

5571

10992

.

Coefientii polinomului caracteristic se obtin rezolvâd sistemul:

1621 8 −16 1

164 −209 −21 2

−456 −197 −5 3

−393 −154 11 4

p1

p2

p3

p4

=

9210

4902

5571

10992

.

Folosind o metoda de rezolvare a sistemelor liniare , obtinem p =

9

−45

369

885

si polino-

mul caracteristic este:

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

Metoda Leverrier

23

Page 164: Curs Calcul Numeric

Exemplul -1.23 Determinati, folosind metoda Leverrier, polinomul caracteristic si

matricea A−1 , daca exista, pentru matricea

A =

11 0 −3 12

−9 −5 2 5

2 −4 15 −11

2 6 −7 10

,

Aplicând metoda Leverrier pentru matriceaA si m = 4, obtinem:

s1 = 31 , p1 = −31 ,

- pentru k = 2:

A2 = A2 =

139 84 −162 285

−40 47 12 −105

66 −106 288 −271

−26 58 −169 231

, s2 = 705 , p2 = 128 ,

- pentru k = 3:

A3 = A3 =

1019 1938 −4674 6720

−1049 −913 1129 −1427

7714 −2248 5807 −5616

−684 1772 −3958 4147

,

s3 = 10060 , p3 = 2609 ,

- pentru k = 4:

A4 = A4 =

−2141 49326 −116331 140532

−3918 −8513 28245 −43842

39468 −45684 116779 −110709

−23094 31854 −82803 85660

,

s4 = 191785 , p4 = −12761 ,

24

Page 165: Curs Calcul Numeric

si polinomul caracteristic este:

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

Cum p4 �= 0, rezulta ca:

A−1 = − 1p4

(A3 + p1A2 + p2A + p3I4)

=

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 Calculati coeficientii polinomului caracteristic si matricea A−1 , daca

exista, pentru matricea

A =

11 1 −3 2

−9 −5 12 5

2 −4 5 −11

2 16 −7 10

,

folosind algoritmul Fadeev.

Aplicând algoritmul Fadeev obtinem:

A1 = A ,

p1 = −tr(A1) = −21 , B1 = A1 + p1I4 =

−10 1 −3 2

−9 −26 12 5

2 −4 −16 −11

2 16 −7 −11

,

25

Page 166: Curs Calcul Numeric

- pentru k = 2

A2 = AB1 =

−121 29 13 38

169 153 −260 −230

4 −90 −57 50

−158 −226 228 51

,

p2 = − 1tr(A2)

= −13 , B2 = A2 + p2I4 =

−134 29 13 38

169 140 −260 −230

4 −90 −70 50

−158 −226 228 38

,

- pentru k = 3

A3 = AB2 =

−1633 277 549 114

−381 −3171 1483 1598

814 1534 −1792 828

828 668 −1364 −3574

,

p3 = − 1tr(A3)

= 3390 , B3 = A3 + p3I4 =

1757 277 549 114

−381 219 1483 1598

814 1534 1598 828

828 668 −1364 −184

,

26

Page 167: Curs Calcul Numeric

- pentru k = 4

A4 = AB3 =

18160 0 0 0

0 18160 0 0

0 0 18160 0

0 0 0 18160

,

p4 = − 1tr(A4)

= −18160 , B4 = A4 + p4I4 =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

.

Polinomul caracteristic este:

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

Cum p4 �= 0, rezulta ca:

A−1 = − 1

p4B3 =

0.0968 0.0153 0.0302 0.0063

−0.0210 0.0121 0.0817 0.0880

0.0448 0.0845 0.0880 0.0456

0.0456 0.0368 −0.0751 −0.0101

. �

Metoda coeficientilor nedeterminati

Exemplul -1.25 Determinati coeficientii polinomului caracteristic pentru

matricea

A =

9 −4 10 13

11 −1 −15 8

1 −2 −3 1

2 4 5 7

,

folosind metoda coeficientilor nedeterminati.

27

Page 168: Curs Calcul Numeric

Avem p4 = −2703. Se obtine sistemul

1 1 1

8 4 2

27 9 3

p =

334

482

372

a carui solutie este:

p =

−12

−57

403

.

Deci polinomul caracteristic este:

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

Metoda rotatiilor

Exemplul -1.26 Fie matricea

A =

17 −2 3√

3

−2 8 2√

3

3√

3 2√

3 11

.

Folosind metoda rotatiilor, sa se determine valorile proprii ale matricei A.

Se verifica imediat ca matricea A este simetrica. Se aleg p < q astfel încât

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

Atunci p = 1, q = 3. Se calculeaza

θ =1

2· arctan 2 · apq

app − aqq=

π

6.

Se ia

T =

cos θ 0 − sin θ

0 1 0

sin θ 0 cos θ

28

Page 169: Curs Calcul Numeric

si se calculeaza matricea

B = T tAT =

20 0 0

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 calculeaza

θ =π

4deoarece bpp = bqq.

Se ia

T =

1 0 0

0 cos θ − sin θ

0 sin θ cos θ

si se calculeaza matricea

B = T tAT ==

20 0 0

0 12 0

0 0 4

Rezulta ca valorile proprii ale matricei A sunt λ1 = 20, λ2 = 12, λ3 = 4.�

Ecuatii neliniare în Rm

Principiul contractiei

Exemplul -1.27 Fie sistemul de ecuatii

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

y = (60− y3 − z2 + 4xz)/86

z = (40 + z3 + y2 − 5xy)/72

(3)

29

Page 170: Curs Calcul Numeric

Folosind principiul contractiei în raport cu norma ‖ · ‖∞, sa se arate ca sistemul

(3) are solutie unica v în V := [0, 2]3. Pentru o eroare ε data si pentru iterata initiala

x(0) := (1, 1, 1) sa se calculeze iterata x(n) (din principiul contractiei) pentru care ‖x(n)−

v‖∞ ≤ ε.

Fie r = 1 si a = (1, 1, 1). Atunci multimea V = {x ∈ Rm | ‖x − a‖∞ ≤ r}.

Fie functia F = (f, g, h) : V → R3 cu f(x, y, z) := (80 + x3 − x2 − 3yz)/100,

g(x, y, z) := (60−y3−z2+4xz)/86 si h(x, y, z) := (40+z3+y2−5xy)/72, ∀ (x, y, z) ∈ V .

Sistemul de ecuatii (3) este echivalent cu F (x, y, z) = (x, y, z).

Avem

F ′(x, y, z) =

(3x2 − 2x)/100 −3z/100 −3y/100

4z/86 −3y2/86 (−2z + 4x)/86

−5y/72 (2y − 5x)/72 3z2/72

,

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

| − 2z + 4x|)/86, (| − 5y| + |2y − 5x| + |3z2|)/72) ≤ max(28/100, 32/86, 36/72) =

= 1/2 (am folosit 0 ≤ x, y, z ≤ 2). Putem lua q = 1/2. Pe de alta parte ‖F (a)−a‖∞ =

max(28/100, 24/86, 35/72) = 35/72 < (1 − q)r = 1/2. Deci F este 1/2-contractie a

multimii V în raport cu norma ‖ · ‖∞. Din principiul contractiei rezulta ca ecuatia

F (x, y, z) = (x, y, z) are solutie unica în V .

Pentru x(0) = (1, 1, 1) se calculeaza x(n) cu formula de recurenta x(n) = F (x(n−1)),

∀ n ∈ N . Se opreste procesul iterativ atunci când q/(1− q)‖x(n) − x(n−1)‖∞ < ε.

Metoda Gauss-Seidel neliniara

Exemplul -1.28 Fie sistemul de ecuatii

x = (432 + x4 + y4 − 2z4 + y2z2)/234

y = (324− x4 + 2y4 − 3z4 + 3x2z2)/432

z = (234 + 2x4 − 3y4 + 4z4 − x2y2 + 3x + y)/324

(4)

30

Page 171: Curs Calcul Numeric

Folosind metoda Gauss-Seidel neliniara, sa se arate ca sistemul (4) are solutie unica

v în V := [−2, 2] × [−1, 1] × [0, 1]. Pentru o eroare ε data si pentru iterata initiala

x(0) := (0, 0, 1/2) sa se calculeze iterata x(n) pentru care ‖x(n) − v‖∞ ≤ ε.

Fie r1 = 2, r2 = 1 si r3 = 1/2, a1 = a2 = 0 si a3 = 1/2. Atunci multimea

V = {(x, y, z) ∈ R3 | |x − a1| ≤ r1, |y − a2| ≤ r2, |z − a3| ≤ r3}. Fie functia

F = (f, g, h) : V → R3 cu f(x, y, z) := (432 + x4 + y4 − 2z4 + y2z2)/234, g(x, y, z) :=

(324−x4+2y4−3z4+3x2z2)/432 si h(x, y, z) := (234+2x4−3y4+4z4−x2y2+3x+y)/324,

∀ (x, y, z) ∈ V . Sistemul de ecuatii (4) este echivalent cu F (x, y, z) = (x, y, z).

Avem F ′(x, y, z) =

4x3/234 (4y3 + 2yz2)/234 (−8z3 + 2y2z)/234

(−4x3 + 6xz2)/432 8y3/432 (−12z3 + 6x2z)/432

(8x3 − 2xy2 + 3)/324 (−12y3 − 2x2y + 1)/324 16z3/324

,

deci ‖F ′(x, y, z)‖∞ = max((|4x3|+ |4y3+2yz2|+ |−8z3+2y2z|)/234, (|−4x3+6xz2|+

|8y3|+ | − 12z3 + 6x2z|)/432, (|8x3 − 2xy2 + 3|+ | − 12y3 − 2x2y + 1|+ |16z3|)/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 alta parte |f(x, y, z) − a1| ≤ (|432| + |x4| + |y4| + |2z4| +

|y2z2|)/234 ≤ 452/234 < 2, |g(x, y, z)−a2| ≤ (|324|+|x4|+|2y4|+|3z4|+|3x2z2|)/432 ≤

357/432 < 1 si |h(x, y, z)−a3| ≤ (|234|+ |2x4|+ |3y4|+ |4z4|+ |x2y2|+ |3x|+ |y|)/324 ≤

122/324 < 1/2, ∀ (x, y, z) ∈ V . Deci F (V ) ⊂ V si F este 1/3-contractie a multimii V în

raport cu norma ‖·‖∞. Din principiul contractiei rezulta ca ecuatia F (x, y, z) = (x, y, z)

ar solutie unica în V .

Pentru x(0) = (0, 0, 1/2) se calculeaza x(n) = (x(n)1 , x

(n)2 , x

(n)3 ) cu formula de recurenta

x(n)1 = f(x(n−1)), x(n)2 = g(x

(n)1 , x

(n−1)2 , x

(n−1)3 ), x(n)3 = h(x

(n)1 , x

(n)2 , x

(n−1)3 ) ∀ n ∈ N . Se

opreste procesul iterativ atunci când q/(1− q)‖x(n) − x(n−1)‖∞ < ε.

Metoda lui Newton

31

Page 172: Curs Calcul Numeric

Exemplul -1.29 Fie sistemul de ecuatii

x3 + 3xy2 + 3xz2 − 183x + 2 = 0

y3 + +3x2y + 3yz2 − 193y + 1 = 0

z3 + 3x2z + 3y2z − 188(z − 1)− 1 = 0

(5)

Folosind metoda Newton relativa la norma ‖·‖∞, sa se arate ca sistemul (5) are solutie

unica v în V := [−1, 1]2 × [0, 2]. Pentru o eroare ε data si pentru iterata initiala

x(0) := (0, 0, 1) sa se calculeze iterata x(n), pentru care ‖x(n) − v‖∞ ≤ ε.

Fie r = 1 si a = (0, 0, 1). Atunci multimea V este Br(a) în raport cu norma

‖ · ‖∞. Fie functia F = (f, g, h) : V→ R3 cu f(x, y, z) := x3 + 3xy2 + 3xz2 − 183x+ 2,

g(x, y, z) := y3++3x2y+3yz2−193y+1 si h(x, y, z) := z3+3x2z+3y2z−188(z−1)−1 =

0, ∀ (x, y, z) ∈ V . Sistemul de ecuatii (5) este echivalent cu F (x, y, z) = 0.

Avem F ′(x, y, z) =

3x2 + 3y2 + 3z2 − 183 6xy 6xz

6xy 3x2 + 3y2 + 3z2 − 193 6yz

6xz 6yz 3x2 + 3y2 + 3z2 − 188

,

F ′′(x, y, z) =

6x 6y 6z 6y 6x 0 6z 0 6x

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

M = 60. Avem F ′(a) =

−180 0 0

0 −190 0

0 0 −185

, deci F ′(a) inversabila, (F ′(a))−1 =

−1/180 0 0

0 −1/190 0

0 0 −1/185

si ‖(F ′(a))−1‖∞ = max(1/180, 1/190, 1/185) = 1/180.

32

Page 173: Curs Calcul Numeric

Luam α = 1/180. Cum Mrα = 60/180 < 1 si α/(1 − MRα) = 1/120, putem

lua µ = 120. Avem F (a) = (2, 1, 0)t si (F ′(a))−1F (a) = (−1/90,−1/190, 0)t, deci

‖(F ′(a))−1F (a)‖∞ = 1/90. Lua m β = 1/90. Conditia β ≤ (1− q)r implica q ≤ 89/90.

Din ‖F (x, y, z)‖∞ ≤ max(|x3| + |3xy2| + |3xz2| + |183x| + 2, |y3| + |3x2y| + |3yz2| +

|193y|+ 1, |z3|+ |3x2z|+ |3y2z|+ |188(z − 1)|+ 1) ≤ max(201, 210, 209) = 210 rezulta

ca (M/µ2)‖F (x, y, z)‖∞ ≤ q⇔q ≥ 210/240 = 7/8. Din Mr/µ ≤ q rezulta q ≥ 1/2.

Deci putem lua q = 7/8 si atunci ecuatia F (x, y, z) = 0 are o solutie unica în V .

Pentru x(0) = (0, 0, 1) se calculeaza x(n) cu formula de recurenta (5) (folosind la

fiecare pas o procedura de inversare a matricei (F ′(x(n)))−1). Se opreste calculul iterativ

atunci când (2µ)/M · q2n ≤ ε⇔4 · (7/8)2n ≤ ε.

Metoda lui Newton simplificata

Exemplul -1.30 Fie sistemul de ecuatii

x2 + y2 + z2 + x + y + z − 853/144 = 0

3x2 − 4y2 + z2 + x− y − 3z + 1309/432 = 0

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

(6)

Folosind metoda Newton simplificata relativa la norma ‖ · ‖∞, sa se arate ca sistemul

(6) are solutie unica v în V := [−0, 8; 1, 2]3. Pentru o eroare ε data si pentru iterata

initiala x(0) := (1, 1, 1), sa se calculeze iterata x(n) pentru care ‖x(n) − v‖∞ ≤ ε.

Fie r := 0, 2 = 1/5 si a := (1, 1, 1). Atunci multimea V este Br(a) în raport cu

norma ‖ · ‖∞. Fie functia F = (f, g, h) : V→ R3 cu f(x, y, z) := x2 + y2 + z2 + x +

y + z − 853/144, g(x, y, z) := 3x2 − 4y2 + z2 + x − y − 3z + 1309/432 si h(x, y, z) :=

5x2 + 2y2 − 3z2 + 2x − 4y − 6z + 37/9, ∀ (x, y, z) ∈ V . Sistemul de ecuatii (6) este

echivalent cu F (x, y, z) = 0.

33

Page 174: Curs Calcul Numeric

Avem

F ′(x, y, z) =

2x + 1 2y + 1 2z + 1

6x + 1 −8y − 1 2z − 3

10x + 2 4y − 4 −6z − 6

,

F ′′(x, y, z) =

2 0 0 0 2 0 0 0 2

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) ∈

V . Putem lua M = 20. Avem F ′(a) =

3 9 3

7 −9 −1

12 0 −12

, cu det(F ′(a)) = 72, deci

F ′(a) inversabila, (F ′(a))−1 =1

72

9 3 2

6 −6 2

9 3 −4

si ‖(F ′(a))−1‖∞ = max(14/72, 14/72, 16/72) =

2/9. Lua m α = 2/9. Avem F (a) = (11/144, 13/432, 1/9)t si (F ′(a))−1F (a) =

(1/72, 1/144, 1/216)t, deci ‖(F ′(a))−1F (a)‖∞ = 1/72. Luam β = 1/72. Conditia

β ≤ (1 − q)r implica q ≤ 67/72. Din αMr ≤ q rezulta q ≥ 8/9. Deci putem lua

q = 8/9 si atunci ecuatia F (x, y, z) = 0 are o solutie unica în V .

Pentru x(0) = (1, 1, 1) se calculeaza x(n) cu formula de recurenta (6). Se opreste

calculul iterativ atunci când q/(1− q) · ‖x(n) − x(n−1)‖∞ ≤ ε.

Interpolare polinomiala

Formula lui Lagrange

Exemplul -1.31 Utilizând formula lui Lagrange de reprezentare sa se determine poli-

nomul de interpolare de grad 2 ce verifica conditiile:

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

34

Page 175: Curs Calcul Numeric

Din curs rezulta ca:

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

Avem:

L1(x) =(x− 1)(x− 4)

(0− 1)(0− 4)=

x2 − 5x + 4

4,

L2(x) =x(x− 4)

(1− 0)(1− 4)=

x2 − 4x

−3,

L3(x) =x(x− 1)

(4− 0)(4− 1)=

x2 − x

12.

Atunci:

P (x) = 2 · x2 − 5x + 4

4+ 1 · x

2 − 4x

−3+ 4 · x

2 − x

12=

1

2x2 − 3

2x + 2.�

Algoritmul lui Aitken

Exemplul -1.32 Fie functia f : [0, 12] → R cu f(x) = 6√

2x + 1− 2x, ∀x ∈ [0, 12].

Sa 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. Rezulta ca

P22(x) =10x− 6(x− 4)

4= x + 6,

P23(x) =6x− 6(x− 12)

12= 6

si astfel

P (f ; 0, 4, 12;x) = P33(x) = −x2

8+

3x

2+ 6 .

Algoritmul lui Neville

35

Page 176: Curs Calcul Numeric

Exemplul -1.33 Fie functia f : [0, 12] → R cu f(x) = 6√

2x + 1− 2x, ∀x ∈ [0, 12].

Sa 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. Rezulta ca

P22(x) =10x− 6(x− 4)

4= x + 6,

P23(x) =6(x− 4)− 10(x− 12)

8= −x

2+ 12

si astfel

P (f ; 0, 4, 12;x) = P33(x) = −x2

8+

3x

2+ 6

Formula lui Newton de reprezentare a polinomului de interpolare

Exemplul -1.34 Fie functia f : [0, 4] → R cu f(x) = 6√

2x + 1 − 2x, ∀x ∈ [0, 4].

Utilizând formula de reprezentare Newton sa 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 diferentele divizate cu formulele de recurenta date de (??). Calculele le

36

Page 177: Curs Calcul Numeric

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 " diferente divizate asociate la k noduri).

Cum f(x) = 6√

2x + 1− 2x = 6(2x+1)1/2− 2x, rezulta ca f ′(x) = 6(2x+1)−1/2−

2 si 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) = 12f ′′(0) = −3,

f(0, 0, 4) = (f(0, 4) − f(0, 0))/(4 − 0) = −3/4 etc.. Rezulta urmatorul 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

P (f ; 0, 0, 0, 4, 4; x) = 6 + 4x− 3x2 +9

16x3 − 7

64x3(x− 4).

Din formula de evaluare a erorii rezulta ca

|f(x)− P (f ; 0, 0, 0, 4, 4;x)| ≤ M5

5!|x3(x− 4)2| ∀x ∈ [0, 4],

37

Page 178: Curs Calcul Numeric

unde M5 = supx∈[0,4]

|f (5)(x)|. Avem f (3)(x) = 18(2x+ 1)−5/2, f (4)(x) = −90(2x+ 1)−7/2,

f (5)(x) = 630(2x+1)−9/2. Cum f (6)(x) = −630 · 9(2x+1)−11/2 < 0, rezulta ca f (5)este

descrescatoare si cum f (5)(x) > 0 ∀x ∈ [0, 4] rezulta ca M5 = f (5)(0) = 630. Atunci

|f(x)− P (x)| ≤ 630

120|x3(x− 4)2| = 21

4x3(x− 4)2, ∀x ∈ [0, 4]. �

Formula lui Newton de interpolare ascendenta

Exemplul -1.35 Sa se determine, folosind formula de interpolare Newton ascendenta,

polinomul Lagrange atasat datelor: n = 3, x0 = 4, h = 2 (de unde x1 = 6, x2 = 8,

x3 = 10) si f : R → R o functie continua cu f(x0) = 1, f(x1) = 3, f(x2) = 8,

f(x3) = 20 si sa se estimeze valoarea functiei f în punctul x = 7.

Organizam calculul diferentelor nedivizate ascendente în tabelul urmator:

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

hf(xk) ∆3hf(xk)

0 4 1 2 3 4

1 6 3 5 7

2 8 8 12

3 10 20

(De exemplu∆1hf(x0) = ∆hf(x0) = f(x1)−f(x0) = 3−1 = 2,∆2

hf(x0) = ∆1h∆hf(x0) =

∆hf(x1) − ∆hf(x0) = ∆1hf(x1) − ∆1

hf(x0) = 5 − 2 = 3, etc.) Atunci ∆0hf(x0) = 1,

∆1hf(x0) = 2, ∆2

hf(x0) = 3, ∆3hf(x0) = 4.

Fie x ∈ R Avem q =x− x0

h=

x− 4

2si atunci C0

q = 1, C1q = q =

x− 4

2, C2

q =

q(q − 1)

2=

(x− 4)(x− 6)

8, C3

q =q(q − 1)(q − 2)

6=

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

48. Rezulta

ca: P (f ;x0, x1, x2, x3; x) =

3∑

i=0

Ciq∆

ihf(x0) = 1 + (x− 4) +

3

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

4

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

si deci

P (f ;x0, x1, x2, x3; 7) = 1 + 3 +9

8− 1

4=

39

8= 4.875 .�

38

Page 179: Curs Calcul Numeric

Formula lui Newton de interpolare descendenta

Exemplul -1.36 Sa se determine, folosind formula de interpolare Newton descen-

denta, polinomul Lagrange atasat datelor: n = 3, x0 = 10, h = 2 (de unde x−1 = 8,

x−2 = 6, x−3 = 4) si f : R → R o functie continua cu f(x0) = 20, f(x−1) = 8,

f(x−2) = 3, f(x−3) = 1 si sa se estimeze valoarea functiei f în punctul x = 7.

Organizam calculul diferentelor nedivizate descendente în tabelul urmator:

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

hf(xk) ∇3hf(xk)

0 10 20 12 7 4

−1 8 8 5 3

−2 6 3 2

−3 4 1

(De exemplu ∇1hf(x0) = ∇hf(x0) = f(x0) − f(x−1) = 20 − 8 = 12, ∇2

hf(x0) =

∇1h∇hf(x0) = ∇hf(x0)−∇hf(x−1) = ∇1

hf(x0)−∇1hf(x−1) = 12− 5 = 7, etc.) Atunci

∇0hf(x0) = 20, ∇1

hf(x0) = 12, ∇2hf(x0) = 7, ∇3

hf(x0) = 4.

Fie x ∈ R. Avem q =x− x0

h=

x− 10

2si atunci

C0−q = 1, C1

−q = −q = −x− 10

2, C2

−q =−q(−q − 1)

2=

(x− 10)(x− 8)

8, C3

−q =

−q(−q − 1)(−q − 2)

6=

(x− 10)(x− 8)(x− 6)

48. Rezulta ca:

P (f ; x0, x−1, x−2, x−3;x) =3∑

i=0

(−1)iCi−q∇i

hf(x0) =

= 20 +12

2(x− 10) +

7

8(x− 10)(x− 8) +

4

48(x− 10)(x− 8)(x− 6)

si deci

P (f ; x0, x−1, x−2, x−3; 7) = 20− 18 +21

8+

1

4=

39

8= 4.875 .�

Formula de interpolare Gauss înainte

39

Page 180: Curs Calcul Numeric

Exemplul -1.37 Sa se determine, folosind formula de interpolare Gauss înainte, poli-

nomul Lagrange atasat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,

x1 = 8, x2 = 10) si f : R → R o functie continua cu f(x−2) = −2, f(x−1) = 1,

f(x0) = 3, f(x1) = 8, f(x2) = 20 si sa se estimeze valoarea functiei f în punctul

x = 7.

Printr-un calcul elementar, se arata ca, pentru orice i = 1, 2:

δ2i−1h f(x1/2) = ∆2i−1h f(x−i+1) si δ

2ih f(x0)) = ∆2i

h f(x−i)).

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

f(x0) +2∑

i=1

(C2i−1q+i−1∆

2i−1h f(x−i+1) + C2i

q+i−1∆2ih f(x−i)) =

= f(x0) + C1q∆

1hf(x0) + C2

q∆2hf(x−1) + C3

q+1∆3hf(x−1) + C4

q+1∆4hf(x−2).

Organizam calculul diferentelor finite ascendente în tabelul urmator:

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

hf(xk) ∆3hf(xk) ∆4

hf(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,∆1hf(x0) = 5,∆2

hf(x−1) = 3,∆3hf(x−1) = 4,∆4

hf(x−2) = 0. Cum

q =x− 6

2rezulta ca C1

q = q =x− 6

2, C2

q =q(q − 1)

2=

(x− 6)(x− 8)

8, C3

q+1 =

(q + 1)q(q − 1)

6=

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

48. Atunci:

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

40

Page 181: Curs Calcul Numeric

= 3 + 5x− 6

2+ 3

(x− 6)(x− 8)

8+ 4

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

48

si

f(7) � P (f ; x−2, x−1, x0, x1, x2; 7) = 3 +5

2− 3

8− 1

4=

39

8= 4.875 .�

Formula de interpolare Gauss înapoi

Exemplul -1.38 Sa se determine, folosind formula de interpolare Gauss înapoi, poli-

nomul Lagrange atasat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,

x1 = 8, x2 = 10) si f : R → R o functie continua cu f(x−2) = −2, f(x−1) = 1,

f(x0) = 3, f(x1) = 8, f(x2) = 20 si sa se estimeze valoarea functiei f în punctul

x = 7.

Printr-un calcul elementar, se arata ca, pentru orice i = 1, 2:

δ2i−1h f(x1/2) = ∆2i−1h f(x−i+1) si δ

2ih f(x0)) = ∆2i

h f(x−i)).

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

f(x0) +2∑

i=1

(C2i−1q+i−1∆

2i−1h f(x−i) + C2i

q+i∆2ih f(x−i)) =

= f(x0) + C1q∆

1hf(x−1) + C2

q+1∆2hf(x−1) + C3

q+1∆3hf(x−2) + C4

q+2∆4hf(x−2).

Organizam calculul diferentelor finite ascendente în tabelul urmator:

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

hf(xk) ∆3hf(xk) ∆4

hf(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

Page 182: Curs Calcul Numeric

Avem: f(x0) = 3,∆1hf(x−1) = 2,∆2

hf(x−1) = 3,∆3hf(x−2) = 4,∆4

hf(x−2) = 0. Cum

q =x− 6

2, rezulta ca C1

q = q =x− 6

2, C2

q+1 =(q + 1)q

2=

(x− 4)(x− 6)

8, C3

q+1 =

(q + 1)q(q − 1)

6=

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

48. Atunci:

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

= 3 + 2x− 6

2+ 3

(x− 4)(x− 6)

8+ 4

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

48

si

f(7) � P (f ; x−2, x−1, x0, x1, x2; 7) = 3 + 1 +9

8− 1

4=

39

8= 4.875 . �

Metode numerice pentru ecuatii diferentialeMetode într-un pas (directe)Metoda Euler explicita (progresiva)

Exemplul -1.39 Folosind metoda Euler, determinati solutia aproximativa a problemei

Cauchy:

y′

= y2 − y

t− 1

4t2, t ∈ [1, 2]

y(1) = 0.75

în t = 2, luând h = 0.5.

Avem f(t, y) = y2 − y

t− 1

4t2, t0 = 1 si y0 = 0.75 . Se obtine N = 2 si yn+1 =

yn + 0.5f(tn, yn), pentru n = 0, 1 . Deci rezulta:

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

Page 183: Curs Calcul Numeric

Exemplul -1.40 Se da problema Cauchy:

y′

= y2 − y

t− 1

4t2, t ∈ [1, 2.9]

y(1) = 0.75

Sa se determine valoarea aproximativa a solutiei în t = 2.9, folosind metoda si RK24,

pentru N = 2.

Pentru N = 2 avem h = 0.9500. Luam y0 = 0.75, t0 = 1. Pentru metoda RK24,

avem f(t, y) = y2 − y

t− 1

4t2. Se obtine:

- 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 multi pasi (indirecte)Metoda Adams-Bashforth

43

Page 184: Curs Calcul Numeric

l

Exemplul -1.41 Folosind metoda Adams-Bashforth pentru r = 3, determinati solutia

aproximativa a problemei Cauchy:

y′

= y2 − y

t− 1

4t2, t ∈ [1, 2.25]

y(1) = 0.75

în t = 2.25 pentru N = 5, determinând valorile de început y1, y2, y3 cu metoda Euler

progresiva.

Avem h = 0.25 si f(t, y) = y2 − y

t− 1

4t2. Aplicând metoda Euler progresiva se

obtine:

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 ,

si, în continuare, cu metoda Adams-Bashforth pentru r = 3, rezulta:

t4 = 2 , y4 = y3 +h

24(55f3 − 59f2 + 37f1 − 9f0) = 0.5166 ,

f4 = f(t4, y4) = −0.0539 ,

t5 = 2.25 , y5 = y4 +h

24(55f4 − 59f3 + 37f2 − 9f1) = 0.5096 ,

f5 = f(t5, y5) = −0.0162 .

44