Puntos jos - Bienvenidos | Instituto de...

6

Click here to load reader

Transcript of Puntos jos - Bienvenidos | Instituto de...

Page 1: Puntos jos - Bienvenidos | Instituto de Matemáticasciencias.udea.edu.co/programas/pregrado/CNM-425/docs/clase4... · Introducci on Puntos fijos M etodo de Newton Otros m etodos An

Introduccion Puntos fijos Metodo de Newton Otros metodos

Analisis NumericoSistemas de ecuaciones no lineales

CNM-425

Departamento de MatematicasFacultad de Ciencias Exactas y Naturales

Universidad de Antioquia

Copyleft c© 2008. Reproduccion permitida bajo los

terminos de la licencia de documentacion libre GNU.

Introduccion Puntos fijos Metodo de Newton Otros metodos

Contenido

1 Introduccion

2 Puntos fijos

3 Metodo de Newton

4 Otros metodos

Introduccion Puntos fijos Metodo de Newton Otros metodos

Enunciado del problema

Dada una funcion

f : Rn → Rn,

buscamos al menos un x ∈ Rn que satisfaga

f(x) = 0 (1)

x es una raız de la ecuacion (1) o un cero de f.

El problema consiste en “encontrar una raız” o “encontrar un cero”.

Dependiendo de la naturaleza de la funcion f podemos tener:

Problema lineal

Problema no lineal

Introduccion Puntos fijos Metodo de Newton Otros metodos

Ejemplos

Problema lineal en tres dimensiones

2x+ y − z = 8

−3x− y + 2z = −11 ⇐⇒ f(x) = 0

−2x+ y + 2z = −3

con

f(x) = (f1(x), f2(x), f3(x))T y x = (x, y, z)T

donde

f1(x) = 2x+ y − z − 8

f2(x) = −3x− y + 2z + 11

f3(x) = −2x+ y + 2z + 3

El sistema posee solucion unica

x = (2, 3,−1)T

Introduccion Puntos fijos Metodo de Newton Otros metodos

Ejemplos

Problema no lineal en dos dimensiones

x2 + y2 = 25x2 + y = 19

⇐⇒ f(x) = 0

con

f(x) = (f1(x), f2(x))T y x = (x, y)T

donde

f1(x) = x2 + y2 − 25

f2(x) = x2 + y − 19

El sistema posee exactamente cuatro soluciones:

(4, 3)T , (−4, 3)T ,“√

21,−2”T

y“−√

21,−2”T

Introduccion Puntos fijos Metodo de Newton Otros metodos

Teorıa

Para el problema lineal hay teoremas que garantizan la existencia yunicidad de soluciones bajo ciertas hipotesis.

El problema no lineal es mas complicado.

Para el caso unidimensional f(x) = 0 con

f : [a, b]→ R continua y f(a) · f(b) < 0

el teorema del valor intermedio garantiza la existencia de un x∗ ∈ [a, b]tal que f(x∗) = 0.

Para el caso multidimensional no hay un resultado analogo sencillo.

Introduccion Puntos fijos Metodo de Newton Otros metodos

Presentacion geometrica

Forma general de un sistema de ecuaciones

f1(x1, x2, . . . , xn) = 0

f2(x1, x2, . . . , xn) = 0

...

fn(x1, x2, . . . , xn) = 0

Representacion geometrica para f : R2 → R2

Introduccion Puntos fijos Metodo de Newton Otros metodos

Normas

Una norma ‖ · ‖ en Rn nos permite “medir distancias”.

Es una funcion ‖ · ‖ : Rn → R+ ∪ {0} tal que

1 ‖x‖ ≥ 0 y ‖x‖ = 0⇔ x = 0

2 ‖αx‖ = |α|‖x‖ , donde α ∈ R

3 ‖x + y‖ = ‖x‖+ ‖y‖

Ejemplos

‖x‖1 = |x1|+ |x2|+ · · ·+ |xn| (norma uno)

‖x‖2 = (|x1|2 + |x2|2 + · · ·+ |xn|2)1/2 (norma euclideana)

‖x‖p = (|x1|p + |x2|p + · · ·+ |xn|p)1/p (p-norma)

‖x‖∞ = max{|x1|, |x2|, . . . , |xn|} (norma del sup)

Page 2: Puntos jos - Bienvenidos | Instituto de Matemáticasciencias.udea.edu.co/programas/pregrado/CNM-425/docs/clase4... · Introducci on Puntos fijos M etodo de Newton Otros m etodos An

Introduccion Puntos fijos Metodo de Newton Otros metodos

Lımites

Sea X ⊆ Rm, a ∈ Rm un punto de acumulacion de X y f : X → Rn.

lımx→a

f(x) = L

significa que

para todo ε > 0 existe un δ (que depende de ε) tal que

x ∈ X, 0 < ‖x− a‖Rm < δ =⇒ ‖f(x)− L‖Rn < ε

Observaciones

No es necesario que a ∈ X ni que f este definida en a.

Aun si f(a) esta definido, dicho valor no importa en la definicion,importan los valores de f(x) para x proximo a a

Sı el lımite existe, el lımite es unico

La definicion no depende de la norma utilizada.

Introduccion Puntos fijos Metodo de Newton Otros metodos

Lımites

Teorema 1.1

Sea f : X → Rn con X ⊆ Rm de la forma

f (x) = (f1(x), f1(x), . . . , fn(x))T

con fi : X → Rn. Entonces

lımx→a

f(x) = L = (L1, L2, . . . , Ln)T

si, y solo si,lımx→a

fi(x) = Li , i = 1, . . . , n.

La continuidad se puede caracterizar por medio de lımites.

Teorema 1.2

Una funcion f : X → Rn es continua en a ∈ X ⊆ Rm siempre quelımx→a f(x) exista y

lımx→a

f(x) = f(a)

f es continua en X si es continua en todos los puntos de X (f ∈ C(X)).

Introduccion Puntos fijos Metodo de Newton Otros metodos

Diferenciabilidad

Una funcion f : U → Rn definida en una abierto U ⊆ Rm esdiferenciable en el punto a ∈ U si existe una transformacion linealT : Rm → Rn tal que

f(a + h) = f(a) + T · h + r(h) , donde lımh→0

r(h)

‖h‖ = 0 (2)

La transformacion lineal T es la derivada de f en a y se denota porDf(a).

La derivada direccional de f : U → Rn en el punto a ∈ U ⊆ Rm, en ladireccion de un vector h ∈ Rm esta dada por

∂f

∂h(a) = lım

t→0

f(a + th)− f(a)

t(3)

De (2) y (3) se sigue que

Df(a) · h =∂f

∂h(a)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Diferenciabilidad

La matriz asociada a la transformacion Df(a) respecto a las basescanonicas de Rm y Rn es la matriz jacobiana Jf(a) de la funcionf = (f1, · · · , fn)T en a y esta dada por

Jf(a) =

2664∂f1∂x1

(a) · · · ∂f1∂xm

(a)...

. . ....

∂fn∂x1

(a) · · · ∂fn∂xm

(a)

3775n×m

=

»∂fi

∂xj(a)

donde ∂fi/∂xj(a) es la derivada direccional (“derivada parcial”) de fi

en la direccion del vector ej = (0, . . . , 1, . . . , 0) en el punto a:

∂fi

∂xj(a) = lım

t→0

fi(a + t ej)− fi(a)

t

Como consecuencia de las definiciones anteriores:

Diferenciabilidad =⇒ continuidad

f = (f1, . . . , fn)T es diferenciable ⇐⇒ cada fi es diferenciable.

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

Teorema 2.1

Sea f : D → R con D ⊆ Rn. Si existen constantes δ > 0 y K > 0 tales que˛∂f(x)

xj

˛≤ K

siempre que ‖x− x0‖ < δ y x ∈ D, entonces f es continua en x0.

Definicion de punto fijo

Una funcion f : D → Rn con D ⊆ Rn tiene un punto fijo en p ∈ D si

G(p) = p

En el caso unidimensional, consideramos como dominio

D = {x : a ≤ x ≤ b} = [a, b] ⊂ R

En el caso multidimensional, consideraremos como dominio

D = {x = (x1, . . . , xn)T : ai ≤ xi ≤ bi para i = 1, . . . , n} ⊂ Rn

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

Teorema 2.2

Sea D = {x = (x1, . . . , xn)T : ai ≤ xi ≤ bi} y G : D → Rn continua.

1 Si G(D) ⊆ D, entonces G tiene al menos un punto fijo en D.

2 Si adicional a (1), G = (g1, . . . , gn) posee derivadas parciales continuasy existe una constante 0 < K < 1 tal que

x ∈ D =⇒˛∂gi

∂xj

˛≤ K

npara todo i, j

entonces el punto fijo es unico.

3 Si se cumplen (1) y (2), la sucecionnx(n)

o∞n=0

definida por

x(n) = G“x(n−1)

”, para k ≥ 1 (4)

converge al unico punto fijo p ∈ D para todo x(0) ∈ D y‚‚‚x(n) − p‚‚‚∞≤ Kn

1−K

‚‚‚x(1) − x(0)‚‚‚∞

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

El problema de busqueda de raıces es equivalente al problema debusqueda de puntos fijos:

f(x) = 0 ⇐⇒ G(x) := x− f(x) = x

Consideremos el sistema no lineal

3x1 − cos(x2x3)− 1

2= 0

x21 − 81(x2 + 0,1)2 + senx3 + 1,06 = 0

e−x1x2 + 20x3 +10π − 3

3= 0

(5)

que es equivalente a

x1 =1

3cos(x2x3) +

1

6

x2 =1

9

px2

1 + senx3 + 1,06− 0,1

x3 = − 120e−x1x2 −

10π − 3

60

⇐⇒ x = G(x)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

Resolver el sistema (5) equivale a resolver el problema de punto fijo

G(x) = x

con G : R3 → R3 dada por G(x) = (g1(x), g2(x), g3(x))T donde

g1(x) =1

3cos(x2x3) +

1

6

g2(x) =1

9

qx2

1 + senx3 + 1,06− 0,1

g3(x) = − 1

20e−x1x2 −

10π − 3

60

(6)

Aplicando el teorema (2.2) a la funcion G definida por (7) en el dominio

D = {x = (x1, x2, x3)T : −1 ≤ xi ≤ 1 para i = 1, 2, 3}

se concluye que G posee un unico punto fijo en D.

Page 3: Puntos jos - Bienvenidos | Instituto de Matemáticasciencias.udea.edu.co/programas/pregrado/CNM-425/docs/clase4... · Introducci on Puntos fijos M etodo de Newton Otros m etodos An

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

La iteracion (4) del teorema (2.2) dada por

x(n)1 =

1

3cos“x

(n−1)2 x

(n−1)3

”+

1

6

x(n)2 =

1

9

r“x

(n−1)1

”2

+ senx(n−1)3 + 1,06− 0,1

x(n)3 = − 1

20e−x

(n−1)1 x

(n−1)2 −

10π − 3

60

(7)

converge para todo x(0) ∈ D

Introduccion Puntos fijos Metodo de Newton Otros metodos

Derivacion

Dada f : Rn → Rn, el metodo pretende hallar raices de

f(x) = 0

El metodo se basa en linealizar a f en torno a un punto x0 proximo a p:

0 = f(p) ≈ f(x0) + Df(x0)(p− x0)

donde

Df(x0) =

2664∂f1∂x1

(x0) · · · ∂f1∂xn

(x0)...

. . ....

∂fn∂x1

(x0) · · · ∂fn∂xn

(x0)

3775n×n

y p−x0 =

264 p1 − x1

...pn − xn

375

Introduccion Puntos fijos Metodo de Newton Otros metodos

Derivacion

Como una primera aproximacion elegimos x1 proximo a p que satisfaga

0 = f(x0) + Df(x0)(x1 − x0)

Si la matriz jacobiana Df(x0) es no singular, obtenemos para x1,

x1 = x0 − (Df)−1(x0)f(x0)

De esta manera x1 es una mejor aproximacion al cero p y repitiendo elprocedimiento obtenemos

x(k) = x(k−1) −“Df“x(k−1)

””−1

f“x(k−1)

”(8)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Derivacion

A la iteracion (8) se le conoce como metodo de newton para sistemasno lineales.

El metodo requiere calcular e invertir la matriz jacobiana Df(x) encada cada iteracion.

En la practica se evita el calculo de la inversa Df(x)−1:“Df“x(k−1)

””−1

f“x(k−1)

”= y

equivale a “Df“x(k−1)

””y = f

“x(k−1)

”(9)

Para cada iteracion se resuelve el sistema (9) y la solucion y sesustituye en (8)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Algoritmo del metodo de Newton

Leer x0, n, TOL y M;

// n es el numero de ecuaciones, x0 = (x1, . . . , xn) es la// aproximacion incial// TOL es la tolerancia y M es el numero maximo de iteraciones.

i = 1;

mientras i ≤M hacer

Calcule f(x0) y Df(x0);

Resolver el sistema lineal nxn Df(x0)y = −f(x0);

x0 = x0 + y;

si ‖y‖ < TOL entoncesparar; // procedimiento exitoso

fin si

i = i + 1;

fin mientras

Escribir ’Numero maximo de iteraciones excedido’parar;

Introduccion Puntos fijos Metodo de Newton Otros metodos

Teorema 3.1 (Convergencia de Newton)

Sea D ⊆ Rn abierto y D0 un subconjunto convexo de Rn tal que D0 ⊆ D yf : D → Rn dos veces diferenciable en D0 y continua en D. Suponga queexistan constantes positivas α, β y γ tales que h := αβγ/2 < 1 y

1 ‖Df(x)−Df(y)‖ ≤ γ ‖x− y‖ para todo x, y ∈ C0

2 Df(x)−1 existe y satisface‚‚Df(x)−1

‚‚ ≤ β para todo x ∈ C0

3‚‚Df(x0)−1

‚‚ ≤ αEntonces

1 La iteracion

x(k+1) = x(k) −“Df“x(k)

””−1

f“x(k)

”, k = 0, 1, . . .

esta bien definida y satisface

x(k) ∈ Br(x0) := {x : ‖x− x0‖ < r} ⊆ C0, con r := α/(1− h)

2 x(k) → p cuando k →∞ con p ∈ Br(x0) y f(p) = 0.

3 Para todo k ≥ 0, ‚‚‚x(k) − p‚‚‚ ≤ α h2k−1

1− h2k

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

Consideremos de nuevo el sistema no lineal (5) ya visto:

3x1 − cos(x2x3)− 1

2= 0

x21 − 81(x2 + 0,1)2 + senx3 + 1,06 = 0

e−x1x2 + 20x3 +10π − 3

3= 0

Aplicamos el metodo de Newton a

f(x) = 0

con f : R3 → R3 dada por f(x) = (f1(x), f2(x), f3(x))T donde

f1(x) = 3x1 − cos(x2x3)− 1

2

f2(x) = x21 − 81(x2 + 0,1)2 + senx3 + 1,06

f3(x) = e−x1x2 + 20x3 +10π − 3

3

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

Por el teorema (2.2), el problema tiene una solucion en el dominio

D = {x = (x1, x2, x3)T : −1 ≤ xi ≤ 1 para i = 1, 2, 3}

Expresamos Newton

x(k) = x(k−1) −“Df“x(k−1)

””−1

f“x(k−1)

”| {z }

y(k−1)

como

x(k) = x(k−1) + y(k−1) (10)

donde y(k−1) es solucion del sistema lineal

Df“x(k−1)

”y(k−1) = −f

“x(k−1)

Page 4: Puntos jos - Bienvenidos | Instituto de Matemáticasciencias.udea.edu.co/programas/pregrado/CNM-425/docs/clase4... · Introducci on Puntos fijos M etodo de Newton Otros m etodos An

Introduccion Puntos fijos Metodo de Newton Otros metodos

Puntos fijos

La matriz jacobiana para el sistema esta dada por

Jf(x) =

24 3 x3 senx2x3 x2 senx2x3

2x1 −162(x2 + 0,1) cosx3

−x2e−x1x2 −x1e

−x1x2 20

35

El programa newtonsys.c implementa el metodo de Newton. Seutilizo como punto de partida x0 = (0.1, 0.1,−0.1)T .

n x1 x2 x3 Error1 0.49986967 0.01946685 -0.52152047 4.215205e-012 0.50001424 0.00158859 -0.52355696 1.787826e-023 0.50000011 0.00001244 -0.52359845 1.576147e-034 0.50000000 0.00000000 -0.52359878 1.244401e-055 0.50000000 0.00000000 -0.52359878 7.757857e-10

Introduccion Puntos fijos Metodo de Newton Otros metodos

Observaciones

Representacion geometrica de las soluciones de un sistema 2× 2:

f(x, y) = 0

g(x, y) = 0

Las soluciones que buscamos (si existen) son los puntos de interseccionde las curvas de nivel f = 0 y g = 0.

f y g son funciones arbitrarias que en general no tienen ningunarelacion.

Metodos generales para mas de una ecuacion no son “buenos”.

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Newton

Dada f : Rn → Rn, los metodos pretenden hallar las posibles raices de

f(x) = 0

El metodo de Newton esta dado por

x(k+1) = x(k) −“Df“x(k)

””−1

f“x(k)

”. (11)

Desventajas:

El jacobiano Df(x(k)) debe evaluarse en cada iteracion.

La funcion f(x(k)) debe evaluarse en cada iteracion.

El sistema lineal Df(x(k))y = f(x(k)) debe se resuelto en cada iteracion.

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de la secante

Para el caso unidimensional n = 1, la iteracion (11) esta dada por

xk+1 = xk −f(xk)

f ′(xk)(12)

Con el fin de evitar usar la derivada aproximamos

f ′(xk) ≈ f(xk)− f(xk−1)

xk − xk−1(13)

La iteracion (12) se convierte en el metodo de la secante:

xk+1 = xk −f(xk)(xk − xk−1)

f(xk)− f(xk−1)(14)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

El metodo de Broyden es una generalizacion del metodo de la secantepara sistemas no lineales.

La aproximacion en diferencias finitas

f ′(xk)(xk+1 − xk) ≈ f(xk+1)− f(xk)

es sustituida por

Df“x(k)

”“x(k+1) − x(k)

”= f“x(k+1)

”− f“x(k)

”(15)

El metodo consiste en aproximar el jacobiano Df“x(k)

”por una

matriz no singular Ak que genere una aproximacion Ak+1 del

jacobiano Df“x(k+1)

”:

Ak+1

“x(k+1) − x(k)

”| {z }

s(k)

= f“x(k+1)

”− f“x(k)

”| {z }

y(k)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

Tenemos entonces que

Ak+1 s(k) = y(k) (16)

donde

s(k) =“x(k+1) − x(k)

”y y(k) = f

“x(k+1)

”− f“x(k)

La iteracion (16) genera “nueva informacion” solo en la direccion delvector s(k). No se dispone de informacion sobre el cambio de Ak en elcomplemento ortogonal a s(k).

El metodo asume que Ak y Ak+1 coinciden en el complementoortogonal a s(k):

〈p , s(k)〉 := pt · s(k) = 0 =⇒ Ak+1 p = Akp (17)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

La condicion (17) implica que

dim ker(Ak+1 −Ak) = n− 1

y por tanto

rango(Ak+1 −Ak) = n− dim ker(Ak+1 −Ak) = 1

Existe un u 6= 0 tal que

Ak+1 −Ak = [v1u|v2u| · · · |vnu] = uvt

Ak+1 es una actualizacion (correccion) del jacobiano Ak dada por

Ak+1 = Ak + uvt (18)

El producto uvt en (18) es asociativo:`uvt´x =

`vtx´u

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

¿Como determinar a v ? Si p ⊥ s(k),

Ak+1 = Ak + uvt =⇒ Ak+1p = Akp +`uvt´p =⇒

`uvt´p = 0

luego

p ⊥ s(k) =⇒`uvt´p = 〈v ,p〉u = 0 =⇒ 〈v ,p〉 = 0 =⇒ v = s(k)

y por tanto

Ak+1 = Ak + u“s(k)”t

Page 5: Puntos jos - Bienvenidos | Instituto de Matemáticasciencias.udea.edu.co/programas/pregrado/CNM-425/docs/clase4... · Introducci on Puntos fijos M etodo de Newton Otros m etodos An

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

¿Como determinar a u ?

Ak+1 = Ak + u“s(k)”t

(19)

implica

Ak+1 s(k) = y(k)

Aks(k) + u

“s(k)”t

s(k) = y(k)

Aks(k) +

Ds(k) , s(k)

Eu = y(k)

Aks(k) +

‚‚‚s(k)‚‚‚2

2u = y(k)

u =y(k) −Aks

(k)

‖s(k)‖22(20)

De (19) y (20) obtenemos la “actualizacion” de Broyden

Ak+1 = Ak +y(k) −Aks

(k)

‖s(k)‖22

“s(k)”t

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

El metodo de Broyden esta dado por la iteracion

x(k+1) = x(k) −A−1k f

“xk”, k = 0, 1, . . . (21)

donde

Ak = Ak−1 +y(k−1) −Ak−1s

(k−1)

‖s(k−1)‖22

“s(k−1)

”t

(22)

Para la iteracion inicial en (22) se toma A0 = Df(x0) o un estimativoen diferencias finitas del jacobiano en x0.

En cada iteracion hay que resolver el sistema Ak s = −f`xk´.

La convergencia local del metodo de Broyden no es cuadratica comocon Newton.

El tiempo por iteracion en Broyden puede ser menor que en Newtonporque se evita evaluar el jacobiano Df(x0).

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

Con el fin de evitar A−1k en cada iteracion, el metodo se puede

modificar por medio de la formula matricial de Sherman-Morrison:

Si A es una matriz no singular y x y y son vectores columna,entonces A + xyt es no singular si ytA−1x 6= −1 y

`A + xyt´−1

= A−1 − A−1xytA−1

1 + ytA−1x(23)

Aplicamos la formula (23) a la iteracion (22)

Ak = Ak−1| {z }A

+y(k−1) −Ak−1s

(k−1)

‖s(k−1)‖22| {z }x

`s(k−1)| {z }

y

´t(24)

y por tanto

A−1k =

`A−1

k−1 + xyt´−1= A−1

k−1 −A−1

k−1xytA−1k−1

1 + ytA−1k−1x

(25)

con x y y dados en (24).

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

Desarrollamos (25):

A−1k = A−1

k−1 −A−1

k−1xytA−1k−1

1 + ytA−1k−1x

= A−1k−1 −

A−1k−1

y(k−1) −Ak−1s(k−1)

‖s(k−1)‖22

`s(k−1)

´tA−1

k−1

1 +`s(k−1)

´tA−1

k−1

y(k−1) −Ak−1s(k−1)

‖s(k−1)‖22

= A−1k−1 −

“A−1

k−1y(k−1) − s(k−1)

” `s(k−1)

´tA−1

k−1

‖s(k−1)‖22 +`s(k−1)

´tA−1

k−1y(k−1) − ‖s(k−1)‖22

y por tanto

A−1k = A−1

k−1 −

“A−1

k−1y(k−1) − s(k−1)

” `s(k−1)

´tA−1

k−1`s(k−1)

´tA−1

k−1y(k−1)

(26)

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

Consideremos de nuevo el sistema no lineal (5) ya visto:

3x1 − cos(x2x3)− 1

2= 0

x21 − 81(x2 + 0,1)2 + senx3 + 1,06 = 0

e−x1x2 + 20x3 +10π − 3

3= 0

(27)

cuya matriz jacobiana esta dada por

Jf(x) =

24 3 x3 senx2x3 x2 senx2x3

2x1 −162(x2 + 0,1) cosx3

−x2e−x1x2 −x1e

−x1x2 20

35

El programa broyden.c implementa el metodo de Broyden. Seutilizo como punto de partida x0 = (0.1, 0.1,−0.1)T .

Introduccion Puntos fijos Metodo de Newton Otros metodos

Metodo de Broyden

Para la iteracion inicial se utilizo A0 = Jf(x0) conx0 = (0.1, 0.1,−0.1)T .

Los resultados se muestran a continuacion

n x1 x2 x3 Error1 0.49986967 0.01946685 -0.52152047 5.865670e-012 0.49998638 0.00873784 -0.52317457 1.085640e-023 0.50000660 0.00086727 -0.52357234 7.880637e-034 0.50000033 0.00003953 -0.52359769 8.281569e-045 0.50000000 0.00000019 -0.52359877 3.935104e-05

Introduccion Puntos fijos Metodo de Newton Otros metodos

GSL - GNU Scientific Library

Biblioteca escrita en C, destinada a calculos numericos en matematicasaplicadas.

Las librerıas proporcionan una gran variedad de rutinas que incluyen

Numeros complejosFunciones especialesPermutacionesAutovaloresCuadraturaInterpolacion

Constantes fısicas

Ceros de sistemas no lineales

Ecuaciones diferenciales

Polinomios de Chebyshev

Mınimos cuadrados

Consideraremos la librerıa Multidimensional Root-Finding:

http://www.gnu.org/software/gsl/manual/html node/Multidimensional-Root 002dFinding.html

Introduccion Puntos fijos Metodo de Newton Otros metodos

GSL - Multidimensional Root-Finding

Contiene “solvers” para la solucion de sistemas no lineales de necuaciones con n incognitas.

Las librerıas proporcionan una gran variedad de rutinas que incluyen

Inicializar el solver s, para el algoritmo T.

Acutalizar s por medio de la iteracion del algoritmo T.

Evaluar la convergencia de s y repetir la iteracion hasta que seanecesario.

En algunos problemas no se dispone del jacobiano del sistema o escostoso evaluarlo y por esto los algoritmos incluidos en las librerıas seclasifican en dos estructuras:

gsl multiroot fdfsolver: el usuario debe ingresar la funcion y susderivadas.

gsl multiroot fsolver: el procedimiento utiliza solo la funcion, elalgoritmo estima (aproxima) el jacobiano.

Page 6: Puntos jos - Bienvenidos | Instituto de Matemáticasciencias.udea.edu.co/programas/pregrado/CNM-425/docs/clase4... · Introducci on Puntos fijos M etodo de Newton Otros m etodos An

Introduccion Puntos fijos Metodo de Newton Otros metodos

GSL - Multidimensional Root-Finding: algoritmos sin derivadas

“Solvers” que no requieren de derivadas (el jacobiano se aproxima pormedio de diferencias finitas):

gsl multiroot fsolver hybrids: aproxima por diferencias finitas eljacobiano.

gsl multiroot fsolver hybrid: aproxima por diferencias finitas eljacobiano sin escalamiento.

gsl multiroot fsolver dnewton: utiliza el metodo de Newton y eljacobiano lo aproxima por diferencias finitas.

gsl multiroot fsolver broyden: implementa el metodo de Broyden Enla primera iteracion, la inversa del jacobiano es estimada utilizandodiferencias finitas.

Introduccion Puntos fijos Metodo de Newton Otros metodos

GSL - Multidimensional Root-Finding: algoritmos sin derivadas

El programa sistemanl.c implementa los diversos “solvers” yamencionados. Se utilizo como punto de partida x0 = (0.1, 0.1,−0.1)T .

Para compilarlo:

$ gcc -o sistemanl sistemanl.c -lgsl -lgslcblas

Los resultados obtenidos utilizando gsl multiroot fsolver hybrids alsistema (27) se muestran a continuacion