Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
L. Hctor Jurez V.
Departamento de Matemticas,
Universidad Autnoma Metropolitana.
hect@xanum.uam.mx
31 de agosto de 2013
L. Hctor Jurez V.
ndice general
1. Aritmtica Computacional
21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
L. Hctor Jurez V.
2.2.3. Nmero de condicin relativo . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.4. Estabilidad de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . 37
2.2.5. Retroestabilidad (Backward-Stability) . . . . . . . . . . . . . . . . . . 39
2.2.6. La precisin de un algoritmo retroestable . . . . . . . . . . . . . . . . 40
2.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2. Factorizacin LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3. Inestabilidad del mtodo de eliminacin de Gauss . . . . . . . . . . . . . . . . 55
3.4. Tcnicas de pivoteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.1. Pivoteo completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.2. Pivoteo parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.3. Factorizacin LU con pivoteo parcial . . . . . . . . . . . . . . . . . . . 60
3.5. Clculo de la inversa de una matriz . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6. Estabilidad del mtodo de eliminacin de Gauss con pivoteo . . . . . . . . . . 63
3.7. Mtodo de Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.1. Matrices definidas positivas . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.2. Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.7.3. El algoritmo de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.7.4. Estabilidad del algoritmo de Choleski
. . . . . . . . . . . . . . . . . . 72
3.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4. Problemas de mnimos cuadrados lineales. Factorizacin QR
77
. . . . . . . . . . . . . . . . . . . . 85
Anlisis Numrico
111
141
. . . . . . . . . . . . . . . . 150
L. Hctor Jurez V.
6.5.3. Frmulas de integracin numrica ms comunes
6.6. Reglas compuestas de integracin . . . . . . . . . . . .
6.7. Frmulas de cuadratura de Gauss . . . . . . . . . . . .
6.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
159
163
167
171
.
.
.
.
.
.
.
.
.
.
.
.
175
. 175
. 179
. 180
. 188
. 191
. 194
. 196
. 198
. 201
. 201
. 204
. 211
Anlisis Numrico
Prlogo
Este documento contiene las notas del curso de Anlisis Numrico diseado para los
alumnos de la maestra en Ciencias Matemticas Aplicadas e Industriales y del Posgrado
de la Divisin de Ciencias Bsicas e Ingeniera de la Universidad Autnoma Metropolitana, plantel Iztapalapa. El material incluye los temas cubiertos en un perido trimestral y
equivalente a 50 horas frente a grupo. Se recomienda que un mnimo de 12 horas de las
50 se dediquen a taller de cmputo, en donde los alumnos experimenten con los diferentes
algoritmos y mtodos analizados en clase de teora. Cabe aclarar que el material tambin
puede utilizarse en cursos con estudiantes avanzados (del ltimo ao) de ciencias e ingenieria de nivel licenciatura. Los prerrequisitos son: clculo en una y varias variables, algebra
lineal, y ecuaciones diferenciales ordinarias. Los temas se escogieron para cubrir un mnimo
de material que permita introducir al estudiante a este fascinante campo de la matemtica
aplicada, con el objeto de que adquiera la formacin y madurez necesaria que le permita
abordar otros temas ms avanzados y/ especializados del anlisis numrico. Se hace nfasis
en el anlisis y comprensin de los mtodos y algorimtos, as como de los alcances y limitaciones de los mismos. Nuestro propsito es que el estudiante no solo aprenda a utilizar
los mtodos, sino que adems sea capaz de elejir y disear la mejor estrategia para algn
problema en particular.
Por lo pronto, a manera de introduccin trataremos de describir de manera general el
campo de estudio del anlisis numrico y el propsito general del material que se presenta
en este manuscrito.
El anlisis numrico trata del estudio, anlisis y desarrollo de algoritmos para obtener
soluciones numricas y computacionales de problemas expresados matemticamente. Generalmente estos problemas matemticos son modelos expresados en el lenguaje matemtico
de diversos fenmenos estudiados en las ciencias naturales y problemas de la ingeniera,
abarcando recientemente otros campos como las finanzas, la economa, la biologa y la medicina, entre otros. A menudo el anlisis numrico es considerado como las matemticas
de la computacin cientfica (la cual versa sobre la solucin numrica en computadora de
problemas matemticos).
Los algoritmos que estudiaremos invariablemente son diseados para utilizarlos en computadoras de alta velocidad. Por tanto, un paso crucial antes de obtener la solucin del problema consiste en el desarrollo de un cdigo o programa en algn lenguaje de programacin
para comunicarlo a la computadora. Dado que hay varias opciones no solo de lenguajes de
computacin sino tambien de tipos de computadoras, el tema de programacin se deja fuera
de la ciencia del anlisis numrico. Sin embargo, en el presente estudio a menudo haremos
L. Hctor Jurez V.
uso del ambiente MATLAB para los clculos en algunos ejemplos y aclaramos que el lector
puede programar los mtodos en el ambiente o en el lenguaje de programacin que el elija.
Existen varias fuentes de error en la solucin de problemas que requieren de computacin
matemtica o solucin computacional:
1. Modelacin del proceso. La solucin numrica de problemas no puede ser mejor que
el modelo subyacente. Un modelo matemtico de un problema en particular siempre
parte de hiptesis simplificadoras y generalmente no describe el fenmeno de manera
exacta.
2. Medida de datos para el problema. Los datos observados los parmetros asociados a un problema pocas veces son exactos. Cuando se obtienen datos de un problema
generalmente hay limitaciones en los equipos de medicin y los datos son obtenidos
con una precisin finita determinada.
3. Errores matemticos de mtodo. Estos estn asociados a la aproximacin matemtica modelo numrico de solucin del problema. Estos errores comunmente son
llamados errores de discretizacin y errores de truncamiento, y son inherentes a la
metodologa de aproximacin que se utiliza para resolver el problema.
4. Error de redondeo. Aparecen debido al nmero finito de dgitos disponibles en las
computadoras o calculadoras utilizadas para el clculo numrico. Los equipos de clculo
computo tienen una precisin limitada y no pueden almacenar todos los nmeros de
manera exacta, ocasionando prdida de precisin en los clculos.
En este curso estudiaremos el diseo e implementacin de cdigos que en lo posible minimizen errores de redondeo, estimen errores de truncamiento y proporcione alguna indicacin
de la sensibilidad del problema a errores en los datos y a los errores de redondeo.
Captulo 1
Aritmtica Computacional
La aritmtica realizada en una computadora involucra operaciones con nmeros que
tienen un nmero finito de dgitos solamente. As que, inevitablemente, muchos clculos se
realizan con representaciones aproximadas de los nmeros verdaderos. Por ejemplo 1/3 no
1.1.
En una computadora digital los nmeros generalmente se representan en el sistema binario (base 2). Por ejemplo, (110)2 equivale a 1 22 + 1 21 + 0 20 = 6 en el sistema
decimal; (1011.11)2 equivale a 1 23 + 0 22 + 1 21 + 1 20 + 1 21 + 1 22 =11.75
en el sistema decimal.
La longitud finita de la palabra de una computadora impone restricciones sobre la precisin que puede lograrse en la representacin de los nmeros. Por ejemplo, un nmero tan
simple como 1/10 no puede almacenarse exactamente en una mquina binaria, dado que
1/10 =(0.0001100110011. . . )2 , es decir ste tiene una representacin binaria infinita.
Adems, debemos tomar en cuenta que tenemos dos tcnicas de conversin relacionadas
al comunicarnos con una computadora binaria: de decimal a binario (al introducir los datos),
y de binario a decimal (al obtener los resultados). En cada conversin pueden presentarse
errores.
9
10
1.1.1.
L. Hctor Jurez V.
signo
27
25
23
22
20
Ejemplo 1.2. Rango de enteros. Determinar el rango de enteros que puede representarse
en una computadora de 16 bits.
Solucin. El 1er bit es para el signo. Sobran 15 bits, con los cuales pueden representarse
los nmeros del 0 al 111111111111111 = 215 1 = 32767. Adems, como el 0 se representa
por 0000000000000000, es redundante utilizar 1000000000000000 para representar -0, as que
podemos representar un nmero adicional que puede ser 215 215 . Por lo tanto, el rango
de enteros que podemos representar con una computadora de 16 bits es de -32768 a 32767
bin de -32767 a 32768
1.1.2.
m e
= m et
t
donde es la base del sistema ( = 10 para el sistema decimal y = 2 para el sistema binario), e representa el exponente y t 1 es la precisin de la mquina. La m se puede escoger
1
m
como: t m < 1, (la mantisa es m), 1 m < t , (la mantisa es t ), dependiendo de la
arquitectura.
Anlisis Numrico
11
Ejemplo 1.3. La IBM 370 la 3000 consista de un bit indicador del signo, un exponente e
de 7 bits en base = 16, y una mantisa m de 24 bits (en total 32 bits), con t=64. Cualquier
1
nmero en esta arquitectura es de la forma: m16e64 con t m < 1.
1000010
101100110000010000000000
1000010
101100110000001111111111
=179.0156097412109375
1000010
101100110000010000000001
= 179.0156402587890625
Lo anterior significa que el nmero de mquina original debe representar no slo a 179.015625,
sino tambin a un nmero infinito de nmeros reales que se encuentran entre este nmero y
sus nmeros de mquina ms cercanos. Por otro lado, en esta arquitectura, el nmero ms
pequeo que se puede representar es:
0
0000000 000100000000000000000000
= 24 16064 = 1665 1078
1111111
111111111111111111111111
1 1612764 = 1663 1076
de tal manera que los nmeros que aparecen en los clculos con magnitud menor a 1665
resultan en lo que se denomina como underflow, y generalmente se le da el valor de cero.
Los nmeros con magnitudes mayores a 1663 resultan en lo que se llama overflow, y causa
que los clculos se detengan se obtenga un mensaje de error.
12
L. Hctor Jurez V.
1.1.3.
Anlisis Numrico
1.2.
13
Errores de redondeo
1.2.1.
Para ilustrar el concepto de redondeo se utilizar la forma decimal normalizada de un nmero, lo cual permitir simplificar la exposicin. Si x es un nmero real cualquiera, entonces
ste tiene una representacin decimal exacta de la forma x = 0.d1 d2 d3 dt dt+1 10n ,
en donde n un entero positivo o negativo, el primer dgito d1 toma valores enteros entre 1 y 9,
y los dems dgitos di , i 2, pueden tomar valores enteros entre 0 y 9. A esta representacin
se le llama la forma decimal normalizada del nmero x.
Ejemplo 1.4. La forma decimal normalizada se ilustra con los siguientes nmeros:
1
= 0.90909090 . . . 101 ,
11
1500
x2 =
= 0.13636363 . . . 103 ,
11
x3 = 2 = 0.141421356 . . . 101 .
x1 =
1.2.2.
La forma de punto flotante de un nmero real x, denotada por f l(x), se obtiene terminando la mantisa de x en t dgitos decimales, suponiendo que los nmeros de mquina
admiten a lo ms t dgitos decimales despus del punto decimal. Existen dos maneras de
realizar esta terminacin
1. Truncamiento. Se cortan los dgitos dt+1 , dt+2 , . . . para obtener f l(x) = 0.d1 d2 dt
10n .
2. Redondeo. Se forma la suma d1 d2 dt .dt+1 +0.5 (en donde el punto que est entre
dt y dt+1 es un punto decimal). La parte decimal de f l(x) es d1 d2 dt1 t , la cual se
obtiene de la parte entera del resultado de la suma anterior.
14
L. Hctor Jurez V.
Ejemplo 1.5. La representacin del nmero x2 = 1500/11 en punto flotante con truncamiento a seis y siete cifras es, respectivamente
f l(x2 ) = 0.136363 103 ,
f l(x2 ) = 0.1363636 103 .
Por otro lado, para obtener su representacin con redondeo se hace lo siguiente:
Si se toman seis cifras decimales, se obtiene 136363.6 + 0.5 = 136364.1, cuya parte
entera es 136364. Por lo tanto, f l(x2 ) =0.136364103 (con 6 = 4 = d6 = 3).
Si se toman siete cifras decimales, entonces tenemos 1363636.3+0.5 = 1363636.8, cuya
parte entera es 1363636. Por lo tanto, f l(x2 ) = 0.1363636103 (con 7 = 6 = d7 ).
Proposicin. El error que resulta al reemplazar un nmero real x por su nmero de punto flotante se denomina error de redondeo. Este error esta acotado por |x f l(x)|
p 1t
10 |x|, con p = 1 cuando se hace redondeo y p = 2 cuando se hace truncamiento.
2
Demostracin. (Caso por truncamiento). Sea x = 0.d1 d2 dt dt+1 10n y f l(x) =0.d1 d2 dt
10n su representacin de punto flotante, entonces
|x f l(x)| = 0. 0 0 dt+1 dt+2 10n
tceros
Anlisis Numrico
15
(1.1)
1
|x f l(x)| 1t |x|,
2
(1.2)
1.2.3.
Epsilon de mquina
= 1t
maq |x|.
16
1.3.
1.3.1.
L. Hctor Jurez V.
m e
,
t
1
m < 1,
t
emin e emax }.
(1.5)
1
Recordemos que el epsilon de mquina se define por 1t . A continuacin presentamos
2
una tabla de valores para diferentes arquitecturas (la mayora de ellas de la dcada de los
80), adems de los valores del estandar IEEE :
1.3.2.
MQUINA
min e
max e
maq
VAX(simple)
VAX(doble)
CRAY-1
IBM-3081(simple)
IBM-3081(doble)
2
2
2
16
16
23
55
48
6
14
-128
-128
-16384
-64
-64
127
127
16383
63
63
1.2107
2.81017
3.61015
9.5107
2.21016
estadar IEEE
min e
max e
maq
Simple
Doble
Cuadruple
2
2
2
23
52
112
-126
-1022
-16382
127
1023
16383
1.2107
2.21016
1.91034
1.3.3.
Anlisis Numrico
17
y = f l(x y)
(Propiedad de diseo).
(1.6)
maq .
Por lo tanto, concluimos que la computadora tiene una propiedad sencilla pero muy til,
expresada en el siguiente axioma:
Axioma fundamental de la arimtica de punto flotante: Para todo x, y F existe
con | | maq tal que
x y = (x y)(1 + ).
(1.7)
Es decir, cada operacin en la aritmtica de punto flotante es exacta salvo un error relativo
de a lo ms maq .
Por lo tanto, si x, y son nmeros de punto flotante, se satisface
x y =(x + y)(1 + ),
x
y =(x y)(1 + ),
x y =(x y)(1 + ),
x
y =(x y)(1 + ),
para algn , con | | maq , siempre y cuando los resultados se mantengan dentro del
sistema de punto flotante F.
Algunas de las propiedades fundamentales de las operaciones en el sistema de nmeros
reales son vlidas para las operaciones en el sistema de punto flotante, otras no lo son. Por
ejemplo, las leyes conmutativa de suma y multiplicacin si son vlidas en punto flotante:
x y = y x,
xy =yx
18
L. Hctor Jurez V.
en donde se observa una diferencia en el ltimo dgito. La situacin puede ser ms crtica con
la suma y la resta. Puede suceder fcilmente que (x y) z sea muy diferente a x (y z)
con aritmtica de baja precisin. De la misma manera, la ley distributiva x(y + z) = xy + xz
no es vlida en aritmtica de punto flotante.
1.4.
Ejercicios
b = a 1,
c = 3 b,
e = 1 c.
100/3 33,
1000/3 333,
10000/3 3333,
etc . . .
Anlisis Numrico
19
6. Evaluar 1/(1 cos x) para valores de x en radianes cercanos al cero. Cmo su puede
evitar la resta de dos nmeros casi iguales en el denominador? Probar con x = 103 ,
106 , 1012 , maq , etc.
7. Elaborar un programa en MATLAB para el dispositivo de clculo con el que cuente,
de modo que el nmero 0.00001 se sume cien mil veces consigo mismo. Si obtiene
como resultado el nmero 1, Cmo es posible este resultado si se suman cien mil
veces valores que no son realmente 0.00001? En realidad se debe obtener un nmero
proximo a 1 si se utiliza artmtica de doble precisin.
8. Considerese el siguiente polinomio
p(x) = (x 2)9
= x9 18x8 + 144x7 672x6 + 2016x5 4032x4 + 5376x3
4608x2 + 2304x 512
Graficar este polinomio para los valores x = 1.9200, 1.9199, 1.9198,. . ., 2.0800 (en notacin MATLAB se escribe x = 1.9200:0.0001:2.0800) utilizando la forma expandida
del mismo. Graficar de nuevo el polinomio, pero ahora utilizando la forma factorizada
del mismo. Intente explicar lo que sucede. Se incluye el cdigo MATLAB :
x = (1.9200:0.0001:2.0800) ;
y = x.9 - 18*x.8 + 144*x.7 - 672*x.6 + 2016*x.5 - 4032*x.4 + 5376*x.3 - ...
4608*x.2 + 2304*x - 512;
plot(x,y, g )
hold on
y = (x-2).9;
plot(x,y, r )
hold off
20
L. Hctor Jurez V.
Captulo 2
Condicionamiento y Estabilidad
2.1.
Normas de matrices
2.1.1.
x = 0 si y solo si x = 0
R,
3. x + y x + y ,
:V
x V
x, y V
2. norma2:
3. normap :
=(
n
i=1 |xi |
n
2
i=1 |xi |
1
2
1
n
p p
i=1 |xi | )
(p 1)
21
22
L. Hctor Jurez V.
x
4. norma :
= m
ax1in |xi |
x2
x2
(0,1)
(1,0)
x2
(0,1)
(0,1)
x1
(1,0)
x1
(0,1)
(1,0)
x1
(1,0)
x1
Aparte de las normasp, las normas ms tiles en las aplicaciones son las normasp
pesadas, en donde cada una de las coordenadas del vector tiene su propio peso. Dada la
norma , una norma con peso puede escribirse como
x
= Wx
xi yi x
x = (x1 , . . . , xn )T , y = (y1 , . . . , yn )T .
i=1
+ y
Anlisis Numrico
23
2.1.2.
x Rn .
x M x ,
= 1}.
xS
max x = x1 .
xS
Entonces
x0 x x1 ,
x S .
y
x1 .
y
Es decir,
x0
y x1
24
L. Hctor Jurez V.
Por lo tanto,
m y
y M y
y Rn
2.1.3.
Cuando se hace anlisis numrico de problemas donde intervienen matrices es til tener
el concepto de norma de una matriz y, en consecuencia, de la distancia entre matrices. Existe
una forma geomtrica (y aparentemente natural) que permite definir la norma de una matriz.
Esta forma toma en cuenta el comportamieto de la matriz como un operador:
Si A Rnn es una matriz de n n, y una norma vectorial en Rn , entonces la
norma de A inducida por esta norma vectorial se define por:
A := sup
x=0
Ax
= sup Ax
x
x =1
(2.1)
Ntese que estamos designando con el smbolo tanto la norma vectorial como la norma
matricial inducida. Sin embargo, no debe haber confusin cuando se trate de una otra,
dado que el argumento ser un vector una matriz y claramente indicar de que caso se
trata. De la definicin se infiere que para calcular la norma de una matriz dada A, basta
con calcular el supremo de Ax sobre la esfera unitaria en la norma correspondiente.
1 2
0 2
Anlisis Numrico
25
x2
x2
(2,2)
(0,1)
(1,0)
x1
x1
(1,0)
= 4.
En la norma el vector unitario x que tiene mayor amplificacin bajo A es x = (1, 1)T
su negativo, y el factor de amplificacin es Ax = (3, 2)T = 3. La Figura 2.3
muestra este caso.
x2
x2
(2,2)
(0,1)
(1,0)
x1
x1
(1,0)
= 3.
En la norma2 (norma Euclideana) el vector unitario (o su negativo) que es mayormente amplificado por A se muestra en la Figura 2.4. El factor de amplificacin es
aproximadamente 2.9208.
x2
x2
(2,2)
(0,1)
(1,0)
x1
(1,0)
x1
= 2,9208
26
2.1.4.
L. Hctor Jurez V.
Por supuesto que el clculo de normas de las matrices como se mostr en el ejemplo
anterior resultara una tarea muy ardua. Adems no sera posible graficar los valores A x
para matrices arbitrarias en dimensiones mayores (n > 3). A continuacin daremos frmulas
explcitas para calcular las normas matriciales inducidas por las normas1, 2, .
La norma1 de una matriz: Si A es cualquier matriz de n n entonces A 1 es igual a
la mxima suma por columnas (de los coeficientes en valor absoluto) de A.
Demostracin. Representamos a la matriz por sus vectores columna: A = [a1 | a2 | . . . | an ],
siendo ai el isimo vector columna. Sea B1 = {x Rn : nj=1 |xj | 1} y x B1 ; su imagen
Ax satisface
n
Ax
=
j=1
xj aj
|xj | aj
max aj
j=1
1jn
|xj | max aj
1
j=1
1jn
1.
= max aj
1jn
1,
Ax
= aj0
= max aj
1jn
Por lo tanto
n
= m
ax aj
1jn
|aij |
= m
ax
1jn
(2.2)
i=1
|aij |
= m
ax
1in
(2.3)
j=1
1 2 1
A = 0 0 0 ,
1 1 2
encontrar A
y A
Solucin. A 1 = mxima suma por columnas (en valor absoluto) = 3; mientras que
A = mxima suma por rengln (en valor absoluto) =4.
Anlisis Numrico
2.1.5.
27
En este caso es ms complicado hacer el clculo para encontrar la frmula explcita. Para
ello necesitamos los conceptos de valor propio, vector propio, as como del radio espectral
de una matriz. Por ello revisaremos brevemente estos conceptos antes de intentar encontrar
dicha frmula.
Valores y vectores propios de una matriz. Dada una matriz A de n n se dice que
C es un valor propio de la matriz si existe x Rn tal que
x=0
Ax = x,
y en este caso a x se le conoce como el vector propio asociado a . La condicin hay algn
x = 0 tal que Ax = x, es equivalente a cualquiera de las siguientes dos condiciones:
1. La matriz A I es singular, donde I denota a la matriz identidad.
2. det[A I] = 0.
Este determinante es un polinomio en que se denomina polinomio caracteristico de A, y
que denotaremos por p(). Si A es de orden n n, entonces p() es de grado n, y sus
raices proporcionan los valores propios de la matriz.
1 0 1
A= 2 0 1
1 0 2
su polinomio caracterstico es
p()
=
=
=
1 0
1
det[A I] =
2
1
1
0
2
(1 )()(2 )
[( + 1)( + 2) + 1] = [2 + 3 + 3] ,
3 3i
3 + 3i
, 3 =
.
y sus valores propios son la raices del polinomio: 1 = 0, 2 =
2
2
28
L. Hctor Jurez V.
(AT A).
(2.4)
Ax
2
2
= (Ax) (Ax) = x A Ax =
i ui
i=1
n
i=1
2
A A
j uj =
j=1
i uTi
i=1
j j uj
j=1
i2 i m
ax i
=
Tomando x
se obtiene
n
T
i2 .
i=1
= 1, se encuentra que x
Ax
2
2
2
2
= xT x =
n
2
i=1 i
= 1, y de la expresin anterior
2
2
Concluimos que A
(AT A).
2
2
Anlisis Numrico
29
1 2 1
A = 0 0 0 .
1 1 2
Solucin. Primero calculamos
2 1 1
AT A = 1 5 4 .
1 4 5
El polinomio caracterstio de AT A es
det AT A I = (6 )()(6 ) + 3(3) = ( 3)( 9),
cuyas raices son 1 = 0, 2 = 3, 3 = 9. Por lo tanto A
(AT A) =
9 = 3.
(AT A) =
(A2 ) =
[(A)]2 = (A).
2 1 0
A = 1 1 1 ,
0 1 2
su polinomio caracterstico es p() = det [A I] = (2 )( 3). Por lo tanto
(A) = 3.
2.1.6.
Dadas dos matrices A y B Rnn y una norma inducida , se satisfacen las siguientes
propiedades:
1. Ax A
x ,
x Rn .
30
L. Hctor Jurez V.
2. (A) A .
3. AB A
B .
|aij |
=
i=1 j=1
1 2 1
A= 0 0 0
1 1 2
2.2.
Condicionamiento y estabilidad
En esta seccin discutiremos brevemente dos temas fundamentales del anlisis numrico:
el condicionamiento y la estabilidad.
Cuando usamos los calculadores numricos para resolver problemas debemos distinguir
dos aspectos: el problema mismo y el algorimto numrico para resolverlo. Al utilizar una
computadora, los datos que se introducen sufren perturbaciones debido a la conversn del
sistema decimal al binario y al redondeo. Por esta razn es importante el
Condicionamiento: Se refiere al comportamiento bajo perturbacines de un problema expresado matemticamente.
Anlisis Numrico
31
Adems, al realizar las operaciones dictadas por el algoritmo para resolver el problema,
se introducen tambin errores de redondeo. Algunos algoritmos amortiguan dichos errores,
pero otros los amplifican. Por esta razn es importante la
Estabilidad: Se refiere al comportamiento bajo perturbaciones de un algoritmo utilizado
para resolver un problema en una computadora.
2.2.1.
Condicionamiento de un problema
2.2.2.
Ejemplo 2.6. El producto de una matrix por un vector se puede expresar mediante la funcin
f : Rn Rn ,
f (x) = Ax
x Rn ,
A Rnn .
32
L. Hctor Jurez V.
= sup
x
f
f (x + x) f (x)
A(x + x) Ax
= sup
= sup
x
x
x
x
x
Ax
= A
x
en donde es la norma matricial inducida por la norma vectorial. Obsrvese que en este
caso el nmero de condicin absoluto no depende de x. En otros problemas si depender de
la instancia x.
En el caso de que la funcin f (asociada al problema matemtico) sea una funcin
diferenciable, entonces dada la perturbacin x en el dato x, se tiene
f (x + x) = f (x) + f (x)x + O[ x 2 ],
Si denotamos la derivada f (x) por J(x) (el Jacobiano en caso que f sea una funcin de
varias variables), entonces
f = f (x + x) f (x) = J(x)(x) + O[ x 2 ] .
Por lo tanto, suponiendo que x
K = sup
x
1, entonces
J(x)x
f
sup
= J(x) .
x
x
x
Es decir, para un problema representado por una funcin diferenciable f con Jacobiano J,
su nmero de condicin absoluto en x es aproximadamente igual a la norma del Jacobiano
en x, con un error de orden O( x ).
Ejemplo 2.7. Consideremos el problema de la sustraccin de dos nmeros: f : R2 R,
f (x1 , x2 ) = x1 x2 , con x = (x1 , x2 )T . Dado que
J=
f
x1
f
= [1
x2
1].
Anlisis Numrico
2.2.3.
33
f / x
f (x) / x
= sup
x
f / f (x)
x / x
(2.6)
Tanto el nmero de condicin absoluto como el nmero de condicin relativo tiene sus
usos, pero este ltimo es ms importante en el anlisis numrico. Esto es debido a que la
aritmrica de punto flotante utilizada en las computadoras introduce errores relativos. Por
esta razn al nmero de condicin relativo para un problema f se le conoce simplemente
como nmero de condicin a secas. Entonces, decimos que un problema es bin condicionado
si K (su nmero de condicin) es pequeo, por ejemplo 1, 10, 102 . Decimos que el problema
es mal condicionado si K es grande, por ejemplo 106 , 1016 , etc.
x,
x para x > 0.
1
J = f (x) =
2 x
( 21 x )x
J x
1
K=
=
=
f (x)
2
x
Por lo tanto, el problema del clculo de la raz cuadrada es bin condicionado.
J(x) x
|f (x)|
2 max{|x1 |, |x2 |}
|x1 x2 |
34
L. Hctor Jurez V.
y, en consecuencia, el problema de la sustraccin de dos nmeros es mal condicionado cuando ambos nmeros son muy cercanos, lo cual coincide con nuestra intuicin sobre el error
de cancelacin.
Ejemplo 2.10. La determinacin de las raices de un polinomio, dados los coeficientes del
polinomio, es un ejemplo clsico de un problema mal condicionado. Por ejemplo, el polinomio
y 2 2y+1 = (y1)2 tiene una raz doble y = 1. Una pequea perturbacin en los coefecientes
puede ocasionar un cambio drstico en las raices. Si consideramos la perturbacin del ltimo
f = (1 , 1 + )T (1, 1)T = ( , )T .
Utilizando la norma- tanto en X = R3 como en Y = C2 obtenemos
f / x
2
/
K = sup
= sup = .
= sup
f
(x)
/
x
1/2
>0
x
Por lo tanto, no es recomendable construir un algorimto numrico a partir de los coeficientes
del polinomio para el clculo de sus raices.
Ejemplo 2.11. El problema del clculo de los valores propios de una matriz no simtrica es frecuentemente mal condicionado. Un ejemplo sencillo para darse cuenta de esto es
considerar la matriz
1 1000
A=
0
1
cuyos valores propios son 1 = 1, 2 = 1. Si perturbamos uno de los coeficientes fuera de la
diagonal por 0.001, por ejemplo el coeficiente 0, obtenemos la matriz
A =
1
1000
0.001
1
cuyos valores propios son ahora 1 = 0, 2 = 2, obteniendo un cambio drstico en los valores
propios. De hecho, esto mismo sucede con la matriz
1 10n
0 1
Anlisis Numrico
35
Ax .
Por lo tanto
K A1
K= A
A1 .
A1 .
A1 Ax
J(b) b
=
.
A1 b
x
Dado que hay una correspondencia 11 entre x y b (pues A es invertible), podemos calcular
el peor nmero de condicin
K = sup Kb = sup A1
bRn
b=0
bRn
b=0
Ax
Ax
= A1 sup
= A1
n
x
x
xR
A ,
x=0
A .
36
L. Hctor Jurez V.
Hn =
1
2
1
2
1
3
...
...
..
.
1
n
1
n+1
1
i
1
i+1
..
.
...
..
.
1
n+i1
1
n
1
n+1
...
1
2n1
..
.
..
.
..
.
..
.
..
.
K(Hn )
10
20
40
1,6 1013
2,45 1028
7,65 1058
para diferentes
Estos nmeros de condicin crecen muy rpidamente con n. Un sistema H20 x = b no puede
resolverse en forma apropiada en doble precisin ya que K(H20 ) 1028 . La matriz de Hilbert
es un prototipo de una matriz mal condicionada y (ver Gautschi)
K(Hn ) = Hn
Hn1 2
( 2 + 1)4n+4
215/4 n
cuando
n .
Vn =
1 t1 t21
1 t2 t22
.. .. .. . .
.
. . .
1 tn t2n
tn1
1
tn1
2
..
.
tn1
n
Rnn ,
con t1 , t2 , . . . , tn R.
Anlisis Numrico
37
Vn1
1 /4 n( + 1 ln 2)
e
e 4 2
cuando
n .
K(Vn )
10
20
40
80
1,36 104
1,05 109
6,93 1018
3,15 1038
En aritmtica IEEE de doble precisin slo es posible calcular estos nmeros de condicin
para n = 10, 20 y 40.
2.2.4.
Sera deseable que los algoritmos numricos proporcionaran soluciones exactas a los problemas numricos. Sin embargo, debido a que las computadoras solo pueden representar un
sistema numrico discreto, esto no es posible en general. Como ya hemos visto anteriormente, el error de redondeo jugar un papel importante en este caso. La nocin de estabilidad
es la forma comn de caracterizar lo que es posible, es decir, de obtener la respuesta correcta
aunque no sea la respuesta exacta.
Algoritmos. Un algoritmo puede verse como un mapeo f : X Y el cual esta asociado a
un problema matemtico f : X Y . Para precisar la definicin de algoritmo consideremos:
1. Un problema f : X Y
2. Una computadora cuyo sistema de punto flotante satisface el axioma fundamental de
la aritmtica de punto flotante (1.7).
3. Un algoritmo f , para el poblema f , y su implementacin en computadora (programa).
Dado el dato x X, este dato es redondeado en la computadora para obtener en numero
de punto flotante x = x(1 + ) con
maq , y este ltimo nmero despus proporcionado
como entrada al programa. Al correr el programa el resultado es una coleccin de nmeros
de punto flotante que pertenece a Y . Llamemos al resultado f (x), el cual generalmente es
38
L. Hctor Jurez V.
Entrada
Redondeo
x
x
Programa (conjunto de
f (x)
operaciones)
Mnimamente, el resultado f (x) es afectado por errores de redondeo, pero tambin, y dependiendo de las circunstacias, puede ser alterado por otras complicaciones como, por ejemplo,
otros programas corriendo al mismo tiempo tambin por tolerancias de convergencia. As
que f (x) puede tomar valores diferentes en corridas diferentes, es decir f puede ser un mapeo
multivariado.
Precisin. f no ser un mapeo continuo salvo en casos excepcionales. Lo central es que el
algoritmo aproxime en forma adecuada el problema f . Para cuantificar la precisin da la
aproximacin podemos considerar el
error absoluto :
f (x) f (x)
error relativo :
f (x) f (x)
,
f (x)
el
en alguna norma . Nosotros consideramos el error relativo ya que, como hemos dicho
anteriormnte, en el anlisis numrico se prefieren cantidades relativas para cuantificar errores.
Entonces podriamos decir que f es un buen algoritmo para el problema f si el error relativo
es de orden del epsilon de mquina, es decir, si
f (x) f (x)
= O(
f (x)
maq ).
maq )
xx
= O(
x
maq ).
(2.8)
Anlisis Numrico
39
2.2.5.
Retroestabilidad (Backward-Stability)
(exacto)
(perturbado)
Dato
x
x
donde x
= x(1 + ) con | |
redondeo + algoritmo
solucin analtica
Resultado
f(x)
f (
x)
maq .
1)
= x1 (1 +
= x1 (1 +
4)
x2 (1 +
2 ))(1
1 3)
x2 (1 +
3)
3)
x2 (1 +
5)
=x
1 x
2
= f (
x1 , x
2 ) ,
donde | 4 |, | 5 | 2
maq
+ O(
2
maq ).
Adems x1 , x2 satisfacen
|
x1 x1 |
= O(
|x1 |
maq ),
|
x2 x2 |
= O(
|x2 |
maq ).
2 3)
40
L. Hctor Jurez V.
2.2.6.
Supngase que tenemos un algoritmo retroestable f para un problema f . Nos preguntamos si el resultado proporcionado por este algoritmo tiene buena precisin. La respuesta
se encuentra en el condicionamiento del problema: si el nmero de condicin K(x) de f es
pequeo, los resultados sern precisos en sentido relativo, pero si K(x) es grande el error
crecer proporcionalmente.
Anlisis: El error relativo se define por
f(x) f (x)
.
f (x)
Como se supone que el algoritmo es retroestable, entonces
x
x
f(x) = f (
x) para algn x
tal que
= O(
x
maq ),
f(x) f (x)
K(x)O(
f (x)
maq ) ,
maq ).
(2.10)
maq .
Anlisis Numrico
41
condicin del problema; en el segundo paso se investiga la estabilidad del algoritmo. Podemos
entonces concluir que si el algortimo es estable, entonces la precisin final refleja el nmero
de condicin. Es decir, el mejor algoritmo para la mayora de los problemas no produce
mejores resultados que calcular la solucin exacta para datos ligeramente perturbados.
2.3.
Ejercicios
1. Verificar que
son normas en Rn .
= x
Sugerencia: Sea
|xk | = max |xi | = x
1in
entonces
(n|xk |p )1/p x
(|xk |p )1/p .
si
A=
1 2
0 2
= sup
x
=1
Ax
|aij |.
= max
1in
j=1
Es decir, la norma infinito de A es la mxima suma por rengln (en valor absoluto).
7. Dadas dos matrices A, B Rn y la norma matricial inducida , probar las siguientes
propiedades:
a) Ax A
b) (A) A .
x ,
x Rn .
42
L. Hctor Jurez V.
c) AB A
B .
A=
2 2
1 3
2 1
1 3
B=
2 1 0
C = 1 2 1
0 1 2
4
2
6
D= 3
0
7
2 1 3
x1
x2
= x1 + x2 ,
y el algoritmo
f : R2 R,
x1
x2
= f l(x1 ) f l(x2 ),
Anlisis Numrico
43
44
L. Hctor Jurez V.
Captulo 3
3.1.
Eliminacin de Gauss
46
L. Hctor Jurez V.
1. Multiplicacin de una ecuacin por una constante no cero.
2. Sustraccin del mltiplo de una ecuacin de otra ecuacin.
3. Intercambio de ecuaciones.
= b1
= b2
..
.
bi
..
.
(1)
i = 2, 3, . . . , n
A mi1 se le denomina multiplicador asociado a la isima ecuacin en el primer paso de eliminacin. Despus de realizar esta operacin la isima ecuacin tendr nuevos coeficientes
(2)
(2)
aij y bi cuyos valores son:
(2)
ai1 = 0,
(2)
(1)
(1)
(2)
bi
(1)
(1)
= bi mi1 b1 .
Haciendo lo anterior para cada rengln i = 2, . . . , n, obtenemos el nuevo sistema A(2) x = b(2) :
(1)
(1)
(1)
(1)
(2)
(2)
(2)
(2)
(2)
(2)
a22 x2 + + a2n xn = b2
..
..
..
.
.
.
an2 x2 + + ann xn = bn
Anlisis Numrico
47
Podemos almacenar tambin los multiplicadores mi1 en donde teniamos los coeficientes ai1 ,
y recordando que todos los elementos debajo de la diagonal de la primera columna de A(2)
son realmente cero. Ms adelante veremos porqu es til almacenar los multiplicadores.
2o paso de eliminacin. En este paso el objetivo es eliminar la incgnita x2 de la tercera
(2)
ecuacin hasta la ltima ecuacin. Si a22 = 0, primero se calculan los multiplicadores
(2)
(2)
(3)
ai2 = 0
(3)
i = 3, . . . , n .
(2)
(2)
(3)
bi
(2)
(2)
= bi mi2 b2 .
Haciendo lo anterior para cada rengln i = 3, . . . , n, obtenemos el nuevo sistema A(3) x = b(3)
que es:
(1)
(1)
(1)
(1)
(1)
a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1
(2)
(2)
(2)
(2)
(3)
(3)
(3)
(3)
(3)
(3)
a33 x3 + + a3n xn = b3
..
..
..
.
.
.
an3 x3 + + ann xn = bn
(1)
(1)
(1)
= b1
(2)
(2)
(2)
= b2
(3)
(3)
= b3
..
.
(1)
(2)
(3)
(n)
ann xn = bn
que denotaremos por A(n) x = b(n) . El proceso anterior se termina sin problemas siempre
(1)
(n)
y cuando ninguno de los coeficientes a11 , a222 , . . . , ann , denominados pivotes, sea cero.
Cuando se realiza computacionalmente este procedimiento la matriz A se reescribe en for(k)
ma sucesiva, en cada paso de eliminacin, almacenando los nuevos coeficientes aij y los
correspondientes multiplicadores mik en los lugares asociados a las variables eliminadas. Lo
mismo ocurre con el vectro b. Al trmino del proceso de eliminacin obtenemos un sistema
48
L. Hctor Jurez V.
xn = bn /ann
n
xi = (bi
aij xj )/aii ,
i = n 1, n 2, . . . , 1
j=i+1
en donde hemos suprimido los superndices para simplificar la notacin. Entonces, supo(i)
niendo que en el proceso de eliminacin ninguno de los pivotes aii es cero, el algoritmo de
eliminacin de Gauss para resolver el sistema A x = b puede escribirse de la siguiente manera:
Anlisis Numrico
49
4
A=
8
vector b
1
3
7
7
1
3
9
9
0
1
5
8
b=
1
8
30
41
A(1) x = b(1) :
2
4
8
6
1
3
7
7
1
3
9
9
0
1
5
8
1
8
30
41
A(2) x = b(2) :
2 1
1
3
4
1
1
5
6
0
1
5
8
1
6
26
38
50
L. Hctor Jurez V.
2o paso de eliminacin
Pivote: a22 = 1.
Multiplicadores para el tercero y cuarto renglones:
m32 = a32 /a22 = 3/1 = 3
m42 = a42 /a22 = 4/1 = 4
Entonces
restamos del tercer rengln el segundo multiplicado por m32 = 3,
restamos del cuarto rengln el segundo multiplicado por m42 = 4,
y se obtiene:
A(3) x = b(3) :
2 1 1 0
1 1 1
2 2
2 4
1
6
8
14
A(4) x = b(4) :
2 1 1 0
1 1 1
2 2
2
1
2x1 + x2 + x3
6
x2 + x3 + x4
8
2x3 + 2x4
6
2x4
=
=
=
=
1
6
8
6
Anlisis Numrico
3.2.
51
Factorizacin LU
2 1 1 0
1
4 3 3 1
8
,
A=
b=
,
8 7 9 5
30
6 7 9 8
41
el primer paso de eliminacin se puede expresar multiplicando el sistema por una matriz
triangular inferior. Esta matriz triangular inferior contiene unos en la diagonal y los multiplicadores con signo contrario en sus posiciones correspondientes. El resultado se muestra a
continuacin
1 0 0 0
2 1 1 0
1
2 1 0 0
0 1 1 1
6
,
L1 =
L1 b =
= L1 A = 0 3 5 5 ,
4 0 1 0
26
3 0 0 1
0 4 6 8
38
obteniendo la misma matriz y lado derecho que previamente obtuvimos al final del primer paso de eliminacin. En forma anloga, el segundo paso de eliminacin equivale a premultiplicar
el sistema anterior por la matriz triangular inferior (con los multiplicadores correspondientes
con signo contrario)
1 0
0 1
L2 =
0 3
0 4
0
0
1
0
0
0
0
1
L2 L1 A =
2
0
0
0
1
1
0
0
1
1
2
2
0
1
2
4
L2 L1 b =
1
6
8
14
52
L. Hctor Jurez V.
1 0 0
0 1 0
L3 =
0 0 1
0 0 1
obteniendo
L3 L2 L1 A =
2
0
0
0
1
1
0
0
1
1
2
0
0
1
2
2
L3 L2 L1 b =
1
6
8
6
1 0 0 0
1 0 0 0
2 1 0 0
2 1 0 0
1
L1 =
= 4 0 1 0 .
4
0
1
0
3 0 0 1
3 0 0 1
Anlogamente las inversas de L2 y L3 se obtienen simplemente cambiando el signo de sus
coeficientes debajo de la diagonal, y su producto es:
1 0 0 0
2 1 0 0
1 1 1
L = L1 L2 L3 =
4 3 1 0
3 4 1 1
La cual es una matriz triangular inferior con unos en la diagonal, y con los multiplicadores
debajo de la diagonal. A esta matriz L se le conoce como la matriz de multiplicadores.
Podemos generalizar el resultado anterior:
(i)
Anlisis Numrico
53
triangular inferior con unos en la diagonal y con los multiplicadores debajo de la diagonal.
La matriz U es la matriz triangular superior que se obtiene al final del proceso de eliminacin
(U = A(n) ) y contiene los pivotes en la diagonal. Es decir,
(1) (1)
(1)
a11 a12 . . . a1n
a11 . . . a1n
1
(2)
(2)
a21 . . . a2n l21 1
a22 . . . a2n
.. = ..
..
..
..
..
.
.
.
.
. .
.
.
(n)
an1 . . . ann
ln1 . . . ln(n1) 1
ann
donde lij = mij para i > 1 son los multiplicadores que se obtienen en el proceso de eliminacin de Gauss.
(i)
yi = bi
lij yj ,
i = 2, . . . , n.
j=1
2. Una vez obtenido y del paso anterior, se resuelve el sistema triangular superior U x = y
utilizando sustitucin hacia atrs regresiva:
xn = yn /ann ,
n
xi = (yi
uij xj )/uii ,
j=i+1
i = n 1, . . . , 1,
54
L. Hctor Jurez V.
(i)
L=
1
2
4
3
0
1
3
4
0
0
1
1
0
0
0
1
U =
2
0
0
0
1
1
0
0
y1
y2
y3
y4
1
1
2
0
0
1
2
2
b=
1
8
30
41
Entonces, Ly = b es
1
2
4
3
0
1
3
4
0
0
1
1
0
0
0
1
1
8
30
41
=1
= 8 2y1 = 8 2 = 6
= 30 4y1 3y2 = 30 4 18 = 8
= 41 3y1 4y2 y3 = 41 3 24 8 = 6
Luego U x = y es
2
0
0
0
1
1
0
0
1
1
2
0
0
1
2
2
x1
x2
x3
x4
1
6
8
6
= 6/2 = 3
= (8 2x4 )/2 = (8 6)/2 = 1
= (6 x3 x4 )/1 = (6 3 1)/1 = 2
= (1 x2 x3 0x4 )/2 = (1 2 1)/2 = 1
Anlisis Numrico
3.3.
55
0 1
1 1
1 5
p() = det(A I) = (1 ) 1 = 1 1,2 =
2
|max |
3 5
1+ 5
=
A simtrica K(A) = cond(A) =
=
2,618.
|mn |
2
1 5
2
Sin embargo, el mtodo de eliminacin de Gauss falla en el primer paso debido a que el
primer pivote es cero.
1020 1
1
1
1
0
20
10
1
U=
1020
1
0
1 1020
Sin embargo, en aritmtica de punto flotante IEEE de doble precisin con maq = 2,224
1016 , el nmero 1 1020 no se puede representar en forma exacta y ste es redondeado al
56
L. Hctor Jurez V.
nmero de punto flotante ms cercano, que es 1020 . Luego, las matrices de punto flotante
son
20
1
0
1
=
= 10
L
,
U
20
10
1
0
1020
Estas matrices son cercanas, en sentido relativo, a las matrices exactas L y U , es decir
1020 1
1
1
1020 1
1
0
U
=
L
x1
x2
1
0
U
x = b es
y la solucin exacta es x = (1, 1)T . Por otro lado, el sistema L
1020 1
1
0
x1
x2
1
0
x = y :
U
1
0
20
10
1
1020
1
0
1020
y1
y2
x1
x2
1
0
=
y = (1, 1020 )T
1
1020
x
= (0, 1)T ,
f (A) = LU
Anlisis Numrico
57
A A
1020
=
O(
A
2
maq )
= f(A) ,
pero f (A)
1
0
20
10
1
1020
1
0
1 1020
y f(A) representa la factorizacin aproximada (de punto flotante) de la matriz exacta, dentro
de la computadora, es decir
U
=
f(A) = L
1
0
20
10
1
1020
1
1
1020
= 2 mientras que
= 1020 + 1 y
= 1020 1,
lo cual muestra que, efectivamente, las normas de los factores L y U son desproporcional
mente mayores que la de la matriz dada. A.
3.4.
Tcnicas de pivoteo
Si bin no podemos eliminar la inestabilidad completamente, si podemos controlarla permutando el orden de los renglones y columnas de la matriz del sistema de ecuaciones. A esta
tcnica se le conoce como pivoteo y ha sido usada desde la aparicin de las computadoras
(alrededor de 1950). El propsito del pivoteo es asegurar que los factores L y U no sean tan
grandes comparados con la matriz A. Siempre que las cantidades que aparecen en la eliminacin sean manejables, los errores de redondeo se mantendrn controlados y el algoritmo
ser estable regresivo.
3.4.1.
Pivoteo completo
58
L. Hctor Jurez V.
A(k : n, k : n)
ak,k
ak,k+1 . . . ak,n
ak+1,k ak+1,k+1 . . . ak+1,n
..
..
..
..
.
.
.
.
an,k
an,k+1 . . . an,n
en donde hemos utilizado la notacin que utiliza el ambiente MATLAB para denotar rangos
de ndices, es decir k : n en A(k : n, k : n) denota los subndices k, k + 1, . . . , n. En esta
submatriz el pivote no necesariamente es ak,k , como lo hemos considerado hasta ahora. Con
el objeto de controlar el crecimiento de los coeficientes en las matrices de factorizacin L y
U es conveniente escoger como pivote a aquel coeficiente que tiene valor absoluto mximo:
|a| = max |aij | = |alm | .
ki,jn
3.4.2.
Pivoteo parcial
En la prctica, es posible encontrar pivotes tan tiles como los encontrados con pivoteo
completo pero realizando un nmero mucho menor de operaciones de busqueda. El mtodo
ms comn se denomina pivoteo parcial. En esta estrategia se intercambia solamente dos
renglones en cada paso de eliminacin. As, en el ksimo paso de eliminacin se escoge
como pivote el coeficiente en la primera columna de la submatriz con mayor valor absoluto:
|a| = max |aik | = |alk |.
kin
Anlisis Numrico
59
0 1 0 0
1 0 0 0
P =
0 0 0 1
0 0 1 0
tiene un slo 1 en cada rengln y columna, y en todas las demas entradas tiene ceros.
Cualquier matriz de permutacin es el producto de matrices de permutacin elemental. Una
matriz de permutacin elemental se obtiene de la matriz identidad permutando dos de sus
renglones (o dos de sus columnas) solamente. Por ejemplo, las matrices
0 1 0 0
1 0 0 0
1 0 0 0
0 1 0 0
P12 =
y
P34 =
0 0 1 0
0 0 0 1
0 0 0 1
0 0 1 0
son matrices de permutacin elementales que se obtienen de la matriz identidad en R44
permutando los renglones ( columnas) 1 y 2, y permutando los renglones ( columnas) 3 y
4 respectivamente. La matriz de permutacin P dada un poco ms arriba se puede expresar
como el producto de estas dos matrices, pues
P = P12 P34 = P34 P12 .
Dada cualquier matriz A R44 , el producto P12 A intercambia los renglones 1 y 2 de
la matriz A, y el producto AP12 intercambia las columnas 1 y 2 de la matriz A:
60
L. Hctor Jurez V.
P12 A =
AP12
3.4.3.
0
1
0
0
a11
a21
a31
a41
1
0
0
0
0
0
1
0
a12
a22
a32
a42
0
0
0
1
a13
a23
a33
a43
a11
a21
a31
a41
a14
a24
a34
a44
a12
a22
a32
a42
a13
a23
a33
a43
1
0
0
0
0
0
1
0
a14
a24
a34
a44
0
0
0
1
a21
a11
a31
a41
a22
a12
a32
a42
a23
a13
a33
a43
a24
a14
a34
a44
a12
a22
a32
a42
a11
a21
a31
a41
a13
a23
a33
a43
a14
a24
a34
a44
2 1 1 0
4 3 3 1
A=
8 7 9 5
6 7 9 8
Solucin.
1er paso de eliminacin:
renglones 1 y 3
0
P1 A =
1
0
1
0
0
1
0 0
1/2 1 0
L1 P1 A =
1/4 0 1
3/4 0 0
= 4/8 = 1/2,
0
8 7
0
4 3
0
2 1
1
6 7
= A(1)
0
0
0
1
2
4
8
6
1
3
7
7
1
3
9
9
0
1
5
8
8
4
2
6
3 1
= 0 1/2
1 0
0 3/4
9 8
0 7/4
7
3
1
7
9
3
1
9
5
1
0
8
9
5
3/2 3/2
= A(2)
5/4 5/4
9/4 17/4
Anlisis Numrico
61
1 0 0 0
8
0 0 0 1 0
P2 L1 P1 A =
0 0 1 0 0
0 1 0 0
0
7
9
5
1/2 3/2 3/2
3/4 5/4 5/4
7/4
9/4 17/4
L2 P2 L1 P1 A =
1 0 0
0 1 0
0 3/7 1
0 2/7 0
0
0
0
1
8
0
0
0
8
7
9
5
0 7/4
9/4 17/4
0 3/4 5/4 5/4
0 1/2 3/2 3/2
3
1/2
2
= , m42 =
= . As que
7
7/4
7
7
9
5
8 7
9
5
7/4
9/4 17/4 0 7/4 9/4 17/4
=
3/4 5/4 5/4
0 0 2/7 4/7
1/2 3/2 3/2
0 0 6/7 2/7
3/4
7/4
= A(3)
3er paso de eliminacin: El pivote (para el subsistema
cambiamos los renglones 3 y 4
1 0 0 0
8 7
9
5
P3 L2 P2 L1 P1 A =
0 0 0 1 0 0 2/7 4/7
0 0 1 0
0 0 6/7 2/7
1
2/7
= . Finalmente
6/7
3
0
0
0
8 7
9
5
1
0
0
0 7/4 9/4 17/4
0
1
0
0 0 6/7 2/7
0 1/3 1
0 0 2/7 4/7
8 7
9
5
0 7/4 9/4 17/4
0 0 6/7 2/7
0 0 2/7 4/7
El multiplicador es m43 =
L3 P3 L2 P2 L1 P1 A =
1
0
0
0
8 7
9
5
0 7/4 9/4 17/4
0 0 6/7 2/7
0 0
0
2/3
=U.
En el anterior ejemplo hemos encontrado entonces que
L3 P3 L2 P2 L1 P1 A = U.
Con un poco ms de trabajo podemos reescribir esta ltima igualdad en forma ms adecuada.
Para ello, definimos
L3 = L3 ,
L2 = P3 L2 P31 ,
L1 = P3 P2 L1 P21 P31 .
62
L. Hctor Jurez V.
Se puede verificar directamente que estas ltimas matrices son triangulares inferiores y que
L3 L2 L1 P3 P2 P1 = L3 P3 L2 P2 L1 P1 . Por lo tanto
L3 L2 L1 P3 P2 P1 A = U .
Entonces, podemos escribir
P A = LU
Un clculo directo muestra que
0 0 1
0 0 0
P =
0 1 0
1 0 0
con P = P3 P2 P1 ,
0
1
0
0
L=
L = (L3 L2 L1 )1 .
1
0
0
3/4
1
0
1/2 2/7 1
1/4 3/7 1/3
0
0
0
1
Anlisis Numrico
3.5.
63
i = 1, 2, . . . , n.
Resolviendo este conjunto de sistema de ecuaciones lineales, encontramos los vectores columna xi de la matriz inversa A1 . Como los n sistemas de ecuaciones lineales tienen la
misma matriz, se puede aplicar eliminacin con pivoteo con lado derecho e1 , e2 , . . . , en en
forma simultanea.
[A|I]
[U |J]
3.6.
El mtodo de eliminacin de Gauss con pivoteo parcial es inestable para ciertas matrices
(un nmero pequeo en realidad), pero estable en la prctica (es decir, en la gran mayora de
los problemas que aparecen en la aplicaciones). El anlisis de estabilidad de la eliminacin de
Gauss con pivoteo parcial es complicado y ha sido uno de los temas ms difciles del anlisis
numrico desde 1950. La inestabilidad del mtodo de eliminacin de Gauss, con o sin pivoteo,
puede aparecer si uno de los factores L y U es grande comparado con la matriz A. As que
el propsito del pivoteo, desde el punto de vista de la estabilidad, es asegurar que L y U no
64
L. Hctor Jurez V.
sean muy grandes. De tal manera que cuando las cantidades intermedias en el proceso de
eliminacin sean de tamao manejable, los errores de redondeo sern pequeos, y el mtodo
ser estable regresivo. Estas ideas se precisan en el siguiente teorema que se establece para
la eliminacin de Gauss sin pivoteo, pero tambin puede aplicarse al caso con pivoteo si A
representa la matriz original con renglones y columnas permutadas adecuadamente.
Teorema 3.5. Si A Rnn tiene una factorizacin LU y esta se realiza utilizando eliminacin de Gauss sin pivoteo en una computadora que satisface el axioma fundamental de la
U
satisfacen
aritmtica de punto flotante, entonces las matrices L,
U
= A + A
L
con
A
= O(
L U
maq )
para alguna
A Rnn .
maq ).
max |uij |
max |aij |
Anlisis Numrico
65
Teorema 3.6. Supongase que la factorizacin P A = LU se lleva a cabo por medio de eliminacin de Gauss con pivoteo parcial en una computadora que satisface el axioma fundamental
yU
satisfacen
de la aritmtica de punto flotante. Entonces las matrices calculadas P , L
U
= P A + A
L
A
= O(
A
con
maq )
A=
1
0
0
0
1 1
0
0
1 1 1
0
1 1 1 1
1 1 1 1
1 0
0 1
U =
0 0
0 0
0 0
1
1
1
1
1
se tiene
0
0
1
0
0
0 1
0 2
0 4
1 8
0 16
Al hacer los clculos detallados el lector puede convencerse que no se hace intercambio
de renglones an y cuando se aplique pivoteo parcial. En esta matriz 5 5, el factor de
m
ax |uij |
4
crecimiento es = max |aij
| = 16/1 = 2 . Por otro lado, para la matriz anloga de orden
n n el factor de crecimiento al hacer eliminacin de Gauss es = 2n1 . As que, de acuerdo
al teorema anterior, tendriamos
U
= P A + A con
L
A
= O(
A
maq )
= O(2n1
maq ).
Este resultado implica que habra una perdida de n 1 bits de precisin al hacer eliminacin de Gauss con pivoteo, lo cual es intolerable para clculos prcticos a medida que el
tamao n del sistema aumenta. En realidad este es un ejemplo extremo de corte puramente
acadmico y, afortunadamente, la gran mayora de las matrices que aparecen como resultado de problemas prcticos no exhiben este tipo de comportamiento. De hecho, en 50 aos
de computacin, no se ha visto que aparezcan, bajo circunstancias naturales, problemas
matriciales que exhiben una inestabilidad tan dramtica.
66
L. Hctor Jurez V.
3.7.
3.7.1.
Una matriz A Rnn se dice que es definida positiva si xT Ax > 0 para todo x Rn con
x = 0. Si A es una matriz definida positiva, algunas de sus propiedades importantes son:
1. A es no singular.
2. Los valores propios de A son todos reales y positivos.
3. El determinante de la matriz A y de cada uno de sus n menores.
a11 a1k
.
..
..
A(1 : k, 1 : k)
.
,
ak1 akk
k = 1, . . . , n, es siempre mayor a cero.
4. Cualquier submatriz principal de A de la forma A(1 : k, 1 : k) de la forma
akk akn
.
..
.
A(k : n, k : n)
.
.
,
ank ann
k = 1, . . . , n, es definida positiva.
5. Cada uno de los pivotes obtenidos en el poceso de eliminacin de Gauss aplicado a la
matriz A es mayor a cero.
Se deja al lector verificar las propiedades 3 y 5. Aqu verificaremos el resto de las propiedades.
Anlisis Numrico
67
2
2
as que
=
xT Ax
> 0.
x 22
x1
.
..
x1
.
xk
> 0,
[x1 , . . . , xk ]A(1 : k, 1 : k) .. = [x1 , . . . , xk , 0, . . . , 0]A
xk
...
0
por ser A definida positiva. Por lo tanto la submatriz A(1 : k, 1 : k) es definida positiva. En
forma anloga se puede verificar que la submatriz A(k : n, k : n) es definida positiva si A lo
es.
3.7.2.
Factorizacin de Choleski
Sea A Rnn una matriz simtrica y definida positiva. Nuestro propsito es descomponer esta matriz en factores triangulares explotando las propiedades de la matriz. Con el
objeto de simplificar la exposicin primero realizaremos un paso de eliminacin para el caso
especial en el que a11 = 1, es decir cuando la matriz es de la forma
1 2 . . . n
A= .
.. A(2 : n, 2 : n)
n
donde 2 = a12 , 3 = a13 ,. . ., n = a1n y A(2 : n, 2 : n) es la submatriz principal inferior
de orden n 1. Al realizar el primer paso de eliminacin sin pivoteo en forma matricial
68
L. Hctor Jurez V.
obtenemos
A=
1
2
..
.
2 . . . n
=
A(2 : n, 2 : n)
1
2
..
.
n
0 ... 0
1 2 . . . n
1 . . . 0 0
= L1 A(1)
. . .. ..
. . .
M2
0 ... 1
0
2 2 . . .
2
.
...
.. 2 . . . n = 3. 2
..
.
.
.
n
n 2 . . .
n, 2 : n) T con T el
2 n
3 n
..
.
n n
Al trmino del primer paso de eliminacin se inducen ceros en la primera columna, pero
quisieramos mantener simetra. Observese que la matriz A(1) no es simtrica an y cuando
M2 lo es. Para obtener simetra, procedemos en forma anloga haciendo eliminacin derecha
en el primer rengln de A(1) (sustraccin de mltiplos de la primera columna de la restante
columna). Obtenemos
A=
1
2
..
.
n
0 ... 0
1 0
1 ... 0 0
. . .. ..
. . .
0 ... 1
0
...
M2
A(1)
s
L1
1 2 . . . n
0 1 ... 0
..
..
..
. .
.
0 0 ... 1
LT1
(1)
Observe que la matriz As ahora si es simtrica, dado que M2 los es. La idea de la factoriza(1)
cin de Choleski es continuar este proceso con la submatriz As y as sucesivamente hasta
obtener una matriz identidad en el ltimo paso de eliminacin simtrica.
Queremos extender el anterior proceso para el caso en que la matriz A definida positiva
sea tal que a11 > 0 en lugar de a11 = 1. La generalizacin se obtiene ajustando algunos
a11 2 . . . n
A= .
.
. A(2 : n, 2 : n)
n
Anlisis Numrico
69
entonces
A=
a11
2
a11
..
.
n
a11
0 ... 0
1 0
0
..
.
1 ... 0
. . ..
. .
0
0 ... 1
...
M2
a11
..
0
a11
1
0
A(1)
s
L1
...
..
.
a11
0
..
.
...
...
LT1
donde
M2 = A(2 : n, 2 : n)
T
.
a11
(1)
(1)
T
tambin es definida positiva, pues si x Rn , x = 0 , entonces y = (L1
1 ) x = 0 dado que
L1
1 es no singular y, por lo tanto
1 T
T
xT A(1) x = xT L1
1 A(L1 ) x = y Ay > 0
(1)
se obtiene
T T
A = L1 L2 A(2)
s L2 L1
donde
A(2)
s
1 0 ... 0
0 1 ... 0
,
.. ..
. .
K
0 0
con K matriz simtrica y definida positiva. Luego, el proceso puede continuarse en forma
sucesiva (pues todas las submatrices K son definidas positivas y simtricas) hasta obtener
A = L1 L2 . . . Ln I LTn LTn1 . . . LT1 .
L
LT
70
L. Hctor Jurez V.
3.7.3.
El algoritmo de Choleski
Cuando el algoritmo de Choleski se programa slo se necesita almacenar la parte triangular superior de A bin la parte triangular inferior. Esta simplificacin permite reducir
el nmero de operaciones a la mitad para lograr la factorizacin A = LLT . El algortimo se
puede construir realizando comparacin de los coeficientes:
Sean A = (aij )1i, jn con aij = aji , y L = (lij )1i, jn con lii = 0, i = 1, . . . , n y lij = 0
si j > i. Comparando los coeficientes en la ecuacin matricial A = LLT , se obtiene
aii = (i-simo rengln de L) (i-sima columna de LT ),
es decir
i
i1
aii =
k=1
k=1
Por lo tanto
1/2
i1
lii =
2
2
+ lii
.
lik
lik lik =
2
lik
aii
i = 1, . . . , n.
k=1
Anlogamente
min(i,j)
T
lik ljk .
k=1
j1
aij =
lik ljk =
k=1
entonces
lij =
aij
j1
k=1 lik ljk
ljj
i = j + 1, . . . , n.
l11 = a11
Para i = 2, . . . , n
li1 = ai1 /l11
Fn
Anlisis Numrico
71
Para j = 2, . . . , n 1
ljj = ajj
j1 2
k=1 ljk
1/2
Para i = j + 1, . . . , n
lij = aij
Fn
j1
k=1 lik ljk
/ljj
Fn
n1 2
k=1 lnk
lnn = ann
1/2
A=
4 2 0 4
2 10 3 2
.
0
3 2 3
4 2 3 29
Solucin. La matriz es simtrica, y puede verificarse (calculando sus valores propios) que
es definida positiva. Entonces, aplicando el algoritmo anterior obtenemos
l11 =
a11 =
4=2
.........................................................
l21 = a21 /l11 = 2/2 = 1
l31 = a31 /l11 = 0/2 = 0
l41 = a41 /l11 = 4/2 = 1
.........................................................
2 )1/2 = (10 (1)2 )1/2 = 3
l22 = (a22 l21
72
L. Hctor Jurez V.
4 2 0 4
2 10 3 2
=
0
3 2 3
4 2 3 29
A
3.7.4.
2
1
0
2
0
3
1
0
0
0
1
3
0
0
0
4
2 1 0 2
0 3 1 0
0 0 1 3
0 0 0 4
LT .
aii =
k=1
max |lik |
1.
max |aij |
3.8.
Ejercicios
1. Considerese la matriz
A=
2
4
8
6
1
3
7
7
1
9
9
9
0
1
5
8
Anlisis Numrico
73
(1)
(1)
(1)
(1)
(k)
max |uij |
= O(2n1 )
max |aij |
1
0
0 1
1
1 1
2
0 1
,
,
A=
n = 4,
1 1
3
1
1
1 1 1 1
4
utilizando eliminacin sin pivoteo y eliminacin con pivoteo parcial. Para que valor
de n los resultados son inservibles? Cul es el factor de crecimiento en cada caso?
5. Demuestra que si A Rnn es una matiz definida positiva, entonces
a) El determinante de la matriz A y de cada uno de sus n menores.
a11 a1k
.
..
..
A(1 : k, 1 : k)
.
,
ak1 akk
k = 1, . . . , n, es siempre mayor a cero.
74
L. Hctor Jurez V.
b) Cada uno de los pivotes obtenidos en el proceso de elminacin de Gauss aplicado
a la matriz A es mayor a cero.
6. Dada la matriz A = (aij )1i,jn simtrica y definida positiva verifica que
a) Si a11 = 1, al realizar eliminacin sin pivoteo A = L1 A(1) , donde
L1 =
1
2
..
.
n
0 ... 0
1 ... 0
. . ..
. .
0 ... 1
A(1)
1 2 . . . n
,
= .
M2
..
L1 =
a11
0 ... 0
2 / a11 1 . . . 0
..
. . ..
.
.
.
n / a11 0 . . . 1
A(1)
s
1 0
0
..
.
...
M2
A=
4
1
1
1
3 1
1 1 2
1
1
0
1
1
0
2
b=
8
1
6
6
b)
A=
6
2
1
1
2 1 1
4 1
0
,
1 4 1
0 1
3
b=
3
2
1
2
Anlisis Numrico
75
sen n+1
n = 100 y bi = n+1
, i = 1, . . . , n. Para que valor mximo de n se
pueden obtener resultados en tu computadora?
2 1
x1
b1
2 1
1
x2 b2
x3 b3
1
2 1
. = .
..
.
.
. .
1
2 1 xn1 bn1
1
2
xn
bn
76
L. Hctor Jurez V.
Captulo 4
4.1.
Ajuste de curvas
Existen muchos problemas en las aplicaciones que pueden abordarse utilizando el enfoque
de mnimos cuadrados. Una fuente comn que da origen a problemas de mnimos cuadrados
es el ajuste de curvas a un conjunto de datos dados: Sea x una variable independiente y sea
y(x) una funcin desconocida de x la cual queremos aproximar. Suponiendo que tenemos m
observaciones
(x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ) ,
donde yi = y(xi ), i = 1, 2, . . . , m, la idea es modelar y(x) por medio de una combinacin de
n funciones base 1 (x), 2 (x), . . . , n (x). Es decir, suponer que la funcin que se ajusta a
77
78
L. Hctor Jurez V.
i = 1, 2, . . . , m .
1 (x1 )
1 (x2 )
..
.
2 (x1 )
2 (x2 )
...
...
..
.
n (x1 )
n (x2 )
..
.
c1
c2
..
.
cn
y1
y2
..
.
m n.
ym
A la matriz de este sistema A = (aij ) con aij = j (xi ) se le denomina matriz de diseo.
Dado que m n, entonces el sistema tiene ms renglones (ecuaciones) que columnas (incgnitas). A este tipo de sistemas se les denomina sobredeterminados y generalmente no tienen
solucin. Las funciones base i (x), i = 1, . . . , n, pueden ser funciones no lineales de x, pero
los coeficientes y parmetros cj aparecen en el modelo en forma lineal cuando se trata de
un ajuste lineal.
Dependiendo del problema particular y el objeto de estudio, las funciones base i (x)
pueden escogerse de muchas maneras, e incluso pueden depender de ciertos parmetros.
Algunas elecciones comunes pueden ser, entre otras
Polinomios: i (x) = xi1 .
Funciones racionales: i (x) = xi1 /(0 + 1 x + + n1 xn1 ), con 0 , . . . , n1
parmetros dados.
Exponenciales: i (x) = ei x , con parmetros de decaimiento i .
Gaussianas: i (x) = e
x i
i
Anlisis Numrico
4.2.
79
4.2.1.
Polinomio de interpolacin
con m n.
1 x1 x21 . . . xm1
c1
y1
1
1 x2 x22 . . . xm1
c2 y2
2
..
..
..
. = .
.
.
. .. ..
1 xm x2m . . . xm1
m
cm
ym
=
det(A) =
i>j
por ser los xi , i = 1, . . . , m, distintos. Por lo tanto, los coeficientes c1 , c2 , . . . , cm , son nicos
si los puntos de interpolacin son todos distintos.
=
=
3.0,
0.0,
2.0,
0.0,
1.0,
0.0,
0.0,
1.0,
1.0,
1.0,
2.0,
1.0,
3.0,
0.0,
4.0,
0.0,
5.0,
0.0,
6.0,
0.0,
7.0
0.0
80
L. Hctor Jurez V.
1 3 (3)2 . . . (3)10
1 2 (2)2 . . . (2)10
..
..
..
.
.
.
2
1 7
(7)
. . . (7)10
Esta matriz es mal condicionada, con nmero de condicin cond(A) 109 , lo cual permite
anticipar que debemos utilizar pivoteo para resolver el sistema cuadrado de Vandermonde.
Utilizando el algoritmo de factorizacin LU con pivoteo encontramos la siguiente solucin
aproximada a seis cifras decimales para los coeficientes del polinomio
1.000000,
0.072535,
0.059524,
0.005704,
0.454683,
-0.005804,
0.761078,
0.000901,
-0.112004,
-0.000045
-0.208160
La Figura 4.1 muestra los datos junto con la grfica del polinomio de interpolacin calculado.
Obsrvese que el ajuste no es satisfactorio pues, aunque la curva y = p(x) pasa por los puntos
5
4
3
2
1
0
1
2
2
de interpolacin, cerca de los extremos muestra oscilaciones fuertes. Estas oscilaciones son
Anlisis Numrico
81
3.0,
2.5,
0.0,
0.5,
2.5,
3.0,
0.0,
0.0,
2.0,
3.5,
0.0,
0.0,
1.5,
4.0,
0.0,
0.0,
1.0,
4.5,
0.0,
0.0,
0.5,
5.0,
0.5,
0.0,
0.0,
5.5,
1.0,
0.0,
0.5,
6.0,
1.0,
0.0,
1.0,
6.5,
1.0,
0.0,
1.5,
7.0
1.0,
0.0
2.0,
1.0,
La Figura 4.2 muestra la grfica del polinomio de interpolacin obtenido con los 21 puntos.
Como puede observarse la solucin no es buena, pero ilustra lo que pasa si se aumenta el
500
500
1000
1500
4
nmero de puntos de interpolacin: las oscilaciones en los extremos son de mucho mayor
magnitud. Obsrvese que el nmero de condicin la matriz de Vandermonde en este caso
aumenta respecto de aquel en el caso anterior, pues ahora cond(A) 1018 . De hecho el
proceso de interpolacin puede ser mal condicionado (sensitivo a perturbaciones en los datos)
si se utilizan puntos igualmente espaciados como en los ejemplos anteriores. Para evitar este
problema se podran utilizar los puntos de interpolacin distribuidos en forma no uniforme.
Sin embargo, en las aplicaciones uno no puede escoger los puntos a modo.
82
4.2.2.
L. Hctor Jurez V.
Sin cambiar los datos podemos obtener mejores resultados reduciendo el orden del polinomio. Dados los puntos (x1 , y1 ), . . . , (xm , ym ), consideremos el polinomio
p(x) = c1 + c2 x + + cn xn1
con n < m .
Este polinomio ser un ajuste de mnimos cuadrados para los datos si minimiza la suma de
cuadrados
m
(p(xi ) yi )2 .
i=1
(c1 + c2 xi + + cn xin1 yi )2 .
mnn
cR
i=1
Esta suma de cuadrados es igual al cuadrado de la norma euclideana del residual, r 22 , para
el sistema rectangular de Vandermonde:
c1
y1
1 x1 x21 . . . x1n1
1 x2 x22 . . . x2n1 c2 y2
..
.. .. ..
..
, n < m ,
.
.
. . .
n1
cn
ym
1 xm x2m . . . xm
c
cRn
2
2
4.3.
Cmo se puede resolver el problema anterior? Ms an, cmo podemos resolver los
problemas de mnimos cuadrados en general?
A continuacin intentaremos dar respuesta a estas preguntas. Con el objeto de hacer
ms clara la exposicin cambiamos un poco la notacin: denotamos por x a la incgnita c,
y por b el lado derecho y, en el anterior problema. As pues, nuestro objetivo es encontrar
el punto Ax ms cercano al vector b, es decir el que minimiza la norma del residual
r = b Ax.
Anlisis Numrico
4.3.1.
83
La idea principal para generar algoritmos que resuelvan el anterior problema de minimizacin descansa en el concepto de proyeccin ortogonal. Si denotamos por Im(A) al
espacio imagen de A, y por
P : Rm Im(A)
la proyeccin ortogonal que mapea Rm sobre el espacio imagen de A, entonces el valor de x
que minimiza la norma de r = b Ax es aquel que satisface Ax = P b. Esta idea se ilustra en
la Figura 4.3. En otras palabras, el residual r = b Ax debe ser ortogonal al espacio imagen
b
r=bAx
y=Ax
O
Espacio imagen de A
| a2
| an
],
| a2
| an
= x1 a1 + x2 a2 + + xn an .
]x
84
L. Hctor Jurez V.
4.3.2.
y
y
y
y
slo
slo
slo
slo
si
si
si
si
aTi r = 0
AT r = 0
AT (b Ax) = 0
AT Ax = AT b
i = 1, . . . , n
Ax
2
2
= 0,
Ax = 0,
x=0
x=0
x=0
A es singular
A tiene rango deficiente.
Otro resultado importante es
Teorema 4.3. Si A es de rango completo, entonces AT A es una matriz simtrica y positiva
definida.
Demostracin. Como A es de rango completo, AT A es no singular, y adems claramente
simtrica. Ahora bien, dado x = 0 en Rn , entonces, como AT A es no singular, se satisface
xT AT Ax = Ax 22 > 0. Se concluye que AT A debe ser positiva definida.
De los dos resultados anteriores se deduce que si la matriz A es de rango completo,
entonces la solucin del sistema de ecuaciones normales (AT Ax = AT b) es nica e igual a
x = (AT A)1 AT b.
Anlisis Numrico
85
Adems esta solucin puede obtenerse por medio del algoritmo de factorizacin de Choleski
dado que AT A es simtrica y definida positiva.
Nota. Cuando A es de rango completo, dado que x = (AT A)1 AT b es nica, a la matriz
A+ (AT A)1 AT se le denomina la seudoinversa de A. Adems como x = A+ b, entonces
Ax = AA+ b y P = AA+ es la matriz de proyeccin, es decir AA+ b = P b es la proyeccin
de b sobre el espacio imagen de A.
4.3.3.
Si A es una matriz mn con m n, y A es de rango completo, entonces AT A es no singular, simtrica y definida positiva. Por tanto el sistema de ecuaciones normales AT Ax = AT b
puede resolverse utilizando el mtodo de Choleski:
Algoritmo. Dados A de m n de rango completo y b Rm
1. Calcular AT A y el vector AT b.
2. Calcular la factorizacin de Choleski AT A = LLT .
3. Resolver para z Rn el sistema triangular inferior Lz = AT b (sustitucin progresiva)
4. Resolver para x Rn el sistema triangular superior LT x = z (sustitucin regresiva)
Ejemplo 4.4. Considere de nuevo el problema de ajustar los once datos del problema 4.1,
pero ahora utilizando un polinomio de grado 6, p(x) = c1 + c2 x + + c6 x5 + c7 x6 .
Solucin. Debemos encontrar los coeficientes c = (c1 , c2 , . . . , c7 )T . En este caso la matriz
de diseo A es la matriz de Vandermonde de tamao m n = 11 7
1 3 (3)2 . . . (3)6
1 2 (2)2 . . . (2)6
..
..
..
.
.
.
(7)2
...
(7)6
b=y=
0 0 0 1 1 1 0 0 0 0 0
86
L. Hctor Jurez V.
Obsrvese que A es de rango completo, ninguna columna es combinacin lineal de las otras.
Entonces los coeficientes c = (c1 , c2 , . . . , c7 ) satisfacen la ecuacin
AT A c = AT b
donde AT A es simtrica definida positiva de orden 7 7. Obsrvese que el nmero de
condicin de la matriz es (AT A) 1010 . Utilizando el mtodo de factorizacin de Choleski
para resolver el sistema de ecuaciones normales, en aritmtica de doble precisin, obtenemos
la solucin
c1 = 0.822788975730632, c2 = 0.412287124639659, c3 = 0.173651218063367,
c4 = 0.043013848896040, c5 = 0.012531422825567, c6 = 0.000286576168915,
c7 = 0.000130718954247
La Figura 4.4 ilustra la grfica del polinomio de ajuste junto con los datos. El nuevo polinomio no interpola los datos, pero captura el comportamiento global de mejor manera que
los polinomios de interpolacin encontrados anteriormente.
1
0.5
0
3
Anlisis Numrico
87
1 1
A=
con
0<
1.
0
0
Las dos columnas son casi paralelas, pero linealmente independientes. Con aritmtica exacta
obtenemos
1+ 2
1
AT A =
1
1+ 2
Sin embargo, si
obtenemos
1 1
1 1
4.4.
4.4.1.
Factorizacin reducida
i = 1, 2, . . . , n
88
L. Hctor Jurez V.
con v1 = a1 ,
q1 =
j1
con vj = aj
2
(q1T aj )q1
(q2T aj )q2
...
T
(qj1
aj )qj1
(qiT aj )qi .
= aj
i=1
q2
=
..
.
qn
2,
entonces
a1
,
r11
a2 r12 q1
,
r22
an
n1
i=1 rin qi
rnn
Por lo tanto,
a1
a2
=
=
..
.
r11 q1 ,
r12 q1 + r22 q2 ,
an
[ a1
| a2
| an
matriz mn
[ q1
| q2
matriz mn
| qn
Anlisis Numrico
89
R
encontrada:
El siguiente algoritmo construye la factorizacin Q
Algoritmo de Gram-Schmidt clsico
Para j = 1, . . . , n
vj = aj
Para i = 1, . . . , j 1
rij = qiT aj
vj = vj rij qi
Fn
rjj = vj
qj = vj /rjj
Fn
Teorema 4.5. Si A Rmn con m n es de rango completo, existe una nica factorizacin
R
con rii > 0, i = 1, . . . , n. (Ver TrefethenBau)
reducida QR, A = Q
4.4.2.
Factorizacin completa
mxn
A=
00000000
11111111
000000000
111111111
11111111
00000000
000000000
111111111
000000000
111111111
00000000
11111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
000000000
111111111
00000000
11111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
FACTORIZACION COMPLETA
mxm
nxn
mxn
0000000000000 11111111
1111111111111
00000000
11111111
1111111111111
0000000000000
00000000
00000000
11111111
0000000000000
1111111111111
0000000000000
1111111111111
00000000
0000000000000 11111111
1111111111111
00000000
11111111
00000000
11111111
0000000000000 11111111
1111111111111
0000000000000
1111111111111
00000000
0000000000000
1111111111111
00000000
R
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
0000000000000
1111111111111
00000000
11111111
Q
0000000000000
1111111111111
00000000
11111111
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
90
L. Hctor Jurez V.
Q Q=
q1T
q2T
..
.
T
qm
[ q1 | q2 | | qm ] = I
debido a que qiT qj = ij . Por tanto Q1 = QT . A las matrices con esta propiedad se les
denomina matrices ortogonales.
Teorema 4.6. Cualquier matriz A Rmn (m n) tiene una factorizacin completa QR,
A = QR con Q Rmm matriz ortogonal y R Rmn matriz triangular superior (ver
TrefethenBau).
Habiendo obtenido una factorizacin completa QR de A Rmn , el problema sobredeterminado Ax = b con b Rm se puede expresar en la forma QRx = b, que a su vez es
equivalente al sistema triangular superior
Rx = QT b (pues Q1 = QT ) .
Este sistema en forma expandida es
0 r22 . . . r2n
.
..
..
.
.
.
.
0
0 . . . rnn
0 ... 0
0
.
..
..
.
.
.
.
0
0 ... 0
x1
x2
..
.
xn
f1
f2
..
.
= fn
fn+1
.
.
.
fm
con fi = (QT b)i , i = 1, . . . , m. Esta claro que este sistema se puede resolver utilizando
sustitucin regresiva, y que las ltimas m n componentes de f = QT b no intervienen en
la solucin. De hecho estas ltimas componentes de QT b estn relacionadas con el residual
r = b Ax, pues QT r = QT b Rx = (0, . . . , 0, fn+1 , . . . , fm )T y, en consecuencia, ||r||2 =
||z||2 , donde z = (fn+1 , . . . , fm )T .
Obsrvese que en el caso que A sea una matriz cuadrada (m = n) no singular este
algoritmo es til para resolver sistemas lineales Ax = b. Sin embargo no es el mtodo
estndar porque requiere el doble de operaciones que el mtodo de eliminacin de Gauss o
el mtodo de factorizacin LU .
Anlisis Numrico
91
4.5.
Proyecciones en Rn
1
1
P = 0
5
2
0 2
0 0
0 4
1 0 2
x1
1
1
1
v = P x = 0 0 0 x2 = (x1 + 2x3 ) 0 = c 0
5
5
x3
2 0 4
2
2
de P es el conjunto
c R.
Es decir, Im(P ) es la lnea recta determinada por el vector (1, 0, 2)T . El espacio nulo es el
conjunto de vectores x = (x1 , x2 , x3 )T que satisfacen x1 + 2x3 = 0 . Es decir, N ul(P ) es el
plano que pasa por el origen con vector normal (1, 0, 2)T . La Figura 4.5 ilustra geomtricamente el espacio imagen de P , el cual es una lnea recta en el plano x1 x3 de R3 . El
espacio nulo de P es el plano perpendicular a dicha recta. En dicha figura slo se ilustra la
interseccin de este plano con el plano x1 x3 .
92
L. Hctor Jurez V.
x3
(1,0,2)
Nul(P)
Plano
x1
Lnea recta
Im(P)
4.5.1.
1. Si v Im(P ), entonces P v = v.
Demostracin. v Im(P ) v = P x para algn x Rn P v = P 2 v = P x = v.
2. Dado v Rn , v se puede escribir como v = v1 + v2 con v1 Im(P ) y v2 N ul(P ).
Demostracin. Sea v1 = P v, entonces v2 = v P v N ul(P ) pues P v2 = P (v
P v) = P v P 2 v = 0.
3. Si P es una proyeccin en Rn , entonces I P tambin es una proyeccin.
Demostracin. (I P )2 = I 2IP + P 2 = I 2P + P = I P .
A la proyeccin I P se le llama proyeccin complementaria de P .
4. Si P es una proyeccin en Rn , entonces
Im(P ) = N ul(I P ): P proyecta sobre el espacio nulo de I P .
Im(I P ) = N ul(P ): I P proyecta sobre el espacio nulo de P .
Demostracin. v Im(P ) v = P x, con x Rn (I P )v = v P v =
P xP 2 x = 0 v N ul(I P ) Im(P ) N ul(I P ). Por otro lado v N ul(I P )
v P v = 0 v = P v Im(P ) N ul(I P ) Im(P ). Con esto se concluye que
Im(P ) = N ul(I P ). En forma anloga se verifica que Im(I P ) = N ul(P ).
Anlisis Numrico
93
Ejemplo 4.8. Retomando la proyeccin del ejemplo anterior, encontramos que su proyeccin
complementaria es
1 0 0
1 0 2
4 0 2
1
1
I P = 0 1 0 0 0 0 = 0 5 0
5
5
0 0 1
2 0 4
2 0 1
En la Figura 4.6 se ilustran estas proyecciones. En dicha figura se tiene que Im(I P ) =
N ul(P ) es el plano en R3 con normal (1, 0, 2)T , y N ul(I P ) = Im(P ) es la lnea determinada por el vector a = (1, 0, 2)T .
x3
Im(P)=Nul(IP)
Plano
v
v1=Pv
v2=(IP)v
x
Nul(P)=Im(IP)
Lnea recta
4.5.2.
Proyecciones ortogonales
Los tipos de proyecciones ms importantes en el lgebra lineal numrica y en las aplicaciones son las denominadas proyecciones ortogonales. Se dice que una proyeccin P es
ortogonal si P T = P . De hecho, una proyeccin ortogonal separa el espacio completo Rn
94
L. Hctor Jurez V.
1 0 2
1
P = 0 0 0 ,
5
2 0 4
es una proyeccin ortogonal (ver Figura 4.6).
Ejemplo 4.10. Proyeccin ortogonal de rango 1. Dado q Rn con q
de rango 1 dada por Pq qq T es una proyeccin ortogonal.
= 1, la matriz
Demostracin. Primero, obsrvese que Pq es una matriz de rango 1, pues toda columna
es un mltiplo del vector q:
Pq =
..
.
q1 qn
q2 qn
..
.
qn q1 qn q2
qn qn
q1 q1
q2 q1
..
.
q1 q2
q2 q2
Anlisis Numrico
95
aaT
.
aT a
Demostracin. Dado a Rn , a = 0, q = a/ a
qq T =
es unitario y
a
aT
aaT
aaT
=
=
.
a 2 a 2
aT a
a 22
Im(Pa )
v
Im(Pa )
Pa v
Pa v
O
96
L. Hctor Jurez V.
La proyeccin
1 0 2
1
P = 0 0 0
5
2 0 4
es un caso particular de una proyeccin de rango 1 con a = (1, 0, 2)T , pues
1
1
0
2
aaT
1
1
= 0 1 0 2 = 0 0 0 .
T
a a
5
5
2
2 0 4
Ejemplo 4.12. Proyeccin ortogonal sobre la imagen de una matriz A Rmn
(m n). Si A Rmn con m n es de rango completo, sabemos que AT A es una matriz
de n n, simtrica y definida positiva. La inversa generalizada derecha de A, se define como
la matriz A+ = (AT A)1 AT de orden n m. Esta matriz define una proyeccin ortogonal
en el espacio Rm al premultiplicarse por A, pues PA = AA+ = A(AT A)1 AT Rmm , y,
claramente PA2 = PA y PAT = PA . Cualquier vector v Rm es proyectado sobre el espacio
imagen de la matriz A por la proyeccin PA . Es decir, el espacio generado por las columnas
de A es igual a Im(PA ) (ver Fig. 4.8).
v
P v
A
(IPA) v
O
Im(IPA)
Im(PA) = Im(A)
Nota. Obsrvese que PA = A(AT A)1 AT es la generalizacin multidimensional de la proyeccin de rango 1, P a = aaT /aT a con a Rm , si observamos que a se puede ver como una
de las columnas de la matriz A bien como una matriz de m 1.
Anlisis Numrico
4.6.
4.6.1.
97
A(0)
x
x
x
x
x
x
x
x
x
x
A
x
x
x
x
x
Q1
x
0
0
0
0
x
x
x
x
x
A(2)
x
x
x
x
x
Q2
Q1 A
x
0
0
0
0
x
x
0
0
0
A(3)
x
x
x
x
x
Q2 Q1 A
Q3
x
0
0
0
0
x
x
0
0
0
x
x
x
0
0
= R,
Q3 Q2 Q1 A
4.6.2.
Reflexiones de Householder
I 0
0 H
98
L. Hctor Jurez V.
a11 . . . a1k1
a1k . . . a1n
.
..
..
..
..
..
..
.
.
.
.
.
0 . . . ak1k1
I
0
ak1k . . . ak1n
0
H mm 0 . . .
0
akk . . . akn
.
..
..
..
..
..
.
.
.
.
.
.
.
...
amk
...
amn
mn
.
0 ak+1k+1 . . . ak+1n
.
.
..
..
H ..
..
..
..
= ..
.
.
.
.
amk . . . amn
0
amk+1 . . . amn
Por supuesto, aqu el paso fundamental es la multiplicacin de H por la primera columna
de la submatriz de la derecha:
akk
akk
ak+1k 0
H
..
= ..
.
.
amk
x1
x
x2
Hx = . = x e1
x=
..
.
.
xmk+1
Anlisis Numrico
99
H
mk+1
v = ||x|| e1 x
H x = ||x|| e
vv T
vT v
Py
H+
O
Hy
Hx
100
L. Hctor Jurez V.
H =I 2
vv T
vT v
con
v = x e1 x.
Ejemplo 4.13. Dado el vector x = (3, 4, 0)T , encontrar la reflexin de Householder H tal
que Hx = x e1 = (5, 0, 0)T .
Solucin.
5
3
2
v = x e1 x = 0 4 = 4 ,
0
0
0
vv T = 4
0
2 4 0
4 8 0
= 8 16 0
0
0 0
y v T v = 20.
Luego
1 0 0
4 8 0
3/5 4/5 0
1
H =I 2 T = 0 1 0
8 16 0 = 4/5 3/5 0 .
v v
10
0 0 1
0
0 0
0
0
1
vv T
H+
v = ||x|| e1 x = (2,4,0)T
||x|| e1 = (5,0,0)T
x1
Anlisis Numrico
101
3/5 4/5 0
3/5 4/5 0
1 0 0
vv T
vT v
I 2
vv T
vT v
=I.
de modo que H es siempre una matriz ortogonal. Por lo tanto, las matrices Qk en el proceso
de triangularizacin de Householder son ortogonales, pues
Qk QTk =
4.6.3.
I 0
0 H
I
0
0 HT
I
0
0 HH T
Ik1
0
0
Imk+1
= Im .
x
+
H
||x|| e1 x
||x|| e1
||x|| e1 x
||x|| e1
Desde el punto de vista matemtico, cualquiera de las dos elecciones es satisfactoria. Sin
embargo, para asegurar estabilidad en el algoritmo numrico se debe escoger aquella reflexin
102
L. Hctor Jurez V.
1 si x 0 ,
1
signo(x1 ) =
1 si x < 0 .
1
Vale la pena recordar que x1 es la primera coordenada de x. Las Figura 4.13 muestra ambos
casos.
H
H+
x
+
H
v = ||x|| e1 + x
||x|| e1
v = ||x|| e1 + x
||x|| e1
||x|| e1
||x|| e1
La razn por la cual esta eleccin para v es conveniente es que si el ngulo entre H + y
e1 es muy pequeo, entonces el vector v = x e1 x ser ms pequeo que x x e1 , y
el clculo de v representa la sustraccin de cantidades casi iguales, con lo cual se obtienen
errores de cancelacin. Por otro lado, si escogemos el signo de tal forma que en lugar de
restar sumemos, cortamos el efecto de cancelacin y v nunca ser ms pequeo que x ,
con lo cual aseguramos estabilidad en los clculos.
4.6.4.
Anlisis Numrico
103
Algoritmo de factorizacin
Para k = 1, . . . , n
. x = A(k : m, k)
. vk = signo(x1 ) x e1 + x
. v k = vk / vk 2
. A(k : m, k : n) = A(k : m, k : n) 2vk (vkT A(k : m, k : m))
Fn
Obsrvese que en el algoritmo se han realizado dos simplificaciones:
1. Se ha denotado por v a v/ v
I 2
=I 2
v
v
vT
v 2
v
v
vT
v 2
y =y2
v
v
vT
y
v 2
de tal manera que cuando y es una de las columnas de la submatriz A(k : m, k : n), entonces
la forma econmica de aplicar la reflexin a cada una de estas columnas es como se indica
en el ltimo rengln del algoritmo. La matriz ortogonal QT = Qn Q2 Q1 no se construye
en el algoritmo anterior, pues esto tomara trabajo adicional. Afortunadamente en muchas
aplicaciones no es necesario obtener esta matriz. Por ejemplo, si se quiere resolver el sistema
Ax = b y sabemos que QT A = R, entonces Rx = QT A x = QT b y basta con resolver el
sistema Rx = QT b utilizando sustitucin regresiva. El lado derecho QT b puede calcularse
aplicando a b la misma sucesin de operaciones aplicadas a la matriz A:
Para k = 1, . . . , n
..
. b(k : m) = b(k : m) 2vk (vkT b(k : m))
Fn
Hemos supuesto que los vectores de reflexin v1 , . . . , vn se almacenan al encontrar R en el
algoritmo anterior. Sin embargo, en el problema de la solucin del problema sobredeterminado Ax = b no es necesario almacenar los vectores de reflexin vk y el clculo de QT b puede
realizarse simultneamente al clculo de R. En este caso el algoritmo completo, incluyendo
sustitucin regresiva, es como se muestra a continuacin:
Algoritmo de triangularizacin de Householder para resolver Ax = b
Para k = 1, . . . , n
104
L. Hctor Jurez V.
. x = A(k : m, k)
. v = signo(x1 ) x e1 + x
. v = v/ v
Anlisis Numrico
105
mtodo QR y el certificado por el NIST. La grfica del polinomio de ajuste obtenido por
medio de ecuaciones normales difiere de los dos anteriores, sobre todo en la mitad derecha,
intervalo (6, 3), donde presenta pequeas oscilaciones alrededor de los datos.
0.94
0.92
0.9
0.88
0.86
0.84
0.82
Datos
NIST
Normales
QR
0.8
0.78
0.76
9
El Cuadro (4.1) muestra los coeficientes obtenidos con los dos mtodos junto con los
certificados por el NIST. Los resultados obtenidos con el mtodo QR son muy buenos,
tomando en cuenta que los resultados certificados por el NIST fueron obtenidos con clculos
de muy alta precisin, a saber precisin mltiple de 500 dgitos (lo cual representa una
idealizacin de lo que se alcanzara si los clculos se hicieran sin error de redondeo). Por
el contrario, los coeficientes obtenidos por medio del mtodo de ecuaciones normales son
totalmente diferentes a los certificados, incluso en el signo.
Finalmente, en el siguiente cuadro indicamos la diferencia relativa del vector de coeficientes obtenido con los dos mtodos con respecto al valor certificado del NIST. Esta cantidad
se define como:
||cnist c||2
100
||cnist ||2
Observamos que la diferencia relativa de la solucin obtenida por medio del mtodo de
factorizacin QR es muy pequea, a diferencia de la obtenida por medio del mtodo de
ecuaciones normales. En el mismo cuadro tambin incluimos la magnitud del residual ||A c
y||2 en cada caso. Obsrvese que el residual obtenido por medio de QR coincide con el del
106
L. Hctor Jurez V.
Coef.
NIST (103 )
QR (103 )
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
-1.467489614229800
-2.772179591933420
-2.316371081608930
-1.127973940983720
-0.354478233703349
-0.075124201739376
-0.010875318035534
-0.001062214985889
-0.000067019115459
-0.000002467810783
-0.000000040296253
-1.467489582388863
-2.772179531420028
-2.316371030602281
-1.127973915874232
-0.354478225708109
-0.075124200018508
-0.010875317781920
-0.001062214960612
-0.000067019113828
-0.000002467810721
-0.000000040296251
3.508390286748969
5.458039227995218
3.674467707503117
1.398316266894402
0.330592755393584
0.050170726293308
0.004860547121394
0.000287297102007
0.000009255550238
0.000000120446348
0.000000000044876
Cuadro 4.1: Comparacin de los coeficientes del polinomio de ajuste obtenidos con los certificados por el NIST.
NIST hasta la onceava cifra, mientras que el obtenido por medio del mtodo de ecuaciones
normales es casi el doble que el certificado.
Cantidad
Diferencia relativa
Residual
NIST
QR
Ec. Normales
0
0.028210838148692
2.2106 %
118 %
0.041705784558465
0.028210838142565
Cuadro 4.2: Diferencia relativa con respecto a la certificada por el NIST y los residuales de
cada solucin.
4.7.
Ejercicios
1 x1 x21
A = 1 x2 x22
1 x3 x23
Anlisis Numrico
107
108
L. Hctor Jurez V.
1 1
10. Demuestra que si Q es una matriz cuadrada con vectores columna ortonormales, entonces QT Q = I. A una matriz con esta propiedad se le denomima matriz ortogonal.
Demuestra que
a) det (Q) = 1. Si A es una matriz cuadrada y A = QR, entonces det (A) =
det (R).
b)
Qx
=
11. Sean Q
1
2
0
12
=
y R
1 2
0 3
Anlisis Numrico
109
R.
110
L. Hctor Jurez V.
Captulo 5
112
L. Hctor Jurez V.
1. x = x2 2
2. x = x + 2
2
3. x = 1 +
x
x2 + 2
4. x =
2x 1
g(x) = x2 2
g(x) = x + 2
2
g(x) = 1 +
x
x2 + 2
g(x) =
2x 1
entre otras. Cualquier punto fijo de estas funciones g ser una raz de la ecuacin original
f (x) = 0. Entonces, el problema del clculo de races de f (x) se puede expresar como el
clculo de los puntos fijos de alguna funcin g(x).
5.1.
Los mtodos ms ampliamente usados para encontrar soluciones de ecuaciones no lineales son los denominados mtodos iterativos de punto fijo. Estos mtodos consisten
en transformar la ecuacin (o sistema de ecuaciones) original, f (x) = 0, en algn sistema
equivalente de punto fijo x = g(x) adecuado. Una vez hecho esto, se escoge algn x0 como
aproximacin inicial al punto fijo , y se genera una sucesin de aproximaciones mediante
las iteraciones:
xn+1 = g(xn ),
n = 0, 1, 2, . . .
Se espera que la sucesin {xn } converja al punto fijo . Desgraciadamente esto no siempre
ocurre como se muestra a continuacin.
Ejemplo 5.1. Consideremos el ejemplo sencillo de encontrar numricamente una de las
races de f (x) = x2 x2 = 0. Sus races exactas son x1 = 1 y x2 = 2. Nos concentraremos
nicamente en el clculo de la raz = 2. En todos los casos a continuacin el punto de
comienzo para las iteraciones es x0 =2.1.
a) Con g(x) = x2 2, obtenemos x1 =2.41, x2 =3.8081, x3 =12.50162561, y xn si
n .
Anlisis Numrico
113
x +2
d) Con g(x) = 2x1
, obtenemos x1 =2.003125, x2 =2.00003, x3 =2.000000000004, y xn 2
si n .
5.2.
Este teorema es muy importante y sirve como fuente para probar existencia y unicidad
en diferentes ramas del Anlisis y sus aplicaciones como: ecuaciones algebraicas, ecuaciones diferenciales ordinarias, ecuaciones diferenciales parciales, y ecuaciones integrales, entre
otras. Este teorema da condiciones suficientes para la existencia y unicidad de un punto fijo
para una clase de aplicaciones o funciones llamadas contracciones.
Definicin 5.2. Una aplicacin T : X X con X Rn se denomina contraccin sobre
X si existe un nmero real K, con 0 < K < 1, tal que para todo x, y X
Tx Ty K x y
en alguna norma vectorial
114
L. Hctor Jurez V.
x + 2 es una contraccin
x [1, 3] 1 x 3 3 x + 2 5 3 x + 2 5 .
Por lo tanto, g(x) = x + 2 [1, 3]. Por otro lado, por el teorema del valor medio
|g(x) g(y)| = |g ()| |(x y)| con entre x y y ,
y debido a que
1
g (x) =
2 x+2
1
max |g (x)| = g (1) = ,
2 3
x[1, 3]
se tiene
1
|g(x) g(y)| |x y| .
2 3
1
Se concluye que g es una contraccin con K = < 1.
2 3
Teorema 5.4. Teorema de punto fijo de Banach. Si X es un conjunto cerrado conexo
de Rn y T es una contraccin sobre X, entonces T tiene un nico punto fijo en X, y dado
cualquier punto de comienzo x0 X, la sucesin generada por iteracin de punto fijo
xn+1 = T xn ,
n = 0, 1, 2, . . .
m N .
(K n1 + K n2 + . . . + K m ) x1 x0
K m (1 + K + K 2 + . . . + K nm1 ) x1 x0
1 K nm
x1 x0 ,
Km
1K
Anlisis Numrico
115
1
x1 x0 .
1K
Por lo tanto
1
x1 x0 = 0 ,
m,n
m
1K
lo cual implica que la sucesin {xn } generada por iteracin es una sucesin de Cauchy.
Como T esta definida sobre el conjunto cerrado X la sucesin de Cauchy {xn } tiene un
lmite X:
= lm xn
lm
xn xm lm K m
As que
g(x) g(y) K x y con K = max g (x) < 1 .
xX
116
L. Hctor Jurez V.
5.3.
La desigualdad
Km
x1 x0 ,
1K
obtenida anteriormente es vlida para toda n > m. Luego, cuando n , xn , y por
tanto
Km
xm
x1 x0
m N.
1K
Esta desigualdad, aparte de que proporciona una cota para el error en la msima iteracin,
sirve para estimar el nmero de iteraciones necesarias par alcanzar una precisin determinada
en el clculo del punto fijo :
xn xm
m log
xm
(1 K) / log K
x1 x0
y
y = x2 2
2.5
1.5
y=x
0.5
0
0
0.5
1.5
2.5
Figura 5.1: La funcin de iteracin g(x) = x2 2 es tal |g (x)| > 1 en [1, 3], y produce una
sucesin divergente.
Anlisis Numrico
117
3| =
1
3 1, K = .
2 3
Entonces
1
104 (1 2
)
2
3
n log
/ log( ) 7.436
31
3 3
As que podemos tomar n = 8. El Cuadro 5.1 muestra las iteraciones con precisin a 6 cifras
decimales, junto con el error y la estimacin del error. Obsrvese que el error real siempre
xn
en = |xn |
0
1
2
3
4
5
6
7
8
1
1.732051
1.931852
1.982890
1.995718
1.998930
1.999732
1.999933
1.999983
1
0.267949
0.068148
0.017110
0.004282
0.001070
0.000268
0.000067
0.000017
Kn
1K |x1
x0 |
1.029137
0.297086
0.085761
0.024757
0.007147
0.002063
0.000715
0.000172
0.000050
Kn
|x1 x0 |, como debe de suceder. Adems, en la prctica, el
1K
nmero de iteraciones para alcanzar un error menor que 104 es 7. La Figura 5.2 ilustra este
ejemplo.
2
Finalmente, la tercera funcin de iteracin g(x) = 1 + tambin produce una sucesin
x
convergente cuando x0 =2.1. Para saber que rango de valores puede tomar x0 y obtener una
sucesin que converja a = 2 con esta funcin de iteracin hacemos
es menor que la cota
|g (x)| =
2
1 x2 2 x 2 x 2 .
2
x
118
L. Hctor Jurez V.
y
2.5
_
y = x+2
2
_
1.5
y=x
0.5
0
0
0.5
1.5
2.5
y = 1 + 2/x
2.5
1.5
y=x
0.5
0
0
0.5
1.5
2.5
Figura 5.3: La funcin de iteracin g(x) = 1 + 2/x produce una sucesin alternante convergente.
Anlisis Numrico
119
5.4.
Orden de convergencia
Teorema 5.6. Sea f (x) = 0 una ecuacin no lineal y x = g(x) su correspondiente ecuacin
de punto fijo. Bajo las siguientes condiciones:
1. g es una contraccin sobre X.
2. g C 1 (X) (g y g son continuas en X).
3. g es estrictamente montona sobre X (g (x) = 0 , x X).
se tiene que
Si x0 = , entonces xn = , n N ,
es decir, el proceso iterativo no puede terminar en un nmero finito de pasos.
Demostracin. Una demostracin de este hecho se obtiene suponiendo lo contrario, es
decir que g(xn ) = xn para algn n. Si n es el primer ndice para el cual esto ocurre, entonces
xn = g(xn1 ) y xn = g(xn ) con xn1 = xn .
Luego, por el teorema del valor medio
0 = g(xn ) g(xn1 ) = g ()(xn xn1 ) con entre xn1 y xn ,
y debe tenerse g () = 0 con X, lo cual contradice la hiptesis de que g (x) = 0 x I.
Comportamiento asinttico del error
Una vez hecho lo anterior, ahora podemos analizar como se comporta el error en el
mtodo iterativo de punto fijo al ir aumentando n:
en+1 = xn+1 = g(xn ) g() = g (n )(xn ) = g (n )en .
Es decir
en+1 = g (n )en
con n entre xn y .
120
L. Hctor Jurez V.
Adems
lm g (n ) = g (),
n )en
en+1
= g () + lm n = g () .
n
en
g(x) = x + 2 en el Ejemplo 3.5. Para esta funcin g () = g (2) = 0.25, as que asintticamente tenemos que en+1 g ()en = 0.25 en . Es decir, asintticamente, el error en la
siguiente iteracin es un cuarto del error anterior. El Cuadro 5.2 muestra que efectivamente
as es.
n
en
0.25 en
5
6
7
8
0.001070
0.000268
0.000067
0.000017
0.00026750
0.00006700
0.00001675
Cuadro 5.2: Error real y error asinttico de la sucesin de punto fijo con funcin de iteracin
g(x) = x + 2.
Anlisis Numrico
121
g(x) = x + 2 converge linealmente al punto fijo = 2. Por otro lado, la funcin de iteracin
x2 + 2
g(x) =
produce una sucesin {xn } que aparentemente tiene un orden de convergencia
2x 1
mayor a uno.
En realidad, esta sucesin converge cuadrticamente al punto fijo = 2. Una forma de
verificar esto es la siguiente: La convergencia cuadrtica implica que existe > 0 tal que
|en+1 | |en |2 para n grande .
Para verificar esto basta con ver que los cocientes |en+1 |/|en |2 producen un valor aproximadamente constante 0.3.
5.5.
La convergencia cuadrtica
122
L. Hctor Jurez V.
1. si x0 = , entonces xn = , n N.
2. El orden de la convergencia de la sucesin generada por iteracin de punto fijo es 2.
Demostracin. Primero demostraremos que en = xn = 0 , n N. Supngase lo
contrario, y sea n el primer entero para el cual xn = . Entonces
xn = g(xn1 ) = g(xn ) con xn1 = xn .
Por el teorema de Taylor
0 = g(xn ) g(xn1 ) = g (xn )(xn xn1 ) +
g (cn )
(xn xn1 )2 .
2!
|en+1 |
1
= |g ()|
|en |2
2
lo cual implica que la sucesin {xn } converge cuadrticamente al punto fijo . Por lo tanto,
para valores grandes de n se tiene
1
|en+1 | |g ()| |en |2 ,
2
lo cual muestra que el error en la iteracin n + 1 es proporcional al cuadrado del error en la
iteracin n, con constante de proporcionalidad igual a = 12 |g ()| (la constante del error
asinttico).
Una mejor forma para ver el comportamiento de esquemas de segundo orden es tomar
dn = nmero de decimales correctos en la iteracin n, es decir
|en | = |xn | = 10dn , con dn > 0 .
Entonces
10dn = |xn | |xn1 |2 = 102dn1 .
Anlisis Numrico
123
Luego
dn log10 2dn1 .
Por lo tanto
dn 2dn1 log10 .
Entonces si < 1, se tiene log10 > 0, y el nmero de decimales correctos en la iteracin
n es mayor que el doble de decimales correctos en la iteracin n 1. Si > 1, se sigue
cumpliendo que dn 2dn1 para n suficientemente grande pues en este caso dn
log .
Ejemplo 5.8. Consideremos de nuevo el problema de calcular la raz = 2 de la funcin
f (x) = x2 x 2. Verificar que la funcin de iteracin
x2 + 2
2x 1
produce una sucesin que converge cuadrticamente a = 2, tomando el valor de comienzo
x0 = 2.1.
g(x) =
g () = g () = . . . = g (k1) () = 0 ,
y que g (k) (x) = 0 , x X. Haciendo una expansin en series de Taylor obtenemos:
en+1 = xn+1 = g(xn ) g() =
g (k) (cn )
g (k) (cn ) k
(xn )k =
en .
k!
k!
|en+1 |
= ,
|en |k
lo cual implica un orden de convergencia k, con constante asinttica del error = |g (k) ()/k!|.
124
5.6.
L. Hctor Jurez V.
El mtodo de Newton
f (x)
.
f (x)
Anlisis Numrico
125
xn+1 = xn
La funcin de iteracin g(x) = x f (x)/f (x) = (x2 + 2)/(2x 1) es la misma que en los
dos ejemplos anteriores. Esta funcin satisface
2( 2 2)
f ()f ()
=
= 0 , pues f () = 0,
[f ()]2
(2 1)2
2
18
= , pues = 2,
g () =
(2 1)3
3
1
1
1
= | g ()| = = en+1 e2n = e2n para n grande.
2
3
3
g () =
xn
en
e2n
0
1
2
3
4
1.5
2.125
2.00480769230769
2.00000768001966
2.00000000001966
0.5
0.125
0.0048077
0.00000768
1,97 1011
0.083333
0.0052083
0.0000077
1,966 1011
Obsrvese como el valor asinttico e2n se aproxima a en+1 cuando n aumenta. Adems, dado
que el nmero de decimales correctos en la segunda iteracin es 2, en la tercera iteracin
ser
1
d3 2d2 log10
= 4.477
3
Como en la tercera iteracin d3 = 5, en la cuarta ser aproximadamente
d4 2d3 + 0.477 = 10.477
y el valor real es d4 = 11.
126
5.6.1.
L. Hctor Jurez V.
El mtodo de Newton tiene una interpretacin geomtrica muy sencilla. Dada la ecuacin
f (x) = 0 en una variable, suponiendo conocido la aproximacin xn a la raz , xn+1 se calcula
como
f (xn )
,
xn+1 = xn
f (xn )
es decir
f (xn ) + (xn+1 xn )f (xn ) = 0 .
Si reemplazamos xn+1 por la variable x, obtenemos la funcin y = f (xn ) + f (xn )(x xn ),
la cual tiene como grfica a la recta tangente a f (x) en el punto (xn , f (xn )). As que xn+1
es la interseccin de esta recta con el eje x, como se ilustra en la figura siguiente.
y
y = f(x)
y = f(xn) + f(xn)(xxn)
xn+1 xn
f (xn )
sin(xn )
= xn
= xn tan(xn ) .
f (xn )
cos(xn )
Anlisis Numrico
127
x1
x0
=0
y = senx
(/2,1)
(x 1.1655 . . .) ,
entonces
x1 = x0 tan(x0 ) = x0 2x0 = x0
x2 = x1 tan(x1 ) = x0 tan(x0 ) = x0
y entramos dentro de un ciclo obteniendo x0 , x0 , x0 , x0 , . . . como se ilustra en la Figura
5.6.
y
(/2,1)
y = senx
x0
=0
x0
(/2,1)
128
L. Hctor Jurez V.
La primera situacin indeseable se suprime si exigimos que
aa
es decir si
0
f (a)
b,
f (a)
f (a)
b a,
f (a)
y ab
f (b)
b
f (b)
y ab
f (b)
0,
f (b)
f (b)
b a.
f (b)
5.6.2.
El siguiente teorema resume las observaciones anteriores especificando condiciones suficientes para que el mtodo de Newton converja a la raz independientemente de como se
escoja x0 dentro del intervalo [a, b] = X.
Teorema 5.11. Sea f C 2 (X), y supngase que f satisface las siguientes condiciones
1. f (a)f (b) < 0,
2. f (x) = 0 , x X,
3. f (x) 0 f (x) 0, x X
4.
f (a)
ba
f (a)
f (b)
b a,
f (b)
Anlisis Numrico
129
2
f (1)
= 3 1,
f (1)
1
4
f (3)
= 31
f (3)
5
Por lo tanto, es posible aplicar el mtodo de Newton tomando como valor de comienzo
cualquier valor del intervalo [1, 3].
5.6.3.
130
L. Hctor Jurez V.
En realidad, en este ejemplo se obtiene convergencia cuadrtica debido a que, casualmente, m = 3 es igual a f (2). Sin embargo, en general el mtodo tiene convergencia lineal,
y como ya mencionamos arriba la convergencia slo ser cercana a la cuadrtica cuando
m = f (). Si la estimacin de m es buena, la convergencia puede ser muy rpida. Especialmente en los estados finales del mtodo de Newton no es necesario recalcular f (x) en cada
paso, y una buena estrategia es cambiar al mtodo de la cuerda.
Mtodo de la secante
En este caso el valor de la derivada f (xn ) en el mtodo de Newton se reemplaza por el
cociente de diferencias:
f (xn ) f (xn1 )
,
xn xn1
obteniendo la frmula de recurrencia:
xn+1 =
1/p
p
|en |
1+ 5
con p =
1.618
2
Anlisis Numrico
131
y = f(xn) + mn (xxn)
xn+1
xn
n+1
y = f(x)
xn
en
0
1
2
3
4
5
6
7
8
1
3
1.66666666666667
1.90909090909091
2.01176470588235
1.99963383376053
1.99999856948921
2.00000000017462
2.00000000000000
1
1
0.33333333333333
0.09090909090909
0.01176470588235
3.661662397104
1.43051079106
1.74621010
0
f ()
2f ()
1/p
0.08572834524805
0.01047403661108
3.830517471104
1.39648907106
1.77221010
0
132
L. Hctor Jurez V.
5.7.
i = 1, 2, . . . , n .
k = 0, 1, 2, . . .
Est claro que para cada k, xk es el vector con componentes xk1 , xk2 , , xkn .
El anlisis de los mtodos de iteracin de punto fijo para sistemas es el mismo que aquel
para ecuaciones de una variable. La nica diferencia es que para los temas de convergencia
y error utilizamos una norma vectorial en lugar del valor absoluto. Por ejemplo, para que la
funcin de iteracin sea una contraccin basta con que en alguna norma matricial ,
Jg(x) K < 1 ,
x X ,
gi (x)
xj
1 i, j n
La anterior es una condicin suficiente y se puede justificar utilizando el teorema del valor
medio para derivadas:
g(x) g(y) = Jg() (x y) ,
x, y X ,
y = x + (y x) ,
Anlisis Numrico
133
X
1
0
0
1
1
0
0
1
1
0
0
1
(x y) K (x y)
Por supuesto, la norma de la matriz Jacobiana es la norma matricial inducida por la norma
vectorial aplicada a la diferencia x y y tambin a g(x) g(y).
Ejemplo 5.15. Encontrar una solucin del sistema de tres ecuaciones no lineales con tres
incgnitas
1
2
x21 81(x2 + 0.1)2 + sen x3 + 1.06 = 0
10 3
= 0
ex1 x2 + 20x3 +
3
3x1 cos(x2 x3 ) =
134
L. Hctor Jurez V.
segunda y x3 de la tercera:
1 1
+ cos(x2 x3 )
= g1 (x1 , x2 , x3 )
6 3
1
x2 =
x21 + sen x3 + 1.06 0.1 = g2 (x1 , x2 , x3 )
9
1
10 3
x3 = ex1 x2
= g3 (x1 , x2 , x3 )
20
60
x1 =
g1
x1
g
2
Jg(x) =
x1
g3
x1
g1
x2
g2
x2
g3
x2
g1
x3
g2
x3
g3
x3
en este caso es
0
x1
Jg(x) =
9 x21 + sen x3 + 1.06
x2 x1 x2
e
20
x3
sen(x2 x3 )
3
0
x1 x1 x2
e
20
x2
sen(x2 x3 )
3 cos x
.
20
60
20
60
Es decir,
0.346 g1 (x1 , x2 , x3 ) 0.5
0.048 g2 (x1 , x2 , x3 ) 0.089
0.610 g3 (x1 , x2 , x3 ) 0.492 .
Por lo tanto, la funcin de iteracin tiene su imagen dentro de X = [1, 1]3 . Adems, si
consideramos la norma infinito, se obtiene Jg(x) es el mximo de las cantidades
| sen(x2 x3 )|
|x1 | + | cos x3 |/2
ex1 x2
(|x2 | + |x3 |),
,
(|x1 | + |x2 |)
3
20
9 x21 + sen x3 + 1.06
Anlisis Numrico
135
con 1 x1 , x2 , x3 1. Es decir
Jg(x)
max
2e
2 sen(1)
3/2
,
,
3
9 0.06 20
0.6804 ,
de tal forma que g es una contraccin en X = [1, 1]3 con K 0.6804. Si tomamos como
punto de comienzo x0 = (0.2, 0.1, 0.1)T , se obtienen los valores mostrados en el Cuadro
5.4
k
x1
x2
x3
0
1
2
3
4
5
6
7
8
9
10
0.2
0.49998333347222
0.49999437090050
0.49999999987705
0.49999999999043
0.5
0.5
0.5
0.5
0.5
0.5
0.1
0.01112036535646
0.00005190019018
0.00001447284345
0.00000006935321
0.00000001934170
0.00000000009269
0.00000000002585
0.00000000000012
0.00000000000003
0.0
-0.1
-0.52260870926364
-0.52332154714020
-0.52359747812499
-0.52359841377852
-0.52359877386447
-0.52359877511476
-0.52359877559598
-0.52359877559765
-0.52359877559830
-0.52359877559830
5.7.1.
Para sistemas de ecuaciones puede acelerarse la convergencia del mtodo de punto fijo
k+1
k+1
k
k
k
utilizando las ltimas estimaciones xk+1
1 , x2 , . . . , xi1 en lugar de x1 , x2 , . . . , xi1 para
calcular xk+1
, para 2 i n, como se hace en el mtodo de Gauss-Seidel para sistemas
i
lineales. En el ejemplo anterior, las nueva relacin de recursin al realizar aceleracin del
tipo Seidel es:
1 1
+ cos(xk2 xk3 )
6 3
1
k
2
=
(xk+1
1 ) + sen x3 + 1.06 0.1
9
k+1 k+1
1
10 3
= ex1 x2
20
60
xk+1
=
1
xk+1
2
xk+1
3
136
L. Hctor Jurez V.
Tomando el mismo punto de comienzo x0 = (0.2, 0.1, 0.1)T , se obtienen los valores mostrados en el Cuadro 5.5. Claramente se observa la aceleracin de la convergencia.
k
x1
x2
x3
0
1
2
3
4
5
6
0.2
0.49998333347222
0.49997746826183
0.49999999996378
0.5
0.5
0.5
0.1
0.02222979355858
0.00002815366194
0.00000003762202
0.00000000005028
0.00000000000007
0.0
-0.1
-0.52304612619137
-0.52359807179342
-0.52359877465775
-0.52359877559704
-0.52359877559830
-0.52359877559830
5.8.
Al igual que en el caso de una variable el mtodo de punto fijo converger cuadrticamente si g C 2 (X)), y si la matriz Jacobiana es nula en el punto fijo , es decir si todas
las derivadas parciales gj /xi evaluadas en el punto fijo son cero. Asimismo, el mtodo
de Newton para sistemas de ecuaciones no lineales f (x) = 0, con f : X Rn , se puede
construir en forma anloga a como lo hicimos en el caso escalar. En este caso hacemos la
eleccin para la funcin de iteracin en la forma
g(x) = x A(x)f (x) ,
donde la matriz A(x) Rnn depende de x Rn . El sistema de ecuaciones f (x) = 0 y el
sistema de punto fijo x = g(x) tienen la misma solucin si la matriz A(x) es no-singular
para toda x del dominio de f , dado que en este caso
x = g(x) A(x)f (x) = 0 f (x) = 0 .
Adems, para que el mtodo sea de segundo orden, se debe satisfacer
0 = Jg() = I A () f () A() Jf () = I A() Jf () .
Para que esto suceda basta pedir A(x) = [Jf (x)]1 , x. Con esta eleccin se tiene
g(x) = x [Jf (x)]1 f (x) ,
Anlisis Numrico
137
donde Jf (x) debe ser invertible para toda x cerca de la raz (al menos). Por lo tanto, el
mtodo de Newton es:
Dado x0 cerca de la solucin , generar la sucesin {xk }
k=1 por medio de
xk+1 = xk [Jf (xk )]1 f (xk ) .
Para evadir el costo excesivo la evaluacin de la inversa de Jf (xk ) en cada iteracin, podemos
expresar la iteracin en la forma
xk+1 = xk + y ,
donde y Rn resuelve el sistema lineal
Jf (xk )y = f (xk ) .
Por lo tanto el mayor costo del Mtodo de Newton consiste resolver un sistema lineal de n
ecuaciones con n incgnitas en cada iteracin. Podemos utilizar el mtodo de eliminacin de
Gauss con pivoteo bien el mtodo de factorizacin LU para resolver estos sistemas lineales.
En el caso que la matriz Jacobiana sea simtrica definida positiva, entonces se puede aplicar
el mtodo de Choleski.
Si cada una de las funciones fi (x), i = 1, 2, . . . , n tienen segundas derivadas continuas
y adems Jf (x) es no singular x X, entonces el mtodo converge cuadrticamente si el
punto inicial x0 se escoge suficientemente cercano a la raz .
Ejemplo 5.16. Consideremos el sistema no lineal del ejemplo anterior. La matriz Jacobiana
del sistema f (x) = 0 es
3
x3 sen(x2 x3 ) x2 sen(x2 x3 )
Jg(x) =
(5.1)
2x1
162(x2 + 0.1)
cos x3
x2 ex1 x2
x1 ex1 x2
20
Tomando x0 = (0.2, 0.1, 0.1)T , como en los ejemplos anteriores, obtenemos los resultados
mostrados en el Cuadro 5.6. Se observa claramente la convergencia cuadrtica del mtodo.
5.9.
Ejercicios
1. Demuestra que la ecuacin ex 4x2 = 0 tiene una raz en el intervalo [4, 5]. Demuestra
que esta raz no puede calcularse por iteracin de punto fijo con la funcin g(x) =
ex/2 /2. Encontrar una funcin de iteracin adecuada. Verifica que la misma ecuacin
tiene tambin una raz entre [0, 1], y demuestra que la sucesin generada por iteracin
de la funcin anterior converge a esta raz si se escoge x0 dentro de este intervalo.
138
L. Hctor Jurez V.
k
x1
x2
x3
0
1
2
3
4
5
0.2
0.49986882803679
0.50001730001008
0.50000016585639
0.50000000001512
0.5
0.1
0.02161464530261
0.00192386026501
0.00001819182542
0.00000000165766
0.0
-0.1
-0.52190738633341
-0.52354815221340
-0.52359829975132
-0.52359877555494
-0.52359877559830
Anlisis Numrico
139
1 f ()
2 f ()
1/p
con p = 1.618
(1 x1 )
f (xi+1 ) f (xi1 )
xi+1 xi1
140
L. Hctor Jurez V.
aproxima la derivada f (xi ). Determinar los nmeros 0 < x1 < x2 < . . . < xn < 1
tales que f (xi ) = f [xi1 , xi+1 ] para i = 1, 2, . . . , n, cuando el nmero de puntos es
n = 10, 100 y 200. Utiliza el mtodo iterativo del tipo GausSeidel y el mtodo de
Newton para obtener una solucin con 10 cifras significativas, tomando como valor
de comienzo x0 = (1, 2, . . . , n)T /(n + 1) en cada caso. Grafica los puntos solucin
(x1 , f (x1 )), (x2 , f (x2 )), . . . , (xn , f (xn )) obtenidos con el mtodo de Newton junto con
la grfica de f (x). Indica cuantas iteraciones se realizan con cada mtodo y el tiempo
que tarda el programa en cada caso. Qu mtodo es ms eficiente? Ahora aumenta el
nmero n a 300, 400,... hasta que la solucin con el mtodo de Newton tarde ms de
un minuto en tu computadora. Cul es el mximo valor de n que lograste? Cuntas
iteraciones de Newton se realizan en cada caso? Escribe tus conclusiones.
Captulo 6
Interpolacin Polinomial e
Integracin Numrica
Los polinomios son utilizados como el medio bsico de aproximacin de funciones en
muchas reas como son:
Aproximacin de derivadas e integrales,
Solucin numrica de ecuaciones diferenciales e integrales,
Solucin de ecuaciones no lineales,
entre otras. La principal razn es que los polinomios tienen una estructura algebraica muy
simple y su manipulacin es sencilla al igual que las funciones trigonomtricas. La interpolacin polinomial es un rea particular de la teora de aproximacin de funciones y, de hecho,
es la tcnica ms usada para aproximar funciones, ms ampliamente incluso que los mtodos
de mnimos cuadrados, funciones racionales, funciones trigonomtricas y splines.
El teorema de aproximacin de Weierstrass garantiza la existencia de un polinomio que
aproxima a una funcin continua dada con una precisin arbitrara dada:
Teorema 6.1. Teorema de aproximacin de Weierstrass. Dada f C[a, b], para toda
> 0, existe un polinomio p tal que |f (x) p (x)| < , x [a, b].
Geomtricamente, el teorema de aproximacin de Weierstrass establece que para cualquier > 0 podemos encontrar una f ranja con grosor 2 alrededor de f (x) sobre [a, b]
dentro de la cual se encuentra un polinomio P , sin importar que tan pequea sea . Sin
embargo, este teorema es til solo desde el punto de vista terico, pero no lo es desde el
141
142
L. Hctor Jurez V.
Ancho 2e
y=Pe(x)
y=f(x)
punto de vista computacional, pues no ofrece un mtodo constructivo para calcular dicho polinomio. Por tal motivo es necesario recurrir a otras herramientas para construir polinomios
que aproximen a las funciones.
6.1.
Polinomio de Taylor
Una forma de aproximar una funcin suave localmente y cerca de un punto dado x0 ,
es por medio del polinomio de Taylor. Sea Ix0 un intervalo que contiene x0 . Entonces
Dada la funcin f C n+1 (Ix0 ), donde Ix0 es un intervalo que contiene x0 , el polinomio
de Taylor de grado n que aproxima f (x) en Ix0 es
f (n) (x0 )
(x x0 )n .
n!
El trmino de error o trmino complementario de la aproximacin es
pn (x) = f (x0 ) + f (x0 )(x x0 ) + . . . +
f (n+1) ()
(x x0 )n+1 ,
(n + 1)!
con entre x y x0 . Este error aumenta conforme x se aleja del punto x0 , y tambin si la
derivada f n+1 () es muy grande.
Ejemplo 6.2. El polinomio de Taylor de f (x) = ex cerca de x0 = 0 es
pn (x) = 1 + x +
x2 x3
xn
+
+ ... +
,
2!
3!
n!
Anlisis Numrico
143
8
y = ex
p1(x)
p2(x)
p3(x)
1
2
1.5
0.5
0.5
1.5
y el error es
en (x) =
e
xn+1 ,
(n + 1)!
con entre 0 y x.
La Figura 6.2 muestra la grfica de la funcin exponencial junto con la grfica de los polinomios de Taylor de grado 1, 2 y 3 en el intervalo [1, 1]. Se observa que al aumentar el
grado, la aproximacin mejora, mientras que al aumentar |x| la aproximacin se deteriora
en cada caso, como era de esperarse.
6.2.
Interpolacin de Lagrange
La forma ms usual de aproximar una funcin dada mediante un polinomio de interpolacin es por medio del denominado polinomio de interpolacin de Lagrange. Este polinomio
se obtiene resolviendo el siguiente problema:
Dados n + 1 puntos distintos x0 , x1 , . . . , xn y los valores f (x0 ), f (x1 ), . . ., f (xn ) de
una funcin continua f (x) definida en un intervalo [a, b], encontrar un polinomio pn (x) de
grado n tal que
pn (xj ) = f (xj ) , j = 0, 1, . . . , n .
Debido a que se deben satisfacer n + 1 condiciones y se deben calcular n + 1 coeficientes
c0 , c1 , . . . , cn que definen al polinomio
pn (x) = c0 + c1 x + . . . + cn xn ,
144
L. Hctor Jurez V.
debemos esperar que el problema tenga una solucin nica. Anteriormente hemos demostrado que, efectivamente, este polinomio es nico si los puntos xj , j = 0, 1, . . . , n, son
distintos, dado que en este caso la matriz de Vandermonde es nosingular. En realidad, la
existencia y unicidad no depende de la estructura de la matriz de Vandermonde, y podemos
demostrar que el polinomio existe y es nico por otros medios. Por ejemplo, la unicidad
puede demostrarse como sigue:
Supngase que pn (x) y qn (x) son dos polinomios de grado n que interpolan a f (x) en
xj , j = 0, . . . , n, es decir
pn (xj ) = qn (xj ) = f (xj ) ,
j = 0, 1, . . . , n .
(x xk )
(xj xk )
Esta claro que se satisface j (xi ) = ij . La Figura 6.3 muestra la grfica de este polinomio
cerca de su punto correspondiente xj .
(xj ,1)
y = lj(x)
|
xj 2
xj 1
xj
xj + 1
xj + 2
Una vez que hemos construido los polinomios de Lagrange, se procede a construir el
polinomio de interpolacin como una combinacin de los n + 1 polinomios de Lagrange
Anlisis Numrico
145
pn (x) =
f (xj ) j (x).
j=0
pn (xi ) =
f (xj ) j (xi ) =
j=0
i = 1, . . . , n .
j=0
Ejemplo 6.3. Dado la funcin f (x) definida sobre el intervalo [a, b]. El polinomio p1 (x) de
grado 1 que interpola f (x) en dos puntos distintos x0 y x1 del intervalo es
x x0
x x1
f (x0 ) +
f (x1 ) .
p1 (x) =
x0 x1
x1 x0
Este polinomio tiene como grfica una recta. La Figura 6.4 ilustra esta situacin.
y=P1(x)
y=f(x)
f(x1)
f(x0)
x0=a
x1=b
146
L. Hctor Jurez V.
y=P2(x)
y=f(x)
f(x0)
x0=a
f(x1)
x1
f(x2)
x1=b
6.3.
f n+1 ((x))
w(x)
(n + 1)!
con
w(x) =
(x xk ).
k=0
f (x) pn (x)
w(t) ,
w(x)
t [a, b] .
Claramente F (t) esta bien definida pues w(x) = 0 ya que x = xi , i. Adems F (t) es de clase
C n+1 en I[x0 , x1 , . . . , xn , x] y tiene al menos n + 2 races, a saber x0 , x1 , . . . , xn , x. Luego
Anlisis Numrico
147
F (t) tiene al menos n + 1 ceros, F (t) tiene al menos n ceros. Continuando de esta manera,
se encuentra que F (n+1) (t) tiene al menos un cero en dicho intervalo, y que llamaremos (x).
Por lo tanto
0 = F n+1 ((x)) = f n+1 ((x)) 0
f (x) pn (x)
(n + 1)! .
w(x)
Se concluye que
f (x) pn (x) =
f n+1 ((x))
w(x).
(n + 1)!
Ejemplo 6.5. Cuando se hace interpolacin lineal en los puntos x0 , x1 la frmula del error
para todo x en [x0 , x1 ] es
f (x) p1 (x) =
f ((x))
(x x0 )(x x1 ) con (x) [x0 , x1 ] .
2
Suponiendo que f (x) tiene dos derivadas continuas en el intervalo [x0 , x1 ], sea M2 el mximo
de |f (x)| en [x0 , x1 ]. Por otro lado, el punto x [x0 , x1 ] donde |w(x)| = |(x x0 )(x x1 )|
1
toma su valor mximo es x = (x0 + x1 ) y este valor es |w(x )| = h2 /4 con h = x1 x0
2
(ver Figura 6.6). Tomando estas estimaciones, se encuentra la siguiente cota para el error
m
ax |f (x) p1 (x)|
axb
M2 2
M2 h2
=
h .
2 4
8
es decir
M2 2
h .
8
Se puede hacer el mismo clculo en el caso de interpolacin cuadrtica en x0 , x1 , x2 puntos
f (x) p1 (x)
y= w(x)
x*
x0
x1
148
L. Hctor Jurez V.
f (3) ((x))
(x x0 )(x x1 )(x x2 ) con (x) (x0 , x0 + 2h) ,
3!
es decir
M3
w
6
f (x) p2 (x)
donde M3 = m
axx0 xx2 |f (3) (x)| y w
2
= h3 .
3 3
K(y) =
0
M3
= h3 ,
9 3
dx
1 sen2 y sen2 x
Para ciertos valores de y medidos en grados se tiene K(1) = 1.5709, K(4) = 1.5727, K(6) =
1.5751. Calcular K(3.5) usando interpolacin polinomial cuadrtica.
Solucin. Los puntos de interpolacin son y0 = 1, y1 = 4, y2 = 6. El polinomio de Lagrange
es
(y y0 )(y y2 )
(y y1 )(y y2 )
+ K(y1 )
(y0 y1 )(y0 y2 )
(y1 y0 )(y1 y2 )
(y y0 )(y y1 )
+K(y2 )
(y2 y0 )(y2 y1 )
p2 (y) = K(y0 )
Por lo tanto
(3.5 4)(3.5 6)
(3.5 1)(3.5 6)
+ 1.5727
(1 4)(1 6)
(4 1)(4 6)
(3.5 1)(3.5 4)
+1.5751
(6 1)(6 4)
= 1.57225
p2 (3.5) = 1.5703
a) Para evaluar
j (x)
n
k=j
Anlisis Numrico
149
n
j=0 f (xj ) j (x)
6.4.
En ocasiones uno no sabe a ciencia cierta cuantos puntos de interpolacin usar. Dada esta
circunstancia sera deseable calcular los polinomios de interpolacin p0 (x), p1 (x), p2 (x), . . .
en forma sucesiva aumentando el nmero de puntos de interpolacin hasta obtener una
aproximacin pn (x) satisfactoria para la funcin f (x). En un proceso de este tipo el uso de
la forma de Lagrange no es adecuada, pues no es posible utilizar alguna ventaja obvia del
polinomio anterior pk1 para construir el siguiente pk (x). Para este y otros propsitos, la
forma de Newton del polinomio de interpolacin es mejor. En esta forma, dada la funcin
f (x) y los puntos de interpolacin x0 , x1 , . . . , xn , el polinomio de interpolacin pn (x) se
expresa utilizando los primeros n puntos de interpolacin x0 , x1 , . . . , xn1 como centros
para escribir
pn (x) = a0 + a1 (x x0 )+a2 (x x0 )(x x1 ) + . . .
+ an (x x0 )(x x1 ) . . . (x xn1 )
es decir
j1
pn (x) = a0 +
aj
j=1
(x xk ) ,
k=0
150
L. Hctor Jurez V.
donde r(x) es un polinomio de grado n (k + 1). Adems qk (x) interpola f (x) en los
puntos x0 , x1 , . . . , xk , pues
qk (xj ) = pn (xj ) (xj x0 )(xj x1 ) . . . (xj xk )r(xj )
= pn (xj ) si 0 j k
= f (xj )
Entonces qk (x) es el nico polinomio de interpolacin pk (x) para f (x) en x0 , x1 , . . . , xk , y
podemos escribir
pk (x) = pk (x) + (x x0 )(x x1 ) . . . (x xk ) r(x),
y con k = n 1, obtenemos
pn (x) = pn1 (x) + an (x x0 )(x x1 ) . . . (x xn1 )
Entonces, el polinomio de interpolacin pn (x) puede construirse paso a paso construyendo
la sucesin de polinomios de interpolacin p0 (x), p1 (x),. . ., pn (x), donde pk (x) se construye
de pk1 (x) agregando el siguiente trmino en la forma de Newton , el cual es
ak (x x0 )(x x1 ) . . . (x xk1 ).
6.4.1.
Obsrvese que cada coeficiente ak es el coeficiente principal del polinomio pk (x) que
interpola a f (x) en los puntos x0 , x1 , . . . , xk . Adems este coeficiente depende de los puntos
y los valores de f (x) en estos puntos pues
f (x0 )
p0 (x0 ) = a0
f (x1 )
f (xk )
Anlisis Numrico
151
a0 = f (x0 )
f (x1 ) f (x0 )
a1 =
x1 x0
f [x0 , x1 ]
La validez de esta ltima frmula viene dada por el siguiente argumento debido a Neville:
Supngase que la frmula se ha obtenido para diferencias divididas hasta el orden k 1,
y considrense los puntos x0 , x1 , . . . , xk . Sea pk1 (x) el polinomio de grado k 1 que
interpola f (x) en x0 , x1 , . . . , xk1 , y sea qk1 (x) el polinomio de grado k 1 que interpola
f (x) en x1 , x2 , . . . , xk como se muestra en la Figura 6.7.
qk-1(x)
x1
...
xk-1
x0
xk
pk-1(x)
Luego, el polinomio
p(x) =
x x0
xk x
qk1 (x) +
pk1 (x),
xk x0
xk x0
152
L. Hctor Jurez V.
x x0
x xk
qk1 (x)
pk1 (x).
xk x0
xk x0
Claramente
coef. principal de pk =
xk x0
xk x0
Es decir
(x xj )
f [x0 , . . . , xk ]
= f (x0 ) +
j=0
k=1
donde
f []
f [, ]
f [, , ]
f [, , , ]
x0 f (x0 )
f [x0 , x1 ] =
f (x1 )f (x0 )
x1 x0
x1 f (x1 )
f [x1 , x2 ] =
f [x1 , x2 , x3 ] =
f (x2 )f (x1 )
x2 x1
x2 f (x2 )
f [x2 , x3 ] =
f [x0 , x1 , x2 ] =
f [x0 , x1 , x2 , x3 ]
f (x3 )f (x2 )
x3 x2
x3 f (x3 )
donde
f [x0 , x1 , x2 , x3 ] =
f [x1 , x2 , x3 ] f [x0 , x1 , x2 ]
x3 x0
Anlisis Numrico
153
Ejemplo 6.7. Consideremos de nuevo el ejemplo anterior, donde K(1) = 1.5709, K(4) =
1.5727 y K(6) = 1.5751. Calcular K(3.5) con interpolacin cuadrtica utilizando la forma
de Newton.
Solucin. Primero calculamos la tabla de diferencias divididas:
y
K[]
K[, ]
K[, , ]
1 1.5709
1.57271.5709
41
= 0.0006
0.00120.0006
61
1.5727
1.57511.5727
64
= 0.00012
= 0.0012
1.5751
Despus, tomamos los coeficientes en la diagonal superior (en negrita) para construir el
polinomio de interpolacin:
p2 (y) = K(1) + K[1, 4](y 1) + K[1, 4, 6](y 1)(y 4)
= 1.5709 + 0.0006(y 1) + 0.00012(y 1)(y 4),
y evaluamos directamente en y = 3.5:
p2 (3.5) = 1.5709 + 0.0006(3.5 1) + 0.00012(3.5 1)(3.5 4) = 1.57225
Este resultado coincide con el encontrado con el polinomio de interpolacin en forma de
Lagrange.
6.4.2.
n(n + 1) +
154
L. Hctor Jurez V.
Anlisis Numrico
155
6.4.3.
Ejemplo 6.9. En los dos ejemplos anteriores calculamos el polinomio de grado dos que
interpola K(y) en los puntos y = 1, 4, 6. Si agregamos el valor K[0] = 1.5708, obtenemos
la tabla:
K[]
1.5709
K[, ]
K[, , ]
K[, , , ]
0.0006
4
1.5727
0.00012
0.0012
1.5751
-0.000001
0.000121
0.000717
0 1.5708
156
6.4.4.
L. Hctor Jurez V.
Sea f (x) definida en [a, b] y pn (x) el polinomio que interpola a f (x) en los puntos
x0 , x1 , . . . , xn . Consideremos x un punto en [a, b] distinto de los puntos de interpolacin, y
sea pn+1 (x) el polinomio que interpola f (x) en los puntos x0 , x1 , . . . , xn , x, es decir
pn+1 (x) = pn (x) + f [x0 , . . . , xn , x]w(x),
donde w(x) = (x x0 ) . . . (x xn ). As que
f (x) = pn+1 (x) = pn (x) + f [x0 , . . . , xn , x]w(x) ,
y
en (x) = f (x) pn (x) = f [x0 , . . . , xn , x]w(x) .
En general, para toda x en [a, b]
en (x) = f (x) pn (x) = f [x0 , . . . , xn , x]w(x) .
Anteriormente encontramos, en el anlisis del error del polinomio de la forma de Lagrange,
que si f C n+1 [a, b], entonces
en (x) = f (x) pn (x) =
f (n+1) ((x))
w(x), con (x) I[x0 ,...,xk ]
(n + 1)!
Comparando las dos ltimas expresiones arriba, hemos encontrado que si f C n+1 [a, b],
entonces
f [x0 , . . . , xn , x] =
f (n+1) ((x))
.
(n + 1)!
6.5.
6.5.1.
f (k) ()
con I[x0 ,...,xk ] .
(k)!
(6.1)
Integracin Numrica
Frmulas de NewtonCotes
Nuestro objetivo es estimar la integral de una funcin f (x) sobre un intervalo dado
[a, b], especialmente cuando esta integral no puede calcularse analticamente o cuando solo
se conocen valores de f en un nmero finito de puntos. Una de las estrategias para aproximar
Anlisis Numrico
157
esta integral consiste en aproximar f (x) por el polinomio pk (x) que interpola f en los puntos
conocidos x0 , . . . , xk del intervalo. Entonces
b
f (x)dx
pk (x)dx
a
pk (x) =
f (xj ) j (x)
j=0
obtenemos
f (x)dx
a
wj f (xj )
con wj =
j (x)dx.
a
j=0
Entonces, la integral de f (x) sobre [a, b] se aproxima por medio de un promedio pesado de
valores de f (x) en los puntos de interpolacin, en donde los pesos wj son las integrales de las
funciones de Lagrange j (x). A estas frmulas de integracin numrica se les conoce como
de Newton-Cotes. Por supuesto, tambin podemos realizar la aproximacin utilizando la
forma de Newton del polinomio de interpolacin
j1
pk (x) = f (x0 ) +
(x xl ) .
f [x0 , . . . , xj ]
j=1
l=0
6.5.2.
b j1
(x xl )dx .
f [x0 , . . . , xj ]
j=1
a l=0
(x xj ).
j=0
e=
ek (x)dx =
a
El clculo de esta ltima integral puede ser complicado. Sin embargo, puede simplificarse si
consideramos dos casos:
158
L. Hctor Jurez V.
Primer caso: Si wk+1 (x) es de un solo signo en [a, b], es decir si wk+1 (x)dx > 0
wk+1 (x)dx < 0, entonces
b
e = f [x0 , . . . , xk , ]
a
b
e = f [x0 , . . . , xk+1 , ]
wk+2 (x)dx
a
wk+1 (x)dx
m
a
Por lo tanto
m
b
a wk+1 (x)f [x0 , . . . , xk , x]dx
b
a wk+1 (x)dx
wk+1 (x)dx .
a
M.
Por el teorema del valor intermedio para funciones continuas, debe existir un en [a, b] tal
que
b
a wk+1 (x)f [x0 , . . . , xk , x]dx
f [x0 , . . . , xk , ] =
,
b
a wk+1 (x)dx
de donde se sigue la expresin para el error. Se obtiene la misma expresin suponiendo
wk+1 (x)dx < 0, x [a, b].
Segundo caso: Sea xk+1 un punto adicional a x0 , . . . , xk . Entonces
f [x0 , . . . , xk , xk+1 , x] = f [xk+1 , x0 , . . . , xk , x]
f [x0 , . . . , xk , x] f [xk+1 , x0 , . . . , xk ]
=
x xk+1
f [x0 , . . . , xk , x] = f [xk+1 , x0 , . . . , xk ] + f [x0 , . . . , xk , xk+1 , x](x xk+1 ) .
Anlisis Numrico
159
Luego
b
e=
a
= f [xk+1 , x0 , . . . , xk ]
wk+1 (x)dx +
a
La primera integral en la ltima expresin es cero por hiptesis. Adems, si se escoge xk+1
de tal manera que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b], entonces se
obtiene la expresin para el error:
b
e = f [x0 , . . . , xk , xk+1 , ]
wk+2 (x)dx
a
Nota. En caso de que la funcin f (x) sea suficientemente suave, cada diferencia dividida
es igual a una derivada del mismo orden dividida por un factorial. Tomando en cuenta esta
propiedad, se obtienen las siguientes expresiones para el error en la integracin numrica:
Caso 1: Si wk+1 (x) es de un solo signo en [a, b], entonces
b
e = f [x0 , . . . , xk , ]
wk+1 (x)dx =
a
f (k+1) ()
(k + 1)!
wk+1 (x)dx .
a
Caso 2: Si a wk+1 (x)dx = 0, se introduce un punto adicional xk+1 tal que wk+2 (x) =
wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b], y
b
e = f [x0 , . . . , xk+1 , ]
wk+2 (x)dx =
a
f (k+2) ()
(k + 2)!
wk+2 (x)dx .
a
Obsrvese que el error en este caso tiene un orden mayor que el del caso 1.
6.5.3.
f (x)dx
a
160
L. Hctor Jurez V.
Si se escoge x0 = a, entonces
b
(x a)dx = f [a, ]
w1 (x)dx = f [a, ]
e = f [x0 , ]
(b a)2
,
2
con en [a, b]. Suponiendo f C 1 [a, b], podemos expresar el error en la forma
e=
f ()
(b a)2
2
f [x0 , x1 ]
{(b x0 )2 (a x0 )2 } .
2
f (x)dx
a
ba
{f (a) + f (b)} .
2
Adems w2 (x) = (x a)(x b) 0 es de un solo signo en [a, b] (ver Fig. 6.8). Luego
x0=a
x1=b
e = f [x0 , x1 , ]
w2 (x)dx = f [a, b, ]
a
(a b)3
,
6
Anlisis Numrico
161
f 2 ()
(b a)3 ,
12
en [a, b] .
3. Regla de Simpson.
Consideremos tres puntos de interpolacin x0 , x1 y x2 , es decir k = 2. En este caso el
polinomio de interpolacin para f (x) es
p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) .
Si elegimos x0 = a, x1 = b, x2 =
b
f (x)dx
a
a+b
, entonces la regla de cuadratura es
2
ba
=
6
f (a) + 4f (
a + b (a b)3
(b a)2
+ f a, b,
2
2
6
a+b
) + f (b)
2
a+b
), el cual satisface (ver
2
w3 (x)dx = 0 .
a
x0=a
x1=b
x2=(a+b)/2
e = f a, b,
= f a, b,
a+b a+b
,
,
2
2
a+b a+b
,
,
2
2
(x a)(x b) x
a
4
15
ba
2
a+b
2
f 4 ()
90
dx
ba
2
donde [a, b]. En la ltima igualdad hemos supuesto que f C 4 [a, b].
162
L. Hctor Jurez V.
f (x) p0 (x) = f
y la regla de cuadratura es
b
a+b
2
f (x)dx f
a
(b a) .
w1 (x)dx
a
(x
a
a+b
)dx = 0 .
2
x0 = (a+b)/2
e = f [x0 , x1 , ]
w2 (x)dx =
a
f 2 ()
2
x
a
a+b
2
dx =
f 2 ()
(b a)3 .
24
Ejemplo 6.10. Consideremos la integral I = 0 ex dx, cuyo valor exacto a ocho cifras
decimales es 0.74682413. Aplicando las reglas de integracin anteriores, con a = 0, b = 1,
a+b
a+b
= 0.5, f (a) = 1, f (b) = e1 , f (
) = e1/4 , obtenemos
2
2
Anlisis Numrico
163
Regla
Frmula
Resultado
Rectngulo
(b a)f (a)
Trapecio
ba
2 {f (a)
0.6839397
+ f (b)}
a)f ( a+b
2 )
Punto medio
(b
Simpson
ba
6 {f (a)
Solucin
Exacta
0.7788007
4f ( a+b
2 )
+ f (b)}
0.7471804
0.74682413
6.6.
Regla
Error real
Rectngulo
0.25318
Trapecio
0.06288
Punto medio
0.03198
Simpson
3.6104
xi
i=1
xi1
f (x)dx =
a
f (x)dx ,
164
L. Hctor Jurez V.
...
x1
a=x0
xn-1
xn=b
y las integrales delante de la sumatoria se aproximan utilizando las reglas simples en cada
subintervalo.
f (x)dx =
xi1
h
f (i ) 3
{f (xi1 ) + f (xi )}
h ,
2
12
h
f (x)dx =
2
=
n
i=1
h3
[f (xi1 ) + f (xi )]
12
h
[f (x0 ) + 2
2
f (i )
i=1
n1
f (xi ) + f (xn )]
i=1
h3
12
f (i )
i=1
La ltima sumatoria se puede simplificar cuando f C 2 [a, b], pues en este caso
m f (i ) M
para cada i = 1, . . . , n,
en donde
m = mn f (x) y M = max f (x) .
axb
As que
axb
n
i=1
f (i )
M.
n
Por el teorema del valor intermedio aplicado a la funcin continua f (x) sobre [a, b],
existe en [a, b] tal que
n
f (i )
f () = i=1
n
es decir
m
nf () =
f (i )
i=1
Anlisis Numrico
165
h3
h2
nf () = (b a)f ()
12
12
f (x)dx
a
h
[f (x0 ) + 2
2
n1
f (xi ) + f (xn )]
i=1
ba
f ()h2
12
f (x)dx =
xi1
h
f 4 (i ) h
f (xi1 ) + 4f (xi 1 ) + f (xi )
2
6
90
2
xi1 + xi
.
2
Sumando de i = 1 a i = n obtenemos
b
f (x)dx =
a
h
6
i=1
h
f (x0 ) + 2
6
n1
1 h
90 2
5 n
f 4 (i )
i=1
f (xi 1 ) + f (xn )
f (xi ) + 4
i=1
h
ba 4
f (i )
180
2
i=1
Suponiendo f C 4 [a, b] :
f 4 (i ) = nf 4 () ,
i=1
166
L. Hctor Jurez V.
con a = 0, b = 1, y h =
h2
h2
1
(b a)f () = f () =
f ()
12
12
12n2
1
. Entonces debemos pedir que
n
1
|f ()| 106 .
12n2
1
2 106 . Es decir
12n2
n
106
408
6
El valor n = 408 subintervalos es realmente una sobre estimacin del nmero necesario ya
que estamos usando M = m
ax{|f (x)| : 0 x 1} en lugar de |f ()|. A continuacin
mostramos los valores obtenidos usando diferentes valores de n.
n
Resultado
error
50
100
200
400
800
0.74679961
0.74681800
0.74682260
0.74682375
0.74682404
2.452106
6.13106
1.53106
3.8107
9108
Ntese que con n = 400 subintervalos ya se obtiene un error menor a 106 . En la tabla de
arriba la estimacin del error es
ba
ba
M h2
M
2
1
m
ax |f (x)|h2 =
M h2 =
=
=
= 2
2 0x1
2
12
12n2
12n2
6n
Anlisis Numrico
167
1
h4
12h4
1
max |f 4 (x)|
=
=
106 ,
180
16
180 16
240n4
en donde m
ax0x1 |f 4 (x)| = 12. Por lo tanto
n
106
8,
240
Resultado
error
0.74685538
0.74682612
0.74682452
0.74682426
0.74682413
3.125105
1.99106
3.96107
1.27107
4.99109
6.7.
Todas las reglas de integracin numrica que hemos obtenido son de la forma
b
(6.2)
168
L. Hctor Jurez V.
k = 1, 2, . . . .
Se puede verificar fcilmente que estos polinomios son ortogonales en el intervalo [1, 1] con
respecto a la funcin de peso v(x) = 1. Algunas propiedades de estos polinomios son
1. El polinomio k (x) tiene k races distintas en (1, 1). Por ejemplo
3 2
(x
2
5 2
(x
2
2 (x) =
3 (x) =
1
1
) tiene races x =
3
3
3
) x tiene races x = 0, x =
5
3
.
5
f (x) =
f (xi ) i (x) +
i=1
f (n) ((x))
n!
(x xi )
i=1
Anlisis Numrico
169
f (x)dx
1
wi f (xi ) con wi =
1
i=1
i (x)dx =
1 j=1
(x xj )
dx
(xi xj )
j=i
p(x)dx =
q(x)n (x)dx +
r(x)dx
q(x) =
di i (x).
i=0
Luego
n1
p(x)dx =
1
di
1
i=0
1
i (x)n (x)dx +
r(x)dx
1
r(x)dx ,
1
debido a la ortogonalidad de los polinomios de Legendre. Por otro lado como r(x) es un
polinomio de grado n 1, entonces la ltima integral en la expresin anterior se puede
sustituir por
n
r(xi )wi
con wi =
1
i (x)dx =
i=1
1 i=j
(x xj )
dx .
(xi xj )
Pero adems, como cada punto xi , 1 i n, es raz de n (x), se tiene p(xi ) = q(xi )n (xi )+
r(xi ) = r(xi ). Por lo tanto,
n
p(x)dx =
1
wi p(xi )
i=1
170
L. Hctor Jurez V.
n
xi
wi
x2 = x1 = 0.5773502692
w1 = w2 = 1
x3 = x1 = 0.7745966692
x2 = 0
w1 = w3 = 0.5555555556
w2 = 0.8888888889
x4 = x1 = 0.8611363116
x3 = x2 = 0.3399810436
w1 = w4 = 0.3478548451
w2 = w3 = 0.6521451549
x5 = x1 = 0.9061798459
x4 = x2 = 0.5384693101
x3 = 0
w1 = w5 = 0.2369268851
w2 = w4 = 0.4786286705
w3 = 0.5688888889
lo cual comprueba que la regla de la cuadratura es exacta para el polinomio arbitrario p(x)
de grado 2n 1.
En la siguiente tabla se muestran valores xi , wi a diez cifras decimales para distintos
valores de n.
En la prctica, queremos integrar en un intervalo arbitrario [a, b] y no solamente en
[1, 1]. En estos casos utilizamos el cambio de variable
t=
2x a b
ba
x=
(b a)t + a + b
2
y
b
f (x)dx =
a
f
1
(b a)t + a + b
2
ba
dt
2
1 x2
dx
0 e
Anlisis Numrico
171
Solucin: a = 0, b = 1 implica x =
1
ex dx =
t+1
. Por lo tanto
2
e(
t+1 2
)
2
1
5
1
2
wi e(
1
1
dt =
2
2
xi +1 2
)
2
e(
t+1 2
)
2
dt
= 0.74682413
i=1
6.8.
(1
(1
+ x) , , > 1
ex
2
ex
x) (1
Nombre
Tn (x), Chebishev
Pn, (x), Jacobi
Ln (x), Laguerre
Hn (x), Hermite
Ejercicios
f (x) pn (x)
w(t),
w(x)
donde w(x) =
(x xj )
j=0
es de clase C (n+1) en [a, b], y que tiene al menos n + 2 ceros: x0 , x1 , . . . , xn , x. Demuestra que f (n+1) (x) tiene al menos un cero en [a, b]. Deduce la expresin para el
error en el polinomio de interpolacin.
172
L. Hctor Jurez V.
3. La interpolacin lineal iterada est basada en el siguiente hecho observado por Neville:
Sea pij (x) el polinomio de grado menor o igual a j i, el cual interpola f (x) en los
puntos xi , xi+1 , . . . , xj con i < j. Entonces
pij =
xj x
x xi
pi+1, j (x) +
pi, j1 (x).
xj xi
xj xi
4. Dada una funcin f (x) definida en [a, b] y los puntos x0 , x1 , . . . , xn , escribe las formas de Lagrange y Newton del polinomio de interpolacin pn (x). Escribe tambin las
frmulas del error en ambos casos.
5. Dados los valores log10 (1) = 0, log10 (1.5) = 0.17609, log10 (2) = 0.30103, log10 (3) =
0.47712, log10 (3.5) = 0.54407 y log10 (4) = 0.60206, encuentra los siguientes valores
utilizando interpolacin cbica en forma de Lagrange y Newton:
a) log10 (1.25),
b) log10 (3.25)
Escoge los mejores puntos de interpolacin en cada caso. Utiliza los resultados para
recalcular los valores de los incisos anteriores, por medio de un polinomio de interpolacin, pero ahora de cuarto grado. Grafica tus resultados y estima el error cometido
en cada caso.
6. El error en la interpolacin lineal de f (x) en dos puntos distintos x0 , x1 es
e1 (x) = f (x) p1 (x) =
f ((x))
(x x0 )(x x1 )
2
Anlisis Numrico
173
0x1
i
n
ni
n
1
,
4
i = 0, 1, . . . , n.
10. Complementa el programa newtoncotes.m, agregando las reglas compuestas del rectngulo y punto medio. Para cada una de estas reglas estima el nmero de subintervalos para obtener un error menor o igual a 106 en la aproximacin de la integral de
2
f (x) = ex en el intervalo [0, 1]. Construye una tabla semejante a las mostradas en
la Seccin 6.6. Toma
n = 103 , 104 , 105 , 3 105 , y 4 105
n = 50, 100, 150, 200 y 300
dx = .
2
4
0 1+x
174
L. Hctor Jurez V.
Cuntos subintervalos se requieren con la regla de Simpson? Cuntos con la regla
de Gauss de tres puntos?
13. Calcula los polinomios de Legendre n (x) en [1, 1] hasta el grado n = 5. Calcula las
races de 3 , 4 y 5 . Encuentra los valores
1
wi =
1 j=1
x xj
dx
xi xj
j=i
para caso estos casos y compara con los valores mostrados en el Cuadro 6.1.
14. Verifica que los polinomios de Legendre 1 , 2 , 4 , 4 forman un conjunto ortonormal
con funcin de peso v(x) = 1.
15. Construye una regla compuesta de Gauss de orden 3 e integra la funcin f (x) = ex /x en
el intervalo [1, 2], aumentando el nmero de subintervalos hasta alcanzar la precisin
de la mquina. Cuntos subintervalos se necesitan con la Regla de Simpson para
alcanzar la misma precisin.
Captulo 7
Aproximacin Numrica de
Ecuaciones Diferenciales Ordinarias
7.1.
Conceptos bsicos
Los problemas de valores iniciales o ecuaciones diferenciales ordinarias ocurren en muchas reas de la ciencia, pero ms particularmente en la mecnica (incluyendo la mecnica
celeste), donde el movimiento de partculas (planetas) obedece la segunda ley de Newton.
Algunos astrnomos como Adams, Moulton, Cowell, contribuyeron al desarrollo de tcnicas numricas para resolver ecuaciones diferenciales ordinarias. Las ecuaciones diferenciales
ordinarias tambin juegan un papel importante en la mecnica cuntica, en el estudio de
dinmica de poblaciones, modelos biolgicos, desintegracin radiactiva, economa, circuitos
elctricos, entre otros campos. Los sistemas de ecuaciones diferenciales ordinarias aparecen
tambin como parte importante en la bsqueda de soluciones de las ecuaciones diferenciales
parciales.
El problema tpico de valores iniciales (que denotaremos por PVI) involucra sistemas de
ecuaciones diferenciales de primer orden de la forma
dy
= f (t, y), a < t b,
dt
y(t0 ) = y0
(t0 = a),
(7.1)
(7.2)
donde y = y(t) = (y1 (t), y2 (t), . . . , yn (t))T , y0 = (y01 , y02 , . . . , y0n )T son vectores en Rn , y
f : Rn+1 Rn es una funcin vectorial de la forma f = (f1 , f2 , . . . , fn )T , con funciones
componentes fi : Rn+1 R de la forma fi = fi (t, y1 , y2 , . . . , yn ), 1 i n.
175
176
L. Hctor Jurez V.
equilibrio
x(t)<0
x(t)>0
m
Figura 7.1: Bloque de masa m suspendido por un resorte.
en la forma
x + w2 x = 0, con w =
k/m.
A su vez, esta ecuacin diferencial de segundo orden puede expresarse como un sistema
de dos ecuaciones diferenciales de primer orden de la forma (7.1). Esto se logra haciendo
la sustitucin
y1 (t) = x(t)
y1 (t) = y2 (t)
y2 (t) = x (t)
y2 (t) = w2 y1 (t)
Anlisis Numrico
177
(7.3)
0
1
2
w 0
y1
y2
(7.4)
y2 (t) = y (t)
..
.
x1 (t) =
178
L. Hctor Jurez V.
m
r(t)
M
El teorema fundamental del clculo establece una conexin importante entre ecuaciones diferenciales e integrales
dy
= f (t, y)
dt
t+h
y(t + h) = y(t) +
f (s, y(s))ds .
t
(7.5)
Anlisis Numrico
179
f (s)ds .
y(t + h) = y(t) +
(7.6)
yn+1 yn +
f (s)ds
(7.7)
tn
7.2.
La existencia y unicidad de soluciones del problema (7.1)(7.2) depende fundamentalmente de las propiedades de suavidad de la funcin f (t, y). En particular se requiere que
f sea continua respecto a t y Lipschitz continua respecto a y. Antes de enunciar el teorema,
recordamos este ltimo concepto.
Definicin 7.1. Una funcin f : [a, b] Rn Rn se dice que es Lipschitz continua respecto
a la variable y si existe una constante L > 0 tal que
f (t, y) f (t, y ) L y y ,
en alguna norma vectorial
t [a, b], y, y Rn
de Rn .
Ejemplo 7.2. En el problema del oscilador armnico encontramos que f (t, y) = (y2 , w2 y1 )T ,
con w constante. Entonces en la norma euclidiana se tiene
f (t, y) f (t, y )
=
=
(y2 y2 )2 + w4 (y1 y1 )2
max{1, w2 }
(y2 y2 )2 + (y1 y1 )2
= max{1, w2 } y y
180
L. Hctor Jurez V.
Obsrvese que la condicin tipo Lipschitz es parecida a la propiedad que define a una
aplicacin como una contraccin (ver captulo 3). Sin embargo, la constante de Lipschitz
no tiene que ser L < 1, pudiendo ser incluso muy grande pero constante. Intuitivamente
hablando, la condicin de Lipschitz asegura que la funcin f (t, y) no tenga cambios muy
bruscos o infinitos cuando y vara.
Teorema 7.3. Teorema de existencia y unicidad. Si f (t, y) es una funcin continua
respecto a la variable t en [a, b], Lipschitz continua respecto a la variable y en Rn , entonces
el problema de valores iniciales (PVI) tiene una solucin nica y(t), a t b para cualquier condicin inicial y0 Rn . Adems y(t) depende continuamente de t0 y y0 (los datos
iniciales).
Nota 1. En ocasiones la condicin de Lipschitz no se satisface para toda y Rn , sino en un
subconjunto Y de Rn . En este caso el teorema de existencia y unicidad sigue siendo vlido
en [a, b] Y .
Nota 2. En ocasiones es muy difcil verificar una condicin de Lipschitz en forma directa.
Sin embargo si las derivadas parciales fi (t, y)/yi son continuas y acotadas en [a, b] Rn
o [a, b] Y (con Y Rn ), entonces f (t, y) es Lipschitz continua respecto a y en Rn o Y,
respectivamente.
Ejemplo 7.4. La funcin f (t, y) = t/y no es Lipschitz continua en cualquier conjunto que
contenga y = 0. Sin embargo, como f /y = t/y 2 es continua respecto a t y respecto a toda
y = 0, entonces f (t, y) es Lipschitz continua en cualquier t [a, b] y cualquier conjunto Y
que no contenga y = 0. Geomtricamente es fcil observar que el problema no tiene solucin
si la condicin inicial fuese y(0) = 0 y(0) = r < 0, pues no hay circunferencias de radio
nulo o negativo.
7.3.
Anlisis Numrico
181
yN
y(t0)=y0
y2
y1
y(tN)
y(t1) y(t2)
t0=a
t1
t2
...
tn=b
en donde f (1) y f (2) , . . . , f (k) , k 0, indican derivadas totales de f respecto a t. Por lo tanto
(7.8) puede reescribirse como
y(t + h) = y(t) + h f (t, y) +
h3 (2)
h2 (1)
f (t, y) +
f (t, y) + . . .
2
3!
(7.9)
Obsrvese que si la funcin f (t, y) no es simple, las derivadas f (1) , f (2) , f (3) sern cada vez
ms complicadas. Adems por razones prcticas debemos limitarnos a un nmero finito de
trminos en la serie. Esta limitacin restringe los valores de h para los cuales (7.9) es una
buena aproximacin a y(t). Si cortamos la serie en p + 1 trminos (p 1), se obtiene
h2 (1)
hp (p1)
hp+1
f (t, y) + . . . +
f
(t, y) +
f (p) (, y())
2!
p!
(p + 1)!
h
hp1 (p1)
hp+1
f
(t, y) +
f (p) (, y())
= y(t) + h f (t, y) + f (1) (t, y) + . . . +
2!
p!
(p + 1)!
182
L. Hctor Jurez V.
hp+1
f (p) (, y()),
(p + 1)!
(7.10)
con
p1
f (k) (t, y)
(t, y; h) =
k=0
hk
(k + 1)!
(7.11)
(7.12)
i = 0, 1, . . . , N 1.
(7.13)
h (1)
f (ti , yi ) ,
2
i = 0, 1, . . . , N 1.
(7.14)
(7.15)
Anlisis Numrico
183
se define como
T (t, y; h) =
1
(yaprox y(t + h)),
h
donde
yaprox = y(t) + h (t, y(t); h).
Entonces el error de truncamiento es una medida de la diferencia entre las soluciones aproximada y exacta de la ecuacin diferencial por unidad del paso de tiempo h. Sustituyendo
la expresin yaprox en la expresin T (t, y; h), obtenemos
T (t, y; h) = (t, y; h)
1
[y(t + h) y(t)]
h
(7.16)
cuando
h 0.
0 =
lm T (t, y; h) = lm (t, y; h) lm
(7.17)
Definicin 7.7. Orden del mtodo El mtodo (7.15) se dice que tiene orden p, con p 1
entero, si en alguna norma vectorial
T (t, y; h) c hp
(7.18)
184
L. Hctor Jurez V.
i = 0, 1, 2, . . . , N 1
T (t, y; h) = (t, y; h)
donde f (1) ft + fy f , con entre t y t + h. Por lo tanto, si f y todas sus derivadas parciales
de primer orden estn uniformemente acotadas en [a, b] Rn , entonces
T (t, y; h) c h.
Esto muestra que efectivamente el mtodo de Euler es de primer orden.
Si hacemos la misma suposicin de acotamiento uniforme sobre las segundas derivadas
de y, entonces y () = y (t) + O(h), as que
T (t, y; h) =
h
[ft + fy f ] (t, y) + Oh2 ,
2
h 0,
Anlisis Numrico
185
hp
f (p) (, y())
(p + 1)!
(7.19)
cp
hp ,
(p + 1)!
con cp = cota de f (p) (t, y) en [a, b] Rn . Entonces, el mtodo tiene exactamente el orden p,
a menos que f (p) (t, y) 0 y, por lo tanto, la funcin principal del error es
(t, y) =
1
f (p) (t, y)
(p + 1)!
(7.20)
t0 < t tf
y(t0 ) = y0 .
Esta ecuacin es el modelo lgistico del crecimiento de poblaciones com parmetros vitales
a y b. El parmetro a indica el grado de crecimiento de la poblacin, y b modela nivel de
competencia de la poblacin as como el nivel de los recursos de sustentacin de la poblacin.
La solucin exacta viene dada por
y(t) =
a y0
b y0 + (a b y0 ) ea t
186
L. Hctor Jurez V.
En la Figura 7.4 y en el Cuadro 7.1 se muestran los resultados con el mtodo de Euler
y el mtodo de Taylor de segundo orden. En ambos casos slo se muestran los resultados
cada cinco pasos de tiempo. Tanto en el cuadro como en la grfica se observa una mejor
aproximacin con el mtodo de Taylor de segundo orden que con el mtodo de Euler, como
era de esperarse. Obsrvese que en este caso f (t, y) = a y b y 2 , y entonces f (1) (t, y) =
(a 2 b y)(a y b y 2 ) = y (a 2 b y)(a b y). En el Cuadro 7.1 tambin es posible observar
que el error en el mtodo de Euler es O(h), mientras que para el mtodo de Taylor de segundo
orden es O(h2 ). Adems, como se observa en la grfica, a medida que se avanza en el tiempo
y la solucin tiende a su valor lmite, el error va disminuyendo en ambos casos. Se puede dar
una explicacin de este comportamiento por medio del error de truncamiento: Suponiendo
h constante y pequeo, el trmino que domina en (7.19) es la funcin principal del error
(7.20), la cual tiende a cero para p = 1 y p = 2, debido que la solucin exacta tiende al
valor contante y = a/b y, por lo tanto, cualquier derivada f (p) (, y()) = y (p+1) () tiende
a cero, haciendo el error cada vez ms pequeo conforme se llega a la poblacin lmite.
200
150
y(t)
100
50
Exacta
Euler
Taylor
0
0
Tiempo
10
Figura 7.4: Grficas de las soluciones con los mtodos de Euler y Taylor de segundo orden.
0 < t 2,
x (0) = 0.
Anlisis Numrico
t
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0
187
Sol. Exacta
10
15.969234
25.032200
38.171778
56.000912
78.136752
102.77734
127.08497
148.36827
165.14310
177.30166
185.58924
191.00440
194.44559
196.59386
197.92014
198.73332
Sol. Euler
10
15.667868
24.173025
36.452708
53.215871
74.398281
98.637430
123.32914
145.58199
163.45948
176.50349
185.35110
191.05386
194.60811
196.77670
198.08264
198.86286
Sol. Taylor
10
15.961783
25.013070
38.139291
55.960287
78.101050
102.75950
127.08654
148.37906
165.15171
177.30313
185.58438
190.99616
194.43661
196.58568
197.91341
198.72813
Error Euler
0
3.0136547e-001
8.5917490e-001
1.7190693e+000
2.7850413e+000
3.7384709e+000
4.1399065e+000
3.7558230e+000
2.7862786e+000
1.6836144e+000
7.9817667e-001
2.3814482e-001
4.9462366e-002
1.6251834e-001
1.8284181e-001
1.6250097e-001
1.2954473e-001
Error Taylor
0
7.4503650e-003
1.9130056e-002
3.2487074e-002
4.0625456e-002
3.5701963e-002
1.7832833e-002
1.5783894e-003
1.0789616e-002
8.6190204e-003
1.4663846e-003
4.8632042e-003
8.2363908e-003
8.9865936e-003
8.1783772e-003
6.7268039e-003
5.1902058e-003
Cuadro 7.1: Comparacin entre los mtodos de Euler y Taylor de segundo orden.
En este caso primero transformamos la ecuacin diferencial de segundo orden en un sistema
de dos ecuaciones de primer orden y (t) = f (t, y(t)) con y y f (t, y) como se indica en (7.3)
(7.4). La condicin inicial es y(0) = (y1 (0), y2 (0))T = (1, 0)T , adems
f (1) (t, y) = ft (t, y) + fy (t, y) f (t, y) =
0
0
0
1
2
w 0
y2
w2 y1
= w2
y1
y2
Tomando w = 2, se obtiene
f (t, y) = (y2 , 4y1 )T ,
y el mtodo de Euler y Taylor de segundo orden con h = 0.1 producen los resultados
mostrados en la Figura 7.5. En este caso es ms evidente la superioridad del mtodo de
Taylor de segundo orden que en el caso anterior, pues la solucin obtenida con el mtodo
de Euler se deteriora dramticamente conforme avanza el tiempo. El mtodo de Taylor de
segundo orden (7.14) produce resultados satisfactorios debido a que toma en cuenta el cambio
de concavidad de la solucin en la funcin del mtodo (t , y; h) = f (t, y) + h f (1) (t, y)/2,
mientras el mtodo de Euler no. Por lo tanto, la acumulacin del error con el mtodo de
Euler es mucho mayor que lo esperado, de acuerdo a su orden. Por esta razn, el mtodo de
188
L. Hctor Jurez V.
Exacta
Euler
Taylor
2
1
x(t)
0
1
2
3
0
Tiempo
una de las principales desventajas de los mtodos de Taylor de orden mayor es que es
necesario calcular derivadas de orden superior f (k) (t, y). Por esta razn los investigadores
optaron por buscar mtodos de orden mayor al mtodo de Euler pero sin la necesidad de
calcular derivadas de f (t, y). En la siguiente seccin se introduce la clase de mtodos ms
conocidos con esa propiedad: los denominados mtodos de Runge-Kutta.
7.4.
Mtodos de Runge-Kutta
En el mtodo de Euler, para calcular y(t + h) a partir de y(t), se corrige el valor y(t)
sumando hf (t, y), para obtener
yaprox = y(t) + hf (t, y),
donde yaprox denota una aproximacin al valor exacto y(t + h). La Figura 7.6 ilustra la
diferencia entre yaprox y y(t + h). Se toma en cuenta que f (t, y) = y (t) representa la
pendiente de la tangente a y en t.
Habiendo hecho esta descripcin geomtrica, observamos que para mejorar el clculo es
necesario seguir una mejor direccin a partir del punto (t, y(t)). Esto se logra reevaluando
la pendiente a la mitad del intervalo [t, t + h], y entonces seguir la pendiente revisada sobre
Anlisis Numrico
189
yaprox
Pendiente
1
y (t)=f(t,y)
y(t+h)
y(t)
t+h
Pendiente revisada:
yaprox
Nuevo mtodo:
h
h
, y + f (t, y)
2
2
h
h
= y + h f t + , y + f (t, y)
2
2
t+
h
h
, y + f (t, y)).
2
2
yaprox
m=f(t+h/2,y+h/2 f(t,y))
y(t+h)
y(t)
t+h/2
t+h
190
L. Hctor Jurez V.
y escribimos:
Mtodo de Euler modificado (o mejorado)
k (t, y) = f (t, y)
1
k2 (t, y) = f (t + h2 , y + h2 k1 )
yaprox = y + hk2
(7.21)
m2=f(t+h,y+hf(t,y))
yaprox
y(t+h)
m1=f(t,y)
m= m1+m2
2
t+h
k (t, y) = f (t, y)
1
k2 (t, y) = f (t + h, y + hk1 )
yaprox = y + h (k1 + k2 )
2
(7.22)
Anlisis Numrico
191
En este caso
1
(t, y; h) = [f (t, y) + f (t + h, y + hf (t, y))].
2
En los algoritmos usualmente no se utiliza la letra m para denotar las pendientes en los mtodos. En su lugar se utliza la letra k. Las ventajas que se obtienen con estas modificaciones
para revaluar la pendiente son bsicamente dos:
1. Los mtodos obtenidos tienen un orden p = 2, el cual es mayor que el mtodo de Euler.
2. No se evalan derivadas de f . Slo se evala f dos veces en cada paso de tiempo.
7.5.
Una forma ms sistemtica para obtener los mtodos anteriores (7.21) y (7.22) consiste
en suponer que es un promedio pesado de dos pendientes k1 y k2 . Es decir
(t, y; h) = 1 k1 + 2 k2
con 1 + 2 = 1, 1 , 2 0, y
k1 (t, y) = f (t, y),
k2 (t, y) = f (t + h, y + hk1 ),
En las pendientes anteriores el parmetro expresa que fraccin de tiempo nos movemos
entre t y t + h. La idea fundamental de los mtodos de RungeKutta es intentar escoger los
parmetros 1 , 2 y de tal manera que el orden del mtodo se pueda maximizar. Es decir,
de tal forma que
T (t, y; h) = (t, y; h)
y(t + h) y(t)
h
= 1 f (t, y) + 2 f (t + h, y + hk1 )
= O(hp ), h 0
y(t + h) y(t)
h
2 h2
[ftt + 2fty + f T fyy f ](t, y) + O(h3 )
2
192
L. Hctor Jurez V.
Anlogamente
y(t + h) y(t)
h
h2
= y (t) + y (t) + y (3) (t) + O(h3 )
h
2
3!
h (1)
h2
= f (t, y) + f (t, y) + f (2) (t, y) + O(h3 )
2
6
h
= f (t, y) + [ft + fy f ](t, y)
2
h2
+ [ftt + 2fty f + f T fyy f + fy (ft + fy f )](t, y) + O(h3 )
6
Sustituyendo estas dos expresiones en la expresin del error de truncamiento, obtenemos:
T (t, y; h) = 1 f + 2 f + h[ft + fy f ] +
2 h2
[ftt + 2fty f + f T fyy f ]
2
h2
h
[ft + fy f ] [ftt + 2fty f + f T fyy f + fy (ft + fy f )] + O(h3 )
2
6
= (1 + 2 1)f + (2 1/2)h[ft + fy f ]
f
h2
1
(2 2 1/3)(ftt + 2fty f + f T fyy f ) fy (ft + fy f ) + O(h3 )
2
3
1 = 1 2
y =
1
.
22
Se puede verificar muy fcilmente que el mtodo de Euler modificado se obtiene escogiendo
2 = 1, y el mtodo de Heun se obtiene escogiendo 2 = 1/2. Otra posible eleccin se
obtiene considerando la funcin principal del error
(x, y) =
1
1
1
1
(
)(ftt + 2fty f + f T fyy f ) fy (ft + fy f ) (t, y)
2 42 3
3
Obsrvese que la suma de los valores absolutos de los coeficientes se puede minimizar si
escogemos 2 = 3/4, con lo cual se obtiene
1
1 = ,
4
3
2 = ,
4
2
= .
3
Anlisis Numrico
193
k = f (t, y)
1
k2 = f (t + 23 h, y + 23 hk1 )
Ejemplo 7.13. Resolvemos de nuevo el problema del oscilador armnico simple con w = 2,
utilizando el mtodo de Euler modificado y el mtodo de Heun con h = 0.1 en el intervalo
0 t 2.
Hacemos la transformacin de la ecuacin de segundo orden a un sistema de dos ecuaciones
de primer orden como en el ejemplo anterior. Los resultados numricos con los mtodos
de Euler modificado y Heun son casi idnticos: En la Figura 7.9 se muestra una grfica de
la solucin exacta x(t) = cos(2t) junto con las soluciones aproximadas; en la Tabla 7.2 se
muestra el error, cada dos pasos de tiempo en la ltima porcin del intervalo de tiempo,
as como la diferencia en valor absoluto de los resultados obtenidos con ambos mtodos. Se
observa una diferencia entre ambos mtodos de orden 1016 , la precisin de la mquina.
1.5
1
Exacta
Euler Modificado
Heun
0.5
x(t) 0
0.5
1
1.5
0
Tiempo
194
L. Hctor Jurez V.
t
Error Euler-mod
Error Heun
Dif. EM y Heun
4.5
4.7
4.9
5.1
5.3
5.5
5.7
5.9
6.1
6.3
3.1253742e-2
9.0537770e-3
1.6663189e-2
4.1764547e-2
6.1892396e-2
7.3214496e-2
7.3133807e-2
6.0827900e-2
3.7512415e-2
6.3655670e-3
3.1253742e-2
9.0537770e-3
1.6663189e-2
4.1764547e-2
6.1892396e-2
7.3214496e-2
7.3133807e-2
6.0827900e-2
3.7512415e-2
6.3655670e-3
7.7715612e-16
8.8817842e-16
6.6613381e-16
2.2204460e-16
5.5511151e-17
4.4408921e-16
6.1062266e-16
8.8817842e-16
7.7715612e-16
6.6613381e-16
7.6.
En forma anloga en como se introducen los mtodos de dos etapas se pueden generar
mtodos de orden mayor. Por ejemplo, en un mtodo de r etapas se proponen r pendientes
de la forma
k1 (t, y) = f (t, y),
k2 (t, y) = f (t + 2 h, y + h21 k1 ),
k3 (t, y) = f (t + 3 h, y + h31 k1 + h32 k2 ),
..
.
kr (t, y) = f (t + r h, y + hr1 k1 + hr2 k2 + . . . + hr,r1 kr1 ),
donde los incrementos 2 , 3 , . . . , r se escogen para para que 2 = 21 , 3 = 31 + 32 , . . .,
r = r1 + r2 + . . . + r,r1 . Posteriormente se forma un promedio ponderado de las
pendientes propuestas, para obtener
(t, y; h) = 1 k1 + 2 k2 + . . . + r kr
de tal manera que 1 + 2 + . . . + r = 1. As que
yaprox = y(t) + h(t, y; h)
Anlisis Numrico
195
Los parmetros introducidos se escogen en la forma adecuada para obtener el mximo orden
en el error de truncamiento. Es decir de tal forma que
y(t + h) y(t)
T (t, y; h) = (t, y; h)
=
h
= O(hp ),
i ki
i=1
y(t + h) y(t)
h
h0
con p mximo.
El procedimiento es ms engorroso que en el caso de los mtodos de dos etapas, y no
intentaremos abordarlo con detalle. Basta decir que el algoritmo general de r etapas requiere
r evaluaciones de f por cada paso del tiempo. El mtodo ms popular es el denominado
mtodo de Runge-Kutta de cuarto orden. Este es un mtodo de cuatro etapas y viene dado
por
Mtodo de Runge-Kutta clsico (r=4) o RK4
k1 (t, y) = f (t, y),
h
1
k2 (t, y) = f (t + , y + hk1 )
2
2
h
1
k3 (t, y) = f (t + , y + hk2 )
2
2
k4 (t, y) = f (t + h, y + hk3 )
h
yaprox = y(t) + (k1 + 2k2 + 2k3 + k4 )
6
Obsrvese que en este caso
1
(t, y; h) = (k1 + 2k2 + 2k3 + k4 ).
6
El mtodo es de orden p = 4, y cuando la funcin f (t, y) no depende de y se puede demostrar
t
fcilmente que este mtodo se reduce al mtodo de Simpson para calcular t0 f ( )d . En
forma anloga puede demostrarse que si f (t, y) no depende explcitamente de y, el mtodo
de Euler modificado se reduce al mtodo del punto medio para aproximar la integral de f (t),
y el mtodo de Heun se reduce al mtodo del trapecio.
En la Figura 7.10 se muestran los resultados numricos que se obtienen cuando se utiliza
el mtodo de Runge-Kutta clsico con h = 0.1, para resolver la ecuacin del oscilador
armnico simple con w = 2 en 0 t 2. En el Cuadro 7.3 se muestran los valores de
la solucin numrica y el error para valores desde t = 4.5 hasta t = 6.3 cada dos pasos del
tiempo. Estos resultados muestran la superioridad del mtodo RK4 respecto de los mtodos
anteriores.
196
L. Hctor Jurez V.
1.5
Exacta
RungeKutta 4
1
0.5
x(t)
0.5
1
1.5
0
Tiempo
Sol. RK-4
Error
Sol. RK-4
Error
4.5
4.7
4.9
5.1
5.3
-9.1106338e-1
-9.9966920e-1
-9.3045331e-1
-7.1434336e-1
-3.8545771e-1
6.6886305e-5
2.3846367e-5
2.7034469e-5
7.7709332e-5
1.1952256e-4
5.5
5.7
5.9
6.1
6.3
4.2810183e-3
3.9334320e-1
7.2030612e-1
9.3355101e-1
9.9941230e-1
1.4467967e-4
1.4766633e-4
1.2636242e-4
8.2637098e-5
2.2289544e-5
Cuadro 7.3: Resultados con el mtodo RK4 para el oscilador armnico simple.
7.7.
Para el estudio de la estabilidad y convergencia de los mtodos de un paso, consideraremos el caso ms general en el que el paso del tiempo puede ser variable:
yi+1 = yi + hi (ti , yi ; hi ).
A continuacin introducimos algunas definiciones y notacin til para el estudio de la convergencia y estabilidad de los mtodos de un paso.
Mallas. Una malla en [a, b] es un conjunto de puntos {ti }N
i=0 tales que
a = t0 < t1 < . . . < tN = b,
Anlisis Numrico
197
con vi Rn ,
= max
0iN
vi ,
(7.23)
yi+1 = yi + hi (ti , yi ; hi ),
(7.24)
Si Rh yh 0 , entonces yh = {yi }N
i=0 resuelve la ecuacin en diferencias (7.23)(7.24).
198
L. Hctor Jurez V.
Si hacemos la interpretacin
(Rh y)(t) :=
y(t + h) y(t)
(t, y; h),
h
entonces
(Rh y)(t) = T (t, y; h).
7.7.1.
Estabilidad
La estabilidad es una propiedad del esquema numrico solamente, y no tiene nada que ver
con la precisin o poder de aproximacin del mismo. La estabilidad caracteriza la robustez
del esquema con respecto a las perturbaciones pequeas. Es decir, pequeos cambios en los
datos , producen cambios pequeos en las soluciones numricas. Veremos que la estabilidad
del esquema junto con la consistencia del mismo, implica la convergencia de la solucin
numrica a la solucin exacta.
Definicin 7.14. El mtodo (7.23)(7.24) es estable sobre [a, b] si existe K > 0, independiente de cualquier malla h sobre [a, b], tal que para cualesquier dos funciones de malla
N
yh = {yi }N
i=0 , wh = {wi }i=0 , se satisface
y h wh
K( y0 w0 + Rh yh Rh wh
con = {i }N
i=0
w0 = y0 + 0 ,
Anlisis Numrico
199
K( 0 +
(7.25)
Esta ltima relacin nos indica que el mtodo (7.23)(7.24) es estable si el cambio global en
yh es del mismo orden de magnitud que los errores residuales = {i }N
i=0 y el error inicial
0 . Tambin observamos que Rh wh = significa que para 0 i N 1, (Rh wh )i = ()i , es
decir
wi+1 wi
(ti , wi ; hi ) = i ,
h
o bien
wi+1 = wi + hi (ti , wi ; hi ) + hi i .
De la ltima expresin se deduce que el efecto del error de redondeo se desvanece cuando
|h| 0, pues
wi+1 wi + hi (ti , wi ; hi ) cuando |h| 0.
Teorema 7.15. El mtodo (7.23)(7.24) es estable si (t, y; h) satisface una condicin de
Lipschitz con respecto a y sobre [a, b] Rn [0, h0 ] con h0 > 0. Es decir, si
(t, y; h) (t, y ; h) M y y ,
y, y Rn
N
N
Demostracin. Sea h = {hi }N
i=1 una malla en [a, b] y sean yh = {yi }i=0 , wh = {wi }i=0 dos
funciones de malla. Se satisface
i = 0, 1, . . . , N 1
(7.26)
200
L. Hctor Jurez V.
ei+1
(1 + hk M )e0 + h0
k=0
(1 + hk M )+h1
k=1
(1 + hk M )
k=2
+ + hi1 (1 + hi M ) + hi .
Se puede demostrar facilmente que cada uno de los productos es menor o igual a e(ba)M
pues 1 + hk M ehk M y N
k=1 hk = b a. As que
i
= yh wh
i
k=0 hk
e(ba)M
K
b a. Por lo tanto
y0 w0 + (b a) Rh yh Rh wh
y0 w0 + Rh yh Rh wh
con K = e(ba)M m
ax{1, b a}
Entonces
1
f (t, y) f (t, y ) + f (t + h, y + hk1 ) f (t + h, y + hk1 )
2
donde k1 = f (t, y ). Por la desigualdad del tringulo y la condicin de Lipschitz se obtiene
(t, y; h) (t, y ; h)
(t, y; h) (t, y ; h)
L
L
y y +
y + hk1 y hk1
2
2
Lh
L2 h
L y y +
f (t, y) f (t, y ) L y y +
y y .
2
2
Tomando M = L(1 +
hL
2 )
Anlisis Numrico
7.7.2.
201
Convergencia
0iN
es decir si yh y
0 cuando |h| 0.
Teorema 7.18. Si el mtodo (7.23)(7.24) es consistente y estable sobre [a, b], entonces el
mtodo es convergente.
N
Demostracin. Sea yh = {yi }N
i=0 solucin de (7.23)(7.24), y sea y = {y(ti )}i=0 solucin
de (7.1)(7.2) en los puntos de malla. Entonces, debido a la estabilidad
yh y
K{ y0 y(t0 ) + Rh yh Rh y
},
K Rh y = K T (, y; h)
= O(|h|p )
0, cuando |h| 0
Conclusin. Todos los mtodos de un paso que se han considerado en esta seccin son
estables y convergentes, y de orden p 1, bajo suposiciones razonables de suavidad para
f (t, y).
7.8.
202
L. Hctor Jurez V.
en forma anloga, el error global contiene un trmino lider que describe la distribucin del
error global yh y cuando |h| 0. Es decir, estamos interesados en el comportamiento
asinttico de yi y(ti ), i = 1, . . . , N . El siguiente teorema indica que, bajo suposiciones
razonables, el trmino lider del error global es una funcin (t) que resuelve el problema
variacional
d
= fy (t, y) + (t, y), a < t b
dt
(a) = 0
Para simplificar la exposicin consideraremos que la malla es uniforme, es decir hi = h,
i = 1, . . . , N .
Teorema 7.19. Supngase que
a) (t, y; h) C 2 [a, b] Rn [0, h0 ],
b) es un mtodo de orden p 1 con funcin del error principal (t, y) continua sobre
[a, b] Rn .
c) (t) es la solucin del problema de valores iniciales.
d
= fy (t, y(t)) + (t, y(t)), a < t b
dt
(a) = 0
(7.27)
(7.28)
entonces
yi y(ti ) = (ti )hp + O(hp+1 ), cuando |h| 0
(7.29)
para i = 1, . . . , N .
Antes de demostrar este teorema hacemos las siguientes observaciones:
1. El significado preciso de la expresin (7.29) es
yh y hp
N
N
donde y = {y(ti )}N
i=0 , yh = {yi }i=0 , = {i }i=0 son funciones de malla y
define como el valor mximo en valor absoluto de la funcin de malla.
se
2. Como (t, y; 0) = f (t, y), entonces la primera suposicin del teorema implica que
f C 2 sobre [a, b]Rn , y esto ltimo es ms que suficiente para garantizar la existencia
y unicidad de la solucin (t) del problema (7.27)(7.28) sobre [a, b].
Anlisis Numrico
203
Demostracin. Utilizando el teorema de Taylor o el teorema del valor medio, y la consistencia del mtodo, se puede demostrar (Gautschi) que
(ti , yi ; hi ) (ti , y(ti ); hi ) = fy (ti , y(ti )) [yi y(ti )] + O(hp+1 )
(7.30)
Para resaltar el trmino lider en el error global, definimos la funcin de malla = (yh y)/hp ,
es decir i = (yi y(ti ))/hp implica
i+1 i
1 yi+1 y(ti+1 ) yi y(ti )
=
h
h
hp
hp
1 yi+1 yi y(ti+1 ) y(ti )
= p
h
h
h
1
= p [(ti , yi ; h) {(ti , y(ti ); h) T (ti , y(ti ); h)}]
h
En la ltima igualdad se ha hecho uso de que
y(ti+1 ) y(ti )
h
Adems, si hacemos uso de la expresin del error de truncamiento en trminos del error
principal
T (ti , y(ti ); h) = (ti , y(ti ))hp + O(hp+1 ),
yi+1 = yi + h(ti , yi ; h) y T (ti , y(ti ); h) = (ti , y(ti ); h)
1
(ti , yi ; h) (ti , y(ti ); h) + (ti , y(ti ))hp + O(hp+1 )
hp
yi y(ti )
= fy (ti , y(ti ))
+ (ti , y(ti )) + O(h)
hp
= fy (ti , y(ti ))i + (ti , y(ti )) + O(h),
=
0 = 0
la cual puede verse como el mtodo de Euler para aproximar la ecuacin (7.27). Dado que
el mtodo de Euler es estable y la funcin g(t, y) = fy (t, y(t)) + (t, y(t)) es lineal en y, sta
satisface una condicin de Lipschitz. Entonces se satisface la condicin
K[ 0 0 + Rh Rh
= K T (, ; h) = O(h)
204
7.9.
L. Hctor Jurez V.
(7.32)
yi+1 = yi + h(ti , yi ; h)
(7.33)
(7.34)
Anlisis Numrico
205
yh yh
1
1 1/2p hp+1
(7.35)
Obsrvese que yh es el resultado de aplicar sobre dos pasos consecutivos de tamao h/2,
mientras que yh es el resultado de una aplicacin de sobre el intervalo completo de tamao
h. Este procedimiento es costoso. Por ejemplo, para un mtodo de Runge-Kutta de cuarto
orden se necesitan 11 evaluaciones de f por paso, es decir casi el triple nmero de evaluaciones
necesarias para un paso del mtodo simple de Runge-Kutta. Por esta razn es que el mtodo
de extrapolacin de Richardson normalmente se utiliza despus de cada dos pasos de , es
decir se calcula
yh = y + h(t, y; h)
y2h
= yh + h(t + h, yh ; h)
y2h y2h
1
2(2p 1) hp+1
= (t, y) + O(h)
206
L. Hctor Jurez V.
A continuacin presentamos un mtodo ms eficiente.
(orden p)
(orden p + 1).
Dado que
y(t + h) y(t)
h
y(t
+
h)
y(t)
(t, y; h)
h
(t, y; h)
(7.36)
1
[(t, y; h) (t, y; h)]
hp
(7.37)
es una aproximacin de orden O(h) de la funcin principal del error (t, y) para el mtodo
de orden p con (t, y; h). Para que el mtodo valga la pena es necesario que sea ms eficiente
que los mtodos de extrapolacin. Siguiendo la idea de Fehlberg, esto se puede lograr encajando o anidando un mtodo de RungeKutta de orden p dentro de otro de orden p + 1. La
forma explcita de construir este tipo de procedimiento se muestra con el siguiente ejemplo.
yi+1
= yi + h (ti , yi ; h),
Anlisis Numrico
207
1 + 2 + 3 + 4 = 1,
1
2 2 + 3 3 + 4 4 = ,
2
1
2 32 3 + (2 42 + 3 43 )4 = .
6
Este sistema de ecuaciones tiene una infinidad de soluciones, y se pueden imponerse restricciones adicionales para reducir el costo del mtodo. Por ejemplo, puede pedirse que k4 en el
isimo paso sea reusable como k1 en el (i + 1)simo paso. Es decir, podemos imponer
f (t + h, y + h) f (t + 4 h, y + h[41 k1 + 42 k2 + 43 k3 ]),
lo cual produce las restricciones adicionales
4 = 1,
41 = 1 ,
42 = 2 ,
43 = 3 .
208
L. Hctor Jurez V.
r
r1
r2
r3
1
2
3
4
0
1/4
27/40
1
0
1/4
189/800
214/891
729/800
1/33
650/891
214/891
1/33
650/891
533/2106
0
800/1053
1/78
yi+1
= yi +
(533k1 + 1600k3 27k4 ).
2106
k2 = f (ti +
(7.38)
(7.39)
(7.40)
(7.41)
(7.42)
(7.43)
yi+1 yi+1
= h[(ti , yi ; h)) (ti , yi ; h))] = h3 r(ti , yi ; h),
(ver ecuacin (7.37) con p = 2). Supngase que queremos que el error global sea menor a un
valor dado (tolerancia). Para que esto ocurra se debe cumplir que
yi+1 yi+1
= h3 r(ti , yi ; h) .
(7.44)
Para que el nuevo paso del tiempo hnew sea exitoso, es decir produzca un error menor a ,
se debe satisfacer
r(ti+1 , yi+1 ; h) h3new .
(7.45)
Anlisis Numrico
209
yi+1 yi+1
h3
yi+1 yi+1
h3new
h3
Por lo tanto, para garantizar que el error global sea menor a en cada paso debemos escoger
1/3
hnew h
yi+1 yi+1
hnew h
(7.46)
yi+1 yi+1
yi+1 yi+1
1/p
y 0.9
0 < t 10 ,
x(0) = 1 ,
x (0) = 0.
Con c = 0, se obtiene la ecuacin del oscilador armnico simple. Si c = 0, la ecuacin es
no lineal. Primero, transformamos la ecuacin en un sistema de dos ecuaciones diferenciales
ordinarias de primer orden.
y1 (t) = x(t) y1 (t) = y2 (t)
y2 (t) = x (t) y2 (t) = c(1 y1 (t)2 )y2 (t) y1 (t)
210
L. Hctor Jurez V.
0 1
1 c
y1
y2
0
cy12 y2
1
0
, y0 =
6
0
10
15
tiempo
20
25
Figura 7.11: Solucin de la ecuacin de Van der Pol. Mtodo RKF3 con
30
= 0.01
6
4
2
x(t)
0
2
4
6
2
1.5
0.5
0.5
1.5
x(t)
Anlisis Numrico
211
y se requieren 10/0,1 314 pasos del tiempo, es decir cerca del doble. Con el objeto de
obtener una mejor solucin, escogemos la tolerancia del error como = 104 , y repetimos el
clculo. Las Figuras 7.13 y 7.14 muestran la solucin. En este caso se necesitan 501 pasos
6
x(t)
x(t)
4
2
0
2
4
6
0
10
15
tiempo
20
25
30
= 104 .
6
4
2
x(t)
0
2
4
6
0
x(t)
del tiempo. Con un mtodo de paso fijo se necesitaran 3142 pasos del tiempo para obtener
la misma precisin, es decir ms de 6 veces que con paso variable.
7.9.1.
Este es un mtodo que tambin es muy usado en la prctica. En este caso se combinan
un mtodo de orden p = 4 con uno de orden p + 1 = 5. Evitando los detalles de deduccin
212
L. Hctor Jurez V.
k2 = f
k3
k4
k5
k6
yi+1
yi+1
ti +
yi+1 yi+1
1/4
donde es la tolerancia deseada para el error global. En ocasiones, en lugar de calcular yi+1
ei+1 = h
1
128
2197
1
2
k1
k3
k4 + k5 + k6
360
4275
75240
50
55
Anlisis Numrico
213
6
x(t)
x(t)
4
2
0
2
4
6
0
10
15
tiempo
20
25
30
0
x(t)
en la atmsfera terrestre. A principios de la dcada de los 60 del siglo pasado, Lorenz accidentalmente descubri el comportamiento catico de este sistema al encontrar que, para un
sistema de ecuaciones simplificado, las soluciones peridicas crecan cuando un parmetro
(el nmero de Rayleigh) excede el valor crtico. Bajo estas circunstancias, se encontraron
soluciones mucho muy diferentes cuando las condiciones iniciales se cambiaban muy poco.
El sistema simplificado es
d y1
= y1 + y2 y3 ,
dt
d y2
= y2 y3 ,
dt
d y1
= y1 y2 + y2 y3 ,
dt
214
L. Hctor Jurez V.
y (t)
1
y3(t)
40
40
45
50
Tiempo
55
60
Figura 7.17: Historia en tiempo de y1 (t) y y3 (t) con 40 < t < 60.
Anlisis Numrico
215
rbita Tridimensional
20
y3 0
20
15
10
y2
5
10
15
10
15
20
25
30
35
y1
40
216
L. Hctor Jurez V.
Bibliografa
[1] E. Isaacson, H. B. Keller, Analysis of Numerical Methods, Wiley 1966.(Dover en 1994).
[2] W.Gautschi, Numerical Analysis: An Introduction, Birkhauser, 1998.
[3] L. N. Trefethen, D. Bau III, Numerical Linear Algebra, SIAM, 1997.
[4] S. D. Conte, C. de Boor, Elementary Numerical Analysis, Mc. Graw-Hill 3rd. Ed. 1980
[5] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, Springer-Verlag 1st. Ed. 1980,
2nd. Ed. 199, 3rd. Ed. 2002.
[6] Cleve Moler, Numerical Computing Whit Matlab, Disponible en linea:
http://www.mathworks.com/moler/index.html
[7] J. M. Ortega, Numerical Analysis: A Second Course, Classics in Applied Mathematics,
SIAM, 1990.
[8] P. Henrici, Elements of Numerical Analysis, Wiley 1964.
[9] A. Quarteroni, R. Sacco, F. Saleri, Numerical Mathematics, Text in Applied Mathematics 37, Springer, 2000.
[10] E. Suli, D. F. Mayers, An Introduction to Numerical Analysis, CUP, 2003.
[11] S. Ross, Simulation, Academic Press, 2nd. Ed. 1997.
[12] G.Golub, C. Van Loan, Matrix Computation, John Hopkins University Press, 2nd. Ed.
1989, 3rd. Ed. 1996.
[13] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes: The
Art of Scientific Computing, Cambridge University Press. Gratis versiones para F77,
F90 y C en
http://www.lanl.gov/numerical/index.html
217
218
L. Hctor Jurez V.
[14] G. Engeln-Mullges, F. Uhlig, Numerical Algorithms whit Fortran, Springer-Verlag, Berlin, 1996. QA297 E5.6613
[15] Hammerlin, Gunther-Karl-Heinz Hoffmann, Numerical Mathematics, Springer-Verlag.
QA297 H2.53
[16] R. Burden, J. D. Faires, Anlisis Numrico, Grupo Editorial Iberoamericana, 2a. Ed.
1996.
[17] K. E. Atkinson, An introduction to Numerical Analysis, Wiley 1st Ed.1978, 2nd. Ed.
1989.
[18] D. Kincaid, W. Cheney, Numerical Analysis: Mathematics of Scientific Computing,
Books/Cole Pub. Co., 2nd Ed. 1996.