Sunteți pe pagina 1din 5

Tema nr.

Fie p N si n N dimensiunile matricii A, p n,  - precizia


calculelor, matricea A Rpn , vectorul b Rp .

Pentru p = n > 500 sa se genereze aleator o matrice patratica, rara si


simetrica (A = AT ), folosind schema de memorare cu liste descrisa n
Tema 4. De asemenea, sa se genereze structurile rare citind matricea
din fisierul postat pe pagina cursului.

Pentru p = n si A matrice simetrica (A = AT ) si rara sa se imple-


menteze metoda puterii pentru aproximarea celei mai mari valori pro-
prii a matricii A si a unui vector propriu asociat. Dupa citirea matricii
din fisier, sa se verifice daca matricea este simetrica. Sa se afiseze
valorile proprii de modul maxim aproximate pentru matricea generata
aleator ssi pentru cea din fisier.

Cazul p > n (matrici clasice, nerare): utilizand descompunerea dupa


valori singulare (Singular Value Decompisition) din biblioteca folosita
la Tema 2, sa se calculeze si sa se afiseze:

valorile singulare ale matricii A,


rangul matricii A,
numarul de conditionare al matricii A,
norma ||A U SV T || ,
matricea As = 1 u1 v1T +2 u2 v2T + +s us vsT si norma kAAs k
unde s rang(A), este un numar natural citit de la tastatura.

1
Vectori si valori proprii - definitii

Fie A Rnn o matrice reala de dimensiune n. Se numeste valoare


proprie asociata matricii A, numarul complex C, pentru care exista un
vector nenul u 6= 0 numit si vector propriu asociat valorii proprii pentru
care:
Au = u
Valorile proprii ale matricii A pot fi definite si ca radacini ale polinomului
caracteristic asociat matricii A, pA ():

pA () = det(I A) = 0

Polinomul caracteristic este un polinom de grad n, deci orice matrice de


dimensiune n are n valori proprii (reale si/sau complex conjugate).
Despre matricile simetrice se poate arata ca au toate valorile proprii reale.

Metoda puterii

Fie A Rnn o matrice simetrica. Se poate arata ca, pentru un vector


x Rn , x 6= 0, sirul de vectori:
x Ax A2 x A3 x
, , , , ... (1)
||x||2 ||Ax||2 ||A2 x||2 ||A3 x||2
converge la vectorul propriu asociat valorii proprii de modul maxim.
Se defineste coeficientul Rayleigh pentru un vector x Rn ca fiind numarul
real:
xT Ax (Ax, x)Rn
r(x) = T =
x x ||x||22
In relatiile de mai sus am notat cu || ||2 , (, )Rn norma euclidiana a unui
vector si respectiv produsul scalar a doi vectori.
Coeficientul Rayleigh are proprietatea ca daca x este vector propriu al
matricii A asociat valorii proprii atunci r(x) = . Daca, atunci cand se
calculeaza sirul (1), se calculeaza si coeficientii Rayleigh pentru vectorii din
sir, obtinem o metoda de aproximare a valorii proprii de modul maxim.
T
inand cont de observatiile de mai sus putem descrie metoda puterii astfel

2
Metoda puterii - schema algoritmului

se alege vectorul v (0) Rn aleator, dar cu ||v (0) ||2 = 1;


w = Av (0) ;
0 = (w, v (0) )Rn ;
k = 0;
do
1
v (k+1) = w;
||w||2
w = Av (k+1) ;
k+1 = (w, v (k+1) )Rn ;
k++ ;
while (||w k v (k) ||2 > n si k kmax );
(la intoducerea datelor, se pot lua  109 si kmax = 1000000)
Daca se iese din bucla while pe varianta k > kmax algoritmul nu a reusit
sa calculeze valoarea proprie de modul maxim si un vectorul propriu asociat.
In acest caz se poate ncerca marirea valorii lui  si reluarea calculelor.
Daca s-a iesit pe cealalta varianta, (||Av (k) k v (k) ||2 n), n k+1 avem
o aproximare a unei valori proprii de modul maxim a matricii A, iar n v (k+1)
o aproximare a unui vector propriu asociat acestei autovalori.
In algoritmul de mai sus nu este nevoie sa alocam siruri pentru k si v (k)
ci avem nevoie doar de un singur element pentru fiecare sir: R pentru a
memora valoarea lui k si v Rn pentru v (k) .
Alegerea vectorului initial v (0) cu ||v (0) ||2 = 1 se poate face pornind de la
un vector nenul generat aleator, x Rn , x 6= 0, si punand:
1
v (0) = x
||x||2

3
Descompunerea dup
a valori singulare

(Singular Value Decomposition)

Fie A Rpn . Se numeste decompunere dupa valori singulare a matricii:

A = U SV T , U Rpp , S Rpn , V Rnn

cu U = [u1 u2 ... up ] (vectorii ui sunt coloanele matricii U ) si V = [v1 v2 ... vn ]


matrici ortogonale iar S matrice de forma:

1 0 0

0

0 2 0 0
Rpn

pentru p n S= ..
.


0 0 p 0

1 0 0
0 2 0



..
.

Rpn

pentru p > n S=

0 0 n

..

.

0 0 0
unde numerele nenegative i 0, i sunt valorile singulare ale matricii A.
Rangul matricii A este numarul de valori singulare strict pozitive:

rang (A) = numarul de valori singulare i > 0.

Numarul de conditionare al matricii A este raportul dintre cea mai mare


valoare singulara si cea mai mica valoare singulara strict pozitiva.
max
k2 (A) = ,
min
max = max{i ; i valoare singulara} ,
min = min{i ; i > 0 valoare singulara}

4
s
i ui viT se folosesc primele s coloane
X
Pentru calculul matricilor As =
i=1
ale matricilor U si V . O matrice ui viT are forma:

x1 y1 x1 y2 x1 yn

x1 y1

x2
y2
x2 y1 x2 y2 x2 yn
, uv T =

u= .. , v= .. .. .
. . .


xp yn xp y 1 xp y 2 xp y n

Matricile de forma W = uv T Rpn au aceeasi dimensiune ca matricea


A, W = (wij = xi yj ; i = 1, ..., p, j = 1, ..., n).

S-ar putea să vă placă și