Опубликован: 25.10.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 3:

Численное решение систем линейных алгебраических уравнений

2.7. О спектральных задачах

Спектральные задачи — вычислительно наиболее трудоемкие задачи в прикладной линейной алгебре. Различают полную и частичную проблемы собственных значений. В первом случае необходимо отыскать ВСЕ собственные числа матрицы, во втором — лишь максимальное по абсолютной величине собственное число. Различают также самосопряженную спектральную задачу и задачу для произвольной матрицы. Очевидно, самосопряженная проблема решается проще — спектр самосопряженной матрицы всегда действительный.

Рассмотрим два алгоритма для самосопряженных матриц. Первый — степенной алгоритм, для вычисления наибольшего по абсолютной величине собственного числа. Выбираем произвольный ненулевой вектор {\mathbf{u}}_0 и строим последовательность векторов

{\mathbf{u}}_{k + 1} = \mathbf{Au}_{k}.

Легко показать, что выражение

$ \lambda   \approx  \frac{(\mathbf{Au}_k,{\mathbf{u}}_k)}{({\mathbf{u}}_k,{\mathbf{u}}_k)} = \frac{({\mathbf{u}}_{k+ 1},{\mathbf{u}}_k)}{({\mathbf{u}}_k,{\mathbf{u}}_k)} $

приближает максимальное по абсолютной величине собственное значение с точностью O(\lambda_{N}/\lambda_{N- 1})^k. Здесь \lambda _{N}/\lambda _{N - 1}отношение самого большого по модулю собственного числа матрицы к следующему по абсолютной величине.

Для решения полной самосопряженной проблемы собственных значений применяется метод вращений.

Определение собственных значений самосопряженной матрицы \mathbf{A} эквивалентно отысканию такой ортогональной матрицы \mathbf{T}, что

\mathbf{\Lambda } = \mathbf{T^{\prime}AT},

матрица \mathbf{\Lambda } — диагональная. Среди всех ортогональных преобразований данное минимизирует сумму квадратов внедиагональных элементов исходной матрицы. Построим итерационный метод, минимизирующий эту сумму на каждой итерации. Пусть каждое преобразование подобия на каждой итерации содержит лишь одну матрицу вращения {\mathbf{\hat A}} = {\mathbf{T^{\prime}}}_{ij}{\mathbf{AT}}_{ij}, где матрица \mathbf{T}_{ij} есть матрица поворота в плоскости {\mathbf{u}}_i {\mathbf{u}}_j на угол \alpha. Эта матрица отличается от матрицы \mathbf{A} только двумя строками и двумя столбцами (с номерами i и j ). Так как евклидова норма матрицы не изменяется при ортогональных преобразованиях, то легко получить соотношение между суммами квадратов внедиагональных элементов старой и новой матриц:

$ \sum\limits_{i \ne j}{\hat{a}_{ij}^2} = \sum\limits_{i \ne j}{{a}_{ij}^2} - 2{a}_{ij}^2  + \frac{1}{2}{\left({(a_{jj} - a_{ii})\sin 2\alpha  + 2a_{ij}\cos 2\alpha}\right)}^2. $

Очевидны условия минимизации суммы в левой части последнего равенства. Следует на текущей итерации выбирать индексы так, чтобы выполнялось условие |{a_{ij}}| = \max\limits_{k \ne l}|{a_{kl}}|, а угол поворота выбирается из условия 0 = {\left({(a_{jj}} - a_{ii})\sin 2\alpha  + 2a_{ij}\cos 2\alpha}\right)}^2 . Тогда он удовлетворяет условию

$ \tg 2\alpha  = \frac{2a_{ij}}{a_{ii} - a_{jj}},\quad |{\alpha }| \le \frac{\pi}{4} $.

Независимо от наличия кратных собственных значений метод вращений обладает квадратичной сходимостью.

Выбор максимального по модулю внедиагонального элемента — затратная операция, поэтому часто реализуется метод вращений с барьерами. Его идея состоит в следующем. При переборе внедиагональных значений вращение производится тогда, когда значение элемента по абсолютной величине превосходит некоторую величину (барьер). Если все элементы меньше барьера, его значение уменьшается, например, на порядок, и снова начинается циклический перебор внедиагональных элементов. Подробнее о методе вращений смотри в [2.1].

Другие алгоритмы решения спектральных задач описаны в специальной литературе [2.1, 2.3, 2.10].

Эдуард Макаров
Эдуард Макаров
Россия, Челябинск, Челябинский политехнический институт, 1966
Иван Кузнецов
Иван Кузнецов
Россия, г. Новосибирск