ВУЗ:
Составители:
Рубрика:
Прил. 1 Коды Maple-процедур 583
> Quadro[Signature]:=proc(A::'Matrix'(diagonal))
local n,B1,B2,E,T1,T2,T,i,j,s,t,r,pos,neg,zer,str,new_ord;
# Процедура Signature (сценарного типа)
# приведения диагональной матрицы
# (отвечающей квадратичной форме)
# к конгруэнтному нормальному виду
# (над полем действительных чисел).
n:=RowDimension(A);
# Размер матрицы.
E:=IdentityMatrix(n);
# Единичная матрица.
s:=0;t:=0;
# Заготовки для накопления
# индексов инерции.
pos:=[];neg:=[];zer:=[];
# Заготовки списков номеров переменных,
# которым отвечают
# положительные (отрицательные, нулевые)
# диагональные коэффициенты.
# Далее следует просмотр диагонали
# и заполнение указанных списков.
for i from 1 to n do
if A[i,i]>0 then
s:=s+1;
pos:=[pos[],i];
elif A[i,i]<0 then
t:=t+1;
neg:=[neg[],i];
else
zer:=[zer[],i];
fi;
od:
r:=s+t;
# Вычисление ранга матрицы.
print(`s=`||s,`t=`||t,`r=`||r);
print(`pos=`,pos,`neg=`,neg,`zer=`,zer);
# Далее определяется
# тип квадратичной формы
# (в плане знакоопределенности).
Прил. 1 Коды Maple-процедур 583
> Quadro[Signature]:=proc(A::'Matrix'(diagonal))
local n,B1,B2,E,T1,T2,T,i,j,s,t,r,pos,neg,zer,str,new_ord;
# Процедура Signature (сценарного типа)
# приведения диагональной матрицы
# (отвечающей квадратичной форме)
# к конгруэнтному нормальному виду
# (над полем действительных чисел).
n:=RowDimension(A);
# Размер матрицы.
E:=IdentityMatrix(n);
# Единичная матрица.
s:=0;t:=0;
# Заготовки для накопления
# индексов инерции.
pos:=[];neg:=[];zer:=[];
# Заготовки списков номеров переменных,
# которым отвечают
# положительные (отрицательные, нулевые)
# диагональные коэффициенты.
# Далее следует просмотр диагонали
# и заполнение указанных списков.
for i from 1 to n do
if A[i,i]>0 then
s:=s+1;
pos:=[pos[],i];
elif A[i,i]<0 then
t:=t+1;
neg:=[neg[],i];
else
zer:=[zer[],i];
fi;
od:
r:=s+t;
# Вычисление ранга матрицы.
print(`s=`||s,`t=`||t,`r=`||r);
print(`pos=`,pos,`neg=`,neg,`zer=`,zer);
# Далее определяется
# тип квадратичной формы
# (в плане знакоопределенности).
Страницы
- « первая
- ‹ предыдущая
- …
- 581
- 582
- 583
- 584
- 585
- …
- следующая ›
- последняя »
