Sunteți pe pagina 1din 3

Algoritmi sincroni

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

Iterativ obtinem astfel ca R(Bk ) = (R(B0 ))2 . Avem astfel inegalitatea:


k

||R(Bk )||2 = ||(R(B0 ))2 ||2 ||R(B0 )||22

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)

unde tr(A A) este urma matricei A A


Pentru orice matrice nesingulara A facem urmatoarea notatie:
(A) = ||A||2 ||A1 ||2 .
1

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)

atunci ||I B0 A||2 1

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)

Proposition 1.1 Daca B0 =

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) .

Deoarece I B0 A este matrice simetrica si ||I B0 A||2 = (I B0 A) obtinem ||I B0 A||2


1 n21(A) .
Algoritmul poate fi folosit si pentru rezolvarea sistemelor liniare Ax = b. Se calculeaza intai matricea
A1 si apoi se obtine x = A1 b.

Lantul lui Markov

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.

Figure 1: Graf direct orientat asociat unei matrici stocastice


Proposition 2.1 O matrice stocastica P este primitiva daca si numai daca este ireductibila si aperiodica.
Proposition 2.2 Fie P o matrice stocastica.
raza spectrala a lui P este egala cu 1 ((P ) = 1);
daca este un vector cu suma elementelor egala cu 1, atunci vectorul P are aceeasi proprietate.
Convergenta sirului iterativ (t + 1) = (t)P se obtine folosind urmatoarea teorema:
Theorem 2.1 Fie P o matrice stocastica primitiva. Atunci:
Exista un unic vector astfel incat = P si

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 (0) = 1, atunci iteratia (t + 1) = (t)P converge la .

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.

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