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
door drie gegeven punten
is van de vorm:
,
waarin de coëfficiënten
en
bepaald zijn door
![{\displaystyle A={\frac {d_{1}-d_{0}}{h_{1}+h_{0}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3dd94228162209d2d569ccd0aca0d61de533ad60)
![{\displaystyle B=A\,h_{1}+d_{1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f7291814607e3202948bbca0e5601283bf4184df)
![{\displaystyle C=f(x_{i})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/47142e6b1dc516755a5c5dda6dd0088545789eb7)
met
![{\displaystyle h_{0}=x_{i-1}-x_{i-2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f4e64080b7898839bd31175d7d60d30adcc76046)
![{\displaystyle h_{1}=x_{i}-x_{i-1}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/82a8d723a5f7139309806a777a11fb24f12362bc)
![{\displaystyle d_{0}={\frac {f(x_{i-1})-f(x_{x-2})}{h_{0}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f7b08604698d7ce845bf3887f2807adfc4102c01)
![{\displaystyle d_{1}={\frac {f(x_{i})-f(x_{x-1})}{h_{1}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/577a5db98eead7af704aff347cdce2926d96570f)
De parabool heeft twee wortels, die met een minder bekende formule gegeven worden door:
![{\displaystyle x_{\pm }=x_{i}+{\frac {-2C}{B\pm {\sqrt {B^{2}-4AC}}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/515829636556b2c15a97798687da96cf9f2c61ed)
Kies
of ![{\displaystyle x_{i+1}=x_{-}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b9b55ba82322770f9126231426bffeae39ff9a72)
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
gevonden is kan die in de veelterm worden weggedeeld door middel van een factor
. Indien de wortel complex is
, dan is ook zijn complex toegevoegde een wortel, en kunnen ze samen worden weggedeeld door de factor
. Dit proces van deflatie wordt toegepast tot alle wortels gevonden zijn.
Voorbeeld
De veelterm
![{\displaystyle p(x)=x^{5}-11x^{4}+46x^{3}-106x^{2}-15x-875}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffdd8f4153fb5eaef04c6ee678c73268603173c5)
heeft vijf wortels:
en ![{\displaystyle 7}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ee716ec61382a6b795092c0edd859d12e64cbba8)
Met de beginwaarden:
![{\displaystyle x_{0}=-1,\quad x_{1}=0,\quad x_{2}=1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a77fa7df1e4d36d5ee06dc4767ee7a578a7fac3c)
krijgt men als opeenvolgende iteraties :
![{\displaystyle {\begin{aligned}x_{3}&=&0{,}13675+2{,}73129j\\x_{4}&=&-2{,}09597+1{,}84751j\\x_{5}&=&-0{,}85137+2{,}36063j\\x_{6}&=&-1{,}07320+2{,}02847j\\x_{7}&=&-0{,}99693+1{,}99546j\\x_{8}&=&-0{,}99999+2{,}00002j\\x_{9}&=&-1{,}00000+2{,}00000j\\x_{10}&=&-1{,}00000+2{,}00000j\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/488af0ea24d51ad187c4d1e4681043ee64acdba5)
Bijgevolg is ook
![{\displaystyle x_{9}^{*}=-1-2j}](https://wikimedia.org/api/rest_v1/media/math/render/svg/63a56bfb52d5b0c8ff797de5d2cc591ecba916ae)
een wortel, en kan in de veelterm een factor
![{\displaystyle (x+1-2j)(x+1+2j)=x^{2}+2x+5}](https://wikimedia.org/api/rest_v1/media/math/render/svg/47ca5892271b3a289ac233a5076d87b6bc032b2f)
worden weggedeeld, tot
.
Van deze restveelterm kunnen dan weer verdere wortels bepaald worden.