# Methode van Newton-Raphson

De methode van Newton-Raphson, ook bekend als de methode van Newton of kortweg Newton-Raphson, is een iteratiemethode uit de numerieke wiskunde om de nulpunten te bepalen van een differentieerbare functie, zoals van een polynoom of een transcendente functie. De methode is naar Isaac Newton genoemd, die de methode bedacht, en Joseph Raphson, die er een formele beschrijving van gaf. Het algoritme convergeert onder gunstige omstandigheden vrij snel, namelijk kwadratisch: de fout na de $(n+1)$-ste iteratie is evenredig met het kwadraat van de fout na de $n$-de iteratie. De methode construeert in elke volgende stap een volgende benadering met behulp van de eerste afgeleide en de functiewaarde in de huidige benadering van het nulpunt. De methode is niet altijd stabiel.
De regula falsi convergeert trager dan de methode van Newton-Raphson, maar is stabieler. In de praktijk worden meer stabiele en snellere numerieke methoden dan de methode van Newton-Raphson gebruikt om de nulpunten van functies te bepalen, zoals de methode van Edmond Halley, die een uitbreiding is van de methode van Newton. De meeste methoden gebruiken tweede en hogere afgeleiden en een polynoom van een tweede of hogere graad om de nulpunten van een functie te bepalen.

## Geschiedenis

Isaac Newton schreef in de periode 1664-1671 het werk Methodus fluxionum et serierum infinitarum, Latijn voor: De methode van afgeleiden en oneindige rijen en beschreef daarin een nieuw algoritme voor het oplossen van veeltermvergelijkingen aan de hand van het voorbeeld $y^{3}-2y-5=0$.
Joseph Raphson beschreef het rekenproces in 1690 in het werk Analysis Aequationum universalis en illustreerde het met de algemene derdegraadsvergelijking, waar hij de onderstaande iteratieregel vond.
De abstracte vorm van deze werkwijze
    $x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}$
met gebruik van de afgeleide is van Thomas Simpson.

## Definitie

De methode van Newton-Raphson benadert een nulpunt van een differentieerbare functie $f$, uitgaande van de startwaarde $x_{0}$, iteratief door de recursieve betrekking:
    $x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}$

## Verklaring

De functie $f(x)$ heeft een nulpunt voor $x=\alpha$, dus $f(\alpha )=0$. Noem $h_{n}=\alpha -x_{n}$ het verschil tussen het nulpunt $\alpha$ en de benadering $x_{n}$, zodat
    $f(x_{n}+h_{n})=f(\alpha )=0$
De stelling van Taylor geeft een benadering van $f$ in de omgeving van $x_{n}$:
    $0=f(\alpha )=f(x_{n}+h_{n})=f(x_{n})+hf'(x_{n})+\ldots$
Onder verwaarlozing van de termen van tweede orde krijgt men een benadering van $h_{n}$:
    $h_{n}\approx -{\frac {f(x_{n})}{f'(x_{n})}}\quad$ de afgeleide $f'(x_{n})$ wordt ongelijk aan nul verondersteld
Een betere benadering voor het nulpunt is dan:
    $x_{n+1}=x_{n}+h_{n}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}$
Samen met de startwaarde $x_{0}$ geeft dit een recursieve procedure voor het benaderen van het nulpunt $\alpha$.
Merk op dat $x_{n+1}$ het snijpunt met de $x$-as is van de raaklijn aan de grafiek van $f$ in het punt $x_{n}$, gegeven door de formule
    $y=(x-x_{n})f'(x_{n})+f(x_{n})$

## Voorbeelden
### Video

* Kies een punt $x_{0}$ op de $x$-as nabij het nulpunt $\alpha$
* Construeer een loodrechte op de $x$-as, door $x_{0}$;
* Construeer de raaklijn door $f(x_{0})$ aan de kromme $f(x)$;
* De nieuwe benadering $x_{1}$ wordt gegeven door het snijpunt van de raaklijn met de $x$-as.

### Cosinus

Nulpuntsbepaling van $f(x)=\cos(x)$, met als startwaarde $x_{0}=1$. De recursieformule is:
    $x_{n+1}=x_{n}-{\frac {\cos(x_{n})}{-\sin(x_{n})}}=x_{n}+\cot(x_{n})$
en het gezochte nulpunt is
    $x={\frac {\pi }{2}}=1{,}570796327$
Iteratie resulteert in:
    $x_{0}=1$
    $x_{1}=1{,}000000000+\cot(1{,}000000000)=1{,}642092616\quad$ fout: 7,1×10$^{−2}$
    $x_{2}=1{,}642092616+\cot(1{,}642092616)=1{,}570675277\quad$ fout: 1,2×10$^{−4}$
    $x_{3}=1{,}570675277+\cot(1{,}570675277)=1{,}570796327\quad$ fout: 5,9×10$^{−13}$
Reeds na drie iteraties wordt een benadering verkregen die al erg nauwkeurig is. Merk op dat de exponent van de fout bij iedere iteratiestap minstens verdubbelt; dit is een kenmerk van kwadratische convergentie.
De methode is ook goed bruikbaar voor:
* stelsels van $n$ niet-lineaire algebraïsche vergelijkingen in $n$ onbekenden. In dat geval moeten de scalaire veranderlijken vervangen worden door matrices. In plaats van de afgeleide komt de jacobiaan.
* het vinden van extremen van een scalaire functie in een $n$-dimensionale ruimte. $1/f'(x_{n})$ wordt dan vervangen door de inverse hessiaan. Afhankelijk van de beschikbaarheid van analytische uitdrukkingen van de eerste en tweede afgeleiden van $f$ zijn er allerlei varianten op deze methode, waarbij de afgeleiden hetzij exact worden berekend, hetzij uit opeenvolgende iteratieslagen worden benaderd.

### Newton

De functie die Isaac Newton als voorbeeld gebruikte was $f(x)=x^{3}-2x-5$. Men kan raden dat het punt $x=2$ een eerste benadering voor een nulpunt van $f(x)$ is. Newton maakte de veronderstelling dat $x=2+a$ met een $a$ waarvan wordt aangenomen dat deze klein is en vult deze in de vergelijking in:
    $x^{3}=(2+a)^{3}=8+12a+6a^{2}+a^{3}$
    $2x=2(2+a)=4+2a$
zodat
    $0=x^{3}-2x-5=-1+10a+6a^{2}+a^{3}$
Omdat $a$ wordt verondersteld klein te zijn, worden de termen met $a^{2}$ en $a^{3}$ genegeerd, waarna
    $10a-1\approx 0$, dus $a\approx 0{,}1$
overblijft als betere benadering.
Dit kan worden herhaald door $a=0{,}1+b$ te stellen en in te vullen in de vergelijking voor $a$.
    $a^{3}=(0{,}1+b)^{3}=0{,}001+0{,}03b+0{,}3b^{2}+b^{3}$
    $a^{2}=(0{,}1+b)^{2}=0{,}01+0{,}2b+b^{2}$
zodat
    $0=-1+10a+6a^{2}+a^{3}=0{,}061+11{,}23b+6{,}3b^{2}+b^{3}$
Weer worden de termen van hogere orde weggelaten, waarna:
    $b\approx -0{,}061/11{,}23=-0{,}0054\ldots$
* ↑ Xavier Gourdon. Newton’s method and high order iterations, 4 oktober 2001. Gearchiveerd op 22 augustus 2024.