Está en la página 1de 195

Hernn Gonzlez

Anlisis numrico
PRIMER CURSO

10
-

i co

nueva librera

ndice general

Captulo I. Errores en el Clculo Numrico 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Introduccin Definiciones Primarias Fuentes de error y error final Error absoluto, error relativo y cota del error Propagacin de errores inherentes Representacin de nmeros Errores de redondeo en operaciones aritmticas en punt flotante 1.8 Clculo de la propagacin de errores inherentes y de redondeo utilizando la grfica de un proceso 1.9 Clculo de l;i propagacin de errores inherentes y clt! icdundco iitiii/ando los nmeros de condicin 1.10 Errores do truncamiento y de discretizacin 1.11 Error total, aplicaciones y recomendaciones generales Ejercicios 1 5 6 8 12 24 36 38 49 61 65 72 77 77 78 82 103 106

Capitulo II. lgebra lineal numrica 11.1 Introduccin 11.2 Conceptos bsicos de lgebra Lineal 11.3 Mtodos directos para resolver sistemas de ecuaciones lineales 11.4 Matrices especiales II ! Mtodos iterativos .

xiv

Anlisis numrico. Primer curso

ndice general

xv

11.6 Errores en la resolucin de sistemas de ecuaciones lineales Ejercicios Captulo III. Ecuaciones no lineales 111.1 Introduccin 111.2 Aproximaciones iniciales. Mtodos de arranque 111.3 Error de truncamiento en la resolucin de ecuaciones no lineales 111.4 Mtodos de refinamiento 111.5 Races Mltiples 111.6 Sistemas de ecuaciones no lineales 111.7 Error total en la resolucin de ecuaciones no lineales Ejercicios Captulo IV. Aproximacin o ajuste de funciones IV.1 Conceptos bsicos IV.2 Aproximacin de funciones por cuadrados mnimos IV.3 Polinomios como funciones aproximantes o de ajuste IV.4 Polinomios ortogonales IV.5 Funciones Spline IV.6 Mtodos simples para derivar frmulas de interpolacin IV.7 Diferencias finitas y su aplicacin a interpolacin IV.8 Algunas frmulas de interpolacin IV.9 Propagacin de errores en la interpolacin IV.10 Extrapolacin Repetida de Richarson Ejercicios Captulo V. Integracin y Diferenciacin Numrica V.1 Reglas simples de integracin V.2 Algunas dificultades y formas de solucionarlas

118 140 145 145 146 153 158 179 180 181 189
193

V.3 Otros mtodos de integracin numrica V.4 Error total en la integracin numrica V.5 Diferenciacin numrica Ejercicios Captulo VI. Resolucin numrica de ecuaciones diferenciales ordinarias VI.1 VI.2 VI.3 VI.4 Introduccin Problemas a Valores Iniciales. Mtodos de paso simple Problemas a Valores Iniciales. Mtodos de paso mltiple Resolucin de Sistemas de Ecuaciones Diferenciales Ordinarias de Primer Orden y Problemas de Orden Superior VI.5 Mtodos Directos para la resolucin de Problemas a Valores Iniciales de Segundo Orden VI.6 Problemas a Valores de Contorno Ejercicios Bibliografa

283 289 293 297

301

301 312 331 348 361 366 374 383

193 196 202 212 215 222 232 241 256 265 270 273 273 281

CAPTULO I

Errores en el Clculo Numrico

I.l Introduccin
La aproximacin es un concepto central en casi todos los usos de las maicmticas. A menudo debemos contentarnos con valores aproximados de las cantidades con las que trabajamos. Otro tipo de aproximacin se da cuando ignoramos algunas cantidades que son pequeas comparadas con las restanU's. listas aproximaciones son muchas veces necesarias para asegurar que el Iratainicnto m a t n n l i u ) y numrico de un problema no se torne extrema'I.menle complicado. Para definir OHK rplos elementales que manejaremos a lo largo de nuestro trabajo, vamos a plantearnos un problema muy simple, y para resolverlo supondremos poseer una muy limitada capacidad de instrumentos: Debemos determinar la altura de un cerro, teniendo como datos la distan11.1 desde cierto punto de nivel cero a la base de su cumbre ( d( A , B ) ) , determinada con cierta aproximacin, y el valor de n con una cierta cantidad de ilcitos. Los instrumentos que poseemos son un teodolito, una calculadora sin I I I I H iones cientficas, lpiz y papel.

Anlisii numrico. Primer curso

Errores en el clculo numrico

ilr los polinomios que resultan, sabiendo que los errores cometidos sern m> nores a las cotas halladas. Este tipo de error se identifica generalmente con 1 1 nombre de Error de Discretizacin o de Truncamiento. v) Estamos en condiciones de definir el Problema Numrico que aproxini.i ,1 nuestro problema matemtico (1.1):
A

a
= d(A,B)Podemos definir nuestro Problema Matemtico de la siguiente forma:
180

1-2)

d( B ,C ) = F( d( A,B } ,<x ) = d( A , B ) . tg( a )


Para resolverlo procederemos as:

( 1.1 )

1") Con nuestro teodolito mediremos el ngulo a en grados sexagesimales. Por supuesto, esta medicin se har con la precisin que permita el teodolito, o lo que es lo mismo, ir acompaada de un cierto error o incertidumbre. 2) Tendremos que calcular la tangente de a . Aqu no existe otra posibilidad que aproximar este nmero; utilizaremos para ello un Mtodo Matemtico, que tambin es un Mtodo Numrico y posiblemente el ms usado: la Frmula de Taylor, que expresamos en forma general:

f( x ) = I ( f"'(
n=0

lx-aj ) + f ( N + l '( a + 6 ( x - a ) ) (N+ 1 n!

, I6K 1

para una f( x ) que cumpla con ciertas condiciones de derivabilidad en un entorno del punto a. En este caso aplicaremos la frmula a las funciones seno y coseno para obtener la tangente como el cociente de ambos resultados. A esta altura de nuestro trabajo comprendemos que no podremos calcular los trminos complementarios en las frmulas para el seno y el coseno, por lo que solo nos queda acotar estos trminos y dar como resultado la evaluacin

4") En este momento debemos hacer las siguientes consideraciones: I.as cuentas se realizan utilizando solo una cantidad finita de dgitos, por 10 que cada una de ellas puede introducir un nuevo error, que llamaremos T.rror de Representacin o Redondeo; la suma de estos errores se manifestar i - i i el resultado final. Estos errores dependern de la cantidad de operaciones que realicemos I MI ,1 llegar a un cierto resultado y, como luego veremos, del orden en que ellas .e decten. El tipo de operaciones que se realicen para resolver un problema numrii (i, y el orden preciso de las mismas, se denomina Algoritmo. Se llaman Algoritmos Matemticamente Equivalente aquellos que para los mismos datos arrojan los mismos resultados, si las cuentas se hacen sin 11 mieter errores de redondeo. Resumiendo: dado el problema numrico ( 1.2 ), deberemos elegir el algor i lino ms conveniente para resolverlo, pues algoritmos matemticamente c(|iiivalentes, producen en la prctica resultados distintos. Kn el caso que tomamos como ejemplo, debemos evaluar los polinomios, y existen distintas formas de hacerlo: podramos evaluar cada potencia de x primero, luego multiplicar por el coeficiente correspondiente y luego sumar termino a trmino; la suma podramos hacerla en distintos rdenes, y luego veremos que en general, el resultado de una suma depende del orden de los MI mandos (no vale la propiedad asociativa). Pero tambin podramos translormar la expresin del polinomio, encontrando una expresin matemtica-;

Anlisis numrico. Primer curso

Errores en el edculo numrico

mente equivalente, pero m i u lio m.r. pie. ill .1...!' , I p u n i de visl.i numrico (esquema de Horner). 5") Finalmente evaluaramos el resultado m rl ,il|',oi i i m o circulo y encontraramos una estimacin del error ioi.il > ( m u - l u l o Estamos ahora en condiciones de anali/ar ( ualilaliv.menle |,r, pi m. ipales Fuentes de Error, y luego los Errores Propagados ,il l i n . i l de un p n u e s o de clculo. En cuanto a las Fuentes de Error, nos ocuparemos .le l.r. Mmenles tres: i ) ERRORES INHERENTES (El): Son los errores que ale, i.m .1 los dalos del problema numrico y pueden tener distintos orgenes, l'm ejemplo, pueden ser el resultado de la incertidumbre en cualquier medicin, como en nuestro ejemplo la que acompaa a los datos 'd(A , B) y . Pero tambin tendremos un error inherente al pretender ingresar en nuestra calculadora el v.ilor de TI , ya que usaremos solo una cantidad finita ce dgitos para representarlo, dando lugar a un error inherente por redondeo o representacin; t a m b i n un dato puede ser el resultado de un proceso de clculo anterior, por lo que estar afectado de un error final, que podr ser de cualquiera de los tipos que mencionaremos ms adelante. ii) ERRORES DE REDONDEO (ER): As denominaremos a los posibles errores de representacin que se produzcan al realizar cada clculo que indique nuestro algoritmo. iii) ERRORES DE DISCRETIZACIN O DE TRUNCAMIENTO (ED): Son los que se producen al pasar del problema matemtico al problema numrico, cuando este pasaje implica el truncamiento de un proceso de lmite, como en nuestro caso ocurre al despreciar el trmino complementario, suplantando una suma infinita por una finita, despreciando la cola de la serie. En cuanto al Error Final, podemos dividirlo tambin en tres partes de acuerdo a su origen: a) ERROK I N I l i ; m N I I I'KOPAGADO: Aun resolviendo "exactamente" el problema numei u o, esto es, suponiendo que no cometemos errores de representacin o redondeo al reali/ar las operaciones, la incertidumbre en los datos, o sea, los errores inherentes, producir una incertidumbre en los resultados. I,.i l o i m a en que se propaguen los errores inherentes quedar definida por el piolilema n u m e n . o , pues para realizar este anlisis supondremos que

no existen errores de redondeo, por lo que todos los algoritmos equivalentes darn los mismos resultados para los mismos datos. b) ERROR DE REDONDEO PROPAGADO: El error de redondeo final ser el producto de la propagacin de los errores de redondeo en los clculos y depender esencialmente del algoritmo que elijamos para resolver nuestro problema. c) ERROR DE DISCRETIZACIN O DE TRUNCAMIENTO: Es cualitativa y i uantitativamente el mismo que analizamos como fuente de error.

1.2 Definiciones Primarias


PROBLEMA MATEMTICO (PM): Es una descripcin clara y no ambigua de la conexin funcional entre los datos de entrada (variables independientes) y los datos de salida (resultado buscado). PROBLEMA NUMRICO (PN): Es una descripcin clara y no ambigua ile la conexin funcional entre los datos de entrada y los de salida. Los datos di- entrada y los de salida deben estar conformados por una cantidad finita de nmeros reales o complejos, y por lo tanto, pueden ser representados por vectores de espacios vectoriales de dimensin finita. La conexin funcional entre los datos de entrada y los de salida debe implicar una cantidad finita de opera i iones elementales realizables por computadora. Queda claro que todo problema numrico es un problema matemtico, IHTO la recproca no siempre es vlida. MTODO NUMRICO: Es un procedimiento comnmente til para Aproximar un problema matemtico con un problema numrico, o para rei l i u ir un problema matemtico a otro que pueda ser aproximado ms fcilmente por un problema numrico. ALGORITMO: Es, para un dado problema numrico, una descripcin < limpela y bien definida de una cantidad finita de operaciones elementales a 11 .>ves de las cuales es posible transformar los datos de entrada en los datos de

Anlisis numrico. Primer curso

Errores en el clculo numrico

Por operaciones elcmcnt.ilrs entendemos aquellas que el lenguaje computacional que cslemos usando tenga a n u e s l i a disposicin, incluyendo las funciones previstas por el mismo.

1.3 Fuentes de error y error final


Vamos a desarrollar en esta seccin los conceptos introducidos en la seccin 1.1.

I ) ) SIMPLIFICACIONES EN EL MODELO MATEMTICO: Son el resultado l e "idealizaciones" que nosotros hacemos en la mayora de las aplicaciones matemticas. Por ejemplo, para estudiar el perodo de un pndulo, suponemos que la masa de la cuerda es nula, que el rozamiento es despreciable, u el era. 1 ,a cuantificacin de este tipo de errores no est dentro de nuestros objenvos, ya que comenzaremos nuestro trabajo una vez planteado el problema matemtico. F.) ERRORES HUMANOS Y/O DE MQUINA: En todo trabajo numrico, podemos esperar errores de copiado, errores en los clculos previos, etctera. Debemos estar alertas ante la posibilidad que tablas impresas contengan i nores. Al usar computadoras podemos esperar errores de programacin, i 11 ores en los datos, errores de operacin y, muy rara vez, errores de mquina. I slos ltimos son excepcionales y su solucin est fuera de nuestro alcance. Hn cuanto a los errores humanos, solo diremos que un buen plan de tral>.i|o debe prever controles para evitarlos o disminuir significativamente la posibilidad de que ocurran.

Fuentes de error
A) ERRORES EN LOS DATOS DE ENTRADA: Vimos en 1.1 que los datos de entrada pueden estar afectados de errores de medicin, de representacin al almacenarlos en mquina o en caso de ser resultados de un problema anterior, de los errores finales correspondientes. En cualquier caso estos errores se denominan INHERENTES. B) ERRORES DE REDONDEO DURANTE EL CLCULO: Si nuestra mquina opera con t dgitos, el resultado de una operacin entre nmeros almacenados en ella tendr generalmente ms de t dgitos, y al ser guardado en memoria con solo t dgitos se cometer un error que llamaremos de Representacin o Redondeo. El efecto de estos redondees puede ser trgicamente notable para cierto tipo de algoritmos que llamaremos Inestables. C) ERRORES DE DISCRETIZACIN O TRUNCAMIENTO: Llamaremos preferentemente errores de truncamiento a los que se cometen al "truncar" un proceso i n f i n i t o , como hicimos en 1.1 al aproximar s e n ( x ) y cos(x) por sumas finitas. Y llamaremos error de disi ret/acin al que ocurre cuando una derivada es aproximada por un u n i e n t e de incrementos, o un.i ( m u ion no lineal es aproximada por una que si lo es, ele. Algunos autores ll.im.m ,i esle tipo de errores "errores de l i m u .milenio o analticos".

i.rrorfinal
Las fuentes de error analizadas en los puntos A ), B ), y C ) del apartado .interior, producen en el resultado final un error total que ya hemos analizado en 1.1. Para fijar ideas construiremos una tabla que sintetiza la situacin:

Anlisis numrico. Primer curso

Errores en el clculo numrico

CASO 1

El NULO

ER NULO

ED NULO: PM = PN NULO

ERROR FINAL

Antes que nada, notemos que estas definiciones tienen valor en funcin de Lis consecuencias que se desprenden de ellas, y no en s mismas, pues en la prctica toda vez que podamos calcular ea, podremos conocer "exactamente" <-I valor de a: a = a + e. En los hechos son raras y poco interesantes las veces en que conocemos a, y podemos calcular exactamente ea. La primera consecuencia de esta observacin es que normalmente trabajamos con cota^_deLerror; y la segunda es que para el error relativo usamos la aproximacin: er, = e /a = e,, / a 4.3).

II

NO NULO

NULO

NULO: PM = PN

Propagacin de errores inherentes. Dependen solo del PN. Propagacin del redondeo en las operaciones. Dependen del algoritmo. Error de discretizacin o de truncamiento.

III

NULO

NO NULO

NULO: PM = PN

IV

NULO

NULO

NO NULO: PM * PN

Figura 2.1

Los casos aqu considerados en general no se presentan aislados en la prctica, pero el error final se acota sumando las cotas obtenidas para cada tipo de error como es analizado en las seccin 1.11. El objetivo de las secciones siguientes es dar las herramientas para estimar los errores finales en los casos II y III, ya que los errores de discretizacin o truncamiento se estudian con recursos matemticos que suponemos conocidos y aplicaremos en cada caso particular.

que es buena si | ea | | a |. Pero por otro lado notemos que a pesar de no conocer el valor verdadero, el mismo "existe" (dentro de nuestros modelos matemticos), y por lo tanto ea y era existen y tienen signo. Muchas veces junto con una cota, podemos conocer el signo del error, y esto nos permitir obtener informacin ms precisa de la influencia del mismo en los clculos posteriores.
EJEMPLO 4.1

1.4 Error absoluto, error relativo y cota del error


Sea a, el v . i l . i le un.i u u l . i M i . i r m l i u l v -.(-.i . i , c l v.iloi i n c d u l o ( por nosotmv I V l m i m o s rniomc-v

Si el resultado de medir cierta longitud con una regla graduada hasta el milmetro es a = 3 mm, entonces | ea | < 1 mm, y | era | < 0.33 Pero si con la misma precisin medimos

ERROR ABSOLUTO IMi i: ERROR RELATIVO Dli a :

i., n,

a -a i /i

u ) 4,2 )
a = 1 m, entonces | ea | < 1 mm, y | era | < 0.001

10

Anlisis numrico. Primer curso

Errores en el clculo numrico

11

EJEMPLO 4.2 Supongamos querer evaluar z = x - y, sabiendo que x = 2, y = 1, |e x |<0.1 y |e y |<0.1. Entonces el menor valor que puede tener z es: 1.9 - 1.1 = 0.8 y el mayor 2.1 - 0.9 1.2, por lo que slo podemos afirmar que: z e [0.8,1.2 ] . Pero si adems supiramos que los errores ex y e son posititivos, podramos concluir que: 0 < x - x < 0 . 1 , d e donde x < x < x -f 0.1, o sea 2 < x < 2.1; de la misma forma resulta que 1 < y < 1.1, de donde resulta que el menor valor posible para z es 2 - 1.1 = 0.9 y el mayor es 2.1 - 1 = 1.1, de donde concluimos que
/ e f 0.9, 1.1 | .

0h ' i vamos el decimal que est en el lugar t + 1; s|es menor que 5, dejamos i H i d valor los primeros t decimales que tena; si este decimal es igual o M I u o que 5 le sumamos 10"' a nuestro valor, y luego tomamos losi plimeros I iln males que queden. (Cuando procedamos de alguna de estas dos maneras, diremos que nuestro i. MI I lado est escrito EXACTAMENTE CON SUS DECIMALES SIGNIFICATIVOS o est CORRECTAMENTE REDONDEADO. CONVENCIN 4.3 Supongamos que a est escrito exactamente con sus decimales significan vos; entonces: I") si fa i > 1, la cantidad de DGITOS SIGNIFICATIVOS de a coincide i un la cantidad de dgitos empleados para su representacin, y 2") si | a | < 1, la cantidad de DGITOS SIGNIFICATIVOS de a resulta de 11-.lar a la cantidad de dgitos empleados para su representacin, los ceros que estn a la izquierda del primer dgito distinto de cero. EJEMPLO 4.3 Supongamos que los nmeros que siguen estn escritos exactamente con, US decimales significativos, entonces: \, tiene dos decimales significativos y cinco dgitos significativos. x = 0.025, tiene tres decimales significativos y dos dgitos significativos. \, tiene cero decimales significativos y cinco dgitos significativos. Si x = 0.2489 + 0.6 10"4, entonces 0.2489 tiene tres decimales y tres dgitos significativos, por lo tanto: x = 0.249. Si x = 12.8974 0.4 10"3, entonces 12.8974 tiene tres decimales signiln ativos y cinco dgitos significativos, por lo tanto: x = 12.897.

Observemos que la informacin sobre el signo del error en los datos nos permiti obtener una cota "ms fina" para el error en los resultados. CONVENCIN 4.1

a = a e significa | a - a | < e , o sea a - e < a < + e , e>0


CONVENCIN 4.2 a tiene t decimales significativos |>i y solo $ | a - a |<k 10 ' (k puede tomar el valor 1 0.5; nosotros generalmente utilizaremos este ltimo). De ahora en adelante cuando el resultado de una operacin tenga ms de t decimales, pero slo sean significativos t de ellos, escribiremos este valor solamente con sus t primeros decimales si en la convencin anterior utilizamos k = 1; y si utilizamos k = 0.5 procederemos de la siguiente manera:

12

Anlisis numrico. Primer curso

Errores en el clculo numrico

13

CONVENCIN 4.4 De ahora en adelante salvo mencin en contrario, supondremos tener expresado todo valor aproximado a, exactamente con sus decimales signifcatiros, y podremos escribir a = a sin posibilidad de confusin, ya que la cantidad de decimales nos permite deducir una cota para el error de a.

Supongamos conocer X = [ x, , . . . , xn ]' y ex. = x - x , entonces si las y,(X) son suficientemente derivables, el desarrollo de Taylor de orden uno p;ira la funcin Y(X) nos conduce a: Y(X) =
y'

T ( X - X ) (5.1)

1.5 Propagacin de errores inherentes


Deduciremos ahora una frmula que nos permitir calcular la propagacin de un cierto error en los datos, al resultado de una serie de operaciones que consideraremos se realizan sin errores de redondeo. Esta tcnica nos permitir deducir en cualquier caso los errores finales del tipo II.

donde el segundo sumando indica el producto de la Matriz Jacobiana por el vector que indica la variacin de los datos respecto de los valores que usamos para realizar los clculos, y el tercer trmino es el resto del desarrollo de Taylor, y es de segundo orden con respecto a las variaciones de los datos. Por lo tanto si x- - x es suficientemente pequeo para todo i entre 1 y n, podemos escribir despreciando T( X - X ): i - 1,. .., m que escrita en trminos del error, significa: (5.3 Si | ex. | < r - , j = 1 , . . . , n , podemos decir que:
(5.4)

(5.2

Frmula general para estimar el error final debido a la propagacin de errores inherentes
Supongamos estar frente a un PROBLEMA NUMRICO expresado por la siguiente ley funcional: X -> Y = Y( X ), siendo X un vector de R" que representa n datos, e Y un vector de Rm que representa m resultados; entonces:

y,
donde en este caso "<" significa "menor o aproximadamente igual".

Y(X) =

y(X):R"->R,

Y(X): Rn -> R"

Si queremos una cota estricta, en lugar de las derivadas parciales debemos utilizar una cota de las mismas, y aplicando el Teorema del Valor Medio deducimos que si:
d 7,

Z ) | < M (j con i = 1 , . . . , m , j - 1 , . . . , n y | zk - xk| < rk , k = 1 , . . . , n entonces:

14

Anlisis numrico. Primer curso

Errores en el clculo numrico

15

I u manto al error relativo:


(5.5)
rv

= erx, , - ervx, +er x


2

x2

(5.9)

obteniendo de este modo una cota del error. Algunas veces, para simplificar la escritura usaremos "=" en lugar de "=" y "<" enlugarde"<". I'.I error relativo del producto es igual a la suma de los errores relativos de
I" 'l.llOS.

Propagacin del error en las operaciones elementales Suma y Resta


y( x, , x2 ) = x, x2 , entonces para el error absoluto tenemos
ev

I >i visin
X

y( x, , x2 ) = -^-, x2 5 O, de modo que para el error absoluto tenemos:


1 (x 2 ) z

(5.10)

= ex, x 2 =

^ (^ , x ,) e + ^- ^ ,- ) e x, + y ( x, x
2 xi
x,l

CfX,

L -

/ '

x2

xi

, finalmente

\a el error relativo:
(5.11 )

ex,x2

= eXieX2

(5.6)

Podemos decir que el error absoluto de una suma algebraica es igual a la suma algebraica de los errores absolutos. Para los errores relativos:

Hntonces podemos decir que el error relativo de un cociente es igual a la i ' .1.1 de los errores relativos de los datos.

U .1 i /.Cuadrada

x, x2

er

"2

(5.7)

y( x ) = Vx ,

x > 0;

Para el error absoluto resulta: Producto y( x, , x2 ) = x, x 2 , entonces para el error absoluto tenemos:
x, , o sea:
(5.8)

(5.12) y para el error relativo: iT = er = 0.5'er (5.13)

16

Anlisis numrico. Primer curso

Errores en el clculo numrico

17

CONVENCIN 5.1 Diremos que una operacin elemental es ESTABLE, si dada una cota para los errores inherentes relativos, los errores propagados relativos se mantienen acotados por un valor independiente de los datos de entrada. Vemos que el producto, el cociente y la raz cuadrada son operaciones estables, mientras que la suma y la resta son INESTABLES. EJEMPLOS EJEMPLO 5.1 Calcular con tres decimales correctos o significativos la siguiente expresin: x = a TC, siendo a =1.3134 De acuerdo a lo convenido, asumimos que 1.3134 est correctamente redondeado, por lo tanto su error absoluto inherente es menor o igual que 0.5 10 4 . Por otro lado el problema numrico planteado propagar los errores inherentes de acuerdo a la siguiente expresin: ' ' ex = -7ie U I 3 4 +1.3134 e,

le donde deducimos que usando n con cuatro decimales significativos y no Kmetiendo errores apreciables de redondeo en el producto, x tendr tres decimales correctos o significativos, o sea, como: 1.3134 3.1416 = 4.1261774, resulta x = 4.12617.74 0.0005, o mejor aun:

x = 4.126
EJEMPLO 5.2 Supongamos que los valores x = 2.00 e y = 3.00 estuvieran correctamente redondeados. Se pide determinar cotas para los errores propagados .ibsoluto y relativo del siguiente clculo: z = x sen( y/40 ) ( 40 es un valor exacto )

Debemos trabajar con todos los decimales posibles, de modo que sea conecto despreciar los errores de redondeo. Calculemos primero: 2 s e n ( 3 / 4 0 ) = 0.149859414 Estudiemos ahora el error propagado:

Tres decimales correctos o significativos significa de acuerdo a la Convencin 4.2, que el error absoluto del resultado obtenido debe ser menor o igual, en mdulo, a 0.5 10"3; por lo tanto nuestro objetivo es que: |ej < 3.15 0,5 10 4 + 1.3135 | ej < 0.5 10l

ez = sen( y / 40 ) ex + 1/40 x eos ( y / 40) e y ,


entonces para el error absoluto tenemos: Esta ltima desigualdad se cumplir si: I e7 I < 0.5 10'2 0.075 + 0.998 0.5 10'2 2/40 * 6.245 10'4, ,
C *r \^

71

0.5 10' 3 -0.5 10 4 3.15 _ - , . , , 1.3135


.01

in . 4
1U

18

Anlisis numrico. Primer cursn

Erro/Ufen el clculo numrico

19

y para el error relativo:

'"'' '

- "O 'I I ' W


/ o,n

>

De acuerdo a lo calculado, si un cxplii 11 nio el error, debemos escribir:

Un resultado ms preciso sern:

Debemos evaluar todas las expresiones e indicar cual es la que da el mejor resultado. Antes que nada, observemos que todas estas expresiones dan el mismo resultado si utilizamos para calcularlas el valor exacto de la raz cuadrada de dos. Pero si en lugar de la raz cuadrada de dos, ponemos un valor de x arbitrario, estas expresiones generan problemas numricos distintos, y cada uno de ellos propaga los errores inherentes en forma distinta. Debemos evaluar que problema numrico est "mejor condicionado", o sea, cual propaga en menor medida los errores inherentes para un x cercano a la raz cuadrada de dos. Primero convengamos que de acuerdo a los datos, debemos suponer una cota para el error en la raz cuadrada de dos de 0.5 10 ' . Ahora para cada expresin acotemos el error propagado en funcin del error en la raz, y luego calculemos z :

o.i'.o i< i i" '


HIMPLO 5.3

Debemos calcular la i ' x | > i r s u > i i

i)

|ej < 6 0.45 0.05 < 3.1 10~ 3 ;

teniendo para la MI/ * u.idud.i de .' vio <! v.iloi . i p K i x i n i . u l o 1.4. Podemos dq',ir s i r . i i i u n el v.ilor .ipioximado en la expresin dada, o en una cualquiera de las siguientes:

como 0.4h = 4.096 10', resulta que no podenos garantizar ningn decimal distinto de cero de este resultado.
t

> ' . ' , . ' . ' ' , . .

ii)

|ej < 6 2.4'70.05 < 6.55 10' 4 ;

)
(A/2+1

ionio 2.4"6 = 5.2327809 10 3, vemos que la situacin es similar ala^del caso .interior. , ,. ; mi |ej < 3 0.22 2 0.05 < 1.2 lO^ 2 , mientras que 0.23 = 8 10 3;

iii) iv)

( mno antes, no podemos afirmar nada acerca del resultado. (3 + 2V2)3 iv) |ej < 3 5.8-4 2 0.05 < 2.66 10 4; ahora 5.8 3 = 5.1252614 10'3,y

v) vi

z = 99 - 70 V2
z=

entonces podemos afirmar que z = 0.005

99 + 70 V2

20

Anlisis numrico. Primer curso

Errores en el clculo numrico Supongamos que como resultado de mediciones hemos obtenido:
.

21

v)

| e, | < 70 0.05 < 3.5, mientras que 99-70 1.4wl;<entonces no

podemos hacer ninguna afirmacin sobre z.


.:<" ' .'.; i'< i ' , ; . - '

z = 0.400 0.003,
L

y = 0.340 0.005

vi)

| e, | < 197 2 70 0.05 < 9.1 105, mientras que

Queremos evaluar I( z , y); qu incertidumbre debemos esperar en el resultado 1.398464? Debemos usar la frmula conocida para la propagacin de errores inherentes:

197"' = 5.0761421 10"3, pudiendo entonces afirmar que: ,. z = 0.005 Evidentemente, el problema numrico planteado en vi) es el que itps permite aproximar el resultado con el menor error inherente propagado. EJEMPLO 5.4 Disponemos de un algoritmo para evaluar la siguiente integral:
1 c

En este caso las derivadas parciales las obtendremos en forma aproximada, utilizando los cocientes de incrementos que nos permita calcular la tabla ilada: 1(0.41 ,0.34) - I (~ , 0.34) 0,39

-i

-2'6041

I(a,b) = I

o a + x-

~ dx
^L I (0.40 , 0.36) - I ( 0.40 . 0.32)

Utilizando el algoritmo para distintos valores de a y b obtuvimos:


1

ay

~wT

De donde obtenemos que | e, | < 0.011, y por lo tanto:


a
0.39 0.40 0.40 0.40 0.41

b
0.34 0.32 0.34 0.36 0.34

1.425032 1.408845

I( z , y ) - 1.4 0.5 10 ' suponiendo despreciables otros tipos de errores.

Perturbaciones experimentales
1.306464

i :iiti'in
1.372950

En problemas de clculo de cierta envergadura, las relaciones entre los <latos de entrada y los de salida pueden ser tan complicadas que resulte prohibitivo aplicar directamente las frmulas generales para la propagacin de errores inherentes. El Ejemplo 5.4 nos indica un camino emprico para estudiar la sensibilidad de los datos de salida con respecto a los errores en los datos de entrada, el de' las PERTURBACIONES EXPERIMENTALES: Realizamos los clculos varias

22

Anlisis numrico. Primer curso

Errores en el clculo numrico

23

veces, con datos de entrada perturbados, y estudiamos la relacin entre la perturbacin de los datos de entrada y la variacin de los datos de salida. Este clculo de perturbaciones no slo nos ayuda a estimar la propagacin de los errores inherentes, sino que muchas veces nos ayuda a comprender ms profundamente el problema. Ocasionalmente puede resultar difcil la interpretacin correcta de los resultados perturbados dado que los cambios en los datos de salida no dependen solamente del problema numrico, sino tambin del algoritmo utilizado, y los errores de redondeo propagados pueden diferir sensiblemente del problema original al problema perturbado. En estos casos resultar conveniente planear una serie de experimentos de perturbacin para separar las distintas fuentes de error. Una forma posible consiste en resolver ms de una vez el mismo problema numrico trabajando con distinta cantidad de dgitos en las operaciones. Queda claro que si la fuente dominante del error proviene del algoritmo, debemos cambiarlo por uno ms "estable". EJEMPLO 5. 5 Elaborar un programa computacional para evaluar la serie

Los resultados los obtuvimos en base al algoritmo que damos a continua< ion. Observemos que y( x ) = ln( 1 + x ). x xr y es el valor en donde queremos estimar el ln( 1 + x ). es el valor de la perturbacin relativa con respecto a x. es la aproximacin de ln( 1 + x ( 1 - xr ) ) que obtenemos. algoritmo 'aproximacin del l n ( l + x ( l - x r ) ) ' comienzo leer x , xr ; x = x*( 1 - xr ) ; . y = 0; ts = -1 ; para k desde 1 hasta 10 hacer ts = - ts*x ; * < >* y - y + ts/k ; < -- ' i finpara escribir 'x ='., x , 'y = ' , y , 'error relativo inherente', xr fin i .' ,.-

-.-i-

y ( x ) =1
n=l

Si construimos un programa en base al algoritmo anterior que opere sin rrrores de redondeo, y lo hacemos correr con los siguientes datos: M ,x _ n 0.4567 , =. ,r-7 .<) x = 0.4567 ... xr = ~ 2) x = 0.4567 xr = -10"3 4) x = 0.4567
;

donde x es un dato y lo tomaremos entre O y 0.5. Otra condicin es que debemos sumar una cantidad de trminos que garantice un error de truncamiento menor que 0.0001. Suponiendo que x est afectado de un error inherente relativo del orden de 0.5 10 4 , debemos determinar en cuanto afecta esto al resultado utilizando el programa desarrollado, y luego compararlo con el resultado terico. Siendo la serie de trminos alternados y decrecientes en mdulo, el error de truncamiento resultar en mdulo menor al mdulo del primer trmino despreciado, por lo tanto, si sumamos los primeros nueve trminos de la serie, dicho error resultar menor que:

,;

xr = 10'3

xr = -4 10'3

ni limemos los siguientes resultados: 1) y =0.376162 3) y = 0.375849 2) y =0.376475 4) y 0.377415

Si comparamos los casos 2), 3), y 4) con respecto al 1), observamos que la Iiriturbacin relativa en el resultado dividida la perturbacin relativa en el titilo, resulta para cada caso:

0.51( < 9.77 10'5 < 10'4 10

24

Anlisis numrico. Primer curso

Errores en el clculo numrico

25

2) ( 0.376162 - 0.376475 )/( 0.376162 ( -0.001 ) ) = 0.83 3) ( 0.376162 - 0.375849 )/( 0.376162 0.001 ) = 0.83 4) ( 0.376162 - 0.377415 )/( 0.376162 ( -0.004 ) ) = 0.83 La concordancia entre estos resultados es un hecho alentador; pero en este caso, considerando que estamos aproximando'el valor de ln( 1 + x ), podemos avanzar an ms, aplicando la frmula que estudiamos para estimar la propagacin de errores inherentes: erx , y para x = 0.4567 obtenemos:

Un sistema de numeracin posicio nal queda caracterizado por la base (B), que debe ser un nmero natural mayor o igual que dos, y por un conjunto de B smbolos que determinan el "alfabeto" del sistema de numeracin, debiendo representar los mismos los enteros de O a B - 1. La convencin para expresar un nmero en un sistema de este tipo es universal, y la ejemplificaremos usando B = 10 (nuestro conocido sistema decimal). En este caso el alfabeto est formado por los dgitos del O al 9, y si escribimos x = a M a M , ... a 0 , a , , a _ 2 . . . a N estamos simbolizando x= a es un nmero entre O y 9

M a 10n
n=-N

erv = 0.83 erx.


7
A

Vemos as que en ciertos casos el uso de perturbaciones experimentales nos permite obtener muy buenos resultados. En el ejemplo considerado, como el error absoluto de truncamiento est acotado por 10"4, el error relativo inherente por 0.5 10 4, y el error de redondeo lo consideramos despreciable, podemos decir que el error absoluto total est acotado por la suma: 104 + 0.38 0.83 0.5 10"4 =1.157 10"4, y entonces podemos escribir: ln( 1.4567 ) = 0.376

Es fcil ver que si permitimos representar nmeros con una sucesin infinita de elementos del alfabeto, podemos simbolizar todos los nmeros reales cualquiera que sea la base elegida. Por razones tcnicas, las computadoras digitales modernas representan internamente los nmeros en sistema binario. Aqu los "bits" juegan el papel de los factores de las sucesivas potencias de dos en la descomposicin de un nmero, o sea:
M

x = aM aM , ... a 0 , a , a 2 ... a^ N = 'L an 2"


n=-N

donde los an son O 1,

y M y N son naturales. En este caso la coma (o el punto) que separa la parte entera de la parte menor que 1, se llama coma (o punto) binaria/o, y los elementos del alfabeto se llaman bits. Para no confundir la representacin decimal con la binaria, usaremos un subndice que indique la base; de no haber ninguna indicacin, se sobreentender que la base usada es diez.

1.6 Representacin de nmeros


Sistemas de numeracin
Los sistemas de numeracin utilizados en la actualidad se denominan posicionales, debido a que el valor de un mismo smbolo depende de la posicin en que se encuentre dentro de la representacin de un nmero.

26

Anlisis numrico. Primer curso

Errores en el clculo numrico

27

EJEMPLO 6.1

Representacin en sistemas de punto flotante


lin estos sistemas, la posicin del punto decimal con respecto al primer dl'.iiu es indicada por otro nmero llamado exponente. lin otras palabras, cada nmero real puede ser representado en la forma: x = a 10b, con | a | < 1, b entero
(6.1)

1012 = 1 2 + O 2' + 1 22 = 510 = 1 2+ 1 2 ] = 3.5 10112 =


Nosotros usaremos preferentemente el sistema decimal, marcando la diferencia entre los sistemas solo en los casos en que sea necesario. En general las computadoras digitales asignan una cantidad fija y determinada de "palabras" para representar un nmero. Supongamos que el espacio destinado a simbolizar un nmero permite representar n dgitos, ms uno o dos signos segn sea necesario. Existen dos formas universales de utilizar estos lugares, que estudiaremos a continuacin.

i lmele el "exponente": b indica la posicin del punto decimal con respecto al |M inicr dgito de la "mantisa": a. Se dice que un sistema es de "punto flotante normalizado" si imponemos .1 l.i mantisa la condicin que su primer dgito despus del punto decimal sea l i .linio de cero, o sea:

Representacin en sistemas de punto fijo


Se toman dos nmeros fijos n, y n2 tales que n = n, + n2, asignndose n t lugares a los dgitos enteros y n2 lugares a los dgitos decimales. (Usualmente n, = n y n2 = 0.) EJEMPLO 6.2

0.1 < I al < 1

( 6.2 )

Todo lo dicho puede ser generalizado a un sistema de base B. Por ejemplo, la condicin ( 6 . 2 ) quedara:

1/B< I al < 1

6.3)

Si n = 10, n, = 4 , y n2 = 6:
25.543 0.0673 se representar se representar 0025 543000 0000 067300

Una computadora asignara una cantidad fija y finita de t cifras para la ni.iniisa y otra de e cifras para el exponente, de forma tal que:

n=
EJEMPLO 6.3

En este tipo de representacin el nmero 12345 o no se representa, o se representa con un enorme error, a pesar de tener solo cinco dgitos. Salvo para casos especiales este tipo de representacin no es utilizado. Mucho ms importante, en particular para clculos cientficos, es la representacin de nmeros en sistema de punto flotante.

Tara n = 6, t = 4, y e = 2, el nmero 6382 se representa: 6382 -> 6382 04

y el 25.3 25.3
2530 02

28

Anlisis numrico. Primer curso

Errores en el clculo numrico

29

En lo que sigue nosotros consideraremos solamente sistemas de representacin de punto flotante normalizado y la correspondiente aritmtica de punto flotante. Los nmeros t y e, junto a la base B, determinan el conjunto A de nmeros racionales que pueden ser representados exactamente por la mquina. A es el conjunto de los nmeros de mquina. Existe un conjunto ms amplio, denominado rango de la mquina, formado por aquellos nmeros reales que podamos representar aproximadamente en nuestra mquina, de acuerdo al siguiente criterio: Sea x un nmero real, y sea su representacin en punto flotante normalizado la siguiente:
x = a 10b

l'or "redondeo" entenderemos dos formas distintas de aproximar un valor s perteneciente al rango de la mquina, por otro x perteneciente al conjunto de los nmeros de mquina; una forma suele llamarse corte o truncamiento (nosotros la denominaremos "corte") y la otra forma suele llamarse Jondeo simtrico. (La expresin "error de truncamiento", usada para los i m res de representacin, no debe confundirse con el "error de truncamieni" cometido en ciertos casos al pasar del problema matemtico al problema numrico, una etapa completamente distinta del proceso de clculo.)

(.orle o truncamiento
\o un x en el rango de la mquina, procedamos a escribirlo en punto lidiante normalizado: x = a 10h, con | a | = O.a_,a 2 . .. a ta , , . . . En este caso definimos a = signo ( a ) O . a _ , a _ 2 . . . a_ t 6.4
6.5

Diremos que x pertenece al rango de la mquina, si b puede ser representado exactamente en los e lugares asignados al exponente. De esto podemos deducir que: Rango = { x e R / 1 x | e [ 10'10', lO 1 0 ""' ] } (el lmite superior es aproximado). Si un nmero pertenece al rango de la mquina, el error relativo de representacin admite una cota muy til, denominada "unidad de redondeo", que deduciremos en las prximas secciones.

y x= a 10b , que pertenece al conjunto A y ser almacenado exac Lmente en la mquina como aproximacin de x.

Redondeo o redondeo simtrico


Si como antes, x pertenece al rango de la maquinadlo escribimos en punto lliii.inte normalizado como en ( 4 ). Definamos ahora: sieno( a \) \ O.a,a.2...a.t / a O. a_,a_ 2 ...a_ t + si O < a.M <, 4 si 5 < a , ,

Redondeo
El estudio de los efectos de los errores de redondeo sobre las operaciones lo haremos bajo la hiptesis que todo resultado intermedio pertenece al rango de la mquina, porque en caso contrario las cotas que obtendremos no sern vlidas.

Ahora la mquina almacenar x =1 10b. (En este caso puede haber prolilemas si al sumar 10"( el nmero resultante quedara fuera del rango, pero i n i consideraremos esta situacin.) Hl siguiente algoritmo define una funcin: fnred( x ), que redondea la variable x a t dgitos, con redondeo simtrico si red = 1 , o con corte para t ualquier otro valor de red.

30

Anlisis numrico. Primer curso

1
10"'

Errores en el clculo numrico

31

x : valor que ser redondeado a t dgitos. red : si vale 1 fnred har redondeo simtrico a t dgitos, para otro valor de red fnred cortar a t dgitos. signo( x ) : vale 1 si x > O y -1 si x < 0. c: cantidad de lugares que debe correrse la coma de x para que el primer dgito a la derecha de ella sea distinto de cero, y la parte entera sea cero.

irror relativo mximo de representacin. Unidad de redondeo


Si x pertenece al rango de la mquina, de los dos apartados anteriores de< l i u irnos que x = a 10b, y para corte o truncamiento
(6.6)

a - a I<

0.5 10"' para redondeo simtrico

donde
er

parteentera ( x ): devuelve el mayor entero menor que x. log( x ) : devuelve el logaritmo en base 10 de x. abs( x ) : devuelve el mdulo de x. A es el smbolo que indica potencia.

!x-x| ^ |a-a|10b I x l . . , > , - : , I al 10b

^ |a-a| < 0.1 T

V-t

0.5 101 '

redondeo simtrico

(6.7)

funcin fnred( x , t , red ) comienzo si x = O entonces devolver( O ) finsi s = signo( x ); x = abs( x ); c = log( x ); c = parteentera( c ) + 1; si red = 1 entonces x = x + 0.5 1 0 A ( c - t ) x = parteentera( x 10A( t - c ) ); x = s x 10A(c-t); devolver( x ) ;
fin

Fcilmente podemos generalizar estos resultados a una base cualquiera. I >efinamos entonces la UNIDAD DE REDONDEO "|l" de la siguiente forma:
B'

para corte para redondeo simtrico

1/2 B

(6.8)

finsi

En este hecho (la existencia de una "buena cota" para los errores relativos de representacin), radica la ventaja esencial de los sistemas de numeracin de punto flotante normalizado.
EJEMPLO 6.4

Es importante conocer la cantidad de dgitos con que trabaja la mquina que usamos para hacer nuestras cuentas; escribiremos ahora un algoritmo I>.ira calcularlo experimentalmente (justificarlo):

32

Anlisis numrico. Primer curso

Errores en el clculo numrico

33

algoritmo "clculo de t" comienzo s = 1;

EJEMPLOS EJEMPLO 6.5


Dados los siguientes nmeros con sus respectivas bases, encontrar qu nmeros representan en el sistema decimal:
0.111 . . . , = S 2'" = 1/2 ( 1 - 1/2 )-' = 1

t=l;
x = 2; mientras x > 1 hacer escribir x , t t = t + 1; s = s/10; x= 1 + s; finmientras fin

71.23.. = 7 8' + 1 8 + 2 8'1 + 3 8 2 = 57.296875 O.FFF .. = I 15 16~n = 15 16'1 (1 - 16'1)"1 = 1 EJEMPLO 6.6 Probemos que para toda base B, 0.( B - 1 ) ( B - 1 ) ( B - 1 ) . . . = 1. Esto es as pues: ' " * : ' ''"' '. -

Este algoritmo va escribiendo sucesivos valores de x y de t para hacer ms grfica la situacin; el ltimo valor de t que escribe nos indica aproximadamente a cuantos dgitos equivalen las cifras que utiliza la mquina para guardar las mantisas en la base por ella utilizada. CONVENCIN Mediante [ G( b , m , n ), red [ corte ] ], designaremos el siguiente sistema de numeracin en punto flotante normalizado: b m representa la base representa la cantidad de cifras para la mantisa. ( Hay adems lugar para el signo ) representa la cantidad de cifras para el exponente. ( Tambin hay otro lugar para el signo ) significa que hacemos redondeo simtrico,

( B - j . ) B ; = ( B - . l ) 3 - 1 ( i -B- 1 )-'*t.
EJEMPLO 6.7 Sea el sistema de numeracin [ G( b , m , n ) , rd ].

Debemos calcular el nmero mximo, el mnimo, el mximo negativo y el mnimo positivo, representables en el sistema:

m veces La mantisa resulta: ( E ( b - 1 ) b"k ) =


k=l

n veces
(b - 1) (1 - b"m) = 1 - b'm , y el ,,| , - h

red

corte significa que hacemos corte.

ex ponente: ( b - 1 ) I bk = ( b - 1 ) ( b" - 1 )/( b - I ) = bn - 1, entonces


k=0

34

Anlisis numrico. Primer curso

Errores en el clculo numrico

35

amax = v( 1 - b m ' bbM )


_max .
;

1/2 = 0 + 1/2 8 = 10002


i

->

r4 = 1, resulta entonces

'

['

apositivomin = 1/b b - ( b n - 1 ) = b-b" anegativomax = - apositivomin ,

Queda como ejercicio la justificacin de este algoritmo. 2) Para la parte decimal procedemos de la siguiente forma: multiplicamos l.i parte decimal por dos y observamos el valor de la parte entera del resultado, que puede ser O 1. Este ser el primer bit despus del punto binario, 'lomamos a continuacin la parte decimal de este primer producto y la multiplicamos nuevamente por dos, reiterando el procedimiento hasta obtener ma parte decimal nula. En caso de no obtener nunca una parte decimal nula, I.) expresin binaria del nmero considerado tendr infinitos bits. l 11 nuestro ejemplo: 0.25 2 = 0.50 0.50 2 = 1.00 -> -> a., = 0 a_, = 1, y entonces

Por ejemplo, para b = 10, m = 8 y n = 2, resulta: amax = ( 1 - 10 8 ) 10" = 0.99999999 10" apositivomin = 10-100 = 0.1 10 " EJEMPLO 6.8 .
;

' .

"..

Convertir el siguiente nmero del sistema decimal al binario: 8.25 Debemos proceder de la siguiente manera: 1) Pasamos la parte entera al sistema binario, dividindola sucesivamente por dos y anotando los restos de las divisiones, hasta que en el ensimo paso el resto ser 1 y el cociente 0; tendremos entonces los restos ordenados as: r p r2, r 3 ,,, rn., , 1. La parte entera se representa en base dos ordenando los restos de la siguiente forma:
rn., . . . r3 r2 r,. En nuestro caso: 8/2 = 4 + 0/2 4/2 = 2 + 0/2 2/2 = 1+ 0/2 -> -> -> r,=0 r2 = 0

0.25 = 0.01,, as tenemos finalmente 8.25= 1000.01-,


EJEMPLO 6.9

Sea el sistema de numeracin [ G( 2 , 3 , 2 ) , rd ]; representar en este sistema los siguientes nmeros: 1 ) 2.38 = 10.010 ...2, ser representado por 101 10 2 ) - 0.0071 = - 0.000000011101 .. , 2 , su representacin sera - 1 1 1 - 1 1 1 ; I KM o observamos que no podemos almacenar el exponente, por lo tanto este rs un nmero que no admite representacin en el sistema dado. En computacin se dice que este es un caso de underflow. (El nmero es menor en mdulo que el menor nmero positivo representable.) 3 ) 8.234 = 1000.00... 2 , y su representacin sera 100 100; en este caso i.impoco podemos almacenarlo, y decimos que es un caso de overflow, o lo

36

Anlisis numrico. Primer curso

Errores en el clculo numrico

37

que es lo mismo, que el nmero a almacenar es mayor que el mximo representable. 4 ) 0.2 - 0.00110011 . . . 2 , y se representa 110-10

donde op representa una operacin elemental y e es el error relativo de redondeo o representacin de la operacin x op y. Las operaciones fl( x op y ) tienen propiedades distintas a las operaciones exactas, como veremos en el siguiente ejemplo:
EJEMPLO 7.1

1.7 Errores de redondeo en operaciones aritmticas en punto flotante Cota del error relativo de redondeo para cualquier operacin elemental
An en el caso en que los operandos de una operacin de mquina pertenezcan a A, es poco probable que el resultado exacto de la operacin sea un nmero de A. Por ejemplo, el producto exacto de dos nmeros de t dgitos cada uno, puede llegar a tener 2t dgitos: 0.5 0.5 = 0.25 En esta seccin supondremos que los datos pertenecen a A, o sea, supondremos que no existen errores inherentes. Sean x e y que pertenecen a A. Denotaremos con fl( x + y ) , fl( x - y ) , fl( x.y ) , fl( x/y ) a los nmeros almacenados en mquina como resultado de las operaciones indicadas. Para aclarar ideas, supongamos que la mquina opera en la "Unidad Aritmtico - Lgica" (UAL) con 2 t dgitos y luego almacena en la memoria el resultado redondeado a t dgitos. De acuerdo a ( 6.7 ) y ( 6.8 ) podemos escribir:
fl( x op y ) = ( x op y ) ( 1 - e ), con | e | < ( 7.1 )

La asociatividad no vale en general para las operaciones en punto flotante. Utilicemos t = 7, corte, y sumemos a + b + c con a = 0.1234567 10 b = 0.7654321 104 Hagamos primero fl( fl( a + b ) + c ): Para sumar en la UAL se llevan los nmeros al exponente mayor: a =0.00001234567000 b =s 0.765 432 100 000 00 104 104 C = -b

a-t-b = O765J44M567000 4=*


fl( a + b ) = fl( a + b ) =

104,

entonces el nmero almacenado en memoria ser: 0.765 444 4 104; completemos la operacin: 0.765 444 400 000 00 104 104 10 4 , y entonces:

c = - 0.765 432 100 000 00 fl(a+b)+c= 0.00001230000000

fl( fl( a + b ) + c ) = 0.123 000 O 10 En cambio si hacemos fl( a + fl( b + c ) ) tenemos: fl( a + fl( b + c ) = fl( a + O ) = a = 0.123 456 7 10

38

Anlisis numrico. Primer curso

Errores en el clculo numrico

39

EJEMPLO 7.2

Sea el sistema de numeracin [ G( 2 , 3 ,2 ) , rd ]. Representar 1.00 y 1.25 en dicho sistema. Podemos representar exactamente su suma? Veamos:

I )ebemos identificar las flechas de forma tal que el error relativo total en el irsultado de cualquier operacin aparezca en el resultado de la siguiente multiplicado por el trmino que identifica a la flecha correspondiente. Sumando estos productos para todas las flechas que llegan a un resultado, obtenemos el , error relativo propagado hasta l; para obtener el error relativo en cada paso, debemos sumar al propagado desde el paso anterior el error relativo de redondeo de la operacin correspondiente. Repitiendo este proceso a lo largo de la grfica obtenemos la expresin del error relativo total. Vamos a ejemplificar, identificando las flechas asociadas a las cuatro operaciones algebraicas elementales (Figura 8.1). La idea puede extenderse a cualquier operacin considerada elemental.

1.00= 100 01 1.25 = 101 01


La suma resulta ser 2.25, que se representara 1001 10. Como el cuarto bit de la mantisa es 1 debemos sumar un 1 en esa posicin, resultando 1010 10, y ahora al representar la suma en nuestro sistema obtenemos:

101 10
Este valor es igual a 2.5. Por lo tanto no podemos representar la suma exactamente, y el error relativo resulta: 0.25/2.25 = 0.11, mientras que

f i = 1/2 2'' 3 = 1/8 = 0.125

1.8 Clculo de la propagacin de errores inherentes y de redondeo utilizando la grfica de un proceso


Grfica de un proceso
Una Grfica de Proceso es la representacin pictrica de un Algoritmo, con una convencin para identificar las flechas que aparecen en la Grfica, de forma que sea fcil determinar el error relativo total (propagacin del inherente ms propagacin del de redondeo) en el resultado final.

+1

+1

+1

-1

Figura 8.1

40

Anlisis numrico. Primer curso

Errores en el clculo numrico

41

EJEMPLO 8.1 Supongamos querer efectuar la suma de tres nmeros:

\l error relativo total al final del proceso ser:


er,. er,, n + i a a+n aia + b ib + c ic er = a+b+c

+ E 2 , y reemplazando

y=a+b+c
para lo cual utilizamos el siguiente algoritmo:
n=b+c y=a+n

b +c

a+b+c

p 4. c

'

Si suponemos quedes una cota para los errores relativos inherentes, obleemos una cota para el error relativo total al final del proceso:
I ery | < r + (1 +
b+c

Llamaremos a los errores relativos inherentes i a , i b , i c ; ya los errores relativos de redondeo en cada suma e, y E2. Sabemos que I e, I y I e2 I < [i. La grfica correspondiente es:

I a + b + cI

a+b+c

)u ^

e,

El trmino que multiplica a r es designado con el nombre de CONDICIN DEL PROBLEMA (C ), y es el factor de amplificacin de los errores relativos inherentes. La condicin del problema depende exclusivamente del problema numrico, es decir que para cualquier algoritmo que elijamos para resolver nuestro problema, la condicin del problema ser la misma. El trmino que multiplica a u se denomina TRMINO DE ESTABILIDAD (T(J, y depende del problema numrico y del algoritmo elegido.

Estabilidad de un algoritmo
Un algoritmo se dice numricamente ms estable que otro, si su trmino de estabilidad es menor. Un algoritmo es NUMRICAMENTE ESTABLE si y solo si (definicin)
CP

t
v_/_

Te

>/> 1 (no es mucho mayor que 1).

El error relativo total de n ser


er =

b+c

42

Anlisis numrico. Primer curso

Errores en el clculo numrico

43

Una situacin conveniente es aquella en que el trmino de estabilidad es aproximadamente igual a la condicin del problema, o sea:
O

En esta mquina resulta |l = 0.5 103. Observando la grfica obtenemos: 2ia + e i ) a 2 - b 2 ( 2 i b + e 2 ) er, = a22 - U2 b r,

EJEMPLOS EJEMPLO 8.2


Sea a = 43.21 y b - 43.11. Deseamos calcular z - a2 - b2 en el sistema de numeracin [ G( 10,4,1 ), rd ]. Indicar cual de los dos algoritmos que figuran abajo es el ms conveniente. Justificar. 1) ..2) a a-b b (a+b )(a-b)

y separando los trminos que dependen del error inherente de los trminos que dependen del error de redondeo: 2 a 2 i a - 2 b 2 ib a2 e, - b2 E2 :-r + : : + e 3 , y acotando resulta: a22 _ K2 -b a2-b2 2 a 2 + 2 b2 a2a 2 + b2 I a 2 - b2 ) (I, de donde:

er, =

er.. I <

1+

Operemos de acuerdo al algoritmo 1): z = fl( fl( a . a ) - fl( b . b ) ) = fl( 1867 - 1858 ) = 9 Hagamos ahora la grfica de proceso y calculemos el trmino de estabilidad:

T e = ( 1 + - _^ fa2La condicin del problema vale: 2 a 2 + 2 b2


P

"

I a 2 - b2

e, Si operamos con el algoritmo indicado en 2) obtenemos: ,-b 2 fl( fl( a + b ) fl( a - b ) ) = fl( 86.32 A 0.1 ) = 8.632, y construyendo la grfica de procesos:

+1

44

Anlisis numrico. Primer curso

Errores en el clculo numrico

45

+1

Nos est quedando un C distinto al del algoritmo 1 ) , cosa que no puede ser, ya que como se dijo anteriormente la condicin del problema depende exclusivamente del problema numrico. Lo que ocurre es que estamos "acotando antes de tiempo"; si antes de acotar sacamos denominador comn a2 - b2 queda:
er

(a-b)(aia

a + b ) ( a i a - b ib
a - b

+ e, + e2 + e3 , y

desarrollando el numerador del primer trmino se simplifican los trminos en los que aparece el producto a b, quedando en definitiva:
er, a2 - b2 + E, + E, + E3

Ahora s, tomando mdulos nos queda el mismo C que antes, pero el trmino de estabilidad disminuye sensiblemente: entonces:
T = er, = a i, i, - b ih a-b

Esto nos muestra que el segundo algoritmo es el ms conveniente, ya que operando como l indica, el error de redondeo propagado ser mucho menor.
EJEMPLO 8.3

(Antes de analizar esta expresin, digamos que en este ejemplo se busc resaltar los efectos de elegir bien un algoritmo, sin considerar la propagacin de errores inherentes; si lo hiciramos veramos que el segundo resultado no tendra porqu ser mucho mejor que el primero pues este problema numrico est mal condicionado). Veamos qu ocurre si acotamos ahora:

Deseamos calcular
x =
1

2a

1 -a 1+ a

con I a I 1

Consideremos primero el algoritmo sugerido por la forma de la expresin:


la + b a - b n, = l/n 2 n 7 - n 3 - n6
n4 = 1 - n, n6 = n 4 /n s

Luego analizaremos esta expresin desde el punto de vista de la propagacin de errores de redondeo. Para aclarar cuestiones respecto a la condicin del problema y los signos de los errores hagamos las siguientes consideraciones:

(Luego obtendremos un algoritmo ms estable que este )

46

Anlisis numrico. Primer curso

Errores en el clculo numrico

47

Primero construyamos la grfica de proceso del algoritmo dado: er I < 2 I i ! + - + al 2|a + |l, de donde resulta:

( a - 1) (1 + 2 a ) __ 1 + a 2a 2 2a 2

2|a 2a2 , (verificar que se trata (1 + 2a) (1 + a ) del mismo problema numrico) tenemos la siguiente grfica de proceso: Si por otro lado resolvemos: x =

- i

De aqu resulta: er,= -2 a (ia + r, ) 1 + 2a -ai 1 -a a i, 1+ a " rs + r 6' 7 considerando | a | 1 ,

48

Anlisis numrico. Primer curso

Errores en el clculo numrico

49

que responde a la siguiente secuencia de operaciones: n, = 2 a n3 = 1 + a


ns = a a n 7 = n6 / n4

n2 = =n n

1.9 Clculo de la propagacin de errores inherentes y de redondeo utilizando los nmeros de condicin Anlisis retrospectivo de errores
La ecuacin ( 7.1 ) nos da la herramienta principal para realizar el anlisis retrospectivo de errores, que es una tcnica para evaluar el efecto de los errores de redondeo en el resultado final. Ella nos permite suponer, por ejemplo, que la multiplicacin fl( x . y ) es el producto exacto de "x" por "y ( 1 - e )", siendo E funcin de los operandos y de mdulo menor o igual que [i. De lo misma manera el resultado de cualquier operacin elemental puede ser interpretado como el resultado de la operacin exacta aplicada a operandos perturbados en una cantidad relativa de mdulo menor o igual a [i. Aplicar anlisis retrospectivo de errores significa utilizar la interpretacin anterior paso por paso, comenzando por las ltimas operaciones y retrocediendo hasta las primeras.
EJEMPLO 9.1
,;

x = n.

Entonces:

2a er2 = ( i a + r , ) -j +
2 a ( ia + r , ) aia h r2 + ~~

1 +2a

= 2 ia + r5 + r 6 , y | er x ! = 2 | i | + 6 n , resultando entonces

Sea w = x + ( y + z ), entonces

-:

'

'

Te

=6 '

w = ( x + fl( y + z ) ) ( 1 - 2 ) = = ( x + ( y + z ) ( 1 - e, ) ) ( 1 - e2 )

lo que muestra que este segundo algoritmo es mucho ms estable que el primero.

w-w =
= (,-,,)

e,, de donde

er

x+y+z

50

Anlisis numrico. Primer curso

Errores en el clculo numrico

51

Si despreciamos los trminos cuadrticos en el error obtenemos la misma expresin del Ejemplo 8.1 . Observamos entonces que el mtodo de la grfica de proceso permite estimaciones de primer orden de los errores inherentes y de redondeo propagados, mientras que con el anlisis retrospectivo de errores podemos estimar los errores de redondeo propagados utilizando trminos de orden superior.
EJEMPLO 9.2

Entonces resulta: (tomamos 80 = O )


m

m i y - f i ( y ) i = i i a b.d-d-E;) n n - S j ) ) i < " ; ' "''<''' ''


i=0 j= m
m

< I ab I ( ( 1 + (1 ) m+2 " - 1 ) < Z a, b 1.12 (m + 2 - i ) n


1=0
i=(l

:':;

*?*-

Si I a I < a y I b I < b, resulta:


m

Acotar los errores de redondeo propagados por la operacin:


m

* .'..'/'.;$ i, ,:':"".;.' '


'

y = I a, b. =o

| y - f l ( y ) | < 1 . 1 2 a b n Z (m + 2 - i) = 0.56 a b (m + 2) (m + 3) ^i
i=o ' \'

Demostremos primero una desigualdad que nos ser til: Si n \l < 0.1 entonces ( 1 + u. ) n < 1 + 1.12 n [i. Los siguientes pasos demuestran la afirmacin anterior:

Por medio de este tipo de anlisis, se ha demostrado, incluso para algoritmos muy complicados, que los datos de salida son los resultados exactos del problema numrico, con los datos de entrada variados relativamente una cierla cantidad de veces (I. Ms adelante veremos que utilizando esta tcnica, transferimos el problema de estimar los efectos de los errores de redondeo durante el clculo, al problema de estimar ciertas perturbaciones en los datos de entrada.

k=0

Nmeros de condicin
n \i n!
u"-'

u ( I O.l k
k=0

< 1 + 1.12n|l c.q.d. Comencemos ahora el anlisis retrospectivo de errores:


a b) = fl( ... fl(fl(fl(an b0) + fl(a, b,)) + fl(a, b 2 )) + ...)
i=0

Pueden existir varias razones por las cuales los resultados de un clculo posean poca precisin. Por ejemplo el algoritmo puede no ser el ms conveniente. Pero tambin, un resultado poco preciso puede ser consecuencia del problema numrico mismo, es decir, los resultados pueden ser muy sensibles .1 las perturbaciones en los datos de entrada, independientemente del algoritmo elegido. Kn el primer caso se dice que "el algoritmo est mal condicionado"; en el .'|;undo, que "el problema numrico est mal condicionado". Tambin dire11 ios para el primer caso que "el algoritmo es numricamente inestable", y para 'I segundo que "el problema numrico es inestable".

fl(am

= ( ... ( ( a0 b0 ( 1 - e0 ) + a, b, ( 1 - e, ) ) ( 1 - 6, ) +

a 2 b 2 ( 1 - e2

-8

-5 ) =

Errores en el clculo numrico


52 Anlisis numrico. Primer curso

53

El nmero de condicin del problema (es el Cp utilizado sin definir formalmente al trabajar con las grficas de proceso) nos permite medir cuantitativamente la estabilidad del problema, y el nmero de condicin del algoritmo ( C a ) cuantificar la estabilidad del algoritmo. Antes de definir formalmente los nmeros de condicin debemos introducir una medida para vectores que nos ser de gran utilidad de ahora en adelante:

Nmero de condicin del problema


Supongamos estar ante un problema numrico representado por Y = P(X); Definamos
n dP

P ( X ) : Rn -> Rm como en 1.5

La Norma Infinito
Sea X = [ x, , x 2 ,..., xn ]' (Para operar en forma matricial identificamos los vectores de Rn con las matrices de nxl); se define la "norma infinito" de X de la siguiente forma:

CJ =

II^ I P ( X

i - 1 , . . . .m

(9.1)

y el nmero de condicin del problema

\p - max { C p ', i = 1,..., m } =

V,

(9.2)

|| X |L = max { | x | }
Definamos el vector de errores relativos inherentes: Puede probarse que esta definicin induce sobre las matrices la siguiente
norma:

erx = [ er X| ,... , er Xn ]', y supongamos que || erx || r. De ( 5.1 ) y ( 5.2 ), obtenemos:


e,, =

^# tf~^-^_ m A nxm, entonces || A IL = max { Z | aik | }

~t

De ahora en adelante salvo mencin en contrario cuando utilicemos una norma ser la norma infinito y la simbolizaremos sencillamente con las barras. Las siguientes son propiedades conocidas de una norma vectorial y la norma que induce sobre las matrices: Si X e Y son vectores de Rm, A y B son matrices de nxm y C de mxp, < + Y A + B < | | A | | + ||B||, || AX || < || A || || X ||,

ile donde dividiendo por P(X ), tomando mdulos y acotando resulta:


ery. < er

Si definimos ery = [ er ,..., erv ]', resulta: er || < C p ||erx|| < Cp r


(9.3)

I'or lo tanto podemos decir de C , que depende de los datos de entrada y que es una cota del cambio relativo que el resultado exacto del problema

54

Anlisis numrico. Primer curso

Errores en el clculo numrico

55

puede tener, medido en unidades de r, n\ priuliurn perturbaciones relativas en los datos de entrada acotados por r.
- f, '

Nmero de condicin del algoritmo


Simbolicemos por y = A( X ) : Rn -> Rm al algoritmo utilizado para resolver el problema Y = P( X ): Rn -> Rm . Si no existieran errores de redondeo: A(X) = P(X).

Asumiendo que r es lo sufcienk-mi'iilr ( hito como |>.u,i que:

.uv '

Xk

I\(XM',( X) Pk(X)

dejamos como ejercicio demostrar la siguiente de.sigunld.iil:


P i

Pero en este momento nos interesa cuantificar la influencia de los errores de redondeo, por lo tanto utilizaremos la notacin:

xk = x k ( l - e k ) , | e k | < r

(9.4)
Y = A(X) " ':'' ' ' "'"'

(Ayuda: | eryk | | Pk( X ) | - | P k ( X ) - P k ( X ) | > | | Pk( X ) | - | P k ( X ) para simbolizar el resultado considerando slo los errores de redondeo. Utilizndola Convencin 4.1 podemos escribir: Sea y = A( X ). Si el clculo de A( X ) implica L operaciones, efectuando un anlisis retrospectivo de errores al primer orden, obtendremos:
_ L . .

lCpr)
EJEMPLO 9.3 Si consideramos nuevamente y = P( x ) = x x, de acuerdo a (9.1 ) vale:

y, = y, ( l + X Fiik( X ) e k ), con | ek | < u .


Llamaremos a los F, k , FACTORES DE AMPLIFICACIN. Definamos:
- . L

>=

| x||x|

+ |x||x|

=2

(9.5)

EJEMPLO 9.4 Estudiemos ahora el problema y = P ( a ) b , c ) = De acuerdo a (..1 ) tenemos:

y i.,E, (9.6)

Con estos valores definimos el nmero de condicin del algoritmo como: C a -rnax{C a , i = l,...,m} a| + |b| + |c (9.7)

|P(X)| Resultado que coincide con el obtenido en 1.8.

56

Anlisis numrico. Primer curso

Errores en el clculo numrico

57

EJEMPLO 9.5 Consideremos nuevamente y = A( x ) = x x. De la igualdad: y=fl(xx)=xx(l-e)

y, -y =:

k-l

onde si | ek | < u ,

y de ( 9.5 ) resulta E = 1. Utilizando ahora el resultado del Ejemplo 9.3 y la definicin dada en ( 9.7 ), resulta: Ca = 1/2 EJEMPLO 9.6 Consideremos nuevamente y = A ( a , b , c ) = a + (b + c) Vimos que el anlisis retrospectivo de errores de primer orden nos conduce a: y = y ( 1- e, - e, ), de donde deducimos que

y entonces para los errores de redondeo propagados: Hery||< CpCau

,, (9.8)

( 9.8 ) caracteriza al nmero de condicin del algoritmo: Dado un problema numrico, y un algoritmo para resolverlo, una cota del error relativo de redondeo propagado por el ALGORITMO se obtiene de la cota del error relativo propagado por el PROBLEMA NUMRICO cuando perturbamos los datos de entrada en una cantidad relativa acotada por

E=

|b + c|

Simblicamente, si utilizamos la notacin Y = A( X ) para representar el resultado considerando slo la propagacin de errores de redondeo, tenemos que: || A( X ) - A ( X ) || < || A( X ) || Cp Ca EJEMPLO 9.7 Si nuestro problema numrico es y = x x , en ejemplos anteriores calculamos

, y utilizando el resultado del Ejemplo 9.4

9.9)

C =E

|a|+|b|+|c

|a|+|b|+|c

< 2

De ( 9.3 ) deducimos que si perturbamos los datos de entrada en una cantidad relativa acotada por Ca M-, una cota para el error relativo propagado est dada por CpCa u y usando ( 9.5 ), ( 9.6 ) y ( 9.7 ) veremos que esta es una cota para los errores relativos de redondeo propagados:

cp = 2,

ca = i/2,- ;
|er y | < 2 ( 1/2 H + r) = 2 r + jl,

(le donde se deduce para el error relativo total:

tota que coincide con la obtenida mediante la grfica de procesos.

Errores en el clculo numrico 58 Anlisis numrico. Primer curso

59

EJEMPLO 9.8

Entonces para el error total tenemos:

Consideremos y = A ( x , z ) = x + z

| e r l < C D ( C u + r) =

r+ ( 1 +

b+c

Este resultado es idntico al obtenido mediante la grfica de proceso. Pero de acuerdo a ( 9.2 ) Este ejemplo nos permite deducir que si tenemos que sumar una cierta cantidad de nmeros de igual signo, conviene ordenarlos en mdulo, de menor a mayor, para efectuar las sumas.

x-rZl

Por otro lado como E = l.de (9.6) y ( 9 . 7 ) resulta:


C =

Estabilidad de un algoritmo
Incorporando el concepto de nmeros de condicin, los siguientes resultados se deducen de las definiciones dadas en 1.8: Un algoritmo es numricamente ms estable que otro si su nmero de condicin ( C a ) es menor. Un algoritmo es numricamente estable si y solo si Ca >/> O

x + zI
X + Z

y para el error relativo total obtenemos:

I erv | <

x+z

X +

x+z

Un algoritmo es aceptable si y solo si Ca = 1

Observemos que este algoritmo, como todo algoritmo elemental, est bien condicionado, mientras que si la suma es pequea el problema es inestable.
EJEMPLO 9.9

Estimacin experimental del Trmino de Estabilidad


En 1.5 vimos que el mtodo de las perturbaciones experimentales nos permite estimar el C de un problema numrico. En esta seccin veremos como obtener una estimacin del Te del algoritmo empleado para resolver un problema numrico. La idea es sencilla, y consiste en resolver el problema dos veces con el mismo algoritmo y los mismos datos de entrada, pero usando distinta precisin para los clculos, o sea, empleando distinta cantidad de dgitos para la mantisa. Supongamos entonces que al resolver nuestro problema trabajando con t dgitos, obtenemos la solucin y t , y al resolverlo utilizando s dgitos, la solucin ys. Como en los dos casos tomamos los mismos datos y empleamos los mismos algoritmos, los errores inherentes propagados ( e ), y los de discret i/.acin ( ed ) coinciden, y podemos escribir:

Consideremos el problema del Ejemplo 9.4 en donde calculamos:

CP

a + b + c|

Si lo resolvemos con el algoritmo del Ejemplo 9.6 obtenemos: ,


1+ |b + c| a+b+c

o.

60

Anlisis numrico. Primer curso

Errores en el clculo numrico

61

y - yt = ed + e + e( t ) r y - ys = ed + e + e( s ) r , siendo "y" la solucin verdadera de nuestro problema y e( t ) r y e( s ) r los errores de redondeo propagados al trabajar con t y con s dgitos respectivamente. Restando ambas expresiones deducimos: |y ( .y s | = | e ( t ) r - e ( s ) r | = l y | T e l m + nJ y entonces obtenemos para el trmino de estabilidad:
Te = i ~

1.10 Errores de truncamiento y de discretizacin


Estimacin experimental de los errores de truncamiento y discretizacin
Cuando los resultados de nuestro problema numrico no coinciden con los del problema matemtico planteado originalmente, ocurre generalmente, que nuestro problema numrico depende de algunos parmetros no incluidos en el problema matemtico, que al variar en cierto sentido, nos aproximan al resultado deseado. Generalmente podemos enmarcar este tipo de errores en .ilguno de estos dos casos: i) La solucin de nuestro problema matemtico es F( x ). Nuestro problema numrico depende de x y de un nmero n, y la solucin P( x , n ), aproxima mejor la solucin de nuestro problema matemtico al aumentar n. En estos casos puede hacerse la siguiente aproximacin: | F ( x ) - P ( x , n + l ) | = K | F ( x ) - P( x , n ) l p p>l p es un n" fijo

(ysy.sy.)

y,-y s

y ( M, +

'(.*$.

EJEMPLO 9.10

Consideremos el problema numrico del Ejemplo 5.5, y el algoritmo ah desarrollado para resolverlo. Modifiquemos ahora el algoritmo haciendo que la funcin fnred, desarrollada en 1.6, acte despus de cada operacin. Estamos en condiciones de resolver nuestro problema simulando mquinas con distinto valor de t. Al hacerlo con x = 0.45 y red = O, obtenemos los siguientes resultados: t= 7 t = l4 -.-: . y7 = 0.3715533 - ',=". \17 = 10~6 |^14 = 10'13

(K es funcin de x y de n, pero podemos suponerla constante si estamos trabajando con un x dado y valores de n suficientemente grandes; p se llama orden de convergencia del problema ) ii) La aproximacin P( x , h ), depende de x y de un h y mejora cuando disminuye h.'En estos casos puede demostrarse que: | F( x ) - P( x , h) | = K p es un n fijo

y u = 0.37155368849760

y aplicando (9.10) obtenemos: T=1.05

(K es funcin de x y de h, pero podemos suponerla constante si estamos trabajando con un x dado y valores pequeos de h; p es el orden del mtodo y/o de la aproximacin) En el primer caso mejoramos la aproximacin aumentando n, y decimos que el error es de TRUNCAMIENTO. El caso ms comn es el clculo del lmite de una sucesin.

62

Anlisis numrico. Primer curso

Errores en el clculo numrico 1.732050807568877... 1.732050807568877...

63

En el segundo caso mejorarnos la aproximacin disminuyendo h, y decimos que el error es de DISCRETIZACIN. Los casos ms comunes surgen al aproximar derivadas o integrales.

Truncamiento. Estimacin de K y de p
Debemos considerar cuatro aproximaciones del resultado y utilizar la ltima como el valor verdadero: 1) | P ( x , n + 3 ) - P ( x , n + 2)| = K | P( x , n + 3 ) - P( x , n + 1 ) |p

Debemos elegir 4 valores para hacer los clculos que indica ( 10.1 ). No conviene utilizar los primeros porque estn lejos del lmite, y no conviene utilizar los ltimos porque la diferencia de los dos finales es muy pequea. Entonces:

= 1.99805 = p
In x. -x, x4-x,

2)

| P( x , n + 3 ) - P( x , n + 1 ) | = K | P( x , n + 3 ) - P( x , n ) |p
K=

Dividiendo ambas expresiones y tomando logaritmos obtenemos: '


Wl

P ( x , n + 3 ) - P ( x , n + 2) , } 1) P(x,n + 3 ) - P ( x , n + 1 =P
Sv

! x4 - x2 I

= 0.29

(10.1)

w i P( x, n + 3 ) - P( x, n + 1 ) , , U P( x, n + 3 ) - P( x, n )

Discretizacin. Estimacin de K y de p
Primero estimaremos p; para eso utilizaremos tres aproximaciones al resultado: (supondremos que los trminos de la izquierda en i ), ii ) y iii ) mantienen el signo)
F( x ) - P( x , h ) = K hP
h hp F(x)-P(x,-- )= K-

Una vez conocido p, utilizando cualquiera de las expresiones 1) o 2) podemos despejar K. EJEMPLO 10.1 Un mtodo muy conocido que estudiaremos ms adelante, nos permite asegurar que la sucesin:
X0 = 2 > X n+l

q
i )

qp

= ~

~' ZA n

F( x ) - P( x , A ) = K q2 q2p

Converge a la raz cuadrada de 3. Los primeros valores de esta sucesin son:


2. 1.75 1.732142857142857... 1.732050810014727...

Ahora restando ii ) de i ), luego iii ) de ii ) y dividiendo miembro a miembro obtenemos: h P( x , h) - P( x, ( 10.2 )

64

Anlisis numrico. Primer curso

Errores en e clculo numrico

65

Esta igualdad nos permite obtener una estimacin de p. Restando iii) de i ) podemos obtener una estimacin de K:

Si operamos como indica ( 10.2 ) obtenemos:

P( x , ) - P( x , h ) = K hp ( 1 q2

P(x,)-P(x,h)

1 q2p

To - Ti x '

) , y entonces:

T i - T-> A 1

= 17.177.

T} - T L 12

K =-

T -T i, i.

= 16.066,

valor que podemos aproximar por:

= 16.000...

h K = ( P( x , ) - P( x , h ) )
EJEMPLO 10.2
2

( 10.3 )

De donde deducimos que la aproximacin es de orden 2. Para K tenemos, de acuerdo a ( 10.3 ):

Ms adelante veremos que para aproximar I = J sen2( x ) dx puede precederse de la siguiente forma: Dividimos el intervalo [ 1 , 2 ] en n subintervalos de longitud h, obteniendo los puntos: x = 1 + i h con h = 1 /n. Luego calculamos:

T,-T, K = 5 i = 0.14

756

)2
J

v.-,,:v

,-:< '

T( h ) = h (

- ) + I f( x, ) ) , siendo f ( x ) = sen2( x ).

1.11 Error total, aplicaciones y recomendaciones generales Cota para los errores absoluto y relativo finales, debido a la propagacin de errores inherentes y de redondeo en las operaciones, y al error de truncamiento o discretizacin
Simbolizaremos con Y = F( X ) a un dado Problema Matemtico, con Y = P( X ) a su correspondiente Problema Numrico, y con Y = A( X ) .il Algoritmo que lo resuelve.

Tomando h = 1 y q = 4, obtenemos los siguientes valores:

T0 = T( 1 ) T, = T( 1/4 ) T2 = T( 1/16;
T, T4 T5 T6 = = = = T( T( T( T(

= = = 1/64 ) = 1/256 ) = 1/1024 ) = 1/4096) =

0.7674476143526886... 0.907811003517944... 0.915982489008729... 0.91649108309199... 0.916522861975641... 0.916524848123669... 0.916524972257791...

66

Anlisis numrico. Primer curso

Errores en el clculo numrico

67

Para simbolizar el resultado teniendo en cuenta los errores de redondeo utilizaremos A, y para simbolizar los datos teniendo en cuenta los errores inherentes utilizaremos X. Observemos que A( X ) = P( X ) para todo X. Simbolicemos ahora los errores absolutos al final del clculo:

|| A( X ) - A( X ) || = || A( X ) - A( X ) + A( X ) - A( X ) || < [ ) - A ( X ) | | + | | A ( X ) - A ( X ) | | < | | A ( X ) | | C p r + ||A(X)||CpCan = = || A( X ) || ( Cp r + Cp Ca Jl), de donde vemos que: ery || S :C a jl + r ) "(11.1)

F( X ) - P( X ) = F( X ) - A( X ) = ed P( X ) - P( X ) = A( X ) - A( X ) = e A ( X ) - A ( X ) = er

error de discretizacin error inherente propagado Ya vimos que C coincide con la condicin del problema, y ahora vemos que:

error de redondeo propagado

T =^ r
J

(11.2)

Veamos ahora que el error absoluto total del resultado es la suma de los errores absolutos considerados:
e,o,ai=

Observemos finalmente que los nmeros de condicin dependen de los datos de entrada, y que pueden tener valores completamente distintos entre s.

F(X)-A(X) = F(X)-A(X) +A(X)-A(X) + A(X)-A(X)


total

Definicin de precisin mxima


Dado un Problema Matemtico Y = F( X ), su correspondiente Problema Numrico Y = P( X ), y el Algoritmo para resolverlo Y = A( X ), diremos que lo hemos resuelto con PRECISIN MXIMA si se cumple la siguiente condicin:

Para los errores relativos observemos que:


pr
Cr

Cr

A(X) ~ F(X;

A( X )

F( X

>erd =

F(X) siendo

Ed < 0.2 E

( 11.3)

de donde deducimos que:


c tolal Crtotal

F(X)

Er una cota de los errores absolutos de redondeo propagados Ed una cota del error absoluto de discretizacin E una cota del error absoluto inherente propagado Si expresamos ( 11.3 ) en funcin de una cota para los errores inherentes y (0., tenemos que Precisin Mxima equivale a:

Ahora obtengamos expresiones en funcin de los errores en los datos y la unidad de redondeo. Si r es una cota para el error relativo en los datos de entrada, despreciando los trminos de orden mayor que uno, y utilizando las expresiones ( 9.3 ) y ( 9.8 ) obtenemos:

68

Anlisis numrico. Primer curso


|| A( X ) || Cp Ca A( X ) - F( X ) || < 0.2 || A( X ) || Cp r

Errores en el clculo numrico

69

ps = x - -r- = 0.499 674 179 o Pe = 1 - = 0.862 922 161

Si el error de discretizacin A( X ) - F( X ) es nulo, entonces Precisin Mxima equivale a:


Ca 11 < 0.2 r, y si r = n y Ed = O, equivale a Ca < 0.2

Por lo tanto en nuestra mquina la tangente resultar: Ps = 0.579048959 Pe El error de discretizacin de esta aproximacin es igual al error propagado al cociente por las "perturbaciones" Ts y Te:
e r . l ( discretizacin ) <
18

Resolucin del problema planteado en 1.1


Supongamos |l = 0.5 10'8, d( A , B ) = 2000 m 20 m, a = 30 1, y que nos piden estimar d( b , c ) con un error relativo inferior a 0.1 Observemos primero que | e r d ( A Nuestro objetivo es que: Error relativo discretizacin + Errores relativos propagados < 0.1 Error relativo de discretizacin Vamos a suponer N = M = 2 para estimar el seno y el coseno, y acotemos el error de discretizacin de la tangente: Observemos que x = 3071/180 = 0.523598775 sen( x ) = x - + Ts( x ) = Ps + Ts cos( X ) = 1 _
B)|

< 0.1 y que | era | < 0.034

, , ,.

.,

, , 3.3 10 4 3.2 10'2 < 0.0044 H 0.49967 0.86292

Para el error de discretizacin relativo total, tenemos: I e r d( n , r > I ( discretizacin ) = d(A,B)tg(x)-d(A,B)Tg(x)


d(A , B ) tg( x ;

tg(x)-t(x) tgU

( vemos que el error relativo de discretizacin total es igual al error relativo de discretizacin de la tangente ) ery | | ertg | < 0.0044

- + Tc( x ) = Pe + Te

Ts| < < 0.00033 | Te | < < 0.0032 4! En nuestra mquina obtenemos para Ps y Pe:

Tenemos que el error relativo en 71/180 es despreciable con respecto al error relativo en a , por lo tanto el error relativo inherente en x est acotado por 0.034, y para estudiar la propacin de este error y de los errores de redondeo en el clculo de la tangente, construyamos la grfica de proceso:

Errores en el edculo numrico 70 Anlisis numrico. Primer curso

71

( oino el error relativo propagado por el producto es igual a la suma de los 1 1 < > i es relativos, tenemos:
erd ( B , C ) Crd ( A , B )

(,!(. ltimo e es el error de redondeo del producto de la tangente por d(A, B)), entonces:

er.d ( B , C ) < 0.048 + 5.42 (i -t- 0.01 < 0.058


lista ltima expresin incluye los errores inherentes y de redondeo propal',,ulos; si le agregamos el error de discretizacin tenemos el error total: i e r d ( B C ) | < 0.0044 + 0.058 < 0.063 I ntonces: d ( C , B ) = 1158.1 (0.063 1158.1) = 1158.1+73 0.034 i )bservemos que el error que ms peso tiene en el resultado es el del ngulo, que es propagado por la tangente, y que los errores de redondeo, debido a la poca cantidad de cuentas y al valor pequeo de la unidad de redondeo, son preciables.

0.034

0.034

Recomendaciones para lograr mayor precisin


I ) Para sumar nmeros del mismo signo, ordenar de menor a mayor en
I nodulo.

Siguiendo la grfica obtenemos: | er | (inherentes ms redondeo) <

.') Evitar restas de nmeros aproximadamente iguales. 3) Si hay que efectuar a c - b c o a/c - b/c y a = b,

0.068 + E, + e, 0.068 + 5 + 6 0.138 < ! 0.046 + 0.034+ e, + e4 + O.ooz 0.954 erlg | < 0.048 + 4.42 u

i onviene sacar factor comn: c ( a - b ) o (a-b)/c 4 ) Minimizar el nmero de operaciones.

72

Anlisis numfr^sffrimer curso

Errores en el clculo numrico

73

' ! %.:^^-v'. .;-,->,-.::

EJERCICIOS

'

tf 1) Calcular con tres decimales correctos o significativos las siguientes expresiones:

propagado al logaritmo suponiendo que el error inherente en x es nulo. Obtenga una mejor aproximacin del valor buscado construyendo un problema numrico ms estable que el propuesto para los datos que se poseen. (i) Se estn realizando observaciones de un satlite para determinar su velocidad. En la primera observacin la distancia medida al satlite fue r = 30000 10 km. Cinco segundos ms tarde se determina un aumento en la distancia 8 r = 125.0 0.5 km y el cambio en la orientacin result de &)> = 0.00750 0.00002 radianes. Hallar la velocidad del satlite suponiendo que el mismo se mueve en lnea recta y a velocidad constante durante ese intervalo de tiempo; indicar la precisin del resultado. Considerar exacto el lapso de 5 segundos. /) Se dispone de un algoritmo para computar la siguiente integral:
, b) = j o a+x dx

a) 1.3134 TC

b) 0.3751 e

c) Tte

/ 2) Hallar cotas para los errores inherentes propagados (absolutos y relativos) en los ' siguientes clculos, donde x = 2.00 , y = 3.00 y z = 4.00 y c) f = xsen( -) y-z a) f = 3) Siendo x = 2.0 0.1 , y = 3.0 0.2 y z = 1.0 0.1 hallar una cota para el error absoluto inherente propagado de la siguiente expresin:
w xy 2

Utilizando dicho algoritmo se obtuvo la siguiente tabla:


a b

4) Calcular la expresin:
a) f = ( V~2 - 1 )6

utilizando para -\T2 el valor aproximado 1 .4. Sustituir el valor aproximado en a) y en cada una de las expresiones siguientes:
1 ( ^ 2 + 1) 6 c) f = ( 3 - 2 V~2 )3
d)f=

0.39 0.40 0.40 0.40 0.41

0.34 0.32 0.34 0.36 0.34

1.425032 1.408845 1 .398464 1.388198 1.372950

Se pretende estimar l(z, y), siendo y, z cantidades fsicas obtenidas de un proceso de medicin: z = 0.400 0.003 y y = 0.340 0.005 Aproximar el nmero buscado y dar una cota para el error inherente propagado. ii) Dibujar las grficas de proceso, determinar la condicin del problema y el trmino de estabilidad para los siguientes casos:
b) v = 2 a

(3 + 2 1
99 + 70 V 2

e) f = 99 - 70
f)f =

5) Aproximar la expresin ln( x - V x2 -1 ) para x = 30, sabiendo que la raz cuadrada se conoce con 6 decimales significativos. Hallar una cota para el error

74

Anlisis numrico. Primer curso

Errores en el clculo numrico

75

c)u = a + a + a d) v = 3 a
Suponer que a posee cierto error inherente y que los errores inherentes de 2 y 3 son nulos y pueden ser representados exactamente. Comparar los resultados y extraer conclusiones. Efectuar los clculos con a = 0.6992 en el sistema [ 6 ( 1 0 , 4 , 1 ) , red] 9) Considere las expresiones:

1 1 ) Calcular u2 - v2 en el sistema de numeracin [ G( 10 ,4 , 1 ) , red ] con u = 43.221 y v = 43.11 , utilizando los siguientes algoritmos: a) uu-vv b) (u + v ) ( u - v )

Indicar cul algoritmo es ms conveniente y justificar. \?) Indicar cul de los siguientes algoritmos es ms estable para calcular la menor raiz de la ecuacin:

a) T-

a-b

b) -c- -

- 2 x + a= 0
a) ti! = 1 - a; ^2 = ^ ^ ; b) T], = 1 - a;

0<a1 x = T]3 = 1-Ti 2 ;

Suponga que a, b y c son todos positivos, sin errores inherentes y adems a es aproximadamente igual a b. Demostrar que el trmino de estabilidad en b) puede ser mucho mayor que en a). Efectuar los clculos con a = 0.41 y b = 0.36 y c = 0.70 en [G( 10,2,1), red]. 10) a) Demostrar con los siguientes ejemplos que en [ 6 ( 1 0 , 5 , 1 ) , red] no valen la ley asociativa ni la distributiva:
0.98765 + 0.012424-0.0065432 ( 4.2832 - 4.2821 ) 5.7632

Preguntas Tericas l. Identificar y describir las principales fuentes de errores. 'i. Indicar qu significa que un algoritmo es menos estable que otro. Ejemplificar. 1 Indicar cmo hara para determinar la influencia de los errores de redondeo sobre-los resultados de un algoritmo utilizando la computadora. 4. Pretendemos evaluar:
S(x) = n!

b) Trabajando en [ G( 10 , 3 ,1 ) , corte ] evaluar: P ( x ) = x 3 - 6 x 2 + 3 x - 0 . 1 4 9 en x = 4.71 Repetir utilizando el esquema de Horner: P(x) = ( ( x - 6 ) x + 3)x-0.149 Comparar ambos resultados con el que se obtiene trabajando con todos los dgitos de su calculadora.

Hallar estimaciones de los errores de truncamiento, de los inherentes propagados y de los de redondeo propagados al efectuar los clculos.

CAPTULO II

lgebra lineal numrica

II.l Introduccin
Los problemas lineales son los problemas matemticos ms simples, sin embargo son comunes en casi todas las aplicaciones, por lo cual es importante (jue sepamos resolverlos rpida y precisamente. Si A es una matriz cuadrada tenemos dos problemas fundamentales en el algebra lineal: 1) Resolver el sistema lineal de ecuaciones A X = B, donde X y B son vectores columna. 2) Resolver el problema de autovalores, es decir, determinar los autovalores (escalares) \ los autovectores Xk tales que A Xk = \k, k = 1,..., Kxisten estimaciones que indican que la resolucin de un problema lineal mUTviene en el 75% de todos los problemas cientficos. Por ejemplo, se nos plantean problemas lineales cuando interpolamos o aproximamos una serie le datos con una familia de funciones o cuando resolvemos ecuaciones difeinidales por mtodos de diferencias. Incluso cuando resolvemos sistemas de n naciones no lineales, a menudo aproximamos la solucin resolviendo sucesivos sistemas lineales (mtodo de Newton). I-os problemas de autovalores surgen de problemas fsicos tales como viIH.K iones, resonancia, criticalidad de reactores y muchos otros. H lgebra lineal es una buena ilustracin de la diferencia entre matemtii .11 lasica y anlisis numrico. Aunque la teora es conocida desde hace siglos,

78

Anlisis numrico. Primer curso

lgebra lineal numrica En particular definimos la matriz identidad o unidad I como:

79

solo en las ltimas dcadas se ha avanzado decisivamente en la solucin numrica de los problemas 1) y 2 ). Por ejemplo las frmulas para hallar un determinante en forma explcita, para la inversin de una matriz y para la resolucin de un sistema lineal utilizando la regla de Cramer, son muy poco econmicas e introducen grandes errores de redondeo salvo para matrices de 2x2, 3x3 o matrices de estructura muy especial.

I = diag(l, 1 ,..., 1), es decir I = (8^), donde 5,. es la delta de Krorxecker, _ O sea: 8^ = O si i ^ j, 8: = 1 si i = j Dos matrices son iguales, A = B si y solo si a ^ - b ^ para todo i y para todo j. El producto de una matriz A por un escalar k es la matriz k A = (k a.). Si dos matrices tienen la misma cantidad de filas y la misma cantidad de utlumnas, su suma C = A + B, es la matriz con elementos c = a + b . Si A tiene m filas y p columnas, o sea A(mxp) y B(pxn), podemos delinir C(mxn) como el producto de A por B de la siguiente forma: p C = A B si y solo si c i ; = a ; , b t i
k=l

11.2 Conceptos bsicos de lgebra Lineal


En esta seccin repasaremos brevemente los conceptos bsicos del lgebra lineal. Una matriz A es una coleccin de mxn nmeros reales o complejos, ordenados segn el siguiente esquema:
1,1
a 2,l
a l,2

Para la multiplicacin valen las propiedades asociativas y distributiva; no vale en general la propiedad conmutativa: A (B C) = (A B) C, A (B + C) = A B + A C, A B * B C La transpuesta, A', de una matriz A es la matriz cuyas filas son las column.is de A:

a l,n a 2,n

A=

a2,2

a m,l

am,2

La notacin ( mxn ) significa que la matriz tiene m filas y n columnas. Vamos a abreviarlo escribiendo A = ( a.), i = 1,..., m , j = 1,..., n. Si m = n diremos que la matriz es cuadrada. Un vector columna X = ( x ), i = 1,..., m es una matriz de una sola columna. Una clase importante de matrices son las "diagonales", que representaremos as:

Si A' = (b.), entonces b_. = a-, para todo i,j. Para la transpuesta de un producto vale: (A B)1 = B1 A' Diremos que una matriz es triangular si tiene una de las siguientes formas:
O

2,1

2,2

d, . o
0 0 d2 ;" 0

0 0 = diag(d,,...,dn)
; dn n

0 0 0
!,

o $= 0
0

';' u

FI

1,2
'2,2
2,n

Denominaremos a una matriz del tipo L, izquierda o inferior y a una malii/. del tipo &, derecha o superior. Sumas, productos e inversas de matrices 11 ungulares de un mismo tipo son nuevamente matrices triangulares del misino tipo.

80

Anlisis numrico. Primer curso

lgebra lineal numrica

81

Denotaremos el determinante de una matriz cuadrada A por det(A). Las siguientes tres propiedades lo determinan, o sea, son suficientes para calcularlo: i) El valor del determinante no cambia si a una fila (columna) se le suma otra fila (columna) multiplicada por un escalar k. ii) El determinante de una matriz triangular es el producto de los elementos de la diagonal principal: det(S) = r u l r2i2 ... rn,n , det(L) = 1,, 12.2... lnjl iii)Si dos filas (columnas) son intercambiadas, el valor del determinante cambia de signo. Las siguientes reglas tambin son vlidas: det(A) = det(A'), det(A B) - det(A) det(B)
o

De esta forma podemos pensar una matriz constituida por matrices de orden menor:
Au

2,, A=

A,.

donde las Ay (p x q.) son matrices. Decimos entonces que A est partii ionada. Usualmente nos interesa el caso en el que las matrices en la diagonal A,,, son cuadradas; entonces m = n y p, = q, i = 1 ,..., n. Para matrices parialonadas convenientemente, podemos ejecutar formalmente la suma y mulliplicacin como si los bloques fueran escalares. Por ejemplo para el produclo tenemos:
n

Si det(A) - O, la matriz A no es singular. Para toda matriz no singular existe una matriz inversa A"1, con la propiedad A ' A = A A ' = I. Para la matriz inversa de un producto tenemos: (A B)" 1 = B'1 A"1 Una matriz simtrica es una matriz igual a su transpuesta:' A = A' / Si A y B son simtricas, entonces, A B es simtrica si y solo si A B = B A Decimos que una matriz (mxn) es ortogonal si y solo si Q' Q = I Si m = n tenemos que Q' = Q ' y entonces tambin Q Q' = I. Las matrices reales simtricas y ortogonales juegan un papel importante en el lgebra lineal. Decimos que una matriz real y simtrica es definida positiva si la forma cuadrtica asociada es definida positiva, es decir: X' A X > O para todo vector columna X real y distinto de cero. A menudo es conveniente particionar una matriz en bloques, por ejemplo: 7 2 1 5 3 8 8 9 4 4 5 2

C - A B, con C = I A, k B k . Decimos que una matriz es diagonal en bloques, si en forma particionada puede escribirse como: A = diag(A, j,..., A n n ) donde las A son matrices cuadradas. Igualmente podemos definir matrices triangulares en bloques; en este caso v.ile, por ejemplo, que: det(R) = det(RM) det(R 22 ) ... det(Rn,n) Podemos pensar una matriz constituida por vectores fila o vectores column.is. El nmero mximo de vectores fila linealmente independientes es igual <il nmero mximo de vectores columnas linealmente independientes. Este 11 u mero r se llama rango de la matriz A y se denota rango(A) = r. Coni luimos inmediatamente que r < min(m , n). En particular si r = m = n, A rs no singular.

7 2 1

5 3 8

8 9 4

4 5 2

7 2 1

5 3 8

8 9 4

4 5 2

82

Anlisis numrico. Primer curso

lgebra lineal numrica

83

Un sistema de m ecuaciones lineales con n incgnitas, se expresa de la siguiente forma:


i Y -4- i "V -4-\- \ h d l,l X l T d l,2 A2 T " T d l,n A n
ul

am,! X l

+ am,2 X2 + " + am,n Xn = bm

I < >s mtodos iterativos nos permiten construir una secuencia de soluu-s aproximadas, que converge a la solucin exacta cuando el nmero de tiende a infinito. Estos pueden proveernos resultados tiles (a pesar de IIOM-IT error de truncamiento) con menos operaciones aritmticas (esto imi ' I u .1 en general, menor propagacin de los errores de redondeo) que los mimos directos, aunque solo puedan aplicarse a sistemas con propiedades esl'fuales. En consecuencia, la eleccin entre mtodos directos e iterativos Irpcnde de la proporcin, distribucin, signo y magnitud de los elementos no nulos de A. I'.n esta seccin consideraremos distintos mtodos directos.

Tambin puede expresarse en notacin matricial como:


AX = B

Sistemas triangulares
I, os sistemas de ecuaciones lineales donde la matriz es triangular son parn alrmente simples de resolver. Un sistema U X = B, donde la matriz U es 1 1 ungular superior tiene la forma:
U U Xl

Si B = O, el sistema se llama homogneo. Un sistema homogneo de ecuaciones siempre admite la solucin trivial X = 0. Si rango (A) = r, y r < n, el sistema homogneo tiene (n - r) soluciones linealmente independientes.

II.3 Mtodos directos para resolver sistemas de ecuaciones lineales


Se llaman mtodos directos aquellos que dan la solucin exacta de un sistema de ecuaciones lineales (salvo errores de redondeo) luego de un nmero de pasos de clculo finito y conocido de antemano. (Tenemos entonces que son mtodos en los que el problema numrico coincide con el problema matemtico, o sea, son nulos los errores de truncamiento). Para un sistema de ecuaciones A X = B, donde la matriz A es llena (es decir, la mayora de los elementos de A son no nulos), los mtodos de eliminacin directa son casi siempre los ms eficientes. En los casos en que A es rala (es decir, cuando una gran proporcin de los elementos de A son nulos), los mtodos iterativos ofrecen cierta ventaja sobre los directos, es ms, para sistemas ralos muy grandes se vuelven indispensables.

Xn-, + U , , n Xn

U n-l,n-l

Xn-1 + U n-l,n Xn

"Vi

Un,n

Xn ~ "n

Si suponemos que u u * O , i = 1, 2 ,..., n , podemos calcular las incgnien el orden: \ x n _, ,..., x, de la siguiente forma;

84

Anlisis numrico. Primer curso

lgebra lineal numrica

85

Podemos escribir esto en forma mas compacta:


n

x = (b- Z u i k x k )/u H , i = n , n - 1, ... , 1


k=i+l "

(3.1)

Supondremos en lo que sigue que la matriz A = (a ) es no singular. Enton> i-, d sistema A X = B tiene solucin nica. Ahora supongamos que aj , & 0. lnlonces podemos eliminar x, de las (n - 1) ltimas ecuaciones de la siC.ninite forma: a la i-sima ecuacin se le resta la primera ecuacin multiplicada por: itij, = a^/a,, , i = 2, 3,..., n Fn consecuencia las ltimas ( n - 1 ) ecuaciones se transforman en
(2)

Dado el orden en que obtenemos las incgnitas, este algoritmo se denomina SUSTITUCIN INVERSA. Podemos resolver en forma similar un sistema lineal triangular inferior L X = B; suponiendo que lu # O , i = 1, 2 , ... , n, las incgnitas pueden ser obtenidas por SUSTITUCIN DIRECTA:

xi = (b i -2l i > k x k )/l u , i=l,2,...,n


k=l

i-l

a (2>2 x n = b (2)2 ,n 2
(3.4)

(3.2)

De estas frmulas podemos deducir que la solucin de un sistema triann

guiar requiere de n divisiones y (i - 1) = 1/2 n (n - 1.) sumas y multiplii=i caciones, o sea un total de n + n (n - 1) = n2 operaciones. La bondad de estos sistemas se comprende si observamos que multiplicar un vector por una matriz triangular de orden n requiere exactamente n2 operaciones.

donde los nuevos coeficientes se obtienen mediante las relaciones:


,j = a ,j - m u a i,j' j = 2 ,..., n, b(2) = b - m u b,, i = 2 ,..., n .

(no es necesario hacer el clculo para j = 1 pues sabemos que a <2) , = 0) Tenemos entonces un sistema de ( n - 1 ) ecuaciones en las ( n - 1 ) incgnitas x2, x3,..., xn. Queda claro de acuerdo a lo visto en la seccin II. 1, que las soluciones de ( 3.3 ) y las del sistema formado por la primera ecuacin de ( 3.3 ) y las del ( 3.4 ) son coincidentes. Si a ( 2 ) 2 2 # O, podemos en forma anloga, eliminar X2 de las ltimas (n-2) ecuaciones de ( 3.4 ) obteniendo un sistema de (n - 2) ecuaciones en las incgnitas X 3 ,x 4 , ...,xn. Si denotamos m j 2 = a (2)u / a (2)2 2 , los coeficientes del nuevo sistema estarn dados por:

Eliminacin de Gauss
El mtodo directo ms importante para resolver un sistema lineal general cualquiera es la eliminacin de Gauss. La idea del mtodo es eliminar las incgnitas en forma sistemtica, de modo de transformar el sistema original en uno equivalente triangular, para proceder luego como vimos en la seccin anterior. Consideremos el sistema:

Xl

+ a 22 X2 + - + 3 2n Xnn = 2,2 2 2,n + an,2 *2 + + an,n Xn

(3.3)

a (3)

,j

a (2)

,j

i,2^

(2)

2,j > >

j _ -3 J

> > n> i ~

L(3) _ U(2)

m L(2) m,2 D 2 ,

i j ,..., n

:_ T

3 n,l X l

86

Anlisis numrico. Primer curso

lgebra lineal numrica

87

33 ..., Los elementos a , ,, a ( 22)2 > a ( 3 ) ,, ..., a(n n_} __,, que aparecen durante la eli, minacin se llaman elementos pivotantes. Si todos ellos son no nulos, podemos continuar la eliminacin hasta que luego de (n - 1) pasos obtengamos el siguiente sistema equivalente al ( 3.3 ):
v -t-... -t- a V IV ai v ' J ,_ 2 x2 -4- -4- a ' , n xn - u ',
11

Luego de la eliminacin obtendremos Xw haciendo sustitucin inversa en el sistema formado por la matriz resultante de tomar las n primeras columnas de la matriz ampliada transformada por la eliminacin simultnea (la triangulacin de A), y como trmino independiente la columna n + i) de la matriz ampliada transformada por las operaciones de la eliminacin simultnea (transformacin de B (l) ). Tenemos entonces que resolver p sistemas triangulares, con el costo de una nica triangulacin para A, ms la transformacin simultanea de las p H (l) y las p sustituciones inversas. El nmero de operaciones aritmticas requeridas para reducir un sistema i on p lados derechos a forma triangular puede estimarse en: 2/3 n3 + n2 ( p - 1/2 ) - n ( p + 1/6 ) Como el nmero de operaciones necesarias para resolver un sistema triangular, de acuerdo a lo estimado anteriormente es n2, observamos que el tral>,ijo principal en la resolucin de los p sistemas reside en la reduccin a la lorma triangular, sobre todo si p n.
EJEMPLO 3.1

a (2) Y a 2,2 X2

-I4- a' 2) + + a 2,n (n)


3

Xn

V - h (2) ~D 2 ( 3.5 )

_ U(n) n,nXn - D i,

(hemos introducido la notacin a (1) _j = a_., b(1) = b) Observemos que el lado derecho B, se transforma de la misma forma que la columnas de A. Por lo tanto si consideramos que B es la ltima columna de una matriz- A ampliada, podemos simplificar la descripcin de la eliminacin haciendo:
a (k)

_u(k)

i,- i . 7 .

< . :;':' - ' . " -

Entonces podemos resumir la eliminacin Gaussiana como sigue: La eliminacin se logra en (n - 1) pasos. En el paso k los elementos a(k) . , con i , j > k, se transforman de acuerdo a la siguiente relacin:
(k>

Resolvamos el sistema A X = B, con: 1 2 3 4 1 4 9 16 1 8 27 64 1 16 81 256 2 10 44 190

,...,n

(3.6) A=

Notemos que si tenemos que resolver varios sistemas con la misma matriz A, A X (1) = B (1) , A X (2> = B ( 2 ) , , , A X ( P> - B(P>

uiili/,ando eliminacin de Gauss. los podemos tratar simultneamente, adjuntando B''' (que es un vector) a A como la (n + j)-sima columna de la matriz ampliada. La nica variacin que sufrir (3.6) es que el ndice j tomar los valores k+1,..., n,..., n+p. Ordenaremos primero el vector de trminos independientes a continuai u MI de los elementos de la matriz A:

88

Anlisis numrico. Primer curso

lgebra lineal numrica

89

A 1 1 1 1
3 2 4 9 8 27 16 81

l 2 4 1 10 16 44 64 ' 256 , 190

b(matriz ampliada)

Efectuemos ahora la sustitucin inversa, obteniendo primero el valor de x4

24 x4 = 24 2 4 x 4 = 18 2 x2 + 6 x3 + 12 x4 = 8 1 x, + 2 x2 + 3 x3 + 4 x4 = 2

entonces entonces entonces entonces

x4 x3 = x2 = x, =

1 -1 1 -1

Ahora procederemos a multiplicar la primera fila por el multiplicador apropiado, para que restando este producto de cada una de las filas segunda, tercera y cuarta, anulemos el primer elemento de las mismas. En este caso todos los multiplicadores valen uno.

Estrategias de pivoteo
Hemos visto que si en la eliminacin de Gauss el elemento pivotal a ( k ) k k se .nula para algn valor de k, el mtodo falla. Un ejemplo simple de tal caso es el siguiente:
i l

1 2 0 2 O 6 O 14

4 3 12 6 24 60 42 78 252 188

2x

2x3 = 2 2x3 = 1

-)

Debemos anular ahora los elementos de la segunda columna que estn por debajo de la diagonal principal, multiplicando la segunda fila en un caso por tres y en otro caso por siete y restando de la tercera y cuarta fila respectivamente.

Este sistema es no singular y tiene la solucin nica:

1 O O O

2 2 O O

3 6 6 36

4 ^ 2 12 8 24 18 168 132

No obstante luego del primer paso de la eliminacin se obtiene:

x2 + x3 = O
de modo que a (2)2 2 = O y no podemos seguir con la eliminacin de la forma usual. El remedio es obviamente, intercambiar las ecuaciones 2 y 3 antes ilcl prximo paso, que en ste caso particular, provee directamente el sistema triangular. Podramos tambin intercambiar las columnas 2 y 3, pero esto nos llevara a tener que intercambiar tambin el orden de las incgnitas. Consideremos ahora el caso general en el cual en el paso k obtenemos ,i" kk = 0. En este caso, algn otro elemento a (k)ik , i = k+1, ... , n de la columna k debe ser no nulo (de no ser as, las primeras k columnas seran lineal mente dependientes y en consecuencia A sera singular). Supongamos que

Para el ltimo paso de la eliminacin, el multiplicador resulta seis. 1 2 3 4 2

O O O

2 O O

6 6 O

12 24 24

8 18 24

3 i/o

o L'S, 1 i

90

Anlisis numrico. Primer curso

lgebra lineal numrica

91

a (k)rk sea distinto de cero. Entonces podemos intercambiar las filas k y r y proseguir con la eliminacin. Concluimos pues, que cualquier sistema de ecuaciones no singular puede ser reducido a un sistema triangular por eliminacin de Gauss combinada con intercambio de filas. Ahora vamos a analizar en forma introductoria con la ayuda de un ejemplo, la relacin entre la propagacin de los errores de redondeo y un determinado criterio para elegir los pivotes. Consideremos el sistema de numeracin [G(10 ,3 ,1) .corte] y el sistema de ecuaciones lineales:
X, +

Ahora eliminemos el cero que est debajo de la diagonal en la columna 2:

1 O O

1 l O

1 0.999

1 O' 1

De donde deducimos: x3 = 1.00, x2 = - 1.00, x, = 1.00, mientras que la solucin exacta vale: x3 = -x 2 = 1.00010001..., x,= 1 Este ejemplo pone de manifiesto la importancia del pivoteo en el control ile la propagacin de los errores de redondeo. Notemos entonces, que para prevenir catstrofes como la mostrada, es usualmente necesario elegir el elemento pivotal en el paso k utilizando una de las siguientes estrategias: i) PIVOTEO PARCIAL: Consiste en elegir r como el menor entero para el cual
r,k

x, + x3 = 1 0.0001 x x2 + x3 = O

Apliquemos eliminacin de Gauss hasta obtener la solucin en el sistema de numeracin indicado: .

1 1
0

1
1

1
O O

1
0.0001 O

1
1

1
1

0.0001 1

- 9990 - 10000

- max

}, k < i < n

ii) PIVOTEO COMPLETO: Consiste en elegir r y s (utilizando por ejemplo un orden de tipo lexicogrfico) como el "menor par" de enteros para los cuales

De donde deducimos: x3 = 1.00, x2 = 0.00, x, = 0.00 Vamos a resolver ahora el mismo sistema, pero utilizando como pivote en el paso k, el elemento de mayor mdulo de la columna k desde la diagonal para abajo, tcnica conocida con el nombre de pivoteo parcial: Comenzamos entonces invirtiendo las filas 2 y 3:

= max

,(k)

e intercambiar las filas k y r y las columnas k y s. Observemos que haciendo pivoteo completo, seleccionamos como pivote i .ula paso, al elemento de mayor valor absoluto de entre todos los posibles. ||i l.i prctica, el pivoteo parcial es generalmente satisfactorio, y debido a la llu yo r cantidad de bsqueda que implica el pivoteo completo, ste no resulta Htiy usado. lxisten dos casos importantes en los cuales la eliminacin de Gauss puede lli/.iirse sin intercambio de filas o columnas.

1 0 0

1 0.0001 1

1 1 1

1 1 0

1 O O

1 1 0.0001

1
1 1

1 o 1

92

Anlisis numrico. Primer curso

lgebra lineal numrica

93

Estos corresponden a sistemas en los cuales la matriz A es de uno de los siguientes tipos: a) Diagonal dominante, es decir: |a>1| > L |ag|, i = l , 2 , . . . , n b) Simtrica y Definida Positiva, es decir:
A' = A

comenzo
a,,i = a,j - m

X' A X > O para todo

X* O

Algoritmo para la eliminacin de Gauss con pivoteo parcial comienzo entrada : n, p, (a.) i = 1,..., n, j = 1, , n + p; para k = 1 , 2 , . . . , n - 1 hacer comienzo (* bsqueda del pivote e intercambio de filas *) max - abs(ak>k);
ind = k ;

fin(j) fin i) fin( k ) para k = 1, ..., p hacer comienzo para i = n, n - 1, ..., 1 hacer comienzo s = O;j = i + 1 ; mientras j < n hacer comienzo
s

%; ;

j=j+l; finmientras
XiJ< =

= s + a,j xj,k ;
( 3,,n+k - S ) / ai,i !

finf)

fin( k )
salida: ( x^ ) i = l , . . . , n , j = l , . . . , p fin

para i = k + 1,..., n hacer comienzo si abs(a, k ) > max entonces max = abs(aik) ; ind = i finsi; fin( i) para j = k,..., n + p hacer comienzo aux = a nd,j
3ind,j

Dejamos como ejercicio agregar las preguntas necesarias para distinguir una matriz singular y en ese caso detener el proceso de clculo.

Descomposicin LU Kl algoritmo anterior resuelve simultneamente p sistemas de ecuaciones u)ii una matriz comn a todos ellos utilizando la eliminacin de Gauss, con la condicin de conocer de antemano los p trminos independientes. Sin nnkirgo existen situaciones en las cuales no conocemos todos los miembros I' icchos desde un principio. Por ejemplo, podemos querer resolver: A X ( I ) = B(1> y AX <2) = B(2), siendo B(2) una funcin de X(1).

~ ak,j '

akj=aux;
fin(j)

(* fin del intercambio de filas *) para i = k + 1, k + 2, ..., n hacer comienzo


= a,,k akik , para j = k + 1, ..., n + p hacer

(ionio no conocemos de antemano B (2) , no podemos aplicar el algoritmo ! K n desarrollado. Puede parecemos necesario en este caso repetir la elimi-

94

Anlisis numrico. Primer curso

lgebra lineal numrica

95

nacin de Gauss sobre A para operar sobre el segundo trmino independiente. Veremos ahora que utilizando la descomposicin L U esto no es necesario. Dada una matriz A nxn supongamos conocer una matriz L y otra U con las siguientes propiedades: A = L U, L triangular inferior y U triangular superior. En este caso para resolver A X = B procedemos de siguiente forma: Resolvemos primero mediante una sustitucin directa L Y = B y luego mediante una sustitucin inversa U X = Y. En consecuencia, conociendo estas dos matrices podemos resolver el sistema AX=B efectuando 2 n2 operaciones, mientras que la eliminacin de Gauss requiere 2/3 n3 operaciones. Estableceremos ahora los fundamentos de la descomposicin L U:

ii) E . es la matriz que se obtiene permutando las filas i y j de la identidad. iii) E(t) - es la matriz que se obtiene sumando a la fila i de la identidad la fila j multiplicada por la constante c. Hs fcil ver que premultiplicando una matriz A por una matriz elemental .( obtiene la matriz que resulta de aplicar a A la misma operacin elemental. Como ya vimos que la eliminacin de Gauss podemos realizarla aplicando una sucesin de operaciones elementales de los tipos mencionados en ii) y i i i ) queda claro que:

donde simbolizamos las matrices del tipo ii) (de permutacin) con la letra I ', y las del tipo iii) con la letra E. Para establecer el teorema debemos observar que para dos matrices elementales cualesquiera P y E resulta: P E = P E (P P) ya que P es inversa de s misma, y entonces: P E = (P E P) P y P E P es una matriz del tipo iii) que llamaremos E', Multando:

Teorema 3.1
Dada una matriz A de nxn no singular, existen una matriz P de permutaciones, una matriz L triangular inferior con unos en la diagonal, y una matriz U triangular superior, tales que: PA = LU La demostracin de este teorema resulta sencilla usando matrices elementales, las que se obtienen realizando operaciones elementales de filas sobre la matriz identidad: i) E(c) es la matriz que se obtiene multiplicando la fila i de la identidad por la constante c.

E = E'P. Aplicando resursivamente el resultado anterior llegamos a: |<;(io p(q) (k-D p(i) A = E' (k) E' (k " 1) E' (1> ( P q) P
(1)

;.

)A = U

kcsta observar que cualquier matriz elemental E' obtenida en este procement es triangular inferior con unos en la diagonal, y por lo tanto tiene crsa, que tambin resulta triangular inferior con unos en la diagonal, y unces llamando P al producto de las matrices P(l) la matriz L buscada ulta ser: L = ( E I(1) )-' ... ( E'(k) )-' c.q.d.

96

Anlisis numrico. Primer curso

lgebra lineal numrica

97

La solucin de A X = B es la misma que la de (P A) X = (P B), que obten mos mediante las dos sustituciones que nos permiten resolver LUX=PB Para construir el Algoritmo de la descomposicin L U debemos observar que U es la misma matriz que resulta de la Eliminacin de Gauss y L se construye con los multiplicadores utilizados en la eliminacin:
s

Almacenamos los multiplicadores mj;k en la forma ya indicada; notemos que ellos sern intercambiados junto a las filas correspondientes. Al querer resolver A X = B, aplicamos los intercambios de fila k por |\ k = 1, 2,..., n al vector B, obteniendo el vector P B. Finalmente resolvemos el sistema haciendo las dos sustituciones. Algoritmo para la descomposicin L U con pivoteo parcial comienzo entrada : n, ( a y ) i = l,...,n, } = l , . . . , n ; para i = 1,..., n hacer comienzo
i ' i

con

.'."'
'"i * f

,V

Como determinamos los mi,k de forma tal que a (k+1)ik sea nulo, podemos superponer la escritura de m j k sobre a""""^ y al finalizar la Eliminacin de Gauss tendremos en A todos los valores necesarios para construir L y U, pues los elementos diagonales de L son triviales y no necesitamos almacenarlos. En consecuencia una vez finalizadas las operaciones dispongamos de la siguiente matriz almacenada en A:

U ,,,

U ,,2 U2,2

U!,n U2n

kl

kl

k,2

u n,m

Resumiremos ahora la forma en que la descomposicin LU es utilizada en la prctica para resolver un conjunto de sistemas lineales A X(l) = B(l) , i = 1, 2,..., p en donde puede ocurrir que B (l) sea funcin de X(i) con j < i. Realizamos la Eliminacin de Gauss con pivoteo parcial sobre A y almacenamos los ndices de las filas pivotantes en un vector ( p,, p2,..., pn ); este quiere decir que p indica que fila de A es la i-sima de P A.

fin(i) parak= 1,2, ...,n- 1 hacer comienzo (* bsqueda del pivote, intercambio de filas y actualizacin de p *) max = abs( a k k ); ind = k ; para i = k + 1,..., n hacer . comienzo si abs( a l k ) > max entonces max = abs( a ij( ) ; ind = i tp; fin(i) . ' para j = 1,..., n hacer comienzo aux = a ind . ; .: "; '. ;/ aind,i - %; a k j = aux; .'
aux = D: ,;

fi(j)

'-.

"

'

' ' ' . " ' ';. ' ;.

pk = aux ; (* fin del intercambio de filas y actualizacin de p *) para i = k + 1, k + 2,..., n hacer comienzo

98

Anlisis numrico. Primer curso

lgebra lineal numrica comienzo


s = s + ai,j x i; j = j + i;

99

para j = k + 1,..., n hacer comienzo


ai,j

~ ai,j " 3i,k 3k,j >

.'

fin(j)

finmientras

fin(i) fin(k) salida : ( p) i = 1,..., n , ( a^) i = 1,..., n , j = 1,..., n fin


Nuevamente dejamos como ejercicio agregar al algoritmo las preguntas necesarias para distinguir una matriz singular, y en ese caso detener el proceso. / Algoritmo para las sustituciones directa e inversa comienzo entrada: n, p, A, B ; (* p y A son las salidas de la descomposicin L U *) para i - 1,..., n hacer comienzo bp = b pi ;
fin(i)

x = ( y i - s ) / a i . ;

fin(i)
salida : ( x) i = 1, ...,n

fin
Es til mencionar que la mejor forma de calcular el determinante de una matriz A es generalmente, realizar Eliminacin de Gauss sobre A y utilizan det(A) = signo(P) a (1)u a(\.'.. aM^ siendo signo(P) igual a 1 -1 de acuerdo a que la cantidad de intercambios de filas realizados en la eliminacin halla sido par o impar respectivamente.

Esquemas compactos para la Eliminacin de Gauss


Cuando resolvemos un sistema lineal por Eliminacin de Gauss debemos escribir aproximadamente n 3 /3 resultados intermedios (uno para cada mull plicacin); incluso para valores de n pequeos esto es muy tedioso y da lui;.ir a muchos errores de redondeo. Si A = L U o si conocemos de antemano una P tal que P A = L U podemos modificar el algoritmo de forma tal que los elementos de L y de U sean tleierminados directamente sin utilizar la Eliminacin Gaussiana.

(* sustitucin directa *) para i = l , . . . , n hacer comienzo


s = 0; j = 1 ; .

mientras j < i hacer comienzo

finmientras

Hi

La igualdad A = L U es equivalente a las ecuaciones:


m k, Pu p,j

y=bp r s; fm(i)
(* sustitucin inversa *) para i = n, n - 1,..., 1 hacer comienzo

= min(k,j)

i L.. As tenemos n2 ecuaciones con n2 incgnitas. V* I Demos a k un valor entre 1 y n y observemos las siguientes ecuaciones:

s = 0 ;j = i+ 1 ;
mientras j < n hacer

CJ p)

a,,: =

P=I

a,k

= P=I

, u Dk ,

i > k.

100

Anlisis numrico. Primer c,urso

lgebra lineal numrica

101

Considerando que m k k = 1, los elementos:


Uk,k

'*

j*

u k,j = aa - > s k,

>

U k,k + l

' - Uk,n

m k + l,k>

"W' -> m n,k

pueden ser calculados en ese orden de:


k-l

; ; ,t;

u k j = a k . - E m k p up>j , j = k , k+1,..., n P=I


k-l

,.;', ; h x i ; >

ur j = j + 1 ; :.. f i n m i e n t r a s ( j) , i=k+l; mientras i < n hacer comienzo s = 0;


- "S

....**) '

n\ = (a. k - S m i p up,k)/uk>k , i = k+1, k+2 ,.... n ; ,,noitn


P =I rlMW*

mientras p < k - 1 hacer comienzo


s - s + 1, u . ;

,,m 2 ~^s)

Este mtodo es llamado Mtodo de Doolittle. finmientras( p)

Algoritmo de Doolittle
comienzo entrada : n , (ap , i = 1,..., n , j = 1,..., n para i = 1,..., n hacer comienzo para j 1,..., n hacer W comienzo

i'=i+l'; finmientras( i) fin( k) para i - 1,..., n hacer comienzo


fin i) salida : (1^ ) , ( u^ ) , i = 1,..., n , j = 1,.... n

u(. = Q; fin( j) fin( i) para k = 1,..., n hacer comienzo j = k; mientras j < n hacer comienzo
s = 0;

Si en vez de imponer la condicin m k k = 1, adoptamos la convencin u k k = 1, k = 1, 2,..., n , obtenemos una versin ligeramente distinta, llamada Mtodo de Crout:
m,k
K-:'t>

= ai,k - 2 m i p u pk , i = k , k + 1,.... n
k-l

J, mk,P UP;)) / mk,k > j = k + 1,..., n


En lo anterior hemos supuesto que no hay pivoteo; sin embargo es eseni ial para la utilidad de estos mtodos que puedan ser combinados con pivoico parcial de una forma directa; no obstante esto no es sencillo.
'

mientras p < k - 1 hacer comienzo

s = s + kP UP,J ;
fnmientras( p )
"*

f ., ,
Ar

102

Anlisis numrico. Primer curso

lgebra lineal numrica

103

Para matrices simtricas definidas positivas, los esquemas compactos son particularmente atractivos dado que el pivoteo no es necesario. Un mtodo muy conocido se obtiene imponiendo la condicin U = L1 , entonces uk,k = mk,k Y up,k = mk,P Y las frmulas anteriores adquieren la forma simplificada: mk,k = (a k , k ~ k K p ) 2 ) 1 / 2 P =i
k-l
k m mk , ) / m k kk , k = l , . . . , n , i = k+l,...,n

11.4 Matrices especiales


En la prctica encontramos a menudo sistemas A X = B en los cuales la matriz A tiene propiedades especiales, de forma tal que podemos ahorrar operaciones y espacio en memoria modificando el algoritmo. En lo que sigue .malizaremos brevemente algunos casos importantes.

Matrices simtricas definidas positivas


Si A = (a.) es una matriz simtrica, los elementos transformados por Eliminacin de Gauss sin pivoteo, tambin forman una matriz simtrica. En umsecuencia, necesitamos solo computar los elementos de A (k) que estn en, y por encima de la diagonal, reducindose el nmero de operaciones y el espai io de memoria utilizado a casi la mitad. No siempre podremos realizar la Eliminacin de Gauss en matrices simI ricas sin pivoteo. La simetra es preservada si se elige el pivoteo a lo largo de la diagonal principal; sin embargo este procedimiento no es siempre estable. En consecuencia, no podemos utilizar para todas las matrices simtricas la Eliminacin de Gauss Simtrica. Puesto que la Eliminacin de Gauss sin pivoteo es siempre estable para matrices simtricas definidas positivas, ser conveniente que enunciemos un criterio accesible para determinar cuando una matriz posee esa propiedad: (Tterio de Sylvester: Una matriz A de nxn simtrica, es definida positiva si y solo si det(Ak) > O, k - 1,2, ...,n, londe Ak es la matriz de kxk formada por la interseccin de las primeras k lilas y las primeras k columnas de A.

Este es el popular Mtodo de Choleski o de la raiz cuadrada.

Matrices inversas
Si conocemos la matriz inversa A"1, podemos calcular directamente la solucin de A X = B utilizando la frmula:
X = A ' B.

Puede ser entonces tentador calcular la inversa de A, especialmente si debemos resolver sistemas con la misma matriz y distintos trminos inde pendientes. Sin embargo en estos casos suele ser conveniente utilizar la descomposicin L U. De todas formas a veces es necesario calcular la inversa (por ejemplo, en conexin con anlisis regresivo en estadstica). Podemos entonces calcularla de la siguiente forma: Si llamamos X a la inversa, o sea X = A"1, tenemos que A X = I, o sea:

donde X(i) y E son la j-sima columna de X e I respectivamente. Entonces la columna j-sima de A"1 es la solucin del sistema lineal de matriz A que tiene por trmino independiente la columna j-sima de la matriz identidad.

104

Anlisis numrico. Primer curso

lgebra lineal numrica

105

Matrices banda
Muchos problemas (por ejemplo problemas de valores de contorno para ecuaciones diferenciales ordinarias) producen sistemas lineales ralos, donde los elementos no nulos se localizan en una banda centrada a lo largo de la diagonal principal. En general, una matriz A para la cual:
a j -O p o

Si la descomposicin L U existe, puede ser escrita como:


i ;

1 P2 0
0 0 0

P3
0 0 0

0 0 1
0 0 0

0 0 0 1
Pn-,

0 0 0 0

0 0

-.-'!.

se llama matriz banda, con ancho de banda w = p + q + 1 . Los sistemas de ecuaciones asociados con matrices banda son particularmente aptos para ser tratados con la Eliminacin de Gauss, ya que la estructura de banda se mantiene en lo esencial al efectuar la eliminacin. Si no hay pivoteo, las matrices triangulares L - (m.) y U = (u p, sern matrices banda con: m^^O
u- = O

1
Pn

0 0 > 1

i * -i
U=

a, 0 0
0

c.
2

0
C2

si j > i o
si >j

i > j + q,
+p

y
i-, .

o j>i

0
0

0 : 0 0 0

0 0 0
n-2

0 0 0

o"
0 0 0
C n-l

0 0 0

C n-2

0 0

n-, 0

A menos que A sea diagonal dominante o definida positiva, debera usarse pivoteo parcial. Esto no cambia el ancho de banda de L, pero el de U es ahora el mismo que el de A, es decir:
s

Efectuando el producto de L por U y luego igualando, podem jur primero a, y luego fik , ak en ste orden:

a. = a,, ,
Pk = bk / cck., , cck = ak - pk c k _, , k = 2, 3,..., n.

La reduccin en tiempo y almacenamiento para sistemas banda con p, q n es considerable. Un caso especial muy frecuente es el de las matrices tridiagonales, o sea

Entonces la solucin del sistema A X = F la encontramos por sustitucin tli i ceta e inversa mediante las frmulas: y, = f. . Yi = f - P Yu , i = 2,3,...,n xn = y n / a n , xi = (y-cxi+l)/a, i = n - l,n - 2,..., 2, 1.

4 -1 -1 0

-1 4 0 -1

-1 0 4 -1

0 -1 -1 4

106

Anlisis numrico. Primer curso

lgebra lineal numrica

107

El nmero total de operaciones aritmticas necesarias es slo de 3 (n - 1) sumas y multiplicaciones y 2 n - 1 divisiones. A pesar de la utilidad de la Eliminacin de Gauss para muchos sistemas con estructuras de banda, a veces impone serias limitaciones el hecho de que el mtodo no preserva el raleado dentro de la banda. En estos casos, es ms conveniente utilizar mtodos iterativos.

Entonces podemos reescribirlo de la siguiente forma:

)*>

El Mtodo de Jacobi consiste en tomar una aproximacin inicial X(0) (usualmente X(0) es el vector nulo) y construir una secuencia de aproximaciones X ( 1 ) , X ( 2 ) ,... utilizando la expresin:
u-(k+l) _

(5.1)

II. 5 Mtodos iterativos


Los mtodos que hemos discutido hasta ahora son directos, esto quiere decir que la solucin que hallamos en un nmero finito de operaciones no tiene error de truncamiento. (Tambin podemos decir que para stos mtodos el problema matemtico coincide con el problema numrico.) Contrariamente a stos, los mtodos iterativos comienzan con una primera aproximacin, que es sucesivamente mejorada por los elementos de una secuencia de nmeros que convergen a la solucin exacta. Evidentemente el proceso se trunca cuando los nmeros obtenidos alcanzan la precisin deseada, dando lugar entonces a la existencia de un error de truncamiento. (En estos mtodos, la solucin del problema numrico es slo una aproximacin de la solucin del problema matemtico.) Los mtodos iterativos son usados a menudo para resolver grandes sistemas de ecuaciones ralos. Estos sistemas se presentan por ejemplo, en estudio de redes de corriente elctrica, modelos de sistemas econmicos y procesos fsicos tales como difusin, radiacin y elasticidad. Tomando lmite a ambos lados de la ecuacin ( 5.1 ) observamos que si el lmite existe, o sea:

lim x(k) = x, , i - 1, 2, ..., n,


debe ser una solucin del sistema original, pues:

J*>

El Mtodo de Gauss-Seidel

Observemos que en el Mtodo de Jacobi, no usamos los valores mejorados sta haber completado la iteracin. En cambio, en el estrechamente relaciodo Mtodo de Gauss Seidel, usamos los valores mejorados apenas calculas (lo que en general acelera el proceso de convergencia), es decir:
x ,k +1) = (

El Mtodo de Jacobi
Consideremos el sistema lineal: A X = B, y supongamos que au & O , i = 1, 2,..., n.

. X a .. x <k+u . I a .. x(k).

+ b.

) / a[ .

>

i = u 2,...; n ( 5.2 )

Desde el punto de vista computacional el Algoritmo de Gauss-Seidel es nuis sencillo de programar que el de Jacobi, ya que no necesita de un vector I tara los valores de X (k) y otro para los valores de X (k+1) al almacenar en un mismo vector los valores recin calculados.

108

Anlisis numrico. Primer curso

lgebra lineal numrica

109

EJEMPLO 5.1

Sea A X = B con: 4
A=

listo es generalmente as, pero existen casos en los cuales el Mtodo de i.uiss-Seidel diverge y el de Jacobi converge.

-l

-1 0 4 -1

-1 4 - 1 0 0 -1

0 -1 -1 4

B=

1 2
i) 1

Mtodo de Sobrerrelajaciones Sucesivas


Si introducimos una simple modificacin al Mtodo de Gauss-Seidel, podemos obtener una mejora sustancial en la velocidad de convergencia. Nol finos que la ecuacin ( 5.2 ) puede ser escrita como:
I r

Con el Mtodo de Jacobi obtenemos la secuencia siguiente:


k x (k) ,
v (k) A 2
Y (k) A 3

Y (k) A 4

donde r <k> es el residuo de la i-sima ecuacin:

1 2 3 4 5 6 7 8

0.25 0.375 0.4375 0.46875 0.48344 0.49219 0.49586 0.49805 0.5

0.5 0.625 0.6875 0.71875 0.73438 0.74172 0.74609 0.74793 0.75

0 0.125 0.1875 0.21875 0.23438 0.24172 0.24609 0.24793 0.25

0.25 0.375 0.4375 0.46875 0.48344 0.49219 0.49586 0.49805 0.5

( 5.3 )
El Mtodo de Sobrerrelajaciones Sucesivas o SOR (successive overrelaxalion) est caracterizado por la frmula:

umsiderando que el parmetro de relajacin cu debemos elegirlo de modo i|iie nos permita obtener la mxima velocidad de convergencia. Vamos ahora a generalizar lo dicho en las secciones precedentes para luego poder profundizar en cada uno de ellas.

Con el mtodo de Gauss-Seidel obtenemos en cambio:

k 1 2 3 4 5

x (k) , 0.25 0.40625 0.47656 0.49414 0.49854 0.5

Y (k)

Y (k) X 3

x (k) A 4

0.5625 0.70312 0.73828 0.74707 0.74927

0.0625 0.20312 0.23828 0.24707 0.24927

0.40625 0.47656 0.49414 0.49854 0.49963

Mtodos Iterativos Estacionarios


Hn esta seccin veremos que resolver un sistema de ecuaciones lineales:

A X = B , A nxn , B nxl ,
utilizando cualquiera de los mtodos descriptos anteriormente es equivalente resolver el sistema de ecuaciones:

0.75

0.25

0.5

Observemos que Gauss-Seidel converge ms rpidamente que Jacobi.

110

Anlisis numrico. Primer curso

lgebra lineal numrica

111

X = E X + C , E n x n , C nxl, mediante el siguiente proceso recursivo:

Este resultado puede generalizarse aunque los V no sean linealmente independientes, o sea: Teorema 5.1

X(k+1) = E X(k) + C , k = 0,1, 2,3,...

(5.4)

Suponiendo que exista un vector X tal que: X=EX+C, una condicin necesaria y suficiente para que el mtodo iterativo estadon.irio:
=

siendo E la "matriz de iteracin" (distinta para cada uno de los mtodos). Un mtodo que puede ser expresado por una frmula como la ( 5.4 ) so llama iterativo porque calculamos un vector a partir del anterior para acercarnos a la solucin, y estacionario porque la matriz E y el vector C permanecen invariables (para un dado sistema) a lo largo del proceso iterativo. Por supuesto que estamos interesados en que el proceso sea convergen U , o sea que tomando lmites a cada lado de ( 5.4 ) resulte: X=EX+C
(5.5)

x(k> + C, converja desde un X (0) cualquiera es que:

p(E) =i <;<r, { I X | } < 1 , (los X son los autovalores de E) max ( p(E) es llamado el radio espectral de E).

Vamos a encontrar condiciones que garanticen la convergencia del mtodo iterativo estacionario suponiendo que existe un X que satisface ( 5.5 ). Supongamos primero, que los n autovectores de E, V,, i = 1,..., n, sean linealmente independientes, y sean \ = 1,..., n, los correspondientes auto valores. Tomemos un X (0) cualquiera y escribamos X(0> - X como combinacin lineal de los V, entonces:
n

No demostraremos este resultado. En la prctica los autovalores de E no son conocidos y su clculo no es sencillo. Sin embargo existe una condicin suficiente para la convergencia, (|ue es fcil de verificar: Teorema 5.2 . Si existe solucin de ( 5.5 ), y alguna norma de E es estrictamente menor (|iic 1, partiendo desde un X(0) cualquiera el mtodo iterativo ( 5.4 ) converge a la solucin buscada. I >c mostracin

X (0) - X = a, V, de donde:
i=l n n

E (X(0) - X) = I; a E V4 = a, X V, de donde:
X (k+u

.x=

(X(0) - X) =Z a X k+1 V, ,
X(k) - X = Ek (X(0) - X), entonces:

de donde deducimos que suponiendo que exista una solucin X de ( 5.5 el mtodo converge para cualquier X(0) de partida si y solo si el mdulo todos los X es menor que 1 .

|| X'k> - X || < || E ||k || X(0> - X ||,

de donde tomando lmites surge inmediatamente lo enunciado.

112

Anlisis numrico. Primer curso

lgebra lineal numrica

113

Error de truncamiento en los Mtodos Iterativos Estacionarios


Sea X la solucin de ( 5.5 ), y sea X (k) el valor obtenido por el mtodo iterativo en el paso k partiendo de un X(0) cualquiera, entonces: X(k) - X = E (X"'-1' - X) = E (X(k-" - X) + E X (k) - E X (k) = = - E (X(k) - X (k -") + E (X (k) - X), de donde tomando normas obtenemos: X|| < || E || || X (k > - X (k ~'> || + II E || || X (k) - X ||, o sea: X | | ( l - | | E | | ) < || E INI X (k) - X < k -<> || , y suponiendo || E || < 1, deducimos el sorprendente resultado:

A = D (L + I + U) ,
Mc-ndo I la matriz identidad. lis inmediato verificar que debe ser: D - (a- SJ , siendo 8- la delta de Kronecker,

L = (1 ), con 1; ^ = a.t. I a ;i , si i > j


U - (u M ),con Ujj = a^ / au , sii<j

y ltj = O, si i < j
y u^ = O, s i i > j

De donde es inmediato que resolver A X = B es idntico a resolver:

D (L + 1 + U) X = B 5.6)
Por lo tanto el Mtodo de Jacobi consiste en considerar que: (L + U) X + X'. = O'1 B, y entonces: X ( k + l ) = - (L + U) X (k> + D ' B, de donde deducimos que:

( 5.7 )

X (k) - X || <

E II
1-IIE

Si || E || < 0.5, el factor de || X (k) - X0*'" || en ( 5 . 6 ) es menor o igual que 1, por lo tanto la norma del error de truncamiento en el paso k, es menor o igual que la norma de la diferencia entre las dos ltimas aproximaciones calculadas: || E || <. 0.5 , entonces || X(k) - X || <. \(k) - X^1 ||

E, = - (L + U),

C, =

Para obtener las matrices del Mtodo de Gauss-Seidel, observemos que 5.7 ) es idntica a:

Matrices de los Mtodos Iterativos

(L -i- 1) X = - U X + D"1 B, de donde obtenemos:


x <k + i)

Vamos a calcular la matriz E y el vector C para los distintos mtodos descriptos en las secciones anteriores. Primero supongamos que A es tal que a ^ O para todo i, de donde deducimos que existen tres matrices D, L, y U, tales que D es diagonal, L triangular inferior y U triangular superior y se verifica la identidad:

_ _(L + r) -i y X (k) + (D ( L + I) )-' B, o sea: CGS = (D (L + I))- 1 B

E G S - - ( L + I)-' U,

Para obtener las matrices del Mtodo SOR, comenzamos por considerar i|iu- Gauss-Seidel puede escribirse:

114

Anlisis numrico. Primer curso

lgebra lineal numrica


E || = = max { Z I a. | / 1 au | }

115

(L + I) X(k+1) = - U X(k) + D ' B, de donde:


X (k+ = X(k)

. L X (k+i) . (u + I) X(k) + D ' B

Sacando | a u I'1 factor comn de la suma sobre j, y de ( 5.8 ) surge que la norma de Ej es menor que 1. La demostracin para EGS requiere del siguiente hecho fcilmente comprobable: Si E es una matiz de nxn, || E || = max {
x*0

Por lo tanto SOR es expresado as:


X (k + i)

_ X(k) + w (. L X (k+1) - (U + I) X (k) + D'1 B) ,

II F X I !
11 V

y entonces: (I + co L) X (k+1) = (I - o U - co I) X (k) + co O"1 B, de donde obtenemos: = ( 1 + 0)1)-' ( ( I - O ) I - U ) , C w = ( l + c0L)-' w D 1 B

|| X||

II

Hagamos Y = EGS X, de donde || EGS || = max { - } Consideremos ahora un X cualquiera y el correspondiente Y - Es X De la definicin de norma infinito surge inmediatamente que: existe un p tal que 1 < p < n y vale:

Condiciones suficientes de convergencia


En todo lo que sigue trabajaremos con la norma infinito, ya definida anteriormente. Vamos a probar que tanto para Jacobi como para Gauss Seidel, una condicin suficiente de convergencia es que A sea estrictamente diagonal dominante, o sea:
Si

II Y || = |y p |
Por otro lado Y = EGS X = - (L + I)'1 U X implica: (L + I) Y = - U X , y entonces Y = - L Y - U X , de donde: II Y || = | y p | < | ( L Y ) p | + | ( U X ) p | <

= Bcon

(5.8)

tanto el Mtodo de Jacobi como el de Gauss-Seidel resultan convergentes. Ante todo debemos observar que una matriz estrictamente diagonal dominante es no singular, por lo que la condicin de existencia de la solucin pedida en el Teorema 5.2 se cumple para una matriz de este tipo. Veremos ahora que tanto la matriz de Jacobi como la de Gauss-Seidel derivadas de ( 5.8 ) tienen norma menor que 1: y llamando sp al factor de ||Y|| y rp al factor de || X ||, comprobamos que 1 10 1 ser A estrictamente diagonal dominante:
1

116

Anlisis numrico. Primer curso

lgebra lineal numrica

117

0< r , O < s_ , O < r p + sp < 1 ,

(5.9)

I'o otro lado puede probarse que si A es real, simtrica y defnida positiva: 0 < co < 2 implica la convergencia del mtodo SOR. 1 ,a prctica demuestra que en muchos casos los valores de co prximos a I 5 aceleran la convergencia. Para algunas clases de matrices de importancia prctica, el valor ptimo de ni es conocido: el siguiente teorema es un ejemplo: Teorema 5.4 Si A es una matriz simtrica, definida positiva y tridiagonal en bloques, Bltonces:
p (E GS ) = p (E,) 2 < 1;

y entonces: I I Y || < - || X ||, de donde deducimos que para cualquier X


fHEGSX|| , - max { } < max {^

X*0

II A ||

1< p < n

1- S

Pero de ( 5.9 ) deducimos que r < 1 - s cualquiera sea p, de donde se deduce la tesis propuesta. Quedan por estudiar condiciones suficientes para la convergencia del mtodo SOR. Teorema 5.3

P(EJ > 1 ( 0 - 1
Demostracin:

\l factor de relajacinptimo vale:

det(EJ = det((I + o> L )"') det((l - co) I - co U) = (1 - co)n,


pues I + coL es una matriz diagonal de determinante 1, y por lo tanto su inversa tiene determinante 1 y (1 - co) I - CU es una matriz diagonal con todos sus elementos diagonales iguales a (1 - co). Pero si A,, i = 1,2,..., n son los autovalores de E a) , resulta: det(Em) = A,, X 2 ... Xn , de donde: p(E a ,) = m a x { | X 1 | } > | 1 - co | c.q.d.
1 <i<n

co (ptimo) = l+Vl-p(EGS) Con este valor de co resulta: p(E m ) = co - 1 ljcmplo 5.2 Si consideramos nuevamente el sistema del Ejemplo 5.1, podemos demosii que la matriz A es definida positiva y puede particionarse en forma tridiajnal a bloques:
4 -1 4 0 -1 -1 0 4 -1 0 -1 -1 4

De este teorema surge un corolario evidente: Si co [ 0 , 2 ] el mtodo SOR no converge.

A=

-1 -1 0

118

Anlisis numrico. Primer curso

lgebra lineal numrica

119

Podramos probar que en ste caso:

lin esta seccin vamos a hacer consideraciones sobre la propagacin de 1 1 1 o es inherentes y de redondeo para los dos tipos de mtodos, de tal forma . iur reuniendo todo lo visto podamos obtener cotas para el error total.

y aplicando el Teorema 5.4 resulta ) (ptimo) - 1.0718. La sucesin de valores obtenidos con el mtodo SOR y este co(ptimo) la siguiente:

l'ropagacin de errores inherentes en la resolucin directa de Maternas de ecuaciones lineales


lin el anlisis que haremos a continuacin vamos a suponer que los errores redondeo son nulos o despreciables. ( liando queremos resolver el sistema:

k
1
2 3 4

Y (k) xl

Y (k)
A2

Y() k A3

(k)

A4

0.26795 0.43078 0.49402 0.49930

0.60770 0.72828 0.74798 0.74980

0.07180 0.23086 0.24780 0.24981

0.45002 0.49264 0.49940 0.49994

La velocidad de convergencia es evidentemente mucho mayor que con el Mtodo de Gauss-Seidel (que corresponde a co = 1). Para sistemas grandes, la diferencia en la velocidad de convergencia usando el (O ptimo es mucho ms espectacular que en este ejemplo.

r IH matriz A y el vector B estn formados por nmeros que pueden tener errores inherentes, y la incertidumbre de estos parmetros generar una in' certidumbre en el clculo de:
= A' B

Analicemos que ocurre cuando resolvemos un sistema perturbado en la motriz y en el trmino independiente, o sea que en vez de resolver

II.6 Errores en la resolucin de sistemas de ecuaciones lineales


En la seccin II.3 vimos mtodos directos para la resolucin de sistemas lineales, y ah dejamos aclarado que para tales mtodos el problema matemtico coincide con el problema numrico, por lo tanto tales mtodos no poseen error de truncamiento. En cuanto a los mtodos iterativos, en la seccin II.5 vimos como estimar los errores de truncamiento.

A X = B como deseamos, resolvemos:


t&jb ,

A X = B , o sea (A - 8 A) (X - 8 X) = (B - 8 B) ,

H-iuloSB el vector error absoluto inherente de B, 8 A el vector error absoiilo inherente de A , y X - 8 X la solucin que obtenemos; por lo tanto 8 X <! vector que mide el error propagado a dicha solucin. (Considerando A X = B, deducimos:

' S Y ir-

A 8X + 8 A X - S A 8 X - 8 B; despreciado SA 6X resulta:

8X = A-' 8 B - A 1 8A X,

120

Anlisis numrico. Primer curso

lgebra lineal numrica

121

y tomando norma a ambos lados (en todo lo que sigue trabajaremos un norma infinito), II8X 8 A I I II X

EJEMPLO 6.1

< onsideremos un sistema de ecuaciones lineales con la siguiente matriz:

Por otro lado de A X = B obtenemos || B || < || A || || X ||, y dividiendo de forma tal que se mantenga el sentido de la desigualdad, obtenemos:

A =

1.2969 0.2161

0.8648 0.1441

5X
I A || || X||

< HA

8B
|| B

5A

el siguiente vector de trminos independientes: 0.8642 , 0.1440]' La solucin exacta vale: [2 , -2]' Pero si cambiamos el vector de trminos independientes en una cantidad rl orden de 10"8, osea:
(6.1)

y pasando de trmino | A || llegamos a:


I 8X
< II A u || A-1 || (

B = [0.86419999 , 0.14400001]', la solucin resulta aproximadamente: 0.9911 , -0.4870] 1

Al trmino || A || || A"11| lo llamaremos nmero de condicin de A y lo simbolizaremos de la siguiente forma:

K(A) ~ || A || || A-'||
Diremos que un sistema est bien condicionado, si el nmero de condicin es "suficientemente pequeo", y que est mal condicionado en caso contrario. Supongamos que 8 A y 8 B son producto nicamente de errores de representacin, entonces: 1.a explicacin de ste resultado la encontramos en el nmero de condii'm de A: 0.1441 -0.2161 -0.8648 1.2969

Como A"1 = 108 sulla:

l a ^ - I . j l < n | a j | y |b- b| < u l b j ,


K(A) = ||A|| || A'1 || = 2.1617 1.5130 108 = 3.3 108 siendo u la "unidad de mquina o de redondeo"; de ac se deduce fcilmente: || 8 A || < ji|| A || y || 8 B || < u || B ||, por lo tanto ( 6.1 ) se transforma en: ||8X|| < 2 u K ( A ) | | X | | lntonces observamos que una perturbacin en B del orden de 10"8 proilure una perturbacin relativa en X del orden de:

8X||

8B

3.3 108 10' 0.8642 = 3.8

122

Anlisis numrico. Primer curso Uniendo las dos expresiones obtenemos:

lgebra lineal numrica

123

Estamos entonces en presencia de una matriz notablemente mal con di clonada.

C p( ' * < K(A) cualquiera sea i, entonces:

Relacin entre el Nmero de Condicin de una matriz y la Condicin del Problema lineal asociado
Vamos a considerar solo el caso en que existan perturbaciones en B, es dicir 8 A = O, o sea que podemos pensar que nuestro problema numrico tiene como dato a B, y como resultado a X, es decir:

Cp < K(A)

EJEMPLO 6.2 (kmsideremos el sistema A X = B con B,

X = A"1 B
Si usamos la definicin ( 9.1 ) del Captulo I, tenemos: En este caso resulta:

A=

5 7

i 7 10

ry B= 12 17

Cp =

10 (A'1 B ) ,
-7

-7
5

y entonces:

9 . c.
10 12 + 7 17 10 1 2 - 7 17

siendo A"1 = (a 'ij) Suponiendo que todos los x son del mismo orden resulta: C<2>_=

= 239
=169

\ 12 + 5 17

c ( 1 > < HA-'


p

BU

-7 12 + 5 17

II X H

I )e donde deducimos:

(en este caso "<" significa: "menor o aproximadamente igual") Pero de B = A X, deducimos || B || < ||A || || X || , y entonces

Cp = 239
l'or otro lado, || A || = 17, y || A ' || = 17 , de donde-

II B II II A | K(A) = 289
I Vjamos como ejercicio realizar las mismas operaciones para el sistema '!' I ljemplo 6.1.

124

Anlisis numrico. Primer curso Restando las dos ecuaciones obtenemos: X (k) - X - E (X k -'> - X) - 6 E X (k -'> - 6 C

lgebra lineal numrica

125

Propagacin de errores inherentes en la resolucin de sistemas lineales usando mtodos iterativos


Vimos que dado el problema matemtico

Sumando y restando E X (k) y reordenando, obtenemos:

(6.2)
X (k) - X - E (X(k) - X) - E ( X (k) - X (k -") - 5 E X (k -" - 6 C

la resolucin del mismo utilizando un mtodo iterativo estacionario consiste en encontrar una matriz apropiada E y un vector C, tal que el proceso iterativo: X(k+" = E X(k) + C, k = 0,1,2, ...
(6.3)

Si ahora tomamos normas en ambos miembros:


X ( k > - X || < || E || || X(k) - X || + || E || || X (k) - X (k -" || + || 6E || || X(k-" || +1| 8C||

nos permita obtener una sucesin de vectores que converja a la solucin de ( 6.2 ); ( 6.3 ), el valor X (n> , y la condicin para detener el proceso iterativo, definen el problema numrico asociado a ( 6.2 ). Considerando la propagacin de errores inherentes, la sucesin obtenida A partir de ( 6.3 ) podemos simbolizarla de la siguiente forma:

Considerando que estos mtodos se usan si || E || < 1, y pasando a la izi|iiicrda el primer trmino de la derecha:

< ||E||||X ( k ) -X < k -"|| + ||8E||||X ( k - 1 ) || + |SC||,


1

donde:
|| X (k) - X || <
X (M)

x()

' x(k)

SC
1-IIE

1-IIE|

1-IIE

Detengamos el proceso al calcular X(k>. Enseguida veremos que el error propagado podemos acotarlo en funcin de la diferencia ( X (k) - X (k "" ) y las matrices E y C. Podemos por lo tanto tomar a X(k~ ' como valor de referencia sin interesarnos en los errores que posea: X(k " - X*"1'1', si el proceso se detiene al calcular X(k) Teniendo en cuenta los errores para E y C, podemos escribir para el ll: mo paso: X<k) = X(k) - 8 X (k) = (E - 5 E) X (k - n + (C - 5 C), por otro lado: X=EX+C

Si observamos la frmula ( 5.6 ) de ste captulo, vemos que el primer trii no de la expresin hallada corresponde al error de truncamiento, por lo lito, para los errores inherentes propagados de E y C resulta:
(6.4)

1-IIE

1-IIE

l'iopagacin de errores de redondeo en la resolucin directa de Maternas de ecuaciones lineales


Antes de hacer un estudio ms profundo sobre los errores de redondeo 'I 1 1 1 nos permita modificar los clculos para disminuirlo, veremos una senciH,i .u otacin para el error de redondeo.

126

Anlisis numrico. Primer curso

lgebra lineal numrica

127

Dado el sistema:

A X = B,

1 1 "K in.i 6.1

llamaremos X al vector que hallamos como solucin del mismo incluyendo! los errores de redondeo. Como la cantidad de operaciones necesarias para hacer A X es mutlio menor que la cantidad necesaria para la Eliminacin de Gauss, podemos con. siderar despreciable el error de redondeo de esta operacin con respecto al del X y considerar que el trmino residual: D = A X - A X = B-B tiene errores despreciables, entonces:

Las matrices L y U calculadas por eliminacin gaussiana con pivoteo il, usando aritmtica de punto flotante con unidad de redondeo j, saii .LU cu la ecuacin:
con

| E || < n 2 p | | A | | M n mo n la unidad de mquina y p = max lin otras palabras, L y U forman la descomposicin exacta de cierta mal i/ perturbada. ( lomo la resolucin de A X = B, pasa ahora por resolver dos sistemas trianlliil.ires, debemos conocer la propagacin de errores de redondeo que se da en linios casos. l'll siguiente teorema nos da la informacin necesaria:

X - X - A - ' D y H X - X H < | A-'|| IID||.


Como || B || < || A || || X ||, resulta: X-X < K(A) Expresin que acota el error de redondeo en funcin del trmino residual. D|

' IV rema 6.2 Enunciaremos ahora una serie de resultados referidos a la propagacin de errores de redondeo en la resolucin de sistemas lineales mediante la descomposicin LU o la Eliminacin de Gauss, ya que estos dos algoritmos en lo que i respecta a los errores de redondeo son esencialmente iguales. Se puede probar que el vector X considerado anteriormente, satisface exactamente la expresin: (A - 8A) X = B , siendo 8A una matriz que acotaremos a continuacin en funcin de A y de la unidad de redondeo (i. La solucin de R X - B, teniendo en cuenta los errores de redondeo y sieniln R una matriz triangular, es la solucin exacta de un sistema perturbado

( R - 8 R ) X = B con || 8R || <

1.01 max

Apliquemos el Teorema 6.2 a los dos sistemas triangulares que debemos Esolver para encontrar la solucin buscada: LY = B, UX = Y, entonces la solucin hallada satisface: (L - 8L) (O - 8U) X = B y como L = A - E resulta: (A - E - 8L - L 6U + 8L 8U) X = B

i-> , ,6

128

Anlisis numrico. Primer curso (lonsideremos ahora las siguientes relaciones:

lgebra lineal numrica

129

Entonces la consideracin de los errores de redondeo en todos los pasos iiV clculo efectuados para solucionar A X = B, nos permite afirmar que la solu cin hallada satisface la ecuacin:
(A - 8A) X = B , con SA = E + 8L O + L 8U - SL 8U ( 6.5 )

U A X = (A - SA) X - A X = - SA X, entonces tomando normas: | | R | I - I I B - A X I I < ||8A || || X|| < 1.01 ( n 3 + 3 n 2 ) p | | A | | u | | X | | (lomo generalmente ||A|| es un nmero mucho menor que K(A), vemos jur si la solucin numrica del sistema tiene norma pequea, es probable que residuo tambin tenga norma pequea.

Enunciemos ahora el resultado clave de esta seccin: Teorema 6.3 La solucin de A X = B, calculada en punto flotante por eliminacin gaussiana con pivoteo parcial, satisface la ecuacin: ( A - 8 A ) X = B, donde 8A est definida por ( 6.5 ), y si n2 (J. < 1 adems resulta: ||8A|| < 1.01 (n 3 + 3n 2 ) p || A || (J. (6.6)

^ropagacin de errores de redondeo en la resolucin de stemas de ecuaciones lineales utilizando mtodos iterativos
Ya vimos en II.6, que si detenemos el proceso iterativo en
(6.8)

Estamos en condiciones de estimar una cota para la norma del SX origi nado en los errores de redondeo: (A - 8A) (X - 8X) = B, de donde: 8X = - A"1 SA (X - 8X), y tomando normas: SX||(redondeo)<K(A)||X-8X
II 8A II A ||

podemos considerar nulos los errores de X (k) , y suponer que damos un solo paso partiendo de: >'
_ - . t 1V' ''-"i "'-"
::>.

' "

X(k)=

"

Por lo tanto estudiaremos como se propagan los errores de redondeo slo rn este ltimo paso. Consideremos entonces: '-s tnofi uinfes . . ../; .-'. '.flt'-rra) ol fu;; Haciendo anlisis retrospectivo de errores para el primer factor de la derecha con n [i < 0.01 resulta:
n

donde 8A est definida por ( 6.6 ), entonces: ),redondeo, ^ K(A) 1.01 (n 3 + 3n2) p u
.

| X - 8X

(6.7)

8x,(k+1> = ( I
-

ej

x/k) 1.01 (n + 2 - j) u ep (1 + 8,) + Xj(k+I) 8,

( 6.9 )

130

Anlisis numrico. Primer curso

lgebra lineal numrica

131

Como los mtodos iterativos se usan generalmente para matrices ralas, ilr finamos: p = cantidad de elementos no nulos de la fila i , p = max { p}
y finalmente q = max {| e |}
1 < i,j < n '

Si ahora sumamos y restamos EX ( k h i ) obtenemos:


X (k +1)

.x = (X (k+1) - X) + E (X kl - X (k+1) ) - 8X (k+1)

lomando norma a ambos lados y recordando que || E j| < 1, obtenemos: | X<k+" - X || <
E II
li

Si ahora tomamos normas en ( 6.9 ), despreciando los trminos de orden superior resulta:
1.01

1-1E!

- X(k> |

II SX (k+ " II

1-IIE

Y suponiendo que estamos cerca del lmite, o sea que las diferencias enin X(k) y x (k+I) son despreciables, tenemos: 8X(k+1) ||
I X (k) < ( q i.oi

l;,l primer trmino de la derecha corresponde al error de truncamiento, I 'i ii lo tanto el valor absoluto del error de redondeo propagado tiene un efeci" medido por:
u v(k+l) y II < II A ' A 1 1 (redondeo) -

p2 + 3p L + 1) u

(6.10)

p2 + 3p (1.01 2

(6.12)

Si consideramos que generalmente q < 1, el error de redondeo propagado es del orden de:
p2 + 3p

Error final total en la resolucin directa de sistemas lineales


(6.11) Si unimos los resultados obtenidos en II.6 ( ( 6.1 ) y ( 6.7 ) ), podemos rsi ribir para el error total en la resolucin directa del sistema:

lo que hace que generalmente para matrices ralas el error de redondeo sea despreciable. Pasemos a estimar ahora la diferencia X (k+1) - X : Por un lado tenemos que: X< k+1 > = E X (k) + C - 8X ( k + 1 ) , y por otro: X = E X + C de donde restando miembro a miembro: X (k+1) - X = E (X(k) - X) -8X (k+1)

|ue la solucin X obtenida es tal que:

- < K(A) ( + - + l.di Tn3V4Wn .. .. ..B|| || A ||

SX ||

|| SB ||

|| 8A ||

'

a ^

Veremos ms adelante cmo disminuir el trmino que 'corresponde a la propagacin de errores de redondeo.

' " ' """

u,.

132

Anlisis numrico. Primer curso

lgebra lineal numrica

133

Error final total en la resolucin de sistemas lineales utilizando mtodos iterativos


Unamos los resultados obtenidos en II.5 ( 5.6 ) y en II.6 (( 6.4 ) y (6.12)) Sea: V ; = AX = B, y '"- <' - <

Hrfinamiento Iterativo en la resolucin directa de sistemas lineales


Si por alguna razn no estamos conformes con la exactitud de la solucin i.iluilada por eliminacin gaussiana, la tcnica de mejoramiento iterativo i|uc describiremos a continuacin puede darnos una respuesta muy exacta en 1 1 mayora de los casos, con una pequea cantidad de trabajo adicional. Supongamos tener que resolver el sistema: AX = B, (6.13)

X (k+1) = E X(k) + C el mtodo iterativo correspondiente. Sea ET una cota para el error de truncamiento, E, una cota para el inhe- /! rente propagado y ER una cota para el de redondeo propagado, entonces: ET< - X (k) | 5E || || X (k) | 6C

y i|ue por eliminacin gaussiana encontramos la solucin aproximada X 1 ''. \s a construir una sucesin de vectores X ( 2 > , X ( 3 ) ,... trabajando del siguiente modo: Calculamos primero el vector residual:
D (m) = B - A X ( m >

1-IIE II E ||

(6.14)

Uti

"

1- IIEII

liste valor D (m) , ser el trmino independiente del prximo sistema a renolvcr:

(p es el mximo de elementos no nulos por fila de E) Utilizando estas expresiones en la ya conocida:


* *.. II Y< Y II < F - F + r, || A k + 1 > - A. || ;i CT T rr,j -r F R ,

A 8 (m) = D (m)

(6.15)

I'ara resolver (6.15) usaremos las mismas L y U que usamos para calcui X'".

tenemos la cota para el error absoluto total. Es deseable E, y E R no superen a ET.

Una vez que tenemos la correccin 5 (m> , la usamos para calcular la nueva aproximacin:

X(m+" - X (m) + 8(m>

6.16)

Najo ciertas condiciones este proceso resulta convergente y estos tres pasos i opilen hasta que X tm) alcance la precisin deseada. Un anlisis completo de este proceso es algo difcil, y los aspectos importdilles tienden a perderse en pormenores.

134

Anlisis numrico. Primer curso i >e mostracin:

lgebra lineal numrica

135

En cambio investigaremos una versin idealizada: supondremos qiu- !.>. errores de redondeo solamente ocurren en el clculo de las correcciones de Im residuos. O sea, supondremos que las ecuaciones (6.14) y (6.16) seresiu-l ven exactamente, y que cometemos errores de redondeo slo al resolver (6.1M Este es un supuesto razonable si usamos aritmtica de doble precisin pa i .1 resolver (6.14) y (6.16). De todas formas, aunque se hagan todas las operaciones en simple precisin, el refinamiento iterativo generalmente mejora los resultados oble nidos en el primer paso. De acuerdo a lo visto anteriormente, resolver ( 6.15 ) equivale a resolvn exactamente: (A + 5A) 8(m) = D (m) (6.17)

I'ara probar a) usaremos el contrarrecproco, o sea, supondremos que I i l ; es singular, entonces existe un X*0, tal que:

(I + F) X = O, de ac deducimos: II F X|| = || X||, y entonces

F II = max I | F X | IIXH

> 1, en contra de la hiptesis.

Para probar b), hagamos G = (I + F)' 1 . Entonces G = I - F G, y toman> ! < > normas: II G || < || 11| + ||F|| || G||, y como || 11| = 1, resulta:

Vamos a definir las matrices F (m> , que nos sern tiles ms adelante: p(m> _ ^-i (g^
v

entonces ( 6.17 ) se transforma en: II G || S (6.18)

A ( I + F ( m ) ) 8(m) = D (m>

l-.IIFJI

c.q.d.

Veremos que stas matrices F (m) , determinan por completo el comportamiento de esta versin idealizada del refinamiento iterativo. Probemos primero un lema que nos ser de utilidad ms adelante: Lema 6.1 Supongamos que F es una matriz tal que en alguna norma asociada a un.i norma de vectores resulta: || F || < 1. Entonces vale: a) I + F es no singular

Pasemos ahora a demostrar el teorema fundamental de esta seccin: Teorema 6.4 Sea la sucesin X (m) definida por el refinamiento iterativo con las idealice iones propuestas, y sea X la solucin exacta de ( 6.13 ), es decir:

B
Siendo como antes: F (m > = A'1 5 A, supongamos que en alguna norma asoi u da a una norma vectorial:

1
b) || (I + F)- 1 || S

1-1IF

136

Anlisis numrico. Primer curso

lgebra lineal numrica

137

II F (m) I! < s < , para todo m, entonces:


*")

i nio s < , resulta t < 1, y entonces ( 6.19 ) implica el enunciado del Irorema. c.q.d.

X< m > - X cuando m tiende a infinito, es decir que: || X (m) - X || -> O, cuando m-> Demostracin: De (6.14) y (6.18) obtenemos:

( lomo las matrices F (m) son casi imposibles de calcular, un resultado ms .u lico es el siguiente: nrolarlo 6.4

Si 1.01 (n3 + 3 n2) p u. K(A) < , el refinamiento iterativo conduce a la iI|IK ion exacta de A X = B. I H-inostracin:

Como A es no singular: (I + F (m) ) 5!m) = X - X (m) , y reemplazando 8 lm> por X (m+1i - X (m) : (I + F (m) ) X (m+1> = F ( m ) X (m) + X Si restamos miembro a miembro (I + F < m ) ) X, obtenemos: (I + F ( m ) ) (X (m+1) - X) = F (m) (X (m) - X) Pero de nuestras hiptesis y del Lema 6.1, deducimos que (I + F (m) ) es no singular, entonces: X< m+1 > - X = (I + F ( m ) V' F (m> (X (m) - X) Tomando normas y aplicando la parte b) del Lema 6.1, obtenemos:
<
(m)

Como F (m) = A"1 8 A, tomando normas resulta:

|| F (m) || < || A'1 || || 8A || < || A'1 || 1.01 (n 3 + 3 n 2 ) p \i || A |


1 )e donde obtenemos, utilizando la hiptesis: ||F ( m ) || < K(A) 1.01 (n 3 + 3n 2 ) p f I,a tesis sigue del Teorema 6.4. c.q.d. Un defecto de nuestro anlisis idealizado es que nos permite concluir que lindemos aproximarnos a la solucin verdadera tanto como queramos, cosa i|iic no es cierta. Esta contradiccin surge de las idealizaciones que hicimos, y ni verdad nunca podremos corregir X (m) ms all del nivel unitario de redi mdeo.

1
2

X (m) - X II <

X( m)

Intimaciones prcticas de K(A)


Kn lo que sigue no indicaremos especficamente los vectores obtenidos con u n > r de redondeo, pues consideramos que en este momento las ideas estn liaras y esto ya es innecesario.

Definamos t = s (1 - s)'1, entonces razonando inductivamente: (6.19)

138

Anlisis numrico. Primer curso

lgebra lineal numrica

139

Al aplicar refinamiento iterativo, vimos que la clave para disminuir los errores de redondeo de la primera solucin X (l) , es el cmputo en doble precisin del residuo D 0) = B - A X(1). Vimos que una vez calculado D (1) , debimos resolver A S (1> = D (1) para obtener el valor X (2) = X (1) + 8(1). Si pudramos calcular 5 (1) exactamente, X(2) seriasolucionexactadelsistemaorigin.il, pues:

I,a mayora de los trminos ajXj (1) de (6.21) se cancelan recprocamente \ algunos dgitos principales de b. Esto deja un valor para d(1) que es ni.is o menos del tamao de los dgitos menos significativos del mayor (en v.ilor absoluto) de los trminos & x^'1', es decir del orden de:

max
I )e aqu tomando normas obtenemos:

A X(2) = A (X(1) + 8 (1) ) = A X (1) + A 8 ( l i = A X (1) + D (1) = B.


Pero generalmente 8 (l) tiene solo unos cuantos dgitos exactos, por lo que debemos repetir el proceso hasta obtener la solucin con un error del orden de u. Repetimos que para obtener resultados ptimos, es necesario que los residuos D (m) , y los vectores X (m> , se calculen con mayor precisin que la usada en el resto de los clculos. Observemos ahora que el error E ( 1 ) de X o \tiene una simple relacin con

= b"
( k>mo ( 6.20 ) es aproximadamente una igualdad, obtenemos:

|| E (1) || = || A'1 || || A || || X<" || b-1 K(A) || X<" || b'1


I )e aqu que si K(A) = bp, resulta:

( 6.22

E ( I > = X (1) - X = X (1) - A ' B = A-' (A X<" - B ) - -A'1 D


Entonces:

Si p > t el refinamiento iterativo no disminuye el valor del error y no tiene sentido aplicarlo. Si p < t - 1 y definimos q = t - p, tenemos:

< || A"

( 6.20 )

cd)

HX<"|| Supongamos ahora que trabajamos en un sistema [G(b , t , e) , corte). Entonces el error absoluto cometido al representar un nmero "y" en este sistema est acotado por: b1"' 1 7 I > Y podemos decir que es del orden de O sea que X (1) tendr ms o menos correctos sus primeros q dgitos; tamliicn las futuras soluciones del sistema, 8(m), tendrn ms o menos correctos US primeros q dgitos, por lo que aproximadamente el refinamiento iterativo va ganando en los primeros k pasos, q dgitos por paso, hasta que k | > t aproximadamente. Ahora veamos que como 8 (l) concuerda con - E (1) en aproximadamente i| dgitos, podemos escribir: Analicemos ahora el clculo de D(1):

8 (1)
( 6.21 )

140

Anlisis numrico. Primer curso

lgebra lineal numrica

141

Utilizando sta aproximacin y ( 6.22 ) obtenemos:


b', ( 6.23 )

;i) Hesolver el siguiente sistema:


3.241 x 10200x + 160 y - 163.2 + 1540 y = 11740

K(A) =

y podemos estimar la condicin de A a partir de la primera iteracin. Al mismo tiempo tenemos una estimacin de la cantidad de iteracin'. necesarias para obtener la mxima precisin posible:
"X ' -'

I) Utilizar el mtodo de eliminacin de Gauss sin pivoteo en [ G (10, 4 , 2 ) , rd]. b) dem que en a), pero con pivoteo parcial. ' i dem que en a), sin pivoteo y con refinamiento de la solucin. 4) Considerar la matriz A definida por: A = (a), donde a= -: Considerar el sistema A X = B , donde:
B = ( 0.58333 , 0.21667 , 0.11666 , 0.07381 )'.

1 < U <4

.dojx

Si p > t, lo cual estara indicado por || 8 (1) || > || X (1) ||, para resolver el sis tema y aplicar el refinamiento iterativo no queda otra posibilidad que aumentar la precisin hasta que t > p.

Resolver el sistema utilizando eliminacin de Gauss con pivoteo parcial. Operar con cinco decimales. 6) Considerar la matriz A del problema 4) y

Ejercicios
1) Resolver el sistema lineal A X = B utilizando eliminacin de Gauss sin pivoteo:

B = (2.66666 , 1.50000 , 1.06666 , 0.83334)'.

Resolver A X = B utilizando la descomposicin L U de A. Operar con cinco decimales. 6) Resolver el siguiente sistema utilizando el mtodo de Gauss Seidel, iterando hasta que la norma infinito de la diferencia entre dos vectores sucesivos sea menor que 0.02. Indicar si sto ltimo significa que la solucin obtenida est en un "intervalo" de longitud 0.02 alrededor de la exacta . Operar con tres decimales.

1
A=

1 1

2 4 8 16

3 9 27 81

4 16 64 256

2 10 44 190

10 x
2) Programar el mtodo de eliminacin de Gauss sin pivoteo para la resolucin del sistema lineal A X = B.

2y +

6 z = 4 z =

28

x + 1 0 y +

2 x

7 y - 10 z = -17

142

Anlisis numrico. Primer curso

lgebra lineal numrica

143

7) Resolver el siguiente sistema de cuatro ecuaciones utilizando el mtodo do Gauss Seidel, Operar con tres decimales.
a a a + + + 4b c c
-

a) Trabajando en [G( 10 , 3 , 2 ) , rd] hallar la solucin utilizando primero ia regla de Cramer y luego eliminacin de Gauss. b) Estimar el error de redondeo en los resultados anteriores utilizando la grfica de proceso. Considerar nulos los errores inherentes. c) Indicar cual de los mtodos es ms estable y porqu. Datos: au = 1.58 , a 12 = -2.31 , ^ = 3.35 a 21 = 0.524 a2i2 = 3.42
b2 = -1.37

d = 2
d = _ 4 o

+ d = 2

8) Considerar el sistema "poco denso" de ecuaciones:

2 a - a +

b
2 b b + c 2 c - c +

= 1
= 1 d = 1 2 d = 1
PREGUNTAS TERICAS

Mostrar que el sistema permanece "poco denso" cuando se lleva a la form;i triangular utilizando el mtodo de eliminacin de Gauss. Hallar una solucin por Gauss y otra por Gauss-Seidel. Operar con tres decimales. 9) Resolver el siguiente sistema: 2.15 x - 0.924 y -4.12 x + 2.29 y + 1.01 x +. 0.872 y 1.29 z = 1.22 0.294 z = -3.56 3.25 z = -0.972

1) Indicar en qu casos puede resultar ms conveniente utilizar mtodos iterativos en lugar de mtodos directos para resolver sistemas de ecuaciones lineales. 2) Explicar en qu consisten las estrategias de pivoteo parcial y total en la eliminacin de Gauss y para qu sirven. :t) Se ha de realizar un clculo mediante un mtodo iterativo hasta lograr una precisin de "m" dgitos. Suponiendo que el algoritmo es estable indicar cual es el orden de precisin que hay que tomar en las operaciones para lograr que los errores de redondeo no influyan en los resultados. <l) Describir la influencia de los errores por truncamiento, inherentes propagados y por redondeo en las operaciones, en el caso de resolucin de sistemas de ecuaciones lineales por mtodos directos y por mtodos iterativos.

Utilizar eliminacin de Gauss con pivoteo parcial. Hallar la descomposicin L U de la matriz del sistema y utilizarla para retinar la solucin. Hallar una estimacin del error de redondeo trabajando en [ G( 10,3 , 2 ) , corte ]. 10)Sea el siguiente sistema de ecuaciones:
81,1 * + a1j2 y =
2,2

b,

y = b2

CAPTULO III

Ecuaciones no lineales

I I I . I Introduccin
I,as races de una ecuacin no lineal F(x) = 0 no pueden ser expresadas p urialmente en forma cerrada; incluso si esto fuera posible, la expresin reii 111.1 a menudo tan complicada que no es prctico utilizarla. Entonces para resolver ecuaciones no lineales, estamos prcticamente il'Iirados a usar mtodos aproximados. Estos mtodos estn usualmente baiilos en las ideas de aproximaciones sucesivas y/o linealizacin. Son itera Ivns, es decir, parten de una o ms aproximaciones iniciales de la raz y proIIH cu una secuencia x 0 , x, , x2 ,... que presumiblemente converge hacia la u/ deseada. Para garantizar la convergencia con ciertos mtodos es suficiente iiiocer un intervalo [a , b] que contenga a la raz (mtodos de arranque). Oros mtodos requieren una aproximacin inicial que sea sufcienteiiule cercana a la raz deseada; en compensacin estos mtodos convergen n i pidamente (mtodos de refinamiento). En consecuencia a menudo es iii\aliente comenzar con un mtodo grosero y luego cambiar a uno ms ||do, Por simplicidad la mayor parte de nuestra discusin se limitar a tratar el >l>laiia de determinar una raz real simple, oc, de la ecuacin F (x) = O ; ! u que supondremos

Ecuaciones no lineales
146 Anlisis numrico. Primer curso

147

III.2 Aproximaciones iniciales. Mtodos de arranque


Introduccin
A menudo podemos obtener aproximaciones iniciales a las races de un ecuacin F(x) = O graneando la funcin F(x). Otra posibilidad consiste ni construir una tabla con algunos valores de la funcin F(x).
EJEMPLO 2.1

'i i pongamos que F(x) es continua en el intervalo I0 = [a () , b0] y que: F(a0) F(b 0 ) < 0. Deducimos entonces que existe una raz de F(x) = O en el intervalo I0 =

lvboiI )eterminaremos una secuencia de intervalos [a, , b,] , [a 2 , b2] ,... , Ik = . i, , 1\],... cada uno de ellos contenido en el anterior y todos conteniendo la i . n / buscada. Supongamos haber obtenido el intervalo I k _, con las propiedades del I 0 , ik-cir: l ; ( a k , ) F(b k _,) < O, (o sea que a e I k _,); llamemos mk a su punto medio, Ir donde: m, =
ak

Obtener una estimacin grosera de la raz positiva de la ecuacin:

- sen(x) = O 4 Para hacerlo podemos construir la siguiente tabla:


sgno( f( x ) )

i + b k-i

X 1.6 18

(x/2)2
0.64 0.81 1.00

sen( x )
0.9996 0.974 0.909

l'odemos suponer que F(m k ) ^ O, (ya que en caso contrario detenemos el ,>u)ceso por ser mk la raz buscada) entonces hacemos: [m k , bk.,] [ak_, , m k ] si F(m k ) F(ak.,) > O si F(m k ) F(ak.,) < O

<0
<0
>0

2.0

De esta tabla concluimos que la raz Ot, pertenece al intervalo (1.8 , 2.0). Notemos que en general, si una funcin F(x) es continua y F(a) F(b) < f la ecuacin F(x) - O tiene al menos un cero real en el intervalo [avb].

l'or construccin surge inmediatamente que para todo k, F(a k ) F(b k ) < O, I M U lo que todos los intervalos contienen la raz; despus de n pasos la raz .i.nn contenida en el intervalo [a n , bj de longitud:
b n-!

- Vi

Vao

Mtodo de la biseccin
El mtodo de la tabulacin recin expuesto puede ser usado sistemtica mente de la siguiente forma:
1

~n

""

2"

Si tomamos m n+l como estimacin de la raz, tenemos que: bn - a n = m n+1 8n+1 , siendo 8n+, = , o sea:

148

Anlisis numrico. Primer curso

Ecuaciones no lineales

149

in-H

, de donde resulta evidente que:

8n+1 -> O si

n ->

No obstante estos mtodos ms refinados requieren en general, buenas Aproximaciones iniciales para garantizar la convergencia. Estas aproximaciones iniciales pueden a menudo ser determinadas convenientemente por el mtodo de la biseccin. Algoritmo para la determinacin de una raz utilizando el mtodo tic la biseccin comienzo entrada : f, a, b, e ; mientras ( b - a )/2 > e hacer comienzo m = ( a + b )/2; si f( m ) = O entonces comienzo salida : m ; parar finsi si f( a ) f( m ) > O entonces a = m sino b = m finmientras salida : ( a + b )/2 fin

Entonces si queremos hallar a con un error menor que e, bastar con tomar un n tal que 6n+, < y aproximar ex por m n+1 ; como a pertenece a I n , distar del punto medio de I n , m n+] , a lo sumo una distancia 8 n+] ,resul tando: a = m n+1 e , como pretendamos.
EJEMPLO 2.2

El mtodo de la biseccin aplicado al caso del Ejemplo 2.1, con I0 = [ 1.5,21 produce la siguiente secuencia de intervalos:

k 1
2 3 4

ak

"k 2 2 2
1.9375 1.9375

mk+1

s9( f( mk+1 )
< < > < 0 0 0 0

1.5
1.75 1.875 1.875 1.90625

1.75 1.875 1.9375 1.90625 1.921875

Mtodo de Regula-Falsi
Este mtodo como el anterior, construye una sucesin de intervalos enca|,idos que contienen a la raz, pero en este caso hacemos uso de la forma de la limdn para llegar ms rpidamente al valor deseado. Veremos que para este Mu-todo la longitud de los intervalos no tiende a cero; por otro lado esto no r,H inconveniente para hallar la raz con la precisin requerida. Nuevamente imponemos para una F(x) continua slo la condicin de I-.u lula: F(a) F(b) < O , y tomamos a0 - a , b0 = b;

La convergencia del mtodo de la biseccin es lenta. En cada paso se gana una cifra binaria en exactitud. Dado que 10"' = 2 3 3, ganamos en promedio un dgito decimal cada 3.3 pasos. Notemos que la velocidad de convergencia <lr| mtodo de la biseccin es completamente independiente de la funcin i Esto es as porque solo hemos hecho uso del signo de los valores de la fun> :> m en los puntos calculados. Haciendo un uso ms efectivo de estos valores (y posiblemente tambin di los valores de la derivada), podemos obtener una convergencia significativi mente ms rpida.

Ahora si tenemos ak y bk , el punto mk+1 ser la interseccin del eje x 11 u i l.i secante que une los puntos (ak , F(a k )) y (bk , F(b k )), o sea:

150

Anlisis numrico. Primer curso

l^bSk.FfcFh-V ^ i 1>- Jtc-|

Ecuaciones no lineales

151

F(ak) (bk - ak) =a F(bk) - F(ak)

por lo tanto tiene lmite. Sea


k->

FV3

H,

lim mk = a

y con el mismo criterio del mtodo de las bisecciones para elegir los extremos del nuevo intervalo construimos [ak+1 , bk+1]. Suponiendo que dentro del intervalo [a0 , b0] existe una sola raz simpK de F(x) ( F'(cc) * O ), y no se anula la derivada segunda de F(x), probaremos que m k , k = 1, 2, ... es una sucesin convergente y su lmite es la raz busc.,1 da: a. Sin prdida de generalidad asumimos que F"(x) > O en [a0 , b n ] (en olio caso basta considerar - F(x) = O ); entonces la curva ser cncava en el inlcr valo considerado y estar por debajo de todas las cuerdas que tracemos. Son posibles ahora dos casos:

Si tomamos lmite a ambos lados de ( 2.1 ) resulta:

a =a -

F(a) (a - a) F(a) - F(a)

Si suponemos a ^ a, debe ser F(a) = 0; pero a era la nica raz dentro ik'l intervalo de trabajo, por lo tanto a = ot; esta contradiccin surge de suponer distintas a y a , por lo tanto:

ct = a

c.q.d.

1 ) F(a) > O y F(b) < O o 2 ) F(a) < O y F(b) > O


El razonamiento es similar para los dos casos por lo que slo considerare mos el primero. En este caso el extremo izquierdo: a, permanecer fijo, y los extremos derechos de los intervalos sern los mk que obtendremos de la relacin recursva:

Daremos una frmula que permita estimar el error absoluto de truncamiento de un valor aproximado mk en funcin de m k _,. Supondremos que 1.1 derivada F'(x) es continua y no se anula en el intervalo [a , b]; entonces existen dos nmeros positivos c y C tales que: O < c < | F'(x) | < C < oo , para Escribamos ahora:
mk

x e [a , b]

m0 F(m k ) (m k - a) = mk ~F(mk) - F(a)

= m k _, - F( mkk_ _,

mk-i

k = 0,1,2,

(2.1)

pasando de trmino obtenemos: F(mk,,) - F(a),


(mk - mk.1) -

Es fcil ver que el segundo trmino de la derecha es siempre positivo, poi lo que al ser restado hace que m k4 , sea menor que mk , o sea los mk for-' man una sucesin montona decreciente y acotada inferiormente:

m,k-i - a /

= - F( m k _, ), y como F(a) = O,

F(a)-F(m k .,) =
a < a < ... < mk < m k _, < ... < m, < m0 ,

(F(r(i k . 1 )-F(a))(m k -m k . 1 )
m k-i

-a

152

Anlisis numrico. Primer curso

Ecuaciones no lineales

153

Utilizando ahora el teorema del valor medio del clculo diferencial oble nemos: (a - m^,) F'(ock.,) = (mk - mk.,) F'(m k .,), donde ock_, pertenece al (ce, m k ] ) y m k _, al (a , m k l ) . De aqu restando .1 ambos lados de la ecuacin: F'(ock ,) (m k - mk.,) , y luego tomando mdulos resulta: .F(m k .,) - F'( k ,) | _
(

Algoritmo para la obtencin de una raz por el Mtodo de kcgula-Falsi


comienzo entrada : a, b, tol, nmax; (* a y b son los extremos del intervalo, tol es la precisin requerida, y nmax l.i cantidad mxima de iteraciones permitidas *) error = 1; m = a - 1; mientras n < nmax y error > tol hacer comienzo aux = a - f (a ) ( b - a )/( f( b ) - f( a ) ); error = abs( aux - m ); m = aux; si f( m ) = O entonces retornar( m ) finsi; si f( m ) f( a ) > O entonces a = m sino b = m finsi
n=n+1

a - mk | =

I F'(ak.,)

Como F'(x) tiene signo constante en el intervalo [ a , b ] tenemos sencillamente: | F'(m k _,) - F'(oc k _,) | < C - c, deducimos por lo tanto:

| a - mk | < - | mk - mk., |
c
Si [a , bj es lo suficientemente estrecho como para que: C < 2c obtenemos:

C-c

finmientras si n < nmax entonces retornar( m ) sino escribir( "no hubo convergencia" ) finsi fin

oc - mk | < | mk - mk.1
En este caso cuando ocurra que: | mk - mk , | < e podremos asegurar que:

I1I.3 Error de truncamiento en la resolucin de ecuaciones no lineales


Es comn al querer resolver el problema F(x) = O, pensar equivocadamente que xn es una buena aproximacin de la raz, si F(x n ) es un valor pequeo. Veremos al enunciar y demostrar el sencillo teorema que sigue, que oto no es suficiente. Llamaremos al enunciado siguiente: Teorema Fundamental de Acotacin del Error de Truncamiento:

I mk - a | < e

154

Anlisis numrico. Primer curso

Ecuaciones no lineales

155

Teorema 3.1 Sea a la raz exacta de F(x) = O, y sean I = [a , b] y M > O tal que: a e I , F'(x) es continua en I , y | F'(x) | > M > O para todo x en I ; Entonces si xn pertenece a I , resulta: x- Y,^- F(V>

Utilizaremos el mtodo de regula falsi, para lo cual determinaremos un i Hirvalo en el cual est la raz, y tal que dentro de l el mdulo de la derivail.i primera est acotado inferior y superiormente por dos nmeros positivos i y C, de forma que podamos aplicar la frmula hallada en III.2 para acotar el error de truncamiento. Fs fcil ver que la raz est entre O y 1, pues
F(0) = 1 >0, y F(l) = 1 e

, |x-a| <
Demostracin:

2 < 0.

>

Calculemos las derivadas primera y segunda para estudiarlas en el [0,1 ]; l : '(x) = - (e * + 2); F"(x) = e x, por lo tanto una es negativa y la otra positiva ni todo el [ 0 , 1 ] . Para aplicar tambin el teorema fundamental de acotacin del error de 11 lincamiento, acotemos inferiormente la derivada primera en el [ 0 , 1 ] : | F'(x) | = e x + 2 > 2 + > 2.36; tomamos entonces: e
M = 2.36

Aplicando el teorema del valor medio del clculo diferencial tenemos:


F(xJ - F(oc) = F'(s) (xn - a) , s e l ;

Pero como F(a) = 0 y | F' (s)| > M , resulta: | F (x n ) | > M | xn - a | , de donde: c.q.d.

x -a I<

Comencemos a avanzar en el clculo y apliquemos cada vez ambos criterios de acotacin del error para comparar entre ellos: m0 = 1 , entonces:
F(m0) (m0 - 0)
m

Este resultado provee un criterio para detener cualquier mtodo iterativo de resolucin de ecuaciones no lineales, ya que depende slo de la F(x) y del valor xn.
EJEMPLO 3.1

'

F(m0) - F(0)

= 0.380

Apliquemos el teorema fundamental: |F(m,)l


M

Determinar con un error de truncamiento menor que e = 0.5 10 2, l,i nica raz de:

|e-mi-2m,|
2.36

< 0.033

156

Anlisis numrico. Primer curso Como: 2.36 < | F ' ( x ) | < 3 en el [O , 1], resulta C < 2 c, Por lo tanto la respuesta que debemos dar es: Ct= 0.352 0.5 10 ~ 2 .

Ecuaciones no lineales

157

y podemos utilizar el criterio visto en III.2:

l'recisin Mxima
m -a | < - m0 | = 0.62
Desde el punto de vista de los errores propagados, tanto inherentes como tli- redondeo, el Teorema 3.1 tambin nos da una herramienta para estuJi.irlos. Supongamos que al pretender calcular F(x) se producen errores que nos 1 1. icen obtener en verdad: F(x) = F(x)-S(x); Evidentemente, debemos seguir calculando. F(m,)(m,-0)

m2 = m, Ahora:

F(m,)-F(0)

= 0.353

I F(m 2 ) M

"m2 - 2m2
2.36~

< 1.46 10 3 < e ,

El caso ms favorable en nuestro clculo se dar si conseguimos que I (x) = 0 , pero entonces:
|x -

por lo tanto este criterio nos permite concluir que 0.353 aproxima a la ra/ buscada tanto como desebamos; veamos ahora:

|E(x)-S(x)|
M M M | F'(oc) |

| m2 - m, | < 2.7 10~2 ;


De acuerdo a este criterio debemos seguir avanzando:

Hiendo 8 una cota de los errores cometidos al evaluar F(x). La expresin anterior es independiente del algoritmo utilizado para aproM mar la raz y definimos entonces PRECISIN MXIMA obtenible al cociente
8'

F(m 2 ) (m2 - 0) m3 = m 2 F(m ? ) - F(0)

= 0.352

I F'(cc) i
Ahora | m3 - m2 | < 0.1 10 2 < e , y en este paso los dos criterios nos permiten detener el clculo. Cualquiera de las dos aproximaciones obtenidas cumple con lo pedido y.i que la solucin con 5 decimales vale: oc= 0.35173... ()bservemos que si la derivada de F es muy chica en la raz buscada el problcma numrico resultar inestable y tambin cualquier algoritmo que utiliirmos para aproximar dicha raz.

158

Anlisis numrico. Primer curso

Ecuaciones no Lineales

159

III.4 Mtodos de refinamiento


Por adquirir ciertos resultados una forma ms sencilla y/o ms fcil ih conceptualizar, nos propondremos en este y otros apartados la resolucin ilr la ecuacin:
x = f(x) (4.1)

I que implica, suponiendo que f(x) sea continua:

o. = f(a).

Hl siguiente teorema nos dar condiciones suficientes para que ( 4.3 ) converjai Teorema 4.1 Si fe C [ a , b ] y f ( x ) e [ a , b ] para toda x e [a , b], entonces f tiene un punto fijo en [a , b]. Si adems existen f ' en [a , b] y una constante m < 1 tal que: | f'(x) | < m < 1, para toda x e [a , b], entonces el punto fijo en [a , b] es nico, y puede hallarse como lmite de la llicesin:
x n+i =

Veremos ms adelante que siempre podemos construir un problema de I tipo:


F(x) = O, (4.2)

tal que ( 4.2 ) y ( 4.1 ) sean equivalentes, o por lo menos uno de ellos tenga I las soluciones del otro que nos interesan encontrar.

Mtodo de las aproximaciones sucesivas o del punto fijo


Nos planteamos resolver la ecuacin (4.1 ), esto es hallar un valor a , i.il que la funcin f(x) lo transforme en s mismo, esto es, a es un punto fijo ilc f(x):

f( xn )> partiendo de un x0 cualquiera en [a , b].

I >cmostracin: Si f(a) = a o f(b) = b ya tenemos el punto fijo; supongamos lo contrario: entonces f(a) > a y f(b) < b. Definamos h(x) = f(x) - x ; entonces h es continua en [a , b] y h(a) = f(a) - a > O y h(b) = f(b) - b < O, por lo que un lonocido teorema del anlisis nos asegura que existe a que anula a h(x), y entonces:

a = f(a)
El mtodo de las aproximaciones sucesivas propone construir la sucesi V,-f(x n ) (4.3)

a = f(a).
Si esta sucesin es convergente, el lmite es necesariamente un punto l u de f(x), pues:
lim x n+] = lim f(xn) ,
n-> n-><*>

Supongamos ahora que existen dos puntos fijos en [a,b]:p y q con Hl teorema del valor medio nos asegura que existe c; e [p , q] tal que: f(p)-f(q)
p-q

= f'(c;) y entonces:

160

Anlisis numrico. Primer curso

Ecuaciones no lineales

161

I p - q I = I f(p) - f(q) I = I f'(5) | | p - q | < m | p - q | < | p - q | , lo cual es una contradiccin que proviene de la hiptesis p ^ q. Por lo tanio bajo las hiptesis del teorema el punto fijo es nico. Sea ahora la sucesin xn+1 = f(x n ) con x0 en [ a , b ] ; Como f manda [a , b] en s mismo, la sucesin est dentro de [a , b |, aplicando el teorema del valor medio:

(lonsideremos las siguientes igualdades: *+,- = *) - f() = f'(U ( x n - a ) Sumando y restando al ltimo miembro f'( n ) x n+) y reordenando:

xn+1 - ce - f(U (xn - xn J + f'fj (xn+1 - a)


De donde tomando mdulos resulta:

| xn - a | = | f(
pues cj e [a , b]

- f(a) | < | f '(

- a | < m | xn., - a |,
| xn+I - a | < m | xn+1 - xn | + m | xn+] - a |, y como m < 1 resulta:

Aplicando inductivamente esta desigualdad obtenemos: | ^ - ce | < m | x n _ , - a | < m2 1 xn 2 - a | < ... < m" | x,, - a |, y como m < 1 ,

m
V, - I < 1 -m
Xn+l

' Xn

(4.4)

lim | xn - a | < lim m" | x() - a | = O,


i-.> n-~>o<>

y entonces xn -> a para n -> . c.q.d. Dejamos a cargo del lector una interpretacin grfica del mtodo de las aproximaciones sucesivas. Antes de seguir queremos hacer notar que este mtodo es importante, no slo porque a partir de l podemos generar otros mtodos tiles, sino porque1 l mismo es muy usado en ciertos casos en que su sencillez lo hace inevitable; por ejemplo cuando resolvamos ecuaciones diferenciales lo utilizaremos en muchas ocasiones.

Notemos que cuanto menor sea m ms rpida ser la convergencia del mtodo. No debemos confundir este m con el del teorema fundamental, ya que para resolver F(x) = O nos interesa que alrededor de la raz la F(x) tenga derivada grande para acelerar la convergencia, mientras que para resolver X = f(x) nos interesa que alrededor del punto fijo f(x) tenga derivada cercana a cero para acelerar la convergencia. (Recomendamos granear los dos casos.) Mtodo de sobrerrelaj aciones sucesivas (SOR) Vamos a tratar de modificar el mtodo de las aproximaciones sucesivas de lorma tal que la convergencia resulte acelerada. Para lograrlo pensemos la ecuacin ( 4.3 ) de la siguiente forma:

Error de truncamiento en el mtodo de las aproximaciones sucesivas


Bajo las condiciones que garantizan la convergencia del mtodo de las] aproximaciones sucesivas vamos a encontrar una expresin muy til para] acotar el error de truncamiento.

Vemos entonces que ( f(xn) - x n ) es la correccin que debemos aplicar a xn para obtener xn+1. El mtodo SOR, consiste en encontrar un <B , tal que

converja ms rpidamente a a.

162

Anlisis numrico. Primer curso

Ecuaciones no lineales

163

De acuerdo al signo de f'(x) y al valor de m, se pueden elegir valores I. co que aceleren la convergencia. Vamos a plantearnos ahora un problema que slo puede resolverse ex.u lamente conociendo la raz a. Nuestro anlisis adquirir sentido cuando ve.i mos que distintas soluciones aproximadas del problema originan distintos mtodos para resolver la ecuacin:
x = f(x).

lista claro que no podemos conocer el valor de i;n. Pero resolviendo aproximadamente el problema obtendremos dos importantes mtodos para la re !iiiin de ecuaciones no lineales.

Mtodo de Newton-Raphson Mtodo de Newton-Raphson para resolver


Sien co =
rCSUlta: . ,
!

x-f(x)

Tratemos entonces de resolver el siguiente problema: Partiendo de un cierto xn, qu valor debemos darle a co para que x n l , sea exactamente a ? Resolvamos entonces la ecuacin: ex - xn + co ( f(x n ) - x n ), de donde obtenemos:
1 co
= f(x ~ } ' x "
"
f

l aproximamos f'(tj n ) por f'(x n ) el mtodo SOR


^n) . ,;,..:.:. . . . . . ,;.. . . ...
%

..

.,

f(x n )-x n
- f'(x n )
u sea:

:.-./.)., v;.

^ :

.'v-

f(x n )-x B f(x n )


Vt-1

(4.5) l-f'x) '

a-xn

y sumando y restando a al numerador del trmino de la derecha:


1 ,
-_

f esta frmula define el Mtodo de Newton-Raphson (N-R) para resolver


; . , . - '

f(x n ) - a

i i

""

x=f(x).
f(x)-xf'(x)
- f'(x)

. - . - : ' . J>5-' "ii*i\.

: ' ;, , ,
'.'. "

:: ' '

'

. i,'

co

a-xn
Observemos que si definimos una nueva funcin:.

"' ' . -.j'fVJ^'St'5

Pero como f(a) = a , resulta:


1
co

f(x n ) - f(a)
ex - xn

(p(x) =

+ 1,

y aplicando el teorema del valor medio:


1

I mtodo de N-R, no es otra cosa que el mtodo de las aproximaciones sucev.is aplicado a la resolucin de: x = cp(x).

= 1 - f'(cj n ) con c;n entre a y x n ,o sea:


1

co -

con cj n entre a y xn

164

Anlisis numrico. Primer curso

Ecuaciones no lineales

165

Por lo tanto las condiciones de convergencia las deducimos del Teorema 4.1 Debemos hallar un intervalo [a , b] tal que <p [a , b] ) cr [a , b]' y tal i|in dentro de l: | <p'(x) | < m , para cierto m que cumpla: Veamos la forma de (p'(x):
f "(x) (f(x) - x)

m
1 -m

< 1 , de donde:

I xn+, - I < I xn+1 - xn |,


O < m < 1. Crestn comunmente usada para controlar el error en el proceso iterativo !. N-R.

(l-f'(x))2 Para que la raz sea simple debe ser f '(a) + 1, por lo tanto existe un cu torno de la raz dentro del cual el denominador de (p'(x) est acotado inlc nrmente (suponiendo f '(x) continua); si existe otro entorno de la raz den tro del cual | f "(x) | est acotada superiormente, tomando un x de partida suficientemente prximo a a resultar garantizada la pequenez de 9'(x). Hl ms, a medida que nos acerquemos a la raz se ir achicando el trminu ( f(x) - x ), y por lo tanto el mdulo de (p'(x), lo que ir acelerando la con vergencia.

Ictodo de N-R para resolver F(x) = O


I'ara resolver F(x) - O, podemos proceder de la siguiente forma: Definimos f(x) = F(x) + x ; entonces las soluciones de F(x) = O y las de f(x) son las mismas; apliquemos ahora ( 4.5 ) para obtener:
3

(Xn)+Xn-Xn(F'(Xn)+D

l - ( F ' ( x n ) + l)

, de donde:

Ffv 1
X n +1

= Xn + hn '

C0n

hn

= - T

(4.6)

'"'"

Error de truncamiento cometido al resolver x = f(x) con el mtodo de N-R


Vimos anteriormente que si |(p'(x)| < m < 1 en un entorno de cc,p;ii tiendo de un punto de este entorno resulta:
m 1 -m

Observemos que en este caso N-R equivale a aplicar el mtodo de las Iproximaciones sucesivas a:
x = <p(x) con <p(x) = x F(x) F'(x)

Si hacemos h (x) = -

F(x) F'(x)

tenemos que:
F"(x) F'(x)

Expresin vlida para estimar el error de truncamiento en el mtodo tic 1 N-R. Pero ahora observemos que al acercarnos a la solucin, podemos tomar I valores de m cada vez ms chicos, por lo que siempre resultar cierto qufl estando suficientemente cerca de a, m pueda considerarse menor o igual a l 0.5, y entonces,

F"(x) P(x)

F'2(x)

Podemos entonces deducir que si F'(x) es continua alrededor de a y disiila de cero en a ,y F"(x) se mantiene acotada en un entorno de a, partieni de un XQ suficientemente prximo a a, el mtodo de N-R para F(x) = O i convergente.

166

Anlisis numrico. Primer curso

Ecuaciones no lineales

167

Puntualicemos: debemos hallar un intervalo [a, b], tal que 9 lo aplique en s mismo; luego debemos hallar dos constantes K y d tal que para todi i x en [a , b] se cumpla:

Mtodo de N-R complejo


El Mtodo de Newton puede ser fcilmente generalizado para resolver el problema de hallar una raz compleja de
F(z) = 0.

I F'(x)

< K para algn K positivo,


F(x)

|h| < d con h =

Supongamos que oc es una solucin de la ecuacin anterior con F'CoO^O y que conocemos un entorno de E(cc) en el plano complejo tal que para ffl(z) - z 1 ) < p ( E ( a ) ) c E(a) y
F(z)

v ' . '' fA/ -A; y Kd = m < 1; entonces si tomamos x0 en [ a , b ] queda garantizada la con vergencia-de N-R:a la raz de F(x) = 0. } '-'

F(z)

valen:

Error de truncamiento cometido al resolver F(x) - O con el mtodo de N-R


Siguiendo con la idea desarrollada para garantizar la convergencia, obsn vemos que en el paso n-simo: mn = K hn < 1, y entonces:
m 1 -m. m.

2 ) | (p'(z) | < m < 1 para todo z en E(oc); Entonces repitiendo los razonamientos de las secciones anteriores podemos probar que partiendo de un z() en E(oc) la sucesin:

converge a a.

Si estamos suficientemente cerca de a como para que sea I K hn | < 0.5 resulta:
n+ ,

Algoritmo de Newton-Raphson para resolver F(x) = O Intenta aproximar una raz sin haber asegurado la convergencia. Controla el valor de la derivada de f [x] aproximndola en "control". Ver M.ll ) No considera los errores inherentes y de redondeo.
(ilgontmo "newton-raphson" comenzar definir F[ x ]; definir f[ x ] = x - F[ x ]/F'[ x ]; leer x,,, eps, nmax; n = l;

168

Anlisis numrico. Primer curso

Ecuaciones no lineales

169

x, = f[ Xo ];

error = abs[ x, - XQ ]; mientras n <= nmax y. error >= eps hacer


X2

l ; ,l Mtodo de la Secante tiene la ventaja sobre el de N-R , que no hay que . il. ular la derivada de f(x) en cada paso; pero tiene como desventaja el que licu-sitamos trabajar con xn , y xn para obtener xn+1. .

= f[ x i];

I 'ara comenzar el proceso iterativo debemos utilizar un x,, y un xr Mctodo de la secante para resolver F(x) - O Si queremos resolver una ecuacin del tipo:
F (x) = O,

error = abs[ x2 -x, ]; control = abs[ ( x - x, )/( x, - x0 ) ]; escribir x2 , control; n = n + 1;


xo = xi

>

= x2

finmientras si n >= nmax entonces escribir "el procedimiento fracas"; parar HM escribir "la raz es", x2 fin

podemos definir como hicimos anteriormente,

Mtodo de la secante Mtodo de la secante para resolver x - f(x)

\o ( 4.7 ) a esta funcin obtenemos:


=X

(4.8)

con

hn = - F(x n )

Sien co =
el mtodo SOR resulta:

, aproximamos f'(s n ) Por

"

-x

Esta es la expresin del Mtodo de la Secante para resolver la ecuacin Hx) = 0.


(4.7)

=X

1 --

x., - x..

El Mtodo de la Secante es una variante del Mtodo de Regula Falsi, en el que elegimos la secante a travs de los dos ltimos valores hallados sin pedir que la raz est entre ellos; si bien el Mtodo de la Secante no converge inconclicionalmente para funciones continuas como Regula Falsi, cuando lo hace es i Ir convergencia ms rpida que ste ltimo.

Esta expresin define el Mtodo de la Secante para resolver x = f(x); cornt veremos ms adelante tanto el Mtodo de N-R como el de la secante convergen ms rpido que el de las aproximaciones sucesivas; a su vez el mtodo di N-R converge ms rpido que el de la secante.

170

Anlisis numrico. Primer curso

Ecuaciones no lineales

171

EJEMPLO 4.1

Notemos que si la ecuacin ( 4.8 ) es reescrita en la forma:

Resolvamos la ecuacin del Ejemplo 2.1: - sen(x) = O, 4 utilizando el Mtodo de la Secante: Imeden surgir dificultades con la cancelacin cuando xn = v, Y F(xn) F(xn.,) >0. Esta forma no es entonces aconsejable. Podemos encontrarnos con gran i -mudad de problemas si no tenemos en cuenta estos detalles en un programa le computadora. La eleccin entre el Mtodo de la Secante y el de N-R depende de la cantidad de trabajo requerido para computar F'(x). Supongamos que esta cantidad es r veces la cantidad de trabajo requerido para calcul.ir F( x ). Por medio de un anlisis asinttico puede obtenerse la siguiente regla: si r > 0.44 conviene usar el Mtodo de la Secante; en caso contrario conviene usar N-R.

n
0 1 2 3 4 5 6

xn

F(xn)
0.59147 -0.090703 0.084980 0.003177 -0.000114 0.000005

2 1.86704 1.93135 1.93384 1.93375 1.93375

Propiedades de convergencia
Definicin de orden de convergencia. Orden de convergencia del mtodo de las aproximaciones sucesivas Sea XQ., x, , x 2 , ... una sucesin que converge a a, y sea en = a - x Si existe un nmero p y una constante C ambas no nulas tal que:

En este ejemplo la convergencia del Mtodo de la Secante es rpida debido a que el valor que tomamos para x, est prximo a la raz. Cuando | xn - xn , | sea pequeo el cociente
F(xn) - F(xn.,)

sera

determinado en general con baja precisin relativa. Si por ejemplo, elegimos las aproximaciones iniciales xfl y x, muy cercanas a a , | x2 - a puede resultar ms grande debido a los errores de redondeo. Sin embargo el anlisis de error de truncamiento del mtodo muestra que en general | xn - xn 5 | >: |xn-Ct|. Sucede que la contribucin dominante al error relativo de hn proviene de error de redondeo de F(x n ). Una baja precisin en los otros factores tiene menos importancia.

lim
n -><

(4.9)

decimos que el mtodo que genera tal sucesin tiene orden de convergencia p y C es llamada la constante asinttica del error. Una forma resumida de escribir ( 4.9 ) es la siguiente: en+i - 0( en ) , y decimos que en+1 es un "O grande de enp".

172

Anlisis numrico. Primer curso

Ecuaciones no lineales

173

Para p = 1,2,3, la convergencia se dice lineal, cuadrtica, y cbica resp tivamente. Observemos que ocurre en el Mtodo de las Aproximaciones Sucesivas:

O = F(ct) - F (xn) + F'(xn) (oc - x n ) + F"(cj ton entre xn y a. Como F'(xn) * O, podemos escribir:

Si ce es el punto fijo entonces: xn+, - a = f(xn) - f(a) = f '(U (xn - a) y resulta:

+ (a - x ) =

(<*-x n ) 2

F'(x n )

Pero el trmino de la izquierda es a - x n+1 , entonces tenemos: (4.10)

Cn+.

= -

De ac deducimos que si f '(a) & O el mtodo de las aproximaciones sin sivas es de orden 1 y C = f'(oc). Si '() = O y f "(00*0: (x - a)2 xn+1 - a = f(x n ) - f(a) = f '() (xn - a) + f "( n ) --- . , y entonces

y entonces cuando n - >, xn - a , y tenemos:


"iH-1

F"(a) 2F'(a)

f"(a)

listo nos muestra que si F"(oc) * O , N-R es un mtodo de orden 2, y la "listante asinttica del error vale:

F"(a)
2F'(cc)'

Orden de convergencia del mtodo de N-R y control del orden de convergencia


Estudiaremos el caso F(x) = 0. Supondremos en lo que sigue que la ra que nos ocupa es simple, o sea, F'(ot) ^0, y que F(x) tiene sus dos primen derivadas continuas en un entorno de a, entonces F'(x) conserva el si;i y no se anula en un entorno de oc; bajo estas suposiciones para un x un tenido en la interseccin de ambos entornos escribimos el siguiente desarn lio de Taylor de orden 2:

F(x) Revisando las deducciones de la seccin anterior para f(x) = x - bservemos que: F'(x) _ F"(a) F(a) I (0 _,2 . - O, lo que nos permite asegurar nuevamente que el ltodo de N-R es por lo menos de orden 2. F"(a) F'(cc)
C=-

i P(<x) st O , resulta f"(a) =

* o y obtenemos nuevamente-

F"(a) 2F'(a)

174

Anlisis numrico. Primer curso

Ecuaciones no lineales

175

Finalmente diremos que en la prctica es comn intentar resolver mu ecuacin utilizando un mtodo iterativo sin haber verificado que se cumpl.ii las condiciones de convergencia, en cuyo caso se hace necesario ir controlan do el proceso. Una forma razonable consiste en construir los cocientes:
X n+l

1 >espejemos F( xn ) de (4.8) y reemplacemos en (4.12). Luego tomemos i u , y recordando que F(cc) = O, obtenemos: (oc - x n+1 ) F[x n _, , xn] + (a - xn.,) (a - xn
0.

" Xn

(4.11)

Xn

- X n-,

Si utilizamos el teorema del valor medio del clculo diferencial: F [ x n l , x n ] = F'(c') con cj1 entre xn , y xn , y entonces tenemos:

que sabemos tienden a f '(a); si este cociente tiende a cero el mtodo de N est convergiendo con orden 2; si se acerca a un valor distinto de cero es pro bable que estemos en presencia de una raz mltiple y la convergencia puali hacerse muy lenta, siendo conveniente entonces utilizar un mtodo para MI ees mltiples. Orden de convergencia del mtodo de la secante Nuevamente estudiaremos el caso F(x) = 0. De ( 4.8 ) obtenemos: O = F(x n ) + ( x n+1 - x n ) F[x n _, , x,J , siendo F(x,,,)-F(x n )

Vamos a determinar el orden del mtodo de la secante: Si el mtodo converge, tomando lmite para n tendiendo a , de ( 4. 1 3 ) obtenemos:
i.

lina

= C,

.^

en e n _,
siendo esta C la misma constante asinttica del error que obtuvimos para N-R. expresin que usaremos con mucha frecuencia cuando estudiemos interpo lacin; tambin ah demostraremos que para toda funcin suficientement buena que pase por:
x n-i

Supongamos ahora que el orden del mtodo de la secante es p, entonces existe algn K positivo tal que:
P =K e P v c n+l - ^ cn ' 7 e - ^ Ce P -K n-l

- F( V. ) ) y por ( xn , F( xn ) ), vale:

cn

F"(cJ F(x) = F(x n ) + (x - x n ) F [x,,., , x n ] + (x - v,) (x - xn) , ( 4.12 )

Entonces de ( 4.13 ) obtenemos:

con , en el menor intervalo que contenga a x , xn., , y xn. (Observemos que los dos primeros trminos de la derecha forman la eci cin de la recta que pasa por los puntos: (xn , , F(xn ,) ) y ( x n , F(x n ))).

K e/s

176

Anlisis numrico. Primer curso

Ecuaciones no lineales

177

Esta relacin puede ser vlida nicamente si: C = K 1+1/p K = C1/P y p = 1 + 1/p , de donde: y p = 1.618 ... , de donde:
1.618... n '
n

(iomo (p es positiva en I, vemos que manda I en s mismo. Iodo esto implica que tomando como punto de partida cualquier valor en I queda garantizada la convergencia; veamos los clculos escribiendo los M-Miltados finales con cuatro dgitos:

_ r0.6180... n+1 ~

>i

n 0 1 2

xn
0.2500 0.3503 0.3517 0.3517

F<x n ) 0.27880000 0.00387700 0.00009114

F'UJ
-2.779 -2.704 -2.704

hn
0.10030000 0.00143400 0.00003371

Vemos entonces que el orden del mtodo de la secante es algo menor que el orden del mtodo de N-R. EJEMPLO 4.2 Utilizando el mtodo de N-R hallar la raz de la ecuacin del Ejemplo 3.1, i
F(x) = e x - 2 x = 0.

()tro mtodo de segundo orden


El mtodo de la secante no alcanza a dar convergencia cuadrtica. En realiil.icl se puede mostrar bajo muy dbiles condiciones que ningn mtodo ite1,11 vo que use una sola evaluacin de la funcin en cada paso puede tener mxlen 2. El Mtodo de Steffensen's definido por:
Xn+l

Partir de un x0 que verifique las condiciones de convergencia. Construyamos la funcin de la que buscamos el punto fijo:
f * . ?v <p(x) =xtv -i. 11 o *
.entonces 9'(x) =

-(e' x + 2)

2+e

e01 (e~ K -2x) ; .

Es sencillo deducir que la raz que buscamos es positiva y que est en el in tervalo: I - [ O ,0.5]. Acotemos 9' en I; | e~ x | < 1; | e'x - 2 x | < 1 y | (e'x + 2 ) 2 1 > 4 , entonces | (p'(x) I < 0.25 en I ;] Por otro lado 9(0) = 0.333... , y aplicando el teorema del valor medio: 9(x) = 9(0) + 9'() (x - 0) < 0.333... + 0.25 x < 0.4583... si x e I;

G(x n )

, con G(xn) =

rs de segundo orden, pero requiere dos evaluaciones de la funcin por paso (aunque no hay que evaluar ninguna derivada). Este mtodo relacionado al de la secante, es de particular inters para re'.olver sistemas de ecuaciones no lineales en varias variables. Veamos que el mtodo de Steffensen's es de orden 2; para ello hagamos: bn = F(x n ) , y apliquemos Taylor a G(x n ) alrededor de xn ; entonces:

Ecuaciones no linea es

179

178

Anlisis numrico. Primer curso

111.5 Races Mltiples


G(xn) = En toda la discusin previa hemos supuesto que la raz buscada era simple o de multiplicidad 1. En general decimos que una raz a de la ecuacin !'( x ) = O tiene multiplicidad q si: F(x) (x - ce)"

donde hn - -

F(x n ) F'(x n )

es la correccin de Newton.

Entonces podemos escribir:


Xn+i

O * lim G(x) < , donde G(x) =

= Xn + hn (1 + 0.5 hn F"(x n ) + 0(b n2 ) ) , y tambin: (4.14)

Es fcil ver que:

lim - = 1 y lim - - = -F'(a);


-

Si la raz tiene multiplicidad q > 1, los resultados previos en cuanto al orden de convergencia no son vlidos. Por ejemplo el Mtodo de N-R es slo 1 i aclmente convergente para races mltiples. Es decir que ya para q = 2 su Convergencia es asintticamente la misma que la del Mtodo de la Biseccin. El mtodo iterativo modificado: F(xn

Ahora restamos a a ambos lados de ( 4 . 1 4 ) y reemplazamos el primci h n del trmino de la derecha por la ecuacin ( 4 . 1 0 ) escrita de la forma:

2F'(x n ) para obtener: 51 + 0.5 h,' F"(xn) + hn O(b n >), 2F'(x_) y dividiendo por en2 de los dos lados obtenemos: F"(a) , _. e2 n 2F'(a)

i-s nuevamente cuadrticamente convergente. No obstante supone que la multiplicidad q es conocida a priori, lo cual no es en general cierto. No es difcil obtener mtodos iterativos para los cuales el orden de convergencia sea independiente de q. Es fcil ver que la definicin que dimos de raz de multiplicidad q equiv.ile a pedir que las derivadas de F de orden menor que q se anulen en a y Entonces: F(x) U(x) 1 si U(x) = - , vale: lim = - = . F(x) x^a x-a q Entonces la ecuacin U(x) = O tiene una raz simple en x = a y podemos aplicar todos los mtodos estudiados previamente a la solucin de esta ci nacin. En particular el mtodo de N-R da:

Esta ltima igualdad nos prueba que el Mtodo de Steffensen's es de gundo orden.

180

Anlisis numrico. Primer curso

Ecuaciones no lineales

181

U'(x n )

'(x n )

La ecuacin ( 6 . 1 ) define un sistema lineal de ecuaciones en la incgnita X a " '. Si F'( X(k) ) es no singular, podemos resolver este sistema por los mtodos comunes ya discutidos. De forma anloga podemos generalizar el mtodo de la secante.

y el de la secante: U(x n )(x n -x n .,)


n+,
= X

U(xn) - U(x n . t )

Otro tratamiento que a veces resulta apropiado consiste en usar la i-sima nacin con i = 1, 2, ..., n para encontrar
x (k+1) como solucin de la ecuacin no lineal:
(k-H} (k) , ... ,x(k+!) , x , x(k>. . . ,x 1 _.( j
x Y

Notemos que estos mtodos son menos efectivos que en el caso de una raz simple ya que debemos computar una derivada ms de F(x).

III.6 Sistemas de ecuaciones no lineales


Muchos de los mtodos presentados para resolver una ecuacin no linea pueden ser generalizados para resolver sistemas de ecuaciones no lineales. Consideremos un sistema general de n ecuaciones no lineales con n in cgnitas:

Este es el Mtodo de Gauss-Seidel no lineal. De la misma forma podemos definir los mtodos de Jacobi y SOR para sistemas no lineales.

111.7 Error total en la resolucin de ecuaciones no lineales Error total en el mtodo de la biseccin
En la seccin III.2 vimos que si nos detenemos una vez obtenidos a n , bn y m n+1 podemos acotar el error de truncamiento por:
=

, x 2 , ... ,x n ) = 0 ,

con

En trminos vectoriales podemos reescribirlo como: F(X) = 0, con X = (x,, x 2 , ... , x n ) y F = (f, , f 2 ,..., f n )..

"V.

b -a d n+1 = -=-

(7.1)

Entonces el Mtodo de N-R queda definido por la frmula: F'(X' (k) ) (X (k+1) - X ( k ) ) + F( X ( k ) ) = O ( 6.1 )

donde F'(X) es la Matriz Jacobiana de la funcin vectorial; es decir una matriz de nxn con elementos:

di.

Observemos primero que podemos considerar nulos los errores inherenics de a n y bn, pues lo nico que pedimos de ellos es que sean extremos de un intervalo que contenga la raz y podramos considerarlos los extremos de partida del proceso iterativo. Por lo tanto el problema en este caso, consiste en estudiar la propagacin de errores de redondeo al evaluar F(x) de forma tal que podamos asegurar que al evaluar la funcin el signo del resultado sea conecto.

182

Anlisis numrico. Primer curso

Ecuaciones no lineales

183

Simbolicemos con F(x) el resultado de la evaluacin de F(x) cnsul' rando los errores de redondeo, o sea que el error de redondeo propagado v.ilr F (x) - F(x). Vamos a considerar un entorno suficientemente chico de la raz que llaiu.i remos I , tal que los sucesivos an , bn, que calculemos desde un n en adelan te estn dentro de l. Utilizando una grfica de proceso o un anlisis retrospectivo de erro estimaremos una cota para los errores de redondeo absolutos propagados; NIM esta Er. Entonces resulta que: F(a n ) = F ( a n ) E r y F(b n ) = F(b n ) Er

x0 = b que converga a la raz buscada; Para acotar el error de truncamiento suponamos adems que I era lo .i 11 cienteniente chico como para que dentro de l: O < c < | F'(x) | < C < >lr iruncamiento: y C < 2c, de donde obtenamos para el error

|mk-a| < |mk-mk.,|.


Nuevamente consideremos que al estar ante un mtodo iterativo podemos suponer que m k , no tiene errores inherentes ni de redondeo, o sea k , = "ViDe todas formas para pasar de un valor al siguiente debemos evaluar (7.2), por lo que ser necesario estudiar como se propagan en este ltimo paso los mores absolutos en las evaluaciones de la funcin; supondremos entonces i|iie el mdulo del error absoluto total (de redondeo inherente) al evaluar ( 7.2 ) dentro de I est acotado por un valor E, o sea: 8 k , con | 5k | < E;

Por lo tanto los signos estarn garantizados siempre que: Er < min{ | F(a n ) | , | F(b n ) | }, y en este caso la expresin (7,1 ) ser correcta.

F(m k _,) - F(a)

Error total en el mtodo de Regula-Falsi


Haciendo operaciones elementales sobre esta ltima igualdad llegamos a: Para fijar ideas vamos a trabajar en este apartado sobre las hiptesis hecha en el III.2, que nos permitieron deducir para el mtodo de Regula-Falsi I frmula ( 2.1 ) o sea: F(m k .,) (mk., - a) F(mk.)-F(a)
(7.2)

F(m t .,)-F(a) F(m k .,) - F(a) - 5k m

Sumemos F(oc) al trmino de la izquierda de esta igualdad: (recordemos que F(oc) = 0) F(mk.,) - F(a)
m k-i

Para comenzar las iteraciones tombamos un intervalo I = [a , b] tal qi dentro de l la derivada de F mantuviera el signo (con las suposiciones qi habamos hecho se mantena menor que cero) y formbamos una sucestf decreciente a partir de:

F(m k .,) - F(a)


8k m k-i

-a

-a

y ihora apliquemos el teorema del valor medio del clculo diferencial:

184

Anlisis numrico. Primer curso

Ecuaciones no lineales

185

FCn k .,) ( - mk.,) = (mk - mk.,) F(^k.,) - 5, F(Tl k .,) (a + mk - mk - m k .j) = (mk - mk.,) F(r,k.,) (a - mk) = (mk - mk.,) ( Fk.,) - F _ , ,_ . F'^ k .,)-F(Ti k ,) (a - mk) = (mk - mk.,)

, de donde

Ahora procederemos de la misma forma que hicimos en III.4 restando miembro a miembro de ( 7.3 ) la ecuacin a = f(a), resultando luego de aplicar el teorema del valor medio: x n+1 - a = f'( n ) (xn - a) + 8n , con n entre a y xn ; entonces: x n+1 - a = f'( n ) (xn - xii+1 + x n+l - a) + 5n , y tomando mdulos: |xn+1-a| <

- 6k F( k .,), y

y usando las hiptesis respecto a las cotas de F' llegamos a:


C C-c E kk | m,, - a | < - | m., - m < | mk - mk., | + 2 E.

Mi-ndo m la cota (menor que 1 ) de la derivada en el intervalo en que estamos 1 1 abajando; si adems los Sn estn acotados en mdulo por un cierto d, i i-sulta:

-aI<
Observemos que el primer trmino de la derecha acota el error de trun camiento, mientras que el segundo acota la propagacin de errores inherentes y de redondeo. Finalmente digamos que los errores inherentes en ste caso estaran local i zados en eventuales coeficientes que definieran la F(x).

1 - m '" n+i ""' '

Observemos que el primer trmino es el que acota el error de trunuimiento y el segundo el que acota la suma del error inherente propagado y el de redondeo propagado.

Error total en el mtodo de Newton-Raphson Error total en el mtodo de aproximaciones sucesivas


Consideremos la expresin:
(7.3)

A ttulo de ejemplo vamos a considerar slo el caso en que resolvemos:

F(x) = 0.
De acuerdo a (4.6 ) los trminos de la sucesin surgen de la frmula:

en donde razonando en forma similar a la anterior podemos suponer que no posee errores inherentes y 5n representa los errores totales al evaluai f(x n ), o sea los errores propagados debido a posibles incertidumbres en la uti lizacin de coeficientes para evaluar la funcin y los errores de redondeo pro pagados; o sea que podemos pensar que:
5n

=X

Hagamos <p (x) = x | a , b] con la propiedad:

F(x) F'(x)

y llamemos como antes I a un intervalo

= einh + ered'

186

Anlisis numrico. Primer curso

Ecuaciones no lineales

187

F( I) c I , y tal que dentro de l: | < p ' ( x ) | < m < 1;

i >l)icuernos los siguientes valores:

n
Vimos que tomando x0 en I queda garantizada la convergencia, y ap cando lo estudiando en la seccin anterior al proceso iterativo:
xm-i =

Xn

F(xn)
0.4375 -0.308521977 -0.022531958 - 0.006263940

F'Un)

Un

0 1
2 3 4

(PCxJ deducimos:

m n +1 1-m
Xn+l

1.5 2.143382352 1.951954874 1.935214654 1.930496437

- 0.679999999 -1.611691176 -1.345977437 -1.327607327

0.643382352 -0.191427478 -0.016740219 -0.004718217

- Xn

( 7.4 )

1- m
En este punto evaluemos el error de truncamiento; para eso primero acoi temos |F"(x)| |-sen(x) - 0.5 | 1.5

siendo d una cota para los errores propagados totales en <p (x). EJEMPLO 7.1 Sea nuestro problema encontrar una raz de: F(x) = sen(x) - - - , utilizando el Mtodo de N-R. 4 Si nosotros resolvemos este problema con una computadora una calculadora con rutinas cientficas, como el clculo de F(x) requiere de pocas operaciones y las rutinas para seno y coseno aseguran casi hasta el ltimo dgito, el d de la frmula (7.4) ser del orden de Ji y los efectos de los errores pro pagados sern despreciables. Para apreciarlos tendramos que elegir una F(x) I con muchas operaciones o suponer que las rutinas para evaluar el seno y el coseno poseen un error considerable. Esto ltimo lo simularemos as: traba jaremos con todos los decimales de nuestra calculadora salvo para el seno y ei coseno, en donde redondearemos los resultados a dos dgitos significativos; entonces: sen(xn) - Xn-H

I F'(x)
Por otro lado:

<

1.3

<

1.3

< 1.16 ;

| h 3 | < 0.0048, de donde 1.16 0.0048 < 0.0056 = m, entonces:

< 5.64 10~3 y

finalmente:

| x 4 - c c | < 5.64 10-3 4.8 10 3 < 0.3 10'4 Sin embargo a =1.9337538 de donde en verdad: | x 4 - c c | > 3.25 10'3. Esta aparente contradiccin deriva de no haber tenido en cuenta los errores propagados; estimemos entonces un valor para d considerando solamente los errores propagados al calcular el seno y el coseno con un error absoluto acotado por 0.5 10"2.

= Xn

'

= Xn + h n '

cos(xn) - J_

188

Anlisis numrico. Primer curso

Ecuaciones no lineales

189

_
e f>~

a(P

39
escn +

_
e<:os

esen

F(X)

asen

3eos

p'(x)

p'2(x)

Vemos que el valor de la derivada no parece tender a cero lo que justifica lenta convergencia. Es probable que estemos en presencia de una raz oble. Construyamos entonces H(x) = G(x)/G'(x) y apliquemos el mismo algo i iimo partiendo del mismo XQ y con un eps = 10 1 0 ; nuestra salida ser:

y tomando mdulos y acotando: 0.5 ID'2 0.0064 0.5 10 2


* 3.87

1.41421356053304 control = 0.00510178055121544 1.41421356053304 control = 0. Hl ltimo valor tiene ocho decimales correctos.

Tomando d = 3.87 10 3 resulta:


| x4 - a | < m 1 -m 1 -m

< 5.64 10"3 0.0048 +

0.00387 1 - 0.0056

Ejercicios
1) Las siguientes ecuaciones tienen todas una raz en el intervalo ( O , 1.6). Hallar dichas races con un error absoluto menor que 0.01 trabajando con cuatro dgitos; acotar la influencia de los errores propagados; usar el mtodo de la biseccin. a) x cos(x) = ln(x) , b) 2 x - e-* = O , c) e-2 * = 1 - x . 2) Programar el mtodo de la biseccin suponiendo que la cota para los errores absolutos propagados en el clculo de la funcin es un dato. La cota para el error absoluto de truncamiento requerida tambin es un dato. El programa determina si puede ser alcanzada o no. 3) Estudiar la convergencia del mtodo de N-R aplicndolo a la ecuacin:

< 0.00392

Vemos entonces que esta es una buena cota para el error total.
EJEMPLO 7.2

Utilizando el Mtodo de Newton-Raphson intentaremos hallar la raz ] sitiva de


G(x) = x4 - 4 x2 + 4 = O

Aplicando el algoritmo de newton con control del valor de la derivada i f(x) y partiendo de x^ = 1.4 obtenemos los valores: 1.41068709209572 1.41245253112368 1.4133335956573 1.41377371598594 1.41399367339026 1.4141036264304 1.41415859653853 control control control control control control control 0.496192893401061 0.498115686867059 : 0.499062567245139 : 0.499532454037792 : 0.499766518411633 : 0.499883331829517 0.499941684770595

x2 - 2 = O,
Hallar estimaciones de la raz con precisin sucesivamente creciente. Determinar para el ltimo valor el error total.

4) La raz real de la ecuacin: x3 = x + 4

190

Anlisis numrico. Primer curso

Ecuaciones no lineales

191

puede ser escrita en la forma:


321
2 -

en el intervalo [a, b], partiendo de cualquier punto del intervalo tal f(x0) f "(Xo) > O queda garantizada la convergencia a la nica raiz que existe dentro de l (Clculo Numrico Fundamental. B. P. Demidovich, I. A. Marn). 11)Sea la ecuacin

a= V 2 +

a) Utilizar esta expresin para calcular a con cuatro decimales correctos. b) Recalcular a con la misma precisin usando el mtodo de N-R. 5) Determinar la raz no nula de la ecuacin:
y 1 I A C

F(x) = x3 - 9 x2 + 24 x - 20 = 0. a) Aplicar el mtodo de N-R utilizando aritmtica de punto fijo con 5 decimales y tomando 1.5 como punto de partida. Detener el proceso cuando se tengan dos decimales significativos. b) Resolver el punto a) aplicando el mtodo de N-R para el caso de races mltiples. 12)Sea el sistema de ecuaciones no lineal:

p 2 x,

utilizando el mtodo de N-R. Acotar el error total de forma que podamos ase| gurar 4 decimales correctos. 6) Determinar con 5 decimales correctos una raz de la ecuacin: x ln(x) - 1 = 0 . Utilizar el mtodo de N - R. 7) Aplicar el mtodo de N-R para determinar una raz compleja de la ecuacin: x2 + 1 = O ; comenzar las iteraciones con x0 = 1 + i 8) Utilizando el mtodo de la secante determinar las races de las siguientes ecua ciones con un error absoluto de truncamiento menor o igual que 0.5 10~5: a) 2 x = e-* b) tan(x) + cos(x) = O .

F(x , y) = x2 + y2 - 4 = O G(x , y) = x y - 1 = O Resolverlo utilizando el mtodo de N-R tomando como punto de partida el (2,0). 13) Suponiendo que poseemos una rutina para evaluar la exponencial hallar el logaritmo neperiano de un nmero a utilizando el mtodo de N-R. Efectuar los clculos para a = 1.2 en aritmtica de punto flotante con 4 dgitos de precisin. Estimar los errores totales. )4)Trabajando en [ G(10 ,4 ,2), rd ] hallar la raz negativa de la funcin F(x) = x2 - x - 2 , utilizando el mtodo de N-R. Acotar el error final total.

9) Obtener la raz cbica de un nmero c utilizando el mtodo de N-R. Haciend todas las consideraciones necesarias determinar el valor de partida .para un cualquiera. 10)Suponiendo que poseemos una rutina para calcular el seno, hallar el arcsenfc utilizando el mtodo de N-R. Determinar el valor de partida y acotar los errorc Determinar arcsen(0.5) con 3 dgitos significativos. NOTA: Un criterio prctico para garantizar la convergencia del Mtodo de N-R el siguiente: SI l(a) t(b) < O y f '(x) y f "(x) no se anulan y conservan el sigr

15) Resolver con un error relativo de truncamiento menor que 0.5 10'3 el siguiente sistema de ecuaciones no lineales: x2 1.021 = -4.953

5.040 x y

= - 0.05440

Utilizar el mtodo de N-R. Usar r como punto de partida el vector (0.3 , - 0.03).

192

Anlisis numrico. Primer curso

16) Indicar en qu casos conviene utilizar el mtodo de la secante en lugar del < N-R para evaluar la raz de una funcin. 17) Representar grficamente un caso en el que al buscar la raz de una fumn F(x) mediante el mtodo de N-R el proceso iterativo oscila entre dos valoi sin converger nunca.

CAPTULO IV

Aproximacin o ajuste de funciones

1V.1 Conceptos bsicos


Un problema fundamental que se nos presenta con muchas variantes es el de aproximar una funcin f por otra f* de una clase de funciones fciles de manejar matemticamente (por ejemplo polinomios, funciones racionales, polinomios trigonomtricos, etc.), donde cada funcin f*, queda determinada asignando valores numricos a un cierto nmero de parmetros. En lo que sigue trabajaremos con funciones de una variable definidas en un intervalo cerrado y acotado. Debemos tener en cuenta dos tipos de inconvenientes: los asociados a los datos de entrada, y los asociados al modelo particular que intentamos adaptar a esos datos (clase de funciones). Por simplicidad denominaremos a estos inconvenientes, errores de medicin y errores en el modelo respectivamente.
EJEMPLO 1.1

Los puntos de la Figura 1.1 nos muestran para n = 1, 2, 3, 4, 5, el tiempo t para la ensima pasada de un pndulo oscilante a travs de su punto de equilibrio. Las condiciones del experimento nos permiten suponer una relacin de la lorma:
t = a + b n.

194

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

195

La desviacin observada respecto de la linealidad se debe fundarnciil il mente a errores de medicin aleatorios. Esta desviacin produce una incertidumbre respecto a los valores de a y Tenemos cinco puntos y slo dos parmetros a determinar; decimos tonces que tenemos un problema sobredeterminado. Ms adelante veremos que a este tipo de problemas podemos tratarle el Mtodo de los Cuadrados Mnimos. j
3 -

l'or ejemplo si (p(x) = x1 la clase de posibles f* es la de polinomios de irado menor o igual a n. l;,l conjunto { 1, x , x 2 , x 3 ,..., xn } es una base de la clase de polinomios de grado menor o igual a n. La funcin f puede estar dada de diferentes formas. Es comn que conozi .unos sus valores a travs de una tabla sobre la malla { x 0 , x, , x 2 , . . . , xm }: {x 0 , f (x,,) } , {x, , f (x,) } , { x 2 , f (x2) } , . . . , { xm , f(xj }. Supongamos ahora que queremos determinar los n+1 parmetros c ( ) ,c p . , . . . , cn de forma tal que f*(x) y f(x) coincidan o difieran tan poco como '.IM posible para i - O , 1 , 2 ,..., m. Este planteo nos conduce a un sistema de ni i-l ecuaciones con n+1 incgnitas:
n

^ Cj 9j(x) = f(x) , i = O, 1, 2,..., m . Si A = (a,p , con a,, = q>.(x) y B = (f(x () ) , f(x,) ,..., f(x m ))', encontrar la solucin equivale a encontrar un C = (c0 , c, ,..., c n ) 1 tal que sea solucin del sistema lineal: A C = B , con A de ( m+1 )x( n+1 ). Podemos considerar la aproximacin de funciones como un caso especil de un problema ms general e importante: ajustar unjnadl0_mateintico | ciertos datos y a otros hechos conocidos. Trataremos en lo que sigue el problema de la aproximacin lineal, decir: una funcin f debe ser aproximada por una funcin f* que puede expresada como una combinacin lineal de n+1 funciones (p() , cp, , (p2 , .. (pn elegidas de antemano, o sea: f*(x) = c <p (x) ;
i=0

Figura l.l

Si m = n este sistema tiene normalmente solucin nica y en ste caso el procedimiento se denomina INTERPOLACIN (interpolacin lineal es el caso particular en que n = 1 , (p0 = 1 , <p, = x). Si n > m el problema est subdeterminado, y este caso no nos interesa ya que no ocurre eri la prctica. Si m > n existen ms ecuaciones que incgnitas y el sistema est sobreieterminado. En este caso el objetivo es satisfacer las ecuaciones slo en form.i aproximada (ver Ejemplo 1.1 en donde n = 1 y m = 4). La sobredeterminacin nos permite lograr dos tipos distintos de "suavi/acin":

El problema consiste en determinar los parmetros c.

196

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

197

a) Reducir el efecto de errores aleatorios en la determinacin de los v.iln res de la funcin. b) Dar a la curva una forma ms suave entre los puntos de la malla (.11111 que los valores de la funcin no tengan error). Un mtodo importante para el tratamiento de sistemas de ecuaciones ll neales sobredeterminados es el MTODO DE LOS CUADRADOS MNIM( >s I aplicacin a la aproximacin de funciones conduce a clculos relativameittl simples. En muchas aplicaciones es motivado por consideraciones estadsi i< .1

( 2.2 )

Las funciones f y g se dicen "ortogonales" si y solo si ( f , g) = 0. Una secuencia (finita o infinita) de funciones (p 0 , tp, , ... , cpn ,..., forliuin un Sistema Ortogonal si y solo si ((Pi.cpj) = 0 para i ^ j y (cp, (p) ?t O para todo i. (Notemos que ((p, , (p) = II <P ||2). Por ejemplo la secuencia de funciones:

IV.2 Aproximacin de funciones por cuadrados mnimos


Sea f una funcin continua a la que pretendemos aproximar en el intcr valo [a , b] por la combinacin lineal:
n

<P(x) = cos(i x) , i = O, i,..., n con w = 1 forman un sistema ortogonal


71

sobre x = j

m 4- I

con j = O, 1,.... m.

f>(x) = Z c <p(x)
1=0

El problema de aproximacin por cuadrados mnimos plantea determinar los coeficientes c0 , c, , ... , cn de forma tal que:
m

Fs fcil demostrar que las funciones de un sistema ortogonal son linealicnte independientes de donde se deduce la correspondencia biunvoca en las funciones f* y las n+1-uplas:

Volvamos ahora a la ecuacin ( 2 . 1 ) y derivmosla con respecto a c para ;illar las condiciones de mnimo: ( 2.1 ) | f* - f ||2 = Z 2 de

|| f* - f ||2 = (definicin) = I w, ( f*(x) - f (x) )2,

sea mnima en funcin de los c . (Los w son positivos y arbitrarios.) Notemos que ( 2.1 ) es una medida del error cometido al aproxiirun I por f* ; ( 2.1 ) define la "seminorma euclideana de pesos w" para ( f* - I l Para poder expresar la solucin de ste problema en forma relativament sencilla nos ser til introducir el concepto de "seudo-producto interne calar" de dos funciones continuas y reales f y g conocidas sobre una ni.ill.i finita; lo definimos como:
= I 2 ( P ( x ) - f ( x ) ) ( p ] ( x ) w; j=

Igualando a O obtenemos:
m ni

2 ^ ^(x.) <p(xj) = Z Wj f(xp 9 L (Xj) osea:

198

Anlisis numrico. Primer curso

Aproximacin ajuste t& fundones

199

((p 0 , (p0) = 1 + 1 + 1 + 1 + 1 = 5 Z Wj ( Z ck <p k (Xj)) (p(Xj) = ( f , (p);


j=0 k=0

(9 0 , (p,) = 1 + 3 + 4 + 6 + 7 = 21 (9, . 9o) - (9o' 9.) = 21 i =1,2,..., n (2.3) ((p, , (p,) = 1 + 9 + 16 + 36 + 49 = 111 ( f , (p0) ( f , (p,) = -2.1 - 0.9 - 0.6 + 0.6 + 0.9 = -2.1 = -2.1 - 2.7 - 2.4 + 3.6 + 6.3 = 2.7

intercambiando el orden de las sumatorias obtenemos:


n

((p, (pk) ck = ( f , <P) k=o

Lo que simboliza un sistema de n+1 ecuaciones con n+1 incgnil.r. < | i bajo amplias condiciones admite solucin nica. (Observemos que la nniti del sistema es simtrica.) Si las cp forman un sistema ortogonal ( 2.3 ) se reduce a: (f,9)
C: =

l'or lo tanto ( 2.3 ) se transforma en: (2.4) 5 cf) + 21 c, = -2.1

i = O, 1,..., n,

(9 > <P) denominndose a estos coeficientes "ortogonales o de Fourier". EJEMPLO 2.1 Usar el mtodo de los cuadrados mnimos para ajustar una funcin de forma f*(x) = c0 + c, x , al siguiente conjunto de datos:

21 c0 + 111 c, = 2.7 De donde obtenemos: c() =-2.542, c =0.5053 sea:

f*(x) = -2.542 + 0.5053 x EJEMPLO 2.2

(considerar los pesos iguales a 1) Consideremos el caso n = O , <p 0 (x) = 1; 1 f(x) -2.1 3 -0.9 4 -0.6 6 0.6 7 0.9 este caso ( 2.3 ) se reduce a la nica ecuacin: (<p 0 , q>0) c0 = ( f , <p u ) de donde: w f(x.)
co

Consideramos (p0(x) = 1, <p,(x) = x. Debemos calcular (cp , cpp para i = O , 1 y j = O , 1 y (f , (p) p. i = O , 1; entonces:

200

Anlisis numrico. Primer curso

Aproximacin o ajuste de funciones EJEMPLO 2.3

201

c0 se denomina "promedio pesado" de los valores f(x); Si todos los pesos son iguales a 1 tenernos:

I' I nivel de agua en el Mar del Norte est determinado principalmente por ll.unada Marea M2, cuyo perodo es de aproximadamente 12 horas, y entonbuscaremos una aproximacin de la forma: I I*(t) = hfl + a, sen(
2 JTt

co

m+1

12

) + a ? cos(

27Tt

12

) con t medido en horas.

de donde deducimos que el clculo del promedio es un caso partcula i .1. cuadrados mnimos. Una medida de la "bondad" del ajuste la da precisamente el valor que un nimizamos para un dado conjunto de funciones B = { (p }." :

Se han efectuado las siguientes mediciones:

t
H (t)

0 1.0

4 1.4

6 0.6

8 0.2

10 0.8

horas metros

1.6

f-f*
Si este valor no resulta satisfactorio debemos modificar el conjunto II Generalmente agregando funciones al mismo y recalculando todos los codi cientes de f*. Notemos que de acuerdo a ( 2.4 ) si las q> son ortogonales el coeficiente c depende solamente de f y de 9 . . Esto nos permite incrementar la cantidad de funciones de la base sin tener que recalcular los c previos. Los sistemas ortogonales no slo son ventajosos porque simplifican le clculos; usndolos tambin evitamos las dificultades numricas con los err res de redondeo que pueden presentarse al resolver el sistema de ecuacior originado por un sistema no ortogonal.

Debemos ajustar H(t) a la serie de mediciones utilizando el mtodo de los cuadrados mnimos. Resulta natural elegir una base de funciones de periodo 12:
TI t
71 t

(t) -

= sen(

= cos(

Calculemos ahora los coeficientes del sistema de ecuaciones lineales:


(<p0 , <p0) = 6 , (tp() , (p,) = O , (<p0 , <p2) = O ; (<P! ,cp,) = 3 , (9, ,<p 2 ) = 0; . (<p2 , (p2) = 3 ;

(<pfl , H) = 5.6 ; ( ( p , , H ) = Vl ;
(q)2 , H) = 0.8 ;

202

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

203

Observamos que las (p forman un sistema ortogonal, por lo tanto: hn = 5.6 6 = 0.933

I >iscutiremos algunas de las propiedades de los polinomios como funcioiii", aproximantes en un intervalo cerrado [a , b]. 1 )efmamos primero la norma infinito para funciones continuas en un intervalo [a,b]: Si f pertenece a Ct[a , b] entonces || f IL = max { | f(x) }
xe[a,b

a, =

3 0.8

= 0.577

Ahora estamos en condiciones de definir para una funcin continua: = 0.267 , entonces: Si fe C [ a , b j entonces: 711

a, =

ut H*(t) = 0.933 + 0.577 sen( ) -t- 0.267 cos( - -). 6 6


1.5 1.25 1 -

E n ( f ) = nfimo { | | f - P | L }
F (polinomio de grado < n)

Con estas definiciones estamos en condiciones de enunciar el siguiente teorema fundamental: Teorema 3.1 (Weierstrass) Si f e C [ a , b] entonces lim E n (f) = 0.
n >

0.75 0.5 0.25 -

Figura 2.1

Este resultado nos permite asegurar que una funcin continua en un intervalo cerrado y acotado puede ser aproximada dentro de l por medio de un polinomio, con un error tan chico como querramos con tal de elegir polinomios apropiados de grado suficientemente alto. Cuanto ms suave sea f , ms rpido decrecer E n (f), es decir menor ser el grado del polinomio neces.irio para aproximarla con un cierto error. Por otro lado en muchos casos, E n (f) decrece tan lentamente que no resulta prctico aproximar f con polinomios. Los mtodos ms usados para construir aproximaciones polinmicas proilucen a menudo errores mximos significativamente mayores que E n (f), y ni siquiera podemos estar seguros de que, con el tipo de polinomios que trabaj.iinos, el error tienda a cero al tender n a infinito, an cuando f sea bastante regular.

IV.3 Polinomios como funciones aproximantes o de ajuste


Propiedades y representaciones
Sabemos que un polinomio de grado n es una funcin de la forma: P(x) = an xn + an., x"-1 + ... + a, x + a 0 .

204

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

205

EJEMPLO 3.1

<Po(x) = a oo

1
La funcin f(x) =

1 + x2

tiene derivadas continuas de todos los nlc

sobre cualquier intervalo acotado. Sin embargo la Serie de Taylor:

1 +x 2 = 1 - x2 + x4 - x6 + ...,
<Pn W = an(, + 3n.
X

cuyas sumas parciales proveen aproximaciones polinmicas de grado cente, converge slo en el subintervalo (-1 , 1). Existen varias formas de especificar polinomios. La ms conocida consist en dar los coeficientes de una expansin de la forma:
n

i un a - O se denomina una "familia triangular de polinomios". Podemos demostrar fcilmente que todo polinomio de grado n admite una representacin nica de la forma:
P(x) = ... + cn (p n (x)

P(x) = E a. x' j=o

Una familia triangular para interpolacin


Una forma alternativa es la siguiente:
n

P(x) = Z b (x - c)> j=o ;

con c en [a , b]

Supongamos que x0 , x, , ... , xm , son los m+1 puntos de una malla dada dentro del intervalo [a , b]. Entonces las frmulas siguientes definen una importante familia triangular:
(p0(x) - 1 (pj(x) =x.-x0

Matemticamente no hay diferencias entre las dos formas, pero computa cionalmente la eleccin de la representacin (algoritmo de clculo) puede le ner una influencia importante en la propagacin de los errores de redomlc Usando la segunda forma resulta conveniente elegir:

a+b
c

p t (x) = ( x - x 0 ) ( x - x , ) ... (x-x.,)


Existen otras representaciones ms ventajosas an. Una secuencia (finita I infinita) de polinomios cp 0 , cp, ,..., (pn ,..., de la forma: <P m+ i(x) = (x - XQ) (x - x,) (x - x 2 ) ... (x - xj

206

Anlisis numrico. Primer curso

Aproximacin o ajuste defunciones

207

La representacin resultante: P(x) = c0 + c, (x - x,,) + c2 (x - X0) (x - x,) + ... -f cm (x - x,,) (x - x,)... (x - x,


o sea:

()bservemos que los c se pueden despejar inmediatamente en orden creu(c, sea que vamos obteniendo polinomios de la forma: P(x) = c, <p(x) - Pj.,(x) + c, <p(x) la condicin: i = 0,1,...,:

P(x) =

Cj

(3.1)
;) = f(Xj).

es muy prctica para expresar polinomios de grado m , especialmente |>.u . problemas de interpolacin. Ms adelante veremos que <p m+1 (x) participa en la expresin del erroi il discretizacin de la aproximacin ( 3 . 1 ) a una cierta funcin f. Teorema 3.2 El problema de interpolacin, que consiste en determinar un polinoi ..... de grado mnimo que acuerde con los valores de una funcin dada sobre mu malla de m+1 puntos, siempre tiene una nica solucin que puede ser I, u 1 1 mente expresada en la forma (3.1 ). Demostracin: Primero observemos que el grado del polinomio interpolador ser men<>i o igual que m. Escribamos las ecuaciones que se desprenden de la condicin pedida: P(x) y f(x) deben coincidir sobre los puntos de la malla, entonces:
=c

Es evidente que si PM (x) - f(x), c ser nulo, lo que garantiza que el polinomio interpolante ser de grado mnimo. Por otro lado este teorema nos permite construir un algoritmo para calcul.ir los coeficientes del polinomio interpolante: Algoritmo elemental para hallar los coeficientes del polinomio interpolador
comienzo entrada : m, ( x, f) i = O,..., m ;
C0

~ *0 '

para i = l , . . . , m hacer comienzo


s = c-i

> d = x - xj., ; mientras j > O hacer comienzo


d = d(xi-xj);
S O = 3 ^ f Y - A j ) T -Cj ' > ; A.J Y ^ 4 r , ' - :

f(x,) = c0 + c, (x, - x0) f(x 2 ) = c0 + c, (x2 - x,,) + c2 (x2 - XQ) (x2 - x,)

finmientras

= c0 + c,(xm - x,,) + c2 (xm - x0)(xm - x,)...+ cm ^ - xa)(xm - x,)...(xm - x,

208

Anlisis numrico. Primer curso

Aproximacin o ajuste defunciones

209

c, - ( f - s )/d fin i)

Nolcmos que de acuerdo a ( 3.2 ), f(x) - P(x) = O , i = O , 1,..., m como ramos para el polinomio interpolante. I K-mostracin: Tomemos un z fijo y arbitrario para el cual querramos evaluar f(z) - P(z) con z it x. para
m

salida : c i = O, ..., m fin Este algoritmo para calcular los coeficientes del polinomio interpolai implica 2 + 3 ( i - l ) sumas y restas y i multiplicaciones y divisiones por \\\; lo que hace un total de:
m i=l m i=l

i = O ,..., m; grado (Pro (x) ) = m+1;

D (2 + 3 (i - 1) + i) = (4 i - 1) = 2 m2 + m operaciones Luego obtendremos un algoritmo que implica una cantidad menoi < l > operaciones, lo que lo hace un poco ms estable. Para evaluar el polinomio interpolante recin obtenido es conveniente utilizar el algoritmo: P = cm , P = V; + P (x - O , i =1,2,..., m.

Sea Pro(x) = ** (x - x) ; entonces i=o Definamos ahora la funcin: U(x) = f(x) - P(x) - k Pro(x) U(z) = O , sea k =

con k elegido de tal forma que:


z) - P(z)

Pro(z)

P(x) es el valor obtenido para i = m. Nos ser muy til el siguiente teorema que expresa la forma del error i discretizacin en la interpolacin: Teorema 3.3 (Sobre el Trmino Residual en Interpolacin) Sea f una funcin dada con derivadas continuas hasta al menos el ordc m+1 en cierto intervalo I = [a , b]. Si P(x) es el polinomio de grado mnimo para el cual (Polinomio nter polante):

(Observemos que siempre podemos hallar k , ya que con las condiciones impuestas Pro(z) ^ O .) Con esta eleccin de k , U(x) tiene por lo menos m+2 races en el interv.ilo , y U'(x) tiene por lo menos m+1 races, y razonando inductivamente lj (m+l) (x) tiene por lo menos una raz en I; sea c;,, dicha raz, entonces: U(m+1)(c;2) = f (m+l) (cj - k (m+1)! = O, de donde:
k= f(z) - P(z)
(m + 1)!

Pro(z)

, y entonces:

f(z) - P(z) =

P(x) = f(x)

i = O, 1, ..., m , x en I ; entonces para todo x en I:

(m + 1)!

Pro(z)

Como z era arbitrario en I, obtenemos la tesis del teorema, c.q.d.

f(x)-P(x)=
donde cjx es un punto interior al intervalo I.

(3.2)

210

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

211

El Fenmeno de Runge El Fenmeno de Runge es una dificultad asociada a la interpolacin |>i>h nomial cuando la malla est compuesta por nodos equidistantes. Ilustraremos este fenmeno con el siguiente ejemplo:
EJEMPLO 3.2

'.i bien el acuerdo de esta curva con la funcin f , es relativamente bueno . I M ! intervalo central [-0.2 ,0.2], se torna psimo en los extremos, donde la i ni va de interpolacin tiene una trayectoria extraa entre los puntos de la malla. Este comportamiento que puede ser explicado tericamente, constituir d Fenmeno de Runge. Es tpico de interpolacin equidistante con polinomios de alto grado. La curva punteada ha sido determinada por interpolacin usando las denominadas abcisas de Tchebycheff (ver ms adelante):
2i+ 1 71 m,+ 1
2

La funcin f, cuyo grfico es la curva continua mostrada en la Figura I es aproximada de dos formas distintas utilizando polinomios de grado 10 it el intervalo [-1 , 1 j. La curva con lnea quebrada ha sido determinada por interpolacin sol la malla equidistante de 11 puntos (m = 10):
2i m

= 0,1,2,..., m

(3.4)

Observemos que en ste caso no se presenta el Fenmeno de Runge. An as la aproximacin no es del todo buena; obtendramos un mejor i estillado usando funciones aproximantes racionales o polinmicas a trazos. Trabajando con datos equidistantes podemos obtener una mejor aproximacin si en lugar de interpolar ajustamos un polinomio de grado menor (por ejemplo n - 6) usando el mtodo de los cuadrados mnimos. Generalmente eligiendo n < 2 V m el ajuste polinomial es un problema bien condicionado. El Ejemplo 3.2 nos muestra la importancia de estudiar la trayectoria de la nirva f*(x) entre los puntos de la malla utilizada antes de aceptar la aproximacin. Cuando usamos procedimientos para aproximar para los cuales no leemos un anlisis terico completo deberamos hacer un clculo perturbalivo experimental. En el caso del Ejemplo 3.2 un clculo de este tipo muy probablemente nos revele que el polinomio interpolante reacciona fuertemente ante pequeos cambios en los valores de la funcin. Esto nos dara la base para rechazar la interpolacin equidistante del ejemplo, aunque slo conozcamos f(x) en los nodos de la malla.

i = 0,1,2,...,!^

(3.3)

Figura 3.1

212

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

213

IV.4 Polinomios ortogonales


Polinomios de Tchebycheff
Los polinomios de Tchebycheff constituyen quizs, el ejemplo ms imp tante de una familia triangular de polinomios ortogonales. Estn definidos por las frmulas: T n (x) = cos(n arcos(x)) , -l<x<l, n = 0,1,2, ...
y

1.a M1NIMIZACIN DE LA NORMA INFINITO de q (x), ( || q(x) |L = i.ix | q( x ) |) y en consecuencia del TRMINO RESIDUAL para interpolacin . i ni polinomios de grado m , se obtiene eligiendo { x 0 , x, ,..., xm } como los i os de Tm+1(x). I n este caso decimos que efectuamos la INTERPOLACIN DE TCHEBYi IIEFF. Hl importante hecho recin visto hace que siempre que podamos elegir liIH emente los puntos de una malla, de entre todas las aproximaciones polinomi.iles, sea conveniente usar la de Tchebycheff, interpolando en el intervalo | 1 , 1 ] sobre los puntos: 2i+
x.

Entonces los primeros componentes de la familia son:

7t ), i = O, 1, 2,..., m. 2

= cos( m+ 1

T0(x) = l , T,(x) = x , T2(x) = 2 x 2 - l , T3(x) = 4 x 3 - 3 x , T4(x) = 8 x4 - 8 x2 + 1 Los polinomios de Tchebycheff tienen muchas propiedades tiles: frr las de recurrencia, simetra, ortogonalidad, etc. Las expansiones en trmii de estos polinomios constituyen una importante ayuda en el estudio de : ciones sobre el intervalo [-1 ,1]. Si nuestra variable t , vara en el intervalo [ a , b ] debemos hacer la sus tucin t= a+b
-

EJEMPLO 4.1 Aproximar f(x) = o menor igual a 10. i Primero tomamos una malla de puntos equidistantes xl = -2 + i 0.4 con O , 1 , ... , 10 y luego hallamos los valores f = f(x), resultando:
-2. -1.6 -1.2 0.06494 -0.8 0.13514 -0.4 0. 0.4 0.8 1.2 1.6 2. 0.02439

10x2

en el intervalo [ - 2 , 2 ] por un polinomio de

b -a
i

x , con x en el [ - 1 , 1 ] y t en el [a , b].

La ecuacin ( 3.2 ) muestra la expresin del trmino residual (error discretizacin) de la interpolacin polinomial. Aunque cjx depende de x , podemos decir que la curva de error se cor porta en su mayor parte como el polinomio:
m

0.02439 0.03759

0.38462 1.00000

0.38462 0.13514 0.06494 0.03759

Utilizando ahora el algoritmo de IV.3 obtenemos los coeficientes para es11 ibir el siguiente polinomio interpolador: |>(x) = 0.02439 + (x + 2) (0.03301 + (x + 1.6) (0.04418 + (x + 1.2) (0.07480 + I (x+0.8) (0.1753 + (x+0.4) (-0.04679 -I- (x+0) (-0.60222 + (x-0.4) (1.0398 + i (x - 0.8) (-0.95934 + (x - 1.2) (0.61893 + (x - 1.6) ( - 0 . 3 0 9 4 6 ) ) ) ) ) ) ) ) ) ) .

y = a q(x) con a = cte

q(x) O (x - x)

214

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

215

Ahora construyamos, para resolver el mismo problema, el polinomio 1 1 1 1 < i pelador de Tchebycheff. Utilizando la frmula ( 3.4 ) calculemos las ra* T n (x):

t i -cos(

2i + 1 K - 1 \ n

nJ

")

... , 10 ,

resultando:

to

*1

<2
-0.7558

3
-0.5406

'4
-0.2817

'5
0.0 DOO

6
0.2817

'7

'9
0.9096

'id
O.'Wiii

-0.9898 -0.9096

0.5406 0.7558

Figura 4.1

Debemos ahora transformar el intervalo [-1,1] en el [ - 2 , 2 ] utiliza mln x(t) = 2 t y calcular x = x(t) y f = f(x) obteniendo la siguiente labl.i:

IV. 5 Funciones Spline


En diseo ingenieril, construccin de barcos y otras actividades, son comnmente utilizadas las llamadas "funciones spline", las cuales pueden ser descriptas como "varillas elsticas" que pueden ser dobladas de forma tal que pasen por un dado conjunto de puntos (x, y) , i = O, 1,..., m. Sea y - f*(x) la ecuacin de la curva que est definida por la spline; bajo ciertas hiptesis de acuerdo a la teora de la elasticidad, f*(x) puede ser descripta aproximadamente como formada por trozos de polinomios de grado 3, unidos de tai forma que tanto f*(x) como sus dos primeras derivadas son (unciones continuas. La tercera derivada puede presentar discontinuidades en los puntos de la malla. Esta funcin se denomina "spline cbica" sobre los nodos de la malla. El concepto de funcin spline puede generalizarse de la siguiente forma: Sea a = Xjj < x, < ... < xm = b, una subdivisin del intervalo [a , b]. Una funcin spline de grado p con nodos en los puntos x, i = O,..., m es una funcin s(x) con las siguientes propiedades:

-1.9796 -1.8193 -1.5115

-1.0813 0.0788

-0.5635 0.0000 0.2395 1.0000

0.5635 1.0813 1.5115 1.8193 1.9798 0.2395 0.0788 0.0419 0.0293 0.024!)

f(x)

0.0249

0.0293

0.0419

Utilizando ahora el mismo algoritmo de IV.3 calculamos los coeficiente para construir el nuevo polinomio interpolador: q(x) = 0.0249 + (x + 1.9796) (0.02772 + (x + 1.8193) (0.02829 + + (x+ 1.5115) (0.03594 + (x+ 1.0813) (0.07385 + (x + 0.5635) (0.05668 f + x (-0.2534 + (x - 0.5635) (0.2837 + (x - 1.0813) (-0.20222 + + (x - 1.5115) (0.11433 + (x - 1.8193) (- 0 . 0 5 7 7 5 ) ) ) ) ) ) ) ) ) ) . Grafiquemos ahora f(x) con trazo continuo, p(x) con trazos discontinuos y q(x) con lnea punteada para observar las diferencias entre las IH-. Notemos que en el centro del intervalo p(x) ajusta mejor a f(x), pero en lu-. extremos es mejor el ajuste de q(x).

216

Anlisis numrico. Primer curso a) En cada subintervalo [x,xi+1) , i = 0, ...,m-l, s(x) es un polinom| de grado p. b) s(x) y sus p-1 primeras derivadas son continuas en [ a , b ] .

Aproximacin o ajuste de fundones

217

jc-u
)(x l + , -x), L
1(111

d1+1h

Si p = 1, s(x) es lineal a trozos y est unvocamente determinada. Las uil ciones spline pueden ser usadas en muchos casos en donde una aproximad^ polinomial sobre el intervalo completo no es apropiada por producir oscili ciones indeseadas. Con el uso de splines no debemos temerle a los datos equidistantes cor era el caso con polinomios de alto grado. Sin embargo no podemos afirml que las funciones spline son siempre mejores que un polinomio con el misr nmero de parmetros. Discutiremos ahora con algn detalle el caso de interpolacin con luj ciones spline cbicas; las condiciones a) y b) en este caso permiten infir tas soluciones pues para construir s ( ) , s t , ..., s m _, , necesitamos 4 m ce ficientes mientras tenemos 2 condiciones de interpolacin sobre caJ intervalo (s^Xj) = y, s(xj+)) = y j+1 ), las que totalizan 2 m condiciones (estf tambin son las condiciones de continuidad), 1 condicin sobre cada noJ interior para la derivada primera ( SM'(X) = s^xj ) y otra condicin paral derivada segunda ( s_,"(xi) = s^X;) ) , que agregan 2 re - 2 condiciones 1 ciendo un total de 4 m - 2 condiciones. Nos quedan dos grados de liber que pueden ser usados de distintas formas. Analizaremos el caso de la spline cbica natural que surge de imponer:

(5.1)

=X

y d, , d2 , ... , d m _,, solucin del sistema de ecuaciones lineales:


+,

hi

i + 1

- - - (y.-y ) ( 5 . 2 ) h,-

i = 1, 2, ..., m-1

I >emostracin: Definamos d = s"(x) = lim SM"(X) = lim s"(x)


x->x x->x

i = l,...,m-l;

(vemos entonces que la condicin en los extremos implica automticamente '! = d m = 0) ('orno s, es un polinomio cbico en [x^x^J, s" es una funcin lineal que s.ilisace: s"(x) = d y Sj"(x i+1 ) = d i+1 ; de donde deducimos que:
" d, h d,. h

Teorema 5.1 Supongamos tener una tabla de valores { ( x, y) } 0 ; La spline cbica : tural s ( x ) que interpola esta tabla est formada por las s( x ) sobre el inte valo [ X j , Xj + , ) definidas por:

Si integramos dos veces con respecto a x obtenemos:


d,,

s'(x) =

~ (x-+1 "

(x " Xi)3 + c (x " x-} + D (x-+

siendo C y D las constantes de integracin.

218

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones D=[d,,d2,d3)d4j'

219

Imponiendo las condiciones s(x) = y y s i (x i+1 ) = y1+1 obtenemos ' D, y reemplazando obtenemos la expresin ( 5.1 ). Para determinar los valores d, ,..., d m , utilizaremos la continuidad di Si derivamos ( 5.1 ) y hacemos obtenemos ( 5.2 ) c.q.d. para i desde l a m

y
B = [b, , b 2 , bj, bjl , con 6 b= Y
( ^ < " 2 yi

+ K-i)

Cuando aplicamos estas condiciones para aproximar funciones cuyas de rivadas segundas no se anulan en los extremos a y b, an obtenemos un buen ajuste en la parte central del intervalo, pero el error es mayor en lim extremos. Formulando las condiciones adicionales en forma adecuada podemos obJ tener un error uniforme en todo el intervalo. Las ecuaciones ( 5.2 ) dan lugar a un sistema lineal tridiagonal para deterJ minar los d . El nmero de operaciones requeridas para resolver sistemas < | . este tipo crece solo linealmente con m. Por lo tanto el trabajo requerido parlj determinar una funcin spline es razonable incluso usando un nmero .Ir puntos grande. EJEMPLO 5.1

Vamos a aplicar estos resultados interpolando con una spline cbica natural la funcin: f(x) = e "2 en el intervalo [ - 1 , 1 ] ; para m = 5 resulta h = 0.4 ; entonces: x0 = 1.0 , x, = -0.6 , x2 = -0.2 , x3 = 0.2 , x4 - 0.6 , x5 = 1.0; yo = f(X()) = 0.36787944 , y, - f(x,) = 0.69767633, y2 = f(x 2 ) = 0.96078944 , y, = f(x3) = 0.96078944, y4 = f(x 4 ) = 0.69767633 , y5 = f(x 5 ) = 0.36787944; b, - -1.00026 , b2 = -3.9467 , b3 = -3.9467 , b4 = -1.00026 y el sistema a resolver resulta: A D = B, con r 1.6 0.4 A = O O

Si tenemos 6 puntos equidistantes:


x0 , x, , ... , x5 sea h = x j+1 - x = h , i = O, 1, 2, 3, 4 , el sistema formado por ( 5.2 ) resulta ser: A D = B con

0.4 1.6 0.4 O

O 0.4 1.6 0.4

O O

0.4! y
1.6

A =

4h h 0 0

h 4h h 0

0 h 4h h

0 0 0 4h

B = [-1.00026 , -3.9467 , -3.9467 , -1.00026]' donde resulta:

220

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

221

d, = -0.138761 d2 = -1.9456 d3 = -1.9456 d4 =-0.138761 Con los valores encontrados y considerando que d0 = d5 = O , poden i armar los 5 tramos de la funcin spline utilizando (5.1 ): s 0 (x) = 0.9197(-0.6 - x) + 1.75344(x + 1) - 0.0578172(x + I) 3 s,(x) = 1.75344(-0.2 - x) - 0.0578172(-0.2 - x) 3 + 2.53168(x + 0.6) - 0.810665(x + 0.6)3 s 2 (x) = 2.53168(0.2 - x) - 0.810665(0.2 - x) 3 + 2.53168(x + 0.2) - 0.810665(x 4- 0.2) 3 s 3 (x) = 2.53168(0.6 - x) - 0.810665(0.6 - x) 3 + 1.75344(x - 0.2) -0.0578172(x-0.2) 3 s 4 (x) = 1.75344(1 - x) - 0.0578172(1 - x) 3 + 0.919699(x - 0.6) Las funciones spline pueden usarse para derivar, integrar, esolver ecuac nes diferenciales, etc. EJEMPLO 5.2

S0(x) , s,(x) , ..., S9(x); I )cfmamos ahora s(x) en base al siguiente algoritmo:

Algoritmo para el clculo de la spline comenzar


entrada: x ; si x < Xo entonces devolver( s0( x ) ) finsi; si x > xrn entonces devolver( s m .,( x ) ) finsi; para i desde O hasta m-1 hacer si x < x y x <,x;.,., entonces devolver( s,( x ) ) finsi finpara( i) fin Si ahora graneamos f(x) con lnea llena y s(x) con lnea a trazos observamos que el acuerdo es mejor que el obtenido por los polinomios interpoladores de grado 10, ya sea el obtenido con intervalos equidistantes el de Tchebysheff.

1
Consideremos nuevamente f(x) =

1 + 10 x2

como en el Ejemplo 4.1;

Tomemos igualmente x= -2 + 0.4 i , i - O , ..., 10 y procediendo conu en el Ejemplo 5.1 construyamos los diez tramos de la spline:

Figura 5.1

222

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

223

Tambin es instructivo comparar los siguientes tres nmeros: max { | f( x ) - p( x ) | } = 2.796


-2<x<2

i) Usando el Mtodo de los Coeficientes Indeterminados. (Ver Ejemplo 6.1 y Ejemplo 6.2) ii) Haciendo uso de propiedades conocidas de los polinomios. (Ver Ejemplo 6.3) iii) Reemplazando la funcin por un polinomio aproximante. (Ver Ejemplo 6.4 ) iv) Por Serie de Operadores. (Ver seccin IV.7) v) Por Extrapolacin Repetida de Richardson. (Ver seccin IV.10) Una cuestin de importancia es la estimacin de los errores de estas frmulas. Tendremos errores de discretizacin (E D ), propagacin de errores inherentes (E,) y propagacin de errores de redondeo (E R ). La estimacin estricta de E D no siempre ser trivial. Ms comn ser oblener estimaciones asintticamente correctas (para h > 0) que generalmente consisten en aproximar el primer trmino despreciado en una serie de poteni ias de paso h en una expansin en diferencias de orden creciente.

max { | f ( x ) - q ( x ) | } = 0.182
-2 < x < 2

max { | f( x ) - s( x ) | } = 0.058
-2 < x < 2

IV.6 Mtodos simples para derivar frmulas de aproximacin Definicin del problema
Supongamos conocer ciertos datos acerca de una funcin; por ejemplo I valor de la funcin y posiblemente el de algunas de sus derivadas sobre mu malla { x, };=0 . Nuestro problema consiste en calcular otros datos acerca de la funcin, por ejemplo: a) El valor de la funcin en un punto x que no pertenece a la malla; oslo se denomina "interpolacin" si x pertenece al intervalo definido p< u l.i malla y "extrapolacin" en caso contrario. b) El valor de alguna derivada de la funcin en un punto ("diferenciaci numrica"). c) El valor de la integral de la funcin sobre un intervalo ("integracin 1 cuadratura numrica"). Para funciones que pueden ser aproximadas localmente por medio de- |>o linomios es natural usar frmulas que sean exactas para polinomios. Podemos obtener estas frmulas de varias maneras:

Mtodos elementales
Ilustraremos con ejemplos los mtodos recin enunciados en i), ii), y iii). Utilizaremos la notacin:

EJEMPLO 6.1 Derivar una frmula de interpolacin de la forma:

f, /2 = af ( ) + b f , + c f '0

(6.1)

i|ur sea exacta para polinomios del mayor grado posible. Obtener una estiin.ii.ion del error.

224

Anlisis numrico. Primer curso

Aproximacin o ajuste defunciones

225

Verificar la frmula y la estimacin del error para el caso:

Ahora imponemos las siguientes condiciones:

f(x) = ex , XQ = O , x, = 0.2
Debemos determinar cuatro coeficientes; Utilizando Taylor desarrollen! f 0 , fj , f ' 0 , f ' , , alrededor de x1/2 = x0 H = y anulemos

a +

=1
(6.2)

ha + hb - 4c + 4d = O
Resultar que:

primeros coeficientes resultantes de la expresin ( 6.1 ): a f 0 + b f, + c f'0 + d f, = f,/2 + ED , siendo fO - f 1/7

h
2

1/7

h2

h3 (3) h4 ( 4) f " 1/7 - _ f1/7 + f1/7 + v-/^ii5 ) y Ofh ) 8 48 384

h4
E D = ((a + b)

h4

(4)

+ ( d - c ) ) f, /2 +

h2

h3

h4

+ a O(h 5 ) + b O(h 5 ) + c O(h 4 ) + d O(h 4 ); La solucin de ( 6.2 ) resulta ser: a = b = 0.5 , c = -d = , 8 de donde obtenemos:

f' +
De donde resulta:

f, + o(h<) ,
o sea:

384

0(h 5 ),

a f 0 + b f, + c f ' + d f ' , = f1/2 (a + b) + f ' 1/2 (-a + b + c + d) + h2


1/2

_^
ion un error:

fn + f,
2

L+

h
8

f f ' f ' "i l)j

h2

h
^ '

(3)
1/2 ^-

h3
48
A f.

h3
48
i n.

h2
8
n

h2
8
f*. '

r^

h4 h4 h3 h3 f1/2 ( a - - + b - - c + d ) + aO(h 5 )+bO(h 5 )+cO(h 4 )+dO(h <

384

384

48

48

ED="

h4
con x 0 < c ; < X )

226

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

227

Verifiquemos el resultado tomando: f(x) - e x , x,, = O y x, = 0.2; entonces:

h3

f"0+
1 + e0-2 0.2"
D

1 - e0-2

0.2 = 1.10516633, con

Procediendo como en el ejemplo anterior obtenemos las siguientes condii iones:

= 5.1 10-', a + b + ~ hb + 2hc c =O = O

la que resulta ser una buena cota ya que: | 1.10516633-e01 | < 4.57 10'6

h2 b + 2 h2 c = 1
EJEMPLO 6.2 Utilizaremos el Mtodo de los Coeficientes Indeterminados para apro.xi mar derivadas con esquemas en diferencias. Podemos decir que con el mtodo de los coeficientes indeterminados l.i aproximacin de la derivada u (n) (x) es escrita como una suma ponderada di los u(x) con coeficientes de ponderacin a determinar, con la condicin di que el esquema sea exacto para el polinomio del mayor grado posible qincumpla: P(x) = u(x) para los x usados. Sean XQ , x, , x 2 , f 0 , f, , f 2 , y tratemos de aproximar f "0:
2

lie este sistema resulta:

-2

=
f, +0(h2);

yentonces:

h2

Vemos entonces que si aproximamos la derivada segunda en x0 por el primer miembro de la expresin anterior, el error de discretizacin vale aprox irnadamente: ED = h f 0 , sea es de orden h.

Debemos obtener tres ecuaciones para despejar las incgnitas, entom desarrollando por Taylor alrededor de XQ obtenemos:

La frmula que relaciona el orden de la derivada (OD), el orden de precisin de la aproximacin (OP), y el nmero de nodos involucrados en la expresin (NN), es

OP = NN - OD,

228

Anlisis numrico. Primer curso

Aproximacin o ajuste de funciones

229

salvo en el caso de tratarse de una aproximacin centrada, y de que la pn i dad de NN y OD sean distintas, en cuyo caso con la misma cantidad de nodos ganamos un orden de precisin. Veamos como ejemplo el caso siguiente! f ' . - a f o + bf. + cf,,; Desarrollando alrededor de x, , y procediendo como en los casos anteriores, resulta:

n+10 =

n nH /r \ ' -1- + ( f n -

n+l

r ii

_ +' =

xn

* *n+l ' *n+ ~2

EJEMPLO 6.3 Derivar una frmula de integracin de la forma:


xn+h
x,,-h

a + -h a + h2 a +

b +

c =O he = O

i _ f(x) dx = a f , + b f0 + c f, , x_, = xfl - h , x, = x0 + h,

+ c = 1 y entonces:
-2

que sea exacta para polinomios del mayor grado posible, y obtener una estimacin del error de discretizacin. Supongamos x0 = 0; aplicando la Frmula de Taylor tenemos:
V3

a - c= - r , b=
fo

; por lo tanto:

-2
HA, - iQ -r i
O

(4)

V4

A T I

T I

, LQ

z4

+ 0(x5),

sea ( como c - a = O ): f0-2f,


h2
= f 1+ h2 24

donde los dos ltimos trminos son nulos para todos los polinomios de grado < 3.

Integrando trmino a trmino tenemos:


h

h3 ^

h5
bu

Tenemos entonces:

J f(x) dx = 2 h f 0 + O + -f"0 + O + f (04) + 0(h6);


-h

ED = f 4 ) (), sea, el error es de orden h2.

Usando el resultado de la segunda parte del Ejemplo 6.2 resulta: f . - Z f o + f, h2 ~2f

Las frmulas de los Ejemplos 6.1 y 6.2 pueden escribirse en forma ms general:

h2

230

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

231

donde los dos ltimos trminos son nulos para todos los polinomios de grat menor igual a tres; reemplazando obtenemos finalmente:
hr

EJEMPLO 6.4 Supongamos conocer los valores de una funcin en los puntos equiditantes:
xn = x() + n h.

h 3

h5 36

(4 )

h5 60

( 4,

-h

f ( x ) d x = - ( f 1 + 4 f 0 - f f , ) - - f 0 + f 0 + 0(h6),

Supongamos que para un cierto n tenemos f n _, > f n < f n+] . resultando: Nos proponemos determinar el x donde f alcanza el mnimo, y el valor de ese mnimo.

E 3 -

90

Aproximemos f por medio de un polinomio de grado 2, al que llamaremos p(x), entonces:


p(x) = a + b (x - x n ) + c (x - x n ) 2

En general podemos escribir esta frmula as: Haciendo coincidir los valores de la funcin dada y los del polinomio en los puntos de la malla, obtenemos: Esta es la clsica Frmula de Simpson para integracin numrica. Cuando utilizamos Simpson para calcular la integral sobre un intervall [a, b] dividimos a este en 2 m pasos de longitud h:
f n ., - a - h b + c h2

x = x0 + i h , a = x0

2m

f n+1 =

de donde:

y la frmula de Simpson se usa en cada uno de los m intervalos [x , x, , , | i = 0, 2 , 4,..., 2 m - 2 . En este caso el error global se obtiene como suma de los errores locales, decir:

2h

c=

2h2

Ahora aproximaremos el x de mnima por el x que haga mnimo el valor del polinomio, sea aquel que anule la derivada primera del mismo; y luego, el valor de la funcin en ese punto lo aproximaremos por el valor del polinomio en ese punto, o sea:

donde cj pertenece a [x ,x i+2 , , pertenece a [a , b ] , y donde hemos usa< b-a 2m = . Notemos que mientras el error local es un O(h5), el globa es un O(h 4 ).

232

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

233

p'(x) = b + 2 c (x - xn) = O, de donde: Si y = (1, 2 , 3 , ... , n , ...) A y =(1,1,1,..., 1,...) min f(x) = p(xmin) = a -

EJEMPLO 7.1 entonces Ey = ( 2 , 3 , 4 , ... , n , n+1, ...) , y

4c

Vemos entonces que estos operadores aplicados a una secuencia producen otra secuencia. Podemos definir las potencias de E y A en forma recursiva ilc la siguiente forma: A2 y = A(Ay) = A(y n t ] - yn) = (y n+2 - 2 y n+1 + y n ) E2 y = E(Ey) - E(y n + I ) = (y n+2 ) = (y3 , y4 , ...) Utilizaremos una notacin abreviada para indicar el elemento ensimo de la secuencia resultante: Eyn = y,,+, E 2 yn = yn+2 , etc.

Utilizando el Teorema para el Trmino Residual en Interpolacin olii nemos como estimacin del error de discretizacin: (los mximos y los mnimos se calculan en el intervalo [xn_, , xn+1] ) | m i n f x ) - min p(x) | < max | f(x) - p(x)| <
M Mh3 < max | (x - xn.,) (x - xn) (x - x n+l ) | < = , V243

donde M es una cota superior para la derivada tercera de f(x) que puede se estimada usando diferencias de orden 3. Teorema 7.1

.
v A k yn = i (-1)' ( k ) /y ,, j n+t
=0

etc-

IV. 7 Diferencias finitas y su aplicacin a interpolacin


Demostracin:

Operadores en diferencias y sus propiedades mas simples


Sea y el nombre de una secuencia numrica (yn) , sea y = (yn). Definimos el "operador de corrimiento": E , y el "operador de diferencia hacia adelante": A , por medio de las relaciones:

Utilizaremos induccin sobre k:

Base de la Induccin:

^ yn = Ayn = yn+. - yn = yn+, + (-D1 yn = (-D1 ( . ) yn+H

234

Anlisis numrico. Primer curso

. Aproximacin o ajuste defunciones

235

Etapa Inductiva Suponiendo vlida la hiptesis para k - p , debemos deducir su v.ih.l. para k = p + 1 ; Entonces escribimos: (,!)' ( ) Ay,U|, ,

Icorema 7.2
Si definimos A yn = yn , y
k

A1 yn =Ayn ,

resulta:

yn+k = ( .i )A'y n 1=0


I ,i demostracin es similar a la anterior. Notemos que estos resultados pueden ser obtenidos simblicamente como u-oremas binominales; en efecto, si definimos: I y = y , resulta:
A = E -1,

y entonces los teoremas anteriores expresan las relaciones:

yn
Ahora tengamos en cuenta que ( ) = ( ) y ( )+( )=( de donde: P P+l i ' l

A k = ( E - I ) k , E k = ( I + A)k.

p+i

p+i

Un ESQUEMA EN DIFERENCIAS consiste en una secuencia, y sus secueni las en diferencias, escritas en la forma:

p+1
Observemos que la simetra de los nmeros combinatorios nos permili deducir:
A 2 y,

Corolario 7.1

k j=0 Y4

Ay 3

236

Anlisis numrico. Primer curso

Aproximacin o ajuste defunciones

237

EJEMPLO

7.2

[Demostracin:
Utilizaremos el segundo principio de induccin sobre k; liase Utilizando Taylor:
m

El esquema en diferencias para la secuencia y = (O , O , 1 , O , 0), es:

v f (x) Af(x) = f(x + h) - f(x) = ~ k ,


mn resto nulo por ser f un polinomio de grado m. Pero f '(x) es un polinomio de grado m - 1, y las otras derivadas son polinomios de grado menor, por lo tanto la tesis de la base est probada. Los operadores en diferencias tambin pueden aplicarse a funciones. Los operadores E y A aplicados a la funcin f producen funciones cin " valores en el punto x son: Etapa Inductiva Nuestra hiptesis es que para todo polinomio de grado m, y para todo k rnlre 1 y m - 1 resulta: A k f un polinomio de grado m - k . Debemos probar para el mismo polinomio de la hiptesis que Ak+1 f es un polinomio de grado m - k - 1, pero: Ak+1 f = A(A k f ), pero Ak f es un polinomio de grado m - k; razonando iomo en la base: A ( Ak f ) es un polinomio de grado m - k - 1 . Los operadores en diferencias son en muchos aspectos similares a los of radores diferenciales; en efecto, la mayor importancia de los primeros asociada al hecho de que la diferenciacin es un caso lmite de las diferencii Teorema 7.3 Si f es un polinomio de grado m, entonces Ak f, para 1 < k < m, es m polinomio de grado m - k y Am+1 f es el polinomio nulo. Ahora, de lo demostrado hasta el momento concluimos que si k = m , A"1 f tiene grado m - m = O, sea es constante, de donde deducimos que: Am+1 f es la funcin nula. c.q.d.

Ef(x) = f(x + h) , A f(x) = f(x + h) - f(x) ,


donde h es el paso de la tabulacin de f. Como la operacin depende de este paso, en algunas circunstancias esto I haremos notar explcitamente escribiendo por ejemplo:

Ah f(x) = f(x + h) -f(x)

Podemos desarrollar frmulas para diferencias que son anlogas (aunque ms complicadas) a las frmulas para derivadas:

238

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

239

A(cf(x)) = cAf(x). A k (a x ) = (a h - l) k a x .

Sin prdida de generalidad supongamos h > O , y pasemos a probar la tesis Inductiva: Si f e Cn [x , x + n h] , entonces: An f(x) = hn f"1^) ;

A ( u n v n ) - u n Av n + sv.imos:
n=0

Z un Avn - un vn - ufl v0 - I Au n vn+1


n=0

= A(A n -'f(x)) = entonces:

, con , en [ x , x + (n - 1) h],

Utilizando el siguiente teorema podemos obtener aproximaciones a la ilt rivada k-sima usando la diferencia k-sima. Teorema 7.4 Si todas las derivadas de f hasta la n-sima son continuas en el nter lo [x , x + n h] , entonces: A k f(x) = hk f k) (c;) con c; en [x , x + k h] k<n

y usando el teorema del valor medio: An f(x) = h" "'() , con c; en [^ , c;, + h] , sea , en [x , x + n h] Y esta es la tesis de la etapa inductiva, de donde concluimos la validez del teorema. c.q.d.

Demostracin:
Haremos induccin sobre k : Base Si la derivada de f es continua en [x , x + h] entonces:
Af(x) = f(x + h) - f(x) = h f'(5) con c; en [x , x + h].

El teorema anterior nos muestra que: Akf(x) - es una aproximacin a ^'(x); el error de sta aproximacin tiende a cero cuando h tiende a cero. Se puede probar que Akf(x) aproxima mejor an a f*n)(a),

(Teorema del Valor Medio) Etapa Inductiva La hiptesis de esta etapa es que: si fe C1"1 [x , x + (n - 1) h] entonces ^-"(x) = h"'1 (""'>() con c; en [x , x + (n - 1) h]

siendo a = x + k , tal cual lo ilustra el siguiente ejemplo: 2

240

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones 7.3 Teorema 7.5 Si f pertenece a C [a - e , a + e] con e > O, entonces: 8 k f(a)

241

EJEMPLO Sea f(x) = ex y h = 0.1, entonces:

Af(0) h

e0-1- e 0.1

= 1.05171;

f<W(a) =

v Z c h 2i f k+2i) (a)

(7.1)

Observemos que f ' ( 0 ) = 1 y que f'(0.05) = 1.05127;


Este ejemplo nos sugiere definir los OPERADORES CENTRADOS:

Este resultado puede probarse usando induccin completa. Ms adelante veremos que ( 7 . 1 ) es la condicin que nos permite aplicar Hxtrapolacin de Richardson al clculo de la derivada utilizando diferencias centradas. Es fcil demostrar que si P es un polinomio de grado 2 se verifica: u,8P(a) P'(a)'= 8P(a)

Definimos el operador "en diferencias centradas" 8 , como sigue:

h h 5f(x) - f(x + - ) - f( x - - ),
y el "operador promedio" \l, de la siguiente forma:

h
8 2 P(a)

h h f(x + - ) + f(x - Hf(x) =

P"(a) =-

La segunda frmula vale tambin para polinomios de grado 3. El ejemplo anterior nos permite escribir: 5f(0.05)

= 1.05171 = f'(0.05)

IV.8 Algunas frmulas de interpolacin Frmulas de interpolacin de Newton y de Gregory-Newton


En la seccin anterior mostramos que el problema de interpolacin que innsisr en hallar un polinomio Q de grado menor igual que m tal que: Q(x i ) = f, i = 0,l,...,m ,

Las siguientes frmulas son fciles de deducir:

82 f(a) = f(a + h) - 2 f(a) + f(a - h)


u8f(a) =

f(a + h) - f(a - h)

8kf(a)- X ( | ) ' ( . )f(a

h
2

lime solucin nica, y que para un x cualquiera:

242

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

243

Entonces:
f(x) - Q( x) = TI (x - x,) , f(x) =

siendo c; un punto interior al intervalo definido por x ms los puntos di- l.i malla. Tambin hablamos sobre el hecho de que la interpolacin equidistan ti puede generar problemas mal condicionados. No obstante esto vale para po nomios de alto grado y en las partes perifricas del intervalo. La interpolacin equidistante en la parte central del intervalo es una operacin bastante bien condicionada y muy poderosa. La primera pregunta que podemos hacernos es: cundo es suficiente l.i interpolacin lineal? Esta pregunta puede contestarse con el siguiente teorem.i

Los errores en los datos de la tabla propagan un error al resultado acotado por: E[ = p 0 . 5 U + (l - p) 0.5 U = 0.5 U; Por otro lado:
II c iI n s l| f'YMl lI v - v n | i| X - v n+ , |i ^D ~ U.D I l^JI X X i v X

A 2 f| 0.5 "h1" h 2 ( l - p ) p ,

Teorema 8.1
En una seccin de una tabla de abscisas equidistantes y valores correctamente redondeados de una funcin, donde: i A2 f | < 4 U (U es una unidad en el ltimo dgito de los valores de la funcin I,

entonces: |ED| < 2 U p ( l - p ) , con 0 < p < l ; Pero p (1 - p) alcanza su mximo para p = 0.5, entonces: | ED | < 0.5 U, por lo tanto:

el mdulo del error total de la interpolacin lineal slo puede exceder levimente a U. El teorema considera el error de discretizacin (E D ), y la propagacin los errores inherentes de la tabla (E,). U Ignoramos los errores de redondeo durante el clculo (E R ), (si (j. son despreciables) y suponemos nulo el error inherente en el argumento x.

| ED | + | E, | < U

cq.d.

Frmula general de interpolacin de Newton


Vimos que la solucin al problema de interpolacin puede escribirse en la forma:
l(x) = c0 + c, (x - x,,) + c2 (x - x0) (x - x,) f ... + cm (x - x,,) ... (x - xm.,) + T(x), donde:

Demostracin:
Sea p .al que: O < p < 1 ,
Xn+

y x = p xn 4- (1 - p) xn+1 , sea:
X - X.,

T(x)=A(x) 11 ( x - X i ) , y
-x
X

P=

A(x) =

(m + 1)!

244

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

245

Sabemos que c0 = f^) = f0 ; definamos ahora: f [x] = f (x): Diferencia dividida de orden cero de f con respecto ;i \] - f[X] f[x,x] = - = f[x , x]: Diferencia dividida de primer ordi-i > .1. x f con respecto a x, x y observemos que: flXo.x] = c, + c 2 ( x - x , ) + ... + c m (x-x,)... (x-x m .,)+A(x) (x-x,)... (x de donde:

Utilizando induccin podemos ver fcilmente que:


f fx , ... x , xl = i ^AQ AI^J AJ ck t ck+1 (x - xk) + ... -f cm (x - xk) ... (x - xm.,) + A(x) (x - xk) ... (x - x m ) , ( k = 1 ,... , m ) ,

f[x 0 > ... ,x k ] = c k , (k = 0,... , m),y ,... , x m , x j =A(x) Llegamos entonces a la FRMULA GENERAL DE INTERPOLACIN DE NEWTON:

Antes de dar el paso inductivo veamos que: f[x 0 ,x] - f [ x 0 , x , i


X -X

i on un error de discretizacin:
ftm+1)

= c2 + c3 (x - x2) + ... + cm (x - x2) ... (x - xm.,) + A(x) (x - x2) ... (x - xJ,

ED = f (x) - Q(x) = f [x0 , ... , xm , x] F =o

(x - x) =

(m + 1)! =o

(x - x)

y entonces si definimos: f[x 0 ,x 2 ] f [x0 , X! , x2] = X2

Para obtener un esquema que permita evaluar fcilmente las diferencias divididas observemos que: - , resulta: a ) Si P(x0 , ... , xk) simboliza una permutacin cualquiera de (x,, , ... , xk): ,... ,x k ] = f [ P ( x 0 , . . . , x k ) ] , l < k < m. Esta expresin se deduce fcilmente observando que si consideramos el polinomio que interpola a f en los puntos x0 , ... , xk:
, ... , Xj = Ck ,

" Xl

Generalizando, definamos recursivamente las Diferencias divididas orden k+1 de f con respecto a Xj , x,,..., x k , x, como:
i
riY
H-^0 > A| > ^-j^] > A J

Y!

LA0

*Y

>A J ) * )

AkJ

v 1

X-Xt

y la unicidad del polinomio interpolante nos permite deducir que este coeficiente no depende del orden en que consideremos los nodos de la malla pues es el coeficiente de xk.

246

Anlisis numrico. Primer curso

Aproximacin o ajuste de funciones

247

b ) f [ x 0 , . . . ,x k ] =
Xk

" X0

Algoritmo para calcular los coeficientes del polinomio interpolador de Newton (los coeficientes se devuelven en el vector f ) comenzar entrada: m , x, f, i = O , 1 , . . . , m ; para } desde 1 hasta m hacer para i desde m hasta j paso -1 hacer
f, (f; f^/U,-^)

Esta ltima expresin la deducimos as:


_f[
11 x i+i > xi+2 ' " ' Xk ' X J = ~
X - X,

Si tomamos x = x ; :
i+1

, ... , xk , xJ:

,... ,x k ]

x i- x k

finpara( i) finpara( j ) salida: f, i = O , 1 , ... , m ; fin Esquema de Horner para evaluar el polinomio interpolador conocidos los coeficientes

y utilizando a) tenemos:
f[x , ... , xk] =

xk-x

, y tomando i = 0 resulta b),

Entonces el clculo de los coeficientes del polinomio interpolador pode mos hacerlo de acuerdo al siguiente esquema:

o
X,

fo

comenzar entrada: x, m , x, c, i = O , ..., m ; p = cm; para i desde 1 hasta m hacer P = P ( x ; x m - , ) + cm-i finpara( i) devolver: p fin EJEMPLO 8.1 Calcular el polinomio de interpolacin para la siguiente tabla:

f [ X() , X,

f,
f [ X, , X2

r [ XQ > Xj , x2 ,

x2
X3

f2
f f X2 , X 3
f3

12

23

248

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

249

Entonces el esquema en diferencias divididas resulta:


X

I MU lomos escribir la FRMULA DE GREGORY-NEWTON para puntos equidisl.intes de la siguiente forma:


f[x0,x1,x2,x3]

f
0

f[x,x +1 ]

f[x,x i+1 ,x +2 ]

1
2 4 5

= f0+ I ( . ) A ' f 0 H J
2

(8.1)

2 5 12 11 23

1
0.25

con un error de discretizacin:

.Observemos que el Teorema 7.2 es un caso particular de ( 8.1 ) para p entero. EJEMPLO 8.2 Dada la siguiente tabla, interpolar usando diferencias divididas (Newton), y diferencias (Gregory-Newton).

Por lo tanto el polinomio interpolador tiene la forma:


Q(x) = O + 2 (x - 1) + (x - 1) (x - 2) 4- 0.25 (x - 1) (x - 2) (x - 4) Q(x) = 0.25 x3 - 0.75 x2 + 2.5 x - 2

Frmulas para interpolacin equidistante

^^^B

0 0

1 1

2 4

3 9

Si x^, - X; = h para todo i , y x = xn + p h, la frmula de Newton toma^^^^B la forma: ^^^^B


r f v l n n ) \

,, r

y P ( P - D - ( P - J A Df +' j!

f , + 1 p ( p - l ) . . . ( p -Pm ) Jr if/ E \B i h m+ ' m+

,t^^B Newton ^^^H


^^^^B
X

P )

(m+1)!

Rsta frmula ln nhtpnpmns a partir H<= la rlp NIpwtrm ci r>Kcpr^.m^c qii> f-

ra una malla de nodos equidistantes es vlida la siguiente igualdad:

flx X l - A j f i .

f[x,,..., V) ]- ,t ,
<i arlrvntarnni; 1^ nntzrinn-

^^^^H ^H
^^^^^^^^^B

1
4

1
3

1
0 1

5 9

^^^^^m

P P(P- O... ( p - j + i) ( . )=

Q(x)=x + x ( x - l ) = -

250

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

251

Gregory-Newton

n
l'or lo tanto: 8 (x;) = -

n (x, - Xj)
JL /

Y entonces la Frmula de Lagrange asume la forma:


0 1

1
3 4 5 9

2 0 2

r*

Si x =

obtenemos: P(P-1)
2!

Utilizando la Frmula de Lagrange debemos efectuar todos los clculos cada vez que deseemos calcular un Q(x), mientras que las Frmulas de Newton nos permiten calcular los coeficientes del polinomio interpolador, lo que las hace preferibles si debemos evaluar varias veces dicho polinomio.

Q(x) = O + p +

2 = p2 = x2

Frmula de interpolacin de Hermite


Cuando conocemos una ms derivadas en los puntos de interpolacin podemos usar una generalizacin de la Frmula de Interpolacin de Newton.

Frmula de interpolacin de Lagrange


Podemos expresar la solucin al problema general de interpolacin de la siguiente forma, conocida como FRMULA DE INTERPOLACIN DE LAGRANGE:

Para lograrla definimos las diferencias divididas en valores coincidentes de los argumentos por medio de un paso al lmite; por ejemplo:
f[x 0 , x,,] = lim f[x , x()] = lim
x~>x 0 X->XQ

f(x) X -

= f '(x0) .

Q(x)= ^ f j S j x ) , donde 8(x) es un polinomio de grado m que satisface las siguientes igualdades:
f O , si i * j 8'(xP = 6 ijH l , s i i = j = 0,l,...,m

Aunque no haremos la demostracin formal de la validez de la frmula de Hermite, veremos un caso particular para inducir el resultado general. Construyamos ahora la tabla de diferencias divididas de la siguiente tabla de valores:
(x 0 , f 0 ) , (x , f,) , (x, + h , f(x, + h)):

252

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

253

EJEMPLO 8.3 Calcular un polinomio de grado menor igual que 3 para el cual:
x, + h f(x 1

Q(0) = O , Q'(0) = 1 , Q(l) = 3 , Q'(D = 6. Formemos entonces el siguiente esquema en diferencias divididas:

Siendo el polinomio interpolador:


Q(x ; h) = ffl + f [x0 , x,] (x - x0) + f [x 0 , x, , x, + h] (x - x0) (x - x,).

0 ,0

i
0 3 3 6
2

En este caso es inmediato comprobar que tomando lmite para h -> O, rej sulta: ) = f0 + f [ x 0 , x , ] ( x - x ^ + f t x o . x , ,x,] ( x - x 0 ) ( x - x , ) , y las diferencias divididas resultan de la tabla:
x

1 1 :

3
t/

Entonces Q(x) = O + x + 2 x x + x x (x - 1) = x3 + x2 + x .
f[ XQ , XT ]
fi

X1
X1

f[ x0 , Xi , x, ] f[ XT , XT ]

Mtodo de Neville
Si vamos a utilizar valores de una tabla para calcular un nico valor del polinomio interpolador resulta razonable pensar que un algoritmo como el de Newton que primero calcula los coeficientes del polinomio interpolador puede no ser el ms eficiente; por otro lado si utilizamos el algoritmo de Lagrange y la aproximacin obtenida no nos satisface, agregar un punto a la malla significa hacer todos los clculos nuevamente; Un algoritmo eficiente y al que se le pueden agregar puntos sin tener que recalcular los valores encontrados hasta el momento lo provee el Mtodo de Neville. Sea la tabla de valores {x,,^}^,, y llamemos Q n 0 n l que interpola los puntos {x ni , f ni }]! de la tabla dada;
nk (x)

fl

en donde en lugar de f [ x , , x , ] colocamos f'(x,). Este proceso puede generalizarse: Si queremos que el polinomio interpo lante tenga derivada primera y derivada segunda dadas en cierto punto x, armaremos la tabla de diferencias divididas en la parte que corresponde a x de la siguiente forma:

f[x,x]
'

al polinomio

f[x,x,x] f[x,.x,]

N
Y.

\e en lugar de f [x, x, x] colocamos

La siguiente proposicin fundamenta el Mtodo de Neville: Si i * j con i , j < m , el polinomio Q(x) definido como: 2!

254

Anlisis numrico. Primer curso

Aproximacin o ajuste defunciones

255

(x-x,)Q 0 > 1.....M


Q(x) =

(x)

Los valores interpolados son dados por la funcin f(x) ~x2, y por eso la
3 e u arta columna de la tabla ya nos da exactamente f( ), 2

interpola todos los puntos de la tabla { x, f, } i=0 . Esta proposicin se verifica simplemente reemplazando por los x de la in.i lia , y observando que Q(x) es un polinomio de grado menor o igual que ni Para aplicar en forma eficiente este resultado se arma una tabla de l.i M guente forma:

Algoritmo de Neville ( calcula Q( x ) en y 0 ) comenzar entrada: m , x , x, f, i = O , ..., m ; para i desde O hasta m hacer y = f finpara( i ) ; para j desde 1 hasta m hacer para i desde O hasta m - j hacer
y, = ( ( x - x) yi+1 - ( x - x i + j ) y.)/( x+j - x)

f(x
xo

X1
Xo

finpara( i) finpara( j) salida: y0 ; fin


23

Interpolacin inversa
Es importante observar que el primer elemento de cada columna es una aproximacin al nmero buscado; si la aproximacin resulta insuficiente po-1 demos agregar un valor a cada columna sin tener que recalcular los obtenidos anteriormente. EJEMPLO 8.4 Dada la tabla de valores del Ejemplo 8.2 calcular Q( ).
0 0 1 4 9 3/2 5/2 3/2 9/4 9/4

En la prctica se presenta comnmente el problema de aproximar una raz ile una funcin de la que slo conocemos una tabla de valores { x , f } 0 , sea que nos interesa aproximar el valor de la funcin inversa de f en O (f'(0) ). El problema se resuelve evaluando el polinomio que interpola una cantidad de puntos conveniente de la tabla { f, x }0 , en cero, y en este caso resulla apropiado el Algoritmo de Neville al que le daremos como datos los f en lugar de los x, los x en lugar de los f y O en lugar de x.

9/4

Comentarios generales
La interpolacin tiene inters como medio de derivar frmulas para varios propsitos.

1
2 3

256

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

257

Si diferenciamos o integramos el polinomio interpolante, podemos o. tener frmulas tiles para calcular numricamente derivadas respectivamente. La interpolacin con polinomios de grado mayor que uno es de intcn prctico, ya que una tabla construida para usar este tipo de interpolacin puc de hacerse mucho ms pequea que una para la cual la interpolacin liiu-.i! sea suficiente. Por ejemplo, una tabla de la funcin ln(x),con 1< x< 5, dada a 5 dai males, debe contener 450 valores de la funcin para obtener aproximad.i mente 5 decimales si deseamos interpolar linealmente; pero slo necesita mos 100 valores si usamos interpolacin cuadrtica. En computadoras digitales es comn el uso de tablas ralas e interpolacin de grado mayor que uno para evaluar funciones de clculo difcil, tratando ili optimizar la relacin entre el uso de memoria y el nmero de operaciones.

E (i - 1) + 2 (i - 1) = I <=i i=1

(3 i - 3) =_ m (m - 1), 2

y este nmero es sensiblemente menor que las 2 m2 + 3 m operaciones necesarias para desarrollar el algoritmo de IV.3; esto nos permite esperar mayor estabilidad para el algoritmo de Newton. Por otro lado el clculo de los coeficientes aplicando el Mtodo de Gregoi y-Newton para el caso de poseer una malla de puntos equidistantes implica: m restas para el clculo de la primera columna de diferencias, ( m - 1 ) restas para el clculo de la segunda, y as decreciendo hasta la nica resta necesaria para el clculo de la ltima diferencia, lo que da un total de 0.5 m (m + 1) operaciones. Este valor es menor que el obtenido para Newton an para valores de m relativamente pequeos.

IV.9 Propagacin de errores en la interpolacin


A pesar de la importancia que tiene el estudio de la propagacin de errores inherentes y de redondeo en los distintos mtodos de interpolacin, anali/.i remos el tema con cierto detenimiento slo para el caso de una malla form;i da por puntos equidistantes (Mtodo de Gregory-Newton); respecto al Mtodo de Newton para el clculo de los coeficientes del polinomio interpolado) slo diremos que implica menos operaciones que el algoritmo desarrollado en IV.3 a partir del Teorema 3.2. Observemos entonces que el Mtodo de Newton requiere m divisiones y 2 m restas para el clculo de la primera columna de diferencias divididas, ( m - 1 ) divisiones y 2 (m - 1) restas para el clculo de la segunda columna de diferencias divididas, y as decreciendo hasta las dos ltimas restas y la it i ma divisin necesaria para calcular la ltima diferencia dividida. Tenemos entonces que el total de operaciones necesarias resulta ser:

Propagacin de errores inherentes en el Mtodo de GregoryNewton


Vamos a considerar la propagacin de los errores inherentes en los valores de la funcin a partir de los cuales construimos la tabla de diferencias y calculamos los coeficientes del polinomio interpolador. Generalmente la propagacin del error en el clculo de p = preciable en comparacin a los que vamos a considerar. Sea entonces e el error inherente absoluto del valor de la funcin en x ; Resulta entonces la siguiente tabla en diferencias:
X -X

es des-

Af0 + Ae0 Af, + Ae, A2 f, + A2 e,

Af, + Ae2

258

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

259

Usando el Corolario 6.1 resulta que para el error inherente propagado i soluto del coeficiente k-simo del polinomio vale:

p m Si x es un punto interior a la malla, | ( ) ! < ( , ) y entonces: k k | 5( Q(x) ) | < E I


k=o

k k 8(A k f 0 )=A k e 0 = (-l) k (-!)'( . )e; j=o } }


Si suponemos que: | fj | < F y | e | < E para
v k | 8 ( A k f 0 | < i ( ) E < 2k E,

m ( ) 2k = 3m E
k

O < i < m , resulta:

Es evidente que estas cotas son groseras, pero de todos modos, nos alertan acerca del mal condicionamiento del problema de interpolacin.

Propagacin de errores de redondeo en el Mtodo de GregoryConsideremos primero el efecto de los errores de redondeo en el clculo de los coeficientes del polinomio interpolador, o sea en las diferencias: Ak f ( ) , k = O,..., m. Definamos ahora:

de donde el error relativo para el coeficiente k-simo del polinomio de Gi| gory-Newton resulta:
E er | < 2k F -^ < 2k

|cj F

r,

siendo r una cota para el mdulo de los errores inherentes relativos. De ac deducimos que para el problema de calcular los coeficientes del ] linomio interpolador de Gregory-Newton resulta: C = 2m , siendo C = min | ck C k Vemos que el Problema de Interpolacin es en general mal condicionadc Veamos ahora de acuerdo a estos resultados, cual es la incertidumbre en i valor de Q(x) debida a la propagacin de los errores inherentes en los vale res de la funcin de partida:
A% = Ak f + 8(Ak f) , Mk = max { | Ak f, | } y Ek = max { | 8(Ak f) | },

considerando en el 8 slo los errores de redondeo; entonces:


Ak+1 f, - (A k f1+l - Ak f,) (1 + ej , con | e k . | < u , sea: A k+1 f - (A k f i+! + 8(Ak f i+1 ) - Ak f - 8(Ak f,)) (1 y despreciando los trminos de orden superior a uno:
A k + i f_

_ A k + i f + Ak+i f

ki

donde resuita.

| 5 ( Q ( x ) ) | < E + S|(. ) | 2 k E ;
k=l
K

8(Ak+1 f,) = Ak+1 f, e k . + 8(Ak f i+1 ) - 8(Ak f,), y tomando mdulos y acotando:

260

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

261

Ek+1 < Mk+1 u + 2 Ek , k = O , ... , m-1;


Consideremos M - max { Mk } y observemos que E0 = O, E, < M n, .
k

Estimaciones experimentales de los errores propagados


Sabemos que cualquiera sea el mtodo de interpolacin con intervalos equidistantes, el error de discretizacin es menor en el centro de la tabla y creic considerablemente en los extremos de la misma . Al hacer las deducciones para el Mtodo de Newton no impusimos condiciones respecto al orden en que armamos la tabla, por lo que es evidente que reordenndola en cualquier forma obtendremos siempre el nico polinomio interpolante; podramos por ejemplo armar la tabla de la siguiente forma:
Xm

Ek < M u + 2 Ek,, < M f i + 2 ( M n + 2 E k _ 2 ) < M u + 2

k_2

< M n + 2 M i + 22 M u + ... + 2k-' M (j. < (2k - 1) M u.


Estudiemos ahora la expresin para evaluar Q(x):

fm

y suponiendo que los errores de redondeo propagados por los combinatorios y la suma son despreciables en comparacin a los errores de redondeo prop.i gados por las diferencias, resulta:
m p
K

xm ,

L,
Xm

' X m-l ' " ' X

8(Q(x) ) = X (
k 1

) 6(Ak f 0 )

, y entonces aproximadamente:
E,

f[ x, , x0 ]

k=l

y entonces armar el polinomio interpolante como sabemos:

Si x es interior a la malla, sea p < m, resulta:

p(x) = f m + f[xm , xm.,] (x - xj + f[x m , xm., , xm.2] (x - xj (x - xm.,) +...+

8( Q( x ) ) | <
o sea:

(2k -

< ( 3m - 1 - (2m -

Mu

+ f x m ,..., xj (x - xj (x - x m .,) ... (x - x0) , y dada la simetra de las diferencias divididas esto no es ms que tomar de la tabla que antes habamos armado las diferencias de la diagonal inferior con los nodos correspondientes. Esta forma se denomina Frmula de Newton de diferencias divididas hacia atrs. Debe quedar claro que a pesar de ser distintas las diferencias divididas (salvo la ltima) el polinomio es siempre el mismo. Veremos ahora con un ejemplo qu ocurre si los errores inherentes en los datos de la tabla merecen ser considerados.

| 6( Q(x) ) | < (3m - 2m) M u

Como estos resultados hablan del mal condicionamiento del problema f del algoritmo de interpolacin, es aconsejable en problemas de cierta magnitud, hacer perturbaciones experimentales, y resolver el algoritmo con distintos valores de (0., para hallar experimentalmente la condicin del problema la del algoritmo.

262

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

263

Consideremos la iincin f(x) =

1
l+x

en el intervalo [-1 ,1] y sea p(x) el

i polinomio interpolante en la malla x= -1 + i , i = O ,..., 32 , calculado con 32 dgitos; 16

Respecto a la propagacin de errores de redondeo un anlisis del mismo tipo nos permite observar algunas diferencias respecto a los errores antes analizados. Utilizando la misma funcin de antes, ahora sin perturbar los valores de la tabla, resolvamos el problema de interpolacin trabajando con i 6 dgitos, y sea r(x) el polinomio calculado; sea p(x) el polinomio antes calculado con 32 dgitos; Obtenemos en este caso los siguientes valores:

Perturbemos los valores de la tabla con valores aleatorios acotados poi 10"8 y sea q(x) el nuevo polinomio interpolador; Podemos comprobar que

max { | f(x) - p(x) | } = 2.7 10 9


-1<X<1

max { | f(x) - r(x) | } s 6 10'5 max { | q(x) - p(x) | } = 2.7 10'3,


lo que en principio confirma las conclusiones que obtuvimos de nuestros clcu los para Gregory-Newlon, respecto a la inestabilidad del problema de interpo lacin. Sin embargo un anlisis ms detallado nos permite ver que existe un feno meno similar al del error de discretizacin: el error en el centro del intervak es mucho menor que en los bordes; observemos un grfico de q(x) - p(x):
. -1 < x < 1

max { ! f(x) - p(x) | } = 2.7 109


-1 < X < 1

Nuevamente esto est de acuerdo con nuestras consideraciones acerca de la inestabilidad del algoritmo de clculo. Al granear f(x) - p(x) observamos claramente el Fenmeno de Runge:

-9

2.

10
-9

0.002 0.001

A
0.5

l
-0.5 -1. -2.

"
0.5 -9 10 -9 10

A
1 1

-0.5 -0.001 -0.002

1
Figura 9.2

Figura 9.1

Si graneamos p(x) - r(x), o sea el valor del error de redondeo propagado en la aproximacin de f(x), observamos lo siguiente:

Podemos decir que en general en el centro de la tabla el error inherente pro pagado es menor y el problema numrico es ms estable que en los bordes.

264

Anlisis numrico. Primer curso

Aproximacin o ajuste de funciones

265

Vemos que en este caso la frmula produce mejores resultados para un x en la parte inferior de la tabla.
0.0004

0.00002

-0.5

0.5 -0.0002 -0.0004

De todo lo visto podemos concluir que salvo casos especiales, la Frmula de Newton de diferencias divididas hacia adelante nos permite obtener buenos resultados para valores de x en la parte superior de la tabla y no muy cercanos al borde de la misma, y la Frmula de Newton de diferencias divididas hacia atrs nos permite obtener buenos resultados para valores de x en la parte inferior de la tabla y no muy cercanos al borde de la misma.

Figura 9.3

IV. 10 Extrapolacin Repetida de Richardson


Supongamos querer conocer un valor a 0 . Es para nosotros familiar el calcular cierto valor F(h) como aproximacin a a n , sabiendo que la aproximacin mejora al disminuir el valor de h; ms an, F(h) -> a() cuando h -> 0. Generalmente el trabajo para calcular F(h) aumenta notablemente al tender h a cero. Adems los errores de redondeo suelen imponer un lmite prctico al valor mnimo de h que puede elegirse. La Extrapolacin Repetida de Richardson es un Mtodo Numrico que nos permite reducir los errores de discretizacin sin disminuir el paso h a lmites prohibitivos desde el punto de vista de los errores de redondeo. Veremos que si tenemos algn conocimiento acerca de como se comporta el error de discretizacin F(0) - F(h) cuando h -> O, sabremos si estamos en condiciones de aplicar Extrapolacin de Richardson. Por ejemplo si: F(h) = a() + a, hp + O(h r ) , con r > p , podremos estimar a0 con un error de orden O(h r ) con slo computar F para dos longitudes de paso distintas, h y q h, con q > 1. (Observemos que a0 es el valor exacto que buscamos)

Si usamos los coeficientes de la diagonal superior para armar el polinomii interpolante, los errores de redondeo son mucho ms importantes cuando ' est cerca de los valores inferiores de la tabla. Si utilizamos la Frmula de Newton de diferencias divididas hacia atrs, < sea, usamos las diferencias divididas de la diagonal inferior para construir un nuevo polinomio interpolador r(x), la grfica de los errores de redondeo m metidos al aproximar f(x) con este polinomio ( p(x) - r(x)), es la siguiente:

6. 10
4.

-6 -6

10

2. 10
-1 -0.5
-2. -4.

-6

0.5 10 10 -6 -6

-6. 10

Figura 9.4

266

Anlisis numrico. Primer curso

Aproximacin o ajuste de fundones

267

Haciendo los dos clculos mencionados obtenemos el sistema:


F,(h) = F(h) F(h) - a0 + a, hp + 0(h r ) y

F k (h) - Fk(q h) k

vale:
:

F(q h) = a0 + a, (q h)p + O(hr)

F n (h) = an + a n <"> h"n) Observemos que un O(qr h r ) es un O(h r ); Multiplicando la primera ecuacin por qp , y luego restando miembro .1 miembro, podemos despejar F(0) que resulta ser:
F(h) - F(q h) + 0(hr). qP- 1

Notemos que h p(n) disminuye al aumentar n, lo que nos permite asegurar que cuando n aumenta, F n (h) aproxima mejor a afl. La demostracin se obtiene fcilmente usando el principio de induccin completa.
EJEMPLO 10.1

F(0) = a0 = F(h) +

Vemos entonces que con F(h) y F(q h) podemos aproximar F(0) con una precisin mayor que la que nos da cada una de ellas por separado; esi< proceso se denomina Extrapolacin de Richardson, y puede aplicarse re liradamente. Supongamos conocer la forma de una expansin ms completa de F(h I en potencias de h, (por ejemplo la expansin de la frmula ( 7.1 ) utilizad.! para el clculo de la derivada usando diferencias finitas centradas); en este i ,i so podemos repetir el uso de la Extrapolacin de Richardson. Este proceso i-. especialmente simple cuando las longitudes de los pasos forman una sene geomtrica:
, ho ho . . . n 0 , , - , ...; en este caso tenemos el siguiente resultado:

Calcular f '(3), siendo f(x) = ln(x); elegir h() = 0.8


ln(3 + h) - ln(3 - h)

Usaremos F(h) =

2h

h=

Si calculamos F(h) con 16 dgitos y hacemos variar a m desde O hasta 60 obtenemos una tabla de valores de la que mostramos slo algunos:
m F(h)

0.333333363474182 0.333333333401242 0.333333313465118 0.333328247070312 0.312499999999999 0.000000000000000

19 29

Teorema 10.1 Supongamos que:


00

39 49 O < p(i) < p(i+l), 59

F(h) = atl + E a hp(" , con entonces si definimos inductivamente:

268

Anlisis numrico. Primer curso

Aproximacin o ajuste de funciones

269

Observando todos los valores vemos que la mejor aproximacin se obi u i n cuando m = 16 ( h - 0.000012207... ) y resulta ser: 0.333333333328483 Vamos a efectuar los clculos utilizando Extrapolacin de Richardson: Observemos primero que:

Ahora vamos a escribir un algoritmo muy simple para aplicar Extrapolacin de Richardson a una tabla de valores ya definida que entra como dato. m: cantidad de elementos de la tabla. q: relacin entre los valores de h que se usaron para construir la tabla. u: tabla de valores. p: tabla de potencias sucesivas de h en el desarrollo del error. r ' : (transpuesta de r ) matriz de salida. ( rn n es la mejor aproximacin ) Algoritmo de Richardson comienzo entrada: m, q, ( u), ( p), i = 1 , . . . , m; para i = 1,..., m hacer comienzo

P + I ) (3)
F (h)

= P=o

(2p +

h 2p ; sea p( n ) = 2 n;

si q = 2 , entonces: qp(k) _ ] _ 22k - i y entonces obtenemos la siguiente tabla:

F^h)

A/3

F 2 (h)

A/15

0.8 0.4 0.2 0.1 0.05 0.025 0.0125 0.00625

0.3415898164800435 0.3353299832433492 0.3338284815613068 0.3334568724933618 0.3333642026759187 0.3333410497042344 0.3333352623657770 0.3333338155876753

0.3332433721644510 0.3333279810006260 0.3333330028040467 0.3333333127367710 0.3333333320470063 0.3333333332529579 0.3333333333283080

0.3333336215897043 0.3333333375909414 0.3333333333989526 0.3333333333343553 0.3333333333333547 0.3333333333333313

ri, = u; fin( i) para j = 2,..., m hacer comienzo para k = j,..., m hacer comienzo

*i* '= rHA+^u-'W-i^^""- 1 ) fin( k) fin(j) salida: r ' ; fin


Dejamos como ejercicio construir un algoritmo que no utilice la matriz r, dejando los valores calculados sobre el mismo vector u.

Observemos que la aproximacin obtenida en la tercer columna de la I i 1.1 con m = 7 es mucho mejor que la mejor aproximacin obtenida sin extrapo lacin. Como los errores en la tercer columna son del orden de h6, podemos pi < decir que salvo errores de redondeo el ltimo valor obtenido tiene un error tic discretizacin del orden de 6 10"14; Como f '(3) = 1/3, resulta f '(3) - F3(0.00625) = 0.2 10'14, lo que nos pu mite verificar la bondad del mtodo y de la expresin para el orden del emit j

270

Anlisis numrico. Primer curso

Aproximacin o ajuste de funciones

271

Ejercicios
1) Dada la siguiente tabla de valores:

5) Utilizando la Frmula de Lagrange encontrar el polinomio de grado 3 que pasa por los siguientes puntos: 0 1 2 4 X

f(x)1
12

x f(x

1
O

2
2

21

Calcular f( 3) utilizando la Frmula de Newton, usando: a) { X } = {1, 2, 4} y luego {x} = { 2 , 4, 5 } . b) Todos los puntos, sea por interpolacin cbica. c) Comparar los resultados de a) y b). d) Estimar el error de discretizacin para los valores obtenidos en a), aproxi mando A( x ) por la diferencia dividida correspondiente obtenida en b). 2) Dada la siguiente tabla de valores:

6) Hallar los valores de Vl.01 y Vi.28 a partir de la siguiente tabla, utilizando interpolacin de Newton. Garantizar 3 dgitos significativos.
x 1.00 1.05 1.10 1.15 1.20 1.25 1.30

(x) 1 ' 2 1.00000

1.02470 1.04881 1.07238 1.095441.118031.14017

7) Programar el clculo de los coeficientes del polinomio interpolante que surge de la Frmula de Newton. 8) Encontrar un algoritmo para evaluar el polinomio interpolador de Newton minimizando las operaciones.

0.1
64987

0.2
62055

0.4

0.8

f(x;

9) Calcular el sen( 0.390736) conociendo la siguiente tabla:

56074

43609

x
0.390 0.391 0.392 0.393

sen( x )
0.380188415 0.381113134 0.382037472 0.382961427

Calcular f( O) utilizando la Frmula de Newton con todos los valores de la tabla. Notemos que estamos ante un caso de extrapolacin. 3) Utilizando la Frmula de Newton encontrar el polinomio de grado 3 que pasa por los siguientes puntos:

f(x)

4 1

8
8

10
20

Utilizar la Frmula de Gregory-Newton para obtener un polinomio interpolante de grado 2. 10) Hallar un polinomio Q( x ) de grado 3 , tal que:

4) Utilizando la Frmula de Newton encontrar el polinomio de grado 4 que pasa por los siguientes puntos: 1
f(x) 1

Q(0) = 0, Q'(0) = 1 , Q(1 ) = 3 , Q'(1) = 6.


11) En base a la siguiente tabla:
X

4
-1

5
1

-1

f(x)

-1.201

0.8204

2.253

272

Anlisis numrico. Primer curso

a) Trabajando en [G(10 ,4 , 2), rd] construir el polinomio interpolante P,,(x) que surge de la Frmula de Newton. Luego reescribirlo de la forma:
2

CAPTULO V

Integracin y diferenciacin numrica

P,(x) = I a x'
i=0

b) Demostrar que el error de redondeo propagado durante las operaciones no cesaras para evaluar Pn(2) es algo menor que el propagado al evaluar P,(2), 12) Indicar las diferencias y similitudes conceptuales entre "ajustar una curva" o "interpolar".

V.l Reglas simples de integracin


El problema de la integracin numrica consiste en calcular una aproximacin a

I = Jf(x)dx, a
usando valores de f en puntos de una malla contenida en [a , b]. Veremos primero una serie de mtodos que utilizan puntos equidistantes, y para ellos utilizaremos la notacin:
n=

b-a
x = a + i h , i = O,..., n , entonces XQ = a , y xn = b

Veremos ahora algunas reglas simples de integracin. Una forma obvia de resolver el problema consiste en aproximar f(x) por una funcin simple, fcilmente integrable. Los dos mtodos siguientes estn basados en la idea de aproximar a la funcin f(x) por medio de funciones lineales a trazos.

274

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

275

n-

JU

Si llamamos f.1/2 = f( x, - - ) , la Regla del Rectngulo se expresa:


, n j f(x) dx = R(h) = h 2 f.1/2

Desacuerdo a la frmula del error de discretizacin en interpolacin, si llamamos P,(x) a la funcin lineal que interpola a f(x) entre x., y x resulta:

(1.1)

h f(x) - Pj(x) - - (x - x,.,) (x - x,).

Notemos que este mtodo usa los, valores de f en el punto medio de ca subintervalo (x^,,^). Vamos a estimar el error de discretizacin de la frmula ( 1.1 ):
n

Si ahora consideramos I f"(x) I < M para todo x en el intervalo [ a , b ] ,

ED = I - R(h) = 2 M ii
Xj

, siendo
ED=

(f(x)-P,(x))dx =

AI = j (f(x) - f_1/2 ) dx , y haciendo un desarrollo de Taylor: xi i

con | A 1 | < M - - , y entonces para la Regla del Trapecio,


b-a 12

(f'

(x - x

)+

(x - x

) 2 ) dx

Mh2.

y teniendo en cuenta que la integral del primer trmino es nula, resulta, sil consideramos

h3 | f"(x) | < M dentro del intervalo de integracin: AI < M ; 24


Sumando de 1 a n , y teniendo en cuenta que n h = b - a , resulta par la Regla del Rectngulo:
| ED | < b-a 24 M h2

Vamos a deducir ahora la Regla de Euler-Mc Laurin: Para aproximar la integral de f(x) sobre el intervalo [a , b] , a la que de ahora en adelante llamaremos I, vamos a suponer que F(x) es una primitiva de f(x), o sea: F'(x) = f(x), y que f(x) es suficientemente derivable, entonces:

La Regla del Trapecio queda definida por la frmula:

(i + 1)!
y aplicando esta identidad a los puntos de la malla resulta:

f ( x ) d x = T (h) = h ( -^- + Z f , ) ,
a 2 >=1

(1.2)

que es el resultado de integrar en [a , b] una interpolacin lineal a trozos i la f(x).

Integracin y diferenciacin numrica 276 Anlisis numrico. Primer curso

277

Vamos a determinar los c de forma que se anulen los parntesis del ltimo miembro:

1
ci

1
'
Cl

1
'
Cs

12

' c/

~~-

720

' cs

" > C6

30240

=
y sumando estas identidades obtenemos:
n-l

Observemos que los coeficientes se obtienen de la relacin recursiva:

(n + l)!

n!

(n-1)!

2!

= F(xn)-F(x0) =

Di

=o j=o (i + 1)1

Con los c obtenidos de esta forma resulta:


n-1 "o

Razonando de la misma forma para f'(x), f"(x),..., obtenemos:


\ n-1 ft k+i)

I = E f( Xj ) h - c, h ( f(b) - f(a) ) - E c,+1 hi+1 (F (b) - f" (a) ) = J f k > ( x ) d x = f k - ' H x n ) - f k - ' > ( x 0 ) = E E -i
a H> '=0

llh'+'= E E =0 H> ( + 1)!

"
=h (

( i + 1)!

f(a) + f(b)
2

nv' " + E f( X j )) -E c,+1 h'+1 (^ (b) - P" (a) ) ;

)='

=i

Si ahora sumamos a la primera ecuacin la segunda multiplicada por c, h la tercera multiplicada por c 2 h 2 , ... , la k-sima por c k _, h k ~' , obtenemos: I + E c. , hi+1 (f (b) - f (a) ) = :_/i ~
1 ri

En el primer trmino del ltimo miembro reconocemos la regla de los trapecios, resultando:

("

E f(xp h + Ef'(Xj) - + ...) + c, h ( E f'(x,) h + E f"(Xj) - + . . - )


21
n-,

Puede demostrarse que salvo c,, los coeficientes impares se anulan y entonces sintetizando, la Frmula de Euler-Mc Laurin resulta: 1= T(h) + E c 2 l ( f 0 ( 2 i - 1 ) - f n ( 2 i - ' > ) h 2 ' . (1.3)

+c2h2(Ef'(x))h+Eft3)(x)-Tj=o ' j=o '21


n-1 j n-1

c3h3(Eft3)(xi)h+Ef4)(x) j=o j=o ' 2 1


l e ""'

... )+ ... = Ef(x) h + ( + c,) Ef'(X;) h2 + ( 1+ c2) E f"(Xj) h3 + ... j=o 21 j=o 3! 2! j=o

Observemos que este resultado nos permite aplicar Extrapolacin Repetida de Richardson al Mtodo de los Trapecios, obteniendo en primera instancia, el Mtodo de Simpson:

278

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

279

Dividamos el intervalo [a , b] en una cantidad par de subintervalos, < > que n debe ser par, y calculemos T(h) y T(2h) ( h = de IV.6 nos permiten afirmar que:
b-a n

; los resultado-,

siendo ED una cota para el error de discretizacin, podemos pensar que dividiendo p veces el subintervalo h tendremos un error del orden del propuesto. b-a 3) Primeramente debemos evaluar el integrando en los 2P puntos de la malla ms fina, sea en:

T(h) - T(2h) S(h) - T(h)


22-l

(1.4)

b-a

^Xo + i V \=y . < i < -^-

es una aproximacin a I de orden 4, llamada Frmula de Simpson. Si definimos: 4) Finalmente armamos una tabla como la del Ejemplo 10.1 del Captulo IV, o sea:

A
R2(h)+

SP= 2 2 l ,

y SI == X f 2 . , ,

R,(h) = T ( h )

15

63

reemplazando en ( 1.4 ) T(h) por su valor, obtenemos la expresin ms conocida para la Frmula de Simpson:
T(h,)

R2( ^ ) R 2 ( h2 ]
R3( h2 )

S(h) = (f 0 + f n + 2 SP + 4 SI)

(1.5)

T(h 2 )

Si seguimos aplicando Extrapolacin de Richardson a ( 1.5 ), y luego al resultado obtenido, y as de seguido, obtenemos un mtodo muy interesante llamado Mtodo de Romberg. Vamos a hallar el algoritmo utilizado en la aplicacin de ste mtodo: 1) Generalmente el valor de q se toma igual a 2 , o sea, se aplica el meto do de los trapecios primero con un intervalo de longitud h, y luego con intervalos de longitud mitad que el anterior. 2) Para decidir cuantas subdivisiones del h original debemos hacer, ob servemos que el error en el mtodo de los trapecios es de orden 2, y cada vez que extrapolemos el orden del error aumentar en 2, por lo tanto si: siendo para R^hj), h = , A = Rj.,(hj) - R-.,^.,), y el divisor de A : 2 2 j - 1 , con j'= 1,2,..., i EJEMPLO 1.1 Utilizando el Mtodo de Romberg calcular aproximadamente: sen(x)

dx

280

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

281

Vamos a operar con 6 dgitos, por lo tanto no ser razonable pretend un error de discretizacin menor que 10"6; si dividimos el intervalo dado 1 1 veces, tenemos que el error de la ltima extrapolacin ser del orden de

V.2 Algunas dificultades y formas de solucionarlas


La medida del xito en el uso de la Extrapolacin Repetida de Richardson depende de cuan bien pueda ser aproximado localmente el integrando por un polinomio. A menudo es ventajoso investigar si podemos transformar o modificar el problema dado hacindolo ms adecuado para integrar numricamente. Si el integrando se hace infinito en un punto, esa modificacin es necesaria. Incluso, si alguna derivada de bajo orden se hace infinita en un punto dentro, o cerca del intervalo de integracin, alguna modificacin es aconsejable. No es infrecuente que un paso ubicado cerca de un punto donde, por ejemplo, la derivada del integrando es infinita, d un error mayor que el de todos los otros pasos acumulados. Presentaremos ahora algunas situaciones comunes, y las posibles vas de solucin. Consideraremos primero algunos casos en donde el integrando tiene una singularidad o es "casi singular".
EJEMPLO 2.1

0.8 () 8 = 10~8; trabajaremos entonces con h = 0.8,0.4,0.2, y 0.1; comencemo


entonces por evaluar el integrando de 0.1 en 0.1:

sen (x)
X

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

1.000000 0.998334 0.993347 0.985067 0.973546 0.958851 0.941071 0.920311 0.896695

(Sustitucin) Ahora construyamos la tabla para efectuar las sucesivas extrapolaciones:


t e
j , dx

I
h
0.8
0.4 0.2 0.1 R1(h) = T(h) A Ri(h) + 3 A R2(h) + 15 A R3(h)+ 63

o Vx

La funcin se hace infinita en el origen. Tomando x = t2 resulta:

0.758678
-

I = 2 J e' dt ,
0.772096 0.772095 0.772095 y sta integral puede ser tratada sin dificultad usando por ejemplo el Mtodo de Romberg.

0.768757 0.771262 0.771887

0.772117 0.772097 0.772095

R3(0.1) = 0.772095 es correcto con todos sus decimales.

282

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

283

EJEMPLO 2.2

(Integracin por partes) ' e" ' I = | ~p dx = 2 e - 2 j Vx ex dx,


o "Vx o

la regla del trapecio o la del rectngulo dan resultados sorprendentemente buenos si integramos sobre el intervalo [-R, , R2] para R, y R2 suficientemente grandes, suponiendo que f(x) y sus derivadas de bajo orden sean pequeas para x fuera del intervalo [-R,, R 2 j. Podemos tambin intentar una sustitucin que, por ejemplo, transforme el intervalo (O , ) en el (0,1), como por ejemplo t = 1 1+x . No obstante estos casos suelen introducir

y la segunda integral puede resolverse numricamente; puede verse que M-I terando el procedimiento obtenemos cada vez integrales ms estables desde d punto de vista numrico.
EJEMPLO 2.3

singularidades en el integrando.

V.3 Otros mtodos de integracin numrica


Sea w(x) una funcin dada, no negativa e integrable. Si queremos integrar f(x) w(x) en un cierto intervalo, podemos proceder de la siguiente forma: elegir una malla de (m+1) puntos en [a , b] ( { x, }0 ) interpolar sobre ella a f(x); Luego realizamos la aproximacin: b b b
m

(Problema de Comparacin Simple)

r i = 0.1 dx J X
3

e" e

El integrando se hace infinito cerca del lmite inferior; la idea es separar l.i singularidad en una integral que podamos resolver analticamente:

I = J w(x) f(x) dx = J w(x) P(x) dx = J w(x) f. S (x) dx =

- J

iex-l-x

-
1-0

- dx + | - dx

w(x)8,(x)dx =B 0

fm,

(3.1)

B - } w(x) 6 (x) dx , La primera integral podemos calcularla analticamente, y la segunda numricamente. Es comn encontrarse con intervalos de integracin infinitos. Para integrales de la forma: siendo 8(x) el factor de f en el polinomio interpolador de Lagrange. Evidentemente esta frmula es exacta si f(x) es un polinomio de grado menor o igual a m. Tambin es claro que los coeficientes de ( 3.1 ) no dependen de f(x). Si nos proponemos resolver el problema para el intervalo de integracin [-1 , 1] tomando la malla de puntos equidistantes resulta que los B dependen slo de m y pueden ser tabulados. En la prctica estos coeficientes se calculan fcilmente usando el mtodo de los coeficientes indeterminados.

I = Jf(x) dx ,

284

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica Tabularemos estos coeficientes para algunos valores de m:

285

Cuando el intervalo es el [-1 , 1], los puntos de la malla son equidisl.mir y la funcin de peso w es igual a 1, las frmulas de integracin se llaman I < > i muas de Cotes:
1 m

m
I = J f(x) dx = A f, 2 con x = -I + i h , h = , m

Ao

Al

A2 1
3 3 4 12 "45" 50 144 27 420

A3

A4

A5

As

2 3 4

1
3 1 ~4~ 7 45" 19 144 41 420

4 3 3 ~4~

A = J 8(x) dx , y -i
8:(X) =

1
4 32 45 50 144 272 420 7 45 75 144 27 420 19 T44 216 420 41 420

n (x - x) n (x - x)
L \A--

32 45 75 144 216 420

AJ

psi

'

5
5

Si queremos aproximar I = J f(x) dx, debemos efectuar el cambio de va riable: x(t) =

a+b

b- a + t que transforma el intervalo [ - 1 , 1 ] en el [a , h|,


Para calcular el error de discretizacin de la Frmula de Cotes observemos que de acuerdo a la expresin para el error en interpolacin:

resultando:
b

b-a

b - a ^. b-a

1= J f(x) dx =
a

J f(x(t)) dt =
2 - 1

b - a ^-, i))A= If.A, 2 =o ' '

ED = -

+ 1)1

n ( X -x)
i=n i=0
IX X;

siendo f( = f(x) , x = a + i h , h =

y entonces si | f m+1) (x) | < M para todo x en [a , b], resulta que para la Frmula de Cotes el error de discretizacin cumple con la desigualdad:

( m + 1)! a ' =o

i n (X -

Iii

Cuando podemos elegir los puntos de la malla arbitrariamente, existe una distribucin de los mismos que minimiza el valor del error de discretizacin, la que se deduce del siguiente teorema:

286

Anlisis numrico. Primer curso


jrf2m+2)

Integracin y diferenciacin numrica

287

Teorema 3.1 (Cuadratura de Gauss) Sea w(x) una funcin de peso positiva en [ a , b j . Existe una familia { cp(x) }0 , de polinomios ortogonales asociado. .1 w(x) en [a ,b], tal que si elegimos las races de tpm+1(x) (x^x, ,... ,xm) conm los nodos para aplicar la Frmula de Cotes:
b
1= J

( n (x _ x )
(
3 X

fUm+2) t\"m;

(2m + 2)!

cm puede calcularse aplicando la frmula a un polinomio de grado 2 m+2 Vamos a ejemplificar esta ltima afirmacin deduciendo la frmula para calcular I G ( I ) y el valor de c,. La malla estar formada por las dos races del polinomio de Legendre de grado 2:
3 1 1 1 P 2 (x) = x2 - , o sea x,, - - = , x, =
, /*

f(x)W(x)dX=

b-a

V;,

esta resulta exacta para todos los polinomios de grado menor o igual a 2 m i I y recibe el nombre de Frmula de Gauss. Este resultado es comunmente usado en el intervalo [ - 1 , 1 ] y con la (un cin de peso w(x) = 1. En este caso los polinomios ortogonales resultan ser los de Legendre, c]iic podemos definir recursivamente de cualquiera de estas dos formas:
2n + 1 P0(x) = l, P,(x) = x, ...,

VT

Como 80(x) =

y 8,(x) =

, integrando resulta:

A0 = 1, A, = 1, y entonces la Frmula de Gauss con interpolacin lineal resulta:

Pn.,(x),o
-

V3

T=

V3

Para calcular el coeficiente en la frmula del error de discretizacin tomamos: Vale entonces el siguiente resultado: Teorema 3.2 Sea f(x) diferenciable con continuidad hasta el orden (2 m + 2) por menos. ] Sea I = J f(x) dx , y llamemos I G(m) a la integral de Gauss sobre la malj
-i

f(x) = x4 y la integramos primero utilizando la frmula de Gauss, y luego exactamente: I G(1) = , por otro lado I = ; Vemos entonces que: en general:
2

---

= c , 4 ! , de donde c, = 7.4 10"3 y entonces,

formada por las m + 1 races del polinomio de Legendre de grado m + P m+1 (x) (o sea que interpolamos f(x) con un polinomio de grado m), tonces:

I-I G ( 1 ) = 7.4 10-3

con ^ en el [ - 1 , 1 ] .

288

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

289

Dejamos como ejercicio para el lector comprobar que la frmula es C-\.M ta para cualquier polinomio de grado menor o igual a 3. Dada la practicidad del Mtodo de Gauss es conveniente disponer de- l.i constantes para los casos ms usuales:

V.4 Error total en la integracin numrica


Error total en el Mtodo del Rectngulo
Comenzaremos por recordar la Frmula del Rectngulo:

Tabla de races de los Polinomios de Legendre y coeficientes para la Cuadratura Gaussiana.

R(h) = h I f i-l/2
Para simplificar el estudio de la propagacin de errores de redondeo vamos a suponer que la f(x) conserva el signo en todo el intervalo [a,b]. Sea U la unidad en el ltimo dgito significativo de f 1/2, o sea que si suponemos correctamente redondeados los valores de f resulta:

n
2

0.5773502692 -0.5773502692 0.7745966692 0.0000000000 -0.7745966692 0.8611363116 0.3399810436 -0.3399810436 -0.8611363116 0.9061798459 0.5384693101 0.0000000000 -0.5384693101 -0.9061798459

1.0000000000 1.0000000000 0.5555555556 0.8888888889 0.5555555556 0.3478548451 0.6521451549 0.6521451549 0.3478548451 0.2369268850 0.4786286705 0.5688888889 0.4786286705 0.2369268850

U le, I < para todo i. '1-1/2 2


Vamos a suponer que a y b no tienen errores inherentes, y que el error de redondeo al calcular h es despreciable, entonces aplicando la frmula para calcular la propagacin de errores inherentes resulta:

U b-a | E i < h n = - U.
Por otro lado construyendo la grfica de proceso y utilizando la hiptesis sobre conservacin de signo de la f( x ), resulta para la propagacin de errores de redondeo: , | ers. | < ( i - l ) ( J . , siendo | la unidad de redondeo, y

290

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

291

Si despreciamos el error en h tenemos entonces:


b -a

b-a 12

M h2 +

b-a 2

b-a

siendo M como antes una cota de | f " (x) | en [a , bj.

|R(h)|

h Error total en el Mtodo de Simpson


Vamos a estimar primero el error de discretizacin en el Mtodo de Simpson. Apliquemos la frmula ( 1.3 ), primero trabajando con una longitud de intervalo h y luego con una longitud 2 h. Si multiplicamos por 4 la primera igualdad y a este resultado le restamos la segunda igualdad obtenemos:
b-a

Si unimos todos los resultados hallados, tenemos para el error total en l.i Regla del Rectngulo:

E R ( h) ^

b-a

4M h2 + 2 u

b-a

+ ~T~ l R(h) I ^. 2

b-a

siendo | f"(x) | < M para todo x en [ a , b ] .

I = S(h) +

Error total en el Mtodo del Trapecio


Nuevamente comencemos por recordar la Frmula del Trapecio:
n-l

180

h4 + O(h6), siendo un punto de [a , b].

Supondremos que M es una cota del mdulo de la derivada cuarta de f(x). Tenemos entonces:

T(h) - h

b-a
ED< 180 Mh 4 .

Si hacemos el mismo tipo de consideraciones que en el punto anterior resulta para la propagacin de errores inherentes:
U U - U b-a U;

Haciendo las mismas consideraciones que en los apartados anteriores estudiaremos primero la propagacin de errores inherentes utilizando la expresin ( 1 . 5 ) para el clculo de S(h). Vemos entonces que:
h
T S*~ -,-,-n /

U
. I

U
.

U
+4

n 2

U 2)=

b-a 2 U.

Si construimos la grfica de proceso para esta frmula veremos que las divisiones por 2 y el sumando adicional con respecto a la frmula del rectngulo, agregan un 2 |i al error de redondeo relativo propagado, cosa despreciable con respecto a los otros trminos, por lo que finalmente utilizaremos para el error de redondeo propagado la misma expresin que para el Mtodo del Rectngulo, resultando entonces para el error total en la Regla del Trapecio:

E'

- 3( 2

2 "! ^ 2

Esta expresin es idntica a las obtenidas anteriormente.

292

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

293

En cuanto a la propagacin de errores de redondeo, depender del algoi u mo utilizado. Si utilizamos la expresin (1.5) para calcular S(h), haciendo la grfica de proceso obtenemos una expresin del orden de las anterior. por lo tanto el error total para el MTODO SIMPSON resulta: b-a
^S(h) -

180

Mh 4 +

b-a

U+

b-a

E, < (m + 1) F \l + E A = (m + 1) F u + U , siendo F una cota para i=o 2 el mdulo del integrando. Por otro lado haciendo anlisis retrospectivo de errores como en el Ejemplo 9.2 del Captulo 1, tenemos para la propagacin de errores de redondeo: E R < 0.56 F (m + 2) (m + 3) u, (recordemos que A< 1 para todo i) Llegamos entonces para el error absoluto total en la Frmula de Gauss a: E,, < cm M + (m + 1) F |l + U + 0.56 F (m + 2) (m + 3) \L .

I S(h) | u.

Si no hacemos la consideraciones respecto a la conservacin del signo di f(x), tenemos para la propagacin de los errores de redondeo: (b-a)2 F

ER<

h2

(i, siendo F una cota para | f(x) | en el intervalo [ a , b |

Error total en la Cuadratura de Gauss


Ante todo recordemos que integrando en el [ - 1 , 1 ] resulta:

Notemos que en todos los mtodos de integracin el error de discretizacin disminuye cuando aumenta la cantidad de nodos de la malla usada, pero el error de redondeo aumenta, en el mejor de los casos linealmente, con la cantidad de nodos, de donde concluimos que para resolver un dado problema numrico habr un h ptimo que podramos determinar minimizando la expresin del error total.

Sea M una cota del mdulo de la derivada 2 m + 2 de la funcin iniY grando. De acuerdo al Teorema 3.2, tenemos que: M Los errores relativos en los coeficientes pueden considerarse del orden de f i . Si consideramos que los errores absolutos en los valores de f(x) estn acol.i U dos en mdulo por , tenemos para la propagacin de errores inherentes:

V.5 Diferenciacin numrica


Ya nos hemos encontrado anteriormente con el problema de calcular valores aproximados para la derivada de una funcin que est definida por una tabla, y que se supone apropiada para ser aproximada localmente por un polinomio. Vimos que en este caso las derivadas pueden ser aproximadas por diferencias. Si trabajamos sobre una malla de nodos equidistantes, demostramos que la extrapolacin repetida de Richardson nos da la posibilidad de reducir el error de discretizacin. Por otro lado, si Q(x) es una buena aproximacin polinmica de f(x), podemos usar Q'(x) como una aproximacin polinmica a f '(x); no obstante la precisin de los valores de la derivada as obtenidos es en general menor que la precisin con que Q(x) aproxima a f(x).

294

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

29>

EJEMPLO 5.1
X

Sea (x) = e x ; consideremos el polinomio aproximante: Q (x) = 1 + x + Entonces f '(x) = f "(x) - f '"(x) - f(x), y Q'(x) = 1 +x, Q"(x) = 1, Q'"(x) = 0. Para x en el [-0.1 ,0.1] tenemos

Las siguientes son algunas frmulas para diferenciacin numrica: 1 1 si p = r + , o sea : x = x0 + (r 4- ) h , utilizando la Frmula de Interpolacin de Bessel puede deducirse:
3r 2 i- A3 f , +

max | f(x) - Q(x) | = 2 10 4 ,

h f'(x) = A f0 + -- (A2 f , + A2 f 0 ) +

4r3-5r
48

(A4f,+A4f. ) +

m a x | f ' ( x ) - Q ' ( x ) | = 5 10~ 3 , m a x | f " ( x ) - Q " ( x ) | = 10'1 , m a x | f ' " ( x ) - Q " ' ( x ) | = 1.1 Utilizando la Frmula de Interpolacin de Stirling puede encontrarse: h f'(x) = uf(J- - (1 - 3 p2) jiS 3 f 0 + - - (4 - 15 p2 + 5 p 4 ) u85 f + ... 6 120 Cuando queremos calcular la derivada en un nodo de la malla un mtodo muy eficiente para descubrir frmulas de aproximacin es el de Los Coeficientes Indeterminados que hemos estudiado anteriormente.

Slo como ejemplo hallaremos una frmula para aproximar la derivad.i primera utilizando cuatro puntos de una tabla { x, f }f=0 con nodos equidis tantes. Utilizaremos el polinomio interpolante de Gregory-Newton:
q(x) = f0 + p Af 0 p(p-D

A2fn

p(p-l)(p-2) A3fn,

Clculo con operadores


Ya hemos hablado de la posibilidad de efectuar clculos con operadores en diferencias. Los clculos formales con operadores utilizando las reglas del anlisis y del lgebra son a menudo un medio elegante para encontrar frmulas de aproximacin. No obstante estas frmulas deben ser luego probadas de alguna otra forma. Ya hemos definido el operador de corrimiento E, el de diferencias hacia adelante A, el de diferencias centradas 8, y el promedio (I. Tambin utilizaremos los siguientes operadores:

X -

siendo p = ; , y h = x .. ,- x ; teniendo en cuenta que = , resulta: h dx h


Af0 f'(x) = q'(x)=- h

2h

A2f+

3p2 - 6p + 2 6h

Si f(x) es un polinomio de grado menor o igual a 3, la expresin ante rior es exacta.

296

Anlisis numrico. Primer curso

Integracin y diferenciacin numrica

297

Df(x) = f'(x) : Operador diferencial Vf(x) = f(x) - f(x - h) : Operador de diferencias hacia atrs Todos estos operadores son lineales y cumplen con las propiedades o>n mutativa, asociativa y distributiva para la suma y el producto. En trminos prcticos, nos interesa establecer relaciones entre ellos. l..i n lacin fundamental surge de expresar la serie de Taylor: f(x + h) - f(x) + h f'(x) + f"(x) + f'"(x) + ... , 2 6 que toma la forma operacional:
(hD)2 (hD)3 -+ - + ... )f( x ), simblicamente:

(hD) 2 = 8 2 - + 12 90

86

560

hD =

uS3
6

u85 _. _
30

Ejercicios
1) Calcular la siguiente integral utilizando las Frmulas del Trapecio y de Simpson,

Ef(x) = (1+ hD +

n n con h = , y h = ; 2 4
_ _

n
2

2n
J

2sen(x)

A partir de esta relacin podemos encontrar una variedad de resultadc que proveen distintas frmulas de aproximacin. Por ejemplo:
E = I 4- A _ e1h D =~

2) Integrar la funcin y = V x entre los valores del argumento 1.00 y 1.30, utilizando la tabla del Problema 6 del captulo anterior, con los siguientes mtodos: a) Frmula del Trapecio b) Frmula de Simpson 3) Integrar la funcin y = sen( x) entre O y a partir de la siguiente tabla:
X

A2 2
que significa:

A3

A2 A3 h f '(x) = ( A + ~ - ... )f(x).


Otras frmulas importantes son:

it
12

2it 12

K 12

4x
12

5re 12

6K 12

sen( x ) 0 00000 0.25882 0.50000 0 70711 0.86603 0 96593 1.00000


a) b) c) d) Por el mtodo del trapecio Por el mtodo de Simpson Acotar el error de truncamiento Comparar los resultados con el valor exacto

298

Anlisis numrico. Primer curso

Integracin y diferenciacin 'numi ico

299

4) integrar la funcin y =

sen(x)

entre O y 0.8. Utilizar el Mtodo de Romberg

9) Indicar que tipo de error puede minimizarse utilizando extrapolacin de Richardson. 10) Indicar hasta polinomios de que grado integra exactamente la Frmula de Gauss con 3 puntos.

hasta garantizar 5 dgitos. 5) Integrar la funcin y = f( x) entre O y 4 utilizando el Mtodo de Romberg. La funcin est dada por la siguiente tabla de valores correctamente redondeados:
4.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 f(x) -4271 -2522 -0499 1795 4358 7187 10279 13633 17247

6) Integrar la funcin y - e-* entre O y 10, utilizando el Mtodo de Gauss de 5 puntos. Comparar con el resultado exacto a 6 decimales : 0.999955. 7) Evaluar la integral de y = sen2( x ) entre O y 2 . a) Operando en [ G( 10 ,5 , 2 ) , rd ] ; utilizar el Mtodo de Romberg hasta obtener 4 dgitos significativos. b) Estimar el error de redondeo en los resultados parciales obtenidos por la Regla del Trapecio. Respetar el orden en que efectu las operaciones. 8) Evaluar la misma integral del problema anterior utilizando la cuadratura de Gauss con 3 puntos. Proceder de la siguiente forma: a) Hallar la frmula de cuadratura sabiendo que el polinomio de Legendre de grado 3 es: P 3 ( x ) = y ( 5 x 2 - 3) b) Realizar los clculos. c) Estimar el error de truncamiento en base al desarrollo en serie de Taylor del integrando.

< "
CAPTULO VI

Resolucin numrica de ecuaciones diferenciales ordinarias

VI. 1 Introduccin
Al estudiar un fenmeno fsico con frecuencia no es posible hallar de inmediato las leyes que enlazan las magnitudes que caracterizan dicho fenmeno. Pero al mismo tiempo es fcil establecer la dependencia entre esas magnitudes y sus derivadas o sus diferenciales. As obtenemos ecuaciones que contienen las funciones desconocidas, escalares o vectoriales, bajo el signo de derivada o de diferencial. Las ecuaciones en las cuales la funcin desconocida, escalar o vectorial, se encuentra bajo el signo de derivada de diferencial, se llaman ecuaciones diferenciales. Veamos algunos ejemplos de ecuaciones diferenciales: dx 1) - = - k x , es la ecuacin de la desintegracin radioactiva. dt (k es la constante de desintegracin ; x es la cantidad de sustancia no desintegrada en el momento de tiempo t ; la velocidad de desintegracin es proporcional a la cantidad de sustancia no desintegrada). d2F . dr 2 ) m = F ( t , r , ~ ) , es la ecuacin de movimiento de un punto dt2 dt

302

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

303

de masa m, bajo la influencia de una fuerza vectorial F dependiente di del tiempo, del vector de posicin del punto ( r ) , y de su velocidad La fuerza es igual al producto de la masa por la aceleracin. 3) D^ U + D U + Dzz U = 4 K p(x , y , z), es la ecuacin de Poisson, la cual es satisfecha, por ejemplo, por el potencial ^x , y , z) del campo electrosttico; p( x , y , z ) es la densidad de las cargas. Si se conocen los mtodos para hallar las funciones incgnitas determi nadas por las ecuaciones diferenciales, se podr determinar la dependencia entre las magnitudes implicadas. La bsqueda de las funciones desconocidas, determinadas por las ecuaciones diferenciales, es precisamente el problema fundamental de la teora cillas ecuaciones diferenciales. Si en una ecuacin diferencial, las funciones desconocidas, escalares o vectoriales, son funciones de una sola variable, la ecuacin diferencial es llamada ordinaria; por ejemplo las ecuaciones de 1) y 2). Si en cambio, la funcin desconocida es una funcin de dos o ms variables independientes, la ecuacin diferencial se llama ECUACIN EN DERIVADAS PARCIALES; por ejem po la ecuacin de 3). Se denomina orden de la ecuacin diferencial al orden de la derivada (o de la diferencial) mxima de la funcin desconocida que figura en la ecuacin. El grado de una ecuacin diferencial ordinaria no trascendente, es el grado algebraico de la derivada que determina el orden de la ecuacin diferencial, habiendo eliminado de la misma cualquier potencia fraccionaria. Se llama solucin de la ecuacin diferencial, a una funcin que al ser sustiv tuida en la misma la convierte en una identidad. Por ejemplo la ecuacin de la desintegracin radioactiva: dx til

tiene la'solucin:

,- x(t) = c e - k t

(1.2)

donde c es una constante arbitraria. Es evidente que la ecuacin diferencial ( 1 . 1 ) an no determina por completo la ley de desintegracin x = x(t). Para su completa determinacin hay que conocer la cantidad de sustancia x,, existente en el instante inicial t0 . Si x,, es conocida, entonces tomando en cuenta la condicin x(t0) = x,, de ( 1.2 ) hallamos la ley de desintegracin radioactiva:
x(t) =
-k(t-t 0 )

El proceso de determinacin de las soluciones de una ecuacin diferencial, se llama integracin de la misma. En el ejemplo anterior hallamos fcilmente por cuadraturas la solucin exacta. Pero la clase de las ecuaciones diferenciales integrables por cuadraturas es sumamente limitada; por ello ya desde los tiempos de Euler tuvieron gran importancia los mtodos aproximados en la teora de ecuaciones diferenciales. En la actualidad gracias al rpido desarrollo de las tcnicas de clculo los mtodos de aproximacin adquieren un valor incomparablemente mayor. Actualmente a menudo resulta conveniente utilizar mtodos aproximados an en los casos en que la ecuacin se puede integrar por cuadraturas. Es ms, aunque la solucin pueda ser expresada como una sencilla combinacin de funciones elementales, frecuentemente la utilizacin de las tablas de stas funciones, o su aproximacin numrica, resulta ms difcil que la integracin aproximada de la ecuacin utilizando computadoras. Sin embargo, para aplicar uno u otro mtodo de integracin aproximada de ecuaciones diferenciales, debemos estar seguros ante todo de la existencia de la solucin buscada, as como de la unicidad de la misma, ya que cuando no existe unicidad, no queda claro cul solucin debemos determinar aproximadamente. Con frecuencia la demostracin de teoremas de existencia de la solucin nos da un mtodo para la determinacin exacta o aproximada de la solucin, lo cual aumenta an ms la importancia de los teoremas de existencia.

=-kx dt

(1.1)

304

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

30>

Por ejemplo el Teorema 1.1, explicado ms adelante, da la fundamen tacin del Mtodo de Euler para la integracin aproximada de ecuacioiu-, diferenciales. La idea de ste mtodo consiste en sustituir la curva integi.il buscada, solucin de la ecuacin diferencial de primer orden: dy = f(x , y), con condiciones iniciales: dx y( xo ) = 7o por una quebrada constituida por segmentos lineales, cada uno de los cuali-. es tangente a una curva integral de la ecuacin diferencial: dy - = f(x,y) dx

x,, , x, , x2 , ..., x n _, , xn , donde xn = b. La longitud de cada segmento [x , x i+1 ] , xi+1 - x = h , se llama paso del clculo. El valor aproximado de la solucin en los puntos x se designar por u , sea:

y( x ) = u .
Para el clculo de u, se sustituye en el intervalo x0 < x < x, la curva integral buscada por el segmento de su tangente en el punto (xn , y0). Por lo tanto:
uo

= Yo . u. = uo + h y'(*o) = un + h f (x0 , u0) .

En forma anloga calculamos: u2 = u, + h f ( x , ,u,)

Si b < x0 el esquema de clculo es el mismo pero el paso h es negativo. Es natural esperar que para h> O, las "Quebradas de Euler" se aproximen a la grfica de la curva integral buscada. Por lo tanto al disminuir el paso h, el Mtodo de Euler da un valor cada vez ms exacto de la solucin buscada en el punto b.
XQ X,

La demostracin de sta afirmacin nos conduce al mismo tiempo a la demostracin del siguiente teorema fundamental de existencia y unicidad, bajo condiciones suficientes muy amplias impuestas a la funcin f(x , y).
Figura 1.1

Para calcular el valor aproximado de la solucin en x = b utilizando Mtodo de Euler comenzamos dividiendo el intervalo [x,, , b] en n parte iguales por medio de los puntos:

306

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

307

Existencia y unicidad de la solucin del problema matemtico. Convergencia del Mtodo de Eulerpara un Problema a Valore^, Iniciales (PV1)
Teorema 1.1 Sea la ecuacin diferencial:
dy ;= f(x,y), dx (1.3

con f(x , y) continua en el rectngulo: D = [x,, - a , x0 + a] x [yfl - b , y(, + h| Tambin f(x, y) satisface en D la siguiente condicin de Lipschitz:
| f(x, y,) - f(x , y0) | < N | y, - y() | con N = cte;
Figura 1.2

Entonces existe una nica solucin de ( 1.3 ) : y - y(x) definida sobre [x0 - H , X,, 4- H] que satisface la condicin y(x0) = y0 donde:
b 1 M = max | f(x , y) I con (x , y) en D , H < min { a , , -*-} M N

En el ejemplo de la figura la solucin puede no estar definida para x fuera


de [x, ,x 2 ].

A un problema de este tipo, en donde la unicidad surge de fijar el valor ilr la incgnita para el XQ inicial, (ya sea que avancemos a la derecha a la i/ quierda) lo llamaremos un Problema de Valores Iniciales (PVI). Si bien no daremos los detalles de la demostracin, enunciaremos los p.i sos iniciales de la misma; antes haremos algunas consideraciones sobre las condiciones del teorema; no es posible afirmar que la solucin buscada y y(x) de la ecuacin ( 1.3) que satisface la condicin y(x0) - y0 existir pan [x,, - a , XQ + a] ya que la curva integral puede salir de D a travs de sus superior y/ inferior como muestra la Figura 1.2:

Podemos garantizar que la curva integral y = y(x) no sale de los lmites de D cuando .x vara en el segmento [x() - H , xt + H] , donde H es el menor b de los nmeros a y , puesto que el coeficiente angular de la tangente a la curva integral buscada se encuentra entre los coeficientes angulares M y -M de la rectas representadas en la Figura 1.3:

308

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

309

a) Es-fcil ver que el PVI: dy dx = f(x,y) ( 1.5 )

es equivalente a la ecuacin integral:


|3 tgP = -M
X

y(x) = y0 + J f(x, y) dx

(1.6)

x0-a

x0-h

x0

x0+h x2

Construyamos ahora la quebrada de Euler: yn = y n (x), que parte del H punto (XQ, y()) con un paso hn = , definida en el segmento [x0, x (l +H]; n n es un entero positivo. (En forma anloga se demuestra la existencia de solucin en el intervalo [x0 - H , xj ). Para eso definamos: u0 = y 0 , u k+] = uk + hn f(x k , uk) , y hagamos: u= u(x; h n ), entonces: yn(x) = u(x; h n ) , y si x pertenece a [x j ; x i + l ] con 0 < i < n - l :

Figura 1.3

Se puede demostrar la existencia de la solucin buscada en el segmento b [xy - H , x0 + H], donde H = min { a , }; sin embargo es ms sencillo deM mostrar primero la existencia de la solucin en el segmento [x0 - H , x0 + H | conH<U,-,i}. Existen condiciones bajo las cuales la solucin pude ser continuada. La condicin de Lipschitz puede ser suplantada por una ms grosera, pero fcilmente verificable en la prctica: f(x,y) pertenece a C'(D), (1.4)

y n (x) = u + (x - x)

(1.7)

que significa que f(x , y) tiene derivadas continuas en D, de donde podemos deducir el cumplimiento de la condicin de Lipschitz pedida por el teorema. La demostracin del teorema consta de las siguientes partes:

Por otro lado la quebrada de Euler que pasa por el punto (x ( ) , y0) no puede salir de la regin D para x en [x0 , x0 + H] ( o bien x en [x,, -H , xj ), ya que el coeficiente angular de cada segmento de la quebrada es menor que M en valor absoluto. b) Se demuestra que la sucesin de quebradas yn = yn(x) es uniformemente convergente a una funcin y(x). c) La funcin y(x) es solucin de la ecuacin integral (1.6). d) La solucin de ( 1.6 ) es nica.

310

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

311

Sistemas de Ecuaciones Diferenciales y Ecuaciones Diferenciales Ordinarias (EDO) de orden superior a 1


Hasta ahora hemos considerado ecuaciones diferenciales ordinarias qu<involucraban una nica funcin incgnita. Ms generalmente, nosotros po demos considerar un "sistema de n ecuaciones diferenciales ordinarias":

Mientras que la condicin inicial asume la forma:

(1.10)
Yn-LO Yn.O

y,1 = *i'(x,y,,y a ,..., yn)


y2' = f 2 (x , y, , y2 ,..., yj

(1.8)

yn-i' = f n-i( x >yi >y 2 >">y n )


Yn'
= f n( X

Por otro lado la mayora de las ecuaciones diferenciales de m-simo orden que aparecen en la prctica pueden escribirse de la forma: (1.11) Si introducimos las funciones auxiliares:
z,(x) = y(x) , z2(x) = y'(x) ,

Yl ' Y2 ' - ' Yn)

para n funciones reales y = y (x), i = 1,..., n, de una variable real. Tal sistema puede ser escrito en forma anloga a ( 1.3 ) utilizando nol.i cin vectorial: Y' = F ( x , Y ) siendo: Y(x 0 )=Y 0

y,
Y2

f,(x,y,,y 2 ,...y n ) f 2 (x,y,,y 2 ,...,y n ) F(x,Y) =


(1.9)

(1.11) puede transformarse en un sistema de m ecuaciones diferenciales de primer orden:

y-.
fn(x,y,,y2,...,yB)

312

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias Plantearemos nuevamente nuestro Problema Matemtico:
Z2

313

~z/~
Z2'
Z3

y' = f(x, y)
vfx 0' ~~ 70 1- v MA ( 2.1 )

Z m-l'

= F(x , Z) =
Zm

(1-12) cuyos datos de entrada f( x , y ) y (XQ , y 0 ); Como resultado, podemos suponer que buscamos el valor y(b) para un cierto b, o la funcin y(x) definida sobre un cierto intervalo que contenga al XQ inicial. Toda expresin de la forma:
uo

r(x, Zp z2, ..., zm j, z m )

con condiciones iniciales:

= 7o '

uk+i

= uk + h <|> (xk , u k , u kH ; h ; f)

(2.2)

Z2,0

constituye un mtodo de paso simple para aproximar numricamente a y(x). Evidentemente ( 2.2 ) simboliza el Problema Numrico.
(1.13)

Si en la funcin <)> aparece explcitamente uk+1 , decimos que el mtodo es implcito; en caso contrario decimos que es explcito. EJEMPLO 2.1

m,0

que equivale a: y(k) (x0) = z k + 1 0 , k = O, 1,..., m-1.

(1.14)

y = +x
Dado el PVI: . , aproximar y( 1) utilizando el Mtodo de

y(0) = i VI.2 Problemas a Valores Iniciales. Mtodos de paso simple


Mientras no indiquemos lo contrario, supondremos que la EDO involucra una nica funcin; como veremos en la prctica, conocido el mtodo para resolver una nica ecuacin, la generalizacin para resolver sistemas de ecuaciones es completamente natural. Euler. En VI. 1 definimos el Mtodo de Euler de la siguiente forma: U0 = y(x,,) , ui+1 = u + h f(x , u) = Uj + h f ; La funcin que define al mtodo de Euler como un mtodo de paso simple es:

314

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

315

<|> (xk , uk , uk+l ; h ; f) = f(xk , u k ) , y en ste caso el problema numrico queda definido por:

Definamos ahora la diferencia:

p(x , y ; h ; f) = A(x , y ; h ; f) - <|)(x , y , z(x + h) ; h ; f)

( 2.5 )

u0 = 1 , ui+1 = u + h (- 0.5 u + x) = (1 - 0.5 h) u + h x,.


Si tomamos h = 1 , resulta x, 1 , u, = 0.5 ;

Decimos que ( 2.2 ) es consistente de orden p , s y slo s ( def)

p(x , y ; h ; f) = O(h?)

( 2.6 )

con h = 0.5 , x, = 0.5 , u, = 0.75 ,


y x2 = 1 , u2 = (1 - 0.25) 0.75 + 0.5 0.5 = 0.8125 ; con h = 0.25 , resulta x4 = 1 , u4 = 0.9309... con h = 0.015625 , resulta x64 - 1 , u64 = 1.0267...

para toda f en Cq( D ) , y para todo (x , y) en D , con O < p < q.


EJEMPLO 2.2

Estudiemos la consistencia del Mtodo de Euler:

p ( x ,y ; h ; f ) =
Tomando valores de h cada vez ms pequeos los valores de u corres pendientes a x = 1 se acercan muy lentamente a 1.0326...

z(x + h) - z(x)

f(x, y) ;

Recordemos que z(t) es la solucin de ( 2.3 ) , y entonces z(x) = y , y z'(x) = f(x , y) ; entonces aplicando Taylor a z(x + h) resulta:

Consistencia de un mtodo de paso simple


Supongamos tener definido ( 2.1 ) en un dominio D donde se cumplen las condiciones de existencia de la solucin. Tomemos un (x,y) arbitrario en D y sea z(t) la solucin exacta del PVI:

h h2 p (x , y ; h ; f) = z'(x) + z"(x) - - + z (3) (x) - -. + ...- f(x , y) = 2 6


= 2"(X) _

Z<3)( X ) --

h2

z' = f(t, z) (2.3) z(x) = y


Definamos ahora la funcin incremento para z(t) as:

Esta ltima igualdad es vlida si f( x , y ) es infinitamente derivable, pero es suficiente considerar el conjunto de funciones f con derivadas continuas en el dominio de trabajo para que Euler resulte un mtodo de orden 1.

Convergencia de un mtodo de paso simple


A(x,y;h;f) = , f(x,y)

(2.4)

Tomemos un x dentro del intervalo de existencia de la solucin, y con

si h = 0

h=

avancemos n pasos en el clculo hasta llegar a xn = x ; representen mos la solucin aproximada en x de la siguiente forma:

x - x0

316

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

317

un = u( x ; hn) , y sea e(x ; hn) el error de discretizacin en x , o sea:

Lema 2.1 Si los nmeros s, satisfacen desigualdades de la forma:


| si+1 | < (1 + d) | s | + B, O < d < d , O < B < B , i = O, 1, 2, ...

e(x ; hn) = y(x) - u(x ; hn)


siendo y(x) la solucin del problema ( 2 . 1 ) .

( 2.7 )

Diremos que el mtodo de orden p ( 2.2 ) es convergente s y slo s (del) lim e(x ; h n ) = O para toda f e Cq(D) con q > p

Entonces:
nd

(2.8)

Teorema fundamental para mtodos de paso simple


Antes de enunciar y demostrar el teorema fundamental daremos una definicin y demostraremos un lema previo.

Demostracin:

|s 2 | < (1 + d) 2 |s 0 | + B ( l + d ) + B Definicin: Sea (|>(x , y , z ) definida sobre una cierta regin del espacio. Diremos que <j) es Lipschiziana en sus segunda y tercera variables, sobre esa regin, si y solo si (def ) Existen L2 y L3 positivas, tales que: I sn | < (1 + d)n | s 0 1 + B (1 + (1 + d) + ... + (l + d)"- 1 ) = . (l+d)-l

, y2 , z2) - <|>(x , y, , z,) | < L2 1 y2 - y, | + L3 1 z2 - Zj | ,


cualesquiera sean (x , y2 , z2) , (x, y, , z,) en la regin considerada.

Como para todo x : 1 + x < e x , si (1 + d) > O podemos elevar de ambos lados manteniendo la desigualdad, y entonces:
nd

Si L = max j L, , L2 } resulta:

I ! ^ e n d |s 0 |

c.q.d.

(2.9)

| <|>(x - 72 , z2) - 4>(x , y, , z,) | < L ( I yz - y, I + I z2 - z, | ).


Vamos ahora a la demostracin de un lema de uso comn:

Podemos ahora probar el siguiente teorema fundamental: Teorema 2.1 Un mtodo consistente de orden p, con p > O, y con una <|> Lipschiziana en sus segunda y tercera variables, es convergente.

318

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

319

Demostracin:
Sea x fijo y arbitrario y definamos:
X - X

| <t (x , y(x) , y(xi+1) ; h ; f) - <)> (x , u , ui+1 ; h ; f ) | < L2 1 e | + L3 1 ew |. Para acotar la segunda diferencia, partiendo de la consistencia hagamos esta consideracin: i $ (x, , yxj), y(x i+1 ) ; h ; f) - A (x , y(x) ; h ; f ) | = | O(h") | <

Tomemos un i entre 1 y n-l:el error de discretizacin en x = x vale:

< 00(h"), en donde hemos acotado los factores de la potencias de h en los trminos del O(hp) para que no dependan del x , entonces: |e i + 1 | < |e| + h ( L 2 | e i | + L 3 |e 1 + , | + O 0 (h p ) ), de donde:

e = e(x; h) = y(x) - u = y(x) - u(x; h);


Tengamos en cuenta que: u i+1 = u, + h <t(x, u,, u,+, ; h ; f) ( 2.10 )

| e i + 1 | ( l - h L 3 ) < ( l + h L 2 ) | e , | + hO^hf1)

y
y(x, +] ) = y(x,) + h A(x,, y( X] ) ; h ; f) , de donde deducimos que: ei+1 = e - h ( (Kx,, u , u i+l ; h ; f) - A(x, y(x) ; h ; f ) ) Si dentro del parntesis del segundo miembro sumamos y restamos: (jKXj.yUj) ,y(x i+1 ) ; h ; f ) , obtenemos estas dos diferencias: h (L2 + L3) + L3 0( h 2 ) ) | e, | +^~^ O0( Kxj, u, ui+1 ; h ; f) - (j)^ , y(x) , y(x j + 1 ); h ; f) , y haciendo d = h (L, + L3) + L3 O(h 2 ), B = <t>(x, y(x), y(x i+] ); h ; f ) - A(x, y(x) ; h ; f) ; Para acotar la primera diferencia recordemos que (|> es Lipschiziana, o sea que existen L2 y L3 tales que: podemos aplicar el Lema 2.1 para obtener: Considerando: ( 2.11 )

1 Tomemos ahora h0 < ; entonces para todo h < h0 resulta (1 - h L3) > O y:
^3

1 + h L,

1
l-hL
k=0

^ rr Lk , resulta:
3

1 -hL

0 0 (h"), e0 = u 0 - y 0 =

320

Anlisis numrico. Primer curso


e n(h(L 2 +L 3 }+L 3 0(h 2 ))

Resolucin numrica de ecuaciones diferenciales ordinarias


_

321

Algunos Mtodos de Paso Simple


i-hL

I y(x) - u(x ; h) I = |e n | <


e (L 2 +L 3 )(x-x 0 )+L 3 0(h)

h(L 2

L3 0(h 2 )

_}

Para aproximar la solucin de ( 2 . 1 ) existen numerosos mtodos; nosotros mencionaremos slo algunos de ellos: 1) Mtodo de Euler

L2 + L3 + L3 O(h)
e(L2+L3)(x-x0)+L30(h)

hL
0(

_ j

(2.12)

L2 + L3 + L3 0(h)
Esta expresin nos permite asegurar que el mtodo es convergente; adems de ella se desprende que el orden del error de discretizacin global es < mismo orden que el del mtodo. Si el mtodo es explcito podemos considerar L3 = O, resultando en este caso:

Toma u0 = y 0 ; una vez que aproxim y(x n ) por u n , avanza sobre la tangente a la solucin de la ecuacin diferencial que pasa por el punto

>

Un

Es explcito y ya demostramos que es de orden 1 . 2) Mtodo Fuertemente Implcito o de Euler Inverso

| y(x) - u (x;

00(hP).

Toma u0 = y0 ; una vez que aproxim y(x n ) por u n , avanza sobre la tangente a la solucin de la ecuacin diferencial que pasa por el punto

La expresin anterior nos indica que para un mtodo explcito de pas simple las potencias de h en el desarrollo del error global siguen la misma le> que la obtenida al estudiar la consistencia del mtodo; esta observacin nc ser til cuando debamos aplicar Extrapolacin de Richardson a un problema de resolucin de ecuaciones diferenciales utilizando un mtodo explcito. Si el mtodo es implcito el segundo trmino de ( 2.12 ) tiene la forma:

Es implcito y de orden 1. 3) Mtodo Implcito Ponderado Toma u0 = y 0 ; una vez que aproxim y(xn) por u n , avanza sobre una recta cuya pendiente es el promedio ponderado de las pendientes de las rectas utilizadas en los mtodos 1) y 2):

k=0

que tambin nos indica la forma de aplicar Extrapolacin de Richardsor cuando resolvemos un problema utilizando un mtodo implcito de pase simple. Otra consideracin importante es que en el mejor de los casos, con una constante de Lipschitz muy cercana a O, el error global es aproximadamente (x - x0) veces el local.

un+1 = un + h

f(xn , u n ) + p f(x n+1 , u n+1 ) )

0<

Si p = O tenemos el Mtodo de Euler, y si P = 1 tenemos el Fuertemente Implcito. Si = 0.5 resulta el:

322

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

323

4) Mtodo Implcito Ponderado de Orden 2 de Crank-Nicholson

8) Predictor Corrector Implcito


n+l n

h
U n + l = Un

+ Y ( f(Xn ' Un ) + f ( X n+l > U n+1 ) )

un+1 = un + h ((3 f(x n+1 ,u* n+1 ) + (1 - P) f(xn , u n ) ) -^ 9) Mtodo de Runge-Kutta de orden 4 \a u0 = y 0 ; una vez que aproximamos y(x n ) por un , hacernos: q, - h f(xn , u n ) , q2 = h f( x n + 1 / 2 , u n + -!-) ,

5) Mtodo del Punto Medio Toma u0 = y 0 ; una vez que aproxim y(x n ) por u n , avanza sobre la tangente a la solucin de la ecuacin diferencial que pasa por el punto (xn + , un + f(x n , u n ) ): (escribimos x n+1/2 = xn + )
* . *

h
Un+l

= Un + h f ( X n + l/2 > Un + ^ f(Xn ' Un ) )

=h

. un +

) ' q4 = h f( Vi > un

Es de orden 2. 6) Mtodo de Heun

la solucin avanza sobre una recta cuya pendiente es el promedio pesado de las pendientes de las rectas tangentes a las soluciones que pasan por los puntos:

q,
U n+1 = un + h/4 ( f(xn , u n ) + 3 f(x n+2/3 , u n+2/3 ))
U n+,

^2

( X n - U n) ' (Vl/2 ' U n + ) ' ( X n + ./2 > " + ) , (X n+ , , Un + q3) :

q, + 2 q2 + 2q3 + q4
= " +

7) Mtodo de Euler Modificado o Runge-Kutta de orden 2 Toma u0 = y0 ; una vez que aproxim y(x n ) por u n , avanza sobre un;i recta cuya pendiente es el promedio de las pendientes de las rectas tan gentes a las soluciones que pasan por los puntos
(Xn ' U n) > ( X n + l ' " + h f(xn , U n ) ):

Posiblemente ste sea el ms famoso de los mtodos explcitos. 10) Mtodo de Taylor de orden p u n+1 = u n + h (f n + h/2 f n ' + h2/6 fn" + ... + hP-'/p! fn(^)

q, = h f(xn , u n ) ; q2 = h f ( x n + 1 ) u n + q,);

Un+l

Un

324

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

325

Propagacin de errores inherentes y de redondeo en los Mtodos de Paso Simple Estabilidad de un Mtodo de Paso Simple
Como la cantidad de pasos necesarios para evaluar un cierto u n con un error de discretizacin razonable puede llegar a ser grande, nos interesa que una cierta perturbacin en un paso no se propague al siguiente creciendo diforma tal que no podamos controlar convenientemente con h; esto es lo que expresa la siguiente condicin de estabilidad: Sea ek una perturbacin de u k , Diremos que un Mtodo (definido por ( 2 . 2 ) ) es estable, s y slo s (del) Existe una funcin de orden h, O(h),talque

factor de amplificacin tenga mdulo menor igual que 1 , y tendremos una condicin ptima de trabajo. Si la funcin O(h) es positiva, tendremos que trabajar con valores de h que la hagan muy pequea, y no podremos avanzar mucho en la solucin sin que los errores propagados se hagan notar. Si la solucin de nuestro problema es una funcin decreciente debemos descartar trabajar con mtodos que produzcan para ese problema una O(h) positiva.
EJEMPLO 2.3

Consideremos el siguiente problema matemtico:

y(0) - 1,

k+1 = (I + O(h)) ek para todo k.

(2.13) y utilicemos para resolverlo el Mtodo de Crank-Nicholson:


u kn

(1 H- O(h)) es el factor de amplificacin, y haciendo un desarrollo de pri mer orden vale:


d<\>

= uk + h (a uk + a u k+1 ).

Si reemplazamos por las soluciones perturbadas obtenemos:

h(

(Xk ' Uk ' Uk+1 ; h ; f)

' Uk ' Uk+1 ; h ; f)


y agrupando convenientemente y simplificando el factor de amplificacin resulta: f * H = tK+h_ l* tic. f <*-: * i ) 1 ( ah e k+i 1 -ah Si a > O los errores se irn amplificando igual que la solucin del problema y deberemos proceder con suma cautela. Si a < O la solucin ser decreciente, igual que la propagacin de los errores, sin que existan limitaciones para el h que no sean las que impone el error

Para valores de h suficientemente chicos ( 2.13 ) implica: | e k + I | < (l + 0 ( h ) ) | e k | .

(2.14)

Si O( h ) es menor que cero, en lugar de la ( 2.14 ) podemos usar:

Podemos concluir que al resolver un dado problema numrico, las propagaciones de los errores las maneja la funcin O(h) que aparece en la definicin de estabilidad a travs del Factor de Amplificacin: (1 -t- O(h)). Si la I funcin O(h) es negativa, para ciertos valores de h podremos hacer que el I

326

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

327

de discretizacin. Decimos en este caso que el Problema Numrico en Incon dicionalmente Estable.

Si llamamos rrk al error relativo de redondeo, irk al error relativo inherente propagado (debido a la incertidumbre en eventuales coeficientes), ir0 al coeficientes), error relativo inherente en la condicin inicial, y 8 a una cota de los e r errores relativos en los coeficientes tal que | ir 0 1 < 8 y | irk | < M 8 para k > O, resulta:
^. ^.^*-.*.*AAV J v J *
A

**A

V"* * ^A

AV.At4VJ.VV/

VAV

A V-VJ. W*1V\-V/J

11 K

O.1 ti I L71

1 ^.l. 11 V U

11111C~

Propagacin de errores inherentes y de redondeo en un mtodo estable


Sea Rk el error absoluto de redondeo al evaluar u k , Ik el error absoluto inherente propagado de los eventuales coeficientes usados en el clculo de uk , y sea I0 el error absoluto inherente en la condicin inicial, entonces:
uo

R,,

HE | rrk | < rr < K u, u,.

= | irk | < M 8 = ir, y entonces:


i ' - , que podemos escribir: dh

ern | < ed(x *<> _^_ | ir 0 1 + (ir + rr)


gd(x - x0) _

- o = y0 - 0 = I0 = e 0 ,

|er| <

dh

M)8

dh

e k = ( l + 0 ( h ) ) e M + I k + Rk Supongamos | Rk | < R para todo k entre 1 y n , y | Ik | < I para todo k entre O y n. Por otro lado de la definicin de infinitsimo resulta que existen h0 y d mayores que cero tales que si h < h0 resulta: | O(h) | < h d. Por lo tanto si h < h0 resulta: | e k | < ( l + h d ) | e k . , | + I + R; Aplicando el Lema 2.1 resulta: | e i < enhd | e

De esta ltima expresin deducimos:

dh
e d(x

- x () ) . j

Te =

dh

Si los errores inherentes debidos a eventuales coeficientes son despreciables, = ed(x - V Tc C A - - =


<^

y recordando

( 1 1 . 2 ) del Captulo I:

R)

hd

;Ysi d = l y e -

, resulta:

Esta expresin es equivalente a:


g d(x-x 0 )

c
_

_ KJ A Iu0| h

<

R)

dh

(2.15)

328

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

329

Lema de la Estabilidad para Mtodos de Paso Simple


Si (J) es Lipschiziana el mtodo es estable.

Por lo tanto para stos problemas lo primero que debemos hacer es determinar el h0 que garantice las desigualdades anteriores para h < h u . Trabajando en estas condiciones, de ( 2.14 ) deducimos:

Demostracin:
uk

< Ie
En este caso resulta:

(2.16)

- uk =
= uk + h <t> (*k , uk , uk+1 ; h ; f) = uk + h <|> (xk , uk , u k+1 ; h ; f)

uk+i uk+i

uo p ~~
rr

X-XQ

un

M,

x - x ,o

y restando miembro a miembro resulta:


< |e

h L( | e i + |e

En este caso si los errores propagados por eventuales coeficientes son despreciables resulta:

Tomemos ahora h0 < . Entonces si h < h() resulta:


CP =

hL 1 -hL

l e , ! , o sea:

CA =
U

c.q.d. EJEMPLO 2.4

Problemas Numricos de Paso Simple Fuertemente Estables


Son particularmente interesantes aquellos problemas en los cuales para li menor o igual a un cierto h0 , en (2.13) el O(h) es menor o igual a cero. Evidentemente en estos casos existe un h0 tal que si h < h() el O(h) es menor o igual a O y de mdulo menor que 1. Llamaremos a estos problemas fuertemente estables. En estos casos las nicas soluciones numricas que conviene ensayar son aquellas con un h tal que: Dado el PVI:

y=y
y(o) -

estimar y( 3 ) utilizando el Mtodo de Euler y Extrapolacin de Richardson. Vamos a trabajar con 16 dgitos y a comenzar nuestros clculos con h = 0.1. Al avanzar 30 pasos de clculo con el Mtodo de Euler tendremos una primera estimacin de y( 3 ) con un error del orden de 0.1.

O < | O(h) | < 1.

330

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

331

En la segunda etapa de clculo dividiremos h por 10, o sea tomaren !. h = 0.01; aplicamos nuevamente el Mtodo de Euler y luego de avanzar ion pasos tendremos una estimacin de y( 3 ) con un error del orden de 0.01. Hasta cuando tiene sentido seguir achicando el paso y repitiendo los cku los para armar la primera columna de nuestra tabla? Si observamos el resultado obtenido el el Ejemplo 2.2 y la frmula ( 2 . 1 . ' i del Teorema 2.1 concluimos que para el Mtodo de Euler el error global ;ul mite un desarrollo en potencias de h1 con i-= 1, 2, 3,... ; tenemos entneos los elementos necesarios para aplicar la Extrapolacin de Richardson. Vamos a tratar de contestar la pregunta recin planteada. Con las dos esli maciones de y( 3 ) recin supuestas podemos extrapolar y obtener una cst i macin con un error del orden de 0.012; si agregamos otra fila y otra columna la ltima estimacin tendr un error del orden de 0.0013; con otra fila y otra columna llegaremos a 0.00014; estamos con un orden del error ms all del ltimo dgito de los 16 que vamos a usar; teniendo en cuenta la posibilidad de un factor apreciable para 0.00014 tomaremos una fila y una columna ms. Armaremos pues nuestra tabla para aplicar Richardson:

VI.3 Problemas a Valores Iniciales. Mtodos de Paso Mltiple


Si trabajamos con un mtodo de paso mltiple para resolver el PVI:

y' = f(x,y)

(31)

y( x o) = YO
calculamos el u n+r que aproxima el valor y(x n+r ) utilizando los r valores uk> con n < k < n + (r - 1), sea: u n , u n+1 , ..., u n+M - u n + r ; Si r = 1 tenemos un mtodo de paso simple. Si r > 2 tenemos un mtodo de paso mltiple. Para comenzar a aplicar el mtodo de paso mltiple necesitamos conocer los r valores:

h
0.1 0.01 0.001 0.0001 0.00001

Ri(h)
17.4494... 19.7884... 20.0554... 20.0825... 20.0852...

A /9: R2( h ) A 799: R3( h )

A/999:R4(h)
.. .

A/9999:R5(h)

u 0 , u , , ...,
20.04836... 20.08511... 20.08548749... .. ^ . 20.08553... 20.08553686... 20.08553691690... 20.08553... 20.08553692... 20.08553692318... 20.0855369231876.

UM

u0 surge de la condicin inicial; los otros r-1 valores debemos calcularlos con un mtodo de paso simple del mismo orden que el del mtodo de paso mltiple que estemos usando.

El ltimo valor de la tabla tiene todos los dgitos correctos.

Frmula General de los Mtodos de Paso Mltiple


Un mtodo de paso mltiple puede ser expresado en forma general mediante la igualdad:

332

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

333

u n+r + I
k=r-l

ak u n+k = h F(xn , u n+r , ... , un ; h ; f)

( 3.2 )

h
0.1 0.01 0.001 0.0001

R^h) 19.98762550... 20.08453440... 20.08552688... 20.08553682...

A/99: R 2 ( h )

( 3.2 ) representa un mtodo de paso r. Si F tiene la forma: o F(xn , u n + r ,..., u n ; h ; f) = I bk f(xn+k , un+k); (3.3)

20.0855132805... 20.0855369071... 20.0855369231...

Con { bi} 1=0 constantes que dependen del mtodo, decimos que el meto do de paso r es lineal. Los valores u () , u, ,..., u r _, definen una nica secuencia u n con n > r ; Por supuesto que el error global de u n depender de la eleccin que hagamos de estos primeros valores.
EJEMPLO 3.1

El ltimo vale>r tiene todos los dgitos correctos; debemos notar que los resultados obtenid os con el mtodo de la rayuela fueron mejores en todos os casos a los obten idos con el Mtodo de Euler.

Consistencia de un Mtodo de Paso Mltiple. Error de discretizacin local


Sea f que pertenece a C q (D), con D contenido en [a , b] x R, y sea (x, y) que pertenece a D; definamos z(t) como la solucin de

Dado el PVI ( 3.1 ) el mtodo de paso mltiple ms sencillo y natural surge de la idea de avanzar desde (x n _, , u n .[) a (x n+l , u n+1 ) a travs de la rect.i de pendiente idntica a la de la recta tangente a la solucin de la ecuacin diferencial que pasa por el punto (xn , un): u0 = y 0 , u n+l = un , + 2 h f(xn , u n ); u, surge de un mtodo de paso simple. ste mtodo se llama Mtodo de la Rayuela Mtodo del Salto de Rana. Vamos a aplicar ste mtodo a la solucin del problema del Ejemplo 2.4. Estimaremos u, haciendo uso de la solucin exacta del problema: e" . Haremos por lo tanto u, = eh. El esquema iterativo resulta el siguiente: 3 uft = 1 , u, = eh , uk = u k _, + 2 h u k , ; n = , k = 2 , 3 ,... , n Ms adelante veremos que el mtodo de la rayuela es de orden 2; con este dato podemos hacer un paso de la extrapolacin de Richardson:

Entonces el error de discretizacin local del mtodo ( 3.2 ) queda definido por la cantidad: h T ( x , y ; h ) - z(x + r h) +
o

(3.4)

4- r_ i a z(x + i h) - h F(x , z(x + r h) ,..., z(x) ; h ; f); I

334

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

335

Decimos que (3.2) es consistente de orden p con p > 0 , p < q , s i y slo si existe una funcin CT(h) = O(h p ) tal que: | T ( x , y ; h ) | < a(h) = O(h p ), para toda f que pertenezca a C q (l. Obtendremos una condicin necesaria para la consistencia que usaremos ms adelante; para eso supongamos que el mtodo ( 3.2 ) es consistente y apliqumoslo al problema matemtico:
y'=

la definicin de convergencia es un poco ms complicada que para mtodos de paso simple. Si definimos

, entonces:

podemos representar el error de discretizacin global de la siguiente forma:


e(x ; e ; h) = y(x) - u(x ; e ; h) ( 3.7 )

1 T(x ,y; h) = - (y (1 + aM + ... + a()) - h F( x, y,..., y ; h ; O ) ) = O(h"), h

(donde u(x ; ; h) = u n , siendo n =

x-x,,
h

suponiendo F continua y acotada deducimos: El mtodo de paso mltiple dado en ( 3.2 ) es llamado convergente
1 + a r _, + ... + a0 = O (3.5

si y slo si (def) Por otro lado para que un mtodo nos interese vamos a imponerle la condicin de regularidad:
F(x , u r , u r _, ,..., u 0 ; h ; 0) = O (3.6)

Para toda e = e (z ; h) que cumpla:

para todo x , h , y u^ con j = O ,..., r .

y tal que exista r(h) con lim r(h) = O, y


h->0

Convergencia de un Mtodo de Paso Mltiple. Error de discretizacin global


Puesto que la solucin aproximada de una ecuacin diferencial obtenkl.i por medio de un mtodo de paso mltiple depende de

| e (z ; h) | < r(h) , para todo z = x, i = O , ..., r - 1, y para toda f que pertenezca a Cq( D ) resulte:
lim u(x ; e ; hn) = y(x) , con hn =
X-X,,

(3.8)

x fijo , x en [a , b].

336

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

t (/

Ecuaciones lineales en diferencias


La siguiente expresin simboliza una ecuacin en diferencias lineal y homognea de orden r: akuj+k =
k=0

La expresin ( 3.13 ) nos permite deducir que si \s un cero de orden n+1 del polinomio caracterstico, las expresiones (3.11) nos dan soluciones de la ecuacin en diferencias para p = O, 1, ..., n Con estos resultados es sencillo probar el siguiente teorema: Teorema 3.1 Sea <|(X) como en ( 3 . 1 0 ) con a0 ^ O, y sean [\i=1 , k ceros distintos de \|/(X,), cada uno de multiplicidad s, i = 1, 2, ..., k Sea p t (t) es un polinomio arbitrario tal que grado(p) < s , i = 1, 2, ..., k, entonces u n es solucin de ( 3.9 ) si y slo si

(3.9)

Para toda secuencia u0, u,,..., ur., de valores de partida podemos determinar exactamente una sucesin: uj+r, j = 0,1,..., solucin de ( 3 . 9 )

A la ecuacin en diferencias ( 3.9 ) nosotros le asociamos el polinomio caracterstico:


\|f (A,) = a r ?ir + a r _ , X"1 + ... + a, A, + a0 ( 3.10 )

k un = 2 p(n) X,"

n = 0,1,2,...

Nos proponemos estudiar soluciones de ( 3.9 ) de la forma:

Una nueva definicin nos permitir avanzar en el estudio de las ecuaciones en diferencias: Vamos a decir que (3.10) satisface la condicin de estabilidad si y slo si

(3.11) Nos ser til recordar un resultado del Anlisis Matemtico:


dp L P dpl d - (f(x) g(x) ) = ? ( . ) -T (f(x)) -r- (g(x)) dxp 1=0 i dx p ' dx'

Si { \M son los ceros de ( 3.10 ) entonces cumplen: a) | X | < 1 para todo i (3.14) b) si | X | = 1 entonces X es un cero simple

(3.12)

Con sencillos recursos de anlisis se puede demostrar el siguiente teorema: Teorema 3.2

Reemplacemos ahora (3.11) en (3.9):


r -
k=0
vi

HP

..

r -i

dp U

_ . ^ .

r ^-i

pc - i r P -

HPQ
r

ji

( 3.9 ) cumple la condicin de estabilidad si y slo si el conjunto { un }^10 est acotado, siendo un solucin de (3.9) para u0, ..., u r _, complejos cualesquiera.

(X k )

dp=o i

3.13)

338

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

339

Condiciones para la convergencia de un Mtodo de Paso Mltiple


Antes de enunciar condiciones necesarias y suficientes para la convergencia del mtodo ( 3.2 ):
n

No daremos aqu la demostracin de este Teorema, pero de ella surge el siguiente: Corolario 3.1 Si agregamos a las hiptesis del Teorema 3.3, la de que el mtodo es de orden p, o sea CT (h) = O( h p ), con f que pertenece a C P (D), y adems

, U n+r , ... , Un j h ; f),

definamos la ecuacin en diferencias asociada al mismo como: r(h) = O( h p ), entonces v n + r + Z ak


k=r-l

11=0,1,;..

y(x) - u(x ; e ; h n ) = O(V)

y el polinomio caracterstico asociado al mismo como: Un Ejemplo de Divergencia


r .,

Podemos verificar que: u n+2 + 4 u n+1 - 5 un - h ( 4 f n + 1 + 2 f n ) , resulta un mtodo de orden 3. Resolvamos con este mtodo el PVI:

Observemos que la consistencia del mtodo implica ( 3.5 ), de donde se deduce que en este caso X = 1 es una raiz de V|/ (\). Antes de enunciar el Teorema fundamental de este apartado definiremos una condicin adicional sobre F, que es una condicin de Lipschitz con ciertas restricciones para h y f : Si f pertenece a C'(D), entonces existen M y h0 tales que: si h < h() resulta:
r

y'=-y
y(0) = 1

Entonces resulta: (3.15)


u n +2

| F ( x ) u r ) . . . ) u 0 ; h ; f ) - F ( x , v r > . . . , v o ; h ; f ) | < M 2 [u.-vj Teorema 3.3

+ 4 u n+i - 5 un = h (- 4 un+1 - 2 Un ) , o sea: (3.16)

Sea el mtodo ( 3.2 ) consistente en el sentido ( 3.4 ); adems F satisface la condicin de regularidad ( 3.6 ) y es Lipschiziana segn ( 3.15 ), entonces: El mtodo es convergente segn ( 3.8 ) si y slo si vale la condicin de estabilidad ( 3.14 ).

Utilizaremos esta expresin para aproximar y(0.5) = e"05 = 0.606530... con valores de h decrecientes tomando u, = y(h) = e~h (trabajaremos con 16 dgitos, as que los errores de redondeo no influirn en los dgitos que observaremos).

340

Anlisis numrico. Primer curso Antes veamos que utilizando, para ejemplificar, h = 0.1: Con Euler obtenemos u2 = 0.81,

Resolucin numrica de ecuaciones diferenciales ordinarias

341

Mtodos Lineales de Paso Mltiple


Como ya dijimos, los Mtodos Lineales son aquellos para los que vale la siguiente igualdad:
r

Con el Mtodo del Salto de Rana, tomando u, = e 0 1 , obtenemos u2 = 0.81903... Y con el mtodo que estamos estudiando u 2 = 0.818715... Como e"02 = 0.818730..., observamos que en 0.2 el mtodo que estamos estudiando nos da mejor resultado que un mtodo de orden menor. Pero qu pasa cuando avanzamos una cierta cantidad de pasos con este mtodo?: h = 0.1 , u0 = 1 , u, = e ai = 0.9048374..., u5 = 0.608199... h = 0.05 , u0 = 1 , u, = e--05 = 0.951229..., u,0 = 0.252934... h = 0.01 , u 0 = 1 , u, = e 01 = 0.990049... , u50 = - 5.46... 1024 Si graficamos las 3 soluciones obtenidas observando nicamente los valores que toman entre -1 y 2 resulta:

F(xr, u j + r ,..., U j ; h ; f) = , bk f(xj+k , u j+k )

( 3.17 )

Un mtodo lineal de paso mltiple queda entonces determinado por los coeficientes: a 0 ,..., a r _, , b 0 ,..., b r ; Si br * O , decimos que el mtodo es implcito o corrector; Si br = O , decimos que el mtodo es explcito o predictor. Evidentemente si f pertenece a C'(D), siendo D acotado, la F de todo mtodo lineal es Lipschiziana y Regular, por lo tanto: es consistente y cumple la condicin de estabilidad si y solo si es convergente Vamos a observar que forma toma la consistencia en este caso. Construyamos:
r-l i

L[z(x) ; h] = z(x + r h) + Z a z(x + i h) - hZ b f(x + i h , z(x + i h) ) =


r-l

= z(x + r h) + Z a z(x + i h) - h Z b z'(x + i h) = h l(z , y ; h)


i=0 =0

( 3.18 )

Supongamos que f es suficientemente diferenciable; si desarrollamos por Taylor alrededor de h = O, obtenemos:

h T(X , y ; h) = c. t z(i) (x) + O(h" +1 ) , Ms adelante analizaremos el fenmeno de la divergencia.

siendo las dos primeras constantes:

342

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

343

r.,

3) Mtodos Implcitos de Adams-Moulton De orden 1: ull+1 = u n + h fn+1 (Fuertemente Implcito, de paso simple)

c, = r + ( r - 1 ) aM + ... + a, - ( b0 + ... + br );

Si ahora definimos: (3.19) valen las igualdades:

De orden 2 : u n+1 = un + h/2 (f n + f n+1 ) Crank-Nicholson, de paso simple) De orden 3 : u n+1 = un + h/12 (5 f n+1 + 8 f - f n .,) De orden 4 : u n+1 = u n + h/24 (9 f n+1 + 19 f n - 5 f n _, + f n . 2 ) 4) Mtodo Predictor-Corrector de Milne (de orden 4)

Tambin vale la siguiente igualdad:

t ( x , y ; h ) = ~ z(x) + c, z'(x) + 0(h), h

Errores en los Mtodos de Paso Mltiple Propagacin de errores inherentes. Estudio de primer orden de la estabilidad local
Supongamos estar frente al problema matemtico expresado por ( 3.1 ) y supongamos que ( 3.2 ) define el problema numrico asociado a ( 3.1 ). Los datos del problema numrico sern los r valores:

y entonces son vlidas las siguientes afirmaciones: consistencia si y solo si c0 = c, = O si y solo si \|/(1) = 0 y \|/'(1) = X (1) El mtodo ser de orden p si y solo si c0 = c = ... = c = O, c ,
0.

Algunos Mtodos de Paso Mltiple


1 ) Mtodo del Salto de Rana o de la Rayuela

u0 , u, , ... , u,. , ;
Vamos a suponer nulos o despreciables los errores inherentes en los a y en los coeficientes que pueda contener la F. Consideraremos entonces slo los errores inherentes:

2) Mtodos explcitos de Adams-Bashforth - De orden 1 : u n+] = un + h f(xn , u n ) (Euler, de paso simple) De orden 2 : u n+1 = u n + h/2 (3 f(xn , u n ) - f(xn,, , u n ,) ) De orden 3 : u n+1 = un + h/12 (23 f n - 16 fn., + 5 f n . 2 ) De orden 4 : u n+1 = un + h/24 (55 f n - 59 f n ., + 37 fn.2 - 9 fn.3)

u -

344

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

W>

Definamos ahora la perturbacin en el paso j+r , u j+r - u j+r = e j + r , donde u-+r se obtiene al resolver ( 3 . 2 ) , o sea:
r-l

Diremos entonces que el problema numrico es fuertemente estable si y solo si existe un h0 tal que para h < h0, y para cada x - , u- , ..., u - , las races de ( 3.20 ) son de mdulo menor o igual a 1. EJEMPLO 3.2

j + r + aij+i = h F ( x j , j + r , . . . > j ; h ; f ) . Si aplicamos Taylor a la expresin anterior, desarrollando alrededor de los u, obtenemos como estimacin de primer orden:
r-l i=0 r i=0

Consideremos el siguiente PVI de segundo orden:

y "+ ay' = O
y( xo ) = Yo

a>0

E i+r + a ej+i = h 2 y agrupando convenientemente obtenemos la ecuacin en diferencias:


r-l

7 'K) = Yo'

Deseamos estudiar la estabilidad del problema numrico que resulta al intentar resolver el problema matemtico anterior utilizando el Mtodo de Adams-Bashforth de orden 2. Primero transformamos en un SEDO de primer orden:

Las derivadas de F que aparecen en la ecuacin anterior estn evaluadas en Uj +r , ... , u. , por lo tanto la expresin anterior depende del punto que estemos considerando; de ah que digamos que este es un anlisis local. Supongamos ahora que para cada punto y para ciertos valores de h las races

y' = z z' = -az


y( x ( ) ) = y() z( x 0 ) = y,,'

El problema numrico resulta:

ul - v ' u2 - v ' ' u - 70 U 70


,, k+1 _ ,, k i h f .. k ,, k-l\,

- u, + (3 u2 - u2 )

del polinomio caracterstico asociado a ( 3.20 ) cumplen con la condicin de estabilidad; los resultados previamente obtenidos nos permiten asegurar que en este caso las perturbaciones se mantendrn localmente acotadas cualesquiera sean los valores originales de las mismas.

u 2k+l = u2k + (- 3 a u2k + a u/'1). 2

346

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

347

Como las ecuaciones en diferencias son lineales, al perturbar se obtienen ecuaciones idnticas:

Con un pequeo esfuerzo de clculo obtenemos los cuatro autovalores:


O, A 1 , 2 - 3 a h + V 9 a2 h 2 - 4 a h + 4

e ] k + 1 =e 1 k + y (3E 2 k -e 2 k -')
r. _ i t2k+1 - 2k -h
0

2 - 3 a h -V 9 a2 h2 - 4 a h + 4

Tenemos entonces un sistema de dos ecuaciones en diferencias de segundo orden. Utilizando una tcnica similar a la que nos permite pasar de una ecuacin diferencial de orden superior a un sistema de ecuaciones diferenciales de primer orden, transformaremos el sistema anterior en uno de cuatro ecuaciones en diferencias de primer orden:

Mediante manipulaciones algebraicas y desarrollos de primer orden, podemos probar que si:
h<

9a

los autovalores tienen mdulo menor o igual a 1. Decimos entonces que el problema es fuertemente estable. w 2k+1 = 2k Observemos que si a 1 tenemos una gran limitacin sobre el valor de h.

w
h k+1 = a w k 2

h 2k

Propagacin de los errores de redondeo en los mtodos lineales de paso mltiple


Si llamamos eim al error de redondeo local cometido al evaluar n+r podemos escribir la siguiente relacin:
r-l
r

- ah)k 2

Ahora podemos estudiar la matriz de amplificacin:


O

1
O 1

"n+r + \n+r = h I bk f(X n+k , n+k ) + E n+r , k=0

0 =0 , 1 , 2 , . . .

Nuestro problema es estudiar la influencia de estos errores locales sobre el error de redondeo propagado:
rn

h
O

1 O

lh
23 l--ah 2

Un

- Un >

Supongamos: I en I < E y rk = O para k = O , 1 ,..., r-l

348

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

349

Bajo estas condiciones podemos probar que:

Y' = F(x,Y) siendo:

(4.2)

siendo G, B y L constantes definidas por el problema.

f1(x,y,)y2,...,yn)
Y' =
,
yn-i yn'

F(x,Y) =

VI.4 Resolucin de Sistemas de Ecuaciones Diferenciales Ordinarias de Primer Orden y Problemas de Orden Superior
Sistemas de Ecuaciones Diferenciales Ordinarias de Primer Orden
Recordemos la forma que toma en este caso un PVI:

Mientras que la condicin inicial asume la forma:

y/^iU-y, > y 2 ' - > yn)


y2' = f 2 (x , y, , y2 ,..., yn) (4.1)
Supongamos ahora que <t>(x k , u k , u k+1 ; h ; f) define un mtodo de paso simple para la resolucin de una ecuacin diferencial ordinaria; el mtodo que induce para resolver un problema del tipo ( 4.2 ) se obtiene manteniendo la forma de la () y reemplazando uk por

y' = fn ( x . y,v 2 > -. yn)


y utilizando notacin vectorial:

Uk

, donde uk aproxima a y(xk), o sea Uk aproxima a Y(x k );

350

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

351

Definimos entonces: (j)(xk)Uk)Uk+1;h;f1) 0(xk,Uk,Uk+1;h;F) = ^(xk)Uk,Uk+I;h;fn)


(4.3)

U = [ 4. , 1.25 ]'

Uk+I = Uk + h F(xk , Uk) Resolviendo el problema en el intervalo [0,1] con h = 0.001 se obtuvieron los siguientes resultados:
max { | y( xk ) - u, k | } = 0.36 max { | z( xk ) - u2k | } k 0 = 0.18

donde <j)(xk , Uk , Uk+l ; h ; f) tiene la misma forma que <|>(xk , u k , u k+1 ; h ; f). Finalmente el Problema Numrico originado por ( 4.2 ) y ( 4.3 ) toma la forma:
rjO _ y0 LJ I

Trabajando con h = 0.0001 se obtuvo:


(4.4)

Uk+1 = Uk + h <D(x k , Uk , U k+I ; h ; F) EJEMPLO 4.1 Resolver numricamente el siguiente PVI: y1 = y + 4 z - e x = f l ( x , y , z )

max { | y( xk ) - u

,10000

= 0.036
= 0.018

max { | z( x, ) - u?k 2

JOOOO k=0

Si resolvemos el mismo problema matemtico utilizando el Mtodo de Runge-Kutta de orden 2, resulta: Q 1 (x k ,U k ) = h F ( x k , U k )

z' = y + z + 2 ex = f 2 (x , y , z)

Q2(xk , U k ) - h F(xk + h , Uk + Q,(xk , U k ) ),


y(0) = 4 , z(0) = 5/4

y entonces el Problema Numrico queda expresado por: Comparar el resultado obtenido con la solucin analtica: U = [ 4. , 1.25]' Uk+1 = Uk + 1/2 ( Q,(xk , Uk) + Q2(xk , Uk) ) Para h = 0.01 resulta: Utilizaremos primero el Mtodo de Euler. En este caso

r
<D (x k , Uk , Uk+1 ; h ; F) = F( x k , Uk ) =

max { I y(xk) - u, k | }k=0 s 0.035 f , ( x k ) u Ik ', u k ) -2' f2(xk,uk,uk)

max { I z(xk) - u2k I }k=0 = 0.017

100

y el Problema Numrico queda expresado por:

352

Anlisis numrico. Primer curso U 0 =[3.,l.]'

Resolucin numrica de ecuaciones diferenciales ordinaria;

i'> (

Observemos que Runge-Kutta de orden 2 con h = 1 0 ~ 2 nos permite oh tener valores un poco mejores que Euler con h = 104 EJEMPLO 4.2 Consideremos el siguiente SEDO:
y' = y + z2 - X3

U k+I = Uk + h ( F(xk , Uk) + ~ F ' ( x k , U k ) +

h2 -F " ( x k , U k ) ) o

El grfico de las soluciones numricas obtenidas con h = - 0.1 es el siguiente:

z' = z + y3 + cos(x) Dada la condicin "final" y(l) = 3 , z(l) = 1, deseamos conocer la solucin en el intervalo [-2,1]. Este sigue siendo un PVI en el que simplemente debemos trabajar con h < 0; utilizaremos el Mtodo de Taylor de orden 3. Tomemos:

z2-x3
f 2 (x , y , z) = z + y3 + cos(x) , f , ' ( x , y , z ) = f , ( x , y , z ) + 2 z f 2 ( x , y , z ) - 3 x2 , f 2 '(x , y , z) = f 2 (x , y , z) + 3 y2 f,(x , y , z) - sen(x) ,

Problemas a Valores Iniciales de Orden Superior


Ya vimos en VI. 1 como transformar una ecuacin diferencial de orden superior en un SEDO; vamos aplicar esta tcnica al siguiente PVI: Se desea conocer y(x) en el intervalo [ 0 , 1 ] sabiendo que:

f2"(x , y , z) = f2' + 3 (2 y f, f, + y2 f/) - cos(x) ;


y" = -3 y' - 2 y + 6 x + 9

Con estos resultados podemos calcular:


y(0) = 3 , y'(0) = - l . F( x k , Uk ) -

f,(xk, u k , u 2 ) f 2 (x k , u k , u 2k )

~f,'~ , F' =

, F" =

"f,"" f2"

y entonces el Problema Numrico queda definido por:

354

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

355

El problema planteado origina el siguiente SEDO:

Utilizando el Mtodo de Paso Simple O (x k , U k , U k+1 ; h ; F) obtenemos el Problema Numrico:

Uk+1 - Uk + h <D (xk , Uk , U k + I ; h ; F)


y(0) = 3, z(0) = - l .

Con el objetivo de resaltar solo lo esencial utilizaremos para resolverlo el Mtodo de Euler:
U = 6x

Consideremos que en el paso de clculo k-simo obtenemos los valores U k como resultado de los errores propagados hasta ese momento:
k =

= Uk-Uk

Los valores que nos interesan son los de u, , ya que u, k = y( xk ). Resolviendo con h = 10 3 y comparando los valores obtenidos con la solucin analtica y(x) = e~2 x + 2 e' x + 3 x obtuvimos:
max { I y(xk) - u, k < r ! =0.017. k

Queremos medir en forma aproximada la propagacin de estos errores al paso siguiente: ijk+i . k+i = uk - ek + h d> ( x k , Uk - e k , Uk+1 - ek+l ; h ; F ) Para conseguirlo haremos un anlisis local de primer orden de la propagacin del error utilizando un desarrollo de Taylor de primer orden que nos permite obtener la siguiente igualdad:
k +l
(4.5)

Repitiendo los clculos con h = 10 4 obtuvimos: | y ( x ) - u M } ! 0 = 0.0017.

Anlisis de la Estabilidad en la resolucin numrica de Sistemas de Ecuaciones Diferenciales Ordinarias de Primer Orden
Consideremos nuevamente el SEDO ( 4.2 ): ' = F(x,Y) I Y(x 0 )=Y 0

Donde J(O) representa a la matriz Jacobiana de O con respecto a las variables Uk y Uk+1 ; ( 4.5 ) puede escribirse de la siguiente forma:

k+1 = (l + h J(<D)(x k , U k , U k+1 )). e k ,


donde I representa la matriz Identidad de nxn. Llamaremos a I + h J(O)(x k , Uk , U k+1 ), matriz de amplificacin. Diremos que un Problema Numrico es fuertemente estable si y solo si para valores de h suficientemente chicos el radio espectral de la matriz de amplificacin es menor o igual que 1 dentro de la regin en que permanecen los valores de la solucin hallada.

356

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

La condicin anterior nos garantiza que trabajando con un h apropiado las perturbaciones no crecern en forma preocupante durante el proceso de clculo.
EJEMPLO 4.3

Problemas Rgidos
Un SEDO se dice rgido cuando en sus soluciones intervienen escalas de tiempo muy distintas. Las escalas de tiempos mas chicas imponen restricciones a el paso de clculo que no pueden ser eliminadas an en las partes de la solucin en que predomina el aporte de las escalas de tiempo mas grandes. Consideremos el caso de cierta reaccin qumica que se describe con el siguiente sistema rgido: y ' = - lOOOy + z

Analizaremos la estabilidad del problema numrico planteado en la seccin anterior:

Uk+1 = Uk + h [u2k , -3 u2k - 2 u, k + 6 xk


P

z ' = 1000 y - 2 z y(0) = 1, z(0) = O

O C
_9

Observemos que

-3

y entonces la matriz de amplificacin resulta:

Queremos conocer el estado del sistema en t = 0.5 con un error absoluto del orden de 102. S intentamos usar el Mtodo de Euler, como sabemos que es de orden uno, esperamos que un h = 0.01 nos garantice un error de discretizacin del orden requerido. Utilizaremos entonces el siguiente algoritmo con h = 0.01:
U= [1 ,0]'

1 -2h

h 1 -3h

Los autovalores de esta matriz se obtienen de la ecuacin:


det( -2h

1 - 3h -

) = O

Uk+1 = Uk + h [-1000 u, k -i- u2k , 1000 u, k - 2 u2k]' Luego de realizar 50 pasos obtenemos: y(0.5) = u,50 = 5.4 1047 z(0.5) = u250 = -5.4 1047 (resultados incorrectos!) Si intentramos granear la solucin obtenida veramos un conjunto de lneas casi verticales oscilando violentamente, mientras que las soluciones verdaderas son:

que resultan ser: A,, = 1 - h, X2 = 1 - 2 h. Vemos que si h < 1 los autovalores tienen mdulo menor que 1 por lo que el problema numrico es fuertemente estable. En este caso la limitacin mas importante sobre h surgir al querer controlar el error de discretizacin.

358

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales oidmaini\i

y(t) = 0.998999... e

1001001 '

+ 0.00100... e -9990 '

Vamos a plantearnos la aproximacin del problema matemtico utili/.;mdo el Mtodo Fuertemente Implcito: U= [1 ,0]'

z(t) = - 0.9999980... e- 1001 - 001 ' + 0.9999980... e a"90 ' El grfico de las soluciones analticas en el intervalo [0,0.02] es el siguiente:

Mediante simples operaciones algebraicas llegamos a:

r, + 1000 h 1
-lOOOh

-h U k+l = Uk 1 +2h

0,1

Dada la linealidad del problema las perturbaciones responden al mismo tipo de ecuacin, por lo que la matriz de amplificacin resulta ser la inversa de: 1 + 1000 h -1000 h -h 1 +2h

0.2

A =
0.005 0.015

0.02

Si A., y A,2 son los autovalores de A , X,"' y ^ 2 "' resultan ser los autovalores de A '. Los autovalores de A resultan ser: \1 + 1001.001 h y X2 = 1 + 0.999 h,

Observemos que fuera de un pequeo lapso de tiempo las soluciones varan muy lentamente. La explicacin a los psimos resultados numricos la obtendremos estudiando la estabilidad del problema planteado. La matriz de amplificacin resulta ser: 1 - 1000 h 1000 h y los correspondientes autovalores: X, = 1 - 0.999 h, Xj ~ 1 - 1001.001 h, de donde concluimos que debemos trabajar con h < 1001.001"' para evitar alejarnos de la solucin verdadera con fuertes oscilaciones. h 1-2 h

de donde obtenemos que el problema numrico originado por el mtodo fuertemente implcito es incondicionalmente estable. Si resolvemos con h = 0.01 ygraficamos y(t) y u, k obtenemos:
o.oi
0.008 0.006 0.004 0.002

0.2

0.4

0.5

360

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

361

El acuerdo de las dos funciones desde t = 0.1 en adelante es bueno, no ,IM desde O a 0.1 en donde la solucin verdadera tiene una pendiente muy gran de que la numrica no puede alcanzar avanzando con el h elegido. Para aproximar la solucin en todo el intervalo podernos hacer lo siguicn te: en el intervalo en donde prevalece la componente de variacin rpida re solvemos con un paso muy pequeo con un mtodo implcito o explcito; luego utilizamos un mtodo implcito que nos permite avanzar con un paso mayor sin problemas de estabilidad. Resolvamos el problema matemtico siguiendo los siguientes pasos:

VI.5 Mtodos Directos para la resolucin de Problemas a Valores Iniciales de Segundo Orden
La forma general explcita de un PVI de segundo orden es la siguiente:
y " = f(x , y ,y ')

La idea central para generar mtodos directos es el desarrollo de Taylor. i) En el intervalo [O , 0.1] utilizamos el Mtodo Fuertemente Implcito con h = 10 4 (observando las soluciones analticas vemos que podramos utilizar U> dava un intervalo mucho menor para este paso) ii) En el intervalo [0.1 , 0.5] utilizamos el mismo mtodo con h = 10~ 2 Con este procedimiento obtenemos: m a x { | y ( t k ) - u 1 k | } 1 = 0.018 El mximo se alcanza en la parte de variacin rpida de la solucin. Si hubiramos resuelto el problema utilizando en el paso i) el Mtodo de Euler con el mismo paso ( h = 1 0 ~ 4 ) y el paso ii) con el Mtodo Fuertemente Implcito, hubiramos obtenido un resultado similar al anterior. Mtodo de Taylor
"o = Yo ' uo' = Yo'

u k+l = uk + h uk' + h2/2 uk" = uk + h uk' + h2/2 f(xk , u k , uk') u'k+1 = uk' + h ( p u k " + ( l - p ) u " k + 1 ) = = uk' + h (P uk" + ( 1 - P) f(xk+1 , uk+1 , u'k+1 ) ) Observemos que u k+1 se calcula en forma explcita, mientras que para calcular u' kl _, debemos resolver en general una ecuacin no lineal. Mtodo de Newmark Para mejorar el orden de aproximacin tambin se toma implcita la ecuacin para estimar uk+1: u k+I = uk + h uk' + h2/2 (a uk" + ( 1 - a) uk+1" )

En este caso para avanzar un paso en la solucin debemos resolver en general un sistema de dos ecuaciones no lineales.

362

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinarias

<(> 1

Mtodo de Nystrom Es un mtodo de paso doble que se obtiene aproximando la derivadas primera y segunda por las conocidas expresiones centradas de segundo orden:

siendo m la masa colocada en el extremo del resorte y H la energa total del sistema. Al resolver esta ecuacin diferencial debemos ir controlando que la expresin anterior se mantenga constante. Vamos a resolver el problema u^pndo el Mtodo de Taylor que en este caso resulta explcito pues en la f no aparece y'.
u k+ , = uk + h uk' + h 2 /2 (- co2 uk)

u k _, - 2 uk + uk+1 = h2 f( x k , u k ,

k+i 2h

i As planteado el mtodo es implcito. Existen problemas matemticos que requieren aproximar la derivada primera por una diferencia hacia atrs (el problema numrico resulta explcito) o una diferencia hacia adelante, aunque perdamos un orden de precisin en la aproximacin. Evidentemente necesitamos de otro mtodo para aproximar u , .
h2 Puede ser: u, = u0 + y0' h + f( x 0 , y 0 , y0' )

u' k+1 = < + h ( P (- co2 u k ) + (1 - P) (- co2 u k + 1 )), haciendo p = co2 h2 y simplificando: uk+1 = ( l - p / 2 ) u k + hu k '
p

Problemas a Valores Iniciales de Segundo Orden Conservativos


Si consideraciones previas nos imponen soluciones conservativas, o sea la existencia de ciertas constantes de integracin, debemos estudiar condiciones sobre el paso de clculo para que la solucin numrica cumpla con este requisito. Simplemente como ejemplo vamos a plantearnos resolver la conocida ecuacin del resorte:

k+l

Observemos que el carcter de la solucin depender de la matriz


1 - p/2 A =

i-p(i-p)

y " = -tf y

Si los autovalores de A son complejos la solucin ser oscilatoria, y si los dos autovalores complejos conjugados tienen mdulo 1 la solucin ser conservativa. Si el mdulo de los autovalores es menor que 1 la solucin numrica ser disipativa (prdida de energa), y si el mdulo de los autovalores es mayor que 1 la solucin numrica ser inestable (fuente de energa). Los autovalores son las races de la ecuacin:

y(0)=y 0 , y ' ( 0 ) = y 0 '


Multiplicando ambos miembros de la ecuacin por y ' dx vemos que la solucin satisface: d ( y ' 2 ) + d(co2 y2) - O,

K - 2 X (1 - p/2 ( 3/2 - P) ) H- 1 H- p (P - 1/2) = O

de donde deducimos que:


2E y ' 2 + co2 y2 = cte = , m

364

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales ordinaiias

365

Para que las races sean complejas el discriminante de la cuadrtica deb ser menor que cero, o sea: p (3/2 - p) 2 - 4 < O, de donde

Si graneamos la solucin analtica de este problema, y( x ) -- cos( l u x ) , junto con la solucin numrica, no podemos distinguir una de otra:

h<

(5.1)

El esquema ser conservativo si las races tienen mdulo 1, cosa que oci rre si el trmino independiente de la ecuacin es igual a 1 , o sea:
2

|2 = 1 + p ( p - 1/2) =

Entonces el problema numrico resulta conservativo si: 1 La comparacin algebraica de las soluciones nos indica que: Si tomamos d) = 10, la condicin ( 5.1 ) con (i = -- equivale a h < OJ Consideremos entonces: y " = - 100 y
100 100

max{ | u k - cos(10 xk

= 0.003

Si graneamos u k ' 2 + )2 uk 2 obtenemos:

y(0) = l , y'(0) = 0
9S

Trabajando con h = 0.01 el Mtodo de Taylor origina el siguiente problema numrico: u0 = 1 , u0' = O uk+1 = 0.995 uk + 0.01 uk' u k+I ' = - 0.9975 uk + 0.995 uk'

96 -

0.2

0.4

0.6

El grfico anterior nos indica una conservacin razonable de la energa.

366

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferenciales unlnunnr. Discretizando el domino obtenemos:

367

VI.6 Problemas a Valores de Contorno


Vamos a considerar un problema a valores de contorno tpico: y" = f ( x , y , y ' )

-n
h Pk

(6.1
y(a) = a , y(b) = (3
Siendo nuestro objetivo aproximar y(x) en el intervalo [ a , b ] . Para resolver este problema es razonable dividir el intervalo [ a , b j en n subintervalos de longitud h, con el objetivo de aproximar a la solucin en los extremos de los mismos. Si pretendemos una aproximacin de orden 2 podemos escribir:

u k-i

- 2 uk

k = 1 ,2,... ,n-l
h2

Si hacemos: a k = 1 H resulta:
A U - R , con: a, -b2 0 A = 0 ... ... 0 -c a2 ... 0 -c2 -bk

Pk

Pk

h=

b-a

0 ak

... -ck -bn- ,

... ... ... an- ,

0 0 0 -cn- ,

U k-i - 2 uk + u k+i = h 2 f ( x k > uk > " k+l 'h k -' 2

Observemos que nos ha quedado planteado un sistema de n - 1 ecuaciones, en general no lineales, para obtener los n - 1 valores que buscamos: Ms adelante veremos que en ciertos casos es necesario perder precisin y aproximar la derivada primera con diferencias hacia adelante o hacia atrs. Estudiaremos especialmente el siguiente problema elptico lineal ordinario:
y " - p(x) y ' - q(x) y = r(x) y(0) = a , y(l) = P O< x < 1 (6.2) q(x) > O

A-,

V,

" r, 1
R=h2 2
r n-2 r n-l

fbi 0

C n-l

ui
U2

U=
U n-2
U

nl

368

Anlisis numrico. Primer curso

Resolucin numrica de ecuacin!-, i l i l i - n - m mlf,

n.'i

Una condicin suficiente para que el sistema de ecuaciones lineales recin


piaiHcauu tenga .suii.ii.iuu nica es que. ^^^^H

AU = R, con:
a, -b, -c, a, ... 0 -c, -bk 0 0 0 -cn., an

^^^H
v

> Pki

, k - 1 , 2 , ... , n - 1 ,

( O.J )

^H
A =

^^^H

0 ak 0 ...

... -ck -b n _, 0

... ... an., -1

0 0 0

pues entonces | bk | + | ck | = 1 y A es estrictamente diagonal dominante. ^^^H Las condiciones en el borde pueden estar dadas sobre las derivada, o en ^^l| forma mixta. A ttulo de ejemplo plantearemos un problema a valores de con- ^^H| torno mixto: ^^^H

...

...

y " - p(x) y ' - q(x) y = r(x) y(0) = a, y ' ( D = P

0< x < 1 q(x) > 0

^H ^H

h2

R =-
2

r, r2 ... r n _,

b,a - 0 + 0

Ahora el u n tambin es una incgnita, por lo que el sistema de ecuaciones ^^^1 que debemos plantear en principio es: ^^^H

^^H

i
u k-i

- L u k + u k+i "

^ ^uk+|-uki^-

^ qkuk

,.,
n lk

^^H

U2

U n-l

k=l,2,...,n
Son n ecuaciones con n+1 incgnitas, pues aparece u n+1 . La ecuacin que nos falta la obtenemos de la condicin de borde:

^H ^^^"

Un

2h

= P-

Mtodo del Tiro


Una idea muy sencilla hace que en ciertos casos podamos evitar la resolucin del sistema de ecuaciones (sea lineal o no lineal): Dado el problema matemtico (6.1) planteamos la resolucin del siguiente PVI:

El nodo n+1 es "ficticio" pero nos permite resolver el problema, ya sea considerando las n+1 ecuaciones, o simplemente reemplazando en la que corresponde a k = n el u n+1 por un , + 2 h (3 , resultando entonces:

370

Anlisis numrico. Primer curso

Resolucin numrkti </<' i'iiiiinniii", <///r/rn< mli-. ,<nlin,in,i: Si el problema de frontera es lineal:
y"- p y' -q y = r (6.4)

1/1

y" = f(x,y,y') y(a) = a

y(a) = a , y(b) = P ,
Vamos a llamar uk k = O , 1 ,..., n a la solucin de este PVI. Si u n = p0 = P hemos resuelto el problema a valores de contorno; en ca contrario resolvemos el siguiente PVI: y" = f ( x , y , y ' ) para aplicar el Mtodo del Tiro solo debemos resolver dos PVI:

i)

y/'-py'-qy, = r
y,(a) = a , y,'(a) = , y

y(a) =

y2" : P Y2' - q y2 = r
y 2 (a) = a , y 2 '(a) = O

obteniendo el valor u ^ =P,.Si este valor es igual a P hemos resuelto el pro| blema; en caso contrario tratamos de resolver la ecuacin no lineal:
g(Y) - P = O,

Observemos ahora que cualquier combinacin de la forma:

es solucin del problema:

en donde g es la funcin que relaciona la condicin inicial de la derivada coi) el valor de la funcin y(x) en la frontera b:
a(y } = u"1 = B o\' n rm '

y" - p y' - q y = r y(a) = a , con

utilizando el mtodo de la secante: de donde deducimos que la solucin de ( 6.4 ) tiene la forma: g(Yj-P
Ym + , = Ym

g(Yj - g(Ym-l)

y(x) = (1 - X ) y,(x) H- Xy 2 (x) , con

* m+1

im Pm-Pm-,

(Ym - Ym.,)

X=

y 2 (b)-y,(b)

372

Anlisis numrico. Primer curso

Resolucin numrica t/c nliiKioin-. i//rir/n nili-, i > n l i i i , u i , i :

I/ t

Problemas de Capa Lmite


Los problemas a valores de contorno cuya solucin cambia rpidamente en una franja muy estrecha del dominio se llaman de capa lmite. Las ecuaciones diferenciales que definen problemas de capa lmite tienen generalmente un coeficiente pequeo en el trmino de la derivada de mayor orden. Para desarrollar algunas ideas relacionadas con el tema plantearemos un problema a modo de ejemplo: ey" + ( l - e ) y ' - y = 0
y(0) = 0 , y(l) = l

En el siguiente grfico se observan superpuestas l.i soliu ion . u u l i i u .1 y l.i numrica:

0< x < 1

La solucin analtica del problema planteado es la siguiente:

0.2

0.4

0.6

0.8

y(x) =

e*- e-X/E e - e -l/E

Las oscilaciones de la solucin numrica transcienden la capa lmite a pesar de que suficientemente lejos de ella la concordancia es buena. Si quisiramos resolver la capa lmite no tendramos otra alternativa nue tomar un paso suficientemente chico para trabajar dentro de ella. Si no nos interesara resolver con alta precisin la capa lmite podramos obtener una solucin numrica que acompaara ms suavemente a la solucin analtica dentro de la capa lmite utilizando en este caso diferencias hacia adelante para aproximar la derivada primera (si el coeficiente de la derivada primera en la ecuacin diferencial fuera menor que cero deberamos utilizar diferencias hacia atrs):
u0 - O , u n = 1 e (u k+1 - 2 u k + u k .,) + h (1 - e) (u k+1 - uk) - h2 u k = O , k = 1,2 ,..., n - 1

Si discretizamos el problema utilizando diferencias centradas para aproximar la derivada primera, de ( 6.3 ) deducimos:

2e h< 1 -e
Para observar que ocurre al violar la desigualdad anterior resolvamos utilizando diferencias centradas con = 0.001 y h = 0.01.

Si resolvemos este problema numrico con h = 0.01 para aproximar el problema matemtico recin planteado obtenemos una solucin numrica cuya grfica comparada con la de la solucin analtica es la siguiente:

374

Anlisis numrico. Primer curso

Resolucin numrica de ecuaciones diferencial^ uiilinaim

i/'i

0.8

1.4) Para una malla equidistante, construir una aproximacin en diferencias de orden 3 para u'(x): a) en adelanto b) en atraso c) centrada.

0.6

2) Problemas a Valores Iniciales. Mtodo de Euler.


0.4

2.1) Resolver el siguiente PVI y comparar con la solucin exacta:


0.2

0.2

0.4

0.6

0.8

du + u -1 - 1 = O , dt

u(0) = 1 , t > O ;

Utilizar como paso k = 0.1 y avanzar 10 pasos de clculo. Si ampliramos la capa lmite veramos que en ella la solucin numrica no aproxima bien a la analtica, pero apenas superada la capa lmite el acuerdo es muy bueno para el tamao de paso elegido. Si queremos saber que pasa en la capa lmite debemos trabajar dentro de ella con un paso suficientemente chico, y luego podemos elegir un paso mayor. La solucin exacta es: u( t ) = t + e-'. Mejorar los resultados obtenidos utilizando Extrapolacin de Richardson. 2.2) Aproximar el siguiente problema matemtico:

du dt

= - u 2 , u(t0) = u ( ) > 0

Analizar la estabilidad,

Ejercicios
1) Mtodo de los coeficientes indeterminados. 1.1) Construir una aproximacin en atraso con tres puntos equidistantes de u'(x); analizar el error de discretizacin de la frmula obtenida. 1.2) Considerando puntos equidistantes, construir una expresin en adelanto de orden 2 para u"(x). 1.3) Utilizando puntos equidistantes, construir una aproximacin de orden 2 de (a( x ) u'( x ) ) , donde a( x ) es una funcin conocida y suficientemente lisa.

dem para u0 < 0. 2.3) Aproximar el siguiente problema y analizar la estabilidad:

2u = 0 , t > 0 , u(0) = u 0 , u'(0) = u'0

dt2
2.4) Aproximar el siguiente problema matemtico y analizar la estabilidad:

du,

dt t > 0 , u1(0) = a, u2(0) =

Nl-MlIlHIlll

lllllIlt'IHII

i,' l-llllltltlllf,

tll/l'KIHKlll",

OllllIHIinr.

I//

376

Anlisis numrico. Primer curso

3) PVI. Mtodos Implcitos y Explcitos. 3.1) Aproximar el siguiente problema matemtico utilizando el Mtodo Fuerte mente Implcito y analizar la Estabilidad:

3.6) Calcular para el siguiente problema u(0.5): du + (1 +1) IP = o , u(0) = 1 , utilizando el mtodo: dt a) de Euler b) Predictor - corrector explcito c) Runge - Kutta de orden 2 Obtener previamente el factor de amplificacin y durante el clculo verificar en cada paso que dicho factor es menor o igual a 1. Elegir un paso k < 0.1 por razones de precisin. 3.7) Sea el siguiente problema:

du 1 T

= - u 2 , t > 0 , u(0)=1

Analizar que ocurre si u(0) = -1. 3.2) Aproximar el siguiente problema matemtico por el mtodo de Runge-Kutta de orden 2 y analizar la estabilidad. Avanzar 10 pasos de clculo y comparar con la solucin exacta:

du ~dt~

t , t > 0 , u(0) =

u1 - - O , u(0) = 1 u Discretizarlo utilizando:


a) Runge- Kutta de orden 2 b) Crank- Nicholson Verificar que el error de truncamiento es de orden 2. Estudiar la estabilidad. 3.9) Sea el siguiente problema: du + u.t = 0. u(0)=1 Discretizarlo mediante el esquema de Crank - Nicholson y analizar la estabilidad suponiendo que u permanece positiva. Avanzar la solucin un paso de clculo tomando k = 0.1. 4) PVI. Ecuaciones diferenciales de segundo orden. 4.1) Sea la siguiente ecuacin diferencial:

Solucin exacta: u(t) = 2 e1 - 1 -1. 3.3) Analizar la estabilidad del esquema del salto de rana aplicado al siguiente problema: du - = - u 2 , t > 0 , u(0) = u 0 >0 dt 3.4) Aproximar el siguiente problema por el mtodo de Euler utilizando un paso k = 0.01 y obtener u(0.1). Estimar el tamao de malla necesario para obtener una precisin de 10"4:

du dt

- - t - u - u t = 0 , t>0,u(0) = 1

3.5) Repetir el problema anterior utilizando el mtodo implcito ponderado de orden 2, con un paso k = 0.025. Analizar comparativamente el esfuerzo de clculo requerido por ambos mtodos.

u" + v u' -i- o>2 u = O , v > O ;

378

Anlisis numrico. Primer curso

Resolucin numrica de eaia< iun-, ili/m-nt ml<-. <mliinin<r.

t/'i

Discretizarla utilizando: a) El Mtodo de Newmark b) El Mtodo del Salto de Rana Analizar la estabilidad. Avanzar dos pasos de clculo tomando v = co = 1 para las siguientes condiciones iniciales: u(0) = 1 , u'(0) = 1. Estudiar la estabilidad y elegir un h de trabajo apropiado. 4.2) Transformar la ecuacin diferencial del problema anterior en un sistema de ecuaciones de primer orden y discretizar utilizando: a) Mtodo Predictor - Corrector Implcito b) Mtodo Fuertemente Implcito Analizar la estabilidad y avanzar dos pasos de clculo. 4.3) Para el siguiente problema plantear un esquema de paso doble (3 niveles de tiempo), con un orden de precisin 2, y demostrar que es incondicionalmente estable:
d2u du + a = O , u(0) = u 0 , u'(0) = u'0

5) Problemas a Valores de Contorno 5.1) El anlisis en rgimen estacionario de la conduccin del calor a travs de un slido con generacin interna de calor est dado por el siguiente problema: u' + f(u) = 0, 0 < x 0 < x < x 1 , u'(x0) = 0 , Si el slido es una placa plana y la generacin de calor es constante, sea p = O y f(u) = , resulta para x0 = O y x, = 1 :
K

u"+ = 0 , 0 < x < 1 , u'(0) = 0 , k La solucin exacta de sta ecuacin es:


u(x) = 1 + - - (1 - X2) . . k

Se pide encontrar numricamente el perfil de temperaturas u( x ) cuando


q =2 2k

4.4) Resolver el siguiente sistema rgido utilizando un mtodo numrico apropiado: u' + 2000 u-1000 w = 1
w1 - u = O , u(0) = O , w(0) = O , O < t < 5.

Utilizar un paso de clculo h = 0.1 . 5.2) Resolver el siguiente problema para h = 0.1 : u' u"+ . _ + u = 0 , 1 < x < 2 , = 0 , u(2) = x 5.3) Resolver el siguiente problema de capa lmite utilizando el mtodo del tiro:
E u" + 2(1 - x2) u'+ u2 = 1 , -1 < x < 1 , u(-1) = u(1) = O

5.4) Sea el siguiente problema: u" + x = 0 , 0 < x < 1 , u(0) = 1 , u'(1) = 0 ;

380

Anlisis numrico. Primer curso

on i n i i n i ' i n . :

, / / / r / i ' / n m/i". niiliiKimr.

IHI

a) Construir una aproximacin en diferencias de orden 2, incluidas las condiciones de borde. Expresar el sistema de ecuaciones resultante en forma matricial.
1 1 b) Resolver el problema para h = y h = , utilizando Eliminacin de
. \J

6.8) Los mtodos do iiilo(|ia<:mii do paso mltiplo para n,naciones do pinnn oidon pueden interpretarse corno generalizacin do mtodos do cuadratura. Hacer la misma interpretacin para los siguientes mtodos de paso simple: Crank - Nicholson, Hunge - Kutta de orden 2 y Runge - Kutta de orden 4, y explicar por qu. 6.9) Se dispone de una rutina que es una implementacin del mtodo del salto de rana. Indicar mtodos para arrancar y por qu. 6.10) Estamos ante un problema incondicionalmente estable. Indicar si esto significa que podemos elegir un paso tan grande como querramos. 6.11) Explicar a qu problemas se aplica, y alguna ventaja del mtodo de Newmark. 6.12) dem anterior, para el mtodo del tiro. 6.13) Explicar qu son las ecuaciones diferenciales rgidas y qu mtodos es conveniente utilizar para resolverlas. 6.14) Establecer la diferencia entre los conceptos de condicin de estabilidad y estabilidad. 6.15) Indicar cul es la dificultad que aparece al aplicar mtodos de paso doble a ecuaciones de primer orden. 6.16) Indicar si es posible aplicar mtodos para PVI de orden 1 a PVI de orden 2.

Gauss sin pivoteo, y redondear los resultados a 4 dgitos. c) Aplicar Extrapolacin de Richardson para obtener una mejor aproximacin de u(1). 6) Preguntas Tericas 6.1) Indicar cul es la ventaja de los mtodos implcitos sobre los explcitos y en qu tipo de problemas se manifiesta. 6.2) Indicar cmo se demuestra en la prctica que una solucin numrica es convergente. 6.3) Indicar qu significa que un esquema numrico para una ecuacin diferencial tiene orden de precisin 2, y a qu tipo de error se refiere. 6.4) Indicar qu tipo de error es el que puede minimizarse por Extrapolacin de Richardson. 6.5) Indicar cul es operativamente ms complicado de resolver: un PVI o un PVC y por qu. 6.6) Definir condicin de estabilidad y convergencia para un mtodo de paso simple; dem para uno de paso mltiple. 6.7) Definir consistencia de un mtodo de paso simple; dem de un mtodo de paso mltiple. Definir estabilidad de un problema numrico.

6.17) Explicar qu significa que un problema numrico es conservativo. 6.18) Explicar la tcnica para aplicar mtodos diseados para PVI a PVC. 6.19) Obtener la frmula de Extrapolacin de Richardson para el mtodo de Crank Nicholson, tomando k y k/2.

382

Anlisis numrico. Primer curso

383

6.20) Explicar qu significa "estructura de capa lmite". Representarla grficamente. Indicar alguna ventaja de la utilizacin de un mtodo: a) de paso mltiple, en lugar de paso simple. b) implcito en lugar de explcito.

Bibliograh.i

W. Alk-n Smilh. PRHNT1CK HALL ivs numrico. Hurden - Paires. International Thomson Editores Anlisis numrico. David Kincaid - Ward Cheney. Addison - Wesley Iberoamrica 11.1 Anlisis Numrico. Un enfoque prctico. Melvin J. Marn - Robert J. Lpez. CECSA Anlisis Numrico. Francis Scheid, Me Graw Hill Applied Numerical Methods. Brice Carnahan - H. A. Luther - James O. Wilkes. JOHN WILEY & SONS Clculo numrico fundamental. B. P. Demidovich - A. Marn. Paraninfo Clculo numrico y grfico. Manuel Sadosky. Librera del Colegio Discrete variable methods in ordinary differental equations. Peter Hehrici. John Wiley Introduction to numerical analysis. J. Stoer - R. Bulirsch. Springer - Verlag Mioilo.1 numricos aplicados con software. Nakamura S. Prcniice Hall

También podría gustarte