Участник:AleksLevin/Алгоритм Ланцоша вычисления собственных значений симметричной матрицы для точной арифметики (без переортогонализации): различия между версиями
Строка 9: | Строка 9: | ||
== Математическое описание алгоритма == | == Математическое описание алгоритма == | ||
Алгоритм Ланцоша для вычисления собственных значений и собственных векторов матрицы <math style="vertical-align:0%;>A=A^T</math> в точной арифметике: | Алгоритм Ланцоша для вычисления собственных значений и собственных векторов матрицы <math style="vertical-align:0%;>A=A^T</math> в точной арифметике: | ||
− | + | ||
+ | <math>q_1=\frac{b}{\|b\|_2}, \beta_0=0, q_0=0 </math> | ||
== Вычислительное ядро алгоритма == | == Вычислительное ядро алгоритма == |
Версия 14:43, 5 ноября 2016
Содержание
- 1 Свойства и структура алгоритмов
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 1.10 Свойства алгоритма
- 2 Программная реализация алгоритма
- 2.1 Особенности реализации последовательного алгоритма
- 2.2 Локальность данных и вычислений
- 2.3 Возможные способы и особенности параллельной реализации алгоритма
- 2.4 Масштабируемость алгоритма и его реализации
- 2.5 Динамические характеристики и эффективность реализации алгоритма
- 2.6 Выводы для классов архитектур
- 2.7 Существующие реализации алгоритма
- 3 Литература
1 Свойства и структура алгоритмов
1.1 Общее описание алгоритма
Данный алгоритм появился в 1950 г. благодаря стараниям венгерского физика и математика Корнелия Ланцоша (венг. Lánczos Kornél). Сам Ланцош указывал, что его метод предназначен для отыскания нескольких собственных векторов симметричных матрицы, хотя к методу сразу было обращено внимание, как к способу приведения всей матрицы к трёхдиагональному виду. Двадцатью годами позже канадский математик Крис Пэж показал, что, несмотря на чувствительность к округлениям, алгоритм Ланцоша - эффективное средство вычисления некоторых внешних собственных чисел и соответствующих им собственных векторов [1, c.276].
Алгоритм Ланцоша для вычисления собственных значений симметричной матрицы А соединяет в себе метод Ланцоша для построения последовательности подпространств Крылова и ортонормированных векторов Ланцоша и процедуру Рэлея-Ритца получения оптимальных приближений собственных значений и соответствующих векторов исходной матрицы А [2, с.381].
1.2 Математическое описание алгоритма
Алгоритм Ланцоша для вычисления собственных значений и собственных векторов матрицы [math]A=A^T[/math] в точной арифметике:
[math]q_1=\frac{b}{\|b\|_2}, \beta_0=0, q_0=0 [/math]
1.3 Вычислительное ядро алгоритма
1.4 Макроструктура алгоритма
1.5 Схема реализации последовательного алгоритма
1.6 Последовательная сложность алгоритма
1.7 Информационный граф
1.8 Ресурс параллелизма алгоритма
1.9 Входные и выходные данные алгоритма
1.10 Свойства алгоритма
2 Программная реализация алгоритма
2.1 Особенности реализации последовательного алгоритма
2.2 Локальность данных и вычислений
2.3 Возможные способы и особенности параллельной реализации алгоритма
2.4 Масштабируемость алгоритма и его реализации
2.5 Динамические характеристики и эффективность реализации алгоритма
2.6 Выводы для классов архитектур
2.7 Существующие реализации алгоритма
3 Литература
[1] Парлетт Б. Симметричная проблема собственных значений. Численные методы //М.: Мир. - 1983. - С. 276-294
[2] James W. Demmel Вычислительная линейная алгебра. Теория и приложения //Мир. - 2001. С. 381-391