Курсовая работа: Вычисление характеристических многочленов собственных значений и собственных векторов
end;
function Sign(r:real):shortint;
begin
if (r>=0) then sign:=1
elsesign:=-1;
end;
begin {начало основной процедуры}
for i:=1 to n do
for j:=1 to n do
a0[i,j]:=A[i,j];
for i:=1 to n do
begin{К i-той строке прибавляем (или вычитаем)
j-тую строку взятую со знаком i-того
элемента j-той строки. Таким образом,
на месте элемента a[i,i] возникает сумма
модулей элементов i-того столбца (ниже i-той строки)
взятая со знаком бывшего элемента a[i,i],
равенство нулю которой говорит о несуществовании
обратной матрицы }
for j:=i+1 to n do
AddStrings(A,AO,i,j,sign(A[i,i])*sign(A[j,i])); { Прямой ход }
if (abs(A[i,i])>e) then
begin
MultString(a,AO,i,1/A[i,i]);
for j:=i+1 to n do
AddStrings(a,AO,j,i,-A[j,i]);
end
elsebeginwriteln('Обратной матрицы не существует.');
halt;