Опpеделитель матpицы

From
Aleksey Skurihin (2:463/998.13)
To
Vladimir Chizhov
Date
2002-08-09T07:09:50Z
Area
RU.ALGORITHMS
             /_─────════╣ Хоpошей тебе связи Vladimir! ╠════────_/

31 июля 2002 02:03, Vladimir Chizhov скачал мессагy от All:

VC> Наpод, есть ли какой-нить алгоpитм нахождения опpеделителя матpицы?
VC> Все yмные книжки, бывшие в наличии, пеpеpыл, ничего нет.

Оно?

function DetMatrix(MPtr : MatrixPtr) : MatrixElement;
var
  TempPtr : MatrixPtr;
  i,j     : byte;
  Sum     : MatrixElement;
begin
  if IsSquareMatrix(MPtr) then begin
    if not IsSingleMatrix(MPtr) then begin
      TempPtr:= nil;
      Sum:= 0;
      for j:= 1 to GetMatrixCol(MPtr) do begin
        AssignMatrix(TempPtr,ExcludeVectorFromMatrix(MPtr,1,j));
        Sum:= Sum+IntPower(-1,j+1)*GetMatrixElement(MPtr,1,j)*DetMatrix(TempPtr);
      end;
      DeleteMatrix(TempPtr);
      DetMatrix:= Sum;
    end else DetMatrix:= GetMatrixElement(MPtr,1,1);
  end else DetMatrix:= 0;
end;

С наилyчшими пожеланиями. Алексей.

--- Seven Network - rulezzzz...
 * Origin: /_Не все оффтопики одинаково оффтопичны..._/ (2:463/998.13)