1 Задачи алгебры
1.1 Матричные и векторные операции
1.1.1 Векторные операции
- Суммирование сдваиванием
- Нахождение суммы элементов массива сдваиванием
- Нахождение частных сумм элементов массива сдваиванием
- Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант
- Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант
- Последовательно-параллельный метод суммирования
1.1.2 Умножения матриц на вектор
1.1.2.1 Умножения неособенных матриц на вектор
- Умножение плотной неособенной матрицы на вектор (последовательный вещественный вариант)
1.1.2.2 Умножения матриц специального вида на вектор
- Преобразование Фурье
- Быстрое преобразование Фурье для составной размерности
- Быстрое преобразование Фурье для степеней двойки
- Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки
- Быстрое преобразование Фурье для чётных степеней двойки
- Быстрое преобразование Фурье для составной размерности с небольшими простыми делителями (2,3,5,7)
- Быстрое преобразование Фурье для простой размерности
1.1.3 Матричные операции
- Умножение плотных матриц
- Перемножение плотных неособенных матриц (последовательный вещественный вариант)
- Метод Штрассена
1.2 Разложения матриц
Задача разложения матриц
- Треугольные разложения
- Метод Гаусса (нахождение LU-разложения)
- LU-разложение методом Гаусса без перестановок
- LU-разложение методом Гаусса
- Компактная схема метода Гаусса и её модификации
- Компактная схема метода Гаусса для плотной матрицы
- Компактная схема метода Гаусса для трёхдиагональной матрицы и её модификации
- Компактная схема метода Гаусса для трёхдиагональной матрицы, последовательный вариант
- Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы
- Последовательно-параллельный алгоритм для LU-разложения трёхдиагональной матрицы
- LU-разложение методом Гаусса с перестановками
- LU-разложение методом Гаусса с выбором ведущего элемента по столбцу
- LU-разложение методом Гаусса с выбором ведущего элемента по строке
- LU-разложение методом Гаусса с выбором ведущего элемента по главной диагонали
- LU-разложение методом Гаусса с выбором ведущего элемента по всей матрице
- Метод Холецкого (нахождение симметричного треугольного разложения)
- Разложение Холецкого (метод квадратного корня) базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
- Известные треугольные разложения для матриц специального вида
- Унитарно-треугольные разложения
- QR-разложения плотных неособенных матриц
- Метод Гивенса (вращений) QR-разложения матрицы
- Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)
- Метод Хаусхолдера (отражений) QR-разложения матрицы
- Метод Хаусхолдера (отражений) QR-разложения квадратной матрицы, вещественный точечный вариант
- Метод ортогонализации
- Классический метод ортогонализации
- Метод ортогонализации с переортогонализацией
- Метод треугольного разложения матрицы Грама
- Методы QR-разложения плотных хессенберговых матриц
- Метод Гивенса (вращений) QR-разложения хессенберговой матрицы (вещественный вариант)
- Метод Хаусхолдера (отражений) QR-разложения хессенберговой матрицы (вещественный вариант)
- Разложения, содержащие матрицу, подобную исходной
- Разложения, содержащие хессенбергову матрицу, унитарно подобную исходной
- Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме
- Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме
- Метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме
- Классический точечный метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме
- Разложения, содержащие трёхдиагональную матрицу, унитарно подобную исходной
- Метод Хаусхолдера (отражений) приведения к трёхдиагональному виду
- Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду
- Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду
- Метод Гивенса (вращений) приведения матрицы к трёхдиагональной форме
- Спектральное разложение (нахождение собственных значений и векторов)
- Разложения с использованием унитарных преобразований, не содержащие матриц, подобной исходной
- Разложения на две унитарные и одну двухдиагональную матрицы
- Метод Хаусхолдера (отражений) приведения матрицы к двухдиагональной форме
- Метод Гивенса (вращений) приведения матрицы к двухдиагональной форме
- Разложения на две унитарные и одну диагональную матрицы
- Сингулярное разложение (нахождение сингулярных значений и векторов)
- Методы нахождения сингулярных чисел двухдиагональных матриц
- Алгоритм dqds нахождения сингулярных чисел двухдиагональной матрицы
- Итерация алгоритма dqds
1.3 Решение систем линейных уравнений
- Прямые методы решения СЛАУ
- Linpack benchmark
- Методы решения СЛАУ с матрицами специального вида
- Методы решения СЛАУ с треугольными матрицами
- Прямая подстановка (вещественный вариант)
- Обратная подстановка (вещественный вариант)
- Методы решения СЛАУ с двудиагональными матрицами
- Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей
- Метод сдваивания Стоуна для решения двудиагональных СЛАУ
- Последовательно-параллельный вариант обратной подстановки
- Методы решения СЛАУ с трёхдиагональными матрицами
- Методы, основанные на стандартном LU-разложении матрицы
- Прогонка
- Прогонка, точечный вариант
- Классическая монотонная прогонка, повторный вариант
- Метод сдваивания Стоуна
- Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы
- Метод сдваивания Стоуна для решения двудиагональных СЛАУ
- Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками
- Другие методы
- Метод редукции
- Полный метод редукции
- Повторный метод редукции для новой правой части
- Встречная прогонка
- Встречная прогонка, точечный вариант
- Повторная встречная прогонка, точечный вариант
- Метод циклической редукции
- Полный метод циклической редукции
- Повторный метод циклической редукции для новой правой части
- Метод окаймления
- Методы решения СЛАУ с блочно-треугольными матрицами
- Блочная прямая подстановка (вещественный вариант)
- Блочная обратная подстановка (вещественный вариант)
- Методы решения СЛАУ с блочно-двухдиагональными матрицами
- Прямая и обратная подстановка в СЛАУ с блочно-двухдиагональной матрицей
- Метод сдваивания Стоуна для решения блочно-двухдиагональных СЛАУ
- Блочный последовательно-параллельный вариант обратной подстановки для решения блочно-двухдиагональных СЛАУ
- Методы решения СЛАУ с блочно-трёхдиагональными матрицами
- Методы, основанные на стандартном LU-разложении матрицы
- Блочная прогонка
- Блочный последовательно-параллельный вариант решения с LU-разложением и обратными подстановками
- Другие методы
- Встречная прогонка, блочный вариант
- Блочный метод циклической редукции
- Блочный метод окаймления
- Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы
- Итерационные методы решения СЛАУ
- High Performance Conjugate Gradient (HPCG) benchmark
- Стабилизированный метод бисопряженных градиентов (BiCGStab)
- Алгоритм_Качмажа
1.4 Решения спектральных задач
- Спектральное разложение (нахождение собственных значений и векторов)
- QR-алгоритм
- QR-алгоритм, используемый в SCALAPACK
- Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме
- QR-алгоритм для хессенберговой матрицы, используемый в SCALAPACK
- QR-алгоритм для симметричных матриц, используемый в SCALAPACK
- Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду
- QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK
- QR-алгоритм для комплексных эрмитовых матриц, используемый в SCALAPACK
- Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду
- QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK
- Метод Якоби (вращений) для решения спектральной задачи у симметричных матриц
- Классический метод Якоби (вращений) для симметричных матриц с выбором по всей матрице
- Метод Якоби (вращений) для симметричных матриц с циклическим исключением
- Метод Якоби (вращений) для симметричных матриц с циклическим исключением и барьерами
- Метод Ланцоша
- Алгоритм Ланцоша для точной арифметики (без переортогонализации)
- Частичная спектральная задача
- Метод бисекций
- Сингулярное разложение (нахождение сингулярных значений и векторов)
- Метод Якоби (вращений) для нахождения сингулярных значений неособенных матриц
- Метод Якоби (вращений) для нахождения сингулярных значений с циклическим перебором
- Метод Якоби для нахождения сингулярных значений со специальным подбором вращений
- QR-алгоритм в приложении к сингулярному разложению
1.5 Алгебра многочленов
- Схема Горнера, вещественная версия, последовательный вариант
2 Алгоритмы на списках и массивах
2.1 Алгоритмы поиска
- Линейный поиск - находит элемент в любом списке, [math]O(n)[/math]
- Двоичный поиск - находит элемент в отсортированном списке, [math]O(\log(n))[/math]
2.2 Алгоритмы сортировки
- Сортировка с помощью двоичного дерева
- Сортировка пузырьком
- Сортировка слиянием (последовательный и параллельный варианты)
2.3 Алгоритмы на графах
- Обход графа
- Поиск в ширину (BFS)
- Поиск в глубину (DFS)
- Поиск кратчайшего пути от одной вершины (SSSP)
- Поиск в ширину (BFS) (для невзвешенных графов)
- Алгоритм Дейкстры
- Алгоритм Беллмана-Форда
- Алгоритм Δ-шагания
- Поиск кратчайшего пути для всех пар вершин (APSP)
- Алгоритм Джонсона
- Алгоритм Флойда-Уоршелла
- Поиск транзитивного замыкания орграфа
- Алгоритм Пурдома
- Определение диаметра графа
- Построение минимального остовного дерева (MST)
- Алгоритм Борувки
- Алгоритм Крускала
- Алгоритм Прима
- Алгоритм GHS
- Поиск изоморфных подграфов
- Алгоритм Ульмана
- Алгоритм VF2
- Связность в графах
- Алгоритм Шилоаха-Вишкина поиска компонент связности
- Система непересекающихся множеств
- Алгоритм Тарьяна поиска компонент сильной связности
- Алгоритм DCSC поиска компонент сильной связности
- Алгоритм Тарьяна поиска компонент двусвязности
- Алгоритм Тарьяна-Вишкина поиска компонент двусвязности
- Алгоритм Тарьяна поиска «мостов» в графе
- Определение вершинной связности графа
- Алгоритм Габова определения рёберной связности графа
- Поиск максимального потока в транспортной сети
- Алгоритм Форда-Фалкерсона
- Алгоритм проталкивания предпотока
- Поиск потока минимальной стоимости в транспортной сети
- Задача о назначениях
- Венгерский алгоритм
- Алгоритм аукциона
- Алгоритм Гопкрофта-Карпа
- Вычисление betweenness centrality
3 Вычислительная геометрия
- Поиск диаметра множества точек
- Построение выпуклой оболочки набора точек
- Триангуляция Делоне
- Диаграмма Вороного
- Принадлежность точки многоугольнику
- Пересечения выпуклых многоугольников
- Пересечение звёздных многоугольников
3.1 Компьютерная графика
- Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности
- Алгоритм определения видимых частей трёхмерной сцены
- Трассировка лучей - рендеринг реалистичных изображений
- Глобальное освещение - рассматривает прямое освещение и отражение от других объектов
4 Исследование и моделирование компьютеров
4.1 Тесты производительности компьютеров
- High Performance Conjugate Gradient (HPCG) benchmark
- Linpack benchmark
4.2 Алгоритмы моделирования квантовых систем
- Алгоритмы моделирования квантовых вычислений
- Однокубитное преобразование вектора-состояния
- Двухкубитное преобразование вектора-состояния
- Моделирование квантового преобразования Фурье
4.3 Алгоритмы машинного обучения
- Алгоритм k средних (k-means)
4.3.1 Нейронные сети
- Распознавание образов
- Распознавание текста
- Распознавание речи
- Распознавание лиц
4.3.2 Алгоритмы теории игр
5 Прикладные задачи из разных областей
5.1 Алгоритмы оптимизации
- Линейное программирование
- Симплекс-метод
- Метод ветвей и границ
- Генетические алгоритмы
- Муравьиные алгоритмы
- Комбинированные алгоритмы
- Стохастическое двойственное динамическое программирование (SDDP)
5.2 Решение систем нелинейных уравнений
- Метод Ньютона для систем нелинейных уравнений
5.3 Численные методы интегрирования
- Квадратурные формулы
- Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)
- Метод прямоугольников
- Метод трапеций
- Метод парабол (метод Симпсона)
- Метод Гаусса
5.4 Алгоритмы решения уравнений математической физики
- Уравнение Пуассона, решение дискретным преобразованием Фурье
6 Криптографические алгоритмы
- Метод встречи посередине
7 Другие алгоритмы