Professional Documents
Culture Documents
L. Hctor Jurez V.
Departamento de Matemticas,
Universidad Autnoma Metropolitana.
hect@xanum.uam.mx
3 de septiembre de 2008
L. Hctor Jurez V.
ndice general
1. Aritmtica Computacional
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
L. Hctor Jurez V.
2.2.4. Estabilidad de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.5. Estabilidad regresiva (Backward-Stability) . . . . . . . . . . . . . . . . 37
2.2.6. Precisin de un algoritmo estable regresivo . . . . . . . . . . . . . . . . 38
41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2. Factorizacin LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3. Inestabilidad del mtodo de eliminacin de Gauss . . . . . . . . . . . . . . . . 51
3.4. Tcnicas de pivoteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.1. Pivoteo completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.2. Pivoteo parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.3. Factorizacin LU con pivoteo parcial . . . . . . . . . . . . . . . . . . . 56
3.5. Clculo de la inversa de una matriz . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6. Estabilidad del mtodo de eliminacin de Gauss con pivoteo . . . . . . . . . . 60
3.7. Mtodo de Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.1. Matrices definidas positivas . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.2. Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7.3. El algoritmo de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.4. Estabilidad del algoritmo de Choleski
. . . . . . . . . . . . . . . . . . 69
71
. . . . . . . . . . . . . . . . . . . . 79
Anlisis Numrico
101
129
. . . . . . . . . . . . . . . . 138
L. Hctor Jurez V.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
161
. 161
. 165
. 166
. 173
. 175
. 179
. 181
. 182
. 185
. 186
. 188
. 196
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 el momento no hemos incluido los ejemplos cubiertos en taller de cmputo,
los cdigos de cmputo correspondientes, ni tampoco hemos incluido una lista de ejercicios
de cada tema. Estas son tareas pendientes que iremos cubriendo poco a poco.
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
L. Hctor Jurez V.
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 .
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 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.
Del ejemplo anterior, concluimos que la limitacin ms fuerte para representar nmeros
en una computadora digital es que slo se puede contar con un nmero finito de bits para
cualquiera de las arquitecturas. De aqu que en una computadora digital
1. Slo se puede representar de manera exacta un nmero finito de nmeros.
2. No se puede representar nmeros arbitrariamente grandes o arbitrariamente pequeos.
3. Existen vacios claros entre los nmeros con representacin exacta.
Afortunadamente en las computadoras modernas se pueden representar nmeros suficientemente grandes y nmeros suficientemente pequeos (desde un punto de vista prctico).
Por ejemplo, en la aritmtica ms ampliamente usada en la actualidad (IEEE, Institute of
Electric and Electronic Engineers) en doble precisin permite nmeros tan grandes como
1,79 10308 (= 21024 ) y nmeros tan pequeos como 2,23 10308 (= 21022 ). Sin embargo
el vaco, claro o brecha entre nmeros de mquina es un problema permanente en la computacin. Por ejemplo, el intervalo [1,2] se representa por el conjunto discreto y finito, 1,
1 + 252 , 1 + 2 252 , 1 + 3 252 , . . . , 1 + 252 252 = 2.
En la aritmtica IEEE de doble precisin los claros o vacos entre nmeros de mquina
adyacentes no son mayores a 252 2,22 1016 , en sentido relativo. Esto puede parecer
insignificante, y de hecho lo es para la mayora de algoritmos estables. Sin embargo, resulta
catastrfico para los algoritmos inestables. Ms adelante precisaremos los conceptos de
estabilidad e inestabilidad numrica.
En suma, los nmeros de punto flotante en una computadora binaria estn distribuidos
en forma no uniforme, la mayora de ellos concentrados cerca de cero. Esto es debido a
que entre potencias adyacentes de 2 (intervalos binarios) siempre hay la misma cantidad de
nmeros de mquina e igual a 2t (con t=52 para doble precisin). Por ejemplo en el intervalo
2e
2e x 2e+1 los nmeros estn igualmente espaciados con un incremento t , donde 2e =
2
longitud del intervalo y 2t = cantidad de nmeros de punto flotante en el intervalo binario.
Por lo tanto, hay una distribucin no uniforme de punto flotante, con una densidad mayor
2e
cerca del origen (es decir, el incremento t es cada vez menor conforme el exponente e es
2
ms negativo).
Anlisis Numrico
1.2.
13
Errores de redondeo
1.2.1.
Para introducir e ilustrar el concepto de redondeo utilizaremos la forma decimal normalizada, esto con el objeto de simplificar la exposicin. Si x es un nmero real cualquiera, entonces tiene una representacin decimal exacta de la forma x = 0.d1 d2 d3 dt dt+1 10n ,
con 1 d1 9, 0 di 9, para i = 1, 2, . . . , t, t + 1, . . ., y n un entero positivo o negativo.
Ejemplo 1.4. La forma decimal normalizada se ilustra con los siguientes nmeros fraccionarios:
1
= 0,909090 . . . 101 ,
11
15
x=
= 0,13636363 . . . 101 .
11
x=
1.2.2.
14
L. Hctor Jurez V.
si t = 6,
si t = 7.
Por otro lado, para obtener su representacin con redondeo a seis y siete cifras decimales
se hace lo siguiente: Si se toman seis cifras decimales (t = 6), entonces, 136363,6 + 0,5 =
136364,1, cuya parte entera es 136364. Por lo tanto f l(x) = 0,136364 101 (con 6 =
4 6= d6 = 3 ). Si se toman siete cifras decimales (t = 7), entonces tenemos 1363636,3 +
0,5 = 1363636,8, cuya parte entera es 1363636. Por lo tanto f l(x) = 0,1363636 101 (con
7 = 6 = d7 ).
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)| 21 101t |x|p, donde
p = 1 cuando se hace redondeo, y p = 2 cuando se hace truncamiento.
Demostracin. (Caso por truncamiento). Sea x = 0.d1 d2 dt dt+1 10n , f l(x) =
0.d1 d2 dt 10n , entonces
|x f l(x)| = 0. 0| {z
0} dt+1 dt+2 10n
tceros
0.dt+1 dt+2
10
0.d1 d2
ya que
0.dt+1 dt+2 d1 .d2 d3
(donde el punto entre d1 y d2 es un punto decimal). Por lo tanto
|x f l(x)| 101t |x|
cuando se hace truncamiento. Anlogamente puede considerarse el caso de redondeo:
1
|x f l(x)| 101t |x|.
2
Anlisis Numrico
15
(1.1)
1
|x f l(x)| 1t |x|,
2
(1.2)
1.2.3.
Epsilon de mquina
(1.4)
16
L. Hctor Jurez V.
1.3.
1.3.1.
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).
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,2 107
2,8 1017
3,6 1015
9,5 107
2,2 1016
IEEE estadard
min e
max e
maq
Simple
Doble
Cuadruple
2
2
2
23
52
112
-126
-1022
-16382
127
1023
16383
1,2 107
2,2 1016
1,9 1034
Anlisis Numrico
17
llamadas operaciones de punto flotante sobre F. Para distingir las operaciones aritmticas
usuales de las operaciones de punto flotante, a estas ltimas se les denota por los smbolos
, , , ,, respectivamente.
1.3.3.
(Propiedad de diseo).
(1.6)
(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
x y=(x + y)(1 + )
x y=(x y)(1 + )
para algn , con || maq .
x y=(x y)(1 + )
x y=(x y)(1 + )
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.
Captulo 2
Condicionamiento y Estabilidad
2.1.
Normas de matrices
2.1.1.
y kxk = 0 si y solo si x = 0
R,
3. kx + yk kxk + kyk ,
x V
x, y V
kxk1 =
2. norma2:
kxk2 =
3. normap :
Pn
i=1 |xi |
Pn
2
i=1 |xi |
1
P
kxkp = ( ni=1 |xi |p ) p
(p 1)
19
20
L. Hctor Jurez V.
4. norma :
forme)
La Figura 2.1 muestra la bolas unitarias bidimensionales (n = 2) en cada una de las normas
anteriores. Por la bola unitaria en una norma kk entendemos el conjunto {x Rn : kxk 1}.
Obviamente la bola unitaria en la norma euclideana es esfrica. Sin embargo, la bola unitaria
en las otras normas tienen otra forma. A medida que p aumenta la bola unitaria se tranforma
del diamante rombo al cuadrado, pasando por el crculo.
x2
x2
x2
(1,0)
x1
x2
(0,1)
(0,1)
(0,1)
(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 k k, una norma con peso puede escribirse como
kxkW = kW xk
donde W = diagonal(w1 , w2 , . . . , wn ) con wi 6= 0. Se puede generalizar el concepto de
normas pesadas permitiendo que W sea una matriz arbitraria no singular, no necesariamente
diagonal.
No es complicado verificar que las anteriores normas efectivamente satisfacen las propiedades 1, 2 y 3 en la definicin de norma. Para cada una de estas normas las propiedades 1 y
2 se satisfacen trivialmente. Por otro lado, es fcil verificar la desigualdad del tringulo para
la norma1 y la norma, pero para la norma euclideana o norma2 es necesario hacer uso
de la desigualdad de CauchySchwartz
x = (x1 , . . . , xn )T , y = (y1 , . . . , yn )T .
xi yi kxk2 kyk2
i=1
Anlisis Numrico
21
2.1.2.
x Rn .
xS
m
ax kxk = kx1 k.
xS
Entonces
kx0 k kxk kx1 k,
x S .
y
0
kx1 k.
kx k
kyk
Es decir,
kx0 kkyk kyk kx1 kkyk .
Por lo tanto,
mkyk kyk M kyk ,
y Rn
22
2.1.3.
L. Hctor Jurez V.
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 k k una norma vectorial en Rn , entonces la
norma de A inducida por esta norma vectorial se define por:
kAk := sup
x6=~0
kAxk
= sup kAxk
kxk
kxk=1
(2.1)
Ntese que estamos designando con el smbolo k k 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.
"
A=
1 2
0 2
Anlisis Numrico
23
x2
x2
(2,2)
(0,1)
(1,0)
x1
(1,0)
x2
x1
kAk1 = 4.
x2
(2,2)
(0,1)
(1,0)
x1
2.1.4.
(1,0)
x1
kAk = 3.
A continuacin daremos frmulas para calcular las normas matriciales inducidas por las
normas1, 2, .
La norma1 de una matriz: Si A es cualquier matriz de n n entonces kAk1 es igual a
la mxima suma por columnas (de los coeficientes en valor absoluto) de A.
Demostracin. Sea A = [~a1 | ~a2 | . . . | ~an ], donde ~ai es un vector columna en Rn . ConsideP
remos la bola unitaria en la norma1: {x Rn : nj=1 |xj | 1}. Cualquier vector Ax en la
imagen de este conjunto satisface:
X
n
n
n
X
X
X
kx
~
a
k
=
|x
|k~
a
k
m
a
x
k~
a
k
|xj |
x
~
a
kAxk1 =
j j 1
j
j 1
j 1
j j
1jn
j=1
j=1
j=1
j=1
1
24
L. Hctor Jurez V.
x2
x2
(2,2)
(0,1)
x1
(1,0)
(1,0)
max k~aj k1
1jn
x1
kAk2 = 2,9208
1jn
n
X
|aij |
(2.2)
i=1
j=1
1 2 1
A = 0 0 0 ,
1 1 2
encontrar kAk1 y kAk .
Solucin. kAk1 = mxima suma por columnas (en valor absoluto) = 3; mientras que
kAk = mxima suma por rengln (en valor absoluto) =4.
2.1.5.
En este caso es ms complicado hacer el clculo. Para ello necesitamos los conceptos de
valor propio, vector propio, as como del radio espectral de una matriz. Por ello revisaremos
Anlisis Numrico
25
Ax = x,
y en este caso a x se le conoce como el vector propio asociado a . La condicin hay algn
x 6= ~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 en la segunda condicin 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
det[A I] =
2
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
Radio espectral de una matriz. Dada una matriz A de n n, el radio espectral de A se
define como el mximo de las magnitudes de sus valores propios, y se denota por (A), es
decir,
(A) = max{ || : es valor propio de A }.
26
L. Hctor Jurez V.
Propiedad sobre los vectores propios de una matriz simtrica. Cualquier matriz
simtrica A de n n tiene un conjunto completo de vectores propios y este conjunto es
ortogonal. Es decir, si A = AT , entonces A tiene n vectores propios ~u1 , . . . , ~un Rn tal que
(
1 si i = j ,
~uTi ~uj = ij =
0 si i 6= j .
(2.4)
y AT A~ui = i ~ui ,
i, j = 1, . . . , n.
Adems
kA~ui k22 = (A~ui )T (A~ui ) = ~uTi AT A~ui = i ~uTi ~ui = i = 0 i = 1, . . . , n.
P
Dado que x Rn y los vectores propios forman una base, entonces x = ni=1 i ~ui para
algunas constantes i , i = 1, . . . , n, entonces
P
P
kAxk22 = (Ax)T (Ax) = xT AT Ax = ( ni=1 i ~ui )T AT A ni=1 i ~ui
Pn
Pn
Pn
Pn
T u =
=
uTi
uTi
ui
i
i=1 i ~
i=1 i A A~
i=1 i ~
i=1 i i ~
P
Pn
n
2
=
ax i i=1 i2
i=1 i i m
P
Tomando kxk2 = 1, se tiene que kxk22 = xT x = ni=1 i2 = 1. As que
q
kAxk22 max i = (AT A) kAk2 (AT A)
Para obtener la igualdad basta con encontrar algn x R con kxk2 = 1 tal que kAxk22 =
max i . Sea x = ~us el vector propio de AT A correspondiente al mayor valor propio, es decir,
s = max i . Entonces, claramente k~us k2 = 1, y adems
kA~us k22 = (A~us )T A~us = ~uTs AT A~us = ~uTs s ~us = s k~us k22
= s = max i = (AT A).
p
Concluimos que kAk2 = (AT A).
Anlisis Numrico
27
1 2 1
A = 0 0 0 ,
1 1 2
calcular kAk2 .
Solucin. Primero calculamos
2 1 1
AT A = 1 5 4 .
1 4 5
El polinomio caracterstio de AT A es
(AT A) = 9 = 3.
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.
kAk2 =
Dadas dos matrices A y B Rnn y una norma inducida k k, se satisfacen las siguientes
propiedades:
28
L. Hctor Jurez V.
1. kAxk kAk kxk,
x Rn .
2. (A) kAk.
3. kABk kAk kBk.
4. kA + Bk kAk + kBk (desigualdad del tringulo).
La propiedad 1 es consecuencia directa de la definicin de norma matricial inducida. La
propiedad 2 se obtiene de kAk = supkxk=1 kAxk kA~ui k = ki ~ui k = |i |k~ui k = |i | para
cualquier vector propio unitario ~ui de A con valor propio i . La propiedad 3 es consecuencia directa de la propiedad 1. Finalmente la propiedad 4 es simplemente la desigualdad del
tringulo para normas matriciales y es consecuencia de la desigualdad del tringulo en la
norma vectorial asociada.
Una norma matricial no natural (no inducida). La norma matricial no inducida ms
conocida es la denominada norma de Hilbert-Schmidt o norma de Frobenius definida por
1
2
n X
n
X
2
|aij |
kAkF =
i=1 j=1
1 2 1
A= 0 0 0
1 1 2
p
2.2.
Condicionamiento y estabilidad
En esta seccin discutiremos brevemente dos temas fundamentales del anlisis numrico,
a saber el condicionamiento y la estabilidad.
Condicionamiento: Se refiere al comportamiento bajo perturbacines de un problema expresado matemticamente.
Estabilidad: Se refiere al comportamiento bajo perturbaciones de un algoritmo utilizado
para resolver un problema en una computadora.
Anlisis Numrico
2.2.1.
29
Condicionamiento de un problema
2.2.2.
30
L. Hctor Jurez V.
= sup
x
kAxk
= kAk
kxk
Es decir, para un problema representado por una funcin diferenciable f con Jacobiano J,
su nmero de condicin absoluto en x es igual a la norma del Jacobiano en x.
f
J=
x1
f
= [1
x2
1].
2.2.3.
K = sup
x
kf k/kxk
kf (x)k/kxk
= sup
x
kf k/kf (x)k
kxk/kxk
(2.6)
Anlisis Numrico
31
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 0 (x) =
2 x
( 21 x )x
kJk kxk
1
K=
=
=
kf (x)k
2
x
Por lo tanto, el problema es bin condicionado.
kJ(x)k kxk
2 max{|x1 |, |x2 |}
=
|f (x)|
|x1 x2 |
32
L. Hctor Jurez V.
, 1 + )T (1, 1)T = ( , )T .
kf k /kxk
/
2
K = sup
= sup
= sup = .
kf (x)k /kxk
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
"
#
1
1000
A0 =
,
0,001
1
cuyos valores propios son ahora 01 = 0, 02 = 2, obteniendo un cambio drstico en los valores
propios. De hecho, esto mismo sucede con la matriz
"
#
1 10n
,
0 1
con n N, cuando la perturbamos por
"
1
10n
10n 1
#
.
Anlisis Numrico
33
kf k/kxk
kxk
kAxk kxk 2
1
Kx = sup
= sup
= kAk
kf (x)k/kxk
kAxk
x
x kxk kAxk
pero
kxk = 3 kA1 Axk kA1 k kAxk
Por lo tanto
K kA1 k kAk
K = kAk kA1 k.
Dado que hay una correspondencia 1-1 entre x y b (pues A es invertible), podemos calcular
el peor nmero de condicin
K = sup Kb = sup kA1 k
bRn
b6=~
0
bRn
b6=~
0
kAxk
kAxk
= kA1 k sup
= kA1 k kAk
n
kxk
kxk
xR
x6=~
0
Nota. En los dos ejemplos anteriores el mximo nmero de condicin del problema fu
kA1 k kAk. Esta expresin es muy comn en el lgebra lineal numrica, y se le llama
nmero de condicin de la matriz A, y se escribe
K(A) = kA1 k kAk.
1
f = f (x + x) f (x) = A(x + x) Ax = Ax
supx kAxk
= kAk
kxk
3
Suponiendo que A es no singular
4
b = Ax x = A1 b
2
34
L. Hctor Jurez V.
Observacin: Si A Rnn es una matriz simtrica no singular, kAk2 = (A) = max (A),
y en la norma-2:
|max (A)|
K(A) = cond(A) =
|mn (A)|
donde max (A) = max{|| : es valor propio de A}, y mn (A) se define en forma anloga.
EJEMPLOS DE MATRICES MAL CONDICIONADAS
Ejemplo 2.14. La matriz de Hilbert
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
1
..
.
..
.
..
.
..
.
..
.
K(Hn )
10
20
40
1,6 1013
2,45 1028
7,65 1058
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 Gantschi)
( 2 + 1)4n+4
1
K(Hn ) = kHn k2 kHn k2
cuando n .
215/4 n
En clase de laboratorio consideraremos con ms detalle esta matriz.
Ejemplo 2.15. Una matriz
1 t1
1 t2
Vn =
.. ..
. .
de Vandermonde es de la forma
t21 tn1
1
t22 tn1
2
nn
, con t1 , t2 , . . . , tn R.
.. . .
..
R
.
.
.
1 tn t2n
tn1
n
Anlisis Numrico
35
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 como veremos en clase de laboratorio.
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 fe : 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 fe, 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
e = x(1 + ) con kk 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 fe(x), el cual generalmente es
36
L. Hctor Jurez V.
x
x
e
Programa (conjunto de
fe(x)
operaciones)
Mnimamente el resultado fe(x) debe ser afectado por errores de redondeo, pero tambin,
y dependiendo de las circunstacias, puede ser alterado por otras complicaciones, como son
otros programas corriendo al mismo tiempo tambin por tolerancias de convergencia. Asi
que fe(x) puede de hecho tomar valores diferentes, en corridas diferentes, es decir, fe puede
ser un mapeo multivariado.
Precisin. fe 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 :
kfe(x) f (x)k
el
kfe(x) f (x)k
kf (x)k
en alguna norma k k. 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 fe es un buen algoritmo para el problema f si el error relativo
es de orden del epsilon de mquina, es decir, si
error relativo :
kfe(x) f (x)k
= O(maq )
kf (x)k
ke
x xk
= O(maq )
kxk
(2.8)
Anlisis Numrico
37
2.2.5.
Dato
x
x
redondeo + algoritmo
solucin analtica
Resultado
f(x)
f (
x)
donde x
= x(1 + ) con || maq . Arriba, f (
x) es la respuesta correcta a la pregunta casi
correcta x
.
Ejemplo 2.16. Analizar la estabilidad de la aritmtica de punto flotante para el caso de la
sustraccin de dos nmeros.
Solucin. El problema y el algorimto se pueden escribir de la siguiente manera
Problema: f : R2 R, f (x1 , x2 ) = x1 x2 .
Algoritmo: f : R R, f(x1 , x2 ) = f l(x1 ) f l(x2 ).
Por el axioma fundamental de la aritmtica de punto flotante
f(x1 , x2 ) = (f l(x1 ) f l(x2 ))(1 + 3 )
= (x1 (1 + 1 ) x2 (1 + 2 ))(1 + 3 )
= x1 (1 + 1 + 3 + 1 3 ) x2 (1 + 2 + 3 + 2 3 )
= x1 (1 + 4 ) x2 (1 + 5 )
=x
1 x
2
= f (
x1 , x
2 ) ,
donde |4 |, |5 | 2maq + O(2maq ). Adems x1 , x2 satisfacen
|
x1 x1 |
= O(maq ),
|x1 |
|
x2 x2 |
= O(maq ).
|x2 |
38
L. Hctor Jurez V.
Anlogamente, se puede verificar que los algoritmos , , son todos estable regresivos.
Asimismo, en forma anloga tambin mostrarse que el producto interno de dos vectores xT y,
x, y Rn es estable regresivo. Por otro lado, el producto externo xy T Rnx es estable,
la
pero no estable regresivo, pues A = xy T es una matriz de rango 1 exactamente, y A,
matriz calculada no puede generalmente escribirse en la forma (x + x)(y + y)T , pues muy
probablementese se obtendra una matriz de rango mayor a 1.
El uso del polinomio caracteristico p(x) = det[A I] para calcular los valores propios
de una matriz A es un algoritmo inestable. De hecho, anteriormente hemos encontrado que
el clculo de raices de un polinomio es un problema mal condicionado.
2.2.6.
kf(x) f (x)k
K(x)O(maq ) ,
kf (x)k
(x)k k(x)k
K(x) = supx ( kf
/ kxk )
kf (x)k
(2.10)
Anlisis Numrico
39
El proceso que hemos seguido en el anterior anlisis es conocido como anlisis regresivo
del error. Se obtiene una estimacin del error en dos pasos: en el primer paso se investiga
la condicin del problema; en el segundo paso se investigar 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.
40
L. Hctor Jurez V.
Captulo 3
3.1.
Eliminacin de Gauss
42
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
..
.
(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)
bi
(1)
para j = 2, 3, . . . , n
(1)
= bi mi1 b1
Haciendo lo anterior para cada rengln i = 2, . . . , n, obtenemos el nuevo sistema A(2) x = b(2)
que es:
(1)
(1)
(1)
(1)
a11 x1 + a12 x2 + + a1n xn = b1
(2)
(2)
(2)
(2)
(2)
(2)
a22 x2 + + a2n xn = b2
..
..
..
.
.
.
an2 x2 + + ann xn = bn
Anlisis Numrico
43
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 a la ltima ecuacin. Si a22 6= 0, primero se calculan los multiplicadores
(2)
(2)
(3)
i = 3, . . . , n .
ai2 = 0
(3)
(2)
(2)
bi
(2)
para j = 3, . . . , n
(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)
(1)
(2)
(2)
(2)
(2)
(3)
(3)
(3)
(n)
(n)
a33 x3 + + a3n xn = b3
..
..
.
.
ann xn = bn
que denotaremos por A(n) x = b(n) . El proceso anterior se termina sin problemas siempre y
(1)
(n)
cuando ninguno de los coeficientes a11 , a222 , . . . , ann , denominados pivotes, sea cero. Cuando se realiza computacionalmente este procedimiento la matriz se rescribe en forma sucesiva,
44
L. Hctor Jurez V.
(k)
en cada paso de eliminacin, almacenando los nuevos coeficientes aij y los correspondientes
multiplicadores mik en los lugares asociados a las variables eliminadas. Al trmino del proceso
de eliminacin obtenemos un sistema triangular superior U x = b (donde U = A(n) , b = b(n) )
el cual es equivalente al sistema original, es decir este nuevo sistema tiene exactamente la
misma solucin que el sistema original. Sin embargo, este nuevo sistema puede resolverse
muy fcilmente por medio de la tcnica de sustitucin hacia atrs sustitucin regresiva:
xn = bn /ann
xi = (bi
n
X
aij xj )/aii ,
i = n 1, n 2, . . . , 1
j=i+1
en donde hemos suprimido los superndices para simplificar la notacin. Entonces, suponien(i)
do que en el proceso de eliminacin ninguno de los pivotes aii es cero, el algoritmo de
eliminacin de Gauss puede escribirse de la siguiente manera:
Algoritmo de eliminacin de Gauss
Dados los coeficientes aij de la matriz A, y los coeficientes bi de b
Para k = 1, 2, . . . , n 1
/* Pasos de eliminacin */
.
Para i = k + 1, . . . , n
.
.
m := aik /akk
/* Multiplicador asociado al rengln i */
.
.
Para j = k + 1, . . . , n
.
.
.
aij := aij makj
.
.
Fn
.
.
bi := bi mbk
.
Fn
Fn
xn = bn /ann
/* Sustitucin regresiva */
Para i = n 1, n 2, . . . , 1
.
xi := bi
.
Para j = i + 1, . . . , n
.
.
xi := xi aij xj
.
Fn
.
xi := xi /aii
Fn
Anlisis Numrico
45
A=
2
4
8
6
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
2o rengln: m21 =
3er rengln: m31
4o rengln: m41
Entonces,
restamos del segundo rengln el primero multiplicado por m21 = 2,
restamos del tercer rengln el primero multiplicado por m31 = 4,
restamos del cuarto rengln el primero multiplicado por m41 = 3,
con lo cual obtenemos:
46
L. Hctor Jurez V.
A(2) x = b(2) :
2 1
1
3
4
1
1
5
6
0
1
5
8
1
6
26
38
2o paso de eliminacin
Pivote: a22 = 1.
Multiplicadores:
a32
3
= =3
a22
1
a42
4
= =4
=
a22
1
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
a43
2
= =1
a33
2
A(4) x = b(4) :
2 1 1 0
1 1 1
2 2
2
1
2x1 + x2 + x3
6
x2 + x3 + x4
2x3 + 2x4
8
6
2x4
=
=
=
=
1
6
8
6
Anlisis Numrico
47
3.2.
Factorizacin LU
A=
2
4
8
6
1
3
7
7
1
3
9
9
0
1
5
8
b=
1
8
30
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
L1 =
1
2
4
3
0
1
0
0
0
0
1
0
0
0
0
1
L1 A =
2
0
0
0
1
1
3
4
1
1
5
6
0
1
5
8
L1 b =
1
6
26
38
obteniendo la matriz y lado derecho al final del primer paso de eliminacin. En forma anloga,
el segundo paso de eliminacin equivale a premultiplicar el sistema anterior por la matriz
48
L. Hctor Jurez V.
L2 =
1 0 0
0 1 0
0 3 1
0 4 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 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
1
6
8
14
L3 L2 L1 b =
1
6
8
6
L1
1
1
2
4
3
0
1
0
0
0
0
1
0
0
0
0
1
1
2
4
3
0
1
0
0
0
0
1
0
0
0
0
1
Anlisis Numrico
49
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)
(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)
50
L. Hctor Jurez V.
1. Se resuelve el sistema triangular inferior Ly = b utilizando Sustitucin hacia adelante
progresiva:
y1 = b1 ,
yi = bi
i1
X
lij yj ,
i = 2, . . . , n.
j=1
2. Una vez obtenido y del paso anterior, se resuelve el sistema triangular superiorU x = y
utilizando Sustitucin hacia atrs regresiva:
xn = yn /ann ,
n
X
xi = (yi
uij xj )/uii ,
i = n 1, n 2, . . . , 1,
j=i+1
(i)
2
L=
4
3
Entonces, Ly = b es
0 0 0
2 1 1 0
1 0 0
U = 0 1 1 1
0 0 2 2
3 1 0
4 1 1
0 0 0 2
1
2
4
3
0
1
3
4
0
0
1
1
0
0
0
1
y1
y2
y3
y4
1
8
30
41
b=
=1
= 8 2y1 = 8 2 = 6
= 30 4y1 3y2 = 30 4 18 = 8
= 41 3y1 4y2 y3 = 41 3 24 8 = 6
1
8
30
41
Anlisis Numrico
51
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
3.3.
El mtodo de eliminacin de Gauss, como se ha presentado hasta el momento, desafortunadamente no es un buen mtodo prctico de propsito general para resolver sistemas de
ecuaciones lineales. Como veremos en esta seccn este no es mtodo estable regresivo. De
hecho su posible inestabilidad, en algunos casos, est asociada a una dificultad muy simple:
para algunas matrices el mtodo no funciona debido que se corre el peligro de
dividir por cero.
"
A=
0 1
1 1
1 5
p() = det(A I) = (1 ) 1 = 1 1,2 =
2
3 5
|max |
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.
52
L. Hctor Jurez V.
Anlisis Numrico
53
f (A) = LU
kA Ak
1020
6= f(A) ,
=
O(maq ) pero f (A)
kAk
2
representa la factorizacin exacta de la matriz perturbada A,
es decir
pues f (A)
"
#"
#
1
0
1020
1
= LU =
f (A)
,
20
10
1
0
1 1020
y f(A) representa la factorizacin aproximada (de punto flotante) de la matriz exacta, dentro
de la computadora, es decir
"
#"
#
20
1
0
10
1
U
f(A) = L
.
1020 1
1
1020
54
L. Hctor Jurez V.
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
ak,k
ak,k+1 . . . ak,n
.
.
.
.
an,k
an,k+1
...
an,n
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
Hecho esto se procede a hacer el intercambio del rengln k con el rengln l, y de la columna
k con la columna m, y se continua la eliminacin en la forma usual calculando los multiplicadores y los nuevos coeficientes. Los multiplicadores que se obtienen son tales que
mi k =
ai k
1,
|a|
i = k + 1, . . . , n
y, en consecuencia, ninguno de los coeficientes de la matriz L al final del proceso de eliminacin ( factorizacin) ser mayor a uno. A esta estrategia se le denomina pivoteo completo.
Sin embargo, esta estrategia en muy poco usada por dos razones:
1. En el paso k hay (n k + 1)2 posibilidades para buscar el mximo, y el costo para
seleccionar los pivotes en los n 1 pasos de eliminacin implica O(n3 ) operaciones, lo
cual es excesivo.
Anlisis Numrico
55
3.4.2.
Pivoteo parcial
En la prctica, es posible encontrar pivotes tan tiles como los encontrados con pivoteo
completo realizando un mucho menor nmero 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
|a| = max |aik | = |alk |
kin
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
56
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
0
1
0
0
a13
a23
a33
a43
1
0
0
0
a14
a24
a34
a44
0
0
1
0
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.
= A(1)
Anlisis Numrico
57
0
P1 A =
1
0
1
0
0
L1 P1 A =
1
1/2
1/4
3/4
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
4
1
= ,
8
2
1 0 0 0
8
0 0 0 1 0
P2 L1 P1 A =
0 0 1 0 0
0 1 0 0
0
2
4
8
6
m31 =
7
3
1
7
9
3
1
9
1
3
7
7
1
3
9
9
0
1
5
8
8
4
2
6
2
1
= , m41
8
4
5
8
1
= 0
0
0
0
8
7
3
1
7
9
3
1
9
5
1
0
8
6
3
= . Luego
8
4
7
9
5
7/4
9/4 17/4
7
9
5
1/2 3/2 3/2
3/4 5/4 5/4
7/4
9/4 17/4
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/4
3
1/2
2
= , m42 =
= . As que
7/4
7
7/4
7
8
7
9
5
8 7
9
5
0 7/4
9/4 17/4
= 0 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
= 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
8 7
9
5
0 0 6/7 2/7
0 0 2/7 4/7
58
L. Hctor Jurez V.
2/7
1
= . Finalmente
6/7
3
8 7
9
5
0
0
0
1
0
0 0 7/4 9/4 17/4
0
1
0
0 0 6/7 2/7
0 0 2/7 4/7
0 1/3 1
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
L03 = L3 ,
L02 = P3 L2 P31 ,
Se puede verificar directamente que estas ltimas matrices son triangulares inferiores y que
L03 L02 L01 P3 P2 P1 = L3 P3 L2 P2 L1 P1 . Por lo tanto
L03 L02 L01 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=
1
0
0
3/4
1
0
1/2 2/7 1
1/4 3/7 1/3
0
0
0
1
Anlisis Numrico
59
3.5.
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]
60
L. Hctor Jurez V.
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
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
kAk
= O(maq )
kLk kU k
para alguna
A Rnn .
Anlisis Numrico
61
Consideremos ahora el caso de la eliminacin de Gauss con pivoteo parcial. En este caso
se obtiene que la matriz de multiplicadores L tiene entradas que son menores o iguales a 1
en valor absoluto, es decir, kLk = O(1) en cualquier norma matricial k k. Por lo tanto
kAk
kAk
=
= O(maq ).
kLk kU k
kU k
De aqu que en este caso se concluye que el algoritmo es estable regresivo si kU k = O(kAk).
Para que la norma de U sea comparable con la norma de A basta que los coeficientes de U
no sean mucho mayornes que los de A. Es decir, hay que considerar como se amplifica los
coeficientes al reducir A a la matriz U en el proceso de eliminacin. En particular, sea
=
max |uij |
max |aij |
con
kAk
= O( maq )
kAk
A=
1
0
0
0
1 1
0
0
1 1 1
0
1 1 1 1
1 1 1 1
1
1
1
1
1
62
L. Hctor Jurez V.
U =
1
0
0
0
0
0
1
0
0
0
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
kAk
= O(maq ) = O(2n1 maq ).
kAk
Este resutlado implica que habra una perdida de n 1 bits de precisin al hacer eliminacin
de Gauss con pivoteo, lo cual es intolerable para clculos practicos 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.
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 6= ~0. Si A es una matriz definida positiva, algunas de sus propiedades importantes son:
Anlisis Numrico
63
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
.
.
A(1 : k, 1 : k)
.
ak1
a1k
..
.
,
akk
akk
.
A(k : n, k : n) ..
ank
akn
..
.
,
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.
Verificacin de la propiedad 1. La propiedad 1 es consecuencia directa de la propiedad 3.
Verificacin de la propiedad 2. Si es un valor propio de A Rnn y x Rn es el
vector propio correspondiente, entonces x 6= ~0 y
xT Ax = xT x = kxk22
as que
=
xT Ax
> 0.
kxk22
64
L. Hctor Jurez V.
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
obtenemos
1
2 . . . n
1 0 ... 0
1 2 . . . n
2
2 1 . . . 0 0
= L1 A(1)
A= .
=
.
.
.
. . . .
. . .
M
.. A(2 : n, 2 : n) ..
n 0 . . . 1
2 2 . . .
2 h
i ...
.
.. 2 . . . n = 3. 2
..
.
.
.
n
n 2 . . .
n, 2 : n) T con T el
2 n
3 n
..
.
n n
Anlisis Numrico
65
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 0
1 0 ... 0
2 1 . . . 0 0
..
. . .. ..
. . .
.
0
n 0 . . . 1
...
M2
1 2 . . . n
0 1 ... 0
..
.
..
. ..
.
0 0 ... 1
A(1)
s
L1
LT1
(1)
Observe que la matriz As ahora si es simtrica, dado que M2 los es. La idea de la fac(1)
torizacin 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
A=
a11 2 . . . n
2
..
. A(2 : n, 2 : n)
n
entonces
a11
2
a11
A=
..
.
n
a11
=
0 ... 0
1 0
0
..
.
1 ... 0
.
.. .
. .
0
0 ... 1
L1
...
M2
a11
..
0
A(1)
s
donde
M2 = A(2 : n, 2 : n)
a11
1
0
LT1
T
.
a11
...
..
.
a11
0
..
.
...
...
66
L. Hctor Jurez V.
(1)
(1)
T
tambin es definida positiva, pues si x Rn , x 6= 0 , entonces y = (L1
1 ) x 6= 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 .
|
{z
} |
{z
}
L
LT
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 6= 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 ),
Anlisis Numrico
67
es decir
aii =
i
X
lik lik =
k=1
Por lo tanto
lii =
aii
i1
X
i1
X
2
2
lik
+ lii
.
k=1
!1/2
2
lik
i = 1, . . . , n.
k=1
Anlogamente
min(i,j)
T
lik ljk .
k=1
j
X
lik ljk =
k=1
entonces
lij =
aij
j1
X
k=1
Pj1
ljj
i = j + 1, . . . , n.
l11 = a11
Para i = 2, . . . , n
li1 = ai1 /l11
Fn
Para j = 2, . . . , n 1
1/2
P
2
ljj = ajj j1
l
k=1 jk
Para i =
j + 1, . . . , n
P
lij = aij j1
k=1 lik ljk /ljj
Fn
Fn
1/2
P
2
lnn = ann n1
l
k=1 nk
68
L. Hctor Jurez V.
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
4 2 0 4
2
2 10 3 2 1
=
0
3 2 3
0
4 2 3 29
2
A
0
3
1
0
0
0
1
3
L
0
0
0
4
2 1 0 2
0 3 1 0
0 0 1 3
0 0 0 4
LT .
Anlisis Numrico
3.7.4.
69
i
X
2
lik
.
k=1
m
ax |lik |
1.
max |aij |
70
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
71
72
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 (ingnitas). 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 .
2
x i
i
, con medias y varianzas , .
Gaussianas: (x) = e
i
Anlisis Numrico
4.2.
4.2.1.
73
con m n.
1 x1 x21 . . . xm1
c1
y1
1
1 x2 x22 . . . x2m1 c2 y2
..
..
..
. = .
.
.
. .. ..
1 xm x2m . . . xm1
m
cm
~c
ym
=
~y
Y
(xi xj ) 6= 0
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, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0
0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0
74
L. Hctor Jurez V.
1 3 (3)2 . . . (3)10
1 2 (2)2 . . . (2)10
..
..
..
.
.
.
(7)2
(7)10
...
Tambien puede observarse que la matriz est mal condicionada pues cond(A) 109 , lo cual
permite anticipar que debemos utilizar pivoteo para resolver el sistema cuadrado de Vandermonde. Utilizando el algorimto de factorizacin LU con pivoteo encontramos la siguiente
solucin aproximada (para los coeficientes del polinomio)
La Figura 4.1 muestra los datos junto con la grfica del polinomio de interpolacin calculado.
Observese que el ajuste no es satisfactorio pues, aunque la curva y = p(x) pasa por los puntos
4
3
2
1
0
de interpolacin, cerca de los extremos muestra oscilaciones fuertes. Estas oscilaciones son
un artificio tpico de cualquier proceso de interpolacin como veremos en el captulo 4. Este
mal ajuste empeora si se utilizan ms puntos de interpolacin como puede constatarse si en
lugar de 11 puntos se usan 21 puntos de interpolacin: los 11 puntos ya dados mas los 10
puntos intermedios adicionales. Los valores de x y y en este caso son
Anlisis Numrico
x
75
-3.0,
4.0,
0.0,
0.0,
-2.5, -2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5,
4.5, 5.0, 5.5, 6.0, 6.5, 7.0
0.0, 0.0, 0.0, 0.0, 0.5, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.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
nmero de puntos de interpolacin: las oscilaciones en los extremos son de mucho mayor
magnitud. Observese 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 escojer los puntos a modo.
4.2.2.
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
X
(p(xi ) yi )2 .
i=1
76
L. Hctor Jurez V.
cR
i=1
Esta suma de cuadrados es igual al cuadrado de la norma euclideana del residual, krk22 , para
el sistema rectangular de Vandermonde:
1 x1 x21 . . . xn1
c1
y1
1
1 x2 x22 . . . xn1
c2 y2
2
..
..
..
. . , n < m ,
.
.
. .. ..
1 xm x2m . . . xn1
cn
m
{z
} | {z }
c
ym
| {z }
y
cRn
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.
4.3.1.
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
Anlisis Numrico
77
b
r=bAx
y=Ax
O
Espacio imagen de A
la Figura 4.3. En otras palabras, el residual r = b Ax debe ser ortogonal al espacio imagen
de A. El espacio imagen de A es generado por los vectores columna de A. Es decir, si
A = [ a1
| a2
| an
],
| a2
| an
]x
= x1 a1 + x2 a2 + + xn an .
4.3.2.
y
y
y
y
solo
solo
solo
solo
si
si
si
si
aTi r = 0
AT r = ~0
AT (b Ax) = ~0
AT Ax = AT b
i = 1, . . . , n
78
L. Hctor Jurez V.
xT AT Ax = 0,
kAxk22 = 0,
Ax = ~0,
x 6= ~0
x 6= ~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 bin, dado x 6= ~0 en Rn , entonces, como AT A es no singular, se satisface
xT AT Ax = kAxk22 > 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.
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.
Anlisis Numrico
4.3.3.
79
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
..
..
..
.
.
.
2
6
1 7
(7)
. . . (7)
y el lado derecho es el vector
h
b=y=
0 0 0 1 1 1 0 0 0 0 0
iT
Observese 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. Observese que el nmero de
condicin de la matriz es (AT A) 1010 . Utilizando el mtodo de factorizacin de Choleski
80
L. Hctor Jurez V.
1 1
A= 0
con
0 < 1.
0
Las dos columnas son casi paralelas, pero linealmente independientes. Con aritmtica exacta
obtenemos
#
"
1 + 2
1
T
A A=
1
1 + 2
Anlisis Numrico
81
Sin embargo, si < 108 y utilizamos aritmtica de punto flotante de doble precisin
obtenemos
"
#
1 1
T
A A=
1 1
la cual es una matriz singular.
4.4.
4.4.1.
Factorizacin reducida
| a2
| an
].
Los espacios sucesivos generados por los vectores columna de A tienen la siguiente propiedad
gen{a1 } gen{a1 , a2 } . . . gen{a1 , . . . , an } .
La idea detrs de la factorizacin QR es construir una sucesin de vectores ortonormales
q1 , q2 , . . . Rm que generen estos espacios sucesivos. Supongamos que A es de rango completo, entonces sus vectores columna son linealmente independientes y queremos que
gen{q1 , . . . , qi } = gen{a1 , . . . , ai },
i = 1, 2, . . . , n
con kqi k2 = 1 y qiT qj = ij . Para contruir este conjunto de vectores podemos utilizar el
mtodo de Gram-Schmidt:
v1
kv1 k2
v2
q2 =
kv2 k2
v3
q3 =
kv3 k2
q1 =
con v1 = a1 ,
con v2 = a2 (q1T a2 )q1 ,
con v3 = a3 (q1T a3 )q1 (q2T a3 )q2 .
82
L. Hctor Jurez V.
con vj = aj
(q1T aj )q1
(q2T aj )q2
...
T
(qj1
aj )qj1
= aj
j1
X
i=1
q2
=
..
.
qn
a1
,
r11
a2 r12 q1
,
r22
an
Pn1
i=1
rin qi
rnn
Por lo tanto,
a1
a2
=
=
..
.
r11 q1 ,
r12 q1 + r22 q2 ,
an
[ a1
|
| a2
|
{z
| an
matriz mn
[ q1
|
| q2
|
{z
matriz mn
| qn
]
}
]
}
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
(qiT aj )qi .
Anlisis Numrico
83
vj = vj rij qi
Fn
rjj = kvj k2
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=
11111111
00000000
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
FACTORIZACION COMPLETA
mxm
nxn
11111111
00000000
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
mxn
1111111111111
0000000000000
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
R
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
Q
0000000000000 11111111
1111111111111
00000000
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
11111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
QT Q =
q1T
q2T
..
.
[ q1 | q2 | | qm ] = I
T
qm
debido a que qiT qj = ij . Por tanto Q1 = QT . A las martrices con esta propiedad se les
denomina matrices ortogonales.
Teorema 4.6. Cualqier 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).
84
L. Hctor Jurez V.
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 ) .
...
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 QT b no intervienen en la
solucin. De hecho estas ltimas componentes de QT b estan 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 .
Observese 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
estandar porque requiere el doble de operaciones que el mtodo de eliminacin de Gauss o
el mtodo de factorizacin LU .
En la prctica las frmulas de Gram-Schmidt no se aplican como se muestra en la pagina
82 debido a que la sucesin de operaciones resulta numricamente inestable (sensible a errores
de redondeo). Esta inestabilidad se produce debido a las sustracciones y a que los vectores qj
no son estrictamente ortogonales debido a errores de redondeo. Se pueden utilizar mtodos
de estabilizacin, cambiando el orden en que se realizan las operaciones. Sin embargo, hay
un mtodo ms efectivo, estable por supuesto, para encontrar la factorizacin QR. El nuevo
mtodo hace uso de las propiedades de las proyecciones otogonales. Por tal motivo hacemos
un parntesis en nuestra discusin para estudiar dichas propiedades.
Anlisis Numrico
4.5.
85
Proyecciones en Rn
1 0 2
1
P = 0 0 0
5
2 0 4
Solucin. P es una proyeccin en R3 , pues P 2 = P . El espacio imagen de P es el conjunto
de vectores v Rn de la forma
1 0 2
1
x1
1
1
1
v = 0 0 0 x2 = (x1 + 2x3 ) 0 = c 0 , c R.
5
5
2 0 4
2
x3
2
Es decir, Im(P ) = {v Rn | v = c[1, 0, 2]T } = gen{[1, 0, 2]T } es la linea recta determinada
por el vector [1, 0, 2]T . El espacio nulo de esta misma proyecin es el conjunto de vectores
x = [x1 , x2 , x3 ]T que satisfacen
1 0 2
x1
0
1
0 0 0 x2 = 0
5
2 0 4
x3
0
x1 + 2x3 = 0
2x1 + 4x3 = 0
x1 + 2x3 = 0 .
Es decir, N ul(P ) = {[x1 , x2 , x3 ]T |x1 + 2x3 = 0}, el cual representa el plano con ecuacin
x1 + 2x3 = 0 y normal al vector (1, 0, 2)T . La Figura 4.5 ilustra geomtricamente el espacio
imagen de P , la cual es una linea 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 .
86
L. Hctor Jurez V.
(1,0,2)
Nul(P)
Plano
Linea 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 v2 = v P v, entonces P v2 = P (v P v) = P v P 2 v = ~0
v2 N ul(P ) y por lo tanto v = v1 + v2 con v1 = P v Im(P ).
3. Si P es una proyeccin en Rn , entonces I P tambien 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
87
Ejemplo 4.8. Retomando la proyeccin del ejemplo anterior verificar las propiedades 2, 3,
y 4 dado el vector arbitrario v = (a1 , a2 , a3 )T R3 .
Solucin.
v1 = P v =
a1
v2 = v P v = a2
a3
1 0 2
1
P = 0 0 0 ,
5
2 0 4
a1
1 0 2
a1 + 2a3
1
0 0 0 a2 =
0
Im(P ),
5
a3
2 0 4
2a1 + 4a3
a1 + 2a3
4a1 2a3
1
1
0
5a2
=
N ul(P ),
5
5
2a1 + 4a3
2a1 + a3
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
y
20
0 10
1
(I P )2 =
25
0 = I P.
0
25
10 0
5
88
L. Hctor Jurez V.
x3
Im(P)=Nul(IP)
v
Plano
v =Pv
1
v =(IP)v
2
Nul(P)=Im(IP)
Linea 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
en dos subespacios ortogonales S1 S2 con S1 S2 = {~0}, S1 + S2 = Rn . Dado v Rn ,
v = v1 + v2 con v1 = P v y v2 = (I P )v, y si P es ortogonal, entonces
v1T v2 = (P v)T (I P )v = v T P T (I P )v = v T P (I P )v = v T (P P 2 )v = ~0
En resumen
6. Si P en una proyeccin ortogonal, entonces P v y (I P )v son ortogonales para toda
v Rn .
Ejemplo 4.9. La proyeccin anterior
1 0 2
1
P = 0 0 0 ,
5
2 0 4
es una proyeccin ortogonal, pues P es simetrica. La Figura 4.6 muestra la separacin de
R3 en dos subespacios ortogonales a saber Im(P ) = N ul(I P ) y N ul(P ) = Im(I P )
Anlisis Numrico
89
q1 q1 q1 q2 q1 qn
q2 q1 q2 q2 q2 qn
Pq =
..
..
..
.
.
.
qn q1 qn q2
qn qn
aaT
.
aT a
a
aT
aaT
aaT
=
=
.
kak2 kak2
aT a
kak22
90
L. Hctor Jurez V.
Im(Pa )
v
Im(P )
a
P v
a
Pa v
O
1 0 2
1
P = 0 0 0
5
2 0 4
1 h
1 0 2
i
T
aa
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).
Anlisis Numrico
91
v
P v
A
(IP ) v
A
O
Im(IPA)
Im(P ) = Im(A)
A
Nota. Observese 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 bin como una matriz de m 1.
4.6.
4.6.1.
Triangularizacin de Householder
92
L. Hctor Jurez V.
}|
x
x
x
x
x
{z
x
x
|
x
x
x
x
x
A(1)
x
0
Q1 0
0
0
} |
}|
x
x
x
x
x
{z
x
x
x
x
x
A(2)
x
0
Q2 0
0
0
} |
Q1 A
}|
x
x
0
0
0
{z
x
x
x
x
x
A(3)
x
0
Q3 0
0
0
} |
Q2 Q1 A
}|
x
x
0
0
0
{z
x
x
x
0
0
= R,
Q3 Q2 Q1 A
4.6.2.
Reflexiones de Householder
I 0
0 H
#
,
I
0
a11 . . . a1k1
.
..
..
..
.
.
0 . . . ak1k1
0
0
H mm 0 . . .
.
..
..
.
.
.
.
0 ...
0
a1k
..
.
...
..
.
a1n
..
.
ak1k . . . ak1n
akk
..
.
...
..
.
akn
..
.
amk
...
amn
mn
Anlisis Numrico
93
akk
..
.
amk
...
..
.
akn
..
. =
. . . amn
akk
akk
ak+1k 0
H
..
= ..
.
.
amk
donde a0kk = kxk k, con xk = (akk , . . . , amk )T . Es decir, el algoritmo de Householder escoge
H como una matriz particular llamada reflexin de Householder. Esta matriz introduce
los ceros correctos en la ksima columna:
x1
kxk
x2
x=
..
Hx = .. = kxke1
.
.
xmk+1
vv T
y
Py= I T
v v
es la proyeccin ortogonal de y sobre el espacio H + (perpendicular a v). Para reflejar y a
travs de H + , debemos continuar al doble de la distancia en la misma direccin como se
ilustra en la Figura 4.10. La reflexin H debe ser entonces
H =I 2
vv T
vT v
con
v = kxke1 x.
94
L. Hctor Jurez V.
x
H+
Rmk+1
v = ||x|| e1 x
H x = ||x|| e1
Py
H+
O
Hy
Hx
Ejemplo 4.13. Dado el vector x = (3, 4, 0)T , encontrar la reflexin de Householder H tal
que Hx = kxke1 = (5, 0, 0)T .
Solucin.
5
3
2
v = kxke1 x = 0 4 = 4 ,
0
0
0
2
4 8 0
h
i
vv T = 4 2 4 0 = 8 16 0
0
0
0 0
y v T v = 20.
Anlisis Numrico
95
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
Se puede verificar que H efectivamente satisface Hx = kxke1 = (5, 0, 0)T . En la figura 4.11
se ilustra el resultado de este ejemplo.
x
x = (3,4,0)T
H+
v = ||x|| e x = (2,4,0)
1
||x|| e1 = (5,0,0)T
x1
3/5 4/5 0
3/5 4/5 0
1 0 0
T
vv T
vv T
T
HH = I 2 T
I 2 T
=I.
v v
v v
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
#
# "
# "
"
#"
I
0
I
0
I
0
I
0
k1
=
= Im .
Qk QTk =
=
0 HH T
0
Imk+1
0 H
0 HT
96
4.6.3.
L. Hctor Jurez V.
x
+
H
||x|| e x
1
||x|| e
||x|| e1 x
||x|| e
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
para la cual x se encuentre ms alejado de su punto reflejado kxke1 kxke1 . Para lograr
esto escogemos v = signo(x1 )kxke1 x, o bien podemos quitar el signo , y escoger
v = signo(x1 )kxke1 + x. La funcin signo se define como:
1 si x 0 ,
1
signo(x1 ) =
1 si x < 0 .
1
Vale la pena recordar que x1 es la 1ra coordenada de x. Las Figura 4.13 muestra ambos
casos. 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 = kxke1 x ser ms pequeo que x kxke1 , 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 kvk nunca ser ms pequeo que kxk,
con lo cual aseguramos estabilidad en los clculos.
Anlisis Numrico
97
H+
x
+
H
v = ||x|| e1 + x
||x|| e1
v = ||x|| e1 + x
||x|| e
||x|| e1
||x|| e1
4.6.4.
T
v vT
vv
=
I
2
.
I 2
vT v
kvk2 kvk2
2. Al multiplicar o aplicar la reflexin por un vector y obtenemos
T
v vT
v
v
I 2
y =y2
y ,
kvk2 kvk2
kvk2 kvk2
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.
98
L. Hctor Jurez V.
Anlisis Numrico
99
100
L. Hctor Jurez V.
0.000000008792500
Como puede observarse, los resultados son muy diferentes. La grfica de los polinomios de
ajuste se muestra en la Figura 4.14. El mtodo que produzca el menor residual proporciona la
mejor solucin. La norma de los residuales es 7.027 cuado se utiliza el mtodo de ecuaciones
normales, y es 5.507 cuando se utiliza el mtodo QR. Por lo tanto el polinomio obtenido con
el mtodo QR ajusta mejor los datos dados.
10
4
0
Datos
Ecuaciones normales
QR
2
10
12
14
16
18
20
Captulo 5
102
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 raiz de la ecuacin original
f (x) = 0. Entonces, el problema del clculo de raices 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
raices de f (x) = x2 x2 = 0. Sus raices exactas son x1 = 1 y x2 = 2. Nos concentraremos
nicamente en el clculo de la raiz = 2.
a) Con g(x) = x2 2 y x0 = 2,1, obtenemos x1 = 2,41, x2 = 3,8081, x3 = 12,50162561, y
xn si n .
Anlisis Numrico
103
2
x +2
d) Con g(x) = 2x1
y x0 = 2,1 , 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
kT x T yk Kkx yk
en alguna norma vectorial k k.
Geomtricamente esto significa que dos puntos cualesquiera x, y X tienen imagenes
ms cercanas que ellos mismos. De ah el nombre de contraccin para la aplicacin T .
Ejemplo 5.3. La funcin g : [1, 3] [1, 3] definida por g(x) = x + 2 es una contraccin
en X = [1, 3].
104
L. Hctor Jurez V.
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 0 ()| |(x y)| con entre x y y ,
y debido a que
1
g 0 (x) =
2 x+2
1
m
ax |g 0 (x)| = g 0 (1) = .
x[1, 3]
2 3
Por lo tanto
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, . . .
Anlisis Numrico
105
1
kx1 x0 k .
1K
Por lo tanto
1
kx1 x0 k = 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 kxn xm k lm K m
xX
106
L. Hctor Jurez V.
5.3.
La desigualdad
kxn xm k
Km
kx1 x0 k ,
1K
kxn k
n log
(1 K) / log K
kx1 x0 k
Ejemplo 5.5. Encontrar la raz de f (x) = x2 x 2 = 0 que se encuentra en el intervalo
[1, 3].
Solucin. Anteriormente se propusieron algunas funciones de iteracin. La 1a funcin g(x) =
x2 2 es tal que su derivada es g 0 (x) = 2x, y en el intervalo [1, 3] esta es mayor que 1, de
hecho 2 g 0 (x) 3. Luego g(x) = x2 2 no define una contraccin en [1, 3], y esto explica
porqu la sucesin generada por iteracin de punto fijo diverge, a pesar de que escoge como
punto inicial x0 = 2,1 muy cercano al punto fijo = 2. La Figura 5.1 ilustra esta situacin.
3
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 0 (x)| > 1 en [1, 3], y produce una
sucesin divergente.
Anlisis Numrico
107
log
n
1
3| = 3 1, K = .
2 3
1
104 (1
)
2 3
31
2
log( 3
)
3
7,436
As que podemos tomar n = 8. La Tabla 5.1 muestra las iteraciones con precisin a 6 cifras
decimales, junto con el error y la estimacin del error. Observese que el error real siempre es
n
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 nmero
1K
de iteraciones para alcanzar un error menor que 104 es 7. La Figura 5.2 ilustra este ejemplo
menor que la cota
2
Finalmente, la 3a 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
2
|g (x)| = 2 1 x2 2 x 2 x 2 .
x
0
108
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
funcin de iteracin es una buena eleccin si nos restringimos al intervalo [ 2, 3]. En este
intervalo podemos tomar x0 = 1,5, y obtenemos x0 = 1,5, x1 = 2,333333, x2 = 1,85714,
x3 = 2,07692, x4 = 1,96296,. . . Observese el caracter alternante de la sucesin alrededor de
2
= 2. Esto debido a que g 0 (x) = 2 < 0 y, en particular, g 0 () = g 0 (2) = 0,5. La Figura
x
5.3 ilustra esta situacin.
3
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
109
satisfacen las siguientes propiedades para la sucesin generada por iteracin de punto fijo:
1. Cuando g 0 (x) > 0 para toda x X. La sucesin xn es creciente si x0 < . La sucesin
xn es decreciente si x0 > .
2. Cuando g 0 (x) < 0 para toda x X. La sucesin es alternante alrededor de en
la forma x0 < x2 < x4 < . . . < < . . . < x5 < x3 < x1 , o bien en la forma
x1 < x3 < x5 < . . . < < . . . < x4 < x2 < x0 .
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.
0
110
L. Hctor Jurez V.
Es decir
en+1 = g 0 (n )en
con n entre xn y .
Adems
lm g 0 (n ) = g 0 (),
en+1
= g 0 () + lm n = g 0 () .
n
en
g(x) = x + 2 en el Ejemplo 3.5. Para esta funcin g 0 () = g 0 (2) = 0,25, as que asintticamente tenemos que en+1 g 0 ()en = 0,25en . Es decir, asintticamente, el error en la
siguiente iteracin es un cuarto del error anterior. La Tabla 5.2 muestra que efectivamante
as es.
Definicin del orden de convergencia
Sea {xn } una sucesin que converge a un nmero , y sea en = xn . Si existe un
nmero p > 0, y una constante 6= 0 tal que
|en+1 |
=
n |en |p
lm
Anlisis Numrico
111
error exacto
e5
e6
e7
e8
= 0,001070
= 0,000268
= 0,000067
= 0,000017
0.25 en
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.
entonces p se denomina el orden de convergencia de la sucesin y se denomina la constante
asinttica del error. Entre mayor sea p, mayor ser el orden de convergencia y la sucesin
converger ms rpido al lmite :
Si p = 1, la convergencia se denomina lineal, y asintticamente
|en+1 | |en | .
Si p = 2, la convergencia se denomina cuadrtica, y asintticamente
|en+1 | |en |2 .
Por otro lado, si 0 < < 1 decrece, la sucesin tambin tendra una mejor convergencia,
pero no tan dramtica como aquella cuando p aumenta.
Ejemplo 5.7. Ya hemos mostrado que la sucesin generada por la funcin de iteracin
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
112
L. Hctor Jurez V.
g 00 (cn )
(xn xn1 )2 .
2!
|en+1 |
1
= |g 00 ()|
|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 00 ()| |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 = 21 |g 00 ()| (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 .
Anlisis Numrico
113
Entonces
10dn = |xn | |xn1 |2 = 102dn1 .
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 sufcientemente 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
g(x) =
x2 + 2
2x 1
g 0 () = g 00 () = . . . = g (k1) () = 0 ,
114
L. Hctor Jurez V.
g (k) (cn ) k
g (k) (cn )
(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!|.
5.6.
El mtodo de Newton
Puede tenerse la impresin que la discusin de convergencia cuadrica en la seccin anterior no tiene mucho valor prtico, ya que en una ecuacin de la forma x = g(x) esperariamos
que la condicin g 0 () = 0 se satisfaga solo accidentalmente. Sin embargo, mostraremos que,
al menos para funciones diferenciales g, el procedimiento bsico del mtodo de iteracin de
punto fijo puede reformularse de tal manera que llegue a ser cuadrticamente convergente.
El problema general es calcular las raices de f (x) = 0 en algn intervalo, digamos
a x b, que llamamos X. Sea (x) una funcin en C (1) (X) que no tenga raices en X, es
decir
0 < |(x)| < , x X .
Entonces, la ecuacin
x = g(x) x (x)f (x) ,
tiene exactamente las mismas raices que f (x) en [a, b]. Muchos de los mtodos iterativos
usuales pueden obtenerse con elecciones especiales de (x). Por ejemplo, para que el mtodo
de iteracin de punto fijo tenga convergencia cuadrtica, una de las condiciones es que
g 0 () = 0. Como
g 0 (x) = 1 0 (x)f (x) (x)f 0 (x) ,
entonces para que
g 0 () = 1 0 ()f () ()f 0 () = 0
se debe tener () = 1/f 0 (). Por lo tanto, es suficiente con escoger (x) = 1/f 0 (x), y con
esta eleccin se obtiene la funcin de iteracin
g(x) = x
f (x)
.
f 0 (x)
Anlisis Numrico
115
xn+1 = xn
La funcin de iteracin g(x) = x f (x)/f 0 (x) = (x2 + 2)/(2x 1) es la misma que en los
dos ejemplos anteriores. Esta funcin satisface
f 00 ()f ()
2( 2 2)
=
= 0 , pues f () = 0,
[f 0 ()]2
(2 1)2
18
2
g 00 () =
= , pues = 2,
3
(2 1)
3
1 00
1
1
= | g ()| = = en+1 e2n = e2n para n grande.
2
3
3
g 0 () =
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
116
L. Hctor Jurez V.
Observese 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.
5.6.1.
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 0
f (xn )
es decir
f (xn ) + (xn+1 xn )f 0 (xn ) = 0 .
Si reemplazamos xn+1 por la variable x, obtenemos la funcin y = f (xn ) + f 0 (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
Anlisis Numrico
117
sin(xn )
f (xn )
= xn
= xn tan(xn ) .
0
f (xn )
cos(xn )
=0
x1
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.
La primera situacin indeseable se suprime si exigimos que
aa
f (a)
b,
f 0 (a)
y ab
f (b)
b
f 0 (b)
118
L. Hctor Jurez V.
y
(/2,1)
y = senx
x
=0
x0
(/2,1)
es decir si
0
f (a)
b a,
f 0 (a)
f (a)
f 0 (a) b a ,
y ab
f (b)
0,
f 0 (b)
f (b)
f 0 (b) b a.
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 0 (x) 6= 0 , x X,
Anlisis Numrico
119
3. f 00 (x) 0 f 00 (x) 0, x X
f (a)
f (b)
4. 0 b a y 0 b a,
f (a)
f (b)
entonces el mtodo de Newton converger la nica solucin de f (x) = 0, para cualquier
elemento x0 X = [a, b]
La literatura sobre el mtodo de Newton es muy extensa. En particular, la convergencia
puede demostrarse bajo varios conjuntos de condiciones diferentes a las del teorema anterior.
Sin embargo, en este curso no consdieraremos otro tipo de condiciones.
f (3) 4
f (1) 2
4. 0 = 3 1, 0 = 3 1
f (1)
1
f (3)
5
5.6.3.
f (xn )
.
m
120
L. Hctor Jurez V.
00
f () 1/p
1
+
5
p
|en+1 | 0 |en | con p =
1,618
2f ()
2
Anlisis Numrico
121
y = f(xn) + mn (xxn)
xn+1
n+1
y = f(x)
5.7.
122
L. Hctor Jurez V.
00
f () 1/p
p
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
0.08572834524805
0.01047403661108
3.830517471104
1.39648907106
1.77221010
0
i = 1, 2, . . . , n .
x X ,
Anlisis Numrico
123
La anterior es una condicin suficiente y se puede jusificar utilizando del teorema del valor
medio para derivadas:
g(x) g(y) = Jg() (x y) ,
x, y X ,
y = x + (y x) ,
1
0
0
1
1
0
0
1
1
0
0
1
Ejemplo 5.15. Encontrar una solucin del sistema tres ecuaciones no lineales con tres
incgnitas
1
2
2
2
x1 81(x2 + 0.1) + sen x3 + 1.06 = 0
10 3
ex1 x2 + 20x3 +
= 0
3
3x1 cos(x2 x3 ) =
124
L. Hctor Jurez V.
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) = p 2
9 x1 + sen x3 + 1,06
x2 x1 x2
e
20
x3
sen(x2 x3 )
3
0
x1 x1 x2
e
20
18
x2
sen(x2 x3 )
3 cos x
3
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 kJg(x)k es el mximo de las cantidades
| sen(x2 x3 )|
|x1 | + | cos x3 |/2
ex1 x2
(|x2 | + |x3 |), p 2
,
(|x1 | + |x2 |)
3
20
9 x1 + sen x3 + 1,06
Anlisis Numrico
125
con 1 x1 , x2 , x3 1. Es decir
kJg(x)k max
2 sen(1)
3/2
2e
,
,
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 la Tabla 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 realcin de recursin al realizar aceleracin del
tipo Seidel es:
1 1
xk+1
= + cos(xk2 xk3 )
1
6q 3
1
k
2
xk+1
=
(xk+1
2
1 ) + sen x3 + 1,06 0,1
9
k+1 k+1
1
10 3
xk+1
= ex1 x2
3
20
60
Tomando el mismo punto de comienzo x0 = (0,2, 0,1, 0,1)T , se obtienen los valores mostrados en la Tabla 5.5. Claramente se observa la aceleracin de la convergencia.
126
L. Hctor Jurez V.
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 constuir
en forma anloga a como lo hicmos 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 A0 () 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) ,
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 ) .
Anlisis Numrico
127
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 factorizacin
LU para resolver estos sistemas lineales.
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 de el ejemplo anterior. La matriz Jacobiana del sistema f (x) = 0 es
Jg(x) =
2x1
x2 ex1 x2
x3 sen(x2 x3 ) x2 sen(x2 x3 )
162(x2 + 0,1)
cos x3
x
x
1
2
x1 e
20
(5.1)
Tomando x0 = (0,2, 0, 1, 0,1)T , como en los ejemplos anteriores, obtenemos los resultados
mostrados en la Tabla 5.6. Se observa claramente la convergencia cuadrtica del mtodo.
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
128
L. Hctor Jurez V.
Captulo 6
Interpolacin Polinomial e
Integracin Nmerica
Los polinomios son utilizados como el medio bsico de aproximacin de funciones en
muchas reas como son:
a) Aproximacin de derivadas e integrales,
b) Solucin numrica de ecuaciones diferenciales e integrales,
c) Solucin de ecuaciones no lineales,
entre otras, debido a que tienen una estructura muy simple. La interpolacin polinmial 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 la precisin deseada:
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 punto de vista
computacional, pues no ofrece un mtodo constructivo para calcular dicho polinomio. Por
129
130
L. Hctor Jurez V.
y
y=Pe(x)
Ancho 2e
y=f(x)
tal motivo es necesario recurrir a otras herramientas para contruir 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
pn (x) = f (x0 ) + f 0 (x0 )(x x0 ) + . . . +
f (n) (x0 )
(x x0 )n .
n!
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 +
y el error es
en (x) =
x2 x3
xn
+
+ ... +
,
2!
3!
n!
e
xn+1 ,
(n + 1)!
con entre 0 y x.
Anlisis Numrico
131
8
x
y=e
p (x)
1
p (x)
p3(x)
5
4
3
2
1
0
1
2
1.5
0.5
0.5
1.5
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 ,
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,
132
L. Hctor Jurez V.
j = 0, 1, . . . , n .
`j (x) =
k=0, k6=j
(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 = l (x)
j
j2
xj 1
xj
j+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
133
n
X
j=0
n
X
j=0
n
X
i = 1, . . . , n .
j=0
x x0
x x1
f (x0 ) +
f (x1 ) .
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
(x x1 )(x x2 )
(x x0 )(x x2 )
f (x0 ) +
f (x1 )
(x0 x1 )(x0 x2 )
(x1 x0 )(x1 x2 )
(x x0 )(x x1 )
+
f (x2 ),
(x2 x0 )(x2 x1 )
134
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) =
n
Y
(x xk ).
k=0
f (x) pn (x)
w(t) ,
w(x)
t [a, b] .
Claramente F (t) esta bin definida pues w(x) 6= 0 ya que x 6= xi , i. Adems F (t) es de
clase C n+1 [a, b] y tiene al menos n + 2, a saber x0 , x1 , . . ., xn , x. Luego F 0 (t) tiene al menos
n + 1 ceros, F 00 (t) tiene al menos n ceros , . . . , y F (n+1) (t) tiene al menos un cero en [a, b]
Anlisis Numrico
135
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
es
f 00 ((x))
f (x) p1 (x) =
(x x0 )(x x1 ) con (x) [x0 , x1 ] .
2
Supopiendo f C 2 [a, b], sea M2 = maxaxb |f 00 (x)|. El punto x donde |w(x)| = |(x
1
x0 )(x x1 )| toma su valor mximo es x = (x0 + x1 ) (ver Figura 6.6 ). Por lo tanto
2
max |w(x)| = |w(x )| =
axb
h2
4
donde h = x1 x0 .
y= w(x)
x*
x0
x1
axb
M2 2
M2 h2
=
h .
2 4
8
es decir
kf (x) p1 (x)k
M2 2
h .
8
136
L. Hctor Jurez V.
f (3) ((x))
(x x0 )(x x1 )(x x2 ) con (x) (x0 , x0 + 2h) ,
3!
es decir
M3
M3
kwk = h3 ,
6
9 3
2
= h3 .
3 3
kf (x) p2 (x)k
donde M3 = maxaxb |f (3) (x)| y kwk
Z
K(y) = 2 p
0
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(b) =
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 y1 )(y y2 )
(y y0 )(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
(x xk )
se necesitan 2(n 1) multiplicaciones, 1
(xj xk )
divisin, y 2n restas, para cada j. En total se necesitan [2(n 1) + 1](n + 1) =
(2n 1)(n + 1) multiplicaciones/divisiones y 2n(n + 1) restas.
k=0, k6=j
Anlisis Numrico
137
Pn
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 ninguna 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
pn (x) = a0 +
n
X
j=1
aj
j1
Y
(x xk ) ,
k=0
138
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) = qk (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.
Observese 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 )
f (x1 )
f (xk )
p0 (x0 ) = a0
Anlisis Numrico
139
f [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 considerense 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
140
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
n
X
f [x0 , . . . , xk ]
k1
Y
(x xj )
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
141
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
1,57511,5727
64
0,00120,0006
61
1,5727
= 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) +
142
L. Hctor Jurez V.
Anlisis Numrico
143
6.4.3.
K[]
K[, ]
K[, , ]
K[, , , ]
1 1.5709
0,0006
4
1,5727
0.00012
0,0012
1,5751
-0.000001
0,000121
0,000717
0
1,5708
6.4.4.
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
144
L. Hctor Jurez V.
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
esta integral consiste en aproximar f (x) por el polinomio pk (x) que interpola f en los puntos
conocidos x0 , . . . , xk del intervalo. Entonces
Z b
Z b
f (x)dx
pk (x)dx
a
Anlisis Numrico
145
k
X
j=0
obtenemos
f (x)dx
a
k
X
Z
wj f (xj )
con wj =
j=0
`j (x)dx.
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
pk (x) = f (x0 ) +
k
X
f [x0 , . . . , xj ]
j=1
j1
Y
(x xl ) .
l=0
6.5.2.
j=1
b j1
Y
a l=0
(x xl )dx .
k
Y
(x xj ).
j=0
El clculo de esta ltima integral puede ser complicado. Sin embargo, puede simplificarse si
consideramos dos casos:
Rb
1er caso: Si wk+1 (x) es de un solo signo en [a, b], es decir si a wk+1 (x)dx > 0
Rb
a wk+1 (x)dx < 0, entonces
Z b
e = f [x0 , . . . , xk , ]
wk+1 (x)dx con (a, b).
a
146
L. Hctor Jurez V.
Rb
2o caso: Si a wk+1 (x)dx = 0, entonces se puede introducir un punto adicional xk+1
para que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b]. Si esto es posible,
entonces
Z b
e = f [x0 , . . . , xk+1 , ]
wk+2 (x)dx
a
Demostracin. 1er caso: f [x0 , . . . , xk , x] es una funcin continua de x en [a, b] y toma sus
valores mximo M y mnimo m en el intervalo
m f [x0 , . . . , xk , x] M .
Rb
Suponiendo
m
a
Z
wk+1 (x)dx
Por lo tanto
Rb
m
wk+1 (x)dx .
Por el teorema del valor intermedio para funciones continuas, debe existir un en [a, b] tal
que
Rb
wk+1 (x)f [x0 , . . . , xk , x]dx
f [x0 , . . . , xk , ] = a
,
Rb
a wk+1 (x)dx
de donde se sigue la expresin para el error. Se obtiene la misma expresin suponiendo
Rb
a wk+1 (x)dx < 0, x [a, b].
2o 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 ) .
Luego
Z
e=
Anlisis Numrico
147
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:
Z 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
Z b
Z
f (k+1) () b
e = f [x0 , . . . , xk , ]
wk+1 (x)dx .
wk+1 (x)dx =
(k + 1)! a
a
Rb
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
Z b
Z
f (k+2) () b
e = f [x0 , . . . , xk+1 , ]
wk+2 (x)dx =
wk+2 (x)dx .
(k + 2)! a
a
Observese que el error en este caso tiene un orden mayor que el del caso 1.
6.5.3.
Si se escoge x0 = a, entonces
Z
148
L. Hctor Jurez V.
con en [a, b]. Suponiendo f C 1 [a, b], podemos expresar el error en la forma
e=
f 0 ()
(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
w2 (x)dx = f [a, b, ]
f 2 ()
(b a)3 ,
12
en [a, b] .
(a b)3
,
6
Anlisis Numrico
149
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 ) .
a+b
, entonces la regla de cuadratura es
2
Z b
Z b
a + b (a b)3
(b a)2
+ f a, b,
f (x)dx
p2 (x)dx = f (a)(b a) + f [a, b]
2
2
6
a
a
ba
a+b
=
f (a) + 4f (
) + f (b)
6
2
Si elegimos x0 = a, x1 = b, x2 =
a+b
), el cual satisface (ver
2
x0=a
x2=(a+b)/2
x =b
1
Si introducimos x3 =
a+b
como punto adicional entonces
2
w3 (x) = (x a)(x b)(x
a+b 2
) 0,
2
Z b
a+b a+b
a+b 2
e = f a, b,
,
,
(x a)(x b) x
dx
2
2
2
a
a+b a+b
4 ba 5
f 4 () b a 5
= f a, b,
,
,
=
,
2
2
15
2
90
2
donde [a, b]. En la ltima igualdad hemos supuesto que f C 4 [a, b].
150
L. Hctor Jurez V.
a+b
f (x) p0 (x) = f
2
y la regla de cuadratura es
Z
f (x)dx f
a
a+b
2
(b a) .
w1 (x)dx
(x
a
a+b
)dx = 0 .
2
x0 = (a+b)/2
f 2 ()
w2 (x)dx =
2
Z b
a+b 2
f 2 ()
x
dx =
(b a)3 .
2
24
a
R1
2
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
151
REGLA DE CUADRATURA
Rectngulo
I (b a)f (a)
Punto medio
I (b a)f (
Trapecio
Simpson
RESULTADO
a+b
)
2
0,7788007
(b a)
(f (a) + f (b))
=
2
a+b
(b a)
I
(f (a) + 4f (
) + f (b)) =
6
2
I
0,6839397
0,7471804
6.6.
REGLA
ERROR REAL
Rectngulo
0.25318
Punto medio
0.03198
Trapecio
0.06288
Simpson
3,6 104
ESTIMACION
DEL ERROR
0
f ()
2
2 (b a) 0,4288819
00
f ()
3
24 (b a) 0,0833333
00
f ()
(b a)3 0,166666
12
4
f () b a 5
4,1666103
90
2
Rb
Las estimaciones de I = a f (x)dx presentadas anteriormente no producen una buena
aproximacin, particularmente cuando el intervalo [a, b] es grande. Introducir ms puntos
de interpolacin para compensar el aumento en el tamao del intervalo no es conveniente
Q
pues la acumulacin del error debido a que el trmino wk+1 (x) = nj=0 (x xj ) es cada
vez mayor conforme n aumenta. La alternativa prctica es dividir [a, b] en un conjunto de
subintervalos pequeos y aplicar las reglas simples de integracin numrica en cada uno de
estos subintervalos.
Sea f (x) definida e integrable sobre [a, b]. Consideremos una subdivisin de [a, b] en n
ba
como se ilustra en la Figura 6.11, y sean
subintervalos iguales de longitud h =
n
xi = a + ih, i = 0, 1, . . . , n.
152
L. Hctor Jurez V.
...
x1
a=x0
xn-1
xn=b
f (x)dx =
n Z
X
i=1
xi
f (x)dx ,
xi1
y las integrales delante de la sumatoria se aproximan utilizando las reglas simples en cada
subintervalo.
f (x)dx =
a
hX
h3 X 00
[f (xi1 ) + f (xi )]
f (i )
2
12
i=1
i=1
h
[f (x0 ) + 2
2
n1
X
f (xi ) + f (xn )]
i=1
h3 X 00
f (i )
12
i=1
La ltima sumatoria se puede simplificar cuando f C 2 [a, b], pues en este caso
m f 00 (i ) M
para cada i = 1, . . . , n ,
en donde
m = mn f 00 (x) y M = max f 00 (x) .
axb
As que
axb
Pn
f 00 (i )
M.
n
Por el teorema del valor intermedio aplicado a la funcin continua f 00 (x) sobre [a, b],
existe en [a, b] tal que
Pn
f 00 (i )
00
f () = i=1
n
m
i=1
Anlisis Numrico
153
es decir
nf 00 () =
n
X
f 00 (i )
i=1
h3 00
h2
nf () = (b a)f 00 ()
12
12
n1
f (x)dx
a
X
h
[f (x0 ) + 2
f (xi ) + f (xn )]
2
i=1
b a 00
f ()h2
12
xi1 + xi
.
2
Sumando de i = 1 a i = n obtenemos
n
Z b
n
hX
1 h 5X 4
f (x)dx =
[f (xi1 ) + 4f (xi 1 ) + f (xi )]
f (i )
2
6
90 2
a
i=1
i=1
"
#
n1
n
X
X
h
=
f (x0 ) + 2
f (xi ) + 4
f (xi 1 ) + f (xn )
2
6
i=1
i=1
4
h
ba 4
f (i )
,
180
2
en donde en el trmino del error hemos utilizado un argumento similar al utilizado en
la regla del trapecio:
Suponiendo f C 4 [a, b] :
n
X
i=1
f 4 (i ) = nf 4 () ,
154
L. Hctor Jurez V.
Ejemplo 6.11. Estimar el nmero de subintervalos en los que hay que dividir el intervalo
R1
2
[0, 1] para que la regla compuesta del trapecio calcule 0 ex dx con un valor correcto a 6
dgitos.
Solucin. El error en la regla de trapecio es
con a = 0, b = 1, y h =
h2
h2
1 00
f ()
(b a)f 00 () = f 00 () =
12
12
12n2
1
. Entonces debemos pedir que
n
1
|f 00 ()| 106 .
12n2
1
M 106 .
12n2
Pero f 00 (x) = ex (4x2 2) es creciente en 0 x 1, pues f 000 (x) = 4xex (3 2x2 ) > 0 en
el mismo intervalo. Luego el mximo de |f 00 (x)| debe tomarse en x = 0 en x = 1, as que
M = max{|f 00 (0)|, |f 00 (1)|} = max{2, 2e1 } = 2 ,
y n debe ser tal que
1
2 106 . Es decir
12n2
r
106
n
408
6
I
0.74679961
0.74681800
0.74682260
0.74682375
0.74682404
error
106
2,452
6,13 106
1,53 106
3,8 107
9 108
Anlisis Numrico
155
Notese 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
max |f 00 (x)|h2 =
M h2 =
=
=
= 2
2
2
2 0x1
2
12
12n
12n
6n
Con el objeto de comparar hacemos lo mismo con el mtodo de Simpson.
4
1
h
h4
12h4
1
ba 4
106 ,
|f ()|
m
ax |f 4 (x)|
=
=
180
2
180
16
180 16
240n4
en donde max0x1 |f 4 (x)| = 12. Por lo tanto
r
6
4 10
n
8,
240
y, como era de esperarse, este resultado muestra un aumento drmatico en la precisin
cuando se utiliza el mtodo de Simpson. A continuacin mostramos los resultados para
diferentes valores de n
n
2
4
6
8
22
error
0.74685538
0.74682612
0.74682452
0.74682426
0.74682413
105
3,125
1,99 106
3,96 107
1,27 107
4,99 109
6.7.
Todas las reglas de integracin numrica que hemos obtenido son de la forma
Z b
f (x)dx w0 f (x0 ) + w1 f (x1 ) + . . . + wn f (xn )
(6.2)
156
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 raices distintas en (1, 1). Por ejemplo
2 (x) =
3 (x) =
3 2
(x
2
5 2
(x
2
r
1
1
) tiene raices x =
3
3
r
3
3
) x tiene raices x = 0, x =
.
5
5
Anlisis Numrico
157
Si escogemos como puntos de interpolacin las raices x1 , x2 , . . . , xn del polinomio de Legendre de grado n, n (x) sobre [1, 1], entonces podemos expresar f (x) por medio de su
polinomio de interpolacin de la siguiente manera
f (x) =
n
X
f (n) ((x)) Y
(x xi )
n!
i=1
i=1
i=1
`i (x)dx =
n
Y
1 j=1, j6=i
(x xj )
dx
(xi xj )
p(x)dx =
1
q(x)n (x)dx +
r(x)dx
1
Luego
Z
p(x)dx =
1
n1
X
i=0
1
Z
=
Z
di
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
Z 1
Z 1Y
n
X
(x xj )
r(xi )wi con wi =
`i (x)dx =
dx .
(xi xj )
1
1
i=1
i6=j
158
L. Hctor Jurez V.
n
xi
wi
x2 = x1 = 0,5773502692
x3 = x1 = 0,7745966692
w1 = w2 = 1
5
w1 = w3 =
9
8
w2 =
9
w1 = w4 = 0,3478548451
w2 = w3 = 0,6521451549
x2 = 0
4
x4 = x1 = 0,8611363116
x3 = x2 = 0,3399810436
x5 = x1 = 0,9061798459
x4 = x2 = 0,5384693101
x3 = 0
w1 = w5 = 0,2369268851
w2 = w4 = 0,4786286705
128
w3 =
= 0,5688888889
225
i=1
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
(b a)t + a + b
2
f (x)dx =
(b a)t + a + b
2
ba
dt
2
R1
0
Anlisis Numrico
159
t+1
. Por lo tanto
2
Z 1
Z 1
Z
1 1 ( t+1 )2
21
x2
( t+1
)
e dx =
e 2
dt =
e 2 dt
2
2 1
0
1
Solucin: a = 0, b = 1 implica x =
xi +1 2
1X
wi e( 2 ) = 0,74682413
2
i=1
(1
(1
+ x) , , > 1
ex
2
ex
x) (1
Nombre
Tn (x), Chebishev
Pn, (x), Jacobi
Ln (x), Laguerre
Hn (x), Hermite
160
L. Hctor Jurez V.
Captulo 7
Aproximacin Numrica de
Ecuaciones Diferenciales Ordinarias
7.1.
Conceptos bsicos
(7.1)
(7.2)
donde y = y(t) = (y1 (t), y2 (t), . . . , yn (t))T , y0 = (y01 , y02 , . . . , y0n )T Rn , f = (f1 , f2 , . . . , fn )T
funcin vectorial con cada una de sus funciones componentes fi = fi (t, y1 , y2 , . . . , yn ) de Rn+1
en R.
Ejemplos de ecuaciones diferenciales ordinarias (e.d.o.)
161
162
L. Hctor Jurez V.
dy
dy
x
=0
=
dx
dx
y
equilibrio
x(t)<0
x(t)>0
m
Figura 7.1: Bloque de masa m suspendido por un resorte.
reescribirse en la forma
x00 + w2 x = 0, con w =
p
k/m.
A su vez, esta ecuacin diferencial de segundo orden puede expresarse como un sistema
de dos ecuaciones diferenciales de primer orden (7.1), con
y(t) = (y1 (t), y2 (t))T ,
f (t, y) = (y2 , w2 y1 )T =
"
0
1
2
w 0
#"
y1
y2
(7.3)
(7.4)
Anlisis Numrico
163
si hacemos la sustitucin:
y1 (t) = x(t)
y2 (t) = x0 (t)
..
.
0
yn1 (t) = y (n2) (t) yn1
(t) = y (n1) (t) = yn (t)
164
L. Hctor Jurez V.
donde G es la constante de gravitacin universal y r(t) =
la sustitucin:
p
x1 (t)2 + x2 (t)2 . Si hacemos
Anlisis Numrico
7.2.
165
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 ununciar 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
kf (t, y) f (t, y )k Lky y k,
t [a, b], y, y Rn
166
L. Hctor Jurez V.
Nota 2. En ocasiones es muy difcil verificar una condicin de Lipschitz en forma directa.
fi
(t, y) son continuas y acotadas en [a, b] Rn
Sin embargo si las derivadas parciales
yi
[a, b] Y (con Y Rn ), entonces f (t, y) es Lipschitz continua respecto a y en Rn Y,
respectivamente.
Ejemplo 7.4. La funcin f (t, y) = t/y no es Lipschitz continua en cualquier conjunto que
tenga y = 0. Sin embargo como f /y = t/y 2 es continua respecto a t y respecto a toda
y 6= 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 negativo.
7.3.
yN
y(t0)=y0
y1
y2
y(tN)
y(t1) y(t2)
t0=a
t1
t2
...
tn=b
de series de Taylor son mtodos de este tipo. La idea para obtener este tipo de mtodos
consiste en lo siguiente: Sea y(t) la solucin de (7.1)(7.2) al tiempo arbitrario t. Si h es un
incremento del tiempo, entonces
y(t + h) = y(t) + y 0 (t)h +
(7.5)
Anlisis Numrico
167
Si y(t) no es conocida, las derivadas de y(t) tampoco lo son. Sin embargo, sabemos que
y 0 (t) = f (t, y),
y 00 (t) = f (1) (t, y) = ft (t, y) + fy (t, y)f (t, y),
(1)
y 000 (t) = f (2) (t, y) = ft (t, y) + fy(1) (t, y)f (t, y),
..
.
(k1)
en donde f (1) y f (2) , . . . , f (k) , k 0, indican derivadas totales de f respecto a t. Por lo tanto
(7.5) puede reescribirse como
y(t + h) = y(t) + hf (t, y) +
h2 (1)
h3
f (t, y) + f (2) (t, y) + . . .
2
3!
(7.6)
Observese 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.6) es una
buena aproximacin a y(t). Si cortamos la serie a p + 1 trminos (p 1), se obtiene
h2
hp
hp+1 (p)
y(t + h) = y(t) + hf (t, y) + f (1) (t, y) + . . . + f (p1) (t, y) +
f (, y())
2!
p!
(p + 1)!
hp1 (p1)
hp+1 (p)
h
f
(t, y) +
f (, y())
= y(t) + h f (t, y) + f (1) (t, y) + . . . +
2!
p!
(p + 1)!
con entre t y t + h. Entonces, podemos escribir
y(t + h) = y(t) + h(t, y; h) +
con
(t, y; h) =
p1
X
k=0
hp+1 (p)
f (, y()),
(p + 1)!
f (k) (t, y)
hk
(k + 1)!
(7.7)
(7.8)
168
L. Hctor Jurez V.
(7.9)
i = 0, 1, . . . , N 1.
(7.10)
h
yi+1 = yi + h f (ti , yi ) + f (1) (ti , yi ) ,
2
i = 0, 1, . . . , N 1
(7.11)
0<t2
y(0) = 1.
La solucin exacta de esta ecuacin es y(t) = 2/(1+e2t ). En la Figura 7.4 y en la Tabla 7.1 se
muestran los resultados con el mtodo de Euler (7.10) y el mtodo de Taylor (7.11) tomando
h = 0.1. Tanto en la tabla como en la grfica se observa una mejor aproximacin con el
2
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
exacta
Euler
Taylor 2
1.1
1
0
0.5
1.5
Figura 7.4: Grficas de las soluciones con los mtodos de Euler y Taylor de 2o orden.
mtodo de Taylor de orden 2 que con el mtodo de Euler como era de esperarse. Observese
que en este caso f (t, y) = 2y y 2 y entonces f (1) (t, y) = (2 2y)(2y y 2 ) = 2y(1 y)(2 y).
Anlisis Numrico
169
t
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
Sol. Euler
1.0000000
1.1000000
1.1990000
1.2950399
1.3863350
1.4714096
1.5491869
1.6190262
1.6807069
1.7343707
1.7804407
1.8195319
1.8523687
1.8797154
1.9023255
1.9209064
1.9360995
1.9484713
1.9585115
1.9666371
1.9731984
Sol. Taylor
1.0000000
1.1000000
1.1980100
1.2921867
1.3809770
1.4632059
1.5381117
1.6053323
1.6648544
1.7169416
1.7620568
1.8007886
1.8337897
1.8617278
1.8852520
1.9049698
1.9214345
1.9351394
1.9465171
1.9559423
1.9637359
Error Euler
0.0000000
3.3200538e-4
1.6246798e-3
3.7272875e-3
6.3860835e-3
9.2924117e-3
1.2137304e-2
1.4658472e-2
1.6670129e-2
1.8072841e-2
1.8846521e-2
1.9032890e-2
1.8714049e-2
1.7992264e-2
1.6973853e-2
1.5758116e-2
1.4430961e-2
1.3062215e-2
1.1705495e-2
1.0399618e-2
9.1707727e-3
Error Taylor
0.0000000
3.3200538e-4
6.3467978e-4
8.7412722e-4
1.0280498e-3
1.0886996e-3
1.0621176e-3
9.6455088e-4
8.1761418e-4
6.4369998e-4
4.6259408e-4
2.8960765e-4
1.3504982e-4
4.6307489e-6
9.9641180e-5
1.7841400e-4
2.3401902e-4
2.6967832e-4
2.8892268e-4
2.9520355e-4
2.9166246e-4
0 < t 2,
x0 (0) = 0.
y el mtodo de Euler (7.10) y Taylor de 2o orden (7.11) con h = 0.1 producen los resultados
mostrados en la Figura 7.5. De nuevo es evidente la superioridad del mtodo de Taylor de
2o orden. Observese que en este caso la diferencia entre ambos mtodos es an mayor que
en el caso anterior debido a que la solucin con el mtodo de Euler se deteriora cada vez
ms conforme avanza el tiempo.
A continuacin introducimos algunas definiciones tiles para analizar los mtodos de
Taylor y otros mtodos que estudiaremos ms adelante.
170
L. Hctor Jurez V.
4
exacta
Euler
Taylor
4
0
tiempo
(7.12)
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 la 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
cuando
h 0.
0 =
lm T (t, y; h) = lm (t, y; h) lm
(7.13)
Anlisis Numrico
171
(7.14)
Definicin 7.9. Orden del mtodo El mtodo (7.12) se dice que tiene orden p, con p
entero 1, si en alguna norma vectorial
kT (t, y; h)k c hp
(7.15)
i = 0, 1, 2, . . . , N 1
172
L. Hctor Jurez V.
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
kT (t, y; h)k c h.
Esto muestra que efectivametne el mtodo de Euler tiene p = 1.
Si hacemos la misma suposicin de acotamiento uniforme sobre las segundas derivadas
de y, entonces y 00 () = y 00 (t) + O(h), as que
h
T (t, y; h) = [ft + fy f ] (t, y) + Oh2 ,
2
h 0,
hp
f (p) (, y())
(p + 1)!
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.16)
Anlisis Numrico
173
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 0 (t) representa la
pendiente de la tangente a y en t.
yaprox
Pendiente
1
y (t)=f(t,y)
y(t+h)
y(t)
t+h
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
174
L. Hctor Jurez V.
h
h
f t + , y + f (t, y)
2
2
h
h
yaprox = y + h f t + , y + f (t, y)
2
2
Pendiente revisada:
Nuevo mtodo:
En este caso obtenemos
h
h
, y + f (t, y)).
2
2
Esta construccin se muestra en la Figura 7.7. Notese la caracterstica anidada de f en la
(t, y, h) = f (t +
yaprox
m=f(t+h/2,y+h/2 f(t,y))
y(t+h)
y(t)
t+h/2
t+h
k (t, y) = f (t, y)
1
k2 (t, y) = f (t + h2 , y + h2 k1 )
yaprox = y + hk2
(7.17)
Anlisis Numrico
175
mejor opcin es tomar la pendiente final como el promedio de las dos pendientes m1 = f (t, y)
y m2 = f (t + h, y + hf (t, y)). Con esta estrategia obtenemos el siguiente mtodo, cuya
interpretacin grfica se muestra en la Figura 7.8: Mtodo de Heun ( del trapecio)
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.18)
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 . Solo se evala f dos veces en cada paso de tiempo.
7.5.
Una forma ms sistemtica para obtener los mtodos anteriores (7.17) y (7.18) consiste
en suponer que es un promedio pesado de dos pendientes k1 y k2 . Es decir
(t, y; h) = 1 k1 + 2 k2
176
L. Hctor Jurez V.
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
1
+
ftt t2 + 2fty ty + y T fyy y (t, y) + . . .
2
= f (t, y) + h [ft + fy f ] (t, y)
+
2 h2
[ftt + 2fty + f T fyy f ](t, y) + O(h3 )
2
Anlogamente
y(t + h) y(t)
h
h2
= y 0 (t) + y 00 (t) + y (3) (t) + O(h3 )
h
2
3!
h2
h (1)
= f (t, y) + f (t, y) + f (2) (t, y) + O(h3 )
2
6
h
= f (t, y) + [ft + fy f ](t, y)
2
2
h
+ [ftt + 2fty f + f T fyy f + fy (ft + fy f )](t, y) + O(h3 )
6
Anlisis Numrico
177
2 h2
T
T (t, y; h) = 1 f + 2 f + h[ft + fy f ] +
[ftt + 2fty f + f fyy f ]
2
h2
h
f [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 ]
h2
1
2
T
+
(2 1/3)(ftt + 2fty f + f fyy f ) fy (ft + fy f ) + O(h3 )
2
3
En esta expresin el primer coeficiente es cero pues 1 + 2 = 1; el segundo coeficiente es
cero si 2 = 1/2; el tercer coeficiente no puede hacerse cero, a menos que se impongan
restricciones muy severas sobre f . Por lo tanto, el mximo orden alcanzable es p = 2 si
escogemos 1 , 2 , , tales que
1
2 = .
2
Si despejamos 1 de la primera ecuacin y de la segunda, se obtiene una familia de
soluciones que dependen del parmetro 2 6= 0:
1 + 2 = 1,
1 = 1 2
y =
1
.
22
Se puede verificar muy facilmente 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 (recuerdese que = 1/22 )
1
1
1
1
T
(x, y) =
(
)(ftt + 2fty f + f fyy f ) fy (ft + fy f ) (t, y)
2 42 3
3
Observese 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
Con estos valores se obtiene el mtodo:
Mtodo RK2 ptimo
3
2 = ,
4
2
= .
3
k1 = f (t, y)
k2 = f (t + 23 h, y + 32 hk1 )
178
L. Hctor Jurez V.
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 Tabla 7.2 se muestra el error al utilizar
ambos mtodos as como la diferencia en valor absoluto de los resultados obtenidos con
ambos mtodos para los ltimos 19 valores. Se observa una diferencia entre ambos mtodos
de orden 1016 . En la Figura 7.9 se muestra una grfica de la solucin exacta x(t) = cos(2t)
junto con las soluciones aproximadas.
t
4.5
4.6
4.7
4.8
4.9
5.0
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
6.0
6.1
6.2
6.3
Error Euler-mod
3.1253742e-2
2.0823611e-2
9.0537770e-3
3.6095901e-3
1.6663189e-2
2.9566583e-2
4.1764547e-2
5.2710839e-2
6.1892396e-2
6.8852876e-2
7.3214496e-2
7.4697138e-2
7.3133807e-2
6.8481647e-2
6.0827900e-2
5.0390400e-2
3.7512415e-2
2.2651917e-2
6.3655670e-3
Error Heun
3.1253742e-2
2.0823611e-2
9.0537770e-3
3.6095901e-3
1.6663189e-2
2.9566583e-2
4.1764547e-2
5.2710839e-2
6.1892396e-2
6.8852876e-2
7.3214496e-2
7.4697138e-2
7.3133807e-2
6.8481647e-2
6.0827900e-2
5.0390400e-2
3.7512415e-2
2.2651917e-2
6.3655670e-3
Dif. EM y Heun
7.7715612e-16
7.7715612e-16
8.8817842e-16
7.7715612e-16
6.6613381e-16
4.4408921e-16
2.2204460e-16
1.1102230e-16
5.5511151e-17
2.4980018e-16
4.4408921e-16
5.5511151e-16
6.1062266e-16
7.7715612e-16
8.8817842e-16
8.8817842e-16
7.7715612e-16
6.6613381e-16
6.6613381e-16
1
0.8
exacta
Euler Modificado
Heun
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
0
Anlisis Numrico
7.6.
179
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)
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
r
y(t + h) y(t) X
y(t + h) y(t)
T (t, y; h) = (t, y; h)
=
i ki
h
h
i=1
= O(hp ),
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 en este escrito. 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
180
L. Hctor Jurez V.
Sol. RK-4
-9.1106338e-1
-9.7479683e-1
-9.9966920e-1
-9.8468894e-1
-9.3045331e-1
-8.3912447e-1
-7.1434336e-1
-5.6108451e-1
-3.8545771e-1
-1.9446450e-1
4.2810183e-3
2.0285570e-1
3.9334320e-1
5.6814960e-1
7.2030612e-1
8.4374693e-1
9.3355101e-1
9.8613826e-1
9.9941230e-1
Error
6.6886305e-5
4.6788469e-5
2.3846367e-5
1.0861609e-6
2.7034469e-5
5.2941197e-5
7.7709332e-5
1.0024850e-4
1.1952256e-4
1.3459635e-4
1.4467967e-4
1.4916631e-4
1.4766633e-4
1.4003006e-4
1.2636242e-4
1.0702665e-4
8.2637098e-5
5.4040974e-5
2.2289544e-5
Cuadro 7.3: Resultados con el mtodo RK4 para el oscilador armnico simple.
Anlisis Numrico
181
1
exacta
RungeKutta 4
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
0
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,
con longitudes de malla hi = ti+1 ti , i = 0, 1, . . . , N 1. A menudo se usa la letra h
1
para sealar la coleccin de longitudes {hi }N
i=0 . El tamao finura de la malla se mide por
medio de
|h| := max hi = khk ,
0iN 1
con vi Rn ,
182
L. Hctor Jurez V.
(7.19)
yi+1 = yi + hi (ti , yi ; hi ),
(7.20)
Si Rh yh 0 , entonces yh = {yi }N
i=0 resuelve la ecuacin en diferencias (7.19)(7.20).
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 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.
Anlisis Numrico
183
Definicin 7.14. El mtodo (7.19)(7.20) 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
kyh wh k K(ky0 w0 k + kRh yh Rh wh k )
h con |h| pequeo.
Esta definicin est motivada por la siguiente propiedad: Supongase que yh = {yi }N
i=0
es la solucin de la ecuacin en diferencias (7.19)(7.20), obtenida con precisin infinita.
Entonces
Rh yh = 0,
y(t0 ) = y0 .
Ahora bin, cuando utilizamos una computadora o cualquier otro medio de clculo para
aplicar el esquema (7.19)(7.20), la precisin es finita y el error de redondeo estar presente
en los clculos. Entonces, en lugar de obtener yh obtenemos la solucin en punto flotante
wh = {wi }N
i=0 , la cual satisface
Rh wh = ,
con = {i }N
i=0
w0 = y0 + 0 ,
en donde w0 es la representacin en punto flotante de y0 (es decir, si 0 = (01 , 02 , . . . , 0n )T ,
entonces |0i | maq ). Por lo tanto, la estabilidad del mtodo (7.19)(7.20) se satisface si
existe K > 0 tal que
kyh wh k K(k0 k + kk )
(7.21)
Esta ltima relacin nos indica que el mtodo (7.19)(7.20) 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
bin
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.
184
L. Hctor Jurez V.
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.22)
k=1
k=0
+ + hi1 (1 + hi M ) + hi .
Se puede demostrar facilmente que cada uno de los productos es menor igual a e(ba)M
P
pues 1 + hk M ehk M y N
k=1 hk = b a. As que
ei+1 e
(ba)M
e0 + e
(ba)M
i
X
k=0
Pi
k=0 hk
b a. Por lo tanto
kek = kyh wh k e
(ba)M
ky0 w0 k + (b a)kRh yh Rh wh k
K ky0 w0 k + kRh yh Rh wh k
Anlisis Numrico
185
Entonces
1
k (t, y; h) (t, y ; h) k = k f (t, y) f (t, y ) + f (t + h, y + hk1 ) f (t + h, y + hk1 ) k
2
donde k1 = f (t, y ). Por la desigualdad del tringulo y la condicin de Lipschitz se obtiene
L
L
ky y k + ky + hk1 y hk1 k
2
2
Lh
L2 h
Lky y k +
kf (t, y) f (t, y )k Lky y k +
ky y k.
2
2
k (t, y; h) (t, y ; h) k
Tomando M = L(1 +
7.7.2.
hL
2 )
Convergencia
0iN
Teorema 7.18. Si el mtodo (7.19)(7.20) es consistente y estable sobre [a, b], entonces el
mtodo es convergente.
N
Demostracin. Sea yh = {yi }N
i=0 solucin de (7.19)(7.20), y sea y = {y(ti )}i=0 solucin
de (7.1)(7.2) en los puntos de malla. Entonces, debido a la estabilidad
186
L. Hctor Jurez V.
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.
Anlisis Numrico
187
(7.23)
(7.24)
entonces
yi y(ti ) = (ti )hp + O(hp+1 ), cuando |h| 0
(7.25)
para i = 1, . . . , N .
Antes de demostrar este teorema hacemos las siguientes observaciones:
1. El significado preciso de la expresin (7.25) es
kyh y hp k = O(hp+1 ) cuando |h| 0,
N
N
donde y = {y(ti )}N
i=0 , yh = {yi }i=0 , = {i }i=0 son funciones de malla y k k se
define como el valor mximo en valor absoluto de la funcin de malla.
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.23)(7.24) sobre [a, b].
Demostracin. Utilizando el teorema de Taylor 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.26)
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
= 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
yi+1 = yi + h(ti , yi ; h) y T (ti , y(ti ); h) = (ti , y(ti ); h)
y(ti+1 ) y(ti )
h
188
L. Hctor Jurez V.
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 ),
obtenemos, utilizando (7.26),
i+1 i
h
1
(ti , yi ; h) (ti , y(ti ); h) + (ti , y(ti ))hp + O(hp+1 )
p
h
yi y(ti )
+ (ti , y(ti )) + O(h)
= fy (ti , y(ti ))
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.23). 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 k K[k0 0 k + kRh Rh k ] = KkT (, ; h)k = O(h)
debido a que T (, ; h) es el error de truncamiento en el mtodo de Euler. Como = hp (yh
y), entonces multiplicando por hp la ltima desigualdad se obtiene
kyh y + hp k = O(hp+1 ).
7.9.
Anlisis Numrico
189
La idea principal para hacer una estimacin del error global es hacer uso de las expresiones (7.23)(7.25). Es decir, integrar la ecuacin variacional (7.23) junto con la ecuacin
principal (7.1)(7.2). Observese que en (7.25) necesitamos una estimacin de (ti ) con un
error de orden a lo ms O(h), dado que cualquier estimacin con orden adicional sera absorbida por el trmino O(hp+1 ). Por lo tanto, (ti ) puede obtenerse del problema variacional
(7.23) por medio del mtodo de Euler:
i+1 = i + h[fy (ti , yi )i + (ti , yi ; h)].
Sin embargo tenemos un problema adicional: necesitamos calcular la funcin del error principal (t, y), lo cual generalmente no ser posible. Pero, de nuevo, como solo necesitamos
una estimacin de primer orden i , podemos sustituir (t, y) por una funcin r(t, y ; h) que
satisfaga
r(t, y; h) = (t, y) + O(h), h 0
(7.27)
uniformemente sobre [a, b]Rn . Ms adelante presentaremos dos tcnicas mediante las cuales
se puede obtener r(t, y; h).
Resumiendo, si (t, y; h) satisface las condiciones del teorema 7.19 y si r(t, y; h) es una
estimacin del error principal que satisface (7.27), generamos simultaneamente las funciones
N
de malla yh = {yi }N
i=0 y h = {i }i=0 por medio de
ti+1 = ti + h
(7.28)
yi+1 = yi + h(ti , yi ; h)
(7.29)
(7.30)
|h| 0
190
L. Hctor Jurez V.
Funciona bin para cualquier mtodo de un paso, pero se considera que es muy caro
computacionalmente. Si tiene orden p, el procedimiento es calcular
yh = y + h(t, y; h)
h
yh/2 = y + (t, y; h/2)
2
h
yh = yh/2 + (t + h/2, yh/2 ; h/2)
2
y entonces una estimacin de r(t, y; h) es (Gautschi)
r(t, y; h) =
yh yh
1
1 1/2p hp+1
(7.31)
Observese 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 despues 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)
Anlisis Numrico
191
p + 1:
y(t + h) y(t) + h (t, y; h),
y (t + h) y(t) + h (t, y; h),
(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.32)
1
[(t, y; h) (t, y; h)]
hp
(7.33)
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 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),
192
L. Hctor Jurez V.
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 .
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
Anlisis Numrico
193
(7.34)
h
h
, yi + k1 ),
4
4
27
189
729
k3 = f (ti + h, yi
hk1 +
hk2 ),
40
800
800
214
1
650
k4 = f (ti + h, yi +
hk1 + hk2 +
hk3 ),
819
33
891
h
yi+1 = yi +
(214k1 + 27k2 + 650k3 ),
891
h
yi+1
= yi +
(533k1 + 1600k3 27k4 ).
2106
k2 = f (ti +
(7.35)
(7.36)
(7.37)
(7.38)
(7.39)
yi+1 yi+1
= h[(ti , yi ; h)) (ti , yi ; h))] = h3 r(ti , yi ; h),
(ver ecuacin (7.33) con p = 2). Supongase que queremos que el error global sea menor a un
valor dado (tolerancia). Para que esto ocurra se debe cumplir que
kyi+1 yi+1
k = h3 kr(ti , yi ; h)k .
(7.40)
Para que el nuevo paso del tiempo hnew sea exitoso, es decir produzca un error menor a ,
se debe satisfacer
kr(ti+1 , yi+1 ; h)k h3new .
(7.41)
Pero, salvo errores de orden h,
r(ti+1 , yi+1 ; h) r(ti , yi ; h) =
k
kyi+1 yi+1
h3
194
L. Hctor Jurez V.
Por lo tanto, para garantizar que el error global sea menor a en cada paso debemos escoger
hnew h
k
kyi+1 yi+1
1/3
hnew h
k
kyi+1 yi+1
1/(p+1)
(7.42)
q=
h
k
kyi+1 yi+1
1/p
y 0.9
0 < t 10 ,
x(0) = 1 ,
x0 (0) = 0.
Con c = 0, se obtiene la ecuacin del oscilador armnico simple. Si c 6= 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) y10 (t) = y2 (t)
y2 (t) = x0 (t) y20 (t) = c(1 y1 (t)2 )y2 (t) y1 (t)
En notacin matricial se puede escribir
#"
# "
#
" #
# "
"
y1
0
1
0 1
y10
, y0 =
=
2
0
y2
cy1 y2
0
1 c
y2
Se resuelve numricamente esta ecuacin diferencial no lineal, para el caso c = 3, utilizando
el mtodo RKF23 (7.34)(7.39) con tolerancia = 0.01. La Figura 7.11 muestra las grficas
de y1 (t) = x(t) y y2 (t) = x0 (t) contra t. La Figura 7.12 muestra el retrato fase de la solucin,
Anlisis Numrico
195
x(t)
x(t)
10
15
tiempo
20
25
30
Figura 7.11: Solucin de la ecuacin de Van der Pol. Mtodo RKF3 con = 0.01
6
4
2
x(t)
0
2
4
6
1.5
0.5
0.5
1.5
x(t)
es decir la grfica de x(t) contra x0 (t). Se observa que el retrato fase de la solucin representa
un ciclo lmite no simple y la solucin es perodica. En ambas figuras se observa claramente
el tamao variable de los pasos de tiempo. El nmero de pasos del tiempo en este ejemplo fu
de 156. Con un mtodo de paso fijo se toma h = 0.1 para obtener una precisin equivalente
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
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.
196
L. Hctor Jurez V.
x(t)
x(t)
10
15
tiempo
20
25
30
6
4
2
x(t)
0
2
4
6
0
x(t)
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
Anlisis Numrico
197
h
h
k2 = f ti + , yi + k1
4
4
3h
3
9
k3 = f ti +
, yi + hk1 + hk2
8
32
32
12h
1932
7200
7296
k4 = f ti +
, yi + h
k1
k2 +
k3
13
2197
2197
2197
439
3680
845
k5 = f ti + h, yi + h
k1 8k2 +
k3
k4
216
513
4104
8
3544
1859
11
h
k3 +
k4 k5
k6 = f ti + , yi + h k1 + 2k2
2
27
2565
4104
40
25
1408
2197
1
yi+1 = yi + h
k1 +
k3 +
k4 k5
216
2565
4104
5
16
6656
28561
9
2
yi+1
= yi + h
k1 +
k3 +
k4 k5 + k6
135
12825
56430
50
55
El paso de tiempo nuevo en cada iteracin se calcula por medio de
hnew = 0.84 h
h
k
kyi+1 yi+1
1/4
donde es la tolerancia deseada para el error global. En ocasiones, en lugar de calcular yi+1
k. Por ejemplo, en el caso del mtodo
se calcula directamente la diferencia ei+1 = kyi+1 yi+1
RKF-45 (RungeKuttaFehlberg de cuarto orden), se tiene
1
128
2197
1
2
ei+1 = h
k1
k3
k4 + k5 + k6
360
4275
75240
50
55
198
L. Hctor Jurez V.
x(t)
x(t)
10
15
tiempo
20
25
6
4
2
x(t)
0
2
4
6
0
x(t)
30
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
199
200
L. Hctor Jurez V.