You are on page 1of 10

Clculo Numrico Profesorado en Matemticas

Capitulo 1.- Introduccin al clculo numrico


1. El objetivo del clculo numrico.
La matemtica numrica se ocupa del clculo numrico de la solucin de problemas que pueden expresarse en forma matemtica. Tales problemas se presentan en muchas disciplinas diferentes y frecuentemente el uso de la matemtica numrica es el nico camino para obtener respuestas tiles o utilizables. Por otro lado la matemtica pura permite una considerable penetracin en cuanto a la estructura y las propiedades de los problemas matemticos, pero en la mayora de los casos, los mtodos de solucin que provee son tiles slo para casos muy restringidos. Por tanto, la matemtica numrica est relacionada principalmente con el hecho de encontrar respuestas numricas a problemas planteados en forma matemtica.

Figura 1 En la figura 1 intentamos esquematizar la actividad problema-solucin. En este diagrama datos se refiere a toda la informacin que tenemos del problema. El mtodo de solucin se puede elegir de un conjunto de varios mtodos posibles. Uno de los aspectos ms importantes de la matemtica numrica es determinar cuales son los mejores mtodos para cada problema en particular. Se usan distintos criterios para juzgar cuales son los mejores mtodos, entre ellos: - la velocidad de clculo - la exactitud de las respuestas obtenidas - su seguridad. Diremos que una respuesta es buena o tiene exactitud cuando est cerca de la respuesta verdadera. La diferencia entre la respuesta verdadera y la respuesta calculada es lo que conocemos como el error. La consideracin de las fuentes y los efectos de los errores en los clculos es la otra parte importante de la matemtica numrica. Los mtodos de solucin han sido nombrados hasta ahora en forma muy general e imprecisa. Lo que hacemos en realidad es dar las instrucciones precisas de cmo obtener la solucin de un problema, y para ello usamos el trmino algoritmo. En consecuencia, el trmino algoritmo significa una descripcin completa y no ambigua de la forma de resolver un problema matemtico o un problema general. Un algoritmo numrico debe describir un mtodo de modo tal que la solucin, si existe, se obtenga en un nmero finito de pasos, adems debe contener los chequeos necesarios para asegurar que se tomen las medidas adecuadas cuando la solucin no exista o

1 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

cuando el proceso requiera de un nmero excesivo de pasos. Si el algoritmo satisface estas propiedades entonces es factible implementarlo en una computadora. Un algoritmo puede ser directo o iterativo. Un algoritmo es iterativo cuando se empieza haciendo una estimacin de la solucin y usando las propiedades del problema se calculan otros estimados. Si el algoritmo fue elegido entonces los estimados de la respuesta deberan aproximarse ms y ms a la respuesta verdadera.

2. Representacin de nmeros enteros


Recordaremos como se representaban los nmeros: un nmero decimal entero es un conjunto de dgitos en el que cada uno depende la posicin relativa respecto de la representacin. Cualquier nmero N puede ser representado de la siguiente forma:
N = (d n d n 1 ... d1d 0 ) = d n x10n + d n 1 x10n 1 +...+d1 x101 + d 0 x100

donde di denota un dgito colocado en la posicin i, a saber entre 0 d i 9 , i=0,1,,n. Generalizando para una base cualquiera b 2
N = (d n d n 1 ... d1d 0 ) = d n xb n + d n 1 xb n 1 +...+ d1 xb1 + d 0 xb 0

donde 0 di b , i=0,1,,n.

2.1 Cambios de base


Si fuera necesario efectuar un cambio de base de una no decimal a otra base no decimal, es aconsejable usar la base decimal como base intermedia. (a) Cambio de base b a base 10 Se trata de una aplicacin directa de N b = (d n d n 1 ... d1d 0 ) b = (d n xb n + d n 1 xb n 1 +...+ d1 xb1 + d 0 )10 Por ejemplo, si deseamos convertir (437)8 a base 10 (437) 8 = 4 x82 + 3x81 + 7 x80 = (287)10 (b) Cambio de base 10 a base b Se hace necesario ahora determinar los dgitos (d n d n 1 ... d1d 0 ) b . Si dividimos el nmero N N = (d n d n 1 ... d1d 0 ) b = d n xb n + d n 1 xb n 1 +...+ d1 xb1 + d 0 por b, obtenemos d n xb n 1 + d n 1 xb n 2 +...+ d1 y el resto es d0 . Repitiendo la operacin encontramos todos los di. Si por ejemplo queremos convertir (637)10 a base hexadecimal,

2 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

Base 10 637:16 39:16

Cociente 39 2 2

Resto 13(D) 7

Es decir, (637)10 = (27D)16.

3. Representacin de nmeros reales


Un nmero real, por ejemplo, 43,82 puede ser descompuesto de la siguiente forma 43.82 = 43 + 0.82 y a su vez, 43 = 4 x 101 + 3 x 100 0.82 = 8 x 10-1 + 2 x 10-2 Generalizando ahora esto es x = (d n xb n + d n 1 xb n 1 +...+ d 0 + d 1 xb 1 +...+ d k b k ) b (a) Conversin de base 10 en base b Vemoslo con un ejemplo: Convertir 0.1 en base binaria
0.1x 2 = 0.2 x 2 = 0.4 x 2 = 0.8 x 2 = 0.6 x 2 = 0.2 x 2 = 0.4 x 2 = . 0.2 0.4 0.8 1.6 1.2 0.4 0.8 ..

x = (d n d n 1 ... d1d 0 . d 1d 2 ... d k ) b

De aqu que (01)10 = (.000110011001100...) 2 . Vemos que la representacin de 0.1 es . infinita.

4. Notacin cientfica
La representacin de un nmero muy grande o muy pequeo obliga a usar un gran nmero de dgitos. Para atender esta situacin usamos notacin cientfica x = mb t donde m es un nmero real no negativo denominado mantisa, b 2 es un nmero entero positivo denominado base y t es un nmero entero denominado exponente.

3 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

Representacin normalizada m = 0, si x = 0 y b 1 m < 1 si x 0.

5. Sistemas de numeracin.
Para comenzar a hablar de mtodos numricos debemos primero analizar las herramientas que utilizaremos y los elementos a manejar. Respecto de los elementos, bsicamente y desde un punto matemtico formal, nos manejaremos con el espacio Rn . En cuanto a las herramientas fundamentalmente utilizaremos una computadora. Veamos un ejemplo: intentemos sumar en diez oportunidades 0.1, de manera que finalmente podamos imprimir el 0. S=0 FOR i=1 TO 10 S = S +0.1 NEXT i PRINT 1 S Por tratarse de elementos de Rn, esperamos obtener al ejecutar este programa que se imprima un cero, pero se observ al hacerlo que se obtuvo 0.119209 E-6. Si bien este valor es pequeo no es cero, que ocurri? Dado que los nmeros internamente se expresan en base 2, la representacin interna de 0.1 como vimos ms arriba ser 0.0001100110011, es decir, infinita. Por tanto, no podremos almacenar 0.1 sino algo muy parecido. Este pequeo error es el que se ha propagado a travs de la suma. De aqu que podemos decir que en realidad no trabajaremos en Rn sino con un subconjunto del mismo constituido por todos los nmeros con representacin en la computadora que utilizaremos. Si quisiramos ahora realizar la siguiente operacin 16.75 + 128 = 144.75, todos ellos nmeros con representacin finita en sistema binario. Si por ejemplo el equipo con el cual trabajamos admite 9 dgitos binarios para la mantisa, no podremos representar el resultado 144.75= 10010000.112 y tendremos en su lugar 144.5. Por tanto la segunda observacin que haremos, es que no usaremos las operaciones algebraicas tal como han sido definidas. Consideremos ahora la operacin 16.75 * 16.75 * 16 = 4489, el resultado que nos dar en la computadora: (16.75 * 16.75) * 16 = 280.5625 * 16 280 * 16 4480 (ya que 280.5625 = 100011000.10012 ). Si en cambio hacemos 16.75 * (16.75 * 16) = 16.75 * 268 = 4489. De aqu la tercera observacin, y es que no valen las propiedades de las operaciones. Por lo expuesto, es fcil darse cuenta que nada de lo que se ha visto hasta ahora es entonces vlido. No obstante, la situacin no es tan tremenda como parece y no cambia la matemtica, sino que se deben incorporar algunos elementos que hasta ahora no considerbamos.

4 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

6. Aritmtica de punto fijo y flotante.


En las computadoras digitales existen restricciones a la cantidad de dgitos que se pueden emplear para cada nmero, por lo cual cuando realizamos operaciones que los incrementan, sta los trunca. Por lo tanto trabajamos en computadoras con un nmero dijo de decimales o con un nmero fijo de cifras significativas. Un modo de aritmtica de la computadora es la de punto fijo, que es bastante similar a lo que hacemos al usar papel y lpiz y tambin fue la primera en ser empleada. Los nmeros son expresados en una forma familiar como una secuencia de dgitos, aunque en general son binarios mas que digitales. La diferencia sustantiva con la aritmtica ordinaria es que el punto es fijo. Se mantiene fijo el nmero de cifras decimales en cada nmero tanto antes como despus de cada operacin. La forma ms comn (y de hecho la forma actual en que se realiza) de describir la exactitud de un nmero es consignar o declarar su nmero de cifras significativas correctas. Si un nmero X est dado como x con n lugares decimales correctos (notamos nD) entonces el valor de X est entre x 0.5 10-n y x + 0.5 10-n. Si por ejemplo x = 1.414 (a 3D), entonces el valor verdadero X est entre 1.4135 y 1.4145. X [11.4135, 1.4145]. Si un nmero X est dado como x con n cifras significativas correctas (escribimos nS), los primeros n dgitos de x son tomados como correctos, contando desde la izquierda a partir del primer dgito no nulo. Por ejemplo, si x = 1.414 (a 4S) entonces X est entre 1.4135 y 1.4145. Es posible que en los procesos numricos se cometan errores ya que para realizar los clculos slo puede retenerse un numero finito de lugares decimales o cifras significativas. Asumimos que si un nmero es redondeado a nS o nD, entonces se retienen los primeros nS o nD dgitos y el resto se descarta de acuerdo a la siguiente regla: Si el nmero que est en el lugar n+1 es menor que 5, entonces se descarta de ah en adelante y el que est en el lugar n permanece sin cambio. Si es mayor que 5, se descarta de ah en adelante pero se le suma 1 al que est en el lugar n. Si es exactamente igual a 5, se descarta de ah en adelante y el nmero que est en el lugar n se redondea de modo tal que en su lugar quede un dgito par. Retomando la representacin cientfica, usaremos la notacin para punto flotante FP(b,p,q) donde b es la base, la mantisa ocupa p dgitos y el exponente q dgitos. Si por ejemplo, tenemos FP(10,6,2) nos indicar que la forma de representar los nmeros ser (. d 1d 2 d 3d 4 d 5d 6 )10 ( t1t2 ) . Vemos entonces que por ejemplo el nmero .1x10100 no tiene representacin en FP(10,6,2), se trata de una situacin de overflow o underflow.

5 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

7. Fuentes de error: errores en los datos, errores de truncamiento y errores de redondeo.


7.1 Errores de redondeo y truncamiento
Las fuentes ms comunes de errores son los datos del problema, el mtodo empleado y la mquina usada en los clculos. Una forma de manejar el problema planteado en (1), donde se observa que existe una diferencia entre el nmero que estimamos escribir y lo que realmente hacemos al usar la computadora, sera considerar no slo un nmero, sino dos, es decir, tendremos x el nmero terico o verdadero, y x el nmero que almacenamos en la computadora o aproximado. La diferencia entre ambos, o error, ser e = x x . Este puede ser positivo o negativo. Recordemos cuando vimos en Anlisis Matemtico el desarrollo de Taylor para una funcin f(x). Podamos obtener un polinomio Pn(x) y un resto Rn(x), tal que f ( x ) = Pn ( x ) + Rn ( x ) donde indicamos con el subndice n el orden de desarrollo que damos al polinomio y el resto Rn(x) indica el llamado error de truncamiento. Si ahora quisiramos evaluar la funcin en una computadora, tendremos que considerar que representaremos f ( x ) , por lo tanto f ( x ) = f ( x ) + er + et , donde et es el error de truncamiento antes citado y a este nuevo error lo denominaremos error de redondeo, que como vemos es distinto e independiente del error por truncado. La ventaja del error por redondeo es que puede ser manejado y modificado (por ejemplo cambiando la representacin interna de los nmeros en una mquina). El error por truncado por el contrario viene dado por el mtodo de aproximacin y no se puede hacer nada ms que cambiar la aproximacin para mejorarlo. Resumiento, podemos decir que dado un nmero real x, que representaremos en punto flotante FP(b,p,q) y llamaremos fl(x) podemos representarlo usando dos tcnicas: truncamiento o redondeo. Por ejemplo, para representar el nmero , usando FP(10,5,2) y ambas tcnicas, los resultados sern: FP(10,5,2,T) = fl() = 0,31415 x 101 FP(10,5,2,R) = fl() = 0,31416 x 101

7.2 Error absoluto y relativo


Al nmero ea = x x lo llamaremos error absoluto. Pero este nmero por s slo no dice demasiado, pues si por ejemplo ea = 0.01, es un gran error? No podemos saberlo a menos que conozcamos x. Si debemos comparar las exactitudes de cantidades de tamaos muy diferentes necesitamos otra medida del error que sea independiente de las magnitudes de las cantidades involucradas.

6 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

xx o error relativo, que x resulta independiente de x y que nos da una idea de cuantos dgitos significativos son correctos. Como casi nunca conocemos el valor verdadero x, usamos como definicin xx aproximada del error relativo er = . x Si se requiere una cierta exactitud en las respuestas, lo usual es usar al menos un lugar decimal ms de los requeridos en la respuesta, durante todo el clculo. Luego, al finalizar los clculos, la respuesta es redondeada a la exactitud requerida. Las cotas para los errores absoluto y relativo se obtienen de considerar los respectivos mximos errores. Con el objeto de evitar estos problemas se define er =

7.3 Errores en procesos aritmticos


En sumas y restas Si x1 y x2 son los valores exactos y x1 y x2 los valores aproximados, tenemos que e1 = x1 x1 e2 = x2 x2 y x = x1 + x2 x = x1 + x2 entonces e= xx e = ( x1 + x2 ) ( x1 + x2 ) = ( x1 x1 ) + ( x2 x2 ) = e1 + e2

Como generalmente no conocemos los errores reales debemos convertir esto, en una expresin que involucre a las cotas para el error. Aplicando la desigualdad triangular e e1 + e2 y utilizando las cotas de cada uno de estos errores e1 e1 e2 e2 e e1 + e2 . Esta desigualdad nos dice que el error absoluto en una suma de dos nmeros es menor o igual que la suma de las cotas (errores mximos) del error para los dos nmeros. En productos y cocientes Usando las definiciones anteriores x = x1 x2 x = x1 x2 e = x x = x1 x2 x1 x2

7 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

En este caso, el anlisis depende de los errores relativos de modo que primero asumiremos que las cotas para los errores relativos son r1 y r2, por lo que e1 r1 x1 e2 r2 x2 Se puede probar usando la desigualdad del tringulo que el error relativo satisface e r1 + r2 + r1r2 . x1 x2 En definitiva: El error relativo de un producto de dos nmeros es siempre menor que la suma de los errores relativos absolutos mximos en los dos nmeros. El anlisis del error para los cocientes es similar al que se hizo para las multiplicaciones, pero el lgebra es ms engorrosa. Ahora es, x x x +e x e= xx = 1 1 = 1 1 1 . x2 x2 x2 + e2 x2 De manera que el error relativo es e 1+ 1 x ex2 x2 x1 + e1 1 = = 1= 1. x1 e2 x1 x1 x1 + e1 1+ x x2 2 e Sera preferible expresar este error en trminos de cotas para el error relativo. Entonces e1 e2 e x1 x2 = . x1 e 1+ 2 x x2 2 e Asumiendo que 2 x << 1 , lo cual generalmente es cierto, entonces 2 e e e 1 2 x1 x1 x2 x2 por lo que e e e = 1 2 x1 x1 x2 x2 De aqu concluimos que el error nmeros es menor que la suma nmeros. e1 e2 + r1 + r2 . x1 x2 relativo absoluto en un producto o cociente de dos de las cotas para los errores relativos en los dos

 

$ $

8 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

8. Estabilidad y condicin.
Existen muchas razones para que la exactitud en los datos de salida sea pobre. Con frecuencia los datos de un problema son inexactos, bien porque se trata de medidas fsicas o simplemente porque su precisin es limitada. De esta forma se introducen errores en los datos que consecuentemente producen errores en la solucin. Puede ocurrir por ejemplo que el algoritmo fue pobremente construido, pero tambin puede depender del problema en s mismo. Esta inexactitud puede o no ser grande, dependiendo de lo que se conoce como condicionamiento del algoritmo o del problema. Tambin se puede hablar de algoritmos numricamente estables/inestables o problemas matemticamente estables/inestables. Si un pequeo error en los datos lleva a un error grande en la solucin para un algoritmo determinado, se dice que el algoritmo est mal condicionado, y si lleva por el contrario, a un error pequeo en la solucin se dice que el algoritmo est bien condicionado. Si un pequeo error en los datos lleva a un error grande en la solucin, independientemente del mtodo que usemos, se dice que el problema est mal condicionado, y si lleva por el contrario, a un error pequeo en la solucin se dice que el problema est bien condicionado. Si por ejemplo queremos hallar una solucin de la ecuacin de segundo grado x 2 1.0640 x + 0.2830 = 0 con una precisin de 0.0001. Utilizando la conocida forma de Baskara, hallamos que x = 0.5271 y x = 0.5369. Si ahora cambiamos el coeficiente 1.0640 por 1.0641, o sea un pequeo cambio de 0.0001, la solucin es x = 0.5233 y x = 0.5408, lo cual corresponde a una gran diferencia de 0.004 en las soluciones. Observamos que el problema planteado est mal condicionado. Cuando un problema est mal condicionado, es evidente que la precisin que se puede esperar en la solucin es bastante menor que la que presentan los datos. Es evidente que deben usarse mas de cuatro cifras decimales para resolver el problema. Si utilizamos una computadora para realizar los clculos numricos, lo haremos empleando aritmtica de punto flotante. Esto significa que el resultado de cada operacin aritmtica debe ser redondeado de acuerdo con la precisin de la mquina y el error producido se denomina error de redondeo. El efecto neto de todos los redondeos utilizados en el curso de los clculos se denomina error de redondeo acumulado y puede tener un efecto apreciable en el resultado final. Sin embargo es posible determinar cotas para el error de redondeo en base a la peor forma posible de acumulacin del error o bien en base a la forma ms probable, estadsticamente de acumulacin. Aunque las cotas determinadas en base al peor de los casos parecen ser muy pesimistas, son ms fciles de calcular que las estimaciones estadsticas y a menudo son muy tiles desde un punto de vista cualitativo. Para el clculo del nmero de condicin de una funcin y, tendremos que el error absoluto y y = f ( x ) f ( x ) = f ( )( x x ) donde pertenece al intervalo que contiene ( x , x ) .

9 UARG - UNPA

Clculo Numrico Profesorado en Matemticas

El error relativo ser y y xf ( ) ( x x ) . = y f ( x) x Si x y x estn prximos aproximaremos el resultado anterior y y xf ( x ) ( x x ) y f ( x) x y de aqu definiremos el nmero de condicin de una funcin f en un punto x como condf ( x ) = xf ( x ) . f ( x)

10 UARG - UNPA

You might also like