El método de Muller es un algoritmo para encontrar raíces , un método numérico para resolver ecuaciones de la forma f ( x ) = 0. Fue presentado por primera vez por David E. Muller en 1956.

El método de Muller procede según una relación de recurrencia de tercer orden similar a la relación de recurrencia de segundo orden del método de la secante . Mientras que el método de la secante procede construyendo una línea que pasa por dos puntos en la gráfica de f correspondientes a las dos últimas aproximaciones iterativas y luego usa la raíz de la línea como la siguiente aproximación en cada iteración, por el contrario, el método de Muller usa tres puntos correspondientes a las tres últimas aproximaciones iterativas, construye una parábola que pasa por estos tres puntos y luego usa una raíz de la parábola como la siguiente aproximación en cada iteración.
Derivación
El método de Muller utiliza tres aproximaciones iniciales de la raíz,yy determina la siguiente aproximaciónal considerar la intersección del eje x con la parábola a través de,y.
Consideremos el polinomio cuadrático
que pasa por,yPara simplificar la notación, definamos las diferencias.
y
Sustituyendo cada uno de los tres puntos,yeny resolviendo simultáneamente parayda
Luego se aplica la fórmula cuadrática adeterminarcomo
El signo que precede al término radical se elige para que coincida con el signo depara asegurar que la siguiente iteración sea la más cercana a, donación
Una vezUna vez determinado el resultado, el proceso se repite. Cabe destacar que, debido a la expresión radical en el denominador, las iteraciones pueden ser complejas incluso cuando las anteriores son todas reales. Esto contrasta con otros algoritmos de búsqueda de raíces, como el método de la secante , el método de la secante generalizada de Sidi o el método de Newton , cuyas iteraciones seguirán siendo reales si se parte de números reales. Tener iteraciones complejas puede ser una ventaja (si se buscan raíces complejas) o una desventaja (si se sabe que todas las raíces son reales), según el problema.
El método se puede adoptar fácilmente para escenarios, como la detección de colisiones, donde no interesa la raíz más cercana, sino la más pequeña, reemplazandocon:
Algoritmo
El siguiente pseudocódigo describe el método de Muller para aproximar una raíz de la ecuación f(x) = 0. Devuelve una estimación.que satisface, dóndees una tolerancia especificada por el usuario.
entrada: función f , aproximaciones iniciales x0 , x1 , x2 , tolerancia ε , iteraciones máximas Nmax para n = 0 a Nmax hacer h0 ← x1 − x0 h1 ← x2 − x1 δ0 ← ( f ( x1 ) − f ( x0 )) / h0 δ1 ← ( f ( x2 ) − f ( x1 )) / h1 a ← ( δ1 − δ0 ) / ( h1 + h0 ) b ← a · h1 + δ1 c ← f ( x2 ) si b ≥ 0 entonces denominador ← b + sqrt( b ² − 4· a · c ) sino denominador ← b − sqrt( b ² − 4· a · c ) fin si x3 ← x2 − 2· c / denominador si | x3 − x2 | < ε entonces devolver x3 fin si x0 ← x1 x1 ← x2 x2 ← x3 fin para devolver x3
Ejemplo
Supongamos que buscamos una solución del polinomio
Aplicación del método de Muller con estimaciones iniciales,yy una tolerancia deproporciona las siguientes aproximaciones:
Con la tolerancia requerida, el método de Muller genera la solución.en la sexta iteración.
Al modificar las estimaciones iniciales, el método de Muller también puede generar soluciones complejas. Aplicando el método de Muller nuevamente pero con estimaciones iniciales,yy una tolerancia deproporciona las siguientes aproximaciones:
Con la tolerancia requerida, el método de Muller genera la solución compleja.en la octava iteración.
Velocidad de convergencia
Para funciones bien comportadas, el orden de convergencia del método de Muller es aproximadamente 1,839, que coincide exactamente con la constante de Tribonacci . Esto se puede comparar con aproximadamente 1,618, que coincide exactamente con la proporción áurea , para el método de la secante , y con exactamente 2 para el método de Newton . Por lo tanto, el método de la secante avanza menos por iteración que el método de Muller, mientras que el método de Newton avanza más.
Más precisamente, si ξ denota una sola raíz de f (de modo que f (ξ) = 0 y f ' (ξ) ≠ 0), f es tres veces continuamente diferenciable, y las estimaciones iniciales x 0 , x 1 , y x 2 se toman suficientemente cerca de ξ, entonces las iteraciones satisfacen
donde μ ≈ 1,84 es la solución positiva de, la ecuación que define la constante de Tribonacci.
Generalizaciones y métodos relacionados
El método de Muller ajusta una parábola, es decir, un polinomio de segundo orden , a los últimos tres puntos obtenidos f ( x k -1 ), f ( x k -2 ) y f ( x k -3 ) en cada iteración. Se puede generalizar esto y ajustar un polinomio p k,m ( x ) de grado m a los últimos m +1 puntos en la k -ésima iteración. Nuestra parábola y k se escribe como p k ,2 en esta notación. El grado m debe ser 1 o mayor. La siguiente aproximación x k es ahora una de las raíces de p k,m , es decir, una de las soluciones de p k,m ( x )=0. Tomando m =1 obtenemos el método de la secante, mientras que m =2 da el método de Muller.
Muller calculó que la secuencia { x k } generada de esta manera converge a la raíz ξ con un orden μ m donde μ m es la solución positiva de.
A medida que m tiende a infinito, la solución positiva de la ecuación tiende a 2. Sin embargo, el método es mucho más difícil para m > 2 que para m = 1 o m = 2, ya que es mucho más complicado determinar las raíces de un polinomio de grado 3 o superior. Otro problema es que no parece haber ninguna indicación sobre cuál de las raíces de p k,m elegir como la siguiente aproximación x k para m > 2.
Estas dificultades se superan con el método de la secante generalizada de Sidi , que también emplea el polinomio p k,m . En lugar de intentar resolver p k,m ( x )=0, la siguiente aproximación x k se calcula con la ayuda de la derivada de p k,m en x k -1 en este método.
Véase también
- Método de Halley , con convergencia cúbica
- El método de Householder incluye los métodos de Newton, Halley y de convergencia de orden superior.
Referencias
- Atkinson, Kendall E. (1989). Introducción al análisis numérico , 2.ª edición, Sección 2.4. John Wiley & Sons, Nueva York. ISBN 0-471-50023-2.
- Burden, RL y Faires, JD Análisis numérico , 4ª edición, páginas 77 y siguientes.
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). «Sección 9.5.2. Método de Muller» . Numerical Recipes: The Art of Scientific Computing (3.ª ed.). Nueva York: Cambridge University Press. ISBN 978-0-521-88068-8.
Lecturas adicionales
- Algoritmos para la búsqueda de raíces