Sunteți pe pagina 1din 201

UNIVERSITATEA AL.I.

CUZA IAI
FACULTATEA de INFORMATIC










CALCUL NUMERIC





Anca Ignat
1
CUPRINS
Preliminarii 3
Calcul matricial 5
Tipuri de matrici 8
Norme 9
Norme matriciale 10
Valori i vectori proprii 14
Surse de erori n calculule numerice 19
Rezolvarea sistemelor liniare 21
Evalaurea erorii n rezolvarea sistemelor liniare 21
Algoritmul de eliminare Gauss 27
Descompuneri LU 33
Factorizarea Choleski 37
Algoritmul Gauss-Jordan de inversare a unei matrici 40
Descompuneri QR 43
Algoritmul lui Givens 43
Algoritmul lui Householder 48
Metode iterative pentru rezolvarea sistemelor de ecuaii liniare 57
Schema general de deducere a unei metode iterative 57
Metoda Jacobi pentru rezolvarea sistemelor liniare 60
Metoda Gauss-Seidel pentru rezolvarea sistemelor liniare 63
Metode iterative pentru matrici simetrice i pozitiv definite 67
Metodele relaxrii 68
Valori i vectori proprii 73
Metoda lui Jacobi pentru aproximarea valorilor proprii ale unei
matrici simetrice 75
Forma superioar Hessenberg 81
Algoritmul QR de aproximare a valorilor proprii ale unei matrici
oarecare 87
Vectori proprii 92
2
Descompunerea dup valori singulare 94
Rezolvarea ecuaiilor neliniare 96
Metoda biseciei (a njumtirii intervalului) 96
Metoda tangentei (Newton-Raphson) 97
Metoda falsei poziii (a coardei) 100
Metoda secantei 101
Metoda Bairstow de aproximare a rdcinilor complexe ale
polinoamelor 103
Metoda lui Laguerre 106
Interpolare numeric 108
Polinomul de interpolare Lagrange 108
Forma Newton a polinomului de interpolare Lagrange 111
Schema lui Aitken de calcul a diferenelor divizate 115
Polinomul de interpolare Hermite 116
Funcii spline liniare continue 118
Funcii spline cubice de clas C
2
119
Integrare numeric 124
Formule de cuadratur NEWTON-CTES 126
Formula trapezului 129
Formula de cuadratur a lui SIMPSON 130
Formula de cuadratur a lui SIMPSON (3/8) 131
Formule iterate 132
Biblioteci de calcul numeric 133
Bibliografie 157
Teme de laborator 158


3
Preliminarii
Fie K un corp ( - corpul numerelor reale sau - corpul numerelor
complexe).
Definiie
X se numete spaiu vectorial peste corpul K dac sunt definite dou
operaii
+ : X X X i : K X X,
astfel nct ( X , + ) este un grup comutativ :
a + b = b + a , a,b e X comutativitate,
(a + b) + c = a + (b + c) , a,b,c e X asociativitate ,
- 0 e X astfel nct a + 0 = 0 + a = a , a e X - existena
elementului neutru ,
a e X, - -a e X astfel ca a + (-a) = (-a) + a = 0 - existena
elementului opus.
iar pentru operaia de nmulire cu scalari au loc relaiile:
(a+b) = a + b , e K , a,b e X ,
( + ) a = a + a , , e K , a e X,
( a ) = ( )a , , e K , a e X,
- 1 e K astfel nct 1.a = a , a e X.
Exemple:

este spaiu vectorial peste .


Fie x
i ,
y
i ,
e . Se definesc vectorii , x y e

i operaiile de adunare
i nmulire cu scalari astfel:
1 1 1 1 1
2 2 2 2 2
, , ,
n n n n n
x y x y x
x y x y x
x y x y x
x y x y x

+
| | | | | | | |
| | | |
+
| | | |
= = + = =
| | | |
| | | |
+
\ . \ . \ . \ .
. . . .
.
4
Similar se definete spaiu vectorial

peste corpul .
Fie vectorul z e

:
1
2
1 2
cu , ,..., .
n
n
z
z
z z z z
z
| |
|
|
= e
|
|
\ .
.

Pentru z e utilizm notaiile:
z = a + ib , Re z = a, Im z = b ,
2 2
, z a ib z a b = = +
Notm cu
m n
spaiul matricilor cu elemente reale cu m linii i n
coloane
11 1
1
1, , , , , 1, ,
n
ij
m mn
i m j
a a
A a n
a a
= =
| |
|
= e
|
|
\ .
.
. . . .


este spaiul matricilor cu elemente numere complexe cu m linii i n
coloane:
11 1
1
, , 1, , , 1, ,
n
ij
m mn
a a
A a i m j n
a a
| |
|
= e = =
|
|
\ .
.
. . . .

Definiie
Fie X un spaiu vectorial peste corpul K. Vectorii x
1
, x
2
, ,x
p
e X
spunem c sunt liniar independeni dac:
1 1 2 2 1 2
.. 0 ... 0
p p p i
x x x K o o o o o o o + + + = = = = , e
Spaiul vectorial X este finit dimensional dac exist vectorii x
1
, x
2
, ,x
p
e X, liniar independeni i orice mulime de q elemente din X cu q > p
este liniar dependent. n acest caz dimensiunea spaiului X este p (dimX
= p).
5
Fie spaiul vectorial X finit dimensional cu dim X = p.
Orice sistem de p vectori liniar independeni din X se numete baz a
spaiului X.
Fie x
1
, x
2
, ,x
p
e X o baz pentru spaiul X . Atunci pentru x e X , -
unice constantele o
1
, o
2
,, o
p
e K astfel nct
1 1 2 2
..
p p
x x x x o o o = + + + .

este un spaiu vectorial finit dimensional, dim

= n cu baza
canonic:
1 2
poziia
0
1 0 0 0
0 1 0
, , , , ,
1 -
0 0 1
0
k n
k
e e e e

| |
|
| | | | | |
|
| | |
|
| | |
= = = =
|
| | |
|
| | |
|
\ . \ . \ .
|
\ .
.
. .
. . .
.
Calcul matricial
Fie matricea patratic A

e

:
( )
11 1
, 1
1
,
n
ij
i j n
n nn
a a
A A a
a a
=
| |
|
= =
|
|
\ .
.
.
. .

Se definete matricea transpus:


( )
11 1
, 1
1
,
n
T T
ji
i j n
n nn
a a
A A a
a a
=
| |
|
= =
|
|
\ .
.
.
. .

Pentru matricea:
( )
1
1
,
i m ij
j n
A A a

=
=
e =
.
.

se definete matricea adjunct A


H
:
6
( )
1
1
11 1 11 1
1 1
,
H T
ji j n
i m
n m
H
m mn n mn
A A a
a a a a
A A
a a a a
=
=
= =
| |
| |
|
|
= =
|
|
|
|
\ .
\ .
.
.
. .
. . . .

Pentru
m n
A

e matricea adjunct coincide cu transpusa, A
H
= A
T
.
Fie vectorul xe

, acesta este considerat vector coloan,


1 n
x

e :
( )
1
2
1 2
T
n
n
x
x
x x x x x
x
| |
|
|
= =
|
|
\ .

.
Dac facem nmulirea matricial Ae
j
obinem coloana j a matricii A:
1
11 1
2
poziia
1
0
1
0
j
n
j
j j
m mn
mj
a
a a
a
Ae
a a
a

| |
| |
|
| | |
|
| |
|
= =
| |
|
|
|
| \ .
|
| \ .
\ .
. .
. .
.

.
Ae
j
este coloana j a matricii A, j=1,...,n, iar e
i
T
A este linia i a matricii A
i=1,...,m.
Fie vectorii x, y, cu ajutorul lor definim produsele scalare n i

:
( )
( )
1 1
2 2
1
2
1 2
1
,
,
n n
n n
n
H
i i n
i
n
x y
x y
x y
x y
x
x
x y x y y x y y y
x
=
| | | |
| |
| |
= e = e
| |
| |
\ . \ .
| |
|
|
= = =
|
|
\ .
_
. .

.

7
( ) ( )
1 1
2 2
1
2
1 2
1
,
,
n n
n n
n
T
i i n
i
n
x y
x y
x y
x y
x
x
x y x y y x y y y
x
=
| | | |
| |
| |
= e = e
| |
| |
\ . \ .
| |
|
|
= = =
|
|
\ .
_
. .

.

Proprietile matricii A
H
Proprieti ale matricii A
T
1.
(A + B)
H
= A
H
+ B
H
(A + B)
T
= A
T
+ B
T
2. (A
H
)
H
= A (A
T
)
T
= A
3. (AB)
H
= B
H
A
H
(AB)
T
= B
T
A
T
4. (A
-1
)
H
= (A
H
)
-1
(A
-1
)
T
= (A
T
)
-1
Propoziie
Fie , ,
m n n m
A x y

e e e
x
atunci:
( ) ( )
, , .
m
n
H
Ax y x A y

=


Pentru cazul real avem:
( ) ( )
, , ,
m
n
m n n m T
A x y Ax y x A y

e e , e =
x



Demonstraie.
(Ax , y) = y
H
(Ax) = y
H
A x = y
H
(A
H
)
H
x = (A
H
y)
H
x = (x , A
H
y).
8
Tipuri de matrici
Definiii
O matrice
n n
A

e se numete simetric dac A = A
T
.
O matrice A

e

se numete autoadjunct dac A = A
H
.
O matrice A

e

se numete unitar dac A
H
A = A A
H
= I
n
.
O matrice A

e

se numete ortogonal dac A
T
A = A A
T
= I
n
.
O matrice A

e

, A=(a
i j
) se numete matrice triunghiular inferior
(sau inferior triunghiular dac a
i j
= 0 pentru j > i.
11
21 22
1 2
0 .....................0
..................0
n n nn
a
a a
A
a a a

| |
|

|
|
= 0
|

|
|
................
\ .
.
. .
O matrice A

e

, A=(a
i j
) se numete matrice triunghiular superior
(sau superior triunghiular dac a
i j
= 0 pentru j < i.
11 12 13 1
22 23 2
33 3
. . . . . . . . . .
0
0 0
0 0 0 ...........
n
n
n
nn
a a a a
a a a
A a a
a

| |
|
.............
|
|
= ............
|
|
|
..
\ .
.
Notm cu I
n
matricea unitate:
1 0 0 0 0
0 1 0 0 0
,
0 0 0
0 0 0
n n
n n
I I


| |
|

|
| e =
|
0 1
|
|
0 1
\ .

9
Norme
Definiie
Fie X un spaiu vectorial peste corpul K. Se numete norm aplicaia:
. : X
+

care ndeplinete condiiile
(1) 0; 0 0;
(2) , , ;
(3) , , .
x x x
x y x y x y X
x x x X K
> = =
+ s + e
= e e
Vom numi norme vectoriale normele definite pe spaiile sau X =

Exemple
Fie spaiile vectoriale

sau

. Pe aceste spaii urmtoarele aplicaii


sunt norme vectoriale:
1
1
2
2
1
;
;
max{ 1.. }.
n
i
i
n
i
i
i
x x
x x
x x i n

=
=

=
=
= , =
_
_
Definiie
Se numete produs scalar n spaiul vectorial X aplicaia:
( ) , : X X K
care satisface condiiile :
( ) ( )
( )
( ) ( )
( ) ( ) ( )
( ) , 0 , , , 0 0;
( ) ( , ) , , , ,
( ) , , , , ,
( ) , , , , , .
a x x x X x x x
b x y y x x y X
c x y x y x y X K
d x y z x z y z x y z X

> e = =
= e
= , e e
+ = + , e
Este adevrat urmtoarea inegalitate, numit inegalitatea lui Cauchy-
Buniakovski-Schwarz:
( ) ( ) ( ) , , , , x y x x y y x y X s e
10
Demonstraie. Fie
( )
2
2
,
, 0 , 0 , :
n
x y
x X x y X y K
y
o e = e , = = e . Observm
c
( ) ( )
( )
( )
( )
( ) ( ) ( )
( ) ( ) ( )
( )
( )
( )
,
, , , 0
,
0 , , ,
,
, , , , ,
,
x y
x y y x y y y
y y
x y x y x y x x y y
x y
x x y x x x y x
y y
o
o o o o o
o
= =
s = =
= =
i innd seama de faptul c ( ) ( ) ( )
2
( , ) , ( , ) , , x y y x x y x y x y = = rezult
( )( ) ( )
( )
2
, , ,
0
,
x x y y x y
y y

> deci avem inegalitatea Cauchy-Buniakovski-


Schwartz.
ntr-un spaiu vectorial dotat cu produs scalar se poate induce o norm
numit euclidian:
( )
2
: , x x x = .
Reaminitm definiia produselor scalare pe

i pe

introduse anterior:
( ) ( )
1 1
, , ,
n n
i i i i
i i
x y x y x y x y
= =
= =
_ _


Obinem norma euclidian (valabil n ambele spaii

i

):
2
2
1
n
i
i
x x
=
=
_
.
Norme matriciale
Definiie
Aplicaia :
n n
se numete norm matricial dac:
(1) 0 ; 0 0.
(2) .
(3) , , .
(4) * , , .
n n
n n
n n
n n
A A A A
A A A
A B A B A B
A B A B A B
o o o

> e = =
= , e , e
+ s + e
s e


11
Exemple
Norma Frobenius definit de relaia
2
1 1
n n
i j
F
i j
A a

= =
=
__
este o norm
matricial.
Vom arta c aceast norm satisface condiiile din definiia normei
matriciale.
Introducem notaiile:
| |
1
2
1 2
1
2
i 1 2
n care
( ) , 1, , ; , 1, , .
n
m
j
j
n m
i i in j
mj
L
L
A C C C
L
a
a
L a a a i m C j n
a

(
(
(
= =
(
(

| |
|
|
= e = = e =
|

|
|
\ .

.
. .
.

Cu aceste notaii vom avea:
2 2
2
2
2
1 1 1 1
.
m n m n
ij i j
F
i j i j
A a L C
= = = =
= = =
__ _ _
Din definiie rezult c:
(1) 0 ,
0 1, , , 1, , , 0 0.
m n
F
ij
F
A A
A i m j n a A

> e
= = = = = . .

( )
{ }
{ } { }
1 2 1 2
2
2 2
2
2 2
1 1 1 2
2 2 2 2
2 2
2 2 2 2 2 2 2
1 1
(2) Fie ( , , ) i ( , , )
, 2Re( , )
2 ( , ) 2 2
A A A m n B B B m n
m m
m m m
A B A B A B A A B B
i i i i i i i i i i
F
i i i
m m
A A B B A A B B A
i i i i i i i i i
F F
i i
A L L L B L L L
A B L L L L L L L L L L
L L L L L L L L A B L

= = =
= =
= e = e
+ = + = + + = + + s
+ + s + + = + +
_ _ _
_ _

1
m
B
i
i
L
=
_
Considerm vectorii:
( ) ( )
1 2 1 2
, , , , ,
A A A m B B B m
m m
a L L L b L L L = e = e . Atunci produsul scalar
n

(a , b) =
2 2
1
( , )
m
A B
i i
F F
i
L L a b A B
=
s =
_
. Din aceste relaii rezult:
2 2 2
2
2 ( )
F F F F F F F
A B A A B B A B + s + + = + .
12
Deci .
F F F
A B A B + s +
2 2
1 1 1 1
(3) Fie i . Avem:
m n
m n m n
ij ij
F F
i j i j
A
A a a A

= = = =
_ _ _ _
e e
= = =

(4) Fie matricile A

e

,
n p
B

e
( )
( ) ( )
1
2
1
1
1 1 2
1
, , - linia a matricii
, , coloana a matricii
A
A
A n
i m ij i
j n
A
m
B B B B n
i n ij p j
j p
L
L
A a L i A
L
B b C C C C j B
=
=
=
=
| |
|
|
= = e
|

|
|
\ .
= = e

Matricea produs *
p
M A B

= e

are elementele
( )
1
,
n
A B
ij ik kj i j
k
m a b L C
=
= =
_
.
( )
2
2 2 2 2
2
2 2 2 2
1 1 1 1 1 1
2 2
,
.
p p p m m m
A B A B A B
i j i j i j
F
i j i j i j
F F
M L C L C L C
A B
= = = = = =
| |
| |
= s = =
|
|
\ .
\ .
=
__ __ _ _
Am artat c aplicaia Frobenius este o norm matricial.
Aplicaia
max
, , max{ ; 1, , 1, }
ij
A a i n j n = = = . . nu este o norm
matricial.
Pentru n = 2 fie:
2
max max
max max max
1 1 1 1
2 2 2 2
,
1 1 1 1
2 2 2 2
1
* , .
2
1
* 1 .
2
T
A B A
A B I A B
A B A B
| | | |

| |
| | = = =
| |

| |
\ . \ .
= = =
= > = -
13
Norme matriciale naturale
Fie
v
:

o norm vectorial. Pornind de la aceast norm


vectorial definim o norm matricial, numit norm matricial natural
sau indus.
v
i
v
v v
v v
max{ ; , 0}
max{ ; , 1}
max{ ; , 1}
Ax
A x x
x
Ax x x
Ax x x

= e =
= e s
= e =

i
A

se numete norm matricial natural sau norm indus de norma
vectorial
v

Avem urmtoarea relaie:
v i v
, ,
n n
Ax A x A x

s e e

.
Norma Frobenius
F
nu este o norm natural. n adevr, pentru orice
norm vectorial
v
, norma matricial indus a matricii unitate este 1:
v
i
v
max{ ; 0} 1
n
n
I x
I x
x
= = = ,
iar n cazul normei Frobenius avem:
1
2
(1 1 1) 1 pentru 2.
n
F
I n n = + + + = = >
Pentru
1
1
n
i
i
x x
=
=
_
norma matricial indus este:
1
1
max{ ; 1, 2, , }
n
ij
i
A a j n
=
= =
_
.
Pentru max{ 1, , }
i
x x i n

= ; = . norma matricial indus este:


1
max{ ; 1, 2, , }
n
ij
j
A a i n

=
= =
_
. .
14
Dac
v
este o norm vectorial i
n n
P

e este o matrice nesingular
atunci aplicaia
P P v
: , x Px =

este de asemenea o norm


vectorial. Considerm normele matriciale induse de
v
i
P
-
i

i respectiv
i,P
. Legtura dintre cele dou norme matriciale este dat de
relaia
1
i,P
i
. A PAP

=
Valori i vectori proprii
Definiii
Fie
n n
A

e . Se numete valoare proprie (autovaloare) a matricii A un
numr complex e pentru care exist un vector nenul , 0 x x e =

pentru care:
Ax x = .
Vectorul x se numete vector propriu (autovector) asociat valorii proprii
.
Observm c:
( ) 0, 0 det( ) 0
n n
Ax x I A x x I A = = = =
adic matricea I A este singular. Polinomul:
1 2
1 1
( ) det( ) ...
n n n
A n n n
p I A a a a a

2
= =
se numete polinom caracteristic asociat matricii A. Polinomul p
A
de
grad n are n rdcini care sunt valorile proprii ale matricii A.
Se numete raz spectral a matricii A numrul ( ) A :
( ) max{ , 1, , , valorile proprii ale matricii
i i
A i n = = A} .
Norma matricial indus de norma vectorial euclidian
2
2
1
n
i
i
x x


=
=
_
este
2
( )
T
A A A = i se numete norma spectral.
Fie norma matricial indus de norma euclidian:
15
2 2
sup{ ; , 1} A Ax x X x
2
= e =
Considerm un vector oarecare x cu norma euclidian egal cu 1:
( )
2
2
1 1 1 1 1 1
, ( ) .
n n n n n n
i j j i k k j i j i k k
i j k j i k
Ax Ax Ax a x a x x a a x

= = = = = =
| |
| |
= = =
|
|
\ .
\ .
_ _ _ _ _ _
Tinnd seama de definiia matricii A
H
:
( ) ( ) ( )
1
, .
n
H H
ji
ij lp lq
pq
l
A a A a A A a a
=
= = =
_
2
2
, ) ( , ).
H
Ax Ax Ax A Ax x = ( =
Se observ c (A
H
A)
H
=A
H
A. Fie
1 ,

2 , ..

n
valorile proprii i x
1,
x
2
,,
x
n
vectorii proprii corespunztori pentru matricea A
H
A. Din:
0 (Ax
i
, Ax
i
) = (A
H
Ax
i
,xe
i
) =(
i
x
i
, x
i
) =
i
( x
i
, x
i
)
rezult c
i
> 0. Fie raza spectral a matricii A
H
A,
(A
H
A) = max{
I
, i=1..n } > 0.
Sa observm ca vectorii proprii ai matricii A
H
A corespunztori unor
valori proprii distincte sunt ortogonali:
(Ax
i
, Ax
j
) = (A
H
A x
i
,x
j
) =
i
( x
i
, x
j
);
( ) ( ) ( ) ( ) ( ) ( )
, , , , , ,
H
i j j i j i j j i j j i j i j
Ax Ax Ax Ax A Ax x x x x x x x = = = = =
din aceste relaii rezult:
(
i
-
j
) ( x
i
, x
j
)=0 ( x
i
, x
j
)=0.
Presupunem c vectorii proprii x
i
ai matricii A
H
A au norma egal cu 1.
Fie:
( )
( )
2
1 1
1 1 1 1
2
1
, ; 1;
, , ,
n n
i i i
i i
n n n n
H H
i i j j i i i j j
i j i j
n
H
i i
i
x X x x
A Ax x A Ax x x x
A A
o o
o o o o
o

= =
= = = =

=
e = =
| | | |
= = =
| |
\ . \ .
= s
_ _
_ _ _ _
_
deci
( )
H
A A A
2
s
Fie x
1
vectorul propriu al matricii A
H
A corespunztor valorii proprii
1
( )
H
A A = . Atunci ( Ax
1
, Ax
1
) = (A
H
A x
1
, x
1
) =
1
rezultnd:
( )
H
A A A
2
=
16
Propoziie
Fie o norm matricial natural. Atunci ( ) ,
n n
A A A

s e .
Demonstraie. Fie
max
( ) A = i
max
x vectorul propriu corespunztor
lui
max
. Avem:
max max max
Ax x = .
Atunci:
max max max max max
( ) ( ) Ax x A x A x A A = = s s
Fie , { }un ir de matrici.
n n k
A A

e Spunem c irul A
k
converge la
matricea 0 dac i numai dac irul de numere pozitive {|| A
k
||} converge
la 0.
0 , 0 ,
k k
A k A k .
Propoziia 1
Fie
n n
A

e . Atunci:
0 , ( )
k
A k A < 1.
Dac exist o norm matricial natural pentru care ||A|| < 1 atunci:
0 pentru .
k
A k
Observaie. n cazul n = 1 , avem
0 pentru 1.
k
a a k a e , <
Demonstraie. Vom demonstra doar implicaia . Avem:
( ) ( )
( ) ( )
0 , 0 , .
0 , .
lim 0 1.
k k
k
k k
k
k
A k A k
A A A k
A A


= s
= <
17
Fie
n n
A

e . Spunem c seria
0
k
k
A

=
_
este convergent dac irul de
matrici al sumelor pariale {S
n
},
0
n
k
n
k
S A
=
=
_
converge la o matrice S,
numit suma seriei.
Propoziia 2
Fie
n n
A

e . Seria
0
k
k
A

=
_
converge dac i numai dac raza spectrala a
matricii A este subunitar:
( ) 1.
n
k
k
A S A
=0
= <
_
Dac exista o norm a matricii A astfel nct ||A|| < 1 atunci seria
converge. n cazul convergenei avem
1
0
( ) .
k
k
A S I A


=
= =
_
Demonstraie. Presupunem c seria este convergent. Deducem c:
( ) ( )
Pr.1
1 1
0 0 1.
n n
n n
n n n n n
S S S S S S A A A


, = <
Presupunem c ( ) 1. A < Atunci 1 nu este valoare proprie pentru matricea
A deci:
1
det( ) 0 ( ) .
n n
I A I A

= -
Avem:
2 1
( ) ( )( .. )
n n
n n n n n
I A S I A I A A A I A
+
= + + + + =
1 1
( ) ( ).
n
n n n
S I A I A
+
=
Tinnd seama c am presupus ( ) 1 A < din Propoziia 1 rezult:
1 1 1
0 pentru pentru ( ) .
n n
n n n n
A n I A I n S I A
+ +

Avem implicaiile: ( )
1
0
1 1 ( ) .
k
n
k
A A A A I A

=
< s < =
_
18
Propoziia 3
Fie
n n
A

e pentru care exist o norm matricial natural astfel ca
1 A < . Atunci exist matricile
1
( )
n
I A

i avem evalurile:
1
1 1
( ) .
1 1
I A
A A

s s
+
Demonstraie. Din condiia ||A|| < 1 rezult c ( ) 1 A < . Deci 1 nu sunt
valori proprii ale matricii A, det(I
n
-A) 0 adic exist matricile
1
( )
n
I A

. Din relaiile:
( )
1 1 1
( ) 1 ( ) ( ) (1 )
n n n n n n n
I A I A I I I A I A I A A

= = s s +
obinem:
1
1
( )
1
n
I A
A

s
+
.
Folosind relaia:
1 1 1
( ) ( ) ( ) ( )
n n n n n
I A I A I A I A A I

= =
deducem:
1 1 1 1
1
( ) ( ) ( ) 1 ( )
(1 ) ( ) 1
n n n n n
n
I A I I A A I A I A A
A I A

= s +
s
)
deci:
1
1
( ) .
1
n
I A
A

19
Surse de erori n calculule numerice
1. Erori n datele de intrare:
- msurtori afectate de erori sistematice sau perturbaii
temporare,
- erori de rotunjire: 1/3 , t , 1/7,..
2. Erori de rotunjire n timpul calculelor:
- datorate capacitii limitate de memorare a datelor,
- operaiile nu sunt efectuate exact.
3. Erori de trunchiere:
- limita unui ir , suma unei serii , funcii neliniare aproximate
de funcii liniare, aproximarea derivatei unei funcii
4. Simplificri n modelul matematic
- idealizri , ignorarea unor parametri.
5. Erori umane i erori ale mainii.
Eroare absolut , eroare relativ
Fie a valoarea exact , valoarea aproximativa.
Eroare absolut : a- sau |a - | sau a
a =
a
, |a - |
a
Eroare relativ: a 0 sau sau
a a a
a a a


a
a
a
o

s
a
o se exprim de regul n %.
n aproximrile 1kg 5g, 50g5g erorile absolute sunt egale dar pentru
prima eroarea relativ este 0,5% iar pentru a doua eroarea relativ este
10%.
20
Fie
( )
1 2
1 2
1 2 1 2
1 1 2 2
1 2 1 2
, ,
( )
.
a a
a a
a a a a
a a
a a
+
= A = A
= A A
A s A + A
Fie a
1
cu eroare relativ
2
a
o i a
2
cu eroare relativ
2
a
o , pentru
a = a
1
* a
2
sau
1
2
a
a
rezult
1 2
a a a
o o o = +
21
Rezolvarea sistemelor liniare
Evalaurea erorii n rezolvarea sistemelor liniare
Fie , , A b x

e e e

i sistemul de ecuaii algebrice liniare:
Ax b =
Dac matricea A este nesingular exist i este unic soluia exact:
1
x A b

=
Pentru erorile n datele de intrare facem notaiile:
-
eroarea absolut pentru A A

A e

;
-
eroarea absolut pentru b b A e

n realitate se rezolv sistemul:


( )
`
A A x b b + A = + A
soluia fiind

x :

x x x = + A
n mod natural se ridic urmatoarele probleme :
1. n ipoteza c matricea A este nesingular ce condiii trebuie s
ndeplineasc A A pentru ca matricea A+ A A s fie nesingular ?
2. Presupunnd c matricile A i A+ A A sunt nesingulare care sunt
relaiile ntre erorile relative ale datelor de intrare ,
A b
A b
A A
i
ale datelor de ieire
x
x
A
?
Pentru prima problem n cele ce urmeaz presupunem c matricea A
este nesingular. Din egalitatea:
( )
1
n
A A A I A A

+ A = + A
rezult c A+A este nesingular dac i numai dac I
n
+A
-1
A este
nesingular.
Propoziie
Fie A nesingular i
1
1
A
A

A < . Atunci I+A


-1
A este nesingular i
avem:
( )
1
1
1
1
1
n
I A A
A A

+ A s
A
Demonstraie. Avem:
22
( )
Pr.3
1
1 1 1
1
1
1 A A A A A I A A
A

A < A s A < - + A
de unde obinem:
( )
1
1
1 1
1 1
1 1
I A A
A A A A


+ A s s
A A
.
Pentru a doua problem presupunem c A este nesingular i
1
1
A
A

A < . Au loc urmtoarele implicaii:


( )( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( )
1
1 1 1
1
1 1
1
1
(1)
1
A A x x b b A A x Ax A x b b
A I A A x b A x x I A A A b A x
x I A A A b A x
A
x b
A
x x A A

+ A + A = + A + A A + + A = + A
+ A A = A A A = + A A A (

A s + A A + A
| | A A
s + A
|
A
\ .
Din Ax =b obinem
1 A
b A x
x b
s s i innd seam de acest
rezultat, din (1) deducem:
1
1
.
1
A A
x b A
x b A A A

| | A A A
s +
|
A
\ .
Notm cu k(A)=||A
-1
|| ||A|| numrul de condiionare al matricii A.
Propoziie
Dac matricea A este nesingular i
1
1
A
A

A < atunci:
( )
( ) 1
x b A k A
A
x b A
k A
A
| | A A A
s +
|
A
\ .

.
innd seama c I =A A
-1
rezult ( )
1
1 . I A A k A

= s =
Asfel numrul de condiionare al matricii A, k(A) 1, depinde de norma
matricial natural utilizat.
O matrice A pentru care numrul de condiionare este mare se numete
matrice prost condiionat. Pentru matricile prost conditionate eroarea
23
relativ a soluiei sistemului Ax=b ,
x
x
A
poate fi mare chiar dac erorile
relative i
b A
b A
A A
sunt mici.
Fie A o matrice simetric
T
A A = , nesingular. Utiliznd norma matricial
subordonat normei vectoriale euclidiene:
( ) ( )
( )
2
2
1
2
2
T
A A A A
k A A A



= =
=
Observm c matricea simetric A are valorile proprii reale
1 2
,
n


, ..., , A
2
are valorile proprii
2 2 2
1 2
,
n
, ..., iar A
-1
are valorile
proprii
1 2
1 1 1
, , ....,
n

. Presupunnd c:
( ) ( )
1
1 2
1
1
.... i
n n
A A

s s s = =
obinem pentru matricea simetric A:
( ) ( )
1 1
2
2
1
1
,
n
A A A A


= = = = , ( )
1
n
k A

= se numete numr
de condiionare spectral.
Pentru o matrice ortogonal A
( )
1 T T T
A A A A I A A

= = = numrul de
condiionare spectral ( )
2
2
1,
T
k A A A = = deoarece:
( ) ( )
2
2
1
T T
A A A I A = = = =
.
24
Metode numerice de rezolvarea sistemelor liniare
Fie matricea nesingular A

e

i be

. Rezolvarea sistemului
de ecuaii liniare Ax b = se poate face folosind regula lui Cramer:
det ( )
, 1, ,
det
i
i
A b
x i n
A
= = . ,
n care A
i
(b) se obine din matricea A prin nlocuirea coloanei i cu
vectorul b. Acest algoritm este foarte costisitor din punct de vedere al
resurselor i este instabil numeric (perturbri mici n datele de intrare pot
conduce la perturbri mari n datele de ieire). Din aceste motive s-au
cutat alte metode de aproximare a soluiei x. Unul din cele mai folosii
algoritmi este algoritmul de eliminare Gauss.
Algoritmul const n transformarea sistemului Ax b = ntr-un sistem
echivalent cu Ax b A =

matrice triunghiular superior:
`
1 1
(notm ) x A b A b Ax b Ax b

= = = =

~
Vom considera mai nti rezolvarea sistemelor liniare cu matrici
triunghiulare.
Metoda substituiei
Fie sistemul liniar Ax = b unde matricea sistemului A este triunghiular.
Pentru a gsi soluia unic a sistemului, trebuie ca matricea s fie
nesingular. Determinantul matricilor triunghiulare este dat de formula:
11 22
det =
nn
A a a a
Prin urmare pentru rezolvarea sistemului vom presupunem c:
det 0 , 0 =1, 2, ,
ii
A a i n = = .
Vom considera nti cazul cnd matricea A este inferior triunghiular.
Sistemul are forma:
11 1 1
21 1 22 2 2
1 1 2 2
1 1 2 2
=
=
=
=
i i ii i i
n n ni i nn n i
a x b
a x a x b
a x a x a x b
a x a x a x a x b
+
+ + +
+ + + + +
.

.

(1)
Necunoscutele
1
x ,
2
x , ...,
n
x se deduc folosind ecuaiile sistemului de la
prima ctre ultima.
Din prima ecuaie se deduce
1
x :
25
1
1
11
b
x
a
= (2)
Din a doua ecuaie , utiliznd valoarea x
1
din (2) , obinem
2
x :
2 21 1
2
22
=
b a x
x
a

Cnd ajungem la ecuaia i :


1 1 2 2 1 1
=
i i ii i ii i i
a x a x a x a x b

+ + + +
folosind variabilele
1
x ,
2
x ,...,
1 i
x

calculate anterior, avem:


1 1 1 1
=
i i ii i
i
ii
b a x a x
x
a


Din ultima ecuaie se deduce
n
x astfel:
1 1 2 2 1 1
=
n n n nn n
n
nn
b a x a x a x
x
a


Algoritmul de calcul a soluiei sistemelor (1) cu matrice inferior
triunghiular este urmtorul:
1
1
, 1, 2, , 1,
i
i ij j
j
i
ii
b a x
x i n n
a

=

= =
_
.
Acest algoritm poart numele de metoda substituiei directe.
Vom considera, n continuare sistemul (1) cu matrice superior
triunghiular :
11 1 1 1 1 1 1 1
1 1
1 1 1 1 1
=
=
=
i i n n n n
ii i in n in n i
n n n n n n n
a x a x a x a x b
a x a x a x b
a x a x b



+ + + + +

+ + +

+

=
nn n n
a x b
Necunoscutele
1
x ,
2
x ,...,
n
x se deduc pe rnd, folosind ecuaiile
sistemului, de la ultima ctre prima.
Din ultima ecuaie gsim
n
x :
n
n
nn
b
x
a
= (4)
Folosind valoarea lui
n
x dedus mai sus, din penultima ecuaie
obinem:
1 1
1
1 1
=
n n n n
n
n n
b a x
x
a

26
Cnd ajungem la ecuaia i :
1 1
=
ii i ii i in n i
a x a x a x b
+ +
+ + +
se cunosc deja
1 i
x
+
,
2 i
x
+
,...,
n
x i deducem:
1 1
=
i ii i in n
i
ii
b a x a x
x
a
+ +

Din prima ecuaie gsim valoarea lui
1
x :
1 12 2 1
1
11
=
n n
b a x a x
x
a

Procedeul descris mai sus poart numele de metoda substituiei inverse
pentru rezolvarea sistemelor liniare cu matrice superior triunghiular:
1
, , 1, , 2,1.
n
i ij j
j i
i
ii
b a x
x i n n
a
= +

= =
_
(5)
Pentru a evalua efortul de calcul pentru metoda substituiei inverse vom
nota cu M numrul de operaii *, / (nmuliri/mpriri) efectuate i A
numrul operaiilor (adunri/scderi) efectuate.
Atunci pentru calculul componentei x
i
se efectueaz M=n-i+1, A=n-i i
n total:
( )
( )
( )
( )
1 1 1
1 1
1 1
1 ,
2 2
n n
i n k i n k
n n n n
M n i k A n i k

= = = =
+
= + = = = = =
_ _ _ _
Efortul de calcul pentru metoda substituiei directe este deasemenea
M=n(n+1)/2, A=n(n-1)/2.
27
Algoritmul de eliminare Gauss
Algoritmul se realizeaz n n-1 pai prin transformarea sistemului dat
ntr-un sistem echivalent cu matrice triunghiular superior.
Pas 1: la acest pas se obine sistemul :
( ) ( ) ( ) 1 1 1
, unde A x b Ax b A = = ~ are
prima coloan n form superior triunghiular.
Pas 2: se construiete sistemul
( ) ( ) ( ) 2 2 2
, unde A x b Ax b A = = ~ are
primele doucoloane n form superior triunghiular.
.
Pasul r: se obine sistemul
( ) ( ) ( )
, unde
r r r
A x b Ax b A = = ~ are primele r
coloane n form superior triunghiular.
.
Pasul n-1 : se obine sistemul
( ) ( ) ( ) 1 1 1
, unde
n n n
A x b Ax b A

= = ~ are
primele n-1 coloane n form superior triunghiular.
Dac la un anumit pas matricea
( ) r
A nu poate fi construit aceasta ne va
arta c matricea A este singular.
n realizarea acestor pai se utilizeaz urmtoarele operaii elementare:
nmulirea unei ecuaii cu un factor i adunarea la alt ecuaie;
interschimbarea a dou linii i/sau dou coloane n matricea A;
Pas 1: Intrare : sistemul Ax b =
Ieire : sistemul
( ) ( ) ( ) 1 1 1
, unde matricea A x b Ax b A = = ~ are prima
coloan n form superior triunghiular.
Fie ecuaia i, cu i=1,,n
1 1 2 2
:
i i i in n i
E a x a x a x b + + + = .
Presupunem
11
0 a = . Operaiile efectuate au ca obiectiv anularea
coeficienilor lui x
1
din ecuaiile de la 2 la n i sunt descrise n
continuare:
( ) ( )
( ) ( )
( ) ( )
1 1
21
1 2 2 21
11
1 1
1
1 1
11
1 1
1
1 1
11
0
0
0
i
i i i
n
n n n
a
E E E a
a
a
E E E a
a
a
E E E a
a
| |
- + = =
|
\ .
| |
- + = =
|
\ .
| |
- + = =
|
\ .
.
.
28
Sistemul obinut prin aceste operaii are forma:
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
1 1 1 1
11 1 12 2 1 1
1 1 1
22 2 2 2
1 1 1
2 2
1 1 1
2 2
n n
n n
i in n i
n nn n n
a x a x a x b
a x a x b
a x a x b
a x a x b

+ + + =

+ + =

+ + =

+ + =

sau
( ) ( )
( )
( )
( )
1 1
1 1 1 1
1
1
1
11
1
1
1
1
1
11
, 1, , , .
, 2, , ; 2, , .
0, 2, , .
, 2, , .
j j
i
ij ij j
i
i
i i
a a j n b b
a
a a a i n j n
a
a i n
a
b b b i n
a

= = =

| |
= + = =
|

\ .

= =

= =

Pas 2: Intrare :
( ) ( ) 1 1
A x b =
Ieire :
( ) ( ) ( ) 2 2 2
, A x b Ax b A = = ~ are primele dou coloane n
form superior triunghiular.
Se presupune
( ) 1
22
0 a = i se urmrete anularea elementelor
( ) ( ) ( ) 2 2 2
32 42 2
, , ,
n
a a a (transformarea coloanei 2 n form superior
triunghiular). Operaiile efectuate asupra ecuaiilor
( ) 1
, 3, ,
i
E i n = sunt
urmtoarele :
( )
( )
( )
( ) ( ) ( )
( )
( )
( )
( ) ( ) ( )
( )
( )
( )
( ) ( ) ( )
1
1 1 2 2
32
2 3 3 32
1
22
1
1 1 2 2
2
2 2
1
22
1
1 1 2 2
2
2 2
1
22
0;
0;
0;
i
i i i
n
n n n
a
E E E a
a
a
E E E a
a
a
E E E a
a
| |
- + = =
|
\ .

| |

- + = =
|
\ .

| |
- + = =
|

\ .
.
.
29
Obinem pentru matricea A
(2)
i vectorul b
(2)
relaiile:
( )
( ) ( )
( ) ( )
( )
( )
( )
( )
( )
( ) ( ) ( )
( ) ( )
( )
( )
2
1 1
2 1
2 2
1
2 1 1
2
2
1
22
2
1
2
2
2 2 1
1 1 2 2
1
2 1 (1)
2
2
1
22
, 1, ,
, 2, ,
, 3, , ; 3, ,
0, 2, ,
0, 3, ,
,
, 3, , .
j j
j j
i
ij ij j
i
i
i
i i
a a j n
a a j n
a
a a a i n j n
a
a i n
a i n
b b b b
a
b b b i n
a

= =

= =

| |
= + = =
|

\ .

= =

= =

= =

= =

.
.
.
.
.
.

Se observ c nu se schimb forma superior triunghiular a primei


coloane.
Pas r: Intrare :
( ) ( ) 1 1 r r
A x b

=
Ieire :
( ) ( ) ( )
,
r r r
A x b Ax b A = = ~ are primele r coloane n form
superior triunghiular.
Sistemul are forma urmtoare:
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
1 1 1 1
11 1 1 1 1
1 1 1
1 1 1
1 1 1
r r r r
r r n n
r r r
rr r rn n r
r r r
r r r r n n r
r
ir
a x a x a x b
a x a x b
a x a x b
a



+ + +
+ + + + =


+ + =
+ + =


.
( ) ( ) ( )
( ) ( ) ( )
1 1 1
1 1 1
r r
r in n i
r r r
nr r nn n n
x a x b
a x a x b

+ + =

+ + =

Presupunem
( ) 1
0.
r
rr
a

= Vom urmri anularea elementelor
( ) ( ) ( )
1 2
, , , .
r r r
r r r r nr
a a a
+ +
Operaiile efectuate sunt:
30
( )
( )
( )
( ) ( ) ( )
( )
( )
( )
( ) ( ) ( )
( )
( )
( )
( ) ( ) ( )
1
1 1
1
1 1 1
1
1
1 1
1
1
1 1
1
0;
0;
0;
r
r r r r
r r
r r r r r
r
rr
r
r r r r
ir
r i i ir
r
rr
r
r r r r
nr
r n n nr
r
rr
a
E E E a
a
a
E E E a
a
a
E E E a
a


+
+ + +

| |
- + = =
|
\ .

| |

- + = =
|
\ .

| |
- + = =
|

\ .
.
.
Obinem pentru matricea A
(r)
i vectorul b
(r)
formulele:
( )
( ) ( )
( ) ( )
( )
( )
( )
( )
( )
( ) ( )
( ) ( )
( )
( )
1 1
1
1
1 1
1
1 1
1
1
1 ( 1
2
1
, 1, , ,
, 2, , , , ,
, 1, , ; 1, , .
0, 1, , , 1, , .
,
, 2, , ,
r
j j
r k
kj kj
r
r r r
ir
ij ij rj
r
rr
r
ij
r
r j
j j
r
r r r
ir
i i
r
rr
a a j n
a a k r j k n
a
a a a i r n j r n
a
a j r i j n
b b
b b j r
a
b b b
a

= =
= = =
| |
= + = + = +
|
\ .
= = = +
=
= =
=
.
. .
. .
. .
.
)
, 1, , . i r n

= +

.
Se observ c nu se schimb forma superior triunghiular a primelor r-1
coloane.
La fiecare pas s-a fcut ipoteza
( ) 1
0
r
rr
a

= . Elementul
( ) 1 r
rr
a

poart
numele de pivot. n cazul n care elementul pivot este nul se pot aplica
urmtoarele strategii numite de pivotare:
1
0
.Fr pivotare Se caut primul indice
{ }
( )
0
1
0
, 1, , astfel nct 0
r
i r
i r r n a

e + = . Se interschimb liniile i
0
i r.
S observm c n procesul de calcul la pasul r intervine factorul
( ) 1
1
r
rr
a

astfel c valori mici ale lui
( ) 1 r
rr
a

conduc la amplificarea erorilor de
31
calcul. Pentru a asigura stabilitatea numeric a procesului de calcul este
de dorit ca
( ) 1 r
rr
a

s fie mare.
2
0
. Pivotare parial: Se determin indicele i
0
:
( ) ( )
{ }
0
1 1
max ; , ,
r r
i r ir
a a i r n

= = .
i se interschimb liniile
0 0
, dac i r i r = .
3
0
.Pivotare total: Se determin indicii i
0
i j
0
:
( ) ( )
{ }
0
0
1 1
max ; , , , , ,
r r
i j ij
a a i r n j r n

= = = . .
i se interschimb liniile
0 0
, dac i r i r = i coloanele
0 0
, dac . j r j r =
Schimbarea coloanelor implic schimbarea ordinii variabilelor astfel nct
n final va trebui refcut ordinea iniial a variabilelor.
Dac dup pivotare elementul pivot rmne nul,
( ) 1
0 ,
r
rr
a

= atunci putem
deduce c matricea A
(r-1)
este singular.
n adevr, dac n procesul de pivotare parial
( ) 1
0 ,
r
rr
a

= atunci
( ) ( ) ( ) ( )
11 12 1
1 1 1 1 ( 1)
11 22 1 1
0
0
det det 0
0
n
rn
r r r r rr rn r
r r
nn
nn
a a a
a
a a
A A a a a
a
a



(
(
(
(
(
( = 0
(
= = =
(
( 0
(
(
(
0

(
0
(

Deoarece operaiile efectuate (cele de inetrschimbare de linii i/sua


coloane) nu au schimbat dect semnul determinantului avem:
( ) 1
det det 0 det 0
r
A A A

= = =
prin urmare matricea A iniial este singular.
i n cazul procesului de pivotare total dac
( ) 1
0 ,
r
rr
a

= atunci:
( ) ( ) ( ) ( )
11 12 1
1 1 1 1 ( 1)
11 22 1 1
0 0
0 0 0
det det 0
0 0
0
n
r r r r rr r
r r
a a a
a
A A a a a



(
(

(
(
(
( = 0
(
= = =
(
( 0
(
(
(
0

(
0

. .

Avem
( ) 1
det det 0
r
A A

= = A este matrice singular.
32
Putem suma algoritmul descris mai sus astfel:
1;
pivotare( );
while ( -1 i | | > )
// Pas r
for 1, ,
- ;
for 1, ,
* ;
rr
ir
rr
ij ij rj
r
r
r n a
i r n
a
f
a
j r n
a a f a
c
=
s

- = + .
=
= + .
= +

-
-
-
( 1) ( 1)
0;
* ;
1;
pivotare( );
if (| | ) 'MATRICE SINGULARA'
else { ,
se rezolv sistemul triunghiular superior
ir
i i r
rr
n n
a
b b f b
r r
r
a
A A b b
Ax
c

=
= +
- = +
-
s

=
-
} b
Numrul de operaii efectuate la pasul r i n total este:
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 1
2
1 1
1 1
2
1 1
3 3
2 2
( ) 1 1 1
1 2 5
M: 2 ,
6
1 1
A: ,
3
M: ; :
3 3
n n
r r
n n
r r
n r M n r A n r A A M
n n n
n r n r
n n n
n r n r
n n
n n

= =

= =
+ + + + (

+
+ =
+
+ =
+ +
_ _
_ _

33
Descompuneri LU
Dac avem pentru matricea A o descompunere de tipul A=LU, cu L
matrice triunghiular inferior i U matrice triunghiular superior atunci
rezolvarea sistemul liniar Ax=b se reduce la rezolvarea a dou sisteme
liniare cu matrici triunghiulare:
1
= soluia y
= = ,
= soluia x
Ly b
Ax b LUx b x A b
Ux y
-
-
- -

=

Se rezolv nti sistemul inferior triunghiular = Ly b . Apoi se rezolv


sistemul superior triunghiular = Ux y
-
unde y
-
este soluia obinut din
rezolvarea sistemului precedent = Ly b . Vectorul x
-
rezultat din
rezolvarea sistemului = Ux y este i soluia sistemului iniial = Ax b .
Fie minorul principal principal al matricii A:
11 12 1
21 22 2
1 2
, 1, ,
p
p
p
p
p p pp
a a a
a a a
A p n
a a a


(
(

(
= e =
(
(

(

.
.

Teorem (descompunere LU)


Fie A

e

o matrice real ptratic de dimensiune n astfel nct
det 0
p
A = , =1, , p n . . Atunci exist o unic matrice inferior
triunghiular
, =1,...,
= ( )
ij i j n
L l cu =1, =1, ,
ii
l i n . i o unic matrice
superior triunghiular
, =1,...,
= ( )
ij i j n
U u astfel nct
A = L U (1)
Demonstraie. Existena. Algoritmul Doolittle de calcul al descompunerii
LU
(demonstraia se face prin inducie dup n dimensiunea matricii A)
Fie A

e

o matrice real ptratic de dimensiune n care satisface
ipotezele teoremei de mai sus. Algoritmul de calcul al matricilor L i U
are n etape. La fiecare pas se determin cte o linie din matricea U i
cte o coloan din matricea L. Descriem n continuare, un pas oarecare.
Pasul p ( =1, 2, , p n . )
Se determin elementele liniei p ale matricii U , , = , ,
pi
u i p n . , i
elementele coloanei p ale matricii L,
, = 1, ,
ip
l i p n + . =1
pp
l (u
pi
= l
ip
=0, i=1,,p-1).
34
Sunt cunoscute din paii anteriori elementele primelor 1 p linii din U
(elemente
kj
u cu =1, , 1, k p j . ) i elementele primelor 1 p coloane
din L (elemente
ik
l cu =1, , 1, k p j . ).
Calculul elementelor liniei p din matricea U , = , ,
pi
u i p n . se face
folosind elementul a
pi
i (LU)
pi
. Avem:
1
=1 =1 =1
= ( ) ( = 0, = 1, , ) = =
p p n
pi pi pk ki pk pk ki pp pi pk ki
k k k
a LU l u l k p n l u l u l u

= + +
_ _ _
.
Pentru = , , i p n . avem:
1
1
, , ,
p
pi pi pk ki
k
u a l u i p n

=
= =
_
. (2)
( =1
pp
l ,
pk
l ,
ki
u =1, , 1 k p . sunt elemente de pe coloane din L i
linii din U calculate la paii anteriori)
Calculul elementelor coloanei p din matricea L: , = 1, ,
ip
l i p n + .
( = 0 , =1, , 1, =1
ip pp
l i p l . ) se face analog:
1
=1 =1 =1
= ( ) ( = 0, = 1, , ) = =
p p n
ip ip ik kp kp ik kp ip pp ik kp
k k k
a LU l u u k p n l u l u l u

= + +
_ _ _
.
Dac 0
pp
u = putem calcula elementele nenule ale coloanei p din
matricea L astfel:
1
1
( ) / , 1, ,
p
ip ip pk ki pp
k
l a l u u i p n

=
= = +
_
(3)
(elementele
pk
l ,
ki
u =1, , 1 k p . sunt cunoscute deja la pasul p fiind
calculate anterior)
Dac = 0
pp
u , calculele se opresc, descompunerea LU nu poate fi
calculat - matricea A are un minor
p
A cu determinantul 0.
Unicitatea. Demonstraie prin reducere la absurd.
Facem observaia c inversa unei matrici nesingulare triunghiular
inferior (superior) este o matrice de acelai tip.
Presupunem c
1 1
A LU LU = = (4)
Din ipoteza A nesingular rezult existena inverselor matricilor
1 1
, , , L L U U . nmulind egalitatea (4) la stnga cu
1 1 1 1
1 1 1
i cu la dreapta obinem . L U UU L L

=
1 1
1 1
1 1
1 1 1 1
Matricea este triunghiular superior iar matricea este triunghiular inferior
cu elementele diagonale egale cu1. Rezult , deci , .
UU L L
UU L L I L L U U





= = = =
35
Observaii: Pentru memorarea matricilor L i U se poate folosi
matricea A iniial. Vom folosi partea superior triunghiular a matricii
A pentru a memora elementele
ij
u ale matricii U pentru =1, 2 , i n . ,
= , 1 , j i i n + . i partea strict inferior triunghiular a matricii A pentru a
memora elementele
ij
l ale matricii L, = 2,3 , i n . , =1, 2 , 1 j i . . Se
observ c nu am memorat nicieri elementele =1 =1, ,
ii
l i n . . Vom
ine cont de acest lucru n calculele ulterioare. Calculele (2) i (3) se pot
face direct n matricea A.
Algoritmul de eliminare Gauss fr schimbare de linii
descompunere LU
Presupunem c la fiecare pas al algoritmului de eliminare Gauss pivotul
este nenul (
( 1)
0
r
rr
a

= ), deci nu e nevoie de schimbare de linii.
Algoritmul se poate scrie astfel:
for 1, , 1
for 1, ,
;
//
for 1, ,
;
0;
;
ir
rr
i i r
ij ij rj
ir
i i r
r n
i r n
a
f
a
E E f E
j r n
a a f a
a
b b f b
=
= +
=
= + -
= +
= + -
=
= + -
.
.
-
- .
-
-
Fie:
( ) ( )
( )
1
( )
0
0
, :
r r T
r n r r
r
r
n
t T I t e
t
t

+
| |
|
|
|
= e = + e |
|
|
|
|
\ .
.
.


36
( )

col r
( )
( )
( )
1
1
( )
( )
0
0 0 0 0
0
0 0 0 0
0 1 0 0
0 0 0 lin 1)
0 0 0
r T
r r
r
r
r
r
r
n
n
t e
t
t r
t
t

+
+
| |
| |
|
|
|
|
|
|
|
= = |
|
|
( +
|
|
|
|
|
|
|
\ .

\ .

.
.



.
.

Matricea T
r
este matrice triunghiular inferior cu 1 pe diagonala
principal:
( )
1
( )
col
1 0 0 0
0 1 0 0
0 0 1
r
r
r
r
n
r
T
t
t
+

| |

|

|
|
|
= 0
|
|
0 0 0
|
|
|
|
0 0 1
\ .


.


.

Inversa matricii T
r
este
1 ( ) r T
r n r
T I t e

= . n adevr:
1 ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( )( )
(0 )
r T r T r T r T r T r T
r r n r n r n r r r r
r r T r T r
n r r n r r
T T I t e I t e I t e t e t e t e
I t t e I t e t

= + = + =
= = = =
Dac A este o matrice oarecare, vrem s vedem cum se poate construi
matricea B=T
r
A fr a face nmulire matricial. Vom studia legtura ntre
liniile matricilor A i B.
( ) ( ) ( )
( ) ( ) ( )
T T T r T T T r T T r T
i i r i n r i i r i i r
e B e T A e I t e A e A e t e A e A t e A = = + = + = +
Linia i a noii matrici B se obine din linia i a matricii A la care se adaug
linia r a matricii A nmulit cu factorul
( ) r
i
t .
( )
( )
1, , ( 0)
( ) 1, ,
T r
i i T
i
T r T
i i r
e A i r t
e B
e A t e A i r n
= =

=

+ = +

.
.
.
Operaia T
r
A descrie Pasul r al algoritmului de eliminare Gauss dac:
( ) ( ) ( )
( ) ( ) ( )
1
1 ( ) ( ) ( )
, , , ,
r r r
r r r
r r ir nr
r i n r r r
rr rr rr
a a a
t t t
a a a
+
+
= = = .
Algoritmul de eliminare Gauss fr schimbare de linii poate fi descris
astfel:
( )
1 2 1
cu
r T
n r n r
T T T A U T I t e

= = + ,
37
( ) ( ) ( )
( )
1
( ) ( ) ( )
0 0 ( ) ( ) ( )
T
r r r
r
r r ir nr
r r r
rr rr rr
a a a
t
a a a
+
| |
=
|
\ .
.
Avem:
1 1 1 1 1 1
1 2 1 1 2 1
, :
n n
A T T T U LU L T T T


= = =
1 1 (1) (2) (1) (2) (1) (2)
1 2 1 2 1 2 1 2
(1) (2) (1) (2) (1) (2) (2)
1 2 1 2 1 2 1
( )( )
( 0)
T T T T T T
n n n
T T T T T
n n
T T I t e I t e I t e t e t e t e
I t e t e t t e I t e t e t

= = + =
= + = =
Prin inducie se arat c:
1 1 1 (1) (2) ( 1)
1 2 1 1 2 1
T T n T
n n n
L T T T I t e t e t e


= =
21
11
(1)
31 32
(1)
11 22
1
11
1 0 0 0
1 0 0
0 0
r
a
a
a a
a a
L a
a



=




.
(1)
2
(1)
22
(1) ( 1)
11 12 1
(1) ( 1)
11 22
(1) ( 1)
1 2
(1) ( 1)
11 22
0
0
r
r
r r r r
r
rr
r
n n nr
r
rr
a
a
a a a
a a a
a a a
a a a

+ + +

1




.

| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
\ .

Am artat c algoritmul de eliminare Gauss fr schimbare de linii


produce o descompunere LU pentru matricea A.
Factorizarea Choleski
Definiie
Matricea A

e

se numete pozitiv semidefinit dac:
( ) , 0 Ax x x > e

.
Matricea A se numete pozitiv definit dac:
( ) , 0 , 0 Ax x x x > e =

.
Propoziie
Dac matricea A

e

este pozitiv definit atunci matricea A este
nesingular.
38
Demonstraie: Presupunem prin reducere la absurd c matricea A este
pozitiv definit i singular. Atunci, sistemul de ecuaii liniare Ax=0 are
pe lng soluia banal x=0 i o soluie x
0
=0. Avem:
( ) ( )
0 0 0 0
0 0 , 0, 0 contradicie! x Ax x x = < = =
Dac matricea A este pozitiv definit rezult c i minorii principali A
p
sunt pozitivi definii n
p p
i deci det A
p
=0. Avem urmtorul rezultat:
Propoziie
Presupunem c matricea A

e

este simetric (A=A
T
) i pozitiv
definit. Atunci exist o matrice triunghiular inferior L

e

astfel ca:
(factorizarea Choleski a matricii )
T
A LL A =
Algoritmul de determinare a matricii L se desfoar n n etape, la fiecare
etap se determin cte o coloan a matricii L.
La pasul p se cunosc din paii anteriori coloanele 1,2,...,p-1 ale matricii
L:
, 1, 2, , 1, 1, , cunoscute
ir
l r p i n = = . .
La acest pas se determin elementele coloanei p ale matricii L:
1
0
0
, ? , , ,
pp ip
p p
np
l l i p n
l
l
+
| |
|
|
|
|
| = =
|
|
|
|
|
\ .
.
.
.
.
Se determin nti elementul diagonal l
pp
:
( )
1
2
1 2
(
p
p
T
pp p p pp pp
pp
l
l
a LL l l l l
| |
|
|
|
|
= = 0 0) |
|
0
|
|
|
|
0
\ .
.

.
39
1
2 2 2 2
1 2
1
p
pp p p pp pp pp pj
j
a l l l l a l

=
= + + + =
_

Se arat c din faptul c matricea A este simetric i pozitiv definit


expresia de sub radical este nenegativ i n plus l
pp
=0.
Se determin n continuare celelalte elemente ale coloanei p, l
ip
,
i=p+1,...,n:
( )
1
2
1
(
p
p
T
ip i ip ii pp
ip
l
l
a LL l l l l
| |
|
|
|
|
= = 0 0) |
|
0
|
|
|
|
0
\ .
.

.
1
1 1 2 2 1 1
1
, 1, ,
p
ip i p i p ip pp ip pp ij pj ip pp
j
a l l l l l l l l l l l l i p n


=
= + + + + = + = +
_
.
Elementele l
ij
, l
pj
, j=1,...,p-1 sunt determinate la paii anteriori deci sunt
cunoscute.
Avem:
1
1
, 1, , , 0 , 1, , 1
p
ip ij pj
j
ip ip
pp
a l l
l i p n l i p
l

= = + = =
_
. . .
40
Algoritmul Gauss-Jordan de inversare a unei matrici
Fie A o matrice real ptratic de dimensiune n .
1
= =
Gauss Jordan
Ax y x A y

1 11 1 1
2 21 1 2
1 1
= (E1)
= (E2)
= (E )
n n
n n
n n nn n
y a x a x
y a x a x
y a x a x n
+ +

+ +

+ +

n algoritmul Gauss-Jordan se procedeaz astfel: se scoate


1
x dintr-una
din relaiile de la (E1) la (En) i se nlocuiete n toate celelalte. Relaia
din care s-a scos
1
x se aduce pe prima poziie. Se scoate
2
x din una din
relaiile de la (E2) la (En), se aduce aceast relaie pe poziia a doua i se
nlocuiete
2
x n toate celelate relaii. ... Se repet aceste operaii pn s-
au nlocuit toate variabilele
i
x . Se ajunge la un sistem de forma:
1
unde x By y Py A BP
t t t t

= = = (1)
( P
t
este o matrice de permutri care reflect schimbrile de linii
efectuate)
Pasul p ( =1, 2, , p n . )
Vectorul t reflect schimbrile de linii fcute pn la acest pas.
Iniial ( =1 p ) = , =1, ,
i
i i n t . . La acest pas sistemul are urmtoarea
form:
1
=1 = 1
1
=1 = 1
1
=1 = 1
= , =1, , 1
=
= , = 1, ,
p n
i ij ip p ij j
j
j j p
p n
pj pp p pj j
p j
j j p
p n
ij ip p ij j
i j
j j p
x a y a x a x i p
y a y a x a x
y a y a x a x i p n
t
t t
t t

+
+ +
+ +
+ + +
_ _
_ _
_ _
.
.
La acest pas se scoate
p
x dintr-una din relaii i se nlocuiete n toate
celelate. Pentru stabilitatea algoritmului, se caut
0
{ , , } i p n e . astfel
nct:
0
| |= max{| | ; = , , }
i p ip
a a i p n .
Dac
0
= 0
i p
a (
0
| |
i p
a c s ) atunci matricea A este singular, inversa nu
poate fi calculat.
Dac
0
0
i p
a = (
0
| |>
i p
a c ), se interschimb linia p cu linia
0
i i se
41
actualizeaz vectorul t (
0
i p
t t ). Sistemul rmne n continuare n
aceeai form ca mai sus. Avem:
1
=1 = 1
= ( )/
p n
p pj pj j pp
j p
j j p
x a y y a x a
t t

+
+
_ _
nlocuind
p
x n celelalte (n-1) relaii obinem:
1 1
=1 = 1 =1 = 1
1
=1 = 1
( =1, , 1) sau ( = 1, , )
= ( )/ =
= ( / ) ( / ) ( / )
i
i
p p n n
ij ij j ip pj pj j pp
j j p
j j p j j p
p n
ij ip pj pp ip pp ij ip pj pp j
j p
j j p
x i p y i p n
a y a x a a y y a x a
a a a a y a a y a a a a x
t
t t t
t t

+ +

+
+ =
+ + +
+ +
_ _ _ _
_ _
. .
Sistemul a devenit :
1
=1 = 1
1
=1 = 1
1
=1 = 1
= ( ) ( ) , =1, , 1
1
=
= ( ) ( ) , = 1, ,
p n
ip ip ip
i ij pj ij pj j
j p
j j p pp pp pp
p n
pj pj
p j
j p
j j p pp pp pp
p n
ip ip ip
ij pj ij pj j
i j p
j j p pp pp pp
a a a
x a a y y a a x i p
a a a
a a
x y y x
a a a
a a a
y a a y y a a x i p n
a a a
t t
t t
t t t

+ +
+
+ + +
_ _
_ _
_ _
.
.
La pasul p matricea A se transform n matricea A' astfel:
Pentru =1, , , i n i p = .
= , =1, , ,
=
ip
ij ij pj
pp
ip
ip
pp
a
a a a j n j p
a
a
a
a
' =
'
.
Pentru = i p
= , =1, , ,
1
=
pj
pj
pp
pp
pp
a
a j n j p
a
a
a
' =
'
.
Calculele se pot face la fiecare pas p n matricea A, fr a mai folosi
matricea auxiliar A' . n final (dup efectuarea pasului n ) n matricea
A vom avea matricea B din formula (1).
Matricea P
t
are forma:
42
1
2
1 2
= = ( )
n
T
T
n
T
e
e
P e e e
e
t
t
t o o o
t
| |
|
|

|
|
|
\ .

.
unde = (0 0 1 0)
T
i
e
t
. . (1 este pe poziia
i
t ). Permutarea o ce apare n
formula de mai sus este inversa permutrii t ,
1
= o t

.
Pentru a obine matricea
1
A

trebuie sfacem operaia BP


t
. Nu este
nevoie s se fac o nmulire matricial ci pentru a obine matricea
1
A

se 'amestec' coloanele matricii B conform cu permutarea o .


1
1 2
= = ( )
n
A BP Be Be Be
t o o o

unde
i
Be
o
este coloana
i
o a matricii B i n acelai timp coloana i a
matricii
1
A

.
43
Descompuneri QR
Definiie
Se numete matrice ortogonal, o matrice
n x n
Q

e care satisface
relaia:
1
= ( )
T T T
n
Q Q QQ I Q Q

= = .
Matricile ortogonale au urmtoarele proprieti:
1) Dac Q este matrice ortogonal atunci i matricea
transpus
T
Q este ortogonal.
= ( ) ( )
T T T T T T T T
n
Q Q Q Q QQ Q Q I

= = =
2) Dac
1 2
i Q Q sunt matrici ortogonale atunci i produsul lor,
1 2
QQ ,
este tot matrice ortogonal.
1 2 1 2 2 1 1 2 2 2
1 2 1 2 1 2 2 1 1 1
( ) ( ) =
( ) ( )
T T T T
n
T T T T
n
QQ QQ Q Q QQ Q I Q I
QQ QQ QQ Q Q Q I Q I
= =
= = =
3) Dac Q

e

este matrice ortogonal i xe

atunci
2 2
|| || =|| || Qx x .
( ) ( ) ( )
2 2
2 2 2 2 2
|| || , , , || || , || || 0 || || || ||
T
Qx Qx Qx x Q Qx x x x Qx x = = = = > =
Fie A o matrice real ptratic de dimensiune n . Presupunem c
pentru matricea A avem o descompunere de forma:
A QR =
unde Q este o matrice ortogonal iar R este o matrice superior
triunghiular. Avnd o asemenea descompunere, rezolvarea sistemului
= Ax b se reduce la rezolvarea sistemului superior triunghiular =
T
Rx Q b
astfel:
= = = =
T T T
Ax b QRx b Q QRx Q b Rx Q b
Algoritmul lui Givens
n cazul algoritmului Givens, pentru a aduce sistemul = Ax b la forma
=
T
Rx Q b se folosesc matricile de rotaie. O matrice de rotaie
, =1,
( ) = ( )
pq ij i j n
R r u are urmtoarea form:
44
1 0 0 0 0
0 1 0 0 0
0 0 0
( ) =
0 0 ) 0
0 0 0 0 1
pq
p q
c s p
R
s c q
u


| |
|

|
|
|

|

|
|
(
|
|
|
|

\ .


.

.

.

1 pentru = , ,
pentru = , = , =
= pentru = , =
pentru = , =
0 n rest
ij
i j i p i q
c i j i p i q
r s i p j q
s i q j p
= =

unde , {1, , } p q n e . iar c i s sunt dou numere reale care satisfac


relaia
2 2
=1 c s + . Constantele c i s pot fi alese astfel nct
= cos , = sin c s u u . Se arat uor, folosind relaia
2 2
=1 c s + , c matricea
( )
pq
R u este ortogonal:
( ) ( ) ( ) ( )
T T
pq pq pq pq n
R R R R I u u u u = =
Dac nmulim la stnga o matrice oarecare A cu o matrice de
rotaie, = ( )
pq
B R A u , matricea B se obine din matricea A modificnd
doar liniile i p q . Notm cu
T
i i
A e A = ,
T
i i
B e B = - linia i a matricii A i
respectiv a matricii B. Matricea B are urmatoarele linii:
= =1, , , ,
=
=
, 1, ,
, 1, ,
n rest
i i
p p q
q p q
pj pj qj
qj pj qj
ij ij
B A i n i p i q
B cA sA
B sA cA
b c a s a j n
b s a c a j n
b a

, = =
+
+
= + =
= + =
=
.
.
.
Dac nmulim la dreapta o matrice oarecare A cu transpusa unei
matrici de rotaie, = ( )
T
pq
D A R u , matricea D se obine din matricea A
modificnd doar coloanele i p q ca n schema de mai sus. Notm cu
j
Ae ,
j
De - coloana j a matricii A i respectiv a matricii D. Matricea
45
D are urmatoarele coloane:
= 1, , , ,
=
=
, 1, ,
, 1, ,
n rest
j j
p p q
q p q
ip ip iq
iq ip iq
ij ij
D A j n j p j q
De cAe sAe
De sAe cAe
d c a s a i n
d s a c a i n
d a

, = = =
+
+
= + =
= + =
=
.
.
.
Algoritmul lui Givens se desfoar n ( 1) n pai - la pasul r se
transform coloana r a matricii A n form superior triunghiular fr a
modifica primele ( 1) r coloane.
Pasul 1
Intrare: matricea A, vectorul b
Ieire: matricea
(1)
A (cu prima coloan n form superior
triunghiular),
(1)
b
Se efectueaz urmatoarele operaii de nmulire cu matrici de rotaie:
(1)
1 1 13 13 12 12
(1)
1 1 13 13 12 12
( ) ( ) ( )
( ) ( ) ( )
n n
n n
R R R A A
R R R b b
u u u
u u u
=
=

Unghiurile
1i
u (constantele
1 1
i
i i
c s ) se aleg astfel ca elementul de pe
pozitia ( ,1) i din matricea rezultat s devin 0.
Pasul r
Intrare: matricea
( 1) r
A

(are primele ( 1) r coloane n form
superior triunghiular),
( 1) r
b

Ieire: matricea
( ) r
A (cu primele r coloane n form superior
triunghiular),
( ) r
b
La acest pas matricea
( 1) r
A

i vectorul
( 1) r
b

se transform astfel:
( 1) ( )
1 1
( 1) ( )
1 1
( ) ( ) ( )
( ) ( ) ( )
r r
r n r n r i r i r r r r
r r
r n r n r i r i r r r r
R R R A A
R R R b b
u u u
u u u

+ +

+ +
=
=


unde elementele =
r i
c c

i =
r i
s s

din matricile de rotaie se aleg astfel ca
dup nmulirea cu ( ) , = 1, ,
r i r i
R i r n u

+ . elementul ( , ) i r s devin 0.
Considerm operaia = ( )
r i r i
B R A u

, unde
r i
u

se allege astfel ca 0
i r
b

= :
, , 1, , n rest)
rj rj ij ij rj ij kl kl
ir rr ir
b c a s a b s a c a j n b a
b s a c a

= + = + = ( =
= +
.
46
Cea mai simpl alegere pentru i c s astfel ca s obinem 0
i r
b

= este:
2 2
2 2
1
= = , ales astfel ca 1
r r i r
r r i r
c a s a c s
a a
o o o o


, + = =
+
2 2 2 2
= =
r r i r
r r i r r r i r
a a
c s
a a a a


,
+ +
Dac
2 2
= 0
rr ir
a a + acest lucru implic faptul c = = 0
rr ir
a a , deci
elementul
ir
a este deja nul. n acest caz putem lua =1, = 0 c s , matricea
de rotaie coincide cu matricea unitate I , ( )
ri ri
R I u = , matricea A nu se
schimb.
Cnd se efectueaz operaia = ( )
r i r i
B R A u

, matricea A are primele
( 1) r coloane n form superior triunghiular
( 0 , 1, , 1 , 1, , 1
kl
a k l l r = = = . . ) i elementele
1 1
0
r r i r
a a
+
= = = .
n matricea B aceste elemente vor continua s fie nule.
, , 1, , 1
rj rj ij ij rj ij
b c a s a b s a c a j r = + = 0 = + = 0 = .
nmulirea = ( )
r i r i
B R A u

nu schimb dect liniile i r i ale matricii B,
prin urmare vom avea
1 1 1 1
0
r r r r i r i r
b a b a
+ +
= = = = = . n concluzie,
operaia = ( )
r i r i
B R A u

nu schimb elementele nule deja obinute, ci doar
face ca elementul de pe poziia ( , ) i r s devin 0.
Algoritmul lui Givens poate fi descris astfel:
1 1 1 1 1 1 12 12
_
1 1 1 1 1 1 12 12
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
n n n n rn rn r r r r n n
T
n n n n rn rn r r r r n n
R R R R R A R
R R R R R b b Q b
u u u u u
u u u u u
+ +
+ +
=
= =


Notm cu
`
Q urmtoarea matrice:
`
1 1 1 1 1 1 12 12
( ) ( ) ( ) ( ) ( )
n n n n rn rn r r r r n n
Q R R R R R u u u u u
+ +
=
Matricea
`
Qeste matrice ortogonal ca produs de matrici ortogonale.
Descompunearea QR a matricii A este urmtoarea:
` ` ` `
`
( )
1
1 1 1 1 1 1 12 12
12 12 1 1 1 1 1 1
( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
T T
T
T
n n n n rn rn r r r r n n
T T T T T
n n r r r r rn rn n n n n
Q A R Q Q A Q R QR
Q Q R R R R R
R R R R R
u u u u u
u u u u u

+ +
+ +
= = = =
= =
=


47
Pe scurt, algoritmul lui Givens este urmtorul:
`
` `
;
for 1, , 1
for 1, ,
( ) * ;
( ) * ;
( ) * ;
n
ri ri
ri ri
ri ri
Q I
r n
i r n
A R A
b R b
Q R Q
u
u
u
=
=
= +

Detaliat avem:
`
2 2
;
for 1, , 1
for 1, ,
construcia matricii ( ) constantele i
;
if (
n
ri ri
rr ir
Q I
r n
i r n
R c s
a a
u
o
o
=
=
= +
//
- = +
-
.
.
) { 1; 0;} // ( )
else{ / ; / ; }
( ) *
for 1, ,
;
ri ri
rr ir
ri ri
rj rj ij
c s R I
c a s a
A R A
j r n
a c a s a
a
c u
o o
u
s = = =
= =
// =
- = +
= - + -

.
`
;
0;
( ) *
;
;
vechi
ij rj ij
ir rr
ri ri
r r i
vechi
i r i
s a c a
a a
b R b
b c b s b
b s b c b
Q
o
u

= - + -

- = = ;
// =
- = - + -
- = - + -
//
`


( ) *
for 1, ,
;
;
ri ri
rj rj ij
vechi
ij rj ij
R Q
j n
q c q s q
q s q c q
u =
- =

= - + -

= - + -

.
La sfritul acestui algoritm, n matricea A vom avea matricea superior
triunghiular R, n vectorul b vom avea
`
init
T
Q b (
init
b - vectorul termenilor
liberi iniial), iar matricea
`
Q va conine matricea
T
Q din factorizerea QR
a matricii A.
48
Numrnd operaiile efectuate (exceptnd calculul matricii
`
Q) obinem:
( 1)
2
n n
radicali,
3 2
( 1)(4 7) 2
( )
6 3
n n n
n O n
+
= + adunri/scderi i
3 2
2 ( 1)(2 5) 4
( )
3 3
n n n
n O n
+
= + nmuliri/mpriri.
Algoritmul lui Householder
Definiie
Se numete matrice de reflexie o matrice P

e

de forma:
2
2
=1
= 2 , , || || = | | =1
n
T
n j
j
P I vv v v v e
_

2
1 1 2 1 1
2
2 2 1 2 2
1 2
2
1 2
= ( , , , ) =
n
T n
n
n
n n n
v v v v v v
v v v v v v
vv v v v
v
v v v v v
| |
| |
|
|

|
|
|
|
|
|
|
\ .
\ .
.
.
.
. .
.
.
Matricile de reflexie sunt simetrice ( =
T
P P ) i ortogonale
(
2 T T
n
PP P P P I = = = ).
= ( 2 ) = 2( ) = 2( ) = 2 =
T T T T T T T T T
n n n n
P I vv I vv I v v I vv P
2
2
2
2
= ( 2 )( 2 ) = 2 2 4( )( ) =
4 4 ( ) = 4 4 || || =
4 4 = (|| || =1)
T T T T T T
n n n
T T T T T
n n
T T
n n
P I vv I vv I vv vv vv vv
I vv v v v v I vv v v v
I vv vv I v
+
= + +
= +
Dac lum n consideraie cazul:
1 1 0 1 1 0
= 2, = , = 2 (1
0 0 1 0 0 1
n v P

| | | | | | | |
0) =
| | | |
\ . \ . \ . \ .
i
2
, x y Px e = :
1 1 1 1
2 2 2 2
1 0
= , = =
0 1
x y x x
x y
x y x x
| | | | | | | | | |
=
| | | | |

\ . \ . \ . \ . \ .
Vectorul = y Px este reflectatul vectorului x n raport cu axa
2
Ox .
Algoritmul ce folosete matricile de reflexie pentru a obine o
descompunere QR pentru o matrice A

e

a fost descris de Alston S.
49
Householder n articolul "Unitary triangularization of a nonsymmetric
matrix," aprut n Journal of the Association of Computing Machinery 5
(1958), 339-342.
Transformarea matricii A ntr-una superior triunghiular se face n
( 1) n pai, la fiecare pas folosindu-se o matrice de reflexie.
Pas 1:
(1)
1
= A PA (matricea
1
P se alege astfel ca coloana 1 s fie
transformat n form superior triunghiular)
Pas 2:
(2) (1)
2 2 1
= ( ) A P A P PA = (
2
P transform coloana 2 n form
superior triunghiular fr s schimbe coloana 1)
Pas r :
( ) ( 1)
1 1
( )
r r
r r r
A P A P P PA

= = . (se transform coloana r n


form superior triunghiular fr s schimbe primele ( 1) r coloane)
Descompunerea QR construit cu algoritmul Householder este
urmtoarea:
1 2 1
= =
n r
P P P PA QA R



unde
1 2 1
=
n r
Q P P P P

este matrice ortogonal ca produs de matrici ortogonale. Avem:


= = = =
T T T
QA R Q QA Q R A Q R QR

1 2 1 1 2 1
= = ( ) =
T T
n r r n
Q Q P P P P PP P P


Pasul r
La intrarea n pasul r matricea A are forma:
11 12 1 1
22 2 2
1 1
0
0 0
= 0 0
0 0
0 0
r n
r n
rr rn
r r r n
ir in
nr nn
a a a a
a a a
a a
A a a
a a
a a
+ +

| |
|

|
|
|

|
|

|
|
|

|
|
|

\ .


.


.

.

Pasul r const n:
2
:=
= 2 ( ) , , || || =1
r
r r T r n r
r n
A P A
P I v v v R v e
unde vectorul
r
v se aleg astfel ca matricea A s aib i coloana r n
form superior triunghiular:
50
11 12 1 1
22 2 2
1
0
0 0
= 0 0 0
0 0 0
0 0 0
r n
r n
rr rn
r n
in
nn
a a a a
a a a
a a
A a
a
a
+























Calculul matricii
r
P
Pentru simplitate vom nota = , =
r
r
P P v v .

1
1
1
2
2 2
1 1
1
1
= ( ) =
0
0
0
r
r
r
r
r r
r r r r
r r
rr
rr
r r r
r r
ir
nr
a a
a
a a a
a
a a
a
a k
Ae PA e Ae
a
a
a

+

=



=







=



=
=


















Aplicnd proprietatea matricilor ortogonale

2 2
( , || || ) Q x Qx x

, || =|| R R

pentru matricea = Q P i vectorul
=
r
x Ae avem:
2 2 2 2 2
2 1 2 1
2 2 2 2 2 2 2 2
1 2 1 1
|| || = =
|| || =
r r r r r
r r r r r rr r r ir nr
PAe a a a k
Ae a a a a a a a

+
+ + + +
+ + + + + + + + +



Din relaia de mai sus rezult:
2 2 2 2 2 2
1
=
= = = =
n
rr r r ir nr ir
i r
k a a a a a k
+
+ + + + +


Determinarea vectorului v ce definete matricea P
( ) = ( 2 )( ) = 2( )( ) = 2 ( ( )) =
(2 ) =
T T T
r n r r r r r
r r
PA e I vv Ae Ae vv Ae Ae v v Ae
Ae v Ae u

=
51
unde cu i u am notat:
( )
1 1
2 2
1 1 2 2
:= ( ) = ( ), = ( , )
r
r
T
r r
ir i
nr n
r r ir i nr n
a v
a v
v Ae Ae v
a v
a v
a v a v a v a v





=






= + + + + +



R R



1 1
2 2
1 1
1 1
0
0
0
:= (2 ) = ( ) = =
0
0
0
r r
r r
r r r r
rr rr
r r
r r r r
ir ir
nr nr
a a
a a
a a
a k a k
u v Ae PA e
a a
a a
a a


+ +



















Cu aceste notaii matricea P devine:

2
2
1 1 1 1
= 2( ) ( ) = ( ) cu : 2
2 2 2
T T T
n n n
P I u u I uu I uu

= =
Pentru a cunoate matricea P trebuie s mai determinm constanta .
Din condiia:
2 2 2 2
2 2 2 2 2
1 1
|| || =1 || || =1 || || 1 2 =|| ||
2 4
v u u u

=


avem:
52
2 2 2 2 2 2
2 2 1
1
2 2 2 2 2
1
0
0
0
|| || =|| || = ( ) =
2 = 2 = 2( )
rr
rr r r ir nr
r r
ir
nr
rr r r ir nr rr rr rr
a k
u a k a a a
a
a
a
a a a a ka k ka ka o o o
+
+
+
| |
|
|
|
|
|
|

| + + + + +
|
|
|
|
|
|
|
\ .
= + + + + + + +
.

.
.

de unde obinem:
=
rr
ka | o
Vom alege semnul constantei k astfel nct | s fie ct mai mare posibil
deoarce constanta | apare n operaia de mprire. Avem:
" " = ( 0) semn = semn
rr rr
mare ka k a | | o o o > >
Ce nseamn = 0 | ?
2 2
2 2 1
1
= || || = 0 || || = 0 = 0 = , = 0, , = 0, , = 0
2
rr r r ir nr
u u u a k a a a |
+
. .
Cum
rr
a k = i semn = semn
rr
k a obinem:
= 0, = , ,
ir
a i r n .
adic avem coloana r deja n form superior triunghiular, se poate trece
la pasul urmtor. n acest caz matricea A este singular.
Ne intereseaz cum se efectueaz operaia :=
r
A P A fr a face nmulire
matricial. Vom pune n eviden schimbrile n raport cu coloanele.
1 1
( ) = noua coloan a matricii = ( )( ) = ( )( ) =
1
( ( )) =
T T
j n j j j
j T
j j j
PA e j A I uu Ae Ae uu Ae
Ae u u Ae Ae u
| |

| |

=
unde
53
1
2
1
1
=1 =
0
0
:= ( ) = ( , ) = ( ) =
= ( = 0, =1, , 1 , = , =
j
j
T
j j rj rr rj rr ij ir nj nr
r r
r j
nr
nj
n n
i ij i ij i r rr i ir
i i r
a
a
u Ae a a k a a k a a a a
a
a
a
a
u a u a u i r u a k u a i

+
+
| |
| |
|
|
|
|
|
|
|
|
| + + + +
|
|
|
|
|
|
|
|
|
|
\ .
\ .
= , =
_ _
. .

.
.
.

1, , ) r n + .
Noua coloan j se obine din vechea coloan j din care scdem vectorul
u nmulit cu constanta
j
. Ne intereseaz ca primelor ( 1) r coloane s
nu li se schimbe forma superior triunghiular deja obinut. Pentru
=1, , 1 j r . avem:
1
2
1
1
1
0
0
0
:= ( ) = ( = 0 , ) =
= 0
= 0
0 0 0( ) 0 0 = 0
j
j
jj
T
j j j j
rr
r r
rj
nr
nj
j jj rr ir nr
a
a
a
u Ae a
a k
a
a
a
a
a a a k a a

+
+
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
\ .
|
\ .
= + + + + + + + +
.
.
.
.
.

Din faptul c = 0 , =1, , 1


j
j r . rezul c primele 1 r coloane
ale matricii A nu se schimb cnd facem operaia :=
r
A P A, rmn n
form superior triunghiular.
Algoritmul de trecere de la matricea A la matricea
r
P A este urmtorul:
54
1 2 1
pentru =1, , 1
( ) = ( , , , , , 0, , 0) pentru =
pentru = 1, ,
j
T
r j r r r r
j
j
Ae j r
P A e a a a k j r
Ae u j r n

.
. .
.
cu
=
= ( , ) =
n
j j i ij
i r
Ae u u a
_

= 0, =1, , 1, = , = , = 1, ,
i r rr i ir
u i r u a k u a i r n + . .
Operaia de transformare a vectorului termenilor liberi :=
r
b Pb se face
astfel:
1 1 1
= ( ( )) = ( ) = ( ) =
T T T
r n
Pb I uu b b uu b b u u b b u

| | | |

unde
=
= = ( , ) =
n
T
i i
i r
u b b u u b
_

Algoritmul lui Householder


`
` `
;
for 1, , 1
calculeaz matricea (constanta i vectorul )
* ;
* ;
* ;
n
r
r
r
r
Q I
r n
P u
A P A
b P b
Q P Q
|
=
=

La sfritul acestui algoritm, n matricea A vom avea matricea superior


triunghiular R, n vectorul b vom avea
`
init
T
Q b (
init
b - vectorul termenilor
liberi iniial), iar matricea
`
Q va conine matricea
T
Q din factorizerea QR
a matricii A.
55
Algoritmul QR - Householder detaliat
`
2
=
;
for 1, , 1
construcia matricii constanta i vectorul
= ;
if ( ) break ; // 1 ( ma
n
r
n
ir
i r
r n
Q I
r n
P u
a
r r P I A
|
o
o c
=
=
//
-
- s = + =
_
.
trice singular)
= ;
if ( 0 ) ;
;
; , 1, , ;
*
rr
rr
r rr i ir
r
k
a k k
k a
u a k u a i r n
A P A
o
| o

-
- > =
- =
- = = = +
// =
//
.
=
transformarea coloanelor 1, ,
for 1, ,
= ( / ) ( , ) / = ( )/ ;
for , ,
n
j j i ij
i r
j r n
j r n
Ae u u a
i r n
| | |
= +
- = +
- =
- =

_
.
.
.
;
transformarea coloanei a matricii
; 1, , ;
*
= ( / )
ij ij i
rr ir
r
a a u
r A
a k a i r n
b P b

|
= -
//
- = = 0, = +
// =
-
.
` `
`
=
=
( , ) / = ( )/ ;
for , ,
;
*
for 1, ,
= ( , ) / = (
n
i i
i r
i i i
r
n
j
i r
b u u b
i r n
b b u
Q P Q
j n
Qe u
| |

|
=
- =
= -
// =
- =
-
_
.
.


)/ ;
for , ,
;
i ij
i ij ij
u q
i r n
q q u
|


- =
= -
_
.
56
Numrul de operaii efectuate:
A (adunri, scderi):
3 2
( 1)(2 1) ( 1)( 1)(2 3) 2
( 1) 2 ( 1) = ( )
3 3 3
n n n n n n
n n n n O n
+ +
+ + = +
M (nmuliri, mpriri ):
3 2
( 1)(2 1) 2
4( 1) 3 ( 1) = ( )
6 3
n n n
n n n n O n

+ + +
R (radicali ): ( 1) n
57
Metode iterative pentru rezolvarea sistemelor de ecuaii liniare
= , , Ax b A b

e e

(1)
se presupune cunoscut c A este nesingular, det 0 A = ;
soluia exact a sistemului (1) se noteaz cu
*
x :
* 1
= x A b

(2)
n - dimensiunea sistemului este "mare";
A este matrice rar - cu "puine" elemente 0
ij
a = ;
pentru a aproxima soluia
*
x matricea A nu se schimb
(transform) ci doar se folosesc elementele nenule ale matricii ;
se construiete un ir de vectori
( )
{ }
k
x _

, ir care n
anumite cazuri, converge la
*
x :
( ) *
pentru
k
x x k
Schema general de deducere a unei metode iterative
Fie descompunerea:
= , , , "uor" inversabila
n n
A B C B C R B

(3)
Ce nseamn B "uor" inversabil ? Sistemul liniar, avnd ca matrice a
sistemului matricea B:
= Bx f
se rezolv uor (adic repede) - ca n cazul sistemelor cu matrici
diagonale sau triunghiulare, de exemplu.
* * *
* * * 1 * 1 *
= =
= = =
Ax b Bx Cx b
Bx Cx b x B Cx B b Mx d


+ + + (4)
unde
1 1
:= , := M B C d B b

e e

(5)
irul
( )
{ }
k
x se construiete astfel:
( 1) ( ) (0)
:= , = 0,1, 2, ales arbitrar
k k
x Mx d k x
+
+ e .

(6)
Vectorul
( 1) k
x
+
poate fi privit i ca soluia sistemului liniar:
( )
= cu :=
k
Bx f f Cx b + (7)
Cunoscnd vectorul
( ) k
x , urmtorul element din ir,
( 1) k
x
+
, se poate
construi fie utiliznd relaia (6) (dac putem construi matricea M
explicit), fie rezolvnd sistemul liniar (7).
Matricea M poart numele de matricea iteraiei iar vectorul
58
(0)
x e

se numete iteraia iniial.


Ne punem problema convergenei irului
( ) k
x :
( ) *
,
k
x x k
Se tie c aceast convergen nu are loc pentru orice matrice B. Avem
urmtorul rezultat general de convergen.
Teorema de convergen
Fie A

e

o matrice nesingular i , , det 0 B C B

e =

, astfel
ca A=B-C. Fie
(0)
x e

un vector oarecare i
( )
{ }
k
x irul de vectori dat
de (6) cu M i d dai de (5). Atunci:
( ) * (0)
, , ( ) <1
k
x x k x M (8)
unde { } = | |; ( ) max valoare proprie a matricii M M este raza
spectral a matricii M . Dac exist o norm matricial natural astfel ca
1 M < atunci irul
( )
{ }
k
x converge la soluia
*
x a sistemului (1).
( ) ( ) 0
1 , , .
k
M x x k x
-
< (9)
Demonstraie: Scznd relaiile (6) i (4) obinem:
( 1) * ( ) *
= ( ) , = 0,1, 2,
k k
x x M x x k
+
.
Avem:
( ) * ( 1) * 2 ( 2) * (0) *
= ( ) = ( ) = = ( )
p p p p
x x M x x M x x M x x


( ) * (0) *
= ( ) ,
p p
x x M x x p
Prin urmare:
( ) *
, 0 ,
p p
x x p M p
0 , ( ) <1
p
M p M
Dac:
( ) * (0)
|| ||<1 0 , ,
p p
M M p x x p x
Evaluarea erorii absolute
( ) *
|| ||
k
x x
Presupunem || ||<1 M ( irul
( )
{ }
k
x converge la
*
x ). Avem din (6):
( ) ( )
( ) ( )
1
1
l l
l l
Mx d
Mx d
x
x
+

= +
= +
( 1) ( ) ( ) ( 1)
= ( )
l l l l
x x M x x l
+

Pentru orice k,j, avem folosind relatiile de mai sus:
( 1) ( ) ( ) ( 1) ( 1) ( )
= ( ) = = ( ) ,
k j k j k j k j j k k
x x M x x M x x k j
+ + + + + +

Aplicnd succesiv relaia precedent obinem:
59
( ) ( ) ( ) ( 1) ( 1) ( 2)
( 2) ( 1) ( 1) ( )
1
( 1) ( )
=0
=
=
= ( )
k p k k p k p k p k p
k k k k
p
k j k j
j
x x x x x x
x x x x
x x
+ + + + +
+ + +

+ + +
+ + +
+ +

1 1
( ) ( ) ( 1) ( ) ( 1) ( )
=0 =0
= ( ) = ( )( )
p p
k p k k j k j j k k
j j
x x x x M x x

+ + + + +

_ _
Fcnd p obinem:
* ( ) ( ) ( 1)
=0
= ( ) ( )
k j k k
j
x x M M x x


_
1
=0
|| ||<1 = ( )
j
n
j
M M I M


_
Mai avem i evaluarea:
1
1 1
|| ||<1 || ( ) ||
1 || || 1 || ||
n
M I M
M M

s s
+
Prin urmare:
* ( ) ( ) ( 1)
|| ||
|| || || ||
1 || ||
k k k
M
x x x x
M

Aceast relaie ne spune c din punct de vedere practic putem opri


algoritmul atunci cnd diferena dintre dou iteraii succesive devine
suficient de mic acest lucru asigurnd apropierea de soluie.
n continuare vom particulariza matricea B.
60
Metoda Jacobi pentru rezolvarea sistemelor liniare
Fie sistemul:
= , , Ax b A b

e e

cu
det 0 , 0 , =1, 2, ,
ii
A a i n = = .
Alegem:
11
22
11 22
0 0
0 0
= diag[ , , , ] =
0 0
nn
nn
a
a
B a a a
a
| |
|
|
|
|
\ .

.
. . .

Avem:
11 22
det = 0
nn
B a a a =
11
1
22
11 22
1
0 0
1
0 0
1 1 1
= diag[ , , , ] =
1
0 0
nn
nn
a
a B
a a a
a

| |
|
|
|
|
|
|
|
|
|
\ .

.
. . .

Matricea C este:
12 13 1
21 23 2
31 32 3
1 2 3
0
0
= = 0
0
n
n
n
n n n
a a a
a a a
C B A a a a
a a a

| |
|

|
|
|
|
|

\ .

. . . .

daca
= ( ) =
0 daca =
ij
ij ij
a i j
C c c
i j


Matricea iteraiei se poate calcula i are forma:
61
12 13 1
11 11 11
21 23 2
22 22 22
1
31 32 3
33 33 33
1 2 3
0
0
:= =
0
0
n
n
n
n n n
nn nn nn
a a a
a a a
a a a
a a a
M B C
a a a
a a a
a a a
a a a

| |

|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
\ .

. . . .

( ) daca
= ( ) =
0 daca =
ij
ij ij ii
a
i j
M m m a
i j


Construim vectorul g:
( ) ( )
1
: , = ( )
k k n
i i
g Mx Mx g
=
= e

Componentele vectorului g sunt:


( ) ( ) ( )
=1 =1
=1
= = = ( ) / , 1, ,
n n n
ij k k k
i ij j j ij j ii
j j
j
ii
j i j i
a
g m x x a x a i n
a
= =
=
_ _ _
.
Vectorul d este:
1
1
= = ( ) , = , 1, ,
n
i
i i i
ii
b
d B b d d i n
a

=
e = .

irul
( )
{ }
k
x _

se construiete folosind formula:


( 1) ( ) ( 1)
= = , =1, ,
k k k
i i i
x Mx d x g d i n
+ +
+ + .
( 1) ( )
=1
= ( ) / , =1, ,
n
k k
i i ij j ii
j
j i
x b a x a i n
+
=

_
.
1
( 1) ( ) ( )
=1 = 1
= ( ) / , =1, ,
i n
k k k
i i ij j ij j ii
j j i
x b a x a x a i n

+
+

_ _
. (9)
Formula (1) descrie metoda lui Jacobi de aproximare a soluiei unui
sistem liniar.
62
Condiii suficiente de convergen
Propoziia 1
( ) *
|| ||<1 ,
k
M x x k .
Demonstraie.Fie x
-
soluia sistemului Din A=B-C rezult
* *
Bx Cx b = + sau
* *
. x Mx d = + Procesul iterativ
( 1) ( ) k k
x Mx d
+
= + conduce la relaia:
( ) ( )
( )
( ) ( )
1
1 0 * * * *
k
k k k
x x M x x M x x M x x
+
+
= s s s
n continuare vom aplica aceast propoziie pentru diverse norme.
Din
1
2
2
=1 =1
|| || = ( ) <1
n n
F ij
i j
M m
__
deducem:
2 ( ) *
=1
=1
( ) <1 ,
n n
ij k
j
i
ii
j i
a
x x k
a
=

__
(10)
Din
1
=1
|| || = max{ | |; =1, , } <1
n
ij
i
M m j n
_
. deducem:
( ) *
=1
| |
( ) <1 =1, , ,
| |
n
ij k
i
ii
i j
a
j n x x k
a
=

_
. (11)
(Criteriul dominanei diagonalei pe linii)
Din
=1
|| || = max{ | |; =1, , } <1
n
ij
j
M m i n
_
. deducem:
( ) *
=1
| |
( ) <1 =1, , ,
| |
n
ij k
j
ii
j i
a
i n x x k
a
=

_
.
( ) *
=1
lim
| |<| | =1, , =
n
k
ij ii
j k
j i
a a i n x x

=
_ . (12)
(Criteriul dominanei diagonalei pe coloane)
( ) *
1
=1
| |<| | =1, , 1 = .
lim
n
k
ij jj
k
i
i j
a a j n M x x

=
<
_
. (13)
63
Metoda Gauss-Seidel pentru rezolvarea sistemelor liniare
Considerm din nou sistemul liniar:
= , , Ax b A b

e e

cu
det 0 , 0 , =1, 2, ,
ii
A a i n = = .
Putem deduce metoda Gauss-Seidel din metoda lui Jacobi astfel:
1
( 1) ( ) ( )
=1 = 1
1
( 1) ( 1) ( )
=1 = 1
= ( ) / , =1, , metoda Jacobi
= ( ) / , =1, , metoda Gauss-Seidel
i n
k k k
i i ij j ij j ii
j j i
i n
k k k
i i ij j ij j ii
j j i
x b a x a x a i n
x b a x a x a i n

+
+

+ +
+



_ _
_ _
.

.
Cnd calculm
( 1) k
i
x
+
cunoatem deja
( 1)
1
k
x
+
,..,
( 1)
1
k
i
x
+

i putem folosi
aceste valori n prima sum.
Deducerea metodei Gauss-Seidel din schema general se face lund:
11
21 22
31 32 33
1 2 3
0 0 0
0 0
= 0
n n n nn
a
a a
B a a a
a a a a
| |
|
|
|
|
|
|
\ .

. . . .

daca
= ( ) =
0 daca >
ij
ij ij
a j i
B b b
j i


Matricea B este nesingular innd cont de presupunerea 0,
ii
a i = :
11 22
det = 0
nn
B a a a =
Matricea C este:
12 13 1
23 2
3
1
0
0 0
0 0 0
= =
0 0 0
0 0 0 0
n
n
n
n n
a a a
a a
a
C B A
a


| |
|

|
|

|
|
|

|
\ .

. . . .

daca <
= ( ) =
0 daca
ij
ij ij
a i j
C c c
i j

e

>


n cazul metodei Gauss-Seidel, vectorul
( 1) k
x
+
se obine din
( ) k
x
rezolvnd sistemul inferior triunghiular (7) din schema general:
64
( )
= =
k
Bx Cx b f + (14)
Soluia sistemului (6) este dat de formula:
1 1
=1 =1
= ( ) / = ( ) / , =1, 2, ,
i i
i i ij j ii i ij j ii
j j
x f b x b f a x a i n


_ _
. (15)
Vectorul f este:
( )
= ( ) , =1, 2, ,
k
i i i
f Cx b i n + . (16)
unde
( ) ( ) ( )
=1 = 1
( ) = = , =1, ,
n n
k k k
i ij j ij j
j j i
Cx c x a x i n
+

_ _
. (17)
Folosind formula de rezolvare a sistemelor inferior triunghiulare (8),
relaiile (16) i (17) avem:
1
( 1) ( ) ( 1)
= 1 =1
= ( ) / , =1, 2, ,
n i
k k k
i i ij j ij j ii
j i j
x b a x a x a i n

+ +
+

_ _
.
Condiii suficiente de convergen pentru metoda Gauss-Seidel
Propoziia 1
Dac matricea A este astfel nct:
2
=1
=1
( ) <1
n n
ij
j
i
ii
j i
a
a
=
__
atunci are loc convergena irului construit cu metoda Gauss-Seidel la
soluia sistemului Ax=b:
( ) * (0)
,
k
x x k x e

Propoziia 2 (Criteriul dominanei diagonalei pe linii)


Dac matricea A este astfel nct:
=1
| |<| | =1, ,
n
ij ii
j
j i
a a i n
=

_
. (10)
atunci:
( ) * (0)
,
k
x x k x e

Demonstraie. n procedeul iterativ Gauss-Seidel, notnd soluia cu


1
x A b
-
= i
( ) ( ) k k
x x c
-
= vectorul eroare, scznd relaiile:
65
1
1 1
1
( 1) ( 1) ( )
1 1
i n
ii i ij j ij j i
j j i
i n
k k k
ii i ij j ij j i
j j i
a x a x a x b
a x a x a x b

- - -
= = +

+ +
= = +
= +
= +
_ _
_ _
obinem:
1
( 1) ( 1) ( )
1 1
i n
ij ij k k k
i j j
j j i
ii ii
j i
a a
a a
c c c

+ +
= = +
=
=
_ _
Notm
1
max{ , 1 }
n
ij
j
ii
j i
a
c i n
a
=
=
= =
_
. . n virtutea ipotezei (10) avem c < 1.
Observm c:
1 ( 1) ( ) ( )
1
2
11
.
n
j k k k
j
j
a
c
a
c c c
+

=
s s
_
Presupunem c
( 1) ( )
, 1, , 1,
k k
j
c j i c c
+

s = i considerm:
1 1
( 1) ( 1) ( ) ( ) ( ) ( )
1 1 1 1
i n i n
ij ij ij ij k k k k k k
i j j
j j i j j i
ii ii ii ii
a a a a
c c
a a a a
c c c c c c

+ +

= = + = = +
s + s + s
_ _ _ _
Rezult c vectorul eroare
( ) k
c converge la 0:
( 1) ( ) 1 (0)
0 pentru k
k k k
c c c c c
+ +

s s s .
Propoziia 3 (Criteriul dominanei diagonalei pe coloane)
Dac matricea A este astfel nct:
=1
| |<| | =1, ,
n
ij jj
i
i j
a a j n
=

_
. (11)
atunci metoda Gauss-Seidel converge:
( ) ( ) 0
lim
k
k
x x x
-

= ,
Demonstraie. Din sistemul dat considerm sistemul echivalent
`
Ay b = n
care
` `
( )
1 1
, ,
ij
ij
ii
a
Ax b AD y b y Dx A AD a
a

| |
= = = = = =
|
\ .
Din ipoteza (11) rezult
`
1
1, 1, , .
n
ij
i
i j
a j n
=
=
< =
_
. Pentru soluia sistemului
`
Ay b = avem
66
` `
1
1 1
, 1, , ,
i n
i ij j ij j i
j j i
y a y a y b i n

= = +
= + =
_ _
. iar pentru metoda Gauss-Seidel:
` `
1
( 1) ( 1) ( )
1 1
, 1, ,
i n
k k k
i ij j ij j i
j j i
z a z a z b i n

+ +
= = +
= + = .
_ _
.
Notnd
( ) ( ) k k
y z c = obinem:
` `
` `
1
( 1) ( 1) ( )
1 1
1
( 1) ( 1) ( )
1 1 1 1 1
.
i n
k k k
i ij j ij j
j j i
n n i n m
k k k
i ij j ij j
i i j i j i
a a
a a
c c c
c c c

+ +
= = +

+ +
= = = = = +
=
s +
_ _
_ __ __
Schimbnd ordinea de sumare obinem:
` `
1 1
( 1) ( 1) ( )
1 1 1 2 1
.
j n n n n
k k k
i j ij j ij
i j i j j i
a a c c c

+ +
= = = + = =
s +
_ _ _ _ _
(12)
Introducem notaiile:
` `
1
1
1 1
, , 0, 0.
j n
j ij j ij n
i j i
a a o | o |

= + =
= = = =
_ _
Din ipoteza (11) rezult c
{ }
max 1 1.
j j
c j n o | = + , = < .
Revenind la inegalitatea (12) obinem:
( 1) ( )
1 1
(1 )
n n
k k
j j j j
i j
c o c |
+
= =
s
_ _
.
innd seam c
j
(1 )
j j j
c c c c | o o o s s = rezult:
( 1) ( ) 1 (0)
1 1 1
(1 ) (1 ) (1 ) 0,
n n n
k k k
j j j j j j
i j j
c c k c o c o c o
+ +
= = =
s s s
_ _ _

adic
( ) (0)
lim 0 ,
k
k
c c

= .
Matricea de iteraie pentru metoda Gauss-Seidel aplicat sistemului
`
Ay b = , notat

M este dat de
` `
1
( ) M I L U

= n care
`
1
L LD

= ,
`
1
U UD

= ( A D L U = ).
Din
( )

( )

( )
1
1 0
k
k k
M M c c c
+
+
= = = . i
( )

lim lim
0 rezult 0.
k
k
k k
M c

= =
Matricea de iteraie pentru sistemul Ax b = este:
` `
1 1 1 1 1 1
1 1 1
( ) ( ) [( ) ]
( )
M D L U D LD D U I LD D UD D
D I L UD D MD


= = = =
= =
astfel c:

1
0 pentru .
k
k
M D M D k

=
67
Metode iterative pentru matrici simetrice i pozitiv definite
Considerm cazul sistemelor liniare cu matricea sistemului simetric i
pozitiv definit:
= matrice simetrica = , =1, 2,
T
ij ji
A A a a i j n

.
11 12 13 1 11 21 31 1
21 22 23 2 12 22 32 2
31 32 33 3 13 23 33 3
1 2 3 1 2 3
= = =
n n
n n
T
n n
n n n nn n n n nn
a a a a a a a a
a a a a a a a a
A a a a a A a a a a
a a a a a a a a
| | | |
| |
| |
| |
| |
| |
| |
\ . \ .



. . . . . . . .

Dac matricea A este simetric o putem scrie astfel:
= =
T T
A A A L D L + +
unde
11
22
11 22
0 0
0 0
= diag[ , , , ] =
0 0
nn
nn
a
a
D a a a
a
| |
|
|
|
|
\ .

.
. . .

12 13 1
23 2
21
3
31 32
1
1 2 3
0
0 0 0 0
0 0
0 0 0
0 0 0
= 0 0 =
0 0 0
0
0 0 0 0
n
n
n T
n n
n n n
a a a
a a
a
a
L a a L
a
a a a

| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
\ .
\ .

. . . .
. . . .

Matricea A fiind pozitiv definit ( ( , ) > 0 , 0


n
n
R
Ax x x R x e = ) este
nesingular i n plus:
( ) , 0 1, ,
ii i i
a Ae e i n = > = .
Avem urmtorul rezultat.
Lem
Fie A

e

o matrice simetric i B

e

o matrice nesingular
astfel nct matricea =
T
P B B A + este pozitiv definit. Fie matricea
1
=
n
M I B A

. Atunci raza spectral a matricii M este strict subunitar


dac i numai dac matricea A este pozitiv definit:
( ) <1 > 0 M A
68
Folosind aceast lem deducem urmtorul rezultat de convergen
pentru metoda Gauss-Seidel pentru sisteme cu matrici simetrice i pozitiv
definite.
Teorem
Fie A

e

o matrice simetric, nesingular, cu > 0
ii
a , pentru toi
=1, , i n . i be

vectorul termenilor liberi. Atunci metoda lui Gauss-


Seidel genereaz iruri convergente la soluia
* 1
= x A b

pentru orice
iteraie iniial
(0)
x dac i numai dac matricea A este pozitiv defnit .
Demonstraie: Din teorema de convergen avem:
( ) *
, ( ) <1
k
x x k M
Dac matricea A se scrie sub forma:
=
T
A L D L + +
matricile B i C sunt date de:
= , = =
T
B L D C B A L +
Matricea iteraiei M este:
1 1 1
= = ( ) =
n
M B C B B A I B A


ncercm s aplicm Lema de mai sus. Pentru aceasta verificm dac
matricea P este pozitiv definit:
= = ( ) =
T T T
P B B A L D L D L D L D + + + +
2
=1
( , ) = ( , ) = (( ) , ( ) ) =
n
n n ii i i i i n ii i
R R R
i
Px x Dx x a x x a x
_
> 0 ( , ) > 0 , 0 > 0
n
ii n
R
a i Px x x R x P e =
Putem aplica Lema de unde deducem convergena irului construit cu
metoda Gauss-Seidel doar n cazul n care matricea A este pozitiv
definit:
( ) *
, ( ) <1 pozitiv definit
k
x x k M A
Metodele relaxrii
Fie A

e

o matrice real ptratic de dimensiune n , simetric,
T
A A = i pozitiv definit, 0 A > i b e

un vector real. Considerm


sistemul de ecuaii liniare:
= Ax b
Deoarece matricea A este pozitiv definit sistemul de mai sus are soluie
unic,
1
x A b
-
= . Vom considera funcia : f
+

:
69
( )
( ) ( ), , f y A x y x y y
- -
= e

Din faptul c matricea A este pozitiv definit avem:


( ) 0 , i ( ) ( ) , f y y f y f x y x
- -
> e > 0 = =

Prin urmare x
-
este i unica soluie a problemei de minimizare:
{ }
min ( ) ; 0 ( ) f y y f x
-
e = =

Vom cuta soluia sistemului = Ax b ,


1
x A b
-
= ca fiind soluia
problemei de minimizare de mai sus folosind o metod de tip relaxare de
forma:
(0) ( 1) ( )
( 1) ( ) ( 1) ( )
dat, , 0,1,
, ,
k k
k i k
k k k k
j j i i k
y y y c e i i k
y y j i y y c
+
+ +
e = + = , =
= = = +
.

Constanta
k
c se determin astfel nct
( 1) ( )
( ) ( )
k k
f y f y
+
< n sperana c
irul
( ) k
y astfel construit converge la x
-
. Notm cu
( ) ( ) k k
r b Ay =
vectorul reziduu. Avem:
( ) ( ) ( ) ( )
( )
k k k k
r b Ay Ax Ay A x y
- -
= = =
( )
( ) ( ) ( )
( 1) ( ) ( )
( ) ( ) ( ) 2
.
( ) ( ),
( ) ( ), , ,
k k k
k l k l
k k k
k l k l k l l
f y A x y c e x y c e
f y c A x y e c Ae x y c Ae e
+ - -
- -
= =
= +

Avem:
( ) ( )
( ) ( ) ( ) ( )
( )
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( 1) ( ) ( ) 2
( ), ,
, , ( ) , ( ) ,
, 0 ( 0)
( ) ( ) 2
k k k
l l l
k T k k k k
l l l l l
l l ll
k k k
k l k ll
A x y e r e r
Ae x y e A x y e A x y e r r
Ae e a
f y f y c r c a
-
- - -
+
= =
= = = =
= > A >
= +
Pentru ca
( 1) ( )
( ) ( )
k k
f y f y
+
< este necesar i suficient s alegem
k
c astfel
ca:
( )
( ) ( )
2 ( )
( )
2 ( 0) 0, 2 sau 2 , 0
, cu 0, 2
k k
k
l l
k ll k l ll k
ll ll
k
l
k k k
ll
r r
c a c r a c
a a
r
c
a
e e

| | | |
< 0 > e
| |
\ . \ .
= e
Metoda de relaxare obinut este urmtoarea:
( )
( )
(0) ( 1) ( )
dat, 0,1, , 0, 2
k
k k
l
k l k
ll
r
y y y e k
a
e e
+

e = + , = e .

Pentru a aproxima x
-
se deduce o clas de metode numite metodele
relaxrii successive. Aceste metode se obin aplicnd metodele de
70
relaxare de mai sus. Vom considera constanta ,
k
k e e = , neschimbat
de la un pas la altul. Vom construi un ir
{ }
( ) k
x _

astfel:
(0) (0)
(0)
(1) (0)
1
1
11
(1)
(2) (1)
2
2
22
( 1)
( ) ( 1)
(1) ( )
un vector din dat
1
2
n
n n
n
n
nn
n
x y
r
l y y e
a
r
l y y e
a
r
l n y y e
a
x y
e
e
e

=
= = +
= = +
= = +
=
.

Trecerea de la iteraia k la iteraia urmtoare se face asrfel:


( ) ( )
( )
( 1) ( )
1
1
11
( 1)
( 2) ( 1)
2
2
22
( 1)
( ) ( 1)
( 1) (( 1) )
1
2
, 0,1, 2,
k kn
kn
kn kn
kn
kn kn
kn n
kn n kn n
n
n
nn
k k n
x y
r
l y y e
a
r
l y y e
a
r
l n y y e
a
x y k
e
e
e
+
+
+ +
+
+ +
+ +
=
= = +
= = +
= = +
= =
.
.
Componenta
( 1) l
i
x
+
se calculeaz pentru l i = n algoritmul de mai sus:
( 1)
( 1) ( ) ( 1)
, 1, 2, ,
kn i
k kn i kn i
i
i i i i
ii
r
x y y e i n
a
e
+
+ + +
= = + = .
Vectorul
( 1) kn i
y
+
i
( 1) kn i
i
r
+
sunt dai n continuare:
71
( )
( 1)
1
( 1)
2
( 1) ( 1) ( 1) ( 1) ( 1)
1
1
( )
( )
1
( 1) ( 1) ( )
1
,
k
k
n
kn i k kn i kn i kn i
i i i ij j
i
j
k
i
k
n
i n
kn i k k
i i ij j ij j
j j i
x
x
y x r b Ay b a y
x
x
r b a x a x
+
+
+ + + + +

+ +
= =
| |
|
|
|
|
| = = =
|
|
|
|
|
\ .
=

_
_ _
.
.

Acum putem scrie dependena componentelor vectorului
( 1) k
x
+
de
componentele vectorului
( ) k
x :
( )
(0)
1
( 1) ( ) ( 1) ( )
1
1
( 1) ( ) ( 1) ( )
1 1
0, 2 date,
, 1, 2, , , 0,1, 2,
) ,
i n
k k k k
i i i ij j ij j
j j i
ii
i n
k k k k
i i i ij j ij j
j j i
ii
x
x x b a x a x i n k
a
x x b a x a x i
a
e
e
e
e

+ +
= =

+ +
= = +
e , e
| |
= + = =
|
\ .
| |
= (1 + =
|
\ .
_ _
_ _
. .

1, 2, , , 0,1, 2, n k = . .
Metodele de mai sus poart numele de metodele relaxrii successive. Se
observ c pentru 1 e = obinem metoda Gauss-Seidel.
Rearanjnd formulele de mai sus avem:
( ) ( ) ( )
1
( 1) ( 1) ( 1) ( ) ( ) ( )
1 1
(1 )
i n
k k k k k k
ii
ij j i ii i ij j i
i
i i
j j i
a
a x x B x a x a x b C x b
e
e e

+ + +
= = +

+ = = + = +
_ _
Matricea A, fiind simetric poate fi scris sub forma:
| |
21
11 22
1 2 1
0 0 0
0 0
cu , diag , , ,
0
T
nn
n n n n
a
A L D L L D a a a
a a a

0
| |
|
0
|
= + + = =
|
|

\ .

.
.

Cu aceste notaii, matricile B i C de mai sus pot fi scrise astfel:


1 1
,
T
B L D C D L
e
e e

= + =
Vom verific dac metodele relaxrii succesive se nscriu n clasa
general de metode iterative, adic vom verifica dac A B C = :
72
1 1
T T
B C L D D L L D L A
e
e e

= + + = + + =
Ne intereseaz n ce condiii irul
( ) k
x construit cu o metod de relaxare
succesiv converge la soluia
1
x A b
-
= cutat. Avem urmtoarea
teorem de convergen:
Teorem
Fie o matrice A

e

, simetric,
T
A A = cu det 0 A = ,
0, 1, ,
ii
a i n > = . , b e

un vector real i ( ) 0, 2 e e . Atunci irul


( ) k
x
construit cu o metoda de relaxrii successive converge la soluia x
-
a
sistemului liniar = Ax b oricare ar fi iteraia iniial
(0)
x dac i numai
dac matricea A este pozitiv definit.
( ) (0)
, , ) 0 , 0
k
x x k x Ax x x x
-
, ( > , e =

Demonstraie: Vom verifica dac raza spectral a matricii iteraiei este


subunitar folosind Lema. Avem:
( )
1 1 1
n
M B C B B A I B A

= = =
11 22
1 1
, det 0 ( 0 , )
nn ii n
B L D B a a a a i
e e
= + = = >
Matricea A este simetric iar matricea B este nesingular. Pentru a fi
ndeplinite ipotezele Lemei trebuie s verificm c matricea Peste
pozitiv definit:
1 1 2
T T T
P B B A L D L D L D L D
e
e e e

= + = + + + =
( ) ( )
2
1
(2 ) (2 )
, 0 0 0 avem 0, ) 0, 2
n
ii i ii
i
Px x a x x a i
e e
e
e e
=

= > , = > ( > e
_
Toate ipotezele lemei sunt ndeplinite, prin urmare avem convergena
dorit.
73
Valori i vectori proprii
Definiie
Fie .
n n
A

e e se numete valoare proprie a matricii A dac exist


un vector , 0
n
x x e = astfel ca
. Ax x =
Vectorul x se numete vector propriu corespunztor valorii proprii .
Pentru existena vectorului 0 x = este necesar i suficient ca matricea
A I s fie singular , adic det( A I ) = 0.
Polinomul de grad n:
( ) ( ) det
A n
p I A =
se numete polinom caracteristic al matricii A.
Propoziia 1
Fie rdcinile polinomului caracteristic
1 2
, , ,
n
. distincte
i j
=
pentru 1 i j n s < s
1 2
i , , ,
n
x x x . vectorii proprii corespunztori. Atunci
vectorii
1 2
, , ,
n
x x x . sunt liniar independeni.
Demonstraia se face prin inducie. Pentru n=2 fie combinaia
1 1 2 2
0. x x o o + =
(1)
Aplicnd A obinem:
1 1 2 2 1 1 2 2 1 1 1 2 2 2
( ) 0 A x x Ax Ax x x o o o o o o + = + = + = . (2)
Prin ipotez
1 2
= . Considerm valoarea proprie nenul, fie aceasta
1
.
Din (1) nmulit cu
1
sczut din (2) obinem:
( )
2 2 1 2 2
0 0, x o o = =
iar din (1) rezult
1
0. o = Deci
1 2
, x x sunt liniar independeni.
Considerm propoziia adevarat pentru k > 2, adic
1
0 0 , 1, , .
k
i i j
i
x j k o o
=
= = =
_
. (3)
Pentru k+1 considerm combinaia liniar:
1
1
0
k
i i
i
x |
+
=
=
_
. (4)
Aplicnd A obinem:
1
1
0.
k
i i i
i
x |
+
=
=
_
(5)
Din (4),(5) , pentru
1
0
k

+
= , rezult:
74
( )
1
1
0
k
i k i i
i
x |
+
=
=
_
n virtutea ipotezei inductive rezult:
( )
1
0 , 1, , .
i k i
i k |
+
= = .
innd seam c
1
, 1, , ,
i k
i k
+
= = . rezult 0, 1, , ,
i
i k | = = . iar din (4)
innd seama c
1
0
k
x
+
= avem i
1
0.
k
|
+
= Deci din (4) rezult
0, 1, , 1,
i
i k | = = + . deci vectorii proprii
1 2 1
, , ,
k
x x x
+
. sunt liniar
independeni.
Propoziia 2
Fie valorile proprii
i
ale matricii
n n
A

e distincte. Atunci exist o
matrice nesingular T astfel ca:
1
1 2
diag{ , , , }
n
T AT

= . .
Demonstraie. Fie
1 2
, ,
n
x x x . vectorii proprii ai matricii A. Considerm
matricea T ale crei coloane sunt vectorii proprii
i
x ,
| |
1 2 n
T x x x = . .
Deoarece vectorii proprii sunt liniar independeni conform propoziiei 1
rezult c matricea T este nesingular. Vom avea:
| | | | | |
1 2 1 1 2 2 1 2
.diag
n n n n
AT Ax Ax Ax x x x T = = = . . . .
nmulind cu
1
T

obinem concluzia propoziiei 2.


Definiie
Matricile A i B sunt asemenea ( ) notaie A B ~ dac i numai dac exist
o matrice nesingular T (det T 0) astfel ca
1
. A TBT

=
Propoziia 3
( ) ( ).
A B
A B p p = ~
Demonstraie.
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
1 1 1
1 1
det( ) det det
det det( )det det
A
B
p I A I TBT TT TBT
T I B T T I B T p




= = =
= = =
Propoziia 3 ne spune c matricile asemenea au aceleai valori proprii.
Teorema lui Gershgorin
Fie i A

e e

o valoare proprie oarecare a matricii A. Atunci:
{ }
0 0 0 0 0
0
0
1
1, 2, , astfel nct .
n
i i i i i j
j
j i
i n a r r a
=
=
- e s , =
_
.
(Valoarea proprie se afl n cercul din planul complex de centru
0 0 0
i raz
i i i
a r .)
75
Demonstraie. Fie e o valoare proprie a matricii A i 0 x = un vector
propriu corespunztor valorii proprii , . Ax x = Avem:
1 1
( ) , 1, , .
n n
i ii i ij j ii i ij j
j j
j i j i
x a x a x a x a x i n
= =
= =
= + = =
_ _
.
Fie
0
i astfel ca
{ }
0
max ; 1, , 0 0).
i k
x x x k n x

= = = > ( = .
Vom avea
0 0 0 0 0
0 0 0
0 0
1 1
, innd seama c 1.
n n
j j j
i i i j i j i
j j
i i i
j i j i
x x x
a a a r
x x x

= =
= s
= s s s
_ _
Observaie. Presupunem c matricea A are n vectori proprii liniar
independeni
1 2
, , ,
n
x x x . asociai valorilor proprii
1 2
, , .
n
. Fie
1 2 n
U x x x ( =

. . Datorit independenei vectorilor
k
x rezult c
matricea U este nesingular i avem:
| |
1 2
diag , , ,
n
A = .
1
. U AU

= A
Considerm matricea perturbat ( ) . A A B c c = + Notnd cu
1
C U BU

=
vom avea: ( )
1 1
U A U U BU C c c c

= A + = A + .
innd seama c matricile ( ) ( )
1
i A U A U c c

sunt asemenea rezult c


vor avea aceleai valori proprii ( ).
i
c Aplicm teorema lui Gershgorin i
obinem:
( ) ( ) ( )
1
.
n
i ii ij i
j
j i
c c c c c c c
=
=
s =
_

Metoda lui Jacobi pentru aproximarea valorilor proprii ale unei
matrici simetrice
Propoziie
Fie , .
T
A A A

e =

Atunci toate valorile proprii ale matricii A sunt
numere reale.
Demonstraie. Fie i , 0 .
n
x x Ax x e e = , = Considerm produsul
scalar: ( ) ( )
2
2
, , . Ax x x x x = =
Dar ( ) ( ) ( ) ( ) ( ) , , , , ,
T
Ax x x A x x Ax Ax x Ax x = = = e astfel c:
( )
2
2
, Ax x
x
= e.
76
Algoritmul lui Jacobi
Se consider matricea , A

e

simetric
T
A A = . Matricea A are
valorile proprii reale,
1 2
, , ,
n
e . . Prin algoritmul lui Jacobi se
construiete un ir de matrici
( )
{ }
,
k
A

_

simetrice, asemenea cu
matricea A, astfel ca:
( ) ( ) ( )
| |
( )
1 2
, diag , , , .
T
k k k k k
n
A A A A A

(
= , A =

~ .
n construcia matricilor
( ) k
A se vor utiliza matrici de rotaie plan
( )
pq
R u astfel:
( )
( )
( )
( )
( )
0
1
,
, 0,1,
k k k k
k k T
p q k p q k
A A
A R A R k u u
+
=
= = ..
Matricile
( ) k
A sunt asemenea cu matricea A. Procedm prin inducie:
( )
( ) ( )
1 1 1 1 1 1 1 1
1 1
1 1 1 1
( ) ( )
T
p q p q p q p q
A R A R R A R u u u u

= =
Presupunem c
( )
( )
( ) 1
, det 0 ,
k k
A A V V VAV A

- e = = ~

. Atunci:
( )
( )
( )
( ) ( ) ( )
1 1 1
k k k k k k k k
k k T
p q k p q k p q k p q k
A R A R R VAV R u u u u
+
= = .
Notnd ( )
k k
p q k
W R V u = vom avea
( ) ( ) 1 1 1
deci .
k k
A WAW A A
+ +
= , ~
Vom demonstra de asemenea prin inducie c matricile
( ) k
A sunt
simetrice. Pentru k=0 avem
( ) ( ) 0 0
T
T
A A A A = = = conform ipotezei
iniiale.
( )
( )
( )
( ) ( ) ( )
( )
( )
( )
1
k k k k k k k k
T T T T
k k k T T T
p q k p q k p q k p q k
A R A R R A R u u u u
+
(
( (
= = =

(

( )
( )
( )
( ) 1
k k k k
k k T
p q k p q k
R A R A u u
+
= = .
Deteminarea la fiecare pas a direciilor p,q se face cutnd elementul
nediagonal de modul maxim :
( ) ( )
{ }
max ; , 1, , ,
k k
pq ij
a a i j n i j = = = .
sau, innd seama de simetria matricii
( ) k
A :
( ) ( )
{ }
max ; 1, , 1, 1, , .
k k
pq ij
a a i n j i n = = = + . .
Determinarea parametrului
k
u rezult din condiia:
( ) ( ) 1 1
0.
k k
pq qp
a a
+ +
= =
Notm elementele matricii ( ) ( )
k k
p q k ij
R r u = ,
77
( )
( )
( )
, 1, , , , ; , .
cos ,
sin , ,
sin , .
ij k k k k
k k k
ij
k k k
k k k
i j n i p q j p q
i j p i j q
r
i p j q
i q j p
o
u
u
u
= = =

= = = = ,

= =

= =

.
( ) ( ) 1
1 1
n n
k k
ij il lm jm
l m
a r a r
+
= =
=
_ _
Pentru simplificarea calculelor vom nota
( ) ( ) , , cos , sin ,
k k k k
p p q q c s u u = = = = i vom obine:
( ) ( )
1
, , 1, , , , ,
k k
ij ij
a a i j n i p q j p q
+
= = ; = ; = .
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
1
1
1
1
, 1, , , , ,
, 1, , , , ,
, 1, , , , ,
, 1, , , , ,
k k k
pj pj qj
k k k
qj pj qj
k k k
jp jp jq
k k k
jq jp jq
a ca sa j n j p q
a sa ca j n j p q
a ca sa j n j p q
a sa ca j n j p q
+
+
+
+
= + = =
= + = =
= + = =
= + = =
.
.
.
.
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( )
( )
1
2 2
1
2 2
1 1
2 2
2 ,
2 ,
.
k k k k
pp pp pq qq
k k k k
qq pp pq qq
k k k k k
pq qp qq pp pq
a c a csa s a
a s a csa c a
a a cs a a c s a
+
+
+ +
| |
|
\ .
= + +
= +
= = +
Din condiia
( ) 1
0
k
pq
a
+
= rezult:
( ) ( )
( )
( ) ( )
( ) ( )
( )
2 2
cos sin
2
2sin cos
2
k k
pp qq
k
pq
a a
ctg
a
u u
u
u u

= = .
n relaia de mai sus am presupus
( )
0.
k
pq
a = Dac aceast ipoteza nu ar fi
ndeplinit, innd seam de definiia lui:
( ) ( )
{ }
max ; 1, , 1, 1, ,
k k
pq ij
a a i n j i n = = = + . .
ar rezulta c toate elementele nediagonale ale matricii
( ) k
A sunt nule
adic aceast matrice ar fi diagonal i valorile proprii sunt determiante:
( )
1, , ,
k
j jj
a j n = , = .
ceeace ncheie algoritmul.
Dac
( ) ( ) k k
pp qq
a a = atunci / 4, 2 / 2.
k
s c u t = = =
78
Notm:
( ) ( )
( )
( ) , .
2
k k
pp qq
k
k
pq
a a
t tg
a
o u

= =
Din ecuaia
2 2 2
2
1
2 1 0
2 2
c s t
t t
cs t
o o

= = + = avem rdcinile:
2
1,2
1. t o o = +
Dintre cele dou rdcini , cu produsul
1 2
1, t t = o vom alege pe aceea cu
modulul subunitar adic:
( )
2
sign 1 / 4.
k
t o o o u t = + + <
Calculele pentru obinerea valorilor
( ) ( ) 1 1
,
k k
pp qq
a a
+ +
se pot simplifica:
( ) ( )
( )
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( )
1
2 2
2 2
2 2
3 2 2
.
1 2
2 2 2
2
2
k k k k k
pp pp pp qq pq
k k k k k
qq pp pq pq pq
k k
pq pq
a a c a s a csa
s c
s a a csa s a a
cs
s sc c s
a ta
c
+
| |
|
\ .
= + + =

+ = + =
+
=
Obinem astfel:
( ) ( ) ( ) ( ) ( ) ( )
1 1
.
k k k k k k
pp pp pq qq qq pq
a a ta a a ta
+ +
= + , =
Propoziie
irul de matrici construite cu algoritmul lui Jacobi converge la o
matrice diagonal
1 2
diag[ , , ].
n
A = .
Demonstraie. Notm:
( ) ( ) ( ) ( ) ( ) ( )
2 2 2
1 1 1 1 1
, .
n n n n n
k k k k k k
ij ij ii
i j i j i
j i
T a S a D a
= = = = =
=
| | | | | |

| | |
\ . \ . \ .
= , = =
__ __ _
Datorit faptului c matricea
( ) 1 k
A
+
se obine din matricea
( ) k
A prin
nmulire cu matrici ortogonale vom avea
( ) ( ) 1
, 0,1,
k k
T T k
+
= = .
Din relaiile:
79
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( )
( ) ( )
2 2 2 2
1 1
2 2 2
2
2 2 2 2
2 2
2
2 2 .
2 2. 1
k k k k k k
pp qq pp pq qq pq
k k k k k k
pp qq pq pq pp qq
k k k k
pp qq pq pq
k k
pp qq
a a a ta a ta
a a t a t a a a
a a t a a t
a a
+ +
| | | | | | | |
| | | |
\ . \ . \ . \ .
| | | | | | | |
| | | |
\ . \ . \ . \ .
| | | | | | | |
| | | |
\ . \ . \ . \ .
| | |
|
\ .
+ = + + =
+ + + =
+ + + =
+
( )
2 2
2 .
k
pq
a
| | |
| |
\ . \ .
+
i
( )
( )
( )
( )
2 2
1
, 1, , , ,
k k
ii ii
a a i n i p q
+
= = = .
rezult:
( ) ( ) ( )
2
1
2
k k
k k k
p q
D D a
+
| |
|
\ .
= + .
Din definiia elementului
( )
k k
k
p q
a rezult:
( )
( ) 2
( 1)
k k
k
k
p q
S
a
n n
| |
|
\ .
>

iar din relaiile:


( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 2
1 1 1
2 2
k k k k
k k k k k k k k
p q p q
S T D T D a S a
+ + +
| | | |
| |
\ . \ .
= = =
rezult:
( ) ( )
( )
( )
( )
1
1 0
2 2
1 1
1 1
k
k k
S S S
n n n n
+
+
| | | |
s s s
| |

\ . \ .
.
sau
( )
0.
k
k
S

80
Algoritmul Jacobi pentru valori proprii:
k=0 , k_max numrul maxim de iteraii admis;
{ }
max ; 1, , 1, 1, ,
pq ij
a a i n j i n = = = + . . ;
while
( )
pq
a i k k_max c > s
( )
2
2
;
;
2
sign 1
1
; * ;
1
pp qq
pq
a a
a
t
c s c t
t
o
o o o

=
= + +
= =
+
-
-
-
;
;
;
;
for 1, , ,
;
pj
pj pj qj
qj qj
jp pj jq qj
j n j p q
u a
a ca sa
a su ca
a a a a

= =
- =
- = +

- = +
- = =
-
{ }
;
;
;
0;
max ; 1, 1, 1,
pp pp pq qq qq pq
pq qp
pq ij
a a t a a a t a
a a
a a i n j i n
= + - = -
= =
= = = +
-
-
-
81
Forma superioar Hessenberg
Definiie
Spunem c o matrice H

e

este n form suprioar Hessenberg dac:
0 , 1, , , 1, , 2
ij
h i n j i = = = . .
O matrice n form Hessenberg arat astfel:
11 12 13 1 1 1
21 22 23 2 1 2
32 33 3 1 3
43 4 1 4
1
0
0
n n
n n
n n
n n
nn nn
h h h h h
h h h h h
h h h h
H
h h h
h h

| |
|

|
|
0
=
|
0
|
|
|
|
0 0
\ .

Ne intereseaz un algoritm care s transforme o matrice ptratic A


oarecare ntr-o matrice Hessenberg superioar H care s aib aceleai
valori proprii:
` ` `
1
a.. H , matrice nesingular A H PA P P

A , H = ~ .
Algoritmul este o adaptare a algoritmului lui Housholder i se desfoar
n (n-1) pai, folosind matricile de reflexie pentru a transforma matricea.
Pas 1: se efectueaz operaiile
1 1
A PAP = (matricea
1
P se alege astfel
ca coloana 1 s fie transformat n form superior Hessenberg)
Pas 2:
2 2 2 1 2
= ( )
init
A P AP P PA P = (
2
P transform coloana 2 n form
superior Hessenberg fr s schimbe coloana 1)
Pas r :
1 1 1 1
( )
init
r r r r r r
A P AP P P PA P P P

= = (se transform
coloana r n form superior Hessenberg fr s schimbe primele
( 1) r coloane)
Pasul r (r=1,2,,n-2)
La intrarea n pasul r matricea A are primele (r-1) coloane n
form superior Hessenberg. La ieirea din pasul r matricea A va avea
primele r coloane n form superior Hessenberg:
2
,
= 2 ( ) , , || || =1
ies r intr r ies intr
r r T r n r
r n
A P A P A A
P I v v v R v
=
e
~
Vectorul
r
v se alege astfel ca matricea
ies
A s aib coloana r n form
superior Hessenberg i s nu schimbe primele r-1 coloane ale matricii
intr
A .
82
Calculul matricii
r
P
Pentru simplitate vom nota = , =
r
r
P P v v . Coloana r a matricii A i
noua coloan r au urmtoarea form:
1
1
1
2
2
2
1
1
= ( ) =
0
0
0
r
r
r
r
r
r
rr
rr
rr
r r
r r r r r
ir
nr
a a
a
a a
a
a a
a
a k
Ae a PA e Ae
a
a
+
+
| |
=
|
| |
=
|
|
|
|
|
|
|
|
=
|
|
= |
|
=
|
|
|
|
|
|
|
|
|
|
|
|
\ . |
|
\ .
.
.
.
.
.
.
Aplicnd proprietatea matricilor ortogonale
2 2
( , || || ) Q x Qx x

e e , ,, =,,

pentru matricea = Q P i vectorul
=
r
x Ae avem:
2 2 2 2 2
2 1 2
2 2 2 2 2 2 2
1 2 1
|| || = =
|| || =
r r r rr
r r r rr r r ir nr
PAe a a a k
Ae a a a a a a
+
+ + + +
+ + + + + + + +


Din relaia de mai sus rezult:
2 2 2 2 2
1
= 1
= = = =
n
r r ir nr ir
i r
k a a a a k o o
+
+
+ + + +
_

Determinarea vectorului v ce definete matricea P se face astfel:
( ) = ( 2 )( ) = 2( )( ) = 2 ( ( )) =
(2 ) =
T T T
r n r r r r r
r r
PA e I vv Ae Ae vv Ae Ae v v Ae
Ae v Ae u o

=
unde cu o i u am notat:
( )
1 1 2 2
:= ( ) ( ),
T
r r r r ir i nr n
v Ae Ae v a v a v a v a v o = = + + + + +

83
1 1
1
0
0
:= (2 ) = ( ) = =
0
0
r r
rr rr
rr r r
r r
ir ir
nr nr
a a
a a
a k a k
u v Ae PA e
a a
a a
o
+
| | | | | |
| | |
| | |
| | |
| | |

| | |

| | |
| | |
| | |
| | |
| | |
| | |
\ . \ . \ .
. . .
. . .
. . .
Cu aceste notaii matricea P devine:
2
2
1 1 1 1
= 2( ) ( ) = ( ) cu : 2
2 2 2
T T T
n n n
P I u u I uu I uu | o
o o o |
= =
Pentru a cunoate matricea P trebuie s mai determinm constanta | .
Din condiia:
2 2 2 2
2 2 2 2 2
1 1
|| || =1 || || =1 || || 1 2 =|| ||
2 4
v u u u |
o o
=

avem:
2 2 2 2
2 1
2 2 2 2
1 1
1 1
|| || ( ) =
2 =
2 = 2( )
r r ir nr
r r ir nr r r
r r r r
u a k a a
a a a ka k
ka ka o o o
+
+ +
+ +
= + + + +
= + + + + +
= +


de unde obinem:
1
=
r r
ka | o
+

Vom alege semnul constantei k astfel nct | s fie ct mai mare


posibil deoarce constanta | apare n operaia de mprire. Avem:
1 1
" " = ( 0) semn = semn
r r r r
mare ka k a | | o o o
+ +
> >
Ce nseamn = 0 | ?
2 2
2 2 1
1
= || || = 0 || || = 0 = 0 , , 0, , = 0
2
r r ir nr
u u u a k a a |
+
= = . .
Cum
1 r r
a k
+
= i
1
semn = semn
r r
k a
+
obinem:
= 0, = 1, ,
ir
a i r n + .
adic avem coloana r n form superior triunghiular, caz n care se
trece la pasul urmtor.
Descriem mai jos cum se efectueaz operaia :=
r
A P A fr a face
nmulire matricial. Vom pune n eviden schimbrile n raport cu
coloanele.
84
1 1
( ) ( )( ) ( )( )
1
( ( )) =
T T
j n j j j
j T
j j j
PA e I uu Ae Ae uu Ae
Ae u u Ae Ae u
| |

| |
= = =
=
unde
1
2
1 1
1 1
=1 = 1
1 1
0
0
:= ( ) = ( , ) =
( ) =
=
( = 0, =1, , , =
j
j
T
j j
r r r j
nr
nj
r j r r ij ir nj nr
n n
i ij i ij
i i r
i r r r i i
a
a
u Ae
a k a
a
a
a a k a a a a
u a u a
u i r u a k u a

+ +
+ +
+
+ +
| |
| |
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
\ .
\ .
= + + + +
=
, =
_ _
. .
.
.

.

, = 2, , )
r
i r n + .
Noua coloan j se obine din vechea coloan j din care scdem vectorul
u nmulit cu constanta
j
. Ne intereseaz ca primelor ( 1) r coloane s
nu li se schimbe forma superior Hessenberg deja obinut. Pentru
=1, , 1 j r . avem:
1
1
2
1
2
1
1 1 1
0
0
= 0 0
: ( ) ( , )
= 0
= 0
0 0 0( ) 0 0 = 0
j
j j
j j
T
j j
r r
r r
r j
nr
nj
j j j r r ir nr
a
a
a
u Ae
a k
a
a
a
a
a a a k a a

+
+
+
+
+
+ +
| |
| |
|
|
|
|
|
|
|
|
|
|
= = =
|
|

|
|
|
|
|
|
|
|
|
|
\ .
\ .
= + + + + + + + +
.
.
.
.
.

Din faptul c = 0 , =1, , 1


j
j r . rezul c primele 1 r coloane
ale matricii A nu se schimb ca urmare a n mulirii :=
r
A P A, rmn n
form superior Hessenberg.
Algoritmul de trecere de la matricea A la matricea
r
P A este urmtorul:
85
1 2
pentru =1, , 1
( ) = ( , , , , , 0, , 0) pentru =
pentru = 1, ,
j
T
r j r r rr
j
j
Ae j r
P A e a a a k j r
Ae u j r n

.
. .
.
cu
= 1
= ( , ) =
n
j j i ij
i r
Ae u u a
+

_

1 1
= 0, =1, , , = , = , = 2, ,
i r r r i ir
u i r u a k u a i r n
+ +
+ . .
Vom descrie n continuare cum se efectueaz operaia :
r
A AP = fr a
face nmulire matricial (matricea A este cea obinut mai sus avnd
primele r coloane n form superior Hessenberg). Vom arata c aceast
operaie nu schimb forma superior Hessenberg obinut. Vom pune n
eviden transformrile liniilor matricii A. Pentru 1, , i n = . avem:
1
( ) noua linie a matricii )( )
1
( )
T T T
i i n
T T T T T
i
i i i
e AP i AP e A I uu
e A e A u u e A u
|

| |
= = ( =
= =
unde
1 1
( )
T
i i ir r in n
e A u a u a u
+ +
= = + +
Elementele liniei i se schimb astfel:
, 1, , , 1, ,
i
ij ij j
a a u j r n i n

|
= = + = . .
Din aceast relaie deducem c operaia :
r
A AP = nu modific primele r
coloane ale matricii A, ele rmnnd n form superior Hessenberg.
86
Algoritmul de obinere a formei superior Hessenberg
2
= 1
for 1, , 2
construcia matricii constanta i vectorul
= ;
if ( ) break ; // 1
r
n
ir
i r
r n
r n
P u
a
r r P I
|
o
o c
+
=
//
-
- s = + =

_
.
1
1
1 1
= ;
if ( 0 ) ;
;
; , 2, , ;
transformarea coloanelor
r r
r r
r r r i ir
r
k
a k k
k a
u a k u a i r n
A P A
o
| o
+
+
+ +
-
- > =
- =
- = = = +
// = -
//
.
= 1
1, ,
for 1, ,
( / ) ( , ) / = ( )/ ;
for 1, ,
;
transformare
n
j j i ij
i r
ij ij i
j r n
j r n
Ae u u a
i r n
a a u
| | |

+
= +
- = +

= =

= +

= -

//
_
.
.
.
1
a coloanei a matricii
; 2, , ;
transformarea liniilor 1, ,
for 1, ,
r r ir
r
r A
a k a i r n
A A P
i n
i n
+

- = = 0, = +
// = -
// =
- =

.
.
.
= 1
( / ) (( ) ) / = ( )/ ;
for 1, ,
;
n
T
i i j ij
j r
ij ij j
e A u u a
j r n
a a u
| | |

= =

= +

= -


_
.
87
Algoritmul QR de aproximare a valorilor proprii ale unei matrici
oarecare
Prezentm n continuarecel mai folosit algoritm de aproximare a
valorilor proprii pentru matrici ptratice oarecare.
Spunem c o matrice S

e

este n form Schur real dac matricea
S este n form superior Hessenberg i n plus este bloc-diagonal:
11 12 1
22 2
0
p
p
pp
S S S
S S
S
S

| |
|
0
|
=
|

|
|
0
\ .

blocurile
ii
S sunt astfel ca:
-
ii
S e - este valoare proprie real
-
2 2
ii
S

e - este bloc corespunztor valorilor proprii complexe
Valorile proprii corespunztoare blocului:
2 2
-a b
sunt rdcinile ecuaiei -a)( -d)-bc=
-c -d
ii
a b
S
c d


| |
= e = ( 0
|

\ .

Se presupune c aceast ecuaie de gardul 2 are rdcini complexe.


Algoritmul QR de aproximare a valorilor proprii construiete un ir de
matrici
( ) k
A

e

, matrici asemenea cu matricea A,
( )
,
k
A A k ~ , ir
care converge la o matrice n form Schur real,
( )
,
k
A S k .
Matricea limit
S este asemenea cu matricea A, valorile prorii ale matricii S fiind uor de
calculat. irul
( ) k
A se construiete astfel:
(0) (0) (0)
0 0
(1) (1) (1)
0 0 1 1
(2)
1 1
( )
: , (descompunerea calculat pentru matricea )
: , (descompunerea calculat pentru matricea )
:
(descompunerea calculat pentru
k
k k
A A A Q R QR A
A R Q A Q R QR A
A RQ
A Q R QR
= =
= =
=
=
.
( )
( 1)
matricea ) ,
: , 0,1, 2,
k
k
k k
A
A R Q k
+

= = .
Matricile
k
Q sunt matrici ortogonale (
1 T
k k
Q Q

= ) iar matricile
k
R sunt
superior triunghiulare.
Matricile
( ) k
A i
( 1) k
A
+
sunt asemenea:
88
( ) ( )
( 1) ( ) ( 1) ( )
|
,
T k T k
k k k k k
k T k k k
k k k k
Q A Q R R Q A
A R Q Q A Q A A k
+ +
- = =
= = ~
Matricile irului construit sunt toate asemenea prin urmare au aceleai
valori proprii anume cele ale matricii iniiale
(0)
A A = :
(0) (1) ( ) k
A A A A S = ~ ~~ ~~
Dac matricea
( ) k
A este n form superioar Hessenberg, atunci
descompunerea QR realizat cu algoritmul lui Givens se simplific.
Reamintim algoritmul lui Givens:
1 1 1 1 1 1 12 12
( ) ( ) ( ) ( ) ( )
n n n n pn pn pp pp n n
R R R R R A R u u u u u
+ +
=
Dac matricea A este n form Hessenberg n algoritmul lui Givens, din
cele n(n-1)/2 nmuliri cu matrici de rotaie rmn doar (n-1):
1 1 1 1 23 23 12 12
( ) ( ) ( ) ( )
n n n n pp pp
R R R R A R u u u u
+ +
= .
Problema care se pune este dac pornind cu o matrice n form
Hessenberg, toate matricile irului rmn n form Hessenberg:
( )
( 1) ( )
(n form Hessenberg) (cu Givens) ?
este tot n form Hessenberg
k
k T k T
A H QR
A H RQ Q A Q Q HQ
+
= =
= = = = ?
Avem:
12 12 1 1 1 1
( ) ( ) ( )
T T T T
rr rr n n n n
H Q HQ R R R R u u u
+ +
= =
Notm cu:
12 12
( )
T
R R R u =
pentru care avem:
1 1
1 2 1
2 2 2
1 2
, 0, 2, , 0, 3, ,
0, 3, ,
, 0, 3, ,
i i
i i i
i i i
i i
r cr sr i r i n r i n
r i n
r sr cr i r i n
= + = = = =

+

= =
= + = =


. .
.
.
deci coloana 1 se transform n form Hessenberg iar coloana 2 rmne in
form suprior triunghiular. La pasul p avem:
( )
`
`
12 12 1 1 1 1 1 1
12 12 1 1
( ) ( ) ( ) ( ) ,
( ) ( )
T T T T
p p p p pp pp pp pp
T T
p p p p
R R R R R R R
R R R R
u u u u
u u
+ + + +

= =
=

matricea
`
R are primele (p-1) coloane n form Hessenberg iar restul
coloanelor sunt n form superior triunghiular. Vom arata c la acest pas
matricea R va avea primele p coloane n form Hessenberg iar restul
coloanelor n form superior triunghiular. Operaia
`
1 1
( )
T
pp pp
R R R u
+ +
:=
presupune doar schimbarea elementelor coloanelor p i p+1:
89
1
1 1 1
2
, 0, 1, ,
, 0, 2, ,
0, 2, ,
0, 2, ,
ip ip ip ip
ip ip ip ip
ip
ip
r cr sr i r i p n
r sr cr i r i p n
r i p n
r i p n
+
+ + +
+

= + = = +

+

= + = = +

= = +

= = +


.

.
.
.
.
Observm din relaia de mai sus c n matricea R coloana p are form
Hessenberg iar coloana p+1 rmne n form superior triunghiular
(celelalte elemente din matrice nu se modific).
Prin urmare dup pasul n-1 matricea
( 1) k
H A
+
= este n form superioar
Hessenberg. Algoritmul QR de aproximare a valorilor proprii folosind
descompunerea Givens pstreaz forma Hessenberg.
Algoritmul QR pentru valori proprii
se aduce matricea la forma Hessenberg
;
0;
while ( forma Schur real )
; // se ca
T
A
Q AQ
k
A
A QR
//
- A =
- =
- =
- =

lculeaz cu algoritmul Givens
sau AQ;
1;
T
A RQ Q
k k

- =

- = +


n practic se presupune c matricea A este n form Hessenberg
neredus, adic:
1
0 2, ,
ii
a i n

= = .
Dac matricea nu este n form neredus, problema se decupleaz:
11 12
21 22
, 1sau 2
A A p
A p n n
A A n p
p n p

(
= =
(



90
Varianta algoritmului QR cu deplasare (shift) simpl
Algoritmul cu deplasare simpl este urmtorul:
; aducerea la forma Hessenberg neredus
0;
while ( forma Schur real )
; // se calculeaz cu
T
k n
Q AQ
k
A
A d I QR
- A = //
- =
- =
- =

algoritmul Givens
: ;
1;
k n
A RQ d I
k k

- = +

- = +


k
d e sunt constantele de deplasare. Dac
n
A d I QR = (
( ) k
A ) i
n
A RQ d I = + (
( 1) k
A
+
) se pune problema dac cele dou matrici sunt
asemenea ( A A ~ ) (irul de matrici construit cu pasul QR cu deplasare
simpl au aceleai valori proprii).
( )
T T T T
n
A Q QRQ d Q Q Q QR d I Q Q AQ A A = + = + = ~
Varianta cu deplasare se efectueaz pentru a accelera convergena
algoritmului. Dac
1
,
2
,,
n
sunt valorile proprii ale matricii A
ordonate astfel ca:
1 2 n
d d d > > >
Rapiditatea cu care
( )
1
0 ,
k
p p
a k
+
este dat de rata de convergena a
expresiei
1
k
p
p
d
d

. Dac se alege
n
d ~ convergena
( )
1
0
k
n n
a

este
rapid. Avem urmtoarul rezultat:
Teorem
Fie d o valoare proprie a unei matrici Hessenberg nereduse H. Dac
n
H RQ d I = + , unde matricile Q i R sunt provin din descompunerea QR
a matricii
n
H d I QR = . Atunci:
1 0 , nn nn h h d = =
(algoritmul QR cu deplasare simpl gsete valoarea proprie d ntr-un
singur pas).
Euristic s-a constatat c la fiecare pas, cea mai bun aproximare a unei
valori proprii este
( ) k
nn
a .
91
Algoritmul QR cu deplasare simpl
; aducerea la forma Hessenberg neredus
0;
while ( forma Schur real )
; // se calculeaz cu
T
nn n
Q AQ
k
A
A a I QR
- A = //
- =
- =
- =

algoritmul Givens
: ;
1;
nn n
A RQ a I
k k

- = +

- = +


Varianta algoritmului QR cu deplasare (shift) dubl
n cazul cnd valorile proprii a
1
, a
2
corespunztoare blocului:
, 1
mm mn
mn nn
a a
G m n
a a

(
= =
(


sunt complexe,
1 2
, a a e, abordarea cu deplasare simpl nu mai asigur
accelerarea convergenei. Avem:
2 1 2
2 2
1 2 1 2
1 2 1 2
det( ) ( )( ) ( )( )
( ) ( )
,
mm nn mn nm
mm nn mm nn mn nm
mm nn mm nn mn nm
I G a a a a a a
a a a a a a a a a a
a a a a a a a a a a


= = =
= + + = + +
+ = + =
Algoritmul QR cu deplasare dubl const n trecerea de la matricea
( ) k
A A = la matricea
( 1)
2
k
A A
+
= realiznd doi pai cu deplasare simpl,
A A
1
(deplasare simpl a
1
), A
1
A
2
(deplasare simpl a
2
):
1 1 1
1 1 1 1
1 2 2 2
2 2 2 2
n
n
n
n
A a I Q R
A RQ a I
A a I Q R
A R Q a I
=
= +
=
= +
Fie matricea:
( )( ) ( ) ( ) ( )
( ) ( ) ( )
( )( ) ( ) ( )
1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1
1 1 1 1 2 1 1 2 1 1 2 1
2
1 2 2 1 2 1 1 2 1 2
:
( )
T
n n
T
n n n
n n n
M QQ R R Q Q R R Q A a I R Q Q AQ a I R
QQ AQ R a Q R a I Q R a I a I
M QQ R R a I a I A a a A a a I
= = = = =
= = A = A A
= = A A = + +
Avem urmtoarele relaii de asemnare:
( ) ( )
( ) ( )
1 1 1 2 2 1 2 2 1 1 2 1 2 1 2
2 1 2 1 2 1 2
, :
T
T T T T
T
T
A A Q AQ A Q AQ Q Q AQQ QQ A QQ
A QQ A QQ Q AQ Q QQ
= = = =
= = =
~ ~
92
Matricea Q care asigur trecerea de la matricea A la matricea A
2
este
matricea ortogonal din descompunerea QR a matricii
( ) ( )
2 1 n n
M a I a I = A A . Pasul QR cu deplasare dubl se face urmnd
etapele:
(a) se calculeaz matricea
2
n
M A s pI = A + cu
s=a
1
+a
2
=a
mm
+a
nn
, p=a
1
a
2
=a
mm
a
nn
-a
mn
a
nm
;
(b) se calculeaz descompunerea QR a matricii M;
(c) A
2
:=Q
T
AQ.
Vectori proprii
Considerm dou matrici asemenea A i B:
1
, matrice nesingular A B A PBP P

= ~
tim c cele dou matrici au acelai polinom caracteristic,
( ) ( )
A B
p p , deci au aceleai valori proprii. Ne intereseaz care este
legtura ntre vectorii proprii asociai aceleiai valori proprii. Fie x vector
propriu asociat valorii proprii pentru matricea A i w vector propriu
asociat valorii proprii pentru matricea B. Care este relaia ntre x i w?
1 1 1 1
1
, ,
,
Ax x Bw w A PBP PBP x x BP x P x
w P x x Pw

= = = = =
= =
Metoda lui Jacobi de aproximare a valorilor proprii ale unei matrici
simetrice poate fi descris astfel:
1 1 1 1 1 1 1 1
( ) ( ) ( ) ( )
k k k k k k k k
T T
p q p q p q p q p q p q p q p q
R R AR R u u u u = A (1)
unde indicii ( ,
k k
p q ) sunt alei la pasul k la care s-a atins precizia dorit:
| |
1 2
diag , , ,
n
A ~ . (2)
Notm cu U urmtoarea matrice ortogonal:
1 1 1 1 2 2 2 2
( ) ( ) ( ) ,
k k k k
T T T T T
p q p q p q p q p q p q n
U R R R U U UU I u u u = = =
Din relaia (1) avem:
T T
U AU UU AU U AU U = A = A = A
Punem n eviden coloanele matricii U,
1 2
, , ,
n
U x x x ( =

. . Din relaia
AU=AU i relaia (2) obinem:
| |
1 2 1 2
1 2
, , , , , , diag , , , , 1, ,
n n i i
n i
A x x x x x x Ax x i n ( ( ~ ~ =

. . . .
Prin urmare coloanele matricii U, vectorii x
i
, sunt aproximri ale
vectorilor proprii pentru matricea A.
Pentru a calcula valorile i vectorii proprii cu metoda Jacobi se
procedeaz astfel:
93
;
0;
while ( matrice diagonal)
: ( ) ( );
: ( );
1;
n
T
pq pq pq pq
T
pq pq
U I
k
A
A R AR
U UR
k k
u u
u
=
=
=
=

= +

La sfritul acestui algoritm, n matricea A vom avea matricea A care


aproximeaz valorile proprii ale matricii A, iar n U se va gsi matricea ce
aproximeaz vectorii proprii,
1 1 1 1
( ) ( ).
k k k k
T T
p q p q p q p q
R R u u
94
Descompunerea dup valori singulare
(Singular Value Decomposition)
Teorem
Fie
m n
A

e . Atunci exist o matrice ortogonal ptratic de dimensiune
m,
m m
U

e , o matrice ortogonal ptratic de dimensiune n,
n n
V

e i
constantele pozitive o
1
>o
2
>.>o
r
>0, rs min{m,n} astfel ca:
| |
( )
( ) ) ( )
1
, , ,
0
, diag , ,
r n r
T m n
m r r m r n r
r r
r
D
A U V
D D o o

0
(
= E Ee E =
(
0
(

e = .

(1)
Constanta r este chiar rangul matricii A, r=rang(A).
Constantele o
1
,o
2
,.,o
r
poart numele de valori singulare ale matricii A.
Folosind relaia (1) avem:
( )
2
( )
( ) ( ) ( )
2
( )
( )
,
,
0 0
,
0
0
T
T T T T
T T T T T T T
m
r m r
T m m
m
m r r m r m r
T T T T T T T
n
r n r
T
n
n r r
A U V V U
AA U V V U U U U U
D
A A V U U V V V V V
D





= E = E
= E E = EE = A
( 0
A = EE = e
(

(

= E E = E E = A

A = E E =

( ) ( )
0
n n
n r n r


(
e
(

(

innd cont de ortogonalitatea matricilor U i V, putem rescrie relaiile


de mai sus astfel:
2 2 2
1 2
2 2 2
1 2
( ) , diag , , , , 0, , 0
( ) , diag , , , , 0, , 0
T m m
m m r
T n n
n n r
AA U U
A A V V
o o o
o o o

( = A A = e

( = A A = e

. .
. .

Din aceste relaii deducem c


2 2 2
1 2
, , ,
r
o o o . sunt valorile proprii strict
pozitive ale matricilor AA
T
i/sau A
T
A iar matricile U i V sunt matrici ale
cror coloane sunt vectorii proprii asociai. Matricile AA
T
i A
T
A sunt
matrici simetrice:
( ) ( ) ( ) ( )
,
T T T T
T T T T T T T T
AA A A AA A A A A A A = = = =
i au toate valorile proprii nenegative:
( ) ( ) ( )
( )
( )
2
2
2
2
, ,
, , 0
,
T T T
T T
A u A u A u
AA u u AA u u u u
u u
u
= = = = >
Pentru a gsi matricile U, V i valorile singulare o
1
,o
2
,.,o
r
putem folosi
metoda lui Jacobi de aproximare a valorilor i vectorilor proprii pentru
95
matrici simetrice.
Putem folosi descompunerea dup valori singulare pentru a defini
pseudo-inversa unei matrici oarecare (n=m). Lucrnd formal, avem:
( ) ( )
1 1
1 1 1 1
? ? ?
,
T T T T
A U V A U V V U V U


= E = E = E = E
Rmne de definit matricea
1
?

E . Urmnd acest raionament se definete


pseudoinversa Moore-Penrose a unei matrici
m n
A

e astfel:
1
( )
( ) ) ( )
1 1
1
, , ,
0
1 1
, diag , , .
r m r
I I T I m I m
n r r n r m r
r r
r
D
A V U A
D D
o o



(

( 0
= E e E = e
(
0
(

(
e = .
(


Pseudoinversa definit mai sus satisface urmtoarele proprieti:
( ) ( ) ( )
, ; ,
I I T
I m n T I m n
A A A A A A

= e = e
Exist o proprietate care nu mai este satisfcut de psudoinvers dei este
respectat de inversa clasic:
( ) , a..
I
I I
A B AB B A - = .
Descompunerea dup valori singulare poate fi utilizat i pentru
rezolvarea sistemelor liniare cu matrici oarecare (numrul liniilor =
numrul coloanelor):
, , , :
m n I
Ax b A b x A b

= e e = e

.
96
Rezolvarea ecuaiilor neliniare
Fie
| |
: , f a b o funcie continu pe intervalul
| |
, a b astfel ca
( ) ( ) 0 f a f b < . n aceste condiii tim c exist
( ) , x a b
-
e astfel ca
( ) 0 f x
-
= . n cele ce urmeaz ne propunem s aproximm soluia x
-
a
ecuaiei neliniare ( ) 0 f x = .
Metoda biseciei (a njumtirii intervalului)
Pentru a aproxima soluia x
-
cutat, vom construi un ir de intervale
| |
,
k k
a b ce satsifac:
| |
| | | |
1 1
1 1
,
, ,
2
k k
k k k k
k k
k k
x a b
a b a b
b a
b a
-
+ +
+ +
e
c

=
Pentru primul interval vom considera:
0 0
, , 0 a a b b k = = = .
Considerm punctul c din mijloc al intervalului
| |
,
k k
a b :
k k
a b
c
+
=
2
Avem urmtoarele 3 variante:
1. ( ) 0 f c = - caz n care am gsit soluia cutat, x c
-
= , algoritmul de
oprete;
2. ( ) ( ) 0
k
f a f c < ceea ce nseamn c soluia se gsete n intervalul
( ) ,
k
a c i vom continua procedeul cu intervalul
1 1
,
k k k
a a b c
+ +
= = ;
3. ( ) ( ) 0
k
f b f c < - soluia se gsete n intervalul ( ) ,
k
x c b
-
e
procedeul continu cu intervalul
1 1
,
k k k
a c b a
+ +
= = .
Dat 0 c > exist un interval ,
k k
a b (

astfel ca
( )
,
k k
x a b
-
e i
k k
b a c <
(
2
log
b a
k
c

> ). Pentru c suficient de mic att


k
a ct i
k
b pot fi
considerate aproximri ale soluiei x
-
(
k
a x
-
~ prin lips iar
k
b x
-
~ prin
adaos).
97
Metoda tangentei (Newton-Raphson)
Vom presupune c funcia
| |
1
, f C a b e este difereniabil pe
| |
, a b cu
derivata continu n acest interval i c satisface relaia ( ) ( ) 0 f a f b < .
Pentru a aproxima soluia x
-
a ecuaiei ( ) 0 f x = vom construi un ir
{ }
k
x _ care s convearg la x
-
, , pentru
k
x x k
-
. Primul
element din ir,
0
x , considerm c este dat. Urmtorul element din ir se
construiete ca fiind intersecia tangentei la graficul funciei f n punctul
( )
0 0
, ( ) x f x cu axa absciselor. Procedeul se repet cu
1
x pentru a-l obine
pe
2
x , .a.m.d.
( )
( )
( )
1 0 0
2 1 1
1
O tangenta la graficul funciei n punctul , ( )
O tangenta la graficul funciei n punctul , ( )
O tangenta la graficul funciei n punctul , ( ) , 0,1, 2,
k k k
x x f x f x
x x f x f x
x x f x f x k
+
=
=
= =
.
.
Ecuaia tangentei la graficul funciei f ntr-un punct ( ) , ( ) a f a este
urmtoarea:
( ) '( )( ) y f a f a x a = +
Pentru a calcula
1 k
x
+
din
k
x vom considera ecuaia tangentei:
( ) '( )( )
k k k
y f x f x x x = +
unde lum 0 y = . Avem:
1 0
( )
, 0,1, 2, , dat
'( )
k
k k
k
f x
x x k x
f x
+
= = .
Formula de mai sus poate fi folosit doar dac la fiecare pas '( ) 0
k
f x = .
Dac la un pas avem '( ) 0
k
f x = putem calcula cteva iteraii
k
x ( k k > )
folosind
1
'( )
k
f x

.
98
Teorem de convergen
Fie
| |
2
, f C a b e , cu ( ) ( ) 0 f a f b < ,
| |
'( ) 0 i ''( ) 0 , f x f x x a b = = e .
Dac alegem
0
pentru ( ) ''( ) 0
pentru ( ) ''( ) 0
a f a f a
x
b f b f b
>

>

atunci irul { } ; 0
k
x k > construit cu metoda tangentei este monoton,
mrginit i convergent la unica soluie x
-
a ecuaiei ( ) 0 f x = . Ordinul de
convergen este mai mare dect 2.
Demonstraie: Din faptul c
| |
'( ) 0, ''( ) 0 , f x f x x a b = = e i
continuitatea funciilor ' i '' f f rezult c cele dou funcii au semn
constant pe intervalul
| |
, a b . Prin urmare funcia f nu-i schimb
monotonia i curbura (convexitatea/concavitatea) n intervalul
| |
, a b . Din
condiiile '( ) 0 i ( ) ( ) 0 f x f a f b = < rezult unicitatea soluiei x
-
. Dac
prin absurd am presupune c mai exist alt soluie

x x
-
= . Conform
teoremei lui Rolle, din faptul c

( ) ( ) 0 f x f x
-
= = rezult c exist un
punct

( )
( ) , , c x x a b
-
e _ astfel ca '( ) 0 f c = (absurd).
Vom presupune c ( ) ''( ) 0 f a f a > ( ( ) f a are acelai semn cu funcia '' f ),
0
x a = . Vom arta c irul { }
k
x este monoton cresctor i marginit.
Artm prin inducie c , 0
k
x x k
-
s > . Pentru 0 k = avem
0
x a x
-
= < .
Presupunem c
k
x x
-
s i artm c
1 k
x x
-
+
s . Avem:
1
( ) '( )
( ) 0
'( ) '( )
k k
k k k
k k
f x f z
x x x x
f x f x
-
+

= = >
1
( ) '( )( ) ( )
'( ) '( )
k k k k
k k
k k
f x f x x x f x
x x x x
f x f x
-
- -
+

= =
Folosind dezvoltarea n serie Taylor avem:
( )
2
2
( )
0 ( ) ( ) '( )( ) ''( ) , cu ,
2
( )
( ) '( )( ) ''( )
2
k
k k k k k k
k
k k k k
x x
f x f x f x x x f y y x x
x x
f x f x x x f y
-
- - -
-
-

= = + + e

+ =
nlocuind n relaia de mai sus obinem:
2
1
( ) ''( )
2 '( )
k k
k
k
x x f y
x x
f x
-
-
+

= (1.1)
Dac mai considerm o nou dezvoltare n serie Taylor:
99
( )
0 ( ) ( ) '( )( ) , cu ,
k k k k k
f x f x f z x x z x x
- - -
= = + e (1.2)
obinem:
( )
'( )
k
k
k
f x
x x
f z
-
= (1.3)
Dac nlocuim (1.1) n (1.3) avem:
1
( ) ''( )
)
2 '( ) '( )
k k
k k
k k
f x f y
x x x x
f x f z
- -
+
= ( > 0
Din faptul c
0
,
k
x a x x
-
= s rezult c ( ) f a i ( )
k
f x au acelai semn. Din
( ) ''( ) 0 f a f a > i faptul c '' f nu-i schimb semnul pe
| |
, a b rezult c
( ) f a i '' f au acelai semn. Vom avea i c ( )
k
f x i '' f au acelai semn:
( ) ''( ) 0
k k
f x f y >
Funcia ' f neschimbndu-i semnul pe
| |
, a b rezult c:
'( ) '( )
k k
f x f z > 0
Folosind ipoteza inductiv,
k
x x
-
s obinem:
1 1 k k
x x x x
- -
+ +
s 0 s
deci irul { }
k
x este mrginit superior.
Folosind formula (1.2) i relaia
k
x x
-
s avem:
1
( ) '( )
( ) 0 ,
'( ) '( )
k k
k k k
k k
f x f z
x x x x k
f x f x
-
+
= = >
deci irul { }
k
x este monoton cresctor. Din mrginirea i monotonia
irului rezult c irul considerat este convergent:
( ) , a.. ,
k
l a b x l k - e
Trecnd la limit n relaia de definiie a irului:
1
( ) ( )
, ( ) 0
'( ) '( )
k
k k
k
k
f x f l
x x k l l f l l x
f x f l
x x k
-
+
-
= = = =
,
Dac ( ) ''( ) 0 f b f b > , se alege
0
x b = i se arat analog c
1
i ,
k k k
x x x x k
-
+
> s .
Dac notm:
| | { } | | { }
2 1
max | ''( ) | ; , , min | '( ) | ; , M f x x a b m f x x a b = e = e
folosind relaia (1.1) obinem:
2
1
1
| | |
k k
x x x x
m
- -
2
+
M
, s
2
de unde deducem c ordinul de convergen este cel puin 2.
100
Metoda falsei poziii (a coardei)
Presupunem c funcia f este continu,
| |
, f C a b e i satisface
relaia ( ) ( ) 0 f a f b < . Vom construi un ir { }
k
x _ care s convearg la
soluia cutat x
-
, , pentru
k
x x k
-
. Considerm date primul
element din ir,
0
x i un lat punct

x . Procedeul de construire a irului este


urmtorul:

( )
( )

( )
( )

( )
( )
1 0 0
2 1 1
1
O dreapta ce unete punctele , ( ) , ( )
O dreapta ce unete punctele , ( ) , ( )
O dreapta ce unete punctele , ( ) , ( ) , 0,1, 2,
k k k
x x x f x x f x
x x x f x x f x
x x x f x x f x k
+
= ,
= ,
= , =
.
.
Ecuaia dreptei ce trece prin punctele ( ) , ( ) a f a cu ( ) , ( ) b f b este:
( )
( ) ( )
y f a x a
f a f b a b

=

.
Pentru a-l obine pe
1 k
x
+
din
k
x avem:

1 0
( )
cu 0
( ) ( )
( )( ) ( ) ( )
, 0,1, 2, , dat
( ) ( ) ( ) ( )
k k
k k
k k k k
k k
k k
y f x x x
y
f x f x x x
f x x x x f x x f x
x x k x
f x f x f x f x
+

= =


= = =

.
Teorem de convergen
Fie
| |
2
, f C a b e , cu ( ) ( ) 0 f a f b < ,
| |
'( ) 0 i ''( ) 0 , f x f x x a b = = e .
Dac alegem

0
0
i pentru ( ) ''( ) 0
i pentru ( ) ''( ) 0
x a x b f a f a
x b x a f b f b

= = >

= = >

atunci irul { } ; 0
k
x k > construit
cu metoda falsei poziii este monoton, mrginit deci convergent la unica
soluie x
-
a ecuaiei ( ) 0 f x = .
101
Metoda secantei
Presupunem c funcia f este continu,
| |
, f C a b e i satisface
relaia ( ) ( ) 0 f a f b < . Vom construi un ir { }
k
x _ care s convearg la
soluia cutat x
-
, , pentru
k
x x k
-
. Considerm date primele dou
elemente din ir,
0
x i
1
x . Procedeul de construire a irului este urmtorul:
( ) ( )
( ) ( )
( ) ( )
2 0 0 1 1
3 1 1 2 2
1 1 1
O dreapta ce unete punctele , ( ) , , ( )
O dreapta ce unete punctele , ( ) , , ( )
O dreapta ce unete punctele , ( ) , ( ) , 1, 2,
k k k k k
x x x f x x f x
x x x f x x f x
x x x f x x f x k
+
= ,
= ,
= , =
.
.
Obinem elementul
1 k
x
+
din
k
x i
1 k
x

astfel:
1 1
1 1 1
1 0 1
1 1
( )
cu 0
( ) ( )
( )( ) ( ) ( )
, 1, 2, , , dai
( ) ( ) ( ) ( )
k k
k k k k
k k k k k k k
k k
k k k k
y f x x x
y
f x f x x x
f x x x x f x x f x
x x k x x
f x f x f x f x


+


= =


= = =

.
Teorem de convergen
Fie x
-
o soluie a ecuiei ( ) 0 f x = . Presupunem c
2
, f C x r x r
- -
( e +

, '( ) 0 i ''( ) 0 , f x f x x x r x r
- -
( = = e +

. Atunci
exist
0
0 r r < s pentru care, dac
0 1 0 0
, [ , ] x x x r x r
- -
e + atunci
0 0
[ , ], 2
k
x x r x r k
- -
e + > i , pentru
k
x x k
-
. Ordinul de
convergen este
1 5
1.61803
2
q
+
= ~ .
102
Sisteme de ecuaii neliniare
Consider sistemul neliniar:
1 1 2 1 1
2 1 2 2 2
1 2
( , , , ) 0
( , , , ) 0
( ) 0 ,
( , , , ) 0
n
n
n n n n
f x x x f x
f x x x f x
F X F X
f x f x x x
=
| | | |
| |
=

| |
= , = =

| |

| |

=
\ . \ .
.
.
. . .
.
Fie matricea jacobian asociat funciei F (presupunem c funciile
i
f
sunt difereniabile):
1 1 1
1 2
2 2 2
1 2 1 2
1 2
( ) ( , , , )
n
n n
n n n
n
f f f
x x x
f f f
x x x F X x x x
f f f
x x x
c c c
| |

|
c c c
|
| c c c

|
c c c V =
|
|
|
c c c
|

|
c c c
\ .

.
.

Pentru a gsi soluia X


-
a sistemului de ecuaii neliniare ( ) 0 F X = se
construiete un ir de vectori
( ) k
X e

astfel:
1
(0) ( 1) ( ) ( ) ( ) ( ) ( )
1
( ) ( ) ( )
dat , ( ) ( ) , 0,1,
( ) ( )
k k k k k k
k k k
X X X F X F X X k
F X F X

( = V = + A =

( A = V e

.

Vectorul de corecie
( ) k
A poate fi calculat i ca soluie a sistemului liniar:
( ) ( )
( ) ( )
k k
F X F X V A =
unde matricea sistemului este chiar matricea jacobian calculat n
punctul
( ) k
X iar vectorul termenilor liberi este
( )
( )
( )
k
F X . Metoda
descris mai sus poart numele de metoda Newton. Pentru n=1 metoda
Newton este chiar metoda tangentei descris anterior.
103
Metoda Bairstow de aproximare a rdcinilor complexe ale
polinoamelor
Fie polinomul cu coeficieni reali:
1
0 1 1 0
( ) , 0, , , 4
n n n k
k n n i
P x a x a x a x a x a a a i n

= + + + + + + = e >
Vom presupune c polinomul P are doar rdcini complexe. Vom
identifica factorii de gradul 2 din P corespunztori perechilor de rdcini
complex conjugate. Avem:
2 2 3
0 1 3 2 0 1
( ) ( )(
n n
n n
P x x px q b x b x b x b r x r


= + + + + + + ) + + (1)
Dorim s identificm variabilele p i q pentru care
0 1
0 r r = = . Avem
urmtorul sistem neliniar :
0 0 0
1 1 1
( , ) 0
( ) 0 cu 2, ,
( , ) 0
r r p q r p
F X n F X
q r r p q r
= =
| | | |
= = = =
| |
= =
\ . \ .
Pentru a gsi funciile
0 1
( , ) i ( , ) r p q r p q vom gsi coeficienii necunoscui
de ecuaia (1) prin identificarea coeficienilor lui
k
x din membrul stng i
membrul drept:
0 0
1
1 1 0
1 2
1 0 2 3
0
1 2
:
:
: , 2,3, , 2
:
:
n
n
n i
i i i i
n n n
n n
x a b
x a b pb
x a b pb qb i n
x a r pb qb
x a r qb

=
= +
= + + =
= + +
= +
.
Rearanjnd relaiile de mai sus avem:
0 0 1 1 0
1 2
1 1 2 3 1 2
0 1 2 3 1
1 2 1 2 1 1
,
, 2,3, , 2
( 1), ( )
i i i i
n n n n n n n n
n n n n
n n n n n n n n
b a b a pb
b a pb qb i n
b a pb qb i n b a pb qb i n
r a pb qb b
r a qb a pb qb pb b pb




= =
= =
:= = := =
= =
= = + = +
.
(2)
Pentru sistemul neliniar de mai sus jacobianul este:
1 1
0 1
1 1 1 1
1
( , )
( , ) ( , )
n n
n
n n n n n n
n
b b
r b p q p q
F
r b p q pb p q b b b b
b p p
p p q q

c c
(

(
= c c
(
V =

= + c c c c
(

+ + +
(
c c c c

104
Vom aplica metoda lui Newton:
k+1 ( 1) ( ) ( ) (0)
0 0
k+1
, dat , , dai
k k k k k
k k
p p y
X X X p q
q q z
+
= +

= + A

= +

Coreciile
( ) k k
k
y
z
| |
A =
|
\ .
se gsesc ca soluie a sistemului:
( , ) ( , ).
k k k k
y
F p q F p q
z
| |
V =
|
\ .
(3)
Pentru a obine derivatele pariale i
i i
b b
p q
c c

c c
vom deriva n relaiile (2):
0 1 0
0
1 2
1
0 ,
, 2, ,
i i i
i
b b b
b p
p p p
b b b
b p q i n
p p p

c c c

= =

c c c

c c c

= =
c c c

.
0 1 0
1 2
2
0 ,
, 2, ,
i i i
i
b b b
p
q q q
b b b
b p q i n
q q q

c c c

= =

c c c

c c c

= =
c c c

.
Notm cu:
: ( , ) , : ( , ) , 0, ,
i i
i k k i k k
b b
p q p q i n
p q
o |
c c
= = =
c c
.
pentru care avem urmtoarele relaii de recuren:
0 1 0 0 1 1 2
0 1 2 1 2
0 , ,
2, ,
0 , 0 ,
k i i k i k i
i i k i k i
b p b p q
i n
b p q
o o o o o o
| | | | |


= = =

, =

= = =

.
Se poate arta c aceste ultime dou recurene se reduc la una singur:
0 0 1 1 0 1 2
1 2
, , , 2, ,
,
k i i k i k i
i i i i
c b c b p c c b p c q c i n
c c i o |


= = = =
= =
.
Pentru aceasta se verific:
1 0 2 1
, c c o o = = i faptul c
1
i ( )
i i
c o


satisfac aceeai relaie de recuren (analog pentru
i
| :
2 0 3 1
, c c | | = = ,
2
i ( )
i i
c |

satisfac aceeai relaie de recuren). Cu aceste notaii avem:
2 3
1 1 2 2 3
( , )
n n
k k
n n k n n k n
c c
F p q
c b p c c p c



(
V =
(
+

Sistemul (3) devine:
2 3 1
1 1 2 2 3 1
( ) ( )
n n n
n n k n n k n n k n
c y c z b
c b p c y c p c z b p b


=

+ + =

105
Acest sistem se simplific prin nmulirea primei ecuaii cu ( )
k
p i se
adun cu ecuaia a doua:
2 3 1
1 1 2
( )
n n n
n n n n
c y c z b
c b y c z b


+ =

+ =

Soluia sistemului este:


1 2 3 2 1 1 1
2 2
2 3 1 1 2 3 1 1
( )
,
( ) ( )
n n n n n n n n n
k k
n n n n n n n n
b c b c b c b c b
y z
c c c b c c c b



= =

Algoritmul se oprete atunci cnd diferena dintre dou iteraii succesive
devine suficient de mic -
( 1) ( )
|| ||
k k
X X c
+
s - de exemplu, dac folosim
norma euclidian avem:
1 ( 1) ( ) 2 2 2 2
2 2
1
|| || || ||
k k k k
k k
k k
p p
X X y z
q q
c
+ +
+
| | | |
= = + s
| |
\ . \ .
Metoda lui Bairstow poate fi descris astfel:
0 0 1 1 0
1 2
0 0 1 1 0
1 2
2
2 3 1 1
1 2
0; 0;
do
; ;
, 2, , ;
; ;
, 2, , ;
det ( ) ;
i i i i
i i i i
n n n n
n n
p q k
b a b a pb
b a p b qb i n
c b c b pc
c b p c qc i n
c c c b
b c
y




= = =
= =
= =
= =
= =
=

=
-
- .
-
- .
-
-
3
2 1 1 1
2 2
max
det
( )
;
det
;
;
1;
while ( i )
n n
n n n n n
b c
b c b c b
z
p p y
q q z
k k
y z k k c



;

=
= +
= +
= +
+ > s

-
-
-
-
(c - precizia de calcul dorit,
max
k - numr maxim de iteraii ce pot fi
efectuate)
106
Metoda lui Laguerre
Fie polinomul:
0 1 2 0
( ) ( )( ) ( ) , 0
n
P x a x x x x x x a = =
Metoda lui Laguerre propune construirea unui ir de numere care s
convearg la una din rdcinile polinomului P.
Considerm derivata polinomului P:
1 2
1 1 1
'( ) ( )
n
P x P x
x x x x x x
(
= + + +
(

Avem:
0 1 2
ln | ( ) | ln | | ln | | ln | | ln | |
n
P x a x x x x x x = + + + +
1 2
1 1 1 '( )
ln | ( ) | ( )
( )
n
d P x
P x G x
dx x x x x x x P x
= + + + = =

| |
| |
2
2 2 2 2
1 2
2
2
1 1 1
ln | ( ) |
( ) ( ) ( )
'( ) ( ) ''( )
( )
( )
n
d
P x
dx x x x x x x
P x P x P x
H x
P x
= + + + =

= =

Fie
1
x rdcina pe care vrem s-o aproximm i
k
y valoarea aproximativ
curent. Notm cu
1 k
a y x = i facem presupunerea c
k
y se afl la
acceeai distan de toate celelalte rdcini, adic, 2, ,
k i
b y x i n = = . .
Prin urmare avem:
| |
| |
2
2 2 2
'( ) 1
( )
( )
'( ) ( ) ''( )
1
( )
( )
k
k
k
k k k
k
k
P y n
G y
P y a b
P y P y P y
n
H y
a b
P y
1
= = +

1
= = +
Rezolvm acest sistem n raport cu a i obinem:
( )
2
max ( ) ( 1) ( ) ( )
k k k
n
a
G y n nH y G y
=
(

(

Semnul la numitor este ales astfle ca expresia s aib magnitudine
maxim. Dac inem cont de expresiile pentru G i H obinem pentru a i
urmtoarea expresie:
| |
2
2
( )
max '( ) ( 1) '( ) ( 1) ( ) ''( )
k
k k k k
n P y
a
P y n P y n n P y P y

=
(

(

Urmtorul element din ir va fi:
107
( )
| |
1
2
1
2
2
max ( ) ( 1) ( ) ( )
( )
max '( ) ( 1) '( ) ( 1) ( ) ''( )
k k k
k k k
k
k k
k k k k
n
y y a y
G y n nH y G y
n P y
y y
P y n P y n n P y P y
+
+
= =
(

(


=
(

(

Procedeul se oprete cnd a devine suficient de mic. Metoda lui Laguerre
se poate aplica i pentru gsirea rdcinilor complexe ale polinoamelor i
de asemenea pentru polinoame cu coeficieni compleci.
108
Interpolare numeric
Presupunem c despre o funcie f cunoatem doar valorile ntr-un
numr finit de puncte. Pornind de la aceste date, dorim s aproximm
funcia f ntr-un alt punct.
x x
0
x
1
x
2
... x
n-1
x
n
f y
0
y
1
y
2
... y
n-1
y
n
n tabelul de mai sus f(x
i
)=y
i
, i=0,1,,n i x
i
=x
j
pentru i= j. Dat un punct
x= x
i
, i=0,1,,n dorim s aproximm f(x) cunoscnd cele (n+1) perechi
(x
i
,y
i
),i=0,,n. Punctele x
i
se numesc noduri de interpolare.
Polinomul de interpolare Lagrange
Notm cu H
n
mulimea polinoamelor de grad cel mult n. Dimensiunea
acestui spaiu este n+1, baza uzual fiind dat de polinoamele 1, x, x
2
,,
x
n
. Vom considera o alt baz n acest spaiu. Se consider polinoamele
p
i
:
0 pentru
astfel ca ( ) 0, , , 0, ,
pentru
i n i j
j i
p p x j n i n
j i
=

eH = , = =

1 =

. .
Din relaia p
i
(x
j
)=0, j=i i faptul c p
i
este polinom de gard n rezult c
x
0
, x
1
,,x
i-1
, x
i+1
,,x
n
sunt cele n rdcini ale polinomului p
i
. Avem:
0 1 1
( ) ( ) ( )( ) ( ), , 0, ,
i i i i n i
p x c x x x x x x x x c i n
+
= e = .
Constanta c
i
se determin din faptul c p
i
(x
i
)=1:
0 1 1
0 1 1
( ) 1 ( ) ( )( ) ( )
1
( ) ( )( ) ( )
i i i i i i i i i n
i
i i i i i i n
p x c x x x x x x x x
c
x x x x x x x x
+
+
= =
=



Polinoamele p
i
au forma:
0 1 1
0 0 1 1
( ) ( )( ) ( )
( ) ( ) , 0, ,
( ) ( )( ) ( )
n
j
i i n
i
j i i i i i i n i j
j i
x x
x x x x x x x x
p x i n
x x x x x x x x x x
+
= +
=


= = =

[

.

Propoziie
Polinoamele p
0
, p
1
,, p
n
formeaz o baz n H
n
.
Demonstraie: Vom arta c cele n+1 polinoame sunt liniar independente:
0 0 1 1 0 1
( ) ( ) ( ) ( ) 0 , 0
n n n
q x a p x a p x a p x x a a a = + + + = = = = =
Vom face pe rnd x=x
0
, x=x
1
,, x=x
n
n polinomul q:
0 0 0 0 1 1 0 0 0 1 0 0
( ) ( ) ( ) ( ) 1 0 0 0 0
n n n
q x a p x a p x a p x a a a a a = + + + = + + + = = =
109
1 1 1
( 0 x x q x a = ) = 0 =
.
0 0
0
( ) ( ) ( ) ( )
0 0 0 0
k k k k k n n k
k n k k
q x a p x a p x a p x
a a a a a
= + + + + =
= + + 1 + + = = =


.
( 0
n n n
x x q x a = ) = 0 =
Toate constantele a
i
sunt nule deci polinoamele { } ; 0, ,
i
p i n = . formeaz
o baz n H
n
.
Pentru a aproxima funcia f pronind de la tabelul de mai sus, vom
construi un polinom l
n
eH
n
astfel ca s ndeplineasc condiiile de
interpolare:
, ( ) , 0, ,
n n n i i
l l x y i n eH = = . (1)
Odat construit acest polinom, vom aproxima f(x) prin l
n
(x).
Vom scrie polinomul l
n
n raport cu noua baz { } ; 0, ,
i
p i n = . , deci
exist constantele reale a
0
, a
1
,,a
n
astfel ca:
0
( ) ( )
n
n i i
i
l x a p x
=
=
_
Constantele a
k
se determin astfel:
0 0
0
( ) ( ) ( ) ( )
0 1 0
k n k k k k k n n k
k n k k k
y l x a p x a p x a p x
a a a a a y
= = + + + + =
= + + + + = =


Prin urmare un polinom de grad n care ndeplinesc condiiile de
interpolare (1) este:
0 1 1
0 0
0 1 1
0 0
( ) ( )( ) ( )
( ) ( )
( ) ( )( ) ( )
( )
n n
i i n
n i i i
i i
i i i i i i n
n n
j
i
i j
i j
j i
x x x x x x x x
l x y p x y
x x x x x x x x
x x
y
x x
+
= =
+
= =
=

= = =

_ _
_ [


(2)
Polinomul din formula (2) se numete polinomul de interpolare
Lagrange.
Propoziie
Polinomul l
n
dat de formula (2) este unicul polinom de grad n care
ndeplinete condiiile de interpolare (1).
Demonstraie: Presupunem c mai exist un polinom qeH
n
care
ndeplinete condiiile (1):
, ( ) , 0, ,
n i i
q q x y i n eH = = .
Fie polinomul p(x)=l
n
(x)-q(x) eH
n
. Acest polinom are proprietatea c:
( ) ( ) ( ) 0 , 0, ,
k n k k k k
p x l x q x y y k n = = = = .
110
Polinomul p are ca rdcini toate nodurile de interpolare. Polinomul p
este polinom de grad cel mult n i are (n+1) rdcini distincte (x
i
=x
j
, i=
j). Acest polinom nu poate fi dect polinomul identic nul:
( ) ( ) ( ) 0 , ( ) ( )
n n
p x l x q x x l x q x x = =
Polinomul l
n
este unicul care satisface (2).
Fie w
n+1
polinomul de grand (n+1) care are ca rdcini nodurile de
interpolare:
1 0 1 1
( ) ( )( ) ( )
n n n
w x x x x x x x
+ +
= e H
Avem:
( ) ( )
1 1
0 0 0
( ) ( ) ; ( ) ( )
n n n
n j n k k j
i j j
j i j k
w x x x w x x x
+ +
= = =
= =
' '
= =
_ [ [
Putem rescrie polinomul l
n
i astfel:
1
0
1
( ) 1
( ) [ ]
( ( ))'
n
n
n i
i
i n i
w x
l x y
x x w x
+
=
+
=

_
Fie a=min{x
0
, x
1
,, x
n
}, b=max{x
0
, x
1
,, x
n
}.
Teorema restului
Fie
| |
1
,
n
f C a b
+
e i
| |
, , , 0, , .
i
x a b x x i n e = = . Atunci exist un
punct
| |
0 1
, , ( , , , , )
n
y a b y y x x x x e = . (punctul y depinde de nodurile de
interpolare x
i
i de punctul x ) astfel c eroarea la interpolarea numeric
este dat de:
( 1)
1
( )
( ) ( ) ( )
( 1)!
n
n n
f y
f x l x w x
n
+
+
=
+
(3)
Demonstraie: Considerm funcia F:
1
( ) : ( ) ( ) ( )
n n
F x f x l x cw x
+
=
Constanta real c este aleas astfel ca ( ) 0 F x = adic:
1
1
( ) ( )
, ( ) 0 )
( )
n
i n
n
f x l x
c x x i w x
w x
+
+

= ( = = (4)
Funcia f fiind de clas C
n+1
pe intervalul [a,b] rezult c i funcia F este
din C
n+1
[a,b]. Avem:
1
( ) ( ) ( ) ( ) 0 0 , 0, ,
i i n i n i i i
F x f x l x cw x y y c i n
+
= = = = .
Funcia F are (n+2) zerouri,
0 1
, , , ,
n
x x x x . . Aplicnd succesiv Teorema
lui Rolle rezult c F are (n+1) zerouri, F are n zerouri,, F
(n+1)
are 1
zero n intervalul [a,b]. Vom nota aceast rdcin a lui F
(n+1)
cu y.
111
Punctul y depinde de zerourile iniiale
0 1
, , , ,
n
x x x x . i:
| |
( 1)
0 1
( , , , , ) , a.. ( ) 0.
n
n
y y x x x x a b F y
+
= e = . (5)
Derivata de ordinul (n+1) a funciei F se calculeaz astfel:
( 1) ( 1) ( 1) ( 1)
1
( 1) ( 1)
( ) ( ) ( ) ( )
( ) 0 ( 1)! ( ) ( 1)!
n n n n
n n
n n
F x f x l x c w x
f x c n f x c n
+ + + +
+
+ +
= =
= + = +
(6)
(derivata de ordin (n+1) a polinomului de grad n l
n
este 0). Din relaiile
(4), (5) i (6) rezult c:
( 1) ( 1)
1
1
( ) ( ) ( ) ( )
( ) ( ) ( )
( 1)! ( 1)! ( )
n n
n
n n
n
f y f x l x f y
c f x l x w x
n n w x
+ +
+
+

= = =
+ +
adic am obinut relaia (3).
Forma Newton a polinomului de interpolare Lagrange
Fie l
k
(x,x
0
,x
1
,,x
k
,f) polinomul de interpolare Lagrange pentru funcia f pe
sistemul de noduri {x
0
,x
1
,,x
k
} (x
i
=x
j
pentru i=j).
Propoziie
Fie l
k-1
(x,x
0
,x
1
,,x
k-1
,f), l
k-1
(x,x
1
,x
2
,,x
k
,f)eH
k-1
polinoamele de
interpolare Lagrange pentru funcia f pe sistemele de noduri {x
0
,x
1
,,x
k-1
}
i respectiv {x
1
,x
2
,,x
k
}. Atunci:
0 1
1 0 1 1 0 1 1 2
0
( , , , , , )
( ) ( , , , , , ) ( ) ( , , , , , )
k k
k k k k k
k
l x x x x f
x x l x x x x f x x l x x x x f
x x

=

.
. . (7)
Demonstraie: Exerciiu.
Considerm urmtoarele probleme de interpolare pentru funcia f:
{ }
{ }
0 0 1 1 1 1 1 0 1 1
0 0 1 1 0 1
( , ), ( , ), , ( , ) ( , , , , , )
( , ), ( , ), , ( , ) ( , , , , , )
k k k k
k k k k
x y x y x y l x x x x f
x y x y x y l x x x x f



. .
. .
Ne intereseaz s gsim o formul de trecere rapid de la polinomul de
interpolare pe k noduri la cel care are un nod n plus. Deoarece polinomul
de grad cel mult k:
0 1 1 0 1 1
( ) ( , , , , , ) ( , , , , , )
k k k k k
q x l x x x x f l x x x x f

= eH . .
are drept rdcini punctele x
0
,x
1
,,x
k-1
(q(x
i
)=y
i
-y
i
=0, i=0,,k-1) avem
relaia:
1
0 1 1 0 1 1
0
( , , , , , ) ( , , , , , ) ( )
k
k k k k j
j
l x x x x f l x x x x f A x x


=
= +
[
. . (8)
n care A este dat de relaia:
112
0 1 1 0 1 1
1
0
( , , , , , ) ( , , , , , )
( )
k k k k k k
k
k j
j
l x x x x f l x x x x f
A
x x

[
. .
(9)
1 1
0 0 1
1 1 1 1
0
0 0 0 0
( )
( ) ( ) ( ) ( ) ( )
k k
k j
i
i j k i j
j i
k k i
k k k k
i
k j k j k j k i i j
j j j j
j i
x x
y
x x
y y y
A
x x x x x x x x x x

= =
=

=
= = = =
=

= =

_ [
_
[ [ [ [
0
0
( )
k
i
k
i
i j
j
j i
y
A
x x
=
=
=
=

_
[
(10)
Dac considerm i problemele de interpolare pentru funcia f:
{ }
{ }
1 1 2 2 1 1 2
0 0 1 1 0 1
( , ), ( , ), , ( , ) ( , , , , , )
( , ), ( , ), , ( , ) ( , , , , , )
k k k k
k k k k
x y x y x y l x x x x f
x y x y x y l x x x x f



. .
. .
vom avea, analog ca mai sus:
0 1 1 1 2
1
( , , , , , ) ( , , , , , ) ( )
k
k k k k j
j
l x x x x f l x x x x f B x x

=
= +
[
. . (11)
Dac nmulim relaia (8) cu (x-x
k
) iar relaia (11) cu (x-x
0
) i scdem
aceste relaii obinem:
0 0 1 1 0 1 1
0 1 1 2
0
( ) ( , , , , , ) ( ) ( , , , , , )
( ) ( , , , , , ) ( ) ( )
k k k k k k
k
k k j
j
x x l x x x x f x x l x x x x f
x x l x x x x f A B x x

=
=
+
[
. .
.
innd seama de relaia (7) rezult c:
0
( ) ( ) 0 adic
k
j
j
A B x x A B
=
= =
[
Vom nota n cele ce urmeaz:
| |
0 1
, , ,
k
f
A x x x = .
numit diferen divizat de ordin k a funciei f pe nodurile
{ }
0 1
, , ,
k
x x x . .
Vom nlocui n formula (8) l
k-1
(x,x
0
,,x
k-1
,f) cu:
| |
1
1 0 1 2 1 1 0 1 1
1
( , , , , ) ( , , , , ) , , , ( )
k
k k k k k j
f
j
l x x x f l x x x f x x x x x


=
= +
[
. . .
iar n formula (11) l
k-1
(x,x
1
,,x
k
,f) cu:
113
| |
1
1 1 2 1 1 1 2
1
( , , , , ) ( , , , , ) , , , ( )
l
k k k k k l
f
l
l x x x f l x x x f x x x x x


=
= +
[
. . .
i apoi scdem membru cu memebru cele dou relaii. Obinem:
| | | |
| | | |
1 1
0 1 0
1 0
1
1 0
1 1
, , ( ) , , ( )
, , ( ) , , ( ) 0
k k
k j k j
f f
j j
k k
k l k l
f f
l l
x x x x x x x x
x x x x x x x x

= =

= =
+
=
[ [
[ [
. .
. .
Putem scrie:
| | | |
{ }
| | | |
1
0 1 1
1
1
0 0
0
( ) , , , ,
, , ( )
k
j k k
f f
j
k
k j n
f
j
x x x x x x
x x x x x x x x

=
+
+ + = 0
[
[
. .
.
relaie din care obinem:
| |
| | | |
0 1 1 1 2
0 1
0
, , , , , ,
, , ,
k k
f f
k
f
k
x x x x x x
x x x
x x

. .
. (12)
Relaia (12) justific denumirea de diferen divizat. Se introduce i
noiunea de diferen divizat de ordinul 0:
| |
( ) ,
k k k
f
x y f x k = = (13)
Diferenele divizate se pot obine folosind definiia direct (10) sau
folosind definiia recursiv (13), (12). Cele dou definiii sunt
echivalente:
Propoziie
| |
( )
0 1
0 0
1
0
, , ,
( ) '
( )
k k
i i
k k
f
i i
n k
i j
j
j i
y y
x x x
w x
x x
= =
+
=
=
= =

_ _
[
. (14)
pentru orice sistem de noduri { }
0 1
, , ,
k
x x x . i orice k.
Demonstraie: Se face prin inducie. Pentru k=1 avem:
| |
| | | |
0 1
0 1
0 1
0 1 1 0 0 1
,
f f
f
x x
y y
x x
x x x x x x

= + =

Presupunem c relaia (14) este valabil pentru orice k i pentru orice
sistem de noduri { }
0 1
, , ,
k
x x x . . Pentru k+1 folosim relaia de recuren i
apoi aplicm ipoteza inductiv:
114
| |
| | | |
0 1 1 2 1
0 1 1
0 1
1
1
0 1
0 1
0 1
, , , , , ,
, , ,
( )
( ) ( )
k k
f f
k
f
k
k k
i i
k k
i i
k
i j i j
j j
j i j i
x x x x x x
x x x
x x
y y
x x
x x x x
+
+
+
+
+
= =
+
= =
= =

= =

1
= =


_ _
[ [
. .
.
0 1
1
0 1
0 1
0 1
0 1
1
1 0
1
( ) ( )
1 1
[ ( )]}
( )
k
k k
k
j k j
j j
j j k
k
i
k
i
i k i
i j
j
j i
y y
x x
x x x x
y
x x x x
x x
+
+
+
+
= =
= = +
=
+
=
=
1
= { +


+ =

[ [
_
[
0 1
1 1 1
1
0 1
0 0 0
0 1
1
1
0
0
( ) ( ) ( )
( )
k
k i
k k k
i
j k j i j
j j j
j j k j i
k
i
k
i
i j
j
j i
y y y
x x x x x x
y
x x
+
+ + +
=
+
= = =
= = + =
+
+
=
=
=
= + + =

=

_
[ [ [
_
[
Inducia este complet.
Din aceast Propoziie se observ c diferena divizat
| |
0 1
, , ,
k
f
x x x . nu
depinde de ordinea nodurilor { }
0 1
, , ,
k
x x x . .
Vom nota n continuare cu l
k
(x) polinomul de interpolare Lagrange pe
nodurile { }
0 1
, , ,
k
x x x . pentru funcia f. Avem:
| | | |
| |
0 1 0 1 1
0 0 1 0 0 1 0 1
0 1 0 1
( ) ( ) ( ) ( )] ( ) ( )] ( ) ( )]
, ( ) , , , ( ) ( )
, , , ( ) ( )
n k k n n
k k
f f
n n
f
l x l x l x l x l x l x l x l x
y x x x x x x x x x x x
x x x x x x x

= + | + +| + +| =
= + + + + +
+

.
.
Am obinut astfel forma Newton a polinomului de interpolare Lagrange:
| | | |
| |
0 0 1 0 0 1 2 0 1
0 1 0 1
( ) , ( ) , , ( )( )
, , , ( ) ( )
n
f f
n n
f
l x y x x x x x x x x x x x
x x x x x x x

= + + + +
+

.
115
Schema lui Aitken de calcul a diferenelor divizate
Ne propunem s calculm diferenele divizate
| |
0 1
,
f
x x ,
| |
0 1 2
, ,
f
x x x ,,
| |
0 1
, , ,
n
f
x x x . necesare construirii polinomului de
interpolare Lagrange n forma Newton. Procedeul folosete definiia
recursiv a diferenelor divizate i se desfoar n n pai. La pasul 1 se
calculeaz numai diferene divizate de ordinul 1:
| |
0 1
,
f
x x ,
| |
1 2
,
f
x x ,,
| |
1
,
n n
f
x x

. n general, la pasul k se calculeaz diferene divizate de ordin


k:
| |
0 1
, , ,
k
f
x x x . ,
| |
1 2 1
, , ,
k
f
x x x
+
. ,,
| |
1
, , ,
n k n k n
f
x x x
+
. .
La pasul n se calculeaz o singur diferen divizat de ordin n i anume
| |
0 1
, , ,
n
f
x x x . .
| |
| |
| |
0 0
1 1 0 1
2 2 1 2
1
Pas1 Pas Pas
,
,
,
f
f
k k k k
f
k n
x y
x y x x
x y x x
x y x x







.
| |
| | | |
| |
0 1
1 1 2 1 1 1
1
, , ,
, , ,
,
k
f
n n n n n k n
f f
n n n n
f
x x x
x y x x x x
x y x x





.
. .
.
| | | |
1 0 1
, , , ,
n k n n
f f
x x x x x

. .
Notm dd[k,i]=
| |
1
, , ,
i i i k
f
x x x
+ +
. diferene divizate de ordin k, i=0,,n-
k, k=1,,n, cu dd[0,i]=y
i
, i=0,,n. Schema lui Aitken se implementeaz
astfel:
[0, ] , 0, , ;
for 1, ,
for 0, ,
[ 1, ] [ 1, 1]
[ , ]
i
i i k
dd i y i n
k n
i n k
dd k i dd k i
dd k i
x x
+
= =
=
=
+
=

.
.
.
Putem face aceleai calcule folosind un singur vector, de exemplu
rescriind vectorul y astfel:
116
1
for 1, ,
for , ,
i i
i
i k i
k n
i n k
y y
y
x x

=
=

.
.
La finalul acestei secvene de program vectorul y va conine elementele:
y
0
,
| |
0 1
,
f
x x ,
| |
0 1 2
, ,
f
x x x ,,
| |
0 1
, , ,
n
f
x x x .
(
| |
0 1
, , , , 0, , .
k k
f
y x x x k n = = . .
Polinomul de interpolare Hermite
Presupunem c despre o funcie f cunoatem pe lng valorile
funciei i ale primei derivate ntr-un numr finit de puncte. Pornind de la
aceste date, dorim s aproximm funcia f ntr-un alt punct. Cunoatem:
x x
0
x
1
x
2
... x
n-1
x
n
f y
0
y
1
y
2
... y
n-1
y
n
F z
0
z
1
z
2
... z
n-1
z
n
n tabelul de mai sus f(x
i
)=y
i
, f(x
i
)=z
i
, i=0,1,,n cu x
i
=x
j
pentru i= j. Dat
un punct x = x
i
, i=0,1,,n dorim s aproximm f( x ) cunoscnd valorile
(x
i
,y
i
,z
i
),i=0,,n.
Fie polinoamele:
| |

0
2
2 1
2
2 1
( ) ( ) , 0, ,
( ) 1 2( ) '( ) ( ) , 0, ,
( ) ( ) ( ) , 0, ,
n
j
i n
j
i j
j i
i i i i i n
i i i n
x x
q x i n
x x
r x x x q x q x i n
r x x x q x i n
=
=
+
+

= eH =

= eH =
= eH =
[
.
.
.
Teorem
Fie polinomul de grad cel mult 2n+1:

2 1 2 1
0 0
( ) ( ) ( )
n n
n i i i i n
i i
H x y r x z r x
+ +
= =
= + eH
_ _
. (15)
H
2n+1
este unicul polinom de gard cel mult 2n+1 care satisface relaiile de
interpolare:
'
2 1 2 1
( ) , ( ) 0, ,
n i i n i i
H x y H x z i n
+ +
= = = . (16)
Dac , 0, ,
i
x x i n = = . i feC
2n+2
[a,b] atunci:
(2 2)
2
2 1 1
( )
( ) ( ) ( )
(2 2)!
n
n n
f y
f x H x w x
n
+
+ +
=
+
(17)
117
unde
| |
0
( , , , ) , ( min{ }, max{ })
n i i
y y x x x a b a x b x = e = = . .
Polinomul H
2n+1
se numete polinomul de interpolare Hermite.
Demonstarie: Se arat c (exerciiu!):
0 pentru
( ) , , 0, ,
1 pentru
i j
j i
r x i j n
j i
=

= =

'
( ) 0 , 0, ,
i j i j
r x r x i j n ( ) = 0 , = = .
'
0 pentru
( ) , , 0, ,
pentru
i j
j i
r x i j n
j i

=

= =

1 =

.
Folosind aceste relaii rezult (16). Pentru a arta unicitatea polinomului
(15) vom presupune c mai exist un polinom PeH
2n+1
care satisface
relaiile (16):
( ) , '( ) 0, ,
j j j j
P x y P x z j n = = = . .
Fie Q(x)=H
2n+1
(x)-P(x) eH
2n+1
. Pentru acest polinom avem:
( ) '( ) 0 0, , ; 0, , }rdcini duble pentru
j j j
Q x Q x j n x j n Q = = = { = . .
Polinomul Q nu poate fi dect polinomul identic nul (polinom de grad
2n+1 cu 2n+2 rdcini!!!). Pentru a demonstra formula restului (17) se
adapteaz demonstraia de la teorema restului pentru polinomul de
interpolare Lagrange.
Vom considera n continuare un nou tip de abordare a problemei de
interpolare i anume interpolarea polinomial pe poriuni folosind
funciile spline
118
Funcii spline
Fie nodurile | |
0 1 2 1
, , 0,1, , ,
i n n
x a b i n a x x x x x b

e = = < < < < < = . .


Se consider funcia continu fragmentar polinomial:
0 0 1
1 1 2
2 2 3
2 2 1
1 1
( ) , [ , ],
( ) , [ , ],
( ) , [ , ],
( )
( ) , [ , ],
( ) , [ , ].
n n n
n n n
P x x x x
P x x x x
P x x x x
S x
P x x x x
P x x x x


e

.
n care 0, , sunt polinoame.
i
P x i n ( ) , = . O asemenea funcie poart
numele de funcie spline.
Funcii spline liniare continue
Definiie
Funcia S(x) se numete funcie spline liniar continu dac
polinoamele ( ) , 0, , 1
i
P x i n = . sunt polinoame de gradul 1 i
( ) [ , ] , adic S x C a b e
lim lim
( ) ( ) 1, , 1.
i i
i i
x x x x
x x x x
S x S x i n

< >
= , = .
Fie funcia :[ , ] f a b pentru care se cunosc valorile:
( ) , 0, ,
i i
y f x i n = = . .
Funcia spline liniar de interpolare S pentru funcia f ndeplinete
condiiile de interpolare:
( ) , 0, , .
i i
S x y i n = = .
innd seam c polinoamele P
i
(x) sunt polinoame de gradul 1 i S(x)
este continu vom avea condiiile :
1 1
( ) ,
( ) 0, , 1,
( ) polinom de gradul1.
i i i
i i i
i
P x y
P x y i n
P x
+ +
=

= , =

.
119
Din aceste condiii rezult:
1
1
1 1
( ) , 0, ,
i i
i i i
i i i i
x x x x
P x y y i n
x x x x
+
+
+ +

= + =

.
i
( ) ( )
( ) ( ) ( )
1
0 0 0 0 1
( ) , 1, , 1,
( ) , .
k k k k k k
n n n n
S x P x P x y k n
S x P x y S x P x y

= = = =
= = = =
.
Funcii spline cubice de clas C
2
Se consider sistemul de noduri distincte din intervalul [a,b]:
0 1 1
{ }
n n
a x x x x b

A = = < < < < =


Funcia S(x) asociat divizrii care ndeplinete condiiile :
2
( ) [ , ] ,
polinoamele ( ) au gradul 0, , 1,
i
S x C a b
P x i n
e
3 , = .
se numete funcie spline cubic.
Dat fiind o funcie :[ , ] f a b cu valorile ( ) , 0, ,
i i
y f x i n = = . , se
consider funcia spline cubic S(x) de interpolare ce satisface
( ) , 0, , .
i i
S x y i n = = .
Pentru determinarea funciei spline cubice de interpolare observm c
polinoamele:
3 2
1
( ) , [ , ] , 0, , 1,
i i i i i i i
P x a x b x c x d x x x i n
+
= + + + e = .
implic determinarea a 4n necunoscute { , , , : 0, , 1}
i i i i
a b c d i n = . pentru
care se impun:
' ''
1condiii din relaiile de interpolare ( ) , 0, , ,
3( 1) condiii de continuitate pentru ( ), ( ) i ( )
n nodurile , 1, , 1,
i i
i
n S x y i n
n S x S x S x
x i n
+ = =

=
.
.
n total 4n-2 condiii.
Se pot avea n vedere pentru adugarea a dou condiii suplimentarea
urmtoarele abordri :
- fixarea pantelor n extremitile intervalului [a,b]. Se presupune c
funcia f este derivabil i se cunosc valorile
' '
( ) , ( ) f a f b . Se
impun condiiile:
' ' ' ' ' '
0 0 0 1
( ) ( ) ( ) , ( ) ( ) ( );
n n n
S x P x f a S x P x f b

= = = =
- periodicitatea primelor dou derivate:
' ' ' ' " " " "
0 0 0 1 0 0 0 1
( ) ( ) ( ) ( ) , ( ) ( ) ( ) ( )
n n n n n n
S x P x P x S x S x P x P x S x

= = = = = = ;
120
- anularea derivatei secunde n capetele intervalului:
( ) ( ) ( ) ( )
" " " "
0 0 0 1
0 , 0.
n n n
S x P x S x P x

= = = =
Funciile spline care ndeplinesc aceste condiii se numesc funcii
spline cubice normale.
- derivata de ordinul al treilea ale funciei S este continu n
punctele x
1
i x
n-1
Aceasta nseamn c polinoamele
0 1
, P P

respectiv
2 1
,
n n
P P

coincid. Acest tip de spline se numete
not a knot i este utilizat n MATLAB.
Ne vom ocupa n continuare de determinarea funciei spline de
interpolare n cazul n care sunt cunoscute valorile derivatei funciei
( ) n i . f x a b
Recapitulnd vom avea urmtoarele condiii :
1
1
' '
1
" "
1
( ) , 0, , 1, ( ) interpolare ,
( ) ( ) , 1, , 1, continuitatea funciei ,
( ) ( ) , 1, , 1, continuitatea primei derivatei,
( ) ( ) , 1, ,
i i i n n n
i i i i
i i i i
i i i i
P x y i n P x y
P x P x i n S
P x P x i n
P x P x i n

= = =
= =
= =
= =
.
.
.
.
( )
' '
0 0 1
1, continuitatea derivatei secunde,
( ) '( ), ( ) ' .
n n
P x f a P x f b

= =

Vom nota ''( ) , 0, .


i i
S x A i n = = . innd seama de faptul c funcia
| | '' , S C a b e este o funcie liniar pe fiecare din intervalele
| |
1
,
i i
x x
+

rezult c, notnd cu
1
, 0, 1
i i i
h x x i n
+
= = . , vom avea:
"
1
1 1
( ) , [ , ] , 1, , 1
i i
i i i i
i i
x x x x
S x A A x x x i n
h h
+
+ +

= + e = .
iar din
' " '
( ) ( ) , ( ) ( ) S x S x dx S x S x dx = =
) )
rezult:
( ) ( )
2 2
' 1
1 1
( ) , [ , ] , , 0, 1,
2 2
i i
i i i i i i
i i
x x x x
S x A A x x x i n
h h
o o
+
+ +

= + e e = .
( ) ( )
3 3
1
1 1
( ) , [ , ] , , , 0, 1,
6 6
i i
i i i i i i i i
i i
x x x x
S x A A x x x x i n
h h
o | o |
+
+ +

= + + + e e = .
( ) ( )
3 3
1
1
( ) , , , 0, 1,
6 6
i i
i i i i i i i
i i
x x x x
P x A A x i n
h h
o | o |
+
+

= + + + e = .
Impunnd condiiile de interpolare i de continuitate vom obine:
121
2
2
1 1 1 1
( ) ,
6
( ) 0, 1.
6
i
i i i i i i i
i
i i i i i i i
h
P x A x y
h
P x A x y i n
o |
o |
+ + + +
= + + =
= + + = , = .
Din aceste relaii determinm
1 1
i n funcie de , , ,
i i i i i i
A A y y o |
+ +
:
( )
( )
1
1
1 1
1 1
,
6
, 0, 1.
6
i i i
i i i
i
i i i i i
i i i i i
i
y y h
A A
h
x y x y h
x A x A i n
h
o
|
+
+
+ +
+ +

= = .
Din condiia:
( ) ( )
2 2
' ' ' 0 1
0 0 0 1 0 0
0 0
( ) ( ) , innd seam de ( )
2 2
x x x x
P x f a P x A A
h h
o

= = +
rezult
'
1 0
0 0 0 1
0
2 6 ( )
y y
h A h A f a
h
(
+ =
(

(18)
Din condiia de continuitate a primei derivate a funciei spline cubice
( )
' '
1
( )
i i i i
P x P x

= innd seama de:


( ) ( )
2 2
' 1
1 1 1
1 1
( ) ,
2 2
i i
i i i i
i i
x x x x
P x A A
h h
o




= +
( ) ( )
2 2
' 1
1
( ) ,
2 2
i i
i i i i
i i
x x x x
P x A A
h h
o
+
+

= +
rezult, utiliznd valorile pentru
1
i
i i
o o

deduse mai sus:
( )
( )
'
1 1 1
1 1
1
'
1
1
( )
2 6
( )
2 6
i i i i
i i i i i
i
i i i i
i i i i i
i
h y y h
P x A A A
h
h y y h
P x A A A
h

+
+

= + =

= = +
sau
1 1
1 1 1 1
1
2( ) 6 ,
1, , 1.
i i i i
i i i i i i i
i i
y y y y
h A h h A h A
h h
i n
+
+

(
+ + + =
(

= .
(19)
n final, din condiia:
( ) ( )
2 2
' ' ' ' 1
1 1 1 1
1 1
( ) ( ) ( ) din ( )
2 2
n n
n n n n n n
n n
x x x x
S b P x f b P x A A
h h
o




= = = +
122
obinem:
( )
' '
1 1 1
1 1
1
( ) ( ) ,
2 6
n n n n
n n n n n
n
h y y h
P x A A A f b
h

= + =
sau
( )
'
1
1 1 1
1
2 6
n n
n n n n
n
y y
h A h A f b
h

(
+ =
(

(20)
Sistemul liniar (18), (19), (20) cu necunoscutele { }
0 1
, , ,
n
A A A are
forma:
( 1) ( 1) 1
, cu ,
n n n
HA f H f
+ + +
= e e
0 0
0 0 1 1
1 1 2 2
2 2 1 1
2 0 0
2( ) 0
n n n n
h h
h h h h
h h h h
H
h h h h


+ 0
0 2( + ) 0 0
=

0 2( + )
0
.................
.............
.. ........
.
........
..........
1 1
2
n n
h h

(
(
(
(
(
(
(
(

(

'
1 0
0
1 1
1
'
1
1
6 ( )
6 1, , 1
6 ( )
i i i i
i i
n n
n
y y
f a
h
y y y y
f i n
h h
y y
f b
h
+

( | |

( |
\ .
(
(
| |
(
= =
|
(
\ .
(
| |
(

|
(
\ .
.
Observnd c matricea H este diagonal dominant att pe linii ct i pe
coloane rezult c putem utiliza metoda Gauss-Seidel pentru rezolvarea
sistemului HA=f.
innd seam c matricea H este simetric i pozitiv definit rezult de
asemenea i convergena metodei relaxrii.
n cazul funciei spline naturale avem
0
0
n
A A = = iar pentru determinarea
valorilor
1 1
,
n
A A

. intervin numai condiiile (19) . Sistemul liniar pentru
aceste valori are forma:
`` ` ` ` `
1
( 1) ( 1) 1
1
, , ,
n n n
n
A
H A f f A
A

(
(
= He e =
(
(

.
123
n care matricea
`
H se obine din matricea H din care se suprim prima i
ultima linie respectiv prima i ultima coloan , iar
`
f se obine din
vectorul f eliminnd primul i ultimul element. Matricea
`
H are aceleai
proprieti ca i matricea H.
124
Integrare numeric
Fie f : [a,b] , integrabil i p : [a,b]
+
o funcie pondere:
| | ( ) ( ) ( ) 0 , , , 0,
b
a
p x x a b p x dx > e e
)
.
Ne propunem s aproximm ( ) ( ) .
b
a
p x f x dx
)
Relaia
( ) | |
1
( ) ( ) ( ) , 1, , ,
b
n
i i n i
i
a
p x f x dx c f x R f x a b i n
=
= + , e , =
_
)
. (1)
se numete formul de cuadratur / integrare numeric.
Punctele
i
x sunt nodurile formulei de cuadratur,
i
c sunt coeficienii
sau ponderile formulei.
Ordinul de exactitate al formulei (1)
Fie
m
mulimea polinoamelor de grad cel mult m. Se numete ordin de
exactitate al formulei de cuadratur (1) numrul natural meN pentru
care:
1
( ) 0 , i astfel nc t ( ) 0.
n m m n
R P P Q R Q
+
= eH - eH =
Tipuri de formule de cuadratur
Fie o clas de funcii integrabile pe intervalul [a,b]. Se determin
i
i i
c x astfel ca:
( ) 0 , .
n
R f f = e
Alegerea clasei de referin conduce la obinerea diverselor tipuri de
formule de cuadratur.
Formule interpolative
Se consider interpolarea Lagrange pe nodurile
1 2
, , ,
n
x x x . :
1
( ) ( ) ( )
n n
f x L x r x

= + .
Integrnd de la a la b n ambii membrii obinem:
1
( ) ( ) ( ) ( ) ( ) ( ) .
b b b
n n
a a a
p x f x dx p x L x dx p x r x dx

= +
) ) )
innd seam de:
125
( )
1 '
1 1
( )
( ) , ( ) ( )
( ) ( )
n n
n
n i n j
i j
i n i
w x
L x f x w x x x
x x w x

= =
= =

_ [
,
rezult c:
1
1
1
( ) ( ) ,
( )
( ) ( ) ( )
b
n
i j n
j
a
j i i j
j
j i
b
n n
a
c p x x x dx
x x
R f p x r x dx
=
=
=
=
=

=
[
)
[
)
Observaie. Dac
1
, ,
n
f P P

= eH innd seam de restul n interpolarea
Lagrange pentru funcii de clas [ , ]
n
C a b ,
( )
( )
( ) ( ) 0
!
n
n n
P
r x w x
n

= =
rezult ( ) 0.
n
R P = Rezult c pentru formulele de cuadratur de tip
interpolativ ordinul de exactitate este cel puin n-1. n formulele de tip
interpolativ ,
i i
x c se aleg asfel nct ordinul de exactitate s fie maxim.
O alt clasificare a formulelor de cuadratur se face n raport cu
dispunerea nodurilor
1
i n intervalul [ , ].
n
x x a b
- formule de tip nchis :
1
, ,
n
x a x b = =
- formule de tip deschis :
1
, ,
n
x a x b > <
- formule de tip nchis deschis :
1
, ,
n
x a x b = <
- formule de tip deschis nchis :
1
, .
n
x a x b > =
Formule iterate
Se consider o divizare
1 2 N
a X X X b = < < = . i descompunerea:
1 2
0 1 1
( ) ( ) ( ) ( )
N
N
X X X b
a X X X
f x dx f x dx f x dx f x dx

= + + +
) ) ) )
.
Pentru fiecare integral
1
( )
k
k
X
X
f x dx
+
)
se utilizeaz o formul simpl de
cuadratur .
126
Formule de cuadratur NEWTON-CTES
Se consider funcia pondere ( ) 1, [ , ] p x x a b e i nodurile
1 2 n
a x x x b s < < < s
fixate. Pentru calculul integralei ( )
b
a
f x dx
)
, :[ , ] , f a b integrabil
pe intervalul [a,b], vom face schimbarea de variabil
2 2
a b b a
x t
+
= +
astfel ca:
1 1
1 1
( ) ( ) ( ) .
2 2 2 2
b
a
b a a b b a b a
f x dx f t dt g t dt

+
= + =
) ) )
Construim polinomul de interpolare Lagrange pentru funcia
1
( ) ( ) ( )
n n
g t L t r t

= + n care:
1
1 1
( ) ( ) , , ( ) ( ).
2 2
n n
j
n i i i i i
i j
i j
j i
t t
a b b a
L t g t x t g t f x
t t

= =
=
| |
+
= = + =
|
|

\ .
_ [
In ipoteza [ , ]
n
f C a b e , restul n interpolarea Lagrange este:
( )
( )
( ) | |
( )
, 1,1 ,
!
n
n n
g
r t w t
n
t
t = e cu ( ) ( )
1
,
n
n j
j
w t t t
=
=
[
( )
( )
( )
( ) | | , , .
2 2 2
n
n
n n
n
t
d a b b a b a
g f t f a b
dt
t
t
=
+
| | | |
= + = e
| |
\ . \ .
Rezult:
( ) ( )
( )
( ) ( )
( )
1
1 1
1 1
1 1
2 2 !
n n
b
n n
j
i n
i j
i j a
j i
f t t t
b a b a
f x dx f x dt w t dt
t t n

+
= =

=
| |

| |
= +
|
|
|

\ .
\ .
_ [
) ) )
Notm:
( )
( )
( )
1 1
'
1
1 1
1 1
2 2
n
n j n
i
j i j n i i
j i
t t w t
I dt dt
t t w t t t
=

=
| |
= =
|
|

\ .
[
) )
.
( )
( )
( ) ( )
( )
1
1
1
2 !
n n
n n
f t
b a
R f w t dt
n

| |
=
|
\ .
)
Am obinut formula de cuadratur Newton-Ctes :
( )
( )
( )
1
( )
b
n
n
i i n
i
a
f x dx I f x R f
=
= +
_
)
(2)
127
Observaii
1.Coeficienii
( ) n
i
I nu depind de funcia f, prin urmare pot fi calculai i
tabelai pentru o repartiie dat a nodurilor x
i
.
2. Dac utilizm formula (2) pentru 1 f , n formula de interpolare vom
avea
( )
1
( ) 0 (1) 0 , astfel c 1 ( ) .1
b
n
n
n n i
i
a
r x R b a dx b a I
=
= = ( ) = =
_
)
din
care rezult :
( )
1
1
n
n
i
i
I
=
=
_
3.Pentru restul n formula de cuadratur, n ipoteza [ , ]
n
f C a b e , se poate
obine majorarea:
( )
( )
( )
( ) ( )
( )
{ }
1
1
1
, n care
2
1
!
sup ; [ , ]
n
n
n n
n n
n n
b a
R f c f
c w t dt
n
f f x x a b
+

| |
s
|
\ .
= ,
= e .
)
4. Presupunem c nodurile x
i
sunt simetrice dou cte dou fa de
mijlocul intevalului [a,b]. Aceata implic
1
1
, 1, 2, , .
2
i n i
n
t t i
+
+
(
= =
(

.
Avem:
( ) ( ) ( ) ( ) ( ) ( ) ( )
1
1 1 1
1 1 1 ( )
n n n
n n n
n i i n i n
i i i
w t t t t t t t w t
+
= = =
= = + = =
[ [ [
i ( ) ( )
1
' '
( ) 1 .
n
n n
w t w t

=
n integrala prin care se determin
( ) n
i
I facem schimbarea de variabil
t t = i obinem:
( )
( )
( ) ( )
( )
( ) ( )
1 1
' '
1 1
1 1
2 2
n n n
i
i n i i n i
w t w
I dt d
t t w t t w t
t
t
t

= =
+
) )
nlocuind n ultima integral
1
cu
i n i
t t
+
obinem:
( )
( ) ( )
( ) ( )
( )
1
1 1
'
1 1 1
1 1
2
( ) 1
n
n n n
i n i n
n i n n i
w
I d I
t w t
t
t
t
+
+ +

= =

)
Deci n ipoteza simetriei nodurilor fa de mijlocul intervalului avem:
( ) ( )
1
1
1, 2, .
2
n n
i n i
n
I I i
+
+
(
= , =
(

.
128
Avem urmtorul tabel cu coeficieni:
Gradul
=>
1 2 3 4 5 6 7 8 9 10
K 2 3 8 45 288 140 17280 14175 89600 299376
I
1
1 1 3 14 95 41 5257 3956 25713 80335
I
2
1 4 9 64 375 216 25039 23552 141669 531500
I
3
1 9 24 250 27 9261 -3712 9720 -242625
I
4
3 64 250 272 20923 41984 174096 1362000
I
5
14 375 27 20923 -18160 52002 -1302750
I
6 95 216 9261 41984 52002 2136840
I
7 41 25039 -3712 174096 -1302750
I
8 5257 23552 9720 1362000
I
9 3956 141669 -242625
I
10 25713 531500
I
11 80335
Formula de cuadratur Newton Cotes se obine utiliznd tabelul de mai
sus astfel:
1
( )
( ) ( ) ( ) ,
, ( 1) , 1, ,
1
b
n
i i n
i
a
i
b a
f x dx I f x R f
K
b a
h x a i h i n
n
=

= +

= = + =

_
)
.
Remarcm faptul c pentru n=8 i n=10 apar i coeficieni negativi.
Pentru n > 10 vor exista ntotdeauna coeficieni negativi.
Observaie Pentru n = 10 printre ponderile metodei NewtonCotes 4
sunt negative. Pentru intervalul [-1,1] nodurile de cuadratur sunt
1 0.2 , 0, ,10
k
x k k = + = . iar ponderile:
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
10 10 10 10 10 10
0 10 1 9 2 8
10 10 10 10 10
3 7 4 6 5
16067 26575 -16175
,
299376 74844 99792
5675 - 4825 17807
, ,
6237 5544 12474
I I I I I I
I I I I I

= = = = , = =
= = = = =
Considerm funcia | | : 1,1 f fragmentar liniar:
129
( )
( )
( )
( )
| |
10
10 10
1 1 1
sign( ) , 0, ,10 ,
( )
( )sign( ) sign( ), , , 0, ,9.
i i
i i i i i i
I x x i
f x
x x I x x I x x x i
+ + +

= , =

=

+ e =

.
.
cu graficul:
-1 -0.5 0.5 1
-1
-0.5
0.5
1
Avem ( )
1
1
0, 4. f x dx

=
)
Aplicnd metoda Newton Cotes pentru aproximarea integralei vom
obine:
( )
( )
( )
10 10
10 10
0 0
j j j
j j
I f x I
= =
= =
_ _
6.1259
cu eroarea absolut:
( )
( )
( )
1
10
10
0
1
j j
j
f x dx I f x
=

=
_
)
5.7259.
Din acest exemplu rezult c mrirea ordinului de exactitate polinomial
nu conduce n orice situaie la mbuntirea aproximrii integralei
definite.
Formulele NEWTON CTES pe noduri echidistante de tip nchis
Formula trapezului
Pentru n = 2 vom avea
1 2 1 2
, , 1, 1. x a x b t t = = = =
Din relaiile:
( ) ( )
( ) ( )
2 2
1 2
2 2
1 2
1, I I
I I

+ =

rezult:
( ) ( ) 2 2
1 1
1
,
2
I I = =
130
obinnd formula de cuadratur a trapezului:
( ) ( ) ( ) ( ) ( )
2
2
b
a
b a
f x dx f a f b R f

= + +
)
(3)
n care pentru | |
2
, f C a b e avem:
( ) ( )( )
( ) ( ) ( )
( ) ( )
3
2
''
'' , , .
2 12
b
a
f x b a
R f x a x b dx f a b

q q

= = e
)
Interpretarea geometric:
Aria cuprins ntre axa X segmentul [a,b], segmentele AA, BB i
graficul curbei y=f(x) a crei valoare este dat de ( )
b
a
f x dx
)
este
aproximat prin ( ) ( ) ( )
2
b a
f a f b

+ care reprezint aria trapezului


AABB.
Formula de cuadratur a lui SIMPSON
n metoda Newton Ctes pentru n=3 pentru nodurile:
1 2 3 1 2 3
, , , 1, 0, 1
2
a b
x a x x b t t t
+
= = = = = = ,
folosind relaiile:
131
( ) ( ) ( )
( ) ( )
( )
( )
( )( )
( )
3 3 3
1 2 3
3 3
1 3
1
3 3
1 3
1
1,
1 1 1
2 1 0 1 1 6
I I I
I I
t t
I dt I

+ + =

= = =

)
rezult
( ) 3
2
2
.
3
I =
n ipoteza | |
4
, f C a b e se obine formula de cuadratur a lui Simpson:
( ) ( ) ( )
( )
5
4
( )
4
6 2 2 90
b
a
b a a b b a f
f x dx f a f f b
q + ( | | | |
= + +
| |
(
\ . \ .
)
(4)
Formula de cuadratur a lui SIMPSON (3/8)
Pentru n=4 nodurile echidistante sunt:
1 2 3 4 1 2 3 4
2 2 1 1
, , , 1, , 1
3 3 3 3
a b a b
x a x x x b t t t t
+ +
= = = , = = = = , = ,
Notm cu
3
b a
h

= i obinem astfel formula lui Simpson (3/8) pentru
| |
4
, f C a b e :
( ) ( ) ( ) ( ) ( )
( )
( )
( )
4 5
2 3
3
3 3
8
b
a
f x dx h f a f x f x f b h f
(
= + + + +

)
(5)
Formula de cuadratur a lui BOOLE
Pentru n=5 considernd nodurile:
( 1) , 1, ,5 cu
4
i
b a
x a i h i h

= + = = . ,
n ipoteza | |
6
, f C a b e obinem formula de cuadratur a lui Boole :
( ) ( ) ( ) ( ) ( ) ( )
( )
( )
( )
2 3 4
6 7
2
7 32 12 32 7
45
b
a
h
f x dx f a f x f x f x f b
h f
= + + + + + (

+
)

132
Formule iterate
Se consider o divizare a intervalului [a,b] n N subintervale de lungime
b a
H
N

= prin nodurile , 0,1, , .


i
x a iH i N = + = . n relaia:
( ) ( )
1 1
0
i
i
x b
N
i
a x
f x dx f x dx
+
=
=
_
) )
pentru fiecare din integralele
( )
1 i
i
x
x
f x dx
+
)
aplicm formula trapezului:
( ) ( ) ( ) ( )
( )
( )
( ) ( ) ( ) ( )
3
1 1
" 1 1
1
0 0
3 1 1
"
1 0
2 12
2
2 12
b
N N
i i i i
i i i
i i
a
N N
i i
i i
x x x x
f x dx f x f x f
H H
f a f x f b f
q
q

+ +
+
= =

= =

= + + =
(
+ +
(

_ _
)
_ _
Se obine asfel formula trapezelor sau formula iterat a trapezului:
( ) ( ) ( ) ( ) ( )
1
2 "
1
2
2 12
b
N
i
i
a
H b a
f x dx f a f x f b H f

=
(
= + +
(

_
)
Considerm divizarea intervalului [a,b] n 2N subintervale de lungime
2
b a
H
N

= prin nodurile , 0,1, , 2 .


i
x a iH i N = + = . n relaia:
( ) ( )
2 2
2
1
0
i
i
x b
N
i
a x
f x dx f x dx
+
=
=
_
) )
pentru fiecare din integralele din sum aplicm formula lui Simpson
obinnd:
( ) ( ) ( ) ( )
( )
( )
1
2 2 2
2 2 1 2 2
0
5
1
4
2 2 2
0
4
6
1
90 2
b
N
i i
i i i
i
a
N
i i
i
i
x x
f x dx f x f x f x
x x
f

+
+ +
=

+
=

= + + (

| |

|
\ .
_
)
_
sau
( ) ( ) ( ) ( )
( )
( )
( )
1 1
2 1 2
0 1
4
4
4 2 ( )
3
.
180
b
N N
i i
i i
a
H
f x dx f a f x f x f b
H
b a f

+
= =
(
= + + +
(


_ _
)
(6)
Formula (6) poart numele de formula lui Simpson iterat.
133
Biblioteci de calcul numeric

ASA Advanced Scientific Applications
Biblioteca de programe SciMath V.7.1 este realizat de ASA, Inc.
SciMath se prezint sub forma de fiier .lib astfel nct pentru utilizare
este necesar legarea aplicaiei scrise n C sau C++ cu fiierul bibliotec
SciMath.
Algebr liniar
mtlsbs: Rezolvarea sistemelor liniare
gjmtxl: Rezolvarea sistemelor liniare utiliznd metoda Gauss-Jordan
mtudec: Factorizarea LU a unei matrici band nesimetrice
mtvmul: Produs matrice vector
lbacks: Rezolvarea sistemelor liniare cu metoda substituiei inverse
mtcond: Estimarea numrului de condiionare pentru factorizarea LDL
lnchol: Factorizarea Cholesky
Rdcinile polinoamelor. Rezolvarea sitemelor de ecuaii neliniare
czerop: Zerourile polinoamelor complexe
rsreal: Determinarea unei rdcini reale
rzernl: Rezolvarea sistemelor neliniare
rzrnlj: Rezolvarea sistemelor neliniare utiliznd Jacobianul
rtller: Calculul rdcinilor reale/complexe ale unei funcii
rterop: Calculul zerourilor polinoamelor cu coeficieni reali.
Cuadraturi
qsjacw: Cuadratura Gauss-Jacobi
qgausq: Coeficienii i nodurile n cuadratura Gauss
qsexaw: Cuadratura Gauss-Hermite
quslog: Cuadratura Gauss









134
Aproximare /Interpolare /Extrapolare

ctsqls: Ecuaii liniare complexe. Soluie n sensul celor mai mici patrate
intplt: Interpolarea polinomial bidimensional
intpol: Interpolarea polinomial
sinteg: Integrare cu funcii spline
csplit: Aproximare cu funcii spline cubice
chbfit: Aproximare Lagrange
chbint: Integrarea unei funcii aproximate Lagrange.

Sistemul autovalorilor
mtigen: Vectori i valori proprii pentru matrici reale
eighes: Valorile proprii ale unei matrici Hessenberg
mtgenc: Rezolvarea problemei generale a valorilor proprii
eigsmt: Calculul valorilor i vectorilor proprii ale unei matrici simetrice

135
NUMERICAL ALGORITHM GROUP(NAG)
Colecie de funcii C (NAGC.DLL)
Din categoria algoritmilor pentru algebra liniar:
f01 Factorizarea Matricilor
Numele
rutinei
Realizeaz
f01bnc nag_complex_cholesky
Factorizarea UU
H
a unei matrici complexe Hermitiene
pozitiv definite
f01mcc nag_real_cholesky_skyline
Factorizarea LDL
T
a unei matrici reale simetrice pozitiv
definite, band
f01qcc nag_real_qr
Factorizarea QR a unei matrici reale m n (m n)
f01qdc nag_real_apply_q
Calculeaz QB sau Q
T
B dup factorizarea realizat cu
f01qcc
f01rcc nag_complex_qr
Factorizarea QR a unei matrici complexe m n (m n)
f01rdc nag_complex_apply_q
Calculeaz QB sau Q
H
B dup factorizarea realizat cu
f01rcc
f02 Valori i vectori proprii
Numele
rutinei
Realizeaz
f02aac nag_real_symm_eigenvalues
Toate valorile proprii ale unei matrici reale simetrice.
f02abc nag_real_symm_eigensystem
Toate valorile proprii i toi vectorii proprii pentru matrici
reale simetrice.
136
f02afc nag_real_eigenvalues
Toate valorile proprii ale unei matrici reale.
f02agc nag_real_eigensystem
Toate valorile proprii i toi vectorii proprii pentru matrici
reale
f02awc nag_hermitian_eigenvalues
Toate valorile proprii ale unei matrici complexe hermitiene.
f02axc nag_hermitian_eigensystem
Toate valorile proprii i toi vectorii proprii pentru matrici
complexe hermitiene
f02ecc nag_real_eigensystem_sel
Calculul unor valori proprii selectate i a vectorilor proprii
pentru o matrice real general .
f02gcc nag_complex_eigensystem_sel
Calculul unor valori proprii selectate i a vectorilor proprii
pentru o matrice complex general .
f02wec nag_real_svd
SVD pentru matrici reale (Descompunerea dup valorile
singulare)
f02xec nag_complex_svd
SVD pentru matrici complexe
f03 Determinani
Numele
rutinei
Realizeaz
f03aec nag_real_cholesky
Factorizare LL
T
i determinantul unei matrici reale,
simetrice , pozitiv definite .
f03afc nag_real_lu
Factorizare LU i determinantul unei matrici reale
f03ahc nag_complex_lu
Factorizare LU i determinantul unei matrici complexe
137
f04 Sisteme de ecuaii liniare
Numele
rutinei
Realizeaz
f04adc nag_complex_lin_eqn_mult_rhs
Soluia aproximativ a sistemelor liniare complexe cu
membri drepi multipli .
f04agc nag_real_cholesky_solve_mult_rhs
Soluia unui sistem cu matrice real, simetric, pozitiv
definit.
f04ajc nag_real_lu_solve_mult_rhs
Soluia unui sistem real de ecuaii liniare
f04akc nag_complex_lu_solve_mult_rhs
Soluia unui sistem complex de ecuaii liniare.
f04arc nag_real_lin_eqn
Soluia unui sistem real de ecuaii liniare.
f04awc nag_hermitian_lin_eqn_mult_rhs
Soluia unui sistem de ecuaii liniare cu matrice complex
hermitian, pozitiv definit
f04mcc nag_real_cholesky_skyline_solve
Soluia unui sistem cu matrice real, simetric, pozitiv
definit. Matricea coeficienilor factorizat n prelabil cu
f01mcc.
f07 Ecuaii Liniare (LAPACK)
Numele
rutinei
Realizeaz
f07adc nag_dgetrf
Factorizarea LU a unei matrici reale de tip (m,n)
f07aec nag_dgetrs
Rezolvarea unui sistem liniar de ecuaii reale cu membrii
drepi multipli utiliznd factorizarea f07adc
138
f Algebra Liniar
nag real lu (f03afc)
1. Obiectiv
nag real lu (f03afc) calculeaz factorizarea LU a unei matrici reale
, cu pivotare parial i evaluarea determinantului
2. Specicare
#include <nag.h>
#include <nagf03.h>
void nag_real_lu(Integer n, double a[], Integer tda, Integer pivot[],
double *detf, Integer *dete, NagError *fail)
3. Descriere
Aceast funcie calculeaz factorizarea LU a unei matrici reale A cu
pivotare parial PA = LU, n care P este o matrice de permutare , L
este inferior triunghiular iar U este superior triunghiular cu 1 pe
diagonal . Determinantul lui A este produsul elementelor de pe
diagonala lui P cu semnul determinat de schimbarile de linii.
4. Parametri
n
Intrare : n, ordinul matricii A.
Restricie: n 1.
a[n][tda]
Intrare matricea A de tip n n .
Ieire : A conine n partea triunghiular inferior matricea L , n
partea strict triunghiular superior matricea U fr elementele
de pe diagonala acesteia care sunt = 1..
tda
Intrare: dimensiunea dominant a matricii aa cum a fost
declarat n funcia care apeleaz nag real lu
Restricie : tda n.
pivot[n]
Ieire : pivot[i 1] conine indicele de linie al pivotilui i .
detf , dete
Ieire determinantul lui A este dat de detf 2.0
dete
. Se
utilizeaz aceast form pentru a evita depirile
inferioare/superioare ..
139
fail Parametru de eroare NAG
5. Mesaje de eroare i avertizare
NE SINGULAR
Matricea A este singular eventual datorit erorilor de rotunjire .
Factorizarea nu poate fi realizat , detf = dete = 0.
NE INT ARG LT <value>
In intrare n nu poate fi mai mic dect 1 : n = value
NE 2 INT ARG LT <value>
In intrare tda trebuie s fie tda n. : n = value
NE ALLOC FAIL Alocarea memoriei euat
6. Timpul de execuie este aproximativ proporinal cu n
3
7 Referine
Wilkinson J H and Reinsch C (1971) Handbook for Automatic
Computation (Vol II, Linear Algebra) Springer-Verlag pp 93
110..
8. Exemplu
Se consider matricea
33 16 72
24 10 57
8 4 17
(
(

(
(

140
8.1. Textul programului
/* nag_real_lu(f03afc) Exemplu
*
*/
#include <nag.h>
#include <math.h>
#include <stdio.h>
#include <nag_stdlib.h>
#include <nagf03.h>
#define NMAX 8
#define TDA NMAX
main()
{
double detf, two=2.0;
Integer i, dete, j, n;
static NagError fail;
double a[NMAX][TDA];
Integer pivot[NMAX];
Vprintf("f03afc Example Program Results\n");
/* Skip heading in data file */
Vscanf("%*[^\n]");
Vscanf("%ld",&n);
if (n>0 && n<=NMAX)
{
for (i=0; i<n; i++)
for (j=0; j<n; j++)
Vscanf("%lf",&a[i][j]);
fail.print = TRUE;
f03afc(n,(double *)a,(Integer)TDA,pivot,&detf,&dete,&fail);
if (fail.code!=NE_NOERROR)
exit(EXIT_FAILURE);
else
{
Vprintf("Matricea A dupa factorizare\n");
for (i=0; i<n; i++)
for (j=0; j<n; j++)
Vprintf("%9.4f%s",a[i][j],(j%8==7 || j==n-1) ? "\n" : " ");
141
Vprintf("\nPermutare P\n");
for (i=0; i<n; i++)
Vprintf("%3ld%s",pivot[i],(i%8==7 || i==n-1) ? "\n" : " ");
Vprintf("\ndetf = %9.4f dete = %2ld\n", detf, dete);
detf = detf * pow(two, (double)dete);
Vprintf("\nValoarea determinantului = %9.4f\n", detf);
}
}
exit(EXIT_SUCCESS);
}
8.2. Date de intrare
f03afc Example Program Data
3
33 16 72
-24 -10 -57
-8 -4 -17
8.3. Rezultate
f03afc Example Program Results
Matricea A dup factorizare
-8.0000 0.5000 2.1250
-24.0000 2.0000 -3.0000
33.0000 -0.5000 0.3750
Permutare P
323
detf = 0.3750 dete = 4
Valoarea determinantului = 6.0000
142
f Algebra liniar
nag real symm eigenvalues (f02aac)
1. Obiectiv
nag real symm eigenvalues (f02aac) calculeaz toate valorile
proprii ale unei matrici reale simetrice.
2. Specicare
#include <nag.h>
#include <nagf02.h>
void nag_real_symm_eigenvalues(Integer n, double a[], Integer tda,
double r[], NagError *fail)
3. Descriere
Funcia reduce matricea real simetric A la o matrice real simetric
tridiagonal prin metoda lui Householder. Valorile proprii ale
matricii tridiagonale sunt determinate prin algoritmul QL.
4. Parametri
n
Intrare : n, ordinul matricii A.
Restricie: n 1.
a[n][tda]
Intrare: partea inferior triunghiular a matricii simetrice A .
Elementele situate deasupra diagonalei nu sunt iniializate .
Ieire : elementele lui A situate sub diagonal sunt modificate
restul matricii rmne neschimbat. .
tda
Intrare: a doua dimensiune a matricii aa cum a fost declarat n
funcia care apeleaz
nag real symm eigenvalues
Restricie : tda n.
r[n]
Ieire : valorile proprii n ordine cresctoare.
143
fail
Parametru de eroare NAG
5. Mesaje de eroare i avertizare
NE TOO MANY ITERATIONS <value>
Sunt necesare mai mult de value iteraii pentru a izola toate
valorile proprii.
NE INT ARG LT <value>
In intrare n nu poate fi mai mic dect 1 : n = value
NE 2 INT ARG LT <value>
In intrare tda trebuie s fie tda n. : n = value
NE ALLOC FAIL Alocarea memoriei euat
6. Timpul de execuie este aproximativ proporinal cu n
3
7 Referine
Wilkinson J H and Reinsch C (1971) Handbook for Automatic
Computation (Vol II, Linear Algebra) Springer-Verlag pp 212226
and 227240.
8. Exemplu
Se consider matricea simetric
0.5 0.0 2.3 2.6
0.0 0.5 1.4 0.7
2.3 1.4 0.5 0.0
2.6 0.7 0.0 0.5
(
(

(
(
(


144
8.1. Program
/* nag_real_symm_eigenvalues(f02aac) Exemplu
*
*/
#include <nag.h>
#include <stdio.h>
#include <nag_stdlib.h>
#include <nagf02.h>
#define NMAX 8
#define TDA NMAX
main()
{
Integer i, j, n;
double a[NMAX][TDA], r[NMAX];
Vprintf("f02aac Resultate \n");
/* Skip heading in data file */
Vscanf("%*[^\n]");
Vscanf("%ld",&n);
if (n<1 || n>NMAX)
{
Vfprintf(stderr, "N este in afara domeniului: N = %5ld\n", n);
exit(EXIT_FAILURE);
}
for (i=0; i<n; i++)
for (j=0; j<n; j++)
Vscanf("%lf",&a[i][j]);
f02aac(n, (double *)a, (Integer)TDA, r,
NAGERR_DEFAULT);
Vprintf("Valori proprii\n");
for (i=0; i<n; i++)
Vprintf("%9.4f%s",r[i],(i%8==7 || i==n-1) ? "\n": " ");
exit(EXIT_SUCCESS);
}
145
8.2. Date de intrare
f02aac Date
4
0.5 0.0 2.3 -2.6
0.0 0.5 -1.4 -0.7
2.3 -1.4 0.5 0.0
-2.6 -0.7 0.0 0.5
8.3. Rezultate
Valori proprii
-3.0000 -1.0000 2.0000 4.0000
c02 Zerourile Polinoamelor
Numele
funciei
Scop
c02afc nag_zeros_complex_poly
Zerourile unui polinom cu coeficieni compleci
c02agc nag_zeros_real_poly
Zerourile unui polinom cu coeficieni reali
c02akc nag_cubic_roots
Zerourile unui polinom de gradul 3 cu coeficieni
reali
c02alc nag_quartic_roots
Zerourile unui polinom de gradul 4 cu coeficieni
reali
146
IMSL Visual Numerics
International Mathematical and Statistical Library
Conine programe din urmtoarele domenii:
- valori i vectori proprii,
- sisteme algebrice liniare,
- interpolare,
- integrare i derivare numeric,
- ecuaii difereniale ordinare i cu derivate pariale,
- transformri,
- ecuaii neliniare,
- optimizri,
- statistic.
LSARG/DLSARG (Single/Double precision)
Rezolvarea unui sistem de ecuaii algebrice liniare reale.
Utilizare (FORTRAN)
CALL LSARG (N, A, LDA, B, IPATH, X)
Argumente
N Numrul ecuaiilor (Intrare)
A Matrice N N coninnd coeficienii sistemului liniar (Intrare)
LDA Dimensiunea dominant prevzut n declaraia de dimensiune
din programul apelant (Intrare)
B Vector N-dimensional coninnd termenii liberi (Intrare)
IPATH (Intrare)
IPATH = 1 se rezolv sistemul AX = B .
IPATH = 2 se rezolv sistemul A
T
X = B.
X Vector N-dimensional coninnd soluia sistemului liniar (Ieire)
Commentarii
1. Utilizarea spaiului de lucru
LSARG N
2
+ 2N uniti,
DLSARG 2N
2
+ 3N uniti.
Spaiul de lucru poate fi stabilit explicit prin utilizarea subprogramelor
L2ARG/DL2ARG. Apelul este de forma:
CALL L2ARG (N, A, LDA, B, IPATH, X, FAC, IPVT, WK)
n care argumentele adiionale sunt :
147
FAC vector de lucru de dimensiune N
2
coninnd factorizarea LU a
matricii A (Ieire)
IPVT vector de ntregi de dimensiune N coninnd informaii privind
pivotarea n factorizarea LU (Ieire)
WK vector de lucru de dimensiune N.
LFCRG/DLFCRG (Single/Double precision)
Calculeaz factorizarea LU a unei matrici reale i estimeaz numrul de
condiionare
Utilizare
CALL LFCRG (N, A, LDA, FAC, LDFAC, IPVT, RCOND)
LFDRG/DLFDRG (Single/Double precision)
Calculeaz determinantul unei matric dat fiind factorizarea LU a
matricii.
Utilizare
CALL LFDRG (N, FAC, LDFAC, IPVT, DET1, DET2)
det(A) = DET1 * 10^DET2.
LINRG/DLINRG (Single/Double precision)
Calculeaz inversa unei matrici reale.
Utilizare
CALL LINRG (N, A, LDA, AINV, LDAINV)
AINV inversa
LSLRT/DLSLRT (Single/Double precision)
Rezolvarea unui sistem triunghiular de ecuaii liniare .
Utilizare
CALL LSLRT (N, A, LDA, B, IPATH, X)
LFCDS/DLFCDS (Single/Double precision)
Calculeaz factorizarea Cholesky R
T
R a unei matrici reale, simetrice i
pozitiv definite
i estimeaz numrul de condiionare.
148
Utilizare
CALL LFCDS (N, A, LDA, FAC, LDFAC, RCOND)
IMSL Aproximare spline
CSCON/DCSCON (Simpla/Dubla precizie)
Calculeaz interpolantul spline cubic consistent cu concavitatea datelor.
Utilizare
CALL CSCON (NDATA, XDATA, FDATA, IBREAK, BREAK,
CSCOEF)
Argumente
NDATA Numrul datelor de intrare . (Intrare) (NDATA este cel puin
3)
XDATA Vector de lungime NDATA coninnd valorile nodurilor .
(Intrare) (Nodurile sunt distincte )
FDATA Vector de lungime NDATA coninnd valorile funciei.
(Intrare)
IBREAK Numrul punctelor de racord pentru funcia fragmentar
cubic. (Iesire) IBREAK < 2 * NDATA.
BREAK Vector de lungime IBREAK coninnd pt. de racord ale
reprezentrii fragmentar cubice (Iesire) (Dimensiunea lui BREAK este
cel puin 2 * NDATA.)
CSCOEF Matrice de dimensiune (4 ,N ) n care N este dimensiunea
lui BREAK. (Iesire) (Conine, pe coloane, coeficienii funciilor cubice
pe subintervale.)
Comentarii
1. Utilizarea automat a spaiului de lucru este
CSCON 11 * NDATA 14 uniti, sau
DCSCON 21 * NDATA 28 uniti.
Spaiul de lucru poate fi precizat explicit prin utilizarea subprogramelor
C2CON/DC2CON.
Apelarea este de forma
CALL C2CON (NDATA, XDATA, FDATA, IBREAK,
BREAK,CSCOEF, ITMAX, XSRT, FSRT, A, Y, DIVD,ID, WK)
In care argumentele suplimentarea au urmtoarea semnificaie:
ITMAX - Numrul maxim de iteraii pentru metoda lui Newton (Intrare)
XSRT- Vector de lucru de lungime NDATA n care se pstreaz valorile
XDATA sortate.
149
FSRT Vector de lucru de lungime NDATA n care se pstreaz
valorile FDATA sortate.
A Vector de lucru de lungime NDATA.
Y Vector de lucru de lungime NDATA 2.
DIVD Vector de lucru de lungime NDATA 2.
ID Vector de ntregi de lungime NDATA.
WK Vector de lucru de lungime 5 * (NDATA 2).
CSVAL/DCSVAL (Simpla/Dubla precizie)
Evaluarea unui spline cubic .
Utilizare
CSVAL(X, NINTV, BREAK, CSCOEF)
Argumente
X Punctul n care funcia spline se evalueaz . (Intrare)
NINTV Numrul intervalelor. (Intrare)
BREAK Vector de lungime NINTV + 1 coninnd punctele de racord
n reprezentarea fragmentar cubic a funciei spline . (Intrare) Elementele
din BREAK trebuie s fie n ordine strict cresctoare
CSCOEF Matrice de dimensiune (4 , NINTV + 1 ) care conine , pe
coloane, coeficienii funciilor cubice pe subintervale. (Intrare)
CSVAL Valoarea funciei spline n X. (Iesire)
CSINT/DCSINT (Simpla/Dubla precizie)
Calculeaz interpolantul spline cubic
Utilizare
CALL CSINT (NDATA, XDATA, FDATA, BREAK, CSCOEF)
Argumente
NDATA Numrul datelor de intrare . (Intrare)
NDATA este cel puin 2.
XDATA Vector de lungime NDATA coninnd valorile absciselor .
(Intrare)
Abscisele sunt distincte .
FDATA Vector de lungime NDATA coninnd valorile ordonatele.
(Intrare)
BREAK Vector de lungime NDATA coninnd punctele de racord ale
reprezentrii fragmentar cubice . (Iesire)
Dimensiunea lui BREAK este cel puin 2 * NDATA.
CSCOEF Matrice de dimensiune (4 ,NDATA ). (Iesire) Conine , pe
coloane, coeficienii funciilor cubice pe subintervale .
150
MATLAB
produs al companiei The MathWorks Inc.
Interpolare polinomial
Funcia interp1 utilizeaz tehnici de aproximare polinomial pentru
aproximarea valorilor unei funcii
yi = interp1(x,y,xi,metoda)
x vector coninnd nodurile de interpolare;
y vector coninnd valorile funciei n noduri;
xi vector coninnd punctele n care se interpoleaz funcia
metoda ir de litere prin care se precizeaz metoda de interpolare:
`nearest se atribuie valoarea funciei corespunztoare celui mai
apropiat nod de interpolare
`linear pe nodurile de interpolare se construiete o funcie spline
liniar pentru care se calculeaz valorile yi corespunztor punctelor de
intrare xi (metoda implicit);
`spline se utilizeaz aproximarea spline cubic pe nodurile x , y
Dac un element xi se afl n afara intervalului nodurilor de interpolare x
se aplic metoda specificat pentru extrapolare sau se utilizeaza funcia
interpl sub forma:
yi = interp1(x,Y,xi,method,extrapval)
n care yi pentru xi din afara intervalului de interpolare se atribuie
valoarea extrapval .
Exemplu 1. Metoda implicita : `linear
x = 0:10;
y = sin(x);
xi = 0:.25:10;
yi = interp1(x,y,xi);
plot(x,y,'o',xi,yi)
151
Exemplu 2 . Metoda `spline
x = 0:20;
y = cos(x);
xi = 0:.2:20;
yi = interp1(x,y,xi,spline);
plot(x,y,'o',xi,yi)
152
Cuadraturi numerice
Pentru aproximarea integralei definite
( )
b
a
f x dx
)
se utilizeaz funcia quad ;
q = quad(fun,a,b)
aproximeaz integrala funciei fun de la a la b cu o eroare de ordinul lui
10-6 utiliznd metoda de cuadratura a lui Simpson adaptiv.
Exemplu
>> P = quad('cos(x)',0,pi/4);
P = 0.7071
Sub forma
q = quad(fun,a,b,tol)
se utilizeaz eroarea de aproximare tol n locul celei implicite care este
1.0e-6.
153
O alt form
q = quad(fun,a,b,tol,trace)
realizeaz afisarea la fiecare pas a valorilor [nr_evaluari_ale_functiei a
, b-a, q]
>>SS = quad('sin(x)',0.0,10.0,0.01,1);
NR_EV a b-a q
5 0.0000000000 1.00000000e+001 3.7613187551
7 0.0000000000 5.00000000e+000 0.6970411903
9 0.0000000000 2.50000000e+000 1.8008605052
11 2.5000000000 2.50000000e+000 -1.0846352873
13 5.0000000000 5.00000000e+000 1.0924896452
15 5.0000000000 2.50000000e+000 -0.0629632340
17 7.5000000000 2.50000000e+000 1.1855204732
SS = 1.8388
>>SS = quad('sin(x)',0.0,10.0,0.001,1);
5 0.0000000000 1.00000000e+001 3.7613187551
7 0.0000000000 5.00000000e+000 0.6970411903
9 0.0000000000 2.50000000e+000 1.8008605052
11 0.0000000000 1.25000000e+000 0.6846762159
13 1.2500000000 1.25000000e+000 1.1164636596
15 2.5000000000 2.50000000e+000 -1.0846352873
17 2.5000000000 1.25000000e+000 0.0194157015
19 3.7500000000 1.25000000e+000 -1.1042192499
21 5.0000000000 5.00000000e+000 1.0924896452
23 5.0000000000 2.50000000e+000 -0.0629632340
25 7.5000000000 2.50000000e+000 1.1855204732
27 7.5000000000 1.25000000e+000 1.1274786602
29 8.7500000000 1.25000000e+000 0.0582257246
SS = 1.8391
Se observ diferenele ntre valorile obinute i numrul evaluarilor
funciei corespunztor toleranelor specificate.
154
Mathematica
Mathematica este un produs software realizat de WOLFRAM Research
Inc. Informaii se gasesc pe site-ul www.wolfram.com. Prima versiune a
aprut n 1988. Versiunea actuala Mathematica 5.1
Pentru interpolarea polinomiala Mathematica utilizeaza:
InterpolatingPolynomial[ ]
In primul caz valorile X sunt {1,2,3} iar cele ale lui Y {1,4,9}:
In[1]:=InterpolatingPolynomial[{1, 4, 9}, x]
Out[1]=1 + (-1 + x) (1 + x)
In al doilea exemplu se prezinta explicit nodurile de interpolare :
In[2]:=InterpolatingPolynomial[{{1, 7}, {1.5, 3}, {3, 3}, {4, 1}}, x]
Out[2]=7 + (-8. + (4. - 1.6 (-3 + x)) (-1.5 + x)) (-1 + x)
Polinomul de interpolare este prezentat n forma Newton.
Pentru metoda de cuadratur Newton-Cotes Mathematica prezint
funciile
NewtonCotesWeights[Numr_noduri, a, b]
returneaz perechile {x
i
, I
i
}
Se iniializeaz pachetul NumericalMath`NewtonCotes`
In[1]:= <<NumericalMath`NewtonCotes`
In[2]:= NewtonCotesWeights[5,-3,7]
Out[2]= ({{ -3 , 7/ 9}, { - 1 /2 , 32 /9}, {2, 4 /3}, {9 /2, 32 /9}, {7,
7 /9}} )
In[3]:= NewtonCotesError[5,f,-3,7]
Out[3]=
( 6)
15625
3024
f
Funcia NewtonCotesError[Numr_noduri, f, a, b] n care f este
funcia de integrat de clas (Numr_noduri+1) returneaz o evaluare
pentru eroarea de aproximare a integralei
Pentru integrarea unei functii interpolante se iniializeaz pachetul
NumericalMath`NIntegrateInterpolatingFunct
In[7]:= << NumericalMath`NIntegrateInterpolatingFunct`
Se interpoleaz funcia Sin[x] pe nodurile echidistante din intervalul [0,4]
cu pasul h=0.5;
155
In[10]:= f = Interpolation[Table[{x, Sin[x]}, {x, 0, 4, .5}]]
Out[10]= InterpolatingFunction[{{0., 4.}}, "<>"]
O evaluare a interpolantei f n x=1.25
In[11]:= r = f[1.25]
Out[11]= 0.947623 // Sin[1.25]= 0.948985
Se calculeaz integrala pe intervalul [0,2] a funciei [f(x
2
)]
2
In[12]:= NIntegrateInterpolatingFunction[f[x^2]^2, {x, 0, 2}]
Out[12]= 0.715792
m ={{1,1},{2,2}}
{r,q}=QRDecomposition[m]
Eigenvalues[m]
CholeskyDecomposition[h]
{u,sigma,v} = SingularValues[N[h]]
{l,r}=LUDecomposition[h]
m = {{a,b},{c,d}}
{{a,b},{c,d}}
m . {x,y} == {1,1}
{a x+b y,c x+d y}=={1,1}
Solve[ %,{x,y}]
{{ x -> -
b d
bc ad

+
, y-> -
a c
bc ad
+
+
}}
LinearSolve[m, {p,q}]
{
dp bq
bc ad

+
,
cp aq
bc ad

+
}
n=Inverse[m]
{{
d
bc ad +
,
b
bc ad

+
},{
c
bc ad

+
,
a
bc ad +
}}
f=m.n
{{
bc
bc ad

+
+
ad
bc ad +
, 0},{0,
bc
bc ad

+
+
ad
bc ad +
}}
Solve[x^2==0.5,x]
{{x ->0.707107},{x->0.707107}}
156
Multe din bibliotecile de mai sus sunt scrise n FORTRAN. Exist un
program f2c care transform fiierele FORTRAN n fiiere C. Prezentm
n continuare un exemplu de utilizare a acestui program. In stnga este
prezentat programul FORTRAN care calculeaz produsul scalar a doi
vectori iar n dreapta avem traducerea lui n C.
Utilizarea programului f2c
FORTRAN C
FUNCTION DOT(N,X,Y)
INTEGER N
REAL X(N),Y(N)
DOT = 0
DO 10 I = 1, N
10 DOT = DOT +
X(I)*Y(I)
END
/* dot.f -- translated by f2c (version
19950314).
You must link the resulting object file with
the libraries:
-lf2c -lm (in that order)
*/
#include "f2c.h"
doublereal dot_(n, x, y)
integer *n;
real *x, *y;
{
/* System generated locals */
integer i__1;
real ret_val;
/* Local variables */
static integer i;
/* Parameter adjustments */
--y;
--x;
/* Function Body */
ret_val = (float)0.;
i__1 = *n;
for (i = 1; i <= i__1; ++i) {
/* L10: */
ret_val += x[i] * y[i];
}
return ret_val;
} /* dot_ */
http://www.weihenstephan.de/~syring/f2c/f2c.html
http://cm.bell-labs.com/netlib/f2c/mswin/
157
Bibliografie
1. C. Ignat, C. Ilioi, T. Jucan, Elemente de informatic i calcul
numeric, vol. 1, Ed. Universitii Al.I.Cuza, Iai, 1987.
2. C. Ilioi, Analiz numeric, vol. 1i 2, Ed. Universitii
Al.I.Cuza, Iai, 1983.
3. T.A. Beu, Calcul numeric n C, Ed. Albastr, Cluj, 2000.
4. D. Larionescu, Metode numerice, Ed. Tehnic, Bucureti, 1989.
5. C. Berbente, S. Mitran, S. Zancu, Metode numerice, Ed.
Tehnic, Bucureti, 1997.
6. G. Dahlquist, . Bjrk, Numerical Methods, Prentice-Hall, 1974.
7. G. Golub, C.F. Van Loan, Matrix Computation, J. Hopkins Univ.
Press, 1986.
8. V. Ionescu, A. Varga, Teoria sistemelor, Ed. ALL, Bucureti,
1994.
9. I. Dragot, Metode de calcul numeric, Ed. Didactic i
Pedagogic, Bucureti,1998
10. B. Dumitrescu, C. Popeea, B. Jora, Metode de calcul numeric
matriceal. Algoritmi fundamentali, Ed. ALL, Bucureti, 1998.
11. P.G. Ciarlet, Introduction lanalyse numrique matricielle et
loptimisatio, Masson, Paris, 1982.
12. W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery,
Numerical Recipes in C - The art of scientific computing,
Cambridge University Press, 2002, ediia online.
Teme de laborator
Laboratorul nr. 1
1. S a se g aseasc a cel mai mic num ar pozitiv u > 0, de forma u = 10
m
,
astfel ca:
1.0 u = 1.0
unde prin am notat operat ia de adunare efectuat a de calculator.
Num arul u poart a numele de precizia masin a.
2. Fie numerele a = 1.0, b = u, c = u, unde u este precizia masin a
calculat a anterior. S a se verice c a operat ia de adunare efectuat a de
calculator nu este asociativ a, i.e.:
(a b) c = a (b c)
3. Aproximarea funct iilor sin si cos cu ajutorul dezvolt arii n serie Taylor:
sin x =

n=0
(1)
n
x
2n+1
(2n + 1)!
=

n=0
s
n
, s
n
=
(1)
n
x
2n+1
(2n + 1)!
(1)
cos x =

n=0
(1)
n
x
2n
(2n)!
=

n=0
t
n
, t
n
=
(1)
n
x
2n
(2n)!
(2)
Sumele de mai sus se folosesc doar pentru valori ale lui x [0, 2).
Pentru x [0, 2) se foloseste periodicitatea funct iilor sin si cos:
x = 2k + z , k Z , z [0, 2) , sin x = sin z , cos x = cos z

In continuare vom presupune c a x [0, 2). Funct iile sin si cos se


aproximeaz a astfel:
sin x S
N
=
N

n=0
s
n
, cos x T
N
=
N

n=0
t
n
158
Termenii s
n
si t
n
se calculeaz a folosind formulele de recurent a:
s
0
= x , s
n+1
=
x
2
(2n + 2)(2n + 3)
s
n
n = 0, 1, . . . , N 1
t
0
= 1 , t
n+1
=
x
2
(2n + 1)(2n + 2)
t
n
n = 0, 1, . . . , N 1
Cum alegem limita superioar a de sumare, num arul N? T in and cont
de primul exercit iu, vom opri sumarea atunci c and termenul s
n
/ t
n
devine sucient de mic:
|s
n
| , |t
n
| , = 10
p
u
reprezint a precizia cu care vrem s a aproxim am funct iile sin si cos si
este un num ar citit de la tastatur a si/sau este parametru de intarare a
funct iilor sin si cos:
double sin(double x, double ), double cos(double x,double ).
4. Proceduri de citire a vectorilor si a matricilor de la tastatur a, din sier
si automat (folosind funct ia rand) si proceduri de asare a vectorilor si
a matricilor.
159
Laboratorul nr. 2
Tema
1) Date n dimensiunea sistemului, - precizia calculelor, matricea A
R
nn
triunghiular a inferior sau superior, vectorul termenilor liberi b R
n
:
- s a se rezolve sistemul liniar Ax = b folosind metoda substitut iei (s a se
scrie cele dou a proceduri care implementeaz a metoda substitut iei directe si
inverse)
- s a se scrie procedurile de calcul a inversei matricilor triunghiulare.
2) Date n dimensiunea matricilor, matricile A, B R
nn
s a se scrie
proceduri de adunare, sc adere, nmult ire a matricilor.
Observat ie Precizia calculelor , este un num ar pozitiv de forma =
10
m
(cu m = 5, 6, ..., 10, ... la alegere) care este dat a de intrare n program
(se citeste de la tastatur a sau din sier) la fel ca si dimensiunea n a datelor.
Acest num ar se foloseste atunci c and test am dac a o variabil a este 0 sau
nu naintea unei operat ii de mp art ire. Dac a vrem s a efectu am operat ia de
mp art ire s = 1/v unde v R nu vom scrie:
if(v! = 0) s = 1/v;
else printf( nu se poate face impartirea);
ci vom scrie n program:
if(fabs(v) > eps) s = 1/v;
else printf( nu se poate face impartirea);
Metoda substitut iei
Fie sistemul liniar:
Ax = b (1)
unde matricea sistemului A este triunghiular a. Pentru a g asi solut ia unic a a
sistemului (1), trebuie ca matricea s a e nesingular a. Determinantul matri-
cilor triunghiulare este dat de folrmula:
det A = a
11
a
22
a
nn
Prin urmare pentru rezolvarea sistemului (1) vom presupunem c a:
det A = 0 a
ii
= 0 i = 1, 2, . . . , n
160
Vom considera nt ai cazul c and matricea A este inferior triunghiular a.
Sistemul (1) are forma:
a
11
x
1
= b
1
a
21
x
1
+ a
22
x
2
= b
2
.
.
.
a
i1
x
1
+ a
i2
x
2
+ + a
ii
x
i
= b
i
.
.
.
a
n1
x
1
+ a
n2
x
2
+ + a
ni
x
i
+ + a
nn
x
n
= b
i
Necunoscutele x
1
, x
2
, ..., x
n
se deduc folosind ecuat iile sistemului de la
prima c atre ultima.
Din prima ecuat ie se deduce x
1
:
x
1
=
b
1
a
11
(2)
Din a doua ecuat ie, folosind (2), obt inem x
2
:
x
2
=
b
2
a
21
x
1
a
22
C and ajungem la ecuat ia i:
a
i1
x
1
+ a
i2
x
2
+ + a
ii1
x
i1
+ a
ii
x
i
= b
i
folosind variabilele x
1
, x
2
,...,x
i1
calculate anterior, avem:
x
i
=
b
i
a
i1
x
1
a
ii1
x
i1
a
ii
Din ultima ecuat ie se deduce x
n
astfel:
x
n
=
b
n
a
n1
x
1
a
n2
x
2
a
nn1
x
n1
a
nn
Algoritmul de calcul a solut iei sistemelor (1) cu matrice inferior triunghi-
ular a este urm atorul:
x
i
=
(b
i

i1

j=1
a
ij
x
j
)
a
ii
, i = 1, 2, . . . , n 1, n (3)
161
Acest algoritm poart a numele de metoda substitut iei directe.
Vom considera, n continuare sistemul (1) cu matrice superior triunghiu-
lar a:
a
11
x
1
+ + a
1i
x
i
+ + a
1n1
x
n1
+ a
1n
x
n
= b
1
.
.
.
a
ii
x
i
+ + a
in1
x
n1
+ a
in
x
n
= b
i
.
.
.
a
n1n1
x
n1
+ a
n1n
x
n
= b
n1
a
nn
x
n
= b
n
Necunoscutele x
1
, x
2
,...,x
n
se deduc pe r and, folosind ecuat iile sistemului de
la ultima c atre prima.
Din ultima ecuat ie g asim x
n
:
x
n
=
b
n
a
nn
(4)
Folosnd valoarea lui x
n
dedus a mai sus, din penultima ecuat ie obt inem:
x
n1
=
b
n1
a
n1n
x
n
a
n1n1
C and ajungem la ecuat ia i:
a
ii
x
i
+ a
ii+1
x
i+1
+ + a
in
x
n
= b
i
se cunosc deja x
i+1
,x
i+2
,..., x
n
si deducem:
x
i
=
b
i
a
ii+1
x
i+1
a
in
x
n
a
ii
Din prima ecuat ie g asim valoarea lui x
1
:
x
1
=
b
1
a
12
x
2
a
1n
x
n
a
11
Procedeul descris mai sus poart a numele de metoda substitut iei inverse pentru
rezolvarea sistemelor liniare cu matrice superior triunghiular a:
x
i
=
(b
i

j=i+1
a
ij
x
j
)
a
ii
, i = n, n 1, . . . , 2, 1 (5)
162
Calculul inversei unei matrici triunghiulare
Pentru orice matrice A nesingular a pentru care avem o metod a de re-
zolvare a sistemului Ax = b, inversa se calculeaz a astfel:
coloana j (1 j n) a matricii A
1
se obt ine rezolv and sistemul:
Ax = e
j
(6)
unde e
j
este vectorul e
j
= (0, ...0, 1, 0, ..., 0)
T
unde 1 este plasat pe pozit ia
j din vector. Prin urmare, pentru a g asi inversa unei matrici triunghiulare
vom aplica metoda substitut iei de n ori.
Se va observa c a inversele matricilor triunghiulare sunt de asemenea ma-
trici triunghiulare.
163
Laboratorul nr. 3
Tema
Date: n - dimensiunea sistemului, - precizia calculelor, matricea sistemu-
lui A R
nn
,vectorul termenilor liberi b R
n
, s a se decid a dac a matricea A
este singular a sau nu si n caz c a matricea A este nesingular a s a se aproximeze
solut ia sistemului:
Ax = b. (1)
folosind algoritmul de eliminare Gauss cu pivotare part ial a.
Fie x
Gauss
solut ia aproximativ a calculat a. S a se verice solut ia as and :
|A
init
x
Gauss
b
init
|
A
init
si b
init
sunt datele init iale nu cele modicate pe parcursul algoritmului.
Algoritmul de eliminare Gauss
Ideea de rezolvare este de a transforma succesiv sistemul (1) folosind
operat ii elementare (ce nu modic a solut ia sistemului) si a aduce matricea A
la o form a superior triunghiular a . Algoritmul se desf asoar a in (n 1) pasi.
La un pas l oarecare se transform a coloana l a matricii A n form asuperior
triunghiular a f ar a a modica forma triunghiular a a primelor (l 1) coloane.
Pas l: Presupunem c a elementul de pe pozit ia (l, l) numit si element
pivot este nenul, a
ll
= 0. Pentru i = l +1, ..., n se inmult este linia l a matricii
A cu (a
il
/a
ll
) si se adun a la linia i. Schimbare se face si asupra componente
i a vectorului b. Matricea A si vectorul b se modic a astfel:
a

ij
= a
ij

a
il
a
ll
a
lj
, i = l + 1, n , j = l + 1, n (2)
b

i
= b
i

a
il
a
ll
b
l
, i = l + 1, n , (3)
a

il
= 0 , i = l + 1, n , (4)
a

ij
= a
ij
, b

i
= b
i
pentru restul indicilor i, j
164
Alegerea pivotului a
ll
= 0
Pentru a aduce pe pozit ia (l, l) un element nenul avem trei posibilit at i:
1. Varianta f ar a pivotare
Se alege primul indice i
0
{l, l +1, , n} astfel ca a
i
0
l
= 0. Se interschimb a
liniile i
0
si l ale matricii A si componentele i
0
si l ale vectorului b.
2. Varianta cu pivotare part ial a
Se alege indicele i
0
{l, l + 1, , n} astfel ca
|a
i
0
l
| = max{|a
il
|, i = l, n}.
Se interschimb a liniile i
0
si l ale matricii A si componentele i
0
si l ale vec-
torului b.
3. Varianta cu pivotare total a
Se aleg indicii i
0
, j
0
{l, l + 1, , n} astfel ca
|a
i
0
j
0
| = max{|a
ij
|, i = l, n, j = l, n}.
Se interschimb a liniile i
0
si l , coloanele j
0
si l ale matricii A si componentele
i
0
si l ale vectorului b.
Dac a dup a efectuarea pivot arii (indiferent de variant a ) elementul pivot
este nul (a
ll
= 0) atunci matricea A este singular a .
Obesrvat ii:
1)

In pasul Gauss l (2)+(3)+(4) calculele se pot efectua in matricea a


init ial a (a

= a).
2) Dac a pentru memorarea matricii A si a vectorului b se foloseste o
matrice cu n linii si (n + 1) coloane - vectorul b ind memorat n coloana
(n + 1) a matricii a calculele (3) sunt incluse in (2) pentru j = n + 1 ; se
simplic asi interschimbarea liniilor i
0
si l.
3) Dac a pivotul se alege folosind varianta 3., n nal trebuie s a avem grij a
sa restabilim ordinea init ial a a componentelor vectorului solut ie (t in and cont
de coloana j
0
a pivotului de la ecare pas).
165
Algoritmul :
l = 1;
cauta pivot;
interschimba linii; (daca e cazul)
while (l n 1) and (a
ll
) = 0) do
begin
(2)+(3)+(4);
l = l + 1;
cauta pivot;
interschimba linii; (daca e cazul)
end
if a
ll
= 0 then matrice singulara
else
begin
rezolva sistem superior triunghiular; (formulele (2))
verica solutie;
end
Vericarea solut iei
Folosind datele init iale (nu cele modicate pe parcursul algoritmului) se
calculeaz a si se aseaz a |A
init
x
Gauss
b
init
| unde A
init
si b
init
sunt matricea si
vectorul introduse init ial iar x
Gauss
este solut ia calculat a folosind algoritmul
de mai sus. In general |A
init
x
Gauss
b
init
| trebuie s a e de ordinul 10
p
cu
p > 4 dac a s-a lucrat corect (p depinde de n dimensiunea sistemului).
x R
n
, A R
nn
, y := Ax R
n
y = (y
i
)
n
i=1
, y
i
=
n

j=1
a
ij
x
j
, i = 1, . . . , n
z R
n
, z = (z
i
)
n
i=1
, |z| =

_
n

i=1
|z
i
|
2
166
Laboratorul nr. 4
Tema
Date: n - dimensiunea sistemului, - precizia calculelor, matricea sis-
temului A R
nn
, vectorul termenilor liberi b R
n
, s a se calculeze, c and
este posibil, o descompunere LU a matricii A (A = LU). Folosind aceast a
descompunere s a se calculeze determinantul matricii A (det A = det Ldet U)
si x
LU
o solut ie aproximativ a a sistemului Ax = b.
Pentru vericarea solut iei s a se aseze norma:
|A
init
x
LU
b
init
|
A
init
si b
init
sunt datele init iale nu cele modicate pe parcursul algoritmului.
Descompunere LU
Teorema
Fie A R
nn
o matrice real a p atratic a de dimensiune n astfel nc at
det A
k
= 0, k = 1, . . . , n, unde A
k
= (a
ij
)
i,j=1,...,k
. Atunci exist a o unic a
matrice inferior triunghiular a L = (l
ij
)
i,j=1,...,n
cu l
ii
= 1, i = 1, . . . , n si o
unic a matrice superior triunghiular a U = (u
ij
)
i,j=1,...,n
astfel nc at
A = LU (1)
(demonstrat ia se face prin induct ie dup a n dimensiunea matricii A)
Algoritmul Doolittle de calcul al descompunerii LU
Fie A R
nn
o matrice real a p atratic a de dimensiune n care satisface
ipotezele teoremei de mai sus. Algoritmul de calcul al matricilor L si U are
n etape. La ecare pas se determin a c ate o linie din matricea U si c ate o
coloan a din matricea L.
Pasul p (p = 1, 2, . . . , n)
Se determin a elementele liniei p ale matricii U , u
pi
, i = p, . . . , n, si ele-
mentele coloanei p ale matricii L, l
ip
, i = p + 1, . . . , n l
pp
= 1.
Sunt cunoscute de la pasii anteriori elementele primelor p 1 linii din U
(elemente u
kj
cu k = 1, . . . , p 1) si elementele primelor p 1 coloane din L
(elemente l
ik
cu k = 1, . . . , p 1).
167
Calculul elementelor liniei p din matricea U : u
pi
i = p, . . . , n
(u
pi
= 0, i = 1, . . . , p 1)
a
pi
=
n

k=1
l
pk
u
ki
= (l
pk
= 0, k = p + 1, . . . , n) =
=
p

k=1
l
pk
u
ki
= l
pp
u
pi
+
p1

k=1
l
pk
u
ki
Pentru i = p, . . . , n avem:
u
pi
= a
pi

p1

k=1
l
pk
u
ki
, i = p, . . . , n (2)
(l
pp
= 1 , l
pk
, u
ki
k = 1, . . . , p 1 sunt elemente de pe coloane din L si
linii din U calculate la pasii anteriori)
Calculul elementelor coloanei p din matricea L: l
ip
, i = p + 1, . . . , n
(l
ip
= 0 , i = 1, . . . , p 1 , l
pp
= 1)
a
ip
=
n

k=1
l
ik
u
kp
= (u
kp
= 0, k = p + 1, . . . , n) =
=
p

k=1
l
ik
u
kp
= l
ip
u
pp
+
p1

k=1
l
ik
u
kp
Dac a u
pp
= 0 putem calcula elementele nenule ale coloanei p a matricii L
astfel:
l
ip
= (a
ip

p1

k=1
l
ik
u
kp
)/u
pp
, i = p + 1, . . . , n (3)
(elementele l
pk
, u
ki
k = 1, . . . , p 1 sunt cunoscute deja la pasul p ind
calculate anterior)
Dac a u
pp
= 0, calculele se opresc, descompunerea LU nu poate calculat a
- matricea A are un minorant A
p
cu determinantul 0.
Observat ii:
1. Pentru memorarea matricilor L si U se poate folosi matricea A init ial a .
Vom folosi partea superior triunghiular a a matricii A pentru a memora
elementele u
ij
ale matricii U pentru i = 1, 2 . . . , n , j = i, i + 1 . . . , n
si partea strict inferior triunghiular a a matricii A pentru a memora
elementele l
ij
ale matricii L , i = 2, 3 . . . , n , j = 1, 2 . . . , i 1. Se
observ a c a nu am memorat nic aieri elementele l
ii
= 1 i = 1, . . . , n.
Vom t ine cont de acest lucru n calculele ulterioare. Calculele (2) si (3)
se pot face direct n matricea A.
168
2. Dac a pentru o matrice A avem descompunerea LU, rezolvarea sistemu-
lui Ax = b se reduce la rezolvarea a dou a sisteme triunghiulare:
Ax = b LUx = b
_
Ly = b,
Ux = y.
Se rezolv a nt ai sistemul inferior triunghiular Ly = b. Apoi se rezolv a
sistemul superior triunghiular Ux = y unde y este solut ia obt inut a
din rezolvarea sistemului precedent Ly = b. Vectorul x rezultat din
rezolvarea sistemului Ux = y este si solut ia sistemului init ial Ax = b.
169
Laboratorul nr. 5
Tema
Date: n - dimensiunea sistemului, - precizia calculelor, matricea sis-
temului A R
nn
,vectorul termenilor liberi b R
n
, s a se calculeze descom-
punerea QR a matricii A si dac a matricea sistemului A este nesingular a s a
se aproximeze solut ia sistemului:
Ax = b. (1)
folosind algoritmul Givens.
S a se aseze norma:
||A
init
QR||
unde A
init
este matricea init ial a iar Q R
nn
este matricea ortogonal a si
R R
nn
este matricea triunghiular a superior din descompunerea QR a
matricii A calculate cu algoritmul lui Givens.
Fie A o matrice real a p atratic a de dimensiune n. Presupunem c a pentru
matricea A avem o descompunere de forma:
A = Q R (2)
unde Q este o matrice ortogonal a (Q
T
Q = I) iar R este o matrice superior
triunghiular a. Av and o asemenea descompunere rezolvarea sistemului liniar
Ax = b se reduce la rezolvarea sistemului superior triunghiular Rx = Q
T
b
astfel:
Ax = b QRx = b Q
T
QRx = Q
T
b Rx = Q
T
b
Algoritmul lui Givens
Pentru a aduce sistemul Ax = b la forma Rx = Q
T
b se folosesc matricile de
170
rotat ie. O matrice de rotat ie R(p, q) = (r
ij
)
i,j=1,n
are urmatoarea form a :
R(p, q) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 0 0
0 1 0 0 0
.
.
.
0 0 c s 0
.
.
.
0 0 s c 0
.
.
.
0 0 0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
r
ij
=
_

_
1 pentru i = j, i = p si i = q
c pentru i = j, i = p si i = q
s pentru i = p, j = q
s pentru i = q, j = p
0 pentru restul indicilor i, j
unde p, q {1, . . . , n} iar c si s sunt dou a numere reale care satisfac relat ia
c
2
+ s
2
= 1 (c si s pot alesi astfel inc at c = cos t, s = sin t). Dup a cum
se observ a , matricea R(p, q) nu depinde doar de p si q ci depinde si de
parametrul t pe care l-am omis pentru a simplica notat ia.
Dac a inmult im la dreapta o matrice oarecare A cu o matrice de rotat ie
R(p, q), B = R(p, q)A, matricea rezultat se obt ine din matricea A astfel:
Not am cu A
i
, B
i
- linia i a matricii A respectiv a matricii B. Matricea B
are urmatoarele linii:
B
i
= A
i
liniile i = 1, . . . , n , i = p , i = q
B
p
= cA
p
+ sA
q
linia p
B
q
= sA
p
+ cA
q
linia q
Algoritmul se desfasoara n (n1) pasi - la pasul p se transform a coloana
p a matricii A n form a superior triunghiular a .
Pasul p
La acest pas se transform a matricea A astfel:
A

= R(p, n) R(p, p + 2)R(p, p + 1)A


b

= R(p, n) R(p, p + 2)R(p, p + 1)b


171
unde elementele c = c
i
si s = s
i
din R(p, i), i = p + 1, . . . , n se aleg astfel ca
dupa nmult irea cu R(p, i) elementul a
ip
s a devin a 0.
c = a
pp
/
_
a
2
pp
+ a
2
ip
s = a
ip
/
_
a
2
pp
+ a
2
ip
Dac a a
2
pp
+a
2
ip
= 0 acest lucru implic a faptul c a a
pp
= a
ip
= 0 , deci elementul
a
ip
este deja nul.

In acest caz putem lua c = 1, s = 0 - matricea de rotat ie
coincide cu matricea unitate I - nu se face nici o schimbare in matricea A.
a

= a; b

= b;
for i = p + 1, . . . , n
begin
r =
_
a
2
pp
+ a
2
ip
;
if r = 0 then c = 1, s = 0 (sau next i)
else c = a
pp
/r , s = a
ip
/r;
(se efectueaz a transformarea R(p, i) A )
(se modic a doar liniile p si i din matricea A)
for j = p + 1, . . . , n
begin
a

pj
= c a
pj
+ s a
ij
;
a

ij
= s a
pj
+ c a
ij
;
end
a
ip
= 0, a
pp
= r;
b

p
= c b
p
+ s b
i
;
b

i
= s b
p
+ c b
i
;
a = a

; b = b

;
end
Matricea Q din factorizarea QR pentru A este:
Q = R
T
(1, 2)R
T
(1, 3) R
T
(1, n)R
T
(2, 3) R
T
(2, n) R
T
(n 1, n)

In algoritmul Givens se poate calcula transpusa matricii Q:


Q
T
= R(n 1, n) R(2, n) R(2, 3)R(1, n) R(1, 2)
astfel:
172
la nceput se init ializeaz a Q
T
= I
la ecare pas p se efectueaz a asupra matricii Q
T
aceleasi transform ari ca
si
asupra matricii A;
Pasul p se modic a astfel:
a

= a; b

= b; q = q
T
;
for i = p + 1, . . . , n
begin
r =
_
a
2
pp
+ a
2
ip
;
if r = 0 then c = 1, s = 0 (sau next i)
else c = a
pp
/r , s = a
ip
/r;
for j = p + 1, . . . , n
begin
a

pj
= c a
pj
+ s a
ij
;
a

ij
= s a
pj
+ c a
ij
;
end
(se efectueaz a transformarea R(p, i) Q
T
)
for j = 1, . . . , n
begin
q
pj
= c q
T
pj
+ s q
T
ij
;
q
ij
= s q
T
pj
+ c q
T
ij
;
end
a

ip
= 0, a

pp
= r;
b

p
= c b
p
+ s b
i
;
b

i
= s b
p
+ c b
i
;
a = a

; b = b

; q
T
= q;
end
Dup a ce s-a adus matricea A la forma superior triunghiular a , se veric a
dac a nu este singular a (a
ii
= 0, i = 1, . . . , n) si apoi se rezolv a sistemul
superior triunghiular.
Vericarea descompunerii se face astfel:
Se aplic a algoritmul lui Givens astfel ca s a e construit asi matricea Q
T
apoi se calculeaz a matricea:
C = A
init
QR
173
si se aseaz a norma matricii C:
C R
nn
, C = (c
ij
)
n
i,j=1
, ||C|| = max{
n

i=1
|c
ij
| ; j = 1, . . . , n}
A, B R
nn
, P := A B R
nn
P = (p
ij
)
n
i,j=1
, p
ij
=
n

k=1
a
ik
b
kj
174
Laboratorul nr. 6
Tema
Date: n - dimensiunea sistemului, - precizia calculelor, matricea A
R
nn
s a se aproximeze inversa matricii A (dac a este nesingular a!!) utiliz and
metoda Gauss-Jordan.
S a se aseze norma:
||A
init
A
1
GJ
I
n
||
unde A
init
este matricea init ial a iar A
1
GJ
este inversa calculat a cu metoda
Gauss-Jordan. Pentru norma matricial a de mai sus se foloseste norma denit a
n laboratorul 4.
C R
nn
, C = (c
ij
)
n
i,j=1
, ||C|| = max{
n

i=1
|c
ij
| ; j = 1, . . . , n}.
Algoritmul Gauss-Jordan de inversare a unei matrici
Fie A o matrice real a p atratic a de dimensiune n.
Ax = y (Gauss-Jordan) x = A
1
y
_

_
y
1
= a
11
x
1
+ + a
1n
x
n
(1)
y
2
= a
21
x
1
+ + a
2n
x
n
(2)
.
.
.
y
n
= a
n1
x
1
+ + a
nn
x
n
(n)

In algoritmul Gauss-Jordan se procedeaz a astfel: se scoate x


1
dintr-una din
relat iile de la (1) la (n) si se nlocuieste n toate celelalte. Relat ia din care
s-a scos x
1
se aduce pe prima pozit ie. Se scoate x
2
din una din relat iile de
la (2) la (n), se aduce aceasta relat ie pe pozit ia a doua si se nlocuieste x
2
n toate celelate relat ii. ... Se repet a aceste operat ii p an a s-au nlocuit toate
variabilele x
i
. Se ajunge la un sistem de forma:
x = By

unde y

= P

y = A
1
= BP

(1)
(P

este o matrice de permut ari care reect a schimb arile de linii f acute)
Pasul p (p = 1, 2, . . . , n)
175
Vectorul reect a schimb arile de linii f acute p an a la acest pas. Init ial
(p = 1)
i
= i, i = 1, . . . , n. La acest pas sistemul are urm atoarea form a :
x
i
=
p1

j=1
a
ij
y

j
+ a
ip
x
p
+
n

j=p+1
a
ij
x
j
, i = 1, . . . , p 1
y
p
=
p1

j=1
a
pj
y

j
+ a
pp
x
p
+
n

j=p+1
a
pj
x
j
y

i
=
p1

j=1
a
ij
y

j
+ a
ip
x
p
+
n

j=p+1
a
ij
x
j
, i = p + 1, . . . , n
La acest pas se scoate x
p
dintr-una din relat ii si senlocuiesten toate celelate.
Pentru stabilitatea algoritmului, se caut a i
0
{p, . . . , n} astfel nc at:
|a
i
0
p
| = max{|a
ip
| ; i = p, . . . , n}
Dac a a
i
0
p
= 0 (|a
i
0
p
| ) atunci matricea A este singular a, inversa nu poate
calculat a.
Dac a a
i
0
p
= 0 (|a
i
0
p
| > ), se interschimb a linia p cu linia i
0
si se actualizeaz a
vectorul (
i
0

p
). Sistemul r am ane n continuare n aceeasi form a ca mai
sus. Avem:
x
p
= (
p1

j=1
a
pj
y

j
+ y
p

n

j=p+1
a
pj
x
j
)/a
pp

Inlocuind x
p
n celelalte (n 1) relat ii obt inem:
x
i
(i = 1, . . . , p 1) sau y

i
(i = p + 1, . . . , n) =
=
p1

j=1
a
ij
y

j
+
n

j=p+1
a
ij
x
j
+ a
ip
(
p1

j=1
a
pj
y

j
+ y
p

j=p+1
a
pj
x
j
)/a
pp
=
=
p1

j=1
(a
ij
a
ip
a
pj
/a
pp
)y

j
+ (a
ip
/a
pp
)y
p
+
n

j=p+1
(a
ij
a
ip
a
pj
/a
pp
)x
j
Sistemul a devenit :
x
i
=
p1

j=1
(a
ij

a
ip
a
pp
a
pj
)y

j
+
a
ip
a
pp
y
p
+
n

j=p+1
(a
ij

a
ip
a
pp
a
pj
)x
j
, i = 1, . . . , p 1
x
p
=
p1

j=1
a
pj
a
pp
y

j
+
1
a
pp
y
p

j=p+1
a
pj
a
pp
x
j
y

i
=
p1

j=1
(a
ij

a
ip
a
pp
a
pj
)y

j
+
a
ip
a
pp
y
p
+
n

j=p+1
(a
ij

a
ip
a
pp
a
pj
)x
j
, i = p + 1, . . . , n
176
La pasul p matricea A se transform a n matricea A

astfel:
Pentru i = 1, . . . , n , i = p
a

ij
= a
ij

a
ip
a
pp
a
pj
, j = 1, . . . , n , j = p
a

ip
=
a
ip
a
pp
Pentru i = p
a

pj
=
a
pj
a
pp
, j = 1, . . . , n , j = p
a

pp
=
1
a
pp
Calculele se pot face la ecare pas p n matricea A, f ar a a mai folosi matricea
auxiliar a A

. La nal (dup a efectuarea pasului n) n matricea A vom avea


matricea B din formula (1).
Matricea P

are forma:
P

=
_
_
_
_
_
_
_
_
_
_
_
_
_
e
T

1
e
T

2
.
.
.
e
T
n
_
_
_
_
_
_
_
_
_
_
_
_
_
= (e

1
e

2
e
n
)
unde e
T

i
= (0, 0, . . . , 1, . . . , 0) (1 este pe pozit ia
i
). Permutarea este inversa
permut arii , =
1
.
Pentru a obt ine matricea A
1
trebuie s a facem operat ia BP

. Nu este
nevoie s a se fac a o nmult ire matricial a ci pentru a obt ine matricea A
1
se
amestec a coloanele matricii B conform cu permutarea .
A
1
= BP

= (Be

1
Be

2
Be
n
)
unde Be

i
este coloana
i
a matricii B si n acelasi timp coloana i a matricii
A
1
.
177
Laboratorul nr. 7
Tema
Date n dimensiunea sistemului, n 500, - precizia calculelor, vectorul
termenilor liberi b R
n
:
- s a se construiasc a o matrice rar a A R
nn
si s a se memoreze folosind
una din cele 2 variante economice de memorare. Presupunem c a matricea A
are 5 elemente nenule pe ecare linie cu except ia celui diagonal iar elementul
diagonal este suma acestor elemente nenule de pe ecare linie:
a
ii
=
n

j = 1
a
ij
= 0
a
ij
, i = 1, . . . , n
- cu aceast a memorare economic aa matricii A, s a se aproximeze solut ia
sistemului liniar:
Ax = b (1)
folosind metodele Jacobi si Gauss-Seidel.
- s a se verice solut ia as and :
|Ax
J
b
init
| sau |Ax
GS
b
init
|
unde x
J
si x
GS
sunt aproxim arile solut iei obt inute cu algoritmul Jacobi re-
spectiv Gauss-Seidel.
Presupun and ca detA = 0. Vom nota solut ia exact a a sistemului (1) cu
x

.
x

:= A
1
b
Metode iterative de rezolvare a sistemelor liniare
Metodele iterative au fost deduse pentru sisteme liniare de dimensiuni
mari (n mare) iar matricea sistemului, A, este matrice rar a (are put ine
elemente a
ij
nenule).

In cazul metodelor iterative matricea A nu se trans-
form a (ca n cazul algoritmului de eliminare Gauss sau descompunerilor LU
sau a factoriz arilor QR) ci sunt folosite doar elementele nenule ale matricii
178
pentru aproximarea solut iei x

(pentru matricile rare se folosesc scheme de


memorare economice specice).
Pentru a aproxima solut ia x

se construieste un sir de vectori {x


(k)
} R
n
care (n anumite condit ii) converge la solut ia exact a x

a sistemului (1).
x
(k)
x

, pentru k
.
Metode de construct ie a sirului x
(k)
Vom presupune c atoate elementele diagonale ale matricii A sunt nenule:
a
ii
= 0 , i = 1, . . . , n.
Sirul {x
(k)
} se construieste pornind de la un vector init ial dat x
(0)
iar apoi
x
(k+1)
se obt ine din vectorul precedent x
(k)
:
Vectorul x
(0)
se obisnuieste s a se init ializeze cu 0:
x
(0)
i
= 0 , i = 1, . . . , n
Se descompune matricea A astfel:
A = B C, cu B matrice usor inversabil a
Sistemul devine:
Ax = b Bx Cx = b Bx = Cx + b x = B
1
Cx + B
1
b
Se consider a sirul:
x
(k+1)
= Mx
(k)
+ d, unde M = B
1
C si d = B
1
b , x
(0)
ales arbitrar
Sirul x
(k)
astfel construit converge (atunci c and converge, limita este chiar x

solut ia sistemului (1)) dac a si numai dac a raza spectral a a matricii M este
strict mai mic a dec at 1. Raza spectral a a unei matrici, (M), se deneste ca
ind cea mai mare valoare proprie in modul:
(M) = max{|
i
|;
i
valoare proprie a matricii M, i = 1, . . . , n}
179
Metoda lui Jacobi
Presupunem c a a
ii
= 0, i = 1, . . . , n.

In acest caz, matricea B este matrice
diagonal a, B = diag[a
11
, a
22
, . . . , a
nn
], C = B A.
Pentru i = 1, . . . , n
x
(k+1)
i
= (b
i

j=1,j=i
a
ij
x
(k)
j
)/a
ii
Metoda Gauss-Seidel
Presupunem c a a
ii
= 0, i = 1, . . . , n. Matricea B este matrice inferior
triunghiular a, B = partea inferior triunghiular a a matricii A = (b
ij
), b
ij
= 0
pentru j > i , b
ij
= a
ij
, pentru j i , C = B A = (c
ij
), c
ij
= 0 pentru
j i, c
ij
= a
ij
, pentru j > i.
Pentru i = 1, . . . , n
x
(k+1)
i
= (b
i

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j
)/a
ii
Dac a matricea A are diagonala dominant a n raport cu liniile matricii:
|a
ii
| >
n

j=1,j=i
|a
ij
| , pentru tot i i = 1, . . . , n
sirul {x
(k)
} converge la solut ia x

. Pentru metodele iterative convergent a sau


divergent a sirului x
(k)
nu depinde de alegerea iterat iei init iale x
(0)
.
Pentru a aproxima x

trebuie s a calcul am un x
(k)
cu k sucient de mare.
Se stie c a, dac a diferent a dintre dou a iterat ii succesive este sucient de mic a
atunci ultimul vector calculat este aproape de solut ia exact a c autat a:
|x
(k)
x
(k1)
| |x
(k)
x

| c , c R (2)
Pentru a aproxima x

nu este nevoie s a memor am tot sirul de vectori x


(k)
ci doar pe ultimul, cel care satisface relat ia (2). Prin urmare nu avem nevoie
n program dec at de doi vectori, x
c
si x
p
:
x
c
;x
(k+1)
, x
p
;x
(k)
Pentru metodele de la 1) la 9) se poate folosi un singur vector x = x
c
= x
p
.
180
Schem a de implementarea a unei metode iterative
x
c
= x
p
= 0 ; k = 0 ;
do
{
x
p
= x
c
;
calculeaz a noul x
c
(cu una din formulele de mai sus) ;
calculeaza x = |x
c
x
p
| ;
k=k+1;
}
while (x si k k
max
si x 10
8
)
if ( x < ) x
c
x

;
else divergent a ;
Memorarea/stocarea matricilor rare
Pentru matricile rare se memoreaz a doar elementele nenule ale matricii
A si informat ii privind indicii de linie si coloan a ale respectivelor elemente
astfel nc at s a putem reface matricea n forma clasic a.
Vom nota cu NN num arul de elemente nenule ale matricii A. Vom memora
separat diagonala matricii A ntr-un vector diag:
diag
i
= a
ii
, i = 1, . . . n
Prezent am n continuare dou a variante de memorare rar a a matricilor cu
put ine elemente nenule.

In ambele cazuri, elementele nenule se vor memora
n ordinea liniilor.
Varianta 1:
Matricea A se memoreaz a folosind 4 vectori:
diag (cu n elemente, memoreaz a diagonala matricii A),
valori (cu NN n componente numere reale nenule),
indici coloana (cu NN n componente numere naturale),
inceput linie (cu n + 1 componente numere naturale)
valori - cont ine valorile nenule ale matricii An ordinea liniilor (cu except ia
elementelor diagonale)
indici coloana - cont ine indicii de coloan a ai elementelor corespunz atoare din
valori
181
inceput linie - pozit ia (indicele) n vectorul valori a primului element nenul
de pe linia i
(Vom pune inceput linie[n + 1] = NN n + 1)
inceput linie[i+1] - inceput linie[i] = num arul de elemnte nenule de pe linia
i (cu except ia celui diagonal)
Varianta 2:
Matricea A se memoreaz a folosind 3 vectori:
diag (cu n elemente, cont in and diagonala matricii A),
valori, indici coloana
valori - cont ine valorile a
ij
nenule ale matricii An ordinea liniilor + elemente
false (egale cu 0)care marcheaz a sf arsitul/nceputul unei noi linii.
indici coloana - cont ine indicii de coloan a ai elementelor corespunz atoare din
valori + elemente false care marcheaz a sf arsitul/ nceputul unei noi linii
valori[k] = 0 marcheaz a sf arsitul unei linii si nceputul liniei care ncepe la
pozit ia k + 1 n vectorul valori
ind col[k] = indicele liniei care ncepe de la pozit ia k + 1
Exemplu
Fie matricea A R
5
:
A =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
15.3 0 3.2 0 0
1.4 10.2 1.05 0 0.33
0 0 20.3 0 0
0 1.3 0 2.45 0
0.73 0 0 1.5 25.4
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Varianta 1 de memorare:
diag = {15.3 , 10.2 , 20.3 , 2.45 , 25.4}
valori = {3.2 , 1.4 , 1.05 , 0.33 , 1.3 , 0.73 , 1.5}
indici coloana = {3 , 1 , 3 , 5 , 2 , 1 , 4}
inceput linie = {1 , 2 , 5 , 5 , 6 , 8}
182
Varianta 2 de memorare:
diag = {15.3 , 10.2 , 20.3 , 2.45 , 25.4}
valori = {0.0 , 3.2 , 0.0 , 1.4 , 1.05 , 0.33 , 0.0 , 0.0 , 1.3 , 0.0 ,
0.73 , 1.5}
indici coloana = {1 , 3 , 2 , 1 , 3 , 5 , 3 , 4 , 2 , 5 , 1 , 4}
Fie:
x
(0)
=
_
_
_
_
_
_
_
_
1.0
2.0
3.0
4.0
5.0
_
_
_
_
_
_
_
_
, b =
_
_
_
_
_
_
_
_
5.0
4.0
3.0
2.0
1.0
_
_
_
_
_
_
_
_
Vom calcula x
(1)
1
si x
(1)
2
cu varianta 1, varianta 2 si varianta clasic a pentru
metoda Gauss-Seidel (metoda 9)).
x
(1)
1
= varianta clasic a
= (5.0 0.0 2.0 3.2 3.0 0.0 4.0 0.0 5.0)/15.3
= varianta 1
= (b
1
valori[1] x
(0)
indici coloana[1]
)/diag
1
= (5.0 3.2 3.0)/15.3
= varianta 2
= (b
1
valori[2] x
(0)
indici coloana[2]
)/diag
1
= (5.0 3.2 3.0)/15.3
183
x
(1)
2
= varianta clasic a
= (4.0 1.4 x
(1)
1
1.05 3.0 0.0 4.0 0.33 5.0)/10.2
= varianta 1
= (b
2
valori[2] x
(1)
indici coloana[2]
valori[3] x
(0)
indici coloana[3]

valori[4] x
(0)
indici coloana[4]
)/diag
2
= (4.0 1.4 x
(1)
1
1.05 3.0 0.33 5.0)/10.2
= varianta 2
= (b
2
valori[4] x
(1)
indici coloana[4]
valori[5] x
(0)
indici coloana[5]

valori[6] x
(0)
indici coloana[6]
)/diag
2
= (4.0 1.4 x
(1)
1
1.05 3.0 0.33 5.0)/10.2
184
Laboratorul nr. 8
Tema
Date n dimensiunea matricii A, - precizia calculelor, matricea simetric a
A R
nn
, A = A
T
, sa se aproximeze valorile proprii ale matricii A folosind
metoda Jacobi.
Metoda lui Jacobi pentru aproximarea valorilor proprii ale
matricilor simetrice
Fie A R
nn
o matrice real a de dimensiune n. Se numesc valori pro-
prii asociate matricii A, numerele complexe C, r ad acinile polinomului
caracteristic:
p
A
() = det(I A) = 0
Pentru a aproxima valorile proprii ale unei matrici se foloseste relat ia de
asem anare. Dou a matrici A si B se numesc asemenea (A B) dac a exist a
o matrice nesingular a P astfel nc at A = PBP
1
( B = P
1
AP). Se
observ a c a dac a A B atunci si B A. Relat ia de asem anare se foloseste
n algoritmii de aproximare a valorilor proprii deoarece matricile asemenea
au acealasi polinom caracteristic (p
A
() p
B
()) si n consecint a au aceleasi
valori proprii.
Fie A R
nn
o matrice simetric a (A = A
T
) . Matricile simetrice au
toate valorile proprii reale.
Ideea algoritmului lui Jacobi este de a construi un sir de matrici simetrice,
asemenea cu matricea init ial a , sir care convearge la o matrice diagonal a.
Matricea diagonal a limit a va asemenea cu matricea init ial a A si prin urmare
pe diagonala acestei matricii limit a vom g asi valorile proprii c autate.
Construct ia sirului de matrici
Sirul de matrici {A
(k)
} R
nn
se construieste stfel:
A
(0)
= A , A
(k+1)
= R
pq
()A
(k)
R
T
pq
()
unde R
pq
() sunt matrici de rotat ie.
185
indicii (p, q) sunt alesi ca ind indicii celui mai mare element nediag-
onal luat n valoare absolut a din matrice:
|a
(k)
pq
| = max{|a
(k)
ij
|; i = 1, . . . , n , j = 1, . . . , n, i = j} = (A = A
T
) =
= max{|a
(k)
ij
|; i = 2, . . . , n , j = 1, . . . , i 1}
(1)
(din cauza simetriei sirului de matrici, se poate cauta elementul a
(k)
pq
de
mai sus doar n partea strict inferior triunghiular a a matricii A
(k)
)
unghiul (c = cos , s = sin , t = tg) este ales astfel ca elementele
(p, q) si (q, p) ale matricii A
(k+1)
s a devin a zero, i.e.,
a
(k+1)
pq
= a
(k+1)
qp
= 0.
Schema algoritmului
k = 0;
calculeaz a indicii p si q (vezi (1)) ;
calculeaz a unghiul , adic a c, s si t;
while (A = matrice diagonal a si k k
max
)
{
A = R
pq
() AR
T
pq
() ;
( a se vedea formulele (5) de mai jos )
calculeaz a indicii p si q (vezi (1));
calculeaz a unghiul , adic a c, s si t ;
( a se vedea formulele (3) si (4) de mai jos )
k = k + 1;
}
186
Pasul k al algoritmului
La acest pas se constrieste matricea B pornind de la matricea A astfel:
B = R
pq
() A R
T
pq
()
Trecerea de la matricea A la matricea B se face dup a urm atoarele formule:
_

_
b
pj
= b
jp
= c a
pj
+ s a
qj
, j = 1, 2, . . . , n, j = p, j = q
b
qj
= b
jq
= s a
pj
+ c a
qj
, j = 1, 2 . . . , n, j = p, j = q
b
pp
= c
2
a
pp
+ s
2
a
qq
+ 2 c s a
pq
b
qq
= s
2
a
pp
+ c
2
a
qq
2 c s a
pq
b
pq
= b
qp
= (c
2
s
2
) a
pq
+ c s (a
qq
a
pp
)
b
ij
= a
ij
n rest
(2)
Pentru a deduce unghiul se impune condit ia b
pq
= b
qp
= 0, adic a :
(c
2
s
2
)a
pq
+ c s (a
qq
a
pp
) = 0
de unde rezult a :
= cotg(2) =
(a
pp
a
qq
)
2a
pq
Dac a not am cu t = tg avem:
cotg(2) =
(1 t
2
)
2t
rezult a c a t satisface ecuat ia:
t
2
+ 2t 1 = 0
deci
t = + (
2
+ 1)
1/2
sau t = (
2
+ 1)
1/2
.
Dintre cele dou a valori de mai sus ale lui t se alege r ad acina de modul
minim ( [0, /4]):
t = + semn()

2
+ 1 =
_

_
+

2
+ 1 dac a 0

2
+ 1 dac a < 0
(3)
187
Avem
c =
1

1 + t
2
, s =
t

1 + t
2
(4)
Cazul a
pq
= 0
T in and cont c a a
pq
este cel mai mare element nediagonal n valoare ab-
solut a, cazul a
pq
= 0 nseamn a c a matricea A la care s-a ajuns, este matrice
diagonal a, algoritmul oprindu-se n aceast a situat ie - pe diagonala matricii
A se g asesc aproxim arile valorilor proprii c autate. Prin urmare testul:
A = matrice diagonal a
din schema algoritmlui de mai sus se poate nlocui cu testul:
|a
pq
| >
unde este precizia calculelor.
Se observ a c a:
b
pp
a
pp
= s
2
(a
qq
a
pp
) + 2c s a
pq
= 2s (c s)a
pq
=
= 2s [c (c
2
s
2
)s/(2c s)]a
pq
= t a
pq
La fel se deduce c a :
b
qq
a
qq
= t a
pq
La pasul k operat ia A = R
pq
() AR
T
pq
() se poate face astfel astfel:
a
pj
= c a
pj
+ s a
qj
, j = 1, 2, . . . , n, j = p , j = q,
a
qj
= a
jq
= s a
jp
+ c a
qj
, j = 1, 2 . . . , n, j = p , j = q,
a
jp
= a
pj
, j = 1, 2 . . . , n, j = p , j = q,
a
pp
= a
pp
+ t a
pq
a
qq
= a
qq
t a
pq
a
pq
= a
qp
= 0
(5)
188
Observat ie: Matricea A ind simetric a se poate memora ntr-un vector
v de dimensiune
n(n + 1)
2
.

In acest fel se memoreaz a doar partea inferior
triunghiular a a matricii. Vectorul v va cont ine elementele:
v : a
11
, a
21
, a
22
, . . . , a
r1
, a
r2
, . . . , a
rr
, . . . , a
n1
, a
n2
, . . . , a
nn
restul elementelor din matricea A se reg asesc din relat ia de simetrie:
a
ij
= a
ji
Exemple
A =
_
_
_
0 0 1
0 0 1
1 1 1
_
_
_ are valorile proprii
1
= 1 ,
2
= 0 ,
3
= 2
A =
_
_
_
1 1 2
1 1 2
2 2 2
_
_
_ are valorile proprii
1
= 0 ,
2
= 2(1

2) ,
3
= 2(1+

2)
A =
_
_
_
_
_
1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1
_
_
_
_
_
are valorile proprii
1
=
2
= 0 ,
3
=
4
= 2
A =
_
_
_
_
_
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
_
_
_
_
_
are valorile proprii
1
=
2
= 0 ,
3,4
= 2(4

21)
189
Laboratorul nr. 9
Tema
Date n - gradul polinomului, - precizia calculelor, polinomul P de grad n:
P(x) = a
0
x
n
+a
1
x
n1
+ +a
k
x
nk
+ +a
n1
x+a
n
, a
i
R i , a
0
= 0
(pentru polinomul P se dau cei n + 1 coecient i reali a
i
, i = 0, . . . , n) s a se
aproximeze toate r ad acinile reale folosind metoda lui Laguerre. De c ate ori
este necesar a calcularea valorii unui polinom ntr-un punct oarecare se va
folosi schema lui Horner.
Metoda Laguerre de aproximare a radacinilor reale ale unui
polinom
Fie P un polinom de grad n:
P(x) = a
0
x
n
+ a
1
x
n1
+ + a
n
, (a
0
= 0) (1)
Toate r ad acinile reale ale polinomului P se a a n intervalul [R, R] unde R
este dat de:
R =
|a
0
| + A
|a
0
|
, A = max{|a
i
| ; i = 1, n} (2)
Schema lui Horner de calcul a valorii P(x
0
)
Un mod ecient de a calcula valoarea polinomului P ntr-un punct x
0
R
oarecare este dat de metoda lui Horner:
b
0
= a
0
,
b
i
= a
i
+ b
i1
x
0
, i = 1, n
(3)

In sirul de mai sus:


P(x
0
) := b
n
iar ceilalt i termeni b
i
calculat i, sunt coecient ii polinomului c at, Q, din
mp art irea cu rest:
P(x) = (x x
0
)Q(x) + r ,
Q(x) = b
0
x
n1
+ b
1
x
n2
+ b
n2
x + b
n1
,
r = b
n
= P(x
0
).
(4)
190
Pentru a calcula P(x
0
) (b
n
) cu formulele (3) se poate folosi o singur a
valoare real a b R si nu un vector b R
n
.
Metoda Laguerre
Pentru a aproxima o r ad acin a real a x

(din intervalul [-R, R]) a polinomului


P denit de (1), se construieste un sir de numere reale, {x
k
}, care converge
la r ad acina x

[R, R] c autat a (x
k
x

pentru k ) .
Pornind cu x
0
o valoare real a dat a, sirul {x
k
} se construieste astfel (x
k+1
se calculeaz a din x
k
):
x
k+1
= x
k

nP(x
k
)
P

(x
k
) + semn( P

(x
k
) )
_
H(x
k
)
, k = 0, 1, . . .
x
k+1
= x
k
x
k
( x
k
=
nP(x
k
)
P

(x
k
) + semn( P

(x
k
) )
_
H(x
k
)
)
H(x
k
) = (n 1)
2
[P

(x
k
)]
2
n(n 1)P(x
k
)P

(x
k
)
(5)
Prin P

si P

am notat prima si respectiv a doua derivat a a polinomului P.


Pentru x R funct ia semn(x) se deneste astfel:
semn(x) =
_
1 dac a x 0
1 dac a x < 0
Observat ie importanta: Alegerea iterat iei init iale, x
0
, poate determina
convergent a sau divergent a sirului x
k
la x

. De obicei, o alegere a iterat iei


init iale x
0
n vecin atatea lui x

asigur a convergent a x
k
x

pentru k .
Nu este nevoie de memorat ntreg sirul {x
k
} ci doar ultimul element x
k
0
calculat. Se consider a c a o valoare x
k
0
x

(este ultimul element calculat)


atunci c and diferent a dintre dou a iterat ii succesive devine sucient de mic a,
i.e.,
|x
k
0
x
k
0
1
| <
191
unde este precizia cu care vrem s a aproxim am solut ia x

. Prin urmare,
o schem a posibil a de aproximare a solut iei x

cu metoda lui Laguerre este


urm atoarea:
Metoda lui Laguerre
x = (x
0
) = ales aleator ; k=0 ;
(pentru convergent a sirului {x
k
} este de preferat de
ales iterat ia init ial a x
0
n vecin atatea solut iei c autate )
do
{
calculeaz a x din formula (5) ;
if ( H(x) < 0 ) EXIT;
(se poate ncerca schimbarea iterat iei init iale x
0
)
if ( numitorul din x este n [-, ]) EXIT;
(se poate ncerca schimbarea iterat iei init iale x
0
)
x = x x;
k=k+1;
}
while (|x| si k k
max
si |x| 10
8
)
if ( |x| < ) x
k
x

;
else divergent a ; (de ncercat schimbarea lui x
0
)
Gasirea altor radacini reale ale polinomului P
Dup a ce a fost g asit a o aproximare x (ultimul x
k
calculat n schema
descris a mai sus) a unei r ad acini x

a polinomului P, se mparte polinomul


P la (x x) (vezi formula (4)) si se reia procedeul Laguerre cu P := Q
(Q ind restul mp art irii lui P la (x x)). Coecient ii polinomului Q se
calculeaz a folosind formulele (3).
192
Exemple
P(x) = (x 1)(x 2)(x 3) = x
3
6x
2
+ 11x 6 ,
a
0
= 1.0 , a
1
= 6.0 , a
2
= 11.0 , a
3
= 6.
P(x) = (x
2
3
)(x
1
7
)(x + 1)(x
3
2
)
=
1
42
(42x
4
55x
3
42x
2
+ 49x 6)
P(x) = (x 1)(x
1
2
)(x 3)(x
1
4
)
=
1
8
(8x
4
38x
3
+ 49x
2
22x + 3)
P(x) = (x 1)
2
(x 2)
2
= x
4
6x
3
+ 13x
2
12x + 4
193
Laboratorul nr. 10
Tema
Date n + 1 puncte, x
0
, x
1
, . . ., x
n
(x
i
R i) si cele n + 1 valori ale
unei funct ii necunoscute f n aceste puncte, y
0
= f(x
0
), y
1
f(x
1
), . . .,
y
n
= f(x
n
), s a se aproximeze f( x) pentru un x dat, x = x
i
, i = 0, . . . , n,
folosind polinomul de interpolare Lagrange forma Newton (diferent ele di-
vizate se calculeaz a folosind schema lui Aitken) si funct iile spline cubice de
clas a C
2
(cunostem n plus despre funct ia f valorile u = f

(a) si v = f

(b)).
Interpolare numerica
Cunosc and valorile unei funct ii ntr-un num ar nit de puncte, x
0
, x
1
, . . . , x
n
s a se aproximeze valoarea funct iei respectiventr-un alt punct x = x
i
, i = 0, n.
x x
0
x
1
x
n
f y
0
y
1
y
n
Dat x = x
i
s a se aproximeze f( x). Pentru a aproxima f( x) se construieste o
funct ie elementar a S(x) care satisface S(x
i
) = y
i
, i = 0, n. Valoarea aprox-
imativ a pentru f( x) este S( x). Consider am dou a moduri de construct ie a
funct iei S: polinom de grad n (polinomul de interpolare Lagrange) si funct ie
polinomial a de grad 3 pe port iuni (funct ie spline cubic a).
Polinomul de interpolare Lagrange
Unicul polinom de grad n, L
n
, ce satisface relat ia de interpolare:
L
n
(x
i
) = y
i
, i = 0, n
poate scris n mai multe feluri. O prim a form a este urm atoarea:
L
n
(x) =
n

i=0
_
y
i
n

j=0,j=i
x x
j
x
i
x
j
_
O a doua form a este forma Newton a polinomului de interpolare Lagrange:
L
n
(x) = y
0
+ [x
0
, x
1
]
f
(x x
0
) + [x
0
, x
1
, x
2
]
f
(x x
0
)(x x
1
) +
+[x
0
, . . . , x
n
]
f
(x x
0
)(x x
1
) (x x
n1
)
194
Aceast a form a are avantajul c a dac a se mai adaug am un nod (x
n+1
, y
n+1
)
valoarea polinomului Lagrange L
n+1
se calculeaz a simplu din L
n
astfel:
L
n+1
(x) = L
n
(x) + [x
0
, . . . , x
n+1
]
f
(x x
0
)(x x
1
) (x x
n
)
Coecient ii:
[x
0
, x
1
, ..., x
k
]
f
=
k

i=0
y
i
k

j=0,j=i
(x
i
x
j
)
se numesc diferent e divizate de ordin k ale funct iei f pe nodurile x
0
, . . . , x
k
.
Calculul diferent elor divizate este mai economic din punct de vedere numeric
dac a se foloseste denit ia recursiv a:
[x
0
, x
1
]
f
=
y
1
y
0
x
1
x
0
, [x
0
, x
1
, x
2
]
f
=
[x
2
, x
1
]
f
[x
1
, x
0
]
f
x
2
x
0
[x
0
, ..., x
k+1
]
f
=
[x
k+1
, . . . , x
1
]
f
[x
k
, . . . , x
0
]
f
x
k+1
x
0
Schema lui Aitken de calcul a diferent elor divizate:
Schema lui Aitken este un procedeu rapid, n n pasi, de calcul a diferent elor
divizate necesare construirii polinomului Lagrange n forma Newton. Modul
de calcul este ilustrat n tabelul de mai jos:
Pas 1 Pas 2 Pas n
x
0
y
0
x
1
y
1
[x
0
, x
1
]
f
x
2
y
2
[x
1
, x
2
]
f
[x
0
, x
1
, x
2
]
f
x
3
y
3
[x
2
, x
3
]
f
[x
1
, x
2
, x
3
]
f
.
.
.
x
n1
y
n1
[x
n2
, x
n1
]
f
[x
n3
, x
n2
, x
n1
]
f
x
n
y
n
[x
n1
, x
n
]
f
[x
n2
, x
n1
, x
n
]
f
[x
0
, ..., x
n
]
f
La pasul k se calculeaz a diferent ele divizate de ordin k:
[x
0
, x
1
, . . . , x
k
]
f
, [x
1
, x
2
, . . . , x
k+1
]
f
, . . . , [x
nk
, . . . , x
n
]
f
195
folosind doar diferent lele divizate de la pasul anterior si nodurile x
i
. La ecare
pas, calculele se pot face n acelasi vector y. Dup a calcularea diferent elor
divizate de ordin k (pasul k) vectorul y are urm atoarea structur a:
y = (y
0
, [x
0
, x
1
]
f
, [x
0
, x
1
, x
2
]
f
, . . . , [x
0
, x
1
, . . . , x
k
]
f
, . . . , [x
nk
, . . . , x
n
]
f
)
Dup a pasul n vectorul y va cont ine toate diferemt ele divizate de care avem
nevoie pentru a calcula L
n
:
y = (y
0
, [x
0
, x
1
]
f
, [x
0
, x
1
, x
2
]
f
, . . . , [x
0
, x
1
, . . . , x
n1
]
f
, [x
0
, x
1
, . . . , x
n
]
f
)
Valoarea funct iei f n punctul x se va aproxima prin L
n
( x).
Funct ii spline cubice de clasa C
2
Fie a = x
0
< x
1
< < x
n
= b. Dat x [a, b] s a se aproximeze f( x)
cunosc and n afara celor n + 1 valori y
i
si valorile u,v, ale derivatei funct iei
f n a si b:
f

(a) = u , f

(b) = v.
Se caut a o funct ie S
f
de clas a C
2
pe [a, b] astfel nc at:
S
f
(x) = a
i
x
3
+ b
i
x
2
+ c
i
x + d
i
, pentru x [x
i
, x
i+1
], i = 0, n 1
S
f
(x
i
) = y
i
, i = 0, n , S

f
(a) = f

(a) = u , S

f
(b) = f

(b) = v
Funct ia S
f
cu propriet at ile de mai sus are urm atoarea form a:
S
f
(x) =
(x x
i
)
3
A
i+1
6h
i
+
(x
i+1
x)
3
A
i
6h
i
+
i
x+
i
, x [x
i
, x
i+1
], i = 0, n 1
unde
h
i
= x
i+1
x
i

i
=
y
i+1
y
i
h
i

h
i
(A
i+1
A
i
)
6

i
=
x
i+1
y
i
x
i
y
i+1
h
i

h
i
(x
i+1
A
i
x
i
A
i+1
)
6
196
pentru i = 0, n 1 , iar constantele {A
i
, i = 0, n} sunt solut ia sistemului
liniar:
2h
0
A
0
+ h
0
A
1
= 6(
y
1
y
0
h
0
u)
h
i1
A
i1
+ 2(h
i1
+ h
i
)A
i
+ h
i
A
i+1
= 6(
y
i+1
y
i
h
i

y
i
y
i1
h
i1
) ,
i = 1, . . . , n 1
h
n1
A
n1
+ 2h
n1
A
n
= 6(v
y
n
y
n1
h
n1
)
(1)
Sistemul de mai sus este un sistem liniar de dimensiune n + 1:
HA = f
unde:
H =
_
_
_
_
_
_
_
_
_
_
_
2h
0
h
0
0 0 . . . 0 0 0
h
0
2(h
0
+ h
1
) h
1
0 . . . 0 0 0
0 h
1
2(h
1
+ h
2
) h
2
. . . 0 0 0
.
.
.
0 0 0 0 . . . h
n2
2(h
n2
+ h
n1
) h
n1
0 0 0 0 . . . 0 h
n1
2h
n1
_
_
_
_
_
_
_
_
_
_
_
f =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
6(
y
1
y
0
h
0
u)
6(
y
2
y
1
h
1

y
1
y
0
h
0
)
6(
y
3
y
2
h
2

y
2
y
1
h
1
)
.
.
.
6(
y
n
y
n1
h
n1

y
n1
y
n2
h
n2
)
6(v
y
n
y
n1
h
n1
)
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
, A =
_
_
_
_
_
_
_
_
_
_
_
A
0
A
1
A
2
.
.
.
A
n1
A
n
_
_
_
_
_
_
_
_
_
_
_
197
Sistemul de mai sus se rezolv a folosind una din metodele de rezolvare a
sistemelor liniare.
Valoarea funct iei f n x, f( x), se aproximeaz a prin S
f
( x) ( x trebuie s a
e din [a, b]). Se caut a i
0
astfel ca x [x
i
0
, x
i
0
+1
]. Avem:
f( x) S
f
( x) =
( x x
i
0
)
3
A
i
0
+1
6h
i
0
+
(x
i
0
+1
x)
3
A
i
0
6h
i
0
+
i
0
x +
i
0
198
Laboratorul nr. 11
Tema
Date f o funct ie continu a, f C[a, b] si a, b, < a < b < , dou a
constante reale nite. S a se aproximeze integrala funct iei f pe intervalul
[a, b]:
_
b
a
f(x) dx
Funct ia f se declar a clasic n program (double f(double x)). De asemenea,
se declar a n program si primitiva F a funct iei f (F

= f), dac a aceasta este


cunoscut a.
Exemple:
f(x) = 3.0 x
3
5.0 x
2
+ cos(x) , F(x) =
3.0
4.0
x
4

5.0
3.0
x
3
+ sin(x) ;
f(x) = e
x
2.0 cos(x) sin(x) , F(x) = e
x
+ 0.5 cos(2 x) ;
f(x) = cos(e
x
) e
x
, F(x) = sin(e
x
) ;
Aproximarea integralelor
Cu ajutorul metodei de aproximare a integralelor se va calcula o valoare
aproximativ a pentru integrala c autat a I
aprox
. Folosind F, primitiva funct iei
f, se calculeaz a valoarea exact a a integralei, I
exact
si se veric a c at de bun a
este aproximarea f acut a compar and cele dou a valori.
_
b
a
f(x) dx = I
exact
= F(b) F(a) ;
_
b
a
f(x) dx I
aprox
= se calculeaz a cu metodele de mai jos
Se aseaz a:
I
aprox
, I
exact
, |I
aprox
I
exact
|
199
Metode de aproximare a integralelor
Se mparte intervalul [a, b] n N subintervale de lungime h:
a = x
1
< x
2
< < x
N1
< x
N
= b
x
i
= a + (i 1)h , f
i
= f(x
i
) , i = 1, N , h =
b a
N 1
O prim a metod a de aproximare a integralelor este:
_
b
a
f(x) dx I
aprox
= h[
5
12
f
1
+
13
12
f
2
+ f
3
+ f
4
+ +
+f
N3
+ f
N2
+
13
12
f
N1
+
5
12
f
N
]
Ordinul de aproximare al metodei (eroarea) este
b a
N
3
.
O a doua metod a este dat a de formula:
_
b
a
f(x) dx I
aprox
= h[
3
8
f
1
+
7
6
f
2
+
23
24
f
3
+ f
4
+ f
5
+ +
+f
N4
+ f
N3
+
23
24
f
N2
+
7
6
f
N1
+
3
8
f
N
]
iar eroarea este n acest caz de ordinul
b a
N
4
.
200

S-ar putea să vă placă și