Вы находитесь на странице: 1из 25

Introduccin al anlisis numrico

Javier Segura
Universidad de Cantabria

Clculo Numrico I. Tema 1

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

1 / 25

Contenidos:

Sistemas de nmeros y conversiones

Errores, condicin y estabilidad

Eciencia. Un ejemplo: el mtodo de Horner

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

2 / 25

Sistemas de nmeros y conversiones

Estructura de la presentacin:

Sistemas de nmeros y conversiones

Errores, condicin y estabilidad

Eciencia. Un ejemplo: el mtodo de Horner

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

3 / 25

Sistemas de nmeros y conversiones

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

4 / 25

Sistemas de nmeros y conversiones

Sistemas de nmeros y conversiones

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

5 / 25

Sistemas de nmeros y conversiones

Sistemas de nmeros y conversiones

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

6 / 25

Sistemas de nmeros y conversiones

Sistemas de nmeros y conversiones


Conversin de base decimal a base q

Conversin de la parte entera

(an ...a0 )q = (an ...a1 )q q + (.a0 )q q = (an ...a1 )q q + (a0 )q


Al dividir un nmero entero entre q el resto es el dgito menos signicativo del nmero en base q . Dividiendo sucesivamente (hasta llegar al cociente 0) obtenemos los sucesivos dgitos del nmero en base q .

Conversin de la parte fraccionaria (.b1 b2 ...bk )q q = (b1 )q + (.b2 ...bk )q


La parte entera del resultado de multiplicar nuestro nmero por q es el primer dgito tras el punto decimal. Reteniendo la parte fraccionaria que resulta en cada paso y repitiendo sucesivamente el proceso, vamos obteniendo el resto de cifras tras el punto.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

7 / 25

Sistemas de nmeros y conversiones

Sistemas de nmeros y conversiones


Conversin de base decimal a base q

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 = ...

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

8 / 25

Sistemas de nmeros y conversiones

Sistemas de nmeros y conversiones


Conversin de base decimal a base q

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

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

9 / 25

Sistemas de nmeros y conversiones

Un programa desastroso: x=0; while x=10 x=x+0.1; end

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

10 / 25

Sistemas de nmeros y conversiones

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

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

11 / 25

Sistemas de nmeros y conversiones

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

12 / 25

Sistemas de nmeros y conversiones

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

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

13 / 25

Errores, condicin y estabilidad

Estructura de la presentacin:

Sistemas de nmeros y conversiones

Errores, condicin y estabilidad

Eciencia. Un ejemplo: el mtodo de Horner

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

14 / 25

Errores, condicin y estabilidad

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

15 / 25

Errores, condicin y estabilidad

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

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

16 / 25

Errores, condicin y estabilidad

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

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

17 / 25

Errores, condicin y estabilidad

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 )

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

18 / 25

Errores, condicin y estabilidad

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

19 / 25

Errores, condicin y estabilidad

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

20 / 25

Errores, condicin y estabilidad

Propagacin de errores
Estabilidad

Ejemplo: Dada la funcin f (x ) = x + 1 x , su nmero de condicin es: C (x ) = x f (x ) x = f (x ) 2 x x +1

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

Eciencia. Un ejemplo: el mtodo de Horner

Estructura de la presentacin:

Sistemas de nmeros y conversiones

Errores, condicin y estabilidad

Eciencia. Un ejemplo: el mtodo de Horner

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

22 / 25

Eciencia. Un ejemplo: el mtodo de Horner

Eciencia de un algoritmo numrico


Un ejemplo prctico

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

Eciencia. Un ejemplo: el mtodo de Horner

Eciencia de un algoritmo numrico


Un ejemplo prctico

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

24 / 25

Eciencia. Un ejemplo: el mtodo de Horner

Eciencia de un algoritmo numrico


Un ejemplo prctico

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.

Javier Segura (Universidad de Cantabria)

Introduccin al anlisis numrico

CNI

25 / 25

Вам также может понравиться