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

UptoLike

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

Прил. 1 Коды Maple-процедур 545
# Задание матриц RIS[i]
# (имеющих лишь иллюстративное назначение).
# ВНИМАНИЕ! Строки в матрицах RIS[i] и DIAGR[i]
# нумеруются в противоположном направлении:
# k-я строка в матрице RIS[i] соответствет
# (l[i]-k+1)-й строке в матрице DIAGR[i].
RIS[i]:=Matrix(l[i],d[i][1]):
for j from 1 to d[i][1] do
for k from 1 to l[i] do
RIS[i][k,j]:=DIAGR[i][l[i]-k+1,j];
od;
od;
od:
# Печать "полуфабрикатов" столбчатых диаграмм.
for i from 1 to s do
print(evaln(DIAGR[i])=RIS[i]);
od;
print(str);
# Сквозная нумерация ячеек столбчатых диаграмм.
num:=0:
# Цикл по номеру собственного значения.
for i from 1 to s do
# Обновление матрицы DIAGR[i].
# Цикл по номеру столбца в DIAGR[i].
for j from 1 to d[i][1] do
# Цикл по номеру строки в DIAGR[i].
for k from 1 to l[i] do #to 1 by -1 do
if DIAGR[i][k,j]=`*` then
# Каждая позиция, занятая *,
# увеличивает номер num на единицу.
# (Именно в эту позицию проставляется
# полученное значение num.)
num:=num+1:
DIAGR[i][k,j]:=num:
else
break:
fi:
od:
od:
Прил. 1                     Коды Maple-процедур     545

  # Задание матриц RIS[i]
  # (имеющих лишь иллюстративное назначение).
  # ВНИМАНИЕ! Строки в матрицах RIS[i] и DIAGR[i]
  # нумеруются в противоположном направлении:
  # k-я строка в матрице RIS[i] соответствет
  # (l[i]-k+1)-й строке в матрице DIAGR[i].
  RIS[i]:=Matrix(l[i],d[i][1]):
  for j from 1 to d[i][1] do
    for k from 1 to l[i] do
      RIS[i][k,j]:=DIAGR[i][l[i]-k+1,j];
    od;
  od;

od:

# Печать "полуфабрикатов" столбчатых диаграмм.
for i from 1 to s do
  print(evaln(DIAGR[i])=RIS[i]);
od;
print(str);

# Сквозная нумерация ячеек столбчатых диаграмм.
num:=0:

# Цикл по номеру собственного значения.
for i from 1 to s do

  # Обновление матрицы DIAGR[i].

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

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

          if DIAGR[i][k,j]=`*` then
            # Каждая позиция, занятая *,
            # увеличивает номер num на единицу.
            # (Именно в эту позицию проставляется
            # полученное значение num.)
            num:=num+1:
            DIAGR[i][k,j]:=num:

          else
            break:
          fi:

      od:

  od: