Notas
Notas
Notas
NUMERICO I
Análisis Numérico / Análisis Numérico I
Clase 1
En esta clase veremos algunas definiciones básicas, presentaremos algunos problemas que
21
estudiaremos durante el curso y repasaremos algunos conceptos matemáticos que serán ne-
cesarios para las clases siguientes.
20
Preliminares y definiciones básicas
Los modelos matemáticos son la herramienta básica para resolver problemas científicos.
F
Generalmente, tales problemas se originan en situaciones o “problemas de la vida real” de
A
las más variadas áreas o disciplinas. Características propias del problema a estudiar permiten
definir ecuaciones y/o inecuaciones que ayudan a formular el modelo matemático.
“vida real”
M
problema de la modelo
matemático
A
-F
Así, un modelo matemático es una buena descripción del problema a estudiar, pero en ge-
neral no siempre da una respuesta directa al problema considerado. Una primera posibilidad
ic
podría ser realizar muchas más simplificaciones en el modelo de manera de poder obtener
una solución analítica. La desventaja de esto es que el modelo matemático podría diferir
ér
mucho del problema real. En lugar de esto, se pueden realizar aproximaciones numéricas
del problema, que si bien pueden introducir errores, es posible estudiar y estimar cómo estas
um
aproximaciones
solución numérica
1
Para resolver un problema numérico se disponen, además de la teoría matemática, de 2 he-
rramientas fundamentales: las computadoras y los algoritmos.
21
El objetivo del Análisis Numérico es formular y estudiar métodos numéricos y algoritmos
para obtener la solución de problemas provenientes de la vida real y/o de diversas áreas,
20
modelizados matemáticamente.
F
Temario y algunos problemas:
A
1. Teoría de errores. Fuentes de error, aritmética finita, artimética del computador.
M
A
-F
o
2. Ecuaciones no lineales.
R R
Dada f : → hallar x∗ solución de f (x) = 0.
ic
ér
um
.N
3. Interpolación polinomial.
A
2
4. Teoría de mejor aproximación. Método de cuadrados mínimos.
21
20
5. Integración numérica.
F
A
M
A
-F
7. Programación lineal.
ic
ér
um
.N
A
Preliminares matemáticos
Teorema 1 (Valor intermedio para funciones continuas). Sea f continua en [a, b]. Sea d
entre f (a) y f (b) entonces existe c ∈ [a, b] tal que f (c) = d.
Teorema 2 (Valor medio). Sea f continua en [a, b] y derivable en (a, b). Entonces para
todo par x, c ∈ [a, b] se cumple que
f (x) − f (c)
= f 0 (ξ ), para algún ξ entre x y c.
x−c
Esto dice que f (x) = f (c) + f 0 (ξ )(x − c).
3
Teorema 3 (Taylor). Si f ∈ C(n) [a, b] y existe f (n+1) (a, b) entonces para todo par x, c ∈ [a, b]
se tiene que
n
1
f (x) = ∑ f (k) (c)(x − c)k + En (x),
k=0 k!
donde
1
En (x) = f (n+1) (ξ )(x − c)n+1 , para algún ξ entre x y c.
(n + 1)!
21
Observación: tomando y = c, (x − c) = h y por lo tanto x = y + h, entonces
20
h2 00 hn hn+1 (n+1)
f (y + h) = f (y) + h f 0 (y) + f (y) + · · · + f (n) (y) + f (ξ ),
2 n! (n + 1)!
para algún ξ entre y e (y + h).
F
A
Teorema 4 (Taylor con resto integral). Si f ∈ C(n) [a, b] y existe f ()n+1 (a, b) entonces para
todo par x, c ∈ [a, b] se tiene que
M
f (x) =
n
1
∑ k! f (k)(c)(x − c)k + Rn(x),
k=0
A
donde Z x
1
f (n+1) (t)(x − t)n dt.
-F
Rn (x) =
n! c
Órdenes de convergencia
o
ma directa o con una fórmula cerrada. Por el contrario, se suele obtener una sucesión de
aproximaciones cuya precisión aumenta progresivamente. De allí que es muy importante el
ér
1
xn = 3−n = −→ 0 cuando n −→ ∞.
3n
Luego
.N
|xn+1 − 0| 3−(n+1) 3n 1
= −n
= n+1
−→ = C.
|xn − 0| 3 3 3
En este caso, cuando C es menor que 1, se dice la convergencia es lineal. En breve formali-
A
zaremos esta definición. Notar que en este ejemplo particular se tiene que
1
|xn+1 − 0| = |xn − 0| para todo n.
3
1
Ahora consideremos la sucesión dada por xn = n! , la que claramente converge a 0. Luego,
|xn+1 − 0| n! 1
= = −→ 0, cuando n → ∞.
|xn − 0| (n + 1)! n + 1
En este caso se dice que la convergencia es superlineal. Veamos formalmente estas defini-
ciones.
4
Definición 3 Sea {xn } una sucesión de números reales que converge a x∗ .
Se dice que la sucesión {xn } tiene tasa de convergencia (al menos) lineal si existe una
N
constante c tal que 0 < c < 1 y un N ∈ tal que
|xn+1 − x∗ | ≤ c|xn − x∗ | para todo n ≥ N.
Se dice que la tasa de convergencia es (al menos) superlineal si existe una sucesión {εn }
N
21
que converge a 0 y un N ∈ tal que
|xn+1 − x∗ | ≤ εn |xn − x∗ | para todo n ≥ N.
20
Se dice que la tasa de convergencia es (al menos) cuadrática si existe una constante positiva
N
c y un N ∈ tal que
|xn+1 − x∗ | ≤ c|xn − x∗ |2 n ≥ N.
F
para todo
A
Notación O grande y o chica
M
Veremos ahora una notación usual para comparar sucesiones y funciones.
Sean {xn } y {αn } dos sucesiones distintas. Se dice que
A
xn = O(αn )
-F
si existen una constante C > 0 y r ∈ N tal que |xn| ≤ C|αn| para todo n ≥ r.
Se dice que
xn = o(αn )
N tal que |xn| ≤ εn|αn| para
o
n→∞
Ejemplo 1:
ér
n+1 1
=O .
n2 n
um
Si
n+1 1 n+1
2
≤C ⇒ ≤ C,
n n n
por lo tanto basta tomar C = 2 y r = 1.
.N
Ejemplo 2:
1 1
=o .
n ln n n
Si
A
1 1
≤ εn ,
n ln n n
basta tomar εn = 1/ ln n.
Esta notación también se puede usar para comparar funciones. Se dice que
f (x) = O(g(x)) cuando x→∞
si existen una constante C > 0 y r ∈ R tal que | f (x)| ≤ C|g(x)| para todo x ≥ r.
Análogamente, se dice que f (x) = o(g(x)) cuando x → ∞ si lı́m ( f (x)/g(x)) = 0.
x→∞
5
Ejemplo 3: √ r r
p x 2 +1 x 2 +1 1
x2 + 1 = O(x) si x → ∞, pues = 2
= 1 + 2 ≤ C, luego basta tomar
x x x
C = 2 y r = 1.
Ejemplo 4:
1 1
=o , pues
21
x 2 x
1
x2 x 1
1
= 2
= → 0,
x x
20
x
si x → ∞.
Por último, consideremos el caso de comparación de dos funciones cuando x → x∗ .
F
Se dice que
f (x) = O(g(x)) cuando x → x∗
A
si existen una constante C > 0 y un entorno alrededor de x∗ tal que | f (x)| ≤ C|g(x)| para todo
x en ese entorno.
M
Análogamente, se dice que f (x) = o(g(x)) cuando x → x∗ si lı́m ( f (x)/g(x)) = 0.
x→x∗
A
Ejemplo 5: (Ejercicio)
Ver que
-F
x3
senx = x − + O(x5 ), si x → 0.
6
o
ic
ér
um
.N
A
6
Clase 2
21
Para fijar ideas veamos un ejemplo. Consideremos
p(x) = 2 + 4x − 5x2 + 2x3 − 6x4 + 8x5 + 10x6
20
Primero notemos que, dado x, el método usual para evaluar xk requiere (k − 1) productos:
xk = x| · .{z
. . · }x,
F
k
por ejemplo, si k = 2, se requiere 1 producto, si k = 3, se requieren 2 productos, etc.
A
Método 1: evaluar las potencias de la manera usual, multiplicar por la constante respectiva
y sumar los monomios. Es fácil ver que se requieren:
0+1+2+3+4+5+6 = ∑ i =
6
M 6(6 + 1)
2
= 21 productos, y por lo tanto, se tienen
A
i=1
# sumas = 6
-F
# productos = 21
Método 2: la idea consiste en evaluar las potencias de x en forma sucesiva:
o
x2 = x ∗ x, x3 = x ∗ x2 , x4 = x ∗ x3 , x5 = x ∗ x4 , x6 = x ∗ x5 ,
ic
teniendo en cuenta que cada potencia de x se debe multiplicar por un coeficiente, se tienen
0 + 1 + 2 + 2 + 2 + 2 + 2 = 11 productos, y por lo tanto
ér
# sumas = 6
# productos = 11
um
# productos = 6
Si el grado de p(x) es n, se requieren n(n + 1)/2 productos en el método 1, 2n − 1 en el
método 2 y sólo n en el método 3.
Si p(x) = a0 + a1 x + a2 x2 + · · · + an xn , con an 6= 0, la evaluación de p(x) en x = z se realiza
con los siguientes pasos:
bn−1 = an
bn−2 = an−1 + z ∗ bn−1
..
.
b0 = a1 + z ∗ b1
p(z) = a0 + z ∗ b0 .
1
En forma más compacta, podemos escribir:
21
input n; ai , i = 0, . . . , n; z
bn−1 ← an
20
for k = n − 1 to 0 step −1, do
bk−1 ← ak + z ∗ bk
F
end do
A
output bi , i = −1, . . . , n − 1
end
Notar que b−1 = p(z) M
A
-F
Una de las tareas más importantes en Análisis Numérico es estimar la precisión del resultado
en un cálculo numérico.
o
Los resultados numéricos están influenciados por diferentes tipos de errores. Algunos de
ic
estos pueden eliminarse, en otros se puede reducir su influencia, y otros son inevitables y
nada se puede hacer.
ér
2
Errores absolutos y relativos
Antes de analizar que ocurre al representar números en una computadoras y se realizan ope-
raciones, veremos algunos conceptos básicos que sirven en un contexto más general.
Definición 1 Cuando un número real r (valor exacto) es aproximado por otro número r̄, se
define el error por r − r̄. Llamaremos, respectivamente, a
21
Error absoluto: ∆r = |r − r̄|,
r − r̄ ∆r
20
Error relativo: δr = = .
r |r|
También se llama error (relativo) porcentual al producto 100 ∗ δ r.
F
En general, el error relativo y el error porcentual son más útiles que el error absoluto, porque
da una idea del error cometido relativo a la magnitud de la cantidad que se está considerando.
A
En términos prácticos no se conocen exactamente los valores de los errores absolutos y
M
relativos sino que se tienen cotas de
√ ellos. Siempre se trata que las cotas sean lo más ajustadas
posible. Así, por ejemplo, si r = 2 y r̄ = 1.414, entonces
√
A
∆r = |r − r̄| = | 2 − 1.414| = |0.0002135...| ≤ 0.00022
∆r |0.0002135...|
-F
δr = = √ ≤ 0.00016
|r| 2
y el error porcentual es 0.016 %.
Las siguientes notaciones son equivalentes:
o
1.41378 ≤ r ≤ 1.41422
um
Redondeo y truncado
Existen dos maneras de escribir un número real reduciendo el número de dígitos: redondeo
y truncado.
.N
1.23767 → 1.238
0.3225 → 0.323
3
si r = 0.11 entonces r̃ = 0.1 y |r − r̃| = 0.01 ≤ 0.05 = 5 10−2 = 12 10−1 ;
0.774432 → 0.774
21
1.23767 → 1.237
0.3225 → 0.322
20
En general, la aproximación por truncado (o truncamiento) a n dígitos decimales r̂ de un
número r es un número de n dígitos decimales (después del punto decimal) que coinciden
con los n primeros dígitos de r. Así se cumple que:
F
|r − r̂| ≤ 10−n , (2)
A
Para fijar ideas veamos un ejemplo muy sencillo, con n = 1:
M
si r = 0.11 entonces r̂ = 0.1 y |r − r̂| = 0.01 ≤ 0.1 = 10−1 ;
A
si r = 0.19 entonces r̂ = 0.1 y |r − r̂| = 0.09 ≤ 0.1 = 10−1 .
-F
∆r
δr = ≤ 5 10−m .
um
|r|
r r̃ ∆r δr díg. signif.
0.774432 0.774 0.00043 0.00056(< 5 10−3 ) 3
A
−4
1.23767 1.238 0.00033 0.00027(< 5 10 ) 4
0.3225 0.322 0.0005 0.0015(< 5 10 ) −3 3
Analizaremos los errores que se introducen en las operaciones básicas (suma, resta, multi-
plicación y división). Más específicamente, nos centraremos en las dos primeras.
Sean x1 , x2 ∈ R, y x¯1, x¯2 aproximaciones de x1 y x2 respectivamente.
Sean y = x1 + x2 , ȳ = x¯1 + x¯2 .
4
El error en la operación suma está dado por:
21
∆y ≤ ∆x1 + ∆x2
y el error relativo
∆y ∆x1 + ∆x2
20
δy = ≤ .
|y| |x1 + x2 |
n n
En general, si y = ∑ xi entonces ∆y ≤ ∑ ∆xi .
F
i=1 i=1
A
El caso de la resta es similar. Sean y = x1 − x2 , ȳ = x¯1 − x¯2 . Entonces el error absoluto se
obtiene haciendo
M
∆y = |y − ȳ| = |(x1 − x2 ) − (x¯1 − x¯2 )| = |(x1 − x¯1 ) − (x2 − x¯2 )|
∆y ≤ ∆x1 + ∆x2
A
y el error relativo
-F
∆y ∆x1 + ∆x2
δy = ≤ .
|y| |x1 − x2 |
o
∆y ∆x1 ∆x2
∆y / |x2 |∆x1 + |x1 |∆x2 δy = / +
ér
5
Clase 3
21
∆a 1
≤ 5 10−r = 101−r .
|a| 2
20
Un efecto no deseable en algoritmos numéricos es la gran cancelación de dígitos significati-
vos que se produce en la resta de números próximos. Para fijar ideas veamos un ejemplo.
F
Sean x1 = 10.123455 ± 0.5 10−6 y x2 = 10.123789 ± 0.5 10−6 .
x1 y x2 tienen error absoluto menor o igual a 0.5 10−6 y error relativo menor a 0.5 10−7 =
A
5 10−8 , esto significa que ambos tienen 8 dígitos significativos.
M
Ahora bien, la resta y = x1 − x2 = −0.000334 ± 10−6 , tiene un error absoluto pequeño, sin
embargo el error relativo
A
∆y 10−6
≤ < 3 10−3 < 5 10−3 ,
|y| 0.000334
-F
donde dn , dn−1 , . . . d0 , d−1 . . . son números naturales entre 0 y (β − 1). El valor del número r
es:
±dn β n + dn−1 β n−1 + · · · + d2 β 2 + d1 β 1 + d0 β 0 + d−1 β −1 + d−2 β −2 + . . .
A
Ejemplos:
1. (760)8 = 7 82 + 6 81 + 0 80 = (496)10
1
4. (0.1)10 = (0.0001100110011 . . . )2
21
quier base;
2. aparecen errores de representación cuando un número es convertido de un sistema de
20
numeración a otro;
3. aparecen errores debido a que la computadora usa aritmética finita.
F
¿cómo se representan los números en una computadora?
A
Básicamente, existen dos sistemas de representación de números en una computadora:
donde cada di ∈ {0, . . . , β − 1}. En sistemas contables, aún hoy en día, suele usarse este
um
pequeño que se pueden representar en este sistema son 999.999 y 000.001, respectivamente.
La manera de solucionar este problema es usar la notación científica y esto da origen al otro
sistema.
A
x = mβe
donde
m = ±0 . d−1 d−2 . . . d−t
2
con d−i ∈ {0, . . . , β − 1} para i = 1, . . . ,t, con d−1 6= 0 y L ≤ e ≤ U. Además, β , e y m se
denominan base, exponente y mantisa, respectivamente. Es decir, 1/β ≤ |m| < 1.
Observaciones:
21
variados, a diferencia del sistema de punto fijo, también puede ocurrir overflow si
e > U o underflow si e < L;
20
Errores de redondeo en aritmética de punto flotante
F
Al representar números en un sistema de punto flotante (β ,t, L,U) se producen errores de
A
redondeo debido a la precisión limitada. Asumiendo redondeo, estimaremos una cota de los
errores absoluto y relativo.
M
Supongamos que podemos escribir un número real (exacto) en la forma:
x = m β e,
1
A
≤ |m| < 1,
β
-F
β
ic
1
|mr − m| ≤ β −t ,
2
y por lo tanto, una cota del error del absoluto de representación en x es
um
1
|xr − x| ≤ β −t β e .
2
.N
1
pues si |m| ≥ 1/β entonces ≤ β.
|m|
Luego el error relativo debido al redondeo en la representación en el sistema de punto flotante
está acotado por:
|xr − x| 1 1−t
≤ β = µ,
|x| 2
donde µ se llama unidad de redondeo.
Notar que el error absoluto de representación en punto flotante depende del orden de
la magnitud, en cambio el error relativo no.
3
¿Cómo se realiza la suma en aritmética de punto flotante?
Para fijar ideas veremos dos ejemplos con el sistema de punto flotante dado por (β ,t, L,U) =
(10, 4, −9, 9). Sean
x = mx β ex , y = my β ey ,
con x ≥ y. Queremos calcular z = f l(x + y)
21
Ejemplo 1: sean x = 0.1234 100 , y = 0.4567 10−2 , entonces
x + y = 0.1234 100 + 0.4567 10−2
20
= 0.1234 100 + 0.004567 100
= (0.1234 + 0.004567) 100 = 0.12797 100 ,
F
por lo tanto, f l(x + y) = 0.1280 100 .
A
Ejemplo 2: sean x = 0.1234 100 , y = 0.5678 10−5 , entonces
M
x + y = 0.1234 100 + 0.5678 10−5
= 0.1234 100 + 0.000005678 100
A
= (0.1234 + 0.000005678) 100 = 0.123405678 100 ,
-F
aritmética de punto flotante. Veamos con un ejemplo que la propiedad asociativa ((a + b) +
c = a + (b + c)) no es válida en un sistema de punto flotante, es decir: f l( f l(a + b) + c) 6=
ér
números a = 0.9876 104 , b = −0.9880 104 y c = 0.3456 101 . Entonces, por un lado,
f l( f l(a + b) + c) = f l( f l(0.9876 104 − 0.9880 104 ) + c)
= f l( f l(−0.0004 104 ) + c)
.N
= −0.5440 100
4
Observaciones de implementación:
2. si x e y son números reales y en una programa se tiene una sentencia del tipo
21
if x == y then . . .
20
es más conveniente reemplazarla por una sentencia del tipo
F
para algún valor de epsilon dado por el usuario, puesto que es casi imposible que se
A
verifique la primera sentencia.
M
A
-F
o
ic
ér
um
.N
A
5
Clase 4 - Solución de ecuaciones no lineales
El problema
21
f (x) = 0.
R
Idea: comenzando con algún x0 ∈ , generar una sucesión {xk } a través de un algoritmo
20
numérico iterativo, y se espera que tal sucesión converja a r donde f (r) = 0.
Método de bisección
F
Este método se basa fuertemente en el teorema del valor intermedio: si f es continua en [a, b]
A
y si f (a) f (b) < 0, entonces f debe tener una raíz en (a, b).
b−a
f y |e0 | = |x0 − r| ≤ : error de aproximación inicial. Se tienen 3 posibilidades:
2
1. si f (a) f (c) < 0, entonces hay una raíz en el intervalo [a, c]. Reasignamos b ← c y se
Z XÜCȈŚǢȈrĔȈ,Ȉ °Þ႒
repite el procedimiento en el nuevo intervalo [a, b].
o
+Ŕಏ
Z XÜCȈŚǢȈrĔȈ,Ȉ °Þ႒
ic
П႒
+Ŕಏ
ér
П႒
ŏƿ'H, D·ĭ ƿ
cBO CMಏ 0,×Û +ŔƴÝಏɵ íಏ +Ýಏ
H ,Hƿ ,Gƿ ,ƿ Figura 1: Caso: f (a) f (c) < 0 જБêԢಏ
ŏƿ'H, D·ĭ ƿ
entonces hay una raíz en el intervalo [c, b]. Reasignamos a ← c y se
2. si f (a) f (c) > 0, +Ŕಏ
repite el procedimiento en el nuevo intervalo [a, b].
.N
+Ŕಏ
۱ݩ
ƛݩ
+Ý+ಏɵ íಏ۱ݩ
A
ƛݩ
cB O CMಏ 0,ÖÛ
H Ĵ,Hƿ , ƿ ,ƿ
DHG,ƿ'H, D· ƿ ƴêಏ
+Ý+ಏɵ íಏ
cB O CMಏ 0,ÖÛ
H Ĵ,Hƿ , ƿ ,ƿ
DHG,ƿ'H, D· ƿ ƴêಏ
ƁFigura 2: Caso:
ॷ #* =ॷ/ॷĸɨ _ॷ Ɓ f (a) f (c) > 0 Đ Íù˭
|ॷॷ=/øॷ ॷ / ॷ =Ĝॷ/ॷ ॷ )ॷ/ॷ/ =Lॷĸɨ τॷ "
©åࣄ©åɸ
r=?)= ?`=#E5#` E#Z<. #` g=. QZ?<?O#E ?Og.Zp#I 8 ©åɸ©åνś Ķ˪ g=.O
/ ॷ/ॷ )ॷ ॷॷ=/øॷ R႒ ॷɨ ţ ॷ\/ॷ )=ॷ<ॷ ႒ /ॷ/ =Lॷ/ //ॷ #* ņॷRॷ
ॷ Ɓ
#* =ॷ/ॷĸɨ
ɏॷ )ॷ Ɓ
&/ॷ:=_ॷ |ॷॷ=/øॷ ॷ / ॷ =Ĝॷ/ॷ
ûॷ/ ॷ )ॷ:=ॷ/ॷ(;ॷ=:
©åࣄ©åɸ
ॷ )ॷ/ॷ/
Ǘॷ Â =ॷ #*=Lॷĸɨ
©åɸ©åνś Ķ˪ / ॷ ʻ(Kॷτॷ)ॷ
"
- Para determinar el cambio de signo de la función, en vez de analizar si f (a) f (c) < 0,
es más conveniente usar la función sign, y analizar si sign( f (a)) 6= sign( f (b)).
21
- Se utilizan 3 criterios de parada en el algoritmos:
20
1. el número máximo de pasos permitidos (M);
2. el error en la variable es suficientemente pequeño (δ );
F
3. el valor de | f (c)| es suficientemente pequeño (ε).
A
Se pueden construir ejemplos patológicos y simples donde uno de los criterios vale
y el otro no. (Ver Figuras (3 y 4)).Para que el algoritmo sea más robusto se utilizan
M
los tres criterios de parada. De todos modos, siempre es conveniente revisar que se
cumplan las hipótesis para que se pueda aplicar el método y el algoritmo y analizar los
resultados obtenidos.
A
Z XÜC<Ȉś ȈƂMĔȈ,Ȉ °°႒
ಏ
ಏ
o
ic
ér
cBAH
-N f}y¾ O CMಏB9<
˄ I1F ±႒
-N f}y¾ AH UDfn
˄ B I1FN¾±႒
UDfn N¾
Figura 3: Ejemplo 1
.N
ࠎ႒
ʡѬ
ࠎ႒
ʡѬ
ಏ
ಏ H႒
<႒H႒
<႒<႒
<႒<႒
<႒H႒
A
<႒H႒
<႒H႒
sѬ
H႒<႒
sѬ
<႒
úݩ
۰ݩ
úݩ
ëݩ ۰ݩ ၲ ȫ ႒ ಏ
ëݩ ၲH႒ ȫ ႒ ಏ
<႒H႒
<႒H႒
ssѬѬ
<႒H႒
<႒
<႒
<႒
ɽcBOCMಏ 8< <႒
. fS ɽcBOCMಏ
<႒H႒
f}y¾ 1 08<
ssѬѬ
I1 > F <႒H႒
. fS f}y¾ 1 0 I1 > F <႒
UDfn¾
UDfn¾
Figura 4: Ejemplo 2
21
u ← f (a)
v ← f (b)
20
e ← b−a
output a, b, u, v
F
if sign(u) = sign(v) then STOP (1)
for k = 1, 2, . . . , M do
A
e ← e/2
c ← a+e
w ← f (c)
M
A
output k, c, w, e
-F
v←w
ic
else
ér
a←c
u←w
um
endif
end
.N
Observaciones:
1. En el algoritmo aparecen dos paradas (STOP). La primera detecta que los signos en los
A
extremos del intervalo inicial son iguales y por lo tanto no puede continuar el algoritmo.
Notar que el algoritmo no puede chequear continuidad (ver Figura (4)). La segunda parada
detecta que alguno de los criterios de parada adoptados se cumple.
2. Se podría usar otro criterio de parada basado en que el error relativo sea pequeño en lugar
de considerar el error absoluto.
3. El algoritmo encuentra una raíz de f en [a, b], aunque pueden existir varias raíces. Para
localizar alguna en particular se debe elegir el intervalo inicial cuidadosamente.
3
El siguiente teorema da un resultado de convergencia del método. Por un lado muestra que
el método es global, en el sentido que si se cumplen las hipótesis del teorema del valor
intermedio, el algoritmo encuentra una solución independiente del tamaño del intervalo. Por
otro lado, de la demostración se puede deducir que la sucesión generada por este algoritmo
converge linealmente.
Teorema 1. Si [a0 , b0 ], [a1 , b1 ], . . . , [an , bn ], . . . denotan los sucesivos intervalos en el método
21
de bisección, entonces existen los límites: lı́m an y lı́m bn , son iguales y representan una
n→∞ n→∞
1 1
raíz de f . Si cn = (an + bn ) y r = lı́m cn , entonces |r − cn | ≤ n+1 (b0 − a0 ).
2 n→∞ 2
20
Demostración. Si [a0 , b0 ], [a1 , b1 ], . . . , [an , bn ], . . . son los intervalos generados en el método
de bisección, se tiene que
a0 ≤ a1 ≤ a2 ≤ · · · ≤ b0
F
b0 ≥ b1 ≥ b2 ≥ · · · ≥ a0 .
A
Luego {an } es una sucesión creciente y acotada superiormente, entonces {an } es convergen-
te. Análogamente, {bn } es una sucesión decreciente y acotada inferiormente, por lo tanto
también es convergente. Además,
M 1
A
bn+1 − an+1 = (bn − an ), n ≥ 0,
2
-F
Luego
ic
1 1
lı́m bn − lı́m an = lı́m (bn − an ) = lı́m (b0 − a0 ) = (b0 − a0 ) lı́m = 0.
n→∞ n→∞ n→∞ n→∞ 2n n→∞ 2n
ér
1 1
|r − cn | ≤ |bn − an | ≤ n+1 (b0 − a0 ).
2 2
A
Ejemplo: Supongamos que se aplica el método de bisección para determinar una raíz r de
una función f en el intervalo [50, 63].
4
Para responder a), y usando el Teorema anterior se tiene que
13
|r − cn | ≤ n+1
≤ 10−6 ,
2
y por lo tanto 13 106 ≤ 2n+1 . Luego tomando logaritmo natural a ambos lados, se tiene que
(n + 1) ln 2 ≥ ln(13) + 6 ln(10),
21
de donde se deduce que n ≥ 23.
20
Para el caso b), también se usa el teorema anterior y que 50 ≤ r ≤ 63, entonces
|r − cn | 1 13 13
≤ n+1 ≤ ≤ 10−6 .
|r| 2 |r| 50 2n+1
F
13 6
Luego 2n+1 ≥ 10 , y aplicando logaritmo natural a ambos miembros de la desigualdad
A
50
se deduce que n ≥ 17.
M
A
-F
o
ic
ér
um
.N
A
5
Clase 5 - Solución de ecuaciones no lineales (2)
El problema
21
f (x) = 0. (1)
20
Al igual que antes, estudiaremos otro método iterativo para resolver este problema, el cual
genere una sucesión de aproximaciones que se espera que converja a la solución buscada r.
F
A
Idea del método de Newton
M
Dado que en general la función f es no lineal, resolver la ecuación (1) es un problema
difícil. La idea del método de Newton consiste en reemplazar la resolución de este problema
A
difícil por la resolución de una sucesión de problemas fáciles, cuyas soluciones convergen
a la solución del problema difícil, bajo adecuadas hipótesis.
-F
0 = f (x) + h f 0 (x),
para despejar h
.N
f (x)
h=− .
f 0 (x)
A
f (xn )
xn+1 = xn − , n ≥ 0.
f 0 (xn )
1
ê `Ě%႒ İ ʻǼεॷ - \ é` Ě!
È Üॷ ) ॷ͞ॷ ॷ 6ॷ ॷ::=B /ॷ ॷİॷ Ü/ॷ )ॷ./ 'ॷ3ॷRŶ႒ 6, ॷÜ/ॷ3 ॷॷ.ॷ
͞ ӽǼKॷ Ѭ İ JǼKॷ 6, ॷ͞ȸ JǼKॷ Ѭ İȸ JǼK ¡ॷ )ûॷ )ॷ Ü/ॷڣ3 t /ॷॷ )ॷ ॷ.ॷ 6, ॷ
ॷ ॷ:ॷॷ İॷ ॷ)ॷÝ/ ॷ Rě႒ |ॷ/ॷÈ /ƻ ॷ ) ॷॷņॷ/ॵµ Ü/Ôॷ ॷ
,/ ॷ ॷ )ॷ fՒµ =.ॷ ॷ6ॷ:/ ॷ/=ॷ <˅ ݩ6, ॷX/ Ü/ॷ)=ॷ ॷ@tÔt ॷكÜtॷݫ/ņµॷ
Gráficamente, dado el)ॷÏ punto (xn , f (xn ))' la
ŒB¡ॷ J|ॷÂ=ॷ
idea consiste en aproximar el gráfico de la función
/7/ù˪
f por la recta tangenteБ:tॷ
a f que/ॷpasa por (x n , f (xn/
/ ॷ )Üॷ =:)ॷھ )).=:=
Talrecta tangente
Ü/ûॷ ॷ está
½6,ॷ Ü'ॷ dadaܫ/
ÜÔ/ॷ ln (x) =
porÜ/ॷ
0
f (xn )(x − xn ) + f (xn6,). ॷVer
= Ü/ॷ:Ü/
Figura ॷ3=ॷ))ॷ
(1). )ॷÈ /ॷÜ = / İСɖިʩ¡ॷ | )ॷ6ॷƪ/ /ॷÜॷƜ/ॷ
/ॷÂÜ =ॷ 'Ń*/˪ \/ॷ )ॷB:ûॷ )ॷ ):ॷ3ॷ )ॷ=.ॷॷ)ॷ ) ॷ3=ॷņ Ü/ॷ @ljú
Ü/ॷ._ॷ )ॷI /ॷ @ˠ Î˪ .=¡ॷ ) _ॷ/'ॷ3=ॷ / ॷ& ॷÈ/Ӱॷ
ωªµӌ
21
!!.7!7
߂+úಏ By+ú© ಏ$࠘+ú©+úಏ ڍఀ©ಏ
20
F
A
ɽB O CMಏ <
Ě/ƿ/DD//ƿ
Ŋ /Å ƿ/ ƿ
M
A
Figura 1: Interpretación geométrica del método de Newton.
-F
y por lo tanto
ér
f (xn )
xn+1 = xn − .
f 0 (xn )
um
Existen ejemplos donde esta idea podría fallar como se puede ver en la Figura (2). Mirando
el gráfico se puede deducir que la aproximación inicial x0 debe estar suficientemente cerca
de la raíz r para que el método converja.
.N
Вêಏ
A
̓țӥ
%"< <
LƜ+ ƿ
ƿƿ
ƿ ƿ +êಏ
sĽ
Ǧ k ॷ Ǧ ॷLŪLॷ@ॷ@ Ǧ: ॷ )@ ॷ ॷ Ď )˪ ˪ ๖ා႒ ྃ႒ ˪=ॷ k@ ॷ kॷ
=@:kॷ3ॷİॷ)Ȣॷ
Figura ႒ :==&
2: Ejemplo donde elॷ k@:ļॷ
método de Newton podría diverger.
21
v ← f (x0 )
output 0, x0 , v
20
if |v| < ε then STOP (1)
for k = 1, 2, . . . , M do
F
x1 ← x0 − v/ f 0 (x0 )
v ← f (x1 )
A
output k, x1 , v
M
if |x1 − x0 | < δ or |v| < ε then STOP (2)
x0 ← x1
A
end
-F
Observaciones:
1. En el algoritmo aparecen dos paradas (STOP). La primera detecta que el punto inicial
o
satisface la tolerancia del valor funcional. La segunda detecta que alguno de los criterios de
ic
parada considerados se cumple. Además el algoritmo podría parar por la cantidad máxima
de iteraciones permitida.
ér
2. Se podría usar otro criterio de parada basado en que el error relativo sea pequeño en lugar
de considerar el error absoluto.
um
Análisis de errores
A
El siguiente resultado muestra que bajo ciertas hipótesis la sucesión generada por el mé-
todo de Newton converge local y cuadráticamente, es decir que si se comienza con una
aproximación suficientemente próxima a la solución el método converge cuadráticamente.
3
constante c = c(δ ) y un natural N tal que
en = r − xn . (2)
21
El error en la iteración (n + 1) es:
f (xn ) f (xn ) f (xn )
20
en+1 = r − xn+1 = r − xn − 0 = r − xn + 0 = en + 0 ,
f (xn ) f (xn ) f (xn )
Luego
en f 0 (xn ) + f (xn )
F
en+1 = (3)
f 0 (xn )
A
Si escribimos el desarrollo de Taylor de f alrededor de xn tenemos que
1
1
0 = f (r) = f (xn ) + f 0 (xn )h + f 00 (ξn )h2 ,
2
para algún ξn entre xn y r. Luego
o
1
en f 0 (xn ) + f (xn ) = − f 00 (ξn )h2 . (4)
ic
2
ér
1 |x−r|≤δ
c(δ ) = .
2 mı́n | f 0 (x)|
|x−r|≤δ
A
1 f 00 (r)
Ahora notemos que si δ → 0 entonces c(δ ) → , que es un número finito porque
2 f 0 (r)
f 0 (r) 6= 0 y por lo tanto δ c(δ ) → 0 cuando δ → 0. Entonces elegimos δ suficientemente
pequeño tal que ρ = δ c(δ ) < 1.
4
Supongamos que la aproximación inicial x0 es tal que e0 = |x0 − r| ≤ δ , y como ξ0 está entre
x0 y r, entonces |ξ0 − r| ≤ δ . Luego por la definición de c(δ ) tenemos que
1 f 00 (ξ0 )
≤ c(δ ).
2 f 0 (x0 )
21
1 f 00 (ξ0 )
|x1 − r| = |e1 | = |e0 |2 ≤ c(δ )|e0 |2 = c(δ )|e0 ||e0 | ≤ c(δ )δ |e0 | = ρ|e0 | < |e0 | ≤ δ .
2 f 0 (x0 )
20
Esto dice que x1 está a una distancia de r menor que δ y además que si la sucesión converge,
lo hace cuadráticamente. Repitiendo este argumento obtenemos que
|e1 | ≤ ρ|e0 |
F
|e2 | ≤ ρ|e1 | ≤ ρ 2 |e0 |
|e3 | ≤ ρ|e2 | ≤ ρ 3 |e0 |
A
..
.
En general, tenemos que
M |en | ≤ ρ n |e0 |.
Como 0 < ρ < 1, entonces lı́m ρ n = 0 y por lo tanto lı́m en = 0 y así lı́m xn = r.
A
n→∞ n→∞ n→∞
-F
R R
Teorema 2. Si f 00 es continua en , f es creciente y convexa en y tiene una raíz, entonces
esa raíz es única y la iteración de Newton convergerá a esa raíz independientemente del
um
punto inicial x0 .
Ejercicio: hallar una función que cumpla las hipótesis del teorema. Analizar la utilidad prác-
tica del teorema.
.N
√
Aplicación del método de Newton: Sea R > 0 y x∗ = R, entonces x∗ es una raíz de x2 −R =
0. Si se aplica el método de Newton a f (x) = x2 − R, se obtiene la siguiente fórmula de
A
iteración:
1 R
xn+1 = xn + .
2 xn
Por ejemplo si R = 17 y se comienza con x0 = 4, se obtienen
x1 = 4.12
x2 = 4.123106
x3 = 4.1231056256177
x4 = 4.123105625617660549821409856,
que tiene 28 dígitos correctos.
5
Clase 6 - Solución de ecuaciones no lineales (3)
Método de la secante
Continuamos con el mismo problema de resolver una ecuación no lineal. Hasta ahora vimos
el método de bisección y el método de Newton. Recordemos que la iteración del método de
21
Newton está dada por:
f (xn )
xn+1 = xn − 0 para n ≥ 0. (1)
f (xn )
20
Si bien este método tiene convergencia cuadrática local, tiene como desventaja que requiere
la evaluación de la derivada de la función f en cada iteración. Uno de los métodos más
conocidos que evita esto es el método de la secante.
F
La idea del método de la secante consiste en reemplazar f 0 (xn ) en la iteración de Newton
A
(1) por una aproximación dada por el cociente incremental, dado por la pendiente de la recta
secante que pasa por los puntos (xn , f (xn )) y (xn + h, f (xn + h)):
M
f 0 (xn ) ≈ an =
f (xn + h) − f (xn )
h
,
A
para algún h suficientemente pequeño.
-F
Ver Figura 1.
%"< <
2M}tMfJ¾fyMMDf}y¾
}U¾MJDy¾tMa}L¾
A
©ø © h
ϣȧѬ
yå %ࢳ
v
es decir, Ě ӌ
v
xn − xn−1
oࢳࢳ&̰ ̰%ࢳࢳ%Š1ࢳࢳ&ࢳ&%ࢳࢳ )ࢳАࢳ ˪˪
1
T ࢳࢳ ( ࢳVࢳ, TĚ &4&ࢳĚ )ࢳ, ĖĚࢳ ࢳ ࢳ%ࢳ63ࢳ&þ
Algoritmo del método de la secante
21
f a ← f (a)
f b ← f (b)
20
output 0, a, f a
output 1, b, f b
F
for k = 2, 3, . . . , M do
if | f a| < | f b| do
A
a ↔ b; f a ↔ f b
endif
s ← (b − a)/( f b − f a)
M
A
b←a
-F
fb ← fa
a ← a− fa∗s
f a ← f (a)
o
output k, a, f a
ic
end do
um
Observaciones:
1. En el algoritmo los puntos a y b pueden intercambiarse para lograr que | f (b)| ≤ | f (a)|.
Así, para el par {xn−1 , xn } se satisface que | f (xn )| ≤ | f (xn−1 )|, y para el par siguiente
.N
{xn , xn+1 } se tiene que | f (xn+1 )| ≤ | f (xn )|. Esto garantiza que la sucesión {| f (xn )|} es no
creciente.
2. El algoritmo se detiene por el número máximo de iteraciones permitidas, por satisfacer la
A
tolarancia para los valores funcionales, o por la tolerancia en la diferencia de dos aproxima-
ciones sucesivas.
3. En cuanto al análisis de errores, es posible probar que:
en+1 ≈ ceαn = (c enα−1 ) e1n ,
√
donde α = (1 + 5)/2 = 1.618334... Como 1 < α < 2 se dice que el método de la secante
tiene convergencia superlineal. Además, por recurrencia
2
en+1 ≈ ceαn ≈ c1+α eαn−1
√ √
donde α 2 = (1 + 5)2 /4 = (3 + 5)/2 = 2.618334..., esto dice que dos iteraciones de
método de la secante es mejor que una iteración del método de Newton.
2
Iteración de punto fijo
En esta sección veremos que es un punto fijo de una función dada, como encontrarlos numé-
ricamente y cuál es la conexión con el problema de determinar raíces de funciones.
21
Definición 1. un punto fijo de una función g es un número p, en el dominio de g, tal que
g(p) = p.
20
Por un lado, si p es una raíz de una función f , esto es, f (p) = 0, entonces es posible definir
diferentes funciones g con un punto fijo en p, por ejemplo: g(x) = x − f (x), o g(x) = x +
3 f (x).
F
Por otro lado, si g tiene un punto fijo en p, esto es, g(p) = p, entonces la función f (x) =
A
x − g(x) tiene una raíz en p.
Aunque estamos interesados en el problema de determinar soluciones de una ecuación no
M
lineal, o equivalentemente, encontrar raíces de funciones no lineales veremos que la forma de
la iteración de punto es muy fácil de estudiar y analizar. Además algunas opciones de punto
fijo dan origen a técnicas matemáticas y computacionales muy poderosas para determinar
A
raíces.
-F
Para esto se plantea la ecuación g(x) = x, es decir, se debe resolver la ecuación cuadrática
x2 − 2 = x, o sea, x2 − x − 2 = 0. Luego es fácil verificar que x = −1 y x = 2 son puntos fijos
ic
(g(p) = p) pues
ér
3
Teorema 1.
1. Si g ∈ C[a, b] (es decir, g es una función continua en el intervalo [a, b]) y g(x) ∈ [a, b]
para todo x ∈ [a, b] entonces existe p ∈ [a, b] tal que g(p) = p. (EXISTENCIA)
2. Si además existe g0 (x) para todo x ∈ (a, b) y existe una constante positiva k < 1 tal que
|g0 (x)| ≤ k para todo x ∈ (a, b), entonces el punto fijo en (a, b) es único. (Ver Figura 3).
21
(UNICIDAD)
20
F
A
M
Figura 3: Unicidad del punto fijo.
A
-F
Demostración.
1. Si g(a) = a o g(b) = b, el punto fijo está en uno de los extremos del intervalo y ya
o
estaría probado.
ic
Supongamos que esto no es cierto, entonces g(a) > a y g(b) < b. Sea h(x) = g(x) − x
una función definida en [a, b], que además es continua en [a, b] pues g y x lo son y resta
ér
de funciones continuas es una función continua. Además, por lo anterior, tenemos que
Entonces, por el Teorema del Valor Intermedio, existe p ∈ (a, b) tal que h(p) = 0, esto
es, g(p) = p y por lo tanto p es un punto fijo de g.
.N
2. Ahora supongamos que existen dos puntos fijos distintos p y q en [a, b], es decir, p, q ∈
[a, b], p 6= q tal que g(p) = p y g(q) = q. Por el Teorema del Valor Medio existe ξ
entre p y q, y por lo tanto en [a, b] tal que
A
lo que es una contradicción que provino de suponer que habrían dos puntos fijos dis-
tintos en [a, b], y por lo tanto el punto fijo es único.
4
Analicemos la existencia y unicidad de punto fijo en los siguientes ejemplos.
(x2 − 1) x2 1
Ejemplo 1: considerar g(x) = = − en el intervalo [−1, 1].
3 3 3
Es fácil ver g tiene un mínimo absoluto en x = 0 y g(0) = −1/3. Además tiene máximos
absolutos en x = −1 y x = 1 donde g(−1) = 0 y g(1) = 0. Además, claramente g es continua
2 2
en [−1, 1] y |g0 (x)| = x ≤ para todo x ∈ [−1, 1]. Por lo tanto existe un único punto fijo
21
3 3
p de g en el intervalo [−1, 1]. Para determinar p, planteamos
20
p2 − 1
g(p) = p, ⇒ = p, ⇒ p2 − 3p − 1 = 0,
3
√ √
(3 − 13) (3 13)
F
cuyas raíces son p1 = = −0,302776... y p2 = = 3,302776... El único
2 2
punto fijo es claramente p1 pues este punto está en [−1, 1] en cambio p2 no. Ver Figura 4.
A
M
A
-F
o
ic
ér
um
Notar en el gráfico que p2 también es un punto fijo de g en el intervalo [3, 4]. Sin embargo,
8
.N
g(4) = 5 y g0 (4) = > 1, por lo que no se satisfacen las hipótesis del teorema anterior en
3
el intervalo [3, 4]. Esto dice que tales hipótesis son condiciones suficientes para garantizar la
existencia y unicidad de un punto fijo, pero no son necesarias.
A
5
21
20
Figura 5: Puntos fijos del Ejemplo 1.
F
Idea del algoritmo de punto fijo
A
Para calcular aproximadamente el punto fijo de una función g primero se inicia con una
aproximación inicial p0 y calculando pn = g(pn−1 ) para n ≥ 1 se obtiene una sucesión de
M
aproximaciones {pn }. Si la función g es continua y la sucesión converge entonces lo hace a
un punto fijo p de g pues
A
p = lı́m pn = lı́m g(pn−1 ) = g( lı́m pn−1 ) = g(p).
n→∞ n→∞ n→∞
-F
Dados los siguientes datos de entrada y parámetros algorítmicos: p0 una aproximación ini-
cial, el número máximo de iteraciones permitido M y δ la tolerancia para el error e (en la
ic
variable x)
input p0 , M, δ
ér
output 0, p0
um
i←1
while i ≤ M then do
p ← g(p0 )
.N
output i, p
if |p − p0 | < δ then STOP
A
i ← i+1
p0 ← p
end while
Observaciones:
1. El algoritmo es muy fácil de implementar.
2. los criterios de parada utilizados son la distancia entre dos iteraciones sucesivas y el nú-
mero máximo de iteraciones.
6
Teorema 2.
Sea g ∈ C[a, b] tal que g(x) ∈ [a, b] para todo x ∈ [a, b]. Supongamos que existe g0 (x) para
todo x ∈ (a, b) y existe una constante positiva 0 < k < 1 tal que |g0 (x)| ≤ k para todo x ∈
(a, b), entonces para cualquier p0 ∈ [a, b] la sucesión definida por pn = g(pn−1 ), para n ≥ 1,
21
converge al único punto fijo p en (a, b).
Demostración. Por el teorema anterior, se sabe que bajo estas hipótesis existe un único punto
20
fijo p ∈ [a, b]. Como g(x) ∈ [a, b] para todo x ∈ [a, b], la sucesión de aproximaciones {pn }
está bien definida para todo n, es decir, pn ∈ [a, b] para todo n.
Para probar la convergencia se usará el Teorema del Valor Medio en lo siguiente
F
|pn − p| = |g(pn−1 ) − g(p)| = |g0 (ξn )||pn−1 − p| ≤ k|pn−1 − p|,
A
luego, por recurrencia, se tiene que
M
|pn − p| ≤ k|pn−1 − p| ≤ k2 |pn−2 − p| ≤ · · · ≤ kn |p0 − p|.
A
Como 0 < k < 1 entonces lı́m kn = 0, luego
n→∞
-F
Corolario 1. Si g es una función que satisface las hipótesis del teorema anterior, se tienen
ic
|pn − p| ≤ kn máx{p0 − a, b − p0 }
ér
kn
|pn − p| ≤ 1−k |p1 − p0 | para todo n≥1
um
Supongamos que p es un punto fijo de una función g y que {pn } es la sucesión, que converge
a p, definida por pn+1 = g(pn ).
Sea pn una aproximación del punto fijo p, es decir pn = p + h, y consideremos el desarrollo
de Taylor de g centrado en p:
00 (p)
pn+1 = g(pn ) = g(p + h) = g(p) + g0 (p)(pn − p) + g 2 (pn − p)2 + . . .
(r−1) (r) (ξ )
(3)
(p)
+ g(r−1)! (pn − p)r−1 + g n
r! (pn − p)r ,
7
Supongamos ahora que g0 (p) = g00 (p) = · · · = g(r−1) (p) = 0 pero g(r) (p) 6= 0, entonces
21
en+1 = en ,
r!
y tomando límite se obtiene
20
|en+1 | |g(r) (p)|
lı́m = = C,
n→∞ |en |r r!
F
por lo tanto el método tiene orden de convergencia (al menos) r.
Conclusión: si las derivadas de la función de iteración de punto fijo se anulan en el punto
A
fijo p hasta el orden (r − 1) entonces el método tiene orden de convergencia (al menos) r.
M
Usando este resultado se obtienen tres corolarios interesantes que relacionan el método de
A
Newton con el método de punto fijo para una función f que satisface las hipótesis del teorema
de convergencia de Newton.
-F
Corolario 2. Si f es una función que tiene una raíz simple p, entonces el método de Newton
es un método de punto fijo y tiene orden de convergencia (al menos) 2.
o
ic
f (x)
Demostración. Sea g(x) = x − , la función de iteración del método de Newton. Es claro
f 0 (x)
ér
f (p)
um
g(p) = p − = p,
f 0 (p)
entonces
f 00 (p) f (p)
g0 (p) = = 0,
( f 0 (p))2
y por lo tanto el método tiene orden de convergencia (al menos) 2.
8
f (x) 0 f (x) f 00 (x)
Demostración. Ya vimos que si g(x) = x − entonces g (x) = .
f 0 (x) ( f 0 (x))2
Ahora, supongamos que p es una raíz de multiplicidad r de f , esto es, f (x) = (x − p)r h(x),
con h una función tal que h(p) 6= 0 y r ≥ 2.
La derivada primera de f es
21
f 0 (x) = r(x − p)r−1 h(x) + (x − p)r h0 (x) = (x − p)r−1 rh(x) + (x − p)h0 (x) ,
y la derivada segunda de f es
20
f 00 (x) = r(r − 1)(x − p)r−2 h(x) + 2r(x − p)r−1 h0 (x) + (x − p)r h00 (x),
= (x − p)r−2 r(r − 1)h(x) + 2r(x − p)h0 (x) + (x − p)2 h00 (x) .
F
Luego
A
(x − p)r h(x)(x − p)r−2 r(r − 1)h(x) + 2r(x − p)h0 (x) + (x − p)2 h00 (x)
0
g (x) = ,
h(p)r(r − 1)h(p) r − 1
A
g0 (p) = = 6= 0,
r2 (h(p))2 r
-F
pues r ≥ 2.
Por último, modificando levemente la función de iteración del método de Newton se puede
o
f (xn ) f (x)
xn+1 = xn − r , esto es, g(x) = x − r .
um
f 0 (xn ) f 0 (x)
= 1−r+r
(x − p)2r−2 [rh(x) + (x − p)h0 (x)]2
h(x) r(r − 1)h(x) + 2r(x − p)h0 (x) + (x − p)2 h00 (x)
= 1−r+r .
[rh(x) + (x − p)h0 (x)]2
h(p)r(r − 1)h(p)
g0 (p) = 1 − r + r = 1 − r + (r − 1) = 0,
r2 (h(p))2
y por lo tanto el método de Newton modificado tiene convergencia (al menos) cuadrática.
9
Clase 7 - Interpolación polinomial
El problema
Dada una tabla de (n + 1) puntos: (x0 , y0 ), (x1 , y1 ), . . . , (xn yn ) donde x0 , x1 , . . . , xn son distin-
tos, se desea determinar un polinomio p, con el menor grado posible, tal que
21
p(xi ) = yi para i = 0, . . . , n.
En este caso se dice que tal polinomio p interpola el conjunto de puntos dados. Ver Figura 1.
20
F
A
M
A
Figura 1: Interpolación polinomial.
-F
entonces existe un único polinomio pn de grado menor o igual a n tal que pn (xi ) = yi , para
i = 0, . . . , n.
ic
Demostración.
ér
1
El coeficiente c está bien definido porque los números x0 , x1 , . . . xn son distintos y el denomi-
nador nunca se anula. Esto prueba la existencia del polinomio interpolante pk .
Unicidad: supongamos que existen dos polinomios interpolantes pn y qn de grado ≤ n, esto
es, pn (xi ) = yi y qn (xi ) = yi para i = 0, . . . , n.
Sea h = pn − qn . Claramente h es un polinomio de grado ≤ n. Además, h(xi ) = 0 para i =
0, . . . , n, por lo tanto h es un polinomio de grado ≤ n y tiene (n + 1) raíces reales. Luego, por
21
el teorema fundamental del Álgebra, h(x) = 0 para todo x y por lo tanto pn = qn .
20
Forma de Newton del polinomio interpolante
F
Si bien el polinomio interpolante es único, puede escribirse de diferentes formas. La forma
de Newton se obtiene inductivamente, como se hizo en la prueba de la existencia del teorema
A
anterior, agregando un nuevo término al polinomio interpolante de un grado menor.
Si n = 0: vimos que es suficiente definir el polinomio constante p0 (x) = c0 = y0 .
M
Si n = 1: dados los puntos (x0 , y0 ), (x1 , y1 ), se construye p1 tal que p1 (x) = c0 + c1 (x − x0 )
y p1 (x0 ) = c0 = y0 . Usando que p1 (x1 ) = y1 , entonces y1 = c0 + c1 (x1 − x0 ) y por lo tanto,
A
y1 − c0
c1 = .
x1 − x0
-F
Si n = k: tenemos que
pk (x) = ∑ ci ∏ (x − x j ).
i=0 j=0
m
Aquí se adopta la convención que ∏ (x − x j ) = 1 si m < 0.
.N
j=0
Para evaluar pk (x), una vez calculados los coeficientes ck , es conveniente usar el algoritmo
de Horner de multiplicación encajada.
A
2
n (x − x j )
Así, por ejemplo, para i = 0, se tiene l0 (x) = ∏ .
j=1 (x0 − x j )
21
Ahora definimos la forma de Lagrange del polinomio interpolante por
n
20
pn (x) = ∑ yi li (x).
i=0
F
n
A
Ejercicio: probar que ∑ li(x) = 1.
i=0
Sea p(x) =
n
i=0 M
∑ li(x). Es claro que p tiene grado ≤ n. Sea h(x) = p(x) − 1, un polinomio de
grado ≤ n. Además, h(xk ) = 0 para k = 0, . . . , n, es decir, h es polinomio de grado ≤ n y tiene
A
n + 1 raíces. Luego h(x) = 0 para todo x, y por lo tanto, p(x) = 1 para todo x.
-F
n
Esto también puede ser generalizado a ∑ ximli(x) = xm, si m ≤ n.
i=0
o
Ahora veremos un resultado sobre el error que se comete al reemplazar una función por un
polinomio que la interpola en algunos puntos dados. Primero veremos dos observaciones
ér
f (b) entonces existe α ∈ (a, b) tal que f 0 (α) = 0 (Teorema de Rolle). En particular, si f (a) =
f (b) = 0 entonces existe α ∈ (a, b) tal que f 0 (α) = 0. Más aún, si f (a) = f (b) = f (c) = 0
entonces existen α ∈ (a, b) y β ∈ (b, c) tal que f 0 (α) = f 0 (β ) = 0.
A
Teorema 2. Sea f una función en Cn+1 [a, b] y p un polinomio de grado ≤ n que interpola
a f en (n + 1) puntos distintos x0 , x1 , . . . , xn en [a, b]. Entonces para cada x ∈ [a, b] existe un
ξ = ξx ∈ (a, b) tal que
n
1 (n+1)
f (x) − p(x) = f (ξ ) ∏(x − xi ).
(n + 1)! i=0
3
Ahora supongamos que x 6= x0 , x1 , . . . , xn , y definimos
n
w(t) = ∏(t − xi) (polinomio en t)
i=0
f (x) − p(x)
c = (constante, pues x está fija)
w(x)
ϕ(t) = f (t) − p(t) − cw(t) (función en t),
21
la constante c está bien definida pues w(x) 6= 0 si x 6= xi para i = 0, . . . , n.
Notar que si t = x0 , x1 , . . . , xn entonces ϕ(t) = 0, pues p interpola a f en esos puntos y porque
20
w se anula allí.
Además, por las definiciones de w, c y ϕ es fácil ver que si t = x entonces ϕ(t) = 0.
F
Luego, ϕ(t) tiene (al menos) (n + 2) raíces: x0 , x1 , . . . , xn , x, y por el Teorema de Rolle (y la
Observación 2) tenemos que:
A
ϕ 0 (t) tiene (al menos) (n + 1) raíces en (a, b).
M
ϕ 00 (t) tiene (al menos) n raíces en (a, b).
ϕ 000 (t) tiene (al menos) (n − 1) raíces en (a, b).
A
..
.
-F
ϕ (n+1) (t) tiene (al menos) 1 raíz en (a, b). Sea ξ = ξx ∈ (a, b) tal raíz de ϕ (n+1) (t).
Luego,
0 = ϕ (n+1) (ξ ) = f (n+1) (ξ ) − p(n+1) (ξ ) − cw(n+1) (ξ ). (1)
o
n
Como ∏(t −xi ) = t n+1 + términos de orden menor, entonces w(n+1) (ξ ) = (n +1)!. Además,
ic
i=0
como p es un polinomio de grado menor o igual que n entonces, por la Observación 1,
p(n+1) (x) = 0 para todo x, en particular para x = ξ .
ér
f (x) − p(x)
0 = f (n+1) (ξ ) − c(n + 1)! = f (n+1) (ξ ) − (n + 1)!,
w(x)
y por lo tanto,
f (n+1) (ξ ) n
.N
f (x) − p(x) = (x − xi ).
(n + 1)! ∏ i=0
A
Ejemplo: dar una estimación del error que se comete al aproximar la función f (x) = sen x
por un polinomio interpolante de grado 9, que interpola a f en 10 puntos en el intervalo [0, 1].
Como el polinomio interpolante tiene grado n = 9 es claro que se requieren 10 puntos. Por el
teorema anterior, para poder acotar la expresión del teorema se necesita una cota de f (10) (ξ ).
Como f (x) = sen x, es fácil deducir que | f (10) (ξ )| ≤ 1.
Además, si bien no se conocen los puntos de interpolación, sabemos que todos ellos perte-
9
necen al intervalo [0, 1], por lo tanto ∏ |x − xi | ≤ 1.
i=0
4
Entonces
f (n+1) (ξ ) n | f (n+1) (ξ )| n
1
| sen x − p(x)| = (x − x ) = ∏(x − xi) ≤ < 2.8 10−7 .
(n + 1)! ∏
i
i=0 (n + 1)! i=0 10!
21
Convergencia uniforme de los polinomios de interpolación
20
El teorema anterior da una expresión, para cada punto x, del error que se comete al interpolar
una función f por un polinomio interpolante p.
Ahora bien, si se construyen polinomios interpolantes pn utilizando cada vez más puntos,
F
o equivalentemente de grado cada vez más alto, sería natural esperar que estos polinomios
convergieran uniformemente a la función f en el intervalo [a, b]. Es decir, esperaríamos
A
k f − pn k∞ = máx | f (x) − pn (x)| → 0 si n → ∞.
a≤x≤b
M
Lamentablemente, para la mayoría de las funciones continuas no ocurre esto debido al com-
portamiento inestable de los polinomios de grado alto. Ver Figura 2.
A
-F
o
ic
ér
um
.N
A
Como puede verse en la figura, a medida que se aumenta el grado del polinomio, y por lo
tanto la cantidad de puntos de interpolación, el gráfico del polinomio tiende a comportarse
muy diferente al gráfico de la función.
5
Clase 8 - Interpolación polinomial (2)
Repaso:
- El problema: Dada una tabla de (n+1) puntos: (x0 , y0 ), (x1 , y1 ), . . . , (xn yn ), con x0 , x1 , . . . , xn
distintos, se desea determinar un polinomio p, con el menor grado posible, tal que
21
p(xi ) = yi para i = 0, . . . , n.
En este caso se dice que tal polinomio p interpola el conjunto de puntos dados.
20
- Existencia y unicidad del polinomio interpolante.
- Forma de Lagrange.
- Forma de Newton.
F
- Error en el polinomio interpolante.
- Convergencia de los polinomios de interpolación.
A
Diferencias divididas
M
Recordemos la forma de Newton del polinomio interpolante basado en los puntos distintos
A
x0 , x1 , . . . , xn :
-F
ck = f [x0 , x1 , . . . , xk ],
.N
k i−1
pk (x) = ∑ f [x0 , x1 , . . . , xi ] ∏ (x − x j ),
i=0 j=0
donde si k = 0:
f [x0 ] = f (x0 ),
si k = 1:
f (x1 ) − f (x0 )
f [x0 , x1 ] = .
x1 − x0
Veremos a continuación un resultado general para determinar las diferencias divididas aso-
ciadas a un polinomio que interpola una función f .
1
Teorema 1. Dados x0 , x1 , . . . , xn números reales distintos, las diferencias divididas satisfacen
la siguiente ecuación
21
Demostración.
Sea pn−1 el polinomio de grado ≤ n − 1 que interpola a f en los n puntos x0 , x1 , . . . , xn−1 .
20
Sea q el polinomio de grado ≤ n − 1 que interpola a f en los n puntos x1 , x2 , . . . , xn .
Sea pn el polinomio de grado ≤ n que interpola a f en los n + 1 puntos x0 , x1 , . . . , xn .
F
Se afirma que
(x − xn )
A
pn (x) = q(x) + [q(x) − pn−1 (x)]. (1)
(xn − x0 )
M
Es claro que a ambos lados de la igualdad se tienen polinomios de grado ≤ n. Además,
para i = 0,
A
(x0 − xn )
pn (x0 ) = f (x0 ) y q(x0 ) + [q(x0 ) − pn−1 (x0 )] = pn−1 (x0 ) = f (x0 ).
-F
(xn − x0 )
Para i = 1, . . . , n − 1,
o
(xi − xn )
pn (xi ) = f (xi ) y q(xi ) + [q(xi ) − pn−1 (xi )] = f (xi ),
ic
(xn − x0 )
ér
(xn − xn )
pn (xn ) = f (xn ) y q(xn ) + [q(xn ) − pn−1 (xn )] = q(xn ) = f (xn ).
(xn − x0 )
.N
Por lo tanto, a ambos lados lados de (1) se tiene un polinomio de grado ≤ n y ambos interpo-
lan a f en los mismos n + 1 puntos distintos. Luego por unicidad del polinomio interpolante,
la igualdad (1) es cierta. Como ambos polinomios son iguales, los coeficientes de cada po-
tencia de x deben coincidir. En particular considerando el coeficiente de xn a ambos lados de
A
(1) obtenemos
1
f [x0 , x1 , . . . , xn ] = ( f [x1 , x2 , . . . , xn ] − f [x0 , x1 , . . . , xn−1 ])
xn − x0
f [x1 , x2 , . . . , xn ] − f [x0 , x1 , . . . , xn−1 ]
= .
xn − x0
2
Luego
f [x0 ] = f (x0 )
f [x1 ] − f [x0 ]
f [x0 , x1 ] =
21
x1 − x0
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] =
20
x2 − x0
.. ..
. = .
F
f [xi+1 , xi+2 , . . . , xi+ j ] − f [xi , xi+1 , . . . , xi+ j−1 ]
f [xi , xi+1 , . . . , xi+ j ] = (2)
xi+ j − xi
A
Tabla de diferencias divididas
M
A
Dados 4 puntos distintos (no necesariamente ordenados) se puede construir la tabla de dife-
rencias divididas de la siguiente manera:
-F
x2 f [x2 ] f [x2 , x3 ]
ic
x3 f [x3 ]
ér
x 3 1 5 6
f (x) 1 −3 2 4
.N
3 1 2 −3/8 7/40
A
1 −3 5/4 3/20
5 2 2
6 4
3 7
p(x) = 1 + 2(x − 3) − (x − 3)(x − 1) + (x − 3)(x − 1)(x − 5).
8 40
3
Algoritmo para calcular los coeficientes de la tabla de diferencias divididas
21
.
x2 c20 c21 c22 c23 . .
.. .. .. ..
20
.
. . . . ..
.. .. .. .
. . . ..
F
xn−1 cn−1,0 cn−1,1
xn cn,0
A
donde ci j = f [xi , xi+1 , . . . , xi+ j ].
M
Dados los datos de entrada x0 , x1 , . . . , xn y f (x0 ), f (x1 ), . . . , f (xn ) se pueden calcular estos
coeficientes a partir de la fórmula (2) de la siguiente manera:
A
for j = 1 to n do
-F
for i = 0 to n − j do
ci, j ← (ci+1, j−1 − ci, j−1 )/(xi+ j − xi )
end do
o
end do
ic
Este algoritmo puede ser optimizado de modo de almacenar estos coeficientes en un vector
en vez de una matriz para ahorrar espacio de almacenamiento.
ér
um
4
Teorema 3. Sea p el polinomio de grado ≤ n que interpola a f en los n + 1 nodos distintos
x0 , x1 , . . . , xn . Si t es un número real distinto de los nodos, entonces
n
f (t) − p(t) = f [x0 , x1 , . . . , xn ,t] ∏ (t − x j ).
21
j=0
20
la manera en que se genera el polinomio interpolante en la forma de Newton se sabe que
n
q(x) = p(x) + f [x0 , x1 , . . . , xn ,t] ∏ (x − x j ).
F
j=0
A
Como q interpola a f en el punto t, se tiene que q(t) = f (t), y entonces:
M n
f (t) = p(t) + f [x0 , x1 , . . . , xn ,t] ∏ (t − x j ),
j=0
A
por lo tanto,
n
-F
son n + 1 nodos distintos en [a, b], entonces existe un punto ξ ∈ (a, b) tal que
1 (n)
ér
f [x0 , x1 , . . . , xn ] = f (ξ ).
n!
um
n−1
f (xn ) − p(xn ) = f [x0 , x1 , . . . , xn ] ∏ (xn − x j ),
j=0
y por lo tanto
1 (n)
f [x0 , x1 , . . . , xn ] = f (ξ ).
n!
5
Interpolación de Hermite
Comenzaremos analizando a las diferencias divididas como función de sus argumentos. Has-
ta ahora hemos definido a las diferencias divididas para puntos distintos x0 , x1 , . . . , xn . Con-
sideremos ahora el caso simple de 2 puntos x0 y x:
21
f [x0 , x] = = .
x − x0 x − x0
Ahora tomando límite para x que tiende a x0 se tiene que
20
f (x) − f (x0 )
lı́m f [x0 , x] = lı́m = f 0 (x0 ).
x→x0 x→x0 x − x0
F
Luego es posible extender la definición de diferencias divididas para números repetidos de
la siguiente manera
A
f (x) − f (x0 )
= f 0 (x0 ).
x→x0
M
f [x0 , x0 ] = lı́m f [x0 , x] = lı́m
x→x0 x − x0
Con esta generalización se pueden construir un polinomio interpolante de grado 3, con sólo
A
2 puntos de interpolación y agregando 2 condiciones de interpolación de la derivada en esos
-F
x1 f [x1 ] f 0 (x1 )
x1 f [x1 ]
.N
En general, el polinomio interpolante que usa las derivadas en un punto se llama forma de
Hermite.
El siguiente resultado es una generalización del Teorema 4.
Teorema 5. Se f una función definida en [a, b], n veces continuamente diferenciable en [a, b].
Sean x0 , x1 , . . . , xn ∈ [a, b] puntos distintos y z ∈ (a, b). Entonces
f (n) (z)
lı́m f [x0 , x1 , . . . , xn ] = .
(x0 ,x1 ,...,xn )→(z,z,...,z) n!
6
Demostración. Por el Teorema 4 se sabe que existe ξ ∈ (a, b) tal que
1 (n)
f [x0 , x1 , . . . , xn ] = f (ξ ).
n!
Como x0 → z, x1 → z, . . . , xn → z entonces ξ → z.
Como f (n) es continua entonces
21
1 (n) f (n) (z)
lı́m f [x0 , x1 , . . . , xn ] = lı́m f (ξ ) = .
20
(x0 ,x1 ,...,xn )→(z,z,...,z) ξ →z n! n!
F
El siguiente corolario es una consecuencia directa del teorema anterior.
A
Corolario 1. Si f es n veces continuamente diferenciable en un entorno del punto x0 , enton-
ces
f (n) (x0 )
M
f [x0 , x0 , . . . , x0 ] =
n!
.
A
Demostración. Trivial, basta tomar z = x0 .
-F
p(1) = 2, p0 (1) = 3,
o
1 2 3 1 2 −1
1 2 4 3 1
um
2 6 7 4
2 6 7
2 6
.N
7
Clase 9 - Interpolación polinomial (3)
Repaso
El problema: Dada una tabla de (n+1) puntos: (x0 , y0 ), (x1 , y1 ), . . . , (xn yn ) donde x0 , x1 , . . . , xn
son distintos, se desea determinar un polinomio p, con el menor grado posible, tal que:
21
p(xi ) = yi para i = 0, . . . , n.
20
En este caso se dice que tal polinomio p interpola el conjunto de puntos dados.
- Existencia y unicidad del polinomio interpolante.
- Forma de Lagrange.
- Forma de Newton.
F
- Error en el polinomio interpolante.
- Convergencia de los polinomios de interpolación.
A
- Diferencias divididas.
- Polinomios de Hermite.
M
A
Splines
-F
f 00 (ξ )
um
Sea ϕ(x) = (x − x0 )(x − x1 ), una función cuadrática, cuyo gráfico es una parábola con las
ramas hacia arriba, sus raíces son x0 y x1 y su mínimo se alcanza en xm = (x0 + x1 )/2.
A
Por lo tanto
x0 + x1 x0 + x1
|ϕ(x)| ≤ |(xm − x0 )(xm − x1 )| = − x0 − x1
2 2
(x1 − x0 ) (x0 − x1 ) |x1 − x0 |2
= = .
2 2 4
Por lo tanto,
M
|e(x)| ≤ |x1 − x0 |2 . (1)
8
1
Supongamos que se desea interpolar una función f por un polinomio interpolante pn . Usar
pocos puntos de interpolación podría generar un polinomio que no aproxime bien a la fun-
ción. Por otro lado, como se comentó anteriormente, y contrariamente a lo que podría espe-
rarse, aumentar la cantidad de puntos de interpolación no mejora la convergencia uniforme
del polinomio interpolante pn a la función f . Esto es conocido como fenómeno de Runge.
Una idea que trata de conciliar estos conceptos opuestos es aplicar interpolación con polino-
21
mios de grado bajo por subintervalos. Esto es conocido como interpolación polinomial por
partes o interpolación segmentaria o simplemente splines.
20
Definición 1. Una función spline está formada por polinomios definidos en subintervalos,
los cuales se unen entre sí obedeciendo ciertas condiciones de continuidad.
Más formalmente, dados n + 1 puntos tales que x0 < x1 < . . . < xn , que denominaremos
nodos, y un entero k ≥ 0, un spline de grado k es una función S definida en [x0 , xn ] que
F
satisface:
A
- S es un polinomio de grado ≤ k en cada subintervalo [xi , xi+1 ), para i = 0, . . . , n − 1;
- las derivadas S(i) son continuas en [x0 , xn ], para i = 0, . . . , k − 1.
M
Veremos con un poco más de detalles los splines lineales y cúbicos, esto es, de grado 1 y 3.
A
-F
Splines lineales
Dados los n + 1 nodos tales que x0 < x1 < . . . < xn , un spline lineal (k = 1) es una función S
definida en [x0 , xn ] que satisface:
o
S0 (x) = a0 x + b0 , x ∈ [x0 , x1 )
S1 (x) = a1 x + b1 , x ∈ [x1 , x2 )
um
S(x) = .. .. ,
. .
Sn−1 (x) = an−1 x + bn−1 , x ∈ [xn−1 , xn ]
S]X zrOÛ7"1Û
ÄââĕƢ #Ƣ
' B Bߠ ×řϼߠ F.ߠ Ǥq ߠ Bߠ ߠ B ߠ ߠ Ʌ BGߠ ߠ ×B.B .B.&ߠ ߠ ×řBߠ ߠ ߠ
; Ͻߠ 4ΝăŃBߠߠFigura
ğĨ B# ߠ ώ -1:m)yGráfico de spline
i $Ń0 ߠߠ; Ġ Ĩ
Bߠ lineal-(k
6 )E= 1)
Bߠ#ߠ
B ߠ 1UĜ 7Ńm7y :ߠ' B Bߠ Ń ߠB B &ߠřB ߠߠߠ ߠBDZ ߠ
ߠ Eߠߠߠ B Ƒߠߠ &ߠ Ć $ Ń% M i $ Ń ¨ॷ ζ ߠߠ0 ߠߠ
q Ð #ߠ Bߠ *$Ń' ͈ ߠ
2
{ƨ|`Ǎ D; QϏ Ӑ ֶ ಏ3; Q¶ ʳ ݩ႒
+
˪ % Êॷ ˪19 ْ Êॷ ˪
Dado un i fijo, se pueden determinar los coeficientes ai , bi , para i = 0, . . . , n−1 de la siguiente
manera:
ai xi + bi = Si (xi ) = f (xi )
ai xi+1 + bi = lı́m Si (x) = Si+1 (xi+1 ) = f (xi+1 )
x→xi+1
21
y por lo tanto
f (xi+1 ) − f (xi )
20
ai = , bi = f (xi ) − ai xi .
(xi+1 − xi )
F
Si S es un spline lineal, en cada intervalo [xk , xk+1 ] se tiene un polinomio de grado ≤ 1.
A
Entonces el error de interpolación para cada x ∈ [a, b] está dado por:
M 2
M |e(x)| ≤
Splines cúbicos
Dados los n + 1 nodos tales que x0 < x1 < . . . < xn , un spline cúbico (k = 3) es una función
S definida en [x0 , xn ] que satisface:
o
Es decir,
S0 (x) = a0 x3 + b0 x2 + c0 x + d0 ,
x ∈ [x0 , x1 )
um
S1 (x) = a1 x3 + b1 x2 + c1 x + d1 ,
x ∈ [x1 , x2 )
S(x) = .. .. ,
. .
Sn−1 (x) = an−1 x3 + bn−1 x2 + cn−1 x + dn−1 , x ∈ [xn−1 , xn ]
.N
3
En este caso, se denomina spline con condiciones naturales o simplemente spline natural.
Otras veces se suele utilizar
21
Estas condiciones suelen estar asociadas a características del problema y son indicadas en el
problema o proporcionadas por quien presenta el problema.
20
F
A
M
A
-F
o
ic
ér
um
.N
A
4
Clase 10 - Aproximación de funciones
21
polinomio, que permita estimar valores funcionales de una manera más simple.
20
Aproximación discreta por cuadrados mínimos
F
datos experimentales: (xi , yi ), i = 1, . . . , m.
Por ejemplo, consideremos los siguientes datos
A
xi
yi
1
1.3
2
3.5
3
4.2M 4
5.0
5
7.0
6
8.8 10.1
7 8
12.5
9
13.0
10
15.6
A
Podemos representarlos gráficamente
-F
o
ic
ér
um
.N
1
21
20
F
A
Figura 2: Polinomio de grado 9
M
Sería mejor pensar en un modelo lineal y encontrar la mejor recta (en cierto sentido), aún
cuando no coincida con los datos en ningún punto. El problema ahora será determinar cuál
A
es la mejor recta
-F
y(x) = a1 x + a0
que mejor ajusta a esos datos, esto es, determinar los coeficientes a1 y a0 óptimos.
Una idea posible es determinar a0 y a1 tales que minimicen la función
o
Por último, el método de cuadrados mínimos para ajustar a una recta con m datos consiste
en determinar a0 y a1 tales que minimicen la función
m
A
∂ ∂ m 2
m
∂ a0 E(a0 , a1 ) = ∑ [yi − (a 1 xi + a0 )] = 2 ∑ (yi − a1xi − a0)(−1) = 0,
∂ a0 i=1 i=1
∂ ∂ m 2
m
∂ a1 E(a 0 , a 1 ) = ∑ [yi − (a 1 xi + a0 )] = 2 ∑ (yi − a1 xi − a0 )(−xi ) = 0.
∂ a1 i=1 i=1
2
Luego
m m m
(−2) ∑ (yi − a1 xi − a0 ) = 0 ⇒ ∑ yi − a1 ∑ xi − m a0 = 0,
i=1 i=1 i=1
m m m m
(−2) ∑ (yi − a1 xi − a0 )xi = 0 ⇒ ∑ xiyi − a1 ∑ xi2 − a0 ∑ xi = 0.
i=1 i=1 i=1 i=1
21
Reordenando estas ecuaciones se puede obtener el siguiente sistema lineal de dos ecuaciones
con las 2 incógnitas a0 y a1 :
20
m m
a 0 m + a1∑ i x = ∑ yi
i=1 i=1
m m m
2
a x + a1 ∑ xi = ∑ xiyi.
0∑ i
F
i=1 i=1 i=1
A
Estas ecuaciones son conocidas como ecuaciones normales.
Resolviendo este sistema se obtienen los coeficientes buscados
m
!
∑ xi2
!
m
∑ yi −
!
Mm
!
∑ xiyi
m
∑ xi m
m
∑ xiyi
!
−
m
∑ xi
!
m
∑ yi
!
A
i=1 i=1 i=1 i=1 i=1 i=1 i=1
a0 = ! !2 , a1 = ! !2 .
m m m m
∑ xi2 − ∑ xi2 −
-F
m ∑ xi m ∑ xi
i=1 i=1 i=1 i=1
Para los datos del problema inicial se obtienen a0 = −0.360 y a1 = 1.538, y el gráfico de la
aproximación lineal puede verse en la Figura (3).
o
ic
ér
um
.N
A
Ahora consideremos el caso general donde se tienen los puntos {(xi , yi )} para i = 1, . . . , m y
se propone un modelo polinomial de grado n, con n < m − 1
n
Pn (x) = an xn + an−1 xn−1 + · · · + a1 x1 + a0 = ∑ a j xij .
j=0
3
Al igual que en el caso de dos coeficientes, se deben determinar a0 , a1 , . . . , an que minimizan
m
E(a0 , . . . , an ) = ∑ [yi − Pn (xi )]2 .
i=1
21
m
E(a0 , . . . , an ) = ∑ [yi − Pn(xi)]2
i=1
m m m
20
= ∑ y2i − 2 ∑ Pn(xi)yi + ∑ (Pn(xi))2
i=1 i=1 i=1
! !2
m m n m n
= ∑ y2i − 2 ∑ ∑ a j xij yi + ∑ ∑ a j xij
F
i=1 i=1 j=0 ! i=1 j=0 ! !
m m n m n n
= ∑ y2i − 2 ∑ yi ∑ a j xij +∑ ∑ a j xij ∑ ak xik
A
i=1 i=1 j=0 ! i=1 j=0 k=0 !
m n m n n m
=
i=1
M
∑ y2i − 2 ∑ a j ∑ yixij
j=0 i=1
+∑ ∑ a j ak ∑ xij+k
j=0 k=0 i=1
A
Para minimizar E se deben calcular las derivadas parciales ∂ E/∂ a j para j = 0, . . . , n e igualar
a cero:
-F
!
m n m
∂E j j+k
= −2 ∑ yi xi + 2 ∑ ak ∑ xi = 0, para j = 0, . . . , n.
∂aj i=1 k=0 i=1
n m m
ic
j+k j
∑ ak ∑ xi = ∑ yi xi , para j = 0, . . . , n.
k=0 i=1 i=1
ér
0 1 2
a0∑ i x + a 1∑ i x + a 2 ∑ xi + ... + an ∑ xin = ∑ yixi0,
i=1 i=1 i=1 i=1 i=1
m m m m m
1 2
∑ xi3 + . . . + an ∑ xin+1 = ∑ yixi1,
a0 ∑ i x + a 1 ∑ i x + a 2
i=1 i=1 i=1 i=1 i=1
.N
.. .. .. .. ..
. . . . .
m m m m m
n n+1
+ a2 ∑ xin+2 + . . . + xi2n ∑ yixin.
a0 ∑ xi + a1 ∑ xi an ∑ =
A
Este sistema lineal puede expresarse matricialmente, y es posible probar que si las xi son
todas distintas entonces las ecuaciones normales admiten una única solución.
4
Un método más simple consiste en aplicar logaritmo natural en los modelos i) o ii):
ln y = lnb + a x o ln y = lnb + a ln x,
21
Ejemplo: supongamos que se conocen los siguientes datos
20
yi 5.10 5.79 6.53 7.45 8.46
F
ln y = ln b + ax, un modelo lineal ỹ = b̃ + ax. Antes de aplicar las fórmulas de cuadrados
A
mínimos para el modelo lineal conviene reescribir la tabla anterior:
xi
ỹi M 1.00
1.629
1.25
1.756
1.50
1.876
1.75
2.008
2.00
2.135
A
Así se obtienen a = 0.5056 y b̃ = 1.122 y por lo tanto b = eb̃ = e1.122 = 3.071.
-F
o
ic
ér
um
.N
A
5
Clase 11 - Aproximación de funciones (2)
Supongamos ahora que f ∈ C[a, b] y se desea determinar el mejor polinomio (en el sentido
de cuadrados mínimos) Pn (x) de grado ≤ n que minimice la siguiente medida del error entre
la función f y Pn en el intervalo [a, b]:
21
Z b Z b n
E = E(a0 , . . . , an ) = [ f (x) − Pn (x)]2 dx = [ f (x) − ∑ ak xk ]2 dx,
a a k=0
20
es decir, se deben determinar los coeficientes a0 , . . . , an que definen el polinomio Pn (x) de
manera que E sea mínima. Ver Figura 1.
F
A
M
A
-F
o
ic
Figura 1: Gráficos de f y Pn .
ér
Z b n
E = E(a0 , . . . , an ) = [ f (x) − ∑ ak xk ]2 dx
a k=0
Z b n Z b Z b n
.N
2
= [ f (x)] dx − 2 ∑ ak k
x f (x) dx + [ ∑ ak xk ]2 dx,
a k=0 a a k=0
luego para j = 0, . . . , n,
A
Z b n Z b
∂E j
= −2 x f (x) dx + 2 ∑ ak xk+ j dx = 0.
∂aj a k=0 a
1
Ejemplo: determinar el polinomio de aproximación de cuadrados mínimos de grado ≤ 2
para la función f (x) = sen π x en el intervalo [0, 1].
Las ecuaciones normales para el polinomio P2 (x) = a2 x2 + a1 x + a0 , están dadas por:
R1 R1 R1 2 R1
a0 0 1 dx + a1 0 x dx + a2 0 x dx = 0 sen πx dx
21
R1 R1 2 R1 3
R1
a0 0 x dx + a1 0 x dx + a2 0 x dx = 0 x sen πx dx
R1 2 R1 3 R1 4 R1 2
a0 0 x dx + a1 0 x dx + a2 0 x dx = 0 x sen πx dx
20
Calculando las integrales este sistema lineal puede escribirse matricialmente
1 1/2 1/3 a0 2/π
F
1/2 1/3 1/4 a1 = 1/π
1/3 1/4 1/5 a2 2
(π − 4)/π 3
A
de donde se obtiene que
a0 =
12π 2 − 120
π3 M
≈ −0.050465 a1 = −a2 =
720 − 60π 2
π3
≈ 4.12251
A
y el polinomio de grado ≤ 2 de mejor aproximación por cuadrados mínimos está dado por
P2 (x) = −4.12251 x2 + 4.12251 x − 0.050465. Ver Figura 2.
-F
o
ic
ér
um
.N
2
Para lograr esto, en lugar de proponer un polinomio de la forma Pn (x) = a0 + a1 x + · · · +
an xn , como una combinación lineal de los polinomios {x j }nj=0 , consideraremos otra forma
de expresar el mismo polinomio de cuadrados mínimos. A continuación veremos algunas
definiciones básicas y resultados que serán necesarios.
Definición 1. El conjunto de funciones {φ0 , . . . , φn } es linealmente independiente en el
intervalo [a, b], si siempre que
21
c0 φ0 (x) + c1 φ1 (x) + · · · + cn φn (x) = 0 para cualquier x ∈ [a, b],
20
linealmente dependiente.
F
Teorema 1. Si φ j (x) es un polinomio en x de grado igual a j para j = 0, . . . , n, entonces
A
{φ0 , . . . , φn } es un conjunto linealmente independiente para cualquier intervalo [a, b].
M
Demostración. Sean c0 , . . . , cn números reales tales que
Repitiendo esta misma idea, se tiene que el único término que incluye a xn−1 es cn−1 φn−1 (x)
y de aquí se concluye que cn−1 = 0. De igual forma se obtiene que cn−2 = · · · = c1 = c0 = 0,
ér
El siguiente resultado para conjuntos de polinomios es análogo a otro que se utiliza en aplica-
ciones de álgebra lineal. No veremos la demostración, pero, en cambio, haremos un ejemplo.
.N
3
Luego
Q(x) = a0 + a1 x + a2 x2
= a0 12 φ0 (x) + a1 φ1 (x) + 23 φ0 (x) + a2 φ2 (x) − 2φ1 (x) − 13
2 φ0 (x)
= 12 a0 + 32 a1 − 13
2 a 2 φ0 (x) + (a1 − 2a2 )φ1 (x) + a2 φ2 (x),
21
y por lo tanto cualquier polinomio cuadrático puede escribirse como una combinación lineal
de {φ0 , φ1 , φ2 }.
20
F
A
M
A
-F
o
ic
ér
um
.N
A
4
Clase 12 - Aproximación de funciones (3)
21
Definición 1. Una función (integrable) ω se llama función de peso en el intervalo I si
ω(x) ≥ 0 para todo x ∈ I, pero ω(x) 6= 0 para todo x en cualquier subintervalo de I, es decir
20
ω no puede ser constantemente cero en un subintervalo de I.
Las funciones de peso se utilizarán en la definición de la medida del error y permiten dar
más o menos importancia a las aproximaciones en ciertas partes del intervalo. Por ejemplo,
F
la función de peso definida por
A
1
ω(x) = √ para x ∈ (−1, 1)
1 − x2
M
pone menos énfasis cerca del origen y por el contrario mucho más cerca de los extremos del
intervalo. Ver Figura (1).
A
-F
o
ic
k=0
Notar que esto generaliza lo que vimos en la clase anterior tomando ω(x) ≡ 1 y φk (x) = xk
para k = 0, . . . , n.
Nuevamente, una condición necesaria para encontrar un minimizador en (a0 , . . . , an ) es que
∂ E/∂ a j = 0 para todo j = 0, . . . , n, esto es,
Z b n
∂E
=2 ω(x)[ f (x) − ∑ ak φk (x)] φ j (x) dx = 0, para j = 0, . . . , n.
∂aj a k=0
1
Así, obtenemos las ecuaciones normales para el caso general
n Z b Z b
∑ ak ω(x)φk (x)φ j (x) dx = ω(x) f (x)φ j (x) dx, para j = 0, . . . , n.
k=0 a a
21
(
Z b 0 si j 6= k
ω(x)φk (x)φ j (x) dx = (1)
a αj > 0 si j=k
20
las ecuaciones normales se podrían reducir a
Z b Z b
aj ω(x)(φ j (x))2 dx = ω(x) f (x)φ j (x) dx, para j = 0, . . . , n.
F
a a
A
Z b
a jα j = ω(x) f (x)φ j (x) dx, para j = 0, . . . , n,
y por lo tanto
a
M
A
Z b
1
aj = ω(x) f (x)φ j (x) dx, para j = 0, . . . , n.
αj a
-F
j=0
Luego
A
Z b Z b n n Z b
0= 0 φk (x) ω(x) dx = ∑ c j φ j (x) φk (x) ω(x) dx = ∑ c j φ j (x) φk (x) ω(x) dx = ck αk ,
a a j=0 j=0 a
como αk > 0, entonces ck = 0 para todo k = 0, . . . , n, y por lo tanto las funciones son lineal-
mente independientes.
Lema 2. Sea el conjunto de funciones polinomiales {φ0 , φ1 , . . . , φn } es un conjunto ortogonal
en el intervalo [a, b] con respecto a una función de peso ω, con grado de φk igual a k y Qk (x)
es un polinomio de grado k menor estricto que n entonces
Z b
ω(x)φn Qk (x) dx = 0.
a
2
Demostración. Como Qk (x) tiene grado k se sabe que existen coeficientes c0 , . . . , ck tales
que
k
Qk (x) = ∑ c j φ j (x).
j=0
Luego
Z b k Z b
21
ω(x)φn (x)Qk (x) dx = ∑ cj ω(x)φn (x)φ j (x) dx = 0,
a j=0 a
20
En resumen, con lo anterior se ha probado el siguiente teorema
F
con respecto a una función de peso ω definida en [a, b], entonces la aproximación por cua-
drados mínimos a una función continua f respecto al peso ω está dada por
A
n
P(x) = ∑ ak φk (x),
donde para cada k = 0, . . . , n,
M k=0
A
Rb Z b
a ω(x) f (x)φk (x) dx
1
-F
funciones ortogonales.
ic
ω
φ0 (x) = 1, φ1 (x) = x − B1 para cada x ∈ [a, b],
um
donde Rb
xω(x)(φ0 (x))2 dx
B1 = Rab ,
2
a ω(x)(φ0 (x)) dx
y para k ≥ 2
.N
φk (x) = (x − Bk ) φk−1 (x) −Ck φk−2 (x) para cada x ∈ [a, b],
A
donde Rb Rb
a xω(x)(φk−1 (x))2 dx a xω(x)φk−1 (x)φk−2 (x) dx
Bk = R b y Ck = Rb .
a ω(x)(φk−1 (x))2 dx a ω(x)(φk−2 (x))2 dx
3
Ahora supongamos, por hipótesis inductiva, que {φ0 , φ1 , . . . , φk−1 } son ortogonales, y vea-
mos que φk es ortogonal a todas las funciones anteriores.
Z b Z b
ω(x)φk (x)φk−1 (x) dx = ω(x) ((x − Bk ) φk−1 (x) −Ck φk−2 (x)) φk−1 (x) dx
a a
Z b Z b
2
= xω(x)(φk−1 (x)) dx − Bk ω(x)(φk−1 (x))2 dx
a a
21
Z b
−Ck ω(x)φk−2 (x)φk−1 (x) dx = 0,
a
20
pues los dos primeros términos suman cero por la definición de Bk y el último término es
cero por la hipótesis inductiva.
Además,
F
Z b Z b
ω(x)φk (x)φk−2 (x) dx = ω(x) ((x − Bk ) φk−1 (x) −Ck φk−2 (x)) φk−2 (x) dx
A
a a
Z b Z b
= xω(x)φk−1 (x)φk−2 (x) dx − Bk ω(x)φk−1 (x)φk−2 (x) dx
a
−CkM Z b
a
ω(x)(φk−2 (x))2 dx = 0,
a
A
pues el primero y el tercer término suman cero por la definición de Ck y el segundo término
-F
xφi (x) = φi+1 (x) + Bi+1 φi (x) +Ci+1 φi−1 (x). (2)
ic
Luego
ér
Z b Z b
ω(x)φk (x)φi (x) dx = ω(x) ((x − Bk ) φk−1 (x) −Ck φk−2 (x)) φi (x) dx
a a
um
Z b Z b
= xω(x)φk−1 (x)φi (x) dx − Bk ω(x)φk−1 (x)φi (x) dx
a a
Z b
−Ck ω(x)φk−2 (x)φi (x) dx.
a
.N
Los dos últimos términos son iguales a cero por la hipótesis inductiva. Usamos (2) para
analizar el primer término:
A
Z b Z b
xω(x)φk−1 (x)φi (x) dx = ω(x)xφi (x)φk−1 (x) dx
a a
Z b
= ω(x) (φi+1 (x) + Bi+1 φi (x) +Ci+1 φi−1 (x)) φk−1 (x) dx
a
Z b Z b
= ω(x)φi+1 (x)φk−1 (x) dx + Bi+1 ω(x)φi (x)φk−1 (x) dx
a a
Z b
= +Ci+1 ω(x)φi−1 (x)φk−1 (x) dx,
a
y estos tres términos son iguales a cero por la hipótesis inductiva si 0 ≤ i ≤ k − 3. Por lo tanto
queda demostrada la ortogonalidad en todos los casos.
4
Ejemplos:
1 3 6 3
φ0 (x) = 1, φ1 (x) = x, φ2 (x) = x2 − , φ3 (x) = x3 − x, φ4 (x) = x4 − x2 + , . . .
21
3 5 7 25
20
φk+1 (x) = cos(k arc cos(x)), para todo x ∈ I.
F
ex d k −x k
A
φk+1 (x) = (e x ), para todo x ∈ I.
k! dxk
M 2
- Polinomios de Hermite: I = (−∞, +∞), ω(x) = e−x para todo x ∈ I,
A
2 d k x2
φk+1 (x) = (−1)k ex e , para todo x ∈ I.
dxk
-F
o
ic
ér
um
.N
A
5
Clase 13 - Integración numérica
La integración numérica es una herramienta de gran utilidad en las siguientes aplicaciones:
- Se desea calcular la integral definida de f en el intervalo [a, b], pero f es muy complicada
o no tiene primitiva, como por ejemplo
21
Z 1
2
e−x dx
0
20
- no se tiene la función f en forma explícita sino sólo se conocen algunos valores funcionales,
por ejemplo una lista de pares ordenados (xi , yi ) para i = 0, . . . , n representados en un gráfico.
En ambos casos se desea estimar aproximadamente el valor de
F
Z b
f (x)dx.
A
a
Los métodos básicos que veremos son también conocidos como cuadratura numérica y
tienen la forma
M n
∑ ai f (xi).
i=0
A
Los métodos de cuadratura numérica se basan en interpolación numérica. Consideremos el
-F
conjunto de nodos distintos {x0 , . . . , xn } en el intervalo [a, b]. Sea Pn el polinomio, que inter-
pola a f en esos puntos, en la forma de Lagrange y en el término del error correspondiente
n
f n+1 (ξx ) n
Pn (x) = ∑ f (xi )Li (x), en (x) = (x − xi ),
(n + 1)! ∏
o
i=0 i=0
ic
Rb
a f (x) dx = Pn (x) dx + en (x) dx
a a
Z b n
(ξx ) n
Z b (n+1)
f
um
=
a i=0
∑ f (xi)Li(x) dx + a (n + 1)! ∏(x − xi) dx
i=0
n Z b n
1 (n+1)
= ∑ ai f (xi ) + f (ξx ) ∏(x − xi ) dx
i=0 (n + 1)! a i=0
.N
Z b
para algún ξx ∈ (x0 , xn ) y donde ai = Li (x) dx para i = 0, . . . , n.
a
Por lo tanto las fórmulas de cuadratura numérica están dadas por
A
Z b n
f (x)dx ≈ ∑ ai f (xi ),
a i=0
Cuando los puntos de interpolación estén igualmente espaciados, estas reglas o fórmulas se
llaman cuadratura de Newton–Cotes. Inicialmente veremos las reglas simples y luego las
reglas compuestas.
1
Reglas simples
21
Z b
Para integrar f (x) dx vamos a considerar dos puntos x0 = a, x1 = b y h = b − a = x1 − x0 .
a
20
Ver Figura 1. De esta manera se aproxima a la función f por el polinomio interpolante
x − x1 x − x0
P1 (x) = f (x0 ) + f (x1 ), (1)
x0 − x1 x1 − x0
F
y su correspondiente error es
A
f 00 (ξx )
e1 (x) = (x − x0 )(x − x1 ). (2)
2!
M
A
-F
o
ic
Z b Z b
x − x1 x − x0
f (x) dx ≈ f (x0 ) + f (x1 ) dx
a a x0 − x1 x1 − x0
um
Z b Z b
x − x1 x − x0
= f (x0 ) dx + f (x1 ) dx.
a x0 − x1 a x1 − x0
(x1 − x0 ) b − a h
.N
Para poder expresar el error de la integral numérica de una manera más simple se utiliza
el siguiente teorema de Análisis Matemático, cuya demostración no se incluirá pero puede
consultarse en libros de Cálculo.
Teorema 1. Supongamos que f ∈ C[a, b], que g es una función integrable en [a, b] y que g
no cambia de signo en [a, b]. Entonces existe c ∈ (a, b) tal que
Z b Z b
f (x)g(x) dx = f (c) g(x) dx.
a a
Rb 1 Rb
En particular, si g(x) ≡ 1, entonces a f (x) dx = f (c)(b − a), esto es, f (c) = b−a a f (x) dx.
2
Como g(x) = (x − x0 )(x − x1 ) = (x − a)(x − b) no cambia de signo en [a, b] y aplicando el
teorema anterior se sabe que existe ξ independiente de x tal que
Z b Z b
f 00 (ξx )(x − a)(x − b) dx = f 00 (ξ ) (x − a)(x − b) dx
a a
Z b
= f 00 (ξ ) (x2 − (a + b)x + ab) dx
21
a
b
x3 (a + b) 2
00
= f (ξ ) − x + abx . (3)
20
3 2 a
Luego,
3 b
x (a + b) 2 b3 ab2 b3 a3 a3 a2 b
F
− x + abx = − − + ab2 − + + − a2 b
3 2 a 3 2 2 3 2 2
A
1 3
= (2b − 3ab2 − 3b3 + 6ab2 − 2a3 + 3a3 + 3a2 b − 6a2 b)
6
=M 1
6
(−b3 + 3ab2 + a3 − 3a2 b)
A
(a − b)3 (b − a)3 h3
=− =− .
-F
= (4)
6 6 6
Entonces, por (2), (3) y (4), el error de la fórmula del trapecio está dado por:
Z b
1 b 00
Z
ET = E1 (x) = e1 dx = f (ξx )(x − a)(x − b) dx
o
2! a
a 3
h3 (b − a)3 00
ic
1 00 h
= f (ξ ) − = − f 00 (ξ ) = − f (ξ ),
2! 6 12 12
ér
dada por
Z b
(b − a) h
f (x) dx ≈ IT ( f ; a, b) = [ f (a) + f (b)] = [ f (a) + f (b)] ,
a 2 2
.N
y su correspondiente error es
(b − a)3 00 h3
ET = − f (ξ ) = − f 00 (ξ ),
12 12
A
3
b2 − a2
Z b
- Si f (x) ≡ x, por un lado x dx = ,
a 2
(b − a) b2 − a2
y por otro, IT ( f ; a, b) = (a + b) = . Luego, la regla del trapecio integra
2 2
exactamente cualquier polinomio de grado 1.
b3 − a3
Z b
- Si f (x) ≡ x2 , entonces x2 dx = ,
21
a 3
(b − a) 2 b3 + a2 b − ab2 − a3
y en cambio, IT ( f ; a, b) = (a +b2 ) = . Por lo tanto la regla
2 2
20
del trapecio no integra exactamente a polinomios de grado 2.
Regla de Simpson
F
Z b
A
En este caso, para integrar f (x) dx vamos a considerar tres puntos de interpolación x0 = a,
a
a+b b−a
x1 =
2
y x2 = b. Si llamamos h =
2
M entonces, x1 = x0 + h y x2 = a + 2h = b. Ver
Figura 2. Con tres puntos (n = 2) se construye un polinomio interpolante de grado 2, de
manera análoga a la aplicada en la regla del trapecio.
A
-F
o
ic
ér
Z b
h (b − a)/2 a+b
f (x) dx ≈ IS ( f ; a, b) = [ f (a) + 4 f (a + h) + f (a + 2h)] = f (a) + 4 f ( ) + f (b) ,
a 3 3 2
y su correspondiente error es
A
Por último veremos 2 reglas más sencillas que utilizan un único punto de interpolación.
4
Regla del rectángulo
Esta regla utiliza sólo uno de los extremos de integración para construir el polinomio inter-
polante, por ejemplo se considera sólo x0 = a y por lo tanto el polinomio interpolante será
una constante (n = 0). Ver Figura 3.
21
20
F
A
Figura
Figura .2. 3: ReglaRegla
Gráfica del rectángulo
del Rectángulo
y su correspondiente error es
-F
(b − a)2 0
ER = f (ξ ),
2
para algún ξ ∈ (a, b).
Observación: también es posible tomar x0 = b, haciendo los cambios correspondientes en
o
la fórmula de IR , Además, como el término del error tiene una derivada de orden 1, la regla
ic
Esta regla también utiliza sólo un punto pero en este caso es el punto medio del intervalo
x0 = (a + b)/2. Así, el polinomio interpolante será una constante (n = 0). Ver Figura 4.
.N
A
5
y su correspondiente error es
(b − a)3 00
EPM = f (ξ ),
24
para algún ξ ∈ (a, b).
Observación: como el término del error tiene una derivada de orden 2, la regla del punto
medio integrará exactamente a polinomios de grado 1.
21
La siguiente definición es de fundamental importancia en el estudio de las reglas de integra-
20
ción numérica.
F
k = 0, . . . n.
A
Así los métodos considerados en esta clase tienen la siguiente precisión.
M
Regla de cuadratura
Rectángulo
Precisión
0
A
Punto medio 1
Trapecio 1
-F
Simpson 3
En la siguiente tabla se resumen las reglas simples de integración numérica para estimar
o
Z b
f (x) dx:
ic
a
ér
(b−a)2 0
Rectángulo 1 f (a)(b − a) 2 f (ξ ) 0
(b−a)3 00
Punto medio 1 f ( a+b
2 )(b − a) 24 f (ξ ) 1
.N
(b−a) 3
Trapecio 2 2 [ f (a) + f (b)] − (b−a) 00
12 f (ξ ) 1
(b−a)/2 5
f (a) + 4 f ( a+b − ((b−a)/2) f (4) (ξ )
Simpson 3 3 2 )+ f (b) 90 3
A
6
Clase 14 - Integración numérica (2)
Las fórmulas de Newton-Cotes y las reglas simples de integración numérica en general no
son eficientes cuando se desea calcular una integral definida en un intervalo grande. Por un
lado, se requerirían más puntos de interpolación y los valores de los coeficientes son más
difíciles de calcular. Por otro lado, se sabe que los polinomios interpolantes suelen tener un
21
comportamiento oscilatorio cuando se utilizan muchos puntos de interpolación. Las reglas
compuestas que veremos a continuación se basan en particionar el intervalo de integración y
usar las reglas simples que ya vimos.
20
Reglas compuestas
F
Para entender mejor en que consisten las reglas compuestas se analizará un ejemplo aplican-
do la Regla de Simpson.
A
Z 4
Sea desea estimar el valor de ex dx. Esta integral es fácil de calcular con métodos analíti-
cos: Z 4
M 0
Z 4
2
ex dx ≈ (e0 + 4e2 + e4 ) = 56.76958 . . .
0 3
esta estimación tendría un error aproximado de −3.17143 . . .
o
Ahora, si dividimos el intervalo en dos: [0, 4] = [0, 2] ∪ [2, 4], y aplicamos la Regla de Sim-
ic
Z 4 Z 2 Z 4
ex dx = ex dx + ex dx
0 0 2
1 0 1 + e2 ) + 1 (e2 + 4e3 + e4 )
≈ (e + 4e
um
3 3
1 0 1 2 3 4
≈ 3 (e + 4e + 2e + 4e + e ) = 53.8635 . . . ,
Si dividimos otra vez el intervalo [0, 4] = [0, 1] ∪ [1, 2] ∪ [2, 3] ∪ [3, 4], y aplicamos la Regla
de Simpson en cada subintervalo se tiene
Z 4 Z 1 Z 2 Z 3 Z 4
A
x x x x
e dx = e dx + e dx + e dx + ex dx
0 0 1 2 3
1 0 1/2 + e) + 1 (e + 4e3/2 + e2 )
≈ 6 (e + 4e 6
= 53.61622 . . . ,
1
Regla compuesta de Simpson
21
Z b n/2 Z x2 j
f (x) dx = ∑ f (x) dx
a j=1 x2 j−2
20
n/2 n h5 (4)
h o
= ∑ f (x2 j−2 ) + 4 f (x2 j−1 ) + f (x2 j ) − f (ξ j ) ,
j=1 3 90
F
para algún ξ j ∈ (x2 j−2 , x2 j ), con j = 1, . . . , (n/2), y f ∈ C4 [a, b].
Notar que para j = 1, . . . , (n/2)−1, el término f (x2 j ) aparece en los subintervalos [x2 j−2 , x2 j ]
A
y [x2 j , x2 j+2 ], entonces:
Z b
a
f (x) dx =
hn
3 M
(n/2)−1 n/2 o h5 n/2
f (x0 ) + 2 ∑ f (x2 j ) + 4 ∑ f (x2 j−1 ) + f (xn ) −
j=1 j=1 90 ∑ f (4)(ξ j ),
j=1
A
para algún ξ j ∈ (x2 j−2 , x2 j ), con j = 1, . . . , (n/2), y f ∈ C4 [a, b].
-F
n/2
n n
mı́n f (4) (x) ≤ ∑ f (4)(ξ j ) ≤ máx f (4) (x)
ér
Por el teorema del Valor Intermedio para funciones continuas, existe µ ∈ (a, b) tal que
2 n/2 (4)
.N
(4)
f (µ) = ∑ f (ξ j ),
n j=1
y por lo tanto,
A
n/2
n
∑ f (4)(ξ j ) = 2 f (4)(µ). (1)
j=1
Usando (1) y que h = (b − a)/n, el término del error en la regla compuesta de Simpson puede
ser reformulado independientemente de ξ j :
2
Teorema 1. Sean f ∈ C4 [a, b], n par, h = (b − a)/n y x j = a + jh, para j = 0, . . . , n. Entonces
existe µ ∈ (a, b) tal que la regla compuesta de Simpson para n subintervalos está dada por:
Z b (n/2)−1 n/2 o (b − a)
hn
f (x) dx = f (x0 ) + 2 ∑ f (x2 j ) + 4 ∑ f (x2 j−1 ) + f (xn ) − h4 f (4) (µ).
a 3 j=1 j=1 180
21
A continuación se presenta el pseudocódigo de la regla compuesta de Simpson.
20
Algoritmo de la regla compuesta de Simspon
F
A
Dados los siguientes datos de entrada: a: extremo inferior de integración, b: extremo superior
de integración y n un entero positivo par correspondiente al número de subintervalos en que
se particiona el [a, b].
input a, b, n M
A
h ← (b − a)/n
sx0 ← f (a) + f (b)
-F
x←a
ic
for j = 1, 2, . . . , n − 1 do
x ← x+h
ér
if j es par then
um
endif
endfor
sx ← (sx0 + 2 sx2 + 4 sx1) ∗ h/3
A
output sx
end
La deducción de esta regla se hace manera análoga a lo que se hizo con la regla compuesta
de Simpson. En este caso comenzaremos enunciando el siguiente teorema.
3
Teorema 2. Sean f ∈ C2 [a, b], n un número entero positivo, h = (b − a)/n y x j = a + jh,
para j = 0, . . . , n. Entonces existe µ ∈ (a, b) tal que la regla compuesta del Trapecio para
n subintervalos está dada por:
Z b n−1 o (b − a)
hn
f (x) dx = f (a) + 2 ∑ f (x j ) + f (b) − h2 f 00 (µ).
a 2 j=1 12
21
Demostración. Se comienza particionando el intervalo [a, b] en n subintervalos y luego se
aplica la regla simple del Trapecio en cada subintervalo (Figura (1)):
20
Z b n Z xj
f (x) dx = ∑ f (x) dx
a j=1 x j−1
n n h3 00
h
F
o
= ∑ f (x j−1 ) + f (x j ) − f (ξ j )
j=1 2 12
A
para algún ξ j ∈ (x j−1 , x j ), con j = 1, . . . , n, y f ∈ C2 [a, b].
M
Notar que los valores f (x j ) para j = 1, . . . , n − 1, aparecen dos veces en la última expresión,
entonces se puede escribir
A
Z b n−1 o h3 n
hn
f (x) dx = f (x0 ) + 2 ∑ f (x j ) + f (xn ) − ∑ f 00(ξ j ),
-F
a 2 j=1 12 j=1
12 j=1
para algún ξ j ∈ (x j−1 , x j )), con j = 1, . . . , n. Como f 00 es continua en [a, b], entonces por el
Teorema de valores extremos para funciones continuas, se tiene que
4
Por el teorema del Valor Intermedio para funciones continuas, existe µ ∈ (a, b) tal que
n
1
f 00 (µ) = ∑ f 00(ξ j ),
n j=1
y por lo tanto,
n
∑ f 00(ξ j ) = n f 00(µ). (2)
21
j=1
Luego Usando (2) y que h = (b − a)/n, el término del error en la regla compuesta del Trape-
20
cio puede ser reformulado independientemente de ξ j :
n
h3 h3 (b − a) 2 (00)
E( f ) = −
12 ∑ f 00(ξ j ) = − 12 n f 00(µ) = − 12
h f (µ).
j=1
F
A
El pseudocódigo es muy fácil de deducir a partir la fórmula de la regla compuesta del Tra-
pecio.
M
Reglas compuestas del Punto Medio y del Rectángulo
A
Las deducciones de las reglas compuestas del Punto Medio y del Rectángulo son análogas
-F
a las dos anteriores por lo que sólo enunciamos los teoremas siguientes. Los respectivos
pseudocódigos se deducen fácilmente a partir de estos teoremas.
Teorema 3. Sean f ∈ C2 [a, b], n un número par, h = (b − a)/(n + 2) y x j = a + ( j + 1)h,
o
para j = −1, 0, . . . , n + 1. Entonces existe µ ∈ (a, b) tal que la regla compuesta del Punto
Medio para n + 2 subintervalos está dada por:
ic
Z b n/2
(b − a) 2 00
f (x) dx = 2h ∑ f (x2 j ) + h f (µ).
ér
a j=0 6
Teorema 4. Sean f ∈ C1 [a, b], n un número entero positivo, h = (b − a)/n y x j = a + jh, para
j = 0, . . . , n. Entonces existe µ ∈ (a, b) tal que la regla compuesta del Rectángulo para n
subintervalos está dada por:
Z b n−1
(b − a) 0
f (x) dx = h ∑ f (x j ) + h f (µ).
a j=0 2
5
Ejemplo: si bien es posible calcular exactamente la integral
Z π
sen x dx = [− cos x]π0 = [cos x]0π = 2,
0
se desea determinar cuál es el entero n para estimar esta integral numéricamente con un error
menor que 0.00002, utilizando las diferentes reglas compuestas de integración.
21
- Regla compuesta del Rectángulo.
Usamos la expresión del error para despejar n y el hecho que h = (b − a)/n:
20
(b − a) 0
ER ( f ) = h f (µ),
2
luego,
F
(π − 0) π − 0 π2
|ER ( f )| = cos(µ) = < 0.00002,
2 n 2n
A
de aquí resulta que n > 246741.
M
- Regla compuesta del Punto Medio.
Usamos la expresión del error para despejar n y el hecho que h = (b − a)/(n + 2):
A
(b − a) 2 00
EPM ( f ) = h f (µ),
-F
6
luego,
2
π3
(π − 0) π −0
|EPM ( f )| = (− sen(µ)) = < 0.00002,
o
(b − a) 2 00
ET ( f ) = − h f (µ),
12
luego,
.N
2
π3
(π − 0) π −0
|ET ( f )| = − (− sen(µ)) = < 0.00002,
12 n 12n3
6
En la siguiente tabla se resumen las reglas compuestas de integración numérica para estimar
Z b
f (x) dx:
a
21
Regla Fórmula Error
n−1
(b−a) 0
Rectángulo h ∑ f (x j ) 2 h f (µ)
20
j=0
n/2
(b−a) 2 00
Punto medio 2h ∑ f (x2 j ) 6 h f (µ)
j=0
F
n−1
hn o
Trapecio f (a) + 2 ∑ f (x j ) + f (b) − (b−a) 2 00
12 h f (µ)
2
A
j=1
(n/2)−1 n/2
hn o
Simpson f (x0 ) + 2 ∑ f (x2 j ) + 4 ∑ f (x2 j−1 ) + f (xn ) − (b−a) 4 (4) (µ)
180 h f
3
M j=1 j=1
A
-F
o
ic
ér
um
.N
A
7
Clase 15 - Integración numérica (3)
Reglas gaussianas
21
Z b n
f (x) dx ≈ ∑ ai f (xi ), (1)
a i=0
20
y son exactas para polinomios de grado ≤ n. En esta fórmula los nodos x0 , x1 , . . . , xn son
conocidos a priori y los coeficientes a0 , a1 , . . . , an se determinan unívocamente de manera
que (1) sea una igualdad, para ciertos polinomios.
F
Por ejemplo, si usáramos la regla simple del Trapecio, cuyos nodos son los extremos del
intervalo:
A
M
A
-F
En cambio, si se pudieran elegir adecuadamente los dos nodos se podría mejorar la precisión:
ic
ér
um
.N
Recordemos que:
A
1
nodos x0 , . . . , xn y los (n + 1) coeficientes a0 , . . . , an de manera que la regla de cuadratura con
funciones de peso
Z b n
w(x) f (x) dx ≈ ∑ ai f (xi ), (2)
a i=0
sea exacta para polinomios de grado ≤ 2n + 1.
Antes de estudiar el caso general, veamos el siguiente ejemplo.
21
Ejemplo: tomando la función de peso w(x) = 1, determinar los nodos x0 y x1 y los coefi-
cientes a0 y a1 tal que la regla de cuadratura
20
Z 1
f (x) dx ≈ a0 f (x0 ) + a1 f (x1 ), (3)
−1
F
sea exacta para polinomios p de grado ≤ 2 · 1 + 1 = 3.
A
- Si grado(p) = 0, basta considerar p(x) ≡ 1, entonces
M 2=
Z 1
−1
1 dx = a0 + a1 . (4)
A
- Si grado(p) = 1, basta considerar p(x) = x, entonces
-F
Z 1
0= x dx = a0 x0 + a1 x1 . (5)
−1
Z 1
2
= x2 dx = a0 x02 + a1 x12 . (6)
3 −1
ér
Z 1
0= x3 dx = a0 x03 + a1 x13 . (7)
−1
.N
Si a0 = a1 = 0, por (4) se tiene un absurdo, por lo tanto no pueden ser simultáneamente cero.
Supongamos ahora uno de los dos coeficientes es cero y el otro no, por ejemplo que a0 = 0
y a1 6= 0. Luego por (4) se deduce que a1 = 2, y por (5) se tiene que x1 = 0, y por (6) se
A
2
Si x0 = x1 , por (4) y (5) se obtendría que x0 = 0 y por lo tanto es absurdo. Por lo tanto,
x0 = −x1 .
Usando√(6) se sabe√que (a0 + a1 )x02 = 2/3, y entonces x02 = 1/3 y de aquí se tiene que
3 3
x0 = − y x1 = .
3 3
Por último, usando (4) y (5) se obtiene que a0 = a1 = 1.
21
El teorema siguiente, debido a Gauss, indica como deben elegirse los (n + 1) nodos de ma-
20
nera de obtener una fórmula de cuadratura que sea exacta para polinomios de hasta grado
2n + 1. El resultado será enunciado y probado para una función de peso w general, pero
puede ser aplicado al caso simple donde w(x) ≡ 1.
F
Teorema 1. Sea w una función de peso positiva definida en [a, b] y q un polinomio no nulo de
grado exactamente (n + 1) que es ortogonal a todo polinomio p de grado ≤ n (con respecto
A
a w), es decir,
Z b
M a
q(x)p(x)w(x) dx = 0.
a i=0
Z b n x−xj
con ai = w(x) ∏ dx, será exacta para todo polinomio f de grado ≤ 2n + 1.
a j=0 xi − x j
o
j6=i
ic
Luego
Z b n Z b n x−xj n
.N
3
por hipótesis, pues el grado de q es n + 1.
Además, como xi es una raíz de q(x) para i = 0, . . . , n, se tiene que
f (xi ) = p(xi )q(xi ) + r(xi ) = r(xi ), para i = 0, . . . , n. (12)
21
Z b n
r(x)w(x) dx = ∑ ai r(xi ). (13)
a i=0
20
Finalmente, por (10), (11), (12) y (13), se tiene que
Z b Z b Z b n n
f (x)w(x) dx = (p(x)q(x) + r(x))w(x) dx = r(x)w(x) dx = ∑ ai r(xi ) = ∑ ai f (xi ),
a a a i=0 i=0
F
que es lo que se quería probar.
A
El teorema anterior afirma que las raíces de los polinomios ortogonales son los nodos más
convenientes para tener más precisión en las reglas gaussianas. El siguiente resultado resume
M
algunas propiedades importantes de estos puntos. La demostración puede consultarse en los
libros de la Bibliografía.
A
Teorema 2. Sean w una función de peso en [a, b] y {φ0 , . . . , φn } un conjunto polinomios tales
que grado(φk ) = k y son w-ortogonales en [a, b] en el sentido que
-F
Z b
φi (x)φ j (x)w(x) dx = 0, si i 6= j.
a
Si x0 , . . . , xk−1 son las k raíces de φk entonces tales raíces son reales, simples y pertenecen
o
1
P0 (x) ≡ 1, P1 (x) = x, P2 (x) = x2 − ,
3
3 6 3
P3 (x) = x3 − x, P4 (x) = x4 − x2 + .
.N
5 7 35
Para estos polinomios se conocen sus raíces así como los coeficientes ai de las fórmulas de
cuadratura:
A
4
La siguiente muestra como es posible utilizar las reglas gaussianas en diferentes intervalos.
Observación: supongamos que se conoce una fórmula de integración numérica
Z 1 n
f (x) dx ≈ ∑ ai f (xi ),
−1 i=0
21
para valores determinados de los coeficientes ai , para i = 0, . . . , n, que dependen de los nodos
x0 , . . . , xn ∈ [−1, 1] y se desea obtener una fórmula de integración numérica para
20
Z b
f (x) dx.
a
Esto se puede hacer muy fácilmente haciendo el cambio de variables t : [a, b] −→ [−1, 1],
F
dado por t = αx + β , donde los coeficientes α y β se determinan fácilmente resolviendo el
sistema lineal
A
α a + β = −1
α b+β = 1
y por lo tanto t =
b−a
2
b−a
x−
a+b
b−a M
. Entonces x =
b−a
2
t+
a + b dx
2
y
dt
=
b−a
2
, es decir,
A
dx = dt. Luego,
2
-F
Z b Z 1 Z 1
b−a a+b b−a b−a b−a a+b
f (x) dx = f t+ dt = f t+ dt.
a −1 2 2 2 2 −1 2 2
Z 1.5
2
e−x dx
ic
usando las reglas gaussianas con la función de peso w(x) ≡ 1 y usando polinomios de grado
ér
y = 4 x − 5, x= y+ .
4 4
Luego,
Z 1.5 Z 1
−x2 1 2 /16
e−(y+5)
A
e dx = dy.
1 4 −1
5
Clase 16 - Resolución de sistemas lineales
El problema
21
a11 x1 + a12 x2 + a13 x3 + . . . + a1n xn = b1
21 x1 + a22 x2 + a23 x3 + . . . + a2n xn = b2
a
a31 x1 + a32 x2 + a33 x3 + . . . + a3n xn = b3
20
.. .. .. .. .. .. .. .. .. .. ..
. . . . . . . . . . .
an1 x1 + an2 x2 + an3 x3 + . . . + ann xn = bn
F
a11 a12 a13 . . . a1n x1 b1
A
a21 a22 a23 . . . a2n x2 b2
a31 a32 a33 . . . a3n x3 b3
= ,
..
.
M
..
.
..
.
.. ..
..
an1 an2 an3 . . . ann
..
.
xn
..
bn
.
A
es decir A x = b, con A ∈ Rn×n y b ∈ Rn . Así, el problema de esta unidad puede formularse
-F
de la siguiente manera:
Este es uno de los problemas más importantes en Análisis Numérico en general porque la
resolución de muchos problemas de diferentes disciplinas o aplicaciones termina en la reso-
ic
lución de sistemas lineales. Para lo cual es muy importante disponer de métodos numéricos
y computacionales que sean rápidos y eficientes.
ér
Teorema 1. para toda matriz A ∈ Rn×n , las siguientes propiedades son equivalentes:
3. det(A) 6= 0;
A
Si bien se conocen métodos matemáticos de Álgebra lineal para resolver ese sistema lineal,
nuestro objetivo será estudiar métodos y algoritmos numéricos para resolver este problema
de una forma sistemática y eficiente. Esta eficiencia estará asociada al costo computacional
de un algoritmo. Este costo se mide en términos de cantidad de operaciones y en espacio
de almacenamiento. Dado que los problemas que estudiaremos son simples y pequeños nos
1
ocuparemos sólo de contabilizar la cantidad de operaciones que realiza cada algoritmo para
obtener la solución buscada.
Antes de estudiar el caso de una matriz general, consideraremos la resolución de sistemas
lineales de dos casos muy simples.
Sistemas diagonales
21
Definición 1. Una matriz A es diagonal si y sólo si ai j = 0 para i 6= j.
20
Sea A ∈ Rn×n una matriz diagonal
a11 0 ... 0
0 a22 ... 0
F
A= .
.. .. .. ..
. . . .
A
0 0 . . . ann
Luego A es no singular si y sólo sí aii 6= 0, i = 1, . . . , n si y sólo si det(A) = a11 a22 . . . ann 6= 0.
M
Entonces Ax = b si y sólo si aii xi = bi , para i = 1, . . . , n, si y sólo si xi =
bi
aii
, para i = 1, . . . , n.
A
Algoritmo 1: resolución de sistema lineal con matriz diagonal.
-F
input n, A, b
for i = 1, . . . , n do
xi ← bi /aii
o
output i, xi
ic
end for
ér
end
um
Costo computacional: n operaciones (productos) en punto flotante, y así se tiene O(n) flops.
Observación: notar que como la matriz A es diagonal y no singular, los únicos elementos no
.N
nulos están precisamente en la diagonal. Entonces, sería suficiente almacenar los elementos
diagonales de A en un vector d = diag(A), y así calcular x(i) = b(i)/d(i) para i = 1, . . . , n.
A
Sistemas triangulares
A ∈ Rn×n es triangular inferior y no singular si y sólo si det(A) = a11 a22 . . . ann 6= 0, con
a11 0 . . . 0
a21 a22 . . . 0
A= . .
. .. . .
. . . 0
an1 an2 . . . ann
2
Entonces resolver Ax = b es equivalente a
x1 = b1 /a11
1
x2 = (b2 − a21 x1 )
a11 x1 = b1
a22
.. ..
a21 x1 + a22 x2 = b2
.. ..
. .
. . i−1
1
21
=⇒ xi = (bi − ∑ ai j x j )
ai1 x1 + · · · + aii xi = bi aii
j=1
.. ..
.. ..
. .
. .
20
an1 x1 + · · · + ann xn = bn
n−1
1
xn = (b n − ∑ an j x j )
ann
j=1
F
Algoritmo 2: resolución de sistema lineal con matriz triangular inferior.
A
input n, A, b
for i = 1, . . . , n do
xi ←
i−1
bi − ∑ ai j x j /aii
!
M (no sumar si i = 1)
A
j=1
output i, xi
-F
end for
end
Costo computacional: vamos a contar las sumas/restas y productos/ divisiones que se reali-
o
i sumas productos
ér
1 0 1
2 1 2
3 2 3
um
.. .. ..
. . .
n n-1 n
(n − 1)n n(n + 1)
Total
.N
2 2
(n − 1)n n(n + 1)
Así, la cantidad total de operaciones es: + = n2 , es decir O(n2 ) flops.
2 2
A
n
n(n + 1)
(Recordar que ∑i= 2
).
i=1
3
Entonces resolver Ax = b es equivalente a
xn = bn /ann
1
xn−1 = (bn−1 − an−1,n xn )
a11 x1 + a12 x2 + · · · + a1n xn = b1
an−1,n−1
a22 x2 + · · · + a2n xn = b2
.. ..
21
.. ..
. .
. .
n
=⇒ 1
aii xi + · · · + ain xn = bi xi = (bi − ∑ ai j x j )
aii j=i+1
.. ..
20
. .
.. ..
. .
ann xn = bn
n
1
= (b1 − ∑ a1 j x j )
x1
a11 j=2
F
Algoritmo 3: resolución de sistema lineal con matriz triangular superior.
A
input n, A, b
for i = n, . . . , 1 do
n
! M
A
xi ← bi − ∑ ai j x j /aii (no sumar si i = n)
j=i+1
-F
output i, xi
end for
end
o
Costo computacional: de manera análoga al caso anterior se puede ver que la cantidad total
de operaciones es: n2 , es decir O(n2 ) flops.
ic
ér
Eliminación gaussiana
um
filas que permiten transformar un sistema lineal ampliado en otro sistema lineal ampliado
equivalente:
- reemplazar una fila por un múltiplo escalar (no nulo) de ella misma ( fi ← λ fi , λ 6= 0).
A
- restar a una fila un múltiplo escalar (no nulo) de otra fila ( fi ← fi − λ f j , λ 6= 0).
- intercambiar dos filas ( fi ↔ f j ).
4
Para fijar ideas, veamos con detalles cómo se hacen estos pasos en un ejemplo numérico.
Consideremos el sistema lineal:
6 −2 2 4 x1 12
12 −8 6 10 x2 34
=
3 −13 9 3 x3 27
−6 4 1 −18 −38
21
x4
Paso 1: para pasar de la matriz A a la matriz A(1) se deben realizar operaciones elementales
20
por filas para obtener ceros en las posiciones de la primera columna a partir de la segunda
fila hasta la última.
Para esto, denotemos fi a la i-ésima fila de A. Llamamos a f1 como la fila pivote y a a11 = 6
F
será llamado el elemento pivote. Entonces haremos las siguientes operaciones:
A
f2 ← f2 − 2 f1
f3 ← f3 − (1/2) f1
Mf4 ← f4 − (−1) f1
A
Así obtenemos,
6 −2 2 4 x1 12
-F
0 −4 2 2 x2 10
=
0 −12 8 1 x3 21
0 2 3 −14 x4 −26
o
Paso 2: para pasar de A(1) a A(2) se deben realizar operaciones elementales por filas para
obtener ceros en las posiciones de la segunda columna a partir de la tercera fila hasta la
ic
(1)
última. La fila pivote será la nueva f2 y el elemento pivote será a22 = −4. Se realizan las
siguientes operaciones:
ér
f3 ← f3 − 3 f2
f4 ← f4 − (−1/2) f2
um
Así obtenemos,
6 −2 2 4 x1 12
0 −4 2 2 x2 10
=
.N
0 0 2 −5 x3 −9
0 0 4 −13 x4 −21
Paso 3: por último, para pasar de A(2) a A(3) = U se deben realizar operaciones elementales
A
f4 ← f4 − 2 f3
Así obtenemos,
6 −2 2 4 x1 12
0 −4 2 2 x2 10
=
0 0 2 −5 x3 −9
0 0 0 −3 x4 −3
cuya solución es: x = (1, −3, −2, 1).
5
Observación 1: notar que, en general, al pasar de A a A(1) en el Paso 1, se obtiene una matriz
de la forma (1) (1) (1)
a11 a12 . . . a1n
a11 a12 . . . a1n
(1)
a21 . . . a2n 0 . . . a2n
Paso 1
.. −−−→
.. .. . . .. .. . . ..
. . . .
. . .
.
an1 an2 . . . ann 0 a
(1)
... a
(1)
21
n2 nn
20
ai j si i = 1, j = 1, . . . , n
bi si i = 1
ai j = 0
(1) si i = 2, . . . , n, j = 1 y bi =
(1)
ai1
ai1 bi − b1 si i = 2, . . . , n.
ai j −
a1 j si i = 2, . . . , n, j = 2, . . . , n a11
F
a11
A
Costo computacional: calcularemos por separado la cantidad de sumas/restas y de produc-
tos/divisiones.
Para el Paso 1: M
A
- Sumas/restas: (n − 1)2 (submatriz (n − 1) × (n − 1)) y (n − 1) (vector b).
-F
Observación 2: para el Paso 2, es análogo a lo anterior, pero se trabaja con una matriz de
un orden menor, es decir (n − 1) × (n − 1), y por lo tanto se requieren: (n − 1)2 − (n − 1)
ér
calcula
(k−1)
ai j si i = 1, . . . , k, j = 1, . . . , n
0 si i = k + 1, . . . , n, j = k
.N
(k)
ai j =
(k−1)
(k−1) aik (k−1)
a − a si i = k + 1, . . . , n, j = k + 1, . . . , n
ij
(k−1) k j
akk
A
y
(k−1)
b si i = 1, . . . , k
i
(k) (k−1)
bi = (k−1) aik (k−1)
bi
− (k−1) bk si i = k + 1, . . . , n.
akk
Ejercicio: mostrar que el costo total de operaciones del método de eliminación gaussiana
para resolver un sistema Ax = b, con A ∈ Rn×n es O( 23 n3 ) flops.
n n
n(n + 1) n(n + 1)(2n + 1)
Ayuda: recordar que ∑ k = y ∑ k2 = .
k=1 2 k=1 6
6
Algoritmo 4: eliminación gaussiana para obtener un sistema lineal con matriz triangular
superior.
input n, A, b
for k = 1, . . . , n − 1 do
for i = k + 1, . . . , n do
21
if (akk = 0) STOP!
m ← aik /akk
20
for j = k + 1, . . . , n do
ai j ← ai j − mak j
F
endfor ( j)
bi ← bi − mbk
A
endfor (i)
endfor (k)
output A, b
M
A
end
-F
Observación 3: si para algún k se tiene que akk = 0, se podría intercambiar la fila k por otra
fila j, con j = k + 1, . . . , n tal que a jk 6= 0. Esto se llama estrategia de pivoteo y no se estudia
um
en este curso.
Observación 4: notar que el ciclo ( j) del algoritmo, donde se van recorriendo las columnas
de la matriz, comienza desde k +1 y no desde k. Esto se debe a que, en cada fila, el coeficiente
.N
Por último enunciamos un resultado que da condiciones suficientes para poder aplicar elimi-
nación gaussiana para resolver un sistema lineal.
7
Clase 17 - Resolución de sistemas lineales (2)
El problema
21
Factorización LU
20
Vimos que, usando eliminación gaussiana, esto se puede resolver con un costo computacional
de O( 32 n3 ) flops. Este costo computacional se debe principalmente a las operaciones que se
deben realizar para transformar la matriz A en una matriz triangular superior U, que es mucho
F
mayor que la cantidad de operaciones que se realizan para transformar el vector b en otro
vector y.
A
Ahora supongamos que se deben resolver varios sistema lineales Ax = b, con la misma matriz
A y diferentes vectores b. Sería poco eficiente repetir todas las operaciones elementales por
M
fila del proceso de eliminación gaussiana siendo que sólo el vector b es modificado y la
matriz A se mantiene igual.
A
La idea de la factorización LU consiste en factorizar la matriz como un producto de dos
matrices más simples: A = LU, donde L es una matriz triangular inferior con elementos
-F
1 0 0 ... 0 u11 u12 u13 . . . u1n a11 a12 a13 . . . a1n
l21 1 0 . . . 0 0 u22 u23 . . . u2n a21 a22 a23 . . . a2n
l31 l32 1 . . . 0 0 0 u . . . u a31 a32 a33 . . . a3n
33 3n = .
.. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.N
. . . . . . . . . . . . . . .
ln1 ln2 ln3 . . . 1 0 0 0 . . . unn an1 an2 an3 . . . ann
a1 j = 1 u1 j + 0 u2 j + 0 u3 j + · · · + 0 un j ,
por lo tanto,
u1 j = a1 j , para j = 1, . . . , n.
1
por lo tanto,
ai1
li1 = , para i = 2, . . . , n.
u11
Ahora, supongamos conocidas las (k − 1) filas de U y (k − 1) columnas de L y vamos a
determinar la fila k de U y la columna k de L.
Si multiplicamos la fila k de L por la columna j de U para j = k, . . . , n, obtenemos:
21
k−1
ak j = ∑ lkmum j + 1 uk j ,
m=1
20
por lo tanto,
k−1
uk j = ak j − ∑ lkmum j , para j = k, . . . , n.
m=1
F
Si multiplicamos cada fila de L, desde la k + 1 hasta la última, por la columna k de U,
A
obtenemos:
k−1
aik = ∑ limumk + lik ukk ,
por lo tanto,
1
M
k−1
m=1
A
lik = (aik − ∑ lim umk ) para i = k + 1, . . . , n.
ukk m=1
-F
input n, A = (ai j )
ic
for k = 1, . . . , n do
for j = k, . . . , n do
ér
k−1
uk j ← ak j − ∑ lkmum j
um
m=1
end for ( j)
for i = k + 1, . . . , n do (no ejecutar si k = n)
.N
k−1
1
lik ← (aik − ∑ lim umk )
ukk m=1
2
Demostración. La prueba se hará por inducción en la dimensión de la matriz.
Si n = 1, entonces si A = LU, basta tomar L = [1] y U = [a11 ]. También se cumple que
det(A) = u11 .
Supongamos que la factorización es válida para dimensión k − 1, es decir, dada Ak−1 ∈
R(k−1)×(k−1) , existen Lk−1 ,Uk−1 ∈ R(k−1)×(k−1) tal que Ak−1 = Lk−1Uk−1 . Veamos para k, o
sea, veremos que para una matriz Ak ∈ Rk×k existen Lk ,Uk ∈ Rk×k tal que Ak = LkUk . Para
21
determinar esto vamos a particionar convenientemente:
Ak−1 a Lk−1 0 Uk−1 e
20
= ,
bT c dT 1 0T ukk
F
Realizando los productos en bloques del lado derecho e igualando al lado izquierdo, obtene-
mos:
A
M Ak−1 = Lk−1Uk−1
Lk−1 e = a
(1)
(2)
A
d T Uk−1 = bT (3)
-F
T
d e + ukk = c (4)
De (2), y como Lk−1 es triangular inferior con unos en la diagonal, es claro que existe un
único e ∈ Rk−1 .
o
mo Uk−1 tiene inversa por hipótesis inductiva y por que las matrices Ak son no singulares,
entonces existe un único d ∈ Rk−1 .
ér
det(A) = det(LU) = det(L) det(U) = 1 · (u11 u22 . . . unn ) = u11 u22 . . . unn .
.N
A
3
Recordemos la clásica regla para calcular el determinante para una matriz 2x2:
a b
det(A) = det = ad − bc
c d
Si usáramos esta regla se requieren 2 productos y una resta para calcular el determinante. La-
mentablemente, esta cantidad aumenta increíblemente cuando crece el orden n de la matriz.
21
Por ejemplo, si A fuera una matriz 20 × 20. Entonces se requieren del orden de 20! ≈ 2.4 1018
operaciones. Si se usara una computadora que realiza 109 operaciones en punto flotante por
segundo, entonces se necesitarían 76 años para calcular ese determinante.
20
Observación 4: nunca se debe calcular la inversa de una matriz. Siempre es mucho más
eficiente reformular el problema para resolver sistemas lineales. Sin embargo, si el único ob-
jetivo del problema es obtener la matriz de una inversa de una matriz, la forma más eficiente
F
consiste en realizar una factorización LU de la matriz A y luego resolver n sistemas lineales
de la forma LUx = ei , donde ei es el i-ésimo vector de la base canónica que tiene un 1 en la
A
posición i, y 0 en las otras componentes, para i = 1, . . . , n.
M
A continuación veremos algunas definiciones y resultados que serán de utilidad para la clase
siguiente.
A
Definición 1. Una norma vectorial en Rn es una función que asigna a cada x ∈ Rn un
-F
número real no negativo denotado por kxk y llamado norma de x, tal que se satisfacen las
siguientes tres propiedades para todo x, y ∈ Rn y para todo α ∈ R:
2. kαxk = |α|kxk;
ic
3. kx + yk ≤ kxk + kyk.
ér
Ejemplos:
um
!1/2
n
2
1. norma euclideana (o norma 2): kxk2 = ∑ |xi| ;
i=1
.N
n
2. norma 1: kxk1 = ∑ |xi |;
i=1
A
!1/p
n
3. para p ≥ 1, norma p: kxk p = ∑ |xi| p ;
i=1
4
Definición 3. Una norma matricial en Rn×n es una función que asigna a cada A ∈ Rn×n
un número real no negativo denotado por kAk y llamado norma de A, tal que se satisfacen
las siguientes cuatro propiedades para todo A, B ∈ Rn×n y para todo α ∈ R:
2. kαAk = |α|kAk;
21
3. kA + Bk ≤ kAk + kBk;
4. kABk ≤ kAkkBk.
20
Ejemplo: norma de Frobenius
!1/2
F
n n
kAkF = ∑ ∑ |ai j |2 .
A
i=1 j=1
Definición 4. Dada una norma vectorial en Rn y una matriz A ∈ Rn×n se define la norma
matricial inducida por
M kAk = sup
kAxk
x6=0 kxk
.
A
Proposición 1. Sean A ∈ Rn×n y k · k una norma vectorial en Rn que induce una norma
-F
matricial, entonces:
kAxk kAxk
Si x 6= 0, entonces kAk = sup ≥ para todo x, y por lo tanto kAxk ≤ kAkkxk
x6=0 kxk kxk
um
para todo x ∈ Rn .
x → kAxk alcanza sus valores extremos, en particular existe un x̄ tal que kx̄k = 1 y
Ejemplos:
n
1. kAk1 = máx ∑ |ai j |;
1≤ j≤n i=1
5
n
2. kAk∞ = máx ∑ |ai j |;
1≤i≤n j=1
q
3. kAk2 = ρ(AT A),
donde ρ(B) es el radio espectral de B y se define por máx{|λ | : λ es autovalor de B}.
21
20
F
A
M
A
-F
o
ic
ér
um
.N
A
6
Clase 18 - Resolución de sistemas lineales (3)
El problema
21
siana y factorización LU. Ambos métodos son considerados métodos directos y se sabe que
luego de un número finito de pasos se obtiene una solución, salvo errores de redondeo. Por
20
otro lado, existe otra familia de métodos para resolver este problema llamados iterativos o
indirectos.
F
Métodos iterativos
A
Los métodos iterativos para sistemas lineales generan una sucesión de vectores {x(k) }, a par-
tir de un vector inicial x(0) , que convergen a la solución de Ax = b, bajo adecuadas hipótesis.
M
La convergencia significa que esta sucesión se detiene cuando se alcanza una precisión deter-
minada luego de un cierto número de iteraciones. El éxito computacional de estos métodos
requiere que procedimiento sea simple y de bajo costo computacional. En general estos mé-
A
todos son adecuados para matrices grandes y que tienen muchos coeficientes iguales a cero
-F
(matrices ralas).
Estudiaremos dos métodos iterativos muy conocidos: método de Jacobi y método de Gauss-
Seidel. Presentaremos brevemente estos métodos y algunos resultados simples de conver-
gencia. Para fijar ideas veremos inicialmente un ejemplo muy sencillo.
o
7 −6 x1 3 7x1 − 6x2 = 3
= ←→ , (1)
ér
−8 9 x2 −4 −8x1 + 9x2 = −4
cuya solución es x∗ = (0.2, −0.2666 . . . ). A partir del sistema lineal (1), podemos despejar
um
las variables:
x1 = 76 x2 + 37
(
(2)
x2 = 98 x1 − 49
.N
(k−1) (k−1)
Dada una aproximación x(k−1) = (x1 , x2 ), y de (2) se puede generar el siguiente mé-
todo iterativo:
x1(k) = 6 (k−1)
+ 37
7 x2
A
,
(k) 8 (k−1)
x2 = 9 x1 − 49
1
La tabla siguiente muestra algunas iteraciones de ambos métodos, comenzando en ambos
(0) (0)
casos con x(0) = (x1 , x2 ) = (0, 0). Recordemos que la solución es: x∗ = (0.2, −0.2666 . . . ).
21
10 0.14865 -0.19820 0.21978 -0.24909
20 0.18682 -0.24909 0.20130 -0.26531
30 0.19662 -0.26215 0.20009 -0.26659
20
40 0.19913 -0.26551 0.20001 -0.26666
50 0.19978 -0.26637 0.20000 -0.26667
F
Los métodos de Jacobi y Gauss-Seidel son conocidos también como métodos de separa-
ción (splitting) y parten de una misma idea básica, que consiste en escribir la matriz como
A
A = M − N, donde M es una matriz no singular. Así tenemos que
M Ax = b
A
(M − N)x = b
Mx = Nx + b (3)
-F
x = M −1 (Nx + b) (4)
−1 −1
x = (M N)x + M b. (5)
o
(0) (0)
Dado x(0) = (x1 , x2 ), la última ecuación sugiere definir un método iterativo de la forma:
ic
kM −1 Nk < 1 para alguna norma matricial inducida entonces la sucesión generada por la
ecuación (6) converge a la solución de Ax = b para cualquier vector inicial x(0) .
obtiene:
x(k+1) − x∗ = (M −1 N)(x(k) − x∗ ), para k ≥ 0. (7)
Ahora, utilizando alguna norma matricial inducida, se obtiene:
A
lı́m kx(k) − x∗ k = 0,
k→∞
2
La principal diferencial entre el método de Jacobi y el de Gauss-Seidel consiste en cómo es
elegida la matriz M. Por simplicidad vamos a descomponer la matriz A de la siguiente forma:
A = L + D +U, donde L es la parte triangular inferior de A (sin la diagonal), D es la diagonal
de A y U es la parte triangular superior de A (sin la diagonal). Es importante no confundir
con las matrices L y U de la factorización LU.
21
Método de Jacobi
20
N = M − A = D − (L + D +U) = −(L +U),
esto es,
F
a11 0 ... 0 0 a12 . . . a1n
A
0 a22 ... 0 a21 0 . . . a2n
M= y N = − .. .
.. .. .. .. .. .. ..
. . . . . . . .
0 0
M
. . . ann
(k)
x1
(k+1) .
aii xi ..
= bi − [ai1 . . . ai,i−1 0 ai,i+1 . . . ain ]
(k)
xn
o
i−1 n
(k+1) (k) (k)
aii xi = bi − ∑ ai j x j − ∑ ai j x j
ic
j=1 j=i+1
i−1 n
(k+1) 1 (k) (k)
ér
xi = (bi − ∑ ai j x j − ∑ ai j x j ),
aii j=1 j=i+1
um
para i = 1, . . . , n.
Ahora veremos un pseudocódigo del método de Jacobi. Notar que en el algoritmo usaremos
x para representar el vector inicial y sobreeescribiremos las sucesivas aproximaciones en el
mismo vector. La variable MaxIt representa el número máximo de iteraciones permitidas y
.N
for k = 1, . . . , MaxIt do
for i = 1, . . . , n do
i−1 n
1
ui ← (bi − ∑ ai j x j − ∑ ai j x j )
aii j=1 j=i+1
3
xi ← ui
end for (i)
end for (k)
output x
end
21
Antes de enunciar un resultado de convergencia, daremos una definición.
Definición 1. Una matriz A, de orden n × n, es diagonalmente dominante si
20
n
|aii | > ∑ |ai j |, para i = 1, . . . , n.
j=1
j6=i
F
Teorema 2. Si A es diagonalmente dominante, entonces la sucesión generada por el método
A
de Jacobi converge a la solución de Ax = b, para cualquier vector inicial x(0) ∈ Rn .
M
Demostración. En el método de Jacobi, la matriz M es la diagonal de A y debe ser inversible
para que el método esté bien definido, por lo que aii 6= 0, i = 1, . . . , n. La matriz de iteración
está dada por
A
1/a11 0 ... 0 0 a12 . . . a1n
-F
= −
.. .. .. ..
. . . .
an1 /ann an2 /ann . . . 0
ér
Luego,
n |ai j |
um
Método de Gauss-Seidel
A
4
Luego por (3) tenemos que
(L + D)x(k+1) = b −Ux(k)
Dx(k+1) = b − Lx(k+1) −Ux(k) .
Así, analizando la i-ésima componente, obtenemos
[Dx(k+1) ]i = [b − Lx(k+1) −Ux(k) ]i
21
(k+1) (k)
x1 x1
(k+1)
aii xi
= bi − [ai1 . . . ai,i−1 0 . . . 0] .. − [0 . . . 0 ai,i+1 . . . ain ] ..
. .
20
(k+1) (k)
xn xn
i−1 n
(k+1) (k+1) (k)
aii xi = bi − ∑ ai j x j − ∑ ai j x j
j=1 j=i+1
F
i−1 n
(k+1) 1 (k+1) (k)
xi = (bi − ∑ ai j x j − ∑ ai j x j ),
A
aii j=1 j=i+1
para i = 1, . . . , n.
M
Ahora veremos un pseudocódigo del método de Gauss-Seidel. Notar que en el algoritmo usa-
remos x para representar el vector inicial y sobreeescribiremos las sucesivas aproximaciones
A
en el mismo vector. La variable MaxIt representa el número máximo de iteraciones permi-
tidas y Xtol la tolerancia para la norma de la diferencia de dos aproximaciones vectoriales
-F
sucesivas.
Algoritmo: método de Gauss-Seidel.
input n, A, b, x, MaxIt, Xtol
o
for k = 1, . . . , MaxIt do
ic
for i = 1, . . . , n do
ér
ui ← 0
end for (i)
um
for i = 1, . . . , n do
i−1 n
1
ui ← (bi − ∑ ai j u j − ∑ ai j x j )
aii j=1 j=i+1
.N
for i = 1, . . . , n do
xi ← ui
end for (i)
end for (k)
output x
end
El resultado de convergencia que enunciamos para este método es similar al del método de
Jacobi, aunque su demostración no es tan directa.
5
Teorema 3. Si A es diagonalmente dominante, entonces la sucesión generada por el método
de Gauss-Seidel converge a la solución de Ax = b, para cualquier vector inicial x(0) ∈ Rn .
Observación: existen resultados que muestran que si ambos métodos convergen, el méto-
do de Gauss-Seidel lo hace más rápido que el método de Jacobi. Esto es razonable, pues
al calcular la i-ésima componente, en el método de Gauss-Seidel, se utiliza información re-
cientemente calculada en la misma iteración. Por otro lado, si ambos métodos divergen, el
21
método de Gauss-Seidel lo hace más rápido que el método de Jacobi. Por esta razón el méto-
do era más atractivo computacionalmente que el de Jacobi. Sin embargo, el método de Jacobi
20
ha vuelta ha cobrar popularidad en las últimas décadas, pues es paralelizable mientras que el
método de Gauss-Seidel no lo es.
Por último vamos a enunciar un resultado auxiliar y un teorema que, bajo ciertas hipótesis,
asegura la convergencia de los métodos como Jacobi o Gauss-Seidel.
F
Teorema 4. Para cada matriz A ∈ Rn×n , se cumple que ρ(A) es igual al ı́nf{kAk} sobre
A
todas las normas matriciales inducidas.
M
Teorema 5. Una condición necesaria y suficiente para que la sucesión generada por el
método iterativo x(k+1) = (M −1 N)x(k) + M −1 b, para k ≥ 0, converja a la única solución de
Ax = b para todo x(0) inicial, es que ρ(M −1 N) < 1.
A
-F
o
ic
ér
um
.N
A
6
Clase 19 - Programación lineal
Introducción
La programación lineal (PL) es uno de los mecanismos más naturales para tratar una gran
cantidad de problemas del mundo real de un modo sencillo. Es una subárea de Optimización
21
donde, como es de esperar, todas las funciones involucradas para formular el problema son
lineales. Aunque las funciones lineales son de las más simples, existen muchos problemas
de economía, producción, planning, logística, redes, scheduling, transporte y otras áreas que
20
pueden formularse como un problema de programación lineal. Además, los aspectos mate-
máticos y computaciones de PL son muy interesantes. Por un lado, la matemática de PL es
sencilla, poderosa y elegante y utiliza enfoques geómetricos y de Álgebra lineal, que están
conectados entre sí. Por otro lado, los aspectos computacionales son muy importantes por
F
las potenciales aplicaciones y variantes de los algoritmos para resolver el problema. El mé-
A
todo más conocido, es el Simplex, y fue propuesto por Dantzig en 1947. En estas clases, por
una cuestión de tiempo, presentaremos algunas nociones básicas de PL y el método Simplex
en una versión resumida. Para entender en que consiste un problema de PL consideraremos
inicialmente un ejemplo.
M
A
Ejemplo: un agricultor debe comprar fertilizantes (abono) para sus campos. El ingeniero
-F
fertilizante debe comprar, por cada 10 m2 de campo, de modo de minimizar el costo total
cubriendo los requerimientos de su suelo.
ér
K (potasio) 8 2 4
Costo 10 8
Incógnitas:
A
3x + 2y ≥ 3
x + 3y ≥ 1.5
8x + 2y ≥ 4
x ≥ 0, y ≥ 0 (no negatividad)
Las últimas restricciones de negatividad son razonables pues la cantidad de fertilizantes no
puede ser negativa.
1
Función objetivo (costo): f (x, y) = 10x + 8y.
Objetivo: Minimizar f (x, y) = 10x + 8y.
Así, este problema puede ser formulado en la siguiente forma:
21
x + 3y ≥ 1.5
8x + 2y ≥ 4
x ≥ 0, y ≥ 0
20
o de una forma más compacta:
Minimizar cT x
F
sujeto a Ax ≥ b
x≥0
A
donde c = (10, 8), x = (x1 , x2 ) y
3 2
M
A= 1 3 y
3
b = 1.5
A
8 2 4
breada se llama región factible y establece el conjunto de posibles soluciones, es decir los
posibles valores de x e y que satisfacen las restricciones.
o
ic
ér
um
.N
- una función objetivo lineal f , que deberá ser minimizada o maximizada. Como esta
función debe ser lineal será de la forma f (x) = cT x = c1 x1 + · · · + cn xn .
- un conjunto de restricciones que deben satisfacer las variables. Estas restricciones es-
tarán dadas por ecuaciones (igualdades) o inecuaciones (desigualdades) lineales.
2
- una región (o conjunto) factible definida por la intersección de todas las restricciones
lineales que deben satisfacer las variables.
Minimizar f (x)
sujeto a Cx = d
21
(1)
Rx ≥ s
x≥0
20
donde f es la función objetivo a minimizar (o maximizar); el sistema lineal Cx = d co-
rresponde al conjunto de ecuaciones lineales de igualdad que deben satisfacer las variables;
Rx ≥ s corresponde al conjunto de restricciones lineales de desigualdad que deben satisfacer
F
las variables (podrían ser con ≤ en vez de ≥); y por último, las restricciones de no negativi-
dad x ≥ 0. Observar que en el ejemplo anterior no había restricciones de igualdad.
A
Se denomina forma estándar cuando el problema de PL es formulado como
M Minimizar
sujeto a
cT x
Ax = b
x≥0
(2)
A
-F
Veamos que cualquier problema de PL en formato general puede ser llevado a la forma
estándar:
- Si alguna componente bi < 0 para algún i, se debe multiplicar por (−1) a toda la
restricción, cambiando el signo de la desigualdad si la hubiera.
- Si la cota inferior de una variable no fuera cero, por ejemplo x1 ≥ 5, se puede definir
A
x̂1 = x1 − 5 ≥ 0.
- Si una variable tuviera una cota superior, por ejemplo x1 ≤ 7, se la tratará como cual-
quiera de las otras restricciones.
- Si una variable fuera irrestricta (libre), por ejemplo la variable x2 , entonces debe re-
emplazarse por: x2 = x̂2 − x20 , donde x̂2 , x20 ≥ 0.
3
- Una restricción de desigualdad con ≥ se convierte en una restricción de igualdad agre-
gando una variable de exceso, por ejemplo: 6x1 − 2x2 + 4x3 ≥ 15 es equivalente a
6x1 − 2x2 + 4x3 − s1 = 15 con s1 ≥ 0.
21
Entonces, el problema del ejemplo puede ser escrito en la forma estándar:
20
sujeto a 3x1 + 2x2 − s1 = 3
x1 + 3x2 − s2 = 1.5
8x1 + 2x2 − s3 = 4
x1 , x2 , s1 , s2 , s3 ≥ 0
F
A
Ahora veremos algunas definiciones y resultados sobre la geometría del problema de PL.
Definición 1. Dados a = (a1 , a2 , . . . , an ) ∈ Rn , a 6= 0, y b ∈ R, se definen:
M
1. {x ∈ Rn |a1 x1 + a2 x2 + · · · + an xn = b} es llamado hiperplano (afín si b 6= 0) del
espacio n-dimensional ;
A
2. {x ∈ Rn |a1 x1 + a2 x2 + · · · + an xn ≤ b} es llamado semiespacio (cerrado) del espacio
-F
n-dimensional.
Ejemplos:
ic
1. x1 + x2 = 2 es un hiperplano en R2 ;
ér
el segmento que los une también está contenido en S, es decir, (αx + (1 − α)y) ∈ S para todo
α ∈ [0, 1]. (Ver Figura 2).
.N
A
Los siguientes dos lemas son muy fáciles de demostrar y sus demostraciones se dejan como
ejercicio.
Lema 1. la intersección finita de conjuntos convexos es un conjunto convexo.
Lema 2. todo semispacio cerrado es un convexo.
4
Definición 3. La intersección de una cantidad finita de semiespacios cerrados de Rn se
denomina región poliedral cerrada de Rn .
Observación 1: por los dos lemas anteriores, toda región poliedral cerrada es un conjunto
convexo.
Observación 2: el conjunto de restricciones de un problema de programación lineal dado
por Ω = {x ∈ Rn |Ax = b, Rx ≤ s} es una región poliedral cerrada. Usualmente, el conjunto
21
factible de un problema de PL suele llamarse politopo, siempre que sea no vacío. Además, si
esta región es acotada suele llamarse siemplemente poliedro. Que sea acotada, significa que
20
si (x1 , . . . , xn ) ∈ Ω entonces existen constantes positivas ki tales |xi | ≤ ki para i = 1, . . . , n.
Para caracterizar las regiones poliedrales como Ω, estamos interesados en los vértices, los
F
cuales se determinan por la intersección de las ecuaciones que definen los semiespacios de
Ω.
A
En el Ejemplo 1, cuya región factible Ω está dada por las restricciones
M
3x + 2y
x + 3y
8x + 2y
≥
≥
≥
3
1.5
4
(r1)
(r2)
(r3)
A
x ≥ 0 (r4)
y ≥ 0 (r5)
-F
1 6
Por ejemplo, el punto P2 = ( 5 , 5 ) se obtiene de resolver el siguiente sistema lineal:
ic
3x + 2y = 3
8x + 2y = 4
ér
que corresponden a los hiperplanos (rectas) que definen las restricciones (r1) y (r3).
Observación: el punto (0, 32 ) es solución de
um
3x + 2y = 3
x = 0
correspondiente a las restricciones (r1) y (r4) pero no es un vértice de la región factible Ω.
.N
inecuaciones).
Ejercicio: determinar todos los vértices de la región poliedral cerrada Ω en R3 definida por
x+y+z ≤ 3
y−z ≤ 2
x − 2y ≤ 1
x ≥ 0
Geométricamente, los vértices de una región poliedral cerrada Ω de Rn son los puntos extre-
mos, esto es, puntos de Ω que no están contenidos en el interior de algún segmento contenido
en la región. (Formalizaremos la definición de punto extremo en la próxima clase).
5
Clase 20 - Programación lineal (2)
El problema
21
Minimizar f (x)
sujeto a Cx = d
Rx ≥ s
20
x≥0
o en su forma estándar
Minimizar cT x
F
sujeto a Ax = b
x≥0
A
con b ≥ 0.
M
En la clase anterior dijimos que la región factible es una región poliedral cerrada y que los
vértices de esa región serán importantes al momento de buscar las soluciones del problema
de PL.
A
-F
Cuando el problema tiene 2 variables la forma más simple de buscar la solución de un pro-
blema de PL es el método gráfico. Para fijar ideas, consideraremos el siguiente ejemplo en
o
dimensión 2:
book
ic
x1 ≤ 3
x1 , x2 ≥ 0.
um
Se puede pensar en la función objetivo como z = f (x1 , x2 ) = cT (x1 , x2 ), con c = (−1, −2).
La región factible de este problema puede verse en la Figura 1.
.N
z = -15
6 - 2 x1 + x2 = 2
5
A
3
x1 =3
2
z = -4
- x1 + x2 = 3
1
z = -2
-3 -2 -1 0 1 2 3 4
-1 z =0
Graphical
Figura 1: Solución solution
gráfica of aproblema
de un linear program.
lineal.
and the parallel line 0 passes through the origin. The goal of the linear program is to 1
minimize the value of . As the figure illustrates, decreases as these lines move upward
and to the right. The objective cannot be decreased indefinitely, however. Eventually the
Notar que la figura incluye algunas líneas punteadas correspondientes a las curvas de nivel
para diferentes valores de la función objetivo. Por ejemplo, el conjunto de nivel {(x1 , x2 )|z =
−x1 − 2x2 = −2} es la recta z = −2 que pasa por los puntos (2, 0) y (0, 1). El conjunto de ni-
vel {(x1 , x2 )|z = −x1 −2x2 = 0} es la recta paralela z = 0 que pasa por el origen. Recordemos
que el objetivo del problema es minimizar z. Como se ve en la Figura 1, el valor de z decrece
a medida que se avanza hacia la derecha, sin embargo no puede decrecer indefinidamente
porque la región factible es acotada. Al continuar trazando rectas, asociadas a conjuntos de
21
nivel, hacia la derecha llegará un momento donde esa recta intersecará por última vez al con-
junto factible. En este problema el mínimo ocurre cuando z = −15 en el punto (3, 6), que
corresponde a un vértice del conjunto factible. No es coincidencia que sea un vértice, como
20
veremos más adelante en algunos resultados.
Por otro lado se sabe, por un resultado de Análisis de varias variables, que la dirección
del gradiente de una función es la dirección de máximo crecimiento y, análogamente, la
F
dirección de menos gradiente es la dirección de máximo descenso. Esto será muy útil cuando
el objetivo sea maximizar o minimizar una función lineal. Ahora bien, como la función es
A
lineal, el gradiente no es más que el vector de costos c. En este caso, c = (−1, −2) y por lo
tanto, si queremos minimizar la función z = −x1 − 2x2 , basta con trazar rectas paralelas en
M
la dirección de −c, es decir, (1, 2) hasta intersecar por última vez a la región factible. Ver
Figura 2:
A
-F
o
ic
ér
um
.N
Tipos de solución
Es fácil imaginar que pueden surgir diferentes tipos de problemas y soluciones para el caso
de un problema de PL en dos dimensiones, debido a la geometría del conjunto factible, a la
dirección del vector de costos y si se está minimizando o maximizando. En todas las figuras
siguientes consideraremos f (x1 , x2 ) = x1 + 2x2 .
2
- Regiones no acotadas sin vértices:
21
20
Figura 3: Regiones no acotadas sin vértices.
F
En el caso de R1 se alcanza el valor mínimo en toda la recta (frontera de R1) y no hay valor
A
máximo. En el caso de R2 no hay mínimo ni máximo. Ver Figura 3.
- Regiones no acotadas con vértices:
M
A
-F
o
ic
3
- Casos degenerados:
21
20
Figura 6: Casos degenerados
F
En el caso de la región R6 no hay mínimo ni máximo. En cambio, la región R7 tiene un
A
máximo en el punto A y no hay mínimo. Ver Figura 6.
M
A
-F
o
El caso n-dimensional
se torna impracticable y se requiere un método eficiente para resolver tales problemas. Pa-
ra esto vamos a introducir el Método Simplex, el cual fue propuesto en 1947 por George
Dantzig, para resolver problemas de PL que modelizaban situaciones de planificación eco-
A
4
Clase 21 - Programación lineal (3)
Fundamentos matemáticos del método Simplex
Por razones de tiempo veremos algunos fundamentos matemáticos del método Simplex y
posteriormente presenteramentos la versión tabla del método, sin entrar en casos particulares
21
ni variantes especiales que lo hacen más robusto. Comenzaremos dando algunas definiciones.
Consideremos el sistema lineal de ecuaciones de la forma
20
a11 x1 + a12 x2 + . . . + a1n xn = b1
a21 x1 + a22 x2 + . . . + a2n xn = b2
.. .. .. .. .. .. .. .. .. (1)
. . . . . . . . .
F
am1 x1 + am2 x2 + . . . + amn xn = bm
A
A x = b,
M
con A ∈ Rm×n , x ∈ Rn y b ∈ Rm . Supongamos que n > m y que la matriz A tiene rango m.
Definición 1. Solución básica: dado un conjunto de m ecuaciones lineales en n incógnitas
A
como en (1), se llamará base a cualquier submatriz B, m × m de A, no singular, formada
por m columnas independientes de A. Es posible reordenar columnas de A para definir B.
-F
xN
ic
el punto de vista geométrico, esto ocurre cuando se tiene un vértice determinado por la
intersección de más de dos rectas o hiperplanos.
A
1
Finalmente, consideremos el problema de PL en la forma estándar:
Minimizar cT x
sujeto a Ax = b (3)
x≥0
21
donde A ∈ Rm×n es una matriz de rango m.
Definición 4. Se llama solución básica factible óptima a la solución básica factible que da
20
el valor óptimo (en este caso el valor mínimo) para la función objetivo del problema (3).
F
soluciones básicas factibles para resolver un problema de PL. Quien esté interesado en ver la
demostración puede consultarla en el libro “Linear and Nonlinear Programming” de Luen-
A
berger, Ye, 4th edition, Springer, 2015.
M
Teorema 1. Teorema Fundamental de Programación Lineal. Dado un problema de PL
en la forma estándar (3), donde A ∈ Rm×n , tiene rango m. Luego,
A
i) si existe una solución factible, entonces existe una solución básica factible.
-F
ii) si existe una solución factible óptima, entonces existe una solución básica factible
óptima.
o
n n!
=
m m!(n − m)!
um
los respectivos sistemas lineales y elegir el que produzca el menor valor objetivo, en el caso
de un problema de minimización. Por otro lado, el método simplex, que veremos próxima-
mente realiza una búsqueda inteligente sin necesidad de revisar todas las soluciones básicas
A
factibles.
Por último veremos la conexión de las soluciones básicas factibles con los puntos extremos.
Esta conexión establece la relación entre resultados algebraicos con resultados geométricos
y de convexidad.
2
Esta definición dice básicamente que un punto extremo no puede estar en un segmento que
conecte otros dos puntos distintos del mismo conjunto. Por ejemplo, cada vértice de un
triángulo es un punto extremo del triángulo. Por lo tanto, todos los vértices de una región
poliedral cerrada como Ω son puntos extremos.
Ahora veremos algunos resultados que relacionan los vértices de la región factible con la
solución óptima de un problema de PL.
21
Teorema 2. Sea Ω la región factible dada en la definición anterior. Un vector x es un punto
extremo de Ω si y sólo es una solución básica factible de Ω.
20
Demostración.
(⇐) Supongamos que x es una solución básica factible de Ω, entonces x puede particionarse
como x = (xB , xN ), con BxB = b y xB ≥ 0, xN = 0.
F
Demostraremos que x debe ser un punto extremo, por contradicción. Si x no es un punto
A
extremo entonces existen dos puntos distintos y, z ∈ Ω tal que
M
x = αy + (1 − α)z, 0 < α < 1.
y = (yB , yN ), z = (zB , zN )
que x no es punto extremo. Por lo tanto hemos probado que x es un punto extremo.
ic
(⇒) Supongamos que x es un punto extremo entonces veamos que x es una solución básica
factible. También se probará por contradicción.
ér
xB
x= ,
xN
.N
donde xN = 0 y xB > 0, es decir xN contiene las componentes de x que son iguales a cero.
Entonces particionamos la matriz A de igual forma como
A = [B|N]
A
r1 B1 + r2 B2 + · · · + rk Bk = 0, o equivalentemente B1 r1 + B2 r2 + · · · + Bk rk = 0,
3
esto dice que si r = (r1 , r2 , . . . , rk ), entonces Br = 0. Notar que
para todo α ∈ R. Como xB > 0, para valores suficientemente pequeños de ε > 0 se tiene que
xB + εr > 0 y xB − εr > 0.
Sean
21
xB + εr xB − εr
y= yz= .
xN xN
1 1
20
Luego, los vectores y, z son factibles, distintos entre sí y distintos de x. Como x = y + z,
2 2
lo cual contradice que x es un punto extremo.
Los corolarios que se enuncian a continuación son consecuencia de este teorema y del Teo-
F
rema Fundamental de PL.
A
Corolario 1. Si el conjunto Ω es no vacío, entonces tiene al menos un punto extremo.
M
Corolario 2. Si existe una solución óptima de un problema de programación lineal, entonces
existe una solución óptima finita que es un punto extremo del conjunto de restricciones.
Corolario 3. El conjunto de restricciones Ω tiene a lo sumo un número finito de puntos
A
extremos.
-F
Ejemplo: para fijar ideas vamos a determinar las soluciones básicas factibles del siguiente
problema de maximización.
Maximizar z = 4500x1 + 8000x2
o
(r2)
x1 ≥ 0 (r3)
x2 ≥ 0 (r4)
ér
Agregando variables de holgura, las restricciones de este problema en formato estándar re-
sultan:
um
5x1 + 20x2 + x3 = 400
10x1 + 15x2 + x4 = 450
x1 , x2 , x3 , x4 ≥ 0
Así la matriz A y el vector b del conjunto de restricciones en el formato estándar están dados
.N
por
5 20 1 0 400
A= b= .
10 15 0 1 450
A
4 4!
Como A tiene 2 filas y 4 columnas, se tienen a lo sumo = = 6 casos a
2 2!(4 − 2)!
considerar, como posibles vértices del conjunto factible. Ver Figura 1.
Caso 1: La matriz base B formada por las columnas 3 y 4 de la matriz A. Entonces
1 0 x3
B= xB = .
0 1 x4
Luego
1 0 x3 400
B xB = b ⇒ =
0 1 x4 450
4
21
20
F
Figura 1: Región factible del ejemplo.
A
Por lo tanto xB = (x3 , x4 ) = (400, 450), xN = (x1 , x2 ) = (0, 0), y la solución básica asociada
M
a esta base es (x1 , x2 , x3 , x4 ) = (0, 0, 400, 450), que corresponde al vértice A.
Caso 2: La matriz base B formada por las columnas 2 y 4 de la matriz A. Entonces
A
20 0 x2
B= xB = .
-F
15 1 x4
Luego
20 0 x2 400
B xB = b ⇒ =
15 1 x4 450
o
Por lo tanto xB = (x2 , x4 ) = (20, 150), xN = (x1 , x3 ) = (0, 0), y la solución básica asociada a
ic
B= xB = .
10 15 x2
Luego
5 20 x1 400
B xB = b ⇒ =
.N
10 15 x2 450
Por lo tanto xB = (x1 , x2 ) = (24, 14), xN = (x3 , x4 ) = (0, 0), y la solución básica asociada a
esta base es (x1 , x2 , x3 , x4 ) = (24, 14, 0, 0), que corresponde al vértice C.
A
Luego
5 1 x1 400
B xB = b ⇒ =
10 0 x3 450
Por lo tanto xB = (x1 , x3 ) = (45, 175), xN = (x2 , x4 ) = (0, 0), y la solución básica asociada a
esta base es (x1 , x2 , x3 , x4 ) = (45, 0, 175, 0), que corresponde al vértice D.
5
Caso 5: La matriz base B formada por las columnas 2 y 3 de la matriz A. Entonces
20 1 x2
B= xB = .
15 0 x3
Luego
20 1 x2 400
B xB = b ⇒ =
21
15 0 x3 450
Por lo tanto xB = (x2 , x3 ) = (30, −200), xN = (x1 , x4 ) = (0, 0), y la solución básica asociada
a esta base es (x1 , x2 , x3 , x4 ) = (0, 30, −200, 0), que corresponde al punto E, que no es un
20
vértice.
Caso 6: La matriz base B formada por las columnas 1 y 4 de la matriz A. Entonces
F
5 0 x1
B= xB = .
10 1 x4
A
Luego
B xB = b
M
⇒
5 0
10 1
x1
x4
=
400
450
Por lo tanto xB = (x1 , x4 ) = (80, −350), xN = (x2 , x3 ) = (0, 0), y la solución básica asociada
A
a esta base es (x1 , x2 , x3 , x4 ) = (80, 0, 0, −350), que corresponde al punto F, que no es un
vértice.
-F
o
ic
ér
um
.N
A
6
Clase 22 - Programación lineal (4)
El método Simplex
21
una manera eficiente, de una solución básica factible (vértice) a otra hasta llegar a la solución
básica factible óptima. En cada iteración, se verifica si la solución actual es óptima. Si no
lo es, el método elige una dirección donde se mejore el valor óptimo y se avanza en esa
20
dirección hasta encontrar otra solución factible óptima. Luego se repite este procedimiento.
Para entender mejor el método consideraremos un ejemplo:
F
sujeto a − 2x1 + x2 ≤ 2
A
−x1 + 2x2 ≤ 7
x1 ≤ 3
M
El formato estándar de este problema está dado por
x1 , x2 ≥ 0
A
minimizar z = −x1 − 2x2
-F
sujeto a − 2x1 + x2 + x3 = 2
−x1 + 2x2 + x4 = 7
x1 + x5 = 3
o
x1 , x2 , x3 , x4 , x5 ≥ 0.
ic
−2 1 1 0 0 2
A = −1 2 0 1 0 y b = 7 .
1 0 0 0 1 3
um
Cuando se tienen restricciones del tipo ≤ y se agregan variables de holgura, se puede obtener
fácilmente una solución básica factible tomando xB = (x3 , x4 , x5 ) = (2, 7, 3) y xN = (x1 , x2 ) =
(0, 0), que corresponde al origen de coordenadas, es decir, el punto xa = (x1 , x2 , x3 , x4 , x5 ) =
.N
(0, 0, 2, 7, 3) en la Figura 1.
Para pasar a otra solución básica factible, alguna de las variables no básicas pasará a ser
básica, y por lo tanto alguna de las variables básicas dejará de serlo y se convertirá en no
A
básica. Para eso notemos que, a partir de la forma estándar, se obtiene que
x3 = 2 + 2 x1 − x2
x4 = 7 + x1 − 2 x2 (1)
x5 = 3 − x1
y
z = −x1 − 2 x2 ,
cuyo valor en xa es z = 0, pues x1 = x2 = 0. Como el objetivo es minimizar z, si cualquiera
de estas dos variables toma valores positivos z decrecerá. Es claro que conviene elegir la
variable x2 porque el coeficiente de x2 hará que z decrezca más que si se eligiera x1 . Por
1
lo tanto, la variable x2 que era no básica (x2 = 0) pasará a ser básica, es decir tomará un
valor positivo. Debido a las restricciones (1), esta variable no puede crecer indefinidamente.
Manteniendo la variable no básica x1 , es decir x1 = 0, y teniendo en cuenta (1), obtenemos
x3 = 2 − x2 (2)
x4 = 7 − 2 x2 (3)
21
x5 = 3. (4)
Estas 3 ecuaciones permitirán determinar cual es la variable básica que pasará de ser básica book
20
a no básica: la variable x2 puede aumentar hasta que x3 o x4 se hagan cero sin tomar valores 2008/10/23
negativos. De (2), cuando x3 = 0, entonces x2 = 2 y además x4 = 3 > 0. De (3), cuando page 127
x4 = 0, entonces x2 = 7/2 y además x3 = −3/2 < 0. Por lo tanto, x2 puede crecer hasta el
valor x2 = 2, y x3 dejará de ser variable básica para ser no básica. Y así, la nueva solución
F
básica factible será el punto xb = (x1 , x2 , x3 , x4 , x5 ) = (0, 2, 0, 3, 3) en la Figura 1.
A
M x2
6
5
A
xd
xc
xf 4
-F
3
xb
2
1
o
xa xe
ic
-7 -6 -5 -4 -3 -2 -1 1 2 3 4 x1
ér
descent directions. The constraints can be written with the basic variables expressed in terms
Paraof the nonbasic la
terminar variables:
iteración, resta actualizar el problema en términos de la nueva solución
básica factible, donde las variables2 básicas
3 2 1 2están en xB = (x2 , x4 , x5 ) y las no básicas xN =
(x1 , x3 ). Para esto, se deben expresar 4 7 las 22
1 nuevas variables básicas en términos de las nuevas
3
.N
21
Si x = (xB , xN ) es una solución básica factible para alguna submatriz B de A = [B|N], entonces
z = cTB xB + cTN xN
20
BxB + NxN = b, ⇒ xB = B−1 b − B−1 NxN ,
F
Ahora, el valor actual de las variables básicas y la función objetivo se obtienen tomando
xN = 0, y denotamos xB = b̂ = B−1 b, y ẑ = cTB B−1 b.
A
Si definimos cTB B−1 = yT , es decir y = (cTB B−1 )T = B−T cB , entonces
M z = yT b + (cTN − yT N)xN .
Se llama costo reducido de x j a ĉ j , la entrada j-ésima en el vector ĉTN ≡ (cTN − cTB B−1 N).
A
Luego, z = ẑ + ĉTN xN .
-F
Test de optimalidad: se debe analizar que ocurre con la función objetivo si se aumenta
cada variable no básica a partir del valor cero. Si ĉ j > 0 la función objetivo aumentará; si
ĉ j = 0 la función objetivo se mantiene constante; si ĉ j < 0 la función objetivo disminuirá si
x j comienza a crecer a partir de cero. Si la solución no es óptima, entonces se puede elegir
o
¿Cuál variable dejará de ser básica?: para esto recordemos que xB = B−1 b − B−1 NxN , y
dado que las variables no básicas son iguales a cero, excepto xt , entonces
ér
xB = b̂ − Ât xt ,
donde Ât = B−1 At , y At es la columna t de A. Ahora, como hicimos en el ejemplo anterior,
um
Si âi,t > 0, entonces (xB )i decrecerá a medida que xt aumente, y (xB )i será igual a cero cuando
xt = b̂i /âi,t . Si âi,t < 0, entonces (xB )i aumentará y si âi,t = 0 entonces (xB )i se mantiene
constante. Se aplicará el siguiente test del cociente mínimo para decidir cual variable básica
pasará a ser no básica:
A
( )
b̂i
xs = mı́n | âi,t > 0 .
1≤i≤m âi,t
Para determinar los nuevos valores de las variables básicas y la función objetivo se debe
calcular:
xB ← xB − Ât xs , y ẑ ← ẑ + ĉt xs .
Si âi,t ≤ 0 para todo i entonces ninguna de las variables básicas decrecerá a medida que xt
aumenta, por lo tanto xt puede crecer tanto como se quiera. Esto significa, que la función
objetivo decrecerá mientras xt → ∞, o sea que no tendrá un mínimo finito, y por lo tanto el
problema es no acotado.
3
El Algoritmo Simplex
Se comienza con una matriz base B correspondiente a una solución básica factible xB = b̂ =
B−1 b ≥ 0. Los siguientes tres pasos resumen el método Simplex.
Paso 1: test de optimalidad.
Calcular yT = cTB B−1 ; ĉTN = cTN − yT N.
21
Si ĉTN ≥ 0, entonces la solución es óptima. Sino, elegir una variable xt tal que ĉt < 0, para
entrar a la base (pasar a ser básica).
20
Paso 2: test del cociente mínimo.
Calcular Ât = B−1 At . Determinar un índice s tal que
F
( )
b̂s b̂i
= mı́n | âi,t > 0 .
A
âs,t 1≤i≤m âi,t
M
Este test determina cual es la variable que abandona la base.
Si âi,t ≤ 0 para todo i, el problema es no acotado.
A
Paso 3: actualización.
-F
Observación 1: esta es una versión simplificada del método simplex. Existen variantes al-
gorítmicas para evitar algunos problemas que pueden aparecer como ciclos o restricciones
ic
redundantes. Además, existen diferentes implementaciones del método simplex, tanto gra-
tuitas como comerciales.
ér
Observación 2: a veces no es posible disponer de una solución básica facible inicial fácil-
mente. Para esto existen algunos métodos que se usan previamente para obtener esta solución
um
Observación 4: cuando las variables involucradas son enteras, el problema es mucho más
complejo, tanto matemática como computacionalmente, y esto se estudia en una subárea de
Optimización llamada Programación Lineal Entera.
A
4
Para la formulación estándar del ejemplo:
21
La tabla inicial está dada por:
20
base x1 x2 x3 x4 x5 LD
−z −1 −2 0 0 0 0
F
x3 −2 1 1 0 0 2 (5)
A
x4 −1 2 0 1 0 7
x5 1 0 0 0 1 3
M
LD, significa lado derecho en la primera fila de la tabla. Notar que en la segunda fila escribi-
mos −z. Esto se debe a que igualamos a cero a la función objetivo:
A
-F
La primera columna indica las variables básicas y en las 3 últimas filas se indican los coefi-
o
La tabla del problema original y en la base actual de cada iteración están dadas por:
ér
base xB xN LD base xB xN LD
−z cB cN 0 −z 0 cTN − cTB B−1 N −cTB B−1 b
B−1 N B−1 b
um
xB B N b xB I
Como en la Tabla 5, los coeficientes de las variables no básicas en la primera fila (costos
.N
reducidos) son negativos, significa que esa solución no es óptima. Elegimos x2 por tener
el costo reducido de mayor magnitud (−2). Esa será la variable no básica que entrará a la
base. Para decidir cual variable básica dejará de serlo calculamos el mínimo de los siguientes
cocientes:
A
2 7
mı́n , = 2,
1 2
como este valor de mínimo corresponde a la variable básica x3 , esa variable abandonará la
base y será reemplazada por x2 .
5
El paso siguiente consiste en transformar la tabla de manera de obtener una matriz identi-
dad en las nuevas variables básicas x2 , x4 , x5 . Antes de reemplazar x3 se debe identificar la
columna de x2 en la tabla
⇓
base x1 x2 x3 x4 x5 LD
−z −1 −2 0 0 0 0
⇒ x3 −2 1 1 0 0 2
x4 −1 2 0 1 0 7
x5 1 0 0 0 1 3
21
0
1
y transformarla, usando operaciones elementales por filas, en 0 . En este caso, se debe
20
0
sumar 2 veces la fila de x3 a la fila de −z y restar 2 veces la fila de x3 a la fila de x4 . Así se
obtiene la siguiente tabla
F
A
base x1 x2 x3 x4 x5 LD
−z −5 0 2 0 0 4
x2
x4
x5
−2 1
1 0
1 0 0
3 0 −2 1 0
0 0 1
2
3
3
M
A
-F
⇓
base x1 x2 x3 x4 x5 LD
−z −5 0
ér
2 0 0 4
x2 −2 1 1 0 0 2
⇒ x4 3 0 −2 1 0 3
um
x5 1 0 0 0 1 3
Luego, repitiendo este procedimiento, se obtienen las siguientes tablas, de las iteraciones tres
y cuatro:
.N
⇓
base x1 x2 x3 x4 x5 LD
−z 0 0 −4/3 5/3 0 9
A
x2 0 1 −1/3 2/3 0 4
x1 1 0 −2/3 1/3 0 1
⇒ x5 0 0 2/3 −1/3 1 2
6
Finalmente,
base x1 x2 x3 x4 x5 LD
−z 0 0 0 1 2 13
x2 0 1 0 1/2 1/2 5
x1 1 0 0 0 1 3
x3 0 0 1 −1/2 3/2 3
Vemos que en esta última tabla, los costos reducidos de las variables no básicas (x4 y x5 ) son
ambos positivos, y por lo tanto esta solución básica factible es óptima. La solución final está
claramente expresada en la última columna: z = −13, x2 = 5, x1 = 3 y x3 = 3, y las variables
no básicas x4 = x5 = 0, lo que corresponde al punto xd de la Figura 1.
21
20
F
A
M
A
-F
o
ic
ér
um
.N
A