ВУЗ:
Составители:
Рубрика:
Прил. 1 Коды Maple-процедур 539
2. Процедура-сценарий jrd
(к ТР2 "Жорданов базис для линейного эндоморфизма"; п. 28.5)
> restart;with(LinearAlgebra):
interface(rtablesize=infinity):
# Выбран интерфейс с возможностью вывода
# матриц произвольного размера.
> # MAPLE-сценарий:
# ПРИВЕДЕНИЕ К (ЧАСТИЧНОЙ) ЖОРДАНОВОЙ НОРМАЛЬНОЙ ФОРМЕ
# МАТРИЦЫ НАД ПОЛЕМ Q (ИЛИ НАД ПОЛЕМ Q[i])
> jrd:=proc(A::'Matrix'(square))
# Процедура применяется к квадратной матрице A.
# Работоспособна в случае рациональности ее элементов.
# (Отредактировав одну строку, можно получить версию,
# работающую над полем Q[i] гауссовых рациональных чисел.)
local n,E,i,j,k,u,v,
h,hf,hroots,s,lambda,m,ms,
exist_jbas,
B,BGJ,d,Nbas,F,l,
p,q,DIAGR,RIS,
jlist,num,
JS,J,
M,MG,blist,H,G,
GS,GSE,GSEG,
T,dt,str;
str:=`----------------------------------------------------------
------------------------`;
# Процедура названа "сценарием",
# поскольку по ходу работы
# на печать выводятся все существенные
# промежуточные результаты.
# В качестве "логического разделителя" этапов
# используется строка из дефисов.
# Размер матрицы.
n:=RowDimension(A);
print('n'=n);
# Единичная матрица.
E:=IdentityMatrix(n);
Прил. 1 Коды Maple-процедур 539
2. Процедура-сценарий jrd
(к ТР2 "Жорданов базис для линейного эндоморфизма"; п. 28.5)
> restart;with(LinearAlgebra):
interface(rtablesize=infinity):
# Выбран интерфейс с возможностью вывода
# матриц произвольного размера.
> # MAPLE-сценарий:
# ПРИВЕДЕНИЕ К (ЧАСТИЧНОЙ) ЖОРДАНОВОЙ НОРМАЛЬНОЙ ФОРМЕ
# МАТРИЦЫ НАД ПОЛЕМ Q (ИЛИ НАД ПОЛЕМ Q[i])
> jrd:=proc(A::'Matrix'(square))
# Процедура применяется к квадратной матрице A.
# Работоспособна в случае рациональности ее элементов.
# (Отредактировав одну строку, можно получить версию,
# работающую над полем Q[i] гауссовых рациональных чисел.)
local n,E,i,j,k,u,v,
h,hf,hroots,s,lambda,m,ms,
exist_jbas,
B,BGJ,d,Nbas,F,l,
p,q,DIAGR,RIS,
jlist,num,
JS,J,
M,MG,blist,H,G,
GS,GSE,GSEG,
T,dt,str;
str:=`----------------------------------------------------------
------------------------`;
# Процедура названа "сценарием",
# поскольку по ходу работы
# на печать выводятся все существенные
# промежуточные результаты.
# В качестве "логического разделителя" этапов
# используется строка из дефисов.
# Размер матрицы.
n:=RowDimension(A);
print('n'=n);
# Единичная матрица.
E:=IdentityMatrix(n);
Страницы
- « первая
- ‹ предыдущая
- …
- 537
- 538
- 539
- 540
- 541
- …
- следующая ›
- последняя »
