Участник:KibAndrey/Ортогонализация Грама-Шмидта: различия между версиями
Amelie (обсуждение | вклад) |
Amelie (обсуждение | вклад) |
||
| Строка 83: | Строка 83: | ||
= Литература = | = Литература = | ||
[1] Википедия [Электронный ресурс]. Тема: Процесс_Грама_―_Шмидта – Электрон. дан. – URL [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%93%D1%80%D0%B0%D0%BC%D0%B0_%E2%80%95_%D0%A8%D0%BC%D0%B8%D0%B4%D1%82%D0%B0] (дата обращения 18.09.2016) | [1] Zur Theorie der linearen und nichtlinearen Integralgleichungen, 1. Teil: Entwicklung willkürlicher | ||
Funktionen nach Systemen vorgeschriebener. – Mathematische Annalen, 63 (1907), pp. 433–476 | |||
[2] Meyer C. D. Matrix analysis and applied linear algebra. – Siam, 2000. – Т. 2. | |||
[3] Википедия [Электронный ресурс]. Тема: Процесс_Грама_―_Шмидта – Электрон. дан. – URL [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%93%D1%80%D0%B0%D0%BC%D0%B0_%E2%80%95_%D0%A8%D0%BC%D0%B8%D0%B4%D1%82%D0%B0] (дата обращения 18.09.2016) | |||
[[en: Gram–Schmidt Orthogonalization]] | [[en: Gram–Schmidt Orthogonalization]] | ||
Версия от 23:49, 18 сентября 2016
| Ортогонализация Грама-Шмидта | |
| Последовательный алгоритм | |
| Последовательная сложность | [math]\displaystyle{ O(n^3) }[/math] |
| Объём входных данных | [math]\displaystyle{ }[/math] |
| Объём выходных данных | [math]\displaystyle{ }[/math] |
| Параллельный алгоритм | |
| Высота ярусно-параллельной формы | [math]\displaystyle{ }[/math] |
| Ширина ярусно-параллельной формы | [math]\displaystyle{ }[/math] |
Основные авторы описания: А.В.Кибанов, Т.З.Аджиева
ЧАСТЬ. Свойства и структура алгоритма
Общее описание алгоритма
Математическое описание алгоритма
Исходные данные: [math]\displaystyle{ k }[/math] векторов [math]\displaystyle{ \mathbf{a_1},\mathbf{a_2},...,\mathbf{a_n} }[/math] длины [math]\displaystyle{ n }[/math] ([math]\displaystyle{ \alpha_{ij} }[/math], [math]\displaystyle{ j=1,2,...,n }[/math], — координаты вектора [math]\displaystyle{ \mathbf{a_i} }[/math] ).
Вычисляемые данные:
[math]\displaystyle{ k }[/math] ортогональных векторов [math]\displaystyle{ \mathbf{b_1},\mathbf{b_2},...,\mathbf{b_n} }[/math] длины [math]\displaystyle{ n }[/math], причем [math]\displaystyle{ \mathbf{b_1}=\mathbf{a_1} }[/math] либо
[math]\displaystyle{ k }[/math] ортонормированных векторов [math]\displaystyle{ \mathbf{e_1},\mathbf{e_2},...,\mathbf{e_n} }[/math] длины [math]\displaystyle{ n }[/math], причем [math]\displaystyle{ \mathbf{e_1}=\frac{\mathbf{a_1}}{|\mathbf{a_1}|} }[/math]
Формулы процесса ортогонализации:
- [math]\displaystyle{ \begin{align} \mathbf{b_{1}} & =\mathbf{a_{1}}, \\ \mathbf{b_{2}}& =\mathbf{a_{2}}-proj_{\mathbf{b_1}}\mathbf{a_{1}}, \\ & ...\\ \mathbf{b_{{i} }} & = \mathbf{a_{i}}-\sum\limits_{j=1}^{i-1} proj_{\mathbf{b_j}}\mathbf{a_{j}},\\ & ...\\ \mathbf{b_{n}} & =\mathbf{ a_{n}}-\sum\limits_{j=1}^{n-1} proj_{\mathbf{b_j}}\mathbf{a_{j}},\\ \end{align} }[/math]
Здесь [math]\displaystyle{ proj_{\mathbf{b_j}}\mathbf{a_{j}} }[/math], для [math]\displaystyle{ j=1,...,n-1 }[/math] — проекция вектора [math]\displaystyle{ \mathbf{a_{j}} }[/math] на направление вектора [math]\displaystyle{ \mathbf{b_{j}} }[/math]. Это число, равное по величине проекции вектора [math]\displaystyle{ \mathbf{a_{j}} }[/math] на ось, проходящую через вектор [math]\displaystyle{ \mathbf{b_j} }[/math]. Формула для ее вычисления, полученная из определения скалярного произведения:
- [math]\displaystyle{ proj_{\mathbf{b_j}}\mathbf{a_{j}}=\frac{(\mathbf{aj},\mathbf{bj})}{|\mathbf{b_j}|}. }[/math]
Cуществует также модифицированная версия алгоритма, однако в данном описании разобран только классический алгоритм ортогонализации Грама-Шмидта.
Вычислительное ядро алгоритма
Макроструктура алгоритма
Схема реализации последовательного алгоритма
- [math]\displaystyle{ \begin{align} a_{1} & =b_{1}, \\ \beta_{ij} & = \frac{(a_{i},b_j)}{(b_j,b_j)}=-\frac{(a_i,b_j)}{|b_j|^2}, \quad i \in [2, n], \quad j \in [1, n] ,\\ \end{align} }[/math]
Последовательная сложность алгоритма
Информационный граф
Ресурс параллелизма алгоритма
Входные и выходные данные алгоритма
Свойства алгоритма
ЧАСТЬ Программная реализация алгоритма
Особенности реализации последовательного алгоритма
Локальность данных и вычислений
Возможные способы и особенности параллельной реализации алгоритма
Масштабируемость алгоритма и его реализации
Динамические характеристики и эффективность реализации алгоритма
Выводы для классов архитектур
Существующие реализации алгоритма
Литература
[1] Zur Theorie der linearen und nichtlinearen Integralgleichungen, 1. Teil: Entwicklung willkürlicher Funktionen nach Systemen vorgeschriebener. – Mathematische Annalen, 63 (1907), pp. 433–476 [2] Meyer C. D. Matrix analysis and applied linear algebra. – Siam, 2000. – Т. 2. [3] Википедия [Электронный ресурс]. Тема: Процесс_Грама_―_Шмидта – Электрон. дан. – URL [1] (дата обращения 18.09.2016)