Применение временных рядов для анализа больших данных. Учебное пособие по курсу «Математические методы анализа больших данных»
.pdf
1.15. Метод сопряжённых направлений
|
|
|
|
|
|
ξ |
(2) |
= b − Ax |
(2) |
, |
|
|
|
|
|
|
|
|
|
( |
Aξ |
(2) |
,d |
(1) |
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2) |
|
|
|
|
|
|
(2) |
|
|
|
(1) |
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
= |
ξ |
+ |
d |
, |
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= − |
|
|
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
(Ad |
(1) |
|
|
|
(1) |
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
,d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(ξ(2),d(2) ) |
|
|
|
|
|
|
x |
(3) |
|
= x |
(2) |
+ |
d |
(2) |
. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 = (Ad(2),d(2) ), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
2 |
определяется из этого условия |
(Ad |
(2) |
, d |
(1) |
)= 0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2 |
|
определяется из условия |
(ξ |
(3) |
, d |
(2) |
)= 0 |
. Кроме того, здесь используется |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
самосопряжённость (симметрия) A, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
(2) |
,d |
(0) |
)= |
(A(ξ |
(2) |
+ d |
(1) |
),d |
(0) |
)= (Aξ |
(2) |
,d |
(0) |
)+ |
|
|
|
(1) |
,d |
(0) |
)= |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
(Ad |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
(Ad |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
= (ξ(2), Ad(0))+ 0 = −1 |
(ξ(2),ξ(0) |
− ξ(1))= −1(ξ(2),d(0) |
− (d(1) − d(0)))= |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
( |
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
0 |
( |
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
1 |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
1 |
|
|
(2) |
|
|
|
|
(0) |
|
|
|
|
|
0 |
|
|
|
(2) |
|
|
|
(1) |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
= |
−1 |
(1 |
+ ) |
|
ξ |
,d |
|
|
− |
−1 |
|
|
ξ |
,d |
|
|
= 0, |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
(ξ |
(3) |
,d |
(k ) |
)= (ξ |
(2) |
− 1Ad |
(2) |
,d |
(k ) |
) |
= (ξ |
(2) |
,d |
(k ) |
)− 1 (Ad |
(2) |
,d |
(k ) |
)= 0, k = 0;1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
Предположим, выполняются соотношения: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
( j ) |
,d |
( j −1) |
|
|
|
|
|
|
( j ) |
,d |
( j −2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( j ) |
,d |
(0) |
)= 0 |
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
(Ad |
|
|
|
|
|
|
|
)= (Ad |
|
|
|
|
|
|
)= = (Ad |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
и |
|
|
|
|
|
|
(ξ( j+1),d( j) ) |
||
|
Шаг S = j + 1: |
|
||
ξ |
( j+1) |
= b − Ax |
( j+1) |
, |
|
|
|||
= (ξ( j+1),d( j−1) )= = (ξ(
|
|
|
(Aξ |
( |
j+1) |
,d |
( j) |
) |
|
|||
|
|
|
|
|
|
|
|
|||||
|
j+1 |
= − |
(Ad |
( j ) |
|
|
( |
j) |
) |
, |
||
|
|
,d |
|
|||||||||
|
|
|
|
|
|
|
||||||
j+1),d(0) )= 0.
d |
( j+1) |
= ξ |
( j+1) |
+ |
d |
( j ) |
, |
|
|
|
|||||
|
|
|
|
|
j+1 |
|
|
j +1
j +1
|
|
|
(ξ |
( j+1) |
,d |
( j+1) |
) |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
= |
|
|
|
|
|
|
|
|
|
, |
x |
( j+2 |
|
j+1 |
(Ad |
( j+1) |
|
|
( j+1) |
) |
|
|
|||||||
|
|
|
|
|
|
|
|||||||||
|
|
,d |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
( j +1) |
, d |
( j ) |
) |
определяется из условия (Ad |
|
||||||||||||||
определяется из условия (ξ( j +2), d( j +1))
) |
= x |
( j+1) |
+ |
d |
( j+1) |
. |
|
|
|
||||
|
|
|
2 |
|
|
|
= 0 . |
|
|
|
|
|
|
= 0 .
31
1. Численные методы решения систем линейных алгебраических уравнений
Докажем выполнение (Ad(j +1),d(k ))= 0 |
для 0 k j −1, |
(ξ(j +2),d(k ))= 0 |
|||||||||||||||||||||||||||||||
для 0 k j . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(( +1), ( )) = ( (( +1) |
+ |
|
( )), ( )) = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= (( +1), ( )) + |
|
|
(( ), ( )) = (( +1), ( )) + 0 = |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
= −1(ξ( j +1) |
, ξ(k ) − ξ(k +1))= −1(ξ( j +1), (d(k ) − |
d(k −1))− |
(d(k +1) − |
k |
|
d(k )))= |
|||||||||||||||||||||||||||
k |
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
+1 |
||
|
|
= |
−1 |
(ξ |
( j +1) |
, |
(1+ |
|
|
)d |
(k ) |
− |
d |
(k −1) |
− d |
(k +1) |
)= |
|
|
|
|
||||||||||||
|
|
k |
|
|
k +1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
−1 |
(1+ k+1 )(ξ |
( j+1) |
,d |
(k ) |
|
|
−1 |
|
(ξ |
( j+1) |
,d |
(k−1) |
) |
|
−1 |
(ξ |
( j+1) |
,d |
(k+1) |
)= 0. |
|||||||||||||
= k |
|
|
|
)− k k |
|
|
|
|
|
− k |
|
|
|
|
|
|
|||||||||||||||||
Тогда
(ξ( j +2), d(k ))= (ξ( j +1) − j Ad( j +1), d(k ))= (ξ( j +1), d(k ))− j (Ad( j +1), d(k ))= 0
и для 0 ≤ k ≤ j. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
Из условия A-ортогональности направления |
d |
(s) |
0 |
всем предыду- |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
щим направлениям |
d |
(s−1) |
, d |
(s−2) |
, …, |
|
d |
(0) |
следует линейная независимость |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
d |
(s) |
со всеми предыдущими направлениями d |
(s−1) |
, |
d |
(s−2) |
, …, d |
(0) |
. |
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
Докажем это. Скалярное произведение |
(d |
(s) |
, Ad |
(s) |
) |
для ненулевого |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||
вектора |
d |
(s) |
|
0 |
и положительно определённой матрицы A строго поло- |
||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
жительно |
(d |
(s) |
|
(s) |
) 0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
, Ad |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
Предположим, направление |
d |
(s) |
0 |
линейно зависимо от направ- |
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
лений d |
(s−1) |
, |
d |
(s−2) |
, …, |
d |
(0) |
. Это означает, что направление d |
(s) |
может |
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
быть выражено в виде линейной комбинации d(s−1) , |
|
d(s−2) |
, …, d(0) |
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
d |
(s) |
= d |
(s−1) |
+ |
|
d |
(s−2) |
|
+ |
|
+ |
d |
(0) |
, |
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где среди чисел , |
2 |
, …, |
1 |
|
(d(s), Ad(s))= (d(
s),
s |
обязательно есть ненулевые. Но тогда |
|
A( 1d(s−1) + 2d(s−2) + + sd(0)))=
= 1 (d(s), Ad(s−1) )+ 2 (d(s), Ad(s−2) )+ |
+ s (d(s), Ad(0) )= 0, |
32
1.15. Метод сопряжённых направлений
что противоречит предположениям d(s) 0 и положительной определённости матрицы A.
Это означает следующее. При решении СЛАУ с n неизвестными мы ищем решение в пространстве n измерений. Но в пространстве n измерений не может быть линейно независимых направлений больше n. Но
d |
(1) |
линейно независимо с |
d |
(0) |
, |
d |
(2) |
линейно независимо с d |
(0) |
и |
d |
(1) |
, |
||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||
d |
(3) |
линейно независимо с |
d |
(0) |
, |
d |
(1) |
и d |
(2) |
и т.д. |
Как минимум, |
d |
(n) |
||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||
уже не может быть линейно независимо с d |
(0) |
, |
d |
(1) |
, …, d |
(n−1) |
, потому |
||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||
что это будет уже (n + 1)-е линейно независимое направление. Противо-
речие исключается, если отказаться от d |
(n) |
0 . |
|||||
|
|||||||
|
|
Но d |
(n) |
= 0 означает, что нет направления дальнейшего уточнения |
|||
|
|
|
|
||||
x |
(n ) |
. Таким образом, не более чем за n итераций метод сопряжённых направ- |
|||||
|
|||||||
лений достигает решения СЛАУ с n неизвестными (и n уравнениями). |
|||||||
|
|
Далее |
приведён псевдокод рассмотренных стационарных (метод |
||||
Зейделя, метод релаксации, метод простых итераций, Чебышёвский итерационный метод) и нестационарных (метод скорейшего спуска, метод минимальных невязок, метод сопряжённых направлений) итерационных методов решения СЛАУ (табл. 1–3).
Таблица 1
Псевдокод алгоритмов итерационных методов Зейделевского типа
Метод Зейделя
Input:
n, A, b, ε;
x 0 |
; |
|
e
b
;
Метод релаксации |
|
|
Input: |
|
|
n, A, b, ε, ω; |
|
|
x 0 |
; |
|
|
|
|
e b ; |
|
|
|
|
|
|
Окончание табл. 1 |
|
|
Метод Зейделя |
|
Метод релаксации |
|
|
|
|
r e |
; |
r e |
; |
|
|
||
while(r ≥ e)do |
while(r ≥ e)do |
||
|
for i:=1 to n do |
|
for i:=1 to n do |
|
|
|
|
33
1. Численные методы решения систем линейных алгебраических уравнений
|
|
1 |
|
|
i −1 |
|
|
|
xˆ |
|
b − |
a |
xˆ |
|
− |
||
a |
|
|||||||
i |
|
|
i |
i, j |
|
j |
|
|
|
|
i,i |
|
j =1 |
|
|
|
|
|
|
|
endfor |
|
|
|
||
|
|
|
y b − Ax ; |
|
||||
|
|
|
r |
(y, y) ; |
|
|||
endwhile
Output: x.
n |
|
|
|
a |
x |
|
|
i, j |
|
j |
|
|
|
||
j =i +1 |
|
|
;
|
|
|
|
|
|
i −1 |
|
|
|
n |
|
|
|
; |
xˆ |
x |
+ |
b − |
a |
xˆ |
|
− |
a |
x |
|
|
|||
a |
|
|
||||||||||||
i |
i |
|
|
i |
i, j |
|
j |
|
i, j |
|
j |
|
|
|
|
|
|
i,i |
|
j =1 |
|
|
|
j =i |
|
|
|
|
|
|
|
endfor |
|
|
|
|
|
|
|
|
|
|||
|
|
y b − Ax ; |
|
|
|
|
|
|
|
|
||||
|
|
r |
|
(y, y) ; |
|
|
|
|
|
|
|
|
||
endwhile
Output: x.
Таблица 2
Псевдокод алгоритмов явных стационарных итерационных методов
Метод простых итераций
Input:
n, A, b, ε;
2
( max + min ); x 0 ;
e
b
; r e ;
while(r ≥ e)do
yb − Ax ; x x + y ;
r |
(y, y) ; |
endwhile
Метод простых итераций
Чебышёвский итерационный метод
Input: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n, A, b, ε, m, |
i |
,i |
, ,i |
|
; |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
1 |
2 |
|
m |
|
|
|
|
|
|
|
|
|
p m i1, i2 , , im ; |
|
|
|
|
|
|
|
|
|
||||||||
for k:=1 to m do |
|
|
|
|
|
|
|
|
|
|
|
||||||
i |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
2 p k |
+1 |
|
|||
|
|
|
+ |
|
|
|
+ ( |
|
|
− |
|
|
|||||
max |
min |
|
max |
min |
)cos |
2m |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
endfor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x 0 ; |
e b |
; |
r e |
; |
|
|
|
|
|
|
|||||||
while(r ≥ e)do |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
for k:=1 to m do |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
y b − Ax ; |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
x x + k y ; |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Окончание табл. 2 |
||||
Чебышёвский итерационный метод
Endfor
r 
(y, y) ;
34
|
|
1.15. Метод сопряжённых направлений |
||
|
|
|
|
|
|
|
|
endwhile |
|
|
Output: |
|
Output: |
|
|
x. |
|
x. |
|
|
|
|
|
|
Таблица 3
Псевдокод нестационарных итерационных методов решения СЛАУ
Метод скорейшего |
Метод минимальных |
Метод сопряжённых |
|||
спуска |
невязок |
направлений |
|||
|
|
|
|
|
|
Input: |
|
Input: |
Input: |
|
|
n, A, b, ε; |
|
n, A, b, ε; |
n, A, b, ε; |
|
|
|
|
|
|
|
|
x 0 ; |
|
x 0 ; |
x 0 |
; e b ; |
|
e b ; |
|
e b ; |
q 1 |
; z 0 |
; |
r e ; |
|
r e ; |
d 0 ; r e |
; |
|
while(r ≥ e)do |
while(r ≥ e)do |
while(r ≥ e)do |
|||
y b − Ax ; |
|
y b − Ax ; |
y b − Ax ; |
|
|
z Ay ; |
|
z Ay ; |
(y, z) q ; |
|
|
r (y, y); |
|
(y, z) (z, z); |
d y − d ; |
|
|
r (y, z) |
; |
x x + y ; |
z Ad ; q (d, z); |
||
|
|
||||
x x + y ; |
r (y, y) ; |
(d, y) q ; x x + d ; |
|||
r r ; |
|
endwhile |
r (y, y) ; |
|
|
endwhile |
|
|
endwhile |
|
|
|
|
|
|
||
Output: |
|
Output: |
Output: |
|
|
x. |
|
x. |
x. |
|
|
|
|
|
|
|
|
35
1. Численные методы решения систем линейных алгебраических уравнений
ЧАСТИЧНАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИЙ
2.1. Решение частичных проблем собственных значений
Различают полную и частичную проблемы собственных значений.
Полная проблема собственных значений состоит в нахождении всех собственных пар (собственное число и соответствующий ему собственный вектор) квадратной матрицы A. Эту задачу можно считать самой трудоёмкой задачей линейной алгебры.
Часто нет необходимости в нахождении всех собственных пар. В подобных случаях чаще всего требуется определение максимального собственного числа λmax и соответствующего ему собственного вектора e max или максимального и минимального min собственных чисел (границ спектра) симметричной или Эрмитовой матрицы. Такие задачи называют частичными проблемами собственных значений.
Одним из методов решения частичных проблем собственных значений является метод скалярных произведений (Г. И. Марчук в книге «Методы вычислительной математики» называет его методом Люстерника). В основе метода лежит следующий итерационный процесс:
y←Axs λs+1←(y,xs), xs+1←y/|y|.
Для положительно определённой симметричной (или Эрмитовой) матрицы →max и xs→e max.
Для нахождения минимального собственного числа симметричной (или Эрмитовой) положительно определённой матрицы A «разворачивают» её спектр. Предварительно должна быть решена задача нахожденияmax. Все собственные числа единичной матрицы E равны единице, а собственным вектором является любой ненулевой вектор. Поэтому max матрицы A отображается в нулевое собственное число матрицы B = maxE−A,
матрицы A отображается в максимальное собственное числоmax = max−min матрицы B. Само min равно min = max−max. Для нахож-
36
2.1. Решение частичных проблем собственных значений
дения max используют тот же самый итерационный процесс, что использовался для нахождения max, только применительно к матрице B. Следует иметь в виду, что скорость сходимости процесса → max будет разительно медленнее скорости сходимости процесса →max (эту скорость можно считать просто быстрой). Всё-таки находится min.
Для плохо обусловленной симметричной (или Эрмитовой) положительно полуопределённой матрицы A, т.е. матрицы с max >> min ≥ 0, может оказаться, что max max и min 0. При этом из-за медленной сходимости процесс → max не достиг точного значения max. В таких случаях может оказаться, что min = max − max < 0, в то время как для положительно полуопределённой матрицы max ≥ min ≥ 0. В этом случае используют пару итерационных процессов. Собственный вектор e min, соответствующий собственному числу min матрицы A, определяют с помощью матрицы B, а само min определяют с помощью самой матрицы A. Понятно, что сходимость такого процесса будет определяться сходимостью процесса для матрицы B, а она медленная.
Перечисленные алгоритмы представлены в табл. 4.
Таблица 4
Псевдокод решения частичных проблем собственных значений

Нахождение
max
0 ;
x u |
|
u |
|
; |
|
|
|
|
|
|
|
|
|||
do{ |
|
|
|
|
|||
|
|
|
|
|
|||
|
; |
|
|
||||
|
|
|
|
|
|
|
|
y Ax |
; |
|
|||||
|
|
|
|
|
|
|
|
(y, x) |
; |
||||||
|
|
|
|
|
|
|
|
x y |
y |
; |
|||||
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
while( |
|
|
|
|
|
||
− ( + ) |
|
|
|||||
)
Нахождение
|
|
|
min |
|
|
B = |
E − A |
|
max |
; |
|
|
|
|
0 |
; |
|
|
|
|
x u u ; |
|
|
do{ ; |
|
|
y Bx ; |
|
|
(y, x) |
|
|
;
x y
y
;
}
while(
Нахождение
0 |
min |
|
max |
|
|||
|
|
|
|
|
|||
B = |
|
E − A |
; |
||||
|
|
max |
|
|
|
||
|
|
|
|
|
|
||
0 |
; |
|
|
|
|
||
|
|
|
|
|
|
|
|
x u u |
; |
|
|
|
|||
|
|
|
|
|
|
|
|
do{ |
|
|
|
|
|
|
|
|
; |
|
|
||||
|
y Bx |
|
|
||||
|
|
|
|
|
; |
|
|
|
z Ax |
; |
|
||||
|
|
|
|
|
|
|
|
|
(z, x) |
; |
|||||
|
|
|
|
|
|
|
|
|
x y |
y |
; |
||||
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
while( |
|
|
|
|
|
||
37
2. Частичная проблема собственных значений
Нахождение
max
|
max |
= |
, |
||
|
|
|
|||
e |
max |
= x |
. |
||
|
|
|
|||
− ( + ) |
|
||||
Нахождение |
|
|
|||
|
|
|
|
|
|
|
|
min |
|
|
|
) |
|
|
|
|
|
|
min |
= |
max |
− |
, |
|
|
|
|||
e min = x .
Окончание табл. 4
Нахождение
0 |
min |
|
max |
|
|
||
− ( + ) |
|||
|
|
) |
|
|
min = , |
||
|
e min = x . |
||
2.2. Процесс ортогонализации Грама−Шмидта
Выделение последующих собственных пар можно осуществить с помощью процесса ортогонализации Грама−Шмидта. Легко доказывается теорема, что собственные векторы симметричной (или Эрмитовой) матрицы (не обязательно положительно полуопределённой), соответствующие различным собственным числам, ортогональны.
Если у симметричной (или Эрмитовой) матрицы встречаются кратные собственные числа, то подпространство собственных векторов, соответствующее этому кратному собственному числу, с одной стороны, ортогонально остальным собственным векторам.
С другой стороны, в этом подпространстве может быть выделен ортогональный базис, векторы которого будут удовлетворять определению собственных векторов. Таким образом, в любом случае собственные векторы симметричной (или Эрмитовой) матрицы попарно ортогональны (или могут быть выбраны такими).
Процесс ортогонализации Грама−Шмидта состоит в следующем. Пусть найдены векторы e1, e2, ..., ek и они ортонормированны, т.е. (ei, ej) = 0, если j≠i, и (ei, ej) = 1 для любых 1 ≤ i, j ≤ k. Тогда составляющая
y вектора x, ортогональная всем векторам |
e1, e2, ..., ek, т.е. (y, ei) = 0 |
(1 ≤ i ≤ k), должна удовлетворять соотношениям: |
|
y = x − 1e1 − 2e2 − |
− k ek , |
( , ) = ( , ) − 1( 1, ) − 2( 2, ) − − ( , ) =
38
2.2. Процесс ортогонализации Грама−Шмидта
= ( , ) − ( , ) = ( , ) − = 0,
откуда ßi = (x, ei), 1 ≤ i ≤ k.
1 i k,
После нормирования вектор ek+1 = y/|y| может быть добавлен к си-
стеме e1, e2, ..., ek.
Наконец, если матрица A является симметричной (или Эрмитовой), но не является положительно определённой, то для нахождения её собственных пар можно применить регуляризацию по А. Н. Тихонову (усилить положительное диагональное преобладание матрицы A). Собственные пары находят для матрицы C = A+ɑE. После того, как получены пары µ1, e1, µ2, e2, ..., µk, ek, собственные числа корректируются:
|
= − |
|
|
2 |
= |
2 |
− |
1 |
1 |
, |
|
|
|
||
|
|
|
|
|
|
|
Собственные векторы в коррекции положительно определённой при
, …, |
|
k |
= |
k |
− |
. |
|
|
|
||||
|
|
|
|
|
не нуждаются. Матрица C будет
max 0;−min .
Но если min ещё не известно, то можно подобрать пробным путём, следя за скоростью сходимости описанных итерационных процессов.
Заметим, что можно умудриться программно реализовать неустойчивый вариант процесса ортогонализации Грама−Шмидта
for i:=1 to k do
i (x, ei );
endfor
for i:=1 to k do
x x − iei
endfor |
|
|
|
x x |
x |
; |
|
Устойчивым вариантом процесса |
|||
будет |
|
|
|
for i:=1 to k do |
|
||
|
|
(x, e |
) |
|
|
i |
|
|
|
x x − e |
|
|
|
|
i |
ортогонализации Грама−Шмидта
;
endfor
x x
x
;
39
2. Частичная проблема собственных значений
В следующей таблице алгоритмы нахождения max, e max и min, e min превращены в алгоритмы последовательного нахождения пар 1,e1,
2,e2, ..., k,ek начиная с max, e max или min, e min
Таблица 5
Псевдокод последовательного нахождения пар
k 0 |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while(continue?) |
|
|
|
|
|
|
|||
|
0 ; |
|
|||||||
|
y |
u |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i:=1 to k do |
|
|||||||
|
|
|
|
(y, ei ); |
|
||||
|
|
|
|
y y − e |
|
||||
|
|
|
|
|
|
|
|
i |
|
|
endfor |
|
|
|
|
|
|
||
|
x y y ; |
|
|||||||
|
do{ |
; |
|
||||||
|
|
|
|
y Ax ; |
|
||||
|
|
|
|
for i:=1 to k do |
|
||||
|
(y, ei ); |
|
|||||||
|
y y − e |
|
|||||||
|
|
|
|
i |
|
||||
|
|
|
|
endfor |
|
||||
|
|
|
|
(y, x); |
|
||||
|
|
|
|
x y |
|
y |
|
; |
|
|
|
|
|
|
|
|
|||
|
}while( |
− ( |
|
+ ) |
) |
||||
|
|
|
|
|
|
||||
|
k k +1 ; |
|
|||||||
|
e |
k |
x |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
k |
; |
|
|
|
|
|
||
endwhile |
|
|
|
|
|
|
|
|
|
B = maxE − A ; |
k 0 ; |
|
|
|
||||||||
while(continue?) |
|
|
|
|
|
|
|
|
||||
0 |
; |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
y u |
|
|
|
|
|
|
|
|
||||
|
|
|
|
; |
|
|
|
|
|
|
|
|
for i:=1 to k do |
|
|
|
|||||||||
|
|
|
|
|
(y, ei ); |
|
|
|||||
|
|
|
|
|
y y − e |
i |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
endfor |
|
|
|
|
|
|
|
|
|
|||
x y |
y |
; |
|
|
|
|
|
|||||
do{ |
|
|
|
; |
|
|
||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
y Bx ; |
|
|
|||||
|
|
|
|
|
z Ax |
; |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(z, x) |
; |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i:=1 to k do |
|||||||
(y, e |
i |
) |
; |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||
y y − e |
i |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
endfor |
|
|
|
||||
|
|
|
|
|
x y |
y ; |
|
|
||||
}while( − ( + )) |
||||||||||||
k k +1 |
; |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
k |
x |
; |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||
|
k |
|
|
; |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
endwhile
40
