Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

5 votos

Método de Newton para las raíces de los polinomios

La forma estándar de utilizar el método de Newton para encontrar una raíz de un polinomio p(x) es utilizar la fórmula de iteración xn+1=xnp(x)p(x) Hace poco se me ocurrió una nueva forma de encontrar las raíces. Dejando que x1,...,xn denotan el n raíces y entorno p(x)=xn++a1x+a0 tenemos las fórmulas x1++xn=an1 x1x2++xn1xn=an2 y así hasta x1x2xn=(1)na0 Esto da un sistema no lineal de n variables y n ecuaciones, que pueden resolverse utilizando la versión multivariable del método de Newton. Utilizaríamos la iteración xn+1=xn[Df(xn)]1f(xn) donde f(x1,...,xn)=[x1++xn+an1x1x2++xn1xnan2x1xn(1)na0] y Df es la matriz derivada de f .

Mi pregunta es: ¿hay alguna ventaja en utilizar este método para encontrar las raíces? La ventaja obvia es que el uso del método de Newton multivariable proporciona todas n raíces simultáneamente mientras que el método normal sólo las da de una en una. Sin embargo, también me interesa saber cómo se compararía la tasa de convergencia de este método con el otro, y si uno tendería a ser más estable numéricamente que el otro.

0 votos

Supongo que la computación de todos los n2 derivadas es prohibitivo, por no hablar de la resolución del sistema lineal en cada paso. Hay muchos algoritmos para encontrar raíces de polinomios, es un área bien estudiada.

0 votos

A priori, yo esperaría que la estabilidad numérica fuera bastante mala. También hay que tener en cuenta que la recursión sería un poco más estable si se implementa como Df(xn)(xnxn+1)=f(xn) y se resolvió para xn+1 .

1 votos

Método Laguerre para las raíces de la polinomia es una alternativa "segura".

5voto

andy.holmes Puntos 518

Enhorabuena, has reinventado el método Durand-Kerner (1960) que fue desarrollado por Weierstraß en 1891.

Tiene una convergencia bastante satisfactoria, pero puede mostrar una fase inicial bastante lenta hasta que las aproximaciones de las raíces se acerquen lo suficiente a las raíces exactas. (Antes había applets de Java, pero como ahora son prácticamente inutilizables, e incluso a veces ya no se encuentran, que lo demuestran muy bien, especialmente para configuraciones simétricas de raíces y valores iniciales).

0 votos

Haha gracias por la respuesta... lol

1 votos

Una buena respuesta, sin duda. Y la prevalencia de los applets de Java para la demostración de las matemáticas es una molestia continua para mí, especialmente con la disponibilidad de HTML5 y Canvas para manejar todo en el navegador sin ningún tipo de plugins.

0 votos

Este método está implementado en la biblioteca mpmath, en Python. Lo encuentro bastante efectivo para polinomios con raíces distintas, de orden inferior a unos 800 más o menos. Después de que la convergencia parece ser muy lento.

1voto

bea Puntos 16

Los métodos de Newton o Quasi-Newton son un buen método para resolver sistemas de ecuaciones no lineales como la búsqueda de raíces de polinomios. Estos métodos pueden hacerse robustos utilizando métodos de búsqueda lineal y de región de confianza para garantizar la convergencia, así como técnicas de continuación para evitar quedarse atascado en mínimos locales. No es necesario formar la matriz completa de las segundas derivadas, sino sólo la capacidad de aplicarla a los vectores, o aproximaciones a su inversa son necesarios. Una buena referencia es el capítulo 11 del libro de Nocedal y Wright Optimización numérica .

Para el caso especial de la búsqueda de raíces numéricas se puede convertir el problema en la búsqueda de los valores propios de la matriz de acompañamiento a la que métodos rápidos y estables para resolver problemas de valores propios dispersos.

1 votos

Los métodos matriciales complementarios para las raíces de polinomios suelen reducirse a la iteración Bernoulli para el método de la potencia hacia delante y a una variante de Jenkins-Traub para el método de la potencia inversa desplazada. Además, Durand-Kerner tiene una interpretación en términos de la matriz compañera utilizando una base adaptada en el espacio vectorial del polinomio.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X