Upload
duonghanh
View
221
Download
0
Embed Size (px)
Citation preview
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 1
4. Ecuaciones No Lineales
4.1 Introducción
En general no es posible obtener las raíces de una ecuación no lineal ( ) 0=xf en forma
explícita, debiéndose utilizar métodos iterativos. Partiendo de una raíz aproximada, 0x ,
se obtiene una secuencia K321 ,, xxx que converge a la raíz deseada. Para algunos
métodos es suficiente conocer el intervalo [ ]ba, en que se halla la raíz; otros
procedimientos, de convergencia más rápida, requieren una aproximación inicial cercana
a la raíz. Puede ser conveniente empezar los cálculos con un método del primer tipo y
cambiar a un método de convergencia más rápida en la etapa final.
La primera parte de este capítulo considera el caso en que la raíz, x , es una raíz simple,
es decir, 0)( ≠′ xf . Las dificultades que se presentan en el caso de raíces múltiples se
discuten en la sección 4.6. La sección 4.7 revisa métodos específicos para extraer
“ceros" (raíces) de polinomios.
La parte final da algunas ideas para la solución de sistemas de ecuaciones no lineales,
un problema que ciertamente puede demandar mucho esfuerzo de cómputo.
4.2 Aproximaciones Iniciales
Pueden obtenerse aproximaciones iniciales a las raíces de ( ) 0=xf graficando o
tabulando la función.
Si 0)()( <⋅ oo bfaf , hay por lo menos una raíz, x , en el intervalo ( )oo ba , . En el
método de Bisección se definen una serie de intervalos K),(),(),( 221100 bababa ⊃⊃ .
El punto medio de un intervalo ),( ii ba es 2/)( iii bax += . Suponiendo que ( ) 0≠xf
(si este no es el caso, se ha hallado la raíz) se define el sub-intervalo ),( 11 ++ ii ba
mediante:
<⋅
<⋅=++
0)()(),(
0)()(),(),( 11
iiii
iiii
iixfafxa
bfxfsibxba
Introduciendo la notación xxnn −=ε , se tiene que ( )nn O εε 21
1 =+ . Como 3.31 210 −− ≈ , se requieren 3 ó 4 pasos para mejorar un dígito decimal en la aproximación.
La convergencia es prácticamente independiente de ( )xf . Por ejemplo, para la función:
( ) ( ) 0sen4
2
=−= xx
xf
puede iniciarse la iteración con
2
5.1
0
0
==
b
a
obteniéndose:
-1
-0.5
0
0.5
1
1 1.5 2 2.5x
f(x)
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 2
i ia ib ic ( )icf
1 1.5 2. 1.75 <0
2 1.75 2. 1.875 <0
3 1.875 2. 1.9375 >0
4 1.875 1.9375 1.90625 <0
5 1.90625 1.9375 ...
Se han subrayado las cifras correctas. Puede observarse que la convergencia es lenta.
4.3 Método de Newton – Raphson
Si 0x es suficientemente cercano a la raíz x :
( ) ( ) ( ) ( ) ( ) 0)( 02
021
000 =+′′−+′−+= Lxfxxxfxxxfxf
Y despreciando términos de orden superior:
)(
)(
0
00 xf
xfxx
′−≈ .
Puede entonces pensarse en iterar con:
iii hxx +=+1 donde:
( )( )i
ii xf
xfh
′−=
expresión que define el método de Newton – Raphson (o simplemente de Newton). La
figura muestra una interpretación geométrica:
-0.25
0
0.25
0.5
1.75 2 2.25
x
f(x)
Por ejemplo, puede emplearse el método de Newton para extraer la raíz p de un
número c , lo que equivale a resolver:
0)( =−= cxxf p
1)(' −= pxpxf
Con el método de Newton:
ix1+ix
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 3
( )( )i
iii xf
xfxx
′−=+1
y por lo tanto:
+−=
−−= −−+ 111 )1(
1pi
ipi
pi
iix
cxp
pxp
cxxx
Para obtener la raíz cúbica de 2 se tendría:
+=+ 21
22
3
1
iii
xxx
e iniciando los cálculos con 10 =x :
i ix xxii −=ε
0 1 -0.259921
1 1.333 0.073412
2 1.2638889 0.003968
3 1.2599334934 1.244 510−⋅
4 1.25992105001778 1.229 1010−⋅
Puede observarse que la convergencia es muy rápida. Sin embargo este no siempre es
el caso. Considérese, por ejemplo, la ecuación:
( ) ( ) 02 =−−= xctgxxf
para la que ( )xecxf 2cos1)( +−=′
Los resultados obtenidos con dos distintas aproximaciones iniciales, 5.00 =x y 20 =x ,
son:
i ix para 5.00 =x ix para 20 =x
0 0.5 2.0
1 0.5986 -0.18504
2 0.628703 -0.44878
3 0.6308034 -1.49817
4 0.630812760 -676.133
5 -1140.538
6 -1163.343 ¡Diverge!
Las condiciones para la convergencia del método de Newton se revisan a continuación.
De la expansión de f en series de Taylor:
( ) ( )ηfxxxfxxxfxf nnnn ′′⋅−+′⋅−+== 2
2
1)()()()(0 η en intervalo ( )xx,
Dividiendo entre )( nxf ′ (que se supone distinto de cero):
( )( ) ( ) ( ) ( )
( )nnnn
n
n
xf
fxxxxxx
xf
xf
′′′
−−=−=−+′ +
η221
1
( )( )
21 2
1n
nn xf
f εηε′′′
=∴ +
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 4
y cuando xxn → se tiene que 21 )(
)(
2
1nn xf
xf εε′′′
→+ .
Esto es válido sólo si ( ) 0≠′ xf , es decir si la raíz es simple. El caso de raíces múltiples
se revisa más adelante. El proceso converge cuando nn εε <+1 , es decir si:
10 <′′′ ffε . Si la raíz es simple y la aproximación inicial es adecuada, la convergencia
del método de Newton es cuadrática.
Con el método de Newton pueden también obtenerse raíces complejas. Esto requiere
que la aproximación inicial sea un número complejo. Por ejemplo, si:
01)( 2 =+= xxf se tendría:
( )( )
−=
′−=+
ii
i
iii x
xxf
xfxx
1.
2
11
e iniciando los cómputos con ix +=10 :
i ix
0 i+1
1 i75.025.0 +
2 i975.0075.0 +−
3 i9968.00017.0 +
4 i000004.1000005.0 +−
4.4 Método de la Secante y Otros Procesos del Mismo Tipo
Si en )(
)(1
n
nnn xf
xfxx
′−=+ la derivada )( nxf ′ se aproxima por
( )( )1
1
−
−
−−
nn
nn
xx
ff, donde nf
denota )( nxf , se tiene el método de la Secante:
nnn hxx +=+1
( ))( 1
1
−
−
−−
−=nn
nnnn ff
xxfh Se supone que 1−≠ nn ff
Para cada punto, n, solo debe evaluarse una función, nf , mientras que el método de
Newton requiere también la evaluación de nf ′ .
Es importante hacer notar que NO es conveniente rescribir estas expresiones en la
forma: ( )
( )1
111
−
−−+ −
⋅−⋅=
nn
nnnnn ff
fxfxx
ya que con esta última expresión pueden introducirse fuertes errores numéricos cuando
1−≈ nn xx y 01 >⋅ −nn ff .
En la tabla siguiente se resuelve )sen()( 241 xxxf −= para 2≈x por el método de la
secante:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 5
n nx ( )nxf xxnn −=ε
0 1. -0.59147 -0.93
1 2. 0.090703 0.066
2 1.86704 -0.084980 -0.067
3 1.93135 -0.003177 -0.0024
4 1.93384 -0.000114 +0.00009
5 1.93375 -0.000005 52
1 10−⋅<
(en la gráfica adjunta casi no se aprecia
la diferencia entre la función y la
secante).
La convergencia de método de la
secante es en general más lenta que la
del método de Newton. Sin embargo,
se justifica usar este método si la
evaluación de ( )xf ′ requiere más del
44% del trabajo que se emplea en
evaluar ( )xf , ya que el mayor número
de iteraciones queda más que
compensado por el menor número de
operaciones realizadas en cada caso.
A esta conclusión se llega comparando
la convergencia de ambos métodos.
Para el método de la secante:
−−
−=−=−−
−++
1
111
nn
nnnnnnn ff
fxxεεεε
y siendo:
( ) ( ) ( ) ( ) K+′′+′+== xfxfxfxff nnnn2
21 εε
se obtiene (despreciando términos de orden superior):
( )( )( ) ( )
=+′′−+′−
−+′′+′+=
−−
−+
L
K
)()(
)()(2
121
1
12
21
1xfxf
xfxf
nnnn
nnnnnn εεεε
εεεεεε
( ) ( )( )21
)()()()( 1212
21
KK +′′++′+′′+′+= − xfxfxfxf nnnnn εεεεε
121
1 )(
)(−+ ′
′′≈∴ nnn xf
xf εεε
Suponiendo entonces: βεε nn C=+1 y por lo tanto ( ) 1111
1 2
12
−−−+
+ ′′′
== nnnn Cf
fC εεεε βββ , de
donde se obtiene: ( ) K618.1511 212 =+=→+= βββ Es decir, la convergencia del
método de la secante es entre lineal y cuadrática.
-0.25
0
0.25
1.75 2x
f(x)
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 6
En el método de Falsa Posición la secante se toma entre los puntos ( )nn fx , y ( )rr fx , ,
donde nr < es el mayor índice para el cual 0<rn ff . Si ( )xf es continuo, este
método es siempre convergente. Sin embargo, la convergencia es de primer orden.
Otra alternativa es el método de Steffensen: ( )( )n
nnn xg
xfxx −=+1
donde: ( ) ( )( ) ( )( )n
nnnn xf
xfxfxfxg
−+=
cuya convergencia es de segundo orden: ( ) ( )( ) 2
1 1)(2
1nn xf
xf
xf εε ′+′′′
≈+
4.5. Otros Métodos Iterativos
Una ecuación de la forma ( ) 0=xf puede rescribirse como )(xgx = . Dada entonces
una aproximación 0x a una raíz x de ( ) 0=xf , la secuencia L,,, 321 xxx definida por:
( )nn xgx =+1 converge a x siempre que ( ) 1<′ xg en la región de interés. El
procedimiento puede ser más simple que otros y en algunos casos puede incluso
converger más rápidamente.
Por ejemplo, la ecuación:
01tg)2()( =−−= xxxf
es equivalente a )2(ctg xx −= . En este caso podría iterarse con nn xx −=+ 2ctg 1 o, lo
que es lo mismo, ( )nn xarcx −=+ 2ctg1 . Sin embargo, la iteración escrita al revés, es
decir nn xx ctg21 −=+ , no funciona.
En efecto, tomando 00 =x e iterando con nn xx −=+ 2ctg 1 se obtienen:
n xn
0 0.
1 0.464
2 0.577
3 0.6125
4 0.6245
5 0.6286
6 0.6301
...
10 0.6308017
...
20 0.630812760
Una interpretación gráfica del proceso se muestra en la figura.
En lo que sigue se analiza cómo se reducen los errores en este caso.
Si se considera nn xx ε+=
11 ++ ε+= nn xx
se tiene que ( ) ( )nn xx ε+−=ε+ + 2ctg 1
-0.5
0
0.5
1
1.5
2
-0.5 0 0.5 1 1.5 2 2.5
x
y(x)
ctg x 2-x
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 7
Suponiendo que xn <<ε +1 puede hacerse una expansión de la cotangente en series:
( ) ( ) nnn xO
xx ε−−=ε+
ε− +
+ 2sen
ctg 212
1
y siendo x la solución exacta, ésta satisface idénticamente la ecuación: )2(ctg xx −= ;
de donde se concluye que:
( ) nnn x ε≈ε≈ε + 312
1 sen
es decir nn ε<ε +1 y por lo tanto el proceso es convergente.
Si en cambio se considera la iteración nn xx ctg21 −=+ se tiene que nn ε≈ε + 31 y el
proceso no converge, aún cuando 0x sea muy cercano a la raíz x :
n xn
0 0.6
1 0.538
2 0.325
3 0.965
4 2.69
5 4.01
4.6. Condicionamiento de las Raíces: Raíces Múltip les
Si nx es una aproximación a una raíz x de 0)( =xf , se tiene:
( ) ( ) ( ) ( ) ( ) ( ) K+′′−+′−+= xfxxxfxxxfxf nnn2
21
Para xxn ≈ puede escribirse:
( )( )xf
xfxx n
n ′≈−
Si el error en la evaluación de )( nxf es de ( )δO ( δ depende de la precisión de la
computadora y es independiente de x ) el error en la aproximación de la raíz xxn − es
de ( )
′δ
xfO . Entonces, si ( )xf ′ es muy pequeño se tiene que ( ) δ>>
′δ
xf y se dice
que la raíz x está mal condicionada.
El mismo argumento puede repetirse cuando se trata de una raíz de multiplicidad m ,
caso en el que::
( ) 0)()()( 1 ==′′=′ − xfxfxf mK .
En tal caso:
( ) ( )m
mnxf
mxx O
1
!
⋅δ=−
El exponente m1 implica que las raíces múltiples son en general mal condicionadas.
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 8
Considérese por ejemplo: ( ) 0122 =+−= xxxf , que tiene una raíz doble 1=x .
Supóngase que se trabaja con aritmética de punto flotante y 8 decimales en la mantisa.
Entonces 82
1 10−⋅=δ , y siendo ( ) 2=′′ xf se obtiene:
( ) 4421
228
21 107071.010
2
210 −−− =⋅=⋅⋅=− KOxxn
es decir, cualquier valor en el rango: 0,99992929 ≤≤ x 1,00007071 sería aceptado como
exacto, pudiéndose tener un error relativo de orden 510− .
-1
-0.5
0
0.5
1
0 1 2 3 4 5
x
p(x)
Siendo las raíces múltiples mal condicionadas, es de esperarse que la separación
relativa de las raíces afecte el condicionamiento. Particularmente crítico es el caso en
que las raíces están más o menos uniformemente espaciadas, por ejemplo en:
( ) ( )( )( ) ( ) 0!202061521020321 181920 =+−+−=−−−−=ρ LL xxxxxxxx
Si en lugar del coeficiente 210 se tuviera un coeficiente (210 + ε), se obtendrían las
raíces:
0=ε 910−=ε
1 a 10 1 a 10
11 85.10
12
13
i11.038.12 ±
14
15
i72.037.14 ±
16
17
i88.057.16 ±
18
19
i35.067.18 ±
20 20
Este ejemplo es particularmente mal condicionado, pero son frecuentes las dificultades
análogas al evaluar los ceros (es decir, las raíces) de polinomios. La evaluación de las
raíces de un polinomio es un problema numérico que debe evitarse, a menos que los
datos iniciales hayan sido los coeficientes del polinomio en forma explícita.
Raíz bien condicionada
Raíz mal condicionada
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 9
Aparte de un mal condicionamiento, las raíces múltiples reducen el orden de la
convergencia. Así, por ejemplo, el método de Newton, cuya convergencia es cuadrática
cuando nx es aproximadamente una raíz simple:
( )( )
ε
′′′
=ε +2
1 2
1nn xf
xf
tiene convergencia lineal cuando la raíz es múltiple. Para una raíz de multiplicidad m :
( ) ( )211 1 nnmn O ε+ε−=ε +
El método de Newton modificado:
( )( )n
nnn xf
xfmxx
′−=+1
tiene todavía convergencia cuadrática, pero en general no es posible conocer m a priori.
Alternativamente, puede pensarse en procesos del tipo:
( ) ( )( )n
nn xf
xfxu
′=
( ) ( )( ) ( )n
n
nn xu
xf
xfxu
′′′
−=′ 1
( )( )n
nnn xu
xuxx
′−=+1
Pero nótese que esto es poco efectivo cuando la raíz es simple, puesto que se requiere
evaluar una función adicional, ( )nxf ′′ .
4.7. Métodos para Calcular Raíces de Polinomios
En esta sección se revisan algunos de los muchos métodos específicos para evaluar las
raíces (ceros) de polinomios: ( ) 012
21
1 =+++++=ρ −−−
nnnnn axaxaxaxx K
( )( )( ) ( ) 0321 =α−α−α−α− nxxxx K
Es frecuente subestimar las dificultades que se presentan en problemas de este tipo.
Los métodos mencionados en los acápites anteriores (Newton, secante y otros) son
también aquí aplicables, aunque pueden ser poco eficientes.
4.7.1 Método de Bernoulli
Este es un proceso "clásico", que en general resulta poco apropiado, porque se obtiene
primero la raíz de mayor módulo.
Se toman n valores arbitrarios ntttt L321 ,, (con 0≠nt ) y se calculan nuevos valores por
recursión:
∑=
−−=n
i
ipip tat1
Esta es una ecuación de diferencias, cuya solución puede escribirse como:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 10
pnn
ppp rcrcrct +++= K2211
Las ri son raíces (distintas de cero) de:
( )∑=
−−=n
i
ini
n rar1
es decir, las ri son las raíces del polinomio: iir α= .
Por tanto:
pnn
ppp ccct α++α+α= K2211
y si 11 α≥≥α>α − Knn se tiene que:
nt
tLim α=
−ρ
ρ
∞→ρ1 .
Esto es análogo a una iteración directa para determinar un valor propio de una matriz.
También aquí la convergencia es lenta cuando 1−α≈α nn . El proceso converge a αn,
aún cuando 0=nc (gracias a los errores de redondeo). El inconveniente principal de
este método es que extrae primero la raíz de mayor módulo y la "deflación" con esta raíz
(que no es exacta) puede introducir errores importantes en las otras raíces.
Supóngase, por ejemplo, que:
( ) 75.025.025.12 234 −−+−= xxxxxf .
Con 0210 === ttt y 13 =t se obtienen:
k tk nk
k
t
tα≈
−1
4 2.0 2.0
5 2.75 1.375
6 3.25 1.1818
7 4.3125 1.3269
8 6.7500 1.5652
9 10.9844 1.6273
10 17.0469 1.5519
...
15 125.113 1.5104
16 188.240 1.5046
...
19 632.809 1.4986
20 949497 1.5004
Nótese que la convergencia es lenta. Esto es frecuente. Después de pocos pasos es
mejor cambiar a otros métodos (v.g. Newton - Rapshon).
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 11
4.7.2. Método de Graeffe (método de los cuadrados de las raíces)
Este es un proceso que puede ser empleado para mejorar el condicionamiento de las
raíces, pero es inadecuado para completar la extracción de las mismas.
Dado: ( ) 012
21
11 =+++++= −−−
nnnnn axaxaxaxxp K
O bien: ( )( )( ) ( ) 0)( 3211 =−−−−= nxxxxxp αααα K .
Puede formarse un nuevo polinomio
( ) ( ) ( ) ( ) )()()()(1 2223
222
221
211 n
n xxxxxpxpx ααααφ −−−−=−−= L .
Como ( )xφ solo contiene potencias pares de x , se puede definir:
( ) ( ) )()()()( 223
22
212 nxxxxxxp ααααφ −−−−== K
Es decir, ( ) 02 =xp tiene raíces 2221 ni ααα LL , que son justamente los cuadrados de
las raíces de ( ) 01 =xp . Del mismo modo pueden obtenerse ( ) ( ) ( )xpxpxp mL84 . Las
raíces de ( ) 0=xpm , son las miα donde rm 2= .
Si se tienen coeficientes L)(
3)(
2)(
1 ,, rrr aaa tales que:
( ) ( ) ( ) ( ) ( ) 012
21
1 =+++++= −−− r
nr
nnrnrn
m axaxaxaxxp K
los coeficientes a1(r+1), L
)1(3
)1(2 , ++ rr aa de ( )xp m2 resultan:
( ) ( )( ) ( ) ( ) ( )
−+−= ∑
−
=−+
−+),min(
1
21 12)1(iin
j
rji
rji
jri
inri aaaa
Y para m (o r ) suficientemente grande, puede escribirse:
( )rm a11 ≈α ( )
( ) Kr
rm
a
a
1
22 ≈α
( )
( )rk
rkm
ka
a
1−
≈α
Estas expresiones permiten, en teoría, determinar los valores absolutos de las raíces.
Los signos deben obtenerse por sustitución en el polinomio original ( ) 0=xp .
Por ejemplo, considérese el polinomio ( ) 6116 23 −+−= xxxxp (cuyas raíces 1, 2, 3
están uniformemente espaciadas y por tanto están mal condicionadas):
r m a1 a2 a3
0 1 -6. 11. -6.
1 2 -14. 49. -36.
2 4 -98. 1393. -1296.
3 8 -6818.2 1.6864 x 106 -1.6796 x 106
4 16 -4.3112 x 107 2.8212 x 1012 -2.8212 x 1012
....
de donde 7161 103112.4 ⋅≈α
47
12162 105438.6
104.3112
102.8212 ⋅=⋅⋅≈α
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 12
99998.0102.8212
102.821112
12163 =
⋅⋅≈α
es decir 0003.31 ≈α 9998.12 ≈α 0000.13 ≈α
Las raíces de ( ) ( ) ( )Lxpxpxp 842 están mejor condicionadas en cada paso. Sin
embargo, se observa un crecimiento muy rápido de los coeficientes (posible "overflow")
por lo que no pueden realizarse muchos pasos.
4.7.3. Método de Laguerre
Un muy buen método para extraer raíces de polinomios es el de Laguerre. En este
método, las sucesivas aproximaciones a una raíz se calculan mediante:
)()(
)(1
kk
kkk
xHxp
xpnxx
±′−=+
donde n es el grado del polinomio y:
( ) ( )( )[ ])()()(11)( 2kkkk xpxpnxpnnxH ′′−′−−=
Como en otros casos, debe considerarse el signo que evita la cancelación, es decir,
aquel para el que kk xx −+1 resulta lo más pequeño posible.
El método de Laguerre requiere evaluar ( )kxp , ( )kxp′ y ( )kxp ′′ en cada paso, pero la
convergencia (para raíces simples) es cúbica. Si las raíces son reales, este método
converge siempre. Suponiendo que la aproximación inicial 0x esté en el intervalo entre
rα y 1+α r , converge a una de esas dos raíces. Si en cambio 10 α<x o nx α>0 el
proceso converge a 1α o nα , respectivamente.
Por ejemplo, considérese el polinomio:
( ) ( )( )( )( )( )( )( )( )0403201095841181246728422449453654636
876543212345678 =+−+−+−+−=
=−−−−−−−−=
xxxxxxxx
xxxxxxxxxp
Con la aproximación inicial 00 =x se obtienen:
kx ( )kxp ( )kxp′ ( )kxp ′′ ( )kxH
0 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 aproximación inicial 5.20 =x :
kx ( )kxp ( )kxp′ ( )kxp ′′ ( )kxH
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 método puede ser usado también para extraer raíces complejas, en ese
caso no puede garantizarse la convergencia. Si se tuvieran pares de raíces complejas,
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 13
pero los coeficientes del polinomio fueran todos reales, sería aconsejable extraer
factores cuadráticos con el procedimiento descrito en la sección 4.7.4
4.7.4. Método de Bairstow (factorización iterativa de polinomios).
Un polinomio ( ) nnnnn axaxaxaxxp +++++= −
−−1
22
11 K puede expresarse como:
( ) ( ) ( ) ( ) ( )s,rGs,rxFs,r,xqsrxxx ++⋅++= 2ρ .
Se requiere determinar sr, para que srxx ++2 sea un factor exacto de ( )xp , es decir,
para que se tenga ( ) ( ) 0,, == srGsrF . Siendo éste el caso, dos de las raíces (o un par
de raíces complejas) pueden obtenerse de 02 =++ srxx ; el resto de las raíces son los
ceros de ( )xq . Dados valores aproximados de sr, tales como nr y ns , se obtienen
valores mejorados, 1+nr y 1+ns , considerando:
( ) ( ) ( ) ( ) 0,,,
1
,
111 ≈−+−+≈ ++++
nsnr
nn
nsnr
nnnnnn ds
dFss
dr
dFrrsrFsrF
( ) ( ) ( ) ( ) 0,,,
1,
111 ≈−+−+≈ ++++nsnr
nn
nsnrnnnnnn ds
dGss
dr
dGrrsrGsrG
de donde, con la notación ds
dGG
dr
dFF sr == L , se tiene:
nsnrrssr
ssnn GFGF
GFFGrr
,
1
−⋅−⋅
−=+
nsnrrssr
rrnn GFGF
GFFGss
,
1
−⋅−⋅
−=+
Dado que el polinomio original ( )xp es independiente de r y s , al derivar el polinomio
( ) ( ) GxFqsrxxxp ++⋅++= 2 con relación a r y s se obtienen:
( ) 0)(2 =++⋅+++ rrr GxFqsrxxxq
( ) 0)(2 =++⋅+++ sss GxFqsrxxq
es decir, los rF y rG son los coeficientes del residuo al dividir ( )xqx− entre
srxx ++2 mientras los sF y sG se obtienen como coeficientes del residuo al dividir
( )xq− también entre srxx ++2 .
La convergencia de este proceso depende de una buena aproximación inicial.
El siguiente ejemplo ilustra un paso del proceso. Supóngase que se tiene el polinomio:
( ) 02525145 234 =+−+−= xxxxxp y un factor aproximado 442 +− xx (es decir 4−=or , 40 +=s ). Dividiendo ( )xp entre
este factor (utilizando el procedimiento de Ruffini) se obtiene:
( )xp 1 -5 14 -25 25
40 =− r 4 -4 24
40 −=− s -4 4 -24
q(x) 1 -1 6 3 1
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 14
Y análogamente:
-xq(x) -1 1 -6 0
4 -4 -12
-4 4 12
-1 -3 -14 12
-q(x) -1 1 -6
4 -4
-4 4
-1 -3 -2
y de estos resultados:
1
3
==
G
F
12
14
,
,
=−=
r
r
G
F
2
3
,
,
−=−=
r
r
G
F
64=⋅−⋅= rssr GFGFw
( )( ) ( )( )4.0469
64
233141 −=−−−−−=r
( )( ) ( )( )4.7813
64
12314141 =−−−=s
es decir: 4.78134.0469211
2 +−=++ xxsxrx
En el siguiente paso se obtienen:
2547.1=F 6350.0−=G
1003.13−=rF 7920.14=rG
0938.3−=sF 5803.0−=sG
de donde 0973.42 −=r , 9732.42 =s . El factor exacto es 542 +− xx .
El método antes descrito es adecuado solo si la aproximación inicial es cercana al factor
exacto (esto es análogo a lo que ocurre con el método de Newton). Pueden también
utilizarse las mismas ideas para separar factores de grado mayor que 2.
4.7.5. Método de Jenkins y Traub
Este proceso tiene algunas similitudes con el método de iteración inversa para hallar
vectores característicos. Converge a la raíz de menor módulo (lo que es beneficioso
para una "deflación" adecuada; véase la sección 4.7.6) y permite efectuar translaciones
para acelerar la convergencia. Es probablemente el mejor de los métodos para extraer
raíces de polinomios (pero en algunos casos no es el más eficiente). El algoritmo tiene 3
etapas:
a. Dado el polinomio ini
n
i
xaxp −
=∑=
0
)( con 0,1 ≠= no aa , se determina:
( ) ( ) 1
0
0 )()( −−
=∑ −=′= in
i
n
i
xainxpxh
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 15
y por recursión:
( ) ( )( )
−=+ )(
)0(
)0()(
1)(1 xp
p
hxh
xxh
kkk L2,1,0=k
A medida que k crece, las razones entre los coeficientes de ( ) )(xh k y aquellos de ( ) )(1 xh k + tienden a hacerse constantes e iguales a la raíz de menor módulo:
( )
( ) )0(
)0(11 +≈α
k
k
h
h
b. En una segunda etapa, con una “translación” fija 10 rs ≈ , se determinan:
( )( )
( )( )
−
−=+ )(
)(
)()(
1)(
0
0
0
1 xpsp
shxh
sxxh
kkk
c. Y finalmente se refina la aproximación con translaciones variables en cada paso:
( ) ( )( ) ( ) 1
1
1 rsh
shss
kk
kk
kk ≈+=−
+
( )( )
( )( )
−
−=
+
+
+
+ )()(
)()(
1)(
1
1
1
1 xpsp
shxh
sxxh
k
kk
k
k
k
Cada paso de este método requiere )2( nO operaciones.
En lo que sigue se analiza cómo el proceso converge. El polinomio cuyas raíces se
buscan puede expresarse en la forma:
( ) ( ) ( ) ( ) 033
22
11 =α−α−α−= K
mmm xxxxp
donde L321 ,, mmm son las multiplicidades de las raíces.
El método se inicia con ( ) )()(0 xpxh ′= , que es un polinomio de grado 1−n . Este
polinomio puede escribirse en la forma:
( ) ( )( )∑ α−
=i
i x
xpcxh
)()( 00
donde ( )ii mc =0 . Puede probarse por inducción que los sucesivos polinomios
( ) ( ) ( )Lxhxhxh )3()2()1( son también polinomios de grado 1−n . Supóngase que:
( ) ( )( )∑ α−
= −−
i
ki
k
x
xpcxh
)()( 11
Entonces: ( )( )
( )( )
−
−=
−− )(
)(
)()(
1)(
11 xp
sp
shxh
sxxh
k
kk
k
k
k
( )( )
( )( )
( )
−−
−−= ∑∑ −−
ik
kki
ki
ki
k s
spc
sp
xp
x
xpc
sx αα)(
)(
)()(1 11
( )
( ) ( )( )
( )∑∑ −=
−−=
−
i
ki
iki
ki
x
xpc
x
xp
s
c
ααα)()(1
es decir, si ( ) )(1 xh k + es un polinomio de grado 1−n , también lo es ( ) )(xh k .
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 16
Además: ( )( )
)()()()()( 321
1
kiiii
i
ki
kik
i ssss
m
s
cc
−α−α−α−α=
−α=
−
K
y si se consideran translaciones js tales que: Kjjj sss −α<−α<−α 321
se tiene que (considerando multiplicidades mi iguales): K)(
3)(
2)(
1kkk ccc >> y por lo tanto:
( )( )
( ) )(
)(1
xh
xhLims
k
k
kki
−
∞→=−α
Esta expresión puede también usarse para determinar las translaciones más adecuadas:
( )
( )
( )
( ) )(
)(
)(
)(1
1k
kk
k
kk
kk
k
kksw
sws
sh
shss
′−=+=
−
+
donde:
( )( ) )(
)()(
xh
xpxw
kk =
La última expresión puede probarse considerando que:
( )( )
( )( )
ksxk
kk
k
kk
k xpsp
shxh
sxsh
=
−−
−
−= )(
)(
)()(
1)(
11
y utilizando la regla de L' Hospital.
Por otro lado, dado que 0)( =α ip , se tiene que ( ) 0)( =α ikw y por lo tanto:
( )
( ) )(
)(1
kk
kk
kksw
swss
′−=+
Esta expresión es análoga a la utilizada en el método de Newton. Considerando
kk sc −= 1α puede escribirse:
( )
( )2
1
121
1)(
)(kk
k
kw
wε
α′α′′
≈ε +
pero en este caso la función )(kw es variable en cada paso:
( ))(
)()(
)( xh
xpxw
kk =
( ) ( )( ) )()(
)()(
1
xpxgx
xpcxh k
ik +
α−=
Para 1α≈x se tiene: )()(
1
1
xgx
>>α−
y por lo tanto:
( )( )
( )( ) ( )11
1
)()(
)()(
α−+α−
==xxgc
x
xh
xpxw
kkk
puede aproximarse por:
( ) ( )[ ]K2)(
111)(
11)( )()()()( −− α−−α−= kkk cxxgcxxw
de donde:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 17
( )2
1
111
)(kkk
c
gε
α≈ε +
pero ( ) ( )K1
)2(1
)1(1
1
)1(1)(
1−
−−−
εε=
ε=
−α=
kk
k
k
k
k
kk cc
s
cc
y entonces:
( ) 211 kkkk εεεβ=ε −+ L
( ) 211 −− εεβ=ε kkk K
de donde 11
31
−−+ ε⋅ε=ε kkk y considerando γ
+ ε⋅=ε kk C1 se obtiene finalmente 62.2=γ .
El orden de convergencia es superior al del método de Newton.
Considérese, por ejemplo, el polinomio: 12)( 2 +−= xxxp (cuyas raíces son iguales
=α=α 21 1). En este caso:
( ) 22)()(0 −=′= xxpxh
( ) ( )( )
22)()0(
)0()(
1)(
001 −=
−= xxp
p
hxh
xxh
y es evidente que, si se continuara con el proceso, ( ) 22 −= x)x(h n Es decir, en un paso
se tiene convergencia. Esto se debe a que en realidad se tiene una sola raíz con
multiplicidad 2.
( )
( ) 12
20
)(
)(1
1 =−−+=+=α
−
sh
shs
k
k
Para el siguiente ejemplo: 023)( 2 =+−= xxxp (cuyas raíces son =1α 1, =2α 2):
2x 1x 0x )( 1−ksh ks )( ksh )( ksp
1 )(xp 1. -3. 2.
2 ( ) )()(0 xpxh ′= 2. -3. 0. -3. 2.
3 1.5 )(xp 1.5 -4.5 3.
4 (2)+(3) 1.5 -2.5 0.
5 ( ) )(/)4( 1 xhx = 1.5 -2.5 -2.5 1.2 -0.70 -0.16
6 -4.375 )(xp -4.375 13.125 -8.750
7 (5)+(6) -4.375 14.625 -11.250
8 )2.1()7( −x/ -4.375 9.375 4.125 1.0303 4.8674 -0.029385
9 165.645 )x(p 165.645 -496.934 331.290
10 (8)+(9) 165.645 -501.309 340.664
11 )00303.1/()10( −x 165.645 -330.644 -159.979 .999878 -165.019 0.000122
12 1352450 )(xp 1 352 450 -4 057 350 2 704 900
13 (11)+(12) 1 352 450 -4 057 184 2 704 569
14 )999878./()13( −x 1 352 450 -2 704 899 -1 352 614 1.000000 ← La primera raíz
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 18
4.7.6 Deflación
El polinomio )x(p , de grado 1≥n , puede escribirse como: ( ) rxqaxxp +−= )()( , donde
( )xq es un polinomio de grado 1−n y )a(pr = . Si 1α=a es una raíz exacta de
( ) 0=xp , se tiene 0=r . Las raíces restantes son las raíces de ( ) 0=xq . Para el
cómputo de estas otras raíces puede entonces trabajarse con el cociente ( )xq en lugar
de ( ) 0=xp . Esto es una "deflación". La deflación puede repetirse a medida que se
obtienen otras raíces. Es evidente que esto ahorra operaciones.
Sin embargo, a medida que se calculan las raíces éstas no pueden obtenerse en forma
exacta y la deflación con una raíz que es solo aproximada produce un polinomio q(x) que
está afectado por esos errores.
Considérese, por ejemplo, 01001012 =+− xx , cuyas raíces exactas son =1α 1, =2α 100.
Si se obtiene primero la raíz 2α (aquella de mayor módulo) con un 0,1% de error:
≈2α 100.1, la deflación produce:
( )xp 1 -101. 100.
α2 100.1 100.1 -90.09
( )xq 1 -0.9 9.91
Es decir, se obtiene ( )90.x)x(q −= , y haciendo 0=)x(q resulta 901 .≈α . Nótese que
un error de 0,1% en 2α produce un error de 10% en 1α . Si en cambio se determina
primero la raíz menor, también con un error de 0,1%, ≈1α 1.001:
( )xp 1 -101. 100.
α1 1.001 1.001 -100.099
( )xq 1 -99.999 0.099
y de ( ) 099999 =−= .x)x(q : se obtiene 999992 .≈α :, con sólo un 0,001% de error.
En conclusión, los errores introducidos por la deflación son menores si las raíces se
determinan en orden ascendente de valores absolutos.
4.8. SISTEMAS DE ECUACIONES NO LINEALES
En algunos problemas académicos la solución de sistemas de ecuaciones no lineales
puede ser hecha por simple eliminación. Por ejemplo, para determinar los puntos en los
que se intersectan el círculo 322 =+ yx y la hipérbola 122 =− yx , basta restar y
sumar ambas expresiones (obteniéndose 2±=x , 1±=y ).
Sin embargo, en la mayor parte de los casos prácticos será necesario iterar. Muchos de
los métodos antes descritos para resolver una ecuación no lineal pueden generalizarse
para resolver sistemas de ecuaciones no lineales:
( ) 0,,, 321 =ni xxxxf K ni K,3,2,1=
0xf =)(
Iteración directa
Un proceso simple puede ser obtenido rescribiendo estas ecuaciones como:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 19
( )nii xxxxgx K,,, 321= ni K,3,2,1=
)(xgx =
lo que permite iterar con
( ) ( ) ( ) ( ) ( )( )kn
kkki
ki xxxxgx K,,, 321
1 =+
o bien con
( ) ( ) ( ) ( ) ( )( )kn
ki
kki
ki xxxxgx KK ,,, 1
12
11
1+
+++ =
Estos son los equivalentes no lineales de los métodos de Jacobi y Gauss – Seidel.
También aquí puede establecerse un criterio de convergencia similar a 1)( <′ xg .
Definiendo la matriz D, con coeficientes:
j
iij x
gxd
δδ
=)(
se tiene que los valores característicos de la matriz D deben ser tales que: 1<iλ . Con
frecuencia se presentan sistemas no lineales de la forma: )(xgax h+= donde las
ji xg δδ son finitas. Entonces, para h suficientemente pequeño, el proceso iterativo ( ) ( ) )(1 kk h xgax +=+ satisface las condiciones de convergencia.
Por ejemplo, sea el sistema de ecuaciones (no lineales):
)(cos
)(sen
21
21
yxy
yxx
−=
+=
Puede iterarse con:
)(cos
)(sen)()1(
21)1(
)()(21)1(
kkk
kkk
yxy
yxx
−=
+=++
+
Obteniéndose (con la aproximación inicial 0)0()0( == yx ):
k )(kx )(ky
1 0 0.5
2 0.239 712 729 0.483 158 048
3 0.330 770 125 0.494 205 706
4 0.367 265 691 0.495 976 965
5 0.379 977 102 0.496 639 778 ...
10 0.386 424 387 0.496 949 307 ... 20 0.386 450 795 0.496 950 555
Método de Newton
También el método de Newton - Raphson puede ser generalizado para sistemas de
ecuaciones no lineales:
( ) ( ) ( ) ( ) ( )( ) 0()()( 11 =−+≈ ++ kkkkk ) xxxDxfxf
En la sección 4.7.4 se presentó una aplicación de estas ideas. El proceso converge si ( )kx es suficientemente cercano a la solución exacta x , lo que es relativamente fácil
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 20
cuando las no linealidades no son muy fuertes y se combina el método de Newton -
Raphson con un proceso incremental.
Para el caso particular de dos ecuaciones no lineales:
0),(
0),(
2
1
==
yxf
yxf
puede escribirse:
=
−
−
∂∂
∂∂
∂∂
∂∂
+
+
+
0
0
)()1(
)()1(
22
11
2
1
kk
kk
yy
xx
y
f
x
fy
f
x
f
f
f
expresión en la que 1f , 2f y sus derivadas se calculan con la aproximación )()( , kk yx .
Luego se obtienen:
∂∂
+∂∂
−
∂∂
−∂∂
−
=
+
+
x
ff
x
ff
y
ff
y
ff
dy
x
y
x
k
k
k
k
12
21
12
21
)(
)(
)1(
)1(1
siendo x
f
y
f
y
f
x
fd
∂∂
∂∂
−∂∂
∂∂
== 2121)(det D .
Considérese, por ejemplo:
01)5.0()1(),(
01),(22
2
21
=−−+−=
=−+=
yxyxf
yxyxf
Estas ecuaciones tienen dos soluciones:
)472721581476.0,092790146215.1(
)550347344984.0,762549122125.0(
2
1
−==
r
r
Con la aproximación inicial )0,0( se obtienen:
k )(kx )(ky 1f 2f
0 0.000000 0.000000 -1.000000 0.250000
1 -0.375000 1.000000 0.140625 1.140625
2 0.125000 1.234375 0.250000 0.304932
3 0.095595 0.991726 0.000865 0.059743
4 0.125088 0.985223 0.000870 0.000912
5 0.125122 0.984344 0.000000 0.000001
6 0.125123 0.984344 0.000000 0.000000
Con otras aproximaciones iniciales, como por ejemplo )0,1( ó )1,1( − , se obtiene 2r
Método de Máxima Gradiente
El método de Newton tiene convergencia cuadrática, pero requiere una buena
aproximación inicial. Con tal fin, puede emplearse el método de máxima gradiente, cuya
convergencia es lenta pero está garantizada (siempre que D sea no singular).
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 21
La solución del sistema de ecuaciones no lineales 0xf =)( es aquella que hace mínima
la función:
[ ] ∑=
==n
ini
T xxxfF1
21 ),,()()()( Lxfxfx
Partiendo de una aproximación )0(x se hacen correcciones de la forma:
fDxxx Tk
kk
kk F αα 2)()()1( −=∇−=+
kα debe ser tal que )()( )()1( kk FF xx <+ .
Aproximaciones
La evaluación de los 2n coeficientes de la matriz ( ) )kxD ( , es decir: jiij xfd ∂∂=
puede requerir demasiadas operaciones, por lo que es común volver a evaluar D solo
cada cierto número, m , de pasos (y no en cada paso). Se tiene así el método de
Newton - Raphson modificado:
( ) ( ) ( ) ( )( ) 0()( 1 =−+ + kkpk ) xxxDxf mpppk ++= K,1, .
Esto también 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.
También pueden utilizarse métodos análogos al método de la secante. Una
aproximación frecuente es:
( )j
ijji
j
iij h
fhf
x
fd
)()(
xexx
−+≈=
δδ
donde je es la columna j de la matriz identidad de orden n , y los 0≠jh son
arbitrarios, por ejemplo: ( ) ( )kj
kjj xxh −= −1 (esto es el método de la secante, que da un
orden de convergencia de aproximadamente 1.6). Si en cambio se toma ( ) )(fh kjj x=
se obtiene una generalización del método de Steffensen.
Otra posibilidad consiste en derivar 0=)( xf con respecto a un parámetro, α :
0=+⋅αδ
δαδ
δδδ fx
x
f
lo que permite utilizar muchos de los procesos para resolver sistemas de ecuaciones
diferenciales ordinarias descritos en el capítulo 6. Por ejemplo, pueden considerarse
Dx
f=
δδ
xx
∆=∆ααδ
δ f
f∆=∆α
αδδ
y entonces:
( ) ( ) ( )kkk fxxD ∆=∆⋅)(
( ) ( ) ( )kkk xxx ∆+=+1
Este es el método de Euler, un proceso simple pero no siempre adecuado.