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
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
301
193 196 202 212 215 222 232 241 256 265 270 273 273 281
CAPTULO I
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.
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)
( 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
, 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-;
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.
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.
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:
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
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
i., n,
a -a i /i
u ) 4,2 )
a = 1 m, entonces | ea | < 1 mm, y | era | < 0.001
10
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
12
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)
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,
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,
14
15
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.
I >i visin
X
(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)
16
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
71
.01
in . 4
1U
18
19
'"'' '
>
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 :
i)
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)
)
(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=
99 + 70 V2
20
Errores en el clculo numrico Supongamos que como resultado de mediciones hemos obtenido:
.
21
v)
z = 0.400 0.003,
L
y = 0.340 0.005
vi)
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)
ay
~wT
b
0.34 0.32 0.34 0.36 0.34
1.425032 1.408845
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
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
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:
24
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
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
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.
26
27
EJEMPLO 6.1
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:
( 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.
y el 25.3 25.3
2530 02
28
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
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
1
10"'
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.
a - a I<
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.
V-t
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'
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
33
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:
n veces
(b - 1) (1 - b"m) = 1 - b'm , y el ,,| , - h
red
34
35
->
r4 = 1, resulta entonces
'
['
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
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
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
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:
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
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.
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
+1
+1
+1
-1
Figura 8.1
40
41
+ 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
b+c
42
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,
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:
"
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
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
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:
46
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
48
49
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
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
:':;
*?*-
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
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 ) =
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:
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)
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:
~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 ||,
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
55
puede tener, medido en unidades de r, n\ priuliurn perturbaciones relativas en los datos de entrada acotados por r.
- f, '
.uv '
Xk
I\(XM',( X) Pk(X)
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:
>=
| x||x|
+ |x||x|
=2
(9.5)
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)
56
57
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
,, (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
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,
59
EJEMPLO 9.8
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
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
I erv | <
x+z
X +
x+z
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
CP
a + b + c|
o.
60
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 ~
(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
(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
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=
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
64
65
Esta igualdad nos permite obtener una estimacin de p. Restando iii) de i ) podemos obtener una estimacin de K:
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,
= 16.000...
h K = ( P( x , ) - P( x , h ) )
EJEMPLO 10.2
2
( 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.
T0 = T( 1 ) T, = T( 1/4 ) T2 = T( 1/16;
T, T4 T5 T6 = = = = T( T( T( T(
66
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:
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:
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.
Cr
A(X) ~ F(X;
A( X )
F( X
>erd =
F(X) siendo
Ed < 0.2 E
( 11.3)
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
69
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
, , ,.
.,
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:
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:
0.034
0.034
.') 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
72
73
EJERCICIOS
'
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
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=
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
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;
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
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
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
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
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
83
am,! X l
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.
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.
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
85
(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:
i-l
a (2>2 x n = b (2)2 ,n 2
(3.4)
(3.2)
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.
(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
(3.3)
a (3)
,j
a (2)
,j
i,2^
(2)
j _ -3 J
L(3) _ U(2)
m L(2) m,2 D 2 ,
i j ,..., n
:_ T
3 n,l X l
86
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
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>
,...,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
89
A 1 1 1 1
3 2 4 9 8 27 16 81
b(matriz ampliada)
24 x4 = 24 2 4 x 4 = 18 2 x2 + 6 x3 + 12 x4 = 8 1 x, + 2 x2 + 3 x3 + 4 x4 = 2
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.
1 O O O
2 2 O O
3 6 6 36
4 ^ 2 12 8 24 18 168 132
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
O O O
2 O O
6 6 O
12 24 24
8 18 24
3 i/o
o L'S, 1 i
90
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, +
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
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
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* 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)
(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
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
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
99
.'
fin(j)
finmientras
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.
finmientras
Hi
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
101
'*
j*
u k,j = aa - > s k,
>
U k,k + l
' - Uk,n
m k + l,k>
; ; ,t;
,.;', ; h x i ; >
....**) '
,,m 2 ~^s)
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
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
s = s + kP UP,J ;
fnmientras( p )
"*
f ., ,
Ar
102
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
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
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
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
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.
)*>
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)
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
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
Y (k) A 4
1 2 3 4 5 6 7 8
( 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.
k 1 2 3 4 5
Y (k)
Y (k) X 3
x (k) A 4
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
110
111
Este resultado puede generalizarse aunque los V no sean linealmente independientes, o sea: Teorema 5.1
(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)
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 .
112
113
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,
y ltj = O, si i < j
y u^ = O, s i i > j
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:
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:
E G S - - ( L + I)-' U,
Para obtener las matrices del Mtodo SOR, comenzamos por considerar i|iu- Gauss-Seidel puede escribirse:
114
115
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
II F X I !
11 V
|| 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:
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
117
(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;
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:
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
A=
-1 -1 0
118
119
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:
k
1
2 3 4
Y (k) xl
Y (k)
A2
Y() k A3
(k)
A4
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
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
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
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)
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
8X||
8B
122
123
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)
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
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
125
(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)
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:
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
126
127
Dado el sistema:
A X = B,
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:
' 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
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
( 6.9 )
130
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 '
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
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)
SX ||
|| SB ||
|| 8A ||
'
a ^
Veremos ms adelante cmo disminuir el trmino que 'corresponde a la propagacin de errores de redondeo.
u,.
132
133
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:
A 8 (m) = D (m)
(6.15)
I'ara resolver (6.15) usaremos las mismas L y U que usamos para calcui X'".
Una vez que tenemos la correccin 5 (m> , la usamos para calcular la nueva aproximacin:
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
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:
F II = max I | F X | IIXH
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
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
137
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)
1
2
X (m) - X II <
X( m)
138
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:
= b"
( k>mo ( 6.20 ) es aproximadamente una igualdad, obtenemos:
( 6.22
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
141
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:
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
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
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
'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
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
Ecuaciones no lineales
149
in-H
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
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
Ecuaciones no lineales
151
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:
a =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.
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]
= m k _, - F( mkk_ _,
mk-i
k = 0,1,2,
(2.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
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 ,) | _
(
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:
I mk - a | < e
154
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
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
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
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~
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) |
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'
= 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
Ecuaciones no Lineales
159
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 =
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.
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
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 - a | = | f(
pues cj e [a , b]
- 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)
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:
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
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.
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
..
.,
f(x n )-x n
- f'(x n )
u sea:
:.-./.)., v;.
^ :
.'v-
a-xn
f(x n ) - a
i i
""
x=f(x).
f(x)-xf'(x)
- f'(x)
: ' ;, , ,
'.'. "
:: ' '
'
. i,'
co
a-xn
Observemos que si definimos una nueva funcin:.
f(x n ) - f(a)
ex - xn
(p(x) =
+ 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).
co -
con cj n entre a y xn
164
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:
(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.
(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)
'"'"
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
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:
I F'(x)
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:
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
Ecuaciones no lineales
169
x, = f[ Xo ];
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,
>
= x2
finmientras si n >= nmax entonces escribir "el procedimiento fracas"; parar HM escribir "la raz es", x2 fin
(4.8)
con
hn = - F(x n )
Sien co =
el mtodo SOR resulta:
"
-x
=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
Ecuaciones no lineales
171
EJEMPLO 4.1
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
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
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:
+ (a - x ) =
(<*-x n ) 2
F'(x n )
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
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)'
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=-
* o y obtenemos nuevamente-
F"(a) 2F'(a)
174
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
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
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'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.
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
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
donde hn - -
F(x n ) F'(x n )
es la correccin de Newton.
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
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.
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).
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
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
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.
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:
-a
-a
184
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
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).
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.
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
F(x) F'(x)
= einh + ered'
186
Ecuaciones no lineales
187
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
- 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 ;
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
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:
1.41421356053304 control = 0.00510178055121544 1.41421356053304 control = 0. Hl ltimo valor tiene ocho decimales correctos.
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
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.
190
Ecuaciones no lineales
191
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
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
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
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":
196
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:
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
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
198
199
(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
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: =
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:
(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
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
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 }." :
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(
(<pfl , H) = 5.6 ; ( ( p , , H ) = Vl ;
(q)2 , H) = 0.8 ;
202
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, =
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 >
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.
204
205
EJEMPLO 3.1
<Po(x) = a oo
1
La funcin f(x) =
1 + x2
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)
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
206
207
()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 '
f(x,) = c0 + c, (x, - x0) f(x 2 ) = c0 + c, (x2 - x,,) + c2 (x2 - XQ) (x2 - x,)
finmientras
208
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
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 =
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)
(m + 1)!
Pro(z)
f(x)-P(x)=
donde cjx es un punto interior al intervalo I.
(3.2)
210
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
213
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.
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
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
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 ) ) ) ) ) ) ) ) ) ) .
q(x) O (x - x)
214
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:
-1.0813 0.0788
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 ] .
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
hi
i + 1
- - - (y.-y ) ( 5 . 2 ) h,-
i = 1, 2, ..., m-1
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:
s'(x) =
~ (x-+1 "
218
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
O O
0.4! y
1.6
A =
4h h 0 0
h 4h h 0
0 h 4h h
0 0 0 4h
220
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:
1
Consideremos nuevamente f(x) =
1 + 10 x2
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
223
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:
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
225
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:
h
2
1/7
h2
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 ),
_^
ion un error:
fn + f,
2
L+
h
8
h2
h
^ '
(3)
1/2 ^-
h3
48
A f.
h3
48
i n.
h2
8
n
h2
8
f*. '
r^
384
384
48
48
ED="
h4
con x 0 < c ; < X )
226
227
h3
f"0+
1 + e0-2 0.2"
D
1 - e0-2
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
-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
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
a + -h a + h2 a +
b +
c =O he = O
+ 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),
donde los dos ltimos trminos son nulos para todos los polinomios de grado < 3.
h3 ^
h5
bu
Tenemos entonces:
Las frmulas de los Ejemplos 6.1 y 6.2 pueden escribirse en forma ms general:
h2
230
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
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
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 -
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-
Base de la Induccin:
234
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
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
237
EJEMPLO
7.2
[Demostracin:
Utilizaremos el segundo principio de induccin sobre k; liase Utilizando Taylor:
m
Podemos desarrollar frmulas para diferencias que son anlogas (aunque ms complicadas) a las frmulas para derivadas:
238
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
, 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]
240
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
Af(0) h
e0-1- e 0.1
= 1.05171;
f<W(a) =
v Z c h 2i f k+2i) (a)
(7.1)
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)
h h 5f(x) - f(x + - ) - f( x - - ),
y el "operador promedio" \l, de la siguiente forma:
h
8 2 P(a)
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)
f(a + h) - f(a - h)
h
2
242
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.
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
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:
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:
i on un error de discretizacin:
ftm+1)
(x - x) =
(m + 1)! =o
(x - x)
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
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,-^)
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
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
249
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
.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).
^^^B
0 0
1 1
2 4
3 9
,, r
y P ( P - D - ( P - J A Df +' j!
P )
(m+1)!
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
251
Gregory-Newton
n
l'or lo tanto: 8 (x;) = -
n (x, - Xj)
JL /
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
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
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:
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.
La siguiente proposicin fundamenta el Mtodo de Neville: Si i * j con i , j < m , el polinomio Q(x) definido como: 2!
254
255
(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
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
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.
es des-
Af, + Ae2
258
259
Usando el Corolario 6.1 resulta que para el error inherente propagado i soluto del coeficiente k-simo del polinomio vale:
m ( ) 2k = 3m E
k
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) | },
_ 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
261
k_2
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
8(Q(x) ) = X (
k 1
) 6(Ak f 0 )
, y entonces aproximadamente:
E,
f[ x, , x0 ]
k=l
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.
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
263
1
l+x
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
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
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
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
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
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
267
F k (h) - Fk(q h) k
vale:
:
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:
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)
19 29
268
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;
F^h)
A/3
F 2 (h)
A/15
ri, = u; fin( i) para j = 2,..., m hacer comienzo para k = j,..., m hacer comienzo
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
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
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;
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
4
-1
5
1
-1
f(x)
-1.201
0.8204
2.253
272
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
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".
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
275
n-
JU
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)
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
ED = I - R(h) = 2 M ii
Xj
, siendo
ED=
(f(x)-P,(x))dx =
(f'
(x - x
)+
(x - x
) 2 ) dx
Mh2.
y teniendo en cuenta que la integral del primer trmino es nula, resulta, sil consideramos
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:
(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)
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
(n + l)!
n!
(n-1)!
2!
= F(xn)-F(x0) =
Di
=o j=o (i + 1)1
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
"
=h (
( i + 1)!
f(a) + f(b)
2
)='
=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:
("
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)
... )+ ... = 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
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:
(1.4)
b-a
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
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
sen (x)
X
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
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.
282
283
EJEMPLO 2.2
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.
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:
- 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
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--
AJ
psi
'
5
5
a+b
resultando:
b
b-a
b - a ^. b-a
1= J f(x) dx =
a
J f(x(t)) dt =
2 - 1
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
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:
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
---
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:
con ^ en el [ - 1 , 1 ] .
288
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:
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 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
291
b-a 12
M h2 +
b-a 2
b-a
|R(h)|
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
I = S(h) +
180
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
292
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
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:
294
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 , +
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,
X -
2h
A2f+
3p2 - 6p + 2 6h
296
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
it
12
2it 12
K 12
4x
12
5re 12
6K 12
298
299
4) integrar la funcin y =
sen(x)
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
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
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
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
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
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
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
309
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
311
(1.10)
Yn-LO Yn.O
(1.8)
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) ,
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
y-.
fn(x,y,,y2,...,yB)
312
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
= 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
(1.14)
y = +x
Dado el PVI: . , aproximar y( 1) utilizando el Mtodo de
314
315
<|> (xk , uk , uk+l ; h ; f) = f(xk , u k ) , y en ste caso el problema numrico queda definido por:
( 2.5 )
p(x , y ; h ; f) = O(h?)
( 2.6 )
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:
Z<3)( X ) --
h2
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.
(2.4)
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
317
( 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)
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
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)
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
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") | <
< 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 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
321
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
| 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
0<
322
323
h
U n + l = Un
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
=h
. un +
) ' q4 = h f( Vi > un
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
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
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
y(0) - 1,
= uk + h (a uk + a u k+1 ).
h(
(2.14)
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
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~
R,,
- 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
dh
e d(x
- x () ) . j
Te =
dh
y recordando
( 1 1 . 2 ) del Captulo I:
R)
hd
;Ysi d = l y e -
, resulta:
c
_
_ KJ A Iu0| h
<
R)
dh
(2.15)
328
329
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
h L( | e i + |e
En este caso si los errores propagados por eventuales coeficientes son despreciables resulta:
hL 1 -hL
l e , ! , o sea:
CA =
U
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.
330
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:
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/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.
332
333
u n+r + I
k=r-l
( 3.2 )
h
0.1 0.01 0.001 0.0001
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)
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.
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)
334
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:
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)
| 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
t (/
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 )
k un = 2 p(n) X,"
n = 0,1,2,...
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
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
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
339
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
11=0,1,;..
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
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,
341
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:
( 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
( 3.18 )
342
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 );
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)
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.
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
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
y "+ ay' = O
y( xo ) = Yo
a>0
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
- 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.
346
347
Como las ecuaciones en diferencias son lineales, al perturbar se obtienen ecuaciones idnticas:
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
- ah)k 2
1
O 1
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 >
348
349
(4.2)
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:
Uk
350
351
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
max { | y( xk ) - u
,10000
= 0.036
= 0.018
max { | z( x, ) - u?k 2
JOOOO k=0
z' = y + z + 2 ex = f 2 (x , y , z)
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 ) =
100
352
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
h2 -F " ( x k , U k ) ) o
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) ,
f,(xk, u k , u 2 ) f 2 (x k , u k , u 2k )
~f,'~ , F' =
, F" =
"f,"" f2"
354
355
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)
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:
356
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
O C
_9
Observemos que
-3
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
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
y(t) = 0.998999... e
1001001 '
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:
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
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
<(> 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
k+l
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:
364
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
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
366
367
-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
0 0 0 -cn- ,
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
n.'i
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
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
...
...
^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-
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
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(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,
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 '
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)
* m+1
im Pm-Pm-,
(Ym - Ym.,)
X=
y 2 (b)-y,(b)
372
I/ t
0< x < 1
0.2
0.4
0.6
0.8
y(x) =
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
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
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.
dt2
2.4) Aproximar el siguiente problema matemtico y analizar la estabilidad:
du,
Nl-MlIlHIlll
lllllIlt'IHII
i,' l-llllltltlllf,
tll/l'KIHKlll",
OllllIHIinr.
I//
376
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) =
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.
378
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
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
380
on i n i i n i ' i n . :
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
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