Метод Гаусса-Зейделя

Метод Гаусса-Зейделя

Метод Гаусса—Зейделя[1] является классическим итерационным методом решения системы линейных уравнений.

Содержание

Постановка задачи

Возьмём систему: A\vec{x}=\vec{b}, где A=\left(
\begin{array}{ccc}
a_{11} & \ldots & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{n1} & \ldots & a_{nn} 
\end{array} \right),\quad \vec{b}=\left(
\begin{array}{c}
b_1 \\
\vdots \\
b_n 
\end{array} \right)

Или \left\{
\begin{array}{rcl}
a_{11}x_1 + \ldots + a_{1n}x_n& = & b_{1} \\
& &\\
a_{n1}x_1 + \ldots + a_{nn}x_n & = & b_{n} 
\end{array} \right.

И покажем, как её можно решить с использованием метода Гаусса-Зейделя.

Метод

Чтобы пояснить суть метода, перепишем задачу в виде:

\left\{
\begin{array}{lcr}
a_{11}x_1 & = &-a_{12}x_2 - a_{13}x_3 -\ldots - a_{1n}x_n  +  b_1\\
a_{21}x_1 + a_{22}x_2 & = & -a_{23}x_3 - \ldots - a_{2n}x_n  +  b_2\\
\ldots & &\\
a_{(n-1)1}x_1 + a_{(n-1)2}x_2 +\ldots+ a_{(n-1)(n-1)}x_{n-1} & = & -a_{(n-1)n}x_n + b_{n-1}\\
a_{n1}x_1 + a_{n2}x_2 +\ldots+ a_{n(n-1)}x_{n-1}+ a_{nn}x_n & = & b_n
\end{array} \right.

Здесь в j-м уравнении мы перенесли в правую часть все члены, содержащие xi , для i > j. Эта запись может быть представлена:

(\mathrm{L} + \mathrm{D} )\vec{x} = -\mathrm{U} \, \vec{x} + \vec{b},

где в принятых обозначениях D означает матрицу, у которой на главной диагонали стоят соответствующие элементы матрицы A, а все остальные нули; тогда как матрицы U и L содержат верхнюю и нижнюю треугольные части A, на главной диагонали которых нули.

Итеративный процесс в методе Гаусса-Зейделя строится по формуле (\mathrm{L} + \mathrm{D} )\vec{x}^{(k+1)} = -\mathrm{U} \vec{x}^{(k)} + \vec{b} ,\quad k = 0, 1, 2, \ldots после выбора соответствующего начального приближения \vec{x}^{(0)}.

Метод Гаусса-Зейделя можно рассматривать как модификацию метода Якоби. Основная идея модификации состоит в том, что новые значения \vec{x}^{(i)} используются здесь сразу же по мере получения, в то время как в методе Якоби они не используются до следующей итерации:

\left\{\begin{array}{ccccccccccc}
{x_{1}}^{(k+1)} &=& c_{12}{x_2^{(k)}} &+& c_{13}x_3^{(k)}&+& {\ldots}&+& c_{1n}{x_n}^{(k)} &+& d_1 \\
{x_{2}}^{(k+1)} &=& c_{21}{x_1^{(k+1)}} &+& c_{23}x_3^{(k)}&+& {\ldots}&+& c_{2n}{x_n}^{(k)} &+& d_2 \\
\ldots & & & & & & & & & & \\
{x_{n}}^{(k+1)} &=& c_{n1}{x_1^{(k+1)}} &+& c_{n2}{x_2^{(k+1)}}&+& {\ldots}&+& c_{n(n-1)}{x_{n-1}}^{(k+1)} &+& d_n
\end{array}\right.,

где c_{ij}=-\frac{a_{ij}}{a_{ii}},\quad d_i=\frac{b_i}{a_{ii}},\quad i=1,\ldots,n

Таким образом i-тая компонента (k + 1)-го приближения вычисляется по формуле:

x_i^{(k+1)}=\sum_{j=1}^{i-1}c_{ij}x_{j}^{(k+1)}+\sum_{j=i+1}^{n}c_{ij}x_{j}^{(k)}+d_i, \quad i=1,\ldots,n

Условие сходимости

Приведем достаточное условие сходимости метода.

Теорема.
Пусть \| \mathrm{A}_2 \| < 1\!, где \mathrm{A}_2 = -(\mathrm{L} + \mathrm{D})^{-1} \, \mathrm{U}, \quad (\mathrm{L} + \mathrm{D})^{-1}\! – матрица, обратная к (\mathrm{L} + \mathrm{D})\!. Тогда при любом выборе начального приближения \vec{x}^{(0)}\!:
  1. метод Гаусса-Зейделя сходится;
  2. скорость сходимости метода равна скорости сходимости геометрической прогрессии со знаменателем q = \|\mathrm{A}_2\|\!;
  3. верна оценка погрешности: \|\vec{x}^{(k)}-\vec{x}\|=q^k \, \|\vec{x}^{(0)}-\vec{x}\|\!.

Условие окончания

Условие окончания итерационного процесса Зейделя при достижении точности \varepsilon в упрощённой форме имеет вид:

\parallel x^{(k+1)}-x^{(k)}\parallel \le \varepsilon

Более точное условие окончания итерационного процесса имеет вид

\parallel Ax^{(k)}-b\parallel \le \varepsilon

и требует больше вычислений. Хорошо подходит для разреженных матриц.

Пример алгоритма на с++

 // Условие сходимости
bool converge(double *xk, double* xkp)
{
    bool b = true;
    for (int i = 0; i < n; i++)
    {
        if (fabs(xk[i]-xkp[i]) > eps) 
        {
            b = false;
            break;
        }
    }
    return b;
}
 
while(converge(x,p))
{
    for(int i = 0; i < n; i++)
    {
        var = 0;
        for(int j = 0; j < n; j++)
        {
            if(j != i){ var += (a[i][j]*x[j]); }
        }
        p[i] = x[i];
        x[i]=(b[i] - var)/a[i][i];
    }
}

Примечания

  1. Людвиг Зейдель (18211896) — немецкий астроном и математик, Карл Фридрих Гаусс (17771855) — немецкий математик, астроном и физик

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Метод Гаусса-Зейделя" в других словарях:

  • Метод Гаусса — Зейделя — У этого термина существуют и другие значения, см. метод покоординатного спуска. Метод Гаусса Зейделя[1] является классическим итерационным методом решения системы линейных уравнений. Содержание 1 Постановка задачи 2 Метод …   Википедия

  • Метод Гаусса—Зейделя — Метод Гаусса Зейделя[1] является классическим итерационным методом решения системы линейных уравнений. Содержание 1 Постановка задачи 2 Метод 3 Условие сходимости …   Википедия

  • Метод Гаусса (оптимизация) — У этого термина существуют и другие значения, см. Метод Гаусса. Метод Гаусса[1] прямой метод решения задач многомерной оптимизации. Содержание 1 Описание 2 Примечания …   Википедия

  • Метод Гаусса — У этого термина существуют и другие значения, см. Метод Гаусса (оптимизация). Метод Гаусса[1]  классический метод решения системы линейных алгебраических уравнений (СЛАУ). Это метод последовательного исключения переменных, когда с помощью… …   Википедия

  • Метод Зейделя — Метод Гаусса Зейделя[1] является классическим итерационным методом решения системы линейных уравнений. Содержание 1 Постановка задачи 2 Метод 3 Условие сходимости …   Википедия

  • Метод Якоби — метод простой итерации для решения системы линейных алгебраических уравнений. Содержание 1 Постановка задачи 2 Описание метода …   Википедия

  • Метод покоординатного спуска — Содержание 1 Постановка задачи решения системы уравнений в терминах методов оптимизации 2 Градиентные методы …   Википедия

  • Метод Якоби для линейных систем — У этого термина существуют и другие значения, см. Метод Якоби. Метод Якоби метод простой итерации для решения системы линейных алгебраических уравнений. Содержание 1 Постановка задачи 2 Описание метода …   Википедия

  • Метод простой итерации — Содержание 1 Постановка задачи 2 Численные методы решения уравнений 2.1 Метод простой итерации …   Википедия

  • Стационарный итерационный метод — Стационарный итерационный метод  это метод, который может быть представлен в следующей простой форме: , где и не зависят от номера итерации . Стационарные итерационные методы метод Якоби …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»