Математический анализ · Метод Ньютона

Метод Ньютона

Метод Ньютона приближает корень f, повторяя один шаг: из приближения xₙ берётся касательная в (xₙ, f(xₙ)), а её пересечение с осью x становится следующим приближением. Двигайте начальную точку и наблюдайте быструю сходимость, цикл или уход вдаль.

Метод Ньютона в этой визуализации

Метод Ньютона приближает корень f — число r с f(r)=0f(r) = 0 — повторением одного шага. Для текущего приближения xnx_n возьмите касательную к графику в (xn,f(xn))(x_n, f(x_n)), заданную формулой L(x)=f(xn)+f′(xn)(x−xn)L(x) = f(x_n) + f'(x_n)(x - x_n). Около xnx_n касательная остаётся близко к кривой, поэтому её пересечение с осью x лучше приближает точку пересечения самой кривой. Решение L(x)=0L(x) = 0 даёт следующее приближение. На графике каждый шаг идёт от xnx_n к кривой по бледному пунктиру, затем по касательной до оси.

Один шаг метода Ньютона, определённый при f′(xₙ) ≠ 0
xn+1=xn−f(xn)f′(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

Обозначим погрешность через en=xn−re_n = x_n - r. Если r — простой корень (f′(r)≠0f'(r) \ne 0), а f имеет непрерывную вторую производную, разложение шага по Тейлору даёт en+1≈f′′(r)2f′(r) en2e_{n+1} \approx \frac{f''(r)}{2f'(r)}\,e_n^2, когда xnx_n близко к r. Возведение погрешности в квадрат примерно удваивает число верных цифр. Для x² − 2 из x₀ = 1 погрешности равны 0.086, 0.0025, 2.1 × 10⁻⁶ и 1.6 × 10⁻¹²; показания демонстрируют, как en/en−12e_n/e_{n-1}^2 устанавливается около 1/(22)≈0.3541/(2\sqrt2) \approx 0.354. Вдали от корня такой гарантии нет. При f′′(r)=0f''(r) = 0 квадратичный член исчезает и сходимость ещё быстрее: для arctan x погрешность примерно равна −23en3-\tfrac23 e_n^3, то есть на каждом шаге возникает куб предыдущей погрешности.

Для шага необходимо f′(xn)≠0f'(x_n) \ne 0. Горизонтальная касательная никогда не встречает ось, а почти горизонтальная встречает её далеко: для x² − 2 из 0.1 первый шаг попадает в 10.05. Метод может не сработать и без ухода вдаль. Для x³ − 2x + 2 касательная в 0 приводит в 1, а в 1 возвращает в 0; близкие к 0 начальные точки притягиваются к этому циклу: последовательность остаётся ограниченной, но предела не имеет. Для arctan x есть граница α ≈ 1.3917 — число, удовлетворяющее 2α=(1+α2)arctan⁡α2\alpha = (1 + \alpha^2)\arctan\alpha. Начальные точки с |x₀| < α сходятся, а лежащие за границей каждый раз попадают ещё дальше на другой стороне. Переключатель «Все начальные точки» раскрашивает ось x по исходу для каждой начальной точки. Для x³ − 2x + 2 примерно пятая часть [−3, 3] попадает в цикл, в том числе узкие полосы, сгущающиеся к точкам с горизонтальной касательной ±2/3\pm\sqrt{2/3}. Если начать с комплексных чисел, эти полосы превращаются во фрактал Ньютона.

У кратного корня также выполняется f′(r)=0f'(r) = 0, и квадратичная сходимость теряется. Для (x−1)2(x - 1)^2 шаг в точности равен xn+1=(xn+1)/2x_{n+1} = (x_n + 1)/2, поэтому погрешность уменьшается вдвое на каждом шаге. Это линейная сходимость: примерно 3.3 шага на каждый новый десятичный знак. Около корня кратности m отношение en+1/ene_{n+1}/e_n стремится к (m−1)/m(m - 1)/m.

На что обратить внимание

  • Ньютон рассматривал x3−2x−5=0x^3 - 2x - 5 = 0 в 1669 году. Из 2 метод в современном виде даёт 2.1, 2.0945681 и 2.0945514817 — девять верных десятичных знаков после трёх шагов.
  • Для f(x)=x2−af(x) = x^2 - a шаг имеет вид xn+1=12(xn+a/xn)x_{n+1} = \tfrac12\left(x_n + a/x_n\right): это старое правило извлечения квадратного корня, усредняющее приближение и a, делённое на него.

Управление

  • Перетаскивайте синюю точку x₀ вдоль оси x или нажмите на ось, чтобы поставить её туда. Она фиксируется на значениях, кратных 0.5.
  • Задайте n, чтобы показать столько шагов, или нажмите n → ∞, чтобы дойти до n = 10. Запись сохраняет каждое xₙ и его погрешность и останавливается раньше при достижении корня, горизонтальной касательной или выходе за 10⁶.
  • Включите «Все начальные точки», чтобы раскрасить ось x по исходу для каждой начальной точки.

Связанные понятия

Дополнительные материалы: Википедия: Newton's method (Английский); OpenStax, Calculus Volume 1, 4.9 Newton’s Method (Английский).