Ecuaciones No Lineales

21
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 = x f en forma explícita, debiéndose utilizar métodos iterativos. Partiendo de una raíz aproximada, 0 x , se obtiene una secuencia K 3 2 1 , , x x x que converge a la raíz deseada. Para algunos métodos es suficiente conocer el intervalo [ ] b a, 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 ) ( x f . 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 = x f graficando o tabulando la función. Si 0 ) ( ) ( < o o b f a f , hay por lo menos una raíz, x , en el intervalo ( o o b a , . En el método de Bisección se definen una serie de intervalos K ) , ( ) , ( ) , ( 2 2 1 1 0 0 b a b a b a . El punto medio de un intervalo ) , ( i i b a es 2 / ) ( i i i b a x + = . Suponiendo que ( 0 x f (si este no es el caso, se ha hallado la raíz) se define el sub-intervalo ) , ( 1 1 + + i i b a mediante: < < = + + 0 ) ( ) ( ) , ( 0 ) ( ) ( ) , ( ) , ( 1 1 i i i i i i i i i i x f a f x a b f x f si b x b a Introduciendo la notación x x n n - = ε , se tiene que ( n n O ε ε 2 1 1 = + . Como 3 . 3 1 2 10 - - , se requieren 3 ó 4 pasos para mejorar un dígito decimal en la aproximación. La convergencia es prácticamente independiente de ( x f . Por ejemplo, para la función: (29 (29 0 sen 4 2 = - = x x x f 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.5 x f(x)

description

uso en programacio digital

Transcript of Ecuaciones No Lineales

Page 1: Ecuaciones No Lineales

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)

Page 2: Ecuaciones No Lineales

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

Page 3: Ecuaciones No Lineales

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 εηε′′′

=∴ +

Page 4: Ecuaciones No Lineales

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:

Page 5: Ecuaciones No Lineales

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)

Page 6: Ecuaciones No Lineales

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

Page 7: Ecuaciones No Lineales

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.

Page 8: Ecuaciones No Lineales

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

Page 9: Ecuaciones No Lineales

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:

Page 10: Ecuaciones No Lineales

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

Page 11: Ecuaciones No Lineales

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 ⋅=⋅⋅≈α

Page 12: Ecuaciones No Lineales

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,

Page 13: Ecuaciones No Lineales

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

Page 14: Ecuaciones No Lineales

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

Page 15: Ecuaciones No Lineales

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 .

Page 16: Ecuaciones No Lineales

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

α′α′′

≈ε +

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:

Page 17: Ecuaciones No Lineales

H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 17

( )2

1

111

)(kkk

c

α≈ε +

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

Page 18: Ecuaciones No Lineales

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:

Page 19: Ecuaciones No Lineales

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

Page 20: Ecuaciones No Lineales

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

Page 21: Ecuaciones No Lineales

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.