Articulo de referencia

Método de la 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 secant...

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 la raíz de una función f . El método de la secante puede considerarse una aproximación de 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 3000 años. [1]

El método

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

incógnita norte = incógnita norte 1 F ( incógnita norte 1 ) incógnita norte 1 incógnita norte 2 F ( incógnita norte 1 ) F ( incógnita norte 2 ) = incógnita norte 2 F ( incógnita norte 1 ) incógnita norte 1 F ( incógnita norte 2 ) F ( incógnita norte 1 ) F ( incógnita norte 2 ) . {\displaystyle x_{n}=x_{n-1}-f(x_{n-1}){\frac {x_{n-1}-x_{n-2}}{f(x_{n-1})-f(x_{n-2})}}={\frac {x_{n-2}f(x_{n-1})-x_{n-1}f(x_{n-2})}{f(x_{n-1})-f(x_{n-2})}}.}

Como se puede ver en esta fórmula, se requieren dos valores iniciales x 0 y x 1. Lo ideal es que 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

y = F ( incógnita 1 ) F ( incógnita 0 ) incógnita 1 incógnita 0 ( incógnita incógnita 1 ) + F ( incógnita 1 ) . {\displaystyle y={\frac {f(x_{1})-f(x_{0})}{x_{1}-x_{0}}}(x-x_{1})+f(x_{1}).}

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

incógnita = incógnita 1 F ( incógnita 1 ) incógnita 1 incógnita 0 F ( incógnita 1 ) F ( incógnita 0 ) . {\displaystyle x=x_{1}-f(x_{1}){\frac {x_{1}-x_{0}}{f(x_{1})-f(x_{0})}}.}

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 ):

incógnita 2 = incógnita 1 F ( incógnita 1 ) incógnita 1 incógnita 0 F ( incógnita 1 ) F ( incógnita 0 ) , incógnita 3 = incógnita 2 F ( incógnita 2 ) incógnita 2 incógnita 1 F ( incógnita 2 ) F ( incógnita 1 ) , incógnita norte = incógnita norte 1 F ( incógnita norte 1 ) incógnita norte 1 incógnita norte 2 F ( incógnita norte 1 ) F ( incógnita norte 2 ) . {\displaystyle {\begin{aligned}x_{2}&=x_{1}-f(x_{1}){\frac {x_{1}-x_{0}}{f(x_{1})-f(x_{0})}},\\[6pt]x_{3}&=x_{2}-f(x_{2}){\frac {x_{2}-x_{1}}{f(x_{2})-f(x_{1})}},\\[6pt]&\,\,\,\vdots \\[6pt]x_{n}&=x_{n-1}-f(x_{n-1}){\frac {x_{n-1}-x_{n-2}}{f(x_{n-1})-f(x_{n-2})}}.\end{aligned}}}

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 incógnita norte Estilo de visualización x_{n} F {\estilo de visualización f} incógnita 0 estilo de visualización x_{0}} incógnita 1 estilo de visualización x_{1}} φ {\estilo de visualización \varphi}

φ = 1 + 5 2 1.618 {\displaystyle \varphi ={\frac {1+{\sqrt {5}}}{2}}\aproximadamente 1,618}

es la proporción áurea . Esta convergencia es superlineal pero subcuadrática.

Este orden de convergencia 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 una raíz simple (es decir, tenga multiplicidad 1). F {\estilo de visualización f}

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 en absoluto. No hay una definición general de "suficientemente cerca", pero el criterio de convergencia tiene que ver con qué tan "ondulada" es la función en el intervalo . Por ejemplo, si es diferenciable en ese intervalo y hay un punto donde en el intervalo, entonces el algoritmo puede no converger. [ incógnita 0 , incógnita 1 ] {\estilo de visualización [x_{0},x_{1}]} F {\estilo de visualización f} F " = 0 {\displaystyle f'=0}

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 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 entrecorchetes 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 . incógnita norte 1 estilo de visualización x_{n-1}} incógnita norte 2 Estilo de visualización x_{n-2}} incógnita norte 1 estilo de visualización x_{n-1}} incógnita a Estilo de visualización x_{k}} F ( incógnita a ) {\displaystyle f(x_{k})} F ( incógnita norte 1 ) Estilo de visualización f(x_{n-1})}

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

incógnita norte = incógnita norte 1 F ( incógnita norte 1 ) F " ( incógnita norte 1 ) {\displaystyle x_{n}=x_{n-1}-{\frac {f(x_{n-1})}{f'(x_{n-1})}}}

utilizando la aproximación de diferencias finitas , para un pequeño : o {\displaystyle \épsilon}

F " ( incógnita norte 1 ) F ( incógnita norte 1 ) F ( incógnita norte 2 ) incógnita norte 1 incógnita norte 2 F ( incógnita norte 1 + o 2 ) F ( incógnita norte 1 o 2 ) o {\displaystyle f'(x_{n-1})\approx {\frac {f(x_{n-1})-f(x_{n-2})}{x_{n-1}-x_{n-2}}}\approx {\frac {f(x_{n-1}+{\frac {\epsilon }{2}})-f(x_{n-1}-{\frac {\epsilon }{2}})}{\epsilon }}}

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 φ  ≈ 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, el método de la secante puede ser ocasionalmente 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 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 tiempo, aunque sigue empleando más pasos. F {\estilo de visualización f} F " {\estilo de visualización f'} F {\estilo de visualización f} F {\estilo de visualización f}

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 incógnita 0 = 10 {\displaystyle x_{0}=10} incógnita 1 = 30 Estilo de visualización x_{1}=30

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  -  612

raí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. [2]

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. ^ "TUTORIAL DE MATLAB para el Primer Curso. Parte 1.3: Métodos Secantes".

Véase también

Referencias

  • Avriel, Mordecai (1976). Programación no lineal: análisis y métodos . Prentice Hall. pp. 220–221. ISBN 0-13-623603-0.
  • Allen, Myron B.; Isaacson, Eli L. (1998). Análisis numérico para la ciencia aplicada. John Wiley & Sons . Págs. 188-195. ISBN. 978-0-471-55266-6.
  • Notas sobre el método de la secante, PPT, Mathcad, Maple, Mathematica, Matlab en el Instituto de Métodos Numéricos Holísticos
  • Weisstein, Eric W. "Método secante". MundoMatemático .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Método_secante&oldid=1246118837"