stringtranslate.com

Método secante

Las dos primeras iteraciones del método de la secante. La curva roja muestra la función f y las líneas azules son las secantes. Para este caso particular, el método de la secante no convergerá a la raíz visible.

En el análisis numérico , el método de la secante es un algoritmo de búsqueda de raíces que utiliza una sucesión de raíces de líneas secantes para aproximar mejor una raíz de una función f . El método de la secante puede considerarse como una aproximación de diferencias finitas del método de Newton , por lo que se considera un método cuasi-newtoniano . Históricamente, es una evolución del método de la falsa posición , que es anterior al método de Newton en más de 3000 años. [1]

El método

El método de la secante es un método numérico iterativo para hallar un cero de una función f . Dados dos valores iniciales x 0 y x 1 , el método procede según la relación de recurrencia

Se trata de una recurrencia no lineal de segundo orden que está bien definida dados f y los dos valores iniciales x 0 y x 1 . Lo ideal es que los valores iniciales se elijan cerca del cero deseado.

Derivación del método

Partiendo de los valores iniciales x 0 y x 1 , construimos una línea que pase por los puntos ( x 0 , f ( x 0 )) y ( x 1 , f ( x 1 )) , como se muestra en la imagen de arriba. En forma de pendiente-intersección, la ecuación de esta línea es

La raíz de esta función lineal, es decir el valor de x tal que y = 0 es

Luego usamos este nuevo valor de x como x 2 y repetimos el proceso, usando x 1 y x 2 en lugar de x 0 y x 1. Continuamos este proceso, resolviendo x 3 , x 4 , etc., hasta que alcanzamos un nivel de precisión suficientemente alto (una diferencia suficientemente pequeña entre x n y x n −1 ):

Convergencia

Las iteraciones del método de la secante convergen a una raíz de si los valores iniciales son suficientemente cercanos a la raíz y se comporta bien. Cuando es dos veces continuamente diferenciable y la raíz en cuestión es una raíz simple, es decir, tiene multiplicidad 1, el orden de convergencia es la proporción áurea [2] Esta convergencia es superlineal pero subcuadrática.

Si los valores iniciales no están lo suficientemente cerca de la raíz o no se comporta bien, entonces no hay garantía de que el método de la secante converja en absoluto. No existe una definición general de "suficientemente cerca", pero el criterio de convergencia tiene que ver con cuán "ondulada" es la función en el intervalo entre los valores iniciales. Por ejemplo, si es diferenciable en ese intervalo y hay un punto en el intervalo, entonces el algoritmo puede no converger.

Comparación con otros métodos de búsqueda de raíces

El método de la secante no requiere ni garantiza que la raíz permanezca entre paréntesis mediante iteraciones secuenciales, como lo hace el método de bisección , y por lo tanto no siempre converge. El método de la falsa posición (o regula falsi ) utiliza la misma fórmula que el método de la secante. Sin embargo, no aplica la fórmula en y , como el método de la secante, sino en y en la última iteración tal que y tienen un signo diferente. Esto significa que el método de la falsa posición siempre converge; sin embargo, solo con un orden lineal de convergencia. El entre paréntesis con un orden superlineal de convergencia como el método de la secante se puede lograr con mejoras al método de la falsa posición (ver Regula falsi § Mejoras en regula falsi ) como el método ITP o el método de Illinois .

La fórmula de recurrencia del método secante se puede derivar de la fórmula del método de Newton.

utilizando la aproximación de diferencias finitas , para un pequeño :

El método secante puede interpretarse como un método en el que la derivada se reemplaza por una aproximación y, por lo tanto, es un método cuasi-Newton .

Si comparamos el método de Newton con el método de la secante, vemos que el método de Newton converge más rápido (orden 2 contra orden de la proporción áurea φ  ≈ 1,6). [2] Sin embargo, el método de Newton requiere la evaluación de ambos y su derivada en cada paso, mientras que el método de la secante solo requiere la evaluación de . Por lo tanto, el método de la secante a veces puede ser más rápido en la práctica. Por ejemplo, si suponemos que la evaluación lleva tanto tiempo como la evaluación de su derivada y descuidamos todos los demás costos, podemos hacer dos pasos del método de la secante (disminuyendo el logaritmo del error por un factor φ 2  ≈ 2,6) por el mismo costo que un paso del método de Newton (disminuyendo el logaritmo del error por un factor de 2), por lo que el método de la secante es más rápido. En dimensiones superiores, el conjunto completo de derivadas parciales requeridas para el método de Newton, es decir, la matriz jacobiana , puede volverse mucho más costoso de calcular que la función en sí. Sin embargo, si consideramos el procesamiento paralelo para la evaluación de la derivada o derivadas, el método de Newton puede ser más rápido en tiempo de reloj, aunque todavía cuesta más operaciones computacionales en general.

Generalización

El método de Broyden es una generalización del método secante a más de una dimensión.

El siguiente gráfico muestra la función f en rojo y la última línea secante en azul negrita. En el gráfico, la intersección con el eje x de la línea secante parece ser una buena aproximación de la raíz de f .

Ejemplo computacional

A continuación, se implementa el método secante en el lenguaje de programación Python .

Luego se aplica para encontrar una raíz de la función f ( x ) = x 2 − 612 con puntos iniciales y

def  secant_method ( f ,  x0 ,  x1 ,  iterations ): """Devuelve la raíz calculada utilizando el método secante.""" for i in range ( iterations ): x2 = x1 - f ( x1 ) * ( x1 - x0 ) / float ( f ( x1 ) - f ( x0 )) x0 , x1 = x1 , x2 # Aplica un criterio de detención aquí (ver más abajo) return x2                          def  f_ejemplo ( x ):  devuelve  x  **  2  -  612raíz  =  método_secante ( f_ejemplo ,  10 ,  30 ,  5 )imprimir ( f "Raíz: { raíz } " )  # Raíz: 24.738633748750722

Es muy importante tener un buen criterio de detención antes mencionado, de lo contrario, debido a la precisión numérica limitada de los números de punto flotante, el algoritmo puede devolver resultados inexactos si se ejecuta durante demasiadas iteraciones. Por ejemplo, el bucle anterior puede detenerse cuando se alcanza primero uno de estos: abs(x0 - x1) < tol, o abs(x0/x1-1) < tol, o abs(f(x1)) < tol. [3]

Notas

  1. ^ Papakonstantinou, Joanna; Tapia, Richard (2013). "Origen y evolución del método secante en una dimensión". American Mathematical Monthly . 120 (6): 500–518. doi :10.4169/amer.math.monthly.120.06.500. JSTOR  10.4169/amer.math.monthly.120.06.500. S2CID  17645996 – vía JSTOR.
  2. ^ ab Chanson, Jeffrey R. (3 de octubre de 2024). «Orden de convergencia». LibreTexts Mathematics . Consultado el 3 de octubre de 2024 .{{cite web}}: CS1 maint: url-status (link)
  3. ^ "TUTORIAL DE MATLAB para el Primer Curso. Parte 1.3: Métodos Secantes".

Véase también

Referencias

Enlaces externos