Академический Документы
Профессиональный Документы
Культура Документы
Javier Segura
Universidad de Cantabria
CNI
1 / 25
Contenidos:
CNI
2 / 25
Estructura de la presentacin:
CNI
3 / 25
Tema 1
Sistemas de nmeros y conversiones
Programacin de un algoritmo numrico: sus limitaciones intrnsecas (precisin y rango de valores admisibles) estn ligadas a la forma de representacin de los nmeros enteros y decimales en formato digital. Sistemas de numeracin en base q. El sistema de numeracin decimal utiliza como base de numeracin el 10 (dgitos 0...9). Un nmero en base q se denota como (an an1 ...a1 a0 .b1 b2 ...bk ...)q donde ai y bj pertenecen al conjunto de los q dgitos elementales. Estos q dgitos representarn valores desde 0 hasta q 1.
CNI
4 / 25
Por denicin:
(an an1 ...a1 a0 .b1 b2 ...bk ...)q = an q n + an1 q n1 + ... + a1 q +a0 q 0 + b1 q 1 + b2 q 2 + ... +bk q k + ...
El sistema natural de numeracin digital es el binario (base 2), utilizando slo los dgitos 0 y 1.
CNI
5 / 25
Ejemplos: Decimal: (123.25)10 = 1 102 + 2 101 + 3 100 + 2 101 + 5 102 . Binario: (1011.01)2 = 1 23 + 0 22 + 1 21 + 1 20 + 0 21 +1 22 = 11.25.
CNI
6 / 25
CNI
7 / 25
Ejemplo: Escribamos (26.1)10 en base 2. Parte entera: Dividiendo sucesivamente, tenemos que: 26 = 2 13 + 0 ; 13 = 2 6 + 1 ; 6 = 2 3 + 0; 3 = 2 1 + 1; 1 = 2 0 + 1 Leyendo de izquierda a derecha los nmeros subrayados: (26)10 = (11010)2 Parte fraccionaria: Multiplicando sucesivamente por dos y separando la parte fraccionaria: 0.1 2 = 0.2 ; 0.2 2 = 0.4 ; 0.4 2 = 0.8 ; 0.8 2 = 1.6 ; 0.6 2 = 1.2 ; 0.2 2 = ...
CNI
8 / 25
Leyendo de izquierda a derecha tenemos los dgitos de la parte fraccionaria (subrayados) luego: (0.1)10 = (0.00011)2 donde las cifras subrayadas son las cifras peridicas. Obsrvese que el nmero 0.1 tiene innitas cifras distintas de cero cuando se escribe en base 2! Sumando los resultados de la parte entera y la fraccionaria tenemos que (26.1)10 = (11010.00011)2
CNI
9 / 25
CNI
10 / 25
Estndar IEEE
Nmeros enteros (32-bits) Asumimos que cada palabra tiene una longitud de 32 bits Asignamos uno de los 32 bits para designar el signo Las restantes 31 posiciones son utilizadas para representar los dgitos del mdulo del nmero entero
CNI
11 / 25
Estndar IEEE
Nmeros no enteros
Nmeros con parte fraccionaria: utilizamos el formato de punto (o coma) otante Esta representacin es la correspondiente versin binaria de la conocida notacin cientca o exponencial para los nmeros decimales: M 10E , 1 M < 10 pero utilizando base 2: x = M 2E , 1 M < 2 donde M es la mantisa y E el exponente.
CNI
12 / 25
Estndar IEEE
El nmero de dgitos que se pueden almacenar de la mantisa y exponente es limitado! Hay dos tipos de precisin (simple y doble): dieren en el nmero de bits de los que se dispone para almacenar las cifras Precisin simple: 32 bits, de los cuales 1 corresponde al signo, 8 al exponente, luego -126 E 127 23 a la mantisa Precisin doble: 64 bits, de los cuales 1 corresponde al signo, 11 al exponente: -1022 E 1023 (211 = 2 1024) 52 a la mantisa La especiciacin del nmero de bits para almacenar la mantisa y el exponente determinan los lmites de overow y underow y el denominado -mquina
CNI
13 / 25
Estructura de la presentacin:
CNI
14 / 25
Errores
Denicin: Si xA es una aproximacin del verdadero valor xT , denimos entonces: Error absoluto: Eabs = |xT xA | Error relativo: Erel = |1 xA |, si xT = 0. xT
El error relativo mide el nmero de cifras signicativas exactas de xA . As, si 2Erel < 10m , m N se dir que xA tiene m cifras signicativas exactas.
CNI
15 / 25
Fuentes de error
Los datos de entrada de nuestro algoritmo estn afectados de cierto error. Importante estudiar como se propaga el error. Errores de punto otante: errores de redondeo, prdida de cifras signicativas por cancelaciones, problemas de underow/overow Errores de truncamiento o discretizacin
CNI
16 / 25
Fuentes de error
Un ejemplo ... catastrco
El matemtico Jacques-Louis Lions del Collge de France fue encargado de dirigir la investigacin. Ms informacin en: SIAM News, Vol. 29. Number 8, October 1996
CNI
17 / 25
Propagacion de errores
Condicin
La condicin de una funcin f (x ) mide la sensibilidad de los valores de f (x ) a pequeos cambios en x y se dene como C= Erel (f (x )) Erel (x )
donde Erel (f (x )) es el error relativo de f (x ) para un error relativo Erel (x ) en x . Para funciones f (x ) de una variable real denimos los nmeros de condicin como C (x ) = x f (x ) f (x )
CNI
18 / 25
Propagacin de errores
Condicin
Cuando para un x dado 0 < C (x ) < 1 para ese x se dir que el problema (clculo de f ) est bien condicionado (y cuanto menor sea C mejor condicionado), mientras que si C (x ) > 1 el problema estar mal condicionado. Si C (x ) = 1, el error relativo se mantiene. Ejemplo: La funcin f (x ) = x est bien condicionada, pues C (x ) = 1/2, luego el error relativo se reduce. En cambio f (x ) = x 2 1 est mal condicionada para x 1 pues x2 C (x ) = x2 2 1 El concepto de condicionamiento se puede extender a situaciones ms generales que la de una funcin de una variable.
CNI
19 / 25
Propagacin de errores
Estabilidad
Un concepto relacionado pero diferente es el de (in)estabilidad de un algoritmo: describe la sensibilidad de un mtodo numrico especco respecto a los errores de redondeo cometidos durante su ejecucin en aritmtica de precisin nita.
Observacin: la condicin no depende de errores de redondeo mientras que la estabilidad de un algoritmo s depende del condicionamiento de la funcin que queramos evaluar.
CNI
20 / 25
Propagacin de errores
Estabilidad
y vemos que C (x ) < 1/2 para x > 0, luego la funcin est bien condicionada. Sin embargo, el algoritmo para calcular x consistente en ir realizando las operaciones implicadas en f (x ) = x + 1 x , a saber:
1 2 3 4 5
Input: x y =x +1 f1 = x + 1 f2 = x f = f1 f2
es inestable para x grande por culpa del paso 5 (hay cancelaciones entre nmeros similares).
Javier Segura (Universidad de Cantabria) Introduccin al anlisis numrico CNI 21 / 25
Estructura de la presentacin:
CNI
22 / 25
Supongamos que nos planteamos evaluar el polinomio P (x ) = 2 + 4x 5x 2 + 2x 3 6x 4 + 8x 5 + 10x 6 Contando con que cada potencia de exponente k entero cuente como k 1 productos, tendramos que el nmero total de productos para evaluar el polinomio de forma directa es: 1 + 2 + 3 + 4 + 5 + 6 = 21 y el nmero de sumas es 6. Una forma mejor de proceder es ir calculando primero las potencias de forma sucesiva: x2 = x x , x3 = x x2 , x4 = x x3 , x5 = x x4 , x6 = x x5 con lo que slo se aade una nueva multiplicacin por potencia, haciendo un total de 1 + 2 + 2 + 2 + 2 + 2 = 11
Javier Segura (Universidad de Cantabria) Introduccin al anlisis numrico CNI 23 / 25
Pero an se puede hacer mejor reescribiendo P (x ) = 2 + x (4 + x (5 + x (2 + x (6 + x (8 + x 10))))) con lo que slo necesitamos 6 multiplicaciones (y el nmero de sumas no cambia). Por tanto para evaluar un polinomio de grado n en el que ninguno de los coecientes es cero, se necesitan n(n + 1)/2 multiplicaciones por el primer mtodo, 2n 1 por el segundo y n para el tercero. Este mtodo es adems sencillo de programar: es el algoritmo de Horner o de divisin sinttica.
CNI
24 / 25
Algoritmo de Horner Inputs: z , p(x ) = a0 + a1 x + ... + an x n , an = 0 Output: p(z ). (1) b = an (2) Repetir mientras n > 0 (3) n = n 1 (4) b = an + z b (5) Volver a (2) (6) p(z ) = b.
CNI
25 / 25