Inversarea Matricilor
Inversarea Matricilor
Inversarea Matricilor
Inversarea matricilor
Vom considera o metoda care se bazeaza pe algoritmul clasic al lui Newton pentru imbunatatiri iterative ale
aproximarii inversei unei matrici patratice A. Aceasta metoda a fost obtinuta din dorinta de a calcula inversa
unei matrici intr-un timp cat mai mic. Timpul de executie redus se bazeaza pe o proprietate dinstinctiva a
t
metodelor Newton, convergenta patratica, convergenta ce se realizeaza in acelasi timp cu sirul {2 }, unde
este o constanta pozitiva mai mica decat 1. Aceasta este mult mai rapida decat convergenta geometrica ce se
realizeaza in aceasi timp cu sirul {t }.
Se da o matrice B de aceeasi dimensiune cu matricea A si definim o matrice reziduala R(B) = I
BA. Putem spune ca, in linii mari, R(B) masoara cat de departe este B de inversa matricei A. Consideram
urmatorul algoritm pentru calculul inversei unei matrici:
Algorithm 1 Calculul inversei unei matrici
Fie B0 astfel incat ||I B0 A||2 < 1
Calculeaza iterativ Bk utilizand formula
Bk+1 = (I + R(Bk ))Bk = 2Bk Bk ABk
Aceasta iteratie poate fi interpretata ca o metoda Newton de rezolvare a ecuatiei
X 1 A = 0.
Avem urmatoarele relatii echivalente:
R(Bk+1 ) = I Bk+1 A = I (I + R(Bk ))Bk A
R(Bk+1 ) = (I Bk A) R(Bk )Bk A = R(Bk )(I Bk A) = (R(Bk ))2
k
Deoarece am presupus ca ||R(B0 )|| < 1, obtinem ca R(Bk ) converge foarte repede la 0, echivalent cu
faptul ca Bk converge foarte repede la A1 .
Deci algoritmul converge cu succes pentru o alegere favorabila a lui B0 . Putem alege B0 folosind formula:
B0 =
A
tr(A A)
Aceasta valoare este numita numarul conditionat al lui A si joaca un rol important in analiza numerica
pentru a determina dificulatea de calcul al inversei matriei A.
Fie 1 2 n valorile proprii ale matriceai A A. Aceste valori proprii sunt reale si nenegative
deoarece matricea A A este simetrica si nenegativa. Folosind valorile proprii obtinem: (A) = ( n1 )1/2
A
tr(A A)
1
n2 (A) .
Proof.
Avem tr(A A) = 1 + + n .
Rezulta ca a i-a valoare proprie i a matricei I B0 A = I
Deoarece i 1 + + n obtinem ca i 0.
Deoarece 1 + + n nn obtinem:
A A
tr(A A)
i 1
i
1 ++n .
i
1
1
1
=1
2
nn
nn
n (A)
Rezulta ca (I B0 A) = max |i | 1
i
este egala cu 1
1
n2 (A) .
Lanturile Markov sunt larg folosite ca modele probabilistice. In aplicatii, lanturile Markov sunt adesea intalnite in spatii de dimensiuni mari. Adesea se doreste sa se calculeze distributia probabilista a acestor lanturi,
si acest calcul necesita o implementare paralela.
Fie P matricea de tranzitie probabilista a unui lant Markov cu n stari. Matricea P are urmatoarele proprietati:
P 0
pij = 1
j=1
Definition 2.1 Orice matrice care indeplineste cele doua proprietati se numeste matrice stocastica.
Definition 2.2 Un vector linie nenegativ care are suma componentelor egala cu 1 si are proprietatea
= P se numeste distributie invarianta a lantului Markov asociata lui P.
Consideram urmatorul algoritm pentru determinarea distributiei invariante: consideram (0) 0 cu
suma componentelor egala cu 1, si calculam iterativ
(t + 1) = (t)P
echivalent cu
(t) = (0)P t , t 0.
Dandu-se o matrice stocastica P, avem un graf direct orientat G = (N, A), unde N este multimea de stari
si A = {(i, j), pij > 0, i = j} multimea de arce (multimea tuturor tranzitiilor de stari care au o probabilitate
pozitiva).
Definition 2.3 Spunem ca matricea P este ireductibila daca pentru orice i, j N exista un drum pozitiv in
graf de la i la j.
Definition 2.4 Matricea P se numeste periodica daca exista un k > 1 si niste multimi disjuncte N0 , . . . , Nk1
astfel incat daca i Nl si pij > 0 atunci j Nl+1(modk) .
Definition 2.5 Spunem despre multimea P ca este aperiodica daca ea nu este periodica.
Definition 2.6 Spunem despre multimea P ca este primitiva daca exista un intreg pozitiv t astfel incat P t > 0.
Cateva exemple pot fi observate in figura 1.
i=1
i = 1.
Limita lui P t cand t tinde la infinit exista si este o matrice cu toate randurile egale cu .
Daca
i=1
Procesul iterativ = P admite o implementare paralela in care fiecare procesor i calculeaza componenta i a vectorului si la fiecare pas comunica valoarea nou calculata procesorelor j pentru care pij = 0.
Se presupune ca fiecare procesor j cunoaste elementele coloanei j din matricea P.
O alta implementare se obtine daca fiecare procesor j cunoaste elementele liniei j din matricea P.