Участник:Khotkin/Построение матрицы Адамара произвольного размера
Всем привет! Здесь Кирилл Хоткин и Михаил Царев делают задание по суперкомпьютерам.
| Сюда тоже запилим | |
| Последовательный алгоритм | |
| Последовательная сложность | [math]\displaystyle{ O(n^3) }[/math] |
| Объём входных данных | [math]\displaystyle{ \frac{n (n + 1)}{2} }[/math] |
| Объём выходных данных | [math]\displaystyle{ \frac{n (n + 1)}{2} }[/math] |
| Параллельный алгоритм | |
| Высота ярусно-параллельной формы | [math]\displaystyle{ O(n) }[/math] |
| Ширина ярусно-параллельной формы | [math]\displaystyle{ O(n^2) }[/math] |
Основные авторы описания: А.В.Фролов, Вад.В.Воеводин (раздел 2.2), А.М.Теплов (разделы 2.4, 2.5)
Свойства и структура алгоритма
Общее описание алгоритма
Матрица Адамара [math]\displaystyle{ H }[/math] порядка [math]\displaystyle{ n }[/math] представляет собой матрицу размера n×n из элементов [math]\displaystyle{ +1 }[/math] и [math]\displaystyle{ -1 }[/math], такую, что: [math]\displaystyle{ H \cdot H^T = n \cdot E_n, }[/math] где [math]\displaystyle{ E_n }[/math] — это единичная матрица размера n×n.
Матрицы Адамара находят широкое применение в теории кодирования (коды, исправляющие ошибки), теории планирования многофакторных экспериментов (ортогональные блок-схемы), квантовой информатике и прочих областях.
Матрица Адамара остаётся матрицей Адамара при следующих преобразованиях:
- умножение строчки или столбца на −1;
- перестановка строчек или столбцов местами.
Матрицы Адамара, получаемые друг из друга многократным применением указанных выше преобразований называются эквивалентными.
Матрица Адамара называется нормализованной, если её первая строка и столбец состоят только из единиц.
Под матрицией Адамара [math]\displaystyle{ H_m }[/math] подразумевается матрица порядка [math]\displaystyle{ 2^m }[/math]
Примерами матриц Адамара различных размеров являются следующие матрицы: [math]\displaystyle{ H_0= (1) }[/math]