Post on 06-Feb-2018
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)
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.
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)
”
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
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.
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