Линейная алгебра. Теоремы и алгоритмы. Яцкин Н.И. - 542 стр.

UptoLike

Составители: 

542 Коды Maple-процедур Прил. 1
for k from 1 to m[i] do
# Число итераций не превышает
# алгебраической кратности m[i].
# Вычисление итераций (степеней)
# матрицы B[i]=B[i][1]=A-lambda[i]*E.
B[i][k]:=B[i][k-1].(A-lambda[i]*E):
# Приведение матриц B[i][k] к виду Жордана-Гаусса.
BGJ[i][k]:=ReducedRowEchelonForm(B[i][k]):
# Отыскание базиса в ядре N[i][k].
# (Функция NullSpace возвращает
# базис в этом ядре - как множество,
# которое в два этапа конвертируется
# сначала - в список,
# затем - в фундаментальную матрицу.)
Nbas[i][k]:=NullSpace(BGJ[i][k]):
F[i][k]:=convert(convert(Nbas[i][k],list),Matrix):
# Вычисление итерированных дефектов.
d[i][k]:=n-Rank(B[i][k]);
if d[i][k]<m[i] then
# Итерации продолжаются до тех пор, пока
# итерированный дефект остается меньшим,
# чем алгебраическая кратность собственного значения.
l[i]:=l[i]+1:
else
break;
# Выход из цикла по достижении стабилизации.
fi;
od:
# Показатель стабилизации определен
# и выдается на печать.
print(evaln(l[i])=l[i]);
# Печать промежуточных результатов
# и, в частности, - необработанных базисов
# в итерированных ядрах (в виде матриц F[i][k]).
for k from 1 to l[i] do
print(evaln(B[i][k])=B[i][k],evaln(BGJ[i][k])=BGJ[i][k]);
print(evaln(F[i][k])=F[i][k],evaln(d[i][k])=d[i][k]);
print(str);
od;
print(str);
od:
542                         Коды Maple-процедур                 Прил. 1

  for k from 1 to m[i] do
    # Число итераций не превышает
    # алгебраической кратности m[i].

      # Вычисление итераций (степеней)
      # матрицы B[i]=B[i][1]=A-lambda[i]*E.
      B[i][k]:=B[i][k-1].(A-lambda[i]*E):

      # Приведение матриц B[i][k] к виду Жордана-Гаусса.
      BGJ[i][k]:=ReducedRowEchelonForm(B[i][k]):

      #   Отыскание базиса в ядре N[i][k].
      #   (Функция NullSpace возвращает
      #   базис в этом ядре - как множество,
      #   которое в два этапа конвертируется
      #   сначала - в список,
      #   затем - в фундаментальную матрицу.)

      Nbas[i][k]:=NullSpace(BGJ[i][k]):
      F[i][k]:=convert(convert(Nbas[i][k],list),Matrix):

      # Вычисление итерированных дефектов.
      d[i][k]:=n-Rank(B[i][k]);

      if d[i][k]