An alisis Num ericooctavioalberto/pdf/pres_an_2021B.pdfSabemos que cocientes sucesivos de n umeros...

Post on 02-Aug-2021

1 views 0 download

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