Уровень алгоритма

Участник:KibAndrey/Ортогонализация Грама-Шмидта: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 17: Строка 17:
 
== Математическое описание алгоритма ==
 
== Математическое описание алгоритма ==
  
Исходные данные: <math>k</math> векторов <math>a_1,a_2,...,a_n</math> длины <math>n</math> (<math>\alpha_{ij}</math>, <math>j=1,2,...,n</math>,  — координаты вектора <math>a_i</math> ).
+
Исходные данные: <math>k</math> векторов <math>\mathbf{a_1},a_2,...,a_n</math> длины <math>n</math> (<math>\alpha_{ij}</math>, <math>j=1,2,...,n</math>,  — координаты вектора <math>a_i</math> ).
  
 
Вычисляемые данные:  
 
Вычисляемые данные:  

Версия 23:38, 18 сентября 2016


Ортогонализация Грама-Шмидта
Последовательный алгоритм
Последовательная сложность [math]O(n^3)[/math]
Объём входных данных [math][/math]
Объём выходных данных [math][/math]
Параллельный алгоритм
Высота ярусно-параллельной формы [math][/math]
Ширина ярусно-параллельной формы [math][/math]


Основные авторы описания: А.В.Кибанов, Т.З.Аджиева


1 ЧАСТЬ. Свойства и структура алгоритма

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

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

Исходные данные: [math]k[/math] векторов [math]\mathbf{a_1},a_2,...,a_n[/math] длины [math]n[/math] ([math]\alpha_{ij}[/math], [math]j=1,2,...,n[/math], — координаты вектора [math]a_i[/math] ).

Вычисляемые данные:

[math]k[/math] ортогональных векторов [math]b_1,b_2,...,b_n[/math] длины [math]n[/math], причем [math]b_1=a_1[/math] либо

[math]k[/math] ортонормированных векторов [math]e_1,e_2,...,e_n[/math] длины [math]n[/math], причем [math]e_1=\frac{a_1}{|a_1|}[/math]

Формулы процесса ортогонализации:

[math] \begin{align} b_{1} & =a_{1}, \\ b_{2}& =a_{2}-proj_{b_1}a_{1}, \\ & ...\\ b_{i} & = a_{i}-\sum\limits_{j=1}^{i-1} proj_{b_j}a_{j},\\ & ...\\ b_{n} & = a_{n}-\sum\limits_{j=1}^{n-1} proj_{b_j}a_{j},\\ \end{align} [/math]

Здесь [math]proj_{b_j}a_{j}[/math], для [math]j=1,...,n-1[/math] проекция вектора math>a_{j}</math> на направление вектора math>b_{j}</math>.

Cуществует также модифицированная версия алгоритма, однако в данном описании разобран только классический алгоритм ортогонализации Грама-Шмидта.

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

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

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

[math] \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.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] Википедия [Электронный ресурс]. Тема: Процесс_Грама_―_Шмидта – Электрон. дан. – URL [1] (дата обращения 18.09.2016)