You are on page 1of 21

4.

Ecuaciones No Lineales
4.1 Introduccin
En general no es posible obtener las races de una ecuacin no lineal f ( x ) = 0 en forma
explcita, debindose utilizar mtodos iterativos. Partiendo de una raz aproximada, x 0 ,
se obtiene una secuencia x1 , x 2 , x 3 K que converge a la raz deseada. Para algunos
[a, b] en que se halla la raz; otros

mtodos es suficiente conocer el intervalo

procedimientos, de convergencia ms rpida, requieren una aproximacin inicial cercana


a la raz. Puede ser conveniente empezar los clculos con un mtodo del primer tipo y
cambiar a un mtodo de convergencia ms rpida en la etapa final.
La primera parte de este captulo considera el caso en que la raz, x , es una raz simple,
es decir, f ( x ) 0 . Las dificultades que se presentan en el caso de races mltiples se
discuten en la seccin 4.6. La seccin 4.7 revisa mtodos especficos para extraer
ceros" (races) de polinomios.
La parte final da algunas ideas para la solucin de sistemas de ecuaciones no lineales,
un problema que ciertamente puede demandar mucho esfuerzo de cmputo.

4.2 Aproximaciones Iniciales


Pueden obtenerse aproximaciones iniciales a las races de

f (x ) = 0 graficando o

tabulando la funcin.
Si f ( a o ) f (bo ) < 0 , hay por lo menos una raz, x , en el intervalo (a o , bo ) . En el
mtodo de Biseccin se definen una serie de intervalos ( a 0 , b0 ) ( a1 , b1 ) ( a 2 , b 2 ) K .
El punto medio de un intervalo ( a i , bi ) es xi = ( a i + bi ) / 2 . Suponiendo que f (x ) 0
(si este no es el caso, se ha hallado la raz) se define el sub-intervalo ( a i +1 , bi +1 )
mediante:

( x i , bi ) si
(a i +1 , bi +1 ) =
(a i , x i )
Introduciendo la notacin

10

3.3

f ( x i ) f (bi ) < 0
f (a i ) f ( x i ) < 0

n = x n x , se tiene que n +1 = O ( 12 n ) .

Como

, se requieren 3 4 pasos para mejorar un dgito decimal en la aproximacin.

La convergencia es prcticamente independiente de f (x ) .


Por ejemplo, para la funcin:

f(x)
1

x2
f (x ) =
sen (x ) = 0
4

0.5

puede iniciarse la iteracin con


0

a 0 = 1 .5
b0 = 2

x
1

1.5

2.5

-0.5

obtenindose:
-1

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-1

ai

bi

ci

f (c i )

1.5

2.

1.75

<0

1.75

2.

1.875

<0

1.875

2.

1.9375

>0

1.875

1.9375

1.90625

<0

1.90625

1.9375

...

Se han subrayado las cifras correctas. Puede observarse que la convergencia es lenta.

4.3 Mtodo de Newton Raphson


Si x 0 es suficientemente cercano a la raz x :

f ( x ) = f ( x 0 ) + ( x x 0 ) f ( x 0 ) + 12 ( x x 0 )

f ( x 0 ) + L = 0

Y despreciando trminos de orden superior:

x x0

f ( x0 )
.
f ( x 0 )

Puede entonces pensarse en iterar con:

x i +1 = x i + hi
donde:

hi =

f (xi )
f (x i )

expresin que define el mtodo de Newton Raphson (o simplemente de Newton). La


figura muestra una interpretacin geomtrica:
f(x)
0.5

0.25

0
1.75

x i +1

xi

2.25

-0.25

Por ejemplo, puede emplearse el mtodo de Newton para extraer la raz p de un


nmero c , lo que equivale a resolver:

f ( x) = x p c = 0
f ' ( x) = p x p 1
Con el mtodo de Newton:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-2

xi +1 = xi

f (xi )
f (x i )

y por lo tanto:

xi +1 = xi

xip c
p

x ip 1

1
c
( p 1) xi + p 1
p
xi

Para obtener la raz cbica de 2 se tendra: xi +1 =

1
2
2 x i + 2

3
xi

e iniciando los clculos con x 0 = 1 :

xi

i = xi x

-0.259921

1.333

0.073412

1.2638889

0.003968

1.2599334934

1.244 10 5

1.25992105001778

1.229 10 10

Puede observarse que la convergencia es muy rpida. Sin embargo este no siempre es
el caso. Considrese, por ejemplo, la ecuacin:

f ( x ) = 2 x ctg ( x ) = 0

f ( x) = 1 + cos ec 2 (x )

para la que

Los resultados obtenidos con dos distintas aproximaciones iniciales, x 0 = 0.5 y x 0 = 2 ,


son:

xi para x 0 = 0.5

xi para x 0 = 2

0.5

2.0

0.5986

-0.18504

0.628703

-0.44878

0.6308034

-1.49817

0.630812760

-676.133

-1140.538

-1163.343

Diverge!

Las condiciones para la convergencia del mtodo de Newton se revisan a continuacin.


De la expansin de f en series de Taylor:

0 = f ( x ) = f ( x n ) + ( x x n ) f ( x n ) +

1
(x x n )2 f ( )
2

en intervalo ( x, x )

Dividiendo entre f ( x n ) (que se supone distinto de cero):

f (x n )
2 f ( )
+ ( x x n ) = x x n+1 = 12 (x x n )
f ( x n )
f ( x n )
n +1 =

1 f ( ) 2
n
2 f (x n )

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-3

y cuando x n x se tiene que n +1

1 f ( x ) 2
n .
2 f ( x )

Esto es vlido slo si f (x ) 0 , es decir si la raz es simple. El caso de races mltiples


se revisa ms adelante.
El proceso converge cuando n +1 < n , es decir si:

0 f f < 1 . Si la raz es simple y la aproximacin inicial es adecuada, la convergencia

del mtodo de Newton es cuadrtica.


Con el mtodo de Newton pueden tambin obtenerse races complejas. Esto requiere
que la aproximacin inicial sea un nmero complejo. Por ejemplo, si:

f ( x) = x 2 + 1 = 0
se tendra:

xi +1 = xi

f (xi ) 1
1
= xi .
f ( xi ) 2
xi

e iniciando los cmputos con x 0 = 1 + i :

xi

1+ i

0.25 + 0.75 i

0.075 + 0.975 i

0.0017 + 0.9968 i

0.000005 + 1.000004 i

4.4 Mtodo de la Secante y Otros Procesos del Mismo Tipo


Si en x n +1 = x n

f ( xn )
la derivada f ( x n ) se aproxima por
f ( x n )

( f n f n1 ) , donde
(xn x n1 )

fn

denota f ( x n ) , se tiene el mtodo de la Secante:

x n +1 = x n + hn

hn = f n

(xn x n1 )
( f n f n1 )

Se supone que f n f n 1

Para cada punto, n, solo debe evaluarse una funcin, f n , mientras que el mtodo de

Newton requiere tambin la evaluacin de f n .


Es importante hacer notar que NO es conveniente rescribir estas expresiones en la
forma:

xn+1 =

(xn1 f n x n f n1 )
( f n f n1 )

ya que con esta ltima expresin pueden introducirse fuertes errores numricos cuando

x n x n 1 y f n f n 1 > 0 .
En la tabla siguiente se resuelve f ( x) =

1
4

x 2 sen( x) para x 2 por el mtodo de la

secante:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-4

f (x n )

n = xn x

xn

1.

-0.59147

-0.93

2.

0.090703

0.066

1.86704

-0.084980

-0.067

1.93135

-0.003177

-0.0024

1.93384

-0.000114

+0.00009

1.93375

-0.000005

< 12 10 5
(en la grfica adjunta casi no se aprecia
la diferencia entre la funcin y la

f(x)

secante).
0.25

La convergencia de mtodo de la
secante es en general ms lenta que la
del mtodo de Newton. Sin embargo,
se justifica usar este mtodo si la

0
1.75

evaluacin de f (x ) requiere ms del


44% del trabajo que se emplea en

x
2

evaluar f ( x ) , ya que el mayor nmero


de iteraciones queda ms que
compensado por el menor nmero de
-0.25

operaciones realizadas en cada caso.


A esta conclusin se llega comparando
la convergencia de ambos mtodos.

Para el mtodo de la secante:

n 1

x n+1 x n = n +1 n = f n n
f n f n 1
y siendo:

f n = f ( x n ) = f ( x ) + n f ( x ) + 12 n2 f ( x ) + K

se obtiene (despreciando trminos de orden superior):

n +1 = n +

f ( x ) + 12 n2 f ( x ) + K ( n n 1 )

( n n 1 ) f ( x ) + 12 ( n n 1 )2 f ( x ) + L

= n + n f ( x ) + 12 n2 f ( x ) + K ( f ( x ) +
n +1 12

1
2

( n + n1 ) f ( x ) + K)

1
2

f ( x )
n n 1
f ( x )

Suponiendo entonces: n +1 = C n y por lo tanto n +1 = C


donde se obtiene:

= +1 =

1
2

(1 + 5 ) = 1.618K

n1 =

+1

1 f
C n1 n 1 , de
2 f

Es decir, la convergencia del

mtodo de la secante es entre lineal y cuadrtica.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-5

En el mtodo de Falsa Posicin la secante se toma entre los puntos ( x n , f n ) y (x r , f r ) ,


donde r < n es el mayor ndice para el cual f n f r < 0 . Si f ( x ) es continuo, este
mtodo es siempre convergente. Sin embargo, la convergencia es de primer orden.
Otra alternativa es el mtodo de Steffensen: x n +1 = x n

g (x n ) =

donde:

f ( x n + f ( x n )) f ( x n )
f (x n )

cuya convergencia es de segundo orden: n +1

f (x n )
g (x n )

1 f ( x )
(1 + f (x )) n2
2 f ( x )

4.5. Otros Mtodos Iterativos


Una ecuacin de la forma f ( x ) = 0 puede rescribirse como x = g (x) . Dada entonces

una aproximacin x 0 a una raz x de f ( x ) = 0 , la secuencia x1 , x 2 , x 3 , L definida por:


x n +1 = g ( x n ) converge a x siempre que g ( x ) < 1 en la regin de inters. El

procedimiento puede ser ms simple que otros y en algunos casos puede incluso
converger ms rpidamente.
Por ejemplo, la ecuacin:

f ( x) = (2 x) tg x 1 = 0
es equivalente a ctg x = ( 2 x) . En este caso podra iterarse con ctg x n +1 = 2 x n o, lo
que es lo mismo, x n +1 = arc ctg (2 x n ) . Sin embargo, la iteracin escrita al revs, es
decir x n +1 = 2 ctg x n , no funciona.

En efecto, tomando x 0 = 0 e iterando con ctg x n +1 = 2 x n se obtienen:

n
0

y(x)

xn
0.

0.464

0.577

1.5

0.6125

0.6245

0.6286

0.6301

1
2-x

0.5

ctg x

...
10

0.6308017

0
-0.5

0.5

1.5

2.5

...
20

0.630812760

-0.5

Una interpretacin grfica del proceso se muestra en la figura.


En lo que sigue se analiza cmo se reducen los errores en este caso.
Si se considera

se tiene que

xn = x + n
x n +1 = x + n +1
ctg ( x + n +1 ) = 2 ( x + n )

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-6

Suponiendo que n +1 << x puede hacerse una expansin de la cotangente en series:

ctg x

n +1
sen 2 x

+ O 2n +1 = (2 x ) n

y siendo x la solucin exacta, sta satisface idnticamente la ecuacin: ctg x = ( 2 x ) ;


de donde se concluye que:

n +1 sen 2 x n 13 n
es decir n +1 < n y por lo tanto el proceso es convergente.
Si en cambio se considera la iteracin x n +1 = 2 ctg x n se tiene que n +1 3 n y el
proceso no converge, an cuando x 0 sea muy cercano a la raz x :

xn

0.6

0.538

0.325

0.965

2.69

4.01

4.6. Condicionamiento de las Races: Races Mltiples


Si x n es una aproximacin a una raz x de f ( x) = 0 , se tiene:

f (x n ) = f (x ) + (x n x ) f (x ) +

1
2

(xn x )2 f (x ) + K

Para x n x puede escribirse:

xn x

f (x n )
f (x )

Si el error en la evaluacin de f ( x n ) es de O( ) ( depende de la precisin de la


computadora y es independiente de x ) el error en la aproximacin de la raz x n x es

. Entonces, si f (x ) es muy pequeo se tiene que


>> y se dice
de O
f (x )
f (x )
que la raz x est mal condicionada.
El mismo argumento puede repetirse cuando se trata de una raz de multiplicidad m ,
caso en el que::

f ( x ) = f ( x ) = K f (m 1) ( x ) = 0 .
En tal caso:
1

m! m
x n x = O (m )
f (x )
El exponente 1 m implica que las races mltiples son en general mal condicionadas.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-7

Considrese por ejemplo:

f ( x ) = x 2 2 x + 1 = 0 , que tiene una raz doble x = 1 .

Supngase que se trabaja con aritmtica de punto flotante y 8 decimales en la mantisa.


Entonces =

10 8 , y siendo f (x ) = 2 se obtiene:

x n x = O 12 10 8 22

1
2

2
10 4 = 0.7071K10 4
2

es decir, cualquier valor en el rango: 0,99992929 x 1,00007071 sera aceptado como


exacto, pudindose tener un error relativo de orden 10 5 .
p(x)

1
Raz bien
condicionada

0.5

-0.5

Raz mal
condicionada

-1
Siendo las races mltiples mal condicionadas, es de esperarse que la separacin
relativa de las races afecte el condicionamiento. Particularmente crtico es el caso en
que las races estn ms o menos uniformemente espaciadas, por ejemplo en:

(x ) = ( x 1)( x 2 )( x 3)L ( x 20 ) = x 20 210 x 19 + 20615 x 18 L + 20! = 0


Si en lugar del coeficiente 210 se tuviera un coeficiente (210 + ), se obtendran las
races:

=0

= 10 9

1 a 10

1 a 10
10.85
12.38 0.11i

11
12
13
14

14.37 0.72i

15
16

16.57 0.88i

17
18

18.67 0.35i

19
20

20

Este ejemplo es particularmente mal condicionado, pero son frecuentes las dificultades
anlogas al evaluar los ceros (es decir, las races) de polinomios. La evaluacin de las
races de un polinomio es un problema numrico que debe evitarse, a menos que los
datos iniciales hayan sido los coeficientes del polinomio en forma explcita.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-8

Aparte de un mal condicionamiento, las races mltiples reducen el orden de la


convergencia. As, por ejemplo, el mtodo de Newton, cuya convergencia es cuadrtica
cuando x n es aproximadamente una raz simple:

1 f (x ) 2
n+1 =
n
2 f (x )
tiene convergencia lineal cuando la raz es mltiple. Para una raz de multiplicidad m :

n +1 = (1

1
m

) n + O ( 2n )

El mtodo de Newton modificado:

x n +1 = x n m

f (x n )
f ( x n )

tiene todava convergencia cuadrtica, pero en general no es posible conocer m a priori.


Alternativamente, puede pensarse en procesos del tipo:

f (x n )
f ( x n )

u (x n ) =

u ( x n ) = 1

f ( x n )
u (x n )
f (x n )

x n +1 = x n

u (x n )
u (x n )

Pero ntese que esto es poco efectivo cuando la raz es simple, puesto que se requiere
evaluar una funcin adicional, f ( x n ) .

4.7. Mtodos para Calcular Races de Polinomios


En esta seccin se revisan algunos de los muchos mtodos especficos para evaluar las
races (ceros) de polinomios:

(x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n = 0

(x 1 )(x 2 )(x 3 )K (x n ) = 0
Es frecuente subestimar las dificultades que se presentan en problemas de este tipo.
Los mtodos mencionados en los acpites anteriores (Newton, secante y otros) son
tambin aqu aplicables, aunque pueden ser poco eficientes.

4.7.1 Mtodo de Bernoulli


Este es un proceso "clsico", que en general resulta poco apropiado, porque se obtiene
primero la raz de mayor mdulo.
Se toman n valores arbitrarios t1 , t 2 , t 3 L t n (con t n 0 ) y se calculan nuevos valores por
recursin:
n

tp =

a t

i p i

i =1

Esta es una ecuacin de diferencias, cuya solucin puede escribirse como:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4-9

t p = c1 r1p + c 2 r2p + K + c n rnp


Las ri son races (distintas de cero) de:
n

rn =

a r(

n i )

i =1

es decir, las ri son las races del polinomio: ri = i .


Por tanto:

t p = c1 1p + c 2 2p + K + c n np
y si

n > n 1 K 1

Lim

t
t 1

se tiene que:

= n
.

Esto es anlogo a una iteracin directa para determinar un valor propio de una matriz.
Tambin aqu la convergencia es lenta cuando n n 1 . El proceso converge a n,
an cuando c n = 0 (gracias a los errores de redondeo). El inconveniente principal de

este mtodo es que extrae primero la raz de mayor mdulo y la "deflacin" con esta raz
(que no es exacta) puede introducir errores importantes en las otras races.
Supngase, por ejemplo, que:

f ( x ) = x 4 2 x 3 + 1.25 x 2 0.25 x 0.75 .


Con t 0 = t1 = t 2 = 0 y t 3 = 1 se obtienen:

tk

tk

2.0

2.0

2.75

1.375

3.25

1.1818

4.3125

1.3269

6.7500

1.5652

10.9844

1.6273

10

17.0469

1.5519

t k 1

...
15

125.113

1.5104

16

188.240

1.5046

19

632.809

1.4986

20

949497

1.5004

...

Ntese que la convergencia es lenta. Esto es frecuente. Despus de pocos pasos es


mejor cambiar a otros mtodos (v.g. Newton - Rapshon).

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 10

4.7.2. Mtodo de Graeffe (mtodo de los cuadrados de las races)


Este es un proceso que puede ser empleado para mejorar el condicionamiento de las
races, pero es inadecuado para completar la extraccin de las mismas.
Dado:

p1 ( x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n = 0

O bien:

p1 ( x) = ( x 1 )(x 2 )(x 3 )K ( x n ) = 0 .

Puede formarse un nuevo polinomio

(x ) = ( 1)n p1 ( x ) p1 ( x ) = ( x 2 1 2 ) ( x 2 2 2 ) ( x 2 3 2 ) L ( x 2 n 2 ) .
Como (x ) solo contiene potencias pares de x , se puede definir:

p 2 (x ) =

( x )= (x

) (x 2 ) (x 3 )K( x n )

Es decir, p 2 ( x ) = 0 tiene races 12 L i2 L n2 , que son justamente los cuadrados de


las races de p1 (x ) = 0 . Del mismo modo pueden obtenerse p 4 (x ) p 8 (x )L p m ( x ) . Las

races de p m ( x ) = 0 , son las im donde m = 2 r .


(r )

(r )

(r )

Si se tienen coeficientes a1 , a 2 , a 3 L tales que:


(r )

(r )

(r )

p m ( x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n
los coeficientes a1

(r+1)

( r +1)

, a2

(r )

=0

, a 3( r +1) L de p 2 m (x ) resultan:

a i( r +1) = (1) n i a i(r )

( )

+2

min(n i ,i )

( 1)

j =1

a i(+r )j a i(r )j

Y para m (o r ) suficientemente grande, puede escribirse:


(r )

a1
m
1

m
2

a 2(r )

a1(r )


m
k

a k(r )

a k( r)1

Estas expresiones permiten, en teora, determinar los valores absolutos de las races.
Los signos deben obtenerse por sustitucin en el polinomio original p ( x ) = 0 .

Por ejemplo, considrese el polinomio p( x ) = x 3 6 x 2 + 11x 6 (cuyas races 1, 2, 3


estn uniformemente espaciadas y por tanto estn mal condicionadas):

a1

a2

a3

-6.

11.

-6.

-14.

49.

-36.

-98.

1393.

-1296.

-6818.2

1.6864 x 106

-1.6796 x 106

16

-4.3112 x 107

2.8212 x 1012

-2.8212 x 1012

....
de donde

116 4.3112 10 7

216

2.8212 1012
= 6.5438 10 4
4.3112 10 7

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 11

316

2.8211 1012
= 0.99998
2.8212 1012

1 3.0003

es decir

2 1.9998

3 1.0000

Las races de p 2 ( x ) p 4 ( x ) p 8 (x )L estn mejor condicionadas en cada paso.

Sin

embargo, se observa un crecimiento muy rpido de los coeficientes (posible "overflow")


por lo que no pueden realizarse muchos pasos.

4.7.3. Mtodo de Laguerre


Un muy buen mtodo para extraer races de polinomios es el de Laguerre. En este
mtodo, las sucesivas aproximaciones a una raz se calculan mediante:

x k +1 = x k

n p( x k )
p ( x k ) H ( x k )

donde n es el grado del polinomio y:

H ( x k ) = (n 1) (n 1)( p ( x k ) ) n p ( x k ) p ( x k )
2

Como en otros casos, debe considerarse el signo que evita la cancelacin, es decir,
aquel para el que x k +1 x k resulta lo ms pequeo posible.
El mtodo de Laguerre requiere evaluar p ( x k ) , p ( x k ) y p ( x k ) en cada paso, pero la
convergencia (para races simples) es cbica. Si las races son reales, este mtodo
converge siempre. Suponiendo que la aproximacin inicial x 0 est en el intervalo entre

r y r +1 , converge a una de esas dos races. Si en cambio x 0 < 1 o x 0 > n el


proceso converge a 1 o n , respectivamente.
Por ejemplo, considrese el polinomio:

p (x ) = (x 1)(x 2 )(x 3)( x 4 )( x 5)(x 6 )(x 7 )(x 8) =


= x 8 36 x 7 + 546 x 6 4536 x 5 + 22449 x 4 67284 x 3 + 118124 x 2 109584 x + 40320 = 0
Con la aproximacin inicial x 0 = 0 se obtienen:

xk

p (x k )

p (x k )

p ( x k )

H (x k )

40320

-109584

236248

5.499492E+10

0.937418

369.916

-6836.714

31394.812

1.639940E+09

0.999940

0.302

-5041.569

26140.729

1.245010E+09

1.000000
En forma similar, con la aproximacin inicial x 0 = 2.5 :

xk

p (x k )

p (x k )

p ( x k )

H (x k )

2.5

121.816

-132.750

-977.625

7.532588E+06

2.838696

42.391

-277.131

60.892

3.618725E+06

2.994301

1.374

-242.118

367.294

2.844179E+06

3.000000
Aunque este mtodo puede ser usado tambin para extraer races complejas, en ese
caso no puede garantizarse la convergencia. Si se tuvieran pares de races complejas,

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 12

pero los coeficientes del polinomio fueran todos reales, sera aconsejable extraer
factores cuadrticos con el procedimiento descrito en la seccin 4.7.4

4.7.4. Mtodo de Bairstow (factorizacin iterativa de polinomios).


Un polinomio p(x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n puede expresarse como:

( x ) = x 2 + rx + s q(x , r , s ) + xF (r , s ) + G (r , s ) .
Se requiere determinar r , s para que x 2 + rx + s sea un factor exacto de p ( x ) , es decir,

para que se tenga F (r , s ) = G (r , s ) = 0 . Siendo ste el caso, dos de las races (o un par
de races complejas) pueden obtenerse de x 2 + rx + s = 0 ; el resto de las races son los

ceros de q (x ) . Dados valores aproximados de r , s tales como rn y s n , se obtienen


valores mejorados, rn +1 y s n +1 , considerando:

F (rn+1 , sn+1 ) F (rn , sn ) + ( rn+1 rn )

dF
dr

G (rn +1 , s n+1 ) G (rn , s n ) + (rn +1 rn )


Fr =

de donde, con la notacin

dG
dr

+ ( sn+1 sn )

dF
ds

rn , sn

+ (s n +1 s n )
rn , sn

dG
ds

0
rn ,sn

0
rn , sn

dF
dG
L Gs =
, se tiene:
dr
ds

G Fs F G s
rn +1 = rn
Fr G s Fs G r

rn , sn

G Fr F G r
s n +1 = s n
Fr G s Fs G r

rn , sn

Dado que el polinomio original p ( x ) es independiente de r y s , al derivar el polinomio

p( x ) = x 2 + rx + s q + xF + G con relacin a r y s se obtienen:

xq + x 2 + rx + s q r + ( xFr + G r ) = 0

q + x 2 + rx + s q s + ( xFs + G s ) = 0
es decir, los Fr y G r son los coeficientes del residuo al dividir x q ( x ) entre

x 2 + rx + s mientras los Fs y G s se obtienen como coeficientes del residuo al dividir


q (x ) tambin entre x 2 + rx + s .

La convergencia de este proceso depende de una buena aproximacin inicial.


El siguiente ejemplo ilustra un paso del proceso. Supngase que se tiene el polinomio:

p( x ) = x 4 5 x 3 + 14 x 2 25 x + 25 = 0

y un factor aproximado x 2 4 x + 4 (es decir ro = 4 , s 0 = +4 ). Dividiendo p ( x ) entre


este factor (utilizando el procedimiento de Ruffini) se obtiene:

p (x )
r0 = 4
s 0 = 4
q(x)

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

-5

14

-25

-4

24

-4

-24

-1

25

4 - 13

Y anlogamente:

-xq(x)

-1

-6

-4

-12

-4
-1

-q(x)

12

-3

-14

12

-1

-6

-4

-4

4
-1

-3

-2

y de estos resultados:

F =3

F,r = 14

F,r = 3

G =1

G,r = 12

G,r = 2

w = Fr G s Fs G r = 64

r1 = 4
s1 = 4

(1)( 3) (3)( 2) = 4.0469


64

(1)( 14) (3)(12) = 4.7813


64

es decir: x 2 + r1 x + s1 = x 2 4.0469 x + 4.7813


En el siguiente paso se obtienen:

F = 1.2547

G = 0.6350

Fr = 13.1003

G r = 14.7920

Fs = 3.0938

G s = 0.5803

de donde r2 = 4.0973 , s 2 = 4.9732 . El factor exacto es x 2 4 x + 5 .


El mtodo antes descrito es adecuado solo si la aproximacin inicial es cercana al factor
exacto (esto es anlogo a lo que ocurre con el mtodo de Newton). Pueden tambin
utilizarse las mismas ideas para separar factores de grado mayor que 2.

4.7.5. Mtodo de Jenkins y Traub


Este proceso tiene algunas similitudes con el mtodo de iteracin inversa para hallar
vectores caractersticos. Converge a la raz de menor mdulo (lo que es beneficioso
para una "deflacin" adecuada; vase la seccin 4.7.6) y permite efectuar translaciones
para acelerar la convergencia. Es probablemente el mejor de los mtodos para extraer
races de polinomios (pero en algunos casos no es el ms eficiente). El algoritmo tiene 3
etapas:
n

a. Dado el polinomio p ( x) =

ax

n i

con a o = 1, a n 0 , se determina:

i =0

(0 )

h ( x) = p ( x) =

(n i ) a x

n i 1

i =0

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 14

y por recursin:

h ( k ) ( 0)
1 (k )
p ( x)
h ( x)
x
p ( 0)

h (k +1) ( x) =

k = 0, 1, 2 L

A medida que k crece, las razones entre los coeficientes de h (k ) ( x) y aquellos de

h (k +1) ( x) tienden a hacerse constantes e iguales a la raz de menor mdulo:


h ( k ) ( 0)
1 (k +1)
h
( 0)

b. En una segunda etapa, con una translacin fija s 0 r1 , se determinan:

(k )

h (k ) ( s 0 )
1
p( x)
h ( x)
(x s 0 )
p(s 0 )

h (k +1) ( x) =

c. Y finalmente se refina la aproximacin con translaciones variables en cada paso:

h (k 1) (s k )

s k +1 = s k +

h (k ) (s k )

r1

(k )

h (k ) ( s k +1 )
1
p ( x)
h ( x)
(x s k +1 )
p( s k +1 )

h (k +1) ( x) =

Cada paso de este mtodo requiere O (2n) operaciones.


En lo que sigue se analiza cmo el proceso converge. El polinomio cuyas races se
buscan puede expresarse en la forma:

p(x ) = ( x 1 )

m1

( x 2 )m 2 ( x 3 )m 3 K = 0

donde m1 , m 2 , m3 L son las multiplicidades de las races.


El mtodo se inicia con h (0 ) ( x) = p ( x) , que es un polinomio de grado n 1 . Este
polinomio puede escribirse en la forma:

h (0 ) ( x ) =

c ( ) (x )
p ( x)

donde ci(0 ) = mi .

Puede probarse por induccin que los sucesivos polinomios

h (1) ( x ) h ( 2) (x ) h (3) (x )L son tambin polinomios de grado n 1 . Supngase que:

h (k 1) ( x) =
Entonces: h (k ) ( x) =

c(

k 1)

p ( x)
(x i )

(k 1)

h (k 1) ( s k )
1
( x)
p ( x )
h
(x s k )
p(s k )

1
(x s k )

c(
i

k 1)

p( x)
p( x)

(x i ) p( s k )

ci(k 1)
p( x)
=

s
)
(
x
i )
i
k

c(
i

k 1)

p( s k )
(s k i )

c ( ) (x )
k

p( x)

es decir, si h (k +1) ( x) es un polinomio de grado n 1 , tambin lo es h (k ) ( x) .

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 15

Adems: c i(k ) =

ci(k 1)
mi
=
( i s k ) ( i s1 ) ( i s 2 ) ( i s 3 ) K ( i s k )

1 s j < 2 s j < 3 s j K
se tiene que (considerando multiplicidades mi iguales): c1( k ) > c 2( k ) > c 3( k ) K y por lo tanto:

y si se consideran translaciones s j tales que:


(k 1)

h
( i s k ) = Lim
(k )
k
h

( x)
( x)

Esta expresin puede tambin usarse para determinar las translaciones ms adecuadas:

s k +1

h (k 1) ( s k )

w (k ) ( s k )
= s k + (k )
= s k (k )
h (s k )
w ( s k )

donde:

p ( x)
w (k ) ( x) = (k )
h ( x)
La ltima expresin puede probarse considerando que:

(k 1)

h (k 1) ( s k )
1
h
(
x
)

p ( x)

(x s k )
p( s k )

h (k ) ( s k ) =

x = sk

y utilizando la regla de L' Hospital.


Por otro lado, dado que p ( i ) = 0 , se tiene que w (k ) ( i ) = 0 y por lo tanto:

s k +1 = s k

w (k ) ( s k )
w ( k ) ( s k )

Esta expresin es anloga a la utilizada en el mtodo de Newton.

Considerando

c k = 1 s k puede escribirse:

k +1

w (k ) ( 1 ) 2

k
w ( k ) ( 1 )
1
2

pero en este caso la funcin w (k ) es variable en cada paso:

w (k ) ( x) =

p ( x)
h ( k ) ( x)

h (k ) ( x) = ci(k )
Para x 1 se tiene:

p ( x)

(x 1 )

+ g ( x) p ( x)

1
>> g ( x) y por lo tanto:
( x 1 )

(x 1 )
p ( x)
w (k ) ( x) = (k )
= (k )
h ( x) c1 + g ( x)( x 1 )
puede aproximarse por:

w ( k ) ( x) = ( x 1 ) (c1( k ) ) 1 g ( x) (x 1 ) (c1( k ) ) 2 K
de donde:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 16

k +1

pero

c1( k ) =

g 1 ( 1 )
c1

(k )

2k

c1( k 1)
c ( k 1)
c ( k 2)
= 1
= 1
K
(1 s k ) k ( k k 1 )

y entonces:

k +1 = ( k k 1 L ) k2
k = ( k 1 K) 2k 1

de donde k +1 = 3k k 11 y considerando k +1 = C k se obtiene finalmente = 2.62 .


El orden de convergencia es superior al del mtodo de Newton.
Considrese, por ejemplo, el polinomio: p( x) = x 2 2 x + 1 (cuyas races son iguales

1 = 2 = 1). En este caso:

h (0 ) ( x) = p ( x) = 2 x 2
h (1) ( x) =

(0 )

h ( 0 ) ( 0)
h
(
x
)

p ( x) = 2 x 2

p ( 0)

1
x

y es evidente que, si se continuara con el proceso, h (n ) ( x ) = 2 x 2 Es decir, en un paso


se tiene convergencia.

Esto se debe a que en realidad se tiene una sola raz con

multiplicidad 2.

1 = s +

h (k 1) ( s )
h

(k )

( s)

= 0+

2
=1
2

Para el siguiente ejemplo: p( x) = x 2 3 x + 2 = 0 (cuyas races son 1 = 1, 2 = 2):

x2

x1

x0

1.

-3.

2.

2.

-3.

1.5

-4.5

3.

1.5

-2.5
1.5

0.
-2.5

p ( x)

h (0 ) ( x) = p ( x)

1.5 p ( x)

4
5

(2)+(3)

-4.375 p ( x)

-4.375

13.125

-8.750

7
8

(5)+(6)

-4.375

14.625
-4.375

-11.250
9.375

165.645 p( x )

165.645

-496.934

331.290

10
11

(8)+(9)

165.645

-501.309
165.645

340.664
-330.644

12

1352450 p ( x)

1 352 450

-4 057 350

2 704 900

13
14

(11)+(12)

1 352 450

-4 057 184
1 352 450

2 704 569
-2 704 899

(1)

( 4) / x = h ( x )

(7) / ( x 1.2)

(10) /( x 1.00303)

(13) /( x .999878)

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

h( s k 1 )

h( s k )

p( s k )

0.

-3.

2.

-2.5

1.2

-0.70

-0.16

4.125

1.0303

4.8674

-0.029385

-159.979

.999878

-165.019

0.000122

-1 352 614

sk

1.000000 La primera raz

4 - 17

4.7.6 Deflacin
El polinomio p( x ) , de grado n 1 , puede escribirse como: p ( x ) = ( x a ) q ( x ) + r , donde

q( x ) es un polinomio de grado n 1 y r = p( a ) . Si a = 1 es una raz exacta de


p( x ) = 0 , se tiene r = 0 . Las races restantes son las races de q( x ) = 0 . Para el
cmputo de estas otras races puede entonces trabajarse con el cociente q ( x ) en lugar
de p ( x ) = 0 . Esto es una "deflacin". La deflacin puede repetirse a medida que se

obtienen otras races. Es evidente que esto ahorra operaciones.


Sin embargo, a medida que se calculan las races stas no pueden obtenerse en forma
exacta y la deflacin con una raz que es solo aproximada produce un polinomio q(x) que
est afectado por esos errores.
Considrese, por ejemplo, x 2 101x + 100 = 0 , cuyas races exactas son 1 = 1, 2 = 100.
Si se obtiene primero la raz 2 (aquella de mayor mdulo) con un 0,1% de error:

2 100.1, la deflacin produce:

p(x )
2

q(x )

1
100.1
1

-101.

100.

100.1

-90.09

-0.9

9.91

Es decir, se obtiene q( x ) = ( x 0.9) , y haciendo q( x ) = 0 resulta 1 0.9 . Ntese que

un error de 0,1% en 2 produce un error de 10% en 1 . Si en cambio se determina


primero la raz menor, tambin con un error de 0,1%, 1 1.001:

p(x )
1

-101.

100.

1.001

-100.099

-99.999

0.099

1.001

q(x )

y de q( x ) = (x 99.999 ) = 0 : se obtiene 2 99.999 :, con slo un 0,001% de error.


En conclusin, los errores introducidos por la deflacin son menores si las races se
determinan en orden ascendente de valores absolutos.

4.8. SISTEMAS DE ECUACIONES NO LINEALES


En algunos problemas acadmicos la solucin de sistemas de ecuaciones no lineales
puede ser hecha por simple eliminacin. Por ejemplo, para determinar los puntos en los
que se intersectan el crculo x 2 + y 2 = 3 y la hiprbola x 2 y 2 = 1 , basta restar y
sumar ambas expresiones (obtenindose x = 2 , y = 1 ).
Sin embargo, en la mayor parte de los casos prcticos ser necesario iterar. Muchos de
los mtodos antes descritos para resolver una ecuacin no lineal pueden generalizarse
para resolver sistemas de ecuaciones no lineales:

f i ( x1 , x2 , x3 , K xn ) = 0

i = 1,2,3, K n

f (x) = 0
Iteracin directa
Un proceso simple puede ser obtenido rescribiendo estas ecuaciones como:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 18

xi = g i ( x1 , x 2 , x3 , K x n )

i = 1,2,3, K n

x = g ( x)
lo que permite iterar con

xi

(k )

(k +1)

= g i x1 , x 2 , x3 , K x n

(k +1)

= g i x1

o bien con

xi

(k +1)

(k )

, x2

(k )

(k +1)

(k )

, K x i(+k1) , K x n

(k )

Estos son los equivalentes no lineales de los mtodos de Jacobi y Gauss Seidel.
Tambin aqu puede establecerse un criterio de convergencia similar a

g ( x) < 1 .

Definiendo la matriz D, con coeficientes:

d ij ( x) =

gi
xj

se tiene que los valores caractersticos de la matriz D deben ser tales que: i < 1 . Con

frecuencia se presentan sistemas no lineales de la forma: x = a + hg(x) donde las

g i x j son finitas. Entonces, para h suficientemente pequeo, el proceso iterativo


x ( k +1) = a + h g (x (k ) ) satisface las condiciones de convergencia.
Por ejemplo, sea el sistema de ecuaciones (no lineales):

x = 12 sen ( x + y )
y = 12 cos ( x y )
Puede iterarse con:

x ( k +1) = 12 sen ( x ( k ) + y ( k ) )
y ( k +1) = 12 cos ( x ( k +1) y ( k ) )
Obtenindose (con la aproximacin inicial x ( 0 ) = y ( 0 ) = 0 ):

x (k )

y (k )

0.5

0.239 712 729

0.483 158 048

0.330 770 125

0.494 205 706

0.367 265 691

0.495 976 965

5
...

0.379 977 102

0.496 639 778

10
...
20

0.386 424 387

0.496 949 307

0.386 450 795

0.496 950 555

Mtodo de Newton
Tambin el mtodo de Newton - Raphson puede ser generalizado para sistemas de
ecuaciones no lineales:

f (x (k +1) ) f (x (k ) ) + D (x (k ) ) x (k +1) x (k ) = 0
En la seccin 4.7.4 se present una aplicacin de estas ideas. El proceso converge si

x (k ) es suficientemente cercano a la solucin exacta x , lo que es relativamente fcil

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 19

cuando las no linealidades no son muy fuertes y se combina el mtodo de Newton Raphson con un proceso incremental.
Para el caso particular de dos ecuaciones no lineales:

f 1 ( x, y ) = 0
f 2 ( x, y ) = 0
puede escribirse:

f 1
f 1 x

+ f
2
f 2

f 1
y
f 2
y

x ( k +1) x ( k ) 0

=
( k +1)
(k )
y 0
y

expresin en la que f 1 , f 2 y sus derivadas se calculan con la aproximacin x ( k ) , y ( k ) .


Luego se obtienen:

f 2
f

f2 1
x ( k +1) x ( k ) 1 f 1
y
y
( k +1) = ( k )

f
f 1
d
2
y
y
f
+
f
2
1 x
x
siendo d = det ( D) =

f 1 f 2 f1 f 2

.
x y
y x

Considrese, por ejemplo:

f 1 ( x, y ) = x 2 + y 1 = 0
f 2 ( x, y ) = ( x 1) 2 + ( y 0.5) 2 1 = 0
Estas ecuaciones tienen dos soluciones:

r1 = (0.125 122 549 762, 0.984 344 347 550)


r2 = (1.215 146 790 092, 0.476 581 721 472)
Con la aproximacin inicial (0,0) se obtienen:

x (k )

y (k )

f1

f2

0
1
2
3
4
5
6

0.000000
-0.375000
0.125000
0.095595
0.125088
0.125122
0.125123

0.000000
1.000000
1.234375
0.991726
0.985223
0.984344
0.984344

-1.000000
0.140625
0.250000
0.000865
0.000870
0.000000
0.000000

0.250000
1.140625
0.304932
0.059743
0.000912
0.000001
0.000000

Con otras aproximaciones iniciales, como por ejemplo (1,0) (1,1) , se obtiene r2

Mtodo de Mxima Gradiente


El mtodo de Newton tiene convergencia cuadrtica, pero requiere una buena
aproximacin inicial. Con tal fin, puede emplearse el mtodo de mxima gradiente, cuya
convergencia es lenta pero est garantizada (siempre que D sea no singular).

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 20

La solucin del sistema de ecuaciones no lineales f ( x) = 0 es aquella que hace mnima


la funcin:

F (x) = [f (x)] f (x) =


T

f (x , x
i

2 ,L xn )

i =1

Partiendo de una aproximacin x ( 0) se hacen correcciones de la forma:

x ( k +1) = x ( k ) k F = x ( k ) 2 k D T f

k debe ser tal que F (x ( k +1) ) < F (x ( k ) ) .


Aproximaciones

La evaluacin de los n 2 coeficientes de la matriz D ( x (k ) ) , es decir:

d ij = f i x j
puede requerir demasiadas operaciones, por lo que es comn volver a evaluar D solo
cada cierto nmero, m , de pasos (y no en cada paso). Se tiene as el mtodo de

Newton - Raphson modificado:

f (x (k ) ) + D (x ( p ) ) x (k +1) x (k ) = 0

k = p, p + 1, K p + m .

Esto tambin ahorra muchas operaciones al resolver el sistema de ecuaciones lineales


para determinar las x

(k+1)

, puesto que la matriz D solo debe reducirse cada m pasos.

Tambin pueden utilizarse mtodos anlogos al mtodo de la secante.

Una

aproximacin frecuente es:

d ij =

f i ( x + h j e j ) f i ( x)
fi
( x)
xj
hj

donde e j es la columna j de la matriz identidad de orden n , y los h j 0 son


(k 1) x (k ) (esto es el mtodo de la secante, que da un
arbitrarios, por ejemplo: h j = x j
j

orden de convergencia de aproximadamente 1.6). Si en cambio se toma h j = f j ( x (k ) )


se obtiene una generalizacin del mtodo de Steffensen.
Otra posibilidad consiste en derivar f ( x ) = 0 con respecto a un parmetro, :

f x f

+
=0
x
lo que permite utilizar muchos de los procesos para resolver sistemas de ecuaciones
diferenciales ordinarias descritos en el captulo 6. Por ejemplo, pueden considerarse

f
=D
x

x
= x

f
= f

y entonces:

D( x ( k ) ) x ( k ) = f ( k )
x (k +1) = x (k ) + x (k )
Este es el mtodo de Euler, un proceso simple pero no siempre adecuado.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales

4 - 21