|
|
| Строка 4: |
Строка 4: |
|
| |
|
| === Математическое описание алгоритма === | | === Математическое описание алгоритма === |
| Рассмотрим систему уравнений <math> Ax = b </math>, где <math> A^* = A > 0 </math>. <br> | | Рассмотрим систему уравнений <math> Ax = b </math>, где <math> A^* = A > 0 </math>. |
| Выберем произвольное начальное приближение <math> x^{(0)} </math> и перейдем к редуцированной системе <math> Au = r^{(0)} </math>, где <math> r^{(0)} = b - Ax^{(0)} </math>, <math>x = x^{(0)} + u </math>. <br>
| | ==== Метод градиентного спуска ==== |
| Основная идея метода состоит в том, чтобы минимизировать на подпространствах Крылова <math> K_i(r^{(0)}, A) </math> A-норму ошибки <math> e = x - z </math>, где <math> z </math> — точное решение системы. Таким образом, <math> x^{(i)} = x^{(0)} + y^{(i)} </math>, где <math> y^{(i)} = \underset{y\in K_i}{\operatorname{argmin}} || x^{(i)} - z ||_A = \underset{y\in K_i}{\operatorname{argmin}} || x^{(0)} + y - z ||_A </math>. <br>
| |
| По теореме Пифагора: <math> (x^{(i)} - z, y)_A = 0 </math> для любого <math> y \in K_i \Leftrightarrow r^{(i)} = b - Ax^{(i)} \perp K_i </math>. <br>
| |
| Пусть в <math> K_i </math> построен А-ортогональный базис <math> p_1, p_2, ... . p_i </math>. Тогда очевидно коэффициенты <math> \alpha_j </math> разложения <math> y^{(i)} = \alpha_1 p_1 + \alpha_2 p_2 + ... + \alpha_i p_i </math> не зависят от i. <br>
| |
| Получим <math> x^{(i)} = x^{(i - 1)} + \alpha_i p_i \Rightarrow r^{(i)} = r^{(i - 1)} - \alpha_i A p_i \Rightarrow \alpha_i = \frac{(r^{(i-1)}, p_i)}{(Ap_i, p_i)} </math> так как <math> r^{(i)} \perp K_i </math>.
| |
|
| |
|
| === Вычислительное ядро алгоритма === | | === Вычислительное ядро алгоритма === |
Свойства и структура алгоритма
Общее описание алгоритма
Метод сопряженных градиентов представляет собой итерационный метод для численного решения системы уравнений с симметричной и положительно определенной матрицей, является итерационным методом Крыловского типа. Основная идея метода заключается в том, чтобы минимизировать на подпространствах Крылова А-норму ошибки.
Математическое описание алгоритма
Рассмотрим систему уравнений [math]\displaystyle{ Ax = b }[/math], где [math]\displaystyle{ A^* = A \gt 0 }[/math].
Метод градиентного спуска
Вычислительное ядро алгоритма
Макроструктура алгоритма
Схема реализации последовательного алгоритма
Последовательная сложность алгоритма
Информационный граф
Ресурс параллелизма алгоритма
Входные и выходные данные алгоритма
Свойства алгоритма
Программная реализация алгоритма
Особенности реализации последовательного алгоритма
Локальность данных и вычислений
Возможные способы и особенности параллельной реализации алгоритма
Масштабируемость алгоритма и его реализации
Динамические характеристики и эффективность реализации алгоритма
Выводы для классов архитектур
Существующие реализации алгоритма
Литература