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

UptoLike

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

Прил. 1 Коды Maple-процедур 553
print(str);
od;
# Завершение спуска по этажам диаграммы.
fi;
# Завершение рассмотрения случаев по одно-
# (или много-) этажности диаграммы.
od;
# Завершение цикла по номеру собственного значения.
# Подготовка окончательных ответов.
# Формирование матрицы GS, содержащей
# (полный или частичный) жорданов базис.
# (Число столбцов в GS равняется сумме ms
# всех алгебраических кратностей.)
GS:=Matrix(n,ms);
# Цикл по номеру собственного значения.
for i from 1 to s do
# Цикл по номеру строки в матрице DIAGR[i].
for k from 1 to l[i] do
# При всяком u от 1 до p[i][k]
# в позиции [k,u] в матрице DIAGR[i]
# стоит натуральное число DIAGR[i][k,u] -
# номер, под которым в матрице GS
# должен стоять вектор,
# извлеченный из матрицы G[i][k],
# где он имел номер u.
# Поэтому мы извлекаем из G[i][k]
# (как подматрицу) вектор
-столбец с номером u
# и вписываем его в матрицу GS
# как вектор-столбец с номером DIAGR[i][k,u].
for u from 1 to p[i][k] do
GS[1..n,DIAGR[i][k,u]..DIAGR[i][k,u]]:=
SubMatrix(G[i][k],1..n,u..u);
od;
od;
od;
# Печать матрицы GS, представляющей базис в корневой сумме.
print(evaln(GS)=GS);
print(str);print(str);
Прил. 1                   Коды Maple-процедур                 553

          print(str);

      od;
      # Завершение спуска по этажам диаграммы.

  fi;
  # Завершение рассмотрения случаев по одно-
  # (или много-) этажности диаграммы.

od;
# Завершение цикла по номеру собственного значения.

# Подготовка окончательных ответов.

# Формирование матрицы GS, содержащей
# (полный или частичный) жорданов базис.
# (Число столбцов в GS равняется сумме ms
# всех алгебраических кратностей.)
GS:=Matrix(n,ms);

# Цикл по номеру собственного значения.

for i from 1 to s do

  # Цикл по номеру строки в матрице DIAGR[i].
  for k from 1 to l[i] do

      # При всяком u от 1 до p[i][k]
      # в позиции [k,u] в матрице DIAGR[i]
      # стоит натуральное число DIAGR[i][k,u] -
      # номер, под которым в матрице GS
      # должен стоять вектор,
      # извлеченный из матрицы G[i][k],
      # где он имел номер u.
      # Поэтому мы извлекаем из G[i][k]
      # (как подматрицу) вектор-столбец с номером u
      # и вписываем его в матрицу GS
      # как вектор-столбец с номером DIAGR[i][k,u].
      for u from 1 to p[i][k] do
        GS[1..n,DIAGR[i][k,u]..DIAGR[i][k,u]]:=
        SubMatrix(G[i][k],1..n,u..u);
      od;

  od;

od;

# Печать матрицы GS, представляющей базис в корневой сумме.
print(evaln(GS)=GS);
print(str);print(str);