Métodos Numéricos. Grado en Ingeniería en Informática Tema...

35
ULPGCLogo Métodos Numéricos. Grado en Ingeniería en Informática Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 1 / 35

Transcript of Métodos Numéricos. Grado en Ingeniería en Informática Tema...

Page 1: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Métodos Numéricos.Grado en Ingeniería en Informática

Tema 1 : Aritméticas de Precisión Finita

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 1 / 35

Page 2: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 2 / 35

Page 3: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 3 / 35

Page 4: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

Tipos de NúmerosEjemplo de números naturales = 1Ejemplo de números enteros = −1Ejemplo de números racionales = 1

3

Ejemplo de números irracionales = �,√

2Ejemplo de números complejos = 2 + 3i

Verdadero o Falso ?¿Los números racionales tienen siempre un número finito decifras decimales? : verdadero o falso? Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :verdadero o falso? Verdadero, en caso contrarioserían racionales 0,789 = 789

1000

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 4 / 35

Page 5: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=1

an

2n

donde e es un número entero, a1 = 1, y para n > 1, an = 0 o an = 1.

Ejemplo (Expresion de números sencillos)

10 = 24(

12+

022 +

123 +

024 + ....

)

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 5 / 35

Page 6: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProblemaDemostrar que al representar el número real 0,1 como

0,1 = 2e∞∑

n=1

an

2n

el número de elementos no nulos an es infinito.

ProblemaRepresentar el número 0,0 703 125 como

0,0 703 125 = 2e∞∑

n=1

an

2n

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 6 / 35

Page 7: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

Por tanto, en una aritmética de precisión finita, los números realesdistintos de cero se representan como

Definición

y = ±2et∑

n=1

an

2n

donde e varía entre dos valores limites emin ≤ e ≤ emax . Al valor t sele llama precisión de la aritmética. A la secuencia a1a2a3......at , (dondeai ∈ {0,1}) se le denomina mantisa. Hay que hacer notar aquí que,dado que hemos impuesto siempre que a1 = 1,. El número 0 debemosañadirlo a la aritmética, ya que 0 no se puede representar de la formaanterior.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 7 / 35

Page 8: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProblemaCalcular los valores positivos mínimo y máximo que puede tomar unnúmero real en una aritmética de precisión finita en función de t , eminy emax .

Solución :Número real mínimo de la aritméticaymin =2emin

(12 +

∑tn=2

02n

)Número real máximo de la aritméticaymax =2emax

(∑tn=1

12n

)∑t

n=112n =

12−

12t+1

1− 12

=1− 12t

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 8 / 35

Page 9: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProblemaCalcular todos los números reales que se pueden construir tomando 5bits de la forma siguiente: 1 bit para el signo, 2 bits para la mantisa (esdecir t = 3, puesto que a1 = 1 y sólo se almacenan a2 y a3) y 2 bitspara el exponente e, tomando como rango de e = −1,0,1,2.Representar dichos números sobre una recta.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 9 / 35

Page 10: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en la sigu-iente tabla

e a2 = a3 = 0 a2 = 0,a3 = 1 a2 = 1,a3 = 0 a2 = a3 = 1e = −1 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = 0 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 1 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 2 2 2 + 12 2 + 1 2 + 1 + 1

2

los valores negativos son los mismos cambiados de signo.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 10 / 35

Page 11: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

Si representamos los números positivos sobre una recta obtenemos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 11 / 35

Page 12: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 12 / 35

Page 13: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

En 1985, la sociedad I.E.E.E. presentó una serie de especificacionesestándares para la definición de una aritmética de precisión finita paralos números reales. En este trabajo, se codifica un número real ensimple precisión utilizando 32 bits de memoria, de los cuales 23 bitsse utilizan para la mantisa (es decir t = 24 puesto que a1 = 1 no sealmacena), 1 bit se utiliza para el signo y 8 bits se utilizan para elexponente e, lo cual da un rango de 28 = 256 valores posibles para elexponente e. En este caso, se toma emin = −125 y emax = 128. Comopuede observarse, el número total de exponentes posibles es 254, dosmenos que los 256 posibles, ello se hace así, porque se reservan doscasos para tratar las denominadas excepciones, como se verá másadelante.El valor máximo que puede tomar un número en esta aritmética es

ymax = 212824∑

n=1

12n = 3.4× 1038

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 13 / 35

Page 14: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

También se define en este trabajo de I.E.E.E. un estándar para una aritmética endoble precisión. En este caso, se utilizan 64 bits para almacenar un número real,de los cuales 52 bits se utilizan para la mantisa (t = 53), 1 bit para el signo y 11bits para el exponente, lo que da lugar a 211 = 2048 posibilidades de elección deexponente e. En este caso, se toma emin = −1021 y emax = 1024.Por tanto, el valor máximo que puede tomar un número real en esta aritmética es

ymax = 2102453∑

n=1

12n = 1.78× 10308

y el valor mínimo positivo es

ymin = 2−1021 12= 2.23× 10−308

Además, el número de combinaciones posibles que puede tener la mantisa es253 ≈ 9.0×1015. Es decir, la aritmética tiene una precisión de 15 dígitos decimales.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 14 / 35

Page 15: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 15 / 35

Page 16: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

y el valor mínimo positivo es

ymin = 2−125 12= 1.18× 10−38

Además, el número de combinaciones posibles que puede tener lamantisa es 224 ≈ 1.68× 107. Es decir, la aritmética tiene una precisiónde 7 dígitos decimales.

Tratamiento de las excepciones en el estándar de I.E.E.E.

Infinito∞ = 1

0 = 2emax+1 (12 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1 = 2emax+1 (1

2 + 022 + 1

23 + 024 + .......

)(algún ai ∕= 0)

El cero0 = 2emin−1 (1

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

Números más pequeñosy = 2emin−1 (0

2 + 022 + 1

23 + 024 + .......

)(a1 = 0 y algún ai ∕= 0)

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 16 / 35

Page 17: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProgramaPseudocódigo para calcular el número positivo (mayor que cero) máspequeño

Algoritmo Menor_Numero_Positivovariable real A←1.variable entera M←0mientras A>0 hacer

A←A/2M←M+1

fin mientrasescribir(M)

fin algoritmo

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 17 / 35

Page 18: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProgramaPseudocódigo para calcular el mayor número positivo de unaaritmética. El programa devuelve un entero M tal que 2M es el númeropositivo mayor posible.

Algoritmo Mayor_Numero_Positivovariable real A←1.variable real B←2.variable entera M←0mientras B>A hacer

A←2*AB←2*AM←M+1

fin mientrasescribir(M)

finalgoritmoLuis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 18 / 35

Page 19: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProblemaDada una aritmética de precisión finita cualquiera, calcular la distancia que hay entre elnúmero 1 y su inmediato superior, es decir, el número que va después de 1, y ladistancia entre el número 1 y su inmediato inferior.

Solución: El número 1 en una aritmética de precisión finita se escribe como

1 = 2(

12

)el número inmediato superior a 1 en la aritmética es

2(

12+

12t

)= 1 +

12t−1

y el número inmediato inferior a 1 viene dado por

20(

12+ ..+

12t

)=

12 −

12t+1

1− 12

= 1− 12t

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 19 / 35

Page 20: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 20 / 35

Page 21: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

Dado un número real cualquiera y , al representarlo en una aritméticade precisión finita se produce un error de redondeo, llamaremos y ∈ Aal número real que mejor aproxima a y dentro de A.

DefiniciónDada una aritmética de precisión finita, se define la unidad deredondeo u como

u = 2−t

Por ejemplo, si t = 24 (reales en simple precisión) u = 2−24 = 5.97× 10−8, y en doble precisión (t = 53), u = 2−53 = 1.1× 10−16.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 21 / 35

Page 22: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

ProgramaPseudocódigo para calcular la unidad de redondeo (precisión de laaritmética) de una aritmética. El programa devuelve un entero M talque u = 2−M

Algoritmo Unidad_Redondeovariable real A←1.variable real B←2variable entera M←1mientras B>1 hacer

A←A/2B←1+AM←M+1

fin mientrasescribir(M)

fin algoritmoLuis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 22 / 35

Page 23: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 23 / 35

Page 24: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

La práctica consiste en:

Escribir en C los programas 1,2 y 3 para comprobar cuáles son elmenor y el mayor número positivo, y la unidad de redondeo delordenador para las diferentes precisiones de números reales.

Manejar excepciones realizando operaciones no válidas

Implementar una función para calcular la distancia relativa entre 2variables

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 24 / 35

Page 25: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 25 / 35

Page 26: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 26 / 35

Page 27: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 27 / 35

Page 28: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 28 / 35

Page 29: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

A continuación, mostraremos un resultado que indica el error de re-dondeo máximo que se produce al aproximar un número real cualquieraen una aritmética de precisión finita.

TeoremaSean ymin , ymax los valores positivos menor y mayor de una aritméticade precisión finita. Sea u la unidad de redondeo de dicha aritmética. Siun número real z verifica queymin <∣ z ∣< ymax , entonces

∣ z − z ∣≤∣ z ∣ u

donde z es el número más cercano a z en la aritmética.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 29 / 35

Page 30: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

TeoremaSi z1, z2 son dos números de la aritmética distintos entonces

∣ z1 − z2 ∣≥ max{∣ z1 ∣, ∣ z2 ∣

}u

TeoremaDados 2 puntos de la aritmética z1, z2. Si

∣ z1 − z2 ∣< max{∣ z1 ∣, ∣ z2 ∣

}u

entonces z1 = z2

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 30 / 35

Page 31: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 31 / 35

Page 32: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finita

En muchos algoritmos, el test de parada incluye el hecho de que dosvariables estén próximas entre sí. Para valorar si 2 dos variables A y Bestán próximas entre sí utilizaremos la distancia relativa

dr (A,B) =∣ A− B ∣

max {∣ A ∣, ∣ B ∣}+ 1

Por tanto expresaremos el criterio de parada del algoritmo como

dr (un,un−1) < TOL

donde un,un−1 son 2 etapas consecutivas del algoritmo y TOL rep-resenta la precisión que deseamos en la aproximación. El valor máspequeño para asignar a TOL es la unidad de redondeo u = 2−t

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 32 / 35

Page 33: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Contenido

1 Los diferentes tipos de números y como se escriben en base 2

2 Las aritméticas standard de 32 y 64 bits

3 El tratamiento de las excepciones en una aritmética

4 La unidad de redondeo de una aritmética

5 Práctica 1. Compilar en C los programas para calcular el númeromayor, menor y al unidad de redondeo de una aritmética

6 Acotaciones del error de redondeo

7 Comparación de variables

8 Fuentes de errores númericos

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 33 / 35

Page 34: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finitaFuentes de errores numéricos.

Dentro de las posibles fuentes de errores numéricos, destacaremos 3tipos:

Errores de redondeo. Son los que se producen al ”redondear” unnúmero real para poder expresarlo en una aritmética de precisión finita:

∣ z − z ∣≤ ∣ z ∣ u

Errores de cambio de base. Este tipo de errores se produce al realizarun cambio de base para representar un número real.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 34 / 35

Page 35: Métodos Numéricos. Grado en Ingeniería en Informática Tema ...lalvarez/teaching/mn/2010MnTransparenciasTema1_Arit... · ULPGCLogo Métodos Numéricos. Grado en Ingeniería en

ULPGCLogo

Aritméticas de precisión finitaFuentes de errores numéricos.

Errores por Cancelación. Estos errores se producen al restarnúmeros de aproximadamente la misma magnitud. Por ejemplo, en laconocida fórmula del cálculo de raíces de un polinomio de grado 2,ax2 + bx + c = 0 (con a ∕= 0)

x =−b ±

√b2 − 4ac

2a

una forma de evitar la cancelación que se produce cuando b ≈√b2 − 4ac consiste en calcular primero la raíz de mayor valor abso-

luto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2ay después la segunda raíz x2 utilizando la relación x1x2 = c/a.

Luis Alvarez León () Análisis Numérico Univ. de Las Palmas de G.C. 35 / 35