Documente Academic
Documente Profesional
Documente Cultură
Gauss Jordan
Gauss Jordan
ro/~ccosmin)
1. Introducere
Metodele de rezolvare a sistemelor de ecuatii liniare de forma (1) se grupeaza in general
in doua categorii: metode directe, bazate pe procedee de eliminare si metode indirecte
(iterative).
a11
a
21
...
a n1
a12
a 22
...
an 2
... a1n x1 b1
... a 2 n x2 b2
=
... ... ... ...
... a nn xn bn
(1)
AX = B
(1')
Proprietatile pe care le ofera liniaritatea unei functii sau ecuatii sunt utilizate ca elemente
de baza pentru metodele de rezolvare bazate pe procedee de eliminare a necunoscutelor.
Ecuatiile sistemului initial se pot multiplica prin constante si se combina cu ajutorul
operatiilor suplimentare obtinindu-se in final forme simplificate ale sistemului considerat.
La alegerea unei metode de calcul, pentru rezolvarea unei anumite probleme pe un sistem
de calcul dat, trebuie avute in vedere o serie de criterii cum ar fi: numarul secventelor de
calcul, precizia rezultatelor, posibilitatea introducerii unor teste de precizie, secventiale,
pe parcursul desfasurarii algoritmului.
In cadrul metodelor directe, care se considera a fi metode exacte, s-au impus metodele
care au la baza algoritmul de eliminare Gauss, cu variantele Gauss-Jordan, Doolitle,
Crout si Cholesky.
Metodele exacte permit obtinerea solutiei exacte a sistemului de ecuatii facind abstractie
de erorile de tip round-off ale sistemului de calcul, de erorile de rotunjire si trunchiere
folosind un numar finit de operatii elementare.
In cadrul metodelor iterative s-au impus metodele Jacobi, Gauss-Seidl, metoda relaxarilor
succesive si metoda Lanczos.
Metodele iterative se caracterizeaza prin faptul ca solutia sistemului considerat se obtine
ca limita a unui sir de valori ce reprezinta solutii pentru diverse iteratii succesive. In
cadrul acestor metode, se pune problema de a alege acea metoda, care asigura cea mai
mare viteza de convergenta a solutiilor pentru o aproximare initiala adecvat aleasa.
Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebrice
neomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU si
metoda Cholesky.
...
0
sau cu notatiile
a12
a
a22 21 a12
a11
...
a
a n 2 n1 a12
a11
a1n
b1
1
a
a
... a 2 n 21 a1n x b2 21 b1
a11
a11
2 =
...
...
...
...
a n1
an1
a1n xn bn
... a nn
b1
a11
a11
...
(2)
(3)
rezulta:
a11
0
...
=
... ... ... ... ...
(1) (1)
an(12) ... ann
xn bn
(i 1)
(i 1) = (i 1)
a
a
0
0
...
...
ii
in
xi bi
... ... ... ... ... ... ... ...
(i 1) (i 1)
0 ... a ni(i 1) ... a nn
0
xn bn
sau in forma restrinsa:
A (i 1) [X] = B (i 1)
(4)
(5)
(6)
In pasul l se obtine
[A ( ) ] [X] = [B ( ) ]
l
cu
aij(l ) = aij(l 1)
(l )
(l 1)
bi = bi
(7)
ail(l 1) (l 1)
= aij(l 1) mi(l 1) alj(l 1) , i, j = l + 1,..., n
(l 1) alj
all
ail(l 1) (l 1)
(l 1) bl = bi(l 1) mi(l 1)bl(l 1)
all
(1)
(1)
... a 2(1n) x2 b2(1)
a 22
a 23
(2 )
...
... ... ...
( n 1) ( n 1)
ann
xn bn
sau utilizind o scriere simbolica:
[0 \ S] [X] = [B ' ]
(8)
(9)
(10)
Observatie
In procesul de calcul automat, matricele succesive A (l ) se construiesc in spatiul de
memorie initial alolcat pentru matricea [A ] . Procedeul se prezinta algoritmat in forma
urmatoare:
[ ]
l = 1,2,..., n 1
i = l + 1,..., n
a
mi = il
all
bi = bi mi bl
j = l + 1,..., n
aij = aij mi alj
Pentru determinarea solutiei sistemului (1) are loc un proces de eliminare inversa
(substitutia inapoi) care poate fi descris astfel:
xn =
bn( n1)
( n 1)
ann
(n 2 )
xn1 = bn1
an( n1,2n) xn
an( n1,2n)1
(11)
...
(i 1)
xi = bi
(i 1)
ai ,n xn ...
ai(,ii+11) xi +1
aii(i 1)
, i = n 2, n 3,...,1
i = n 1, n 2,...,1
xi = a bi
1
ii
a
x
ij
j
j = i +1
in care aij sunt elemente ale matricii triunghiulare S iar bi elementele matricii B'.
In concluzie, in urma aplicarii unei eliminari Gauss dupa n-1 etape de calcul se obtine o
matrice S superior triunghiulara, asociata sistemului (1) cu conditia ca matricea A sa fie
nesingulara, iar elementele transformate de pe diagonala principala sa rezulte nenule in
fiecare pas al eliminarii: aii(l ) 0 , i=1,2,...,n; l=1,2,...,n-1. Valoarea determinantului
matricii A este dat de produsul elementelor de pe diagonala principala a matricii S:
(1)
(2 )
( n 1)
det (A ) = det (S ) = a11 a 22
a33
... a nn
(12)
2.2. Descompunerea LU
O modificare a metodei eliminarii, numita descompunerea sau factorizarea LU este
frecvent utilizata. In aceasta metoda, matricea coeficientilor A este tranformata intr-un
produs de doua matrici L si U unde L este matricea inferior triunghiulara si U este
matricea superior triunghiulara avind elemente egale cu 1 pe diagonala principala. Orice
matrice poate fi scrisa ca produsul unei matrici a permutarilor P a unei matrice inferior
triunghiulara L si a uneia superior triunghiulara U, intr-o infinitate de moduri. Din
intreaga gama de posibilitati vom alege varianta in care U are 1 pe diagonala.In
continuare va fi exemplificata aplicarea metodei in cazul unei matrici de dimensiuni 4x4.
l 41 l 42
0
0
l33
l 43
0 1 u12
0 0 1
0 0 0
l 44 0 0
u13
u 23
1
0
u14 a11
u 24 a 21
=
u 34 a31
1 a 41
a12
a13
a22
a 23
a32
a33
a42
a 43
a14
a 24
a34
a 44
(13)
(14)
(15)
(16)
In aceasta metoda se alterneaza gasirea unei coloane a lui L si a unei linii a lui U, astfel
ca urmeaza gasirea urmatoarei coloane a lui L, prin inmultirea liniilor lui L cu cu coloana
a doua a lui U:
l 21 u12 + l 22 = a22 ; l31 u12 + l32 = a32 ; l 41 u12 + l 42 = a42
(17)
l 22 , l32 , l 42
Procedind analog obtinem in continuare:
a l u
a l u
u 23 = 23 21 13 ; u 24 = 24 21 14
l 22
l 22
l33 = a33 l31u13 l32 u 23 ; l 43 = a43 l 41u13 l 42 u 23
a l u l u
u34 = 34 31 14 32 24
l33
(18)
i 1
uij =
aij lik u kj
k =1
lii
(19)
, i > j , j = 2,3,..., n
ai1 a1 j
=
l11 a11
(20)
a n1
a12
a 22
...
an 2
... u1n
... u 2 n
... ...
... l nn
(21)
ln1 ...
...
...
...
...
elemente nule
lii
...
...
lni
... l nn
(22)
(23)
Elementele matricei L se obtin in functie de cele ale matricei A prin identificarea termen
cu termen a rezolvarii produsului matrceal (22). Se obtin urmatoarele relatii de recurenta:
a
l11 = a11 ; li1 = i1
l11
i 1
(24)
l =1
j 1
( )
Relatia (24) arata ca termenii de pe diagonala principala rezulta sub forma radacinii
patrate din diferenta dintre elementele diagonalei respective aii si suma patratelor tuturor
elementelor de pe aceeasi coloane calculate anterior. Termenii secundari se calculeaza ca
diferente intre elementele respective aij al matricei A si suma unor produse de cite doi
factori, reprezentind elementele coloanelor i si j, totul impartit la termenul corespunzator
de pe diagonala principala lii.
Rezolvarea sistemului de ecuatii:
[L ][L][X] = [B] ;
T
(25)
Cu notatia [L ][X] = [B'] procedura de rezolvare in doua etape se aplica dupa cum
urmeaza:
Substitutia inainte:
[L][B'] = [B] [B']
(26)
b1' = b1 (l111 )
i 1
Substitutia inapoi
[L][X] = [B'] [X]
xn =
(27)
(28)
bn'
l nn1
i = n 1, n 2,...,1
(29)
n
'
xi = bi lij x j lii1
j = i +1
Observatie:
Remarcabil este faptul ca in factorizarea Cholesky vectorul B nu este afectat si in
consecinta matricea L o data obtinuta poate fi utilizata si pentru alte situatii, vectori liberi
diferiti.
...
x1 = a a x2 a x3 ... a xn
11
11
11
11
a
a
b2 a21
x1 23 x3 ... 2 n xn
x2 =
a22 a22
a22
a22
...
bn an1
an 2
ann1
xn = a a x1 a x2 ... a xn1
nn
nn
nn
nn
(30)
set de
(31)
(32)
aij
bi
; mij =
.
aii
aii
Calculele se pot conduce matriceal considerind relatia (32) scrisa sub forma condensata:
X = g + MX
(33)
gasind simultan la fiecare iteratie aproximatiile tuturor necunoscutelor. Considerind
vectorul de pornire:
(X ( ) ) = (x ( )
0
X (1) = g + MX (0 )
(34)
(35)
X ( 2 ) = g + MX (1)
....
(36)
X ( m+1) = g + MX ( m )
Relatiile (36) se mai pot scrie astfel:
X (1) = g + MX (0 )
X ( 2 ) = g + MX (1) = g + M (g + MX (0 ) ) = (I + M )g + M 2 X (0 )
X (3 ) = g + MX ( 2 ) = g + M ((I + M )g + M 2 X (0 ) ) = (I + M + M 2 )g + M 3 X (0 )
...
(37)
adica matricea M trebuie sa fie convergenta, sa ca M < 1 . Folosind pentru norma, norma
linie rezulta ca putem scrie:
n
n a
1 n
ij
< 1;
(39)
mij < 1;
j i
j i
din ultima inegalitate deducindu-se ca, pentru ca metoda Jacobi sa fie convergenta,
trebuie ca matricea A a sistemului sa fie diagonal dominanta.
Procesul de iterare este continuat in baza relatiilor (37) pina la incadrarea in precizia
dorita:
X ( k +1) X ( k )
<
(40)
X ( k +1)
numarul de iteratii fiind influentat de calitatea aproximatiei initiale X(0) si de modul in
care este conditionata matricea A a coeficientilor sistemului.
AX = b
(41)
Fie b' = b + r si X' = X + e unde r reprezinta vectorul care produce perturbarea iar e este
vectorul perturbarii solutiei.
Avem:
AX = b
(42)
A X' = b '
care mai poate fi rescris:
A(X' X ) = b' b
(43)
sau
Ae = r
(44)
X = A 1 b; X A 1 b ; b A X
e = A 1 r; e A 1 r ; r A e
(45)
sau:
b e A A 1 X r
X r A A 1 b e
(46)
Xr
A A 1
(47)
cond( A)
cond( A) b
X
b
(48)
10
Relatia (48) poate furniza informatii asupra stabilitatii sistemelor de ecuatii liniare. Astfel
daca matricea A a sistemului are numarul de conditie cond(A)1 atunci modificarea
e
este de acelasi ordin de marime ca si modificarea in termenul
solutiei exprimata prin
X
r
. Altfel spus daca mici modificari se produc in termenul liber, solutia
b
se modifica si ea in aceeasi masura. Sistemele cu matricea coeficientilor A avind numarul
de conditie cond(A) mic sunt sisteme bine conditionate, stabile in solutie.
liber definit de
Exemplu numeric
1.57x-3.42y=2.35
1.6x-3.40y=2.40
4
2
0
0
10
15
20
25
30
35
-2
Fig. 1
O imbunatatire a conditionarii se obtine daca se scade prima ecuatie din cea de a doua si
rezultatul se multiplica cu 100:
3.0 x + 2.04 y = 5.0
(50)
11
20
10
0
0
10
15
20
25
30
35
-10
3.0x+2.04y=5.0
1.6x-3.40y=2.4
-20
-30
-40
-50
Fig. 2
12