Artículos

Aplicación del método Newton-Raphson por polinomio cúbicos usando el método Tartaglia-Cardano

Application of the Newton-Raphson method by cubic polynomial using the Tartaglia-Cardano method

Pedro Fabricio Echeverría Briones
Universidad Tecnológica Empresarial de Guayaquil, Ecuador

Revista Tecnológica ESPOL - RTE

Escuela Superior Politécnica del Litoral, Ecuador

ISSN: 0257-1749

ISSN-e: 1390-3659

Periodicidad: Semestral

vol. 33, núm. 3, 2021

rte@espol.edu.ec

Recepción: 12 Enero 2021

Aprobación: 18 Octubre 2021



DOI: https://doi.org/10.37815/rte.v33n3.799

Resumen: Algunos de los métodos usados para encontrar raíces de funciones en las matemáticas aplicadas son los algoritmos interactivos, que constituyen un campo de interés muy importante dentro de la disciplina debido a que permiten encontrar soluciones para usar la menor capacidad de recursos dentro de los sistemas computacionales. La propuesta de estos algoritmos iterativos implica la relación de diferentes áreas de las matemáticas: álgebra, cálculo diferencial, cálculo vectorial y análisis numérico. Esta relación conjuga la teoría de cálculo diferencial y el análisis numérico realizado por matemáticos ingleses, como Newton y Raphson. Estos propusieron la primera forma de buscar una raíz de una función usando iteraciones, la que a su vez se sustentó en teorías algebraicas desarrolladas por algunos matemáticos italianos, como Tartaglia y Cardano, quienes anteriormente habían encontrado las soluciones a las raíces de un polinomio de orden cúbico. Dentro del proceso deductivo que se siguió en el proceso, se utilizaron las aproximaciones recomendadas que se generaron al aplicar las Series de Taylor. Por otro lado, durante el proceso de experimentación se han identificado determinados patrones repetitivos, especialmente, cuando el punto de inicio se aleja de la raíz. Esto permitió mejorar el algoritmo iterativo al identificar el lugar de la curva de convergencia. Finalmente, se generalizó la ecuación iterativa para muchas variables, a partir de las deducciones utilizadas de 1 y 2 variables.

Palabras clave: iteración, raíz, cero de función, convergencia, cúbico.

Abstract: Some of the methods employed to find roots of functions in applied mathematics are interactive algorithms, which is a very important field of interest within the discipline because they allow finding solutions using the least number of resources within computational systems. The proposal of these iterative algorithms involves the relationship of different areas of mathematics being algebra, differential calculus, vector calculus, and numerical analysis. This relationship combines the theories of differential calculus and numerical analysis carried out by English mathematicians, such as Newton and Raphson. They proposed the first way to find a root of a function using iterations with the application of algebraic theories of Italian mathematicians, Tartaglia and Cardano, who had previously found the solutions to the roots of a cubic order polynomial. Along the deductive process, the recommended approximations were followed by using the Taylor series. On the other hand, the experimentation process determined repetitive patterns, especially when the starting point is far from the root. This allowed the improvement of the iterative algorithm by identifying the location of the convergence curve. Finally, the iterative equation was generalized for many variables using the deductions of 1 and 2 variables.

Keywords: iteration, root, function zero, convergence, cubic.

Introducción

El método de Newton-Raphson utiliza demostraciones algebraicas, cálculo diferencial, cálculo vectorial y análisis numérico para la aproximación de raíces. Cabe señalar que este método contiene errores de orden cuadrático. Por otro lado, para determinar las raíces de un polinomio de orden cúbico, se utiliza el método Tartaglia-Cardano. Esta es la razón por la que el algoritmo iterativo que se deduce tiene ventajas, pues, al encontrar la raíz de una función usando la raíz del polinomio cúbico, que se aproxima por series de Taylor, se obtiene un error de orden cuartico. Esto hace que la convergencia sea más segura, a pesar de que se usan puntos de inicio muy alejados con respecto al valor de la raíz. La forma de programación utilizada es sencilla porque el proceso de experimentación simplemente utiliza una hoja de cálculo. Algunas restricciones del modelo son que la función tenga una tercera derivada continua diferente de cero y que existan ciertos intervalos en donde se pueda tener un valor inicial.

Desarrollo

Definición de una función de una variable f(x) en serie de Taylor

Para formular una función f(x), que es m veces derivable, en polinomios por serie de Taylor, se utilizó la ecuación (1) (Leithold, 1998; Burden, Faires, y Burden, 2017):


(1)

Al llevar la serie de Taylor hasta un polinomio cúbico se tiene:


(2)

Obteniendo:


(3)

Definición de una función de dos variables f(x1 , x2) en serie de Taylor

Para fromular una función f(x1, x2), la cual puede ser m veces derivable, se utiliza su descomposición en polinomios por serie de Taylor (Colley, 2012; Conte, 1980):


(4)

Resolución algebraica de Tartaglia-Cardano para polinomios cúbicos

Para el polinomio de orden cúbico, se debe llevar al modelo de polinomio hacia donde este satisface a, b y c (Ivorra, 2020):


(5)

Donde una de las raíces reales cumplirá con:


(6)

Siendo:


(7) (8) (9)

Convergencia del algoritmo iterativo usando el polinomio de orden cúbico para funciones de una variable

Al combinar la serie de Taylor de la ecuación (3) con la resolución de Newton-Raphson f (xn+1)=0 (Burden, Faires, & Burden, 2017), se obtiene:


(10)

De la ecuación (10) se tiene que pasar al formato de la ecuación (5), dividiendo para fIII(xn)/3! todos los términos del polinomio


(11)

Encontrando los valores de a, b y c:


(12)


(13)


(14)

Determinando los valores de las ecuaciones (7), (8) y (9):


(15)


(16)


(17)

Al aplicar los valores de las ecuaciones (15), (16) y (17) en la ecuación (5), se determina:


(18)

Al despejar xn se determina el algoritmo iterativo:


(19)

Convergencia del algoritmo iterativo usando el polinomio de orden cúbico para funciones de dos variables

Aquí se usa el modelo de Newton-Raphson con el método de Tartaglia-Cardano para una función de dos variables. Para varias variables, se tiene que utilizar la serie de Taylor, en donde se realiza una reducción de términos, asumiendo que xn+1k - xn k= 0 cuando n -> ∞, excepto cuando los índices de las sumatorias sean iguales. Reduciendo la ecuación (4):


(20)

Donde: j={1,2}, se obtienen los siguientes valores de la ecuación (5) :


(21)


(22)

Donde: j={1,2}, se obtienen los siguientes valores de las ecuaciones (6), (7) y (8) :


(23)


(24)


(25)

Al aplicar los valores de las ecuaciones (23), (24) y (25) en la ecuación (5), se determina:


(26)

Al despejar xn, se determina el algoritmo iterativo para una función de dos variables:


(27)

Análisis de resultados

Validación de la convergencia del algoritmo iterativo para funciones de una variable

A continuación, en los siguientes gráficos, se presentan los resultados que se obtuvieron de las pruebas que se realizaron con diferentes funciones, cuyas condiciones fueron que estas tengan la tercera derivada diferente de cero y en diferentes puntos de inicio:

Curvas de
Convergencia de |f(x)| en escala escala logarítmica por número de iteración
para f(x)=ex - 100 con diferentes puntos de inicios alejados de
la raíz
Figura 1
Curvas de Convergencia de |f(x)| en escala escala logarítmica por número de iteración para f(x)=ex - 100 con diferentes puntos de inicios alejados de la raíz

Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)=ex – 1000 – x2 – x  con diferentes puntos de inicios alejados de la
raíz
Figura 2
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)=ex – 1000 – x2 – x con diferentes puntos de inicios alejados de la raíz

Curvas de
Convergencia de |f(x)| en escala logarítmica por número de iteración
para f(x)= -100 * cos cos (x) + e2x + e-2x con diferentes puntos de inicios alejados de
la raíz
Figura 3
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)= -100 * cos cos (x) + e2x + e-2x con diferentes puntos de inicios alejados de la raíz

 Curvas de Convergencia de|f(x)| en escala logarítmica por número de iteración
para f(x)=Ln Ln(x)+√x con diferentes puntos de inicios alejados de
la raíz
Figura 4
Curvas de Convergencia de|f(x)| en escala logarítmica por número de iteración para f(x)=Ln Ln(x)+√x con diferentes puntos de inicios alejados de la raíz

 Curvas de
Convergencia de  |f(x)| en escala logarítmica por número de iteración
para f(x)=(x-10)6 - 106 con diferentes puntos de inicios alejados de
la raíz
Figura 5
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)=(x-10)6 - 106 con diferentes puntos de inicios alejados de la raíz

A partir de las representaciones gráficas de esta experimentación, se puede deducir que el algoritmo iterativo tiene dos formas de convergencia. Este patrón se puede observarse visualmente cuando se aleja el valor de inicio de la raíz. En resumen, se puede concluir:

1. Al observar las curvas de convergencia, se verifica la formación de una línea recta decreciente entre log log (|f(xn)|) y n. 1. Este proceso es lento. Lo que llama la atención es que para diferentes valores del punto inicial se obtienen rectas que son casi paralelas.

2. Cuando la curva se acerca a la raíz, su convergencia se acelera cambiando la pendiente de la curva rápidamente por cada iteración.

Esta es la razón por la que se puede determinar una aceleración al diferenciar cuando esta se encuentra entre los dos patrones. A continuación, se presentan el análisis de los siguientes casos:

a) Si los Δxn+1 ≠ Δxn , a) el patrón se encontraría en los siguientes gráficos:

Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración
para f(x)
Figura 6
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)

Curvas de Convergencia de Δx por número de iteración
Figura 7
Curvas de Convergencia de Δx por número de iteración

Para acelerar la convergencia, se predice el valor de la distancia del valor de inicio con respecto a la raíz. Si se utiliza la expresión de la recta por número de iteración n:


(28)


(29)


(30)

Obtenemos la pendiente de la recta m:


(31)


(32)

Obtenemos la intersección de la recta b:


(33)


(34)

Si se establece que y=0, se obtiene el número de iteraciones n:


(35)


(36)


(37)

Si se convierte n en entero:


(38)

De manera que se determina la distancia entre el valor inicial y la raíz al obtener xi+nxi

a) Si los Δ xn+1=Δxn, se encontraría el patrón en los siguientes gráficos.

Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración
para f(x)
Figura 8
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)

Curvas de Convergencia de Δx por número de iteración
Figura 9
Curvas de Convergencia de Δx por número de iteración

Si este patrón se repite, el primer proceso de convergencia puede ser acelerado al considerar el patrón de las iteraciones, lo que, a su vez, puede determinar un procedimiento para calcular la distancia entre el valor inicial y la raíz. Si para esto se utiliza la ecuación de la recta por iteración n:


(39)


(40)


(41)

Obtenemos la pendiente de la recta m:


(42)


(43)

Obtenemos la intersección de la recta b:


(44)


(45)


(46)

Por lo que el modelo sería:


(47)

Si se establece que y=0, se tendría a n:


(48)


(49)


(50)

El valor de n debe ser entero y estar antes de la zona de convergencia, por lo que se le restará 3 iteraciones. Obteniendo:


(51)

De manera que se pueda determinar la distancia entre el valor inicial y la raíz al obtener xi+n*Δxi. Esto mejora el algoritmo iterativo de la ecuación (27) y permite obtener la expresión:


(52)

● Si Δxn+1≠Δxn, entonces

● Si Δxn+1=Δxn, entonces

Validación de la convergencia del algoritmo iterativo utilizando un predictor de distancia entre el punto inicial y la raíz para funciones de una variable

Considerando los casos anteriores:

a) Si Δxn+1=Δxn en la función f(x)=ex-100, al aplicar el coeficiente de aceleración, se obtienen menos iteraciones.

Curvas de
Convergencia de |f(x)| en escala logarítmica por número de iteración
para  f(x)=ex-100  con diferentes puntos de inicios alejados de
la raíz
Figura 10
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)=ex-100 con diferentes puntos de inicios alejados de la raíz

a) Si Δxn+1≠ Δxn en la función f(x)=(x-10)6-106, al aplicar el coeficiente de aceleración, se obtienen menos iteraciones.

Curvas de
Convergencia de |f(x)| en escala logarítmica por número de iteración
para f(x)=(x-10)6-106 con diferentes
puntos de inicios alejados de la raíz
Figura 11
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x)=(x-10)6-106 con diferentes puntos de inicios alejados de la raíz

Obsérvese cómo, sin importar la distancia del punto de inicio, se disminuyen las iteraciones con respecto a la Figura 5.

Validación de la convergencia del algoritmo iterativo para funciones de dos variables

Para f(x,y)=ex*y-1, se repiten las curvas de convergencia (ver Figura 12).

Curvas de
Convergencia de |f(x)| en escala logarítmica por número de iteración
para f(x,y)=ex*y-1    con diferentes puntos de inicios alejados de
la raíz
Figura 12
Curvas de Convergencia de |f(x)| en escala logarítmica por número de iteración para f(x,y)=ex*y-1 con diferentes puntos de inicios alejados de la raíz

Conclusiones

Después de las aplicaciones, deducciones algebraicas y aplicaciones de funciones que ayudan a reducir el número de pasos, se puede obtener una generalización del algoritmo iterativo para algunas variables:


(53)

Donde j determina las variables y n el número de iteraciones.

El método de uso de resolución de una raíz cúbica es un proceso que converge mientras se cumplan las condiciones de los valores √Δj n, y esto se obtiene si los valores de Δj n ≥0. Esto ayuda a definir intervalos de valores en donde no se puede iniciar.

Utilizar la memoria de los valores de las iteraciones, ayuda a definir modelos matemáticos que permitan acelerar ecuaciones iterativas.

Las funciones encontradas en las curvas de convergencias podrían convertirse en un patrón que determine ecuaciones iterativas para la búsqueda de una raíz en diferentes funciones.

Referencias

Leithold, L. (1998). El Cálculo. México: Oxford University Press.

Artega, J., & Malakhaltsev, M. (2013). Cálculo Vectorial. Mexico: Cengage Learning Editores S.A.

Burden, R., Faires, D., & Burden, A. (2017). Análisis numérico. México: Cengage Learning.

Colley, S. (2012). Vector Calculus. New York: Pearson.

Conte, S. D. (1980). Elementary numerical analysis: algorithmic approach. New York: McGraw-Hill.

Marsden, J., & Tromba, A. (1991). Cálculo vectorial. México DF: Addison-Wesley Iberoamericana.

Taylor, A. E., & Mann, W. R. (1983). Advanced Calculus. New York: Wiley.

Weintraub, S. (1996). Differential forms, a complement to vector calculus. New York: Academic Press.

Ivorra, C. (2020, 10 01). Las fórmulas de Cardano-Ferrari. Retrieved from Universidad de Valencia: https://www.uv.es/ivorra/Libros/Ecuaciones.pdf

Modelo de publicación sin fines de lucro para conservar la naturaleza académica y abierta de la comunicación científica
HTML generado a partir de XML-JATS4R