Sunteți pe pagina 1din 131

2

Prefaţă

În cadrul acestei cărţi sunt prezentate metodele de bază ale analizei numerice. Regăsim cele
mai importante metode numerice prin care obţinem soluţii aproximative pentru diferite probleme
matematice studiate în anii precedenţi la analiză matematică, ecuaţii diferenţiale i algebră liniară.
După fiecare metodă dăm i algoritmizarea corespunzătoare într-un limbaj pseudocod. Activitatea
studenţilor pe parcursul laboratoarelor constă în a proba valabilitatea acestor algoritmi prin
alegerea unui limbaj evoluat de programare, cum ar fi de exemplu Pascal sau C. Menţionăm că
în pachetele de programe Mathcad, Matlab, Mathematica, etc. sunt înglobate metodele
numerice prezentate de noi.
Parcurgerea i înţelegerea acestei cărţi necesită cuno tinţe din analiza matematică,
algebra liniară i ecuaţii diferenţiale, precum i noţiuni de programare. Recomandăm
călduros i cu generozitate această carte pentru studenţii Universităţii "Petru Maior".

Tg. Mure , 01.09.2004


conf.dr. Finta Béla
3
4
Cuprins

1 Introducere 9

2 Erori 13
2.1 Surse de erori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Studiul erorilor sau propagarea erorilor . . . . . . . . . . . . . . . . . . . . 14
2.3 Propagarea erorilor la cele patru operaţii aritmetice . . . . . . . . . . . . . 14
Formula generală a propagării erorilor sau eroarea introdusă de o
2.4 funcţie . 15

3 Folosirea sumelor i a seriilor numerice în aproximări 17


31 Serii alternate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
32 Serii cu termeni pozitivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
33 Transformarea seriilor numerice slab convergente în serii mai rapid conver-
gente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1Transformarea lui Euler . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.2Transformarea lui Kummer . . . . . . . . . . . . . . . . . . . . . . 21

4 Evaluarea funcţiilor 23
41 Evaluarea polinoamelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
42 Evaluarea funcţiilor analitice . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Evaluarea funcţiilor date prin relaţii de recurenţă . . . . . . . . . . . . . . 25
4.4 Evaluarea funcţiilor cu ajutorul fracţiilor continue . . . . . . . . . . . . . . 26

5 Ecuaţii neliniare 29
5.1 Metoda lui Bairstow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Separarea rădăcinilor reale în cazul ecuaţiilor neliniare reale . . . . . . . . 31
5.3 Metoda bisecţiei sau metoda înjumătăţirii intervalului . . . . . . . . . . . . 32

5
54 Metode iterative pentru rezolvarea ecuaţiilor neliniare . . . . . . . . . . . . 33 5.4.1
Metoda tangentei sau metoda lui Newton . . . . . . . . . . . . . . . 34
5.4.2 Metoda paralelelor . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.43Metoda coardei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.44Metoda secantei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.45Metoda lui Steffensen . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.46Teoria generală a metodelor iterative în cazul ecuaţiilor neliniare . . 46

6 Sisteme de ecuaţii liniare 51


61 Metode directe de rezolvare numerică a sistemelor liniare . . . . . . . . . . 52
6.1.1Rezolvarea unor sisteme liniare particulare . . . . . . . . . . . . . . 52
6.1.1.1Rezolvarea sistemelor liniare diagonale . . . . . . . . . . . 52
6.1.1.2Rezolvarea sistemelor liniare superior triunghiulare . . . . 52
6.1.1.3Rezolvarea sistemelor liniare inferior triunghiulare . . . . . 53
6.1.2Metoda lui Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.1.3Aplicaţii ale metodei lui Gauss . . . . . . . . . . . . . . . . . . . . 59
6.1.3.1Calculul determinantului folosind metoda lui Gauss . . . . 59
6.1.3.2Calculul matricii inverse folosind metoda lui Gauss . . . . 60
6.1.3.3Calculul rangului unei matrici folosind metoda lui Gauss . 61
6.1.4Metode de factorizare . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.1.4.1Metoda descompunerii LU . . . . . . . . . . . . . . . . . . 62
6.1.4.2Metoda descompunerii LLT (Cholesky) . . . . . . . . . . . 67
6.1.4.3 Metoda descompunerii QR (Householder) . . . . . . . . . 71
6.1.4.4 Sisteme de ecuaţii liniare cu matrice tridiagonală . . . . . 75
6 .2 Norme vectoriale i matriciale . . . . . . . . . . . . . . . . . . . . . . . . . 80
6 .3 Perturbaţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6 .4 Metode iterative pentru rezolvarea sistemelor liniare . . . . . . . . . . . . . 84
6.4.1 Metoda lui Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.4.2 Metoda lui Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . 88
6.4.3Teoria generală a metodelor iterative pentru sistemele liniare . . . . 91
6.4.4Metoda SOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
65 Rezolvarea sistemelor liniare supradeterminate cu metoda celor mai mici
pătrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6
7 Sisteme de ecuaţii neliniare pe spaţii finit dimensionale 101
71 Metoda lui Jacobi pe spaţiul finit dimensional Rn . . . . . . . . . . . . . . 101
72 Metoda lui Newton-Raphson-Kantorovici pe Rn . . . . . . . . . . . . . . . 105
73 Metoda gradientului pe Rn . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8 Aproximarea funcţiilor 119


8.1 Aproximarea uniformă a funcţiilor continue cu ajutorul polinoamelor . . . 119
8.1.1Teorema lui Weierstrass i teorema lui Korovkin . . . . . . . . . . . 119
8.1.2Teorema lui Stone . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
82 Aproximarea funcţiilor prin interpolare . . . . . . . . . . . . . . . . . . . . 133
8.2.1Interpolare liniară . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.2.2Interpolarea polinomială a lui Lagrange . . . . . . . . . . . . . . . . 136
8.2.3Polinoamele lui Cebâ ev de speţa întâia . . . . . . . . . . . . . . . . 139
8.2.4Evaluarea restului pentru polinomul de interpolare Lagrange . . . . 143
8.2.5Teorema lui Faber asupra divergenţei procedeului de interpolare . . 144
8.2.6Diferenţe finite i divizate. Polinomul de interpolare al lui Newton . 148
8.3 Aproximarea funcţiilor cu ajutorul funcţiilor spline . . . . . . . . . . . . . 153
84 Cea mai bună aproximare a funcţiilor în spaţii
normate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

9 Formulele de derivare i integrare numerică 161


9.1 Formulele de derivare numerică . . . . . . . . . . . . . . . . . . . . . . . . 161
9.2 Formulele de integrare numerică . . . . . . . . . . . . . . . . . . . . . . . . 168
9.2.1Formula dreptunghiului . . . . . . . . . . . . . . . . . . . . . . . . 168
9.2.2Formula trapezului . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.2.3Formula lui Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . 176

10 Metode numerice pentru calculul valorilor i vectorilor proprii ale unei


matrici 183
10.1Metoda lui Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
10.2Metoda puterii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

11 Metode numerice pentru rezolvarea ecuaţiilor diferenţiale i ale sis-


temelor de ecuaţii diferenţiale 191
7
8

111Metoda lui Euler pentru rezolvarea numerică a ecuaţiei diferenţiale ordinare


de ordinul unu ca problemă Cauchy . . . . . . . . . . . . . . . . . . . . . . 191
19
11.2 Metoda lui Runge-Kutta de ordinul patru . . . . . . . . . ......... 5
Rezolvarea numerică a problemei lui Dirichlet pe un 19
11.3 pătrat ......... 7
19
Bibliografie 9
Capitolul 1

Introducere

Metoda numerică (algoritmul numeric) este o metodă de rezolvare a unei probleme prac-tice
utilizând un număr finit de operaţii aritmetice i logice (operaţiile uzuale pe care le poate
executa un procesor sau coprocesor matematic). În practică apar probleme con-crete cu
date de intrare cunoscute. De obicei se asociază un model matematic acestei probleme, mai
fin sau mai puţin fin. Rezolvarea problemei matematice în general nu se poate face cu mâna
printr-un număr finit de pa i (operaţii), deci se caută să se rezolve problema printr-o metodă
numerică. Algoritmul găsit se poate programa pe un calculator, iar rezultatele obţinute prin
calculator se verifică practic. Aceste date de ie ire ar trebui să fie o aproximare reală pentru
problema practică iniţială.

Algoritmul de
Date de intrare Date de ie ire calcul

Un algoritm trebuie să aibă următoarele proprietăţi:

1. Generalitate, prin care se înţelege că algoritmul nu trebuie să rezolve numai o


problemă ci toate problemele din clasa respectivă.

2. Finitudine, adică numărul de transformări intermediare aplicate datelor de


intrare pentru a obţine datele de ie ire este finit.

3. Unicitatea algoritmului, adică transformările intermediare trebuie să fie unic


determinate.

9
10 1. Introducere

Exemplul 1. Se consideră următoarea problemă izoperimetrică din geometria ele-


mentară: dintre toate dreptunghiurile cu perimetrul constant să se determine cel cu arie
maximă. (Rezolvare: pătrat)
y

Modelul matematic:

2x + 2y = constant, deci
c (o
x+y = constantă)

x¢y ! maxim
Rezolvarea modelului matematic se poate face în acest caz fără calculator:

a) prin aplicarea materiei de gimnaziu se obţine: din inegalitatea mediilor avem: pxy ·

x +2 y = 2c; deci xy · c42 i egalitatea se realizează pentru x = y = 2c:


2) prin aplicarea materiei de liceu se obţine:

0y = c ¡ x; x ¢ y = x(c ¡ x) = cx ¡ x2;

se caută punctul maxim pentru funcţia f : R ! R; f(x) = ¡x2 + cx:

Atunci xmax = 2c i y = 2c sunt datele de ie ire.

3) prin aplicarea materiei de universitate se obţine: să se calculeze maximul lui f :


R2 ! R; f(x; y) = x¢y cu restricţia x+y ¡c = 0. Se aplică metoda multiplicatorilor
lui Lagrange: L(x; y; @¸
>8@ L@ x= 0
>
>
>
>

>
@L

> =0

>
>
>

>
@y

<
>
>
>

>
@L

>
>
=0

>
>
>
>
>

:
¸) = xy + ¸(x + y ¡ c): Se calculează derivatele parţiale: < < <
¸=0 8y = ¡¸ 8¸ = ¡ c > > >
2
> > > c

> > > >


> >
> >
>

> > >


> > >
x + y c =0 2¸ c = 0 y=

> > >


> > > > > >
> > > c ¡ > 2

> > >


> >

> > > ¡ ¡

>
>
>
>
>
>
> > >
> > >
> > >
x+¸=0 x= ¸ x=

> > >


> > ¡ > 2

> > >


: : :
În final se face interpretarea rezultatelor teoretice obţinute. Rezultatul este un pătrat de

latura 2c.
1. Introducere 11

Exemplul 2. Să se rezolve următorul sistem liniar, care se poate obţine în urma unei

8a11x + a12y = b1
probleme practice:

>a x + a y = b
21 22 2

<
>a11; a12; a21; a22; b1; b2; datele de ie ire suntx; y. Pre-
Datele de intrare sunt parametrii
¯b
a1
: 1 2 ¯
¯b a2
a11 a12 2
¯
2 ¯
¯

supunem că: ¢ = ¯ ¯ = 0; deci avem un sistem Cramer. Atunci: x = ¯ ¯i


¯a21 a22¯ 6 ¯ ¢ ¯
a11 b1
¯¯

¯
¯
¯

¯
¯ ¯

¯ ¯
¯ ¯ ¯
a b ¯
¯ 21 2
¯

y=¯ ¯:
¯ ¢ ¯
¯ ¯

Program sistem

Date de intrare: aij; bi pentru i; j = 1; 2:


Subrutina calcul (a1; a2; a3; a4)
calcul: = a1 ¤ a4 ¡ a2 ¤ a3
¢ = calcul (a11; a12; a21; a22)
Dacă ¢ =6 0 atunci

x := calcul (b1; a12; b2; a22)=¢ y :=

calcul (a11; b1; a21; b2)=¢

altfel nu este sistem de tip Cramer.


Tipăre te: x; y:
La acest exemplu se observă că dacă se consideră un sistem de tip Cramer cu zece
ecuaţii i cu zece necunoscute i vrem să-l rezolvăm folosind teoria determinanţilor din liceu,
atunci în dezvoltarea unui determinant de ordinul zece, după definiţie am avea 10! de
termeni care i în cazul calculatorului reprezintă un volum imens de calcule. De aceea este
necesar de a găsi alte metode de rezolvare a problemei, numite metode numerice.
Exemplul 3. Fie sistemul:
8
>
<4; 0000x + 0; 8889y = 4; 0000
>
1; 0000x + 0; 2222y = 1; 0000:
:
12 1. Introducere

Cum ¢ =6 0; este un sistem Cramer i are soluţia unică x = 1 i y = 0:


Se face o mică perturbare a coeficienţilor sistemului. Se consideră sistemul cu trei
zecimale exacte: 8
>
<
4; 000x + 0; 888y = 4; 000

>
:
1; 000x + 0; 222y = 1; 000:

Acest sistem este un sistem nedeterminat. Se păstrează continuitatea datelor de intrare, însă
la datele de ie ire se produce nu un salt cantitativ, ci calitativ. Acest fenomen se nume te
instabilitatea numerică a sistemului liniar. Din punct de vedere geometric unghiul dintre cele
două drepte este foarte mic, iar perturbaţia face ca dreptele să coincidă.
Capitolul 2

Erori

2.1 Surse de erori

Soluţiile obţinute prin metodele numerice sunt aproximative datorită erorilor. Surse de
erori pot fi:

0² gradul de adecvare al modelului matematic. Dacă modelul matematic este mai


fin erorile se pot diminua.

0² erori iniţiale sau erori în datele de intrare. Erorile iniţiale se formează din erori
de măsurare datorite impreciziei instrumentului de măsurat. Erorile de
observaţie sunt neregulate sau întâmplătoare.

0² erorile de metodă. Apar prin folosirea unei metode numerice.

0² erorile de calcul, care sunt de două tipuri: de trunchiere i de rotunjire. Eroarea


de trunchiere se obţine, de exemplu, prin calculul sumei unei serii înlocuind-o
cu o sumă parţială. Eroarea de rotunjire se obţine în felul următor: dacă pe
ultima zecimală a unui număr real avem cifrele 0, 1, 2, 3, 4 atunci denumim
prin lipsă, când ultima cifră se lasă la o parte i penultima cifră zecimală
rămâne neschimbată, altfel denumim prin adaos, când ultima cifră zecimală
lăsată la o parte este 5, 6, 7, 8, 9 i penultima cifră se măre te cu o unitate.

13
14 2. Erori

2.2 Studiul erorilor sau propagarea erorilor


Fie a 2 R valoarea exactă sau ideală a unei mărimi. În practică în locul valorii exacte "a"
se lucrează cu valoarea aproximativă a~ 2 R. Considerând în locul lui "a" pe "~a" se
comite o eroare care trebuie măsurată. Vom nota ¢(~a) = ja ¡ a~j i se folose te
denumirea de eroare absolută.
Exemplu. Să se determine a cu două zecimale exacte. Acest lucru este posibil dacă
se cunoa te valoarea practică a~ i eroarea absolută ¢(~a) · 10¡2.
Valoarea
±(~a) = ja ¡ a~j = ¢(~a) ja~j
ja~j
se nume te eroare relativă dacă a~ 6= 0: Se poate întâmpla ca în alte lucrări eroarea
¢(~a)
relativă să fie definită prin formula ±(~a) = pentru a 6= 0:
a

¹ j j ¹
Numărul ¢(~a) se nume te o limită pentru eroarea absolută dacă ¢(~a) ¸ ¢(~a):
¹ ¹
Numărul ±(~a) se nume te o limită pentru eroarea relativă dacă ±(~a) ¸ ±(~a):

¹ ¹
¹ ¢(~a)

±(~a) := ja~j este o delimitare


Dacă ¢(~a) este o limită pentru eroarea absolută, atunci
pentru eroarea relativă.

2.3 Propagarea erorilor la cele patru operaţii aritmet-


ice
~ ~
Fie a; b 2 R două valori exacte,a;~ b 2 R valorile aproximative, iar ¢(~a); ¢(b) erorile
absolute respective.
]
Ne interesează ¢(a + b); adică o evaluare pentru eroarea absolută care se comite la
adunare. Avem:
] ] ~ ~ ~
¢(a + b) = j(a + b) ¡ (a + b)j = j(a + b) ¡ (~a + b)j · ja ¡ a~j + jb ¡ bj = ¢(~a) + ¢(b):
Analog i la
scădere:
] ] ~ ~ ~
¢(a ¡ b) = j(a ¡ b) ¡ (a ¡ b)j = j(a ¡ b) ¡ (~a ¡ b)j · ja ¡ a~j + jb ¡ bj = ¢(~a) + ¢(b):
La înmulţire se obţine pe rând:
¢(ag¢b) = ja b ¡ a be j = j a b ¡ a~ ¢~b j = j(a b ¡ a b~~ ) + ( ~ a b ¡ a~ ~b~ )j · ~
¢ (~ a ) b + ¢ ( ~b ) a~ ¢ ( ~ a) ¢ ( b ) + ¢ (~ a ) b + ¢ ( b) a~ ;
· ¢jj ¢jj· ¢ ¢jj ¢jj
2.4. Formula generală a propagării erorilor sau eroarea introdusă de o funcţie 15

~ ~ ~ ~
căci jbj = jb ¡ b + bj · ¢(b) + jbj:
~ ~ ~
Cum valoarea ¢(~a) ¢¢(b) este mică în comparaţie cu partea ¢(~
a) ¢jbj+¢(b) ¢ja~j; adică
~ ~ ~
¢(~a) ¢ ¢(b) ¿ ¢(~a) ¢jbj + ¢(b) ¢ja~j (mult mai mică), de aceea la înmulţire se reţine
numai

p a rte La a: îm p ă r ¢ţir(aeg¢ b) ·s e¢ (¹o b ţinaeg¢ b) p e¼ ¢ (~râ n da)¢ ~ ~


: j b j + ¢ (b) ¢ ja~j:
¯ ¯ ¯ ¯ ~ ~ ~ ~
¢(a=b) = a

a
b =
a

a~
~ b =
ja ¢ b ¡ a~ ¢ bj ja ¢ b ¡ a~ b + a~ b ¡ ab~j
b ~b = b ~b ·

f ¯ ³g´¯ ¯ ¯
j¢j jj¢jj
¯¢
(~a) ~b +¯ ¢ (¯~b) a~ ¯
· ¯ ¢jj¯ ~¯ ¢ j j¯

jbj ¢ jbj
~ ~ ~ ~ ~
i cum jbj = jb ¡ b ¡ bj · ¢(b) + jbj rezultă că jbj ¸ jbj ¡ ¢(b) > 0; adică
~ ~
¢
(a=b) ¢(~a) ¢ jbj + ¢(b) ¢ ja~j:

j~bj ¢ (j~bj ¡ ¢(~b)) f·


În cazul erorilor relative se pot deduce formule asemănătoare.

24Formula generală a propagării erorilor sau eroarea


introdusă de o funcţie
Dacă operaţiile aritmetice le concepem sub formă de funcţii (ca operaţii interne), avem de
exemplu: f = f(x) = f((x1; x2)) = x1 + x2: O generalizare naturală este următoarea: se consideră

funcţia f = f(x) = f(x1; x2; : : : ; xn) i fie punctul x0 = (x01; x02; : : : ; x0n): Să se calculeze f(x0) unde

x0 este o valoare ideală i x~ = (~x1; x~2; : : : ; x~n) este o aproximare


0 ] 0

pentru punctul x : Se poate calcula f(~x) i valoarea ¢(f(x0)) = jf(~x) ¡ f(x )j va fi eroarea
comisă.
Dar f(~x) ¡f(x0) = df(») ¢(~x ¡x0) din formula de medie a lui Lagrange, cu » o valoare
intermediară pe segmentul determinat de capetele x0 i x:~ Din reprezentarea
diferenţialei lui Fréchet cu ajutorul derivatelor parţiale se obţine că:
n
f(~x) ¡ f(x0) = Xi=1 @ x@ fi (») ¢ (~xi ¡ xi0) adică
0 n ¯ @f ¯ 0
jf(~x) ¡ f(x )j · (») ¢ jx~ ¡ x j:
X¯ ¯
i=1 @x i i i

¯ ¯

¯ ¯
16 2. Erori

Deoarece aproximarea se face în jurul valorii x0, se poate presupune că pentru un


sunt mărginite, adică pentrui = 1;
domeniu D0 în jurul valorii x0; derivatele parţiale @f n

a v e m s u½p ¯@ x@ if (x)¯ = x 2 D0 @xi

¾ = Mi: Astfel ¢(f](x0)) · i=1n Mi¢(xi0): Dacă se precizează


¯ ¯ X 0

de la bun început eroarea permisă e f(~x)


", atunci se urmăre te ca să obţinem f(x ) ":
¯ ¯ " j ¡ j·
¯ ¯

Prin alegerea: ¢(xe0i) = jx~i ¡ x0ij · n ¢ Mi se realizează abaterea cerută, adică x~i
trebuie luat destul de aproape de x0i:
Pentru interpretare avem următoarea figură geometrică:

( f (x0))
~

f (x)
f (x0) x2

~~ ~
x(x1, x2 )
x1
x0 (x10 , x20 )

Figura 2.1:

De exemplu: dacă se dă funcţia f : R2 ! R; f(x; y) = x2 +2y2; se cere ca să se evalueze


eroarea care se comite dacă punctul (0; 0) se înlocuie te cu punctul (0; 05; ¡ 0; 025): Se
alege dreptunghiul D0 = f(x; y) 2 R2= jxj · 0; 05; jyj · 0; 025g. Se calculează:
M1 = sup ½¯@f@x (x; y)¯ = (x; y) 2 D0 ¾
= supfj2xj = jxj · 0; 05; jyj · 0; 025g = 0; 1 i
¯ ¯
¯ ¯
@
f
=
M2 = sup ¯ (x; y)¯ = (x; y) D0 sup 4y = x 0; 5; y 0; 025 = 0; 1
½ ¯@

x ¯ 2 ¾ fj j j j · jj· g
¯ ¯
¯¯

^
¯ ¯
Astfel ¢(f((0; 0))) · M1 ¢ 0; 05 + M2 ¢ 0; 025 = 0; 1 ¢ 0; 05 + 0; 1 ¢ 0; 025 = 0; 0075:
Capitolul 3

Folosirea sumelor i a seriilor numerice în


aproximări

X1
Fie an o serie numerică convergentă, având suma seriei S = a1 + a2 + : : : + an + : : : . Se
n=1 1
n

notează cu Sn = Xi=1 ai irul sumelor parţiale i Rn = i=Xn+1 ai irul resturilor seriei pentru
fiecare n 6= 0 număr natural. Cum seria este convergentă avem: lim Sn = S: În locul
n!1
sumei S se consideră suma parţială Sn(S ¼ Sn) i astfel se comite o eroare. Valoarea
erorii absolute este jS ¡ Snj = jRnj: Cum seria este covergentă avem lim Rn = 0; deci
n!1

pentru orice " > 0 precizie dinainte dată, rezultă faptul că jRnj < "; pentru n ¸ n("); n(")
fiind pragul corespunzător valorii lui ":

3.1 Serii alternate

Seria S := a1 ¡ a2 + a3 ¡ a4 + : : : (¡1)n+1an + : : : ; unde ai ¸ 0 pentru orice i 2 N¤ se nume


te alternată.
Avem: jRn j = j(¡1)n+2an+1 + (¡1)n+3an+2 + : : : j i se urmăre te să obţinem o deli-mitare
pentru rest. Dacă n = 2m + 1; atunci

jRnj = j ¡ a2m+2 + a2m+3 ¡ a2m+4 + a2m+5 + : : : j = = ja2m+2


¡ a2m+3 + a2m+4 ¡ a2m+5 + : : : j
17
18 3. Folosirea sumelor i a seriilor numerice în aproximări

Dacă n = 2m, atunci

jRnj = ja2m+1 ¡ a2m+2 + a2m+3 ¡ a2m+4 + : : : j:

Dacă se impune condiţia suplimentară ca irul faigi2N¤ este monoton descrescător după un anumit

rang, atunci în primul caz se obţine că jRnj = a2m+2 ¡a2m+3 +a2m+4 ¡a2m+5 +: : : ;

căci a2m+2 ¸ a2m+3; a2m+4 ¸ a2m+5; : : : ; deci

jRnj = a2m+2 ¡ a2m+3 + a2m+4 ¡ a2m+5 + : : : · a2m+2

deoarece a2m+3 ¸ a2m+4; a2m+5 ¸ a2m+6; : : : :


Procedând analog, în al doilea caz se obţine că

jRnj = a2m+1 ¡ a2m+2 + a2m+3 ¡ a2m+4 + : : : · a2m+1:


Deci dac
Rn 8a2m+2 ă n = 2m + 1 echivalent cuRn an+1: Deoarece lim an+1 =
dac
j j · >a2m+1 ă n = 2m j j· n!1
<
>

:
0; pentru condiţia de oprire se poate impune cerinţa ca pentru orice " > 0 precizie
dinainte dată să avem jRnj · an+1 · ":

Exemplu. Să se calculeze ln 2 cu două zecimale exacte, folosind seria alternată ln 2 = 1 ¡ 12

+ 13 ¡ 14 + : : : : Din jRnj · an+1 = n +1 1 · 10¡2 rezultă că n ¸ 99: Prin urmare se

calculează suma S99 = 1 ¡ 12 + 13 ¡ 14 + : : : + 991:


Observaţie. Practica arată că pentru a obţine valoarea lui ln 2 cu două zecimale
exacte nu este necesar să adunăm 99 de termeni ai seriei.

Program serie alternată 1

Fie S := 0; n := 99; semn: = ¡1;


Pentru i = 1; 99 execută semn: = semn ¤(¡1); S := S + semn=i;
Tipăre te S:
Un alt program pentru calculul lui ln 2 cu o precizie " se poate da în felul următor:

Program serie alternată 2


Fie S0 := 0; i := 0; semn:= ¡1; " := 10¡2;
Execută S := S0; i := i + 1; semn:= semn ¤(¡1) S0 := S + semn=i;
până când jS0 ¡ Sj ¸ ":
Tipăre te S:
3.2. Serii cu termeni pozitivi 19

3.2 Serii cu termeni pozitivi


X
Fie S = an o serie convergentă, S fiind suma seriei. Dacă an ¸ 0, pentru orice n ¸ 1;
n¸1
spunem că se dă o serie cu termeni pozitivi. Presupunem că termenii seriei verifică criteriul

raportului (Criteriul lui d’Alembert) după un anumit rang încolo, adică an+1 · q; unde an
q < 1 pentru n ¸ M; M 2 N fiind rangul corespunzător. Prin urmare aM+1 · q ¢ aM ; aM+2 · q

¢ aM+1 · q2 ¢ aM i a a mai departe, se obţine:

M¡1 M¡1

Xi¸1 ai · Xi=1 ai + aM + q ¢ aM + q2aM + : : : = Xi=1 ai + aM (1 + q + q2 + : : : ) =


M¡1 n M¡1

11¡¡q

= Xi=1 ai + aM ¢ nlim!1 q = Xi=1 ai + aM ¢ 1 ¡1 q :

Atunci se impune condiţia caRM = aM ¢ 1 ¡1 q · " unde " este precizia dinainte fixată.

Exemplu. Să se calculeze suma seriei Xn¸1 n2¢ 3n cu două zecimale exacte.


an+1 2
2 n+1n 2 2
n+1
(n+1)3

În acest caz an = = 3 ¢ n + 1 < 3 < 1; deci q = 3:


n
2
n

Se obţine că n¢3

2M 1 2M

RM · M ¢ 3M ¢ 1 ¡ 32 = M ¢ 3M¡1 < ":


De aici se poate găsi o condiţie teoretică pentru rangul M; care ne asigură teoretic faptul
că, dacă se face însumarea până la indicele M se obţine precizia dorită.

Program serie cu termeni pozitivi

Fie S := 23; x := 23; n := 0; " := 10¡2;


Execută n := n + 1; x := x ¤ n +n 1 ¤ 23; S := S + x;
până când 3x > ":
Tipăre te S:
20 3. Folosirea sumelor i a seriilor numerice în aproximări

33Transformarea seriilor numerice slab convergente în


serii mai rapid convergente
X X
Se consideră două serii numerice an i bn:
n¸1 n¸1

Definiţia 3.3.1.Seria numericăXn¸1 an este mai rapid convergentă decât seria


Xn¸1 bn dacă
lim an = 0:
n!1 bn

Exemplu. SeriaXn¸1 n1® ; (® > 1) este mai rapid convergentă, decât seria
Xn¸1 n1¯ ;
(¯ > 1) dacă
lim an = lim n
¯ = lim n¯¡® = 0
n!1 bnn!1 n® n!1

deci ¯ ¡ ® < 0; adică ¯ < ®:


Observaţie. Se pot impune i alte condiţii suficiente pentru a compara rapiditatea
de convergenţă a două serii.

3.3.1 Transformarea lui Euler


Se consideră seria numerică convergentă S = a1 ¡ a2 + a3 ¡ a4 + : : : + (¡1)n+1an + : : : ; an 2
R; pentru orice n 2 N¤: Menţionăm că orice serie numerică convergentă se poate
considera sub forma Se construie te
anterioară. seria a1 ¡ a 2 ¡ a1 + a 3 ¡ a 2 ¡
S0 =
2 2 2
având termenul
a ¡a
4 3
+ : : : + ( 1)
a ¡a
n+1 n n¡1
+:::;
al n ¡lea ( 1)
n+1
a n ¡ an¡1
:

2 ¡ 2 ¡ ¢ 2
Într-adevăr S 0
Se arată că noua serie are aceea i sumă ca i seria iniţială. n Sn =
¡
a
(¡1)n+1 ¢ n ; unde Sn i Sn0 sunt sumele parţiale de ordinuln ale seriilor cu sumele S i
0
2 a 0; lim (S
0

S ) = 0:

. Din faptul că prima serie este convergentă rezultă că n ! deci n!1 n¡n

Prin urmare S = S0:


Mai trebuie arătat că a doua serie este mai rapid convergentă. Într-adevăr
(¡ 1 )n + 1 a n¡ 2a n ¡1 = 1 lim µ1 ¡ a n ¡ ¶ = 0;
nlim!1 ( 1 ) n + 1 a n 2 n !1 a n 1
¡
dacă are loc
an¡1 = 1
condiţia lim an¡1 = 1: Deci, dacă este satisfăcută condiţia lim
n!1 an n!1 an
pentru prima serie numerică, atunci prin transformarea lui Euler se obţine o serie mai
rapid convergentă.
3.3. Transformarea seriilor numerice slab convergente în serii mai rapid convergente 21

Exemplu. Se tie că ln 2 = 1 ¡ 12 + 13 ¡ 14 + : : : + (¡1)n+1 n1 + : : : : Dacă se aplică


transformarea lui Euler se obţine
1
2 ¡
1 1
1
3 ¡2
1 1
4 ¡3
1 n+1 n1 ¡ n¡11

ln 2 = 2 ¡ 2 + 2 ¡ 2 + : : : + (¡1) 2 +:::=
1 1 1 1 1
= 2
+ ¡
4 12
+
24
+ : : : + (¡1)
n
2n(n 1)
+:::

Program transformarea Euler

Fie S := 12; n := 1; semn:= ¡1; " := 10¡2;


1

Execută n := n + 1; semn: = semn¤(¡1); S := S + semn ¤ 2n(n ¡ 1)


1

până când 2n(n ¡ 1) ¸ "


Tipăre te S:

3.3.2 Transformarea lui Kummer


X X
Se dă seria convergentă an i se consideră o serie ajutătoare: u = un astfel încât
n¸1 n¸1
X

lim an = ¸ 2 R¤: Transformarea lui Kummer define te o nouă serie ¸¢u+ (an ¡¸¢un);
n!1 un P n ¸1
care are aceea i sumă ca i seria iniţială n¸1 an: Mai trebuie să arătăm că
li
¡ ¸ lim u = 0:
an ¡ ¸un = 1 n
m n!1

an n!1 an

este convergentă i suma seriei


Xn¸1 n12
Exemplu.2 Din analiză se cunoa te că seria este
egală cu ¼ . Să se mărească rapiditatea convergenţei acestei serii, folosind transformarea
6

lui Kummer. Se consideră seria ajutătoare Xn¸1 4n24¡ 1 = 2: În acest caz avem:
lim an = lim 4n2 ¡ 1 = 1 = ¸:
n!1 unn!1 4n2
Deci
2+ µ 1 ¡ 4 ¶=2+ ¡ 1 =2¡ 1
n 1 n
2
4n
2
1 n 1
2
n (4 n
2
1) n 1
2
n (4n
2 1):

X¸ X¸ X¸

¡ ¡ ¡
22 3. Folosirea sumelor i a seriilor numerice în aproximări

Program transformarea Kummer

Fie S := 0; n := 0; " := 10¡2;


1 Execută
n := n + 1; S := S + n2(4n2 ¡ 1);
1
Până când ¸ ";
n2(4n2 ¡ 1)
S := 2 ¡ S;
Tipăre te S:
Capitolul 4

Evaluarea funcţiilor

Evaluarea numerică a funcţiilor este una dintre problemele fundamentale ale calculului
numeric. Este important să se găsească formule i algoritmi corespunzători care să nu
conducă la rezultate inacceptabile prin acumularea aberantă a erorilor.

4.1 Evaluarea polinoamelor

Fie polinomul P (x) = anxn + an¡1xn¡1 + : : : + a1x + a0; an =6 0 i ai 2 R (sau C) pentru i =


0; n. Dacă se dă » 2 R (sau C) să se calculeze P (»): Pentru P (») avem următoarea
scriere:
P (») = (: : : ((an» + an¡1)» + an¡2)» + : : : + a1)» + a0:

Conform schemei lui Horner:

an an¡1 ::: a0

» an an ¢ » + an¡1 : : : P (»)

Program evaluarea polinoamelor

Date de intrare: ai pentru i = 0; n; »;


Fie valpol:= an;
Pentru i = 1; n execută: valpol: = valpol ¤ » + an¡i;
Tipăre te valpol.

23
4. Evaluarea
24 funcţiilor

4.2 Evaluarea funcţiilor analitice


Se consideră funcţia f : I ! R, unde I este un interval al axei reale i x0 2 I un punct
interior. Presupunem că f este derivabilă de o infinitate de ori în x0: Spunem că f este
analitică în x0 dacă

f0(x0) f00(x0) fn(x0)

f(x) = f(x0) + 1! (x ¡ x0) + 2! (x ¡ x0)2 + : : : + n! (x ¡ x0)n + : : :


pentru orice x 2 (x0 ¡ ®; x0 + ®) ½ I unde ® > 0 este dat.
Observaţie. În cazul funcţiilor reale noţiunea de analiticitate i noţiunea de o infini-tate
de ori derivabilă nu sunt echivalente. Putem considera următorul contraexemplu:

f : R R; f(x) = 8e¡1=x x > 0


! >0 <
x 0
> ·

:ori pe R, dar nu este analitică înx0 = 0:


Această funcţie este derivabilă de o infinitate de
C1 clasa
Introducem următoarele notaţii: funcţiilor derivabile o dată i cu prima
derivată continuă, C2 clasa funcţiilor de două ori derivabile i cu a doua derivată continuă, i în
general Cn pentru n 2 N¤ clasa funcţiilor derivabile de n ori i cu a n-a derivată continuă, C1
clasa funcţiilor de o infinitate de ori derivabile i A mulţimea funcţiilor analitice. În cazul real
avem următorul ir de incluziuni stricte: C1 % C2 % : : : % Cn % Cn+1 % : : : % C1 % A: Însă în
cazul funcţiilor complexe, are loc următorul ir de egalităţi:
C1 = C2 = : : : = Cn = Cn+1 = : : : = C1 = A:

În cazul funcţiilor analitice dezvoltarea Tayloriană se descompune în polinomul lui Taylor


de ordinul n :
f0(x0) f00(x0) f(n)(x0)

Tn(x) = f(x0) + 1! (x ¡ x0) + (x ¡ x0)2 + : : : + n! (x ¡ x0)n;

2!
i în restul seriei Taylor de ordinul n :
f(n+1)(x0) f(n+2)(x0)

Rn(x) = (n + 1)! (x ¡ x0)n+1 + (n + 2)! (x ¡ x0)n+2 + : : :


Prin urmare avem reprezentarea funcţiei f(x) = Tn(x) + Rn(x). Restul seriei Taylor se
poate scrie în mai multe moduri, cel mai des fiind folosită forma Lagrange: Rn(x) =
f(n+1)(µ)

(n + 1)! (x ¡ x0)n+1; unde µ 2 (x0; x) sau µ 2 (x; x0):


4.3. Evaluarea funcţiilor date prin relaţii de recurenţă 25

Funcţiile elementare sunt funcţii analitice fiindcă în cazul lor restul seriei lui Taylor
tinde la zero.
Din analiză sunt cunoscute următoarele dezvoltări de tip Mac-Laurin pentru x0 = 0:
x x2 xn
ex = 1 + 1! + 2! + : : : + n! + : : :
3 5 2n+1
x x x

sin x = x ¡ 3! + 5! + : : : + (¡1)n (2n + 1)! + : : :


x2 x4 x2n
etc.
cos x = 1 ¡ 2! + 4! + : : : + (¡1)n (2n)! + : : :
"
"» pentru » 2 R fixat cu o precizie
Exemplu. Să se calculeze valoarea lui µn+1 :
Pentru
În cazul funcţiei exponenţiale restul lui Lagrange este de forma e» : a
(n +
1)!
obţine condiţiile de oprire procedăm în felul următor:

(0;
»>0 µ »); e» ¢ »n+1 <"
atunc , adică să
- dacă , i 2 deci vom impune ca (n + 1)! fie
satisfăcută condiţia 3[»]+1 ¢ »n+1 < ";
(n + 1)!
»<
0 µ (»; 0) j»jn+1 < ":

- dacă , atunci 2 , deci vom impune condiţia teoretică


(n + 1)!
Program funcţii analitice

Fie S := 1; x = »; n = 1; "; y := »;
Execută
dacă » < 0; atunci S := S + x; n := n + 1; x := » x;
n
altfel S := S + x; n := n + 1; x := » x; y := » y;
n n

dacă n · [»] + 1; atunci y := 3n»y;

altfel y := n»y;
Până când jyj ¸ ":
Tipăre te S:
4.3 Evaluarea funcţiilor date prin relaţii de recurenţă
Există o serie de funcţii speciale, care sunt definite prin relaţii de recurenţă, cum ar fi de
exemplu polinoamele ortogonale, care satisfac următoarea relaţie de recurenţă:

aiPi+1(x) + (bi + cix)Pi(x) + diPi¡1(x) = 0; i ¸ 1;


2
6 4. Evaluarea funcţiilor

unde numerele ai; bi; ci; di 2 R i polinoamele P0(x) i P1(x) sunt date.
Mai târziu (vezi paragraful 8.2.3) sunt tratate polinoamele lui Cebâ ev date prin for-
mula: Tn(x) = cos(n arccos x); x 2 [¡1; 1]: Aceste polinoame verifică relaţia de recurenţă

Ti+1(x) ¡ 2xTi(x) + Ti¡1(x) = 0; i ¸ 1; T0(x) = 1; T1(x) = x:

Pentru un » 2 [¡1; 1] i n 2 N¤ dat să se calculeze Tn(»):

Program relaţii de recurenţă

Fie k := 1; n; »; x := 1; y := »;
Execută z := 2 ¤ » ¤ y ¡ x; x := y; y := z; k := k + 1;
Până când k 6= n:
Tipăre te z:

4.4 Evaluarea funcţiilor cu ajutorul fracţiilor continue

O expresie de forma a0 + b1 b se nume te fracţie continuă i se folose te notaţia a1 + 2


a2+:::

[a0; b1; a1; b2; a2; : : : ]. În general elementele ai; bi ale fracţiei continue pot fi numere reale sau
complexe sau funcţii de una sau mai multe variabile. Orice număr real se poate
reprezenta sub forma unei fracţii continue, elementele fracţiei continue fiind numere
în-

tregi. De exemplu:p2 = 1 + x1; de unde x = p21¡ 1 = p2 + 1; deci p2 = 1 + p21+ 1:


Însă p2 + 1 = 2 + 1; de unde y = p 1 = p2 + 1, deci p2 = 1 + 1 1 ; care se
y 2¡1 2+ p
2+1

continuă în mod analog, deci p2 = [1; 1; 2; 1; 2; : : : ]:


Dacă fracţia continuă are un număr finit de termeni, ea se identifică cu fracţia
obţinută prin reduceri succesive la numitor comun. De exemplu
2 2 8 21
1+ = 1 + 13 = 1 + 13 = 13 = [1; 2; 3; 1; 4]:
3 +1
4 4
; : : : se numesc convergenţii
Expresiile R0 = a0; R1 = a0 + b1 ; R2 = a0 + b1 fracţiei
a1 a1 + b2
continue. a2

Dacă irul convergenţilor este convergent i lim Rn = A; A 2 R; atunci prin definiţie


n!1
numărul real A este valoarea atribuită la fracţia continuă. Dacă irul convergenţilor este
divergent, atunci fracţia continuă este divergentă.
4.4. Evaluarea funcţiilor cu ajutorul fracţiilor continue 27

Teorema 4.4.1. (Legea formării convergenţilor) Fie P0 = a0; P¡1 = 1; Q0 = 1; Q¡1 = 0: Se


formează irurile de numere Pi i Qi pentru i ¸ 1 date prin relaţiile de recurenţă Pi = aiPi¡1 +
biPi¡2 i Qi = aiQi¡1 + biQi¡2: Atunci Pi i Qi pentru i ¸ 0 vor fi numărătorii respectiv numitorii
convergenţilor Ri:

Demonstraţie. Se face prin inducţie matematică. Se verifică direct că

a0 = a0 i
R0 = P0 =
Q0 1
R1 = P1 = a1P0 + b1P1 = a1 ¢ a0 + b1 ¢ 1 = a0 + b1 :
Q
1 a1Q0 + b1Q1 a1 ¢ 1 + b1 ¢ 0 a1
Presupunem că Ri = Pi i va trebui să demonstrăm că Ri+1 = Pi+1 . Avem
Q
i Qi+1
Ri = Pi = ai ¢ Pi¡1 + bi ¢ Pi¡2 :
Qi ai ¢ Qi¡1 + bi ¢ Qi¡2
Deoarece Ri+1 se obţine din Ri; dacă expresia lui ai se înlocuie te prin ai + bi+1 ; rezultă
a
i+1

³ai + abii+1+1 ´ Pi¡1 + biPi¡2 = ai+1(aiPi¡1 + biPi¡2) + bi+1Pi¡1 =


Ri+1 =
bi+1
³a + ´ ai+1(aiQi¡1 + biQi¡2) + bi+1Qi¡1
i ai+1 Qi¡1 + biQi¡2
= ai+1Pi + bi+1Pi¡1 = Pi+1 :
a Q+b Q Q
i+1 i i+1 i¡1 i+1
Exemplu. Se consideră dezvoltarea funcţiei tangentă în fracţie continuă:

tgx = [0; x; 1; ¡x2; 3; ¡x2; 5; : : : ; ¡x2; 2n ¡ 1; : : : ]

Să se determine valoarea tg» pentru » 2 ³¡¼2 ; ¼2 ´ dat.

Program fracţii continue

Fie k := 1; »; "; R := »; A := »; B := 0; D := 1; E := 1;
Execută R0 := R; C := B; B := A; F := E; E := D; k = k + 1;
A := (2k ¡ 1)B + (¡»2)C; D := (2k ¡ 1)E + (¡»2)F ;
R := DA ;
Până când jR ¡ R0j ¸ ":
Tipăre te R:
28 4. Evaluarea funcţiilor
Capitolul 5

Ecuaţii neliniare

În acest capitol se tratează ecuaţiile neliniare algebrice i transcendente cu o singură


necunoscută.
Exemple.

1. sin 2x ¡ arctgx + 0; 3 = 0; x 2 R sau

2. x5 ¡ 4x2 + 0; 3x2 + ¼x ¡ e = 0; x 2 R:

Se observă că aceste ecuaţii nu se pot rezolva cu mâna folosind formulele de


trigonometrie sau de algebră. Prima dată se discută rezolvarea ecuaţiilor polinomiale
care au o structură aparte.

5.1 Metoda lui Bairstow


Fie ecuaţia polinomială Pn(x) = anxn + an¡1xn¡1 + : : : + a1x + a0 = 0; ai 2 R; i = 0; n cu an
=6 0: Cu această metodă se determină cu aproximaţie divizorii polinomiali de gradul doi
ai polinomului dat. Dacă pe polinoamele de gradul doi astfel obţinuţi egalăm cu zero
atunci se obţin rădăcinile polinomului iniţial. Dacă n = 2m atunci avem m bucăţi de
polinoame de gradul doi, care au fiecare sau două rădăcini reale sau două rădăcini
complex conjugate, respectiv dacă n = 2m + 1 pe lângă m bucăţi de polinoame de
gradul doi mai obţinem i un polinom de gradul unu.
Fie m1(x) = x2 + p1x + q1; unde se poate alege p1 = an¡1 i q1 = an¡2 : Atunci
a a
n n
Pn(x) = m1(x)Q1(x) + A1x + B1: Mai departe scriem pe Q1(x) = m1(x)Q2(x) + a¤1x + b¤1:

29
5. Ecuaţii
30 neliniare

Se rezolvă sistemul 8(b1¤ ¡ a1¤p1)p1¤ + a1¤q1¤ = A1

> a¤q1p¤ + b¤q¤ = B1


<

1 1 11

¤
pentru necunoscutele p1 i q1¤:>¡

:
Se face corecţia p2 = p1 + p¤1 i q2 = q1 + q1¤:
În locul polinomului de gradul doi m1(x) considerăm polinomul de gradul doi m2(x) =
x2 + p2x + q2; care are coeficienţii mai preci i. Ace ti pa i se repetă până când coeficienţii
polinomului de gradul doi nu ating precizia dorită, după care factorul de gradul doi mk(x)
astfel obţinut se anulează i se rezolvă.

Vom obţine un nou polinom Pn¡2(x) = Pn(x) , pentru care iară i aplicăm procedeul mk(x)

de mai sus, considerând în locul lui Pn(x) pe Pn¡2(x):

Program metoda Bairstow

Datele de intrare "; n (gradul polinomului); Q[n]-vector

Q[0] = an; Q[1] = an¡1; : : : ; Q[n] = a0:

(se verifică Q[0] 6= 0).


Repetă P := Q;
(Calculează polinomul M[2])

M[0] := 1;
M[1] := P [1]; (5.1)
P [0]

M[2] := PP [2][0];

Repetă
Aplică subrutina împărţire (P; M; Q1; R1)

Aplică subrutina împărţire (Q1; M; Q2; R2)

Calculează pe p¤1 i q1¤ (Direct cu subrutina de calcul al sistemului liniar de


două ecuaţii i cu două necunoscute)
M[1] := M[1] + p¤1; M[2] := M[2] + q1¤:

Până când jp¤1j + jq1¤j ¸ "


Rezolvă ecuaţia M = 0 (de gradul doi) x[n] := i x[n ¡ 1] := :
5.2. Separarea rădăcinilor reale în cazul ecuaţiilor neliniare reale 31

(subrutină de rezolvare a ecuaţiei de gradul doi)


Aplică subrutina de împărţire (P; M; Q; R);

n := n ¡ 2;
Până când n ¸ 3
Rezolvă Q = 0 (Dacă n = 2 x[2] := x[1] := )
(Dacă n = 1 x[1] := )
Tipăre te x (x[i] pentru i = 1; n)

5.2 Separarea rădăcinilor reale în cazul ecuaţiilor


neliniare reale
Se consideră ecuaţia sub forma generală f(x) = 0 unde f : D ! R; D µ R; D =6 ; i trebuie
găsită soluţia x¤ 2 D:
Prima dată se efectuează separarea rădăcinilor, adică a găsi intervale în domeniul de
definiţie D; astfel încât fiecare interval să conţină o singură rădăcină a ecuaţiei.

Prima metodă de acest gen este irul lui Rolle. Presupunem că f 2 C1(D); adică este o
funcţie derivabilă pe D i cu derivata întâia continuă. În acest caz se rezolvă ecuaţia f0(x)
= 0; x 2 D. Dacă x1; x2; : : : ; xn sunt rădăcinile ecuaţiei derivate, atunci se formează irul
lui Rolle cu valorile f(x1); f(x2); : : : ; f(xn): Orice schimbare de semn la doi termeni
consecutivi f(xi); f(xi+1) garantează existenţa unei singure rădăcini în intervalul (xi; xi+1);
conform teoremei lui Rolle.
Exemplu. Să se găsească intervalele de separare ale rădăcinilor ecuaţiei: 2x3 ¡ 9x2 +
12x ¡ 4; 5 = 0: Se consideră funcţia polinomială f : R ! R; f(x) = 2x3 ¡ 9x2 + 12x ¡ 4; 5 i ecuaţia
neliniară, algebrică corespunzătoare f(x) = 0; x 2 R: Se ata ează ecuaţia f0(x) = 0, adică x2 ¡
3x + 2 = 0 cu rădăcinile x1 = 1; x2 = 2: Se întocme te următorul

tabel folosind irul lui Rolle:


¡1 1 2 +1
x
f(x) f(¡1) = ¡1 f(1) = 0; 5 f(2) = ¡0; 5 f(+1) = +1

Se observă că ecuaţia f(x) = 0 admite trei rădăcini reale în intervalele (¡1; 1); (1; 2); (2;
+1). Deoarece f(0) = ¡4; 5 < 0 i f(3) = 4; 5 > 0 se poate afirma că cele trei rădăcini reale
ale ecuaţiei polinomiale se află în intervalele (0; 1); (1; 2); (2; 3):
32 5. Ecuaţii neliniare

Ca a două metodă se poate folosi polinomul de interpolare al lui Lagrange sau al lui
Newton. Dacă în domeniul de definiţie al funcţiei f : D ! R; D µ R se aleg punctele x1 < x2

< : : : < xn atunci se construie te polinomul de interpolare care trece prin punctele (x1;

f(x1)); (x2; f(x2)); : : : ; (xn; f(xn)): Rădăcinile acestui polinom (vezi metoda lui Bairstow,
paragraful 5.1) pot fi considerate ca aproximări pentru rădăcinile ecuaţiei f(x) = 0: În
capitolul interpolări se dă efectiv construcţia polinomului de interpolare (vezi paragrafele
8.2.2 i 8.2.6).

53Metoda bisecţiei sau metoda înjumătăţirii interval-ului

Fie funcţia f : [a; b] ! R de clasă C([a; b]) (continuă pe intervalul [a; b]) care admite o singură
rădăcină x¤ în intervalul [a; b] (presupunem că, deja rădăcinile ecuaţiei f(x) = 0; x 2 D sunt
separate). Acest lucru se întâmplă dacă f(a) ¢ f(b) · 0: Metoda înjumătăţirii intervalului
constă în următoarea procedură: intervalul [a; b] se divide în două părţi egale

folosind mijlocul intervalului, punctul a + b: Rădăcina ecuaţiei, punctul x¤ se află într-


· ¸ · 2¸
unul din intervalele a; a +2 b sau a +2 b; b , după care procedeul se repetă pentru unul

din aceste subintervale în care se află rădăcina x¤:


y

a b
2
O a 3ab b x
4

Figura 5.1:

Se construiesc două iruri fa g ; fb g în felul următor: se alege a = a; b = b.


n n2N n n2N
µ
¶ µ
0

0

Avem una dintre următoarele situaţii: f(a) ¢ f a + b · 0 sau f a + b ¢ f(b) · 0;


2 2
corespunzător cărora se aleg a1 = a i b1 = a + b respectiv a1 = + b i b1 = b etc. La
a
2 2
pasul n găsim intervalul [an; bn] în care se află rădăcina i iară i aplicăm bisecţia acestui
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 33
interval
. Dacă f(an) ¢ f µan +2 bn ¶ · 0, atunci an+1 = an i bn+1 = an +2 bn , iar dacă

f µan +2 bn ¶ ¢ f(bn) · 0, atunci an+1 = an +2 bn i bn+1 = bn:


Teorema 5.3.1. irul fan gn2N este monoton crescător i irul fbngn2N este monoton

descrescător, având aceea i limită, soluţia x¤ a ecuaţiei f(x) = 0:


Demonstraţie. Monotonia celor două două iruri rezultă din construcţia lor. Deoarece
x¤ este soluţia ecuaţiei f(x) = 0 avem an · x¤ · bn pentru orice n 2 N; deci rezultă i
mărginirea celor două iruri. Prin urmare irurile sunt convergente i trecând
b a =b¡a lim a = lim b = x¤:
Se observă că
la limită în relaţia n¡n 2
n se obţine că n!1 n n!1
n
de

fapt cele două iruri reprezintă un cle te pentru localizarea soluţiei x¤:

Program metoda bisecţiei

Fie a; b; f; " (precizia dorită)


Execută x := a + b;
2
dacă f(a) ¤ f(x) · 0, atunci b := x;
altfel a := x;
Până când b ¡ a ¸ ":
Tipăre te x = a + b:
2

5.4 Metode iterative pentru rezolvarea ecuaţiilor neliniare

La aceste metode prima dată ecuaţia f(x) = 0; x 2 D se transformă sub o formă iterativă
'(x) = x; x 2 D 0, adică din funcţia f : D ! R se construie te o nouă funcţie iterativă ' : D0 ! R
astfel încât soluţia x¤ a ecuaţiei f(x) = 0 să fie soluţie pentru ecuaţia '(x) = x i invers: f(x¤)
= 0 dacă i numai dacă '(x¤) = x¤: Menţionăm că un punct x¤ 2 D0 pentru care '(x¤) = x¤ se
nume te punct fix pentru funcţia iterativă ':
Exemplu. Fie f : [1; 2] ! R; f(x) = x2 ¡2; care generează ecuaţia x2 ¡2 = 0: Asupra
acestei ecuaţii efectuăm următoarele transformări echivalente: x2 ¡ 2 = 0; x2 = 2; x = 2 ;
µ ¶ µ ¶x
2x = x+ x2; x = 12 x + x2 : Se alege funcţia iterativă ' : [1; 2] ! R; '(x) = 12 x + x2 :
34 5. Ecuaţii neliniare

Soluţia ecuaţiei x2 ¡ 2 = 0 este x¤ = p2 care se poate obţine cu ajutorul irului iterativ

fxkgk2N generat de xk+1 = '(xk) i x0 = 1:

5.4.1 Metoda tangentei sau metoda lui Newton

Se consideră funcţia f : [a; b] ! R de clasă C1([a; b]) i presupunem că în intervalul [a; b]

ecuaţia f(x) = 0 admite o singură rădăcină x¤ 2 [a; b]:

y M0(x0, f (x0))

M1(x1, f (x1))

O a x* x3 x2 x1 b x

Figura 5.2:

După figură se poate urmări construcţia irului iterativ fxk gk2N: Se alege ca punct de
plecare x0 = b i în punctul M0(x0; f(x0)) se duce o tangentă la graficul funcţiei f care taie axa
Ox în punctul x1; după care tangenta în punctul M1(x1; f(x1)) intersectează din nou axa Ox în
punctul x2 etc. irul fxkgk2N astfel construit converge către x¤. Folosind formalismul matematic
ecuaţia tangentei la graficul funcţiei f în punctul Mn(xn; f(xn)) este: y ¡ f(xn) = f0(xn)(x ¡ xn):
Intersecţia tangentei cu axa Ox ne dă punctul de
coordonate (xn+1; 0) adică ¡f(xn) = f0(xn)(xn+1 ¡ xn) de unde xn+1 f(xn)
= xn ¡ :
f0(xn)
f(x)
presupunând
Astfel se obţine funcţia iterativă ' : [a; b] ! R; '(x) = x ¡ f0(x) că
0
f (x) 6= 0 pentru orice x 2 [a; b]: Această funcţie iterativă generează irul iterativ fxngn2N
dat de xn+1 = '(xn):
Pentru a justifica existenţa irului iterativ precum i convergenţa lui către x¤ dăm mai
jos un rezultat teoretic al lui A.M. Ostrowski.
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 35
2 [a; b]: Presupunem că următoarele
Teorema 5.4.1. Fie f 2 C2([a; b]) i x0 condiţii
sunt
îndeplinite:
f0(x0) 6=
1. 0;
f(x0)

2. intervalul I0 = [x0; x0 + 2h0], unde h0 = ¡f0(x0); este inclus în [a; b];


und
3. 2 h M f0(x ) ; e M = max f00(x) : j

j j xI

0 ·j 0 j 0
j

Atunci ecuaţia f(x) = 0 are o soluţie unică x¤ 2 I0 iar irul fxkgk2N dat de metoda lui Newton

este bine definit i converge la x¤: Eroarea aproximaţiei este dată de

jx¤ ¡ xkj · 2M (xk ¡ xk¡1)2: jf0(xk¡1)j


Demonstraţie. Aplicăm formula cre terilor finite funcţiei f0 în punctele x0; x1 : jf0(x1)
¡ f0(x0)j = jx1 ¡ x0j ¢ jf00(»)j unde » 2 (x0; x1). Ţinând seama de condiţia 3)
jf0(x1)¡f0(x0)j · jx1¡x0j¢M = ¯x0 ¡ ff0((xx00)) ¡ x0¯¢M = ¯¡ff0((xx00))¯¢M = jh0j¢M · jf0(2x0)j
¯ ¯ ¯ ¯
¯ ¯ ¯ ¯

deci folosind inegalitatea

triunghiului¯ avem:¯ ¯ ¯
f0(x ) f0(x )

20
jf0(x1)j ¸ jf0(x0)j ¡ jf0(x1) ¡ f0(x0)j ¸ jf0(x0)j ¡ j 2 0 j = j j:
Se demonstrează că, condiţiile teoremei lui Ostrowski vor fi adevărate i dacă în locul
0
punctului x0 considerăm punctulf (xx) 1: jf (x0)j 0 0
f (x ) = 0; x
Din condiţia 1) i din j 1j¸ 2
rezultă că i 1 6 deci 2 este bine

definit. Vom calcula în două moduri diferite integralaI = Zx0x1 (x1 ¡ x)f00(x)dx. Mai întâi
integrând prin părţi obţinem:

I = (x1 ¡ x)f0(x)¯xx01 ¡ x0x1 (¡1)f0(x)dx = ¡(x1 ¡ x0)f0(x0) + x0


x1 f0(x)dx =
¯
¯ Z x1 Z
f(x ) f(x )
0
= x0
0
¯ x0 f0(x0) + f(x) = f0(x0) + f(x1) f(x0) = f(x1):

¡µ ¡ f0(x0) ¡ ¶ ¯x0 f0(x0) ¡


¯
¯
x =¯x0 + h0t; avem
Apoi efectuând schimbarea de variabilă

I = Zx0 (x1 ¡ x)f (x)dx = Z0 (x1 ¡ x0 ¡ h0t)f (x0 + h0t)h0dt =


x1 00 1 00

Z
= 0
1(x
0 + h0 ¡ x0 ¡ h0t)f00(x0 + h0t)h0dt = h02 Z0 1(1 ¡ t)f00(x0 + h0t)dt:
5. Ecuaţii
36 neliniare

De aici rezultă

jIj = jf(x1)j = h02 ¯ 0 1(1 ¡ t)f00(x0 + h0t)dt¯ · h02 0


1 j1 ¡ tjjf00(x0 + h0t)jdt ·
1 ¯Z 1 ¯ Z
2 ¯ 2 ¯ 2 1
h0 1 ¯
t Mdt = h0M (1 ¯
t)dt = h0M ;

· Z0 j ¡ j Z0 ¡ 2
f(x ) h02M : f0(x ) = 0 h=
¡f(x1)

Deoarec exist
adică j 1 j· e 1 6 ă 1 i avem

2 f0(x1)
jh j =
¯¡ f ( x )¯
1

=
j f( x ) j
1

·
h
0 2 M

=
h 02
M

:
2
1
f (x )
0 1
f ( x )
0 1 jf
0 (2 x
0
)j
f (x )
0 0

¯ ¯ j j j j
¯ ¯

Prin urmare ¯ ¯
2fjh0(1xjM1) = 2M jh1j f0(1x1) · 2M ¢ fh0(02xM0) ¢ jf0(12x0)j = µ2fjh0(0xjM0) ¶2 :

j j j j j j j j
2jh1jM 12; 2hM f0(x )
1j ceea ce
De aici i din condiţia 3) rezultă că · adică j 1j ·j este
jf0(x1)j
condiţia 3) pentru punctul x1: Pentru a arăta condiţia 2) i în cazul punctului x1 folosim
h02M jh0j 2jh0jM jh0j
= ¢ ·
inegalitatea demonstrată: jh1j · jf0(x0)j 2
0
jf (x )j
0 2 deoarece conform condiţiei 3)
2jh0jM 1:
jf0(x0)j ·

Intervalul I1 = [x1; x1 + 2h1], analog prin construcţie cu I0; este inclus în I0:
Într-adevăr x1 = x0 +h0 este tocmai mijlocul intervalului I0 = [x0; x0 +2h0] i condiţia

jh1j · jh20j ne asigură că x1 + 2h1 2 I0:

Prin recurenţă, se obţine pentru orice k 2 N : f0(xk) =6 0; jhkj · 12jhk¡1j; 2jhkjM ·

jf0(xk)j; Ik ½ Ik¡1; unde hk = ¡ f(xk) i Ik = [xk; xk + 2hk]: De aici rezultă, în primul f0(xk)
rând, că irul fxkgk2N este definit.
Vom demonstra că acest ir iterativ este ir Cauchy sau fundamental. Pentru orice
" > 0 există k(") 2 N astfel încât 2jhkj · " deoarece jhkj · 21jhk¡1j · 212 jhk¡2j · : : : ·
21k jh0j ! 0: Pentru orice p 2 N; xk+p 2 Ik+p ½ Ik deci jxk+p ¡ xkj · 2jhkj · "; ceea ce
trebuia arătat.
vo ecuaţie
¤
Fie lim xk = x ; m demonstra că x¤ este tocmai soluţia i f(x) = 0:

k!1 = ¡f(xk)
Notăm
M = sup f0(x)
1 xI
j
j i din
h 0
rezultă
f(x ) =
k ¡
h f0(x ); deci j
f(x ) =
k j

³´
0 k f (xk) k k

2
jhkf0(xk)j · jhkjM1 ! 0: Prin urmare lim f(xk) = 0; adică f lim xk = f(x¤) = 0: Să
k!1 k!1
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 37

arătăm că x¤ este singura soluţie a ecuaţiei f(x) = 0 în I0: Pentru orice x 2 (x0; x0 + 2h0)

avem jx ¡ x0j < 2jh0j: Din teorema cre terilor finite i din condiţia 3) obţinem

jf0(x) ¡ f0(x0)j = jx ¡ x0j ¢ jf00(»)j · jx ¡ x0jM < 2jh0jM · jf0(x0)j;

adică f0(x) =6 0 pentru orice x 2 (x0; x0 + 2h0): Prin urmare f0(x) > 0 sau f0(x) < 0 pentru
orice x 2 (x0; x0 + 2h0), adică f este strict monotonă pe intervalul (x0; x0 + 2h0); deci x¤
este soluţie unică.
Mh2 k¡1
0
Eroarea aproximaţiei se obţine din inegalitatea jh j · f (x analoagă cu inegali-
k k 1)

Mh02 j ¡ j
tatea demonstrată jh1j · jf0(x0)j:

Ţinând seama că jxk+p ¡ xkj · 2jhkj precum i de faptul că hk¡1 = xk ¡ xk¡1, avem
2M

jxk+p ¡ xkj · jf0(xk¡1)j(xk ¡ xk¡1)2:

Trecând la limită pentru p ! 1, se obţine


2M

jx¤ ¡ xkj · jf0(xk¡1)j(xk ¡ xk¡1)2;


adică relaţia din enunţul
teoremei q.e.d.
În continuare, dacă se presupune în plus că există
M2 = xinfI0 jf0(x)j > 0; atunci se
2 2M
obţine următoarea condiţie de oprire la iterarea irului fxkgk2N :
jx¤ ¡ xkj · M2 (xk ¡

xk¡1)2 · " unde " este precizia dinainte dată. Prin urmare jxk ¡ xk¡1j · r2MM2 ":
Avantajul metodei tangentei este că e o metodă rapid convergentă. Pentru a studia
acest aspect matematic avem nevoie de
Definiţia 5.4.1. Spunem că irul iterativ fxkgk2N convergent către x¤; are ordinul de
convergenţă p 2 R, p ¸ 1 dacă
¤
lim ¢(xk+1) = lim jxk+1 ¡ x j = c;
k!1 ¢p(xk) k!1 jxk ¡ x¤jp

c 2 R fiind o constantă.
Menţionăm că nu orice ir convergent admite ordin de convergenţă. De exemplu irul
x x=
(¡1)k + 1 x¤ = 0; jxk+1 ¡ x¤j k
numă
f kgk2N, k ! dar nu are sens expresiajxk ¡ x¤jp pentru r
k
natural impar. Totodată, dacă există ordinul de convergenţă, atunci acesta este unic.
Dacă p = 1 atunci spunem că avem o convergenţă liniară, iar dacă p = 2 avem o
convergenţă pătratică. Cu cât p este mai mare, cu atât irul iterativ va fi mai rapid
convergent.
38 5. Ecuaţii neliniare

Teorema 5.4.2. irul iterativ obţinut prin metoda tangentei are ordinul de convergenţă
pătratică.

Demonstraţie. Conform formulei lui Taylor în punctul xn avem 0 = f(x¤) = f(xn)+


f0(xn) f00(»n) unde x¤ este soluţia ecuaţiei f(x) = 0 i »n 2 (xn; x¤)
1! (x¤ ¡ xn) + 2! (x¤ ¡ xn)2
sau »n 2 (x¤; xn): Împărţind egalitatea la f0(xn) se obţine
f(xn) f00(»n)

f0(xn) + (x¤ ¡ xn) = ¡f0(xn) ¢ 2(x¤ ¡ xn)2;


deci
1 f00(»n) ¤
x¤ ¡ xn+1 = ¡ (x ¡ xn)2:
2 f0(xn)
În această egalitate trecem la modul

x¤ x = 1 jf00(»n)j(x¤ x )2;
j ¡ n+1j 2 jf0(xn)j ¡n

adică ) = 1 jf00(»n)j ¢2(x ):


¢(x

Prin urmare
n+
1 2 jf0(xn)j ¢ n
¢(xn+1) = 1 jf00(» n)j:

¢2(xn) 2 jf0(xn)j

Trecând la limită pentru n ! 1 se obţine:


lim ¢(xn+1) = 1 jf00(x¤)j = c;
¤ ¤
n!1 ¢2(xn) 2 jf0(x¤)j
¤ ¤

x x » (x ; x ) » (x ; x ) lim » =x

q.e.d
deoarece n ! i n 2 n sau n 2 n rezultă că i n!1 n .
Folosind rezultatele din teorema precedentă se obţine i un alt criteriu de oprire. Dacă
M = sup jf00(x)j i M2 = xinf[a;b] jf0(x)j, M2 6= 0; atunci ¢(x ) 1 M n+1
·2 ¢M =C i
¢2(x )
x2[a;b] 2 n 2

C¢(xn+1) · [C¢(xn )]2: Prin intermediul acestei inegalităţi se obţine că C¢(xn+1) · [C¢(x0)]2n+1 :

Pentru a asigura ca xn+1 ! x¤ trebuie ca ¢(xn+1) ! 0 ceea ce putem asigura prin condiţia
suficientă jC¢(x0)j < 1: De aici se observă că ¢(x0) trebuie să fie suficient de mic, adică

punctul de plecare x0 să fie suficient de aproape de soluţia ideală x¤. Acest fapt constituie
un dezavantaj al acestei metode, fiind o metodă locală.
Un alt dezavantaj al metodei tangentei este că necesită calculul derivatei funcţiei f la fiecare
pas de iteraţie. Pentru calculul aproximativ al derivatei se pot folosi formulele de derivare
numerică (vezi paragraful 9.1). În unele cazuri ca să nu calculăm derivata funcţiei
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 39

f la fiecare pas al iteraţiei se folose te metoda tangentei simple, unde se calculează numai

f0(x0) i avem iteraţia xk+1 = xk ¡ f(xk) pentru orice k 2 N: Însă astfel se pierde f0(x0)
convergenţa pătratică.
Înainte de algoritmizarea metodei avem nevoie de alegerea punctului de pornire x0 2

fa; bg: Presupunem că f este de clasă C2([a; b]) i că f0 i f00 păstrează semnul pe tot
intervalul [a; b]; adică f este monotonă pe [a; b] i este fie convexă, fie concavă pe tot [a;

b]. În figura 5.2 am considerat cazul f0 > 0 i f00 > 0 când se alege x0 = b:

y y y

O x0= a b x O a b= x0 x O x0 a x

a) b) c)

Figura 5.3:

În fig. 5.3 a) f0 < 0 i f00 > 0 se alege x0 = a; în fig. 5.3 b) f0 < 0; f00 < 0 se alege x0 = b

iar în fig. 5.3 c) f0 > 0; f00 < 0 se alege x0 = a:

În final se observă că punctul de plecare x0 verifică următoarea condiţie f(x0)¢f00(x0)


> 0: Derivata a doua a funcţiei f în x0 se poate calcula aproximativ folosind formulele de
derivare numerică (vezi paragraful 9.1).
R
e
p
et
ă
Program metoda tangentei x
:=
y;
y
:=
Datele de intrare: a; b; f; "; '(
x)
Fie y = a; dacă f(y) ¤ f00(y) < 0 atunci y := '(
x)
µ =
x
¡ f(x)
f0(x)
Până când jy ¡ xj ¸ ":
Tipăre te y:

b
:

40 5. Ecuaţii neliniare

5.4.2 Metoda paralelelor


Ideea metodei constă în a construi o familie de drepte paralele ale căror intersecţii cu

axa Ox ne dau irul iterativ fxkgk2N care converge către rădăcina x¤ a ecuaţiei f(x) = 0.

O a x* x3 x2 x1 b x

Figura 5.4:

Punctul de plecare x0 2 fa; bg se alege identic ca la metoda tangentei, adică se alege


acel capăt al intervalului pentru care f(x0) ¢ f00(x0) > 0. Presupunem că am construit punctul
Mk(xk; f(xk)): Prin acest punct ducem o dreaptă paralelă care are panta ¸ >
f0(x0) în cazul figurii 5.4, i taie axa Ox în punctul xk+1. Ecuaţia dreptei este y ¡ f(xk) =

¸ = tg® (înclinaţia dreptei faţă de axa Ox). x ¡ xk


y=0 x=x ¡f(xk) = ¸ x =x 1 f(x ):
Punân
d i k+1 obţinem xk+1 ¡ xk , adică k+1 k¡
¸k

Funcţia iterativă ' : [a; b] ! R este dată de '(x) = x ¡ ¸1f(x): Metoda paralelelor are
avantajul faţă de metoda tangentei că nu necesită calculul derivatei, însă este o metodă
mult mai lent convergentă, având ordinea de convergenţă cel puţin liniară. Algoritmul
acestei metode este analog cu algoritmul metodei tangentei, numai funcţia iterativă este
schimbată.

Program metoda paralelelor

Datele de intrare a; b; f; "; ¸;


Fie y := a; dacă f(y) ¤ f00(y) < 0; atunci y := b;
µ ¶
Repetă x := y; y := '(x) '(x) = x ¡ ¸1f(x) ;
Până când jy ¡ xj ¸ ";
Tipăre te y:
5.4. Metode iterative pentru rezolvarea ecuaţiilor
neliniare 41

5.4.3 Metoda coardei


se fixează conform
La metoda coardei unul dintre capetele intervalului [a; b] condiţiei

f(x) ¢ f00(x) > 0:

y
A(a, f(a))

b=x0

O a x* x2 x1 x
M2
M1
M0

Figura 5.5:

În cazul figurii 5.5 avem x = a i ca punct de plecare pentru construcţia irului iterativ se
alege celălalt capăt x0 = b: Punctul A(a; f(a)) se une te printr-o coardă cu punctul M0(x0;
f(x0)) = M0(b; f(b)) care taie axa Ox în punctul x1: Mai departe punctul M1(x1; f(x1)) se
une te printr-o coardă tot cu punctul A(a; f(a)) care intersectează axa Ox în punctul x2
.a.m.d. Presupunem că s-a construit termenul xk i se scrie ecuaţia coardei care leagă
punctele A(a; f(a)) i Mk(xk; f(xk)) :

y ¡ f(a) = f(xk) ¡ f(a):


x¡a xk ¡ a

Pentru a obţine intersecţia cu axa Ox punem y = 0 i x = xk+1 : ¡f(a) = f(xk) ¡ f(a);


xk+1 ¡ a xk ¡ a
x = a f(a) xk ¡ a x = af(xk) ¡ xkf(a) x =x
de unde k+1 ¡ f(xk) ¡ f(a) sau k+1 f(xk) ¡ f(a) sau k+1 k¡

f(x )
x ¡a
k
: Prin urmare funcţia iterativă ' : [a; b] ! R este '(x) = af(x) ¡ xf(a):
k f(x )¡f(a) f(x) ¡ f(a)
k
Avantajul metodei faţă de metoda tangentei este că nu necesită calculul derivatei funcţiei
p = 1 + p5 < 2:
f; însă este mai lent convergentă având ordinul de convergenţă
2
Algoritmul acestei metode este analog cu cel al metodei tangentei, numai se
schimbă funcţia iterativă ':
42
Tipăre te y:
5. Ecuaţii neliniare
Program metoda coardei

Datele de intrare a; b; f; ";


Fie c := a; y := b;
Dacă f(c) ¤ f00(c) < 0 atunci c := b; y := a
³
Repetă x := y; y := '(x) '(x) = af(x)¡xf(a)
f(x)¡f(a) ´
Până când jy ¡ xj ¸ "; ;

5.4.4 Metoda secantei


Ideea metodei constă în următoarele: condiţiei se alege punctul de plecare x0 2 fa; bg
conform 5.6 avem x0 = b.
f(x0)f00(x0) > 0. În cazul fig.
y
M0
M
1

M2
M3
x*

O a
x3 x2 x1b=x0 x

Figura 5.6:

punctel
Punctul x1 se alege între x¤ i x0: Prin e M0(x0; f(x0)) = M0(b; f(b)) i
M1(x1; f(x1)) se duce o secantă care intersectează axa Ox în punctul x2: Prin punctele
M1 i M2(x2; f(x2)) se duce o nouă secantă care taie axa Ox în punctul x3; .a.m.d. Pre-
supunem că s-a obţinut punctul xk i prin punctele Mk¡1(xk¡1; f(xk¡1)) i Mk(xk; f(xk)) se duce
o secantă:
y ¡ f(xk) = f(xk) ¡ f(xk¡1)
x ¡ xk
xk ¡ xk¡1
care determină pe axa Ox (y = 0) punctul x = xk+1 :

¡f(xk) = f(xk) ¡ f(xk¡1);


xk+1 ¡ xk xk ¡ xk¡1
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 43

de unde
=
x x f(x ) xk ¡ xk¡1 x = f(xk)xk¡1 ¡ f(xk¡1)xk :
k+1 k¡ k f(xk) ¡ f(xk¡1) sau k+1 f(xk) ¡ f(xk¡1)
f(xk)
Această relaţie de recurenţă se poate obţine i din metoda tangentei xk+1 = xk ¡ f0(xk)
prin
aproximarea f0(x ) ¼ f(xk) ¡ f(xk¡1): Funcţia iterativă ' : [a; b]2 ! R este de
k xk ¡ xk¡1
'(x; y) =
f(x)y ¡ f(y)x x

forma f(x) ¡ f(y) care generează irul iterativ f kgk2N prin relaţia iterativă
xk+1 = '(xk; xk¡1):
Metoda secantei are avantajul faţă de metoda tangentei, că nu necesită calculul
derivatei funcţiei f; însă are dezavantajul, că are ordinul de convergenţăp = 1 + p5 < 2;
2
deci este mai lent convergentă.

Program metoda secantei

Datele de intrare: a; b; f; ";


Fie x := x0; z := x1; µ
Repetă y := x; x := z; z := '(x; y) ¶
Până când jz ¡ xj ¸ ";
'(x; y) = f(x)y
Tipăre te z: ¡ f(y)x
f(x)
¡ f(y)

5.4.5 Metoda lui Steensen

La această metodă plecăm de la relaţia de recurenţă a lui Newton xk+1 = xk¡ f(xk) : Ideea
f0(xk)
0 f(xk + f(xk)) ¡ f(xk)
lui Steffensen este de a înlocui f (x ) prin formula aproximativă ;
k
f(xk)
căci se poate presupune că jf(xk)j are valoare mică.
0
Dacă ¯k = f(xk) ¼ 0 atunci
f (x ) f(xk + ¯k) ¡ f(xk)
:
x
Metoda lui Steffensen generează irul iterativ f kgk2N,
k ¼ dat
¯k
prin relaţia
f(xk) f2(xk)
xk+1 = xk ¡ f(x +f(x ))¡f(x ) = xk ¡ :
k k k f(xk + f(xk)) f(xk)
f(xk) ¡
f2(x)

Funcţia recursivă ' : [a; b] ! R este '(x) = x ¡ f(x + f(x)) ¡ f (x): Avantajul acestei metode faţă
de cea a tangentei este că nu necesită calculul derivatei funcţiei f i păstrează
ordinul de convergenţă pătratică de la metoda lui Newton.
44 5. Ecuaţii neliniare

Teorema 5.4.3. Metoda lui Steensen are ordinul de convergenţă pătratică.

Demonstraţie. Fie ¯k = f(xk): Se dezvoltă f în serie Taylor în punctul xk :


¯2

f(xk + ¯k) = f(xk) + ¯kf0(xk) + 2k f00(xk) + o(¯k2)

unde o(¯k22) este restul seriei, care are ordinul strict mai mic decât
¯k2, mai precis înseamnă
o(¯ )
că lim k
= 0: Din dezvoltarea tayloriană se obţine
¯k!0 ¯k2

f(xk + ¯¯kk) ¡ f(xk) = f0(xk) ·1 + 21¯k ff000((xxkk))¸ + o(¯k):


Notând cu hk = ¡f(xk) vom avea
f0(xk)

f(xk + ¯¯kk) ¡ f(xk) = f0(xk) ·1 ¡ 21hkf00(xk)¸ + o(¯k):


f(xk)
Conform recurenţei lui Steffensen xk+1 = xk ¡ f(xk+¯k)¡f(xk) i înlocuind egalitatea obţi-
¯
k

nută anterior în această recurenţă se obţine


f(xk) f(xk) 1
xk+1 = xk ¡ f0(xk) £11¡ 21 hkf00(x¡k)1¤ + o(¯k) ¼ xk ¡ f0(xk) ¢ 1 ¡ 21 hkf00(xk) =

= xk + hk ·1 ¡ 2hkf00(xk)¸ :
În continuare considerăm dezvoltarea Mac-Laurin a funcţiei 1+1x pentru jxj < 1 :

(1 + x)¡1 = 1 ¡ 1!1x + 2!12x2 + : : : = 1 ¡ x + x2 ¡ x3 + : : :

Înlocuind aici x cu ¡x se obţine dezvoltarea funcţiei (1 ¡ x)¡1 în origine: (1 ¡ x)¡1 =

1 + x + x2 + x3 + : : : Înlocuind acum x = 12hkf00(xk) se poate continua dezvoltarea

xk+1 = xk + hk ·1 ¡ 12hkf00(xk)¸¡1 = xk + hk ·1 + 12hkf00(xk) + o(h2k)¸ ¼

¼ xk + hk + 12h2kf00(xk):
Scădem valoarea x¤ din ambele părţi ale egalităţii:

xk+1 ¡ x¤ = xk ¡ x¤ + hk + 12h2kf00(xk):
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 45

Introducem notaţia "k = xk ¡ x¤ i astfel egalitatea anterioară ia forma "k+1 = "k + hk +

12h2kf00(xk): În continuare funcţia f se dezvoltă în serie Taylor în punctul xk apropiat de


x¤; soluţia ecuaţiei f(x) = 0 :
f0(xk) f00(»k)

0 = f(x¤) = f(xk) + (x¤ ¡ xk) + 2! (x¤ ¡ xk)2


1!
unde »k 2 (x¤; xk) sau »k 2 (xk; x¤): Această dezvoltare se împarte la f0(xk) :
f(xk) ¤ x= 1 (x¤ ¡ xk)2 00
+x f (» );
0
f (xk) ¡k ¡2 f0(xk) k
1 "2 1 "2
adică ¡hk ¡ "k = ¡2 f0(xkk)f00(»k); de unde hk = ¡"k + 2 f0(xkk)f00(»k): Ultima relaţie
obţinută se înlocuie te în
egalitatea

"k+1 = "k + hk + 1hk2f00


2
(xk) =

= "k ¡ "k + 21 f0("xk2k)f00(»k) + 21 µ¡"k + 21 f0("xk2k)f00(»k)¶2 f00(xk) =

= 1 f00(»k)"2 + 1f00(xk)"2 + o("2):


2 f0(xk) k 2 k k
Trecând la
module j"k+1j ¼ ¯21 ff000((x»kk))"k2 + 21f00(xk)"k2¯
¯ ¯
i cum ¢(x ) = " avem ¯ ¯
k k

j j ¯ ¯

¢(xk+1) = 21 ¯ff000((x»kk)) + f00(xk)¯ ¢2(xk):


¯ ¯
¯ ¯

Trecând la limită pentru k ! 1 ¢( x k +1 ) 1 ¯f 00 ( » k ) ¯


¯
1 ¯f 00 ( x ¤ ) ¤ ¯
¯
lim
¢2 ( x k)
= lim
!1 2 f 0( x k )
00
+ f (x ) =
2 f 0( x ¤ )
00
+ f (x ) = c q.e.d.
¯ ¯ ¯ ¯
k !1 k k

¯ ¯ ¯ ¯

lui
Dezavantajul m etodei lui ff ¯ensen este că e¯om etodă̄ locală ca i m etoda
Ste ¯ Newton.
Program metoda Steensen
Datele de intrare: a; b; f; ";
Fie y := a; dacă f(y) ¤ f00(y) < 0 atunci y := b; 2
µ ¶
[f(x)] Repetă x :=
y; y := '(x) '(x) = x ¡ f(x + f(x)) ¡ f(x)
Până când jy ¡ xj ¸ ";
Tipăre te y:
46 5. Ecuaţii neliniare

5.46Teoria generală a metodelor iterative în cazul ecuaţiilor


neliniare
Fie funcţia f : [a; b] ! R i ecuaţia f(x) = 0; x 2 [a; b]: Se presupune că funcţia f admite o
unică soluţie în [a; b] i ecuaţia f(x) = 0 prin tranformări echivalente se poate aduce la

forma iterativă '(x) = x; x 2 [a; b] unde ' : [a; b] ! R este funcţia iterativă. Orice soluţie x¤ a
ecuaţiei f(x) = 0 va fi punct fix pentru ' i invers. Prin urmare pentru a asigura existenţa i
unicitatea soluţiei ecuaţiei f(x) = 0 este de ajuns să asigurăm existenţa i unicitatea
punctului fix al lui ':
În continuare avem nevoie de teorema de punct fix a lui Banach.

Teorema 5.4.4. Fie (X; ½) un spaţiu metric complet i ' : X ! X o contracţie, adică pentru care
există constanta ® 2 [0; 1) astfel încât ½('(x); '(y)) · ® ¢ ½(x; y) pentru orice

x; y 2 X: Atunci funcţia ' va admite un unic punct fix care se poate obţine ca limita
irului iterativ fxkgk2N dat de xk+1 = '(xk) pentru x0 2kX arbitrar.
Avem următoarele evaluări apriori: ½(x¤; xk) · 1 ® ®½(x1; x0) respectiv aposteriori

½(x¤; xk) · 1 ® ®½(xk; xk¡1): ¡


¡
În continuare enunţăm o teoremă cu condiţii suficiente pentru a asigura soluţia
ecuaţiei iterative în cazul ecuaţiilor neliniare cu o singură necunoscută.

Teorema 5.4.5. (teoremă generală) Dacă ' este derivabilă pe intervalul J = [x0 ¡±; x0 +

±]; ± > 0 i derivata '0 satisface inegalitatea 0 · j'0(x)j · m < 1 pe J i punctul x1 = '(x0)

verifică inegalitatea jx1 ¡ x0j · (1 ¡ m)±; atunci:

- putem forma irul fxkgk2N cu regula iterativă xk+1 = '(xk) astfel încât pentru orice k 2 N

avem xk 2 J;

- lim xk = x¤ cu x¤ 2 J;
k!1

- x¤ este singura rădăcină a ecuaţiei '(x) = x în intervalul J:

Demonstraţie. Se aplică teorema de punct fix a lui Banach în acest caz. Se alege X = J i
cum J este un interval închis al axei reale se poate considera ca un spaţiu complet în raport
cu distanţa obi nuită de pe axa reală. Mai trebuie să arătăm că pentru
5.4. Metode iterative pentru rezolvarea ecuaţiilor neliniare 47

orice x 2 J avem '(x) 2 J: Într-adevăr:

j'(x) ¡ x0j = j'(x) ¡ '(x0) + x1 ¡ x0j · j'(x) ¡ '(x0)j + jx1 ¡ x0j = = j'0(»)j ¢ jx ¡ x0j +

jx1 ¡ x0j · m ¢ jx ¡ x0j + (1 ¡ m) ¢ ± ·

· m ¢ ± + (1 ¡ m)± = ±:

Funcţia ' este o contracţie căci j'(x)¡'(y)j = j'0(»)j¢jx¡y j · m¢jx ¡yj cu m < 1: Prin urmare
sunt satisfăcute toate cerinţele teoremei lui Banach, de unde rezultă consecinţele
acestei teoreme. q.e.d.
În continuare aplicăm această teoremă pentru metodele iterative anterioare alegând
în mod convenabil funcţia iterativă ':

Aplicaţia 5.4.1. Plecând de la ecuaţia f(x) = 0 prin translaţie se obţine x + f(x) = x i prin
alegerea funcţiei iterative ' : [a; b] ! R; '(x) = x + f(x) se obţine următorul rezultat: dacă f
este derivabilă pe J = [x0 ¡ ±; x0 + ±]; ± > 0 i j1 + f0(x)j · m < 1 pe J i jf(x0)j · (1 ¡ m) ¢ ±

atunci putem forma irul fxkgk2N cu regula iterativă xk+1 = '(xk) astfel încât pentru orice k 2

N avem xk 2 J i limk!1 xk = x¤ cu x¤ 2 J; x¤ este singura rădăcină în J a ecuaţiei f(x) = 0:

Aplicaţia 5.4.2. Plecând de la ecuaţia f(x) = 0 prin omotopie simplă se obţine x + !f(x) = x
cu ! =6 0 i prin alegerea funcţiei iterative ' : [a; b] ! R; '(x) = x + !f(x) se obţine următorul

rezultat: dacă f este derivabilă pe J = [x0 ¡ ±; x0 + ±]; ± > 0 i j1 + !f0(x)j · m < 1 pe J i j!

f(x0)j · (1 ¡ m) ¢ ± atunci putem forma irul fxkgk2N cu regula iterativă xk+1 = '(xk) astfel

încât pentru orice k 2 N avem xk 2 J i limk!1 xk = x¤ cu x¤ 2 J; x¤ este singura rădăcină în


J a ecuaţiei f(x) = 0:
Aplicaţia 5.4.3. Plecând de la ecuaţia f(x) = 0 prin transformarea lui Newton se obţine
x ¡ ff0((xx)) = x i prin alegerea funcţiei iterative ' : [a; b] ! R; '(x) = x ¡ ff0((xx)) se obţine
următorul rezultat pentru metoda tangentei: dacă f este derivabilă de două ori pe
00
jf(x)¢f (x)j
J = [x0 ¡ ±; x0 + ±]; ± > 0 i f0(x) 6= 0 pentru orice x 2 J i [f0(x)]2
· m < 1 pe J
i ¯ff0((xx00)) ¯ · (1 ¡ m)± atunci putem forma irul fxkgk2N cu regula iterativă xk+1 = '(xk)
astfel J; x¤ este
¯ încât¯ pentru orice k N avem xk J i limk xk = x¤ cu x¤ singura
¯ ¯ 2 2 !1 2
rădăcină în J a ecuaţiei f(x) = 0:
Aplicaţia 5.4.4. Plecând de la ecuaţia f(x) = 0 prin transformarea metodei paralelelor se

obţine x ¡ ¸1 ¢ f(x) = x; ¸ =6 0: Prin alegerea funcţiei iterative ' : [a; b] ! R; '(x) =


48 5. Ecuaţii neliniare
dacă f este
x ¡ ¸1 f(x) se obţine următorul rezultat pentru metoda paralelelor: derivabilă
peJ= [x0¡±; x0+±]; ±> 0 i ¯1 ¡ 1 ¢ f0(x)¯ ·m<1 pe J i jf ( x 0 )j ·(1 ¡ m) ¢ ±¢j¸j
¸
atunci putem forma irul xk k cu regula iterativă x k+1 = ' ( x k ) astfel încât pentru

f g ¯2N ¯
orice k 2 N avem xk 2 J i limk!1 xk = x¤ cu x¤ 2 J; x¤ este singura rădăcină în J a ecuaţiei
f(x) = 0:

Aplicaţia 5.4.5. Plecând de la ecuaţia f(x) = 0 prin transformarea metodei coardei


se obţine x ¡ f(x) x¡a = x: Prin alegerea funcţiei iterative ' : (a; b] ! R; '(x) =
f(x)¡f(a)
x¡a
x¡f(x)¢f(x)¡f(a) se obţine următorul rezultat pentru metoda coardei: dacă f este derivabilă
pe J = [x0 ¡ ±; x0 + ±]; ± > 0 i
jf(a)j jf(a) ¡ f(x) + f0(x) ¢ (x ¡ a)j 2
· m<1
[f(x) f(a)]

¡
pe J i ¯( x 0 ¡ a)f ( x 0 )¯ · (1 ¡ m) ¢ ±
f ( x 0) f ( a )
¯ ¯
¡
atunci putem forma irul xk¯ k cu regula¯ iterativă xk+1 = '(xk) astfel încât pentru
f ¯
g 2N ¯
orice k 2 N avem xk 2 J i limk!1 xk = x¤ cu x¤ 2 J; x¤ este singura rădăcină în J a ecuaţiei
f(x) = 0:

Aplicaţia 5.4.6. Plecând de la ecuaţia f(x) = 0 prin transformarea lui Steffensen se


f2(x)
obţine x ¡ f(x+f(x))¡f(x) . Prin alegerea funcţieiiterative
' : [a; b] ! R; '(x) = x ¡
+
f2(x) f(x) se obţine următorul rezultat: dacă f este derivabilă pe J = [x 0 ¡ ±; x 0 ±];
f(x+f(x)) ¡
±>0
i

¯1 ¡ 2f(x) ¢ f0(x)[f(x + f(x)) ¡ f[f((xx)]+¡ff(2x())x) ¢ [ff(0x(x)]+2 f(x)) ¢ (1 + f0(x)) ¡ f0(x)]¯ =


¯
¯
2 ¡ 2 ¯
=
¯
¯ ¡
1 ¢ ¢

[f(x +f(x
f(x))
¢

f(x)] f (x) f0(x + f(x)) (1 + f0(x)) ¯·


¡
2
¢ ¢
¯
¯

f (x) f0(x) + 2f(x) f0(x) + f(x))


¯ ¡ ¯
¯m < 1 ¯

· ¯ ¯
pe J i
¯ f2(x0)
¯ · (1¡m)¢±; atunci putem forma irul fx g cu regula iterativă
k k2N
¯ ¯
f(x0+f(x0))¡f(x0) ¤ ¤
x = '(x ) astfel încât pentru orice k N avem x J i lim x = x cu x J;
k+1 k k k k

¯ ¯ 2 2 !1 2
x¤ este singura rădăcină în J a ecuaţiei f(x) = 0:

Aplicaţia 5.4.7. Plecând de la ecuaţia f(x) = x2 ¡ p = 0 prin transformări echivalente se

obţine 1 ¡x + p ¢ = x unde p 2 [0; +1): Prin alegerea funcţiei iterative ' : [a; b] ! R; '(x) = 12

¡2x + xp ¢x se obţine următorul rezultat pentru calcul aproximativ al lui pp : dacă


5.4. Metode iterative pentru rezolvarea ecuaţiilor
neliniare 49
¯ · 2(1 ¡ m) ¢ ± atunci
1¡x p
2 · 2m < 2 pe J = [x0 ¡ ±; x0 + ±]; ± > 0 i ¯x0 ¡ xp0 putem
x
¯forma ¯irul cu regula iterativă xk+1 = '(xk) astfel încât pentru orice k
k avem
¯ ¯
k
f g
2 N ¯ ¯
¯ ¯ 2

N
¤ p ¤ ¤
xk 2 J i limk!1 xk = x = p cu x 2 J; x este singura rădăcină în J a ecuaţiei
f(x) = 0: Prin urmare numărul pp se poate aproxima oricât de bine cu termenii irului
µ ¶
iterativ fxkgk2N; generate prin relaţia de recurenţă xk+1 = 1 xk + p :
2 xk
50 5. Ecuaţii neliniare
Capitolul 6

Sisteme de ecuaţii liniare

În funcţie de numărul necunoscutelor se disting mai multe metode:

1. dacă numărul necunoscutelor are ordinul mai mic decât 103 atunci se folosesc metodele
directe de rezolvare numerică a sistemelor liniare (de exemplu: metoda lui Gauss, metoda

descompunerii LU, metoda descompunerii LLT , metoda descom-punerii QR, etc.), fiindcă
acumularea erorilor încă nu influenţează rezultatul final.

2. dacă numărul necunoscutelor are ordinul mai mare decât 10 3 i mai mic decât
106 atunci se folosesc metodele iterative de rezolvare numerică a sistemelor
liniare (de exemplu metoda lui Jacobi, metoda lui Seidel, metoda SOR), fiindcă
aceste metode sunt autocorectoare.

3. dacă numărul necunoscutelor are ordinul mai mare decât 106 se folosesc
metodele probabilistice de rezolvare numerică a sistemelor liniare (de
exemplu: metode de tip Monte Carlo).
51
52 6. Sisteme de ecuaţii liniare

61Metode directe de rezolvare numerică a sistemelor


liniare

6.1.1 Rezolvarea unor sisteme liniare particulare


6.1.1.1 Rezolvarea sistemelor liniare diagonale
8 a11x1 = b1
>> a22x2 = b2
Un sistem liniar de forma se nume te sistem liniar diago-
> .
> .

> .
<
> annxn =b
> n
>
>
> a11 0

: 0 1

nal, căci în matricea sistemului A = B a22 . . C toate elementele în afara


B 0 . C
B C
B C
B a nn C

@sunt egale cu zero. Condiţia


elementelor de pe diagonala principală A necesară i suficientă
ca un sistem diagonal să admită o unică soluţie este ca aii 6= 0 pentru orice i = 1; n. În
acest caz soluţia sistemului este x1 = b1 ; x2 = b2 ; : : : ; xn = bn :
a11 a22 ann

6.1.1.2 Rezolvarea sistemelor liniare superior triunghiulare

Un sistem liniar de forma


8 a11x1 + a12x2 + ¢¢¢ + a1nxn = b1
>
>
a22x2 + ¢¢¢ + a2nxn = b2

>
>
..

> .
<
> annxn = bn
>
>
>
>

:
se nume te sistem liniar superior triunghiular, căci în matricea sistemului
0 a11 a12 : : : a1n 1
:::

A=B a22 a2..n C


B 0 . C
B C
B C
B ann C

@ A
toate elementele de sub diagonala principală sunt egale cu zero. Condiţia necesară i
suficientă ca un sistem liniar superior triunghiular să admită o singură soluţie este ca
6.1. Metode directe de rezolvare numerică a sistemelor liniare 53

aii =6 0 pentru orice i = 1; n. În acest caz sistemul se rezolvă începând de la coadă, adică

n n

x = bn ; x = bn¡1 an¡1;n xn ; : : : ; x= bk ¡ i=Xk+1 akixi ; : : : ; x= b1 ¡ i=2 a1ixi :


n n 1 ¡ ¢ k 1 X

¡
ann an¡1;n¡1 akk a11

Program sistem superior triunghiular


pentru i = 1;
Datele de intrare: aij pentru i; j = 1; n cu i · j i bi n:
Pentru k = n; 1 execută
S := 0;
Pentru i = k + 1; n execută S := S + akixi;

xk = (bk ¡ S)=akk:
Tipăre te xk pentru k = 1; n:

6.1.1.3 Rezolvarea sistemelor liniare inferior triunghiulare


8 a11x1 = b1
>a x +a x = b2
>
21 1 22 2
Un sistem liniar de forma se nume te sistem liniar
>
>.
.

>.
<
>a x +a x + +a x =b
n1 1 n2 2 nn n n
> ¢¢¢
>
>
> a11

: 0 1

inferior triunghiular, căci în matricea sistemului A = B a..21 a22 0 C toate ele-


B . C
B
B C
C
B C
a a :: : a

n 1 n 2 nn

mentele deasupra diagonalei principale sunt egale cu@zero.


Condiţia necesarăAi suficientă
ca un sistem liniar inferior triunghiular să admită o singură soluţie este ca aii =6 0 pentru
orice i = 1; n: În acest caz sistemul se rezolvă începând cu necunoscuta x1; adică
k¡1
x1 = b1 ; x2 = b2 ¡ a21x1 ; : : : ; xk = bk ¡ Xi=1 akixi Xn¡1
bn
a11 a22 akk
¡ anixi
Program sistem inferior triunghiular ; : : : ; xn = i=1
: a
nn
Datele de intrare: aij pentru i; j = 1; n cu i ¸ j i bi Pentru k = 1; n
execută

pentru i = 1; n:
54 6. Sisteme de ecuaţii liniare

S := 0;
Pentru i = 1; k ¡ 1 execută S := S + akixi; xk =

(bk ¡ S)=akk:

Tipăre te xk pentru k = 1; n:

6.1.2 Metoda lui Gauss

Se consideră sistemul
8
> a x
>
>
0+ a12x2 + ¢¢ 0= b
¢ + a1nxn
11 1

>
>
1
<a x 0= b
>.
>.
21 1
. 0+ a22x2 + ¢¢
>
> 2
>
¢ + a2nxn
: an1x1
0= bn:
0+ an2
x2
+
¢¢
¢
+
an

nx

Ideea lui Gauss este de a reduce acest sistem la un sistem diagonal, inferior triunghiular,
sau superior triunghiular, care se rezolvă conform paragrafului anterior. Noi vom reduce
acest sistem la un sistem superior triunghiular. Se notează cuaij(1) = aij i bi(1) = bi

8a (1 ) (1 ) + ¢¢¢ + a(1)1(1)nxn = b(1)1(1)


>
( 1 1) 1 x1 + a(1 1) 2 x2
i; j = 1; n: a x +a x + ¢¢¢ + a2n xn = b2
pentru Prin urmare avem sistemul: > Se
21 1 22 2 :

>

>.
.

>.
<
>a (1)
x + an(1)2x2 + + ann(1)xn = bn(1)
n 1 1
> ¢¢¢
(1
) >
>
Prima ecuaţie se
presupune că a11 = 0, care se nume te elementul> pivot. normează,

6 :
adică se împarte la elementul pivot a(1)11, după care prima ecuaţie se înmulţe te pe rând
cu elementele ¡a(1)21; ¡a(1)31; : : : ; ¡a(1)n1 i se adună la a doua, la a treia, etc. respectiv la
ultima ecuaţie. În acest fel necunoscuta x1 se elimină din a doua, a treia, etc., i ultima
ecuaţie. Se obţine următorul sistem
8 x + a 1 2 (1 )x + ¢ ¢ ¢+ a 1 (1 n) x = b1 (1 ) =(¡a (1 )); : : : ; (=¡an(1 )1)
1 a 1 1 (1 ) 2 a 1 1 (1 ) n a 1 1 (1 ) 21
>
>
>
>
>
> (1) (1) (1)

>
> (1)
a

(1) (1)
a

(1) (1) b (1)

>
12 1n

a2 a2
> 0 + a22 a21 x2 + + a2n xn = b2
1 1
>
> ¡
(1) ¢¢¢ ¡
(1) ¡
(1)

a1 a1
> Ã a1 1 ! Ã 1 ! 1
>
<
> ...
> (1) (1) (1)
>
>
>
(1)
a12
(1) (1)
a1n
(1) (1) b1 (1)

an an
> 0 + an2 an1 x2 + + ann 1 xn = bn 1
>
> ¡
(1) ¢¢¢ ¡
(1) ¡
(1)

a1 a1
> Ã a1 1 ! Ã 1 ! 1
>
>
>
>
>

:
6.1. Metode directe de rezolvare numerică a sistemelor liniare 55

Se notează a(2) = 1; pentru j = 2; n a(2) = a1(1)j ; b(2) = b1(1 ) ; pentru i = 2; n a(2) = 0;


11 1j a11(1) 1 a1 1(1 ) i1
(1) b1(1) (1)
(2) (1) a1 j (1) (2) (1)

pentru i; j = 2; n aij = aij ¡ = bi ¡ a1 1 (1 )ai1 : În a ce s t fe l


a11(1 ) ¢ ai1 ; pentru i = 2; n bi
se obţine sistemul:

8 a( 2 1) 1( 2 x) 1 + a (2 ) (2 )
(2 1) 2 x2 + ¢ ¢ ¢+ a(2 )1 nxn = b 1
(2 )
(2 )

> a21 x1 + a22 x2 + ¢¢¢ + a2n xn = b2


>
>.
>
.

>.
<
>a (2)
x + an(2)2x2 + + ann(2)xn = bn(2) adică
n 1 1
> ¢¢¢
>
>
> (2) (2) (2) (2)

8 a1 1 x1 + a(2 )1 2 x2 + ¢ ¢ ¢+ a(2 )1n xn = b(2 )1


> a22 x2 + ¢¢¢ + a2n xn = b2
>
>
>
..

> .
<
> an(2)2x2 + + ann(2)xn = bn(2)
> ¢¢¢
>
>
>
:

Se alege ca pivot elementul a(2)22 =6 0 i a doua ecuaţie se normează, adică se împarte


la elementul pivot, după care se elimină variabila x2 din a treia, a patra, etc., ultima
ecuaţie prin înmulţirea ecuaţiei a doua cu elementele ¡a(2)32; : : : ; ¡a(2)n2. Astfel se obţine
următorul sistem:

8
>
a(2)x >> 11 1
>
> (2)x + ¢¢¢ + a1(2)nxn = b1(2)
>
> 13 3
>
>
>
>
a2(2 )
>
>
>
>
>
>
a23(2) n b2(2 ) (2)
a(2) xn = a(2)=(¡a32 ) : : : =(¡an2 )
>
>
> x2 + a(2) x3 + ¢¢¢ +
< 22 22 22

>
>
>
>
>
>

0 +Ãa3 3(2 ) ¡ aa ! x3 + ¢ ¢ ¢+ Ãa3(2 )n ¡ aa !x =


>
>

a3 2(2 )
>
2 (2n) (2 )
> a n
(2)

> 23
2 2 (2 ) 32
> 22( 2)

>
> .
> .
> .
>
>
>
>

:
an(2 )
0 +Ãan(2 )3 ¡ aa 23
22( 2)
(2)

2
! x3 + ¢ ¢ ¢ + Ãan n(2 ) ¡ aa 2 (2n)
2 2 (2 )
a
n 2
(2 ) !x =
n
56 6. Sisteme de ecuaţii liniare

Se introduc notaţiile a(3)ij i b(3)i pentru i; j = 1; n. Se presupune că la pasul k s-a obţinut


următorul sistem:

8 a1 1(k) + a(1 2(kk))x2 + ¢ ¢ ¢+ a(1(kkk))xk + ¢ ¢ ¢+ a(1(kkn))xn = b(1(kk))


> a22 x2 + ¢¢¢ + a2k xk + ¢¢¢ + a2n xn = b2
>
>>
.
.

> .
>
>
>
> (k) (k) (k)
>
>>
akk xk + + akn xn = bk

> ¢¢¢
><
(k) (k) (k)

> ak..+1;kxk + ¢¢¢+ ak+1;nxn = bk+1


> .
>
>>
> (k) (k) (k)
>
> a x + + an;nxn = bn

>
k

n;k

> ¢¢¢

>
>
>
>

Se presupune că pivotul a(kkk) este diferit de zero i ecuaţia k se normează, adică se


împarte la pivot, după care se elimină necunoscuta xk din ecuaţiile k + 1; : : : ; n prin
înmulţirea succesivă a ecuaţiei normate cu elementele ¡a(kk+1);k; : : : ; ¡a(n;kk) i prin
adunarea acesteia la ecuaţiile k + 1; : : : ; n: Astfel se obţine următorul sistem:

8 a1 1(k)x1 + a(1 2(kk))x2 + ¢ ¢ ¢+ a(1(kkk))xk + ¢ ¢ ¢+ a(1(kkn))xn = b(1(kk))


> a22 x2 + ¢¢¢ + a2k xk + ¢¢¢ + a2n xn = b2
>
> .
> .

> .
>
>
> (k) (k)
>
>
>
a kn
b k
> x +
k
+ x =
n

> (k) (k)


>
> ¢¢¢ a a

> kk kk
>
>
>
>
>

>
> (k) (k)

<

> 0 + ¢¢¢ + ak(k+ 1) ;n ¡ a(k nk) ¢ ak(k+ 1);k xn = bk(k+1) ¡ bk(k) ¢ ak(k+1);k

ak
> Ã k ! akk
>
>
>
>
.
.

> .
>
(k
> (k) )
>
(k
>
>
(k) a kn
(k) ) b k
(k)
> 0+ + a a x =b a
(k
> n;n (k) n;k n n ) n;k
>
> ¢¢¢ Ã ¡a ¢ ! ¡a ¢
k
> k kk
>
>
>
>
>

:
Folosind următoarele notaţii: pentru i = 1; k ¡ 1 i j = 1; n aij(k+1) = aij(k) i bi(k+1) = bi(k);
ak j(k
)
(k+1) (k+1) (k+1) b(k) (k+1)
a = 1; pentru j = k + 1; n a = ;b = k
; pentru i = k + 1; n a= 0;
ak k(k
k;k kj
)
k ak k(k) i;k
6.1. Metode directe de rezolvare numerică a sistemelor liniare 57

(k+1) (k) akj(k) (k)(k+1)(k) b(k) (k)


; se obţine
pentru i; j = k + 1; n aij = aij ¡
(k)
¢aik i bi= bi ¡ k
(k)
¢aik sistemul:
a kk a kk

8 a1 1(k+ 1 x) 1 + a(1 2(kk+ 1 +) 1 x) 2 + ¢ ¢ ¢+ a(1(kkk+ 1 +) 1 x) k + a(1(kk;k+ 1 +) 1 +) 1xk+ 1 + ¢ ¢ ¢+ a(1(kk;n+ 1 +) 1 x) n = b(1(kk+ 1 +) 1 )

> a22 x2 + ¢¢¢ + a2k xk + a2;k+1xk+1 + ¢¢¢ + a2;n xn = b2


>
>
>
..

> .
>
>
>
> (k+1) (k+1) (k+1) (k+1)
>
>
>
ak;k xk + ak;k+1xk+1 + + ak;n x n = bk

> ¢¢¢
>
<
(k+1) (k+1) (k+1)

> ak+1;k..+1xk+1 + ¢¢¢ + ak+1;nxn = bk+1


> .
>
>
>
> (k+1) (k+1) (k+1)
>
> a x + + an;n x =b

>
k+1 n

n;k+1 n

> ¢¢¢
>

>
>
>

Procedeul de triunghiularizare arătat mai sus se continuă până când k · n ¡ 1: Astfel se


obţine un sistem superior triunghiular care se rezolvă conform § 6.1.1.2. Din formulele
de recurenţă din faţa sistemului obţinut la pasul k + 1 se deduce:

Algoritmul metoda Gauss

Datele de intrare: aij; bi pentru i; j = 1; n:


Pentru k = 1; n ¡ 1 execută
dacă akk 6= 0 atunci p := akk altfel stop;
pentru j = k; n execută akj = akj=p;
bk := bk=p;
pentru i = k + 1; n execută pentru j
= k + 1; n execută
aij := aij ¡ akj ¢ aik; bi :=

bi ¡ bk ¢ aik;
Aplică algoritmul sistem superior triunghiular;
Tipăre te xk pentru k = 1; n:

Ca exerciţiu vă propunem să se facă reducerea sistemului iniţial la un sistem inferior


triunghiular respectiv diagonal.
În algoritmul metoda Gauss se poate întâmpla ca la pasul k elementul pivot p := akk = 0

sau p := akk ¼ 0, adică este o valoare în modul foarte mică. În acest caz pentru a continua
algoritmul lui Gauss este necesar un procedeu de pivotare. Vom folosi două metode de
pivotare: pivotare parţială respectiv pivotare totală. În cazul pivotării
58 6. Sisteme de ecuaţii liniare

parţiale presupunem că există cel puţin un element nenul printre elementele aik; unde i = k +
1; n; adică printre elementele care sunt situate sub elementul pivot în coloana pivotului.
Dacă ai0k =6 0 unde i0 2 fk + 1; : : : ; ng; atunci se schimbă între ele valorile akk i ai0k, care

practic înseamnă schimbarea liniilor k i i0 între ele. Schimbarea a două linii nu afectează cu
nimic rezolvarea sistemului iniţial. Pivotarea totală se aplică în cazul când la pivotarea
parţială nu se găse te un element nenul. În acest caz se caută un element nenul ai0;j0 , unde

i0 2 fk; : : : ; ng i j0 2 fk + 1; : : : ; ng; după care elementul ai0;j0 se duce pe poziţia elementului

pivot. Practic asta înseamnă că se schimbă între ele liniile i0 i k; după care se schimbă între

ele coloanele j0 i k: Schimbarea a două linii nu afectează cu nimic rezolvarea sistemului


iniţial, însă schimbarea a două coloane induce schimbarea a două necunoscute între ele.

p = akk
A= zona
zona pivot rii
0 pivot rii totale
par iale

Prin urmare în cazul aplicării pivotării parţiale în algoritmul metoda Gauss în locul
instrucţiunii "stop" se pune următorul bloc de instrucţiuni:
pentru i0 = k + 1; n caută ai0;k =6 0;
schimbă între ele liniile i0 i k;
iar în cazul aplicării pivotării totale se pune următorul bloc de instrucţiuni:
pentru i0 = k; n execută
pentru j0 = k + 1; n execută

caută ai0;j0 =6 0

schimbă între ele liniile i0 i k; schimbă


între ele coloanele j0 i k:
În acest ultim caz la sfâr itul algoritmului trebuie pusă instrucţiunea schimbă între ele
valorile xk i xj0 :
Din liceu se cunoa te următorul rezultat:

Teorema 6.1.1. Sistemul iniţial cu n ecuaţii i n necunoscute este un sistem de tip Cramer,

adică admite o unică soluţie, dacă i numai dacă det A =6 0; unde A = (aij)i;j=1;n
6.1. Metode directe de rezolvare numerică a sistemelor liniare 59

este matricea sistemului.

În acest caz, dacă elementul pivot devine nul, cu ajutorul pivotării parţiale sau a
pivotării totale putem continua mai departe algoritmul metodei Gauss.
În cazul când det A = 0 găsim un k 2 f1; : : : ; ng astfel încât aij = 0 pentru orice i; j =

k; n: Dacă există un i 2 fk; : : : ; ng astfel încât bi =6 0 atunci sistemul este incompatibil,

fiindcă ecuaţia a i ¡ a nu are loc, iar dacă pentru orice i = k; n bi = 0 sistemul este

compatibil nedeterminat. Practic se poate întâmpla ca valorile bi ¼ 0 pentru i = k; n; sunt


mici în valoare absolută i se pot considera ca fiind egale cu zero. Menţionăm că în acest
caz de i din punct de vedere teoretic sistemul liniar este incompatibil, totu i calculatorul
ne indică un sistem compatibil i nedeterminat.

6.1.3 Aplicaţii ale metodei lui Gauss


6.1.3.1 Calculul determinantului folosind metoda lui Gauss

Se consideră matricea A = (aij)i;j=1;n. Se pune problema calculului determinantului ma-tricii


A; notata cu det A: Se observă că, calculul determinantului nu se poate face după definiţia
clasică a determinantului învăţată în liceu, fiindcă ne conduce la un volum imens de calcule
având n! de termeni. De aceea e nevoie de metode numerice adecvate. Aici vom prezenta
calculul determinantului folosind metoda lui Gauss. Fie " det " variabila corespunzătoare, pe
care o iniţializăm la începutul algoritmului cu det := 1: Dacă în al-goritmul metodei Gauss

elementul akk =6 0 pentru k = 1; n ¡ 1; atunci p := akk i punem instrucţiunea det := det ¤p:
După ce se termină în metoda Gauss ciclul în raport cu contorul k punem instrucţiunea

det := det ¤ann: În acest fel în variabila det vom avea tocmai valoarea determinantului
matricii A: Într-adevăr, algoritmul lui Gauss transformă matricea A într-o matrice superior
triunghiulară, a cărei determinant este tocmai pro-dusul elementelor de pe diagonala
principală. Pe primele n ¡ 1 poziţii de pe diagonala principală a matricii superior triunghiulare
avem valoarea unu, dar pivotul fiind scos ca un factor forţat de pe linii, intră ca un factor de
multiplicare la calculul determinantului matricii A: Menţionăm că, dacă pivotul la un anumit
pas este zero se aplică pivotarea parţială sau totală, care înseamnă schimbarea a două linii
sau a două coloane între ele. Din punct de vedere al calculului determinantului, aceste
operaţii induc schimbarea sem-nului determinantului. De aceea în algoritmul Gauss în cazul
pivotării parţiale respectiv
60 6. Sisteme de ecuaţii liniare

totale de fiecare dată se pune câte o instrucţiune de forma: det := ¡ det : La sfâr itul
algoritmului Gauss punem instrucţiunea de afi are a rezultatului variabilei det.

6.1.3.2 Calculul matricii inverse folosind metoda lui Gauss

Fie A o matrice pătratică de ordinul n; nesingulară (cu determinant nenul). Se tie că în


acest caz există matricea inversă A¡1 i are loc egalitatea: A ¢ A¡1 = In; unde In este

matricea unitate de ordinul n: Notăm A = (aij)i;j=1;n; A¡1 = (xij)i;j=1;n: Astfel avem egalitatea

0 a11 a12 : : : a1n 1 0 x11 x12 : : : x1n 1 01 0 ::: 0 1


B C B x 21 x 22 : : : x 2n C B 0 1 : : : 0 C
a 21 a 22 : : : a2 n ¢ = : :: : : : : :: :

B : : : : : : : : : :::
CB : : : : : : : : : :: :
C : ::
B C
B
B CB C
CB C B
B
C
a a ::: a x x ::: x 0 0 ::: 1 C
B n1 n2 nn n1 n2 nn

CB C B C

@ A@ A @ A
Dacă liniile matricii A se înmulţesc numai cu prima coloană a matricii inverse, cu vectorul
0 1
x11
B x..21 C ; se obţine un sistem liniar având termenul liber prima coloană a matriciiI :
n
B. C
B
B
C
B C
x C

n1

@ A
8a11x11 + a12x21 + ¢¢¢ + a1nxn1 = 1
>a x + a x + + a x = 0
> 21 11 22 21 2n n1
> ¢¢¢ :
>
>
>
>

: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::

<
>
a x +a x + +a x =0

>
>
>
n1 11 n2 21 nn n1

¢¢¢

>
>
>

Acest sistem liniar are matricea tocmai matricea A cu determinant diferit de zero, deci
este un sistem liniar de tip Cramer. Unica soluţie a sistemului se obţine cu algoritmul
01B1C
e1 = BB 0... CC, primul vector din baza canonică a
metodei Gauss având termenul liber
B C
B C

@ A
0
spaţiului Rn: Soluţia obţinută este tocmai prima coloană a lui A¡1: La al doilea pas se
6.1. Metode directe de rezolvare numerică a sistemelor 6
liniare 1

0 x12 1

fixează a doua coloană a matricii inverse A¡1, vectorul B x..2 2 C i se obţine în mod
B . C
B
B
C
B C
x C

n2

similar un sistem liniar de forma: @ A


0 x12 1 00 1

A ¢ B x..22 C = B 1.. C = e2;


B. C B. C
B C B C
B
B
xn2 C
C
B
B
0 C
C

@ A @ A
care iară i se rezolvă cu metoda lui Gauss, .a.m.d. Unica soluţie a sistemului liniar se a
ează pe a doua coloană a lui A¡1: Prin urmare, calculul matricii inverse pentru o matrice
A de ordinul n, nesingulară, se reduce la rezolvarea consecutivă a n sisteme liniare cu
metoda lui Gauss, alegând pentru termenii liberi vectorii e1; e2; : : : ; en din baza
canonică a lui Rn:
Soluţiile obţinute se aranjează pe rând pe coloanele matricii inverse A¡1:

Program matrice inversă

Datele de intrare: n; A;
Pentru i = 1; n execută b
:= ei;

Rezolvă sistemul Ax = b cu metoda lui Gauss;


Pentru j = 1; n execută

A¡1[j; i] := x[j];
Tipăre te A¡1:
6.1.3.3 Calculul rangului unei matrici folosind metoda lui Gauss

Fie A = (aij)i;j=1;n o matrice pătratică de ordinul n. Ne interesează rangul matricii A: Aplicând


algoritmul lui Gauss pentru matricea A; se obţine o nouă matrice, care are toate elementele
de sub diagonala principală egale cu zero, iar pe diagonala principală apar elementele
nenule sau nule. Numărul elementelor nenule de pe diagonala principală este tocmai rangul
matricii A: Prin urmare, în algoritmul Gauss, la sfâr itul programului
62 6. Sisteme de ecuaţii liniare

numărăm toate elementele nenule de pe diagonala principală, începând cu elementul


care se află pe poziţia primei linii i a primei coloane. Menţionăm că elementele matricii A
trebuie să fie în a a fel, încât în algoritmul Gauss la un anumit pas să nu apară numere
foarte mari în valoare absolută.

Program rangul matricii

Datele de intrare: n; A;
Aplică algoritmul metoda Gauss; (vezi paragraful 6.1.2)
Fie k := 0;
Pentru k = 1; n execută
dacă akk =6 0 atunci k := k + 1;

Tipăre te k:

6.1.4 Metode de factorizare

La aceste metode numerice ideea de bază este să factorizăm, să descompunem


matricea sistemului liniar într-un produs de două matrici cu "structură" mai simplă.

6.1.4.1 Metoda descompunerii LU

Dacă se dă o matrice pătratică de ordinul n; A = (aij)i;j=1;n cu elemente numere reale se pune


problema de a descompune matricea A într-un produs de două matrici triunghiu-lare: A = L ¢ U;
unde L este o matrice inferior triunghiulară (vezi paragraful 6.1.1.3) iar U este o matrice superior
triunghiulară (vezi paragraful 6.1.1.2). Rostul acestei des-compuneri se poate argumenta în felul

următor: dacă se consideră sistemul A ¢ x = b, unde x = (x1; x2; : : : ; xn)T i b = (b1; b2; : : : ; bn)T i
urmărim să-l rezolvăm, adică să determinăm necunoscuta x în funcţie de datele problemei A i b,
o posibilitate ar fi efectuarea descompunerii matricii A în produsul L ¢ U, fiindcă dacă am reu it
această descompunere soluţia sistemului A ¢ x = b se reduce la rezolvarea sistemelor L ¢ y = b i
U ¢ x = y (A ¢ x = (L ¢ U) ¢ x = L ¢ (U ¢ x) = L ¢ y = b): Rezolvarea acestor sisteme se face u or
conform paragrafelor 6.1.1.2 i 6.1.1.3. Prin urmare să ne întoarcem la posibilitatea
6.1. Metode directe de rezolvare numerică a sistemelor liniare 63

efectuării descompunerii LU pentru o matrice A dată. În matricea


0 l11 0 1

L = B l21.. l22.. .. C
B . .. C
B C
B
B
ln1 ln2 : : : lnn C C

@ A
n2 + n

avem 1 + 2 + ¢¢¢ + n = 2 necunoscute, iar în matricea


0 u11 u12 : : : u1n 1

U=B u22 :. :. : u..2n C


B . . C
B C
BB
0 unn C
C

n2 +
@ n A
necunoscute. În total avem de
avem iară i n + (n ¡ 1) + ¢¢¢ + 1 = determinat
2
n2 + n necunoscute. Prin înmulţirea directă a lui L cu U i prin egalarea rezultatelor cu

elementele corespunzătoare ale matricii A obţinem numai n2 de egalităţi. Prin urmare, în

general din n2 egalităţi nu se pot determina n2 + n necunoscute, adică pentru o matrice A


dată, descompunerea L¢U nu este unică, deci problema descompunerii este nedeterminată.
Într-adevăr, dacă A = L ¢ U este o descompunere i considerăm pe D o matrice diagonală

astfel încât fiecare element de pe diagonala principală a lui D nu este zero, atunci există D¡1
i putem obţine o nouă descompunere gen LU pentru matricea A :

A = L ¢ U = L(D ¢ D¡1) ¢ U = (L ¢ D) ¢ (D¡1 ¢ U) = L0 ¢ U0;

unde L0 = L ¢ D este noua matrice inferior triunghiulară iar U0 = D¡1 ¢ U este noua
matrice superior triunghiulară. Ca să asigurăm unicitatea descompunerii LU; luăm sau
diagonala principală a lui L sau diagonala principală a lui U să fie egală cu un ir de unu.
Noi fixăm diagonala lui L cu numerele reale unu. Deci avem:

01 1
L=B l21 1 0 C
B
B
l31 l32 1 C
::: ::: C
B C

:::

B C
B
B
C
l l l ::: C

B n1 n2 n3
C
1

@ A
64Bi B B ..
.
e
@ 6.
Siste
1
me
0 de u1n C
ecua u2n CC
u12 : : : C
B
u11
ţii .
.

liniar
. CA
B u22 : : :

0 unn
În continuare prezentăm un algoritm de determinare a elementelor lij din L i uij din U;
pas cu pas:

pas
1. se determină u11 : 1 ¢ u11 = a11;
pas
2. se determină l21; l31; : : : ; ln1 : l21 ¢ u11 = a21;
l31 ¢ u11 = a31;
.
.

.
ln1 ¢ u11 =
an1:
Observăm că pentru determinarea elementelor l21; l31; : : : ; ln1 trebuie să impunem

condiţia ca u11 =6 0:

=
¢
pas 3. se determinău12; u13; : : : ; u1n : 1 u12 a12;
¢
1 u13 = a13;
.
.

.
1 ¢ u1n = a1n:
După ce prima coloană a lui L i prima linie a lui U sunt determinate urmează a doua
coloană a lui L i a doua linie a lui U :

pas 4. se determină u22 : l21 ¢ u12 + 1 ¢ u22 = a22 cu necunoscuta u22:

l31 ¢ u12 + l32 ¢ u22 =


pas 5. se determină l32; : : : ; ln2 : a22;
..

.
ln1 ¢ u12 + ln2 ¢ u22 =
an2:
Observăm că pentru determinarea elementelor l32; : : : ; ln2 avem nevoie ca u22 =6 0:

pas 6. se determină u22; : : : ; u2n : l21 ¢ u13 + 1 ¢ u23 = a23;


.
.

.
l21 ¢ u1n + 1 ¢ u2n = a2n:
Mai departe algoritmul se continuă în mod similar pentru celelalte coloane ale lui L i
celelalte linii ale lui U.

Teorema 6.1.4.1. Dacă într-o matrice A minorii principali sunt nenuli, atunci are loc
descompunerea LU i în mod unic.

Demonstraţie. Prin minorii principali ai matricii A vom înţelege determinanţii care se


formează începând cu elementul, care se află pe prima linie i pe prima coloană a
matricii A:
a12 a13 a22 a23 a32 0 a33 1 0: :

::: ::: a11 C :


B
B C
B a21 C
an2 an3 B C a
CC ; adică D = ja j;
A = BB a 1 11
B 31 C 1
B C
@::: A n
an1
1. Metode directe de rezolvare numerică a sistemelor liniare 0: :

a
2

0: :

a
3

: : :: : :
: : : ann

; ¯;:::;
D
2 ¯
= a11 a12 ¯
D 3
= ¯ a11 a12 a13 D
¯ a21 a22 a23 ¯ n
= det(A):
¯ a21 a22 ¯ ¯ ¯
¯ ¯ ¯ a31 a32 a33 ¯
¯ ¯ ¯ ¯
¯¯
¯
¯
¯
¯
¯
¯

Teorema afirmă faptul că, dacăDi =


0 ¯pentru i = 1; n,¯ atunci există descompunerea
LU
6
i în mod unic. Presupunem că avem
descompunerea

01 1 u11 u12 : : : u1n

A = LU = B l21
B
l l32
1
1
C0
C B
u22 : : : u2n 1 ;
..
31 ¢ .. C
B C . .

:: ::
B::: ::: : : CB C
B CB C
B CB 0 unn C
B ln1 ln2 ln3 : : : 1 C B C
B C@ A

@ A
de unde det(A) = det(L ¢ U) = det L ¢ det U = 1 ¢ u11u22 : : : unn = u11u22 : : : unn: În mod
analog dacă alegem matricile din matricea A; care corespund minorilor principali din A,
atunci trebuie să alegem tot matricile corespunzătoare minorilor principali din L i U. Adică:
D1 = 1 ¢ u11; D2 = 1 ¢ u11 ¢ u22; D3 = 1 ¢ u11 ¢ u22 ¢ u33; : : : ; Dn = det(A) = 1 ¢ u11 ¢ u22

: : : unn: Înaintea teoremei, la algoritmul de determinare a elementelor lui L i U singura

restricţie care se impune este ca pe rând u11, u22; : : : ; un¡1;n¡1 să fie diferite de zero.

Observăm că pentru un;n nu e nevoie de condiţia ca un;n =6 0. Prin urmare u11 =6 0 este

echivalent cu D1 =6 0; u22 =6 0 este echivalent cu D2 =6 0; u33 =6 0 este


66 6. Sisteme de ecuaţii liniare

echivalent cu D3 =6 0; : : : ; un¡1;n¡1 =6 0 este echivalent cu Dn¡1;n¡1 =6 0: Sigur că, condiţia

Dn = det(A) =6 0 este echivalentă cu un;n =6 0: ¤


Observaţia 6.1.4.1. Din demonstraţie reiese un calcul foarte simplu pentru det(A). Într-
adevăr dacă am făcut descompunerea LU pentru matricea A, atunci se cunosc elementele

matricii U de pe diagonala principală i avem det(A) = u11 ¢ u22 ¢ : : : ¢ unn:

Menţionăm că descompunerea LU are loc i într-un caz mai general, când se cere
numai ca matricea A să fie inversabilă. Într-adevăr, det(A) = Dn = u11u22 : : : unn =6 0

implică uii =6 0 pentru orice i = 1; n. În general când efectuăm descompunerea LU se


poate întâmpla, că vom fi nevoiţi să schimbăm între ele două linii sau două coloane ale
matricii A pentru a avea uii =6 0:

Program factorizare LU

Datele de intrare: n; A;
Pentru k = 1; n execută: lkk = 1;
Pentru k = 1; n execută:
Xk¡1
ukk := akk ¡ lkj ¤ ujk;
j=1
(se obţine prin înmulţirea liniei k din L cu coloana k din U)
pentru i = k + 1; n k¡1 execută:
à X !

lik := j=1 aik ¡ lij ¤


ujk (se obţine prin înmulţirea liniei i din L cu coloana k din U); =ukk;
Xk¡1

j=1
(se obţine prin înmulţirea liniei k din L cu coloana i din U);
uki := aki ¡ lkj ¤
uji;

Tipăre te L i U.

Dacă se cere să se rezolve sistemul liniar A¢x = b cu metoda LU atunci avem


următorul program:

Program 2 LU

Datele de intrare: n; A; b;
6.1. Metode directe de rezolvare numerică a sistemelor liniare 67

Aplică subrutina program factorizare LU;


Aplică subrutina matrice inferior triunghiulară
(conform §6.1.1.3 pentru sistemul Ly = b);
Aplică subrutina matrice superior triunghiulară (conform
§6.1.1.2 pentru sistemul Ux = y);
Tipăre te x:

6.1.4.2 Metoda descompunerii LLT (Cholesky)

Prin descompunerea LLT a unei matrici A = (aij)i;j=1;n vom înţelege aceea descom-
punere, unde L este o matrice inferior triunghiulară, iar LT înseamnă transpunerea ma-
tricii L, adică LT va fi o matrice superior triunghiulară. Pentru a enunţa i a demonstra o
teoremă referitoare la existenţa i unicitatea descompunerii LLT avem nevoie în prealabil
de câteva noţiuni asupra matricii A :

Definiţia 6.1.4.1. O matrice A se nume te simetrică, dacă aij = aji pentru orice i; j = 1; n;

adică elementele situate simetric faţă de diagonala principală a matricii A sunt egale.

Definiţia 6.1.4.2. O matrice A se nume te pozitiv definită dacă xT Ax > 0 pentru orice
0 x1 1

x = B x..2 C 2 Rn n fµRn g;
B. C
B
B
x
C
C
B n
C

@ A
unde xT înseamnă transpusa vectorului coloană x. Prin urmare, dacă se efectuează în-
mulţirile în expresia xT Ax se obţine că matricea A este pozitiv definită, dacă forma pă-
Xn
tratică corespunzătoare verifică aijxixj > 0 pentru orice xi 2 R cu i = 1; n; i nu toţi
i;j=1
xi fiind deodată egali cu zero.

Aici menţionăm teorema lui Sylvester: o matriceA este pozitiv definită dacă i numai
a1
dacă toţi minorii principali sunt pozitivi: D1 = a11 > 0; D2 = ¯ a11 2
¯ > 0; D3 =
a2
j j ¯ a21 2 ¯
¯¯
¯
¯
¯ ¯

¯ ¯
68 6. Sisteme de ecuaţii
¯ liniare
¯
¯¯ a11
¯ > 0; : : : ; a12 : : : a1n ¯
a1 = ¯¯ a21
¯ a11 a12 3 D ¯ a22 : : : a2n ¯
a2 ¯¯ : : : ¯
= det(A) > 0:
¯ a21 a22 3 ¯ n ¯ ::
¯ ¯ ¯a ::: ::: : ¯
¯ ¯ n1
¯
¯ a31 a32 a33 ¯
¯ ¯
¯
¯ ¯
¯
an2 ::: ann ¯

¯
¯

¯ ¯
¯
Teorema 6.1.4.2. (Cholesky) Dacă matricea A este simetrică i pozitiv definită atunci
există factorizarea LLT pentru A i această descompunere este unică.

Demonstraţie. Demonstraţia vom face folosind metoda inducţiei matematice. Pen-tru


n = 1 avem A = L ¢ LT , adică a11 = l11 ¢ l11 = l112: Dar D1 = ja11j = a11 > 0; deci există un

singur număr real i pozitiv l11 pentru care l11 = pa11: Observăm că pentru a asigura
unicitatea descompunerii luăm radicalul aritmetic, care la orice număr real i pozitiv
atribuie tot un număr real i pozitiv. Presupunem că pentru matricea A = An¡1 de ordinul n
¡ 1, simetrică i pozitiv definită are loc descompunerea LLT , adică există o matrice
inferior triunghiulară Ln¡1 de ordinul n ¡ 1 astfel ca An¡1 = Ln¡1 ¢ LTn¡1: Fie

acum A = An o matrice de ordinul n simetrică i pozitiv definită:


0 a11 : : : a1;n¡1 a1;n 1

A = B a21 : : : a2;n¡1 a2;n C:

n
B::: ::: ::: ::: C
B C
Ba
n 1;1
: : : an 1;n 1
an 1;n
C
B ¡ ¡ ¡ ¡ C
B
B C
a ::: a 1 an;n C
B n;1 n;n
¡ C

@ A
Matricea An o tăiem în blocuri de matrici separând ultima linie i ultima coloană a
0a : : : a1;n¡1 1
matricii A : A = A n ¡1
11 a
a

; unde A =
Ba 21

: : : a 2;n ¡1
C

; iar

µ ¯ ¶ B C
n n a T nn n¡ 1
:: : : :: : : :

¯
¯
B
B
a ::: a
C
C
n 1;1 n 1;n 1
¯ B ¡ ¡ ¡ C

a1;
0 n 1 @ A

a2..; este o
a=B C. Aici menţionăm că, deoarece conform presupunerii An ma-
n
B . C
B C
B C
B C

@ A
an¡1;n
trice simetrică, rezultă că An¡1 va fi tot o matrice simetrică, iar pe ultima linie a lui An

putem pune aT , care înseamnă transpunerea matricii coloană a 2 Rn¡1 într-o ma-