Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.18;
Скачать: CL | DM;

Вниз

Опять к вопросу об алгоритме   Найти похожие ветки 

 
Pinochet   (2002-04-06 10:14) [0]

На прошлых выходных я уже задавал этот вопрос:
мне нужно написать алгоритм вычисления детерминанта для данной матрицы(матрица может быть любого порядка, правило треугольника не поможет). Тогда мне предложили использовать метод Гаусса.
Порывшись в литературе я нашел, что метод Гаусса используется для решения систем линейных уравнений, и его смысл заключается в приведении матрицы коэффициентов к треугольному виду. Причем здесь вычесление детерминанта!?
...Или я в чем-то ошибаюсь!


 
MBo ©   (2002-04-06 10:17) [1]

http://www.srcc.msu.su/num_anal/lib_na/cat/cat5.htm


 
MBo ©   (2002-04-06 10:19) [2]

а приведение к треугольному виду позволяет вычислить определитель как произведение элементов главной диагонали, т.к. все остальные слагаемые будут равны 0


 
Pat ©   (2002-04-06 10:20) [3]

Когда-то писал на Паскале...разберешься...

function opr:real;
var
l,count,y,z,i,j,n1:integer;
x,k,p:real;

begin {function opr}

n1:=n;

p:=1;count:=0;
while n>1 do
begin{while}

if a[1,1]=0 then
begin
p:=-p;
for j:=1 to n do
if a[1,j]=0 then inc(count)
else count:=0; { исключение }
if count=n then { деления }
begin { на 0 }
n:=1;
a[1,1]:=0;
break; {выход из while"a}
end;

for j:=n downto 2 do
if a[1,j]<>0 then l:=j;
for i:=1 to n do
begin
x:=a[i,l];
a[i,l]:=a[i,1];
a[i,1]:=x;
end;
end;

p:=p*a[1,1];
x:=a[1,1]; {элемент [1,1]=1}
for i:=1 to n do
a[i,1]:=a[i,1]/x;

for j:=2 to n do {получаем 0 и 1}
begin
k:=a[1,j];
for i:=1 to n do
a[i,j]:=a[i,j]-a[i,1]*k;
end;

for i:=2 to n do {понижение порядка}
for j:=2 to n do
a[i-1,j-1]:=a[i,j];

dec(n);


end;{while}

opr:=p*a[1,1]; {определитель}

n:=n1;

for i:=1 to n do
for j:=1 to n do
a[i,j]:=b[i,j];

end;{function opr}




Страницы: 1 вся ветка

Текущий архив: 2002.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-57803
Тема
2002-04-06 15:29
2002.04.18
С чего начать???


1-57680
vrRaven
2002-03-30 16:40
2002.04.18
Переводчик


1-57710
RightCost
2002-04-03 23:05
2002.04.18
Как программно проверить, активна ли фарма?


3-57644
IPisk
2002-03-28 15:50
2002.04.18
Как передать в Blob-поле данные размером больше 1 Мб?


1-57807
Di_wind
2002-04-06 19:03
2002.04.18
RxLib