Метод Якоби для собственных значений

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Метод Якоби для собственных значений — итерационный алгоритм для вычисления собственных значений и собственных векторов вещественной симметричной матрицы. Назван в честь Карла Густава Якоба Якоби, предложившего этот метод в 1846 году[1], хотя использоваться метод начал только в 1950-х годах с появлением компьютеров[2].

Алгоритм[править | править вики-текст]

Пусть A — симметричная матрица, а G = G(i, j, \theta) — матрица вращения. Тогда

A'=G^\top A G \,

симметрична и подобна матрице A.

Более того, A' содержит следующие компоненты:

\begin{align}
 A'_{ii} &= c^2\, A_{ii}  -  2\, s c \,A_{ij}  +  s^2\, A_{jj} \\
 A'_{jj} &= s^2 \,A_{ii}  +  2 s c\, A_{ij}  +  c^2 \, A_{jj} \\
 A'_{ij} &= A'_{ji} = (c^2 - s^2 ) \, A_{ij}  +  s c \, (A_{ii} - A_{jj} ) \\
 A'_{ik} &= A'_{ki} = c \, A_{ik}  -  s \, A_{jk} & k \ne i,j \\
 A'_{jk} &= A'_{kj} = s \, A_{ik}  + c \, A_{jk} & k \ne i,j \\
 A'_{kl} &= A_{kl} &k,l \ne i,j
\end{align}

где s = \sin \theta и c = \cos \theta.

Поскольку G — ортогональная матрица, у матриц A и A' равны фробениусовы нормы ||\cdot||_F (корни из сумм квадратов всех компонент), причём мы можем выбрать \theta так, чтобы A'_{ij} = 0, и в этом случае A' будет иметь бóльшую сумму квадратов диагональных элементов:

 A'_{ij} = \cos(2\theta) A_{ij} + \tfrac{1}{2} \sin(2\theta) (A_{ii} - A_{jj})

Приравнивая это нулю, получим

 \operatorname{tg}(2\theta) = \frac{2 A_{ij}}{A_{jj} - A_{ii}}

Если   A_{jj} = A_{ii} , то

 \theta = \frac{\pi} {4} .

Чтобы достичь оптимального эффекта, необходимо потребовать, чтобы A_{ij} был наибольшим по модулю внедиагональным элементом, т. н. опорным элементом.

Метод Якоби для собственных значений производит вращения до тех пор, пока матрица не станет почти диагональной. Тогда элементы на диагонали аппроксимируют собственные значения матрицы A.

Примечания[править | править вики-текст]

  1. Jacobi, C.G.J. (1846). «Über ein leichtes Verfahren, die in der Theorie der Säkularstörungen vorkommenden Gleichungen numerisch aufzulösen» (German). Crelle's Journal 30: 51–94.
  2. Golub, G.H. (2000). «Eigenvalue computation in the 20th century». Journal of Computational and Applied Mathematics 123 (1-2): 35–65. DOI:10.1016/S0377-0427(00)00413-1.