Sunteți pe pagina 1din 31

PARTEA A III-A

VECTORI I VALORI PROPRII




1. INTRODUCERE. DEFINIII

Definiia 1. Fie e A
nxn
o matrice ptratic. Numrul e se numete valoare
proprie a lui A dac exist e x
n
vector nenul astfel nct
(1) x Ax = .
Vectorul x se numete vector propriu asociat valorii proprii (acesta nu este unic, n
sensul c unei valori proprii i corespund o infinitatea de vectori x cu proprietatea (1)).
Mulimea valorilor proprii asociate matricei A este notat ( ) A o i se numete
spectrul lui A.

Definiia 2. Fie e A
nxn
o matrice ptratic i e o valoare proprie a matricei A.
Vectorii x i y se numesc vector propriu la dreapta (drept), respectiv vector propriu la stnga
(stng) asociai valorii proprii dac
(2) x Ax = i
H H
y A y = ,
unde, pentru ( ) e =
T
n
y y y y ,..., ,
2 1

n
, ( )
n
T H
y y y y y ,..., ,
2 1
= = i, pentru e =
=
=
m j
n i
j i
b B
,. , .,
,...,
,
1
1

nxm
, B B
H
= , adic ( )
i j j i
H
b B
, ,
= , pentru m i ,..., 1 = i n j ,..., 1 = .

Fie e valoare proprie a matricei e A
nxn
. Atunci este soluie a ecuaiei
caracteristice
(3) ( ) ( ) 0 det = =
n A
I A p
unde ( )
A
p este polinom de grad n n i se numete polinom caracteristic. Pe baza relaiei
(3) rezult n particular c A are n valori proprii, nu neaprat distincte.

Proprieti
1. Fie e valoare proprie a matricei e A
nxn
i x un vector propriu asociat lui . Atunci
x x
Ax x
H
H
=
2. ( ) ( ) { }
n
n
i
i
A A o ,..., , , det
2 1
1
= =
[
=


3. ( ) ( ) { }
n
n
i
i
A A tr o ,..., , ,
2 1
1
= =

=


4. ( ) ( )
T
A A o o = , ( ) ( )
H
A A o o =


Pe baza proprietii (2) rezult c A este singular dac i numai dac cel puin o
valoare proprie este nul.

Definiia 3. Fie e A
nxn
o matrice ptratic. Raza spectrului matricei A este definit
prin,
(4) ( )
( )

o A
A
e
= max


Definiia 4. O matrice

se numete hermitian sau auto-adjunct dac

, adic

. Matricea se numete unitar dac

, respectiv
normal dac

.

Observaie. n situaia n care

, este unitar dac

,
adic

. A se numete matrice ortogonal.



Definiia 5. Fie

, nesingular. Matricele i

sunt similare i
transformarea

se numete transformare similar. Matricele i se numesc


unitar respectiv ortogonal similare dac este unitar, respectiv ortogonal.

Proprietatea 1. Descompunerea Schur Fie

. Atunci exist o matrice


unitar astfel nct s aib loc relaia



unde este o matrice superior triunghiular astfel nct
() {

}

Observaii.
1) Dac matricea

este hermitian, atunci este obinut relaia,



(5)

}

deci A este unitar similar cu o matrice diagonal cu elemente reale (n acest caz, A se
numete matrice normal).
ntr-adevr, deoarece


Dar T este matrice superior triunghiular i, fiind hermitian, rezult
{

}
n plus, deoarece T este matrice hermitian i diagonal,

, deci
valorile proprii ale matricei hermitiene A sunt numere reale. n particular, dac matricea A
este cu numere reale i este simetric, rezult c valorile proprii ale lui A sunt numere reale.
n particular obinem c o matrice normal este diagonalizabil.
Pe baza relaiei (5) rezult n continuare c i, dac [

] este
reprezentarea matricei unitare U prin intermediul vectorilor coloan, este obinut relaia,

(6)



deci U este matrice cu coloane un set de vectori proprii ai matricei A. n plus, deoarece U
este matrice unitar, coloanele lui U sunt un set de n vectori ortogonali, deci o baz
ortogonal a spaiului

.

2) Dac matricea

este hermitian, . Obinem,


()


unde [

] este matricea unitar U i () {

}. Relaia (7) este referit


drept descompunerea spectral a matricei A.

Proprietatea 2. Descompunerea SVD. Fie

. Exist matricele unitare


i V

astfel nct

()



unde ( )

.

Relaia (8) este referit drept descompunerea SVD a matricei (Singular Value
Decomposition), iar valorile

(notate i

()) se numesc valorile singulare ale lui .




Observaii.
1)
()

()

)
ntr-adevr, deoarece

rezult

deoarece

.
n continuare,


Dar (

) (

), adic

au aceleai valori proprii. ntr-


adevr, dac ( ) este o pereche (valoare proprie, vector propriu) corespunztoare lui

,
adic

, atunci
(


deci ( ) este o pereche (valoare proprie, vector propriu) a matricei

.
Obinem deci

) (

())



2) Dac

este matrice hermitian (

) avnd valorile proprii

, atunci
valorile singulare ale lui coincid cu modulul valorilor proprii ale lui . ntr-adevr, deoarece

, obinem din (9)


3)

()

)

Dac ( ) este o pereche (valoare proprie, vector propriu) a matricei , atunci
(

) este o pereche (valoare proprie, vector propriu) a matricei

. ntr-adevr, deoarece


Obinem

()

|, pentru .
n plus, dac

, atunci () ,
nucleul lui - () este generat de vectorii coloan ai matricei {

}, unde
[

] i () {

} (Quarteroni, Sacco, Saleri,


2000).


2. ANALIZA STABILITII PROBLEMEI CALCULULUI VALORILOR
PROPRII ALE UNEI MATRICE

Estimarea a priori
Fie e A
nxn
o matrice diagonalizabil i | |
n
x x x X ,..., ,
2 1
= matrice avnd coloanele
un set de vectori proprii asociai valorilor proprii ale matricei A. Rezult,
n i s s 1 ,
i i i
x Ax =
X AX A =
{ }
n
diag AX X ,..., ,
2 1
1
= = A

(A este diagonalizabil).
Fie e E
nxn
matrice perturbaie a lui A.


Teorema 1. (Bauer-Fike)
Fie o valoare proprie a matricei e + E A
nxn
. Are loc relaia,

(10)
( )
( )
p
p
A
E X K s
e

o
min

unde
p
. este o p-norm pe spaiul matricelor i ( )
p
p
p
X X X K
1
= este indicatorul de
condiie a problemei determinrii valorilor proprii ale lui A.

n particular, rezult c problema determinrii valorilor proprii ale unei matrice este
bine condiionat dac A este diagonalizabil.

Estimarea a posteriori
Teorema 2.
Fie e A C
nxn
o matrice hermitian,
H
A A = i fie ( ) x ,

valorile calculate pentru o


pereche valoare proprie, vector propriu corespunztoare matricei A. Dac reziduul r este,
x x A r

= , 0 = x , atunci (Quarteroni, Sacco, Saleri, 2000)


(11)
( )
2
2

min
x
r
i
A
i
s
e

o


Cu alte cuvinte, pe baza relaiei (11) rezult c, pentru reziduuri mici, erorile
absolute sunt, de asemenea, mici.


3. METODA PUTERII

Metoda puterii mpreun cu metoda iteraiei inverse sunt utilizate pentru calculul
valorilor proprii extreme ale unei matrice (valoarea proprie cea mai mare n modul, respectiv
valoarea proprie cea mai mic n modul) i a cte unui vector propriu asociat.
Fie

o matrice diagonalizabil i | |
n
x x x X ,..., ,
2 1
= matrice avnd coloanele
un set de vectori proprii asociai valorilor proprii ale matricei A, ( ) { }
n
A o ,..., ,
2 1
= ,
n i s s 1 ,
i i i
x Ax = i astfel nct are loc relaia
(12)
n
> > > > ...
3 2 1

unde
1
are ordinul de multiplicitate 1;
1
cu aceast proprietate se numete valoare proprie
dominant a matricei A.
Fie
( )
e
0
q
n
vector iniial unitar (cu norma euclidian egal cu valoarea 1). Metoda
puterii presupune efectuarea setului de iteraii,

,... 2 , 1 = k
( )
( ) ( )
( )
( )
( )
( ) ( )
( )
( )

= 0
=
=

k
H
k k
k
k
k
k k
Aq q
z
z
q
Aq z
2
1
13

Pe baza relaiei (13), rezult,

( )
( )
( )
( )
( )
( )
( )
2
0
0
2
2 2
2 2
2
1
1
...
q A
q A
q A
q A
Aq
Aq
q
k
k
k
k
k
k
k
= = = =

, deci

,... 2 , 1 = k
(14)
( )
( )
( )
2
0
0
q A
q A
q
k
k
k
=

Deoarece A este matrice diagonalizabil, rezult c { }
n
x x x ,..., ,
2 1
este baz a spaiului

n
, deci
( )
e
0
q
n
este exprimat n termenii vectorilor baz prin,
( )

=
=
n
i
i i
x q
1
0
o
unde e
i
o , pentru n i s s 1 . Deoarece pentru n i s s 1 ,
i i i
x Ax = , obinem,
( )
i i i i i i
x Ax Ax A x A
2 2
= = = .
Similar, pentru ,... 2 , 1 = k , obinem (prin inducie dup k),
i
k
i i
k
x x A = .
Rezult,
( )

= = =
= = =
n
i
i
k
i i
n
i
i
k
i
n
i
i i
k k
x x A x A q A
1 1 1
0
o o o
Prin evidenierea valorii proprii dominante, obinem,

,... 2 , 1 = k
(15)
( )
|
|
.
|

\
|
|
|
.
|

\
|
+ =

=
n
i
i
k
i i k k
x x q A
2
1 1
1 1 1
0

o
o
o
Deoarece 1
1
<

i
pentru 2 > i , rezult c, pe msur ce numrul de iteraii, k, crete,
vectorul
( ) 0
q A
k
, deci
( ) k
q , are vectorul
1
x drept component principal n exprimarea n
baza { }
n
x x x ,..., ,
2 1
.
Fie
( )

=
|
|
.
|

\
|
=
n
i
i
k
i i k
x y
2
1 1

o
o
. Rezult,
( )
( )
( )
( )
( )
( )
( )
( )
2
1
1
1 1
2
1 1 1
1 1 1
sgn
k
k
k
k k
k k
k
y x
y x
y x
y x
q
+
+
=
+
+
= o
o
o


Observaii
1. Dac
1
x este un vector propriu corespunztor valorii proprii
1
, atunci i -
1
x este
un vector propriu corespunztor valorii proprii
1
. Evident, dac
1 1 1
x Ax = , atunci
( ) ( )
1 1 1
x x A = .

2. Dac
1
x este un vector propriu corespunztor valorii proprii
1
, atunci i
2
1
1
x
x

este un vector propriu corespunztor valorii proprii
1
. Evident, dac
1 1 1
x Ax = , atunci
2
1
1
1
2
1
1
x
x
x
x
A = .

Rezult c, atunci cnd k , vectorul
( )

=
|
|
.
|

\
|
=
n
i
i
k
i i k
x y
2
1 1

o
o
converge la vectorul
nul i
( ) k
q converge la un vector propriu unitar corespunztor valorii proprii
1
.

Teorema 3.
Fie e A
nxn
o matrice diagonalizabil i | |
n
x x x X ,..., ,
2 1
= matrice avnd coloanele
un set de vectori proprii unitari asociai valorilor proprii ale matricei A, ( ) { }
n
A o ,..., ,
2 1
=
, n i s s 1 ,
i i i
x Ax = i astfel nct are loc relaia (12). Dac 0
1
= o exist 0 > C astfel
nct,
(16)
( )
1 ,
~
1
2
2
1
> s k C x q
k
k



unde
( )
( ) ( )
( )
( ) k
k
k
k
k k
k
y x
q A
q A q
q + =
o
=
o
=
1
1 1
0
1 1
2
0
~

(Quarteroni, Sacco, Saleri, 2000)

Deoarece cnd k , vectorul
( ) k
q converge la ( )
2
1
1
1 1 1
sgn
~
x
x
x
k
o = , vector propriu
unitar, ( ) 1
~ ~ ~
2
2
1 1 1
= = x x x
H
, asociat valorii proprii
1
, rezult, pe baza proprietii 1 (vezi
seciunea 1) c
( ) ( )
( )
( )
1
0 =
k
H
k k
Aq q .
Observaie.
Dac e A
nxn
este simetric i 0
1
= o se poate demonstra c
( )
( )
k
n
k
2
1
2
0
2
1 1
tan

u 0 s
unde ( )
( )
0 cos
0
1 0
= = q x
T
u .

Pentru dezvoltarea unui algoritm, iteraiile (13) sunt efectuate pn la ndeplinirea
unui criteriu de oprire, determinat pe baza valorii reziduale definite de
(17)
( ) ( ) ( ) ( ) k k k k
q Aq r 0 = , 1 > k

i, pentru 0 > c , pe baza matricei
(18)
( ) ( ) ( )
( )
H
k k k
q r E = c , cu
( )
1
2
=
k
E .

Deoarece
( ) ( ) ( ) ( )
( )
( ) ( ) k k
H
k k k k
r q q r q E = = c , 1 > k , obinem,
(19)
( )
( )
( ) ( ) ( ) ( ) ( ) ( ) ( ) k k k k k k k k
q r q r q E A 0 0 c = + = + .

Pe baza relaiei (19) obinem c
( ) k
0 este o valoare proprie a matricei perturbaie
( ) k
E A c + . Din (18) rezult
( )
2
k
r = c . Se poate arta c

(20)
( )
( )
( )

u
0
cos
2
1
k
k
r
~

unde

u este unghiul dintre vectorul propriu la stnga i vectorul propriu la dreapta asociai
valorii proprii
1
, respectiv ( )
H H H
y A y y x
1 1 1 1 1
, cos u

= = .

n practic, estimarea relaiei (20) revine la nlocuirea factorului ( )

u cos cu
( )
( )
( ) k
H
k
q w , unde
( ) k
q este o aproximare a unui vector propriu unitar asociat valorii proprii
1
, calculat prin setul de iteraii (13) i
( ) k
w este o aproximare a unui vector propriu la
stnga, unitar, asociat valorii proprii
1
, (Quarteroni, Sacco, Saleri, 2000)


(21)
( )
( )
( )
( )
( ) k
H
k
k
k
q w
r
2
1
~ 0


Observaii
1. Aproximarea
( ) k
w , 1 > k , este calculat prin metoda puterii aplicat astfel. Fie
( )
e
0
w
n
vector iniial unitar. Setului de iteraii, similar (13), este definit prin,


,... 2 , 1 = k

( )
( ) ( )
( )
( )
( )
( )

|
|
|
.
|

\
|
=
=

H
k
k
k
H
k k
t
t
w
A w t
2
1
22

2. Dac ( )
( )
( )
( )
1
cos c u

< ~
k
H
k
q w , algoritmul pentru calculul valorii proprii
dominante i a unui vector propriu unitar asociat nu converge (valoarea proprie nu este
dominant, n sensul c nu are ordinul de multiplicitate 1)

3. Criteriul de oprire utilizat n algoritm este

( )
( )
( )
( )
( )
c 0 < ~
k
H
k
k
k
q w
r
2
1
i nu a fost depit un numr maxim de iteraii

3. n situaia n care A este matrice cu elemente numere reale i are o singur valoare
proprie dominant, rezult c aceasta este numr real. ntr-adevr, dac este valoare
proprie a lui A, atunci este valoare proprie a lui

i || || Dac este
valoare proprie dominant al lui A rezult c i este valoare proprie dominant a lui A, deci
valoarea proprie dominant a matricei A nu este unic. Cu alte cuvinte, n cazul matricelor cu
numere reale, metoda puterii calculeaz o unic valoare proprie dominant, numr real.

Pe baza observaiilor de mai sus rezult urmtorul algoritm pentru calculul valorii
proprii dominante i a unui vector propriu unitar asociat

Date de intrare A, 0 z vector iniial nenul
( )
|
|
.
|

\
|
=
2
0
0
0
z
z
q , eps, eps1, maxit (numrul
maxim de iteraii)

Date de ieire
valp1 aproximarea calculat a lui
1
(dac poate fi determinat)
x1 aproximarea calculat a unui vector propriu unitar asociat lui
1
(dac
poate fi determinat)
err eroarea de aproximare dat prin relaia (20)
potcalcula 1, dac poate fi calculat o aproximare a valorii proprii
dominante, 0 altfel
k numrul de iteraii necesare calculului cu eroarea err<eps.


) 0 (
0
z norm
z
q = ; q w = ; z=A*q;
k=0; err=eps+1;potcalcula=1;


while ((err>eps) && (k<=maxit))

=
=
break;
0; = potcalcula
else
; stheta norm(r)/co = err
1; + k = k
eps1) > (costheta if
q; * valp1 - z = r ); abs(y1'*x1 = costheta
w; = y1 ; w' = w ; t/norm(t) w w'*A; = t
q'*z; = valp1 q; = x1 q; * A = z ; z/norm(z) q

endif
endwhile
if (err>eps) potcalcula=0
endif

Observaie
Pentru masivele cu numere complexe, n MATLAB operatorul este operatorul
H
, n
timp ce . este operatorul transpus. n cazul masivelor cu numere reale se poate folosi pentru
operatorul transpus, deoarece operatorul transpus conjugat coincide cu operatorul transpus.

n continuare este prezentat sursa MATLAB pentru implementarea algoritmului de
mai sus, mpreun cu exemple de execuie att pentru matrice cu elemente numere reale, ct
i pentru matrice cu numere complexe.

function
[valp1,x1,err,k,potcalcula]=metoda_puterii_22(A,z0,eps1,eps,maxit)
q=z0/norm(z0);w=q;z=A*q;
k=0;err=eps+1;potcalcula=1;
while((err>eps)&&(k<maxit))
q=z/norm(z);z=A*q;
x1=q;valp1=q'*z;
t=w'*A;w=t/norm(t);w=w';
y1=w;
costheta=abs(y1'*x1);r=z-valp1*q;
if(costheta>eps1)
err=norm(r)/costheta;
k=k+1;
else
potcalcula=0;
break;
end;
end;
if(err>eps)potcalcula=0;
end;
if(potcalcula==1)
disp('Valoarea proprie dominanta:');disp(valp1);
disp('Un vector propriu asociat');disp(x1);
disp('Eroarea:');disp(err);
disp('Numarul de iteratii efectuate:');disp(k);
%disp('Verificare:');disp(A*x1);disp(valp1*x1);
else
disp('Nu se poate calcula!');
end;
end


%Exemple de calcul
% 1. A=[[1 3 4]
% [3 1 2]
% [4 2 1]
% ];
%z0=[1 1 1]';
%metoda_puterii_22(A,z0,0.0001,0.0000000001,500)
%Valoarea proprie dominanta: 7.0747
%Un vector propriu asociat
% 0.6346
% 0.5058
% 0.5844
%Eroarea:5.3935e-011
%Numarul de iteratii efectuate:29

% 2. A=[[15 -2 2]
% [1 10 -3]
% [-2 1 0]
% ];
%z0=[1 1 1]';
%metoda_puterii_22(A,z0,0.0001,0.0000000001,300)
%Valoarea proprie dominanta:14.1026
%Un vector propriu asociat
% 0.9436
% 0.3117
% -0.1117
%Eroarea:7.9153e-011
%Numarul de iteratii efectuate:77

%3.A=[[10 2 3]
% [-1 2 -15]
% [10 1 3]
% ];
%z0=[1 1 1]';
%metoda_puterii_22(A,z0,0.0001,0.000000000001,8000)
%Nu se poate calcula!
%(matricea are doua valori proprii dominante, numere complexe conjugate)

%4.A=[[10 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 10]
% [0 2 4 1]
% ];
%z0=[1 1 1 1]';
%metoda_puterii_22(A,z0,0.0001,0.000000000001,800)
%Valoarea proprie dominanta:14.0254
%Un vector propriu asociat
% 0.6274
% -0.3580
% 0.6746
% 0.1522
%Eroarea:8.0362e-013
%Numarul de iteratii efectuate:25

%5. A=[[1 3 4-i]
% [3 1 2]
% [4 2 1]
% ];
%z0=[1 1 1]';
%metoda_puterii_22(A,z0,0.0001,0.0000000001,500)
%Valoarea proprie dominanta: 7.0871 - 0.3700i
%Un vector propriu asociat
% -0.0298 - 0.6366i
% 0.0237 - 0.5036i
% 0.0236 - 0.5823i
%Eroarea:4.6030e-011
%Numarul de iteratii efectuate:30

%6. A=[[10+i 2 3 8]
% [-1 2 -5 -2]
% [1 i+1 3 10]
% [0 2 4-2*i 1]
%];
%z0=[1 1 1 1]';
%metoda_puterii_22(A,z0,0.0001,0.000000000001,800)
%Valoarea proprie dominanta:9.7106 + 0.6768i
%Un vector propriu asociat
% -0.8681 - 0.4523i
% 0.1745 + 0.0165i
% -0.0953 + 0.0264i
% 0.0053 + 0.0374i
%Eroarea:8.2712e-013
%Numarul de iteratii efectuate:149


4. METODA ITERAIEI INVERSE

Fie e A
nxn
. Metoda iteraiei inverse (sau metoda invers a puterii) rezolv problema
calculului unei valori proprii
m
i a unui vector propriu unitar asociat lui
m
, cu proprietatea
c
m
este valoarea proprie a lui A cea mai apropiat de o valoare dat e , ( ) A o e .
Algoritmul revine la aplicarea metodei puterii matricei
( )
1 1
=
n
I A M


n ipoteza n care
1

M este diagonalizabil.
Evident, dac ( ) { }
n
A o ,..., ,
2 1
= , atunci, dac A este inversabil,
( )
)
`

n
A

o
1
,...,
1
,
1
2 1
1
i ( ) { }
n
M o

,..., ,
2 1
1
=

, unde, pentru n i ,... 2 , 1 = ,


=
i
i
1
.
Vom presupune n continuare c exist m, n ms s 1 astfel nct

(23) <
i m
, m i n i = s s , 1

Semnificaia relaiei (23) este aceea c valoarea proprie
m
, cea mai apropiat de
are ordinul de multiplicitatea 1. De asemenea, pe baza relaiei (23), rezult c
i
n i
m

,..., 1
max
=
= i
m
are ordinul de multiplicitate 1.
Evident, deoarece pentru orice m i n i = s s , 1 , are loc <
i m
, rezult

>

i m
1 1
i
i m
> , deci
m
este valoarea proprie dominant a matricei
1

M .

Observaie Dac 0 = , atunci
m
este valoarea proprie a lui A cu modulul cel mai
mic.

Fie
( )
e
0
q
n
vector iniial unitar (cu norma euclidian egal cu valoarea 1). Setul de
iteraii (13) aplicate matricei
1

M revine la construcia secvenei (Quarteroni, Sacco,


Saleri, 2000),

,... 2 , 1 = k
( )
( )
( ) ( ) ( ) ( )
( )
( )
( )
( )
( ) ( )
( )
( )

= o
=
= =

k
H
k k
k
k
k
k k k k
n
q M q
z
z
q
q M z q z I A
1
2
1 1 1
24

Observaie Fie | |
n
x x x X ,..., ,
2 1
= matricea cu coloane un set de vectori proprii
corespunztori valorilor proprii ale matricei

M . n ipoteza n care

M este diagonalizabil,
rezult,
(25)
)
`

= A =

n
diag X M X


1
,...,
1
,
1
2 1
1

Prin aplicarea inversei n (25) obinem,

{ }
n
diag X M X

,..., ,
2 1
1 1 1
= A =

,

deci X este matricea cu coloane un set de vectori proprii ai lui
1

M , deoarece
( ) { }
n
M o

,..., ,
2 1
1
=

. De asemenea, pe baza relaiei (25) rezult,


( )
)
`

= A =

n
n
diag X I A X


1
,...,
1
,
1
2 1
1
i
)
`

=

n
n
diag X I X AX X

1
,...,
1
,
1
2 1
1 1

Obinem,
)
`

+ + + =
)
`

+ =

n n
n
diag diag I AX X

1
,...,
1
,
1 1
,...,
1
,
1
2 1 2 1
1

Deoarece pentru n i ,... 2 , 1 = ,

=
i
i
1
, rezult n final
{ }
n
diag AX X ,..., ,
2 1
1
=

,
deci X este matricea cu coloane un set de vectori proprii ai lui A, corespunztori valorilor
proprii
n
,..., ,
2 1
i iteraiile (24) sunt echivalente cu (Quarteroni, Sacco, Saleri, 2000),

( )
e
0
q
n
vector iniial unitar
,... 2 , 1 = k
( )
( )
( ) ( )
( )
( )
( )
( ) ( )
( )
( )

= o
=
=

k
H
k k
k
k
k
k k
n
Aq q
z
z
q
q z I A
2
1
26

Iteraiile (26) se numesc iteraii inverse i definesc metoda invers a puterii.

Observaie Principala diferen fa de metoda direct a puterii este c, la fiecare pas
k, trebuie rezolvat sistemul liniar
(27) ( )
( ) ( ) 1
=
k k
n
q z I A .
Pentru rezolvarea sistemului (27), este iniiat urmtoarea procedur,
- la momentul k=0 este realizat factorizarea LU cu pivotare a matricei
( )
n
I A M

= , U L PM * =


- la fiecare iteraie k=1,2,... sunt rezolvate cte un sistem triunghiular inferior, prin
metoda substituiei nainte, respectiv cte un sistem triunghiular superiror, prin
metoda substituiei napoi:
o U L PM * =

, deci
( ) ( ) 1
* * *

=
k k
q P z U L
o Rezolv
( ) ( ) 1
* *

=
k k
q P u L cu metoda substituiei nainte i obine
( ) k
u
o Rezolv
( ) ( ) k k
u z U = * prin metoda substituiei napoi i obine
( ) k
z

Dei metoda iteraiei inverse are complexitate mai mare comparativ cu metoda
puterii, prin aplicarea ei pot fi calculate aproximri ale oricrei valori proprii i a cte unui
vector propriu unitar asociat acesteia.
Similar metodei puterii, dac
( )
( )
( )
( )
k
m m
k
k
k
q M q
q
o

2
0 1
~

= , unde | |
n
x x x X ,..., ,
2 1
=
matricea cu coloane un set de vectori proprii corespunztori valorilor proprii ale matricei
1

M (deci X este matricea cu coloane un set de vectori proprii ai lui A),


( )

=
=
n
i
i i
x q
1
0
o e
i
o
C, pentru n i s s 1 , atunci
( )
( )
( )
( )
2
1
sgn
k
m
k
m k
m m
k
y x
y x
q
+
+
= o ,
( )

=
=
|
|
.
|

\
|
=
n
m i
i
i
k
m
i
m
i k
x y
1

o
o
.
Cnd k , vectorul
( )

=
=
|
|
.
|

\
|
=
n
m i
i
i
k
m
i
m
i k
x y
1

o
o
converge la vectorul nul i
( ) k
q
converge la un vector propriu unitar corespunztor valorii proprii
m
a lui
1

M , respectiv
valorii proprii
m
a lui A,
( )
( )
m
k
m m
k
k
x q o sgn lim =

, un vector propriu unitar al lui A, corespunztor lui
m

( )
m
k
k
x q =

~
lim
( )
m
k
k
o =

lim .

De asemenea, similar relaiei (26), obinem,

(28)
( )
( )
( )
( )
( )
1 ,
2
> ~ k
q w
r
k
H
k
k
k
m
o , unde

( ) ( ) ( ) ( ) k k k k
q Aq r o = , 1 > k
( ) k
w este vectorul calculat la cea de-a k-a iteraie ca aproximare a unui vector propriu
la stnga asociat lui
m
(Quarteroni, Sacco, Saleri, 2000)

Algoritmul
Date de intrare A, 0 z vector iniial nenul
( )
|
|
.
|

\
|
=
2
0
0
0
z
z
q , miu, eps, eps1, maxit
(numrul maxim de iteraii)

Date de ieire
valpm aproximarea calculat a lui
m
(dac poate fi determinat)
xm aproximarea calculat a unui vector propriu unitar asociat lui
m
(dac
poate fi determinat)
err eroarea de aproximare dat prin relaia (28)
potcalcula 1, dac poate fi calculat o aproximare a valorii proprii
dominante, 0 altfel
k numrul de iteraii necesare calculului cu eroarea err<eps.

[n,n]=size(A); M=A-miu*In (in MATLAB In=eye(n))

[L,U,P,Ok]=GaussLU_pivotare_6(M,0.00001);

if(Ok= = 0) potcalcula=0 (nu se poate calcula inverse lui M)

else
potcalcula=1;
) 0 (
0
z norm
z
q = ; q w = ;
k=0; err=eps+1;

while ((err>eps) && (k<=maxit))

= =
= =
= =
=
= = =
= = + =
break;
0; = potcalcula
else
; stheta norm(r)/co = err
eps1) > (costheta if
q; * valpm - z = r ); abs(ym'*xm = costheta
q; xm w; = ym ; t/norm(t) w P'*t; = t
; t t u,0.0001); , _2(L' s_backward ok2] [t,
b,0.0001); , 1(U' s_forward_ ok1] [u, w; b
q'*z; = valpm q; * A = z ; z/norm(z) q
) .' ( ; z z u,0.0001); _2(U, s_backward ok2] [z,
b,0.0001); 1(L, s_forward_ ok1] [u, q; * P b 1; k k
T
T
neconjugat transpusa z z

endif
endwhile
if (err>eps) potcalcula=0
endif

Observaie
Calculul lui
( ) k
w din (28) este similar relaiei (22), astfel. Fie
( )
e
0
w C
n
vector iniial
unitar. Setului de iteraii este definit prin,
,... 2 , 1 = k

( )
( ) ( )
( )
( )
( )
( )

|
|
|
.
|

\
|
=
=

H
k
k
k
H
k k
t
t
w
M w t
2
1 1
29

Rezult,

( )
( ) ( )
( )
( )
( )
( )

|
|
|
.
|

\
|
=
=

H
k
k
k
H
k k
t
t
w
w M t
2
1
30

Prima relaie a setului (30) poate fi transformat ntr-un sistem liniar prin aplicarea
operatorului transpus conjugat,
( )
( )
( ) 1
=
k
H
k
w M t

, deci
(31) ( )
( )
( )
( ) 1
=
k
H
k H
w t M


Deoarece U L PM * =

, obinem,
( )
H H H H
L U P M * =

i, deoarece
n
T H
I P P P P = = , rezult,
( ) P L U M
H H H
* * =


Pe baza relaiei (31) obinem,
(32)
( )
( )
( ) 1
* * *

=
k
H
k H H
w t P L U

Sistemul (32) este rezolvat astfel,
- Rezolv
( ) ( ) 1
*

=
k k H
w u U cu metoda substituiei nainte (daca U este superior
triunghiular, atunci
H
U este inferior triunghiular) i obine
( ) k
u
- Rezolv
( ) ( ) k k H
u p L = * prin metoda substituiei napoi i obine

( ) ( )
( )
H
k k
t P p * = , deci
( ) ( )
( )
H
k k T
t p P =

n continuare este prezentat sursa MATLAB pentru implementarea algoritmului de
mai sus, mpreun cu exemple de execuie i n cazul matricelor cu elemente reale, dar i
pentru matrice cu elemente complexe.

function[valpm,xm,err,k,potcalcula]=metoda_puterii_inversa_23(A,z0,m
iu,eps1,eps,maxit)
[n,n]=size(A);M=A-miu*eye(n);
[L,U,P,OK]=GaussLU_pivotare_6(M,0.00001);
if(OK==0)potcalcula=0;
else
q=z0/norm(z0);w=q';k=0;
err=eps+1;potcalcula=1;
while((err>eps)&&(k<maxit))
k=k+1;b=P*q;
[u,OK1]=s_forward_1(L,b,0.00001);
[zl,OK2]=s_backward_2(U,u,0.00001);
%calculul transpusei neconjugate a lui z- trecerea de la
%vector linie la vector coloana- datorita implementarii metodelor de
%substitutie, rezultatele sunt vectori linie
z=zl.';
q=z/norm(z);z=A*q;valpm=q'*z;
b=w';
[u,OK1]=s_forward_1(U',b,0.00001);
[t,OK2]=s_backward_2(L',u,0.00001);
%calculul transpusei neconjugate a lui z- trecerea de la
%vector linie la vector coloana- datorita implementarii metodelor de
%substitutie, rezultatele sunt vectori linie
t=t.';
w=(P'*t)';
w=w/norm(w);
costheta=abs(w*q);r=z-valpm*q;
if(costheta>eps1)
err=norm(r)/costheta;
else
potcalcula=0;
break;
end;
xm=q;
end;
end;
if(err>eps)potcalcula=0;
end;
if(potcalcula==1)
disp('Valoarea proprie cea mai apropiata de miu:');disp(valpm);
disp('Un vector propriu asociat');disp(xm);
disp('Eroarea:');disp(err);
disp('Numarul de iteratii efectuate:');disp(k);
%disp('Verificare:');disp(A*xm);disp(valpm*xm);
else
disp('Nu se poate calcula!');disp(k);disp(err);
end;
end


%Exemple de calcul
% 1. A=[[1 3 4]
% [3 1 2]
% [4 2 1]
% ];
%z0=[1 1 1]';
%metoda_puterii_inversa_23(A,z0,8,0.0001,0.0000000001,500)
%Valoarea proprie cea mai apropiata de miu=8:
% 7.0747
%Un vector propriu asociat
% 0.6346
% 0.5058
% 0.5844

%Eroarea: 8.6290e-011
%Numarul de iteratii efectuate: 10

%2. A=[[1 3 4]
% [3 1 2]
% [4 2 1]
% ];
%z0=[1 1 1]';
%metoda_puterii_inversa_23(A,z0,-2,0.0001,0.0000000001,500)
%Valoarea proprie cea mai apropiata de miu=-2:
% -0.8868
%Un vector propriu asociat
% -0.1550
% 0.8240
% -0.5449
%Eroarea: 9.4075e-011
%Numarul de iteratii efectuate:365

%3. A=[[1 3 4]
% [3 1 2]
% [4 2 1]
% ];
%z0=[1 1 1]';
%metoda_puterii_inversa_23(A,z0,-5,0.0001,0.0000000001,500)
%Valoarea proprie cea mai apropiata de miu=-5
% -3.1879
%Un vector propriu asociat
% -0.7572
% 0.2552
% 0.6013
%Eroarea:6.0080e-011
%Numarul de iteratii efectuate:30

%4. A=[[1 3 4-i]
% [3 1 2]
% [4 2 1]
%];
%z0=[1 1 1]';
%metoda_puterii_inversa_23(A,z0,7-i,0.000001,0.0000000001,500)

%Valoarea proprie cea mai apropiata de miu=7-i
% 7.0871 - 0.3700i
%Un vector propriu asociat
% 0.5902 - 0.2404i
% 0.4827 - 0.1457i
%0.5569 - 0.1720i
%Eroarea:8.4021e-011
%Numarul de iteratii efectuate: 9

%5. A=[[1 3 4-i]
%[3 1 2]
%[4 2 1]
%];
%z0=[1 1 1]';
%metoda_puterii_inversa_23(A,z0,0,0.000001,0.0000000001,500)
%Valoarea proprie cea mai apropiata de miu=0
% -0.8677 - 0.0793i
%Un vector propriu asociat
% -0.1440 - 0.1469i
% 0.2884 + 0.7783i
%-0.0225 - 0.5179i
%Eroarea:2.9047e-011
%Numarul de iteratii efectuate: 19

%6.A=[[1 3 4-i]
% [3 1 2]
% [4 2 1]
%];
%z0=[1 1 1]';
%metoda_puterii_inversa_23(A,z0,-4,0.000001,0.0000000001,500)
%Valoarea proprie cea mai apropiata de miu=-4
%-3.2195 + 0.4493i
%Un vector propriu asociat
% 0.0269 - 0.7603i
% -0.0067 + 0.2612i
% -0.0849 + 0.5879i
%Eroarea: 4.0555e-011
%Numarul de iteratii efectuate: 20

%7. A=[[1 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 -10]
% [0 2 4 1]
%];
%z0=[1 1 1 1]';
%metoda_puterii_inversa_23(A,z0,-2+i,0.0001,0.000000000001,8000)
%Valoarea proprie cea mai apropiata de miu=-2+i
% -1.9036 + 6.5258i
%Un vector propriu asociat
% -0.4622 + 0.1138i
% 0.3320 + 0.1403i
% 0.6330 - 0.1943i
%-0.2454 - 0.3805i
%Eroarea: 9.2276e-013
%Numarul de iteratii efectuate: 106


%8.A=[[10 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 10]
% [0 2 4 1]
% ];
%z0=[1 1 1 1]';
%metoda_puterii_inversa_23(A,z0,18,0.0001,0.000000000001,800)
%Valoarea proprie cea mai apropiata de miu=18:
% 14.0254
%Un vector propriu asociat
% 0.6274
% -0.3580
% 0.6746
% 0.1522
%Eroarea: 9.0240e-013
%Numarul de iteratii efectuate: 24

%9.A=[[10 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 10]
% [0 2 4 1]
% ];
%z0=[1 1 1 1]';
%metoda_puterii_inversa_23(A,z0,0,0.0001,0.000000000001,800)
%Valoarea proprie cea mai apropiata de miu=0:
%1.5869
%Un vector propriu asociat
% -0.6648
% 0.3729
% -0.0925
% 0.6406
%Eroarea: 9.7102e-013
%Numarul de iteratii efectuate: 32


5. Iteraia QR

Metoda iteraiei QR permite calculul simultan al tuturor valorilor proprii ale unei
matrice date (dac aceasta sunt mutual distincte) prin transformarea lui ntr-o matrice
pentru care valorile proprii sunt relativ uor de calculat.
Fie

. Problema poate fi rezolvat n situaia n care poate fi determinat


direct (ntr-un numr finit de iteraii) o matrice unitar astfel nct s aib loc relaia

()



unde este o matrice superior triunghiular astfel nct

()
Relaia (33) corespunde descompunerii Schur a matricei cu numere reale .

Deoarece pentru nu poate fi calculat elementar (Quarteroni, Sacco, Saleri,
2000), este utilizat o tehnic de tip iterativ.
Fie

,
()

o matrice ortogonal i
()
(
()
)


()
. Iteraia
QR este definit prin

() calculeaz
()

()
astfel nct
()

()

()
(factorizarea QR a lui
()
)

()

()

()
, , unde
()
este o matrice ortogonal,
()
matrice superior
triunghiular.

Observaie. Pentru are loc relaia

()

()

()
(
()
)


()

()

()
(
()
)


()

()

deoarece
()
este ortogonal: (
()
)


()

.
Prin inducie dup rezult:

()
()
(
()

()

()
)

(
()

()

()
)

ntr-adevr, pentru avem
()
(
()
)

(
()
) conform iniializrii
iteraiei Q(R).
Presupunem
()
(
()

()

()
)

(
()

()

()
) pentru
. Obinem

()

()

()
(
()
)


()

()

()
(
()
)


()

()
.
Pe baza ipotezei inductive, obinem

()
(
()
)

(
()

()

()
)

(
()

()

()
)
()

(
()

()

()

()
)

(
()

()

()

()
)
(se aplic proprietatea ( )

).
Relaia (35) indic faptul c
()
este ortogonal similar cu pentru orice .
ntr-adevr, deoarece
()
este ortogonal pentru orice , rezult
()

()

()

matrice ortogonal.

n varianta de baz a metodei iteraiei QR
()

, deci
()
. La fiecare pas
factorizarea QR a matricei
()
poate fi realizat pe baza procedurii Gram-Schmidt
modificate.

Teorema 4. Convergena metodei iteraiei QR (Quarteroni, Sacco, Saleri, 2000).
Fie

o matrice astfel nct |

| |

| |

|, unde ()
{

} este spectrul lui . Atunci


()



n plus, dac este simetric, irul {
()
} converge la matricea {

}
(

).

Observaie Dac matricea A nu are toate valorile proprii elemente numere reale,
limita irului {
()
} nu este matrice superior triunghiular i metoda QR de baz nu poate fi
aplicat.

Codul surs urmtor constituie sursa MATLAB pentru implementarea metodei QR n
forma de baz.

function [lambda,T,QR]=iteratia_QR(A,nit);
[n,n]=size(A);
T=A;
QR=eye(n);
for k=1:nit
[Q,R]=ModifGramSchmidt(T);
T=R*Q;
X=QR*Q;
QR=X;
end;
lambda=diag(T);
end;

%Exemple de apel

%1.A=[[10 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 10]
% [0 2 4 1]
%];
%nit=100;
%[lambda,T,QR]=iteratia_QR(A,nit);disp('Valorile proprii:');disp(lambda);
%Valorile proprii:
% 14.0254
% 4.2368
%-3.8492
%1.5869

%2. A=[[15 -2 2]
% [1 10 -3]
% [-2 1 0]
% ];nit=50;
%[lambda,T,QR]=iteratia_QR(A,nit);disp('Valorile proprii:');disp(lambda);
%Valorile proprii:
%14.1026
%10.3854
%0.5121

Observaie. Metoda poate fi aplicat n cazul n care valorile proprii ale lui sunt
numere reale.


6. Calculul vectorilor proprii ai unei matrice pe baza descompunerii Schur

Vom presupune n continuare c valorile proprii ale lui sunt numere reale i
distincte.
Fie

. Fie

reprezentarea calculat pe baza iteraiei QR,


superior triunghiular i

| |

| |

|. Dac ,
atunci


Fie

. Rezult , deci este un vector propriu al corespunztor


valorii proprii . Deci, dac am calculat un vector propriu al lui , atunci
(

).
Fie

. Atunci T poate fi reprezentat prin (Quarteroni, Sacco, Saleri, 2000)


(

), unde


()()
,


()()
ambele matrice superior triunghiulare,

( )

este matrice nul cu linii i


coloane,

()()

), (

.

Dac este un vector propriu corespunztor valorii proprii , atunci
(

( )

, deci

[(

] (




() {
(


( )



Deoarece valorile proprii ale lui sunt mutual distincte, matricele

sunt superior triunghiulare nesingulare. Din ultima ecuaie a sistemului (36)


obinem c

, deci (

, sistem cu k-1 ecuaii i k-1


necunoscute.
Prin setarea

, rezult

(
(

) i .

Observaie. n ipoteza n care valorile proprii ale lui A sunt numere complexe, atunci
metoda QR este extins la o metod cu dubl deplasare, procedura de calcul al lui , un
vector propriu corespunztor unei valori proprii , fiind extins prin considerarea

n
loc de

, toate masivele implicate n calculul lui fiind cu elemente valori complexe.



Codul surs urmtor constituie sursa MATLAB pentru determinarea vectorilor i
valorilor proprii pe baza descompunerii Schur.

function [VP]=vectori_proprii_QR(A,nit);
[n,n]=size(A);
X=zeros(n);
[lambda,T,QR]=iteratia_QR(A,nit);
X(1,1)=1;
for k=2:n
X(k,k)=1;
Tkk=T(1:k-1,1:k-1);
Mat=Tkk-lambda(k)*eye(k-1);
v=T(1:k-1,k);
[rez,pot_calcula]=s_backward_2(Mat,v,0.000000001);
X(1:k-1,k)=-rez';
end;
VP=QR*X;
for i=1:n
disp(i);
disp('Valoarea proprie:');disp(lambda(i));
disp('Vector propriu asociat:');disp(VP(1:n,i)');
disp('Verificare:');
disp('A*x');disp((A*VP(1:n,i))');
disp('lambda*x');disp(lambda(i)*VP(1:n,i)');
end;

%Exemple
%A=[[5 -2 2]
% [1 10 -3]
% [-2 1 0]
%];
%nit=100;vectori_proprii_QR(A,nit);

%1
%Valoarea proprie:
% 9.0000
%Vector propriu asociat:
% -0.3651 0.9129 0.1826
%Verificare:
%A*x
% -3.2863 8.2158 1.6432
%lambda*x
% -3.2863 8.2158 1.6432

%2
%Valoarea proprie:
% 5.0000
%Vector propriu asociat:
% -1.2247 0.6124 0.6124
%Verificare:
%A*x
% -6.1237 3.0619 3.0619
%lambda*x
% -6.1237 3.0619 3.0619

%3
%Valoarea proprie:
% 1
%Vector propriu asociat:
% -0.4193 0.4891 1.3277
%Verificare:
%A*x
% -0.4193 0.4891 1.3277
%lambda*x
% -0.4193 0.4891 1.3277


%A=[[1 2 0 2 1]
% [2 8 -1 2 1]
% [0 -1 12 -2 1]
% [2 2 1 1 -1]
%[1 1 1 -1 10]
%]
%nit=100;vectori_proprii_QR(A,nit);

%1
%Valoarea proprie:
% 12.4020
%Vector propriu asociat:
% -0.0156 0.1133 -0.9350 -0.0356 -0.3338
%Verificare:
%A*x
% -0.1940 1.4051 -11.5960 -0.4415 -4.1396
%lambda*x
% -0.1940 1.4051 -11.5960 -0.4415 -4.1396

%2
%Valoarea proprie:
% 10.7028
%Vector propriu asociat:
% -0.2070 -0.5405 0.1191 -0.0582 -0.8113
%Verificare:
%A*x
% -2.2156 -5.7844 1.2745 -0.6227 -8.6832
%lambda*x
% -2.2156 -5.7844 1.2745 -0.6227 -8.6832

%3
%Valoarea proprie:
% 8.1980
%Vector propriu asociat:
% 0.2003 0.6145 0.4919 0.3672 -0.5214
%Verificare:
%A*x
% 1.6422 5.0374 4.0326 3.0100 -4.2743
%lambda*x
% 1.6422 5.0374 4.0326 3.0100 -4.2743

%4
%Valoarea proprie:
% 1.7958
%Vector propriu asociat:
% 0.6548 -0.4155 0.0838 0.6558 0.0405
%Verificare:
%A*x
% 1.1760 -0.7462 0.1506 1.1777 0.0728
%lambda*x
% 1.1760 -0.7462 0.1506 1.1777 0.0728

%5
%Valoarea proprie:
% -1.0987
%Vector propriu asociat:
% -0.7219 0.0037 0.0973 0.6946 0.1185
%Verificare:
%A*x
% 0.7932 -0.0040 -0.1069 -0.7631 -0.1302
%lambda*x
% 0.7932 -0.0040 -0.1069 -0.7631 -0.1302


%A=[[10 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 10]
% [0 2 4 1]
%];
%nit=100;vectori_proprii_QR(A,nit);

%1
%Valoarea proprie:
% 14.0254
%Vector propriu asociat:
% 0.6274 -0.3580 0.6746 0.1522
%Verificare:
%A*x
% 8.7992 -5.0207 9.4616 2.1347
%lambda*x
% 8.7992 -5.0207 9.4616 2.1347

%2
%Valoarea proprie:
% 4.2368
%Vector propriu asociat:
% -0.2968 1.2571 -0.5445 0.1037
%Verificare:
%A*x
% -1.2575 5.3260 -2.3071 0.4400
%lambda*x
% -1.2576 5.3262 -2.3069 0.4395

%3
%Valoarea proprie:
% -3.8492
%Vector propriu asociat:
% 0.2182 0.3845 0.7009 -0.7367
%Verificare:
%A*x
% -0.8399 -1.4801 -2.6979 2.8359
%lambda*x
% -0.8399 -1.4801 -2.6978 2.8357

%4
%Valoarea proprie:
% 1.5869
%Vector propriu asociat:
% -0.9737 0.5462 -0.1354 0.9382
%Verificare:
%A*x
% -1.5451 0.8667 -0.2149 1.4888
%lambda*x
% -1.5451 0.8667 -0.2149 1.4888


7. Matrice Hauseholder. Calculul vectorilor i valorilor proprii utiliznd
deflatarea Hauseholder, metoda puterii i tehnica iteraiei inverse

Pentru orice

definim matricea ortogonal i simetric



Pentru un vector dat

, este imaginea lui n raport cu hiperplanul generat


de setul vectorilor ortogonali cu . Matricea se numete matricea Hauseholder iar se
numete vectorul Hauseholder.
Matricele Hauseholder sunt utilizate pentru a atribui valori nule elementelor unui bloc
dintr-un vector dat

. De exemplu, pentru a atribui valori nule tuturor elementelor


vectorului , mai puin cel de pe poziia k, este folosit vectorul Hauseholder

()


i matricea Hauseholder este


()

()


()



ntr-adevr,

) (

()

)

(

) (

()


Dar

)
i

()


()

()

)
Obinem

) (

)
(


)

Fie

cu valorile proprii

astfel nct |

| |

| |

|.
Aplicnd metoda puterii, este calculat perechea (

), unde

.
Fie

matricea Hauseholder construit pe baza vectorului Hauseholder

()
,

.
Evident,

()
(

.
Obinem

( )


()()
,

are valorile proprii

.

ntr-adevr, deoarece

este ortogonal i simetric,

.
Cum

, rezult

()
. n acelai timp,

()


n consecin,

()
(

()
, deci

()

()
.

Obinem c

este valoare proprie a lui

i, deoarece

] adic [

]
(

, rezult

()

deci

, prima coloan a lui

, este
(

.
Rezult c

).

Rmne s artm c

are valorile proprii

. Fie (

) perechi
(valoare proprie, vector propriu) corespunztoare matricei .
Pentru ,

, deci

.

Rezult (

) (

), adic

).
Obinem c

este valoare proprie a lui

este un vector propriu


corespunztor valorii proprii

.

Pentru , |

| , deci
|(

) (

)|
adic
|

|

de unde rezult (

) |

| .
Deoarece

, rezult |

| , deci

este valoare proprie a lui

, pentru
orice .

Procedura de deflatare (Quarteroni, Sacco, Saleri, 2000) presupune calculul lui

,
valoare proprie dominant a lui

, prin metoda puterii. De asemenea, metoda furnizeaz i


un vector propriu corespunztor lui

, de norm 1. Fie acesta

. n continuare, aplicnd
metoda iteraiei inverse matricei pentru

dat (de exemplu

), se
obine un vector propriu corespunztor valorii proprii

.

()

)

Similar transformrii (37), fie


()()
matricea Hauseholder obinut pe
baza vectorului

()

()

()
( )


()

)

Similar, valorile proprii ale lui

sunt

. Pentru

se aplic acelai
procedeu:

este calculat din

cu metoda puterii, iar un vector propriu al lui


corespunztor valorii proprii

este obinut prin metoda iteraiei inverse pentru

.
Evident, procedura continu prin aplicarea succesiv a transformrilor Hauseholder
similare cu (37) dar pentru matrice cu dimensiuni reduse cu cte o unitate, n aceeai
manier, pn la calculul ultimei perechi (

, vector propriu asociat).



Codul surs urmtor constituie sursa MATLAB pentru determinarea vectorilor i
valorilor proprii pe baza procedurii de deflatare Hauseholder i a metodei puterii.

function [lambda,X,OK]=vect_val_Hauseholder(A);
[n,n]=size(A);
eps1=0.0001;
eps=0.000001;
maxit=1000;
Ap=A;
lambda=zeros(n,1);
X=zeros(n);
z=ones(n,1);
[lambda(1),X(1:n,1),err,k,potcalcula]=metoda_puterii_22(A,z,eps1,eps
, maxit);
OK=1;
if(potcalcula)
vp=X(1:n,1);
vp(1)=vp(1)-1;
for i=1:n-1
Hi=eye(n-i+1)-2*vp*vp'/((norm(vp)^2));
Ap1=Hi*Ap*Hi;
Ap2=Ap1(2:n-i+1,2:n-i+1);
z0=ones(n-i,1);
if(i<n)
[lambda(i+1),xA,err,k,potcalcula]=metoda_puterii_22(Ap2,z
0,eps1,eps,maxit);
else lambda(i+1)=Ap2(1,1);
end;
if(potcalcula)
[lambda(i+1),X(1:n,i+1),err,k,potcalcula]=metoda_puterii_
inversa_23(A,z,lambda(i+1)-0.0001,eps1,eps,maxit);
vp=xA;
vp(1)=vp(1)-1;
Ap=Ap2;
else
OK=0;
end;
if(OK==0)
break;
end;
end;
else
OK=0;
end;
if(OK==1)
for i=1:n
disp('Valoare proprie');disp(lambda(i));
disp('Vector propriu');disp(X(:,i)');
%disp('Verificare');
%disp(A*X(:,i));
%disp(X(:,i)*lambda(i));
end;
else
disp('Nu se pot calcula');
end;
end;

%A=[[1 3 4]
% [3 1 2]
% [4 2 1]
% ];vect_val_Hauseholder(A);
%Valoare proprie
% 7.0747
%Vector propriu
% 0.6346 0.5058 0.5844
%Valoare proprie
% -3.1879
%Vector propriu
% -0.7572 0.2552 0.6013
%Valoare proprie
% -0.8868
%Vector propriu
% -0.1550 0.8240 -0.5449

%A=[[10 2 3 8]
% [-1 2 -5 -2]
% [10 1 3 10]
% [0 2 4 1]
%];vect_val_Hauseholder(A);
%Valoare proprie
% 14.0254
%Vector propriu
% 0.6274 -0.3580 0.6746 0.1522
%Valoare proprie
% 4.2370
%Vector propriu
% -0.2112 0.8943 -0.3874 0.0738
%Valoare proprie
% -3.8493
%Vector propriu
% -0.1968 -0.3468 -0.6321 0.6644
%Valoare proprie
% 1.5869
%Vector propriu
% -0.6648 0.3729 -0.0925 0.6406

% A=[[10 2 3 8 -1]
% [2 -1 2 -5 -2]
% [3 2 1 3 10]
% [8 -5 3 1 7]
% [-1 -2 10 7 2]
%];vect_val_Hauseholder(A);
%Valoare proprie
% 18.7374
%Vector propriu
% 0.5634 -0.0795 0.4331 0.5298 0.4562
%Valoare proprie
% -10.9276
%Vector propriu
% -0.2971 0.0794 0.4847 0.4939 -0.6531
%Valoare proprie
% 9.9148
%Vector propriu
% 0.7342 0.1715 -0.3414 0.0072 -0.5611
%Valoare proprie
% -8.064
%Vector propriu
% -0.2119 0.6310 -0.4813 0.5282 0.2152
%Valoare proprie
% 3.3401
%Vector propriu
% 0.1018 0.7482 0.4787 -0.4432 0.0648


8. Descompunerea SVD a unei matrice. Algoritmul Golub-Kahan-Reinsch

Fie

, cu . Algoritmul este dezvoltat n dou etape, una direct i cea


de-a doua iterativ (Golub, Loan, 1989).

Etapa nti. A este transformat ntr-o matrice superior trapezoidal, conform relaiei,

()

)

unde

sunt matrice ortogonale,


()
este matricea cu toate elementele
nule i

este matrice superior bidiagonal: pentru


.
Matricele

sunt generate prin utilizarea a n+m-3 matrice Hauseholder,

astfel. La primul pas este generat matricea

astfel nct matricea


transformat
()

s fie cu proprietatea c

()
, pentru . La pasul urmtor
matricea

este calculat astfel nct


()

()

este cu proprietatea

()
, pentru
(nu modific elementele nule din prima coloan, rezultate n urma primei transformri)
i

()
, pentru . Paii prezentai mai sus sunt reluai pentru procesarea celei de-a
doua coloane, respectiv a celei de-a doua linii n aceeai manier:

este astfel nct


matricea
()

()
este cu proprietatea c

()
, pentru ,

este calculat astfel


nct
()

()

este cu proprietatea c

()
, pentru i prima linie, respectiv
prima coloan a matricei
()
au n continuare elementele nule obinute dup primii doi pai.
n mod similar, dup m-1+n-2 pai sunt obinute matricele,

i
cu proprietatea (39)

Etapa a doua. Matricea B este redus la o matrice diagonal prin utilizarea metodei
iteraiei QR astfel. Este generat {
()
}

, irul de matrice superior bidiagonale care
converge ctre o matrice diagonal cu elemente valorile singulare ale matricei A. La limit,
procesul calculeaz matricele

astfel nct

}

Descompunerea SVD a matricei A este,



Analiza convergenei i stabilitii algoritmului Golub-Kahan-Reinsch sunt prezentate
n (Golub, Loan, 1989).