Вычисление собственных значений и собственных векторов

advertisement
ВЫЧИСЛЕНИЕ СОБСТВЕННЫХ ЗНАЧЕНИЙ И СОБСТВЕННЫХ ВЕКТОРОВ
МАТРИЦЫ
Елеуов А.А., Сакыпбекова М, Елеуова Р.
Казахский национальный университет имени аль-Фараби,
г. Алматы, Казахстан
Eleuov@mail.ru
В вариационном методе на первом этапе выбирается целевой функционал,
минимум которого представляет собственное значение исходной матрицы. В случае
положительной матрицы этот функционал имеет вид J x   Ax, Ax x, x . Когда
A – самосопряженная матрица, то целевой функционал J x   Ax, x
x, x . Для
произвольных матриц надо уметь выбирать целевой функционал.
Для произвольной матрицы A порядка n  n введем функционал
J x  
Ax
x
2
2

Ax, x
x
4
x Ax  Ax, x x
2
2

x
Если вектор x есть собственный вектор матрицы
умножая это уравнение скалярно на x , получаем, что

Ax, x
x, x
6
2
(1)
.
A , т.е. если Ax   x , то,
Ax, x   x, x . Откуда
. Подставим в Ax   x последнее выражение. Тогда x Ax  Ax, x x .
2
Поэтому, из определения функционала J x  сразу вытекает лемма.
Лемма 1 Если x – собственный вектор матрицы A , то соответствующее
собственное число равно числу x
2
Ax, x и J x   0 . Если J x   0 , то x есть
собственный вектор матрицы
A и соответствующее собственное число равно
x
Ax, x .В силу этой леммы вычисление собственного вектора матрицы A
эквивалентно нахождению вектора x , доставляющего infimum неотрицательному
функционалу J x  .
Выберем малое число   0 , и если
2
2
J x  
x Ax  Ax, x x
x
6
2
2
,
(2)
2
Ax, x –
то вектор x примем за собственный вектор матрицы A , и число x
за соответствующее собственное число. В силу леммы 1, а также невозможности точно
найти собственный вектор и собственное число современными вычислительными
средствами такое определение вполне приемлемо. Величину числа  из (2) выберем в
зависимости от желаемой точности вычисления. Для нас  будет фиксированным
числом. Этим же числом будем обслуживать и другие матрицы, возникающие на ходу
(например, для A ). В связи с этим, точность счёта должны быть – o малое от  .
Пусть x – произвольный единичный вектор. Определим матрицу, действующую по
формуле:
(3)
Ax y  A  Ax, x E  y ,
*
где
E – единичная матрица.
   ,  прямыми
Если x 0 и w – единичные векторы, то при
вычислениями получаем
J x0   w  x0   w

 1  2l  
4
x   w
Ax0   w  Ax0   w, x0   w
2
2
0
 a  b  c
2 2
2
 d  r
3
4

2

(4)
где
a  A x0 x 0
2

, b  2 Re  Ax0 Ax0  Ax0 x 0

c  A x0 x 0
2
 A x0 w
2

d  2 Re Aw Aw  Aw
r  Aw w
 x , w
 0
 4 Re x 0 , w Ax0 x 0 , Ax0 w 
 Ax0 w, x 0  Ax0 x 0 , w

2
2
2
w, x
0
2
l  Re w, x 0
Из этих равенств при малых


получаем

 
  4l    O  
 2 a   O .
J  x      a  b   c  2 1  2l   2  4l 2 2

1  4l  2  8l
 a  b  4al    c  4lb  12l
 a  b  c
2
2
2
Рассмотрим разность
2
2
2
2
O3 
2
3
3


1  2l   
  1  2l    4la  b   4l a  2a  c    4la  d    a  r  
  1  2l   
J x0   J x0   w 

2

a 1  2l   3  a  b  c 2  d 3  r 4
2
2 2
2 2
2
2
3
2 2
2Re A * A x  A x 2 x , w    A , w 2  A x 2  A x , w  A w, x

x0 x0 0
x0 0
0
x0 0
x0 0
x0
0
 x 0

2


2

 4Re x0 , w  Re  A*x 0 Ax 0  Ax 0 x0  x0 , w    2 4la  d    3 r  a  




 - 1  2l   2
 2Re N x , w
2
0
2
- Ax 0 x0  Ax 0 x0 , w  Ax 0 w, x0
где N x 0   Ax0 Ax0 x 0  Ax0 x 0
*
Отсюда при малых
2
2
   4Re x0 , w N x0 , w  Ax 0 w 

2
   2 d  4la    3 r  a  ,



x0 .

J x 0   J x 0        2 Re N x 0 ,   

2

2
a  A x 0   A x0 x 0 ,   A x0  , x 0
2
 4l Re N  x 0 ,     3 O1 ,

(5)
где N x0   Ax* Ax x0  Ax x0 2 x0 и величина O1 допускает оценку постоянным
0
0
0
числом, при    0  0.1l  .
Пусть x 0 – некоторое приближение к собственному вектору.
Если N x0      , возьмём   N x 0  N x 0  . Тогда из (5) вытекает, что
J x0   J x0      2 N x0   O 2 .
1
Поэтому при малых отрицательных
   0 из равенства


inf J x0   N x0  N x0 
Число  0 находим по алгоритму (А.4).
1
имеем J  x 0   J  x 0     . Выберем
  J x    .
0
0
(6)
Пусть теперь N x 0    . В случае, когда уравнение Ax0   0 имеет нулевое
решение, то Ax 0 , x 0 – собственное число матрицы
A . Если же уравнение Ax0   0
имеет только нулевое решение, то уравнение Ax0   x 0 имеет решение
0
  0. В
 возьмем
качестве
0 0 1
  
где

,
(7)
удовлетворяет равенству
Ax0 x 0 , x 0  1  Ax0 x 0 , x 0
,   1.
Подставив в (5), получаем
0 2
0 2

2
J x 0   J x 0      O    3 O1   2 a    
Ax0 x 0 , x 0  1  1  


 O    3 O1   2 a
 выбрано малым, и выполнено a   , то при
Отсюда вытекает, что, если
 
1
2
имеет место
3
J  x 0   J  x 0      O  2    .


Поэтому


0 



inf J x0      J x0   0 0  J x0 .







Построим последовательность:

(8)

y j  Ax*0 Ax0  j  x 0 , j  0 , 1, 2 ,...
2
y j   A x0 y j
yj
(9)
2
 j 1   j   j y j
Пусть это построение завершается на j  j 0 . Дальнейшее построение
невозможно, если выполнен один из трех случаев а), б) и в):
Ax0  j0  x0  0;
а)

A 

 x  0 ,
б)
Ax0  j0  x0  0 ,
Ax*0 Ax0  j0  x0  0;
в)
Ax0  j0  x0  0 ,
Ax*0
x0
j0
 

Ax0 Ax*0 Ax0  j0  x0  0.
0
В случае а) уравнение Ax0   x 0 решено. В случаях б) и в) уравнение
Ax0   0 имеет нетривиальное решение. Если выполнено б), то по алгоритму 3 можно
найти собственный вектор матрицы
A . Если же выполнено в), то Ax*0 Ax0  j0  x 0  –
собственный вектор матрицы A . Как в случае б), так и в случае в), собственным
числом будет Ax 0 , x 0 . Если построения (9) не останавливаются, то имеем
Ax0  j 1  x 0
2
 Ax0  j  x 0   j Ax0 y j
2

2
 Ax0  j  x 0  2 j Re Ax0  j  x 0 , Ax0 y j  y 2j Ax0 y j
2
 Ax0  j  x 0  2
j  0, 1, 2,...
Из этих равенств следует, что
yj
2
Ax0 y j
2
yj
2

yj
2

4
Ax0 y j
2
2
 Ax0  j  x 0 
yj
4
Ax0 y j
2
Ax0  j 1  x 0
2
 A x0 y 0  x 0
2
j
  yk
4
k 0
A x0 y k
2
, j  0, 1, 2,...
Отсюда вытекает
yk
4
Ax0 yk
2
 0 , при k   .
Поэтому, так как Ax0 y k  Ax0 y k , имеем yk  0 , при k   . В силу этого
соотношения возможны два случая:
а) A j  x 0 при j  ;


б) lim A j  0 и Ax0 A j  x 0  0 при j  .
*
j 
В случае а) для достаточно больших номеров
функция
j,
 j есть
приближённое решение уравнения A  x 0 . Если выполнен случай б), то число
Ax 0 , x 0 – собственное число матрицы A .
0
Если A   x 0 , то  берем согласно (7), т.е.
0 0 1
  e i  
, 
1
arg Ax0 , x 0 , x 0 .
2
 в (3.19) и получим, что существует  , для которого
J  x 0     J  x 0  . Поэтому подходящее  найдем из (8). Вышеприведённые
Подставим
выкладки дают основания полагать, что вычисления собственного числа и
собственного вектора можно проводить следующим
Алгоритм 1.
Фиксируем малое   0 . Возьмём произвольное x 0 , x 0  1 и построим
x1 , x 2 ,..., x n ,..., xi  1 следующим образом:
Обозначим
An  Axn  A  Axn , xn E , E – единичная матрица,
N n  N x n   An* An x n  An x n x n .
2
1
2
а) Если N n   , то положим
x n 1  x n   n N n  x n   n N n
1
,
где  n выбираем из условия
inf
 , 
1
2
J x n   N n   J x n   n N n  .
б) Если же N n   , то берём
n
0  0
и построим векторы y j ,  j и числа
j
по формулам
n
n


y j  An*  An  j  x n 


n
n
 j   An y j
n
n
2 n
2
yj
n
 j 1   j   j y j
Построение продолжим до тех пор, пока не выполнится одно из следующих
условий:
1
n
б.1)
Axn  j0  x n   2 ;
б.2)
y j0   2 ,
б.3)
An y j0   2 , y j   2 ,
3
n
n
1
n
Axn  j0  xn   2 ;
3
1
n
1
n
Axn  j0  xn   2 .
Так как собственное число существует, согласно выкладкам, проведённым
выше, найдется такое j 0 , что выполняется одно из этих трёх условий. За целое число
j 0 возьмём наименьшее целое, для которого выполнено хотя бы одно из приведённых
n
трёх соотношений. Если выполнено условие б.3), то y j – собственный вектор, а
Ax n , x n
– собственное число матрицы
A . Поэтому заканчиваем счёт. Если же
– собственное число матрицы A . Поэтому
выполнено условие б.2), то Ax n , x n
заканчиваем счёт. Если, наконец, выполнено условие б.1), продолжаем построение
x j , выбрав x n 1 по формуле:
 
xn 1   xn   n  xn   n
i
n
1
n
  e j j
0
0
, 
где  n выбирается из условия
J x n   n    inf
1
1
arg Ax n , xn , xn ,
2
 , 
J  x    .
Счёт останавливаем, если J  x n    . За собственное число берём число
Ax n , x n , а за соответствующий собственный вектор – x n . Имеет место
Теорема 1 Алгоритм А.1 приближенно вычисляет собственное число и
собственный вектор матрицы A .
Доказательство вытекает из выкладок, проведённых до формулировки
алгоритма. Отметим, что точность вычисления собственного числа и собственного
вектора зависит от  и имеет такой же порядок. При проведении вычислений
необходимо обеспечить точность счёта, o  .
Очевидно, что скорость сходимости предложенного выше метода не
превосходит скорости известного метода максимального градиента. Но, тем не менее
предлагаемый метод может быть эффективно использован ввиду наличия глобальной
сходимости. По этой схеме удобно вычислять хорошие приближения, которые могут
послужить начальными приближениями при высокоточном вычислении с кубической
локальной сходимостью.
Литература
1.
Годунов С.К. Современные аспекты линейной алгебры. – Новосибирск:
Научная книга, 1997. – 390 с.
2.
Икрамов Х.Д. Несимметричная проблема собственных значений. – М.:
Наука, 1991. – 106 с.
3.
Елеуов А.А., Отелбаев М.О. Вычисление собственных чисел и
собственных векторов матриц // Евразийский математический журнал ЕНУ им. Л.Н.
Гумилева и МГУ им. М.В. Ломоносова. – 2005. – № 1 – С. 57-78.
Related documents
Download