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

От testwiki
Направо към навигацията Направо към търсенето

Методът на Нютон (известен също като метод на допирателните) е итерационен числен метод (алгоритъм) за намиране на приблизителни стойности на корените на реални функции. Той използва поредица от последователни все по-точни приближения, до достигане на търсената точност на решението. Започва се със стойност, относително близка до истинското решение. Функцията се замества с нейната допирателна в тази точка и се изчислява стойността на аргумента, при която допирателната пресича нулевата линия. Тази точка се приема за нова изходна стойност и методът се повтаря итеративно.

Описание на метода

Геометрична интерпретация

Илюстрация на метода на Нютон. В синьо е изобразена функцията f(x), на която трябва да се намери нулата (коренът на f(x)=0), с червено – допирателната в точката на поредното приближение xn. Тук се вижда, че следващото приближение xn+1 е по-добро от предишното xn.

Основната идея на метода е следната: задава се начално приближение xn близо до предполагаемия корен, след което в точката на приближение f(xn) се построява допирателна към графиката на изследваната функция, за която се намира пресечната точка с абцисната ос x близо до предполагаемия корен. Тази точка се приема за ново приближение и в точката на приближение f(xn+1) се построява нова допирателна към графиката на функцията, която пресича оста x в следващата точка на приближение xn+2. Процесът продължава докато се постигне необходимата точност.

Извеждане

За да се реши числено уравнението f(x)=0 с помощта на проста итерация, то трябва да се преобразува в еквивалентно уравнение: x=φ(x), където φ е свиващо се изображение[1].

За най-добра сходимост на метода, в точката на следващото приближение x∗ трябва да бъде изпълнено условието φ′(x∗)=0. Решението на това уравнение се търси във вида φ(x)=x+α(x)f(x), тогава:

φ′(x∗)=1+α′(x∗)f(x∗)+α(x∗)f′(x∗)=0.

Ако се приеме, че точката на приближение е „достатъчно близо“ до корена x~ и че дадената функция е непрекъсната (f(x∗)≈f(x~)=0), крайната формула за α(x) е:

α(x)=−1f′(x).

Като се отчете това, функцията φ(x) се определя като

φ(x)=x−f(x)f′(x).

При определени условия тази функция извършва свиващо се изображение в околността на корена.

В този случай, алгоритъмът за намиране на числено решение на уравнението f(x)=0 се свежда до проста итеративна процедура за изчисление (метод на последователните приближения):

xn+1=xn−f(xn)f′(xn).

Съгласно теоремата на Банах[2], последователността от приближения се стреми към корена на уравнението f(x)=0.

Алгоритъм

  1. Записват се изразите за функцията f(x) и първата ѝ производна f′(x).
  2. Задават се желаната точност на изчисление ε като абсолютна грешка (тъй като методът на Нютон е частен случай на метода на простата итерация[3]) и началното приближение x0  ,  (n=0).
  3. Определят се стойностите на функцията f(x0) и първата ѝ производна f′(x0).
  4. Изчислява се ново приближение xn+1=xn−f(xn)f′(xn) докато не се изпълни условието за спиране |xn+1−xn1−xn+1−xnxn−xn−1|<ε.

Примери

Квадратен корен от число

Разглежда се задачата за намиране на квадратен корен от число. Има много начини за изчисляването на корени и Нютоновият метод е един от тях.

Например, ако трябва да се намери квадратен корен от 612, това е еквивалентно на намирането на решенията на уравнението x2=612.

Тогава функцията, която се използва за метода на Нютон е f(x)=x2−612

с производна f′(x)=2x.

При избрана начална стойност x0=10, редицата получена по метода на Нютон е

x1=x0−f(x0)f′(x0)=10−102−6122⋅10=35,6x2=x1−f(x1)f′(x1)=35,6−35,62−6122⋅35,6=2_6,3955056x3=⋮=⋮=24,7_906355x4=⋮=⋮=24,7386_883x5=⋮=⋮=24,7386338_

Подчертаните цифри са коректни числа. Само с няколко итерации може да се намери решение, с точност много цифри след запетаята.

Решение на неполиномни уравнения

Разглежда се задачата за намиране на положителното число x, удовлетворяващо уравнението cos⁡(x)=x3. Уравнението се записва във вида f(x)=cos⁡(x)−x3=0 и се търсят корените му. Първата производна е f′(x)=−sin⁡(x)−3x2. Тъй като cos⁡(x)⩽1 за всяко x, от уравнението cos⁡(x)=x3 следва, че и x3<1 и x<1, т.е. търсеният корен се намира между 0 и 1. Избира се, примерно начална стойност x0=0,5. (Забележете, че при начална стойност 0 ще се получи неопределен резултат, което показва важността от използването на начална точка, която е близо до нулата.)

x1=x0−f(x0)f′(x0)=0,5−cos⁡(0,5)−(0,5)3−sin⁡(0,5)−3(0,5)2=1,112141637097x2=x1−f(x1)f′(x1)=⋮=0,_909672693736x3=⋮=⋮=0,86_7263818209x4=⋮=⋮=0,86547_7135298x5=⋮=⋮=0,8654740331_11x6=⋮=⋮=0,865474033102_

Верните числа са подчертани в примера по-горе. В частност x6 е с точност до всички показани позиции след запетаята. Вижда се, че броят на правилните числа след десетичната точка нараства от 2 (за x3) до 5 и 10, показвайки квадратната сходимост.

Условия на приложение

Има редица примери, посочващи недостатъците на метода.

Контрапримери

  • Ако началното приближение не е достатъчно близко до решението, методът може да не се сближи.
  • Ако производната не е непрекъсната в коренната точка, методът може да се отклони във всяка околност на корена.
  • Ако втората производна не съществува в коренната точка, скоростта на сходимост на метода може да бъде значително намалена.
  • Ако производната в коренната точка е нула, скоростта на сходимост няма да бъде квадратична и самият метод може да прекрати търсенето преждевременно и да доведе до приближение, което е неправилно за дадената точност.

Ограничения

Шаблон:Раздел-мъниче

Теорема на Канторович

Обобщения и модификации

Шаблон:Раздел-мъниче

Метод на секущата

Метод на единичната тангента

Метод на Нютон – Фурие

Многомерен случай

Приложен към оптимизационни задачи

Метод на Нютон – Рафсон

Методът на Нютон-Рафсон е подобрение на метода на Нютон за намиране на екстремум, описан по-горе. Основната разлика е, че при следващата итерация един от методите за едномерна оптимизация избира оптималната стъпка:

x→[j+1]=x→[j]−λjH−1(x→[j])∇f(x→[j]),

където λj=arg⁡minλf(x→[j]−λH−1(x→[j])∇f(x→[j])). За оптимизиране на изчисленията се прилага следното подобрение: вместо да се преизчислява хесианът на целевата функция при всяка итерация, те се ограничават до началното приближение H(f(x→[0])) и го актуализират само веднъж на всеки m стъпки или изобщо не го актуализират.

Приложен към задачи с най-малки квадрати

Метод на Гаус – Нютон

Шаблон:Основна

Обобщение към комплексната равнина

Реализация

Шаблон:Раздел-мъниче

Вижте също

Източници и бележки

  1. ↑ Свиващото се изображение е изображение на метрично пространство върху себе си, което намалява разстоянието между произволни точки в някакъв силен смисъл.
  2. ↑ Теоремата на Банах за неподвижната точка е твърдение в метричната геометрия, което гарантира съществуването и уникалността на неподвижна точка за определен клас изображения на метрични пространства. Тя съдържа и конструктивен метод за намиране на тази точка.
  3. ↑ Шаблон:Cite web

Външни препратки

Литература

На руски език

  • Акулич И. Л. Математическое программирование в примерах и задачах : Учеб. пособие для студентов эконом. спец. вузов. — М. : Высшая школа, 1986. — 319 с. : ил. — ББК 22.1 А44. — УДК 517.8(G).
  • Амосов А. А., Дубинский Ю. А., Копченова Н. П. Вычислительные методы для инженеров : Учеб. пособие. — М. : Высшая школа, 1994. — 544 с. : ил. — ББК 32.97 А62. — УДК 683.1(G). — ISBN 5-06-000625-5.
  • Бахвалов Н. С., Жидков Н. П., Кобельков Г. Г. Численные методы. — 8-е изд. — М. : Лаборатория Базовых Знаний, 2000.
  • Вавилов С. И. Исаак Ньютон. — М. : Изд. АН СССР, 1945.
  • Волков Е. А. Численные методы. — М. : Физматлит, 2003.
  • Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. Пер. с англ. — М. : Мир, 1985.
  • Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. — М. : Наука, 1970. — С. 575—576.
  • Коршунов Ю. М., Коршунов Ю. М. Математические основы кибернетики. — Энергоатомиздат, 1972.
  • Максимов Ю. А.,Филлиповская Е. А. Алгоритмы решения задач нелинейного программирования. — М. : МИФИ, 1982.
  • Морозов А. Д. Введение в теорию фракталов. — МИФИ, 2002.

На немски език

  • P. Deuflhard, A. Hohmann: Numerische Mathematik I. Eine algorithmisch orientierte Einführung. 3. überarbeitete und erweiterte Auflage. De Gruyter, Berlin, New York 2002, ISBN 3-11-017182-1.
  • P. Deuflhard: Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms. Springer, Berlin 2004, ISBN 3-540-21099-7 (Reihe: Springer Series in Computational Mathematics, Vol. 35).
  • J. M. Ortega, W. C. Rheinboldt: Iterative Solution of Nonlinear Equations in Several Variables. Society for Industrial & Applied Mathematics, 2000, ISBN 0-89871-461-3 (Reihe Classics in Applied Mathematics).
  • M. Hermann: Numerische Mathematik, Band 1: Algebraische Probleme. 4., überarbeitete und erweiterte Auflage. Walter de Gruyter Verlag, Berlin und Boston 2020, ISBN 978-3-11-065665-7.

На английски език

  • Hazewinkel, Michiel, ed. (2001), Newton method, Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4.

Референции

  • Xavier Gourdon: Newton’s method and high order iterations, fehlerfreie Darstellung in der Postscript-Datei.
  • J. H. Hubbard, D. Schleicher, S. Sutherland: How to Find All Roots of Complex Polynomials by Newton’s Method Preprint (2000), Inventiones Mathematicae vol. 146 (2001).