stringtranslate.com

método secante

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

En análisis numérico , el método secante es un algoritmo de búsqueda de raíces que utiliza una sucesión de raíces de líneas secantes para aproximarse mejor a una raíz de una función f . El método de la secante puede considerarse como una aproximación en diferencias finitas del método de Newton . Sin embargo, el método de la secante es anterior al método de Newton en más de 3.000 años. [1]

El método

Para encontrar el cero de una función f , el método de la secante se define mediante la relación de recurrencia .

Como puede verse en esta fórmula, se requieren dos valores iniciales x 0 y x 1 . Idealmente, deberían elegirse cerca del cero deseado.

Derivación del método

Comenzando con los valores iniciales x 0 y x 1 , construimos una línea que pasa por los puntos ( x 0 , f ( x 0 )) y ( x 1 , f ( x 1 )) , como se muestra en la imagen de arriba. En forma pendiente-intersección, la ecuación de esta recta 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 alcanzar 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 secante convergen a una raíz de si los valores iniciales y están suficientemente cerca de la raíz. El orden de convergencia es , donde

es la proporción áurea . En particular, la convergencia es súper lineal, pero no del todo cuadrática .

Este resultado sólo se cumple bajo algunas condiciones técnicas, a saber, que sea dos veces continuamente diferenciable y que la raíz en cuestión sea simple (es decir, con multiplicidad 1).

Si los valores iniciales no están lo suficientemente cerca de la raíz, entonces no hay garantía de que el método de la secante converja. No existe una definición general de "lo suficientemente cerca", pero el criterio tiene que ver con qué tan "movible" es la función en el intervalo . Por ejemplo, si es diferenciable en ese intervalo y hay un punto en el intervalo, entonces es posible que el algoritmo no converja.

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

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

La fórmula de recurrencia del método de la 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 de la secante puede interpretarse como un método en el que la derivada se reemplaza por una aproximación y, por 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 frente a φ  ≈ 1,6). 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, en ocasiones el método de la secante puede ser más rápido en la práctica. Por ejemplo, si asumimos que evaluar lleva tanto tiempo como evaluar su derivada y descuidamos todos los demás costos, podemos realizar dos pasos del método de la secante (disminuyendo el logaritmo del error en un factor φ 2  ≈ 2,6) para el mismo costo como un paso del método de Newton (disminuyendo el logaritmo del error por un factor 2), por lo que el método de la secante es más rápido. Sin embargo, si consideramos el procesamiento paralelo para la evaluación de la derivada, el método de Newton demuestra su valor, siendo más rápido en el tiempo, aunque aún requiere más pasos.

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 recta secante en negrita azul. En el gráfico, la intersección x de la recta 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  método_secante ( f ,  x0 ,  x1 ,  iteraciones ): """Devuelve la raíz calculada usando el método secante.""" para i en el rango ( iteraciones ): x2 = x1 - f ( x1 ) * ( x1 - x0 ) / float ( f ( x1 ) - f ( x0 )) x0 , x1 = x1 , x2 # Aplique aquí un criterio de parada (ver más abajo) return x2                          def  f_ejemplo ( x ):  devolver  x  **  2  -  612raíz  =  método_secante ( f_ejemplo ,  10 ,  30 ,  5 )print ( f "Raíz: { raíz } " )  # Raíz: 24.738633748750722

Es muy importante tener un buen criterio de parada arriba; 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. [2]

Notas

  1. ^ Papakonstantinou, Joanna; Tapia, Richard (2013). "Origen y evolución del método secante en una dimensión". Mensual Matemático Estadounidense . 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. ^ "TUTORIAL DE MATLAB para el primer curso. Parte 1.3: Métodos secantes".

Ver también

Referencias

enlaces externos