Участник:Сорокин Александр/Метод сопряженных градиентов (Решение СЛАУ): различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 8: Строка 8:
 
Если <math> x^* </math> это решение задачи минимизации данного функционала, то в этой точке градиент <math> \bigtriangledown \phi (x^*) = Ax^* - b </math> должен быть равен нулю. Таким образом, минимизируя функционал <math> \phi (x) </math> мы получим решение исходной системы. <br>
 
Если <math> x^* </math> это решение задачи минимизации данного функционала, то в этой точке градиент <math> \bigtriangledown \phi (x^*) = Ax^* - b </math> должен быть равен нулю. Таким образом, минимизируя функционал <math> \phi (x) </math> мы получим решение исходной системы. <br>
 
==== Метод градиентного спуска ====
 
==== Метод градиентного спуска ====
Как известно, градиент, <math> \bigtriangledown \phi (x) </math>, является направлением наибольшего роста функции.
+
Как известно, градиент <math> \bigtriangledown \phi (x) </math> является направлением наибольшего роста функции.
 +
Метод градиентного спуска основан на стратегии движения в строну, противоположную возрастанию функции. Оптимальным направлением в этом случае будет антиградиент <math> -\bigtriangledown \phi (x) </math>.
  
 
=== Вычислительное ядро алгоритма ===
 
=== Вычислительное ядро алгоритма ===

Версия 16:54, 22 октября 2017

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

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

Метод сопряженных градиентов представляет собой итерационный метод для численного решения системы уравнений с симметричной и положительно определенной матрицей, является итерационным методом Крыловского типа. Основная идея метода заключается в том, чтобы минимизировать на подпространствах Крылова А-норму ошибки.

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

Пусть необходимо найти решение системы уравнений [math] Ax = b [/math], где [math] A^* = A \gt 0 [/math].
Рассмотрим функционал [math] \phi (x) = \frac{1}{2}x^T A x - x^T b [/math].
Если [math] x^* [/math] это решение задачи минимизации данного функционала, то в этой точке градиент [math] \bigtriangledown \phi (x^*) = Ax^* - b [/math] должен быть равен нулю. Таким образом, минимизируя функционал [math] \phi (x) [/math] мы получим решение исходной системы.

1.2.1 Метод градиентного спуска

Как известно, градиент [math] \bigtriangledown \phi (x) [/math] является направлением наибольшего роста функции. Метод градиентного спуска основан на стратегии движения в строну, противоположную возрастанию функции. Оптимальным направлением в этом случае будет антиградиент [math] -\bigtriangledown \phi (x) [/math].

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 Литература