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

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

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 39: Строка 39:
 
\end{align}
 
\end{align}
 
</math>
 
</math>
 
== Вычислительное ядро алгоритма ==
 
 
Анализ математических формул процесса ортогонализации Грама-Шмидта показывает, что алгоритм имеет три вычислительных ядра:
 
 
* вычисления скалярного произведения (к этой операции сводится вычисление длины вектора)
 
* умножения вектора на число
 
* сложения векторов.
 
 
Эти операции выполняются за время порядка <math>O\left(n\right)</math>
 
  
 
== Макроструктура алгоритма ==
 
== Макроструктура алгоритма ==

Версия 17:26, 13 октября 2016


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


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



Содержание

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

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

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

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

Анализ математических формул процесса ортогонализации Грама-Шмидта показывает, что алгоритм имеет три вычислительных ядра:

  • вычисления скалярного произведения (к этой операции сводится вычисление длины вектора)
  • умножения вектора на число
  • сложения векторов.

Эти операции выполняются за время порядка [math]O\left(n\right)[/math]

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 Схема реализации последовательного алгоритма

[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.8 Вычислительное ядро алгоритма

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Литература