Escolar Documentos
Profissional Documentos
Cultura Documentos
ANLISIS NUMRICO
ndice general
Prlogo v
i
NDICE GENERAL Anlisis Numrico I
3. Ecuaciones no Lineales 57
3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2. Mtodo de la biseccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3. Mtodo de la falsa posicin o regula falsi . . . . . . . . . . . . . . . . . . . . . 59
3.4. Mtodo de las aproximaciones sucesivas o punto fijo . . . . . . . . . . . . . . . . 59
3.5. Mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.6. Anlisis del error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7. Mtodos de convergencia acelerada . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.8. Mtodo de Steffensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.9. Notas finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4. Interpolacin de curvas 69
4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2. Mtodo de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3. Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4. Interpolacin baricntrica de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5. Interpolacin de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.6. Interpolacin por splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.7. Notas finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Prlogo
Esto no pretende ser un libro sobre Anlisis Numrico ni algo que se le parezca. Simple-
mente es un resumen, incompleto, de las clases dadas en el mbito de la Facultad de Ingeniera,
durante los aos 2005 y 2006, orientadas originalmente a la parte prctica y luego reconvertidas
como clases tericas durante el primer cuatrimestre de 2007.
El objetivo es dar una gua de los temas y enfocar a los alumnos en las cuestiones ms
importantes del Anlisis Numrico que suelen aplicarse en el mbito de la ingeniera. No intenta
ser un manual ni un libro de texto, sino simplemente servir como ayuda-memoria a la hora de
repasar lo visto en clase. Textos y libros existen por doquier y algunos de ellos se refieren en la
bibliografa, a los cuales no busca reemplazar. Es ms, muchas de las demostraciones se deben
buscar en esos textos.
Al mismo tiempo, algunos temas que no suelen incluirse en los libros tradicionales se han
desarrollado con mayor o menor fortuna. Dos ejemplos de ello son el Mtodo de Interpolacin
Baricntrica de Lagrange, una forma alternativa de construir los polinomios interpolantes de
Lagrange, y una aproximacin al Mtodo de los Gradientes Conjugados para resolver sistemas
de ecuaciones lineales en forma iterativa. El primero de ellos no figura en ningn libro conocido
y es una interesante alternativa para desarrollar en una computadora, tal como refieren quienes
publicaron el mtodo, los matemticos Jean-Paul Berrut (Dpartment de Mathmatiques, Uni-
versit de Fribourg) y Lloyd N. Trefethen (Computing Laboratory, Oxford University).
El segundo, en realidad, aparece en varios libros dedicados al mtodo de los elementos
finitos, pero no siempre en los textos de Anlisis Numrico. Por ejemplo, recin en la sptima
edicin del libro Anlisis Numrico de Burden & Faires se lo incluye como parte importante
del libro. En otros textos ni siquiera se menciona, a pesar de ser uno de los mtodos iterativos
ms importante para resolver sistemas ralos de ecuaciones lineales, sobre todo en los ltimos
aos, gracias al desarrollo de las computadoras personales. Para las clases, tanto tericas como
prcticas, la base que se us es la publicada por Jonathan Richard Shewchuk (School of Computer
Science, Carnegie Mellon University), que es de libre disponibilidad en la web, y muy buena desde
el punto de vista de la interpretacin y comprensin del mtodo.
El resto de los temas corresponde a los que tradicionalmente se dan en los cursos de
Anlisis Numrico I de la facultad y en la mayora de los cursos afines en Argentina y el resto
del mundo.
Finalmente, este resumen no sera posible sin la ayuda de todos los docentes que han
intervenido e intervienen en el curso 008 de Anlisis Numrico I de la Facultad de Ingeniera de
la Universidad de Buenos Aires. Sus observaciones y crticas a las clases prcticas y tericas han
servido para delinear los temas y tratar de lograr la mejor manera de explicarlos. Espero haberlo
conseguido.
Captulo 1
Burden & Faires, Mtodos Numricos (2005): 1. Preliminares matemticos y anlisis del
error.
Curtis & Wheatley, Anlisis numrico con aplicaciones (2002): 0. Clculo numrico y com-
putadoras (0.5 Aritmtica por computadoras y errores).
Maron & Lopz, Anlisis Numrico, un enfoque prctico (1998): 1. Algoritmos, errores y
dispositivos digitales.
Quintana y otros, Mtodos numricos con aplicaciones en Excel (2005): Captulo 1. Defini-
cin de error.
Esto ayuda a que los alumnos tengan una percepcin equivocada del objeto principal de
la materia. Para evitar esto, Trefethen propone una definicin alternativa:
cuya referencia es justamente, Lloyd (Nick) Trefethen! Y, segn l, el principal objetivo del
anlisis numrico es disear algoritmos para aproximar valores desconocidos (no lo conocido de
antemano), y hacerlo en forma rpida, muy rpida.
Por esa razn, este captulo tiene por objeto desmitificar la influencia de los errores al
aplicar mtodos numricos, y en particular, la influencia del error de redondeo como fuente
bsica de los problemas en la utilizacin de algoritmos para resolver problemas matemticos,
an cuando la existencia de los mismos debe llevar a tenerlos en cuenta en determinados casos
en los que no se los puede soslayar. Para ello, empezaremos viendo los errores que intervienen en
cualquier procedimiento o clculo numrico.(Para un anlisis ms detallado acerca del estudio
de los errores y la estabilidad de los algoritmos, vase [5].)
1.2.1. Introduccin
2. Aadir un nuevo par de datos xn+1 ; fn+1 requiere recalcular todo de cero.
em = ea = m m
m=m
+ ea ;
em = ea = m m
m=m
ea ;
si tenemos en cuenta que el valor de ea puede ser positivo o negativo. As, una forma ms general
de escribir el error absoluto y el relativo es:
1. |ea | = |m m|;
m m
|m m|
|ea |
2. |er | = = = .
m |m| |m|
1
En este caso, precisin se refiere a la unidad ms chica que el instrumento puede medir.
Como hemos supuesto que ea = em , sabemos cual es nuestro error absoluto, pero seguimos
sin saber cul es nuestro error relativo. Tenemos dos posibilidades para obtener m:
m=m ea ,
+ ea o m = m
ea ea |ea | |ea |
er = o er = |er | = o |er | = .
m
+ ea ea
m |m
+ ea | |m
ea |
|ea |
er = ,
|m|
cuando se conoce m
y ea .
1. Una primera aproximacin a una respuesta sera analizar cuan sensible son los resultados
que arroja un algoritmo cuando los datos de entrada se modifican levemente, o sea, cuando
sufren una perturbacin. Un anlisis de este tipo tiene dos formas ser encarado, por un
lado, estudiando la propagacin de errores (en ingls, forward error ), es decir, perturbar
los datos de entrada y ver qu consecuencia tiene en el resultado. Pero tambin se puede
estudiar de manera inversa, partir de una perturbacin en los resultados, y analizar que
grado de perturbacin pueden sufrir los datos de entrada, metodologa que se conoce como
anlisis retrospectivo (en ingls, backward error ). En ambos casos estamos estudiando la
influencia del error inherente.
2. Una segunda aproximacin puede ser analizar el algoritmo con diferentes representaciones
numricas en los datos de entrada y estudiar qu ocurre con los resultados, utilizando la
misma representacin. Este caso estudiamos la incidencia del error de redondeo.
3. Finalmente, y tal vez el ms sencillo de todos, una aproximacin puede ser analizar qu
ocurre cuando se requiere truncar un procedimiento o discretizar el dominio de nuestro
problema matemtico. Este tipo de anlisis puede que requiera solamente de un trabajo
algebraico ms que numrico, aunque suele mezclarse con el error de redondeo.
Definicin 1.1. Un problema matemtico (numrico) se dice que est bien condicionado si pe-
queas variaciones en los datos de entrada se traducen en pequeas variaciones de los resultados.
Observacin 1.1.1. Un problema mal condicionado puede ser resuelto con exactitud, si real-
mente es posible, solamente si se es muy cuidadoso en los clculos.
Observacin 1.1.2. Si f representa al algoritmo real y f al algoritmo computacional, y
x a la variable real y x a la variable computacional, entonces el error en los resultados se
puede definir como:
Veremos ms adelante que las pequeas variaciones en los datos de entrada estn
asociadas al problema en cuestin. No es posible a priori definir cuantitativamente cuando
una variacin es pequea y cuando no lo es. El anlisis de los errores inherentes es importante
para establecer la sensibilidad del modelo numrico a los cambios en los datos, puesto que rara
vez los datos de entrada estn exentos de error.
El segundo caso es el que suele ser un dolor de cabeza para los analistas numricos. Si
analizamos un algoritmo ingresando los datos con diferentes representaciones numricas, esto es,
con diferente precisin, y los resultados no cambian demasiado (salvo por pequeas diferencias
en los decimales), entonces estamos en presencia de un algoritmo estable. Caso contrario, el
algoritmo es inestable.
El ltimo caso est asociado a procedimientos o algoritmos basados en series o iteraciones
infinitas, y suelo combinarse con alguno de los otros errores, como veremos ms adelante. En
consecuencia, lo que debe buscarse de un algoritmo es que sea estable. Qu significa esto en
la prctica? Supongamos (una vez ms, supongamos) que En mide un cierto error cometido en
el paso n de un algoritmo. Podemos expresar este error en funcin del error inicial, que puede
tener una de estas dos expresiones:
1. Error con crecimiento lineal: En c n E0
2. Error con crecimiento exponencial: En cn E0
Es evidente que el primer error es controlable, en tanto que el segundo, no. Puesto que
es imposible que no haya errores al trabajar con un algoritmo, lo que se debe buscar es que el
error siga una ley lineal (como en el primer caso) y no una ley exponencial. A partir de esta
comprobacin se desprende la siguiente definicin:
Definicin 1.2. Un algoritmo se considera estable cuando la propagacin de los errores de
redondeo es lineal o cuasi-lineal.
En cambio, un algoritmo que propaga los errores en forma exponencial es inestable.
con n = 1; 2; . . . ; 34.
Es fcil ver que las primeras integrales analticas son relativamente fciles de obtener (por
ejemplo, para n = 1 o n = 2). En efecto, si queremos hallar y1 podemos hacer:
Z 1
x 1 1 11
y1 = dx = x|0 10 ln(x + 10)|0 = 1 10 ln ;
0 x + 10 10
y1 = 1 10 ln(1, 1) = 0, 0468982019570.
Para analizar si el algoritmo arroja resultados confiables, empezaremos por calcular al-
gunos valores. Habamos calculado el valor de y1 en forma analtica, por lo tanto, tenemos un valor
de comprobacin. Por otro lado, por las caractersticas del problema sabemos que 0 yn 1.
xi
Si definimos las funciones fi (x) = y las graficamos, podemos ver que el rea bajo esas
x + 10
funciones es menor a 0,1
2 = 0, 05. En la figura 1.1 se pueden ver representadas algunas de estas
curvas.
Para comprobar la eficacia del algoritmo hemos utilizado dos programas de computacin
muy conocidos: el MathCAD
r
y el MS Excel
r
. Con el primero hemos calculado las yi en forma
i Analtico MathCAD
r
MS Excel
r
analtica y con el algoritmo dado; con el segundo, slo con el algoritmo. En la tabla 1.1 se tienen
los resultados obtenidos.
Podemos ver que los primeros valores obtenidos con el algoritmo, tanto en MathCAD
r
r
como en MS Excel , resultan una buena aproximacin. Los problemas aparecen para y12 y
siguientes. Detengmonos a analizar los resultados obtenidos a partir de y12 .
En el caso particular de este ltimo, el error empieza a ser considerable, comparando
con los resultados anteriores. En los siguientes valores se obtienen algunos resultados realmente
curiosos. Ya hemos visto que los valores de yn , o sea, las reas bajo las curvas, estn limitados
superiormente por 0, 05. Adems podemos ver que yn > yn+1 , es decir, que las reas bajo la
curva van disminuyendo a medida que crece n. Si miramos los obtenidos con MS Excel
r
, el y13
es mayor que el y12 , algo que no es posible segn lo visto antes. Y el y14 es, negativo! El rea
bajo la curva no puede ser negativa. Con los resultados obtenidos con el MathCAD
r
ocurre
algo similar. Para este programa, y14 da mayor que y13 , y el y15 da negativo, ambos resultados
ncorrectos.
A partir de estos valores, los resultados se vuelven oscilantes (cambian de signo), y ma-
yores que uno (yn > 1 para n = 17; 18; . . . ; 34), algo que por el tipo de curva no es posible,
como ya vimos. En consecuencia, resulta evidente que el algoritmo tiene algn problema para
calcular los valores de yn cuando n 12, por lo que no nos sirve para obtener el y34 . An cuando
no tuviramos el resultado exacto, mirando la curva nos daramos cuenta que hay un diferencia
muy grande entre el valor real y el obtenido con el algoritmo. Ms an, el error que estamos
teniendo no sigue una ley lineal sino una ley exponencial (se va multiplicando por 10), lo que
dice claramente que el algoritmo analizado es inestable.
Este ejemplo nos muestra cmo un algoritmo mal diseado nos puede entregar resultados
que inicialmente son bastante aproximados pero que en pasos posteriores son incorrectos, y por
lo tanto, intiles.
Definicin 1.3. Un algoritmo debe ser diseado procurando que sea bien condicionado y estable.
Observacin 1.3.1. Un algoritmo inestable a la larga da resultados incorrectos, por ms que
est bien condicionado.
Es por eso que debemos desarrollar algn tipo de anlisis que nos permita detectar si un
algoritmo est bien condicionado o no y si es estable o no. Empezaremos por analizar algunos
tipos de error.
1.5. Errores
1.5.1. Error inherente
Este suele ser el error ms fcil de entender. Es el que est relacionado directamente con
los datos de entrada o de base. Dado que estos datos suelen provenir de mediciones, clculos
anteriores, proyecciones estadsticas, etc., el valor numrico de los datos no es exacto sino que
est asociado a un intervalo de validez. Cuando se mide una longitud con una cinta mtrica con
divisiones hasta el centmetro, el error por la apreciacin del instrumento es un centmetro o
medio centmetro (5 mm). Es decir, si mide 145,01 m, en realidad, se est diciendo que el valor
es 145, 01 0, 01 o 145, 010 0, 005. Lo mismo ocurre si los datos se obtienen por un clculo
anterior o una estimacin estadstica. En esos casos, el error se obtiene por otros mtodos.
Veamos un ejemplo. Supongamos que tenemos las siguientes cantidades, a = 3, 0 0, 1 y
b = 5, 0 0, 1 y queremos hallar z = a + b. lo que deberemos hacer es:
z = (3, 0 0, 1) + (5, 0 0, 1)
Al efectuar esta operacin obtendremos cinco resultados posibles: 7,8; 7,9; 8,0; 8,1 y 8,2.
Es decir, z est en el intervalo [7,8; 8,2], o, lo que es lo mismo, z = 8, 0 0, 2. As cualquier
resultado obtenido dentro del intervalo dado se puede considerar correcto.
Este muestra la sencillez del anlisis cuando las operaciones son pocas (en esta caso,
una). Sin embargo, si el algoritmo es ms complejo, hacer las n combinaciones posibles de opera-
ciones con los datos de ingreso puede ser imposible y nada prctico. De ah que el anlisis de la
propagacin de los errores inherentes es la forma ms conveniente para establecer la incidencia
de los mismos en los resultados finales. Ms adelante vermos la diversas formas de analizar esta
propagacin.
Representacin numrica
Para empezar, supongamos el siguiente nmero: 43 . En el sistema decimal suele represen-
tarse como 1, 3333 . . . . Una forma alternativa es:
4 1 3 3 3 3
= + + + + + . . . 101 = 1, 3333 . . . ;
3 10 102 103 104 105
o sea, un nmero que slo puede representarse con una serie de infinitos trminos, algo imposible
desde el punto de vista prctico. Su nica forma de expresin exacta es simblica. Una calcu-
ladora, por ejemplo, slo puede representarlo en forma numrica (en base diez, como la escrita
arriba) y, por ende, la nica representacin posible es finita2 . En consecuencia, debe truncarse
esta serie en n trminos. Por ejemplo, una representacin posible es:
4 1 3 3 3
= + + + 101 = 0, 1333 101 = 1, 333.
3 10 102 103 104
Podemos ver que esta representacin est formada por un coeficiente (0,1333), una base
(10) y un exponente (1). Esta forma de representacin se conoce como representacin de coma
(punto) flotante. Una generalizacin de esta representacin se puede escribir como:
e d1 d1 d1 d1 d1
f l(x) = 0, d1 d2 d3 . . . dt1 dt 10 = + + + . . . + t1 + t 10e .
10 102 103 10 10
Si nuestra precisin elegida es t, entonces debemos recortar el nmero definido arriba, pues no
podemos representar los di para i > t. En consecuencia, tenemos dos alternativas bsicas para
efectuar dicho recorte:
1. Corte: Ignorar los dgitos di cuando i > t.
10
2. Redondeo: Sumar 1 a dt si dt+1 2 e ignorar los restantes di para i > t + 1, o aplicar
corte si dt+1 < 10
2 .
Esto nos permite obtener una cota del error absoluto para ambos casos:
t
10 10e para corte
eA = 1 t 10e para redondeo.
2 10
Y como definimos el error absoluto, tambin podemos definir un lmite para el error
relativo, que ser:
10t 10e
1. Corte: er = 101t .
0, 1 10e
1 10t 10e 1
2. Redondeo: er e
= 101t .
2 0, 1 10 2
Al valor 101t lo identificaremos con la letra , y resulta ser importante porque nos da
una idea del error relativo que cometemos al utilizar una representacin de coma flotante. Suele
denominarse como unidad de mquina o unidad de redondeo. El negativo del exponente
de suele llamarse tambin cantidad de dgitos significativos.
Dgitos de guarda
Supongamos el siguiente caso. Tomemos el nmero 0,1425 que debe ser redondeado a tres
dgitos significativos. Aplicando el criterio anterior rpidamente obtenemos que el resultado es
0,143 pero, es correcto este redondeo? Por qu no redondear a 0,142; si est a medio camino
de ambos? Supongamos que hacemos la operacin 2 0, 1425, cuyo resultado es 0, 2850, qu
pasa con la misma operacin si el nmero est redondeado? Evidentemente da diferente puesto
que la operacin es 2 0, 143 cuyo resultado es 0, 286. La diferencia entre ambos es 0, 001 que es
justamente la unidad de redondeo. Esto se vuelve an ms importante cuando se tiene la resta
de nmeros similares (a b con a b). De ah que la mayora de las computadoras actuales (y
los programas) trabajen con lo que se conoce como dgitos de guarda, es decir, ms precisin
que la mostrada en forma normal en pantalla. Pero este ejemplo sirve adems para desarrollar
otra forma de redondeo.
Redondeo exacto
Tal como dijimos, el nmero 0, 1425 est mitad de camino de ser redondeado a 0, 143
como a 0, 142. Este problema ha llevado a desarrollar el concepto de redondeo exacto, que
consiste en redondear todos los nmeros que terminan en 5 de manera de que el ltimo dgito
significativo sea par. En consecuencia, aplicando este criterio, 0, 1425 se redondea a 0, 142 y no
a 0, 143. El criterio va de la mano del dgito de guarda y debera ser el redondeo normal.
(Para ms detalles respecto a dgitos de guarda y el redondeo exacto, vase [3].)
h2 h3 h4
f (x0 + h) = f (x0 ) + f 0 (x0 )h + f 00 (x0 ) + f 000 (x0 ) + f 0000 (x0 ) + . . . .
2 6 24
Entonces podemos despejar f 0 (x0 ), que resulta ser:
h2 h3
0 f (x0 + h) f (x0 ) 00 h 000 0000
f (x0 ) = f (x0 ) + f (x0 ) + f (x0 ) + . . . .
h 2 6 24
f (x0 + h) f (x0 )
,
h
el error que cometemos en la aproximacin est dado por:
2 3
0
f (x0 ) f (x0 + h) f (x0 ) 00 h 000 h 0000 h
= f (x0 ) + f (x0 ) + f (x0 ) + . . . .
h 2 6 24
f (x0 + h) f (x0 )
f 0 (x0 ) = + O(h),
h
que indica que el error que se comete es proporcional a h. (Est claro que adems estn los
trminos con h2 , h3 , etc., pero como h < 1 entonces h2 << h, h3 << h2 , etc., la influencia de
stos es mucho menor y despreciable.)
Supongamos por un momento que todas las derivadas f <i> (x0 ) = 0 para i 3. Entonces
tendremos que:
f (x0 ) f (x0 + h) f (x0 ) = h f 00 () con [x; x + h],
0
h 2
con lo cual, si conociramos f 00 (), podramos acotar el error que estamos cometiendo por des-
h
preciar el trmino f 00 (x0 ).
2
Como ejemplo, apliquemos este algoritmo para obtener la derivada en x0 = 0, 45 (f 0 (0, 45))
de la funcin f (x) = sen(2x). Como verificacin tomemos el valor analtico de la derivada en
cuestin: f 0 (0, 45) = 2 cos(2 0, 45) = 5, 97566. Para calcular la aproximacin tomemos
h = 0, 1. As, tendremos.
f (0, 55) f (0, 45) sen(2 0, 55) sen(2 0, 45)
f 0 (0, 45) = = = 6, 18034.
0, 1 0, 1
En la tabla 1.2 podemos ver los resultados obtenidos para distintos h.
h f 0 (x0 ) Error
101 -6,18033988749895 2, 04676 101
102 -6,03271072100927 5, 70464 102
103 -5,98172474217345 6, 06041 103
104 -5,97627391137889 6, 09582 104
105 -5,97572532307633 6, 09936 105
106 -5,97567042914804 6, 09966 106
107 -5,97566494175972 6, 12277 107
108 -5,97566438553798 5, 60549 108
109 -5,97566451876474 1, 89282 107
1010 -5,97566607307698 1, 74359 106
1011 -5,97566995885756 5, 62937 106
1012 -5,97544236313752 2, 21966 104
1013 -5,97633054155722 6, 66212 104
1014 -5,99520433297584 1, 95400 102
1015 -5,88418203051333 9, 14823 102
1016 -8,32667268468867 2, 35101
Si observamos con atencin, veremos que el algoritmo utilizado aproxima muy bien el
108
valor buscado hasta h = 108 . Si estimamos la cota de error con f 00 (x0 ) obtenemos una
2
valor muy parecido al error indicado en la tabla 1.2:
108
f 00 (0, 45) = 6, 09975 108 (5, 60549 108 ).
2
Sin embargo, a partir de h < 108 el error vuelve a crecer. En la figura 1.2 se puede ver
como evoluciona el error:
Si analizamos en detalle, vemos que la tendencia del error de truncamiento es lineal (en
escala logartmica) pero para h < 108 el error aumenta y no sigue una ley determinada. Este
empeoramiento de la aproximacin se debe a la incidencia del error de redondeo, es decir, la
unidad de mquina pasa a ser ms importante que el error de truncamiento. Es por eso que
no siempre el utilizar una mejor precisin ayuda a mejorar los resultados finales. En este
tipo de problemas, es conveniente que el error que domine los clculos sea el de truncamien-
to/discretizacin.
Asociados a la represenatcin numrica existen otros dos tipos de errores. Son los denom-
inados errores por overflow y por underflow. Estos errores surgen por las limitaciones de
nuestro sistema para representar nmeros muy grandes (overflow) o muy chicos (undeflow).
Es usual que los manuales del usuario de una calculadora indiquen el nmero ms grande (y
el ms chico) que puede ser representado. Por ejemplo, las calculadoras Casio de la dcada de
los 80 no podan representar n! si n > 69 pues el nmero ms grande que podan representar
era 9, 999999999 1099 (69!=1, 71122452428141 1098 y 70!=1, 19785716699699 10100 ). Algo
similar ocurre con los nmeros muy chicos.
Un error muy comn es olvidarse que en los clculos intermedios pueden aparacer
nmeros muy grandes o muy chicos, fuera del rango de nuestra representacin numrica, que
vuelven a un algoritmo intil. Por ejemplo, supongamos que nuestro sistema de representacin
numrica en una calculadora represente solamente losnmeros entre -10.000 y -0,0001; y entre
0,0001 y 10.000. Si queremos obtener el resultado de 1012 50, como 1012 = 10.201 > 10.000
y no lo puede representar, indicar un error por overflow, es decir, nmero ms grande que el
mximo a representar, y cortar la ejecucin del algoritmo.
El error por underflow es parecido. En este caso, el problema es no poder representar
un nmero muy pequeo, por lo que lo define como pcero (0). Si modificamos levemente el ejem-
plo anterior, y queremos obtener el resultado de 0, 01 0, 0062 , como 0, 0062 = 0, 000036 <
0, 0001 y no le es posible representarlo, har 0, 0062 = 0, 0000 y la operacin quedar como
0, 01 0, 0 = 0, 01 = 0, 1.
La diferencia entre ambos es que el error por overflow no pasa desapercibido, mientras
que el underflow s, y en consecuencia, suele ser ms peligroso.
Podemos
suponer ahora que exi = xi x1 para i [1, n] es muy pequeo, y que por eso
T X X es despreciable, con lo que nos queda:
X n yi X
yi (X) yi X = (xj x
j ) para i = 1; 2; . . . ; m,
xj
j=1
que nos da el error de yi en funcin de del error de xj . Esta expresin es muy til porque nos
permite obtener o determinar el error de un resultado si conocemos el error de los datos de
entrada, es decir, cmo se propagan los errores inherentes. Veamos algunos ejemplos:
1. Suma: Hagamos y (x1 ; x2 ) = x1 + x2 , entonces tendremos:
y (
x1 ; x
2 ) y (
x1 ; x
2 )
ey = ex1 +x2 = ex1 + ex2 ,
x1 x2
o sea,
ey = 1 ex1 + 1 ex2 ey = ex1 + ex2 .
El error relativo ser:
ey ex + ex2 ex1 ex2
ery = = 1 = + .
y x1 + x2 x1 + x2 x1 + x2
Sabemos que ex1 = x1 erx1 y ex2 = x1 erx2 , por lo que podemos escribir:
x1 erx1 x2 erx2 x1 x2
ery = + = erx1 + er .
x1 + x2 x1 + x2 x1 + x2 x1 + x2 x2
ey = x2 ex1 + x1 ex2 .
Hasta aqu no pareciera haber problemas. Sin embargo, raramente se conoce el error con
su signo, de ah que lo que se busca es una cota del error, no el error en s mismo. En ese caso,
las expresiones del error relativo se modifican levemente:
|x1 | |x2 |
1. Suma: ery = erx1 + erx2 .
|x1 + x2 | |x1 + x2 |
2. Producto: ery = erx1 + erx2 .
A partir de este razonamiento es que la suma es una operacin mal condicionada cuando
se da que |x1 | |x2 | y x2 < 0 es decir, la suma algebraica. Suponiendo que erxi r se tiene:
|x1 | + |x2 |
ery = r.
|x1 x2 |
lo que hace que ery crezca en forma incontrolada, pues el coeficiente siempre es mayor a uno,
puede ser mucho mayor que 1 si x1 x2 es muy chico.
Analizaremos ahora la propagacin del error de redondeo.
en consecuencia, el coeficiente que afecta a erxj ser el nmero de condicin del problema, que se
define como :
Pn pi (X)
j=1 x
j
xj
Cpi = .
pi (X)
Del mismo modo, tendremos el trmino de estabilidad, que se define como:
p p p
k
X X X
= pi (X)
yi (X) pi (X) k Te =
Fi,k (X) Fi,k (X) =
Fi,k (X).
k=1 k=1 k=1
Si suponemos que erxj r, entonces, tendremos:
er = Cp r + Te ,
yi i i
er = Cp r + Te
x3 x5 x7 x9
f (x) = x + + ,
6 120 5040 362880
funcin obtenida a partir del truncamiento de la serie de MacLaurin. Con ella calculemos sen( 4 )
y luego perturbemos el dato de entrada.
El primer resultado lo obtenemos con x = 4 :
3 5 7 9
4 4 4 4
f = + + = 0, 70711
4 4 6 120 5040 362880
Perturbemos ahora x haciendo x1 = x (1 + 0, 001) (r1 = 0, 001), y calculemos f (x1 ):
f (1 + 0, 001) = 0.70655
4
Introduzcamos una nueva perturbacin, esta vez haciendo x2 = x (1 0, 001) (r2 = 0, 001), y
calculemos f (x2 ):
f (1 0, 001) = 0.70766
4
Ahora calculemos los dos Cp . Para el primer caso tenemos:
0, 70711 0, 70655 1
Cp = = 0, 78571
0, 70711 0, 001
Para el segundo caso tenemos:
0, 70711 0, 70766 1
Cp = = 0, 78509
0, 70711 0, 001
Si calculamos el Cp en forma analtica obtenemos:
2 4 6 8
f (x) d f (x) 4 4 4 4
Cp = = =1 + + cos Cp 0, 78540
x dx 2 24 720 40320 4
Esto demuestra que la estimacin del Cp es muy buena y que el problema est bien
condicionado, pues Cp < 1.
de donde despejamos Te :
yt ys
Te = .
y (s t )
Como el valor de y no lo conocemos, tomamos yt en su lugar. En consecuencia, la expresin
queda:
yt ys
Te = .
yt (s t )
Esta expresin nos permite obtener una estimacin del Te calculando dos aproximaciones
de y, yt y ys , con diferente precisin, utilizando el mismo algoritmo.
Como ejemplo, utilicemos el mismo algoritmo del caso anterior. Calculemos el valor de
sen 4 con tres precisiones distintas: s = 4; t = 8 y u = 15. Para cada caso tendremos:
ys = 0, 706; yt = 0, 7071068 y yu = 0, 70710678293687. Con estos valores calculamos los Te ,
tomando como valor de referencia yu . As, obtenemos los siguientes valores:
yu ys 0, 70710678293687 0, 706
Tes = = = 1, 565;
yu (s u ) 0, 70710678293687 (103 1014 )
y
yu yt 0, 70710678293687 0, 7071068
Tet = = = 0, 241.
yu (t u ) 0, 70710678293687 (107 1014 )
Si analizamos un poco los valores obtenidos, vemos que en el primer caso el error de
redondeo se amplifica, puesto que el Te es mayor que 1. En cambio, en el segundo, la situacin
es muy buena porque los errores se mantienen acotados, no se amplifican (Te < 1). Podramos
decir que calcular el valor de y con ms precisin mejora el resultado final, pero hemos vistos
que no siempre esto es cierto.
1. La resta de dos nmeros muy similares (cancelacin) siempre debe ser evitada.
Segn N. Higham (vase [5], cpitulo 1), estos conceptos son en realidad malos entendidos,
y desarrolla algunos ejemplos que muestran lo contrario. Veamos alguno de ellos.
1.9.1. Cancelacin
En su libro, Higham presenta el siguiente caso. Supongamos que debemos hacer la siguien-
te operacin:
1 cos(x)
f (x) = ,
x2
con x = 1, 2 105 y con cos(x) = c redondeado a 10 dgitos significativos, con un valor de
c = 0, 9999999999;
de manera que
1 c = 0, 0000000001.
10
Al calcular f (x) = 1cx2
10
se obtiene f (x) = 1,4410 10 = 0, 6944 . . ., resultado evidentenente
n f (n) |e f (n)|
101 2,593742460100000 1, 24539 101
102 2,704813829421530 1, 34680 102
103 2,716923932235590 1, 35790 103
104 2,718145926824930 1, 35902 104
105 2,718268237192300 1, 35913 105
106 2,718280469095750 1, 35936 106
107 2,718281694132080 1, 34327 107
108 2,718281798347360 3, 01117 108
109 2,718282052011560 2, 23553 107
1010 2,718282053234790 2, 24776 107
1011 2,718282053357110 2, 24898 107
1012 2,718523496037240 2, 41668 104
1013 2,716110034086900 2, 17179 103
1014 2,716110034087020 2, 17179 103
1015 3,035035206549260 3, 16753 101
obtenidos no tengan ningn dgito en comn. Un ejemplo tpico es el siguiente. Supongamos que
resolvemos el siguiente sistema de ecuaciones lineales:
4
10 2 x 4
1 = .
1 1 x2 3
Si utilizamos dos precisiones diferentes para resolver el sistema, una con cuatro decimales
y otra con tres, obtenemos los siguientes vectores [x]:
x1 0, 01 x1 1, 0001
= con tres decimales, = con cuatro decimales.
x2 1 2 x2 2 2
lineales, los mtodos para resolver ecuaciones diferenciales ordinarias. Un ejemplo clsico
es el mtodo del refinamiento iterativo de la solucin para un sistema de ecuaciones lineales
de la forma Ax = B, en el que se calcula el residuo r1 = B A x1 , y con l un valor 1
resolviendo A1 = r1 , para luego mejorar el resultado obtenido con la iteracin x
2 = x
1 +1 .
Una recomendacin importante es que se revisen los resultados intermedios, es decir, los
que se generan durante el procedimiento de clculo. Esta prctica era muy comn en los inicios
de la computacin electrnica. Wilkinson, el padre del anlisis de la propagacin de errores, gan
una gran experiencia respecto a la estabilidad numrica gracias a ese tipo de revisin. Es irnico
que con las grandes facilidades que se tienen hoy para rastrear los pasos de un algoritmo (ventanas
mltiples, herramientas grficas, impresoras rpidas), a veces se obtengan menos resultados que
en esa poca en las cuales slo se contaba con papel y lmparas (vlvulas).
Captulo 2
2.1. Introduccin
Una de las caractersticas fundamentales del uso de las computadoras es la dificultad
para trabajar con mtodo simblicos. Si bien hoy existen varios programas que trabajan con
matemtica simblica (Mathematica, Maple, MathCAD), no es lo ms usual y mucha veces
la capacidad de esos programas se ve excedida por las demanadas ingenieriles en cantidad de
clculo. Ms de una vez la necesidad de obtener un resultado en el menor tiempo posible hace
imperioso contar con algn mtodo que estime el valor en forma numrica.
Buena parte de los problemas ingenieriles de la actualidad hacen un uso intensivo de
sistemas de ecuaciones lineales, usualmente definidos como Ax = B. En particular, el uso ex-
tendido de programas que aplican el mtodo de los elementos finitos o de las diferencias finitas
es un ejemplo de ello. En esos programas, como los de anlisis estructural, el ncleo princi-
pal del programa es la resolucin de sistemas de ecuaciones lineales de grandes dimensiones
(1.000 1.000, 10.000 10.000, etc.). En este tipo de problemas no resulta muy eficiente invertir
la matriz de coeficientes para hallar la solucin del sistema. Tambin la aplicacin de mtodos
de regresin mltiple requieren la solucin de sistemas de ecuaciones lineales, algo usual en es-
tadsitica. Podemos decir, entonces, que en ingeniera el uso de sistemas de ecuaciones lineales
es una prctica habitual.
Por lo tanto, uno de los temas ms importantes del anlisis numrico es el estudio de la
resolucin de estos sistemas de ecuaciones. Si bien conocemos mtodos muy precisos (exactos)
para resolver sistemas de pequeas dimensiones, el problema es analizar cmo resolver sistemas
de grandes a muy grandes dimensiones.
Del lgebra lineal sabemos que podemos obtener la solucin de Ax = B si hacemos
1
x = A B, pero obtener la inversa de A no es una tarea sencilla, ms si la matriz no sigue un
patrn determinado o si est mal condicionada, concepto que estudiaremos ms adelante.
Como introduccin y repaso, veremos primero algunas definiciones para luego estudiar
varios mtodos que resuelven un sistema de ecuaciones sin invertir la matriz de coeficientes de
manera muy eficiente y para distintas condiciones.
2.2. Definiciones
Empezaremos dar algunas definiciones relacionadas con las matrices.
Definicin 2.1. Una matriz que tiene la misma cantidad de filas que de columnas (A es de n n
dimensiones) se denomina matriz cuadrada.
Para que una matriz pueda tener inversa debe ser necesariamente cuadrada.
Definicin 2.2. Una matriz cuyo determinante es no nulo (det(A) 6= 0) se denomina matriz no
singular.
Definicin 2.3. Una matriz A cuadrada tiene inversa, es decir, existe A1 , si A es una matriz
no singular.
A partir de esta ltima definicin podemos decir que un sistema de ecuaciones lineales
tiene solucin nica si la matriz A del sistema Ax = B es cuadrada y no singular.
Definicin 2.4. Se denomina rango de un matriz al nmero de filas que son linealmente inde-
pendiente.
Por lo tanto, el rango de una matriz cualquiera siempre es menor o igual al nmero de
filas (rango(A) nmero de filas). De esto ltimo se puede inferir que una matriz A de n n
dimensiones es no singular si su rango es n (rango(A) = n). Si el vector B se puede escribir como
combinacin lineal de las columnas de la matriz A y la matriz A es singular, entonces existen
infinitas soluciones para el sistema.
Para resolver un sistema U x = B basta con empezar por la ltima fila para obtener x4 y
luego ir reemplazando este valor en las ecuaciones anteriores, es decir, hacer:
b4
x4 =
u44
b3 u34 x4
x3 =
u33
..
. Pn
bi j=i+1 uij xj
xi =
uii
Esta forma de resolver el sistema de ecuaciones lineales se denomnina sustitucin inversa.
Cuando la matriz es triangular inferior el procedimiento para rsolver Lx = B es:
b1
x1 =
l11
b2 l21 x1
x2 =
l22
..
.
Pi1
bi j=1 lij xj
xi =
lii
En este caso, el mtodo se denomina sustitucin directa.
Cualquiera de estos mtodos es sencillo de aplicar y evita tener que invertir la matriz
de coeficiente de un sistema de ecuaciones lineales, lo que facilita la resolucin del mismo. En
consecuencia, los mtodos directos se basan en transformar la matriz de coeficientes original no
triangular, en una nueva matriz de coeficientes triangular.
Se tranforman las filas siguientes de manera de que el coeficiente ai1 se anule, es decir, se
utiliza el coeficiente a11 de la diagonal principal como pivote.
Se fija la siguiente fila, se fija el pivote en la diagonal principal y se repite el paso anterior.
Se contina hasta que la matriz queda transformada en una matriz triangular superior.
y as sucesivamente para el resto de las filas, con lo que otenemos la nueva matriz ampliada:
a11 a12 a13 a14 | b1
0 a22 a23 a24 | b2
A= ,
0 a32 a33 a34 | b3
0 a42 a43 a44 | b4
3. El siguiente paso es repetir los pasos 1 y 2, es decir, calcular un nuevo coeficiente m, el m32
y los nuevos coeficientes. Operando sucesivamente de esta forma obtendremos finalmente
la siguiente matriz ampliada :
| b1
a11 a12 a13 a14
0 a23 a23 a24 | b2
A= ,
0 0 a# 33 a#34 | b#
3
0 0 0 a+44
+
| b4
b+
4
x4 =
a+
44
b# #
3 a34 x4
x3 =
a#
33
b2 a23 x3 a24 x4
x2 =
a22
b1 a12 x2 a13 x3 a14 x4
x1 =
a11
bi = bi mil bl
para los coeficientes del vector de trminos independientes (B), con mil = aailll .
Este procedimiento es muy til puesto que se conoce exactamente la cantidad de pasos
que deben efectuarse, es decir, el mtodo tiene un cantidad finita de pasos, inclusive si el sistema
a resolver cuenta con varios vectores B. En ese caso, basta con transformarlos conjuntamente
con la matriz A.
Con este procedimiento, es posible conocer el costo computacional del mtodo, es decir,
establecer cuanto tiempo lleva todo el proceso. Una forma de estimar este costo de transformacin
de la matriz en triangular superior es mediante la siguiente expresin que cuenta las operaciones
realizadas (sumas, restas, multiplicaciones y divisiones). Para la transformacin de la matriz A
ampliada con el vector B en una matriz triangular superior tenemos la siguiente cantidad de
operaciones:
n1
X 2 n2 7
[(n k) + 2 (n k) (n k + 1)] = n3 + n.
3 2 6
k=1
es decir, proporcional a n3 .
Conviene tener presente que esta estimacin es aproximada, pues no se han tenido en
cuenta otros costos difciles de evaluar como son el manejo de las prioridades de memoria, la
forma de guardar los datos, etc. Sin embargo, esta estimacin sirve para establecer que a medida
que la dimensin de la matriz aumenta, el costo es proporcional al cubo de la misma, es decir,
el aumento del tiempo empleado en resolver el sistema completo (el costo computacional)
es potencial y no lineal. Es por ello que resolver un sistema de 1.000 1.000 insume un costo
proporcional a 1.000.000.000 operaciones.
Un problema que puede surgir en este mtodo es si alguno de los elementos de la diagonal
principal al ser transformados se anulan. Si esto ocurriera, de acuerdo con el algoritmo anterior,
el procedimiento se detendra y en consecuencia no podra obtenerse solucin alguna. En estos
casos se aplican versiones ms desarrolladas, denominadas Eliminacin de Gauss con Pivoteo
Parcial (EGPP) o Eliminacin de Gauss con Pivoteo Total (EGPT).
En el primer caso, lo que se hace es primero intercambiar las filas, reordenndolas de
manera tal que el coeficiente nulo quede fuera de la diagonal principal, y luego se contina con
el algoritmo tradicional. Veamos un ejemplo. Supongamos el siguiente sistema:
x1 + x2 x3 = 1
x1 + x2 + 4x3 = 2
2x1 x2 + 2x3 = 3.
El intercambio entre las fils 2 y 3 evit que el procedimiento se detuviera. Pero tambin
es posible que valores muy chicos en los coeficientes de la diagonal principal generen un problema
en la mecnica del sistema. Por ejemplo, consideremos el siguiente sistema:
que debe ser resuelto con una precisin de solamente tres dgitos y aplicando corte en vez de
redondeo. Si aplicamos Eliminacin de Gauss tendremos:
0, 03 58, 9 | 59, 2
;
0 10400 | 10300
2.5. Factorizacin LU
El mtodo de eliminacin de Gauss es un mtodo muy potente. Sin embargo, no siempre
es conveniente su utilizacin. Supongamos por un momento que para resolver un determinado
problema debemos resolver el sistema de ecuaciones en forma anidada. Es decir, cada nueva
solucin depende del resultado obtenido
en un paso anterior, o sea, cada vector B depende de la
solucin anterior (B <i> =f x <i1> ).
Si queremos resolver estos sistemas nos encontraremos con la desventaja de que en cada
paso tendremos que recalcular la matriz triangular superior, lo que significa un costo computa-
cional muy grande, tal como vimos en el punto anterior. Por lo tanto, deberamos buscar un
mtodo que nos evite repetir dichos clculos.
Un mtodo muy eficiente para estos casos es la descomposicin o factorizacin LU. sta
consiste en descomponer la matriz A original en el producto de dos matriz: una triangular inferior
(L) y una triangular superior (U ), para armar el siguiente sistema:
Ax = LU x = B con A = LU.
donde los aij son los coeficientes transformados del mtodo de Eliminacin de Gauss.
Obtenidas L y U , la solucin del sistema se obtiene aplicando, primero, la sustitucin
directa para hallar el vector y y luego, sustitucin inversa para hallar x. Para el primer caso se
aplica el siguiente algortimo:
y 1 = b1
y2 = b2 l21 y1
..
.
i1
X
y i = bi lij yj
j=1
puesto que los coeficientes lii son iguales a uno (lii = 1).
Como dijimos, obtenido y, se aplica la sustitucin inversa para obtener el vector x solucin
del sistema. El algoritmo es:
yn
xn =
unn
yn1 un1,n yn
xn1 =
un1,n1
..
.
Xn
yi uij xj
j=i+1
xi =
uii
Como vemos, en ningn caso hemos modificado o transformado al vector B, por lo que
una vez que obtenemos las matrices U y L, podemos resolver los distintos sistemas aplicando
sustitucin directa primero e inversa despus. Este mtodo se conoce como Mtodo de Doolittle.
Ahora nos quedara analizar el costo computacional del mtodo. Sin embargo, dado que
hemos utilizado el mtodo de eliminacin de Gauss para obtener las matrices U y L, el costo para
este mtodo es muy similar al de dicho mtodo. En consecuencia, la ventaja est principalmente
en no tener que repetir la triangulacin de la matriz A para cada sistema con un B distinto.
Al obtener la matriz U mediante Eliminacin de Gauss podemos tener el mismo problema
ya visto: que un coeficiente de la diagonal principal se haga nulo en los pasos intermedios. En
ese sentido, valen las mismas aclaraciones respecto al Pivoteo Parcial y al Pivoteo Total. Es por
eso que suele decirse que existe un par de matrices L y U que cumplen con:
P A = LU,
donde P es una matriz de permutacin.
para alguna 1 k n.
Teorema 2.1. Una matriz simtrica A es definida positiva si y slo si sus primeras submatrices
principales tienen determinante positivo.
Teorema 2.2. La matriz simtrica A es definida positiva si y slo si la eliminacin de Gauss sin
pivoteo puede efectuarse en el sistema Ax = B con todos los pivotes positivos.
SS T = A.
con j > i.
Este mtodo es mucho ms eficiente puesto que slo debemos calcular y guardar una
sola matriz, a diferencia de la factorizacin LU en la que debo calcular y guardar dos matrices,
si bien algunos algortimos permiten guardar ambas matrices en una sola. Adems, el mtodo
Cholesky no aumenta considerablemente el costo computacional que analizamos en los puntos
anteriores, por ms que deban extraerse n races cuadradas.
Este mtodo es muy aplicado en programas estructurales que aplican el mtodo de los
elementos finitos, dado que la matriz de coeficientes es una matriz simtrica y definida positiva.
De todos modos, tiene las mismas desventajas vistas para los otros mtodos cuando la dimensin
de la matriz es cada vez ms grande.
sj = nij bj ;
Xn
xi = sj .
j=1
con
nij bj nij bj
Cpj =y T ej + 1.
xi xi
Hemos encontrado para cada xi la expresin del error relativo, o mejor dicho, una idea
aproximada del error. Pero, en la prctica, sirve esto? Todos los clculos son engorrosos y adems
hemos partido de un algoritmo no del todo prctico, pues hemos dicho que invertir la matriz no
es conveniente. Entonces, qu hacemos?
Supongamos que hemos resuelto nuestro sistema Ax = B con un algoritmo cualquiera y
que en consecuencia hemos obtenido una solucin x . Lo que nos interesa conocer es una cota del
kx x
k
error absoluto, kx x
k, o del error relativo, , en alguna norma, por ejemplo, la norma
kxk
infinito.
Como, en principio, no conocemos el resultado exacto de x, lo que podemos hacer es
calcular lo siguiente:
R = B A x,
donde R lo denominamos residuo. Si nuestra solucin x
fuera la solucin exacta, entonces nuestro
vector R debera ser nulo. Sin embargo, en la prctica, siempre obtendremos un vector R no
nulo, debido a la propagacin de los errores de redondeo o a la propagacin de los errores
inherentes y de redondeo. Si hubisemos utilizado un mtodo iterativo habra que agregar los
errores por truncamiento. De todos modos, qu conclusiones podemos sacar conociendo R?
Veamos el siguiente ejemplo.
Supongamos la matriz A y el vector B dados a continuacin:
1, 2969 0, 8648 0, 8642
A= ;B = .
0, 2161 0, 1441 0, 1440
Supongamos tambin que usando un determinado algoritmo hemos obtenido las siguientes
soluciones:
0, 9911 0, 0126
x
1 = ; x
2 = .
0, 4870 1, 0182
Entonces, tendremos:
107
R = B A
xi = .
107
Por lo tanto, tendremos que kRk = 108 . Podemos decir que el residuo es muy chico.
Sin embargo, la solucin correcta es:
2
x= .
2
Es decir, el error cometido es del mismo orden de la solucin, o sea, 107 veces el residuo!
Es importante tener en cuenta que cualquiera sea el algoritmo utilizado, no podemos
esperar sino un residuo pequeo o muy pequeo, lo que significa que este residuo R por s solo
no nos sirve de mucho para estimar el error que hemos cometido al obtener x .
Cmo se relaciona, entonces, este residuo con el error en x ? Veamos. Escribamos el
residuo como:
R = B Ax = Ax A x = A (x x ) .
es decir:
= A1 R.
xx
Elijamos cualquier norma vectorial, por ejemplo, la infinita. Entonces tendremos:
k =
A1 R
A1
kRk .
kx x
Esto nos da una cota del error absoluto en trmino de A1 . Usualmente el error relativo
1 kAk
es ms significativo que el absoluto. Como kBk kAk kxk implica que kxk kBk , tendremos
que:
kx x
k
kAk
kRk
A1
kRk =
A1
kAk
.
kxk kBk kBk
Esta expresin nos permite establecer que el residuo por s mismo no nos alcanza para
estimar el error de nuestro vector solucin x, sino que tambin debemos conocer algunas
carac-
depende de
A1
kAk.
tersticas de la matriz A. En particular, vemos que el error relativo de x
2
A este
nmero
1
lo denominaremos condicin de A y lo expresaremos como cond(A) o (A) .
Tanto
A
como kAk son nmeros (son normas
de las
matrices) por lo tanto para que el error
relativo de x
1
no sea muy grande, el producto de A
kAk debiera ser cercano a uno, es decir:
1
A
kAk = (A) > / > 1.
1 = kIk =
A1 A
(A),
que puede considerarse el lmite inferior, en tanto que si la matriz A es singular (no existe A1 ),
(A) = , que puede ser considerado el lmite superior. As, puede decirse que el nmero de
condicin da una idea de cuan cerca est la matriz de ser singular, o lo que es lo mismo, de que
el sistema no tenga solucin o que sean infinitas.
Una conclusin interesante es que si la matriz A del sistema est mal condicionada,
pequeos desvos en el residuo R pueden llevar a grandes desvos en x , es decir, si definimos que
kxk = kx x k, entonces puede darse que kxk >> 1, algo que no es aceptable.
R = B A
x.
Como vimos, con ese vector residuo podemos calcular el error de nuestra aproximacin x
respecto de nuestra solucin exacta x, pues tenemos que:
B A
x = Ax A
x = A (x x
) = A = R,
| {z }
y, en consecuencia, resolviendo este nuevo sistema de ecuaciones podemos obtener nuestro valor
. Dado que hemos definido que = x x , entonces podemos decir que:
x=x
+ ,
y con ello hemos obtenido nuestra solucin exacta. Sin embargo, esto no suele ocurrir al primer
intento, de manera que lo que obtendremos en realidad es una nueva aproximacin de nuestra
solucin, que llamaremos x. Para sistematizar esto, digamos que
= x1 ; R1 = B Ax1 ; A1 = R1 ,
x
es decir, que a la solucin aproximada le sumamos todos los errores para obtener la solucin
exacta. Por supuesto, es imposible efectuar infinitas interaciones, por lo que es imprescindible
establecer algn criterio de corte. Un criterio puede ser cortar las iteraciones cuando kRk k T ol,
pero vimos que esto no asegura que el error sea pequeo. Otro crietrio, tal vez ms acertado, es
interrumpir las iteraciones o clculos cuando kk k T ol, que tiene en cuenta el error de x .
Este procedimiento que obtiene la solucin de nuestro sistema sumando los errores, se
conoce como mtodo del refinamiento iterativo de la solucin y ha cobrado gran desarrollo en los
ltimos aos, pues pueden obtenerse buenos resultados con matrices mal condicionadas. Suele
decirse que para obtener una buena solucin, los sistemas Ai = Ri deben resolverse con mayor
precisin que el sistema original. Si hemos resuelto el sistema Ax = B en simple precisin,
entonces debe usarse doble precisin para resolver cada uno de estos sistemas. Esto no es del
todo cierto, ya que pueden obtenerse buenos resultados usando la misma precisin, tal como
ha demostrado N. Higham (vase [6]). Pero existe otra cuestin. Cuando conviene aplicar este
mtodo?
Supongamos (una vez ms) que obtenemos la aproximacin x . Con esta solucin, podemos
obtener el vector residuo mediante
R1 = B A x.
Si realizamos los clculos utilizando una precisin de t dgitos, podemos demostrar que
k1 k t
(A) 10 .
k
xk
Como hemos dicho, este mtodo permite obtener buenos resultados inclusive con matrices
mal condiciondas. Sin embargo, si (A) > 10t , el sistema est tan mal condicionado que debe
modificarse la precisin original usada en la obtencin de x
para obtener un resultado aproximado
aceptable.
A
x + A
x = B + B,
A
x + A
x = B + B.
Sabemos que x = x
+ x, por lo tanto podemos escribir:
A(x x) + A(x x) = B + B,
Ax Ax + Ax Ax = B + B.
Ax + Ax Ax = B + B,
Ax Ax = B,
Ax = B + Ax,
x = A1 B + A1 Ax.
y como adems tenemos que kBk kAk kxk, entonces podemos dividir todo de manera de
obtener:
1
A
kBk
A1
kAk kxk
kxk
+ ,
kAk kxk kBk kAk kxk
1
1
A
kBk
A
kAk
+ .
kBk kAk
Podemos ver que para que los errores de x sean pequeos no basta con que B y A
sean pequeos (es decir, que los errores inherentes sean pequeos), sino que es necesario que el
nmero de condicin de A ((A)) sea cercano a 1.
Analicemos ahora los errores de redondeo. Vamos a buscar una cota de estos errores.
Supongamos que aplicamos el mtodo de factorizacin LU para resolver el sistema. Si suponemos
que solamente se producen errores de redondeo, entonces tendremos en realidad que
LU = A + A,
donde A son las perturbaciones producidas por los errores de redondeo al obtener L y U .
Entonces, nuestro sistema queda como:
(A + A)(x x) = B,
por lo tanto,
x = A1 A(x x).
Si tomamos la norma tenemos
kAk
kxk (A) kx xk .
kAk
k
aij
Se puede demostrar que kAk 1, 01(n3 + 3n2 ) kAk , donde = max , y n es la
kAk
dimensin de la matriz A; entonces tenemos que
kxk kxk
(A)1, 01(n3 + 3n2 ),
kx xk kxk
Podemos ver que si la matriz es de grandes dimensiones, comienzan a tener gran incidencia
los errores de redondeo, con lo cual el sistema puede volverse inestable si (A) >> 1, adems de
mal condicionado.
x = P 1 (P A) x + P 1 B,
x = P 1 P P 1 A x + P 1 B = I P 1 A x + P 1 B,
a partir del cual se puede obtener el mtodo iterativo para resolver un sistema de ecuaciones,
que toma la siguiente forma:
x(n+1) = I P 1 A x(n) + P 1 B,
donde n es la iteracin.
La expresin anterior puede escribirse en forma general como
x(n+1) = T x(n) + C,
donde
T = I P 1 A y C = P 1 B.
Con esta ltima expresin podemos defnir dos tipos de mtodos iterativos: los esta-
cionarios, aquellos en los que T y C no sufren modificaciones durante las iteraciones, y los no
estacionarios, aquellos en los que los valores de T y C dependen de la iteracin.
Mtodo de Jacobi
El mtodo estacionario ms sencillo es el Mtodo de Jacobi. Si definimos que A = L +
D + U , este mtodo es aqul que define P = D. Por lo tanto, podemos escribir que:
x(n+1) = I D1 A x(n) + D1 B
= I D1 (L + D + U ) x(n) + D1 B
1 1 (n) 1
= [I D
| {z D} D (L + U )]x + D B
I
h i
= D1 B (L + U )x(n) ,
Definicin 2.7. Una matriz A se denomina estrictamente diagonal dominante si se cumple que
n
X
|aii | > |aij | .
j=1
j6=i
Mtodo de Gauss-Seidel
Cuando el mtodo de Jacobi es convergente, esta convergencia es muy lenta. Para mejorar
esta velocidad de convergencia, imaginemos que usamos parte de los resultados ya obtenidos en el
obtencin de los siguientes, es decir, obtener el xi aprovechando los xj para j < i. Este mtodo se
conoce como mtodo de Gauss-Seidel y resulta de definir P = D + L. Desarrollemos la expresin
final sabiendo que P x(n+1) = P x(n) Ax(n) + B:
P x(n+1) = P x(n) + |B {z
Ax(n)} = P x(n) + R(n) ,
R(n)
La idea es buscar una matriz P que nos mejore la velocidad de convergencia. Supongamos,
1
entonces, que tomamos P = L + D. Si partimos de la expresin conocida tenemos que:
1 1
D + L x(n+1) = D + L A x(n) + B
1
= D + L (L + D + U ) x(n) + B
1
= D + L L D U x(n) + B
1
= B 1 Dx(n) U x(n)
1 (n+1) (n+1) 1
Dx = B Lx 1 Dx(n) U x(n)
(n+1) 1 1 (n) 1
h
(n+1) (n)
i
x = 1 D D x + D B Lx U x
| {z }
I
h i
= (1 )x + D1 B Lx(n+1) U x(n)
(n)
(n+1)
= (1 )x(n) + xGS .
Este mtodo se conoce como Mtodo de las sobrerrelajaciones sucesivas (o SOR por sus
siglas en ingls), y pondera el x(n) con el x(n+1) obtenido con el mtodo de Gauss-Seidel, tomando
como factor de ponderacin el coeficiente . En su forma tradicional se suele escribir como:
i1 n
(n+1) (n)
X X
bi aij xj aij xj
(n+1) j=1 j=i+1
xi = (1 )x(n) + .
aii
En este mtodo la velocidad de convergencia est dada por el . Se puede asegurar que
existe un valor que hace mxima la velocidad de convergencia para un sistema dado, que puede
ser estimado conociendo el radio espectral de la matriz de Jacobi. Si observamos con detenimiento
veremos que el mtodo de Gauss-Seidel es un caso especial del SOR, pues surge de tomar = 1.
En efecto, si = 1 tenemos:
i1 n
(n+1) (n)
X X
bi aij xj aij xj
(n+1) j=1 j=i+1
xi = (1 1)x(n) +
aii
i1 n
(n+1) (n)
X X
bi aij xj aij xj
j=1 j=i+1
= ,
aii
que es el mtodo de Gauss-Seidel.
En realidad, al imponer que 0 < < 2 existen dos mtodos: cuando 0 < < 1, estamos
en presencia de un mtodo de subrelajacin, tambin conocido como mtodo de Jacobi modificado,
en tanto que cuando 1 < < 2, se trata de un mtodo de sobrerrelajacin propiamente dicho.
En general, estos mtodos convergen mucho ms rpido que los otros dos, y puede decirse que
cuando Gauss-Seidel no converge, utilizando un < 1 se logra una mejor convergencia que con
el mtodo de Jacobi.
Criterios de interrupcin
Hasta ac hemos visto los distintos mtodos iterativos estacionarios ms tradicionales
que se aplican para resolver sistems de ecuaciones lineales. Pero no hemos analizado los criterios
para interrumpir dichas iteraciones. Dado que los mtodos convergen a una solucin cuando
n , es decir, que se debe dar que x x(n) = 0 cuando n , entonces podemos tomar
como criterios para interrumpir las iteraciones, que x x(n) < T ol, siendo T ol una valor definido
arbitrariamente, generalmente relacionado con la precisin utilizada (). Existen varios criterios
que pueden aplicarse. Estos son:
1. Que la norma infinita del vector r(n) sea menor a la tolerancia, esto es:
(n)
r
< T ol.
2. Que la norma infinita del error absoluto entre dos soluciones sucesivas de x sea menor a la
tolerancia, es decir, que:
(n) (n1)
x x
< T ol.
3. Que la norma infinita del error relativo entre dos soluciones sucesivas sea menor a la
tolerancia, o sea:
(n)
x x(n1)
x(n)
< T ol.
El mejor de los criterios es ltimo, pues hemos visto que es el error relativo el que mejor
representa la incidencia del error en los resultados.
Teorema 2.5. Si aij 0 para cada i 6= j, y si aii > 0 para cada i = 1; 2; . . . ; n, entonces ser
vlida una y slo una de las siguientes afirmaciones:
3. (TJ ) = (TG ) = 0;
4. (TJ ) = (TG ) = 1;
Este teorema nos dice que cualquier mtodo iterativo converge cuando el radio espectral
de la matriz T es menor a 1, tal como vimos al comenzar. Recordemos que la definicin del radio
espectral de una matriz A cualquiera es
(A) = max || ,
donde es un autovalor de A. En efecto, habamos dicho que para que cualquier mtodo iterativo
sea convergente, se deba cumplir que kT k < 1. Como (T ) kT k < 1, si los mdulos de los
autovalores de T son menores que 1, entonces los mtodo convergen a la solucin buscada.
Teorema 2.7. Si A es una matriz definida positiva y si 0 < < 2, entonces el mtodo SOR
converge para cualquier eleccin del vector aproximado x(0) .
Teorema 2.8. Si A es una matriz definida positiva y tridiagonal, entonces (TG ) = [(TJ )]2 < 1,
y la eleccin ptima de para el mtodo SOR es
2
= q .
1+ 1 [(TJ )]2
Este ltimo vincula los autovalores de la matriz TJ , es decir la matriz T del mtodo de
Jacobi, con el valor de . Aunque se refiere a una matriz tridiagonal, es posible ver que cuanto
menor sea el valor de (TJ ) ms se acerca a 1. (Si (TJ )2 es mayor que uno, entonces no hay
un real que haga convergente al mtodo.)
r(0) = B Ax(0)
T
Ar(i) r(i)
i = T
Ar(i) Ar(i)
x(i+1) = x(i) + i r(i)
r(i+1) = r(i) i Ar(i) .
En ambos algoritmos las iteraciones finalizan cuando r(i+1) < T ol, pues r(n) = 0 para
n.
Supongamos ahora que queremos hallar el mnimo (o mximo) de esta funcin. Entonces
debemos obtener su derivada e igualarla a cero, es decir, hacer que:
d f (x) 1 1
= AT x + Ax B = 0.
dx 2 2
Si A es una matriz simtrica entonces A = AT , y podemos escribir:
d f (x)
= Ax B = 0,
dx
que no es otra cosa que nuestro sistema de ecuaciones lineales original. Si adems A es definida
positiva, nos aseguramos que la solucin que se obtenga haga mnima a la forma cuadrtica. En
consecuencia, para aplicar este mtodo, la matriz A tambin debe ser simtrica definida positiva.
Recordemos tambin qu es el gradiente de una funcin vectorial. Para una funcin f (x)
el gradiente se expresa como:
f (x)
x1
d f (x) 0
f (x)
= f (x) = x2
dx ..
.
f (x)
xn
El gradiente nos da una idea de la pendiente o del crecimiento de la forma cuadrtica.
Si queremos hallar el valor mnimo de la funcin f (x) partiendo de una solucin inicial, lo ideal
sera utilizar estas direcciones de mayor crecimiento pero en sentido inverso, es decir, usar f 0 (x),
que puede escribirse como:
f 0 (x) = B Ax.
que resulta ser el residuo. En consecuencia, el residuo no es otra cosa que la direccin descendente
ms empinada para llegar al mnimo, o sea, la del descenso ms rpido. Como partimos de un
vector inicial, lo que nos interesa es obtener un coeficiente que optimice cada paso utilizando la
direccin ms empinada y as obtener una aproximacin i+1 ms cercana a la solucin exacta.
Para ello partamos de la expresin general
df (x(i+1) ) dx(i+1)
= f 0 (x(i+1) )T = f 0 (x(i+1) )T r(i) = 0,
d d
lo que equivale a decir que el residuo y el gradiente son ortogonales. Como adems sabemos que
r(i+1) = f 0 (x(i+1) , entonces tenemos:
r(i+1) r(i) = 0
T
B Ax(i+1) r(i) = 0
h iT
B A x(i) + i r(i) r(i) = 0
T T
(i) (i) (i)
B Ax r i Ar r(i) = 0
T T
B Ax(i) r(i) = i Ar(i) r(i)
T T
r(i) r(i) = i r(i) Ar(i)
T
r(i) r(i)
i = T
.
r(i) Ar(i)
As, nuestro nuevo algoritmo es:
r(0) = B Ax(0)
T
r(i) r(i)
i = T
r(i) Ar(i)
x(i+1) = x(i) + i r(i)
r(i+1) = r(i) i Ar(i) .
pero no se ocupa de las direcciones con las cuales se aproxima al siguiente resultado, con lo cual
puede repetir cualquier direccin en el proceso iterativo hasta obtener la solucin. As pierde
eficiencia.
La forma ms rpida de llegar sera usar direcciones que no se repitan durante el proceso
de descenso. Cul sera el conjunto de direcciones que haran ms rpido ese descenso? La
respuesta es: tomemos un conjunto de direcciones d(0) ; d(1) ; . . . ; d(n1) , tales que sean ortogonales
entre s, o sea que se cumpla que:
d(0) d(1) = 0;
d(1) d(2) = 0;
(i) (j)
d d = 0, para i 6= j.
(i) T
d e(i+1) = 0
T
d(i) (i)
e + i d (i)
= 0
T T
d(i) e(i) + i d(i) d(i) = 0
T T
d(i) e(i) = i d(i) d(i)
T
d(i) e(i)
i = T
.
d(i) d(i)
Sin embargo, este algoritmo no es muy til pues debemos conocer el error que estamos
cometiendo para obtener el coeficiente i . Y si conocemos e(i+1) , conocemos la solucin y no
tendra sentido obtener el coeficiente .
En lugar de proponer que el error sea ortogonal a la direccin, vamos a proponer que las
direcciones sean conjugadas, tambin llamadas direcciones ortogonales por A. Qu significa esto?
Supongamos por un momento que trabajamos sobre una superficie esfrica similar a un globo, y
dibujamos sobre sta dos lneas que sean ortogonales, por ejemplo, un meridiano y un paralelo,
como se usan en la representacin de la superficie terrestre. Si deformamos nuestro globo de
manera que una dimensin sea ms grande que la otra, manteniendo una constante, formando
un elipsoide de revolucin, las dos lneas seguirn estando, pero no sern ortogonales. Pero si
volvemos a transformar ese globo defomado en esfera otra vez, volvern a ser ortogonales. La idea
del mtodo es partir de la situacin del elipsoide, transformar los vectores de forma de llevarlos
a la esfera, obtener all las direcciones y luego trabajar nuevamente en el elipsoide. De esa forma,
las direcciones slo sern ortogonales en la superficie de la esfera, pero sern conjugadas en el
elipsoide. (Otro ejemplo en ese mismo sentido sera proyectar la esfera sobre un plano, prctica
comn de la cartografa.)
y entonces, que:
T
r(i) Ad(j)
T
ij = .
d(j) Ad(j)
Ahora vamos a obtener el ij para poder encontrar nuestras direcciones conjugadas. As,
tenemos.
T T T
r(i) r(j+1) = r(i) r(j) j r(i) Ar(j)
T T T
j r(i) Ar(j) = r(i) r(j) r(i) r(j+1)
1
T
r(j) r(j)
si i = j
T j
r(i) Ar(j) = 1 T
r(j+1) r(j+1) si i = j + 1
j
T
1 r(j+1) r(j+1)
j+1 j =
j d(j) T Ad(j)
Habamos obtenido que:
T T
d(j) r(j) 1 d(j) Ad(j)
j = T
= T
,
d(j) Ad(j) j d(j) r(j)
A + AT
= mn ; = kAk2 ,
2
entonces el vector r(i+1) generado por el mtodo de los residuos mnimos satisface la relacin
1/2
2
(i+1)
(i)
r
1 2
r
,
2 2
T
r(i) r(i)
e(i+1) = e(i) + T
r(i)
r(i) Ar(i)
T
r(i) r(i)
= e(i) + T
e e(i)
e r(i) r(i)
= 0.
Si uno elige i = e , basta con una iteracin para obtener el resultado exacto! Pero
en realidad, debemos expresar e(i) como una combinacin lineal de autovectores, es decir,
n
X
(i)
e = j v (j) ,
j=1
donde los v (j) son vectores ortonormales (elegidos as por conveniencia), y los j son las longitudes
de cada vector. Entonces nos queda
n
X
(i) (i)
r = Ae = j j v (j)
j=1
2 T X
(i)
e
= e(i) e(i) = j 2
j
T X T X
e(i) Ae(i) = j v (j) j j v (j)
j j
X
= j 2 j
j
2 T X
(i)
r
= r(i) r(i) = j 2 j 2
j
(i) T
X
r Ar(i) = j 2 j 3
j
Esta ltima expresin la obtenemos al tener en cuenta que el r(i) tambin se puede
expresar como la combinacin lineal de autovecores, y que su longitud es j j . Si volvemos a
la expresin del vector e(i+1) tenemos:
T
(i+1) (i) r(i) r(i)
e = e + T
r(i)
r(i) Ar(i)
X
j 2 j 2
j
= e(i) + X r(i) ,
2 3
j j
j
1
que nos muestra que i es un promedio ponderado de .
j
Esto quiere decir que el error de la iteracin i + 1 es funcin de los autovalores de A. Como lo
que interesa es un lmite superior del error, y no el error en si mismo, si definimos que
max
= ,
mn
se puede demostrar que
1
= ,
+1
con lo cual tenemos
1 i
(i)
(0)
e
e
.
A +1 A
Podemos decir que el mtodo converge ms rpido que el mtodo del descenso ms rpido,
pues en el primero la convergencia depende de , mientras que en el segundo depende de
. Puesto que es equivalente a la condicin de A, finalmente tenemos que una matriz bien
condicionada converge rpidamente a la solucin, en tanto que no lo hace si est mal condicionada.
Por esta razn, este mtodo rara vez se aplica directamente sobre el sistema Ax = B, sino que se
precondiciona a la matriz A con una matriz M , formando el sistema M T Ax = M T B de manera
tal que M T A suele tener un nmero de condicin mucho menor que A.
Por otra parte, si la matriz est bien condicionada, el mtodo del gradiente conjugado
converge luego de n iteraciones. Es ms, si no hubieran problemas derivados de la representacin
numrica en las computadoras, el mtodo convergera despus de k iteraciones, siendo k el nmero
de autovalores no repetidos de A.
1. Mtodo de Jacobi: Muy fcil de usar, pero slo converge si la matriz es estrictamente
diagonal dominante. Actualmente slo se lo considera como una forma de introduccin a
los mtodos iterativos.
5. Mtodo del descenso ms rpido: Se aplica a sistemas con matrices simtricas definidas
positivas. Converge ms rpido que el anterior pero si la matriz no est bien condiciona-
da, no converge. Es ms fcil de programar que el anterior porque reduce la cantidad de
operaciones matriciales. Es equivalente a Gauss-Seidel.
x(k+1) = T x(k) + C.
Si consideramos que los errores inherentes del sistema, el resultado que obtendremos ser
(k+1) . Supongamos que desechamos todos los errores de los pasos anteriores, es decir,
en realidad x
que x(k) x(k) , entonces tenemos que
(k+1) x = (T T )x(k) + (C C) T x C
x
= T x(k) x T x(k) C
= T x(k) x T x(k) C + T x(k+1) T x(k+1)
= T x x(k+1) + T x(k+1) x(k) T x(k) C.
Si analizamos en detalle esta ltima expresin, vemos que se repite el error de truncamien-
to (primer trmino de la derecha). En consecuencia, el error inherente est dado por
kT k
(k)
kCk
EI =
x
+ .
1 kT k 1 kT k
Finalmente, analicemos el error de redondeo. Una vez ms, partamos de la expresin
x(k+1) = T x(k) + C,
con |j | 1 y |i | .
Consideremos ahora el hecho de que generalmente las matrices de los sistemas son ralas.
Entonces podemos definir que
entonces
Una vez ms, tomemos las normas, con lo cual nos queda
(k+1)
= kT k
x(k+1) x (k)
+ kT k
x
(k+1)
x x
x
+
x(k+1)
(k+1)
(1 kT k)
x x
= kT k
x(k+1) x (k)
+
x(k+1)
+
kT k
x(k+1)
(k+1)
(k+1) (k)
x x
=
x +x
1 kT k 1 kT k
(k+1)
p2 +3p
Puesto que
xi
q 1, 01 2 + 1
x(k)
y como el primer trmino corresponde
al error de truncamiento, nos queda que
(k)
p2 + 3p
x
ER q 1, 01 + 1 .
1 kT k 2
kT k
(k+1)
(k)
kT k
(k)
kCk
x x
+
x
+
(1 kT k) 1 kT k 1 kT k
(k)
p2 + 3p
x
+ q 1, 01 +1
1 kT k 2
(k+1)
1
x x
kT k
x(k+1) x(k)
+ kT k
x(k)
+ kCk
1 kT k
p2 + 3p
(k)
+
x
q 1, 01 +1 .
2
Como hemos visto en el captulo 1, siempre es conveniente que los errores de truncamiento
e inherentes predominen respecto al de redondeo. En consecuencia, siempre debemos tratar que
EI > ET > ER , es decir, que el error de redondeo sea el de menor incidencia, y si es posible,
despreciable.3
3
Gonzlez, en su libro, dice que ER > ET pero eso se contrapone con lo que afirman otros autores. La razn
principal es que el error de redondeo tiene un comportamiento errtico, lo que hace difcil acotarlo. (Ver ejemplo
en el captulo 1 con el error de discretizacin.)
Captulo 3
Ecuaciones no Lineales
3.1. Introduccin
En el captulo anterior vimos como resolver sistemas de ecuaciones lineales (de la forma
Ax = B o Ax B = 0), sistemas cuya solucin es nica. Pero existe una gran cantidad de
problemas que no pueden representarse mediante ecuaciones lineales. Muchas cuestiones que debe
enfrentar la ingeniera no tienen solucin nica (como en los sistemas de ecauciones lineales) o
no se pueden obtener en forma algebraica.
Tomemos el siguiente caso: supongamos que queremos desarrollar una mejora en la costa
y para ello necesitamos un recinto cerrado, el cual vamos a rellenar con arena. Para conseguir ese
recinto necesitamos una pared de contencin que construiremos con tablestacas. Para disear las
tablestacas debemos resolver una ecuacin del tipo a0 + a1 x + a2 x2 + a3 x3 = 0, donde x es la
longitud de hinca, tambin conocida como ficha. Esta ecuacin tiene tres soluciones posibles
(tres races). Si bien existe una solucin algebraica para obtener las races de una ecuacin de
tercer grado, en general, es mucho ms prctico resolverla mediante algn mtodo iterativo, y
obtener aquella solucin (riz) que es compatible con el problema.
Como dijimos, estn tambin aquellas ecuaciones que no tienen solucin algebraica y que,
por lo tanto, slo podrn resolverse mediante aproximaciones. Tenemos como ejemplo, calcular
la longitud de onda de una ola martima en aguas poco profundas. La expresin para esto es:
2
L = L0 tanh x ,
L
L
donde L0 es la longitud de onda en aguas profundas (x ) y x es la profundidad del mar.
2
L
Esta expresin es vlida para 0 x . Como podemos ver, esta ecuacin no tiene solucin
2
algebraica, y, en consecuencia, el nico modo de obtener la solucin es mediante un mtodo
iterativo. (Cuando x > L2 , entonces tanh 2
L x = 1, y L = L0 .)
Dado que este tipo de problemas son regularmente comunes en la ingeniera, en este
captulo nos ocuparemos de estudiar los distintos mtodos para resolver ecuaciones no lineales,
de manera de obtener resultados muy precisos.
Como repaso, recordemos los teorema del valor medio y del valor intermedio.
Teorema 3.1. (Teorema del valor medio.) Si f C[a; b] y f es diferenciable en (a; b), entonces
existir un nmero c en (a; b) tal que
f (b) f (a)
f 0 (c) = .
ba
Teorema 3.2. (Teorema del valor intermedio.) Si f C[a; b] y M es un nmero cualquiera entre
f (a) y f (b), existir un nmero c en (a; b) para el cual f (c) = M .
|xn xn1 | ,
|xn xn1 |
,
|xn |
|f (xn | .
cifras o dgitos significativos que tiene el resultado obtenido. En cambio, el ltimo es el menos
confiable, pues por definicin f (xn ) tiende a cero, con lo cual siempre es pequeo.
Aunque no tiene problemas por la convergencia, el mtodo resulta muy lento para alcan-
zar un resultado aceptable. Adems, segn sea el criterio de interrupcin aplicado, en muchas
ocasiones puede despreciar un resultado intermedio ms preciso. Es por eso que no suele utilizarse
para obtener la solucin ms precisa al problema.
Es evidente que podemos despejar x de esta ecuacin sin problemas, por lo que finalmente nos
queda:
x = g(x),
es decir, nuestro problema se resume a encontrar una funcin g(x). Pero como estamos resolvin-
dolo en forma iterativa, la expresin que nos queda es:
xk+1 = g(xk ),
Sabemos que existe un mtodo algebraico para obtener las races de este polinomio, pero hagamos
uso del mtodo para obtener la raz en el intervalo (0, 5; 1, 5). Para ello, propongamos la siguiente
funcin g(x):
g1 (x) = 4x3 x4 + x2 15x + 12,
Es fcil notar que tenemos un problema. Como dijimos, la raz buscada se encuentra en
el intervalo (0, 5; 1, 5), pero ambos resultados nos dieron fuera de dicho intervalo, y en el caso de
x2 , de signo opuesto. Evidentemente, esta funcin g1 (x) no nos sirve.
Cambiemos la funcin y volvamos a intentarlo. Probemos con la siguiente funcin:
p
g2 (x) = 4x3 + x2 16x + 12,
e iniciemos el proceso con el mismo x0 . En este caso al hacer seis (6) iteraciones obtenemos el
siguiente resultado: x6 = 1, 009, valor que est dentro del intervalo. Verifiquemos si este valor es
correcto calculando f (x6 ):
Este valor puede considerarse cercano cero y por lo tanto, hemos podido encontrar la raz
buscada.
Pero por qu fallamos al usar la primera funcin? Para entender esto veamos los siguien-
tes teoremas.
Teorema 3.3. Si g(x) C(a; b) y g(x) [a; b] para todo x [a; b], entonces g(x) tiene un punto
fijo en [a; b].
Teorema 3.4. Si g 0 (x) existe en [a; b], y existe una constante m < 1, tal que
0
g (x) m, para toda x [a; b],
Demostracin El teorema 3.5 implica que existe un punto fijo en [a; b]. Como g(x) mapea
[a; b] en s mismo, la sucesin {xn }n=0 se define para todo n 0 y xn [a; b] para todo n. Dado
que |g 0 (x)| k, si aplicamos el teorema del valor medio, tenemos
x)| = g 0 () |xn1 x
|xn x| = |g(xn1 ) g( | k |xn1 x
| ,
donde (a; b). En forma inductiva obtenemos
|xn x | k 2 |xn2 x
| k |xn1 x | . . . k n |x0 x
| .
Como k < 1, entonces
| lm k n |x0 x
lm |xn x | = 0,
n n
y la sucesin {xn }
n=0 converge a x
.
Corolario 3.5.1. Si g satisface las hiptesis de teorema 3.5, las cotas de error que supone utilizar
xn para aproximar x
estn dadas por
| k n max{x0 a; b x0 },
|xn x
y por
kn
|xn x
| |x1 x0 | , para toda n 1.
1k
xx
( )2
x) + f 0 (
0 = f ( x)( ) + f 00 ((
xx x)) .
2
xx
Al suponer que| | es pequeo, podemos despreciar ( )2 , con lo que nos queda
xx
x) + f 0 (
0 = f ( xx
x)( ),
y despejando x
de la ecuacin nos queda
f (
x)
x
=x 0
.
f (
x)
lo hacemos con x0 , entonces generamos una sucesin {xn }
Y si en lugar de aproximar con x
definida por
f (xn1 )
xn = xn1 0 ,
f (xn1 )
que es la misma expresin que ya vimos.
De este desarrollo podemos ver que el error cometido es proporcional a (x xn )2 o a
00
f (xn ) (puesto que cuando xn x podemos suponer que (xn ) xn ). De ah que podemos
aplicar los mismos criterios de interrupcin que en los otros mtodos.
Tambin podemos observar que si no elegimos un x0 lo suficientemente cerca, el mtodo
puede no converger. Para esto tenemos el siguiente teorema.
Teorema 3.6. Sea f C 2 [a; b]; si x x) = 0 y f 0 (
[a; b] es tal que f ( x) 6= 0, entonces existe
un > 0 tal que el mtodo de Newton-Raphson genera una sucesin {xn } n=1 que converge a x
para cualquier aproximacin inicial x0 [
x ; x
+ ].
x ; x
Nos falta todava demostrar que g : [ + ] [ x ; x
+ ]. Si x x
; x
+ ]. El
teorema del valor medio implica que existe un nmero entre x y x para el que se cumple
x)| = g 0 () |x x
|g(x) g( | .
f (xn1 )
xn = g(xn1 ) = xn1 , para n 1,
f 0 (xn1 )
converge a x para cualquier x0 [x ; x
+ ].
Como vimos este mtodo es una variante del mtodo de las aproximaciones sucesivas. Si
la funcin f (x) no tiene derivada en el entorno [a; b] no es posible aplicarlo, pero si resulta difcil
calcularla o evaluarla, existe un mtodo alternativo denominado mtodo de la secante, el cual
reemplaza f 0 (xn1 ) por su aproximacin discreta, es decir,
f (xn1 ) f (xn2 )
f 0 (xn1 ) = .
xn1 xn2
Si reemplazamos esto ltimo en la frmula de Newton-Raphson tenemos
f (xn1 )(xn1 xn2 )
xn = xn1 ,
f (xn1 ) f (xn2 )
que tambin podemos escribir como
f (xn1 )xn2 f (xn2 )xn1
xn = .
f (xn1 ) f (xn2 )
y si g 0 (
x) 6= 0, entonces para cualquier x0 [a; b] la sucesin
xn = g(xn1 ), para n 1,
[a; b].
converge slo linealmente al punto fijo x
De acuerdo con el segundo teorema, para obtener una convergencia al menos cuadrtica
debemos plantear que g 0 (
x) = 0. Dado que:
entonces
g 0 ( x)f 0 (
x) = 1 ( x),
x) = 0, entonces g 0 (
pues f ( x) = 1/f 0 (
x) = 0 si y slo si ( x). Si reemplazamos esto en la funcin
original nos queda
f (xn1 )
xn = g(xn1 ) = xn1 0 ,
f (xn1 )
que no es otra cosa que el mtodo de Newton-Raphson.
xn+1 x
xn+2 x
,
xn x
xn+1 x
y
x xn+2 xn x2n+1 .
(xn+2 + xn 2xn+1 )
Si despejamos x
nos queda
xn+2 xn x2n+1
x .
xn+2 2xn+1 + xn
Si ahora sumamos y restamos x2n y 2xn xn+1 en el numerador, tenemos
xn }
Si definimos la nueva sucesin { n=0 como
(xn+1 xn )2
n = xn
x ,
xn+2 2xn+1 + xn
xn }
obtenemos una tcnica denominada mtodo 2 de Aitken, que supone que la sucesin { n=0
que la sucesin {xn }
converge ms rpidamente a x n=0 .
La notacin asociada a esta tcnica est definida por:
xn = xn+1 xn , para n 0.
k xn = (k1 xn ), para k 2.
2 xn = (1 xn ) = (xn+1 xn )
= xn+1 xn = (xn+2 xn+1 ) (xn+1 xn )
= xn+2 2xn+1 + xn ,
(xn )2
n = xn
x .
2 xn
Para analizar la convergencia de este mtodo tenemos el siguiente teorema.
Teorema 3.9. Sea la sucesin {xn }n=0 que converge linealmente a x, y que para valores sufi-
cientemente grandes de n, se cumpla que (xn x
)(xn+1 x xn }
) > 0. Entonces la sucesin { n=0
con mayor rapidez que {xn }
converge a x n=0 en el sentido de que
n x
x
lm = 0.
n xn x
Si aplicamos el mtodo 2 de Aitken a una sucesin cuya convergencia sea lineal, podemos
acelerar la convergencia a cuadrtica. Podemos entonces desarrollar otros mtodos a partir de
esta tcnica.
0 = {2 }(x0 ); x3 = g(x2 ); x
x0 ; x1 = g(x0 ); x2 = g(x1 ); x 1 = {2 }(x1 ); . . . .
En cambio, el mtodo de Steffensen calcula los cuatro primeros trminos de la forma indicada
pero introduce una leve modificacin al calcular el trmino x3 . La secuencia queda entonces
como:
(0) (0) (0) (0) (0) (1) (0)
x0 ; x1 = g(x0 ); x2 = g(x1 ); x0 = {2 }(x0 );
(1) (1) (1) (1) (2) (1)
x1 = g(x0 ); x2 = g(x1 ); x0 = {2 }(x0 ); . . .
De esta manera, el mtodo se asegura una convergencia cuadrtica y mejora notablemente
la precisin en los resultados obtenidos por el mtodo de las aproximaciones sucesivas. En el
siguiente ejemplo podemos ver la diferencia en la convergencia.
Supongamos que tenemos la siguiente ecuacin:
2 exk + x2k
xk+1 = , x0 = 0, 50.
3
Para ver la eficacia del mtodo y poder comparar, resolveremos esta ecuacin utilizando
el mtodo de las aproximaciones sucesivas primero, y el mtodo de Steffensen, despus.
En la tabla siguiente (tabla 3.1) podemos ver los resultados obtenidos al aplicar ambos
mtodos. En la segunda columna estn los obtenidos con aproximaciones sucesivas y en la ltima,
los obtenidos con Steffensen.
Observemos que el mtodo de Steffensen alcanz ms rpidamente el resultado correcto
que el mtodo de las aproximaciones sucesivas. Mientras este ltimo necesit ocho iteraciones, el
de Steffensen requiri solamente seis. Por lo tanto, la convergencia es ms rpida.
son mtodos que aseguran la convergencia pero que son muy lentos. Suelen usarse como una
primera aproximacin cuando no se tiene informacin ms detallada del punto x , de ah que son
conocidos como mtodos de arranque. Sirven para acotar el intervalo en el caul se encuentra la
raz buscada. Los otros cuatro, el de las aproximaciones sucesivas, el Newton-Raphson, el de la
secante y el de Steffensen son mucho ms potentes y en el caso de Newton-Raphson y Steffensen,
de una rpidez de convergencia cuadrtica. De los cuatro mtodos mtodos, los ms usuales para
programar son el de las aproximaciones sucesivas y el de la secante, puesto que son sencillo y no
requieren conocer la derivada primera. Es comn, adems, que cuando no se tiene un intervalo
los suficientemente acotado para trabajar con los mtodos de refinamiento, se comience con el
metodo de la biseccin, y as, disminuir el costo computacional.
Sin embargo, cuando la ecuacin f (x) = 0 tiene multiplicidad de ceros (ejemplo, la
funcin sen(x)), ninguno de estos mtodos puede distinguir rpidamente esta situacin. Es por
eso que existen otros mtodos para resolver este tipo de problemas (ver [1]).
Captulo 4
Interpolacin de curvas
4.1. Introduccin
En este captulo nos concentraremos en el estudio de los mtodos de interpolacin de
curvas. Es usual que los ingenieros trabajen con datos extrados de mediciones, relevamientos,
ensayos de laboratorio, etc., los cuales no siempre entregan el valor necesitado para el problema
que se est tratando de resolver. Un ejemplo tpico de interpolacin sencilla utilizado por cualquier
profesional de la ingeniera es la interpolacin lineal en una tabla de datos (por ejemplo, de
estadsticas) para obtener un valor entre dos puntos dados. Este tipo de interpolacin lineal era
muy usado cuando no existan las calculadoras cientficas de bolsillo (ni hablar de computadoras)
y deban usarse las famosas Tablas de logaritmos para obtener logaritmos, senos, cosenos y
cualquier otra funcin trigonomtrica o trascendental.
Un segundo ejemplo de interpolacin ms avanzado es la utilizacin de polinomios inter-
polantes en la resolucin de estructuras cuando se utilizan programas de anlisis estructural que
aplican el mtodo de los elementos finitos. All es de fundamental importancia entender los tipos
de polinomios que se pueden usar y los datos necesarios para poder obtener estos polinomios.
Puesto que hay muchos mtodos y formas de interpolar, nos ocuparemos de los mtodos
clsicos y veremos algunas mejoras que se han desarrollado a estos mtodos. En particular, gracias
al artculo de L.N. Trefethen y J. P. Berrut (vase [14]), analizaremos una mejora al mtodo de
Lagrange bsico, denominada Interpolacin Baricntrica de Lagrange.
x y
x0 y0
x1 y1
x2 y2
x3 y3
que corte el segmento ya mencionado. Finalmente, desde este punto, trazamos una lnea recta
paralela al eje de abscisas hasta cortar el eje de ordenadas, con lo cual hemos obtenido el valor
de y(xA ).
Queda muy evidente que este procedimiento es muy engorroso si se quiere hacerlo en forma
metdica. Sin embargo, es la forma ms sencilla de interpolacin polinomial, la interpolacin
lineal. Efectivamente, si tomamos los dos puntos en cuestin podemos armar una recta mediante
el siguiente sistema:
y1 = m x1 + n
y2 = m x2 + n
Si restamos y1 a y2 obtenemos m:
y2 y1
y2 y1 = m(x2 x1 ) m = .
x2 x1
Para hallar y(xA ) basta con reemplazar xA en cualquiera de las expresiones anteriores.
Lo hecho anteriormente es equivalente al procedimiento grfico. Pero que pasa si quere-
mos usar ms de dos puntos? Supongamos que necesitamos usar los cuatro puntos de la tabla 4.1
para interpoalr un punto cualquiera entre x0 y x3 . En ese caso, el polinomio de mayor grado
posible es un polinomio cbico, porque tiene cuatro coeficientes, pues:
y(x) = a0 + a1 x + a2 x2 + a3 x3 .
Si reemplazamos loa cuatro puntos en esta ecuacin obtenemos el siguiente sistema de ecuaciones
lineales:
y0 = a0 + a1 x0 + a2 x20 + a3 x30
y1 = a0 + a1 x1 + a2 x21 + a3 x31
y2 = a0 + a1 x2 + a2 x22 + a3 x32
y3 = a0 + a1 x3 + a2 x23 + a3 x33
Basta con resolver este sistema de ecuaciones lineales para obtener los coeficientes ai .
Analicemos el sistema escribindolo en forma matricial:
1 x0 x20 x30
a0 y0
1 x1 x21 x31 a1 y1
1 x2 x22 x32 a2 = y2
1 x3 x23 x33 a3 y3
| {z }
A
La matriz es una matriz especial y se conoce como matriz de VanderMonde. Esta matriz
tiene la particularidad de ser mal condicionada, por lo que cualquier mtodo que usemos para
resolver este sistema puede traernos algn problema.
El mtodo de Lagrange para interpolacin polinomial resulta de resolver este sistema
para obtener los coeficientes pero lo hace de una forma ms sencilla y sistemtica. Para obtener
el polinomio interpolador debemos seguir los siguientes pasos:
1. Calcular n + 1 polinomios Ln;i (x) relacionados cada uno con cada dato xi , donde n es el
grado del polinomio e i indica el punto considerado, cuya particularidad es la siguiente:
(
1 si x = xi
Ln;i (x) = ,
0 si x 6= xi
para i = 0; 1; . . . ; n, que refiere a los datos usados para la interpolacin. En el caso de
la tabla 4.1, n = 3 como mximo. Los polinomios Ln;i (x) se obtienen con la siguiente
expresin:
Yn
(x xj )
j=0 n
j6=i Y x xj
Ln;i (x) = n = .
Y xi xj
(xi xj ) j=0
j6=i
j=0
j6=i
Por ejemplo, podemos armar una interpolacin lineal mediante los polinomios de La-
grange entre los puntos x1 y x2 . Al aplicar el mtodo obtenemos:
x x2
L1;0 =
x1 x2
x x1
L1;1 =
x2 x1
P1 (x) = y1 L1;0 (x) + y2 L1;1 (x)
x x2 x x1
P1 (x) = y1 + y2 ,
x1 x2 x2 x1
que es la ecuacin de la recta que obtuvimos antes.
Para obtener el polinomio de tercer grado tendremos:
(x x1 )(x x2 )(x x3 )
L3;0 (x) =
(x0 x1 )(x0 x2 )(x0 x3 )
(x x0 )(x x2 )(x x3 )
L3;1 (x) =
(x1 x0 )(x1 x2 )(x1 x3 )
(x x0 )(x x1 )(x x3 )
L3;2 (x) =
(x2 x0 )(x2 x1 )(x2 x3 )
(x x0 )(x x1 )(x x2 )
L3;3 (x) =
(x3 x0 )(x3 x1 )(x3 x2 )
P3 (x) = y0 L3;0 (x) + y1 L3;1 (x) + y2 L3;3 (x) + y3 L3;3 (x)
Como hemos utilizado todos lo puntos de los datos, es evidente que no se puede crear un polinomio
de mayor grado que el cbico. Por lo tanto, existe un slo polinomio posible de construir con
todos los datos disponibles. El siguiente teorema define a este nico polinomio.
Teorema 4.1. Sean x0 , x1 , . . ., xn , n + 1 nmeros diferentes, y sea f una funcin tal que sus
valores se obtengan a partir de los nmeros dados (f (x0 ); f (x1 ), . . ., f (xn )), entonces existe un
nico polinomio Pn (x) de grado n, que cumple con la propiedad
donde
n
Y x xj
Ln;i (x) = ,
xi xj
j=0
j6=i
para i = 0; 1; . . . ; n.
Sin embargo, se pueden crear varios polinomios de grados menores a n. As, con los datos
de la tabla 4.1 se pueden construir tres polinomios de grado 1 y dos polinomios de grado 2.
Obtenido el polinomio interpolante nos queda un punto por definir: cul es el error que
estamos cometiendo al interpolar mediante un polinomio respecto de la funcin original? Para
ello tenemos el siguiente teorema.
Teorema 4.2. Sean x0 , x1 , x2 ,. . . ,xn , nmeros distintos en el intervalo [a; b] y sea f Cn+1 [a; b].
Entonces, para cualquier x [a; b] existe un nmero (x) [a; b] para que el se cumple que
n
f (n+1) ((x)) Y
f (x) = Pn (x) + (x xi ),
(n + 1)!
i=0
Como f Cn+1 [a; b], Pn C [a; b], y x 6= xi para cualquier i, entonces g Cn+1 [a; b]. Si u = xj
tendremos
n
Y (xj xi )
g(xj ) = f (xj ) Pn (xj ) [f (x) Pn (x)] = 0 [f (x) Pn (x)]0 = 0.
(x xi )
i=0
n
(n+1)
Y (u xi )
Como Pn (u) es un polinomio de grado n, entonces Pn (u) =0y es un polinomio
(x xi )
i=0
de grado n + 1 tendremos que
" n #
dn+1 Y (u xi ) (n + 1)!
n+1
= n .
du (x xi ) Y
i=0 (x xi )
i=0
(n + 1)!
0 = f (n+1) () 0 [f (x) Pn (x)] n .
Y
(x xi )
i=0
Desde el punto de vista terico, esta expresin del error es muy importante porque muchas
de las tcnicas de derivacin e integracin numrica se derivan de aplicar la interpolacin por el
mtodo de Lagrange. Sin embargo, para otros casos, no debemos olvidarnos que no conocemos
f (x) (y por lo tanto, tampoco f (n+1) (x)), por lo que el error calculado es slo una aproximacin.
Finalmente, podemos ver que el mtodo tiene algunas desventajas:
2. Agregar un par de datos xn+1 , f (xn+1 ) requiere rehacer todos lo polinomios Ln,i (x).
3. Es numricamente inestable.
y0 = a0 + a1 x0 + a2 x20
y1 = a0 + a1 x1 + a2 x21
y2 = a0 + a1 x2 + a2 x22 .
= y0 + (x x0 ) + (x x0 )(x x1 ).
x1 x0 x2 x0
Esta forma de armar el polinomio se denomina mtodo de las diferencias dividas de New-
ton, y podemos sistematizarla para que sea muy sencillo de realizar. En primer lugar, podemos
decir que f (xi ) = yi . Seguidamente vamos definir lo siguiente:
f (x1 ) f (x0 )
f (x0 ; x1 ) =
x1 x0
f (x2 ) f (x1 )
f (x1 ; x2 ) = ,
x2 x1
y generalizando
f (xi+1 ) f (xi )
f (xi ; xi+1 ) = .
xi+1 xi
Anlogamente tenemos que:
f (x2 )f (x1 ) f (x1 )f (x0 )
x2 x1 x1 x0 f (x1 ; x2 ) f (x0 ; x1 )
f (x0 ; x1 ; x2 ) = =, ,
x2 x0 x2 x0
x f (x) f (xi ; xi+1 ) f (xi ; xi+1 ; xi+2 ) f (xi ; xi+1 ; xi+2 ; xi+3 )
x0 f (x0 )
f (x0 ; x1 )
x1 f (x1 ) f (x0 ; x1 ; x2 )
f (x1 ; x2 ) f (x0 ; x1 ; x2 ; x3 )
x2 f (x2 ) f (x1 ; x2 ; x3 )
f (x2 ; x3 )
x3 f (x3 )
Observemos que podemos armar dos polinomios a partir del mtodo de Newton. Uno es
el que obtuvimos antes, por el denominado mtodo de la diferencias divididas progresivas. El
otro podemos obtenerlo partiendo de x3 , que resulta ser
P (x) = f (x3 ) + f (x2 ; x3 )(x x3 ) + f (x1 ; x2 ; x3 )(x x3 )(x x2 ) +
+f (x0 ; x1 ; x2 ; x3 )(x x3 )(x x2 )(x x1 ),
que se denomina mtodo de las diferencias divididas regresivas.
El mtodo de Newton, en sus dos variantes, es muy usado cuando se trabaja con datos
que pueden ser modificados (aumentando la cantidad de puntos disponibles para la interpolacin)
y, en consecuencia, aplicar el mtodo de Lagrange se vuelve muy engorroso. Otra ventaja es que
para evaluar los polinomios Pn (x) requerimos n operaciones aritmticas, algo bastante menor al
O(n2 ) que requiere el mtodo de Lagrange 1 . Sin embargo, el mtodo exige que los datos deban
estar ordenados, segn xi , en forma ascendente (o descendente) para poder implementarlo. Si
agregamos algn dato intermedio, la ventaja anterior se pierde porque la tabla 4.2 debe rehacerse,
perdiendo practicidad.
Para mejorar esto existe una variante del mtodo de Lagrange que nos permite interpolar
de manera sencilla y al que resulta muy fcil agregarle puntos en cualquier orden.
1
De todos modos, se requieren O(n2 ) operaciones para obtener los coeficientes f (xk ; xk+1 ; . . . ; xn ).
que se denomina interpolacin baricntrica de Lagrange. Al igual que en el caso del mtodo
mejorado, slo se necesitan O(n) operaciones para actualizar el polinomio si agregamos un par
de datos xn+1 , f (xn+1 ) adicionales.
De todos modos, si la interpolacin la realizamos con puntos uniformemente distanciados
o distribuidos unos de otros, la mala condicin del problema no se puede evitar (pues ningn
algoritmo la mejora). La consecuencia directa de esto es el llamado fenmeno de Runge, que se
da cuando aparecen oscilaciones no deseadas en ambos extremos del intervalo a interpolar (como
puede verse en [1] o [4]). A pesar de esto, en general, la interpolacin baricntrica de Lagrange
es ms estable numricamente que el mtodo de Lagrange orginal y que el mtodo de Newton,
segn el anlisis hecho por N.J. Higham en [7]. Pero para evitar el fenmeno descripto, debemos
cambiar la forma de resolver nuestro problema. Para ello tenemos otra forma de interpolar
mediante polinomios.
t y v
t0 y0 v0
t1 y1 v1
t2 y2 v2
t3 y3 v3
donde
Hn;i (x) = [1 2(x xi )L0n;i (xi )]L2n;i (x),
y
n;i (x) = (x xi )L2n;i (x),
H
donde Ln;i (x) es el isimo polinomio de Lagrange de grado n. Si adems f C2n+2 [a; b],
entonces se cumple que
(x x0 )2 . . . (x xn )2 (2n+2)
f (x) = H2n+1 (x) + f (),
(2n + 2)!
y
n,i (x) = (xi xi )L2n;i (xi ) = (xi xi ) 12 = 0.
H
Entonces, nos queda que:
n
X n
X n
X
0
H2n+1 (xk ) = f (xk )Hn;i (xk ) + n;i (xk ) = f (xk ) +
f (xk )H f 0 (xk ) 0 = f (xk ),
i=0 i=0 i=0
0
Hn;j (xj ) = 2 L2n;j (xj ) + [1 + 2(xj xj )L0n;j (xj )]2Ln;j (xj )L0n;j (xj )
= 2 L2n;j (xj ) + 2 L2n;j (xj ) = 0,
0 (x ) = 0 para todas la j e i.
o sea, Hn;i j
Por otro lado, observemos que
0
n;i
H (xj ) = L2n;i (xj ) + (xj xi )2Ln;i (xj )L0n;i (xj )
= Ln;i (xj )[Ln;i (xj ) + 2(xj xi )L0n;i (xj )],
Para utilizar el mtodo de Newton conociendo los valores de la primera derivada, debemos re-
definir nuestra sucesin. Por ejemplo, si tomamos los datos de la tabla 4.3, nuestra nueva sucesin
de puntos es t0 ; t0 ; t1 ; t1 ; t2 ; t2 ; t3 ; t3 , es decir, definimos una nueva sucesin z0 ; z1 ; . . . ; z2n+1 tal
que
z2i = z2i+1 = xi ( o ti en nuestro caso),
para cada i = 0; 1, 2; . . . ; n. Puesto que con esta nueva sucesin no se puede definir f (z2i ; z2i+1 )
de la forma vista, resulta conveniente definirla aprovechando que conocemos f 0 (z2i ) = f 0 (xi ),
con lo que se aprovechan los datos conocidos. En consecuencia, podemos construir la siguiente
tabla
Contsruida nuestra tabla, el polinomio de Hermite se arma de la siguiente manera:
2n+1
X k1
Y
H2n+1 (x) = f (z0 ) + f (z0 ; z1 ; . . . ; zk ) (x zj ) .
k=1 j=0
z f (z) f (zi ; zi+1 ) f (zi ; zi+1 ; zi+2 ) f (zi ; zi+1 ; zi+2 ; zi+3 )
z0 = x0 f (z0 ) = f (x0 )
f (z0 ; z1 ) = f 0 (x0 )
z1 = x0 f (z1 ) = f (x0 ) f (z0 ; z1 ; z2 )
f (z1 ; z2 ) f (z0 ; z1 ; z2 ; z3 )
z2 = x1 f (z2 ) = f (x1 ) f (z1 ; z2 ; z3 )
f (z2 ; z3 ) = f 0 (x1 ) f (z1 ; z2 ; z3 ; z4 )
z3 = x1 f (z3 ) = f (x1 ) f (z2 ; z3 ; z4 )
f (z3 ; z4 ) f (z2 ; z3 ; z4 ; z5 )
z4 = x2 f (z4 ) = f (x2 ) f (z3 ; z4 ; z5 )
f (z4 ; z5 ) = f 0 (x2 ) f (z3 ; z4 ; z5 ; z6 )
z5 = x2 f (z5 ) = f (x2 ) f (z4 ; z5 ; z6 )
f (z5 ; z6 ) f (z4 ; z5 ; z6 ; z7 )
z6 = x3 f (z6 ) = f (x3 ) f (z5 ; z6 ; z7 )
f (z6 ; z7 ) = f 0 (x3 )
z7 = x3 f (z7 ) = f (x3 )
x x1 2
1
H1;0 (t) = 1 2(x x0 )
x0 x1 x0 x1
x x0 2
1
H1;1 (t) = 1 2(x x1 )
x1 x0 x1 x0
2
H 1;0 (t) = (x x0 ) x x1
x0 x1
x x0 2
H1;1 (t) = (x x1 )
x1 x0
0 (t
Como adems se cumple que H3;i (ti+1 ) = H3;i+1 (ti+1 ) y H3;i 0
i+1 ) = H3;i+1 (ti+1 ), tene-
mos continuidad para la curva y su primera derivada. Podemos armar una curva con segmentos
de curvas de tercer grado, que puede representar a la funcin y a la primera derivada, sin tener
que preocuparnos por los efectos negativos de las oscilaciones no deseadas en los extremos. Este
mtodo se usa en el mtodo de los elementos finitos para armar las funciones de forma en los
elementos de viga.
De todos modos, como para poder armar este tipo de curvas debemos conocer los valores
de las derivadas en cada punto, algo que no siempre es posible, usar estos segmentos de curvas
con polinomios de Hermite no siempre resultan ser una solucin aplicable. De ah que existe otra
manera de obtener curvas con estas caractersticas.
Si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 ,
con i = 0; 1; . . . ; n 1. Como en el caso anterior, observemos que tenemos cuatro constantes para
cada polinomio, por lo tanto, debemos agregar condiciones para poder armar nuestra interpo-
lacin. Como no conocemos los valores de las derivadas en los puntos, las condiciones que las
curvas debern cumplir son:
1. Si (xi ) = f (xi ) para cada i = 0; 1; . . . ; n;
00 (x 00
4. Si+1 i+1 ) = Si (xi+1 ) para cada i = 0; 1; . . . ; n 2;
La primera condicin asegura que las curvas pasen por los datos, en tanto que las tres
condiciones siguientes aseguran la continuidad del conjunto de curvas tanto para las funciones
Si como para sus derivadas primera y segunda.
Para obtener cada polinomio, empecemos por plantear las condiciones definidas arriba.
En primer lugar, como Si (xi ) = f (xi ), tendremos que:
Si (xi ) = ai = f (xi ),
Si0 (xi ) = bi ,
ci+1 = ci + 3di hi ,
una vez ms, para cada i = 0; 1; . . . ; n1. Si despejamos di y reemplazamos en las dos expresiones
anteriores, nos queda:
h2i
ai+1 = ai + bi hi + (2ci + ci+1 ),
3
bi+1 = bi + hi (ci + ci+1 ),
para cada i = 0; 1; . . . ; n 1.
En la primera ecuacin podemos despejar bi , que resulta ser
ai+1 ai hi
bi = (2ci + ci+1 ).
hi 3
Si usamos la segunda para obtener bi en vez de bi+1 y utilizamos la expresin anterior para bi1 ,
nos queda
para cada i = 1; 2; . . . ; n 1.
Ahora nos falta determinar si con este esquema podemos obtener un resultado nico para
los valores de ci . Para ello tenemos el siguiente teorema:
Teorema 4.4. Sea f en a = x0 < x1 < . . . < xn = b, entonces f tendr un interpolante nico
de frontera libre o natural en los nodos x0 ; x1 ; . . . ; xn .
Demostracin Si la curva es de frontera libre o natural, entonces se cumple que S000 (a) = 0 y
00 (b) = S 00 (b) = 0, por lo tanto tendremos que
Sn1 n
Sn00 (xn )
cn = = 0;
2
y que
0 = S000 (x0 ) = 2c0 + 6d0 (x0 x0 ) c0 = 0.
0
3 3 c0
h1 (a2 a1 ) h0 (a1 a0 )
c1
..
. ..
B=
..
y x = . .
. ..
3 3
.
h (an an1 ) h (an1 an2 )
n1 n2 cn
0
Una vez obtenidos los valores de los ci , podemos hallar los restantes coeficiente, bi y di con las
expresiones ya vistas:
ci+1 ci
di = ,
3hi
ai+1 ai hi
bi = (2ci + ci+1 ).
hi 3
Con todos los coeficientes obtenemos finalmente las Si (x) curvas o polinomios que inter-
polan los datos.
Para el caso de las splines con frontera sujeta tenemos el siguiente teorema.
Teorema 4.5. Sea f en a = x0 < x1 < . . . < xn = b, y diferenciable en a y en b, entonces f
tendr un interpolante nico de frontera sujeta en los nodos x0 ; x1 ; . . . ; xn .
h i
a1 a0
3 h0 f 0 (a)
3 3
c0
h1 (a2 a1 ) h0 (a1 a0 )
c1
..
. ..
B=
..
, y x = . .
. ..
3 3
.
hn1 (an ahn1 ) hn2 (an1 an2 )
i cn
3 f 0 (b) anha n1
n1
En ambos casos los sistemas de ecuaciones son estrictamente diagonal dominantes, por
lo tanto tienen solucin nica, es decir, existe un nico vector c0 , c1 , . . ., cn para cada sistema.
En cuanto al error que cometemos al interpolar una curva utilizando splines, podemos
expresarlo, para el caso con frontera libre, como
5
max |f (x) S(x)| M max |hi |4 ,
axb 384 0in1
donde S(x) es el conjunto de las Si (x) curvas y hi = xi+1 xi . Sin embargo, cuando se utiliza
este caso, el orden del error en los extremos es proporcional a |hi |2 y no a |hi |4 , por lo que no
siempre es bueno aplicar el caso de frontera libre o natural.
Finalmente, existe un tercer caso cuando no conocemos las derivadas extremas (f 0 (a) y
f 0 (b)), denominado aproximacin sin un nodo 2 , en el cual se considera que d0 = d1 y dn2 =
dn1 , que es lo mismo que considerar que S0 (x) = S1 (x) y Sn2 (x) = Sn1 (x), lo cual tambin
introduce un error en los extremos del orden de |hi |2 .
Para este ltimo caso tenemos lo siguiente:
c1 c0
c1 = c0 + 3d0 h0 d0 =
3h0
c2 c1
c2 = c1 + 3d1 h1 d1 = .
3h1
Como d0 = d1 , entonces
c 1 c0 c2 c1
=
3h0 3h1
h1 c1 h1 c0 = h0 c2 h0 c1 ,
lo que nos deja la siguiente expresin para la primera fila del sistema:
h1 c0 (h0 + h1 )c1 + h0 c2 = 0.
cn1 cn2
cn1 = cn2 + 3dn2 hn2 dn2 =
3hn2
cn cn1
cn = cn1 + 3dn1 hn1 dn1 = ,
3hn1
Por ltimo, resulta interesante observar que el diseo asistido por computadora (CAD
por sus siglas en ingls) hace un uso intensivo de la interpolacin fragmentada (o segmentada),
con las spline, y las curvas paramtricas (curvas de Bezier). Las primeras son muy usadas en
programas como el AutoCAD
r
, en tanto que las segundas, en programas como el Corel Draw
r
,
OpenDraw o similares. Por tal motivo, resulta til conocer los fundamentos matemticos de cada
una de ellas.
Captulo 5
donde m < n, es decir, tenemos menos funciones disponibles que puntos, y las i (x) son lineal-
mente independientes, o sea, conforman una base de funciones. Como lo que buscamos es que el
error entre los datos y la funcin de ajuste sea el menor posible, podemos plantear que
es decir, el residuo, sea mnimo. Una forma de analizar esto es mediante la norma del residuo.
1. Que el norma uno del residuo sea mnima, es decir, krk1 sea mnima;
2. Que el norma infinita del residuo sea mnima, es decir, krk sea mnima;
3. Que el norma dos (eucldea) del residuo sea mnima, es decir, krk2 sea mnima.
La primera norma es buena si uno quiere eliminar aquellos valores considerados como
desviaciones, por ejemplo, mediciones mal hechas o valores que fcilmente puede inferirse err-
neos. Consiste en minimizar la siguiente expresin:
n
X n
X
krk1 = |ri | = |f (xi ) y(xi )|
i=0 i=0
Esto es til cuando los valores mximos del error deben ser considerados al momento de la
verificacin.
Ambos casos resultan muy tiles cuando se trabaja con datos discretos, en los que tiene
suma importancia verificar la exactitud de esos datos, o eventualmente, encontrar errores de
medicin, de transcripcin, etc.
Los dos casos recin analizados, krk1 , y krk llevan a la programacin lineal, materia
que est fuera del alcance de nuestro curso, y que resultan mucho ms complejos de analizar que
la ltima opcin indicada.
sta consiste en minimizar la expresin:
v v
u n u n
uX 2 uX
krk2 = t |ri | = t [f (xi ) y(xi )]2 ,
i=0 i=0
o, lo que es lo mismo,
n
X n
X
krk22 = 2
|ri | = [f (xi ) y(xi )]2 .
i=0 i=0
para j = 0; 1; . . . ; m.
Avancemos un poco ms. Al desarrollar la sumatoria en i del trmino de la izquierda, nos
queda:
X n
k (xi )j (xi ) = k (x0 )j (x0 ) + k (x1 )j (x1 ) + . . . + k (xn )j (xn ).
i=0
Lo mismo podemos hacer con la sumatora del trmino de la derecha, con lo que tenemos
n
X
f (xi )j (xi ) = f (x0 )j (x0 ) + f (x1 )j (x1 ) + . . . + f (xn )j (xn ).
i=0
rt r = (f c)T (f c) .
De nuevo, para obtener que el residuo sea mnimo, anulemos la primera derivada, es decir,
hagamos
rT r h i
= (f c)T (f c) = 0.
cj cj
Al derivar nos queda
T (f c) (f c)T = 0,
T f T c + f T cT T = 0.
T f T c + T f T c = 0
2(T f T c) = 0
T f T c = 0
T c = T f,
y T f tiene la forma
(f ; 0 )
(f ; 1 )
.. .
.
(f ; m )
es la recta que ajusta nuestros datos, con lo cual 0 = 1 y 1 = x. El siguiente paso es armar la
matriz A. Sabemos que
n
X n
X
(k ; j ) = k (xi )j (xi ) y (f ; j ) = f (xi )j (xi ),
i=0 i=0
Despejando c0 y c1 obtenemos:
n
X n
X n
X n
X
2
(xi ) f (xi ) (f (xi ) xi ) xi
i=0 i=0 i=0 i=0
c0 = !2
n
X n
X
(n + 1) (xi )2 xi
i=0 i=0
n
X n
X n
X
(n + 1) (f (xi ) xi ) xi f (xi )
i=0 i=0 i=0
c1 = n n
X X
(n + 1) (xi )2 xi
i=0 i=0
que permiten ajustar valores segn distintas curvas. Sin embargo, estas expresiones no son ajustes
por
X cuadrados mnimos en un sentido estricto. Lo correcto sera proponer una funcin del tipo
ci i (x) en lugar de transformar los datos. (Para ms detalles, vase [1].)
i
Si ampliamos este esquema a una funcin polinmica tendremos que
m
X m
X
y(x) = ck k (x) = ck xk = c0 + c1 x + c2 x2 + . . . + cm xm .
k=0 k=0
como el polinomio de aproximacin P (x), en el intervalo [a; b]. Podemos graficar nuestra funcin
y nuestro polinomio de manera que nos queden las curvas que se ven la figura 5.1.
Si definimos que:
Z b" n
#2
X
E(ak ) = f (x) ak xk dx = kr(ak )k22 ,
a k=0
entonces podemos ver que que el rea bajo la curva r(ak )2 es el valor de nuestra integral. Por lo
tanto, para que nuestro error cuadrtico sea mnimo, deberemos buscar que la curva r(ak )2 sea
los ms parecida al eje de abscisas. (Esta definicin es similar a la vista para ajuste de curvas.)
Para ello, vamos a derivar la funcin E(ak ) respecto de los coeficientes ak para obtener
los valores de dichos coeficientesn que hagan mnimo el error cuadrtico, tal como hicimos para
el caso de un ajustse discreto. Entonces tendremos:
#2
Z b" n
E (a0 ; a1 ; . . . , an ) X
=0 f (x) ak xk dx = 0.
aj aj a
k=0
b
b Z b
xk+j+1 bk+j+1 ak+j+1
Z
k+j k+j
x dx = x dx =
a k + j + 1 a a k+j+1
La matriz que se genera a partir del coeficiente anterior es conocida como matriz de
Hilber t, que es una matriz mal condicionada. Como en el caso anterior de ajuste discreto, al
tener una matriz mal condicionada, el sistema es muy sensible a los cambios en los datos, o
modificaciones de la matriz de coeficientes, es decir, es muy sensible a los errores inherentes.
Un segundo problema, en este caso operativo, es que si por algn motivo se desea agregar
un trmino ms al polinomio, hay que recalcular el sistema (agregar una columna y una fila), lo
que significa mucho trabajo adicional. Y nada asegura que los nuevos resultados estn exentos
de errores. De todos modos, contamos con mtodo muy potente para ajustar funciones pero con
inconvientes operativos en el planteo numrico. Podemos buscar la forma de mejorarlo. Veamos
como.
Cul sera la mejor matriz de coeficientes para resolver un sistema de ecuaciones lineales?
Evidentemente, aquella que independice cada incgnita de las otras. O sea, que la matriz de
coeficientes sea una matriz diagonal. Supongamos modificar levemente la expresin del polinomio
de aproximacin por la siguiente:
n
X
P (x) = ak k (x),
k=0
que conceptualmente es muy parecido a lo anterior. Pero con una diferencia: ahora podemos tomar
cualquier funcin para definir nuestras funciones k (x) y por lo tanto, tambin nuestros j (x).
Busquemos entonces que nuestra matriz de coeficientes se convierta en una matriz diagonal. Y
cmo lo logramos? Sencillamente estableciendo que se cumpla lo siguiente:
Z b
0 si k 6= j
k (x)j (x)dx = ,
a M >0 si k=j
donde M es un valor cualquiera. Por supuesto, lo ideal sera que M = 1. Esta condicin que
deben cumplir las k (x) asegura que las funciones sean ortogonales. En consecuencia, nuestra
matriz de coeficientes ser diagonal.
No hemos dicho nada an acerca de las funciones k (x). Como estamos tratando de
aproximar una funcin cualquiera, una buena idea es proponer que esas funciones sean tambin
polinomios. Para hallar estos polinomios ortogonales entre s, debemos agregar una segunda
condicin que es agregar una funcin de peso. Esta funcin de peso tiene por objeto asignar
diferentes grados de importancia a las aproximaciones de ciertas partes del intervalo. En esta
situacin tenemos:
#2
n
Z b "
E (a0 ; a1 ; . . . , an ) X
=0 w(x) f (x) ak k (x) dx = 0,
aj aj a
k=0
Como hemos dicho, la funcin de peso en el caso de los polinomios de Legendre es w(x) = 1 y el
intervalo [1; 1], por lo que las expresiones quedan como sigue:
Existe un segundo conjunto de polinomios ortogonales muy utilizados que son los poli-
nomios de Chebishev. Tambin se generan aplicando las expresiones generales ya vistas, pero con
1
una funcin de peso (w(x)) diferente: w(x) = 1x 2
.
Captulo 6
2
f (x) = seno x .
b
f (x + h) f (x)
f 0 (x)
h
b
Para hallar la derivada en nuestro punto x = 6 con b = 6 adoptemos el valor h = 0, 1.
As tendremos que
2
0 f (1, 1) f (1) seno 6 1, 1 seno 3
f (1) =
0, 1 0, 1
0, 9135 0, 8660
f 0 (1) = 0, 4750
0, 1
Podemos ver que nuestra aproximacin es razonable pero no muy buena, y que el error
cometido es del orden del 10 %. Como no estamos conformes con el resultado obtenido, pro-
ponemos otro algoritmo para hallar el valor buscado. Este algoritmo es
f (x) f (x x)
f 0 (x)
x
o, como tambin suele escribirse
f (x) f (x h)
f 0 (x)
h
Hallemos ahora el valor de la derivada utilizando este nuevo algoritmo. El resultados es
2
f (1) f (0, 9) seno seno 0, 9
f 0 (1) = 3 6
0, 1 0, 1
0, 8660 0, 8090
f 0 (1) = 0, 5700
0, 1
De nuevo, el valor obtenido no es una aproximacin muy buena, siendo el error cometido
del orden del 8 %. Una vez ms, tampoco estamos demasiado conformes con el resultado que nos
arroj este algoritmo y proponemos este otro
f (x + x) f (x x)
f 0 (x)
2x
o tambin:
f (x + h) f (x h)
f 0 (x)
2h
f (x + h2 ) f (x h2 )
f 0 (x)
h
buscando mejorar la aproximacin del resultado buscado. Reemplazando tendremos:
seno 2
2
0 f (1, 05) f (0, 95) 6 1, 05 seno 6 (0, 95)
f (1) =
0, 1 0, 1
0, 8910 0, 8387
f 0 (1) = 0, 5230
0, 1
El resultado es una mejor aproximacin pero no se nota una gran diferencia con respecto
al anterior, puesto que el error cometido es del orden de 0,1 %. Pero sin lugar a dudas, este ltimo
algoritmo es mucho mejor.
Esta forma de aproximar la derivada en un punto se conoce como aproximacin por
diferencias, y se pueden clasificar segn tres tipos:
1. Diferencias progresivas: cuando la derivada en un punto se aproxima segn la expresin
vista en primer trmino, o sea:
f (x + h) f (x)
f 0 (x) = ;
h
h h2 h3
f (x + h) = f (x) + f 0 (x) + f 00 (x) + f 000 (x) + . . . ;
1! 2! 3!
de la cual podemos despejar f 0 (x), que es
h2 h3
f 0 (x)h = f (x + h) f (x) f 00 (x) f 000 (x) . . . ;
2! 3!
f (x + h) f (x) h h2
f 0 (x) = f 00 (x) f 000 (x) . . . .
h 2! 3!
n
Si nuestro h es suficientemente pequeo, entonces los h para n 2 se pueden despreciar.
Finalmente tendremos que
f (x + h) f (x) h f (x + h) f (x)
f 0 (x) = f 00 () = + O(h);
h 2! h
con [x; x + h]. En este caso, nuestra aproximacin tiene un orden de convergencia O(h).
Si repitamos el proceso para el esquema de diferencias regresivas, tendremos que
h h2 h3
f (x h) = f (x) f 0 (x) + f 00 (x) f 000 (x) + . . . .
1! 2! 3!
Como en el caso anterior, la expresin final ser
f (x) f (x h) h f (x) f (x h)
f 0 (x) = + f 00 () = + O(h).
h 2! h
Al igual que en lo visto anteriormente, el orden de convergencia es O(h).
Finalmente, hagamos lo mismo para el esquema de diferencias centradas. En este caso
tendremos que
h h2 h3
f (x + h) = f (x) + f 0 (x) + f 00 (x) + f 000 (x) + . . . ;
1! 2! 3!
h h 2 h3
f (x h) = f (x) f 0 (x) + f 00 (x) f 000 (x) + . . . .
1! 2! 3!
Si hacemos f (x + h) f (x h) nos queda
h h3
f (x + h) f (x h) = 2f 0 (x) + 2f 000 (x) + . . . .
1! 3!
Si despejamos f 0 (x) de esta expresin, nos queda
f (x + h) f (x h) h2 f (x + h) f (x h)
f 0 (x) = f 000 () = + O(h2 ),
2h 3! 2h
h5
f (x + 2h) f (x 2h) 8f (x + h) + 8f (x h) = 12f 0 (x)h + 48f v (x) + ....
5!
De esta ltima expresin podemos despejar f 0 (x), que resulta ser:
f (x 2h) 8f (x h) + 8f (x + h) f (x + 2h) h4
f 0 (x) = + 4f v (x) + . . . ;
12h 5!
y si truncamos en h4 , nos queda:
f (x 2h) 8f (x h) + 8f (x + h) f (x + 2h) h4
f 0 (x) = + 4f v () .
12h 5!
con [x 2h; x + 2h] y un orden de convergencia O(h4 ). Con esta ltima expresin podemos
decir que una aproximacin de la primera derivada en un punto esta dada por:
f (x 2h) 8f (x h) + 8f (x + h) f (x + 2h)
f 0 (x) .
12h
Ahora, apliquemos este nuevo esquema centrado para calculas la derivada buscada, con
la misma representacin numrica utilizada en los casos anteriores. Tomemos el paso h = 0, 1
con el que obtendremos:
E(h) = K1 h + K2 h2 + K3 h3 + . . . .
qM M = qN1 (h2 ) N1 (h1 ) + qK1 (h2 h2 ) + qK2 h22 qh22 + qK3 h32 q 2 h32 + . . .
De la misma forma que para el caso anterior, obtenemos una nueva aproximacin para
M
(q 2 1)N2 (h2 ) N2 (h2 ) N2 (h1 ) q 2 K30 h32 (q 1)
M= + + + ...
q2 1 q2 1 q2 1
N2 (h2 ) N2 (h1 ) q 2 K30 h32
M = N2 (h2 ) + + + ....
q2 1 q+1
| {z }
N3 (h1 )
Este mtodo o algoritmo para mejorar una aproximacin se conoce como Extrapolacin de
Richardson. Veremos ms adelante una aplicacin de este mismo mtodo asociado a la inte-
gracin numrica.
Un caso particular muy usado es cuando q = 2, cuya expresin general se define como:
Este algoritmo permite aproximar una derivada numrica con poco esfuerzo y teniendo en cuenta
la inestabilidad del algoritmo porque no requiere dividir por nmeros excesivamente pequeos.
Apliquemos este mtodo al ejemplo inicial y calculemos la derivada de f (x) = seno 3 x
en x = 1 con el algoritmo de diferencias progresivas.
Armemos una tabla para aplicar el algoritmo anterior de modo de visualizar fcilmente
cada uno de los pasos. En primer lugar, vamos definir que la primera aproximacin, es decir, N1 (h)
sea la derivada calculada numricamente con h, que ocupar la primera columna. Usaremos la
expresin:
f (x + h) f (x) seno (x + h) seno 3x
f 0 (x) = 3
.
h h
Las dems columnas sern N2 (h), N3 (h) y N4 (h). En segundo lugar, tomaremos varios
valores de h, por lo tanto tendremos varias filas con diferentes aproximaciones de la derivada
buscada. Para cada caso calcularemos las aproximaciones con la frmula de la Extrapolacin de
Richardson:
Nj1 h2 Nj1 (h)
h
Nj (h) = Nj1 + .
2 2j1 1
En la tabla 6.1 podemos los resultados obtenidos al aplicar la extrapolacin de Richardson
a nuestro ejemplo.
Analicemos rpidamente los resultados obtenidos. La primera columna contiene los re-
sultados de aproximar la derivada con varios h diferentes. Vemos que a pesar de utilizar un h
relativamente pequeo (h = 0, 025) nuestra aproximacin inicial no es muy buena.
La segunda columna es nuestra primera aplicacin de la extrapolacin de Richardson,
usando los valores de la primera columna. A primera vista se puede observar que la aproxi-
macin es muy superior a la anterior. Algo similar ocurre en la tercera. Finalmente, en la cuarta,
la aproximacin final resulta ser casi el valor exacto para una representacin de cuatro (4) dec-
imales. Y si comparamos con la aproximacin para h = 0, 025, ltima fila de la primera columna,
vemos que es muy superior. Si quisiramos obtener una aproximacin similar, deberamos traba-
jar con ms decimales, puesto que para h = 0, 01 el valor de f 0 (1) es 0,5200, que si bien tiene dos
decimales correcto, es menos preciso que el hallado con Richardson, que resulta ser casi correcto
hasta el cuarto decimal.
En las figuras 6.3, 6.4 y 6.5 se pueden ver algunas de las aproximaciones de la pendiente
en el punto dado en cada paso.
Si bien aplicamos este mtodo para obtener una derivada numrica, puede aplicarse para
cualquier caso que cumpla la condicin:
M = N (h) + K1 h + K2 h2 + K3 h3 + . . . .
que desarrollar uno nuevo. En todo caso, la segunda opcin sera utilizar los polinomios de
Taylor o alguna aproximacin polinomial que utilice la informacin disponible (puntos adyacentes
o aledaos). Si bien esta aproximacin puede ser laboriosa, queda ampliamente justificada al
disminuir la incidencia del error de redondeo en los clculos, sobre todo al no tener que dividir
por un nmero muy pequeo.
Los desarrollos vistos para el caso de aproximar una primera derivada pueden extrapolarse
para derivadas de orden superior. Un ejemplo de ello es la aproximacin centrada de la segunda
derivada en un punto dado, cuya expresin es:
f (x h) 2f (x) + f (x + h)
f 00 (x) = .
h2
que se obtiene de considerar los polinomios de Taylor para x h y x + h:
h h2 h3
f (x + h) = f (x) + f 0 (x) + f 00 (x) + f 000 (x) + ...;
1! 2! 3!
h h2 h3
f (x h) = f (x) f 0 (x) + f 00 (x) f 000 (x) + ....
1! 2! 3!
Sumando ambas expresiones se obtiene:
h4
f (x + h) + f (x h) = 2f (x) + f 00 (x)h2 + f iv (x) + ...;
12
f (x h) 2f (x) + f (x + h) h2
f 00 (x) = f iv
[] ,
h2 12
con [x h; x + h).
Observemos que el error cometido al calcular la derivada segunda con la expresin dada
es proporcional a h2 y a f iv (), es decir, similar al caso de la expresin centrada para la primera
derivada. Podemos asegurar que en el caso de polinomios de grado 3 o inferior, o que no exista
la derivada cuarta, la derivada segunda obtenida en forma numrica, es exacta.
Mediante razonamientos anlogos o similares pueden obtenerse algoritmos para calcular
derivadas numricas de orden superior.
con ci < y xi [a; b]. Los puntos xi se denominan puntos de cuadratura (o races) y los
valores ci , coeficientes de cuadratura o de peso. Asimismo, se define el error de la cuadratura
como En (f ) = I(f ) Qn (f ).
Definicin 6.2. Una cuadratura numrica tiene grado de precisin m si En (xk ) = 0 para
k = 0; 1; . . . ; m y En xm+1 6= 0.
Observacin 6.2.1. Si una cuadratura numrica tiene grado de precisin m, entonces En (pk ) =
0 para todo polinimio pk (x) de grado menor o igual a m (k m).
Para empezar, podemos hacer dos aproximaciones muy groseras como se puede apreciar
en las figuras 6.7(a) y 6.7(b):
En la aproximacin de la figura 6.7(a), vemos que el rea obtenida es mucho menor que el
rea buscada. En cambio, en la 6.7(b), podramos suponer que la aproximacin obtenida del rea
es similar o mayor. Podemos ver que si el rea en color claro se compensa con el rea en color
oscuro excedente, entonces estaramos obteniendo una buena aproximacin. Si esto no fuera as,
entonces obtendramos una rea por defecto (la parte oscura es menor que la parte clara) o por
exceso (la parte oscura es mayor a la parte clara).
Estas dos aroximaciones se pueden expresar matemticamente como:
Qn (f ) = f (a)(b a);
En este caso particular, no parece que esta aproximacin sea mejor, puesto que hay un
rea excedente en color claro. La expresin matemtica para este ltimo caso es:
f (b) + f (a)
Qn (f ) = (b a).
2
Vamos a generalizar estas tres expresiones. Definamos h = b a, y escribamos cada una
de las expresiones de la siguiente forma:
Para saber si nuestras aproximaciones son buenas, estimemos el error que cometemos
en cada una. Primeramente, analicemos cualquiera de los dos mtodos que aproximan por un
rectngulo. Si desarrollamos f (x) respecto del punto a mediante una serie de Taylor, tenemos
que
(x a)2
f (x) = f (a) + f 0 (a)(x a) + f 00 (a) + ....
2
Para obtener la integral basta con integrar la serie tambin. Entonces tenemos
Z b Z b Z b Z b
0 (x a)2
f (x)dx = f (a)dx + f (a)(x a)dx + f 00 (a) dx + . . . .
a a a a 2
el rea aproximada es mayor que el rea buscada, lo que significa que obtendremos un valor por
exceso.
La aproximacin usando parbolas de segundo grado es la conocida frmula de Simpson,
cuya expresin matemtica es:
h a+b
Qn (f ) = f (a) + f (b) + 4 f .
3 2
Analicemos el error que se comete con esta nueva expresin. Tomemos nuevamente nuestro
a+b
desarrollo de Taylor pero a partir del punto x1 = y cortemos la expresin en la derivada
2
cuarta. Entonces nos queda
(x x1 )2 (x x1 )3 (x x1 )4
f (x) = f (x1 ) + f 0 (x1 )(x x1 ) + f 00 (x1 ) + f 000 (x1 ) + f iv (1 ) ,
2 6 24
con 1 [a, b].
Si integramos nuevamente nos queda
Z b Z b Z b Z b
(x x1 )2
f (x)dx = f (x1 )dx + f 0 (x1 )(x x1 )dx + f 00 (x1 ) dx +
a a a a 2
Z b Z b
(x x1 )3 (x x1 )4
+ f 000 (x1 ) dx + f iv (x1 ) dx
a 6 a 24
b b
0 (x x1 )2 00 (x x1 )3
= f (x1 )(b a) + f (x1 ) + f (x1 ) +
2 a 6 a
4
b 5
b
(x x1 ) (x x1 )
+f 000 (x1 ) + f iv ()
24
a 120 a
Si nos fijamos en la definicin de cuadratura podemos ver que hemos definido para cada
caso un valor de ci y un valor de xi , que son los siguientes:
con lo cual podemos escribirlos segn la forma general definida como cuadratura numrica:
n
X
Qn (f ) = ci f (xi ) ;
i=1
Frmulas compuestas
Supongamos que en lugar de utilizar la frmula del rectngulo con el paso h = b a,
dividimos ese intervalo en intervalos ms chicos. Empecemos por definir un nuevo paso como
h = ba
2 . Ahora podemos aproximar la integral con dos subintervalos, tanto por defecto como
por exceso, que resultan ser [a; a + h] y [a + h; b], con los cuales se obtienen las siguientes
aproximaciones:
Qn (f ) = h f (a) + h f (a + h);
o
Qn (f ) = h f (a + h) + h f (b).
Ambas aproximaciones se pueden ver en las figuras 6.10(a) y 6.10(b). La primera es una
aproximacin francamente por defecto, en cambio, en la segunda tenemos una primer intervalo
con una aproximacin por exceso y otro intervalo por defecto; en conjunto podemos inferir que
la aproximacin resulta ser por exceso.
Podemos hacer un desarrolo similar con la frmula del trapecio. Si tomamos el mismo
paso, y por ende, los mismos subintervalos, tendremos:
h h h
Qn (f ) = [f (a) + f (a + h)] + [f (a + h) + f (b)] = [f (a) + 2f (a + h) + f (b)] .
2 2 2
La aproximacin obtenida se puede ver en el figura 6.11, que resulta ser una aproximacin por
defecto.
Veremos, ahora, como podemos generalizar las expresiones de los mtodos para n subin-
tervalos. Si dividimos el intervalo ba en n intervalos tendremos las frmulas cerradas compuestas
de Newton-Cotes, que son las siguientes:
Rectngulos:
n1
X
Qn (f ) = h f (a + i h),
i=0
"n1 #
X
Qn (f ) = h f (a + i h) + f (b) ,
i=1
ba
con h = n ;
Trapecios:
n1
" #
h X
Qn (f ) = f (a) + f (b) + 2 f (a + i h) ,
2
i=1
ba
tambin con h = n ; y
Simpson:
n1 n
( )
h X X
Qn (f ) = f (a) + f (b) + 2 f (a + 2i h) + 4 f [a + (2i 1) h]
3
i=1 i=1
ba
con h = 2n .
b a iv b a iv
E(h) = f ()h4 = M h4 , con M = f (),
180 180
con [a; b]. Si bien se trata de una mejora en la precisin, la misma no es demasiado significa-
tiva, pues el orden de convergencia sigue siendo O(h4 ).
Sin embargo, esta metodologa tiene una desventaja. A medida que achicamos el paso
aumentamos notablemnte la cantidad de operaciones que se deben realizar, lo que significa ms
tiempo de procesamiento. Esto no siempre es prctico; por ejemplo, dividir el intervalo para
Simpson en 100 subintervalos representa un esfuerzo de clculo que no siempre mejora la precisin
del resultado en el mismo sentido. Puede ocurrir que nuestra representacin numrica nos limite
el tamao del paso h, lo que nos impide afinar el paso todo lo necesario. Algo similar puede
ocurrir con las otras frmulas.
Por otro lado, toda vez que querramos afinar nuestro clculo reduciendo el paso h, debe-
mos calcular prcticamente todo otra vez, pues salvo los valores de la funcin en los extremos
del intervalo, el resto de los valores no suelen ser tiles (salvo excepciones). Cambiar el paso no
suele tener costo cero. Busquemos, en consecuencia, otra forma para obtener resultados ms
precisos sin tener achicar el paso, incrementar demasiado las cantidad de operaciones a realizar
o repetir todos los clculos.
Mtodo de Romberg
Como primer paso para desarrollar un mtodo ms eficiente que mejore nuestros resulta-
dos, analicemos el error que se comete al aplicar cualquiera de las frmulas de cuadratura vistas
en los puntos anteriores. En forma general, la aproximacin se puede expresar de la siguiente
forma:
b n
Z bX b n
f (n) [(x)] Y
Z Z
I(f ) = f (x)dx = f (xi )Li (x)dx + (x xi )dx
a a i=1 a n!
i=1
n Z b n
X 1 Y
= ci f (xi ) + f (n) [(x)] (x xi )dx;
n! a
|i=1 {z } i=1
Qn (f )
Rectngulos: E1 (f ) = ba
2 f 0 () h.
Trapecios: E2 (f ) = ba 00 2
12 f ()h .
Simpson: E3 (f ) = ba iv 4
90 f ()h .
Podemos notar que las aproximaciones mediante cualquiera de las frmulas vistas se
pueden expresar como:
M = N (h) + K1 h + K2 h2 + K3 h3 + . . . ;
lo que nos permite aplicar el mtodo de extrapolacin de Richardson, visto para diferenciacin
numrica. La adaptacin de este mtodo a la integracin se conoce como mtodo de Romberg.
Para explicarlo, aplicaremos la extrapolacin de Richardson al mtodo compuesto de los trapecios.
Recordemos la frmula del mismo:
n1
" #
h X
Qn (f ) = f (a) + f (b) + 2 f (a + i h) ;
2
i=1
y con esta nueva frmula vamos a obtener los distintos Rk,1 . En efecto, para k = 1 tenemos que
h1 ba
R1,1 = [f (a) + f (b)] = [f (a) + f (b)] ,
2 2
con h1 = b a. Para el caso de k = 2 tenemos que
h2
R2,1 = [f (a) + f (b) + 2f (a + h2 )]
2
ba ba
= f (a) + f (b) + 2f a +
4 2
1 h
" z }| { #
1 ba ba
= (f (a) + f (b)) + 6 2f (a + h2 )
2 | 2 {z } 62
R1,1
1
= [R1,1 + h1 f (a + h2 )] ,
2
ba ba
con h2 = . Anlogamente, para k = 3, h3 = y, entonces
2 4
h3 n o
R3,1 = f (a) + f (b) + 2 f (a + h3 ) + f (a + 2h3 ) + f (a + 3h3 )
2 |{z}
h2
ba
= {f (a) + f (b) + 2f (a + h2 ) + 2 [f (a + h3 ) + f (a + 3h3 )]}
8
1
= {R2,1 + h2 [f (a + h3 ) + f (a + 3h3 )]} .
2
Si generalizamos para todos los k, tenemos que
k2
2X
1
Rk,1 = Rk1;1 + hk1 f [a + (2i 1)hk ] .
2
i=1
Cada uno de estos Rk,1 son aproximaciones de nuestro valor buscado. Para refinar estos
resultados podemos aplicar, ahora s, la extrapolacin de Richardson con q = 4. Por lo tanto
tendremos que:
Rk,1 Rk1;1
Rk,2 = Rk,1 + ;
41 1
con k = 2; 3; . . . ; n. Si generalizamos, obtenemos la siguiente expresin:
Rk,j1 Rk1;j1
Rk,j = Rk,j1 + ;
4j1 1
con k = 2; 3; . . . ; n y j = 2; 3; . . . ; k. Al aplicar este mtodo, generamos una tabla como la 6.2,
donde cada Rk,j es una mejor aproximacin del resultado, siendo la mejor el Rn,n .
La ventaja de este mtodo es que permite calcular una nueva fila con solo hacer una
aplicacin de la frmula compuesta del trapecio y luego usar los valores ya calculados para
obtener el resto de los valores de las dems columnas de esa nueva fila; no requiere recalcular
todo.
Una cuestin a tener en cuenta al aplicar este mtodo, es que supone que la frmula
compuesta del trapecio permite la aplicacin de la extrapolacin de Richardson, esto es, se debe
cumplir que f (x) C 2(k+1) [a, b]; si esto no se cumple, no tiene sentido seguir afinando el resultado
hasta la iteracin k. Si generalizamos, es evidente que una funcin f (x) que cumpla con tener
infinitas derivadas continuas en el intervalo [a; b], es una funcin a la cual resulta muy conveniente
aplicarle el mtodo de Romberg.
Al igual que en los casos anteriores, se puede desarrollar una frmula compuesta, similar
a la frmula compuesta del rectngulo pero tomando los puntos medios de los subintervalos.
Sin embargo, la idea principal de las frmulas abiertas no est relacionada con tomar
puntos de un intervalo segn un paso uniforme sino en determinar los puntos para efectuar
la integracin eligindolos de una manera inteligente. Qu significa inteligente? Analicemos
brevemente la frmula del punto medio. Al elegir dicho punto y no los extremos del intervalo,
suponemos que el rectngulo que queda formado aproxima mejor la integral buscada. Si dividimos
este intervalo en varios subintervalos ms pequeos, tendremos la frmula compuesta. As y todo,
estamos algo limitados.
Podramos avanzar en la idea y desarrollar una frmula similar para el mtodo de Simp-
son, es decir, crear una curva que no pase por los extremos y nos permita obtener una buena
aproximacin. Pero de todas maneras tenemos la misma limitante: debemos trabajar con puntos
equidistantes 1 . Esto puede llevar a que debamos utilizar las frmulas compuestas con muchos
trminos para alcanzar aproximaciones razonables. Veamos en el punto siguiente un mtodo
de integracin que explota la idea de las frmulas abiertas de Newton-Cotes eligiendo puntos
inteligentemente.
n
X
Qn (f ) = ci f (xi ) .
i=1
Supongamos ahora que elegimos una curva que pase por ciertos puntos y que aproxime
la integral de la funcin dada, usando la frmula de cuadratura. Una curva de ese tipo se ve en
la figura 6.14.
Elegiremos como puntos crticos aquellos en los que la funcin se intersecta con la curva
de aproximacin. Estos sern nuestros puntos inteligentes. El problema es elegir la curva ms
conveniente. Por ejemplo, en la figura 6.14 se eligi una parbola, por lo tanto, se tienen dos
puntos que se intersectan con la funcin. Podramos haber utilizado una recta, una parbola
cbica, etc.
Supongamos ahora que definimos un intervalo fijo de integracin, por ejemplo, el [1, 1].
Debemos determinar para ese intervalo los puntos xi y los coeficientes ci para nuestra frmula
de cuadratura, esto es, debemos definir los puntos x1 ; x2 ; . . . ; xn y los coefcientes c1 ; c2 ; . . . ; cn .
En consecuencia, tenemos 2n incgnitas que debemos obtener. Si recordamos que un polinomio
de grado 2n 1 tiene 2n coeficientes (por ejemplo, un polinomio de tercer grado tiene la forma
a0 + a1 x + a2 x2 + a3 x3 ), podramos decir que hallar esos parmetros para nuestra frmula de
cuadratura es equivalente a obtener los coeficientes de ese polinomio de grado 2n 1.
Gauss defini estos polinomios que permiten aproximar la integral en el intervalo [1; 1]
dependiendo de la cantidad de puntos que se deseen utilizar. Estos polinomios son ortogonales y
1
Recordemos que la base de la integracin numrica es la interpolacin polinmica, que se vuelve inestable
cuando los puntos usados estn separados uno de otro en forma equidistante.
P0 (x) = 1 P1 (x) = x
1 1
P2 (x) = (3x2 1) P3 (x) = (5x3 3x)
2 2
1 dk 2
Pk (x) = k (x 1)k .
2 k! dxk
Calculando la raz de cada polinomio se obtienen los puntos xi y con estos puntos, los coeficientes
ci . En la tabla 6.3 se dan algunos los valores de las races y los coeficientes, de acuerdo con la
cantidad de puntos que se utilicen para aproximar la integral.
n xi ci
1 x1 = 0.0000000000 c1 = 2.0000000000
2 x1 = 13 = 0.5773502692 c1 = 1.0000000000
x2 = 13 = 0.5773502692 c2 = 1.0000000000
3 x1 = 0.7745966692 c1 = 0.5555555556
x2 = 0.0000000000 c2 = 0.8888888889
x3 = 0.7745966692 c3 = 0.5555555556
4 x1 = 0.8611363116 c1 = 0.3478548451
x2 = 0.3399810436 c2 = 0.6521451549
x3 = 0.3399810436 c3 = 0.6521451549
x4 = 0.8611363116 c4 = 0.3478548451
5 x1 = 0.9061798459 c1 = 0.2369268850
x2 = 0.5384693101 c2 = 0.4786286705
x3 = 0.0000000000 c3 = 0.5688888889
x4 = 0.5384693101 c4 = 0.4786286705
x5 = 0.9061798459 c5 = 0.2369268850
Este mtodo es muy til cuando lo que queremos aproximar son integrales de funciones
polinmicas, puesto que los resultados son exactos cuando g 2n1. Si el intervalo de integracin
no es [1; 1], basta con hacer un cambio de coordenadas. Por ejemplo, si se tiene la siguiente
integral:
Z b
I(f ) = f (x) dx
a
debemos hacer la siguiente transformacin lineal para poder aproximar con cuadratura de Gauss:
ba ba 1
Z
b+a
x= t+ ; I(f ) = f (t) dt.
2 2 2 1
El error cometido al aplicar la cuadratura de Gauss en el intervalo [1; 1] est dado por
22n+1 (n!)4
E= f 2n (),
(2n + 1)[(2n)!]2
donde n es el nmero de puntos utilizados y [1, 1]. Si ampliamos el mtodo al intervalo
[a; b], tenemos que el error est dado por
(b a)2n+1 (n!)4 2n
E= f (),
(2n + 1)[(2n)!]2
con o in[a, b]. Vemos que en ambos casos el error cometido es proporcional a la derivada de
orden 2n. Por ejemplo, si n = 2 entonces el error cometido es proporcional a la derivada cuarta
(f iv ()), pues tenemos
Al igual que para los mtodos anteriores, podemos pensar en un mtodo compuesto para
Gauss. Efectivamente, si dividimos el intervalo [a; b] en subintervalos ms pequeos, podemos
utilizar la cuadratura de Gauss en esos subintervalos, con la correspondiente transformacin
lineal, e inclusive usar un aproximacin con n no mayor a 3, con excelentes resultados.
En definitiva, podemos obtener una aproximacin de una integral mltiple, en este caso
doble, mediante la aplicacin del mtodo del trapecio en dos dimensiones. Tambin aplicando
el mtodo de Simpson podemos obtener una aproximacin de dicha integral. En este caso, la
expresin es
Z dZ b
hx h y
f (x; y) dx dy f (a; c) + f (a; d) + f (b; c) + f (b; d) +
c a 9
c+d c+d a+b a+b
+4 f a; + f b; +f ;c + f ;d +
2 2 2 2
a+b c+d
+16 f ; ,
2 2
donde hx = ba dc
2 y hy = 2 . Si reemplazamos esto ltimo en la expresin general y adems
definimos x0 = a, x1 = a+b c+d
2 ,x2 = b, y0 = c, y1 = 2 e y2 = d, tenemos que
dZ b
(b a)(d c)
Z
f (x; y) dx dy {f (x0 ; y0 ) + f (x0 ; y2 ) + f (x2 ; y0 ) + f (x2 ; y2 ) +
c a 36
+4 [f (x0 ; y1 ) + f (x1 ; y0 ) + f (x1 ; y2 ) + f (x2 ; y1 ) + 4f (x1 ; y1 )]}.
El error cometido por aproximar la integral mediante esta frmula est dado por:
" #
(b a)(d c) 2 2 f (; ) 2 )
2 f (;
ET = hx + hy (Mtodo del trapecio),
12 x2 y 2
" #
(b a)(d c) 4 4 f (; ) 4 )
4 f (;
ES = hx + hy (Mtodo de Simpson),
90 x4 y 4
que, como podemos observar, son muy parecidos a los vistos para el caso de integrales simples.
Estos mtodos tambin se pueden modificar para obtener las frmulas compuestas, simi-
lares a las vistas anteriormente. (Para ms detalles, vase [1].)
As como hemos aplicado los mtodos de trapecio y de Simpson, lo mismo podemos hacer
con la cuadratura de Gauss. Si aplicamos el mismo razonamiento para integrar segn x tendremos
que
Z b n
baX
f (x; y) dx ci f (xi ; y).
a 2
i=1
dZ b d n
baX
Z Z
f (x; y) dx dy ci f (xi ; y) dy
c a c 2
i=1
n Z
baX d
ci f (xi ; y) dy
2 c
i=1
n m
baXdcX
ci cj f (xi ; yj )
2 2
i=1 j=1
n m
badc XX
ci cj f (xi ; yj )
2 2
i=1 j=1
n X m
(b a)(d c) X
ci cj f (xi ; yj ),
4
i=1 j=1
con
ba b+a
xi = ti +
2 2
dc d+c
yj = tj + ,
2 2
donde ti y tj son las races de los polinomios de Legendre, y ci y cj , los coeficientes de peso.
Por ejemplo, si tomamos n = m = 2 tenemos que t1 = 13 , t2 = 13 y c1 = c2 = 1, y la
aproximacin nos queda como
dZ b
(b a)(d c)
Z
f (x; y) dx dy [f (x1 ; y1 ) + f (x1 ; y2 ) + f (x2 ; y1 ) + f (x2 ; y2 )] .
c a 4
con
ba 1 b+a ba 1 b+a
x1 = + x2 = + ,
2 3 2 2 3 2
y
dc 1 d+c dc 1 d+c
y1 = + y2 = + .
2 3 2 2 3 2
Podemos ver que con este mtodo solamente tenemos que evaluar la funcin a integrar
en cuatro puntos, en cambio, con el mtodo de Simpson debemos evaluar la misma funcin en
nueve puntos. Este mtodo es muy utilizado por el Mtodo de los Elementos Finitos para obtener
integrales dobles.
Captulo 7
dV p
= Ah 2gh.
dt
Si definimos V = Aw h, entonces la expresin anterior se puede escribir como
dh Ah p
= 2gh.
dt Aw
La mayora de los libros toma el caso del pndulo como el ejemplo tradicional de las
ecuaciones diferenciales ordinarias con valores iniciales. El modelo matemtico que representa
este fenmeno est dado por:
d2 g
2
= sen(),
dt L
donde g es la aceleracin de la gravedad, L, la longitud del pndulo, y , el ngulo del pndulo
respecto de la vertical. Este ejemplo suele linealizarse para el caso de ngulos muy pequeos,
pues se cumple que sen() = tan() = , y la ecuacin diferencial queda
d2 g
2
= .
dt L
Un ejemplo de la ingeniera civil es la ecuacin del esfuerzo normal en una barra, que se
define como
dN
= t(x);
dx
donde t(x) es una carga uniformemente distribuida en el eje de la barra.
En lo que sigue veremos, primero, las condiciones para que la solucin de una ecuacin
diferencial ordinaria tenga solucin nica, y en segundo trmino, varios mtodos para resolver
numricamente este tipo de ecuaciones.
Teorema 7.1. Sea f (t, y) continua en D, tal que D = {(t, y)|a t b; y +}. Si
f (t, y) satisface la condicin de Lipschitz en D en la variable y, entonces el problema de valor
inicial
dy
= f (t, y) con a t b e y(a) = y0
dt
tiene solucin nica y(t) para a t b.
Para cualquier > 0, existe una constante positiva k() con la propiedad de que siempre
que |0 | < y (t) es continua, con (t) < en [a; b], el problema tiene solucin nica z(t),
es decir,
dz
= f (t, z) + (t) con a t b e z(a) = y0 + 0 ,
dt
con
|z(t) y(t)| < k() ,
para toda a t b.
En definitiva, un problema est bien planteado si una perturbacin del problema origi-
nal no cambia la esencia del mismo. El siguiente teorema define la condicin de problema bien
planteado.
h2
y(t + h) = y(t) + y 0 (t) h + y 00 (t) + ... .
2
Como y 0 (t) = f (t, y) podemos modificar la expresin anterior para escribirla de la siguiente
forma:
h2
y(t + h) = y(t) + f (t, y) h + y 00 (t) + . . . .
2
ba
Dado que nuestro entorno de la solucin est dado por [a; b], definamos el paso h como h = ,
N
donde N es el nmero de intervalos. Con esto podemos definir que ti+1 = ti + h y que t0 = a y
tN = b. Con esto podemos escribir que
h2
y(ti+1 ) = y(ti ) + h f [ti ; y(ti )] + y 00 (t) + ... .
2
h2
y(ti+1 ) = y(ti ) + h f [ti ; y(ti )] + y 00 (i ) ,
2
con i [ti ; ti+1 ].
Puesto que lo que buscamos es una aproximacin de y(ti ), defininamos esta aproximacin
como wi y(ti ). Entonces nuestra expresin nos queda como
wi+1 = wi + h f (ti ; wi ),
h2
y(ti ) = y(ti + h) f [ti + h; y(ti + h)] h + y 00 (ti + h) + ... .
2
Nuevamente, como ti+1 = ti +h, y despejando y(ti+1 ) limitando otra vez la expresin a la segunda
derivada, tenemos que
h2
y(ti+1 ) = y(ti ) + h f [ti+1 ; y(ti+1 )] y 00 (i ) ,
2
con i [ti ; ti+1 ].
En forma anloga, lo que en realidad buscamos es una aproximacin de y(ti+1 ), por lo
tanto tendremos la siguiente expresin:
es decir, obtenemos una primera aproximacin de wi+1 con el mtodo explcito, que llamaremos
, que luego usaremos para obtener una nueva aproximacin de w
wi+1 i+1 , que corrige la anterior.
Este mtodo se conoce como mtodo predictor-corrector de Euler .1
1
Este mtodo no suele estar incluir en los libros de texto, posiblemente porque no mejora la aproximacin de
una manera significativa.
Si bien los mtodos de Euler son bastante sencillos de implementar, los resultados que
se obtienen no son buenas aproximaciones de nuestro problema. De ah que, a pesar de que son
sencillos de implementar, generalmente no son aplicados. Se los usa solamente como introduccin
a los mtodos numricos y para el anlisis del error.
En efecto, para analizar el error, consideremos estos dos lemas:
2. Si s y t son nmeros reales positivos, {ai }ki=0 es una sucesin que satisface a0 t/s, y se
cumple que
ai+1 (1 + s)ai + t, para cada i = 0; 1; 2; . . . ; k,
entonces
(i+1)s t t
ai+1 e a0 + .
s s
Teorema 7.3. Sea f (t, y) continua, que satisface la condicin de Lipschitz con la constante L
en
D = {(t, y)|a t b; y +},
y existe una constante M , tal que |y 00 (t)| M para toda t [a; b]. Si y(t) es la solucin nica
del problema de valor inicial dado por
dy
= f (t, y) con a t b e y(a) = y0 ,
dt
y los w0 , w1 , . . . , wN son las aproximaciones a nuestra funcin, obtenidas por el mtodo de Euler,
entonces se cumple que
M h L(ti a) i
|y(ti ) wi | e 1 .
2L
La demostracin de este teorema se puede ver [1].
El error que acabamos de analizar es el error global, pues hemos estimado una cota del
error entre el valor real (o exacto) y la aproximacin por un mtodo numrico. Sin embargo, los
mtodos numricos suelen definirse segn el error local, es decir, el error entre dos iteraciones
sucesivas. Este error, en el mtodo de Euler, est dado por:
y(ti+1 y(ti )
eL = f [ti ; y(ti )].
h
Como vimos, el mtodo explcito de Euler se puede obtener a partir de una desarrollo de
Taylor, del cual resulta que
h2 00 h2
y(ti+1 ) = y(ti ) + hy 0 (ti ) + y (ti ) + . . . = y(ti ) + hf [ti ; y(ti )] + f 0 [ti ; y(ti )] + . . . ;
2 2
por lo tanto
y(ti+1 ) y(ti ) h 0
f (ti ) = f [; y()]
h 2
h 0
eL = f [; y()],
2
con [ti ; ti+1 ], lo que muestra que el error local del mtodo de Euler es O(h), es decir, son de
orden 1.
h2 00 h3 hn (n)
y(ti+1 ) = y(ti ) + h y 0 (ti ) + y (ti ) + y 000 (ti ) + . . . + y (ti ).
2! 3! n!
Como adems tenemos que
d y(t)
= y 0 (t) = f (t; y), y y(ti ) = yi ,
dt
el desarrollo por Taylor lo podemos escribir de la siguiente manera:
h2 0 h3 hn (n1)
y(ti+1 ) = y(ti ) + h f (ti ; yi ) + f (ti ; yi ) + f 00 (ti ; yi ) + . . . + f (ti ; yi ),
2! 3! n!
Es decir, podemos armar un esquema para obtener los y(ti+1 ) a partir de un polinomio de Taylor,
calculando las derivadas totales de la funcin f (t; y). El error que se introduce en este esquema
es el primer trmino que dejamos de considerar, que en nuestro caso es
hn+1 (n)
E= f [; y()] con [ti ; ti+1 ],
(n + 1)!
y como el error local est dado por
y(ti+1 ) y(ti )
eL = f [ti ; y(ti )];
h
para este caso queda definido como
hn
eL = f (n) [; y()],
(n + 1)!
con [ti ; ti+1 ]. Estos mtodos se conocen como mtodos de Taylor de orden superior, pues
podemos definir el orden de convergencia igual a n, siempre que al menos f (t; y) Cn1 [a; b].
Podemos ver que el mtodo de Euler es un caso particular del mtodo de Taylor para n = 1.
Tambin podramos armar mtodos de Taylor de orden superior implcitos, aunque de
escasa utilidad, dado que deberamos transformar algebraicamente el algoritmo para obtener una
formulacin explcita.
Teorema 7.4. Sea f (t; y) Cn+1 D con D = {(t; y)|a t b, c y d}, y sea (t0 ; y0 ) D.
Entonces, para toda (t; y) D, existe [t0 ; t] y [y0 ; y] con
tal que
f (t0 ; y0 ) f (t0 ; y0 )
Pn (t; y) = f (t0 ; y0 ) + (t t0 ) + (y y0 ) +
t y
(t t0 )2 2 f (t0 ; y0 ) 2 f (t0 ; y0 )
+ + (t t 0 )(y y 0 ) +
2! t2 t y
(y y0 )2 2 f (t0 ; y0 )
+ + ... +
2! y 2
n n
1 X n f (t0 ; y0 )
+ (t t0 )nj (y y0 )j nj j ,
n! j t y
j=0
y
n+1
1 X n + 1 n+1 f (; )
Rn (t, y) = (t t0 )n+1j (y y0 )j n+1j j .
(n + 1)! j t y
j=0
w0 = y0
h h
wi+1 = wi + h f ti + ; wi + f ti ; wi ,
2 2
para i = 0; 1; 2; . . . ; n 1.
w0 = y0
hn o
wi+1 = wi + f (ti ; wi ) + f [ti + h; wi + hf (ti ; wi )] ,
2
para i = 0; 1; 2; . . . ; n 1.
w0 = y0
hh i
wi+1 = wi + f ti ; wi +f ti+1 ; wi+1 ,
2
para i = 0; 1; 2; . . . ; n 1.
w0 = y0
i
h h 2 2
wi+1 = wi + f ti ; wi +3f ti + h; wi + h f (ti ; wi ) ,
4 3 3
para i = 0; 1; 2; . . . ; n 1.
Paralelamente, los mtodos del punto medio y de Crank-Nicolson pueden obtenerse tam-
bin integrando la funcin f (t; y) en el intervalo [ti ; ti+1 ], aplicando las reglas del rectngulo y
del trapecio respectivamente. As, si partimos de la siguiente expresin
Z ti+1
y(ti+1 ) = y(ti ) + f (t, y)dt,
ti
w0 = y0
k1 = hf (ti ; wi )
h 1
k2 = hf ti + ; wi + k1
2 2
h 1
k3 = hf ti + ; wi + k2
2 2
k4 = hf ti + h; wi + k3
1
wi+1 = wi + (k1 + 2k2 + 2k3 + k4 ) ,
6
para i = 0; 1; 2; . . . ; n 1.
El mtodo de Runge-Kutta de orden 4 tiene un error local de truncamiento O(h4 ), siempre
que la funcin y(t) tenga al menos cinco derivadas continuas.
Este mtodo es tan preciso, que programas como el MatLab
r
y el Mathcad
r
tienen
r
desarrollados distintas funciones que aplican este mtodo. Por ejemplo, Mathcad cuenta con
la funcin rkfixed(y;x1 ;x2 ;npoints;D) que resuelve ecuaciones diferenciales de orden uno
utilizando dicho mtodo, en la cual y es el valor inicial, x1 y x2 son los extremos del intervalo,
x2 x1
npoints es la cantidad de intervalos, y entonces h = , y D es la funcin f (x, y) que
npoints
debemos resolver.
Mtodos de Adams
Los mtodos de Adams son mtodos de paso mltiple muy utilizados. Se dividen en dos
grupos: los mtodos explcitos, o de Adams-Bashforth, y los mtodos implcitos, o de Adams-
Moulton.
En ambos casos, la idea es usar los puntos wi ; wi1 ; . . .;wi+1p para obtener el wi+1 ,
en el caso de los mtodos de Adams-Bashforth, en tanto que en los de Adams-Moulton se usan
los wi+1 ; wi ; wi1 ; . . .;wi+2p , donde p es el orden de convergencia. As, un mtodo de Adams-
Bashforth de orden 2 usa los puntos wi y wi1 , en tanto que un mtodo de Adams-Moulton usa
los puntos wi+1 y wi . Veamos como obtener algunos de estos mtodos.
Para obtener el mtodo de Adams-Bashforth de orden 2 partimos de la expresin
Z ti+1
y(ti+1 ) = y(ti ) + f (t, y)dt.
ti
Al igual que en el caso de los mtodos de Runge-Kutta de orden dos, armemos un poli-
nomio interpolante, pero en este caso, utilizando el mtodo de Newton de diferencias divididas
regresivas, para aproximar f (t; y). As, nos queda que
f ti ; y(ti ) f ti1 ; y(ti1 )
f (t; y) f ti ; y(ti ) + (t ti )
t t
i i1
f ti ; y(ti ) f ti1 ; y(ti1 )
f ti ; y(ti ) + (t ti ).
h
Al integrar el polinomio interpolante obtenemos
Z ti+1 f ti ; y(ti ) f ti1 ; y(ti1 )
f (t, y)dt h f ti ; y(ti ) + h .
ti 2
hh i
3f ti ; y(ti ) f ti1 ; y(ti1 ) .
2
y si reemplazamos en la expresin inicial, tenemos
hh i
y(ti+1 ) = y(ti ) + 3f ti ; y(ti ) f ti1 ; y(ti1 ) .
2
h
wi+1 = wi + [55f (ti ; wi ) 59f (ti1 ; wi1 ) + 37f (ti2 ; wi2 ) 9f (ti3 ; wi3 )]
24
h
wi+1 = wi + 9f (ti+1 ; wi+1 ) + 19f (ti ; wi ) 5f (ti1 ; wi1 ) + f (ti2 ; wi2 ) ,
24
para i = 4; 5; . . . ; n 1 y donde w1 = w1 , w2 = w3 y w3 = w3 los obtenemos usando RK O4.
En general, suelen ser ms precisos los mtodos de Adams-Moulton que los de Adams-
Bashforth. El de Adams-Moulton de orden 4 entrega resultados muy parecidos, en precisin, al
mtodo de Runge-Kutta de orden 4. Sin embargo, por una cuestin de sencillez al momento
de programar, los paquetes de software prefieren incluir este ltimo y no el mtodo de Adams-
Moulton de orden 4.
podemos aplicar un mtodo como el Runge-Kutta de orden cuatro, pero con algunas transforma-
ciones para poder adaptarlo al problema que debe resolverse. Estas transformaciones requieren
un cambio de variable, como por ejemplo:
d2 y
= f (t, y, y 0 ), en [a, b];
dt2
y(a) = ; y 0 (a) = .
Nuevamente, para resolver esta ecuacin lo que debe hacerse es transformar la ecuacin
diferencial en un sistema de dos ecuaciones diferenciales de primer orden, por medio de un cambio
de variable, como y 0 = z. Con este cambio de variable, teniendo en cuenta que lo que buscamos es
una aproximacin de y que llamaremos u, por lo que tambin se cumple que u0 = z, el esquema
de resolucin queda:
u0 (t) = z(t)
z 0 (t) = f (t, u, z)
A partir de aqu, se debe resolver el par de ecuaciones en forma simultnea para poder
obtener el valor de u(t) buscado. Si, por ejemplo, aplicamos el mtodo de Euler para resolver las
ecuaciones diferenciales de primer orden, el esquema iterativo queda de la siguiente manera:
ui+1 = ui + h z(t)
zi+1 = zi + h f (ti , ui , zi ),
con el cual obtenemos en cada paso el nuevo valor de u(t) y de ddtu representado por z(t).
En general, las ecuaciones diferenciales de orden dos o superior no son de valores iniciales
sino de valores de contorno o frontera. Es decir, no disponemos de todos los valores para t = a,
sino que tenemos valores para t = a y t = b. Por lo tanto, la ecuacin diferencial est dada por:
d2 y
= f (t, y, y 0 ), en [a, b];
dt2
con las condiciones en los extremos del intervalo:
y(a) = ; y(b) = .
Con estas condiciones no es posible utilizar los mtodos estudiados en forma directa,
como el de Euler o los de Runge-Kutta, an transformando la ecuacin diferencial en un sistema
de ecuaciones diferenciales. En consecuencia, debemos buscar otra forma para aproximar nuestra
ecuacin diferencial y obtener los resultados de la funcin y(t).
Es necesario analizarlo con ms detalle el procedimiento para resolverlas? Como dato
importante, basta mencionar que buena parte de los problemas que debemos resolver los inge-
nieros, ya sean civiles, mecnicos, electrnicos,etc., estn expresados en trminos de ecuaciones
diferenciales de orden superior. Un ejemplo que suele ser muy usado es el caso de la ecuacin
diferencial de equilibrio para una viga, dada por la expresin:
d4 w
EI p(x) = 0.
dx4
que requiere de cuatro condiciones de contorno para ser resuelta. Estas condiciones pueden ser:
1. Condiciones de borde esenciales (Dirichlet);
Este es el tpico caso de condiciones de borde esenciales o forzadas, puesto que las res-
tricciones estn asociadas a los desplazamientos y los giros en los extremos de la viga. Esta
ecuacin no es posible resolverla aplicando en forma directa los mtodos mencionados anterior-
mente. En consecuencia, para poder aproximar una solucin, debemos buscar alguna forma de
adaptar los mtodos vistos para tener en cuenta estas condiciones de frontera o de contorno.
Veremos a continuacin dos mtodos que pueden usarse para resolver este tipo de ecua-
ciones diferenciales. Empezaremos por el ms sencillo, el mtodo del disparo lineal, que hace uso
de los mtodos ya estudiados.
Ejemplo
Resolver la siguiente ecuacin diferencial ordinaria con valores de frontera, aplicando el
mtodo de Euler:
y 00 = 4(y x); 0 x 1;
con los valores de contorno:
y(0) = 0; y(1) = 2.
Para resolver la ecuacin por el mtodo de Euler plantearemos primero que y 0 (x) = z(x),
con lo que tendremos que la ecuacin diferencial se transforma en:
y 0 (x) = z(x)
z 0 (x) = 4(y x)
Si aplicamos el mtodo de Euler, y hacemos ui = y(xi ) tendremos las siguientes ecua-
ciones:
ui+1 = ui + h zi
zi+1 = zi + h 4(ui xi )
Como vemos, debemos resolver dos ecuaciones para obtener el valor de ui+1 . Por ello,
en primer trmino, vamos a resolver el sistema obteniendo, primero, valores para unas funciones
v1 (x) y adoptando las siguientes condiciones iniciales:
v1 (0) = 0; z1 (0) = 0
por lo que el sistema a resolver ser:
v1i+1 = v1i + h z1i
z1i+1 = z1i + h 4(v1i xi )
En segundo trmino, haremos lo mismo pero para las funciones v2 (x) y z2 (x) = v20 (x)
con los valores de contorno levemente distintos. Estos son:
v2 (0) = 0; z2 (0) = 1,
y el sistema a resolver ser:
v2i+1 = v2i + h z2i
z2i+1 = z2i + h 4(v2i xi )
Con los valores para cada una de las soluciones y por cada iteracin, calcularemos los
valores definitivos mediante la expresin:
y(1) v1 (1)
ui = v1i + [v2 y(0)]
v2 (1) y(0) i
En la tabla 7.1 podemos ver los resultados obtenidos.
En la penltima columna podemos ver el valor exacto de la funcin buscada, dado que
la solucin analtica de la ecuacin diferencial es:
1 2x
y(x) = e2 e4 1 e e2x + x.
Los valores de u(xi ) obtenidos no son muy precisos, dado que el mtodo utilizado para
resolver el sistema de ecuaciones es el de Euler, pero igualmente sirven como demostracin de la
efectividad al aplicar este mtodo. Podemos ver que la ltima columna muestra el error absoluto
entre el valor obtenido numricamente y el valor exacto. Observemos que el error cometido es,
del orden de 101 , un error razonable para este mtodo. (Recordemos que el mtodo de Euler
tien un error O(h).)
h2 00 h3 h4
y(xi+1 ) = y(xi + h) = y(xi ) + hy 0 (xi ) + y (xi ) + y 000 (xi ) + y (iv) (i+ ),
2 6 24
para alguna i+ en (xi ; xi+1 ), y
h2 00 h3 h4
y(xi1 ) = y(xi h) = y(xi ) hy 0 (xi ) + y (xi ) y 000 (xi ) + y (iv) (i ),
2 6 24
para alguna i en (xi1 ; xi ). Dems est decir que se supone que y(x) C 4 [xi1 ; xi+1 ]. Si
sumamos ambas expresiones y despejamos y 00 (xi ), tendremos:
1 h2 h (iv) + (iv)
i
y 00 (xi ) = [y(xi+1 ) 2y(xi ) + y(xi1 )] y (i ) + y (i ) .
h2 24
Si aplicamos el teorema del valor medio, podemos simplificar la expresin a:
1 h2 (iv)
y 00 (xi ) = [y(xi+1 ) 2y(xi ) + y(xi1 )] y (i ),
h2 12
para alguna i en (xi1 ; xi+1 ).
por lo tanto, para cada i tenemos una ecuacin lineal. Definamos, entonces, el intervalo o paso
h como ba
N siendo N > 0; de esta manera obtendremos N intervalos para i [0; N ]. Con i y h
podemos armar nuestro sistema de ecuaciones para i [1; N 1]. La matriz resultante ser:
1 2(1 + 2h2 )
1 0 0 ... 0
0
1 2(1 + 2h2 ) 1 0 ... 0
A = ... .. .. .. .. .. .. .
. . . . . .
0 ... 0 1 2(1 + 2h ) 2 1 0
0 ... 0 0 1 2(1 + 2h2 ) 1
Si hacemos que yi = y(xi ) tendremos que nuestras incgnitas son:
y0
y1
..
y = . .
yN 1
yN
Nuestro vector de trminos independientes ser:
4h2 x1
4h2 x2
B= ..
.
.
4h2 xN 2
4h2 xN 1
Pero hemos armado un sistema con N 2 filas y N incgnitas yi . Para completar el
sistema debemos recordar que y0 = y yN = , por lo que nuestro sistema de ecuaciones
lineales quedar como:
1 0 0 0 0 ... 0 y0
1 2(1 + 2h2 ) 1 0 0 ... 0 y1 4h2 x1
0
1 2(1 + 2h2 ) 1 0 ... 0 y2 4h x2
2
.. .. .. .. .. .. .. . ..
.. = .
.
. . . . . . .
0 ... 0 2
1 2(1 + 2h ) 1 2
0 yN 2 4h xN 2
0 ... 0 0 1 2(1 + 2h2 ) 1 yN 1 4h2 xN 1
0 0 0 0 ... 0 1 yN
Armemos el sistema definitivo con x [0; 1], y(0) = y0 = 0, y(1) = yN = 2 y N = 10.
Con estos parmetros tendremos que h = 10 10 = 0, 1. Entonces, en la matriz A tendremos el
coeficiente (adems de 1):
2 1 + 2(0, 1)2 = 2 (1 + 0, 02) = 2, 04;
Bibliografa
[1] Burden, R.L. & Faires, J.D. Anlisis Numrico. Sexta Edicin, International Thomson, 1998.
[2] Gavurin, M.K. Conferencias sobre los mtodos de clculo. Editorial Mir, 1973.
[3] Goldberg, D. What every Computer Scientist should know about Floating-Point Arithmetic.
ACM Computing Surveys, March 1991.
[4] Gonzlez, H. Anlisis Numrico, primer curso. Primera Edicin, Nueva Librera, 2002.
[5] Higham, N.J. Accuracy and Stability of Numerical Algorithms. SIAM, 1996.
[6] Higham, N.J. How accurate is Gaussian Elimination. Numerical Analysis 1989, Proceedings
of the 13th Dundee Conference, volume 228 of Pitman research Notes in Mathematics.1990.
[7] Higham, N. J. The numerical stability of barycentric Lagrange interpolation. IMA Journal
of Numerical Analysis. 2004.
[8] Marshall, G. Solucin numrica de ecuaciones diferenciales, Tomo I. Editorial Revert S.A.,
1985.
[9] Saad, Y. Iterative Methods for Sparse Linear Systems. Second Edition, 2000.
[10] Samarski, A.A. Introduccin a los mtodos numricos. Editorial Mir, 1986.
[11] Shewchuk, J. R. An introduction to the Conjugate Gradient Method without the agonizing
pain. Edition 1 41 . School of Computer Science. Carnegie Mellon University.
[12] Trefethen, L.N. The Definition of Numerical Analysis. SIAM News. November 1992.
[14] Trefethen, L.N. & Berrut, J.P. Barycentric Lagrange Interpolation. 2004.
[15] Zill, D. G. Ecuaciones diferenciales con aplicaciones de modelado. Sptima Edicin, Inter-
national Thomson, 2002.