дає змогу замінити обчислення визначників високих порядків за формулою на простіше.
Мінором Мік, що відповідає елементу аik(1?і, k?n) матриці називається визначник, який відповідає матриці, утвореній з матриці викреслюванням і-го рядка та k-го стовпця.
Алгебричним доповненням Аік елемента аik,(1?і, k?n) матриці називається відповідний мінор, взятий зі знаком „плюс”, якщо сума його індексів парна, і зі знаком „мінус”, якщо сума його індексів непарна :
Аik =( -1)i+kМік.
Теорема 3.1. Значення det(A) визначника, що визначає матрицю, дорівнює сумі добутків елементів довільного рядка або довільного стовпця на відповідні алгебричні доповнення:
det(A)=ai1Ai1+ai2Ai2 +...+ainAin(i=l, 2,...,n);
det(A) =aikAik+a2kA2k+.. .+ankAnk(k=l,2,.. .,n).
Доведемо теорему стосовно визначника третього порядку. Формула дає det(А)=а11(а22а33-а23а32)+а12[-(а21а33-а23а31)]+а13(а21а32-а22а31)=а11А11+а12А12+а13А13.
Аналогічно det (A)=a21A21+a22A22+a23A23=...=а13А13+а23А23+а33А33.
Доведена теорема дає можливість звести обчислення визначника n-го порядку (n>3) до визначника (n-1)-го порядку. Формули називають формулами розкладання визначника за елементами і-го рядка (k-го стовпця).
Теорема 3.2. Сума добутків елементів довільного рядка (стовпця) матриці на алгебричні доповнення відповідних елементів іншого її рядка (стовпця) дорівнює нулю:
ai1Aj1+ai2Aj2+...+ainAjn=0(i?j; j=1,2,...,n); a1kА1s+а2кA2s+...+ankAns=0(k ?s; s=l,2,...,n).
Текст програми на мові Тurbo Pascal
Uses crt;
const n=4;
var
m,v,vv,mm:array [l..n,l..n] of real;
I,j:integer; k,d:real;
begin
writeln('введи матрицю');
for i:=l to n do
for j :=1 to n do
begin
readln(m[I,j]);
end;
for i:=2 to n do
for j:=1 to n do
begin
k:=m[I,l]/m[l,l] ;
v [ 1,j] :=m[1,j];
v[I,j]:=m[l,j]*(-k)+m[I,j];
end;
for i:=3 to n do
for j:=2 to n do
begin
k:=v[I,2]/v[2,2];
mm[1,1]:=v[1,1];
mm[1,j]:=v[1,j];
mm[2,1]:=v[2,1];
mm[2,j]:=v[2,j];
mm[I,1]:=v[I,1];
mm[I,j]:=v[2,j]*(-k)+v[I,j];
end;
for i:=4 to n do
for j:=3 to n do
begin
k:=mm[1,3]/mm[3,3] ;
vv[I,j]:=mm[3,j]*(-k)+mm[I,j];
end;
for i:=l to n do
for j:=1 to n do
begin
vv[1,j]:=mm[1,j];
vv[2,j]:=mm[2,j];
vv[3,j]:=mm[3,j];
vv[I,1]:=mm[1,1];
vv[I,2]:=mm[1,2];
d:=l;
if (i=j) then d:=d*vv[I,j];
writeln(vv[I,j]:2:2);
end;
writeln('визначник даної матрицi',d:2:2);
end.
Результат роботи програми.
Дано матрицю 4Ч4 . Знайти її визначник.
Результат:
1)Матриця після перетворення:
2)Визначник дорівнює: detA=-l.
Висновок
Дана робота показує як можна раціонально використовувати комп'ютерні технології в обчислені математичних задач.
Список використаної літератури.
1. О.І. Соколенко "Вища математика". Київ. Видавничий центер "Академія" 2002.
2. А.І. та Л.А. Марченки "Прогамування в середовищі Turbо Раsсаl. Київ. "Вік+"2000.
Uses crt;
const n=4;
var
m,v,vv,mm:array [1..n,1..n] of real;
I,j:integer;k,d:real;
begin
writeln ('vvedu matrucju');
for i:=1 to n do
for j:=1 to n do
begin
readln (m[I,j]);
end;
for i:=2 to n do
for j:=1 to n do
begin
k:=m[I,1]/m[1,1];
v[1,j]:=m[1,j];
v[I,j]:=m[1,j]*(-k)+m[I,j];
end;
for i:=3 to n do
for j:=2 to n do
begin
k:=v[I,2]/v[2,2];
mm[1,1]:=v[1,1];
mm[1,j]:=v[1,j];
mm[2,1]:=v[2,1];
mm[2,j]:=v[2,j];
mm[I,1]:=v[I,j];
mm[I,j]:=v[2,j]*(-k)+v[I,j];
end;
for i:=4 to n do
for j:=3 to n do
begin
k:=mm[I,3]/mm[3,3];
vv[I,j]:=mm[3,j]*(-k)+mm[I,j];
end;
for i:=1 to n do
for j:=1 to n do
begin
vv[1,j]:=mm[1,j];
vv[2,j]:=mm[2,j];
vv[3,j]:=mm[3,j];
vv[I,1]:=mm[I,1];
vv[I,2]:=mm[I,2];
d:=1;
if (i=j) then d:=d*vv[I,j];
writeln (vv[I,j]:2:2);
end;
writeln ('vuznachnuk danoi matruci',d:2:2);
end.