Участник:AleksLevin/Алгоритм Ланцоша вычисления собственных значений симметричной матрицы для точной арифметики (без переортогонализации): различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 14: Строка 14:


== Математическое описание алгоритма ==
== Математическое описание алгоритма ==
Для лучшего понимания описания, данного в этом пункте, рекомендуется ознакомиться с параграфом 6.6 Методы Крыловского подпространства из книги [2]. Здесь же будет дано краткое описание всех переменных, действий и необходимый теоретический минимум.
Для лучшего понимания описания, данного в этом пункте, рекомендуется ознакомиться с параграфом \mathcal{6.6 Методы Крыловского подпространства} из книги [2]. Здесь же дано краткое описание всех переменных, математических операций и необходимый теоретический минимум.
Алгоритм Ланцоша для вычисления собственных значений и собственных векторов вещественной симметричной матрицы <math style="vertical-align:0%;>A=A^T</math> в точной арифметике: [2, с.381]
Алгоритм Ланцоша для вычисления собственных значений и собственных векторов вещественной симметричной матрицы <math style="vertical-align:0%;>A=A^T</math> в точной арифметике: [2, с.381]



Версия от 18:48, 10 ноября 2016

Основные авторы описания: Левин А.Д. (студент, кафедра вычислительных методов, 604 группа)

Свойства и структура алгоритмов

Общее описание алгоритма

Данный алгоритм появился в 1950 г. и носит имя венгерского физика и математика Корнелия Ланцоша (венг. Lánczos Kornél). Алгоритм Ланцоша относится к итерационным методам вычисления собственных значений для матриц столь больших порядков [math]\displaystyle{ n }[/math], что к ним нельзя применить прямые методы из-за ограничений по времени и памяти.

Сам Ланцош указывал, что его метод предназначен для отыскания нескольких собственных векторов симметричных матриц, хотя к методу сразу было обращено внимание, как к способу приведения всей матрицы к трёхдиагональному виду. Двадцатью годами позже канадский математик Крис Пэж показал, что, несмотря на чувствительность к округлениям, алгоритм Ланцоша - эффективное средство вычисления некоторых [math]\displaystyle{ k }[/math] собственных чисел и соответствующих им собственных векторов [1, c.276].

Алгоритм Ланцоша для вычисления собственных значений симметричной матрицы [math]\displaystyle{ A }[/math] соединяет в себе метод Ланцоша для построения последовательности подпространств Крылова и ортонормированных векторов Ланцоша и процедуру Рэлея-Ритца получения оптимальных приближений собственных значений и соответствующих векторов исходной матрицы [math]\displaystyle{ A }[/math] [2, с.381].

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

Математическое описание алгоритма

Для лучшего понимания описания, данного в этом пункте, рекомендуется ознакомиться с параграфом \mathcal{6.6 Методы Крыловского подпространства} из книги [2]. Здесь же дано краткое описание всех переменных, математических операций и необходимый теоретический минимум. Алгоритм Ланцоша для вычисления собственных значений и собственных векторов вещественной симметричной матрицы [math]\displaystyle{ A=A^T }[/math] в точной арифметике: [2, с.381]


[math]\displaystyle{ \begin{align} q_1 & = \frac{b}{\|b\|_2}, \beta_0=0, q_0=0 \\ &for\ j\ & = 1 & to & k \\ z & = Aq_j \\ \alpha_{j}= q^{T}_{j}\,z \\ z & = z - \alpha_{j}\,q_j - \beta_{j-1}/,q_{j-1} \\ \end{align} }[/math]

Вычислительное ядро алгоритма

Макроструктура алгоритма

Схема реализации последовательного алгоритма

Последовательная сложность алгоритма

Информационный граф

Ресурс параллелизма алгоритма

Входные и выходные данные алгоритма

Свойства алгоритма

Программная реализация алгоритма

Особенности реализации последовательного алгоритма

Локальность данных и вычислений

Возможные способы и особенности параллельной реализации алгоритма

Масштабируемость алгоритма и его реализации

Динамические характеристики и эффективность реализации алгоритма

Выводы для классов архитектур

Существующие реализации алгоритма

Литература

[1] Парлетт Б. Симметричная проблема собственных значений. Численные методы //М.: Мир. - 1983. - С. 276-294

[2] James W. Demmel Вычислительная линейная алгебра. Теория и приложения //Мир. - 2001. С. 381-391