Está en la página 1de 40

Solución de ecuaciones no lineales

Javier Segura

Departamento de Matemáticas, Estadística y Computación


Universidad de Cantabria, Spain

Cálculo Numérico II

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 1 / 28


Contenidos:

1 Tres métodos básicos:


Bisección
Método de la secante
El método de Newton

2 Métodos de punto fijo

3 Raices de polinomios

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 2 / 28


Tres métodos básicos: Bisección

Bisección

Teorema (Bolzano)
.
Si f (x) es continua en el intervalo [a, b] con f (a)f (b) ≤ 0, entonces
existe al menos un α ∈ [a, b] tal que f (α) = 0.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 3 / 28


Tres métodos básicos: Bisección

Bisección

Teorema (Bolzano)
.
Si f (x) es continua en el intervalo [a, b] con f (a)f (b) ≤ 0, entonces
existe al menos un α ∈ [a, b] tal que f (α) = 0.

Algoritmo (Bisección)

Algoritmo: Bisección en un intervalo [a,b], tal que f (a)f (b) < 0


(1) Sea c = (b + a)/2
(2) Si b − c ≤ , aceptar c; parar
(3) Si f (b)f (c) ≤ 0, tomar a = c; y si no: b = c.
(4) Volver a (1)

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 3 / 28


Tres métodos básicos: Bisección

1 Bisección es lo óptimo para resolver una ecuación f (x) = 0


cuando no sabemos nada de f salvo calcular su signo.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 4 / 28


Tres métodos básicos: Bisección

1 Bisección es lo óptimo para resolver una ecuación f (x) = 0


cuando no sabemos nada de f salvo calcular su signo.
2 El cero está siempre dentro de un intervalo de acotación y
converge siempre que f cambie de signo, aunque también puede
converger a una discontinuidad.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 4 / 28


Tres métodos básicos: Bisección

1 Bisección es lo óptimo para resolver una ecuación f (x) = 0


cuando no sabemos nada de f salvo calcular su signo.
2 El cero está siempre dentro de un intervalo de acotación y
converge siempre que f cambie de signo, aunque también puede
converger a una discontinuidad.
3 Lento aunque seguro: a lo sumo, el orden de convergencia es 1.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 4 / 28


Tres métodos básicos: Bisección

1 Bisección es lo óptimo para resolver una ecuación f (x) = 0


cuando no sabemos nada de f salvo calcular su signo.
2 El cero está siempre dentro de un intervalo de acotación y
converge siempre que f cambie de signo, aunque también puede
converger a una discontinuidad.
3 Lento aunque seguro: a lo sumo, el orden de convergencia es 1.
4 Inespecífico: el número de iteraciones sólo depende del intervalo
[a, b] y del cero α ∈ [a, b].

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 4 / 28


Tres métodos básicos: Bisección

Orden de convergencia
Sea {xn } una sucesión que converge a α y definamos n = xn − α. Si
exite un número p y una constante C 6= 0 tales que

|n+1 |
lim =C
n→∞ |n |p

se dice que el orden de convergencia es p siendo C la constante de


error asintótica.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 5 / 28


Tres métodos básicos: Bisección

Regula falsi
Regula falsi es un intento (fallido) de mejorar bisección estimando c
por interpolación lineal

b−a af (b) − bf (a)


c =b− f (b) =
f (b) − f (a) f (b) − f (a)
Puede llegar a ser
y peor que bisección:
Regula falsi (b,(f(b))

x=a
x=b x

y=f(x) (a,f(a))

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 6 / 28


Tres métodos básicos: Método de la secante

Método de la secante
Igual que regula falsi, pero sin tener en cuenta los signos
xn − xn−1
xn+1 = xn − f (xn ) (1)
f (xn ) − f (xn−1 )

y
´
Metodo de la secante

y=f(x)

α
x3 x2 x1 x0 x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 7 / 28


Tres métodos básicos: Método de la secante

Orden de convergencia:
Con k = xk − α, desarrollando f (xk ) = f (α + k ) y llevándolo a (1),
tenemos que
f 00 (α)
n+1 = 0 n n−1
2f (α)

Con esto, se puede comprobar que el orden es p = (1 + 5)/2
(Vamos mejorando, ¡si es que converge!)

Criterio de parada: como el orden es p > 1:

|xn+1 − xn | |xn+1 − α|
≤1+ →1
|xn − α| |xn − α|

cuando n → +∞. Se puede entonces utilizar |xn+1 − xn | para estimar


el error.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 8 / 28


Tres métodos básicos: Método de la secante

Recordemos que con el método de la secante no tenemos intervalos


de acotación de la raíz.
¿ Cómo garantizar que el método converge?

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 9 / 28


Tres métodos básicos: Método de la secante

Recordemos que con el método de la secante no tenemos intervalos


de acotación de la raíz.
¿ Cómo garantizar que el método converge?
¿ Cómo escoger los valores iniciales?
Existen algoritmos que combinan bisección y secante que:
1 Garantizan la convergencia y dan un intervalo de acotación

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 9 / 28


Tres métodos básicos: Método de la secante

Recordemos que con el método de la secante no tenemos intervalos


de acotación de la raíz.
¿ Cómo garantizar que el método converge?
¿ Cómo escoger los valores iniciales?
Existen algoritmos que combinan bisección y secante que:
1 Garantizan la convergencia y dan un intervalo de acotación
2 Convergen más rápidamente que bisección
Los métodos de Dekker (bisección + secante) y Brent (bisección +
interpolación cuadrática inversa) son dos ejemplos populares.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 9 / 28


Tres métodos básicos: El método de Newton

El método de Newton

El método de Newton consiste en resolver la ecuación f (x) = 0


invirtiendo la aproximación lineal de Taylor alrededor de x = α
(f (α) = 0)

f 00 (ζn ) 2
0 = f (xn − n ) = f (xn ) − f 0 (xn )n + n
2
donde n = xn − α
Despreciando el error

f (xn )
α ' xn+1 = xn −
f 0 (xn )

Orden de convergencia = 2
Parece buena idea caso de que se disponga de la derivada f 0 (x)

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 10 / 28


Tres métodos básicos: El método de Newton

y
´
Metodo de Newton

rectas tangentes

y=f(x)

α
x3 x2 x1 x0 x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 11 / 28


Tres métodos básicos: El método de Newton

Posibles problemas del método de Newton

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 12 / 28


Tres métodos básicos: El método de Newton

En el plano complejo los problemas aumentan


El método de Newton también se puede utilizar para calcular ceros en
el plano complejo.
Supongamos que queremos resolver f (z) = 0 donde f (z) = z 3 − 1.
z3 − 1
Tenemos zn+1 = zn − n 2 . El conjunto de los valores iniciales que
3zn
dan convergencia a z0 = 1 es...

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 13 / 28


Tres métodos básicos: El método de Newton

En el plano complejo los problemas aumentan


El método de Newton también se puede utilizar para calcular ceros en
el plano complejo.
Supongamos que queremos resolver f (z) = 0 donde f (z) = z 3 − 1.
z3 − 1
Tenemos zn+1 = zn − n 2 . El conjunto de los valores iniciales que
3zn
dan convergencia a z0 = 1 es...

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 13 / 28


Tres métodos básicos: El método de Newton

y=f(x)

(b,f(b))

|f(b)/f’(b)|
a
b x

(a,f(a)) |f(a)/f’(a)|

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 14 / 28


Métodos de punto fijo

Métodos de punto fijo

Los métodos de punto fijo responden a esquemas

xn+1 = g(xn )

Ejemplo: el método de Newton, g(x)=x-f(x)/f’(x)


Si T is contínua y, dado cierto x0 , existe limn→∞ xn = α entonces
α = T (α) (α punto fijo de T ).
Teorema
Si g(x) es continua en I = [a, b] y g(I) ⊂ I entonces existe al menos
un punto fijo de g(x), α ∈ [a, b].

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 15 / 28


Métodos de punto fijo

y
puntos fijos y=x
b
A y=g(x)
B

La curva debe cruzar


la linea y=x para alcanzar
B desde A puesto que
´
la curva esta confinada
en la caja

a b x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 16 / 28


Métodos de punto fijo

Teorema (Continuación)
Si, además g(x) es continuamente diferenciable en (a, b) y

0
|g (x)| ≤ M < 1 , ∀x ∈ (a, b) ,

entonces
1 g(x) tiene un único punto fijo α en [a, b]

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 17 / 28


Métodos de punto fijo

Teorema (Continuación)
Si, además g(x) es continuamente diferenciable en (a, b) y

0
|g (x)| ≤ M < 1 , ∀x ∈ (a, b) ,

entonces
1 g(x) tiene un único punto fijo α en [a, b]
2 Para cada x0 ∈ [a, b], la sucesión definida como

xn+1 = g(xn )

converge al único punto fijo α.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 17 / 28


Métodos de punto fijo

Teorema (Continuación)
Si, además g(x) es continuamente diferenciable en (a, b) y

0
|g (x)| ≤ M < 1 , ∀x ∈ (a, b) ,

entonces
1 g(x) tiene un único punto fijo α en [a, b]
2 Para cada x0 ∈ [a, b], la sucesión definida como

xn+1 = g(xn )

converge al único punto fijo α.


3 La estimación del error de la enésima iteración está dada por
n
M
|xn − α| ≤ |x1 − x0 |
1−M

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 17 / 28


Métodos de punto fijo

Teorema (Continuación)
Si, además g(x) es continuamente diferenciable en (a, b) y

0
|g (x)| ≤ M < 1 , ∀x ∈ (a, b) ,

entonces
1 g(x) tiene un único punto fijo α en [a, b]
2 Para cada x0 ∈ [a, b], la sucesión definida como

xn+1 = g(xn )

converge al único punto fijo α.


3 La estimación del error de la enésima iteración está dada por
n
M
|xn − α| ≤ |x1 − x0 |
1−M

4 Si g 0 (α) 6= 0, y ∃N > 0 : an 6= α ∀n > N entonces


α − xn+1 0
lim = g (α).
n→∞ α − xn

Es decir, que si g 0 (α) 6= 0 el orden de convergencia es 1.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 17 / 28


Métodos de punto fijo

y y=x
y=g(x)

α x3 x2 x1 x0 x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 18 / 28


Métodos de punto fijo

y y=g(x) y=x

x0 x 1 x 2
α x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 19 / 28


Métodos de punto fijo

y y=x

y=g(x)

x0 x2 x3 x1 x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 20 / 28


Métodos de punto fijo

y y=g(x) y=x

x0 x1 x

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 21 / 28


Métodos de punto fijo

Dado un método de punto fijo xn+1 = g(xn ) y T (α) = α, si la primera


derivada no nula en α de g(x) es la m − sima (y es continua),
entonces el método tiene orden de convergencia m con constante de
error asintótica C = g (m) (α)/m!.
En efecto:

g (m) (ζn ) m
xn+1 = g(α + n ) = g(α) + n
m!
Luego

g (m) (ζn ) m
n = n
m!
con ζn entre α y xn , luego
n+1
lim = g (m) (α)/m!
n→∞ m
n

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 22 / 28


Métodos de punto fijo

Teorema (Otra versión)


Sea g(x) continua en I ≡ [a, b] y continuamente diferenciable en
(a, b). Si ∃α ∈ I : g(α) = α y se verifica que |g 0 (x)| ≤ M < 1 en (a, b),
entonces se cumplen los resultados enunciados en el anterior.

Consecuencia de esto es que si g es continuamente diferenciable en


un entorno de α y |g 0 (α)| < 1, entonces existe un entorno de α tal que
xn+1 = g(xn ) converge a α para cualquier x0 en ese entorno
(convergencia local).
Teorema (Convergencia monótona)
Si g(x) tiene derivada primera continua en un intervalo I que contiene
un punto fijo de g(x) y 0 ≤ g 0 (x) < 1 en I, entonces hay sólo un punto
fijo de g(x) en I, la iteración de punto fijo xn+1 = g(xn ) es convergente
∀x0 ∈ I y la convergencia es de tipo monótono, es decir:
Si x0 > α, entonces x0 > x1 > ... > xn > ... > α
Si x0 < α, entonces x0 < x1 < ... < xn < ... < α

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 23 / 28


Métodos de punto fijo

r
10
g(x) =
4+x

x0 1.0 1.23 2
x1 1.414 1.383 1.291
x2 1.359 1.363 1.375
x3 1.366 1.366 1.364
xA 1.37 1.37 1.36

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 24 / 28


Métodos de punto fijo

Algoritmo (Algoritmo de Steffensen)

Aceleración de la convergencia para una iteración


xn+1 = g(xn ) linealmente convergente.
Input: x0 (valor inicial),  tolerancia de error
(1) x = x0 ; x2 = x0 + 1 + 
(2) Repetir mientras |x − x2 | > 
(3) x1 = g(x); x2 = g(x1 ); ∆x2 = x2 − x1 ; ∆x1 = x1 − x
(4) x = x2 + ∆x2 /(∆x1 /∆x2 − 1)
(5) Volver a (2)

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 25 / 28


Raices de polinomios

Teorema (Regla de los signos de Descartes)

Dado un polinomio P(x) = an x n + ... + a1 x + a0 , el número de raices


reales positivas de la ecuación P(x) = 0, que denotamos como Np
está acotado por el número de cambios de signo en los coeficientes
(ordenados) del polinomio (V), de tal forma que V − Np puede ser 0 o
un número positivo y par. Los coeficientes nulos no cuentan.

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 26 / 28


Raices de polinomios

Teorema (Regla de los signos de Descartes)

Dado un polinomio P(x) = an x n + ... + a1 x + a0 , el número de raices


reales positivas de la ecuación P(x) = 0, que denotamos como Np
está acotado por el número de cambios de signo en los coeficientes
(ordenados) del polinomio (V), de tal forma que V − Np puede ser 0 o
un número positivo y par. Los coeficientes nulos no cuentan.

Teorema
Dado P(x) = an x n + ... + a1 x + a0 , an 6= 0, entonces P(x) tiene al menos un cero
(real o complejo) verificando
|x| ≤ min{ρ1 , ρn }
siendo s
|a0 | n a0

ρ1 = n , ρn =
|a1 | an

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 26 / 28


Raices de polinomios

Teorema
Sea R el cero positivo de

P(x) = |an |x n − |an−1 |x n−1 − ... − |a0 |

y r el cero positivo de

Q(x) = |an |x n + |an−1 | + ... + |a1 |x − |a0 |

entonces todos los ceros de

an x n + ... + a1 x + a0 = 0

verifican que
r ≤ |x| ≤ R

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 27 / 28


Raices de polinomios

Teorema
Sea R el cero positivo de

P(x) = |an |x n − |an−1 |x n−1 − ... − |a0 |

y r el cero positivo de

Q(x) = |an |x n + |an−1 | + ... + |a1 |x − |a0 |

entonces todos los ceros de

an x n + ... + a1 x + a0 = 0

verifican que
r ≤ |x| ≤ R

Teorema
Dado P(x) = an x n + ... + a0 , an 6= 0, todos los ceros de P(x) satisfacen

|x| ≤ r

donde r = 1 + max0≤k ≤n−1 a
k
an .

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 27 / 28


Raices de polinomios

Algoritmo (Método de Newton para polinomios)

Algoritmo de Newton para polinomios


Input: x0 (valor inicial),  tolerancia de error relativo, an , ..., a0

er =  + 1 ; z = x0
Repetir mientras er > 
bn = an ; cn = bn
Desde k = n − 1 hasta 1; paso − 1
bk = ak + zbk +1 (Horner para P(z))
ck = bk + zck +1 (Horner para P 0 (z))
Fin bucle
b0 = a0 + zb1
xm+1 = xm − b0 /c1 ; er = 1 − xxm ; z = xm+1

m+1
Fin bucle

J. Segura (Universidad de Cantabria) Ecuaciones no lineales 2009 28 / 28