Methode van Muller

Uit testwiki
Naar navigatie springen Naar zoeken springen

De methode van Muller, bedacht door David E. Muller van de University of Illinois en naar hem genoemd, is een numerieke methode die algemeen bruikbaar is om de nulpunten van een analytische functie te bepalen. De methode wordt vooral gebruikt om de wortels van een veelterm te vinden, ook wanneer die complex zijn. De methode convergeert voor enkelvoudige wortels met een snelheid 1,84, dus net onder de kwadratische snelheid van de Newton-Raphsonmethode, en ze is weinig afhankelijk van de gekozen beginschattingen. Nadat een wortel van een veelterm bepaald is, kan hij, eventueel samen met zijn complex toegevoegde wortel, worden weggedeeld, de zogenaamde deflatie, waarna de volgende wortel bepaald kan worden, tot alle wortels gevonden zijn. Een alternatieve methode voor veeltermen is de methode van Bairstow.

Methode

Daar waar de secant-methode gebruikmaakt van het nulpunt van een rechte door twee punten op de grafiek van de betrokken functie, gebruikt de methode van Muller een nulpunt van een parabool door drie punten. Hierdoor krijgt men toegang tot complexe wortels.

De parabool pi door drie gegeven punten (xi2,f(xi2)),(xi1,f(xi1)),(xi,f(xi)) is van de vorm:

pi(x)=A(xxi)2+B(xxi)+C,

waarin de coëfficiënten A,B en C bepaald zijn door

A=d1d0h1+h0
B=Ah1+d1
C=f(xi)

met

h0=xi1xi2
h1=xixi1
d0=f(xi1)f(xx2)h0
d1=f(xi)f(xx1)h1

De parabool heeft twee wortels, die met een minder bekende formule gegeven worden door:

x±=xi+2CB±B24AC

Kies

xi+1=x+ of xi+1=x

Het plus- of minteken wordt bepaald door die noemer die in absolute waarde het grootst is.

Ook reële wortels blijken soms via complexe iteraties benaderd worden, zodat nog een (verwaarloosbaar) klein complex deel kan overblijven nadat de gewenste nauwkeurigheid bereikt is.

Deflatie

Indien een reële wortel xi+1=a gevonden is kan die in de veelterm worden weggedeeld door middel van een factor (xa). Indien de wortel complex is xi+1=a+jb, dan is ook zijn complex toegevoegde een wortel, en kunnen ze samen worden weggedeeld door de factor (x22ax+a2+b2). Dit proces van deflatie wordt toegepast tot alle wortels gevonden zijn.

Voorbeeld

De veelterm

p(x)=x511x4+46x3106x215x875

heeft vijf wortels:

1±2j,3±4j en 7

Met de beginwaarden:

x0=1,x1=0,x2=1

krijgt men als opeenvolgende iteraties :

x3=0,13675+2,73129jx4=2,09597+1,84751jx5=0,85137+2,36063jx6=1,07320+2,02847jx7=0,99693+1,99546jx8=0,99999+2,00002jx9=1,00000+2,00000jx10=1,00000+2,00000j

Bijgevolg is ook

x9*=12j

een wortel, en kan in de veelterm een factor

(x+12j)(x+1+2j)=x2+2x+5

worden weggedeeld, tot

p(x)=x35x29x35.

Van deze restveelterm kunnen dan weer verdere wortels bepaald worden.