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

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

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 19: Строка 19:
Исходные данные: <math>k</math> векторов <math>a_1,a_2,...,a_n</math> длины <math>n</math> (<math>a_{ij}</math>, <math>j=1,2,...,n</math>,  — координаты вектора <math>a_i</math> ).
Исходные данные: <math>k</math> векторов <math>a_1,a_2,...,a_n</math> длины <math>n</math> (<math>a_{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>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> либо


Формулы метода:
Формулы метода:
Строка 25: Строка 26:
\begin{align}
\begin{align}
a_{1} & =b_{1}, \\
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]  
\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}
\end{align}
</math>
</math>

Версия от 19:23, 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{ a_1,a_2,...,a_n }[/math] длины [math]\displaystyle{ n }[/math] ([math]\displaystyle{ a_{ij} }[/math], [math]\displaystyle{ j=1,2,...,n }[/math], — координаты вектора [math]\displaystyle{ a_i }[/math] ).

Вычисляемые данные: [math]\displaystyle{ k }[/math] ортогональных векторов [math]\displaystyle{ b_1,b_2,...,b_n }[/math] длины [math]\displaystyle{ n }[/math], причем [math]\displaystyle{ b_1=a_1 }[/math] либо [math]\displaystyle{ k }[/math] ортонормированных векторов [math]\displaystyle{ e_1,e_2,...,e_n }[/math] длины [math]\displaystyle{ n }[/math], причем [math]\displaystyle{ e_1=\frac{a_1}{|a_1|} }[/math] либо

Формулы метода:

[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]


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

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

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

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

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

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

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

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

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

ЧАСТЬ Программная реализация алгоритма

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

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

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

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

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

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

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

Литература

[1] Википедия [Электронный ресурс]. Тема: Процесс_Грама_―_Шмидта – Электрон. дан. – URL [1] (дата обращения 18.09.2016)