Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de...

119
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 / 31

Transcript of Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de...

Page 1: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 / 31

Page 2: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 3: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 4: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 5: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 6: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

13

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 7: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 8: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 9: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 10: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 13 = 0,3333333.....

¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 11: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....

¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 12: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : 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 / 31

Page 13: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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? : Falso 1

3 = 0,3333333.....¿Los números irracionales tiene un número infinito de cifrasdecimales ? :Verdadero, en caso contrario serían racionales0,789 = 789

1000

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

Page 14: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 15: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 2?(

1 +?2

+?22 +

?23 +

?24 + ....

)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 16: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 17: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 2?(

1 +?2

+?22 +

?23 +

?24 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 18: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23

(1 +

?2

+?22 +

?23 +

?24 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 19: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23

(1 +

02+

?22 +

?23 +

?24 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 20: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23

(1 +

02+

122 +

?23 +

?24 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 21: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23

(1 +

02+

122 +

123 +

?24 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

)

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

Page 22: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

TeoremaUn número real positivo y se puede expresar como

y = 2e∞∑

n=0

an

2n = 2e(

a0 +a1

2+

a2

22 + · · · + · · ·)

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

Ejemplo (Expresion de números sencillos)

5 = 22(

1 +02+

122 +

023 +

024 + ....

)

11 = 23(

1 +02+

122 +

123 +

024 + ....

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

Page 23: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

0,1 = 2e∞∑

n=0

an

2n

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

ProblemaRepresentar el número 0,703125 como

0,703125 = 2e∞∑

n=0

an

2n

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

Page 24: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

0,1 = 2e∞∑

n=0

an

2n

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

ProblemaRepresentar el número 0,703125 como

0,703125 = 2e∞∑

n=0

an

2n

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

Page 25: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

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 a0a1a2a3......at ,(donde ai ∈ {0,1}) se le denomina mantisa. Hay que hacer notar aquíque, dado que hemos impuesto siempre que a0 = 1, el número 0debemos añadirlo a la aritmética, ya que 0 no se puede representarde la forma anterior.

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

Page 26: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

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 a0a1a2a3......at ,(donde ai ∈ {0,1}) se le denomina mantisa.

Hay que hacer notar aquíque, dado que hemos impuesto siempre que a0 = 1, el número 0debemos añadirlo a la aritmética, ya que 0 no se puede representarde la forma anterior.

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

Page 27: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

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 a0a1a2a3......at ,(donde ai ∈ {0,1}) se le denomina mantisa. Hay que hacer notar aquíque, dado que hemos impuesto siempre que a0 = 1,

el número 0debemos añadirlo a la aritmética, ya que 0 no se puede representarde la forma anterior.

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

Page 28: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

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 a0a1a2a3......at ,(donde ai ∈ {0,1}) se le denomina mantisa. Hay que hacer notar aquíque, dado que hemos impuesto siempre que a0 = 1, el número 0debemos añadirlo a la aritmética, ya que 0 no se puede representarde la forma anterior.

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

Page 29: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 =2?

∑tn=0

?2n

2emin

(1 +

∑tn=1

02n

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

(∑tn=0

12n

)∑t

n=012n =

1− 12t+1

1− 12

=2− 12t

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

Page 30: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

(1 +

∑tn=1

02n

)

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

(∑tn=0

12n

)∑t

n=012n =

1− 12t+1

1− 12

=2− 12t

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

Page 31: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

(1 +

∑tn=1

02n

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

∑tn=0

?2n

2emax(∑t

n=012n

)∑t

n=012n =

1− 12t+1

1− 12

=2− 12t

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

Page 32: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

(1 +

∑tn=1

02n

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

(∑tn=0

12n

)

∑tn=0

12n =

1− 12t+1

1− 12

=2− 12t

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

Page 33: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

(1 +

∑tn=1

02n

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

(∑tn=0

12n

)∑t

n=012n = ?

1− 12t+1

1− 12

=2− 12t

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

Page 34: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

(1 +

∑tn=1

02n

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

(∑tn=0

12n

)∑t

n=012n =

1− 12t+1

1− 12

=2− 12t

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

Page 35: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

(1 +

∑tn=1

02n

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

(∑tn=0

12n

)∑t

n=012n =

1− 12t+1

1− 12

=2− 12t

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

Page 36: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 a0 = 1 y sólo se almacenan a1 y a2) y 2 bitspara el exponente e, tomando como rango de e = −2,−1,0,1.Representar dichos números sobre una recta.

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

Page 37: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 38: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 ?

12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 39: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12 ?

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 40: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

23 ?

12 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 41: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

22 ?

12 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 42: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 ?1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 43: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0

1 ?1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 44: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1

1 + 122 ?1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 45: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122

1 + 12 ?1 + 1

2 + 122

e = 1 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 / 31

Page 46: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2

1 + 12 + 1

22

e = 1 ?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 / 31

Page 47: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 48: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1

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 / 31

Page 49: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 50: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 2 2 + 12

2 + 1 2 + 1 + 12

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 / 31

Page 51: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 2 2 + 12 2 + 1

2 + 1 + 12

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 / 31

Page 52: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 53: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

Solución: Los valores posibles positivos se representan en lasiguiente tabla

e a1 = a2 = 0 a1 = 0,a2 = 1 a1 = 1,a2 = 0 a1 = a2 = 1e = −2 1

22122 + 1

24122 + 1

23122 + 1

23 + 124

e = −1 12

12 + 1

2312 + 1

2212 + 1

22 + 123

e = 0 1 1 + 122 1 + 1

2 1 + 12 + 1

22

e = 1 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 / 31

Page 54: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 / 31

Page 55: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 56: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 = 23 puesto que a0 = 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, por ejemplo, se toma emin = −126 yemax = 127.

Como puede observarse, el número total de exponentesposibles es 254, dos menos que los 256 posibles, ello se hace así,porque se reservan dos casos para tratar las denominadasexcepciones, como se verá más adelante.El valor máximo que puede tomar un número en esta aritmética es

ymax = 212723∑

n=0

12n = 3.4× 1038

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

Page 57: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 = 23 puesto que a0 = 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, por ejemplo, se toma emin = −126 yemax = 127. Como puede observarse, el número total de exponentesposibles es 254, dos menos que los 256 posibles, ello se hace así,porque se reservan dos casos para tratar las denominadasexcepciones, como se verá más adelante.

El valor máximo que puede tomar un número en esta aritmética es

ymax = 212723∑

n=0

12n = 3.4× 1038

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

Page 58: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 = 23 puesto que a0 = 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, por ejemplo, se toma emin = −126 yemax = 127. Como puede observarse, el número total de exponentesposibles es 254, dos menos que los 256 posibles, ello se hace así,porque se reservan dos casos para tratar las denominadasexcepciones, como se verá más adelante.El valor máximo que puede tomar un número en esta aritmética es

ymax = 212723∑

n=0

12n = 3.4× 1038

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

Page 59: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

y el valor mínimo positivo es

ymin = 2−126 × 1 = 1.18× 10−38

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

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

Page 60: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

y el valor mínimo positivo es

ymin = 2−126 × 1 = 1.18× 10−38

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

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

Page 61: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 = 52), 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 = −1022 y emax = 1023.

Por tanto, el valor máximo que puede tomar un número real en esta aritmética es

ymax = 2102352∑

n=0

12n = 1.78× 10308

y el valor mínimo positivo es

ymin = 2−1022 × 1 = 2.23× 10−308

Además, el número de combinaciones posibles que puede tener la mantisa es252 ≈ 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. 15 / 31

Page 62: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 = 52), 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 = −1022 y emax = 1023.Por tanto, el valor máximo que puede tomar un número real en esta aritmética es

ymax = 2102352∑

n=0

12n = 1.78× 10308

y el valor mínimo positivo es

ymin = 2−1022 × 1 = 2.23× 10−308

Además, el número de combinaciones posibles que puede tener la mantisa es252 ≈ 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. 15 / 31

Page 63: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 = 52), 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 = −1022 y emax = 1023.Por tanto, el valor máximo que puede tomar un número real en esta aritmética es

ymax = 2102352∑

n=0

12n = 1.78× 10308

y el valor mínimo positivo es

ymin = 2−1022 × 1 = 2.23× 10−308

Además, el número de combinaciones posibles que puede tener la mantisa es252 ≈ 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. 15 / 31

Page 64: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 65: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ =?

10 = 2emax+1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 66: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0

= 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)

Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 67: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)

Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 68: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =?

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)

El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 69: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1

= 2emax+1 (1 + 02 + 0

22 + 123 + 0

24 + .......)

(algúnai 6= 0)

El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 70: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)

El cero0 =

2emin−1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 71: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = ?

2emin−1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 72: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

Números más pequeñosy =

2emin−1 (02 + 0

22 + 123 + 0

24 + .......)

(a0 = 0 y algún ai 6= 0)

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

Page 73: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

Números más pequeñosy = ?

2emin−1 (02 + 0

22 + 123 + 0

24 + .......)

(a0 = 0 y algún ai 6= 0)

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

Page 74: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

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

Infinito∞ = 1

0 = 2emax+1 (1 + 02 + 0

22 + 023 + 0

24 + .......)

(ai = 0)Operación no validaNaN =

√−1 = 2emax+1 (1 + 0

2 + 022 + 1

23 + 024 + .......

)(algún

ai 6= 0)El cero0 = 2emin−1 (1 + 0

2 + 022 + 0

23 + 024 + .......

)(ai = 0)

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

2 + 022 + 1

23 + 024 + .......

)(a0 = 0 y algún ai 6= 0)

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

Page 75: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 76: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 77: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 78: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 79: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 80: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 81: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 82: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 83: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 84: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 85: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 86: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 87: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

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

Page 88: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 inmediato superior a 1 en la aritmética es

1 +12t

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

2−1(

1 +12+ ..+

12t

)=

12 −

12t+2

1− 12

= 1− 12t+1

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

Page 89: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 inmediato superior a 1 en la aritmética es

?

1 +12t

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

2−1(

1 +12+ ..+

12t

)=

12 −

12t+2

1− 12

= 1− 12t+1

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

Page 90: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 inmediato superior a 1 en la aritmética es

1 +12t

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

?

2−1(

1 +12+ ..+

12t

)=

12 −

12t+2

1− 12

= 1− 12t+1

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

Page 91: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 inmediato superior a 1 en la aritmética es

1 +12t

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

2−1(

1 +12+ ..+

12t

)=

12 −

12t+2

1− 12

= 1− 12t+1

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

Page 92: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 93: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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

12t

Por ejemplo, si t = 23 (reales en simple precisión) u = 2−23 ≈ 10−8, yen doble precisión (t = 52), u ≈ 10−16.

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

Page 94: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 =12t

Por ejemplo, si t = 23 (reales en simple precisión) u = 2−23 ≈ 10−8, yen doble precisión (t = 52), u ≈ 10−16.

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

Page 95: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 =12t

Por ejemplo, si t = 23 (reales en simple precisión) u = 2−23 ≈ 10−8, yen doble precisión (t = 52), u ≈ 10−16.

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

Page 96: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 97: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 98: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 99: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 100: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 101: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 102: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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-1)

fin algoritmo

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

Page 103: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 104: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

A continuación, mostraremos un resultado que indica el error deredondeo máximo que se produce al aproximar un número realcualquiera en 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. 25 / 31

Page 105: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

A continuación, mostraremos un resultado que indica el error deredondeo máximo que se produce al aproximar un número realcualquiera en 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. 25 / 31

Page 106: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 107: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

En muchos algoritmos, el test de parada se basa en el hecho de quedos variables estén próximas entre sí. Por ejemplo si queremosdetener un algoritmo cuando las variables A y B coincidanapróximadamente en sus primeras N cifras significativas podremosutilizar como criterio de parada cualquiera de los siguientes :

| A− B |<| A | ·TOL

| A− B |<| B | ·TOL

| A− B |< max {| A |, | B |} · TOL

donde TOL = 10−N . Si queremos que A y B coincidan en todas suscifras significativas menos las N últimas tomaremos TOL = 10N · udonde u es la unidad de redondeo de la aritmética u = 2−t

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

Page 108: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

ULPGCLogo

Aritméticas de precisión finita

En número 0 también es un caso especial cuando comparamosnúmeros. Si A ó B valen 0, los criterios de comparación anteriores nofuncionan bien. Para evitar este problema se le suele sumar unnúmero pequeño positivo al módulo al hacer la comparación, es decirharemos :

| A− B |< (| A | + ε) · TOL

| A− B |< (| B | + ε) · TOL

| A− B |< (max {| A |, | B |}+ ε) · TOL

donde ε es un número pequeño que depende de la aplicaciónnumérica en concreto que estemos implementando. A lo largo delcurso siempre utilizaremos, por sencillez, ε = 1

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

Page 109: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 Acotaciones del error de redondeo

6 Comparación de variables

7 Fuentes de errores númericos

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

Page 110: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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ónfinita:

| z − z |≤ | z | u

La mayor parte de los errores de redondeo se producen al realizar enlos algoritmos operaciones con números.

Errores de cambio de base. Es un tipo especial de error de redondeoque se produce al realizar un cambio de base para representar unnúmero real. Por ejemplo al hacer la asignación

A = 0,1

estamos generando un error de cambio de base al pasar el número0.1 en base 10 a una variable donde los números se representan enbase 2.

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

Page 111: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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ónfinita:

| z − z |≤ ?

| z | u

La mayor parte de los errores de redondeo se producen al realizar enlos algoritmos operaciones con números.

Errores de cambio de base. Es un tipo especial de error de redondeoque se produce al realizar un cambio de base para representar unnúmero real. Por ejemplo al hacer la asignación

A = 0,1

estamos generando un error de cambio de base al pasar el número0.1 en base 10 a una variable donde los números se representan enbase 2.

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

Page 112: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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ónfinita:

| z − z |≤ | z | u

La mayor parte de los errores de redondeo se producen al realizar enlos algoritmos operaciones con números.

Errores de cambio de base. Es un tipo especial de error de redondeoque se produce al realizar un cambio de base para representar unnúmero real. Por ejemplo al hacer la asignación

A = 0,1

estamos generando un error de cambio de base al pasar el número0.1 en base 10 a una variable donde los números se representan enbase 2.

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

Page 113: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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ónfinita:

| z − z |≤ | z | u

La mayor parte de los errores de redondeo se producen al realizar enlos algoritmos operaciones con números.

Errores de cambio de base. Es un tipo especial de error de redondeoque se produce al realizar un cambio de base para representar unnúmero real. Por ejemplo al hacer la asignación

A = 0,1

estamos generando un error de cambio de base al pasar el número0.1 en base 10 a una variable donde los números se representan enbase 2.

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

Page 114: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 6= 0)

x =−b ±

√b2 − 4ac

2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y 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. 31 / 31

Page 115: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 6= 0)

x = ?

−b ±√

b2 − 4ac2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y 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. 31 / 31

Page 116: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 6= 0)

x =−b ±

√b2 − 4ac

2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y 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. 31 / 31

Page 117: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 6= 0)

x =−b ±

√b2 − 4ac

2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y 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. 31 / 31

Page 118: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 6= 0)

x =−b ±

√b2 − 4ac

2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y 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. 31 / 31

Page 119: Métodos Numéricos. Grado en Ingeniería en Informática Tema ... · Tema 1 : Aritméticas de Precisión Finita Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León

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 6= 0)

x =−b ±

√b2 − 4ac

2a

una forma de evitar la cancelación que se produce cuandob ≈√

b2 − 4ac consiste en calcular primero la raíz de mayor valorabsoluto, es decir

x1 =−(

b + sign(b)√

b2 − 4ac)

2a

y 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. 31 / 31