Sunteți pe pagina 1din 11

Instruirea asistata de calculator la lecţiile de matematică:

1. Calculul determinanţilor
Temele matrici şi determinanţi se sdudiază la matematică în clasa a XI-a,
în capitolul “Elemente de algebră superioară”.
Metodile propuse pentru calculul unui determinant de ordinul n, pentru n=6, 7, 8, 9, 10,… necesită
mathematic calcule enorme şi de calculat un astfel de determinant practic e imposibil.
Deaceea, după explicarea şi aplicarea acestor metode pentru determinanţi de ordinul 3, 4, 5-?,
puteti aplica si metodele matematice, pentru determinanţi de ordin mai mare ar fi bine de utilizat
programele la calculatorul.

Utilizînd aceste metode, de creat un program la calculator care să calculeze cu usurinţă orice
determinant de ordinul n, pentru n destul de mare.

1. O metodă de calcul este conform definiţiei, care permite să reducem calcularea unui
determinant de ordinul n la calculul unui anumit număr de determinanţi de ordinul
(n-1). Aceasta va fi metoda recursiva de calcul a determinantilor, cand determinantul de
ordinal n se reduce la n-determinanti de ordinal (n-1). Cei de ordinal (n-1), la determinant
(minori) de ordinal (n-2),…, pana cand ajungem la determinanti de ordinal n=1;
2. O alta metoda este zerografierea - metoda interativa.
Fie
a11 a 12 ... a 1n
a a 22 ... a 2n
Δ=|. 21 .| |A|
.. . . .. ... ...
an 1 an 2 ... ann =
Spre deosebire de matrice, care reprezinta o succesiune indexata de date de acelasi tip,
determinantul este un numar. Determinantul e definit numai pentru matrice patrate, la care m=n.
Acest numar represinta o suma obtinuta prin dezvoltarea determinantului dupa orice linie i,
i=1..n, sau orice coloanala j, j=1..n.

Δ = ai1i1+ ai2i2 +ai3i3 +…+ainin - dezvoltarea dupa linia i.


ij= (-1)i+j Mij- se numesc complementi algebtici
Mij- se numesc minori obtinuti din matricea A[n][n],
eliminand linia i si coloanal j.
Elemente ramase in matricea A va alcatui o matrice patrata de ordinal (n-1),
determinantul careia se numeste Minor- si este de ordinul (n-1)
Aceasta metoda sta la baza alcatuirii unui program de calcul a determinantului
prin metoda recursiva.
Putem dezvolta determinantul si dupa orice coloanala j:
Δ = a1j1j+ a2j2j +a3j3j +…+anjnj - dezvoltarea dupa linia j, j=1..n, unde
ij= (-1)i+j Mij- se numesc complementi algebtici
Page 1 of 11
Programul e mai usor de alcatuit, daca dezvoltam dupa lini i=1,
fiindca mai usor obtinem minorii de ordinal (n-1)

Exemplu: dezvoltăm determinantul | A| după linia i=1, obţinem:

−1 0 1 2
2 −1 3 4 −1 3 4 2 3 4 2 −1 4
Δ=|. .|
5 −1 1 1 |. −1 1 1 .| |. 5 1 1 .| |. 5 −1 1 .|
2 −2 4 1 =(-1)(-1)1+1 −2 4 1 + 0  (-1)1+2 2 4 1 +1  (-1)1+3 2 −2 1 +
2 −1 3
|. 5 −1 1 .|
+2(-1)(1+4)* 2 −2 4 = (-1) (-8)+0+1(-35)+2(-1) (-14)=8+(-35)+28=1

Alcatuind programul recursiv, obtinem valoarea determinantului.


Atentie: apelurile recursive sa se termine la n=1.
Prin aceasta metoda se demonstreaza formulele de calcul al unui determinant
de ordinal n=2 si de ordinal n=3.
Formula de calcul al unui determinant de ordinul 2:

Formula de calcul al unui determinant de ordinul 3:

Page 2 of 11
Metoda lui Sarrus

Pentru un determinant de ordinul 4 formulele de calcul sunt complicat de memorizat.


Page 3 of 11
Pentru a calcula un determinant de ordinal 4, sau 5, … sunt mai multe metode:
1. Dezvoltam determinantul dupa orice linie i, i=1..n (aleasa cu cap) si reducem determinantul
de ordinal 4, la determinant de ordinal 3
Metoda recursiva:
2. Dezvoltam determinantul dupa orice coloanal j, j=1..n (aleasa cu cap) si reducem
determinantul de ordinal 4, la determinant de ordinal 3
3. Prin metoda Gauss, zerografiem 3 elemente de pe careva linie, sau careva coloanal si
dezvoltand dupa aceasta linie sau coloanal vom calcula doar un singur Minor, de ordinal n=3
Metoda iterativa:
4. Zerografiem prin metoda Gauss elementele mai jos de diagonala principala si atunci
dezvoltamd determinantul si Minorii dupa I coloanal vom obtine produsul elementelor de
pe diagonala principala. Aceasta metoda sta la baza programului de calcul a
determinantului prin metoda iterativa

5. Calculul determinantului prin metoda Jordan-Gauss, cu ajutorul elementului pivot.

Algoritmul de calcul al determinantului prin metoda iterativa

for (j=1; j<=n-1; j++)


{ iv=j; t=1;
while (iv<=n) && t do
if (a[iv][j]==0) iv=iv+1;
else t=0;
if (t){ det=0; break;}
if (j!=iv { det=-det;
for (k=j; k<=n; k++) swap (a[j][k], a[iv][k]);
}
for (l=j+1; l<=n;l++)
for (k=j+1; k<=n; k++)
a[l,k]=a[l,k]-a[j,k]*a[l,j]/a[j,j];
// scriem matricea zerografiata
// inmultim numerele de pe diagonala principala
}
for( j=1; j<=n; j++) det=det*a[j][j];
cout<<”det=”<<det) ;

Atentie : Proprietatile determinantului :


1. dacă toate elementele unei linii (sau coloane) dintr-o matrice sunt nule, atunci determinantul
matricei este nul;
2. dacă într-o matrice schimbăm două linii (sau coloane) între ele, obţinem o matrice care are
determinantul egal cu opusul determinantului matricei iniţiale;
3. dacă la o linie (sau o coloană) a matricei A adunăm elementele altei linii (sau coloane),
înmulţite cu acelaşi număr, atunci această matrice are acelaşi determinant ca şi matricea A.
4. Daca o linie, sau o coloana a determinantului se inmulteste cu un numar k, atunci si valoarea
determinantului se va inmulti cu k

Exemplul I
Page 4 of 11
De calcul a determinantului prin 4 metode

Page 5 of 11
Calculul determinantului sta la baza rezolvarii unui sistem din n-ecuatii liniare, cu n-
necunoscute prin metoda Cramer
Fie ca se da sistemul din n-ecuatii liniare cu n-necunoscute:

{
a 11 x1 + a12 x 2+ a13 x 3 +…+ a1 n x n=b1
a21 x1 +a 22 x 2+ a23 x 3 +…+ a2 n x n=b2
a31 x1 +a 32 x 2+ a33 x 3 +…+ a3 n x n=b3
… ..
an 1 x 1 +a n2 x 2+ an 3 x 3 +…+ ann x n=bn

x [ 1 ] [1] b [1]
x [ 2 ] [1] b [2]
Adica A*X=B, unde A[n][n]- matrice patrata, X= x [ 3 ] [1] ; B=b [ 3 ]
… …
x [ n ] [1] b[n]

Metoda Cramer:
1. Calculam dp=| A|, sau iterative, sau recursiv. Daca dp!=0, atunci putem aplica metoda Cramer.
2. Inlocuil elementele matricei A din I coloana cu B, si calculam determinantul d x 1
3. Punem la loc I coloana
4. Inlocuil elementele matricei A din II coloana cu B, si calculam determinantul d x 2
5. Punem la loc II coloana
6. …
7. Inlocuil elementele matricei A din coloanal-n cu B, si calculam determinantul d x n
8. Punem la loc coloanal-n
9. Calculam solutia sistemului :
d x1 dx dx dx
x 1= ; x 2= 2 x 3= 3 ….. x n= n
dp dp dp dp
Metoda lui Kramer de rezolvare a unui sistem de ecuatii

1) de declarat functia
double det (matrice A[n][n]);
care va calcula determinantul matricei A
2) Apelam functia det si calculam dp. Daca dp<>0, atunci :
3) Apelati functia det de (n)- ori si calculati d1, d2, ... , dn
4) calculati solutia sistemului x[1], x[2], ... , x[n]
Algoritmul :
if det(a)=0 then
writeln('determinantul pricipal e zero, nu putem ap.Kramer')
else begin
dp:=det(a);
writeln('dp=',dp:6:3);
if dp=0 then writeln(‘nu putem aplica metoda Cramer’)
else begin
for j:=1 to n do begin
for i:=1 to n do begin
save[i]:=a[i,j]; a[i,j]:=b[i];end;
k:=det(a;)
writeln(j,' det=',k):6:3);
x[j]:=k/dp;
for i:=1 to n do a[i,j]:=save[i];
end;
for i:=1 to n do write(' x',i,'=',x[i]:6:3);

Page 6 of 11
Metoda lui Gauss de rezolvare a unui sistem de ecuatii
1) Zerografierea elementelor in matricea A si vectorul B

for m:=j+1 to n do begin


for k:=j+1 to n do a[m,k]:=a[m,k]-a[j,k]*a[m,j]/a[j,j];
b[m]:=b[m]-b[j]*a[m,j]/a[j,j];
end;
2) Calcularea solutiei x[1] x[2] ... x[n]

if a[n][n]<>0 then begin {sistemul are o singura solutie}


x[n]:=b[n]/a[n,n];
for i:=n-1 downto 1 do begin
s:=b[i];
for j:=n downto i+1 do s:=s-a[i,j]*x[j];
x[i]:=s/a[i,i];
end;

Rezolvarea unui sistem prin metoda Cramer,


Page 7 of 11
calculand determinantii prin metode diferite:
Exemplul 1

Page 8 of 11
Page 9 of 11
Lucrul pentru acasa
De alcatuit algoritmii in C++:
1. Operatii cu matrici
2. Aducerea matricei la o matrice esalon
3. Calculul unui determinant prin metoda iterative
4. Calculul unui determinant prin metoda recursive
5. Rezolvarea unui system prin metoda Cramer
6. Rezolvarea unui system prin metoda Gauss

Problemele le dictez maine la lectie

Page 10 of 11
Page 11 of 11

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