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