Sunteți pe pagina 1din 3

Tema nr.

3
Date: n - dimensiunea sistemului, - precizia calculelor, matricea A
R
nn
sa se aproximeze inversa matricii A (daca este nesingulara!!) utilizand
metoda Gauss-Jordan.
Sa se aseze norma:
||A
init
A
1
GJ
I
n
||
unde A
init
este matricea init iala iar A
1
GJ
este inversa calculata cu metoda
Gauss-Jordan. Pentru norma matriciala de mai sus se foloseste norma denita
n laboratorul 4.
C R
nn
, C = (c
ij
)
n
i,j=1
, ||C||
1
= max{
n
X
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
X
k=1
a
ik
b
kj
Algoritmul Gauss-Jordan de inversare a unei matrici
Fie A o matrice reala patratica 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 procedeaza 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 repeta aceste operat ii pana 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 permutari care reecta schimbarile de linii facute)


1
Pasul p (p = 1, 2, . . . , n)
Vectorul reecta schimbarile de linii facute p ana la acest pas. Init ial
(p = 1)
i
= i, i = 1, . . . , n. La acest pas sistemul are urmatoarea forma :
x
i
=
p1
P
j=1
a
ij
y

j
+ a
ip
x
p
+
n
P
j=p+1
a
ij
x
j
, i = 1, . . . , p 1
y

p
=
p1
P
j=1
a
pj
y

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

i
=
p1
P
j=1
a
ij
y

j
+ a
ip
x
p
+
n
P
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 cauta i
0
{p, . . . , n} astfel ncat:
|a
i
0
p
| = max{|a
ip
| ; i = p, . . . , n}
Daca a
i
0
p
= 0 (|a
i
0
p
| ) atunci matricea A este singulara, inversa nu poate
calculata.
Daca a
i
0
p
6= 0 (|a
i
0
p
| > ), se interschimba linia p cu linia i
0
si se actualizeaza
vectorul (
i
0

p
). Sistemul ram ane n continuare n aceeasi forma ca mai
sus. Avem:
x
p
= (
p1
X
j=1
a
pj
y

j
+ y
p

n
X
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
P
j=1
a
ij
y

j
+
n
P
j=p+1
a
ij
x
j
+ a
ip
(
p1
P
j=1
a
pj
y

j
+ y

n
P
j=p+1
a
pj
x
j
)/a
pp
=
=
p1
P
j=1
(a
ij
a
ip
a
pj
/a
pp
)y

j
+ (a
ip
/a
pp
)y

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

a
ip
a
pp
a
pj
)y

j
+
a
ip
a
pp
y
p
+
n
X
j=p+1
(a
ij

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

j
+
1
a
pp
y

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

i
=
p1
P
j=1
(a
ij

a
ip
a
pp
a
pj
)y

j
+
a
ip
a
pp
y
p
+
n
X
j=p+1
(a
ij

a
ip
a
pp
a
pj
)x
j
, i = p + 1, . . . , n
2
La pasul p matricea A se transforma n matricea A
0
astfel:
Pentru i = 1, . . . , n , i 6= p
a
0
ij
= a
ij

a
ip
a
pp
a
pj
, j = 1, . . . , n , j 6= p
a
0
ip
=
a
ip
a
pp
Pentru i = p
a
0
pj
=
a
pj
a
pp
, j = 1, . . . , n , j 6= p
a
0
pp
=
1
a
pp
Calculele se pot face la ecare pas p n matricea A, fara a mai folosi matricea
auxiliara A
0
. La nal (dupa 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

= (e

1
e

2
e
n
)
unde e
T

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

. Nu este
nevoie sa se faca o nmult ire matriciala ci pentru a obt ine matricea A
1
se
amesteca 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
.
3

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