ВУЗ:
Составители:
Рубрика:
§
§
§ 28 Алгоритм построения жорданова базиса 337
Кроме того, при работе с некоторыми Maple-командами надо быть
готовым к тому, что при повторном выполнении команды может по-
лучиться ответ, отличный от полученного при первом применении
(хотя и равносильный ему, или — "равноправный" с ним — в случае,
когда решение не является единственным и процедура каким-либо
образом выбирает одно из множества решений).
28.6. "Процедура-сценарий" jrd для решения задач ТР2.
Для учебных целей автором разработана представляемая ниже про-
цедура jrd, которая для произвольной квадратной матрицы A с непу-
стым спектром (над полем рациональных чисел Q) возвращает ее
(частично) жорданову нормальную форму J, а также — матрицу
перехода T , содержащую (частично) жорданов базис.
Процедура jrd работает совершенно прямолинейно, в строгом со-
ответствии с описанием алгоритма 28.1, и может служить некоторой
"имитацией ручных вычислений" типового расчета ТР2 (см. п. 28.2).
Она, с некоторой натяжкой, может быть названа "сценарием", по-
скольку, помимо итоговой выдачи матриц J и T , по ходу работы
выводятся на печать все существенные промежуточные результаты
(матрицы, содержащие необработанные базисы в итерированных яд-
рах, параметры столбчатых диаграмм, сами эти диаграммы, этапы
обработки базисов и многое другое).
Автору показалось неуместным прибегать к организации диало-
га (например, с помощью Maplets), что превратило бы процедуру в
настоящий сценарий, но было бы определенным отвлечением от на-
ших — математических! — целей. (Будущим программистам будет
совсем не трудно самостоятельно разобраться в Maplet-технологии.)
Далее, чтобы как-то оправдаться перед ревнителями оптимиза-
ции программ, придется признать, что наша процедура ни в коем
случае не оптимальна. (Скажем, количество локальных перемен-
ных легко можно было бы сократить "в разы".) Но именно обучаю-
щий (и имитационный) характер процедуры обуславливает отказ от
непременного стремления к лаконичности и экономии памяти.
Обращение к Maple как языку программирования потребовало
некоторой коррекции обозначений (отказа от верхней индексации).
Скажем, фундаментальная матрица, содержащая необработанный
базис в четвертом итерированном ядре N
(4)
2
(т. е. в нуль-пространст-
ве матрицы B
4
2
), в пунктах 28.1 — 28.4 обозначалась F
(4)
2
, тогда как
в тексте процедуры jrd пришлось применить обзначение с двойным
индексированием: F [2][4]. Заметим, что будучи представленным в
§ 28 Алгоритм построения жорданова базиса 337
Кроме того, при работе с некоторыми Maple-командами надо быть
готовым к тому, что при повторном выполнении команды может по-
лучиться ответ, отличный от полученного при первом применении
(хотя и равносильный ему, или — "равноправный" с ним — в случае,
когда решение не является единственным и процедура каким-либо
образом выбирает одно из множества решений).
28.6. "Процедура-сценарий" jrd для решения задач ТР2.
Для учебных целей автором разработана представляемая ниже про-
цедура jrd, которая для произвольной квадратной матрицы A с непу-
стым спектром (над полем рациональных чисел Q) возвращает ее
(частично) жорданову нормальную форму J, а также — матрицу
перехода T , содержащую (частично) жорданов базис.
Процедура jrd работает совершенно прямолинейно, в строгом со-
ответствии с описанием алгоритма 28.1, и может служить некоторой
"имитацией ручных вычислений" типового расчета ТР2 (см. п. 28.2).
Она, с некоторой натяжкой, может быть названа "сценарием", по-
скольку, помимо итоговой выдачи матриц J и T , по ходу работы
выводятся на печать все существенные промежуточные результаты
(матрицы, содержащие необработанные базисы в итерированных яд-
рах, параметры столбчатых диаграмм, сами эти диаграммы, этапы
обработки базисов и многое другое).
Автору показалось неуместным прибегать к организации диало-
га (например, с помощью Maplets), что превратило бы процедуру в
настоящий сценарий, но было бы определенным отвлечением от на-
ших — математических! — целей. (Будущим программистам будет
совсем не трудно самостоятельно разобраться в Maplet-технологии.)
Далее, чтобы как-то оправдаться перед ревнителями оптимиза-
ции программ, придется признать, что наша процедура ни в коем
случае не оптимальна. (Скажем, количество локальных перемен-
ных легко можно было бы сократить "в разы".) Но именно обучаю-
щий (и имитационный) характер процедуры обуславливает отказ от
непременного стремления к лаконичности и экономии памяти.
Обращение к Maple как языку программирования потребовало
некоторой коррекции обозначений (отказа от верхней индексации).
Скажем, фундаментальная матрица, содержащая необработанный
(4)
базис в четвертом итерированном ядре N2 (т. е. в нуль-пространст-
(4)
ве матрицы B24 ), в пунктах 28.1 — 28.4 обозначалась F2 , тогда как
в тексте процедуры jrd пришлось применить обзначение с двойным
индексированием: F [2][4]. Заметим, что будучи представленным в
Страницы
- « первая
- ‹ предыдущая
- …
- 335
- 336
- 337
- 338
- 339
- …
- следующая ›
- последняя »
