УказательРазделыОбозначенияАвторО проекте


§

Вспомогательная страница к разделу «Характеристический полином, собственные числа, собственные векторы матрицы» (пункт "Частичная проблема собственных чисел"), а также к разделу "Симметричная матрица".


Частичная проблема собственных чисел: случай симметричной матрицы

Рассмотрим случай симметричной матрицы A\in \mathbb R^{n\times n}. Пусть ее собственные числа (они вещественны) занумерованы в порядке убывания модулей:

|\lambda_1|>|\lambda_2|> \dots > |\lambda_n |

и среди этих модулей нет одинаковых.

Предположим, что мы определили — методом, изложенным ЗДЕСЬ — максимальное по модулю собственное число \lambda_1 и соответствующий ему собственный вектор \mathfrak X_1. Как определить следующее число \lambda_2? Воспользуемся для этого свойством ортогональности собственных векторов симметричной матрицы. Собственный вектор, принадлежащий \lambda_2 должен быть перпендикулярен \mathfrak X_1. Выберем в качестве стартового вектора X_0 произвольный вектор \mathbb R^n перпендикулярный \mathfrak X_1. Так, например, если \widetilde X_0 \in \mathbb R^n — произвольный ненулевой вектор, а |\mathfrak X_1|=1, то

X_0 =\widetilde X_0 - (\mathfrak X_1^{\top} \widetilde X_0) \mathfrak X_1

будет вектором, ортогональным \mathfrak X_1. Тогда вектор X_0 принадлежит линейной оболочке

\mathcal L(\mathfrak X_2,\mathfrak X_3,\dots,\mathfrak X_n)

оставшихся собственных векторов матрицы A, т.е. его можно представить в виде

X_0=\alpha_2 \mathfrak X_2+\alpha_3 \mathfrak X_3+\dots+ \alpha_n \mathfrak X_n \, .

Умножим этот вектор слева на матрицу A. Поскольку \{A \mathfrak X_j=\lambda_j \mathfrak X_j \}_{j=2}^n, то получаем

X_1=AX_0=\alpha_2 \lambda_2 \mathfrak X_2+\alpha_3 \lambda_3 \mathfrak X_3+\dots+ \alpha_n \lambda_n \mathfrak X_n \, ,

т.е. X_1 не покинул \mathcal L(\mathfrak X_2,\mathfrak X_3,\dots,\mathfrak X_n). Еще раз домножаем на матрицу A:

AX_1=\alpha_2 \lambda_2^2 \mathfrak X_2+\alpha_3 \lambda_3^2 \mathfrak X_3+\dots+ \alpha_n \lambda_n^2 \mathfrak X_n \, .

и продолжаем далее:

X_1=AX_0, X_2=AX_1,\dots, X_{K+1}=AX_K,\dots

Все эти векторы остались в \mathcal L(\mathfrak X_2,\mathfrak X_3,\dots,\mathfrak X_n). Выделим последовательность первых элементов получившихся векторов

x_{1}^{[1]},x_{1}^{[2]},\dots,x_{1}^{[K]},\dots
Т

Теорема. Как правило, предел

\lim_{K\to +\infty}\frac{x_{1}^{[K+1]}}{x_{1}^{[K]}}

существует и он равен второму по убыванию модуля собственному числу матрицы A_{}, т.е. в наших обозначениях, \lambda_2. Соответствующий собственный вектор единичной длины тогда равен

\mathfrak X_2 =\lim_{K\to +\infty} \frac{X_{K+1}}{|X_{K+1}|} \, .

Доказательство фактически повторяет доказательство теоремы из ПУНКТА.

X_{K+1}=AX_K=\alpha_2 \lambda_2^{K+1} \mathfrak X_2+\alpha_3 \lambda_3^{K+1} \mathfrak X_3+\dots+ \alpha_n \lambda_n^{K+1} \mathfrak X_n

и слагаемые, содержащие \lambda_2, доминируют в асимптотике при K \to +\infty.

П

Пример. Для матрицы

A=\left(\begin{array}{rrrr} -46 & 185 & 36 & -20\\ 185 & -46 & -19 & -108\\ 36 & -19 & 190 & 51\\ -20 & -108 & 51 & -162 \end{array} \right)

максимальное по модулю собственное число и соответствующий ему собственный вектор:

\lambda_1 \approx -273.34192789,\ \mathfrak X_1 \approx \left(-0.49490060,0.66743225,0.00457756,0.55640509 \right)^{\top} \, .

Определить следующее по убыванию модуля собственное число и соответствующий собственный вектор.

Решение. Положив \widetilde X_0=(1,0,0,0)^{\top}, в качестве X_0 получим нормализованный вектор

X_0 \approx (0.86894959, 0.38012863, 0.00260709, 0.31689434)^{\top}
X_1=AX_0 \approx \left( \begin{array}{r} {\scriptstyle 24.10808504} \\ {\scriptstyle 108.99563271} \\ {\scriptstyle 40.71670159} \\ -{\scriptstyle 109.63680722} \end{array} \right),\ Y_2=AX_1 \approx \left( \begin{array}{r} {\scriptstyle 22713.75754114} \\ {\scriptstyle 10513.35447799} \\ {\scriptstyle 941.6701741} \\ {\scriptstyle 7584.02451759} \end{array} \right),\ X_3=AX_2 \approx \left( \begin{array}{r} {\scriptstyle 782357.36745348} \\ {\scriptstyle 2881464.45791505} \\ {\scriptstyle 1183644.1198834} \\ -{\scriptstyle 2770304.22741518} \end{array} \right),\dots,
X_{67}=\left( \begin{array}{r} {\scriptstyle 6.1245792}\times 10^{151} \\ -{\scriptstyle 1.8898150}\times 10^{152} \\ {\scriptstyle 1.54327938}\times 10^{153} \\ {\scriptstyle 2.6847072} \times 10^{152} \end{array} \right),\ X_{68}=\left( \begin{array}{r} {\scriptstyle 1.24097586} \times 10^{154} \\ -{\scriptstyle 3.82935257} \times 10^{154} \\ {\scriptstyle 3.12710586} \times 10^{155} \\ {\scriptstyle 5.44000775} \times 10^{154} \end{array} \right),\ X_{69}=\left( \begin{array}{r} {\scriptstyle 2.51442839} \times 10^{156} \\ -{\scriptstyle 7.75940198} \times 10^{156} \\ {\scriptstyle 6.33637437} \times 10^{157} \\ {\scriptstyle 1.10229329} \times 10^{157} \end{array} \right),\ X_{70}=\left( \begin{array}{r} {\scriptstyle 5.09483040} \times 10^{158} \\ -{\scriptstyle 1.57228614} \times 10^{159} \\ {\scriptstyle 1.28392289} \times 10^{160} \\ {\scriptstyle 2.23356263} \times 10^{159} \end{array} \right) \ .

Смотрим на отношения первых элементов векторов:

\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c} K & 1 & 2 & 3 & 4 & 5 & \dots & 20 & 21 & \dots & 40 & 41 & \dots & 67 & 68 & 69 & 70 \\ \hline x_{1}^{[K+1]}/x_{1}^{[K]} & 942.163 & 34.444 & 760.649 & 41.131 & 638.671 & \dots & 103.141 & 277.657 & \dots & 197.091 & 203.151 & \dots & 202.622 & 202.617 & 202.623 & \mathbf{202.62}_0 \end{array}

Подпоследовательность с нечетными номерами убывает, а с четными — возрастает.

X_{71}/|X_{71}| \approx \left( \mathbf{0.0387}_{8264}, -\mathbf{0.1196}_{8969}, \mathbf{0.97737}_{446}, \mathbf{0.17002}_{778} \right)^{\top} \, .

Ответ.

\lambda_2 \approx 202.6274413, \ \mathfrak X_2 \approx (0.03877879, -0.11969401, 0.97737378, 0.17002955)^{\top} \, .

Как найти следующее по модулю собственное число? — Имеет смысл обобщить идею, использованную для предыдущего случая. Выберем в качестве вектора X_0 произвольный вектор, ортогональный уже найденным собственным векторам \mathfrak X_1 и \mathfrak X_2. Это можно сделать, взяв вектор \widetilde X_0 \in \mathbb R^n произвольным ненулевым и ортогонализовав затем систему векторов \{ \widetilde X_0, \mathfrak X_1, \mathfrak X_2 \}.

Y_0 =\widetilde X_0 - (\mathfrak X_1^{\top} \widetilde X_0) \mathfrak X_1 - (\mathfrak X_2^{\top} \widetilde X_0) \mathfrak X_2 \, .

На основании свойства собственных векторов симметричной матрицы, вектор Y_0 должен принадлежать ортогональному дополнению подпространства \mathcal L(\mathfrak X_1, \mathfrak X_2), совпадающем с линейной оболочкой оставшихся собственных векторов \mathfrak X_3,\dots, \mathfrak X_n:

Y_0= \alpha_3\mathfrak X_3+ \dots + \alpha_n \mathfrak X_n \, .

Запускаем последовательность

Y_1=AY_0, Y_2=AY_1,\dots, Y_{K+1}=AY_K,\dots

Все ее векторы остаются в \mathcal L( \mathfrak X_3,\dots, \mathfrak X_n).

Т

Теорема. Как правило, предел

\lim_{K\to +\infty}\frac{y_{1}^{[K+1]}}{y_{1}^{[K]}}

существует и он равен третьему по убыванию модуля собственному числу матрицы A_{}, т.е. в наших обозначениях, \lambda_3. Соответствующий собственный вектор единичной длины тогда равен

\mathfrak X_3 =\lim_{K\to +\infty} \frac{Y_{K+1}}{|Y_{K+1}|} \, .

П

Пример. Для матрицы предыдущего примера определить третье по убыванию модуля собственное число и соответствующий собственный вектор.

Решение. Положив \widetilde X_0=(1,0,0,0)^{\top}, в качестве Y_0 получим нормализованный вектор

Y_0 \approx (0.86808386, 0.38585467, -0.04105126 , 0.30961487 )^{\top} \, .

Запускаем последовательность \{Y_{K+1}= AY_K\}_{K=0}^{\infty}:

Y_{200} \approx \left(7.61827975\times 10^{442}, 8.10767900 \times 10^{442}, 1.2054512000 \times 10^{442} , -2.95927062 \times 10^{442}\right)^{\top} \, .

Смотрим на отношения первых элементов векторов:

\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c} K & 1 & 2 & 3 & 4 & 5 & \dots & 100 & 101 & \dots & 150 & 151 & \dots & 197 & 198 & 199 & 200 \\ \hline y_{1}^{[K+1]}/y_{1}^{[K]} & 953.079 & 33.916 & 771.111 & 40.335 & 649.462 & \dots & 168.294 & 160.763 & \dots & 164.884 & 163.949 & \dots & 164.339 & 164.471 & 164.344 & \mathbf{164.4}_6 \end{array}

Подпоследовательность с нечетными номерами убывает, а с четными — возрастает.

X_{200}/|X_{200}| \approx \left (\mathbf{0.658}_1 \mathbf{0.7004}_4, \mathbf{0.1041}_4, -\mathbf{0.255}_6 \right)^{\top} \, .

Ответ.

\lambda_3 \approx 164.40656546, \ \mathfrak X_3 \approx (0.658044444, 0.70048686, 0.10417953, -0.25581689)^{\top} \, .
§

Сходимость в последнем примере — крайне медленная. Реальную точность вычислений приходилось держать в 60 десятичных знаков. Возможно проблемы вызваны тем, что собственные числа \lambda_3 и \lambda_4 близки по модулю: \lambda_4 \approx -157.69207885.

§

Фактически, предложенный метод можно описать в терминах понижения порядка симметричной матрицы. Далее в изложении идеи используем материал ПУНКТА. Так, если известен один собственный вектор \mathfrak X_1 симметричной матрицы (не обязательно принадлежащий максимальному по модулю собственному числу), то произвольная ортогональная матрица вида

Q=[\mathfrak X_1,Q_2,\dots,Q_n ]

приведет симметричную матрицу к виду

Q^{\top} A Q= \left( \begin{array}{cl} \begin{array}{l} \lambda_1 \\ 0 \\ \vdots \\ 0 \end{array} & \begin{array}{c} 0 \quad \dots \quad 0 \\ \left[ \begin{array}{c} \\ \quad \widetilde A \quad \\ \\ \end{array} \right] \end{array} \end{array} \right) \qquad npu \ \widetilde A= \left[ \begin{array}{ccc} Q_2^{^{\top}} AQ_2 & \dots & Q_2^{^{\top}} AQ_n \\ \dots && \dots \\ Q_n^{^{\top}} AQ_2 & \dots & Q_n^{^{\top}} AQ_n \end{array} \right]

— симметричной матрице порядка n-1. Очевидно, что \det \, (A-\lambda \, E) \equiv (\lambda_1 - \lambda) \det \, (\widetilde A-\lambda \, E) и спектр матрицы \widetilde{ A} получается из спектра A отбрасыванием собственного числа \lambda_1.

Предположим, для простоты, что все координаты вектора

\mathfrak X_1=[\mathfrak x_1, \mathfrak x_2,\dots, \mathfrak x_n ]^{\top}

ненулевые. Тогда фундаментальную систему решений уравнения

\mathfrak x_1 y_1+ \mathfrak x_2 y_2+\dots + \mathfrak x_n y_n=0

составляют векторы

\left[ \begin{array}{r} \mathfrak x_2 \\ - \mathfrak x_1 \\ 0 \\ 0 \\ \vdots \\ 0 \end{array}\right],\ \left[ \begin{array}{r} \mathfrak x_3 \\ 0 \\ - \mathfrak x_1 \\ 0 \\ \vdots \\ 0 \end{array}\right], \left[ \begin{array}{r} \mathfrak x_4 \\ 0 \\ 0 \\ - \mathfrak x_1 \\ \vdots \\ 0 \end{array}\right], \dots , \left[ \begin{array}{r} \mathfrak x_n \\ 0 \\ 0 \\ 0 \\ \vdots \\ - \mathfrak x_1 \end{array}\right] \, .

Их ортогонализация приводит к системе

\left[ \begin{array}{r} \mathfrak x_2 \\ - \mathfrak x_1 \\ 0 \\ 0 \\ \vdots \\ 0 \end{array}\right], \ \left[ \begin{array}{r} \mathfrak x_1 \mathfrak x_3 \\ \mathfrak x_2 \mathfrak x_3 \\ -\mathfrak x_1^2 - \mathfrak x_2^2 \\ 0 \\ \vdots \\ 0 \end{array}\right], \ \left[ \begin{array}{r} \mathfrak x_1 \mathfrak x_4 \\ \mathfrak x_2 \mathfrak x_4 \\ \mathfrak x_3 \mathfrak x_4 \\ -\mathfrak x_1^2 - \mathfrak x_2^2 - \mathfrak x_3^2 \\ \vdots \\ 0 \end{array}\right], \dots

Нормировав эти столбцы, получим столбцы Q_2,\dots,Q_n ортогональной матрицы Q.

П

Пример. В рассмотренном выше примере, при выборе в качестве \mathfrak X_1 собственного вектора, принадлежащего числу \lambda_1, получим матрицу Q в виде

Q\approx \left( \begin{array}{rrrr} -0.49490060 & 0.80326562 & -0.00328132 & -0.33140151 \\ 0.66743225 & 0.59562096 & 0.00442525 & 0.44693430 \\ 0.00457755 & 0 & -0.99998482 & 0.00306528 \\ 0.55640509 & 0 & 0 & -0.83091116 \end{array} \right) \, .
Q^{\top} A Q \approx \left( \begin{array}{rrrr} -273.3419278 & 0 & 0 & 0 \\ 0 & 131.0234834 & -17.30445446 & 96.7520712 \\ 0 & -17.30445446 & 190.3918737 & 61.8736745 \\ 0 & 96.7520712 & 61.8736745 & -112.0734293 \end{array} \right)

Симметричная матрица

\widetilde A = \left( \begin{array}{rrr} 131.0234834 & -17.30445446 & 96.7520712 \\ -17.30445446 & 190.3918737 & 61.8736745 \\ 96.7520712 & 61.8736745 & -112.0734293 \end{array} \right)

имеет собственные числа равными \lambda_2,\lambda_3,\lambda_4.


2017/06/27 21:18 редактировал au