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

UptoLike

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

586 Коды Maple-процедур Прил. 1
3а. Пример применения процедур пакета Quadro
(к ТР3 "Диагонализация
симметрических билинейных (квадратичных)
форм "; п. 39.1)
> restart;with(LinearAlgebra):
> read "F:/MaplePackages/Quadro.m"; with(Quadro);
[],,Jacob Lag
r
Signature
>
A:=Matrix([[0,1,0,1,0,1,0],[1,0,1,1,1,1,1],[0,1,0,0,1,0,1],
[1,1,0,0,1,1,1],[0,1,1,1,0,1,0],[1,1,0,1,1,0,1],
[0,1,1,1,0,1,0]]);
:= A
0101010
1011111
0100101
1100111
0111010
1101101
0111010
> (DL,TL):=Lagr(A);
# Запуск программы диагонализации по Лагранжу.
# Переменным DL и TL будут присвоены значения
# диагональной матрицы, конгруэнтной введенной,
# и матрицы перехода к диагонализирующему базису.
# Следите за заменами переменных
# (они регистрируются в матрицах U)
# и за преобразованиями данной матрицы
# (регистрируются в матрицах B).
# Так, на первом шаге применяется
# второй прием Лагранжа,
# в результате чего на диагонали,
# которая была в исходной матрице нулевой,
# появляются ненулевые элементы.
k=1
,U=
1-100000
1 100000
0 010000
0 001000
0 000100
0 000010
0 000001
586                          Коды Maple-процедур                      Прил. 1



3а. Пример применения процедур пакета Quadro
  (к ТР3 "Диагонализация
  симметрических билинейных (квадратичных)
  форм "; п. 39.1)

> restart;with(LinearAlgebra):
> read "F:/MaplePackages/Quadro.m"; with(Quadro);

                           [ Jacob , Lagr , Signature ]
>
A:=Matrix([[0,1,0,1,0,1,0],[1,0,1,1,1,1,1],[0,1,0,0,1,0,1],
           [1,1,0,0,1,1,1],[0,1,1,1,0,1,0],[1,1,0,1,1,0,1],
           [0,1,1,1,0,1,0]]);

                            ⎡0          1    0   1     0   1   0⎤
                            ⎢⎢                                    ⎥
                             ⎢⎢1        0    1   1     1   1   1 ⎥⎥
                                                                  ⎥
                              ⎢⎢0       1    0   0     1   0   1 ⎥⎥
                      A := ⎢⎢1          1    0   0     1   1   1 ⎥⎥
                               ⎢⎢                                 ⎥
                                ⎢⎢0     1    1   1     0   1   0 ⎥⎥
                                                                  ⎥
                                 ⎢⎢1    1    0   1     1   0   1 ⎥⎥
                                  ⎢⎢                              ⎥
                                   ⎣0   1    1   1     0   1   0 ⎥⎦


> (DL,TL):=Lagr(A);
# Запуск программы диагонализации по Лагранжу.
# Переменным DL и TL будут присвоены значения
# диагональной матрицы, конгруэнтной введенной,
# и матрицы перехода к диагонализирующему базису.
# Следите за заменами переменных
# (они регистрируются в матрицах U)
# и за преобразованиями данной матрицы
# (регистрируются в матрицах B).
# Так, на первом шаге применяется
# второй прием Лагранжа,
# в результате чего на диагонали,
# которая была в исходной матрице нулевой,
# появляются ненулевые элементы.

                                             k=1
                            ⎡⎢1         -1   0     0   0   0   0⎤
                                                                  ⎥
                             ⎢⎢1         1   0     0   0   0   0 ⎥⎥
                              ⎢⎢                                  ⎥
                               ⎢0        0   1     0   0   0   0 ⎥⎥
                      U= , ⎢⎢0           0   0     1   0   0   0 ⎥⎥
                               ⎢⎢                                 ⎥
                                ⎢⎢0      0   0     0   1   0   0 ⎥⎥
                                 ⎢0                               ⎥
                                 ⎢⎢      0   0     0   0   1   0 ⎥⎥
                                  ⎢⎣0                             ⎥
                                         0   0     0   0   0   1 ⎥⎦