Глава 1. Численные методы алгебры
Легко убедиться, что ТА
(n-k)
Т есть преобразование по-
добия, так как (Т)
2
= Е; (Т)
-1
= Т. После этого преобразо-
вания вычисления продолжаются, как и в регулярном слу-
чае.
Более интересен случай, когда все элементы строки k,
левее а
kk -1
на (n-k) шаге равны нулю, т.е. невозможно по-
добрать очередной элемент непреобразованной части
строки, на который будет выполняться деление.
Матрица, которая должна быть преобразована на оче-
редном шаге вычислительной схемы, условно делится на
четыре блока, причем в силу особенностей строения этой
матрицы один из блоков будет состоять исключительно из
нулевых членов, т.е. будет нулевой матрицей О, второй
будет матрицей Фробениуса Ф, а два оставшихся - обыч-
ными матрицами, которые обозначим В и С (очевидно,
что все матрицы ранга n - k):
Тогда в силу теоремы Лапласа о разложении опреде-
лителя [Курош, 1962] имеет место равенство (в правой
части индексами обозначены порядки единичных матриц)
|A
(n-k)
- λE| = |B
(n-k)
- λE
k-1
| |Ф
(n-k)
- λE
n-k+1
|.
A так как Ф
(n-k)
есть матрица Фробениуса, то ее характе-
ристический многочлен выписывается по виду первой
строки. Остается только привести B
(n-k)
к каноническому
виду Фробениуса уже изложенным методом.
Можно подсчитать, что в регулярном случае необхо-
димо для вычисления характеристического многочлена
выполнить n
3
действий, поэтому метод Данилевского от-
носят к самым эффективным.
Для повышения точности вычислений на каждом шаге
преобразований при помощи перестановки строк или
столбцов выбирают наибольший элемент. Для контроля
вычислений на каждом шаге проверяют след матрицы,
который не должен изменяться.
Если найдены все собственные значения λ
i
матрицы А
и известна неособенная матрица S, то в методе Данилевс-
кого, как и в методе Крылова, для определения собствен-
ных значений матрицы А можно обойтись без решения
системы однородных линейных алгебраических уравнений
A
(Ф)
X = λ
i
X и использовать уже известную матрицу S:
S
= М
n-1
М
n-2
... М
2
М
1
. (1.40)
И хотя собственные значения матрицы A
(Ф)
и А различ-
ны, они имеют одинаковый спектр [Курош, 1962], следова-
тельно, между собственными значениями матрицы A
(Ф)
и
А существует связь, основанная на преобразовании
подобия матриц [Курош, 1962]. Если вектор X есть собст-
венный вектор матрицы A
(Ф)
, принадлежащий собст-
венному значению λ
i
, а вектор Y - собственный вектор
подобной ей матрицы Ф = S
-1
АS, принадлежащий тому же
собственному значению λ
i
, то вектор SY также будет
собственным вектором матpицы А, соответствующим
собственному значению λ
i
.
В этом утверждении можно легко убедиться. Пусть Y -
собственный вектор матрицы Ф, тогда
ФY = λ Y ; S
-1
АS Y = λ Y ;
S S
-1
АS Y = S
λ Y; АS Y = S
λ Y ;
АS Y =
λS Y; A X =
λ X.
Таким образом, собственные векторы исходной матри-
цы А легко находятся по собственным значениям матрицы
Фробениуса ФY = λY или, записав непосредственно, полу-
чим:
λ
λ
λ
λ
ypypy py
yy
yy
yy
nn
nn
11122
21
32
1
=+++
=
=
=
⎧
⎨
⎪
⎪
⎪
⎩
⎪
⎪
⎪
−
K
K
;
;
;
.
(1.41)
И так как собственный вектор определяется с точнос-
тью до полиномного множителя, положим у
n
= 1. Тогда из
системы (1.41) легко найти вектор Y, а первое уравнение
при этом используют исключительно для контроля
вычислений. Вектор X матрицы А вычисляется по
формуле
X= SY = М
n-1
М
n-2
... М
2
М
1
Y. (1.42)
Заметим, что не обязательно предварительно перемножать
матрицы М, удобнее последовательно умножать Y на
М
1
,
М
2
, ..., М
n-1
, при этом от умножения на М
i
у вектора Y
будет изменяться только i-я координата.
Если же случай нерегулярный, то этим приемом непо-
средственно пользоваться нельзя, надо предварительно
вычислить матрицу S полностью.
Подпрограмма DANIL предназначена для вычисления
собственных значений λ
i
матрицы А, положительно опре-
деленной, эрмитовой по методу Данилевского. Собствен-
A
nk
nk nk
k
nk
k
nk
n
nk
n
nk
k
nk
k
nk
kk
nk
kk
nk
kn
n
kn
nk
kn
nk
kn
nk
aa a a aa
aa a a a a
aa
−
−−
−
−−
−
−−
−
−
−
−
−−
−
−
−
−−
−
−
−
−
−
−
=
11 12
11 1
11 1
11 1 1 1 1 1 1
1
1
1
00 0
() () () () () ()
,
()
,2
()
,
()
,
()
,
()
,
()
()
,
(
|
|
|
___ ___ ___ ___ | ___ ___ ___ ___
|
LL
ML
LL
LL
)()
|
|
a
kn
nk−
⎛
⎝
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎞
⎠
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎟
MM M M MM
LL00 0 0 10
= .
BC
0
nk
nk
nk
−
−
−
⎛
⎝
⎜
⎜
⎞
⎠
⎟
⎟
Φ
44