Articulo de referencia

El método de Halley

En análisis numérico , el método de Halley es un algoritmo para encontrar raíces que se utiliza para funciones de una variable real con una segunda derivada continua . Edmond Ha...

En análisis numérico , el método de Halley es un algoritmo para encontrar raíces que se utiliza para funciones de una variable real con una segunda derivada continua . Edmond Halley fue un matemático y astrónomo inglés que introdujo el método que ahora lleva su nombre.

El algoritmo ocupa el segundo lugar en la clase de métodos de Householder , después del método de Newton . Al igual que este último, produce iterativamente una secuencia de aproximaciones a la raíz; su tasa de convergencia a la raíz es cúbica. Existen versiones multivariadas de este método.

El método de Halley encuentra exactamente las raíces de una aproximación de Padé lineal sobre lineal a la función, a diferencia del método de Newton o el método de la secante, que aproximan la función linealmente, o el método de Muller, que la aproxima cuadráticamente. [ 1 ]

También existe el método irracional de Halley , que se describe a continuación.

Método

El método de Halley es un algoritmo numérico para resolver la ecuación no lineal f ( x ) = 0. En este caso, la función f debe ser una función de una variable real. El método consiste en una secuencia de iteraciones:

incógnitanorte+1=incógnitanorte F(incógnitanorte) F(incógnitanorte)  [ F(incógnitanorte) ]212 F(incógnitanorte) F(incógnitanorte) {\displaystyle x_{n+1}=x_{n}-{\frac {\ f(x_{n})\ f'(x_{n})\ }{\ \left[\ f'(x_{n})\ \right]^{2}-{\tfrac {1}{2}}\ f(x_{n})\ f''(x_{n})\ }}}

comenzando con una suposición inicial x 0 . [ 2 ]

Si f es una función tres veces continuamente diferenciable y a es un cero de f pero no de su derivada, entonces, en un entorno de a , las iteraciones x n satisfacen:

|incógnitanorte+1a|K|incógnitanortea|3, para algunos K>0 .{\displaystyle |x_{n+1}-a|\leq K\cdot {|x_{n}-a|}^{3},\quad {\text{ para algún }}\quad K>0~.}

Esto significa que las iteraciones convergen a cero si la estimación inicial es suficientemente cercana, y que la convergencia es cúbica. [ 3 ]

La siguiente formulación alternativa muestra la similitud entre el método de Halley y el método de Newton. La razón F(incógnitanorte)/F(incógnitanorte) {\displaystyle \ f(x_{n})/f'(x_{n})\ }solo necesita calcularse una vez, y esta forma es particularmente útil cuando la otra razón, F(incógnitanorte)/F(incógnitanorte) ,{\displaystyle \ f''(x_{n})/f'(x_{n})\ ,}puede reducirse a una forma más simple:

incógnitanorte+1 = incógnitanorteF(incógnitanorte) F(incógnitanorte)F(incógnitanorte) F(incógnitanorte)  F(incógnitanorte) 2  = incógnitanorteF(incógnitanorte) F(incógnitanorte) [ 1  12F(incógnitanorte) F(incógnitanorte)  F(incógnitanorte) F(incógnitanorte) ]1 .{\displaystyle x_{n+1}\ =\ x_{n}-{\frac {f(x_{n})}{\ f'(x_{n})-{\frac {f(x_{n})}{\ f'(x_{n})\ }}{\frac {\ f''(x_{n})\ }{2}}\ }}\ =\ x_{n}-{\frac {f(x_{n})}{\ f'(x_{n})\ }}\left[\ 1\ -\ {\frac {1}{2}}\cdot {\frac {f(x_{n})}{\ f'(x_{n})\ }}\cdot {\frac {\ f''(x_{n})\ }{f'(x_{n})}}\ \right]^{-1}~.}

Cuando la segunda derivada , F(incógnitanorte) ,{\displaystyle \ f''(x_{n})\ ,}es muy cercano a cero, la iteración del método de Halley es casi la misma que la iteración del método de Newton.

Motivación

Al derivar el método de Newton, una demostración comienza con la aproximación. 0=F(incógnitanorte+1)F(incógnitanorte)+F(incógnitanorte)(incógnitanorte+1incógnitanorte){\displaystyle 0=f(x_{n+1})\approx f(x_{n})+f'(x_{n})(x_{n+1}-x_{n})} calcular incógnitanorte+1incógnitanorte=F(incógnitanorte)F(incógnitanorte).{\displaystyle x_{n+1}-x_{n}=-{\frac {f(x_{n})}{f'(x_{n})}}\,.} De manera similar, para el método de Halley, una demostración comienza con 0=F(incógnitanorte+1)F(incógnitanorte)+F(incógnitanorte)(incógnitanorte+1incógnitanorte)+F(incógnitanorte)2(incógnitanorte+1incógnitanorte)2.{\displaystyle 0=f(x_{n+1})\approx f(x_{n})+f'(x_{n})(x_{n+1}-x_{n})+{\frac {f''(x_{n})}{2}}(x_{n+1}-x_{n})^{2}\,.} Para el método racional de Halley, esto se reorganiza para dar incógnitanorte+1incógnitanorte=F(incógnitanorte)F(incógnitanorte)+F(incógnitanorte)2(incógnitanorte+1incógnitanorte){\displaystyle x_{n+1}-x_{n}=-{\frac {f(x_{n})}{f'(x_{n})+{\frac {f''(x_{n})}{2}}(x_{n+1}-x_{n})}}\,} donde x n +1x n aparece en ambos lados de la ecuación. Sustituyendo el valor del método de Newton para x n +1x n en el lado derecho de esta última fórmula se obtiene la fórmula para el método de Halley, incógnitanorte+1=incógnitanorteF(incógnitanorte)F(incógnitanorte)F(incógnitanorte)F(incógnitanorte)2F(incógnitanorte).{\displaystyle x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})-{\frac {f''(x_{n})f(x_{n})}{2f'(x_{n})}}}}\,.}

Véase también la motivación y las demostraciones de la clase más general de métodos de Householder .

Convergencia cúbica

Supongamos que a es una raíz de f pero no de su derivada. Y supongamos que la tercera derivada de f existe y es continua en un entorno de a, y que x n está en ese entorno. Entonces, el teorema de Taylor implica:

0=F(a)=F(incógnitanorte)+F(incógnitanorte)(aincógnitanorte)+F(incógnitanorte)2(aincógnitanorte)2+F(ξ)6(aincógnitanorte)3{\displaystyle 0=f(a)=f(x_{n})+f'(x_{n})(a-x_{n})+{\frac {f''(x_{n})}{2}}(a-x_{n})^{2}+{\frac {f'''(\xi )}{6}}(a-x_{n})^{3}}

y también

0=F(a)=F(incógnitanorte)+F(incógnitanorte)(aincógnitanorte)+F(η)2(aincógnitanorte)2,{\displaystyle 0=f(a)=f(x_{n})+f'(x_{n})(a-x_{n})+{\frac {f''(\eta )}{2}}(a-x_{n})^{2},}

donde ξ y η son números comprendidos entre a y x n . Multiplica la primera ecuación por2F(incógnitanorte){\displaystyle 2f'(x_{n})}y réstale la segunda ecuación porF(incógnitanorte)(aincógnitanorte){\displaystyle f''(x_{n})(a-x_{n})}dar:

0=2F(incógnitanorte)F(incógnitanorte)+2[F(incógnitanorte)]2(aincógnitanorte)+F(incógnitanorte)F(incógnitanorte)(aincógnitanorte)2+F(incógnitanorte)F(ξ)3(aincógnitanorte)3F(incógnitanorte)F(incógnitanorte)(aincógnitanorte)F(incógnitanorte)F(incógnitanorte)(aincógnitanorte)2F(incógnitanorte)F(η)2(aincógnitanorte)3.{\displaystyle {\begin{aligned}0&=2f(x_{n})f'(x_{n})+2[f'(x_{n})]^{2}(a-x_{n})+f'(x_{n})f''(x_{n})(a-x_{n})^{2}+{\frac {f'(x_{n})f'''(\xi )}{3}}(a-x_{n})^{3}\\&\qquad -f(x_{n})f''(x_{n})(a-x_{n})-f'(x_{n})f''(x_{n})(a-x_{n})^{2}-{\frac {f''(x_{n})f''(\eta )}{2}}(a-x_{n})^{3}.\end{aligned}}}

CanceladoF(incógnitanorte)F(incógnitanorte)(aincógnitanorte)2{\displaystyle f'(x_{n})f''(x_{n})(a-x_{n})^{2}}y reorganizando los términos se obtiene:

0=2F(incógnitanorte)F(incógnitanorte)+(2[F(incógnitanorte)]2F(incógnitanorte)F(incógnitanorte))(aincógnitanorte)+(F(incógnitanorte)F(ξ)3F(incógnitanorte)F(η)2)(aincógnitanorte)3.{\displaystyle 0=2f(x_{n})f'(x_{n})+\left(2[f'(x_{n})]^{2}-f(x_{n})f''(x_{n})\right)(a-x_{n})+\left({\frac {f'(x_{n})f'''(\xi )}{3}}-{\frac {f''(x_{n})f''(\eta )}{2}}\right)(a-x_{n})^{3}.}

Coloca el segundo término en el lado izquierdo y divide por

2[F(incógnitanorte)]2F(incógnitanorte)F(incógnitanorte){\displaystyle 2[f'(x_{n})]^{2}-f(x_{n})f''(x_{n})}

Llegar:

aincógnitanorte=2F(incógnitanorte)F(incógnitanorte)2[F(incógnitanorte)]2F(incógnitanorte)F(incógnitanorte)2F(incógnitanorte)F(ξ)3F(incógnitanorte)F(η)6(2[F(incógnitanorte)]2F(incógnitanorte)F(incógnitanorte))(aincógnitanorte)3.{\displaystyle a-x_{n}={\frac {-2f(x_{n})f'(x_{n})}{2[f'(x_{n})]^{2}-f(x_{n})f''(x_{n})}}-{\frac {2f'(x_{n})f'''(\xi )-3f''(x_{n})f''(\eta )}{6(2[f'(x_{n})]^{2}-f(x_{n})f''(x_{n}))}}(a-x_{n})^{3}.}

De este modo:

aincógnitanorte+1=2F(incógnitanorte)F(ξ)3F(incógnitanorte)F(η)12[F(incógnitanorte)]26F(incógnitanorte)F(incógnitanorte)(aincógnitanorte)3.{\displaystyle a-x_{n+1}=-{\frac {2f'(x_{n})f'''(\xi )-3f''(x_{n})f''(\eta )}{12[f'(x_{n})]^{2}-6f(x_{n})f''(x_{n})}}(a-x_{n})^{3}.}

El límite del coeficiente del lado derecho cuando x na es:

2F(a)F(a)3F(a)F(a)12[F(a)]26F(a)F(a).{\displaystyle -{\frac {2f'(a)f'''(a)-3f''(a)f''(a)}{12[f'(a)]^{2}-6f(a)f''(a)}}.}

Si tomamos K un poco mayor que el valor absoluto de esto, podemos tomar los valores absolutos de ambos lados de la fórmula y reemplazar el valor absoluto del coeficiente por su límite superior cerca de a para obtener:

|aincógnitanorte+1|K|aincógnitanorte|3{\displaystyle |a-x_{n+1}|\leq K|a-x_{n}|^{3}}

que era lo que había que demostrar.

En resumen,

Δincógnitai+1=3(F)22FF12(F)2(Δincógnitai)3+O[Δincógnitai]4,Δincógnitaiincógnitaia.{\displaystyle \Delta x_{i+1}={\frac {3(f'')^{2}-2f'f'''}{12(f')^{2}}}(\Delta x_{i})^{3}+O[\Delta x_{i}]^{4},\qquad \Delta x_{i}\triangleq x_{i}-a.}[ 4 ]

Relación con el método de Newton

El método racional de Halley aplicado a la función de valor real f ( x ) es el mismo que aplicar el método de Newton. incógnitanorte+1=incógnitanortegramo(incógnitanorte)gramo(incógnitanorte){\displaystyle x_{n+1}=x_{n}-{\frac {g(x_{n})}{g'(x_{n})}}} para encontrar los ceros de la función gramo(incógnita)=F(incógnita)|kF(incógnita)|,{\displaystyle g(x)={\frac {f(x)}{\sqrt {|kf'(x)|}}}\,,} donde k es cualquier constante distinta de cero. Aplicar el método de Newton a g ( x ) dará convergencia cúbica (o mejor), mientras que el método de Newton aplicado directamente a f ( x ) generalmente dará convergencia cuadrática.

Por ejemplo, usar el método de Halley para encontrar un cero de f ( x ) = ye x , que es útil para estimar de manera eficiente y precisa x = ln( y ) , es lo mismo que usar el método de Newton para encontrar un cero de g ( x ) = ye x /2e x /2 .

Ejemplo

Uso del método de Halley para calcular raíces cuadradas

Así como el método de Newton se puede utilizar para calcular raíces cuadradas, el método de Halley se puede especializar para el mismo propósito con convergencia cúbica. Para encontrar la raíz cuadrada positiva de un número S dado , considere la función

F(incógnita)=incógnita2S,F(incógnita)=2incógnita,F(incógnita)=2.{\displaystyle f(x)=x^{2}-S,\quad f'(x)=2x,\quad f''(x)=2.}

Sustituyendo estos en la forma general de la iteración de Halley,

incógnitanorte+1=incógnitanorte2F(incógnitanorte)F(incógnitanorte)2[F(incógnitanorte)]2F(incógnitanorte)F(incógnitanorte),{\displaystyle x_{n+1}=x_{n}-{\frac {2f(x_{n})f'(x_{n})}{2[f'(x_{n})]^{2}-f(x_{n})f''(x_{n})}},}

da

incógnitanorte+1=incógnitanorteincógnitanorte2+3S3incógnitanorte2+S.{\displaystyle x_{n+1}=x_{n}\cdot {\frac {x_{n}^{2}+3S}{3x_{n}^{2}+S}}.}

Esto se conoce como la forma racional del método de Halley para raíces cuadradas. Solo requiere operaciones aritméticas (sin raíces cuadradas) y converge cúbicamente aS{\displaystyle {\sqrt {S}}}para cualquier suposición inicial positivaincógnita0>0{\displaystyle x_{0}>0}.

El método irracional de Halley

Halley desarrolló dos métodos de búsqueda de raíces de tercer orden. El anterior, que utiliza solo una división, se conoce como el método racional de Halley . Un segundo método, "irracional", también utiliza una raíz cuadrada. [ 5 ] [ 6 ] Comienza con

F(incógnitanorte+1)F(incógnitanorte)+F(incógnitanorte)(incógnitanorte+1incógnitanorte)+F(incógnitanorte)2(incógnitanorte+1incógnitanorte)2{\displaystyle f(x_{n+1})\approx f(x_{n})+f'(x_{n})(x_{n+1}-x_{n})+{\frac {f''(x_{n})}{2}}(x_{n+1}-x_{n})^{2}}

y resuelveF(incógnitanorte+1)0{\displaystyle f(x_{n+1})\approx 0}por el valor(incógnitanorte+1incógnitanorte){\displaystyle (x_{n+1}-x_{n})}utilizando la forma de la fórmula cuadrática paraa(incógnitanorte+1incógnitanorte)2+b(incógnitanorte+1incógnitanorte)+do=0{\displaystyle a(x_{n+1}-x_{n})^{2}+b(x_{n+1}-x_{n})+c=0}que tiene el radical en el denominador ,

incógnitanorte+1=incógnitanorte2dob(1+14ado/b2)=incógnitanorte2F(incógnitanorte)F(incógnitanorte)(1+12F(incógnitanorte)F(incógnitanorte)F(incógnitanorte)2).{\displaystyle x_{n+1}=x_{n}-{\frac {2c}{b\left(1+{\sqrt {1-4ac/b^{2}}}\right)}}=x_{n}-{\frac {2f(x_{n})}{f'(x_{n})\left(1+{\sqrt {1-{\frac {2f(x_{n})f''(x_{n})}{f'(x_{n})^{2}}}}}\right)}}.}

El signo para el radical se elige de manera queincógnitanorte+1{\displaystyle x_{n+1}}¿Está la raíz más cerca de?incógnitanorte{\displaystyle x_{n}}.

Halley [ 6 ] prefirió esta iteración "merecidamente" al método racional porque tiende a tener aproximadamente la mitad del error del método racional, un beneficio que se multiplica a medida que se itera.

Esta formulación se reduce al método racional de Halley bajo la aproximación de que1z1z/2{\displaystyle {\sqrt {1-z}}\approx 1-z/2}El método de Muller podría considerarse una modificación de este método. Por lo tanto, este método puede utilizarse para hallar raíces complejas.

Múltiples variables

El método de Halley se ha adaptado a múltiples variables, [ 7 ] donde el objetivo es encontrar una raízincógnita{\displaystyle {\vec {x}}}deF(incógnita)=0{\displaystyle {\vec {f}}({\vec {x}})={\vec {0}}}para alguna funciónF:RnorteRnorte{\displaystyle f\colon \mathbb {R} ^{n}\rightarrow \mathbb {R} ^{n}}con un entero positivo n . En este caso, el método de Newton utiliza los términos constantes y lineales de la serie de Taylor multivariada y resuelve la ecuación. 0=F(incógnitanorte+1)F(incógnitanorte)+METRO(incógnitanorte+1incógnitanorte){\displaystyle {\vec {0}}={\vec {f}}({\vec {x}}_{n+1})\approx {\vec {f}}({\vec {x}}_{n})+M({\vec {x}}_{n+1}-{\vec {x}}_{n})} con matrizMETROij=Fiincógnitaj|incógnita=incógnitanorte{\displaystyle M_{ij}=\left.{\frac {\partial f_{i}}{\partial x_{j}}}\right|_{{\vec {x}}={\vec {x}}_{n}}} dar incógnitanorte+1=incógnitanorteMETRO1F(incógnitanorte){\displaystyle {\vec {x}}_{n+1}={\vec {x}}_{n}-M^{-1}{\vec {f}}({\vec {x}}_{n})} utilizando la inversión de matrices . Siguiendo la motivación para el caso de una variable, el método de Halley da incógnitanorte+1=incógnitanorte(METRO12kMETROincógnitak(METRO1F(incógnitanorte))k)1F(incógnitanorte){\displaystyle {\vec {x}}_{n+1}={\vec {x}}_{n}-\left(M-{\frac {1}{2}}\sum _{k}{\frac {\partial M}{\partial x_{k}}}\left(M^{-1}{\vec {f}}({\vec {x}}_{n})\right)_{k}\right)^{-1}{\vec {f}}({\vec {x}}_{n})} donde el subíndice k indica la k -ésima coordenada del vector asociado.

Referencias

  1. Boyd, John P. (2013). "Encontrando los ceros de una ecuación univariada: buscadores de raíces proxy, interpolación de Chebyshev y la matriz complementaria" . SIAM Review . 55 (2): 375– 396. doi : 10.1137/110838297 .
  2. Scavo, TR; Thoo, JB (1995). "Sobre la geometría del método de Halley". American Mathematical Monthly . 102 (5): 417– 426. doi : 10.2307/2975033 . JSTOR 2975033 . 
  3. Alefeld, G. (1981). "Sobre la convergencia del método de Halley". American Mathematical Monthly . 88 (7): 530– 536. doi : 10.2307/2321760 . JSTOR 2321760 . 
  4. Proinov, Petko D.; Ivanov, Stoil I. (2015). "Sobre la convergencia del método de Halley para el cálculo simultáneo de ceros polinomiales". J. Numer. Math . 23 (4): 379– 394. doi : 10.1515/jnma-2015-0026 . S2CID 10356202 . 
  5. Bateman, Harry (enero de 1938). "Métodos de Halley para resolver ecuaciones". The American Mathematical Monthly . 45 (1): 11– 17. doi : 10.2307/2303467 . JSTOR 2303467 . 
  6. ^ Halley , Edmond (mayo de 1694). "Methodus nova accurata & facilis inveniendi radices æqnationum quarumcumque generaliter, sine praviæ reducee" . Transacciones filosóficas de la Royal Society (en latín). 18 (210): 136– 148. doi : 10.1098/rstl.1694.0029 . Se publicó una traducción al inglés titulada Halley, Edmond (1809) [mayo de 1694]. «Un método nuevo, exacto y sencillo para hallar las raíces de cualquier ecuación en general, sin ninguna reducción previa». En C. Hutton; G. Shaw; R. Pearson (eds.). The Philosophical Transactions of the Royal Society of London, from their beginning, in 1665, to the year 1800. Vol. III from 1683 to 1694. pp. 640– 649.  
  7. Cuyt, Annie AM; Rall, Louis B. (1985). "Implementación computacional del método Halley multivariado para resolver sistemas de ecuaciones no lineales". ACM Transactions on Mathematical Software . 11 (1): 20– 36.
  • Weisstein, Eric W. "El método de Halley" . MathWorld .
  • Método de Newton e iteraciones de orden superior , Pascal Sebah y Xavier Gourdon, 2001 (el sitio tiene un enlace a una versión Postscript para una mejor visualización de las fórmulas).
Obtenido de " https://en.wikipedia.org/w/index.php?title=Halley%27s_method&oldid=1360617105 "