Участник:BDA/Ортогонализация Грама-Шмидта: различия между версиями
BDA (обсуждение | вклад) |
BDA (обсуждение | вклад) |
||
Строка 17: | Строка 17: | ||
Ортогонализация Грама–Шмидта<ref>Канатников А.Н., Крищенко А.П. "Линейная алгебра." ― 3-е изд., стер. ― М.: Изд-во МГТУ им. Н.Э. Баумана, 2002</ref> (процесс Грама–Шмидта) ― наиболее известный алгоритм ортогонализации. Назван в честь Йоргена Педерсена Грама<ref>O'Connor, John J.; Robertson, Edmund F., "Jørgen Pedersen Gram", MacTutor History of Mathematics archive, University of St Andrews.</ref> и Эрхарда Шмидта<ref>O'Connor, John J.; Robertson, Edmund F., "Erhard Schmidt", MacTutor History of Mathematics archive, University of St Andrews.</ref>, однако ранее уже появлялся в работах Лапласа и Коши. Является частным случаем разложения Ивасавы, так как может быть представлен как разложение невырожденной квадратной матрицы в произведение ортогональной (или унитарной матрицы в случае эрмитова пространства) и верхнетреугольной матрицы с положительными диагональными элементами. | Ортогонализация Грама–Шмидта<ref>Канатников А.Н., Крищенко А.П. "Линейная алгебра." ― 3-е изд., стер. ― М.: Изд-во МГТУ им. Н.Э. Баумана, 2002</ref> (процесс Грама–Шмидта) ― наиболее известный алгоритм ортогонализации. Назван в честь Йоргена Педерсена Грама<ref>O'Connor, John J.; Robertson, Edmund F., "Jørgen Pedersen Gram", MacTutor History of Mathematics archive, University of St Andrews.</ref> и Эрхарда Шмидта<ref>O'Connor, John J.; Robertson, Edmund F., "Erhard Schmidt", MacTutor History of Mathematics archive, University of St Andrews.</ref>, однако ранее уже появлялся в работах Лапласа и Коши. Является частным случаем разложения Ивасавы, так как может быть представлен как разложение невырожденной квадратной матрицы в произведение ортогональной (или унитарной матрицы в случае эрмитова пространства) и верхнетреугольной матрицы с положительными диагональными элементами. | ||
− | Рассматриваемый алгоритм применяется для борьбы с помехами в адаптивной системе селекции движущихся целей<ref>Орешкин Б.Н., Бакулев П.А. "Быстрая процедура ортогонализации Грамма – Шмидта и ее применение для борьбы с помехами в адаптивной системе селекции движущихся целей" ― Радиотехника / №12 за 2007 г.</ref>, в протоколах безопасности<ref>Пискова А.В., Менщиков А.А., Коробейников А.Г "Использование ортогонализации Грама-Шмидта в алгоритме приведения базиса решетки для протоколов безопасности"</ref>, для повышения экономичности алгоритмов оценивания параметров моделей объектов управления<ref>А.Е. | + | Рассматриваемый алгоритм применяется для борьбы с помехами в адаптивной системе селекции движущихся целей<ref>Орешкин Б.Н., Бакулев П.А. "Быстрая процедура ортогонализации Грамма – Шмидта и ее применение для борьбы с помехами в адаптивной системе селекции движущихся целей" ― Радиотехника / №12 за 2007 г.</ref>, в протоколах безопасности<ref>Пискова А.В., Менщиков А.А., Коробейников А.Г. "Использование ортогонализации Грама-Шмидта в алгоритме приведения базиса решетки для протоколов безопасности"</ref>, для повышения экономичности алгоритмов оценивания параметров моделей объектов управления<ref>Карелин А.Е., Светлаков А.А. "Использование ортогонализации Грама-Шмидта для повышения экономичности многоточечных алгоритмов рекуррентного оценивания параметров моделей объектов управления" ― Известия Томского политехнического университета [Известия ТПУ]. — 2006. — Т. 309, № 8. — [С. 15-19].</ref> и в других областях. |
=== Математическое описание алгоритма === | === Математическое описание алгоритма === | ||
Строка 74: | Строка 74: | ||
=== Свойства алгоритма === | === Свойства алгоритма === | ||
* | * | ||
+ | |||
== Программная реализация алгоритма == | == Программная реализация алгоритма == | ||
=== Особенности реализации последовательного алгоритма === | === Особенности реализации последовательного алгоритма === |
Версия 13:49, 16 октября 2016
Ортогонализация Грама-Шмидта | |
Последовательный алгоритм | |
Последовательная сложность | O(nm^2) |
Объём входных данных | nm |
Объём выходных данных | nm |
Параллельный алгоритм | |
Высота ярусно-параллельной формы | ? |
Ширина ярусно-параллельной формы | ? |
Основные авторы описания: Белов Н. А., Богомолов Д. А..
Содержание
- 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 Общее описание алгоритма
Ортогонализация ― алгоритм построения для данной линейно независимой системы векторов евклидова или эрмитова пространства V ортогональной системы ненулевых векторов, порождающих то же самое подпространство в V.
Ортогонализация Грама–Шмидта[1] (процесс Грама–Шмидта) ― наиболее известный алгоритм ортогонализации. Назван в честь Йоргена Педерсена Грама[2] и Эрхарда Шмидта[3], однако ранее уже появлялся в работах Лапласа и Коши. Является частным случаем разложения Ивасавы, так как может быть представлен как разложение невырожденной квадратной матрицы в произведение ортогональной (или унитарной матрицы в случае эрмитова пространства) и верхнетреугольной матрицы с положительными диагональными элементами.
Рассматриваемый алгоритм применяется для борьбы с помехами в адаптивной системе селекции движущихся целей[4], в протоколах безопасности[5], для повышения экономичности алгоритмов оценивания параметров моделей объектов управления[6] и в других областях.
1.2 Математическое описание алгоритма
1.3 Вычислительное ядро алгоритма
Основное время работы алгоритма приходится на вычисление сумм \sum_{i=1}^{j-1} \mathbf{proj}_{\mathbf{b}_i} \mathbf{a}_i \forall j: j=\overline{1, m}.
1.4 Макроструктура алгоритма
Из описания алгоритма в предыдущих разделов следует, что основную часть данного метода составляют операции вычисления проекций векторов, а также их сумм.
1.5 Схема реализации последовательного алгоритма
1.6 Последовательная сложность алгоритма
Рассмотрим n векторов длины m.
- Скалярное произведение векторов требует n - 1 сложение и n произведений.
- Нормализация вектора требует 1 скалярного произведения, 1 вычисления квадратного корня и n делений, то есть:
- n-1 (+);
- n (\times);
- n (\div);
- 1 (\sqrt{}).
- Вычитание проекции вектора требует 1 скалярного произведения, n сложений и n умножений, то есть:
- 2n-1 (+);
- 2n (\times).
- Вычисление i-го вектора требует i-1 вычитаний проекций с нормализацией, то есть:
- (2n-1)(i-1)+n-1 (+);
- 2n(i-1)+n (\times);
- n (\div);
- 1 (\sqrt{}).
- Мы вычисляем вектора от i=1 до m, поэтому i-1 множителей выражаются треугольным числом (m-1)\frac{m}{2}, а элементы независимых i умножаются на m.
- (2n-1)(m-1)\frac{m}{2}+(n-1)m (+);
- 2n(m-1)\frac{m}{2}+nm (\times);
- nm (\div);
- m (\sqrt{}).
- В скалярном произведении n делений могут быть рассмотрены как n умножений:
- (2n-1)(m-1)\frac{m}{2}+(n-1)m (+);
- 2n(m-1)\frac{m}{2}+2nm (\times);
- m (\div);
- m (\sqrt{}).
Таким образом, требуется 2nm^2 операций. Сложность алгоритма O(nm^2).
1.7 Информационный граф
1.8 Ресурс параллелизма алгоритма
1.9 Входные и выходные данные алгоритма
Входные данные. Матрица A с элементами \alpha_{ij}, где i = \overline{1, n} (размерность пространства) и j = \overline{1, m} (количество линейно-независимых векторов), при этом n \leqslant m.
Объем входных данных. nm
Выходные данные. Матрица B с элементами \beta_{ij}, где i = \overline{1, n} и j = \overline{1, m}, тогда b_{i1}, \dots, b_{im} — система ортогональных векторов.
Объем выходных данных. nm
1.10 Свойства алгоритма
2 Программная реализация алгоритма
2.1 Особенности реализации последовательного алгоритма
2.2 Локальность данных и вычислений
2.3 Возможные способы и особенности параллельной реализации алгоритма
2.4 Масштабируемость алгоритма и его реализации
Срок сдачи продлен до 15 ноября.
2.5 Динамические характеристики и эффективность реализации алгоритма
2.6 Выводы для классов архитектур
2.7 Существующие реализации алгоритма
3 Литература
- ↑ Канатников А.Н., Крищенко А.П. "Линейная алгебра." ― 3-е изд., стер. ― М.: Изд-во МГТУ им. Н.Э. Баумана, 2002
- ↑ O'Connor, John J.; Robertson, Edmund F., "Jørgen Pedersen Gram", MacTutor History of Mathematics archive, University of St Andrews.
- ↑ O'Connor, John J.; Robertson, Edmund F., "Erhard Schmidt", MacTutor History of Mathematics archive, University of St Andrews.
- ↑ Орешкин Б.Н., Бакулев П.А. "Быстрая процедура ортогонализации Грамма – Шмидта и ее применение для борьбы с помехами в адаптивной системе селекции движущихся целей" ― Радиотехника / №12 за 2007 г.
- ↑ Пискова А.В., Менщиков А.А., Коробейников А.Г. "Использование ортогонализации Грама-Шмидта в алгоритме приведения базиса решетки для протоколов безопасности"
- ↑ Карелин А.Е., Светлаков А.А. "Использование ортогонализации Грама-Шмидта для повышения экономичности многоточечных алгоритмов рекуррентного оценивания параметров моделей объектов управления" ― Известия Томского политехнического университета [Известия ТПУ]. — 2006. — Т. 309, № 8. — [С. 15-19].