EssayAI
Блог
Блог
Математика и алгоритмы

Сходимость метода простой итерации: условие и оценка

27 марта 2026Время чтения: 8 минут
#метод простой итерации#сходимость#сжимающее отображение#неподвижная точка#оценка погрешности
Сходимость метода простой итерации: условие и оценка

Сходимость метода простой итерации - центральный вопрос при численном решении нелинейного уравнения, сведённого к виду x=φ(x)x = \varphi(x). Сам метод тривиален: берём начальное приближение x0x_0 и строим последовательность xn+1=φ(xn)x_{n+1} = \varphi(x_n). Но эта последовательность вовсе не обязана приближаться к корню - она может расходиться, зацикливаться или хаотично прыгать. Сходимость метода простой итерации полностью определяется поведением функции φ\varphi вблизи неподвижной точки, и есть точный критерий, который позволяет заранее сказать, сработает метод или нет. Разберём этот критерий, скорость сходимости, оценку погрешности и то, как переписать исходное уравнение, чтобы итерации сошлись.

Постановка: уравнение в форме x = φ(x)

Пусть нужно решить уравнение f(x)=0f(x) = 0. Метод простой итерации (его ещё называют методом последовательных приближений) требует сначала переписать его в эквивалентной форме x=φ(x)x = \varphi(x), где корень исходного уравнения становится неподвижной точкой функции φ\varphi: x=φ(x)x^{*} = \varphi(x^{*}). Например, x3+x1=0x^3 + x - 1 = 0 можно переписать как x=1x3x = 1 - x^3, или как x=11+x2x = \frac{1}{1 + x^2}, или как x=1x3x = \sqrt[3]{1 - x} - все три формы имеют тот же корень, но ведут себя по-разному.

Дальше выбираем x0x_0 и итерируем: x1=φ(x0)x_1 = \varphi(x_0), x2=φ(x1)x_2 = \varphi(x_1) и так далее. Если последовательность {xn}\{x_n\} сходится к некоторому пределу xx^{*}, и φ\varphi непрерывна, то предел автоматически является корнем: переход к пределу в равенстве xn+1=φ(xn)x_{n+1} = \varphi(x_n) даёт x=φ(x)x^{*} = \varphi(x^{*}). Вся проблема - гарантировать, что сходимость метода простой итерации вообще имеет место.

Проверка сходимости перед запуском итераций

Прежде чем вручную считать десяток итераций и гадать, сходятся они или нет, разумно проверить достаточное условие на выбранной форме φ\varphi и оценить, сколько шагов понадобится для нужной точности. Ниже - небольшая форма: задаёшь функцию φ(x)\varphi(x), отрезок локализации корня, начальное приближение и точность - получаешь проверку условия сжатия φ(x)q<1|\varphi'(x)| \le q < 1, оценку числа итераций и пошаговый расчёт.

После того как условие проверено, остаётся понять, почему именно производная φ\varphi' управляет сходимостью.

Принцип сжимающих отображений

Теоретический фундамент - теорема о неподвижной точке Банаха (принцип сжимающих отображений). Отображение φ\varphi называется сжимающим на отрезке [a,b][a, b], если оно переводит этот отрезок в себя (φ([a,b])[a,b]\varphi([a,b]) \subseteq [a,b]) и существует константа q<1q < 1 такая, что для любых двух точек

φ(x)φ(y)qxy.|\varphi(x) - \varphi(y)| \le q\, |x - y|.

Эта константа qq называется коэффициентом сжатия. Теорема утверждает: сжимающее отображение имеет на [a,b][a, b] единственную неподвижную точку xx^{*}, и метод простой итерации сходится к ней из любого начального приближения x0[a,b]x_0 \in [a, b]. То есть сходимость метода простой итерации в этом случае гарантирована глобально на отрезке - выбор x0x_0 влияет лишь на число шагов, но не на сам факт сходимости.

Сжатие - это не свойство уравнения, а свойство конкретной формы $\varphi$. Одно и то же уравнение $f(x) = 0$ можно записать как $x = \varphi(x)$ многими способами, и часть из них будет сжимающей, а часть - нет.

Условие сходимости через производную

Проверять неравенство φ(x)φ(y)qxy|\varphi(x) - \varphi(y)| \le q|x-y| напрямую неудобно. Если φ\varphi дифференцируема, по теореме Лагранжа φ(x)φ(y)=φ(ξ)(xy)\varphi(x) - \varphi(y) = \varphi'(\xi)(x - y) для некоторой точки ξ\xi между xx и yy. Отсюда удобный рабочий критерий: достаточно, чтобы на отрезке [a,b][a, b], содержащем корень, выполнялось

q=maxx[a,b]φ(x)<1.q = \max_{x \in [a, b]} |\varphi'(x)| < 1.

Это и есть основное достаточное условие сходимости метода простой итерации. Смысл прозрачен: если φ<1|\varphi'| < 1, функция вблизи корня «сжимает» расстояния, и каждая итерация приближает нас к xx^{*}. Если же φ(x)>1|\varphi'(x^{*})| > 1, неподвижная точка отталкивающая - итерации убегают от неё, как бы близко мы ни стартовали. Случай φ(x)=1|\varphi'(x^{*})| = 1 - пограничный, метод может сходиться сколь угодно медленно или не сходиться вовсе.

Вернёмся к примеру x3+x1=0x^3 + x - 1 = 0 с корнем около x0,682x^{*} \approx 0{,}682. Форма x=1x3x = 1 - x^3 даёт φ(x)=3x2\varphi'(x) = -3x^2, и φ(x)1,4>1|\varphi'(x^{*})| \approx 1{,}4 > 1 - расходится. Форма x=11+x2x = \frac{1}{1 + x^2} даёт φ(x)=2x(1+x2)2\varphi'(x) = \frac{-2x}{(1+x^2)^2}, и φ(x)0,57<1|\varphi'(x^{*})| \approx 0{,}57 < 1 - сходится. Уравнение одно, а сходимость метода простой итерации противоположная: всё решает выбор φ\varphi.

Скорость сходимости

Метод простой итерации обладает линейной скоростью сходимости. Из неравенства сжатия следует, что ошибка en=xnxe_n = |x_n - x^{*}| убывает геометрически:

xn+1xqxnx,xnxqnx0x.|x_{n+1} - x^{*}| \le q\, |x_n - x^{*}|, \qquad |x_n - x^{*}| \le q^{n}\, |x_0 - x^{*}|.

Каждая итерация уменьшает погрешность примерно в qq раз, поэтому число верных знаков растёт линейно по nn. Чем меньше qq, тем быстрее: при q=0,1q = 0{,}1 за один шаг прибавляется около одного десятичного знака, при q=0,9q = 0{,}9 для того же эффекта нужно более двадцати шагов. Это принципиально медленнее квадратичной сходимости метода Ньютона, где число верных знаков удваивается за шаг - поэтому метод простой итерации ценят за простоту и устойчивость, а не за скорость. Особый случай: если удаётся подобрать φ\varphi так, что φ(x)=0\varphi'(x^{*}) = 0, сходимость становится квадратичной (именно так устроен метод Ньютона как частный случай простой итерации).

Оценка погрешности и критерий остановки

На практике корень xx^{*} неизвестен, поэтому погрешность оценивают через соседние приближения. Из неравенства сжатия выводятся две оценки. Апостериорная (по уже вычисленным шагам):

xnxq1qxnxn1.|x_n - x^{*}| \le \frac{q}{1 - q}\, |x_n - x_{n-1}|.

Она удобна как критерий остановки: считаем, пока разность xnxn1|x_n - x_{n-1}| не станет достаточно малой. Важная тонкость: при qq, близком к единице, множитель q1q\frac{q}{1-q} велик, и малость разности xnxn1|x_n - x_{n-1}| ещё не означает малость самой ошибки - наивный критерий «остановиться, когда xnxn1<ε|x_n - x_{n-1}| < \varepsilon» здесь обманчив. Априорная оценка позволяет заранее предсказать число шагов:

xnxqn1qx1x0.|x_n - x^{*}| \le \frac{q^{n}}{1 - q}\, |x_1 - x_0|.

Приравняв правую часть к требуемой точности ε\varepsilon и взяв логарифм, получаем минимальное nn, гарантирующее нужную точность. Темы устойчивости и числа итераций тесно связаны с понятием числа обусловленности матрицы в линейных задачах и с методом Гаусса-Зейделя, который и есть простая итерация для систем линейных уравнений.

Частые ошибки

  • Запуск метода без проверки φ<1|\varphi'| < 1. Самая частая причина «метод не работает» - выбрана расходящаяся форма φ\varphi. Сначала оцените производную на отрезке, потом итерируйте.
  • Проверка производной только в одной точке. Условие q<1q < 1 должно выполняться на всём отрезке локализации, а не только в корне или в x0x_0. Берите maxφ\max |\varphi'| по отрезку.
  • Игнорирование условия φ([a,b])[a,b]\varphi([a,b]) \subseteq [a,b]. Даже при φ<1|\varphi'| < 1 итерации могут вылететь за пределы отрезка, где условие сжатия уже не гарантировано.
  • Критерий остановки xnxn1<ε|x_n - x_{n-1}| < \varepsilon при qq около единицы. При медленной сходимости фактическая ошибка может быть в q1q\frac{q}{1-q} раз больше разности приближений.
  • Путаница неподвижной точки и нуля функции. Метод ищет корень x=φ(x)x = \varphi(x), а не φ(x)=0\varphi(x) = 0; забытое преобразование f(x)=0x=φ(x)f(x)=0 \to x=\varphi(x) ведёт к неверной постановке.

FAQ

Чем метод простой итерации отличается от метода Ньютона? Метод Ньютона - частный случай простой итерации с φ(x)=xf(x)f(x)\varphi(x) = x - \frac{f(x)}{f'(x)}, специально подобранным так, что φ(x)=0\varphi'(x^{*}) = 0. Поэтому он сходится квадратично, а общий метод простой итерации - линейно. Зато простая итерация не требует вычислять производную ff' и устойчивее.

Что делать, если φ(x)>1|\varphi'(x)| > 1 и метод расходится? Переписать уравнение в другой форме x=φ(x)x = \varphi(x). Универсальный приём - релаксация: взять φ(x)=xλf(x)\varphi(x) = x - \lambda f(x) и подобрать параметр λ\lambda так, чтобы φ(x)=1λf(x)<1|\varphi'(x^{*})| = |1 - \lambda f'(x^{*})| < 1.

Гарантирует ли φ(x)<1|\varphi'(x^{*})| < 1 сходимость из любой точки? Только локальную - из достаточно близкой к корню x0x_0. Глобальная сходимость на отрезке требует, чтобы φ<1|\varphi'| < 1 и φ([a,b])[a,b]\varphi([a,b]) \subseteq [a,b] выполнялись на всём [a,b][a, b] (условия принципа сжатия).

Коротко

Сходимость метода простой итерации xn+1=φ(xn)x_{n+1} = \varphi(x_n) определяется коэффициентом сжатия: достаточное условие - q=maxφ(x)<1q = \max |\varphi'(x)| < 1 на отрезке, содержащем корень и переходящем в себя. При выполнении этого условия по принципу сжимающих отображений итерации сходятся к единственной неподвижной точке с линейной скоростью xnxqnx0x|x_n - x^{*}| \le q^n |x_0 - x^{*}|, а априорная и апостериорная оценки позволяют заранее посчитать число шагов и корректно остановиться. Одно уравнение можно записать в нескольких формах φ\varphi - и именно выбор формы решает, сойдётся метод или разойдётся.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также