On problems of active space debris removal using tethered towing
Решение задач на собственные значения
1. Методы вычислений
Вычисление собственных значений матрицы
Кафедра теоретической механики
yudintsev@termech.ru
Самарский государственный аэрокосмический университет
им. академика С. П. Королёва
(национальный исследовательский университет)
14 апреля 2012 г.
2. Задача на собственные значения и векторы [1], [2]
Для известной матрицы A найти вектор x и число λ такие, что
Ax = λx (1)
или
(A − λE)x = 0 (2)
λ – собственное число матрицы A
x – собственный вектор матрицы A
(A − λE) – характеристическая матрица
Определитель ||A − λE|| – характеристический (вековой)
определитель матрицы A
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 2 / 36
3. Характеристическое уравнение
a11 − λ a12 ... a1n
a21
a22 − λ ... a2n =0
... ... ... ...
an1 an2 . . . ann − λ
или
λn − p1 λn−1 − p2 λn−2 − p3 λn−3 − . . . − pn−1 λ − pn = 0
Коэффициенты полинома характеристического уравнения:
n
p1 = i=1 aii = trA (след матрицы A).
pk равен сумме всех диагональных миноров k-го порядка.
pn равен определителю матрицы A.
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 3 / 36
4. Свойства собственных значений
Собственные значения матрицы A равны собственным значениям
транспонированной матрицы AT .
Собственные значения треугольной матрицы совпадают с её
диагональными элементами.
Подобные матрицы имеют одинаковые характеристические
полиномы.
Матрица B называется подобной матрице A, если существует
такая неособенная матрица C, что:
B = C−1 AC
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 4 / 36
5. Собственные значения и собственные векторы матрицы
Частичная проблема собственных значений
Определение одного или нескольких собственных чисел: поиск
максимального или минимального собственного числа
Полная проблема собственных значений
Определение всех собственных чисел матрицы
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 5 / 36
6. Задачи механики, приводящие к проблеме собственных
значений
Исследование устойчивости механических систем.
Определение собственных частот и форм механической системы.
Определение главных центральных осей и главных моментов
инерции твердого тела .
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 6 / 36
7. Методы решения
Прямые методы
Решение характеристического (векового) уравнения исходной или
подобной матрицы
λn − p1 λn−1 − p2 λn−2 − p3 λn−3 − . . . − pn−1 λ − pn = 0
Метод Крылова, метод Данилевского, ...
Итерационные методы
Собственные значения и собственные векторы определяются как
пределы некоторых последовательностей с заданной точностью.
Метод вращений (метод Якоби), степенной метод, ...
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 7 / 36
8. Степенной метод
Степенной итерационный метод
Дана матрица A с действительными положительными
коэффициентами (положительная матрица).
Для положительной матрицы справедлива теорема Перрона:
положительная квадратная матрица A имеет положительное
собственное значение λ1 ;
λ1 имеет алгебраическую кратность 1;
λ1 строго превосходит абсолютную величину любого другого
собственного значения этой матрицы.
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 8 / 36
9. Степенной метод
Степенной итерационный метод
Обозначим собственные числа матрицы A
λ1 , λ2 , λ3 , . . . λn
|λ1 | > |λ2 | > |λ3 | > . . . > |λn |
Собственные векторы
x1 , x2 , x 3 , . . . xn
Найти максимальное по модулю собственное число λ1 и
соответствующий собственный вектор x1
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 9 / 36
10. Степенной метод
Алгоритм
Выбираем произвольный вектор y0
Строим последовательность
yk = Ayk−1 , k = 1, 2 . . .
На каждой итерации вычисляем отношение
(i)
(k) yk
λ1 = (i)
,
yk−1
где i – номер любой компоненты вектора yk .
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 10 / 36
11. Степенной метод
Алгоритм
Доказательство
Разложение вектора y0 по собственным векторам (в базисе
собственных векторов)
n
y0 = cj xj
j=1
n n
Ay0 = cj Axj = cj λj xj
j=1 j=1
разложение собственных векторов в базисе единичных векторов
e1 , e2 , . . . en
n
xj = xji ei
i=1
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 11 / 36
12. Степенной метод
Алгоритм
Доказательство
n n n n n
yk = A k y0 = cj λk xj =
j cj λk
j xji ei = cj xji λk ei
j
j=1 j=1 i=1 i=1 j=1
Тогда i-я компонента вектора yk определяется следующим образом
n
(i)
yk = cj xji λk
j
j=1
i-я компонента вектора yk+1 :
n
(i)
yk+1 = cj xji λk+1
j
j=1
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 12 / 36
13. Степенной метод
Алгоритм
Доказательство
Рассмотрим отношение
(i)
yk+1 c1 x1i λk+1 + c2 x2i λk+1 + . . . + cn xni λk+1
1 2 n
(i)
= k + c x λk + . . . + c x λk
yk c1 x1i λ1 2 2i 2 n ni n
Учитывая, что |λ1 | > |λ2 | > |λ3 | > . . . > |λn |
k+1 k+1
(i) c2 x2i λ2 cn xni λn
yk+1 1+ c1 x1i λ1 + ... + c1 x1i λ1
(i)
= λ1 k k
→ λ1 при k → ∞
yk 1+ c2 x2i λ2
+ ... + cn xni λn
c1 x1i λ1 c1 x1i λ1
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 13 / 36
14. Степенной метод
Алгоритм
Определение собственного вектора, соответствующего λ1
Для k-го шага итерации
n n
yk = A k y0 = cj λk xj = c1 λk x1 +
j 1 cj λk xj =
j
j=1 j=2
n k
cj λj
c1 λk x1 +
1 xj (3)
c1 λ1
j=2
Для больших k
yk ≈ c1 λk x1
1
Т.к. собственный вектор определяется с точностью до множителя,
поэтому
x1 ≈ y k
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 14 / 36
15. Метод скалярных произведений
Метод скалярных произведений
Модификация степенного метода.
Метод скалярных произведений сходится в 2 раза быстрее, чем
степенной метод
Формируются две последовательности
yk = Ayk−1 , и yk = AT yk−1 , k = 1, 2, 3, . . . y0 = y0
Наибольшее по модулю собственное число определяется как
следующее отношение скалярных произведений
2k
λ2 yk · y k A k y0 · A T k y0
λ1 + O = = k−1
λ1 yk−1 · yk A y0 · AT k y0
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 15 / 36
16. Метод скалярных произведений
Метод скалярных произведений
Приближенное значение второго собственного числа
(i) (i)
yk − λ1 yk−1
λ2 ≈ (i) (i)
yk−1 − λ1 yk−2
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 16 / 36
17. Метод обратных итераций
Определение |λ|min
Метод обратных итераций
Пусть
|λ1 | > |λ2 | > |λ3 | > . . . > |λn |
Тогда для собственных чисел обратной матрицы A−1
1 1 1 1
| |>| |>| | > ... > | |
λn λn−1 λn−2 λ1
Формируют итерационную последовательность
yk = A−1 yk−1
Вычисляют соотношения
(i) (i)
1/λ(k) = yk /yk−1 ,
n
Чтобы не вычислять обратную матрицу A−1 , yk определяют,
решая СЛАУ
Ayk = yk−1
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 17 / 36
18. Методы исчерпывания
Методы исчерпывания
Пусть найдено первой собственное число и соответствующий
собственный вектор
(1) (2) (3) (n)
λ1 , x1 = (x1 , x1 , x1 , . . . x1 )
Как найти вторую пару: λ2 , x2 ?
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 18 / 36
19. Методы исчерпывания
Методы исчерпывания
Алгоритм
Алгоритм основан на преобразовании подобия матриц
Матрица B подобна матрице A если существует такая неособая
матрица H, что
B = HAH−1
тогда если
Ax = λx
то
HAH−1 (Hx) = λHx ⇒ By = λy
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 19 / 36
21. Методы исчерпывания
Метод исчерпывания
Алгоритм
Умножив левую и правую часть Ax1 = λ1 x1 на H1
Ax1 = λ1 x1 или H1 AH−1 (H1 x1 ) = λ1 (H1 x1 )
1
Т.к. H1 x1 = e1
H1 AH−1 e1 = λ1 e1
1
и
λ 1 b1
A2 = H1 A1 H−1 =
1 0 B2
Матрица B размерности n − 1 подобна матрице A и имеет
собственные числа
λ2 , λ3 , . . . λn
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 21 / 36
22. Метод Якоби
Метод Якоби (метод вращений)
Найти все собственные значения симметричной матрицы A
Ax = λx
Метод Якоби основан на преобразовании подобия симметричной
матрицы A
Λ = QT AQ
Q – ортогональная матрица: Q−1 = QT
Λ – диагональная матрица, составленная из собственных чисел
Столбцы матрицы Q являются собственными векторами матрицы
A
AQ = ΛQ
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 22 / 36
23. Метод Якоби
Метод Якоби (метод вращений)
Суть метода вращений заключается в построении
последовательности R1 , R2 , . . ., уменьшающей внедиагональные
элементы матрицы A
(R1 R2 R3 . . .)T · A · (R1 R2 R3 . . .) → Λ
Эта последовательность преобразований матрицы A приводит её
к диагональной матрице, у которой на главной диагонали стоят
собственные числа.
Точность решения характеризуется суммой квадратов
внедиагональных элементов
σ(A) = |aij |2
i=j
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 23 / 36
24. Метод Якоби
Метод Якоби
Диагонализация тензора инерции
Тензор инерции твердого тела в базисе xyz
недиагональный
Jx −Jxy −Jxz
J = −Jxy Jy −Jyz
−Jxz −Jyz Jz
Тензор инерции твердого тела в главном
базисе x y z диагональный
Jx 0 0
J = 0 Jy 0
0 0 Jz
Базис xyz можно совместить с x y z тремя
последовательными поворотами вокруг осей
x, y и z.
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 24 / 36
25. Метод Якоби
Метод Якоби (метод вращений)
Матрицы вращений
Пусть на k-ой итерации матрица A(k) имеет максимальный по модулю
внедиагональный элемент ak (i < j)
ij
a11 a12 ... ... a1,n−1 ann
a21 a22 ... ... a2,n−1 a2n
... ... ... ... ... ...
A(k) = a
i1 ai2 ... aij ...
ain
... ... ... ... ... ...
an1 an2 ... ... an,n−1 ann
Необходимо найти такую ортогональную матрицу R(k) , чтобы в
результате преобразования подобия произошло обнуление элемента ak .
ij
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 25 / 36
27. Метод Якоби
Метод Якоби (метод вращений)
Матрицы вращений
Рассмотрим результат произведения
(k)T (k)
A(k+1) = Rij A(k) Rij
(k)
Элементы матрицы B(k) = A(k) Rij отличаются от элементов
матрицы A(k) только в i и j столбцах
(k) (k) (k)
bνi = aνi cos ϕ(k) + aνj cos ϕ(k) ,
(k) (k) (k)
bνj = −aνi sin ϕ(k) + aνj cos ϕ(k) ,
(k)T
Элементы матрицы A(k+1) = Rij B(k) отличаются от элементов
матрицы B(k) только в i и j строках
(k+1) (k) (k)
aνi = bνi cos ϕ(k) + bνj sin ϕ(k) ,
(k+1) (k) (k)
aνj = −bνi sin ϕ(k) + bνj cos ϕ(k) ,
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 27 / 36
28. Метод Якоби
Метод Якоби (метод вращений)
Матрицы вращений
(k) (k)
Учитывая, что aij = aji
(k+1) (k) (k)
aij = bij cos ϕ(k) + bjj sin ϕ(k) =
(k)
= (−aii sin ϕ(k) + aij cos ϕ(k) ) cos ϕ(k) +
(k) (k)
+ (−aji sin ϕ(k) + ajj cos ϕ(k) ) sin ϕ(k) =
(k) 1 (k) (k)
= aij cos 2ϕ(k) + (ajj − aii ) sin 2ϕ(k) (5)
2
ϕ(k) выбирается из условия
(k)
(k+1) (k)
2aij
aij = 0 → tg2ϕ = (k) (k)
aii − ajj
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 28 / 36
29. Метод Якоби
Метод Якоби (метод вращений)
Оценка погрешности
(k) 1 (k) (k) (k)
σ(Ak+1 ) = σ(A(k) )−2(aij )2 + (ajj −aii ) sin 2ϕ(k) +2aij cos 2ϕ(k) )2 =
2
(k) 1 (k) (k)
= σ(A(k) ) − 2(aij )2 + (2aij ) = σ(A(k) ) − 2(aij )2
2
(k)
Т.к. aij – максимальный по модулю элемент, то
(k) (k) σ(A(k) )
σ(A(k) ) ≤ n(n − 1)(aij )2 → (aij )2 ≥
n(n − 1)
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 29 / 36
30. Метод Якоби
Метод Якоби (метод вращений)
Оценка погрешности
(k) σ(A(k) )
Поскольку (aij )2 ≥ n(n−1)
(k) 2σ(A(k) )
σ(A(k+1) ) = σ(A(k) ) − 2(aij )2 ≤ σ(A(k) ) − = qσ(A(k) )
n(n − 1)
где
2
q =1− , 0 ≤ q < 1, n ≥ 2
n(n − 1)
σ(A(k+1) ) ≤ qσ(A(k) ) ≤ . . . ≤ q (k+1) (A(0) ) →
σ(A(k) ) = q k σ(A(0) )
при k → ∞, σ(A(k) ) → 0
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 30 / 36
31. Метод Якоби
Метод Якоби (метод вращений)
Пример. Итерация 0 [3]
Найти собственные значения матрицы
4 2 1
A = 2 5 3
1 3 6
с точностью σ(A) < ε = 0.3
a23 = 3, i = 2, j = 3 → ϕ(0) = arctan[2aij /(aii − ajj )] = −0.7033
Матрица вращения
1 0 0 1 0 0
R(0) = 0 cos ϕ(0) − sin ϕ(0) = 0 0.76 0.65
0 sin ϕ(0) cos ϕ(0) 0 −0.65 0.76
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 31 / 36
32. Метод Якоби
Метод Якоби (метод вращений)
Пример. Итерация 1
4 0.87 2.06
A(1) = R(0)T AR(0) = 0.87 2.46 −0.03
2.06 −0.03 8.54
Оценка погрешности
σ(A(1) ) = 0.872 + 2.062 + 0.032 > ε
a13 = 2.06, i = 1, j = 3 → ϕ(1) = arctan[2aij /(aii − ajj )] = −0.3693
Матрица вращения
cos ϕ(1) 0 − sin ϕ(1)
0.933 0 0.361
(1)
R = 0 1 0 = 0 1 0
sin ϕ(1) 0 cos ϕ (1) −0.361 0 0.933
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 32 / 36
33. Метод Якоби
Метод Якоби (метод вращений)
Пример. Итерация 2
3.19 0.819 0.005
A(2) = R(1)T A(1) R(1) = 0.819 2.46 0.28
0.005 0.28 9.38
Оценка погрешности
σ(A(2) ) = 0.8192 + 0.282 + 0.0052 > ε
a12 = 0.819, i = 1, j = 2 → ϕ(2) = arctan[2aij /(aii − ajj )] = 0.5758
Матрица вращения
cos ϕ(2) − sin ϕ(2) 0
0.8388 −0.5445 0
R(2) = sin ϕ(2) cos ϕ(2) 0 = 0.5445 0.8388 0
0 0 1 0 0 1
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 33 / 36
34. Метод Якоби
Метод Якоби (метод вращений)
Пример. Итерация 2
3.706 0.0003 0.1565
A(3) = R(2)T A(2) R(2) = 0.0003 1.929 0.232
0.1565 0.232 9.38
Оценка погрешности
√
σ(A(3) ) = 0.00032 + 0.15652 + 0.2322 = 0.07839 < ε
Собственные числа
λ1 ≈ 3.706, λ2 ≈ 1.929, λ3 ≈ 9.38
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 34 / 36
35. Метод Якоби
Задание 7
Построить программу определения собственных чисел и
собственных векторов симметричной матрицы, используя метод
Якоби.
Проверить работу программы, определив собственные числа
матрицы
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 1.0000 0.6667 0.5000 0.4000
A = 0.3333 0.6667 1.0000 0.7500 0.6000
0.2500 0.5000 0.7500 1.0000 0.8000
0.2000 0.4000 0.6000 0.8000 1.0000
λ = (0.1560, 0.2728, 0.5010, 1.0035, 3.0666)
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 35 / 36
36. Источники
Список использованных источников
Соллогуб А. В. Козлов Д. И.
Применение ЭВМ в задачах проектирования летательных
аппаратов.
Куйбышевский авиационный институт, 1971.
Клунникова М. М. Распопов В. Е.
Лекции по курсу «Численные методы».
Сибирский федеральный университет, 2007.
Ревизников Д. Л. Формалёв В. Ф.
Численные методы.
Физматлит, 2004.
Кафедра ТМ (СГАУ) Методы вычислений 14 апреля 2012 г. 36 / 36