An alisis Num ericooctavioalberto/pdf/pres_an_2021B.pdfSabemos que cocientes sucesivos de n umeros...
Transcript of An alisis Num ericooctavioalberto/pdf/pres_an_2021B.pdfSabemos que cocientes sucesivos de n umeros...
Analisis Numerico
Octavio Alberto Agustın Aquino
Universidad Tecnologica de la Mixteca
Instituto de Fısica y Matematicas
Semestre 20-21B
1
El analisis numerico esencialmente es convertir el calcu-
lo (o analisis) infinitesimal a computos efectivos. Es
decir: tratar de ver que forma tienen las funciones que
conocemos a partir de algunos puntos o las ecuaciones
diferenciales que satisfacen, o encontrar sus derivadas
o sus integrales.
2
Sin embargo, como computos efectivos, se traducen en
algoritmos que pueden tener errores.
Supongamos, por ejemplo, que queremos aproximar el
numero
p =1
φ=
√5− 1
2.
3
Sabemos que cocientes sucesivos de numeros de Fibo-
nacci aproximan a 1φ, y ası
p =3
5= 0.6
es una aproximacion.
4
El error es la diferencia entre la aproximacion p y el
valor que queremos aproximar p:
p− p.
Para el ejemplo que venimos manejando, tenemos
p− p = −0.018034 . . . .
5
Si el error es positivo es por exceso y el negativo es por
defecto. El siguiente cociente, p1 = 58, tiene un error
por exceso
p− p = 0.006966
6
El error absoluto es la diferencia entre la aproximacion
p y el valor que queremos aproximar p en valor absoluto
|p− p|,
y generalmente interesa pues fallar por exceso o por
defecto no es tanto problema en tanto sea por muy
poco.
Para el ejemplo que venimos manejando, tenemos
|p− p| = 0.018034 . . . .
7
Otro tipo de error pone de realce algo interesante. Por
ejemplo, si calculamos operamos con 1φ y lo elevamos
al cuadrado, el error absoluto es∣∣∣∣∣p2 −1
φ2
∣∣∣∣∣ =
∣∣∣∣∣ 9
25−
1
φ2
∣∣∣∣∣ = 0.02196 . . .
que es un error parecido al de 35.
8
Sin embargo, en relacion al tamano del numero que
queremos aproximar, tenemos∣∣∣∣∣p− pp∣∣∣∣∣ = 0.02918 . . .
mientras que ∣∣∣∣∣p2 − p2
p2
∣∣∣∣∣ = 0.057508 . . .
9
El valor ∣∣∣∣∣p− pp∣∣∣∣∣
se le llama error relativo. Si se multiplica por 100, se le
llama error porcentual.
10
El error algorıtmico es el error propio del esquema de
aproximacion que tomamos, y se dara incluso si todos
los computos se pueden realizar de manera exacta.
11
Por ejemplo, el error algorıtmico de aproximar 1/φ con
numeros de Fibonacci satisface
|p− p| ≤4
φ2n+3
donde n es el ındice del numero de Fibonacci menor.
12
El error de punto flotante es un tipo particular de error
de redondeo, que es intrınseco al hecho de que la re-
presentacion de numeros racionales en un sistema po-
sicional es finito en una computadora.
13
Para esto, recordemos la formula para sumas de suce-
siones geometricas
n∑k=0
ρk =1− ρn+1
1− ρ
y que implica, cuando converge, la formula para la serie
geometrica∞∑k=0
ρk =1
1− ρ
(es decir, cuando |ρ| < 1).
14
Ası, cuando ρ = 116 = 1
24, tenemos
∞∑k=1
(1
16
)k=
1
1− 116
− 1 =1
15.
15
Esto significa que, en binario,
1
15= 0.0001.
16
Sin embargo, no se pueden almacenar infinitos dıgitosbinarios en la computadora. En el estandar IEEE 754(doble precision) permite solamente 52. Por lo tanto,en la computadora almacenarıamos
1
15= 0.0001000100010001000100010001000100010001000100010001.
17
Usando la formula de la suma de una progresion aritmeti-
ca nos da
13∑k=1
(1
16
)k=
1−(
116
)14
1− 116
=300239975158033
4503599627370496
18
El error absoluto entre 115 y la aproximacion en doble
precision es aproximadamente
1.48× 10−17.
Este error es inevitable y debe tenerse en cuenta en los
computos.
19
Supongamos que tenemos dos numeros reales a y b, y
queremos calcular su diferencia
x = a− b.
20
Si no tenemos los valores exactos de a y b, sino apro-
ximaciones a y b, ası que la diferencia es aproximada
por
x = a− b.
21
Si denotamos a los errores ∆a = a − a y ∆b = b − b,entonces
|∆x| = x− x = (∆a+ a)− (∆b+ b)− (a− b) = ∆a−∆b
y por lo tanto el error absoluto satisface
|∆x| ≤ |∆a|+ |∆b|.
22
Ası, el error absoluto en una resta (o suma) esta aco-
tado por la suma de los errores absolutos en los ope-
randos.
23
Este es una de las primeras formas en las que se va am-
plificando el error, pues entre mas sumamos o restamos
en principio mas aumenta en principio su magnitud.
24
Si denotamos con δx = ∆xx al error relativo, en particu-
lar
|δx| ≤|∆a|+ |∆b||a− b|
.
Con esto podemos apreciar que sucede si a ≈ b.
25
Tenemos en particular que ∆a = aδa, ∆b = bδb, y como
a ≈ b, entonces
|δx| ≤|a||δa|+ |b||δb||a− b|
≈ (|δa|+ |δb|)|a||a− b|
.
Puesto que a ≈ b, el valor de |a − b| es muy pequeno,
por lo que el valor de |a||a−b| es grande y puede amplificar
sustancialmente el error relativo de x.
26
Ejemplo 1. Supongamos que 1.25 y 1.2 son aproxima-
ciones de a y b respectivamente tales que sus errores
absolutos son a lo mas 0.03. Tenemos
δa =0.03
1.25= 0.024 y δb =
0.3
1.2= 0.025
o sea cada error es de algo ası como el 2 %.
27
Resulta que
|δx| ≤ (0.024 + 0.025)1.25
0.05≈ 1.225
que es de mas del 100 %.
28
Un caso concreto en donde se puede apreciar el efecto
del error que induce operar con numeros muy cercanos
es la aproximacion de la derivada
f ′(x) ≈f(x+ h)− f(x)
h.
29
Consideremos en especıfico f(x) = sen(x). Si operamos
con Octave para los valores h = 10−k con 5 ≤ k ≤ 10,
entonces los errores son
h Error absoluto5 4.21× 10−6
6 4.21× 10−7
7 4.18× 10−8
8 2.97× 10−9
9 5.25× 10−8
10 5.85× 10−8
30
Como puede verse, el error al principio comienza a ba-
jar, lo que significa que el error algorıtmico domina. Sin
embargo, cuando h es mas pequeno que 10−9 enton-
ces sen(1 + 1 × 10−2) y sen(1) difieren en menos que
6×10−13, y a partir de ahı el error de punto flotante (y
otros en la aproximacion del computo de las funciones
trigonometricas) predomina.
31
Veamos que podemos sacar en limpio para el caso del
producto
x = ab.
Por supuesto
x = ab.
32
Recordando que δa = a−aa y δb = b−b
b , al transponer
podemos escribir
a = aδa+ a = a(1 + δa) y b = b(1 + δb).
33
Entonces
x = a(1 + δa)b(1 + δb) = ab(1 + δa+ δb+ δaδb)
34
y por lo tanto
δx =x− xx
=ab(1 + δa+ δb+ δaδb)− ab
ab= 1 + δa+ δb+ δaδb− 1
= δa+ δb+ δaδb.
35
Al termino δaδb lo despreciamos, por lo cual
|δx| ≤ |δa|+ |δb|.
Es decir, el error relativo absoluto de un producto esta
acotado por la suma de los errores relativos absolutos
de los factores.
36
Ejemplo 2. Retomando nuestros numeros 1.25 y 1.2
que aproximan a a y a b con un error absoluto de 0.03 y
porcentuales de 0.024 y 0.025, respectivamente, enton-
ces x = 1.25×1.2 = 1.5, y el error porcentual esperamos
que satisfaga
|δx| ≤ 0.024 + 0.025 = 0.049
Observese la enorme diferencia entre la magnitud del
error relativo entre la de la resta y la del producto.
37
Teorema 3 (Taylor, 1715). Para algun entero n ≥ 0,
supongamos que f tiene n + 1 derivadas en el inter-
valo (a, b) y x0 es un punto dentro de dicho intervalo.
Entonces, para cada x en el intervalo, existe un ξ (que
depende de x) que esta entre x y x0 tal que
f(x) =n∑
j=0
f(j)(x0)
j!(x− x0)j +
f(n+1)(ξ)
(n+ 1)!(x− x0)n+1.
Tomamos aquı la convencion de que x0 = 1 para cual-
quier x.
38
Demostracion. Para el caso en que x = x0, hay nada
que demostrar. Supongamos entonces que x 6= x0, y
sea I el intervalo abierto entre x y x0 e I el intervalo
cerrado entre x y x0. Como I ⊂ I ⊂ (a, b) y f tiene n+1
derivadas en el intervalo (a, b), entonces
f, f ′, f ′′′, . . . , f(n)
son continuas en I y f(n+1) existe en I.
39
Definimos la funcion
F (z) = f(x)−n∑
j=0
f(j)(z)
j!(x− z)j.
El teorema quedara demostrado si logramos demostrar
que
F (x0) =(x− x0)n+1
(n+ 1)!f(n+1)(ξ)
para algun ξ ∈ I.
40
La derivada F ′(z) es una suma telescopica,
F ′(z) = −f ′(z)−n∑
j=1
f(j+1)(z)
j!(x− z)j −
f(j)(z)
(j − 1)!(x− z)j−1
= −f ′(z)− [(f ′′(z)/1!)(x− z)− (f ′(z)/0!)
+ (f ′′′(z)/2!)(x− z)3 − (f ′′(z)/1!)(x− z) + · · · ]= −f ′(z)− [−f ′(z) + (f(n+1)(z)/n!)(x− z)n]
= −(f(n+1)(z)/n!)(x− z)n
41
A continuacion definamos
g(z) = F (z)−(x− zx− x0
)n+1
F (x0).
42
Resulta que
g(x0) = F (x0)−
*1(x− x0
x− x0
)n+1
F (x0) = 0.
y
g(x) = F (x)−
*0(x− xx− x0
)n+1
F (x0) = F (x) = 0.
43
Dado que g es diferenciable en I, continua en I y los
valores de g coinciden en los extremos, por el teorema
de Rolle existe ξ ∈ I tal que
g′(ξ) = 0.
44
O sea
F ′(ξ) +n+ 1
x− x0·(x− ξx− x0
)nF (x0) = 0
y podemos transponer
F (x0) = −F ′(ξ)(x− x0)n+1
(x− ξ)n(n+ 1).
45
Sustituyendo F ′(ξ) = −(f(n+1)(ξ)/n!)(x− ξ)n en lo an-
terior
F (x0) = −(−(f(n+1)(ξ)/n!)
(x− ξ)n)(x− x0)n+1
(x− ξ)n(n+ 1)
= f(n+1)(ξ)(x− x0)n+1
(n+ 1)!.
46
Denotaremos con
Tn(x) =n∑
j=0
f(j)(x0)
j!(x− x0)j
al llamado n-esimo polinomio de Taylor de f alrededor
de x0.
47
Por otra parte, denotamos con
Rn(x) =f(n+1)(ξ)
(n+ 1)!(x− x0)n+1
al llamado residuo del n-esimo polinomio de Taylor de
f alrededor de x0.
48
El residuo nos dice justamente que tan bien aproxima
Tn(x) a f(x), pues el error absoluto al usar a Tn(x) para
aproximar a f(x) es
|Rn(x)| = |Tn(x)− f(x)|.
49
Pero
|Rn(x)| =
∣∣∣∣∣∣f(n+1)(ξ)
(n+ 1)!(x− x0)n+1
∣∣∣∣∣∣≤ max
ξ
∣∣∣∣∣∣f(n+1)(ξ)
(n+ 1)!(x− x0)n+1
∣∣∣∣∣∣≤|x− x0|n+1
(n+ 1)!maxξ|f(n+1)(ξ)|
50
De aquı se sigue que el error absoluto depende de
que tan cerca estemos del punto donde se calcula
el polinomio,
de que grado es el polinomio y
el valor maximo de la (n+ 1)-esima derivada de f .
51
Ejemplo 4. Consideremos a la funcion cos(x). Si la
expandimos alrededor de x0 = 0, entonces
Tn = cos(0)− sen(0)x−cos(0)
2!x2 +
sen(0)
3!x3 +
cos(0)
4!x4 − . . .
= 1−x2
2!+x4
4!−x6
6!+ . . . .
52
El residuo es
Rn(x) =
dn+1
dxn+1 cos(x)∣∣∣∣x=ξ
(n+ 1)!(x− 0)n+1
y sabemos que las derivadas son o bien ± sen(x) o bien
± cos(x).
53
Como tanto sen(x) como cos(x) estan acotadas por 1,
entonces
|Rn(x)| ≤|x|n+1
(n+ 1)!
54
Como el factorial crece rapido, entonces para un po-
linomio de grado moderado se puede tener un error
pequeno al aproximar cos(x) con Tn(x) incluso para va-
lores relativamente grandes de x.
Por ejemplo, si n = 10, entonces
|R10(x)| ≤|x|11
11!.
55
Para que |R10(x)| ≤ 0.1, por ejemplo, basta que
x11
11!= 0.1
o sea
x = 11√0.1× 11! = 3.982 . . . .
56
Podemos comprobar la calidad de la aproximacion gra-
ficando.
57
Otra razon por la que nos interesa el teorema de Tay-
lor es porque permite calibrar el error al calcular una
funcion. Recordemos que el error en x es
∆x = x− x.
Si tenemos y = f(x), entonces queremos
∆y = y − y = f(x)− f(x).
58
Tomando en el teorema de Taylor x0 = x y x = x, y
como x = x+ ∆x, entonces
∆y = f(x)− f(x) = f(x+ ∆x)− f(x)
= [f(x) +f ′(x)
1!(x− x) +
f ′′(x)
2!(x− x)2 + . . .]− f(x)
=f ′(x)
1!(x− x) +
f ′′(x)
2!(x− x)2 + . . .
59
Despreciando los terminos de grado 2 o mayor, consi-
derando que ∆x es pequeno, nos da
∆y ≈f ′(x)
1!(x− x) = f ′(x)∆x
60
Dividiendo entre y obtenemos una primera expresion
que involucra el error relativo de y
δy =∆y
y≈f ′(x)
y∆x =
f ′(x)
f(x)∆x.
y podemos ahora multiplicar y dividir entre x para ob-
tener
δy =xf ′(x)
f(x)δx.
61
Esto significa que el error relativo en f(x) se amplifica
segun el factor xf ′(x)/f(x).
Ası, por ejemplo, si f(x) = x2, entonces el factor es
x(2x)
x2= 2
ası que cualquier error relativo al medir el lado de un
cuadrado, el error relativo en su area se amplifica por
2.
62
Sabemos que T2 alrededor de 0 para cos(x) es
T2 = 1−x2
2.
¿Que tal si queremos averiguar en que intervalo se cum-
ple que el error absoluto es menor o igual a 0.1?
63
Es decir, queremos saber en que intervalo se satisface∣∣∣∣∣1− x2
2− cos(x)
∣∣∣∣∣ ≤ 1
10.
64
De la grafica inferimos que en el intervalo [0, x] donde
se cumple la desigualdad tanto T2 como cos(x) son
monotonas, ası que bastarıa en principio con resolver
cos(x)−(
1−x2
2
)=
1
10
o bien
cos(x)−(
1−x2
2
)−
1
10= cos(x) +
x2
2−
11
10= 0.
65
¿Como resolver esta ecuacion?
Teorema 5 (del valor intermedio). Si f es una funcion
continua en [a, b] y u es un numero entre f(a) y f(b),
entonces existe un numero c tal que
f(c) = u.
66
Notese que si lo f(a) y f(b) son de distinto signo, algo
que nos dice el teorema del valor intermedio es que
existe c tal que
f(c) = 0.
Un numero tal que anula el valor de una funcion se
llama cero o raız de la funcion.
67
Un problema con el teorema del valor intermedio es que
no nos dice donde esta el numero c. Esto es algo comun
que sucede entre el analisis en abstracto y el analisis
numerico: ya sabemos que existe algo, y ahora tenemos
que ingeniarnos algun procedimiento para encontrarlo
de manera efectiva.
68
Una estrategia muy simple es encontrar el punto medio
m0 = a+b2 . Entonces pueden suceder dos casos:
Si u esta entre f(a) y f(m0), entonces podemos
aplicar otra vez el teorema del valor intermedio y
tenemos la garantıa de que c esta en el intervalo
[a,m0].
Si u esta entre f(b) y f(m0), entonces podemos
aplicar otra vez el teorema del valor intermedio y
tenemos la garantıa de que c esta en el intervalo
[m0, b].
69
Forzosamente debe presentarse uno de los dos casos
(a menos que f(m0) = u, en cuyo caso habremos ter-
minado). Y en cualquiera de ellos, el intervalo donde
sabemos que esta c es de la mitad de la longitud del
intervalo original.
70
Con esto podemos producir una sucesion de puntos
medios mk que deben converger a c, por el teorema
de los intervalos anidados.
71
Tiene otra peculiaridad este esquema: sabemos que
|mk − c| ≤|b− a|
2k
Es decir: tenemos una muy buena idea de que tan cerca
estamos de c ¡aun sin saber quien es exactamente!
72
Regresemos a nuestro ejemplo. La funcion en cuestion
que definirıamos es
f(x) = cos(x) +x2
2−
11
10.
Sabemos que debe haber una raız entre 1 y 2, pues
f(1) = −0.059698 . . . y f(2) = 0.48385
73
El punto medio entre 1 y 2 es
m0 =1 + 2
2= 1.5.
Si evaluamos a la funcion aquı obtenemos
f(m0) = 0.095737 . . . .
74
El cambio de signo de f se da ahora entre 1 y m0 = 1.5.
Calculamos de nuevo el punto medio
m1 =1 + 1.5
2= 1.25.
Evaluamos a la funcion aquı
f(m1) = −0.0034275 . . . .
75
Como f(m1) < 0 y f(m0) > 0, tenemos el nuevo punto
medio
m2 =1.5 + 1.25
2= 1.375.
Evaluamos otra vez
f(m2) = 0.039860 . . . .
76
k mk f izq. f(mk) f der Longitud del intervalo0 1.5 −0.0597 0.0957 0.4839 2− 1 = 11 1.25 −0.0597 −0.0034 0.0957 1.5− 1 = 0.52 1.375 −0.0034 0.0399 0.0957 1.5− 1.25 = 0.253 1.3125 −0.0034 0.0168 0.0399 1.375− 1.25 = 0.1254 1.2812 −0.0034 0.0063 0.0168 1.3125− 1.25 = 0.0625
77
Entrada: Una funcion f continua en [a, b] que cambie de signo,una tolerancia ε y un numero maximo de iteraciones M .
Salida: Una raız c con una tolerancia en el error de ε en un maximode M iteraciones y error en caso contrario.
1: n← 0, e← |b− a|.2: mientras e > ε y n ≤M hacer3: c← (a+ b)/2.4: si f(c) = 0 entonces5: devolver c.6: si no si ((f(a) < 0) ∧ (f(c) > 0) ∨ ((f(a) > 0) ∧ (f(c) < 0))
entonces7: b← c.8: si no9: a← c.
10: fin si11: n← n+ 1, e← |b− a|.12: fin mientras13: si e ≤ ε entonces14: devolver c.15: si no16: devolver Error.17: fin si
78
Consideremos a la funcion f(x) = e−x. Si iniciamos con
x0 = 1, y calculamos
x1 = f(x0) = 0.3679.
79
Otra vez
x2 = f(x1) = 0.6922.
80
Otra vez
x3 = f(x2) = 0.5005.
81
Otra vez
x4 = f(x3) = 0.6062.
82
Una mas...
x5 = f(x4) = 0.5454.
83
Otra mas...
x6 = f(x5) = 0.5796.
84
Si repetimos esto 14 veces, llegamos a
x14 = 0.562762 . . .
y luego
x13 = 0.567067 . . .
85
Como podemos ver, parece que se queda esta quedando
“fija” la sucesion. Es decir, estamos cerca de un punto
x tal que
f(x) = e−x = x.
Esto es lo que se denomina un punto fijo.
86
Sin embargo, esto no es algo que se espere que pa-
se para todos los puntos fijos. Por ejemplo, la funcion
g(x) = x3 tiene un punto fijo en x = 1. Sin embargo,
si empezamos en un punto como x0 = 0.5, se observa
que
x1 = 0.125, x2 = 0.001953125, x3 = 7.45× 10−9.
87
Si avanza hacia un punto fijo, pero es 0.
¿Cual es la diferencia? ¿Por que en un caso sı converge
al punto fijo que deseamos y en el otro no?
88
Teorema 6. Si h(x) es diferenciable en (a, b) con |h′(x)| <1 para todo x ∈ (a, b), entonces siempre que x1, x2 ∈(a, b) entonces
|h(x1)− h(x2)| < |x2 − x2|.
89
Demostracion Podemos suponer que x1 < x2, pues si
no fuera ası entonces bastarıa cambiarles los ındices.
Como f es continua en [x1, x2] y diferenciable en (x1, x2)
segun las hipotesis, entonces por el teorema del valor
medio debe existir x1 < ξ < x2 de modo que
f ′(ξ) =h(x2)− h(x1)
x2 − x1.
90
Al tomar valores absolutos, tenemos
|h(x2)− h(x1)||x2 − x1|
= |f ′(ξ)| < 1
segun las hipotesis. Podemos transponer entonces y lle-
gamos a que
|h(x2)− h(x1)| < |x2 − x1|.
91
Esto significa que, cuando en un intervalo la derivada
de una funcion es menor que 1, entonces dos puntos to-
mados cerca dentro de dicho intervalo son enviados por
la funcion a dos puntos que estan todavıa mas cerca.
92
Teorema 7. Supongase que h(x) es continua en [a, b],
diferenciable en (a, b) con |h′(x)| < 1 para x ∈ (a, b) y
h([a, b]) ⊆ [a, b]. Entonces h tiene un unico punto fijo
en [a, b].
93
Demostracion. Si h(a) = a y h(b) = b, entonces ya esta.
Por lo tanto podemos suponer h(a) 6= a y h(b) 6= b.
Puesto que h([a, b]) ⊆ [a, b], lo que implica que debe
ocurrir que h(a) > a y h(b) < b.
94
Se sigue que h(a) − a > 0 y h(b) − b < 0. Por lo tanto,
definiendo la funcion auxiliar f(x) = h(x) − x, resulta
que f(a) > 0 y f(b) < 0 y continua; ya sabemos que
eso implica que existe c ∈ (a, b) tal que
f(c) = h(c)− c = 0
o sea
h(c) = c.
95
Probada la existencia del punto fijo, falta demostrar
que es unico. Supongamos que hubiera dos, digamos
c1, c2 ∈ [a, b]. Entonces
h(c1)− h(c2)
c1 − c2=c1 − c2c1 − c2
= 1
y, por el teorema del valor medio existe un ξ entre c1 y
c2 tal que
h′(ξ) = 1.
96
Sin embargo, esto contradice que la derivada de h en
todo el intervalo es estrictamente menor que 1. Luego
c1 = c2.
97
Teorema 8 (De convergencia al punto fijo). Dada una
funcion f continuamente diferenciable y un punto fijo
x, si |f ′(x)| < 1 entonces existe una vecindad de x tal
que la iteracion de punto fijo converge al punto fijo
para cualquier valor inicial dentro de dicha vecindad.
98
Demostracion. Dada la continuidad, podemos suponer
que existe un ε > 0 tal que
|f ′(x)| < 1
siempre que x ∈ (x− ε, x+ ε). Sea 0 < δ < ε y tomemos
M = maxx∈[x−δ,x+δ]
|f ′(x)|
99
Ahora tomemos ese punto x0 arbitrario dentro de (x−δ, x+δ). Por el teorema del valor medio, existe c tal que
f ′(c) =f(x)− f(x0)
x− x0.
100
Pero |f ′(x)| < M , de modo que
|f(x)− f(x0)| < M |x− x0|
y como x es un punto fijo y f(x0) = x1 concluimos que
|x− x1| < M |x− x0|.
101
Por induccion demostraremos que
|x− xk| < Mk|x− x0|.
Ya tenemos el caso base. Supongamos que se cumple
para un k la desigualdad anterior.
102
Para k+ 1, puesto que xk ∈ (x− δ, x+ δ), entonces por
el teorema del valor medio e igual que antes debemos
llegar a la conclusion de que
|x− f(xk)| < M |x− xk|.
103
Por hipotesis de induccion y recordando que xk+1 =
f(xk), tenemos
|x− xk+1| < M(Mk|x− x0|) = Mk+1|x− x0|
que es lo afirmado.
104
Ya solo resta observar que M < 1 por hipotesis, luego
lımk→∞
|x− xk| ≤ |x− x0| lımk→∞
Mk −−−−→k→∞
0
lo que implica que lımk→∞ xk = x.
105
Ejemplo 9. ¿Podemos convertir el problema de encon-
trar la raız de cos(x) + x2
2 −1110? La cuestion es que
no hay una unica forma de hacerlo. Una posibilidad es
“despejar” primero cos(x)
x = arc cos
(11
10−x2
2
)=: g(x)
106
Si iteramos con g empezando de, digamos, x0 = 0.5,
obtenemos
x1 = 0.2241
y el siguiente valor no podrıa ser real.
107
En cambio, si “despejamos” a x2 nos da
x =
√2(
11
10− cos(x)
)=: h(x).
108
Si iteramos con h empezando tambien desde x0 = 0.5,
obtenemos
x1 = 0.667, x2 = 0.793, . . . , x11 = 1.201, . . .
y ahora sı parece converger a 1.26, aunque mucho mas
lento.
109
Graficando las derivadas en ambos casos observamos
que solamente en el segundo caso obtenemos que la
derivada es menor que 1 hasta antes de 3, por lo que
tenemos garantıa de llegar al punto fijo si empezamos
con 0 ≤ x0 ≤ 3.
110
Entrada: Una funcion f continua en [a, b] y diferencia-ble en (a, b) con un punto fijo x tal que para algunδ la magnitud de |f ′(x)| < 1 en x ∈ (x − δ, x + δ),x0 ∈ (x − δ, x + δ), una tolerancia ε y un numeromaximo de iteraciones M .
Salida: Una aproximacion al punto fijo con una tole-rancia en el error de ε en un maximo de M itera-ciones y error en caso contrario.
1: para 1 ≤ j ≤ N hacer
2: x← f(x0).3: si |x− x0| < ε entonces
4: devolver x
5: fin si
6: x0 ← x.7: fin para
8: devolver Error.
111
Otro esquema de punto fijo mas poderoso que este
de “vainilla” es considerar la aproximacion venida de la
del polinomio lineal de Taylor alrededor de una primera
aproximacion x0 de la raız
f(x) ≈ f(x0) + f ′(x0)(x− x0).
112
Para encontrar un cero de la funcion, podemos aproxi-
mar
f(x0) + f ′(x0)(x− x0) = 0
y transponer
x = x0 −f(x0)
f ′(x0).
113
Naturalmente, salvo que tengamos mucha suerte, este x
no sera realmente el cero, sino (esperamos) una mejor
aproximacion al mismo. Podemos definir entonces la
recursion
xk+1 = xk −f(xk)
f ′(xk)
que corresponde a la llamada iteracion de Newton-Raphson.
114
En realidad esta es una iteracion de punto fijo, pues si
ocurre que xk es un cero de la funcion, entonces
xk+1 = xk −
:0f(xk)
f ′(xk)= xk.
Claro, siempre y cuando f ′(xk) 6= 0. De hecho, este es
un talon de Aquiles de esta recursion, pero nos ocupa-
remos de como remediar esto despues.
115
Ejemplo 10. Retomando a f(x) = cos(x) + x22 − 1110,
iniciando desde x0 = 1, tenemos f ′(x) = − sen(x) + x
x1 = x0 −f(x0)
f ′(x0)
= 1−−0.0597
0.1585= 1 + 0.3767
116
Continuando ası obtenemos
x1 = 1.5564,
x2 = 1.3307,
x3 = 1.2662,
x4 = 1.2613,
x5 = 1.2612,
x6 = 1.2612,
redondeando hasta cuatro decimales.
117
La iteracion de Newton-Raphson tambien se puede ver
como que se aproxima a la funcion con la recta tangente
en (x0, f(x0)) y se halla el cero de esta recta tangente.
Y de aquı podemos obtener un esquema que nos evita
calcular la derivada, lo cual podrıa no ser posible en un
entorno donde implantemos la recursion.
118
En general la idea es reemplazar a una tangente por una
secante, lo que requiere dos aproximaciones iniciales a
la raız, x0 y x1.
Habrıa que senalar aquı que la idea de usar una aproxi-
macion por secante se puede combinar con la biseccion
o con la iteracion de Newton-Raphson.
119
En ambos casos hay que encontrar la raız de la secante,
ası que hagamos eso primero. La secante es
y =f(x0)− f(x1)
x0 − x1(x− x0) + f(x0).
120
Igualando a 0 y resolviendo para x, obtenemos
x = x0 − f(x0)
(x0 − x1
f(x0)− f(x1)
).
121
Para combinarla con la idea de la biseccion, necesitamos
que f cambie de signo entre x0 y x1, y entonces en
lugar de tomar el punto medio, se cambia un extremo
del intervalo por
x2 = x0 − f(x0)
(x0 − x1
f(x0)− f(x1)
).
Al algoritmo resultante se le llama de falsa posicion.
122
Para combinarla con la idea de la iteracion de Newton-
Raphson, simplemente se convierte en la iteracion
xk = xk−2 − f(xk−2)
(xk−2 − xk−1
f(xk−2)− f(xk−1)
).
A esta iteracion se le llama de la secante.
123
Ejemplo 11. Si para f(x) = cos(x)+x22−1110, iniciando
desde x0 = 1 y x1 = 1.1, tenemos
x2 = 1.3263,
x3 = 1.2487,
x4 = 1.2604,
x5 = 1.2616.
124
Si f tiene un punto fijo x y f ′(x) existe. Sea xknk=0 la
sucesion de punto fijo, es decir
xk+1 = f(xk), k ≥ 1.
125
Si tenemos que
lımk→∞
xk = x
y ademas xk 6= x para k ≥ 0, entonces
|xn+1 − x||xn − x|
=
∣∣∣∣∣f(xn)− f(x)
xn − x
∣∣∣∣∣ .
126
Ademas
lımn→∞
∣∣∣∣∣f(xn)− f(x)
xn − x
∣∣∣∣∣ = |f ′(x)|
127
Definicion 12. La sucesion pn converge a p con orden
de convergencia α ≥ 1 si
lımn→∞
|pn+1 − p||pn − p|α
= λ
para algun λ > 0.
128
En terminos de la definicion anterior tenemos que la ite-
racion de punto fijo converge con orden α = 1 siempre
que |f ′(x)| 6= 0.
129
Ejemplo 13. Consideremos los polinomios
f(x) =x3
8−x2 + 2x+ 1 y g(x) = −x3 + 5x2−3x−6.
que tienen puntos fijos en x = 2 y x = 3, respectiva-
mente.
130
Si ponemos para ambos el punto inicial x0 = 2.8, en-
tonces obtenemos lo siguiente.
k xk |2− xk| xk |3− xk|0 2.8 0.8 2.8 0.31 1.504 0.496 2.848 0.1522 2.171 0.171 2.9111 0.08893 1.908 0.920 2.9691 0.03094 2.043 0.043 2.9962 0.00385 1.978 0.022 2.9994 0.0006
131
Para ver que cuando f ′(x) = 0 la convergencia es con
orden α = 2 (o sea, es cuadratica), usamos el teorema
de Taylor, recordando que ∆n = x− xn
x = f(x) = f(xn + ∆n)
= f(xn) + f ′(xn)∆n +f ′(xn)
2∆2n + · · ·
= xn+1 + f ′(xn)∆n +f ′(xn)
2∆2n + · · ·
132
Y tambien por el teorema de Taylor
0 = f ′(x) = f ′(xn + ∆n) = f ′(xn) + f ′′(xn)∆n + · · ·
de donde
f ′(xn) = −f ′′(xn)∆n − · · · .
133
Entonces
∆n+1 = x− xn+1
= −f ′′(xn)∆2n + · · ·+
f ′′(xn)
2∆2n + · · ·
= −f ′′(xn)
2∆2n + · · · .
134
Esto significa que∣∣∣∣∆n+1
∆n
∣∣∣∣ =|x− xn+1||x− xn|2
= |f′′(xn)
2 |+ · · ·
donde · · · tiene terminos de tamano cuando mucho de
tamano ∆n. Tomando lımites nos da
lımn→∞
|x− xn+1||x− xn|2
= |f′′(x)2 |
lo que comprueba que el orden de convergencia... A
menos que f ′′(x) = 0, en cuyo caso el orden es todavıa
mayor.
135
A continuacion veremos como acelerar la convergencia
de una sucesion que converge linealmente, es decir, que
satisface
lımn→∞
|p− pn+1||p− pn|
= λ 6= 0.
Dada esta situacion, podemos esperar que
|p− pn+2||p− pn+1|
≈|p− pn+1||p− pn|
≈ λ.
136
Transponiendo la primera “igualdad” obtenemos
|(p− pn+2)(p− pn)| = |p− pn+1|2
137
Suponiendo que p− pn+2 y p− pn son del mismo signo,
podemos quitar los valores absolutos y repartir los parente-
sis
(p− pn+2)(p− pn) = (p− pn+2)2
p2 − (pn+2 + pn)p+ pn+2pn =
p2 − 2pn+1p+ p2
n+1
138
Transponemos a los terminos que tienen a p como fac-
tor para obtener
(−pn+2 + 2pn+1 − pn)p = −pn+2pn + p2n+1
y despejando finalmente a p,
p =pn+2pn − p2
n+1
pn+2 − 2pn+1 + pn.
139
Para evitar dividir dos numeros que estan igual de cer-
canos a 0, se calcula en su lugar la sucesion
an = pn −(pn+1 − pn)2
pn+2 − 2pn+1 + pn.
140
Ejemplo 14. Considerando la funcion f(x) = e−x con
punto inicial x0 = 1, tendrıamos lo siguiente.
k pk ak0 1 0.582231 0.36788 0.571712 0.69220 0.568643 0.50047 0.567624 0.60624 –5 0.54540 –
141
Consideremos el sistema
5x1 + 2x2 + 3x3 = 2,
2x1 + 4x2 + 3x3 = 4,
2x1 + 2x2 + 4x3 = 5.
142
Para resolverlo, es util considerar la matriz aumentada5 2 3 22 4 3 42 2 4 5
143
A continuacion se realiza una eliminacion por filas (tam-
bien llamada gaussiana, aunque la atribucion es muy
generosa). Para ello, recordemos que se divide a la pri-
mera fila entre la primera componente de la primera
fila... 1 2/5 3/5 2/52 4 3 42 2 4 5
144
Ahora usamos tal componente vuelta uno como pivote
para hacer cero a todas las componentes debajo de ella.1 2/5 3/5 2/50 16/5 9/5 16/50 6/5 14/5 21/5
145
Seguimos con la segunda componente de la segunda
fila. 1 2/5 3/5 2/50 1 9/16 10 6/5 14/5 21/5
146
Seguimos eliminando pero solo las componentes debajo
de esta ultima componente.1 2/5 3/5 2/50 1 9/16 10 0 17/8 3
147
Y terminamos. 1 2/5 3/5 2/50 1 9/16 10 0 1 24/17
148
La matriz conformada por las primeras tres columnas
es triangular superior. Cuando se ha llevado al sistema
a esta forma, se puede resolver por sustitucion hacia
atras. Para entender esto, restituyamos las variables e
igualdades.
x1 + 25x2 + 3
5x3 = 25,
x2 + 916x3 = 1,
x3 = 2417.
149
Con esto ya tenemos x3 = 2417. Usando esto y la segunda
igualdad podemos transponer y calcular
x2 = 1− 916x3,
= 1− 916 ·
2417,
= 734.
150
Ahora podemos usar la primera igualdad para encontrar
x1
x1 = 25 −
25x2 − 3
5x3
= 25 −
25 ·
734 −
35 ·
2417
= − 917.
151
Este panorama parece idılico en cuanto a que la elimina-
cion por filas y la sustitucion hacia atras son algoritmos
muy simples. Sin embargo, hay una fuente de error inhe-
rente a la resolucion de ecuaciones que es muy difıcil
de tratar en general.
152
Consideremos el sistema de 2 × 2 que conduce a la
matriz aumentada (1
1000 1 31 2 5
)
153
Haciendo la reduccion por filas exacta, nos da(1
1000 1 30 −998 −2995
)
154
Pero, si no la hacemos exacta y redondeamos a dos
decimales, nos da (1 1000 30000 −1 −3
).
155
Si resolvemos hacia atras, nos da
x2 = 3 y x1 = 3000− 1000x2 = 3000− 3000 = 0.
156
Sin embargo, si resolvemos el sistema original, obtene-
mos
x2 = 2995998 = 3.001 y x1 = 1000(3− x2) = −1.
157
Esto es lo que sugiere hacer justamente intercambios
de renglones, para evitar multiplicar y sobretodo dividir
entre numeros muy pequenos, en este caso podemos
intercambiar los renglones(1 2 51
1000 1 3
).
158
Si ahora hacemos la reduccion y redondeamos como
antes, nos da (1 2 50 1 3
).
159
Resolviendo hacia atras, resulta
x2 = 3 y x1 = 5− 2x2 = 5− 2 · 3 = −1
que corresponde al redondeo de la solucion correcta.
160
El esquema general es que, por supuesto, conforme van
avanzando los pivotes se elige aquel que tenga el mayor
valor absoluto. En este caso, 1 > 11000.
161
Sin embargo, incluso con un pivoteo estrategico pode-
mos tener problemas con las soluciones. Por ejemplo, si
tenemos los sistemas cuyas matrices aumentadas son(1 1/2 1
1/2 1/3 2
)y
(1 1/2 1
1/2 1/3 23/12
)
162
Aquı los miembros derechos son muy cercanos: su dis-
tancia euclidiana es 112.
Resolvamos reduciendo(1 1/2 10 1/12 3/2
)y
(1 1/2 10 1/12 17/12
),
163
luego resolviendo hacia atras, lo que da
x2 = 3/21/12 = 18, x1 = 1− 18/2 = −8
y
x2 = 17/121/12 = 17, x1 = 1− 17/2 = −7.5.
La distancia entre estas dos soluciones es 1.118, que es
¡mas de 13 veces mayor!
164
Este es un gran problema, porque normalmente el vec-
tor derecho representa alguna entrada de un sistema y
que estan sometidos a error de medicion, por lo que es
muy serio que la solucion cambie tan drasticamente.
165
La manera de cuantificar esta sensibilidad a los cambios
se denomina numero de condicion de una matriz. Si
tenemos el error ∆x en los elementos del sistema Ax =
b, entonces
cond(A) = max∆x,b 6=0
‖A−1∆x‖‖∆x‖
‖b‖‖A−1b‖
Se puede calcular con el comando cond en Octave/Matlab.
166
Entre mas el numero de condicion de una matriz, mas
sensible es un sistema que la tenga como coeficientes.
Por ejemplo, para la matriz A1 del sistema de 3 × 3
que estudiamos en la primera resolucion hacia atras
tenemos
cond(A1) = 6.1902
mientras que para la matriz A2 =
(1 1/2
1/2 1/3
)es
cond(A2) = 19.281.
167
No es inusitado tener que resolver el sistema Ax = b
para diferentes vectores b, ası que nos gustarıa poder
aprovechar la reduccion por filas para futuras ocasiones.
Para esto sirve la descomposicion LU.
168
Para entender como procede, consideremos la matriz
A =
5 2 32 4 32 2 4
.
169
En este caso no dividiremos para hacer 1 al pivote. En-
tonces, para eliminar la primera componente de la se-
gunda fila, se tiene que multiplicar por 2/5. Para aprove-
char el espacio, y sabiendo que la primera componente
de la segunda fila queda en cero, vamos a guardar ahı
el factor. 5 2 3(2/5) 16/5 9/5
2 2 4
.
170
El factor para eliminar la primera componente del tercer
renglon es el mismo, y hacemos lo mismo. 5 2 3(2/5) 16/5 9/5(2/5) (3/8) 17/8
.
171
Con esto se pueden definir las matrices
L =
1 0 02/5 1 02/5 3/8 1
y
U =
5 2 30 16/5 9/50 0 17/8
.
172
Estas matrices son tales que
LU = A.
173
Si tenemos ahora el sistema
LUx = b
entonces podemos definir primero y = Ux, de modo
que resolvemos primero
Ly = b.
174
Para el ejemplo que tenemos, eligiendo b = (1,2,3)t
nos da el sistema
y1 = 1,25y1 + y2 = 2
25y1 + 3
8y2 + y3 = 3.
175
Esto se resuelve por sustitucion hacia adelante, natural-
mente. La variable y1 esta lista. La segunda se despeja
despues
y2 = 2− 25y1
= 2− 25 · 1 = 8
5
176
Y terminamos despejando la ultima.
y3 = 3− 25y1 − 3
8y2
= 3− 25 · 1−
38 ·
85
= 2.
177
Ahora resolvemos el sistema Ux = y, o sea
5x1 + 2x2 + 3x3 = 1,165 x2 + 9
5x3 = 85,
178 x3 = 2
178
Aplicamos, pues, la sustitucion hacia atras ahora
x3 =2
17/8= 16
17,
x2 =85 −
95x3
16/5= − 1
34,
x1 =1− 2x2 − 3x3
5= − 6
17.
179
Algoritmo 15 (Sustitucion hacia atras).
Entrada: Un sistema Ax = b con A ∈ Rn×n una matriz
triangular superior y b ∈ Rn.
Salida: La solucion x ∈ Rn del sistema.
1: para i← n, . . . ,1 hacer
2: xi ←(bi −
∑nj=i+1 ai,jxj
)/ai,i.
3: fin para
4: devolver x.
180
Algoritmo 16 (Sustitucion hacia adelante).
Entrada: Un sistema Ax = b con A ∈ Rn×n una matriz
triangular inferior y b ∈ Rn.
Salida: La solucion x ∈ Rn del sistema.
1: para i← 1, . . . , n hacer
2: xi ←(bi −
∑i−1j=1 ai,jxj
)/ai,i.
3: fin para
4: devolver x.
181
Algoritmo 17 (Factorizacion LU).
Entrada: Una matriz A ∈ Rn×n tales que existen las
matrices triangular inferior L y superior U tal que
LU = A.
Salida: Las matrices L y U .
1: para k ← 1, . . . , n hacer
2: `k,k ← 1.
3: para j = k, . . . , n hacer
4: uk,j ← ak,j −∑k−1s=1 `k,sus,j.
5: fin para
6: para i = k + 1, . . . , n hacer
7: `i,k ←(ai,k −
∑k−1s=1 `i,sus,k
)/uk,k.
8: fin para
9: fin para
10: devolver L,U .
182
Definicion 18. El menor principal k-esimo de una ma-
triz A es la matriz
A(k) =
a1,1 · · · a1,k... . . . ...
ak,1 · · · ak,k
183
Teorema 19. Si los n menores principales de una ma-
triz A ∈ Rn×n son no singulares, entonces A tiene una
descomposicion LU.
184
Definicion 20. Una matriz simetrica A ∈ Rn×n es posi-
tiva definida si la forma cuadratica xtAx > 0 para todo
x 6= 0.
185
Teorema 21. Si A es una matriz real, simetrica y defi-
nida positiva, entonces tiene una unica factorizacion
A = RRt
donde R es una matriz triangular inferior con diagonal
positiva.
A esta descomposicion se le llama de Cholesky.
186
La factorizacion de Cholesky es un caso particular de
la LU, y en ese sentido esencialmente se calcula por
reduccion por filas. Tenemos las siguientes ecuaciones
ai,i =i∑
k=1
ri,krtk,i =
i∑k=1
r2i,k
ai,j =i∑
k=1
ri,krtk,j =
i∑k=1
ri,krj,k
Al resolver recursivamente, obtenemos el algoritmo.
187
Algoritmo 22 (Factorizacion de Cholesky).
Entrada: Una matriz A ∈ Rn×n real, simetrica y defi-
nida positiva.
Salida: Las matriz L tal que A = LLt.
1: para j ← 1, . . . , n hacer
2: para i← 1, . . . , j − 1 hacer
3: rj,i ← (ai,j −∑i−1k=1 ri,krj,k)/ri,i.
4: fin para
5: rj,j =√aj,j −
∑j−1k=1 r
2j,k.
6: fin para
7: devolver L.
188
Ejemplo 23. Consideremos a la matriz
A =
4 3 33 4 33 3 4
y calculemos su factorizacion de Cholesky.
189
j = 1
r1,1 =√a1,1 =
√4 = 2.
190
j = 2
r2,1 = a1,2/r1,1 = 3/2 = 1.5,
r2,2 =
√a2,2 − r2
2,1 =√
4− 1.52 = 1.3229.
191
j = 3
r3,1 = a1,3/r1,1 = 3/2 = 1.5,
r3,2 = (a2,3 − r2,1r3,1)/r2,2
= (3− 1.5 · 1.5)/1.3229 = 0.5669
r3,3 =
√a3,3 − r2
3,1 − r23,2
=√
4− 1.52 − 0.56692 = 1.1953.
192
Tenemos entonces la matriz
R =
2 0 01.5 1.3229 01.5 0.5669 1.1953
.
193
El producto RRt da4 3 33 4.0006441 2.999952013 2.99995201 4.0001177
Notese que se va acumulando moderadamente el error
de redondeo, y por eso tiene que realizarse con la mayor
precision posible.
194
Definicion 24. Dada una norma vectorial ‖?‖, la norma
matricial subordinada se define segun
‖A‖ = sup‖Au‖ : u ∈ Rn, ‖u‖ = 1.
195
Teorema 25. Si ‖?‖ es una norma en Rn, entonces
la norma matricial subordinada en el espacio Rn×n de
todas las matrices de n× n es una norma.
196
Demostracion. Tenemos que verificar que la norma es
mayor que 0 para matrices no nulas, que saca escalares
en valor absoluto y que satisface la desigualdad trian-
gular. Para lo primero, tomemos una matriz no nula
A. Entonces tiene al menos una columna, digamos la
j-esima, con al menos una componente distinta de 0.
197
Definamos el vector x = (0, . . . ,1, . . . ,0) que tiene un
1 en la j-esima componente. Este vector es tal que
‖x‖ = 1, y ademas Ax = Aj. Por lo tanto
‖A‖ ≥ ‖A( 1‖x‖x)‖
=1
‖x‖‖Ax‖
=1
‖x‖‖Aj‖ ≥ 0.
198
En cuanto a la segunda propiedad
‖λA‖ = sup‖λAu‖ : ‖u‖ = 1= |λ| sup‖Au‖ : ‖u‖ = 1 = |λ|‖A‖.
199
Finalmente
‖A+B‖ = sup‖(A+B)u‖ : ‖u‖ = 1≤ sup‖Au‖+ ‖Bu‖ : ‖u‖ = 1≤ sup‖Au‖ : ‖u‖ = 1+ sup‖Bu‖ : ‖u‖ = 1= ‖A‖+ ‖B‖
lo que implica que se verifica la desigualdad triangular.
200
De la definicion de norma matricial subordinada se de-
duce que
‖Ax‖ ≤ ‖A‖‖x‖
pues, es obvia si x = 0. Si x 6= 0, entonces x/‖x‖ es un
vector unitario, y por definicion
‖A‖ ≥ ‖A(x/‖x‖)| =‖Ax‖‖x‖
.
y basta transponer.
201
Supongamos que perturbamos el vector b para obtner
el vector b. Si x y x son soluciones de Ax = b y Ax = b,
respectivamente, ¿cuanto valen ∆x y δx?
202
Por un lado
‖∆x‖ = ‖A−1b−A−1b‖= ‖A−1(b− b)‖= ‖A−1‖‖∆b‖
Es decir, la norma de la inversa de la matriz A es el
factor para estimar el error en la solucion del sistema
Ax = b en terminos de ‖∆b‖.
203
En cuanto al error relativo,
‖∆x‖ ≤ ‖A−1‖‖b− b‖
= ‖A−1‖‖Ax‖‖∆b‖‖b‖
≤ ‖A−1‖‖A‖‖x‖‖δb‖
y, por lo tanto,
‖δx‖ =‖∆x‖‖x‖
≤ ‖A−1‖‖A‖‖δb‖.
204
Recordando que
cond(A) = max∆x,b 6=0
‖A−1∆x‖‖∆x‖
‖b‖‖A−1b‖
esto se puede reescribir como
cond(A) = max∆x6=0
‖A−1∆x‖‖∆x‖
maxx6=0
‖Ax‖‖x‖
= ‖A−1‖‖A‖.
205
Esto nos da una definicion alternativa del numero de
condicion y nos refrenda que es el factor que conecta
el error relativo en b con el de la solucion x del sistema
Ax = b y, por eso, entre mas pequeno, mejor.
206
Hasta ahora hemos calculado directamente las solucio-
nes de un sistema Ax = b, y el error esta sujeto a ciertas
inestabilidades numerica (como un numero de condicion
grande). Sin embargo, no es necesario obtener de una
vez la solucion sino, como en el caso de un cero de una
funcion, irnos aproximando sucesivamente a la solucion
del sistema.
207
Ejemplo 26. Consideremos el sistema
−5x1 + x2 = −1,
2x1 − 5x2 = 3.
208
En el espıritu de la idea de la iteracion de punto fijo,
despejemos a la i-esima variable de la i-esima ecuacion.
Nos queda
x(k)1 = (−1− x(k−1)
2 )/(−5),
x(k)2 = (3− 2x(k−1)
1 )/(−5).
209
Esta es la denominada iteracion de Jacobi. El vector
inicial x(0) puede ser alguna aproximacion inicial razo-
nable o simplemente el vector nulo. Veamos que sucede
si elegimos x = 0. Tenemos
x(1)1 = (−1− 0)/(−5) = 0.2,
x(1)2 = (3− 2 · 0)/(−5) = −0.6.
210
Calculamos otra iteracion:
x(2)1 = (−1− x(1)
2 )/(−5) = (−1 + 0.6)/(−5) = 0.08,
x(2)2 = (3− 2 · x(1)
1 )/(−5) = (3− 2(0.2))/(−5) = −0.52.
211
Y una mas:
x(3)1 = (−1− x(2)
2 )/(−5) = (−1 + 0.52)/(−5) = 0.096,
x(3)2 = (3− 2 · x(2)
1 )/(−5) = (3− 2(0.08))/(−5) = −0.568.
212
Parece que sı converge... Veremos, si es que es ası, por
que.
Un detalle respecto a esta iteracion es que no aprovecha
la actualizacion de x1 para calcular x2.
213
Si se hace ası, tenemos la iteracion
x(k)1 = (−1− x(k−1)
2 )/(−5),
x(k)2 = (3− 2x(k)
1 )/(−5).
que se denomina de Gauß-Seidel.
214
La primera iteracion es ahora
x(1)1 = (−1− 0)/(−5) = 0.2,
x(1)2 = (3− 2 · 0.2)/(−5) = −0.52.
215
La segunda es
x(2)1 = (−1− x(1)
2 )/(−5) = (−1 + 0.52)/(−5) = 0.096,
x(2)2 = (3− 2 · x(2)
1 )/(−5) = (3− 2(0.096))/(−5) = −0.56160.
216
Y la tercera queda
x(3)1 = (−1− x(2)
2 )/(−5) = (−1 + 0.5616)/(−5) = 0.08768,
x(3)2 = (3− 2 · x(2)
1 )/(−5) = (3− 2(0.08768))/(−5) = −0.56493.
217
La solucion exacta es x = (0.086957,−0.565217). El
error euclidiano queda como en la siguiente tabla.
k ‖x(k) − x‖ (Jacobi) ‖x(k) − x‖ (Gauß-Seidel)0 0.57187 0.571871 0.11827 0.121752 0.045749 0.00974013 0.0094619 0.00077847
Vemos que se acerca mas rapido Gauß-Seidel que Ja-
cobi.
218
Analicemos de forma general los metodos iterativos. En
general, la idea es recurrir a una matriz Q llamada de
descomposicion de modo que, dado el sistema Ax = b,
sumando Qx de ambos lados podemos escribir
Qx = (Q−A)x+ b.
219
Como en el caso de la iteracion de punto fijo, con esto
podemos escribir
Qx(k) = (Q−A)x(k−1) + b.
La cuestion ahora es elegir Q apropiadamente.
220
Lo primero que definitivamente debemos pedir es que
Q sea no singular, de modo que
x(k) = Q−1(Q−A)x(k−1) +Q−1b
= (I −Q−1A)x(k−1) +Q−1b.
y sea efectivo el calculo de la iteracion.
221
Es claro, por otra parte, que la solucion es punto fijo
de esta iteracion, o sea que
x = (I −Q−1A)x+Q−1b.
222
Restando esta ultima igualdad a la que define a la ite-
racion nos da
x(k) − x = (I −Q−1A)(x(k−1) − x).
Tomando normas, nos dice que
‖x(k) − x‖ ≤ ‖I −Q−1A‖‖x(k−1) − x‖.
223
Encadenando recursivamente esta desigualdad, nos con-
duce a
‖x(k) − x‖ ≤ ‖I −Q−1A‖k‖x(0) − x‖
y, si ocurre que ‖I − Q−1A‖ < 1, entonces tenemos
garantıa de que el error de la iteracion converge a 0.
224
Teorema 27. Si ‖I − Q−1A‖ < 1 para alguna norma
matricial subordinada, entonces la sucesion generada
por la iteracion converge a la solucion de Ax = b para
cualquier vector inicial x(0).
225
Ejemplo 28. Resolvamos el sistema 1 0.48 0.450.45 1 0.100.37 0.35 1
x1x2x3
=
0.280.780.51
por medio de una iteracion.
226
En este caso puede elegirse Q = I, de modo que la
iteracion es
x(k) = (I −A)x(k−1) + b.
227
Tomando x(0) = (0,0,0), resulta que
x(1) =
0.280.780.51
.
228
Continuamos
x(2) =
0 −0.48 −0.45−0.45 0 −0.10−0.37 −0.35 0
0.28
0.780.51
+
0.280.780.51
=
−0.323900.603000.13340
229
Continuamos
x(3) =
0 −0.48 −0.45−0.45 0 −0.10−0.37 −0.35 0
−0.32390
0.603000.13340
+
0.280.780.51
=
−0.0694700.9124150.418793
230
La sucesion converge, pero lento. Es hasta el decimo
octavo termino que se alcanza una tolerancia de 1 ×10−2.
x(18) =
−0.279030.873310.30561
.
231
Para el caso de la itearacion de Jacobi, se elige la matriz
Q = diag(A). Si se elige la norma
‖x‖ = max1≤j≤n
|xi|
entonces
‖I −Q−1A‖∞ = max1≤i≤n
n∑j=1,j 6=i
|ai,j/ai,i|
232
Definicion 29. Una matriz A es diagonalmente domi-
nante si
|ai,j| >n∑
j=1,j 6=i
|ai,j|
para 1 ≤ i ≤ n.
233
Teorema 30. Si A es diagonalmente dominante, en-
tonces la sucesion que resulta de la iteracion de Jacobi
converge a la solucion de Ax = b para cualquier vector
inicial.
234
Demostracion. En efecto, por la definicion de dominan-
cia diagonal se sigue de inmediato que
‖I −Q−1A‖∞ < 1
y esto, junto con un teorema anterior, garantiza la con-
vergencia.
235
Definicion 31. Dada una matriz A, su radio espectral
es el maximo de los modulos de sus autovalores, esto
es
ρ(A) = max|λ| : det(A− λI) = 0.
236
Teorema 32. El radio espectral satisface
ρ(A) = ınf‖?‖‖A‖,
es decir, es el ınfimo de la norma subordinada de A res-
pecto a todas las posibles normas. Mas aun, existe una
norma matricial subordinada tal que ‖A‖ es arbitraria-
mente cercano al radio espectral.
237
Teorema 33. Para que la iteracion
x(k) = Gx(k−1) + c
genere una sucesion convergente para cualquier vector
inicial x(0), es necesario y suficiente que el radio espec-
tral de G sea menor que 1.
238
Corolario 34. La iteracion
x(k) = (I −Q−1A)x(k−1) + b
da lugar a una sucesion convergente para cualquier valor
de x(0) si
ρ(I −Q−1A) < 1.
239
Quiza no sea tan facil convencerse de que la iteracion
de Gauß-Seidel proviene de tomar Q como la matriz
triangular inferior de A. Dada A = (ai,j) de 2×2, tene-
mos
Qx(1) =
(a1,1 0a2,1 a2,2
)x(1)1
x(1)2
=
a1,1x(1)1
a2,1x(1)1 + a2,2x
(1)2
240
Por otro lado
(Q−A)x(0) + b =
(0 −a1,20 0
)x(0)1
x(0)2
+
(b1b2
)
=
(−a1,2x
(0)2 + b1b2
)
241
Igualando y despejando
x(1)1 =
b1 − a1,2a(0)2
a1,1,
x(1)2 =
b2 − a2,1x(1)1
a2,2.
Es inmediato ver que la primera ecuacion es el despeje
de la primera incognita de la primera ecuacion, y que
la segunda es el despeje de la segunda incognita de la
segunda ecuacion y pide el valor de x(1)1 para obtener
el valor.
242
Teorema 35. Si A es diagonalmente dominante, enton-
ces el metodo de Gauß-Seidel converge para cualquier
vector inicial.
243
Demostracion. Segun el corolario, basta demostrar que
ρ(I −Q−1A) < 1.
Para esto, sea λ cualquier valor propio de I − Q−1A,
y x su vector propio asociado. Podemos suponer que
‖x‖∞ = 1, normalizando si es necesario.
244
Se satisface, pues, que
(I −Q−1A)x = λx ∴ Qx−Ax = λQx.
Como Q es la parte triangular inferior de A, entonces
lo anterior se traduce en
−n∑
j=i+1
ai,jxj = λi∑
j=1
ai,jxj
para 1 ≤ i ≤ n.
245
Si despejamos al termino donde i = j del miembro de-
recho, nos da
λai,ixi = −λi−1∑j=1
ai,jxj −n∑
j=i+1
ai,jxj
para 1 ≤ i ≤ n. Como ‖x‖∞ = 1, por definicion, pode-
mos elegir un ındice i tal que |xi| = 1 ≥ |xj| para todo
j. Por la desigualdad triangular
|λ||ai,i| ≤ |λ|i−1∑j=1
|ai,j|+n∑
j=i+1
|ai,j|
246
Transponiendo la desigualdad anterior para aislar a λ,
nos da
|λ| ≤∑nj=i+1 |ai,j|
|ai,i| −∑i−1j=1 |ai,j|
y esto es menor que 1, pues al ser A diagonalmente
dominante entonces
|ai,i| >i−1∑j=1
|ai,j|+n∑
j=i+1
|ai,j|
y entonces
1
|ai,i| −∑i−1j=1 |ai,j|
<1∑i−1
j=1 |ai,j|.
247
La idea de encontrar soluciones de ecuaciones por me-
dio de iteraciones de punto fijo es muy flexible, sin duda.
Nos ha permitido encontrar ceros de una ecuacion no
lineal o de un sistema de ecuaciones lineales.
248
El siguiente paso logico serıa ver bajo que condiciones
podemos resolver un sistema no lineal de n ecuaciones
en n incognitas.
f1(x1, . . . , xn) = 0,...
fn(x1, . . . , xn) = 0.
249
Lo anterior puede escribirse, para abreviar, como
F(x) = 0.
donde F : D ⊆ Rn → Rn, x = (x1, . . . , xn) y f1, . . . , fn son
las funciones componentes, o coordenadas, de F.
250
Observamos que
lımx→x0
F(x) = L
ocurre si, y solo si,
lımx→x0
fi(x) = Li
para 1 ≤ i ≤ n, donde L = (L1, . . . , Ln).
251
Una funcion F : D ⊆ Rn → Rn es continua en x0 si
lımx→x0
F(x) = F(x0).
252
Ası pues, para definir una iteracion de punto fijo para
F(x) = 0, lo transformamos en el sistema equivalente
x = G(x).
Una posibilidad mas o menos obvia consiste en despejar
la i-esima variable de la componente fi.
253
Dada una aproximacion inicial x(0), computamos la su-
cesion
x(k+1) = G(x(k)).
254
El criterio para determinar que la sucesion converge es
muy semejante al de una dimension. Lo primero, por
supuesto, es que G(D) ⊆ D, que G sea por lo menos
continua y que haya un punto fijo x ∈ D. Para lo se-
gundo, necesita definir un analogo de la derivada.
255
Definicion 36. El jacobiano de la funcion G es
JG(x) =
∂∂x1
f1(x) · · · ∂∂xn
f1(x)... . . . ...
∂∂x1
fn(x) · · · ∂∂xn
fn(x)
.
256
La otra condicion es, por lo tanto, que para alguna
norma matricial subordinada se cumpla que
‖JG(x)‖ < 1
en cualquier vecindad del punto fijo. Si se cumple esta
condicion, entonces solo hay un punto fijo y cualquier
sucesion iterativa como la que hemos descrito converge
a dicho punto fijo.
257
Tambien vale senalar que, si en lugar de usar solamen-
te las coordenadas del punto x(k) sino tambien las de
x(k+1) conforme se van obteniendo como en la itera-
cion de Gauß-Seidel, tambien se puede acelerar un poco
la convergencia.
258
Ejemplo 37. Supongamos que queremos encontrar la
interseccion de un cırculo y una hiperbola segun
x21 + x2
2 = 1,
x1x2 = 14.
259
Si despejamos a la primera variable de la primera ecua-
cion y a la segunda variable de la segunda ecuacion,
obtenemos
x1 =√
1− x22
x2 =1
4x1.
260
Tenemos ası definida la funcion
G : D ⊆ R2 → R2,(x1x2
)7→
√1− x22
14x1
.
261
Para futuras referencias, el jacobiano es
JG(x) =
0 − x2√
1−x22
− 14x2
10
.
262
Para iniciar, podemos tomar un punto que esta sobre
el cırculo unitario, digamos
x(0) =
(10
)donde
JG(x(0)) =
(0 0−1
4 0
).
Notese que ‖JG(x(0))‖ = 14, lo que nos da esperanza de
que la iteracion convergera al punto fijo.
263
Iteramos
x(1) = G(x(0)) =
√1− 02
14·1
=
(1
0.25
)
264
Iteramos
x(2) = G(x(1)) = G
(1
0,25
)=
(0.968250.25000
)
265
Iteramos
x(3) = G(x(2)) = G
(0.968250.25000
)=
(0.968250.25820
)
266
Iteramos
x(4) = G(x(3)) = G
(0.968250.25820
)=
(0.966090.25820
).
267
Si usamos la idea de utilizar las coordenadas tan pronto
como son obtenidas, entonces tenemos
x(1) =
(1
0.25
),x(2) =
(0.968250.25820
),x(3) =
(0.966090.25877
).
268
Esta iteracion es mas rapida, y ademas
‖x(3) − x(2)‖ < 0.01.
En particular,
JG(x(3)) =
(0 −0.26726
−0.25820 0
)
y ‖JG(x(3))‖ = 0.26726, lo que nos da mayor evidencia
de que hay una convergencia relativamente rapida hacia
el punto fijo.
269
Generalizando al teorema de Taylor en una variable,
para varias tenemos
F(x) ≈ F(x0) + JF(x0)(x− x0).
270
En particular, para G y su punto fijo x, obtenemos
x = G(x) ≈ G(x0) + JG(x0)(x− x0)
= x(1) + JG(x0)(x− x0)
y entonces, suponiendo que ‖JG‖ ≤ ρ < 1
‖x− x(1)‖ ≤ ‖JG(x0)(x− x0)‖≤ ‖JG(x0)‖‖x− x0‖.
271
Vemos inductivamente que
‖x− x(k)‖ ≤ ρk‖x− x0‖,
lo que implica que la magnitud de la norma del jaco-
biano indica la velocidad a la que converge la iteracion
de punto fijo multidimensional.
272
Por otra parte, si F(x) = 0, despejando a x obtenemos
0 = F(x0) + JF(x0)(x− x0).
Si ocurre que el jacobiano es no singular, podemos des-
pejar
x = x0 − J−1F F(x0).
273
Esto define la iteracion de Newton-Raphson
x(k) = x(k−1) − J−1F F(x(k−1)).
274
Ejemplo 38. Retomando las ecuaciones
x21 + x2
2 = 1,
x1x2 = 14.
tendrıamos definida la funcion
F(x1, x2) =
(x2
1 + x22 − 1
x1x2 − 14
)para la que buscamos su cero.
275
Su jacobiano es
JF(x1, x2) =
(2x1 2x2x2 x1
).
276
Si aplicamos la iteracion de Newton-Raphson iniciando
tambien con x0 = (1,0)T , nos da
x(1) =
(10
)−(
2 00 1
)−1(0
0.25
)
=
(1
0.25
)
277
Otra iteracion:
x(2) =
(1
0.25
)−(
2 0.50.25 1
)−1
F
(1
0.25
)
=
(0.966670.25833
).
278
Y una mas:
x(3) =
(0.966670.25833
)−(
1.93333 0.516670.25833 0.96667
)−1(0.00118−0.00028
)
=
(0.965930.25832
).
Se cumple que ‖x(3)−x(2)‖ < 1×10−3, ası que logramos
diez veces mas precision que con la simple iteracion de
punto fijo.
279
Definicion 39. Un cero x0 de una funcion f es de orden
n si
0 = f ′(x) = · · · = f(n−1)(x)
pero f(n)(x0) 6= 0.
280
Un cero de orden 2 es problematico para el metodo de
Newton-Raphson porque hace mas lenta su convergen-
cia.
Ejemplo 40. El polinomio f(x) = x4/3−x2 +3/4 es tal
que tambien f ′(x) = 4x3
3 − 2x se anula en√
3/2, pero
f ′′(x) no.
281
Si ejecutamos la iteracion de Newton-Raphson a partir
de x(0) = 1, obtenemos
x(1) = 1.12500,
x(2) = 1.17708,
x(3) = 1.12014,
x(4) = 1.21318,
x(5) = 1.21899.
282
El valor correcto es√
3/2 = 1.22474, y se aprecia que
no se duplica entre iteraciones el numero de dıgitos
correctos.
283
Para remediar esto, si consideramos que una funcion
con un cero x0 de orden 2 puede factorizarse como
f(x) = (x − x0)2h1(x) y ademas f ′(x) = (x − x0)h2(x)
con h1(x0), h2(x0) 6= 0.
284
Si definimos la funcion
g(x) =f(x)
f ′(x),
entonces en principio se cancela el factor x − x0 entre
numerador y denominador, por lo que esperarıamos eli-
minar el problema que hace lenta la convergencia, y aun
ası lımx→x0 g(x) = 0.
285
Si escribimos la iteracion de Newton-Raphson para g,
nos queda
x(k) = x(k−1) −g(x(k−1))
g′(x(k−1))
= x(k−1) −f(x(k−1))f ′(x(k−1))
[f ′(x(k−1))]2 − f(x(k−1))f ′(x(k−1)).
286
Si ejecutamos esta nueva iteracion de Newton-Raphson
a partir de x(0) = 1, obtenemos
x(1) = 1.20000,
x(2) = 1.22449,
x(3) = 1.22474,
x(4) = 1.22474,
y comprobamos que hemos recuperado la convergencia
cuadratica.
287
Un problema clasico en muchas areas es el siguiente: se
nos da una tabla de n + 1 puntos (x0, y0), . . . , (xn, yn)
y buscamos una funcion f de algun tipo (normalmen-
te que dependa de la menor cantidad de parametros
posible) tal que
f(xi) = yi
para 0 ≤ i ≤ n. Se dice entonces que la funcion interpola
los datos.
288
Un tipo de funcion que es un primer candidato es un
polinomio, del grado lo mas bajo posible. Tenemos el
siguiente resultado.
Teorema 41. Si x0, . . . , xn son numeros reales distintos,
entonces para cualesquiera valores y0, . . . , yn existe un
polinomio unico pn de grado a lo mas n tal que
pn(xi) = yi
con 0 ≤ i ≤ n.
289
Demostracion. Demostraremos la unicidad primero. Si
hubiese dos polinomios, digamos pn y qn con la propie-
dad de interpolacion. Entonces
(pn − qn)(xi) = pn(xi)− qn(xi) = yi − yi = 0
para 0 ≤ i ≤ n.
290
Esto significa que el polinomio pn−qn tiene n+1 raıces
pero es un polinomio de grado a lo mas n. Por el teo-
rema fundamental del algebra, debe ser identicamente
nulo, luego
pn = qn.
291
Para la parte de existencia, procederemos inductiva-
mente. Para n = 0, es obvio que se puede tomar un
polinomio constante de grado 0 tal que p0(x0) = y0.
Supongamos que hemos obtenido un polinomio pk−1 de
grado a lo mas k − 1 que interpola a los datos (xi, yi)
para 0 ≤ i ≤ k − 1.
292
Podemos escribir el polinomio
pk(x) = pk−1(x) + ck−1∏j=0
(x− xj)
que a todas luces es de grado menor o igual a k. Eva-
luando observamos que sigue interpolando a los prime-
ros k puntos.
293
Sustituyendo xk, pedimos que
pk(xk) = pk−1(xk) + ck−1∏j=0
(xk − xj) = yk
y que puede resolverse para c pues∏k−1j=0(xk − xj) 6= 0
dado que las abcisas de los puntos son distintas.
294
Como con todas las demostraciones por induccion, lo
anterior sugiere un algoritmo para determinar progre-
sivamente el polinomio de interpolacion. Sin embargo,
de momento no exploraremos esa vıa, sino otra.
295
Para ilustrar el metodo, supongamos que tenemos los
puntos
(−1,2), (1,−1/2), (2,3)
y queremos el polinomio que pasa por dichos puntos.
296
El polinomio
f0(x) = (x− 1)(x− 2)
es tal que f0(1) = 0 y f0(2) = 0. ¿Podremos, a partir
de esto, construir un polinomio `0 tal que `0(−1) = 1?
297
¡Ciertamente que sı! Basta evaluar
f0(−1) = (−1− 1)(−1− 2) = (−2)(−3) = −6
y entonces
`0(x) =f0(x)
6=
(x− 1)(x− 2)
(−1− 1)(−1− 2).
298
Ası podemos encontrar un polinomio `1(x) tal que
`1(−1) = 0, `1(1) = 1, `1(2) = 0
que es
`1(x) =(x+ 1)(x− 3)
(1 + 1)(1− 3)=
(x+ 1)(x− 3)
−4.
299
Finalmente obtenemos un polinomio `2(x) tal que
`2(−1) = 0, `2(1) = 0, `2(2) = 1
que es
`2(x) =(x+ 1)(x− 1)
(2 + 1)(2− 1)=
(x+ 1)(x− 1)
3.
300
De este modo podemos construir finalmente el polino-
mio de interpolacion
L(x) = y0`0(x) + y1`1(x) + y2`2(x).
301
En general tenemos
`i(xj) = [i = j]
y se obtiene segun
`i(x) =
∏nj=0,j 6=i(x− xj)∏nj=0,j 6=i(xi − xj)
.
302
El polinomio de interpolacion queda entonces
L(x) =n∑
k=0
yk`k(x).
Esta es la forma de Lagrange del polinomio de inter-
polacion.
303
Si bien de principio no sabemos como es la funcion (si
es que es una funcion) de la que se “obtienen” los datos
que se interpolan, resulta que si tenemos alguna idea
de la misma entonces podemos estimar el error de la
interpolacion.
304
Teorema 42. Sea
a = mınx0, . . . , xn, x y b = maxx0, . . . , xn, x.
Si f es n+ 1 veces diferenciable en (a, b) y f, f ′, . . . , f(n)
son continuas en [a, b], entonces existe un punto ξ ∈(a, b) tal que
f(x)− Pn(x) =f(n+1)(ξ)
(n+ 1)!
n∏k=1
(x− xk).
305
Demostracion. Consideremos el polinomio de interpo-
lacion del error f(x) − Pn(x) en x y 0 en los puntos
x0, . . . , xn
Λ(t) = [Pn(x)− f(x)](t− x0) · · · (t− xn)
(x− x0) · · · (x− xn).
306
Sustraemos este polinomio del error e(t) = Pn(t)−f(t),
entonces tenemos la funcion
g(t) = e(t)− Λ(t)
y vale 0 en x0, . . . , xn, x.
307
Por las hipotesis sobre f y las propiedades de diferen-
ciabilidad de los polinomios, se sigue que g, g′, . . . , g(n)
son continuas en [a, b] y g(n+1) existe en (a, b). Por el
teorema generalizado de Rolle, existe ξ ∈ (a, b) tal que
g(n+1)(ξ) = 0.
308
Por otra parte
g(n+1)(ξ) = e(n+1)(ξ)− Λ(n+1)(ξ)
= P (n+1)(ξ)− f(n+1)(ξ)− Λ(n+1)(ξ).
La cuestion es que Pn es un polinomio de grado a lo
mas n, de modo que su derivada (n+1)-esima se anula.
309
Entonces
0 = g(n+1)(ξ) = −f(n+1)(ξ)− Λ(n+1)(ξ),
de modo que
f(n+1)(ξ) = −Λ(n+1)(ξ).
310
Si se abren los parentesis en la definicion de Λ, vemos
que es de la forma
Λ(t) =Pn(x)− f(x)
(x− x0) · · · (x− xn)(tn+1 + · · ·+ b0)
por lo que, al derivar n+ 1 veces, queda
Λ(n+1)(t) =Pn(x)− f(x)
(x− x0) · · · (x− xn)(n+ 1)!.
311
Sustituyendo en la expresion que tenemos que relaciona
a las (n+ 1)-esimas derivadas de f y Λ, nos da
f(n+1)(ξ) =f(x)− Pn(x)
(x− x0) · · · (x− xn)(n+ 1)!
y que basta transponer para obtener lo deseado.
312
Ejemplo 43. Veamos que sucede si queremos interpolar
a la funcion f(x) = sen(x) en los puntos x0 = 0, x1 = π3,
x2 = 3π3 , x3 = π.
313
Para acotar∏3k=0(x− xk), lo graficamos, y vemos que∣∣∣∣∣∣
3∏k=0
(x− xk)
∣∣∣∣∣∣ ≤ 1.203.
314
Esto significa que el error absoluto esta acotado por
| sen(x)− L(x)| ≤| sen(4)(x)|1.203
4!≤ 0.050125.
De hecho, realmente es menor: cuando mucho es 0.044.
315
Un mecanismo recursivo para evaluar el polinomio de
interpolacion es necesario porque, como hemos visto,
se necesitan construir muchos polinomios intermedios
para obtener la forma de Lagrange.
316
Para tal efecto, denotemos con Pk,`(x) el polinomio de
grado a lo mas ` que interpola a los puntos
(xk, f(xk)), . . . , (xk+`, f(xk+`)).
317
Por definicion, entonces, el polinomio de interpolacion
de grado a lo mas n que pasa por los n + 1 datos es
P0,n.
318
Tenemos entonces la siguiente recursion.
Pi,m+1(x) =(x− xi)Pi+1,m(x)− (x− xi+m+1)Pi,m(x)
xi+m+1 − xi,
Pi,0 = f(xi), i = 0, . . . , n.
319
No demostraremos aquı que funciona la recursion, pero
observaremos lo siguiente para validarla parcialmente.
Si los polinomios Pi+1,m y Pi,m son de grado a lo mas
m, entonces (x− xi)Pi+1,m(x)− (x− xi+m+1)Pi,m(x) es
a lo mas de grado m+ 1.
320
Si evaluamos en el punto i-esimo entonces
Pi,m+1(xi) =(xi − xi)Pi+1,m(xi)− (xi − xi+m+1)Pi,m(xi)
xi+m+1 − xi
= ((((((((
((((((((−(xi − xi+m+1)Pi,m(xi)
(((((((
((((((xi+m+1 − xi
= Pi,m(xi) = f(xi).
321
Si evaluamos en el punto j-esimo para j = i+1, . . . , i+m
entonces
Pi,m+1(xj) =(xj − xi)Pi+1,m(xj)− (xj − xi+m+1)Pi,m(xj)
xi+m+1 − xi
=(xj − xi)f(xj)− (xj − xi+m+1)f(xj)
xi+m+1 − xi
= (((((((
(((((((((xi+m+1 − xi)f(xj)
((((((((
(((((
xi+m+1 − xi= f(xj).
322
Finalmente, si evaluamos en xi+m+1 entonces
Pi,m+1(xi+m+1) =(xi+m+1 − xi)Pi+1,m(xi+m+1)− (xi+m+1 − xi+m+1)Pi,m(xi+m+1)
xi+m+1 − xi
= (((((((
(((((
(xi+m+1 − xi)Pi+1,m(xi+m+1)
(((((((
(((xi+m+1 − xi= Pi+1,m(xi+m+1) = f(xi+m+1).
323
Tenemos
P0,1(π4) =(π4 − 0)P1,0(π4)− (π4 −
π3)P0,0(π4)
π3 − 0
=π4 ·√
32
π3
=3√
3
8.
324
P1,1(π4) =(π4 −
π3)P2,0(π4)− (π4 −
2π3 )P1,0(π4)
2π3 −
π3
=
√3
2
325
P2,1(π4) =(π4 −
2π3 )P3,0(π4)− (π4 − π)P2,0(π4)
π − 2π3
=34 ·√
32
π3
=9√
3
8.
326
P0,2(π4) =(π4 − 0)P1,1(π4)− (π4 −
2π3 )P0,1(π4)
2π3 − 0
=27√
3
64.
327
P1,2(π4) =(π4 −
π3)P2,1(π4)− (π4 − π)P1,1(π4)
π − π3
=27√
3
64.
328
P0,3(π4) =(π4 − 0)P1,2(π4)− (π4 − π)P0,2(π4)
π − 0
=27√
3
64.
329
xi Pi,0 = sen(xi) Pi,1 Pi,2 Pi,3
0 0 3√
38
27√
364
27√
364
π3
√3
2
√3
227√
364
2π3
√3
29√
32
π 0
330
Ahora es momento de recordar la demostracion induc-
tiva de la existencia del polinomio de interpolacion
pk(xk) = pk−1(xk) + ck−1∏j=0
(xk − xj) = yk
donde
pk−1(x) = a0 + a1(x− x0) + a2(x− x0)(x− x1)+
· · ·+ ak−1
k−2∏j=0
(x− xj).
331
A esta forma del polinomio de interpolacion se le llama
de Newton.
332
Entonces escribimos c = an de modo que
an =yk − pk−1(xk)∏k−1j=0(xk − xj)
.
Surge a las claras que lo esencial es encontrar el coefi-
ciente principal en cada etapa.
333
Recordemos que Pi,j el polinomio que interpola a los
datos xi, . . . , xi+j. Denotemos con fi,j a su coeficiente
principal.
334
De la formula de Neville
Pi,m+1(x) =(x− xi)Pi+1,m(x)− (x− xi+m+1)Pi,m(x)
xi+m+1 − xi,
Pi,0 = f(xi), i = 0, . . . , n.
vemos que, en el numerador podemos averiguar fi,m+1
considerando que los coeficientes principales de los su-
mandos son fi+1,m y fi,m.
335
Nos queda la formula recursiva
fi,m+1 =fi+1,m − fi,mxi+m+1 − xi
,
fi,0 = f(xi).
Estas son las llamadas diferencias divididas. De modo
semejante a la recursion de Neville, se pueden acomodar
los computos en una tabla si tienen que hacerse a mano.
336
Ejemplo 44. Calculemos el polinomio en la version de
Newton para sen(x) en los puntos (kπ/3, sen(kπ/3) para
0 ≤ k ≤ 3.
xi f(xi) fi,1 fi,2 fi,3
0 0
√3
2 −0π3−0
= 3√
32π −9
√3
4π2 0
π3
√3
2
√3
2 −√
32
π3−
2π3
= 0 −9√
34π2
2π3
√3
20−√
32
π−2π3
= −3√
32π
π 0
337
Computacionalmente puede ser muy elegante la inter-
polacion. Sin embargo, no siempre se comporta de ma-
nera idonea. Veamos que sucede cuando intentamos
interpolar los siguientes puntos.
(0,0.5), (1.5,0.10), (2,−0.5), (3,0.5), (4,0), (5,0.1)(6,0.1), (7,−0.2).
338
Como se puede apreciar en la grafica, en los extremos
se puede inducir una oscilacion muy fuerte que da al
traste con la tendencia que se percibe en los datos.
339
Los polinomios son buenos para aproximar si son relati-
vamente pocos puntos o los cambios entre las abcisas
son “suaves”. De lo contrario, es mucho mejor hacer
mas local el tratamiento.
340
La manera de hacer eso es por medio de funciones defi-
nidas por trozos, especialmente cuando esos trozos son
polinomiales o cerchas. Tendrıamos
p(x) =
p1(x), x ∈ [x0, x1],
p2(x), x ∈ (x1, x2],...
pn(x), x ∈ (xn−1, xn],
341
El caso mas socorrido es cuando los pi son polinomios
cubicos. Especıficamente, tendrıamos
Si(x) = ai + bi(x− xi) + ci(x− xi)2 + di(x− xi)3
para 1 ≤ i ≤ n.
342
Se satisfacen las siguientes condiciones.
1. Si(xi−1) = yi−1 y Si(xi) = yi (interpolacion).
2. S′i(xi) = S′i+1(xi) y S′′i (xi) = S′′i+1(xi) (suavidad).
3. Alguna de las siguientes:
a) S′′1(x0) = S′′n(xn) = 0 (natural o libre).
b) S′′1(x0) = m0 y S′′n(xn) = mn (sujeto).
c) S′′′0 (x1) = S′′′1 (x1) y S′′′m−2(xm−1) = S′′′m−1(xm−1).
(not-a-knot).
343
Consideraremos el caso mas simple en que las abcisas
de los puntos estan igualmente espaciados, esto es, h =
xi+1 − xi. Tenemos
S′i(xi+1) = 3dih2 + 2cih+ bi,
S′′i (xi+1) = 6dih+ 2ci.
De la condicion de interpolacion se sigue que
Si(xi) = ai = yi.
344
Si se introducen las variables
σi := S′′i (xi) = 6di(xi − xi) + 2ci = 2ci.
entonces
ci =σi2.
345
De
σi+1 = 6dih+ 2ci = 6dih+ σi
se sigue que
di =σi+1 − σi
6h.
346
Tenemos tambien
yi+1 = ai + bih+ cih2 + dih
3
y, sustituyendo las expresiones de ai, ci y di tenemos
yi+1 =(σi+1 − σi
6h
)h3 +
σi2h2 + bih+ yi.
347
Transponiendo, resulta que
bi =yi+1 − yi
h− h
2σi + σi+1
6.
348
Usando la condicion de suavidad resulta que
bi+1 = 3dih2 + 2cih+ bi.
Sustituyendo el valor de di, ci y bi que hemos encontra-
do, llegamos a
σi−1 + 4σi + σi+1 =6
h2(yi+1 − 2yi + yi−1).
349
Junto con las condiciones de una cercha libre σ0 = σn =
0, nos dice que podemos obtener los coeficientes de la
cercha resolviendo el sistema4 11 4 1
1 .. . 1. . . 11 4
σ1σ2σ3...
σn−1
=6
h2
y2 − 2y1 + y0y3 − 2y2 + y1y4 − 2y3 + y2
...yn − 2yn−1 + yn−2
.
350
Al hacer un experimento con un resorte para comprobar
la ley de Hooke, se obtuvieron los siguientes resultados.
Fuerza (N) Desplazamiento (m)0.00 0.0000.99 0.1202.10 0.1802.80 0.2704.10 0.365
351
Si se grafican estos datos, se aprecia de inmediato que
no estan sobre una recta, como es de esperarse.
Si, ademas, se interpola con un polinomio, el polinomio
claramente no tiene grado a lo mas 1.
Una de las razones por las que ocurre esto es por el
error en las mediciones.
352
Dados los datos (xi, yi)ni=1 y que pensamos que estan
descritos por la funcion f , deseamos minimizar el error
ei = yi − f(xi) para 1 ≤ i ≤ n.
La manera estandar de hacer esto es minimizar la suma
de los cuadrados de los errores.
353
Si denotamos con E a dicha suma
E =n∑i=1
e2i =
n∑i=1
(yi − f(xi))2.
entonces, de principio, podrıamos calcular las derivadas
parciales respecto a los parametros que definen a f ,
igualar a 0 y resolver para dichos parametros.
354
En este caso tenemos que f(x) = a0 + a1x, o sea
E =n∑i=1
(yi − a0 − a1xi)2
y tenemos que calcular las derivadas parciales respecto
a a0 y a1.
355
Estas resultan ser
∂E∂a0
= −2∑
(yi − a0 − a1xi),
∂E∂a0
= −2∑
(yi − a0 − a1xi)xi.
356
Si se igualan a 0 y se reacomodan queda el sistema(∑1
∑xi∑
xi∑x2i
)(a0a1
)=
( ∑yi∑yixi
).
Basta con resolverlo para encontrar los parametros.
357
Horvat y Jecmenica (2016), con un arreglo experimen-
tal, obtuvieron los siguientes datos para tiempo contra
desplazamiento para la caıda libre de una esfera de me-
tal.
Tiempo (s) Distancia (m)0.202 0.20.378 0.70.404 0.80.495 1.20.515 1.30.606 1.8
358
En este caso sabemos que la funcion que mejor describe
a los datos es un polinomio de segundo grado. Sin em-
bargo, aquı tomaremos una aproximacion ligeramente
distinta: queremos encontrar una solucion del sistema
lineal 1 t1 t21...1 tn t2n
a0a1a2
=
y1...yn
359
Si denotamos con A a la matriz y con a al vector de
coeficientes del polinomio, tenemos
Aa = y.
Este sistema no siempre puede resolverse. En este ca-
so no, pues es un sistema sobredeterminado (son seis
ecuaciones con tres incognitas).
360
Sin embargo, si se premultiplica a este sistema por AT ,
tenemos
(ATA)a = ATy.
Normalmente este sistema puede ser resuelto, aunque
puede tener una condicion muy grande.
361
Resulta ademas que la solucion de este sistema es jus-
tamente la de mınimos cuadrados.
362
Para un polinomio en general de grado m y n puntos
(xi, yi)ni=1, tenemos la matriz de Vandermonde
A =
1 x1 · · · xm11 x2 · · · xm2... . . . ...1 xn · · · xmn
.
363
Y para calcular el polinomio que aproxime por mınimos
cuadrados a los puntos, hay que resolver igualmente
(ATA)a = ATy para
a =
a0...am
.
364
Haremos un poco mas general este esquema cuando
la variable dependiente y lo es de varias variables x =
(x1, . . . , xk)T , de modo que
y = β0 + β1x1 + · · ·+ βkxk + ε
donde ε es el error. Queremos encontrar los coeficientes
βi de mejor aproximacion por mınimos cuadrados para
n observaciones.
365
Sean
y =
y1...yn
,X =
1 x1,1 x1,2 . . . x1,k1 x2,1 x2,2 . . . x2,k... . . . . . . ...1 xn,1 xn,2 . . . xn,k
,
β =
β0...βk
, ε =
ε1...εn
.
366
Tenemos
y = Xβ + ε
o sea
ε = y −Xβ.
367
Andamos buscando el vector y en el espacio genera-
do por las columnas de X que mejor se aproxime a y.
Tenemos
y = Xβ.
368
De la geometrıa de la situacion sabemos que y − y es
perpendicular a y y, en general, a 〈X〉. Ası
XT (y − y) = 0
y entonces
XTy −XT y = XTy −XTXβ = 0
y finalmente
XTXβ = XTy.
369
Si XTX es una matriz invertible (que suele serlo, aun-
que puede que muy mal condicionada), obtenemos los
coeficientes
β = (XTX)−1XTy.
370
Ejemplo 45. Tenemos los siguientes datos de presion
sistolica (X1), edad en anos (X2) y peso en libras (X3)
de 11 personas. Usemos el comando ols para encontrar
un modelo lineal
X1 = β0 + β1X2 + β2X3
que minimice la suma de errores al cuadrado.
371
La estimacion de la varianza de los residuos se puede
encontrar por medio de la suma de cuadrados
SS =n∑i=1
ε2i = εTε
y los grados de libertad son n− k, por lo que
σ =SS
n− k − 1.
Se busca que este valor sea lo mas pequeno posible.
372
El problema que nos interesa a continuacion es el de
estimar el valor de la integral∫ baf(x) dx
donde f es una funcion continua.
373
El esquema mas simple para estimar tal integral e ir
refinando el resultado es elegir puntos xi que subdividan
a [a, b]
a = x0 < x1 < · · · < xn−1 < xn = b
de modo que ∆xi = xi − xi−1.
374
A continuacion elegimos un numero x∗i ∈ [xi−1, xi] para
1 ≤ i ≤ n y con ello formamos la suma de Riemann
n∑i=1
f(x∗i )∆xi.
375
Sabemos, al ser f continua, que si max1≤i≤n∆xi → 0
conforme n → ∞ entonces las aproximaciones conver-
gen a∫ ba f(x) dx, sin importar como se elijan los puntos
muestra x∗i .
376
Por otra parte, para poder hacer concretas las aproxi-
maciones, se deben especificar estos puntos muestra.
Si x∗i = xi−1 tenemos la aproximacion por la izquierda
Ln =n∑i=1
f(xi−1)∆xi
y si x∗i = xi tenemos la aproximacion por la derecha
Rn =n∑i=1
f(xi)∆xi
377
Un caso particular muy comun es cuando los puntos
estan igualmente espaciados, es decir
∆xi = h
para 1 ≤ i ≤ n. En tal caso las aproximaciones quedan
simplemente
Ln = hn−1∑i=0
f(xi) y Rn = hn∑i=1
f(xi).
378
Las aproximaciones Ln y Rn, aunque naturales y efecti-
vas si n puede elegirse suficientemente grande, siempre
tienen un mismo tipo de sesgo segun la concavidad de
la funcion. Para tratar de compensar esto un poco, se
pueden promediar y obtener la aproximacion
Tn =Ln +Rn
2.
379
Esta aproximacion tiene una interpretacion geometrica
simple. Si la escribimos como sumatoria queda
Tn =n−1∑i=0
f(xi) + f(xi+1)
2∆xi.
Aquı tenemos un trapecio de altura ∆xi y bases f(xi) y
f(xi+1), por lo que se suman areas de trapecios, y por
eso se le llama regla del trapecio a este esquema.
380
Si los puntos son equiespaciados con distancia h, nos
queda simplemente
Tn =h
2(f(x0) + 2f(x1) + · · ·+ 2f(xn−1) + f(xn)).
381
Otro esquema, y que de hecho es mejor todavıa que la
regla del trapecio, viene de elegir
xi =xi−1 + xi
2de modo que queda la estimacion
Mn =n∑i=1
f(xi)∆xi.
382
Si la separacion es uniforme e igual a h, entonces
Mn = h(f(x1 + · · ·+ f(xn)).
383
Si una funcion no es lineal en un intervalo, entonces
las reglas del punto medio y del trapecio generalmente
tienen signos opuestos. Por lo tanto, tiene sentido que si
se promedian adecuadamente entonces produciran una
estimacion mejor.
384
Esto es ası en efecto, y se define
S2n =2Mn + Tn
3tenemos la regla de Simpson. Observese que el subındi-
ce 2n resulta de considerar que hay el doble de puntos
pues ademas de los extremos de la del trapecio se ponen
los puntos medios.
385
Si la separacion es uniforme, entonces queda
Sn =h
3(f(x0)
+ 4f(x1) + 2f(x2) + · · ·+ 2f(xn−2) + 4f(xn−1)
+ f(xn))
donde n es un numero par.
386
Para encontrar cotas de error, consideraremos primero
la regla del trapecio para un solo intervalo. Definimos
primero el polinomio p(x) = (x− α)2 + β, donde deter-
minaremos a la sconstantes α y β.
387
Supongamos que f ∈ C2([a, b]). Si integramos por par-
tes, entonces∫ baf ′′(x)p(x) dx = f ′(b)p(b)− f ′(a)p(a)−
∫ baf ′(x)p′(x) dx
= f ′(b)p(b)− f ′(a)p(a)− f(b)p′(b) + f(a)p′(a)
+∫ baf(x)p′′(x) dx.
388
Tenemos que p′′(x) = 2, podemos resolver para∫ ba f(x) dx
y queda∫ baf(x) dx =
1
2(−f ′(b)p(b)+f ′(a)p(a)+f(b)p′(b)−f(a)p′(a))+E(f)
donde
E(f) =1
2
∫ baf ′′(x)p(x) dx.
389
Para obtener la regla del trapecio necesitamos que p(a) =
p(b) = 0 y p′(a) = a− b, p′(b) = b− a. Entonces
p(x) = (x− (a+ b)/2)2 − (b− a)2/4.
390
Ademas
E(f) ≤1
2
∫ ba|f ′′(x)p(x)| dx ≤
‖f ′′‖∞2
∫ ba|p(x)| dx
y se puede verificar que∫ ba|p(x)| =
4h3
3
con h = b−a2 , de modo que
|E(f)| ≤‖f ′′‖∞(b− a)3
12.
391
Si todos los puntos estan igualmente espaciado con
separacion h, entonces podemos usar esta estimacion
392
para estimar el error del total. Tenemos
|ETn (f)| =1
2
∣∣∣∣∣∣n∑i=1
∫ xixi−1
f ′′(x)pi(x)
∣∣∣∣∣∣=‖f ′′‖∞
2
n∑i=1
∫ xixi−1
|(x− yi)2 − (h/2)2| dx
= ‖f ′′‖∞n∑i=1
∫ h/2
0((h/2)2 − x2) dx
= ‖f ′′‖∞n∑i=1
2
3(h/2)3
= ‖f ′′‖∞2n
3
(b− a)3
8n3
= ‖f ′′‖∞(b− a)3
12n2.
Para la regla del punto medio, definimos a p(x) como
una cerca cuadratica con una parabola en [a, c) y otra
en (c, b] con c = (a + b)/2, para el caso de un solo
intervalo.
393
Si integramos por partes dos veces, obtenemos∫ baf ′′(x)p(x) dx =
∫ caf ′′(x)p(x) dx+
∫ bcf ′′(x)p(x) dx
= −f ′(a)p(a) + f(a)p′(a)
+ f ′(b)p(b)− f(b)p′(b)
− f(c)[p′(c−)− p′(c+)] + 2∫ baf(x) dx
394
Para recuperar la regla del punto medio requerimos que
p(a) = p′(a) = p′(b) = p(b) = 0 y p′(c−) − p′(c+) =
2(b− a). Esto se logra si
p(x) =
(x− a)2, a ≤ x ≤ c,(x− b)2, c ≤ x ≤ b.
395
En tal situacion, el error satisface
|EM(f)| ≤‖f ′′‖∞
2
(∫ ca
(x− a)2 dx+∫ bc
(x− b)2 dx
)
= ‖f ′′(x)‖∞(b− a)3
24.
396
Repitiendo el razonamiento para la regla del trapecio,
llegamos a la estimacion
|EMn (f)| ≤ ‖f ′′‖∞n∑i=1
h3
24
= ‖f ′′‖∞n(b− a)3
24n3
= ‖f ′′‖∞(b− a)3
24n2.
397
Para el caso de la regla de Simpson no daremos abso-
lutamente todos los detalles, pero igual p es una cercha
de cuarto grado con un polinomio cuartico en [a, c) y
otro en (c, b]. Se integra por partes cuatro veces y queda∫ baf(4)p(x) dx
= F (f(3−k)(a)p(k)(a), f(3−k)(b)p(k)(b)3k=0)
− 4!∫ baf(x) dx.
398
Imponiendo las condiciones apropiadas en los extremos
del intervalo y en el punto medio, resulta que
p(x) =
(x− a)3(x− a/3− 2b/3), a ≤ x ≤ c,(x− b)3(x− 2a/3− b/3), c ≤ x ≤ b.
399
El error queda entonces acotado segun
|ES(f)| =1
4!
∣∣∣∣∣∫ baf(4)(x)p(x) dx
∣∣∣∣∣≤‖f(4)‖∞
24
∫ ba|p(x)| dx
donde se puede comprobar por un computo directo que∫ ba|p(x)| dx =
(b− a)5
120.
400
Repitiendo el razonamiento seccional, llegamos a la es-
timacion
|ES2n(f)| ≤ ‖f(4)‖∞n∑i=1
(2h)5
24 · 120
= ‖f(4)‖∞n32(b− a)5
2880n5
= ‖f(4)‖∞(b− a)5
90n4.
401
Los esquemas de integracion que hemos visto presupo-
nen que no podemos elegir estrategicamente los puntos
para obtener la integral. En otras palabras, para mejo-
rar la precision se aumenta el numero de puntos hasta
lograr una tolerancia dada.
402
Sin embargo, tambien es posible ubicar mejor los puntos
para obtener la mejor precision posible con un numero
fijo de ellos. Para ello, primero consideremos el espacio
vectorial de los polinomios con dominio en (a, b) dota-
dos con el producto interno
pm(x) · pn(x) =∫ bapm(x)pn(x)w(x) dx
donde w(x) es una funcion ponderadora estrictamente
positiva en (a, b).
403
En particular, nos interesan conjuntos de polinomios
ortogonales pk respecto a este producto interno, es
decir, que satisfacen pm · pn 6= 0 si y solo si m = n.
404
Teorema 46. Todos los ceros de los polinomios or-
togonales pm son reales, de multiplicidad 1 y caen en
(a, b).
405
Sean x0, . . . , xn las raıces de pn+1. Sea `i el i-esimo
polinomio de Lagrange que pasa por estas raıces, es
decir, tal que `i(xj) = [i = j]. Entonces∫ baf(x)w(x) dx ≈
n∑i=0
wif(xi)
donde los pesos wi estan dados por
wi =∫ ba`i(x)w(x) dx.
406
Teorema 47. La aproximacion de cuadratura es exacta
si f es un polinomio de grado 2n+ 1 o menor.
A esta se le conoce como cuadratura gaussiana.
407
Demostracion. Supongase que f es un polinomio de
grado 2n+ 1 o menor. Entonces, por el algoritmo de la
division
f = pn+1q + r
donde q y r son polinomios de grado menor o igual a
n.
408
Puesto que pn+1 es ortogonal a todos los polinomios
de grado menor o igual a n, entonces∫ baf(x)w(x) dx =
∫ bapn+1(x)q(x)w(x) dx
+∫ bar(x)w(x) dx =
∫ bar(x)w(x) dx.
409
Por las propiedades de interpolacion
r(x) =n∑i=0
r(xi)`i(x)
y
f(xi) = pn+1(xi)q(xi) + r(xi) = r(xi).
410
Ası ∫ bar(x)w(x) dx =
n∑i=0
f(xi)∫ ba`iw(x) dx
=n∑i=0
wif(xi).
411
Una familia de polinomios ortogonales muy importante
es la de Legendre, que lo es en (−1,1) respecto al peso
w(x) = 1, y cuyos primeros terminos son
n Pn(x) Raıces Pesos0 1 ∅ –1 x 0 22 1
2(3x2 − 1) ±1/√
3 1,1
3 12(5x3 − 3x) 0,±
√3/5 5/9,8/9,5/9
412
En caso de que el intervalo de integracion no sea res-
pecto al cual se calcula el producto interno y es (a, b)
en lugar de (−1,1), entonces la formula de cuadratura
queda∫ baf(x) dx ≈
b− a2
n∑i=1
wif
(b− a
2xi +
a+ b
2
).
413
Si lo aplicamos para la funcion sen(x2) en el intervalo
[0,2] para la formula de tres puntos, tenemos∫ 2
0sen(x2) dx
= 59 sen((1−
√3/5)2)+8
9 sen((1+0)2)+59 sen((1+
√3/5)2)
= 0.77197.
414
No parece una aproximacion particularmente buena, pe-
ro hay que considerar que se obtuvo ¡solamente con tres
puntos! Tiene un error de 0.032811.
Con esa cantidad de puntos solamente la regla de Sim-
pson con seis puntos es superior.
415
Otro problema frecuente, sobre todo en fısica y es-
tadıstica, es el aproximar integrales impropias de la for-
ma ∫ ∞a
f(x) dx.
416
Una posiblidad para lograrlo es estimar la “cola” de la
integral de modo que el error que aporte sea menor que
alguna tolerancia dada.
Ejemplo 48. Supongamos que queremos calcular∫ ∞0
e−x cos(x2) dx
con una tolerancia menor o igual a ε = 1× 10−3.
417
Sabemos que∣∣∣∣∫ ∞A
e−x cos(x2) dx∣∣∣∣ ≤ ∫ ∞
Ae−x dx = e−A.
Para tener segura la aproximacion, pedimos que e−A ≤1× 10−4. Entonces
A ≥ − ln(1× 10−3) = 6.9077,
digamos A = 10.
418
Por lo tanto, si podemos obtener una aproximacion con
tolerancia menor o igual a ε = 1× 10−3 de∫ 10
0e−x cos(x2) dx
lograremos lo que se busca. Es buen momento aquı
para aprovechar la aproximacion del error de la regla
Simpson.
419
De manera grafica concluimos que la cuarta derivada
de e−x cos(x2) es a lo mas 74. Por lo tanto, buscamos
n tal que
75(105)
90n4=
83333.33
n4≤ 1× 10−3
o sea
n ≥ 95.54
es decir, con n = 96 basta. La regla de Simpson nos
dice entonces que la integral es aproximadamente∫ ∞0
e−x cos(x2) dx ≈ 0.534876087096 . . . .
420
Otra manera de calcular integrales impropias de la for-
ma ∫ ∞0
e−xf(x) dx
es usando una formula de cuadraturan∑i=1
wif(xi).
421
En este caso, los puntos para evualuar son las raıces de
los polinomios de Laguerre,
Ln(x) =n∑
k=0
(nk
)(−1)k
k!
y los pesos son
wi =xi
(n+ 1)2(Ln+1(xi))2.
422
En este caso los puntos y los pesos se pueden precalcu-
lar. En este caso se tiene un codigo en Octave/Matlab.
Ası se pueden calcular, por ejemplo, los puntos
x1 = 6.2899, x2 = 2.2943, x3 = 0.4158,
con pesos
w1 = 0.0104, w2 = 0.2785, w3 = 0.7111.
423
Si calculamos la cuadratura de Gauß-Legendre de 9
puntos para f(x) = cos(x2), nos da
9∑i=1
wi cos(x2i ) = 0.53168
cuyo error absoluto es de 3.19× 10−3, que es conside-
rablemente bueno considerando que se requirieron algo
ası como 100 puntos para asegurar una precision com-
parable con la regla de Simpson.
424
Si consideramos la EDO que describe el movimiento de
un pendulo de masa m colgado de una cuerda de lon-
gitud `, entonces por la segunda ley de Newton resulta
mθ′′ = −mg
`sen(θ).
425
Una ventaja de resolver numericamente, al menos en
principio, es que no necesitamos a priori simplificar las
ecuaciones, podemos por ejemplo incorporar un termino
de resistencia del medio y otro de forzamiento periodico
mθ′′+ γθ′+mg
`sen(θ) = A sen(Ωt).
426
No es inusual normalizar algunos coeficientes. En este
caso, si dividimos entre la masa, entonces queda
θ′′+ cθ′+ ω sen(θ) = a sen(Ωt).
Tenemos aquı una EDO de segundo orden, no lineal.
Para poderla resolver completamente necesitamos las
condiciones iniciales, que se pueden poner como
θ(0) = θ0 y θ′(0) = v0.
427
Para poder resolver en general este tipo de ecuaciones,
conviene convertirla en un sistema de ecuaciones de
primer orden.
Supongamos que la EDO de orden n se puede resolver
para n-esima derivada, es decir, podemos escribir
x(n) = F (t, x, x′, x′′, . . . , x(n−1)).
428
Haciendo el cambio de variables
y1 = x,
y2 = x′,...
yn = x(n−1)
429
De modo que queda el sistema
y′1 = x′ = y2
y′2 = x′′ = y3...
y′n = x(n) = F (t, x, . . . , x(n−1)).
que podemos escribir simplemente como
y′ = F(t,y).
430
Si lo aplicamos al ejemplo del pendulo, escribimos pri-
mero
y1 = θ y y2 = θ′,
de modo que(y1y2
)′=
(y2
−cy2 − ω sen(y1) + a sen(Ωt)
)con condiciones iniciales(
y1(0)y2(0)
)=
(θ0v0
)
431
Teorema 49. Si f es continua en un rectangulo R
R = (t, x) : |t− t0| ≤ α, |x− x0| ≤ β
entonces el problema de valor inicial
x′ = f(t, x),
x(t0) = x0,
tiene una solucion x(t) para |t−t0| ≤ mınα, β/M, don-
de
M = max(t,x)∈R
|f(t, x)|.
432
Ejemplo 50. Puede suceder que aunque f sea continua
el problema no tenga solucion unica. Por ejemplo
x′ = x2/3, x(0) = 0,
es tal que x(t) = 0 es una solucion, pero tambien x(t) =1
27t3 lo es.
433
Teorema 51. Si f y ∂f/∂x son continuas en el rectangu-
lo R del teorema anterior, entonces el problema de valor
inicial tiene solucion y ademas es unica en el intervalo
que incluye a las t que satisfacen |t− t0| ≤ mınα, β/M.
434
Teorema 52. Si f es continua en la franja a ≤ t ≤ b,
−∞ < x <∞ y satisface la desigualdad
|f(t, x1)− f(t, x2)| ≤ L|x1 − x2|
entonces el problema de valor inicial del primer teorema
de existencia tiene una solucion unica en el intervalo
[a, b].
435
Una funcion vectorial f(x,y) satisface una condicion de
Lipschitz respecto a y ∈ D (con constante de Lipschitz
L) si
|f(x,y)− f(x,y)| ≤ L|y − y|
para (x,y), (x,y) ∈ D.
436
Teorema 53. Sea f(t,x) continua en un dominio D ⊆Rn+1 y que satisface la condicion de Lipschitz local con
respecto a x en D. Si (t0,x0) ∈ D entonces el problema
de valor inicial
x′ = f(t,x),
x(t0) = x0,
tiene exactamente una solucion.
437
Ahora que tenemos algunas condiciones suficientes para
resolver un sistema de EDO de primer orden, la idea
para resolverlo es aproximar la solucion en el intervalo
[a, b] produciendo una sucesion de puntos
(t0,x0), . . . , (tn,xn)
tales que t0 = a y tn = b.
438
Si dividimos al intervalo de tiempo en n partes iguales,
tenemos el tamano de paso
h =b− an
,
de modo que definimos xn como la aproximacion obte-
nida para el instante tn = a+ nh.
439
Recordemos del teorema de Taylor que
x(t+ h) ≈ x(t) + hx′(t) = x(t) + hf(t,x)
o sea que
xn+1 = xn + hf(tn,xn).
Esta recursion es el metodo de Euler.
440
Para ilustrar el metodo de forma numerica, supongamos
que queremos resolver la EDO
u′′+ u = 0,
u(0) = 0,
u′(0) = 1.
441
Para aplicar el metodo de Euler, definimos x1 = u y
x2 = u′. Entonces (x1x2
)′=
(x2−x1
)con (
x1(0)x2(0)
)=
(01
)
442
Supongamos que queremos resolver en el intervalo [0, π]
con n = 10. El tamano de paso es h = π10. Ası
x1 = (0,1) +π
10f(0,1)
= (0,1) + 0.314159(1,0)
= (0.314159,1).
443
x2 = (0.314159,1) + 0.314159f(0.314159,1)
= (0.314159,1) + 0.314159(1,−0.314159)
= (0.628318,0.913041)
444
x3 = (0.628318,0.913041) + 0.314159f(0.628318,0.913041)
= (0.628318,0.913041) + 0.314159(0.913041,−0.628318)
= (0.911472,0.703908)
445
Continuando ası obtenemos
x4 = (1.13261,0.41756),
x5 = (1.26379,0.06174),
x6 = (1.28319,−0.33529),
x7 = (1.17786,−0.73841),
x8 = (0.95588,−0.10845),
x9 = (0.59765,−1.40561),
x10 = (0.15606,−1.59336).
446
Podemos tomar un termino mas del teorema de Taylor
x(t+ h) ≈ x(t) + hx′(t) +h2
2x′′(t)
= x(t) + hf(t,x) +h2
2f ′(t,x)
o sea que
xn+1 = xn + hf(tn,xn) +h2
2f ′(tn,xn).
447
En nuestro ejemplo
f ′ =
(x′2−x′1
)=
(−x1−x2
)
448
Calculando
x1 = (0,1) + h(1,−0)− (h2/2)(0,1)
= (0.31416,0.95065).
449
x2 = (0.59731,0.80504)
x3 = (0.82075,0.80504)
x4 = (0.96172,0.29131)
x5 = (1.00578,−0.02520)
x6 = (0.94823,−0.33993)
x7 = (0.79465,−0.62105)
x8 = (0.56032,−0.84005)
x9 = (0.26876,−0.97463)
x10 = (−0.05069,−1.01097)
450
Por supuesto, este ultimo metodo “de Taylor” es mas
preciso que el de Euler, pero el detalle es que implica
encontrar segundas derivadas. En este caso, es relati-
vamente simple, pero para sistemas mas complicados
podrıa no ser viable.
451
Una manera de compensar la rapida acumulacion del
error en el metodo de Euler es muestrear a la funcion f
no solamente al inicio de un intervalo, sino tambien al
final, de modo semejante al metodo del trapecio.
452
Tenemos entonces, para k ≥ 0,
k1 = hf(tk,xk),
k2 = hf(tk + h,xk + k1),
xk+1 = xk + 12(k1 + k2).
453
En el ejemplo del sistema sencillo que venimos mane-
jando, tendrıamos
k1 = hf(0,1) = h(1,−0),
k2 = hf((0,1) + h(1,0)) = h(1,−h)
x1 = (0,1) + 12((h,0) + (h,−h2))
= (h,1− h2/2) = (0.31416,0,95065)
454
Continuando con los computos, resulta lo siguiente.
x2 = (0.59731,0.80504)
x3 = (0.82075,0.57766)
x4 = (0.96172,0.29131)
x5 = (1.00578,−0.02520)
x6 = (0.94823,−0.33993)
x7 = (0.79465,−0.62105)
x8 = (0.56032,−0.84005)
x9 = (0.26876,−0.97463)
x10 = (−0.05069,−1.01097)
455
Por la expansion de Taylor sabemos que el error del
metodo de Euler es O(h2), mientras que el “de Taylor”
es O(h3). ¿De que orden es el de Euler modificado?
456
Para esto necesitamos la siguiente expansion de la se-
gunda derivada
x′′(t) = ft(t,x) + Jf(t,x)x′(t)
= ft(t,x) + Jf(t,x)f(t,x)
457
Segun la expansion de Taylor en una variable
x(t+ h) = x(t) + hf(t,x)
+h2
2[ft(t,x) + Jf(t,x)f(t,x)] +O(h3)
= x(t) +h
2f(t,x)
+h
2[f(t,x) + hft(t,x) + hJf(t,x)f(t,x)]
+O(h3)
458
La expansion de Taylor en varias variables nos dice que
f(t+ h,x + k) = f(t,x) + hft(t,x) + Jf(t,x)k + · · ·
de modo que, tomando k = hf(t,x),
f(t+h,x+hf(t,x)) = f(t,x)+hft(t,x)+hJf(t,x)f(t,x)+O(h2)
459
Sustituyendo, resulta
x(t+h) = x(t)+h
2f(t,x)+
h
2f(t+h,x+hf(t,x))+O(h3)
y, recordando que k1 = hf(t,x) y k2 = hf(t+h,x+k1),
nos da el metodo de Euler modificado
xk+1 = xk +1
2(k1 + k2) +O(h3).
460
En general, las llamadas formulas de Runge-Kutta de
segundo orden son de la forma
x(t+ h) = x + w1hf + w2h[f + αhft + βh(Jf)f ] +O(h3)
donde, al comparar con la expresion de donde obtuvi-
mos el error del metodo de Euler modificado, nos da el
sistema
w1 + w2 = 1,
w2α =1
2,
w2β =1
2.
461
La solucion w1 = w2 = 12, α = β = 1 es el metodo de
Euler modificado que hemos visto. Otra posibilidad es
tomar w1 = 0, w2 = 1 y α = β = 12, al cual tambien se
le llama metodo de Euler modificado
k1 = hf(tk,xk),
k2 = hf(tk + h/2,xk + k1/2),
xk+1 = xk + k2.
462
(A lo que nosotros inicialmente le llamamos metodo de
Euler modificado en otras partes le llaman metodo de
Heun.)
463
De manera mas general, podemos escribir metodos explıci-
tos de Runge-Kutta de la forma
k1 = hf(tk,xk)
k2 = hf(tk + c2h,xk + h(a2,1k1)),...
ki = hf(tk + cih,xk +i−1∑j=1
ai,jkj),
xk+1 = xk +s∑
i=1
biki.
464
Al arreglo de coeficientes
c1 a1,1 · · · a1,s... ... . . . ...cs as,1 · · · as,s
b1 · · · bs
se le llama tabla de Butcher.
465
El metodo clasico de cuarto orden de Runge-Kutta tie-
ne tabla de Butcher
0 0 0 0 01/2 1/2 0 0 01/2 0 1/2 0 0
1 0 0 1 01/6 1/3 1/3 1/6
466
De manera explıcita, tenemos
k1 = hf(tk,xk),
k2 = hf(tk + 12h,xk + 1
2k1),
k3 = hf(tk + 12h,xk + 1
2k2),
k4 = hf(tk + h,xk + k3),
xk+1 = xk + 16k1 + 1
3k2 + 13k3 + 1
6k4.
El error de este metodo es O(h5).
467
Ahora estudiaremos el famoso modelo SIR de una epi-demia. Para ello denotamos con
S(t) al numero de individuos susceptibles a enfer-marse,
I(t) al numero de individuos infectados y
R(t) al numero de individuos recuperados (esto in-cluye a los fallecidos)
al tiempo t desde el inicio de la epidemia.
Esto es lo que se denomina un modelo compartimental.
468
Para fines de simplificacion, se consideraran mejor las
variables
s(t) = S(t)/N, i(t) = I(t)/N, r(t) = R(t)/N
donde N es la poblacion total, cuya variacion despre-
ciaremos.
469
Tenemos las siguientes ecuaciones diferenciales. Prime-
ro
s′(t) = −bs(t)i(t)
donde b es el numero de contactos por dıa que tiene un
individuo infectado con uno susceptible. Aquı opera la
ley de accion de masas, donde se supone que la tasa de
propagacion es proporcional al producto de los grupos
que interactuan.
El signo es negativo porque el numero de susceptibles
decrece.
470
Segundo,
r′(t) = ki(t)
donde k es la fraccion de recuperados en un dıa dado.
471
Y, tercero,
i′(t) = bs(t)i(t)− ki(t)
pues el cambio en el numero de infectados es igual al
numero de nuevos infectados menos los recuperados.
472
En resumen tenemos el sistemasir
′
=
−bsibsi− kiki
.
473
En relacion a las constantes:
El valor de k es el recıproco del tiempo que toma
la recuperacion en dıas. Para la covid-19, sabemos
que es en promedio quince dıas, o sea k = 1/15.
Para encontrar a b, tenemos la relacion con la fa-
mosa R0, que es R0 = b/k, de modo que b = R0k.
Para la covid-19 se ha calculado que R0 = 2.5, de
modo que b = 2.5(1/15) = 1/6.
474
En cuanto a las condiciones iniciales: el 23 de marzo de
2020 se reporto el primer caso de covid-19 en Oaxaca,
es decir, i(0) = 1/(4,132 × 106) = 2.42 × 10−7 y por
lo tanto s(0) = 1 − i(0), que para efectos practicos se
puede tomar como 1. El numero de recuperados es 0.
Ası, s(0)i(0)r(0)
=
12.42× 10−7
0
475
Se resuelve usando lsode en Octave y obtenemos que el
maximo de contagios se alcanza en el dıa 156 despues
de iniciada la pandemia en Oaxaca, lo que es aproxima-
damente cinco meses despues del primer caso, es decir,
aproximadamente a finales de septiembre de 2020, y
tardarıa hasta finales de julio de 2021 para retornar a
la normalidad.
476
Con esto yo supe que todo el ano no habrıa clases
presenciales, aun si no coincidio exactamente con los
datos oficiales.
477
Tenemos los siguientes datos sobre seroprevalencia de
la covid-19 en Mexico.
Dıas despues del primer caso Tasa de contagio ( %)262 26.3308 33.5426 57.6
478
Ajustaremos una funcion logıstica de la forma
y = f(t) =1
1 + exp(−k(t− t0)).
479
Sin embargo, no se puede hacer directamente en termi-
nos de lo que hemos visto. Ası que haremos la siguiente
transformacion
1
y= 1 + exp(−k(t− t0))
∴ exp(−k(t− t0)) =1
y− 1
∴ −k(t− t0) = log(1y − 1).
480
Ahora tenemos una recta para ajustar. Transformamos
entonces los datos.
Dıas despues del primer caso log(1y − 1)
262 1.03043308 0.68566426 −0.30637
481
Ajustando la recta, obtenemos
m = −0.0082019 y b = 3.1929294
de modo que
k = 0.0082019, t0 = 3.1929294/0.0082019 = 389.29.
482
La inmunidad colectiva se logra cuando ya se ha con-
tagiado la fraccion
1−1
R0.
Para el caso de la covid-19 original, tenemos R0 = 2.5,
que implica la fraccion 0.6.
483
Con la grafica podemos ver que esta fraccion se logra
a los 439 dıas desde el primer caso, aproximadamente.
Esto es, a mediados de mayo de 2021.
484
Sin embargo, se sabe que las variantes mas contagio-
sas tienen un R0 alrededor de 50 % mayor, esto es,
R0 = 3.8. Siendo ası, la fraccion para la inmunidad co-
munitaria es
1−1
3.8= 0.74.
485
Esto ocurre aproximadamente a los 517 dıas desde el
primer caso, o sea hacia finales de julio.
486