РТФ РАДИОТЕХНИЧЕСКИЙ ИНСТИТУТ

реклама
РАДИОТЕХНИЧЕСКИЙ ИНСТИ
РТФ
«Вычислительная математика»
Презентационные
материалы к лекциям:
Селиванова
Ирина
Анатольевна,
ст.преподаватель
кафедры «Автоматики
и
информационных
технологий» УГТУ-УПИ
Лекция.
Вычисление собственных векторов и собственных значений
матрицы. Поиск минимального по модулю собственного числа и
соответствующего собственного вектора матрицы простой
структуры.
1. Метод обратных итераций
2. Метод обратных итераций со сдвигами
2.1 Метод обратных итераций с постоянными сдвигами
2.2 Метод обратных итераций с переменными сдвигами
3. Обратные итерации с отношениями Релея для
симметричных матриц
Список литературы
1. Метод обратных итераций
Метод обратных итераций
При определенных условиях наименьшее по модулю собственное число
.
n может быть найдено степенным методом, когда уже известно
наибольшее 1 . Если проблема состоит лишь в нахождении младшей
собственной пары матрицы A, то можно применить степенной метод к
матрице A-1.
В самом деле, если данная матрица A имеет собственные пары





,
v
,

,
v
n 1
n 1
n
n ,
 , v ,  , v , ..., 
1
1
2
2
то собственными парами матрицы A-1 будут
 1   1  
1  1  
,
v
,
,
v
,
...,
, v n 1 ,  , v n 


1 
2



 1
  2

 n 1
  n

Наименьшим по модулю собственным числом данной матрицы А
является величина, обратная наибольшему по модулю собственному
числу матрицы A.


y ( k )  A1 y ( k 1)
k  1,2,...
1. Метод обратных итераций
N
При достаточно больших последовательность
отношений одноименных
 (k ) y ( k 1)
координат векторов
и
должна
1/λn,
y давать приближенное значение


а вектор
можно принять
.
vn
y (k ) за собственный вектор
Вместо прямых итераций, требующих предварительного обращения
исходной матрицы A, обычно
предпочитают строить ту же
 (k )
последовательность векторов ( y
), решая при k=1,2,3,… линейные
системы


Ay ( k )  y ( k 1) .
Так как все эти системы имеют одну и ту же матрицу коэффициентов, то
самая трудоемкая часть метода Гаусса для их решения LU-факторизация
матрицы A – может быть выполнена лишь один раз.
1. Метод обратных итераций
Построение последовательности векторов, приближающих собственный

вектор v n по неявной формуле, называют обратными итерациями, а
процесс решения частичных проблем собственных значений на этой
основе – методом обратных итераций.
Применение обратных итераций к нахождению младшей собственной
пары матрицы A не требует написания специального алгоритма,
достаточно лишь заменить один шаг в РМ-алгоритме. А именно,
наполнение шага 2 данного алгоритма должно быть следующим: решить
уравнение


Ay ( k )  y ( k 1)
Полученный алгоритм называют INVIT-алгоритмом или обратным
степенным методом.
1. Метод обратных итераций
 ( 0)

y ( 0) и
1. Ввести n x n-матрицу
A,
задать
n-мерный
вектор
,
вычислить
y
 ( 0)  ( 0)
( 0)
v

y
/ y ; положить k=1.
вектор
 ( k )  ( k 1)
2. Вычислить вектор Ay  x
.




3. Вычислить y ( k ) и x ( k )  y ( k ) / y ( k ) .
(k )
( k 1)
/ y ( k )i при i=1,2,…,n таких, что xi(k 1)   ,
4. Вычислить отношения i  xi
где δ>0 - некоторое задаваемое малое число (допуск).
(k )
5. Подвергнуть числа  i тесту на сходимость. Если обнаруживаются
(k )
( k 1)
совпадения требуемого числа знаков в i и i , то работу алгоритма
прекратить и за младшее собственное число 1 принять усредненное
(k ) , за нормированный младший собственный вектор  –
(по i) значение
x1

 (k )
i
вектор x .
В противном случае - вернуться к шагу 2.
1. Метод обратных итераций
Пример:
На матрице покажем процесс построения приближений к младшему

собственному числу 1 (и соответствующему ему собственному вектору v1 )
методом обратных итераций.
 2  4

A  
 4 5
Приняв за начальный вектор
1

y ( 0 )   
1
1. Метод обратных итераций

 1
 (0)
y (0)
x   ( 0 )    ;
y
 1
1  я итерация:

y (0)  1
 2  4   (1) 1
  1,5 



, y    , y (1)  

Ay (1)  x ( 0 ) , 

4
5
1

1


 



 1 
 (1)
 (1)
xi( 0 )   0,667 
y (1)
(1)
, i  (1)  

y  1,5 , x   (1)  
y
yi
  0,667 
 1 
2  я итерация:
 2  4   ( 2)   1 
1,278 



, y  
 , y ( 2 )  

Ay ( 2 )  x (1) , 
 4 5
  0,667 
 0,889 

 1

 ( 2)
 ( 2)
xi(1)   0,782 
y ( 2)
( 2)
, i  ( 2 )  

y
 1,278 , x   ( 2 )  
0
,
696

0
,
75
y
y




3  я итерация:
i
 2  4   ( 3)  1 
  1,297 



, y  
 , y ( 3)  

Ay ( 3)  x ( 2 ) , 

4
5
0
,
696

0
,
898







 1

 ( 3)
 ( 3)
xi( 2 )   0,771 
y ( 3)
( 3)
, i  ( 3)  

y
 1,297 , x   ( 3)  

0
,
693

0
,
774
y
y




i
1. Метод обратных итераций
( 2)
(1)
( 3)
( 2)
По сближениям величин     0,276 ,     0,027 можно судить
(1)
( 2)
( 3)
о сближении последовательных приближений  ,  , 
собственного
числа 1 с каждой итерацией. Последнюю из этих величин можно считать
нестрогой оценкой абсолютной погрешности равенства 1  (3) . Для

 
собственного вектора v1 приближенное равенство v1  x (3) можно оценить
величиной
 ( 3)  ( 2 )   2 
  2,435
x  x  

1
,
389


2. Метод обратных итераций со сдвигами
2.1 Метод обратных итераций с постоянными сдвигами
Метод обратных итераций со сдвигами
Метод обратных итераций с постоянными сдвигами
Метод обратных итераций, а точнее, метод обратных итераций со
сдвигами часто применяют в тех случаях, когда нужно с большой
точностью найти собственный вектор, отвечающий какому-либо
собственному числу из спектра заданной матрицы при условии, что
известно приближенное значение этого числа. При этом, очевидно,

прямое решение однородной системы ( A  E )v  0
заведомо
 сколько-нибудь
неприменимо, так как подстановка в нее значения , хоть
отличного от собственного, сделает систему однозначно неразрешимой,
т.е. допускающей только тривиальное решение. Рассмотрим суть
обратных итераций со сдвигами.
2. Метод обратных итераций со сдвигами
2.1 Метод обратных итераций с постоянными сдвигами
Пусть для собственного числа λ матрицы A простой структуры известно
его приближение σ такое, что
 j    i   , i  j
т.е. число σ ближе к собственному числу λi , чем к какому-либо другому
собственному числу матрицы A.


Начиная с вектора x  0  такого, что x ( 0 )  1 , образуем последовательность

нормированных векторов ( x  k ) по формулам


( A  E ) y ( k )  x ( k 1) ;



x ( k )  y ( k ) / y ( k ) , k  1, 2,...
2. Метод обратных итераций со сдвигами
2.1 Метод обратных итераций с постоянными сдвигами
Алгоритм метода обратных итераций с постоянными сдвигами:
 ( 0) , вычислить  (0) и
• Ввести n x n-матрицу A, задать n-мерный вектор y
y



(
0
)
(
0
)
(
0
)
вектор v  y / y
; положить k=1.
• Вычислить вектор ( A  E) y ( k )  x ( k 1) .
• Вычислить y ( k ) и x ( k )  y ( k ) / y ( k ) .
1. Вычислить отношения (i k )  xi( k 1) / y ( k )i при i=1,2,…,n таких, что x (k 1)   ,
i
где δ>0 - некоторое задаваемое малое число (допуск).
) тесту на сходимость. Если обнаруживаются
2. Подвергнуть числа  (k
i
совпадения требуемого числа знаков в ( k ) и ( k 1) , то работу алгоритма
i
i
прекратить и за младшее собственное число 1 принять усредненное

(по i) значение (k ) , за нормированный младший собственный вектор x1 –

i
вектор x (k.)
В противном случае - вернуться к шагу 2.
2. Метод обратных итераций со сдвигами
2.1 Метод обратных итераций с постоянными сдвигами
Пример:
На матрице покажем процесс построения приближений к младшему

собственному числу 1 (и соответствующему ему собственному вектору v1 )
методом обратных итераций с постоянными сдвигами. Так как для данной
матрицы нам известно
=-0,772002,
то зададим приближение
σ =1
0,777.
 2  4

A  

4
5


Пусть начальный вектор
 ( 0 ) 1
y   
1
2. Метод обратных итераций со сдвигами
2.1 Метод обратных итераций с постоянными сдвигами

 ( 0 ) y ( 0 )  1
x   ( 0 )    ;
y
 1
1  я итерация:

y (0)  1
 2,777  4   (1) 1  (1)  228,814 


, y    , y  

( A  E ) y (1)  x ( 0 ) , 

4
5
,
777
1
158
,
604


 



 (1)
 (1) y (1)  1  (1) xi( 0 )   0,178 
, i  (1)  

y  228,814 , x   (1)  
0
,
693

0
,
166
y
y




i
2  я итерация:
 2,777  4  . ( 2 )  1   ( 2 )  200,09 


, y  
 , y  

( A  E ) y ( 2 )  x (1) , 

4
5
,
777
0
,
693
138
,
662







 ( 2)
 ( 2 ) y ( 2 )  1  ( 2 ) xi(1)   0,178 
, i  ( 2 )  

y  200,09 , x   ( 2 )  
0
,
693

0
,
166
y
y




i
После двух итераций:
( 2)  (1)  0


x ( 2)  x (1)  0
2. Метод обратных итераций со сдвигами
2.2 Метод обратных итераций с переменными сдвигами
Метод обратных итераций с переменными сдвигами


( A  E ) y ( k )  x ( k 1) ;



x ( k )  y ( k ) / y ( k ) , k  1, 2,...
определяют методы обратных итераций для нахождения наименьшего по
модулю собственного числа матрицы A-σE и, если σ существенно ближе к
λi, чем к любому другому собственному числу λi матрицы A, то
уточняющие λi значения можно получать при k=1,2,… по формуле
Формулы
xi( k 1)
  
,
(k )
yi

)
где x ( k 1) и yi(k ) - координаты векторов x ( k 1и) y (k соответственно,
а
-знак
i
усреднения по всем i=1,2,…,n, при которых y ( k )  0.
i
Более быстрая сходимость может быть получена ведением переменных
сдвигов, определяемых какой-нибудь последовательностью чисел
сходящейся к находимому собственному числу. Не вызывает сомнений
целесообразность использования в роли таких чисел приближений (k ) к
j
собственному числу  j , получаемых по формуле
bi( k 1)
(k )
ci 
i  
(k )
j
2. Метод обратных итераций со сдвигами
2.2 Метод обратных итераций с переменными сдвигами
Алгоритм метода обратных итераций с переменными сдвигами:
 ( 0) , вычислить  (0)
1. Ввести n x n-матрицу A, задать n-мерный вектор y
y



(
0
)
(
0
)
(
0
)
вектор v  y / y
; положить k=1 и 0   .
 ( k 1)
( k 1)
(k )
2. Вычислить вектор ( A   j E ) y  x
.
3. Вычислить y ( k ) и x ( k )  y ( k ) / y ( k ) .
( k 1)
4. Вычислить отношения ( k )  ( k 1)  xi
j
j
и
y i( k )
  , где δ>0 - некоторое задаваемое малое
при i=1,2,…,n таких, что xi
число (допуск).
(k )

5. Подвергнуть числа i тесту на сходимость. Если обнаруживаются

x1
совпадения требуемого числа знаков в ( k ) и ( k 1) , то работу алгоритма
i
i
прекратить и за младшее собственное число 1 принять усредненное
(k )
(по i) значение i , за нормированный младший собственный вектор –
вектор x (k.)
В противном случае - вернуться к шагу 2.
(k 1)
2. Метод обратных итераций со сдвигами
2.2 Метод обратных итераций с переменными сдвигами
Пример:
На матрице покажем процесс построения приближений к младшему

собственному числу 1 (и соответствующему ему собственному вектору v1 )
методом обратных итераций с переменным сдвигом (зададим
приближение σ =-0,777).
 2  4

A  

4
5


Приняв за начальный вектор
1

y ( 0 )   
1
2. Метод обратных итераций со сдвигами
2.2 Метод обратных итераций с переменными сдвигами

y ( 0 ) 1
 (0)
x   ( 0 )    ,
y
1
1  я итерация:

y ( 0 )  1,
(i 0 )   ;
 2,777  4   (1) 1


, y    ,
( A   ( 0 ) E ) y (1)  x ( 0 ) , 

4
5
,
777


1

y (1)  1 
 (1)
 (1)
, (i1)  (i 0 ) 
y  228,814 , x   (1)  
y
 0,693 
2  я итерация:
 228,814 


y (1)  
158
,
604


  0,178 
xi( 0 )




0
,
166
yi(1)


 2,77717  4   ( 2 )  1   ( 2 )   2925,28 


, y  
 , y  

( A  1i E ) y ( 2 )  x (1) , 

4
5
,
77717
0
,
693

2027
,
22







xi(1)   0,178 
y ( 2)   1  ( 2)
 ( 2)
 ( 2)
(1)
, i  i  ( 2 )  

y  2925,28 , x   ( 2 )  

0
,
693

0
,
166
y
y




i
Метод обратных итераций с переменными сдвигами быстрее приходит к
решению поставленной задачи, чем с постоянными сдвигами, однако
является более трудоемким.
3. Обратные итерации с отношениями Релея
для симметричных матриц
Обратные итерации с отношениями Релея для
симметричных матриц
В методе обратных итераций с переменными сдвигами так же как и
( 0)
в предыдущем, неясно, как подбирать начальный сдвиг    j , за
исключением случаев, когда решается частичная проблема заведомо в
такой постановке, при которой требуется найти собственное число,
ближайшее к заданному значению, и соответствующий ему собственный
вектор.
Более определенной в этом смысле, к тому же более быстро
сходящейся является следующая модификация метода – обратные
итерации с отношениями Релея, применяемые для решения
симметричных задач на собственные значения.
3. Обратные итерации с отношениями Релея
для симметричных матриц
Ее основу составляет RQI-алгоритм:
 ( 0)
 ( 0)
x
 1.
1. Задать вектор x такой, что
2. Для k=1,2,… :


 
•
Вычислить  k 1  ( Ax ( k 1) , x ( k 1) ) /( x ( k 1) , x ( k 1) ).



•
Найти y (k ) из уравнения ( A   k 1 E) y ( k )  x ( k 1) .




•
Нормировать y (k ) , т.е. положить x ( k )  y ( k ) / y ( k ) .
•
Проверить  k 2 , x ( k ) на сходимость. Перейти на шаг 1.1. или
остановиться.
Обратные итерации с отношениями Релея
для симметричных матриц
После «штатного» останова работы алгоритма при некотором k=k0 в
качестве собственной для данной матрицы А объявляется пара  k 1 , x ( k )  ,
или еще делается шаг 1.1. и берется  , x ( k ) .
k 1
Сдвиги на отношения Релея при наличии ортонормированного
 

v1 , v2 , ..., vn
базиса из собственных векторов
обеспечивают асимптотически
кубическую скорость сходимости последовательности Релея x ( 0) , x (1) , x ( 2) , ... к
некоторому из векторов этого базиса. Это зависит от выбора начального
вектора последовательности; беря различные линейно независимые

векторы v ( 0,) можно получать разные собственные пары данной
симметричной матрицы А. При этом без дополнительных условий нельзя
гарантировать, что найденное как предел последовательности ρ0,ρ1,ρ2,…
собственное число будет ближайшим к числу ρ0.
0
0
Обратные итерации с отношениями Релея
для симметричных матриц
Чтобы осмыслить RQI-алгоритм, нужно вспомнить свойство 6, согласно

которому, при выбранном векторе x ( 0) вычисленное на первом шаге при
 )  ( 0)  ( 0)  ( 0)
k=1 отношение Релея
 0  ( Ax (0можно
, x ) /( xсчитать
, x ) некоторым приближением
к собственному числу, связанному с заданным в Rn направлением . С
 )
этим начальнымx ( 0приближением
к какому-то собственному числу далее
выполняются обратные
 j итерации с переменными сдвигами, только
 j координат векторов
приближения к
находятся не через отношения
 ( k )  ( k 1)
y и xпоскольку здесь
, а через отношения Релея, причем
приближает
собственное число данной
 k матрицы A, а не «сдвинутой», нет
необходимости корректировать получаемое значение на величину
смещения спектра.
3. Обратные итерации с отношениями Релея
для симметричных матриц
Пример:
На матрице покажем процесс построения приближений к младшему

собственному числу 1 (и соответствующему ему собственному вектору v1 )
методом обратных итераций с отношениями Релея.
 2  4

A  
 4 5
Приняв за начальный вектор
 ( 0 ) 1
y   
1
3. Обратные итерации с отношениями Релея
для симметричных матриц

1
 (0)
y (0)
x   ( 0 )    ;
y
1
1  я итерация:


 


 0  ( Ax ( 0 ) , x ( 0 ) ) /( x ( 0 ) , x ( 0 ) )  0,5, ( A   0 E ) y (1)  x ( 0 ) ,

 1 
 (1)   4,222 
 (1)
 (1)
y (1)
, y  4,222 , x   (1)  

y  

2
,
889

0
,
684
y




2  я итерация:
 
 


1  ( Ax (1) , x (1) ) /( x (1) , x (1) )  0,772, ( A  1 E ) y ( 2 )  x (1) ,

 1 
 ( 2 )  3278,14 
 ( 2)
 ( 2)
y ( 2)
, y  3278,14 , x   ( 2 )  

y  
2271
,
75
0
,
693
y




 
 
Вектор x ( 2) и скаляр
 2  ( Ax ( 2) , x ( 2) ) /( x ( 2) , x ( 2) )  0,772 с высокой точностью

представляют младшую собственную пару (2 , v2 )данной матрицы A.

y ( 0 )  1,
Кроме предсказанной высокой скорости сходимости метода, можно

заметить быстрый рост величин y ( k ) , что, как ранее подмечено, можно
положить в основу критерия окончания итерационного процесса.
Список литературы
Список литературы
1. Вержбицкий В.М. Основы численных методов: Учебник для вузов. – М.:
Высш. шк., 2002. – 840с.
2. Волков Е.А. Численные методы: Учебное пособие. – 3-е изд., испр. –
СПб: Лань, 2004. – 256с.
3. Турчак Л.И. Основы численных методов: Учебное пособие. – М.: Наука.
Гл. ред. физ.-мат. лит., 1987. – 320с.
Скачать