Documente Academic
Documente Profesional
Documente Cultură
Algebra liniara este un domeniu al matematicii care constituie fundamentul pentru stiintele
computationale si inginerie. Ea ofera suportul teoretic, tehnici si instrumente pentru dezvoltarea
a numerosi algoritmi.
Cursul pe care l vom studia introduce notiunile si metodele de baza ale algebrei liniare,
relevante pentru Computer Science (CS).
Problematica de baza a algebrei liniara consta n:
dezvoltarea de metode de rezolvare a sistemelor de m ecuatii liniare cu n necunoscute,
m, n 4 (metodele de rezolvare a sistemelor corespunzatoare lui m, n = 2, 3, studiate la liceu,
sunt ineficiente pentru dimensiuni mai mari);
studiul spatiilor vectoriale reale si al aplicatiilor liniare, reprezentate de matrici;
descompunerea (factorizarea) matricilor n produse de matrici speciale, care fie ca necesita
un volum redus de memorie pentru stocare, fie ca operatiile n care sunt implicate se efectueaza
ntr-un numar redus de pasi si nu n ultimul rand, matricile din descompunere codifica proprietati ale matricii ce se descompune.
Notatiile si modul de manipulare al matricilor pe care le folosim n cadrul cursului sunt
tipice pentru literatura destinata CS.
http://www.latex-project.org/
A=
a11
a21
..
.
a12
a22
..
.
a1n
a2n
.
..
(1.1)
La fel ca n Python2, notam coloana j a matricii A prin A[:, j], iar linia i prin A[i, :]. Indexarea
elementelor unei matrici, A = (aij ), ncepe n matematica de la 1, n timp ce n limbajele
evoluate de programare, C/C++, Java, Python, de la 0, adica:
a00
a01
a0,n1
a10
a11
a1,n1
(1.2)
A=
.
..
..
..
.
.
.
am1,0 am1,1 am1,n1
De aceea trebuie acordata mare atentie implementarii algoritmilor ce contin ca date, matrici,
si prezentarea algoritmului este facuta n notatie matematica!
abordarile ulterioare din curs, o matrice generala de tipul (1.1) va fi
Observatia 1.2.1 In
reprezentata de coloanele sale notate fie ca mai sus, folosind regula Python, fie notate v1 , v2 , . . . , vn ,
unde
a1j
a2j
vj = .. j = 1, n
.
amj
si vom nota
A = [v1 |v2 | . . . vn ]
Spunem ca matricea A se obtine prin concatenarea coloanelor v1 , v2 , . . . , vn .
Reamintim ca pentru orice doua matrici A, B cu elemente din acelasi corp K, cu particularitatea ca numarul de coloane al primei matrici coincide cu numarul de linii al celei de-a doua,
adica A este de tip m p, iar B de tip p n, definim matricea produs, ca fiind matricea
C = AB, de elemente cij K, cu
cij = ai1 b1j + ai2 b2j + + aip bpj =
p
X
aik bkj ,
(1.3)
k=1
adica:
c11
..
.
ci1
.
..
cm1
2
. . . c1j
.
. . . ..
...
cij
..
.
...
. . . cmj
a11
. . . c1n
.. ..
... . .
. . . cin = ai1
. .
. . . .. ..
am1
. . . cmn
. . . a1k
.
. . . ..
aik
.
. . . ..
. . . a1p
.
. . . ..
aip
.
. . . ..
. . . amk . . . amp
b11 . . . b1j
..
.
. . . . ..
bk1 . . . bkj
..
.
. . . . ..
bp1 . . . bpj
http://enthought.com/
. . . b1n
.
. . . ..
. . . bkn
.
. . . ..
. . . bpn
Fixand o coloana j, din relatia (1.3) rezulta ca elementele acesteia se exprima astfel:
c1j
a11 a12 . . . a1p
b1j
c2,j a21 a22 . . . a2p b2j
.. = ..
..
.. ..
. .
. ... . .
cmj
bpj
am1 am2 . . . amp
sau concentrat, C[:, j] = A B[:, j].
Astfel matricea produs C = AB este reprezentata de coloanele sale astfel:
C = AB = [A B[:, 1]|A B[:, 2]| |A B[:, n]]
De interes special va fi produsul dintre o matrice A Kmn si o matrice coloana x Rn1 :
Ax = b, b Rm1 .
Exprimarea produsului Ax
x1
x2
n
X
aik xk =
k=1
a12
a11
b1
a22
a21
b2
.. = x1 .. +x2 ..
.
.
.
am2
am1
bm
n
X
xk aik
k=1
+ +xn
a1n
a2n
..
.
amn
Matrici particulare
Matricea de tip m n ce are toate elementele 0 se numeste matricea nula si se noteaza
cu Omn ;
Matricea patratica de tip n n,
In =
1
0
..
.
0
1
..
.
0 0
0
0
..
.
1
avand 1 pe diagonala principala si zero n rest, i.e. aii = 1, i = 1, n si aij = 0, pentru orice
i 6= j, se numeste matricea unitate.
Un element arbitrar (generic) al matricii unitate se noteaza ij , unde ij , numit simbolul lui
Kronecker, se defineste astfel:
1 daca i = j
ij =
0 daca i 6= j
Oricare ar fi A o matrice patratica de tip n n, avem AIn = In A = A, adica In este elementul
unitate fata de nmultirea matricilor patratice.
Notam cu e1 , e2 , . . . , en coloanele matricii unitate:
0
..
.
ej = 1 j
.
..
0
Astfel avem reprezentarea In = [e1 |e2 | . . . |en ].
Matrici permutare
1 2 ... i ... n
... ...
1 2 . . . i . . . n
si 1 , inversa sa:
1
1 2 . . . i . . . n
= ... ...
1 2 ... i ... n
0 0 1
P(3,1,2) = 1 0 0
0 1 0
(1.4)
Cum pe linia i din matricea In doar elementul i i este egal cu 1, restul fiind zero, rezulta
ca pe linia i a matricii P este egal cu 1, doar elementul pii :
1 daca j = i
pij = i j =
(1.5)
0 daca j 6= i
Sa evidentiem cateva proprietati ale matricilor permutare:
Produsul dintre o matrice permutare P si o matrice coloana este:
x1
x1
x2 x
2
P .. = ..
. .
xn
xn
adica matricea P are ca efect permutarea liniilor matricii coloana conform permutarii .
Demonstratie: Notam cu Y matricea produs P X,
x1
x2
X = .. , Y =
.
xn
y1
y2
..
.
yn
n
X
pik xk =
n
X
i k xk
k=1
k=1
Deoarece pentru k = 1, 2, . . . , n doar cand k = i , avem i i = 1, restul fiind zero, avem ca:
yi = i i xi = xi
|{z}
=1
pentru orice i = 1, n.
0 0 1
x1
x3
P(3,1,2) X = 1 0 0 x2 = x1
0 1 0
x3
x2
particular produsul unei matrici permutare P , de tip n n, cu o matrice
Consecinta . In
A de tip n m, P A, este matricea obtinuta din A aplicand permutarea liniilor sale.
Intr-adevar, scriind coloanele matricii produs P A avem ca:
n
X
pik qkj =
k=1
n
X
i k qkj
k=1
Dar din definitia matricii permutare avem ca pji = j i . Elementul j i este egal cu:
j i =
1 daca i = j i = j
= ij
0 daca i 6= j i 6= j
= b1
= b2
(1.6)
A = ..
..
..
.
.
. ...
am1 am2 . . . amn
si matricea prelungita A obtinuta prin bordarea matricii A cu coloana termenilor liberi:
A = ..
..
.. ..
.
. ...
. .
am1 am2 . . . amn bm
b1
b2
..
.
(1.7)
ann xn = bn ,
unde coeficientii aii 6= 0, i = 1, n. Matricea unui astfel de sistem este matrice superior triunghiulara:
U = ..
(1.8)
..
..
.
. ... .
0
0 . . . ann
Sistemul fiind presupus compatibil determinat, rezulta ca determinantul sau este nenul:
det(A) = a11 a22 ann 6= 0
aii 6= 0, i = 1, 2, . . . , n
si se rezolva prin metoda substitutiei inverse, adica se rezolva succesiv ecuatiile n, n1, . . . , 2, 1.
Din ultima ecuatie se calculeaza xn = bn /ann , care se introduce n ecuatia n 1, ce se rezolva
apoi n raport cu xn1 , si asa mai departe, pana ajungem la rezolvarea ecuatiei 1. Avem deci
urmatorul:
Algoritm de rezolvare a unui sistem n forma triunghiulara
calculeaza xn = bn /ann ;
pentru i descrescand de la n 1 la 1, calculeaza:
xi =
1
(bi ai,i+1 xi+1 ai,i+2 xi+2 ain xn )
aii
In cele ce urmeaza vom arata ca orice sistem de m ecuatii cu n necunoscute, se poate reduce printr-un sir de transformari succesive numite transformari elementare pe linie la o forma
cvasitriunghiulara numita si forma scara pe linii (row echelon form n l. engleza).
Definitia 1.3.1 O matrice S Kmn are forma scara pe linii daca verifica urmatoarele doua
proprietati:
1. Daca o linie Si,: are toate elementele 0 atunci toate liniile de sub aceasta au elementele
zero: adica S[j, :] = [ 0 0 0] , cu i < j m;
2. Daca primul element nenul dintr-o linie S[i, :] este sij , atunci n coloanele S[:, 1],
S[ :, 2], . . . , S[:, j] toate elementele din liniile i + 1, i + 2, . . . , m (de sub linia i) sunt nule.
Matricea urmatoare ilustreaza particularitatile din definitie. Elementele notate prin simbolizeaza elemente nenule. Elementele pot fi nule sau nenule.
0 0
0 0 0
(1.9)
S=
0 0 0 0 0 0 S[i, :]
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Un caz particular de matrice n forma scara pe linie este matricea superior triunghiulara cu
elementele de pe diagonala principala nenule:
...
0 ...
..
.
.
.
.
.
.
U = .
.
.
.
.
.
.
0 0 ...
0 0 ... 0
Urmatoarele matrici au forma scara pe linie:
1 3
0
3
2 3
5 1
0 2 5
0
1
3 6
2
2 8
0 1
7 S2 = 0 0
S1 = 0
0 0
0
0
0
0
0
2
0 0
0
0
0
0
0
0
3
0
S3 =
0
0
2
4
0
1
1 3 1
2
0
0
1 5
0
0
0 3
Definitia 1.3.2 Primul element nenul de pe o linie a unei matrici n forma scara pe linie se
numeste pivot.
In matricea simbolica din 1.9 pivotul este notat ).
In continuare prezentam procedura prin care matricea unui sistem de ecuatii liniare poate fi
transformata ntr-o matrice avand forma scara. In acest scop reamintim:
Definitia 1.3.3 Doua sisteme de m ecuatii liniare cu n necunoscute se numesc echivalente daca
multimea solutiilor este aceeasi pentru ambele sisteme.
10
Consideram sistemul de ecuatii liniare (1.6) si notam cu Eci ecuatia a i-a din sistem, i.e.:
Eci :
Suma a doua ecuatii distincte Eci , Ecj revine la a aduna membru cu membru (i.e. membrul
stang al uneia la membrul stang al celei de-a doua si la fel pentru membrii drepti). Produsul
cu un scalar nenul (numar real sau complex) al ecuatiei Eci , Eci revine la a nmulti fiecare
membru al ecuatiei cu 6= 0.
Urmatoarele trei transformari aplicate asupra sistemului:
Ec1
Ec2
S=
..
Ec
m
Ecj :
practic actioneaza identic asupra liniilor i si j din matricea prelungita a sistemului, A = [A|b].
Notam cu Li o linie a acestei matrici, i = 1, m. Astfel avem urmatoarele transformari elementare pe linie asupra matricii prelungite A si implicit asupra matricii A, care nu afecteaza
multimea solutiilor sistemului caruia i s-au asociat aceste matrici:
1: Schimbarea a doua linii ntre ele Li Lj ;
2. Inmultirea unie linii Li cu un scalar real (sau complex) nenul, (daca matricea este o
matrice de elemente reale, respectiv complexe);
3. Adunarea unei linii nmultita cu un scalar nenul la alta linie: Li + Lj Lj .
Sa luam acum un exemplu de sistem de m ecuatii cu n necunoscute, , m 6= n, si sa aplicam
transformari elementare pe linie de tip 1. 3. asupra matricii prelungite pentru a obtine forma
scara a acesteia.
Exemplul 1. Fie sistemul de 4 ecuatii cu 5 necunoscute dat n forma matriciala:
x1
5
1 2 1 3 3
2 4 0 4 4 x2 6
1 2 3 5 5 x3 = 9
x4
9
2 4 0 4 7
x5
11
1
2
A=
1
2
2
4
2
4
1
0
3
0
3
4
5
4
3
4
5
7
5
6
9
9
1 2
1
3
3 5
0 0 2 2 2 4
0 0
2
2
2 4
0 0 2 2
1 1
Sa alegem pivotul pentru linia 2 (primul element nenul de pe linia 2 din viitoarea forma scara).
Observam ca n pozitia (2, 2) avem 0. Nici liniile i de sub linia 2 nu au n pozitia (i, 2) element
nenul, ca sa efectuam o schimbare de linii L2 Li . Prin urmare alegem pivotul ca fiind din
pozitia (2, 3). Efectuam transformarile elementare L2 + L3 L3 , 1L2 + L4 L4 pentru a
anula toti coeficientii de sub elementul din pozitia (2, 3), adica coeficientii din pozitiile (i, 3),
i > 2:
1 2
1
3
3 5
1 2
1
3
3 5
0 0 2 2 2 4 0 0 2 2 2 4
0 0
0
0
0 0
2
2
2 4 0 0
0 0
0
0
3 3
0 0 2 2
1 3
Deoarece linia 3 contine doar elemente nule, schimband linia 3 cu linia 4 obtinem o matrice
care este deja n forma scara:
1 2
1
3
3 5
0 0 2 2 2 4
0 0
0
0
3 3
0 0
0
0
0 0
si sistemul echivalent:
12
Daca liniilor unui determinant li se aplica o transformare de tip 1., atunci determinantul
schimba semnul, daca se aplica o transformare de tip 2 atunci valoarea determinantului se
nmulteste cu scalarul respectiv, iar daca se aplica o transformare de tip 3. valoarea determinantului nu se schimba. Deoarece cele trei tipuri de transformari elementare pe linie, (1 3),
aplicate unui determinant transforma astfel determinanti nenuli n determinanti nenuli si determinat 0 n determinant zero, rezulta:
Proprietate. Cele trei tipuri de transformari elementare pe linie (1 3) aplicate unei
matrici A nu modifica rangul matricii si astfel rangul matricii A coincide cu rangul formei
scara.
Propozitia 1.3.1 Rangul unei matrici n forma scara pe linii este egal cu numarul de pivoti.
Demonstratie: Intr-adevar, daca forma scara pe linii S are r linii nenule (deci r pivoti), atunci
rangul matricii S este r, deoarece determinantul constituit din intersectia primelor r linii cu
coloanele j1 , j2 , . . . jr , n care se gasesc pivotii liniilor 1, 2, . . . , r este nenul (fiind determinantul
unei matrici superior triunghiulare cu elementele de pe diagonala principala nenule) si nu exista
un determinant de ordin mai mare ca r nenul.
Prima informatie ce se extrage din forma scara a unei matrici A este rangul matricii A,
care este dat de numarul de pivoti.
Matricea sistemului (1) are trei pivoti, deci rangul este 3. Un determinant principal (determinant de ordinul rangului) este determinantul matricii de intersectie a liniilor 1, 2, 3 cu coloanele
1, 3, 5 n care se gasesc pivotii liniilor 1, 2, 3:
1
1
3
0 2 2 = 6 6= 0
(1.10)
0
0
3
Rangul matricii prelungite este de asemenea 3, deci conform teoremei KroneckerCapelli sistemul este compatibil. Pentru a obtine multimea solutiilor aplicam metoda studiata la liceu,
urmand ca ulterior sa evidentiem o alta metoda.
Rezolvam primele 3 ecuatii n raport cu necunoscutele x1 , x3 , x5 care sunt necunoscute principale. := x2 , = x4 sunt necunoscute secundare.
Rezolvand sistemul:
x1 + 2 + x3 + 3 + 3x5 =
5
x3 x5 = 2
x5 =
1
n raport cu necunoscutele principale avem: x5 = 1, x3 = 2 1 = 1 , x1 = 5 2
(1 ) 3 3 = 1 2 2. Deci multimea solutiilor este:
{(x1 , x2 , x3 , x4 , x5 ) = (1 2 2, , 1 , , 1), , R}
13
0 2 3
1
0 5
4 2
A=
0 0
7 1
0 1 1
0
La prima vedere acest exemplu pare nejustificat daca am considera aceasta matrice ca matricea (prelungita) a unui sistem de ecuatii liniare, deoarece avand coloana 1 formata din zerouri
rezulta ca sistemul practic nu depinde de necunoscuta x1 si deci este inutil sa folosim coloana
1. Reducerea unei matrici la forma scara pe linii nsa se folseste n algebra liniara si n alte
scopuri, nu numai n rezolvarea sistemelor liniare si existenta unei coloane nule este posibila n
unele probleme.
Cum coloana 1 este zero, a11 nu poate fi pivot pentru linia 1 si nici un alt elemnt ai1 , i > 1,
prin schimbarea liniei 1 cu linia i. Prima coloana nenula este k = 2. Pentru calcule mai simple,
schimbam linia 1 cu linia 4 si obtinem matricea:
0 1 1
0
0 5
4 2
A1 =
0 0
7 1
0 2 3
1
14
0 1 1
0
0 0
9 2
A2 =
0 0
7 1
0 0 1
1
Apoi n A2 interschimbam L2 L4 :
0
0
A3 =
0
0
1 1
0
0 1
1
0
7 1
0
9 2
0 1 1 0
0 0 1 1
A3 =
0 0
0 6
0 0
0 7
Pivotul liniei 3 este 6. Transformarea (7/6)L3 + L4
0 1 1
0 0 1
S=
0 0
0
0 0
0
0
1
6
0