Documente Academic
Documente Profesional
Documente Cultură
LINIARE. METODA
LUI GAUSS
Reamintim c
a un sistem de n ecuatii algebrice liniare cu n necunoscute este de
forma:
8
>
> a11 x1 + a12 x2 + ::: + a1n xn = b1
<
a21 x1 + a22 x2 + ::: + a2n xn = b2
(1) :
>
> :::::::::::::::::::::::::::
:
an1 x1 + an2 x2 + ::: + ann xn = bn
Ax = b;
unde:
2 3 2 3 2 3
a11 a12 ::: a1n x1 b1
6 a21 a22 ::: a2n 7 6 x2 7 6 b2 7
6 7 6 7 6 7
(2) A=6 .. .. .. 7;x = 6 .. 7;b = 6 .. 7:
4 . . . 5 4 . 5 4 . 5
an1 an2 ::: ann xn bn
(r)
n general, arr 6= 0 si se poate ar
ata considera matricea Frobenius:
2 3
1 0 0 ::: 0
6 .. 7
6 . 7
6 7
6 0 1 0 ::: 0 7
6 7
6 (r)
ar+1;r 7
6 7
Mr = 6 0 ::: 0 7:
6 (r)
arr 7
6 .. 7
6 7
6 . 7
6 (r) 7
4 anr 5
0 ::: (r)
0 ::: 1
arr
Dac
a not
am cu Ar+1 = Mr Ar ; atunci
2 (r+1) (r+1) (r+1) (r+1)
3
a11 a12 ::: a1r ::: a1n
6 (r+1) (r+1) (r+1) 7
6 0 a22 ::: a2r ::: a2n 7
6 .. .. .. .. 7
6 7
6 . . . . 7
6 7
Ar+1 =6
6 0 0
(r+1)
::: arr ::: arn
(r+1) 7;
7
6 (r+1) (r+1) 7
6 0 0 ::: 0 ar+1;r+1 ::: ar+1;n 7
6 .. .. .. .. .. 7
6 7
4 . . . . . 5
(r+1) (r+1)
0 0 ::: 0 an;r+1 ::: ann
(r) (r)
(r+1) (r) (r+1) (r) air arj
unde aij = aij ; pentru i = 1; :::; r; j = 1; :::; n; si aij = aij (r)
; pentru
arr
i; j = r + 1; :::; n:
n nal se obtine matricea superior triunghiular
a
2 (n) (n) (n)
3
a11 a12 ::: a1r
6 (n) (n) 7
6 0 a22 ::: a2n 7
U = An = Mn 1 ::: M2 M1 A = 6
6 .. .. .. 7:
7
4 . . . 5
(n)
0 0 ::: ann
Not
am cu M = Mn 1 Mn ::: M2 M1 si astfel obtinem
2 c
a U = M A:
2 3 2 3
5 2 1 1 0 0
6 1 1 0 7
Exemplul 1. A1 = 4 5 6 2 ; 5 M1 = 4 5;
4
4 2 1 0 1
2 3 2 3 5
5 2 1 1 0 0
6 0 8 1 7 6 0 1 0 7
A2 = 4 5; M2 = 4 5;
18 9 9
0 0 1
25 5 3 20 2 3
5 2 1 1 0 0
6 0 8 1 7 6 1 1 0 7:
U = A3 = 4 5; M = M1 M2 = 4 5
9 7 9
0 0 1
4 20 20
5
Consider
am sistemul:
8
< 5x1 + 2x2 + x3 = 12
5x1 6x2 + 2x3 = 1 ;
:
4x1 + 2x2 + x3 = 3
a c
arui solutie este x1 = 1; x2 = 2; x3 = 3: Sub form a matriceal
a sistemul se scrie:
Ax = b: Acest sistem este echivalent cu urm atorul sistem: (M2 M1 A)x = (M2 M1 )b:
Efectund calculele se obtine:
8
< 5x1 + 2x2 + x3 = 12
>
8x2 + x3 = 13 :
>
: 9 27
x3 =
4 4
Numarul operatiilor pentru determinarea matricei U si a vectorului M b
(r)
air (r)
Pentru o linie xat a i se calculeaz
a (r)
;apoi nmultirile cu arj ; r + 1 j n;
arr
(r) (r+1)
si se aduna aij ; r + 1 j n: La fel si cu bi : Sunt 2(n r) + 3 operatii pentru
ecare linie i; r+1 i n; iar pebtru ecare etap a vor (n r)[2(n r)+3] operatii.
Xn
2 1 7
n total vor 2(n r)2 + 3(n r) = n3 + n2 n operatii elementare.
r=1
3 2 6
Dac a adaugam si cele n2 operatii pentru rezolvarea sistemului triunghiular, rezult a
2 3 3 2 7
c
a num arul de operatii pentru rezolvarea sistemului Ax = b este n + n n:
3 2 6
1
n continuare not am cu Lr = Mr : Dup a cum s-a v azut mai nainte, Lr este de
forma In + mr eTr , adic a:
2 3
1 0 0 ::: 0
6 .. 7
6 . 7
6 7
6 0 1 0 ::: 0 7
6 7
6 (r)
ar+1;r 7
6 7
Lr = 6 0 ::: 0 7:
6 (r)
arr 7
6 .. 7
6 7
6 . 7
6 (r) 7
4 anr 5
0 ::: (r)
0 ::: 1
arr
Daca not
am cu L = L1 L2 ::: Ln 1 ; atunci L este o matrice inferior triunghiular
a
de felul urm
ator:
2 3
1 0 0 ::: 0
6 l21 1 0 ::: 0 7
6 7
L=6 . . .. .. 7 :
4 .. .. . . 5
ln1 ln2 ln3 ::: 1
1 1
Deoarece A = M1 M2 ::: Mn 11 U; rezult
a c
a:
(3) A = L U:
6
2 3
a11 ::: a1r
6 .. 7 6=
Asadar, orice matrice p a ce ndeplineste conditia det 4 ...
atratic . 5
ar1 arr
0 pentru orice r = 1; :::; n 1; admite o descompunere unic a sub forma (3), unde
L este inferior triunghiular a avnd elementele de pe diagonala principal a egale cu
1 si U este superior triunghiular a.
Descompunerea (3) este cunoscut a sub numele de factorizarea LU . Algoritmul
pentru factorizarea LU este programat n MATLAB si poate apelat cu secventa
[L; U ] = lu(A) (se aseaz
a cele dou a matrici).
n exemplul precedent avem:
2 3 2 3
1 0 0 1 0 0
6 1 0 7; 6 0 7;
L1 = 4 1 5 L2 = 4 0 1
5
4 9
0 1 0 1
5 20
2 3 2 3 2 3
1 0 0 5 2 1 5 2 1
6 1 1 0 7 6 0 8 1 7 4
A = L U =4 5 4 5= 5 6 2 5:
4 9 9
1 0 0 4 2 1
5 20 4
(r)
tia 1. Daca pivotul este "foarte mic", adica arr << 1, atunci mparti-
Observa
rile la acest pivot produc erori de rotunjire foarte mari, care altereaza solutia. n
acest caz se recomanda schimbarea pivotului. Se poate alege un nou pivot
n o
(r) (r)
r = a ir = max arr j r j n
sau n o
(r) (r)
r = ajr = max akl j r k n; 1 l n :
Algoritmul Gauss
% Introducere matrice A a coecientilor
% Introducere vector b al termenilor liberi
% Introducere n, dimensiunea matricii A
A_v=A;
b_v=b;
for r=1:n-1
fprintf(Etapa %g,r);
for i=r+1:n
for j=1:n
A(i,j)=A_v(i,j)-(A_v(i,r)*A_v(r,j))/A_v(r,r);
end
b(i)=b_v(i)-A_v(i,r)*b_v(r)/A_v(r,r);
end
A_v=A;
b_v=b;
end
7