Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Convenciones
Definiremos convenciones para expresar los resultados numéricos y su corres-
pondiente error. En evaluaciones y trabajos prácticos de la materia se exigirá que
se aplique alguna de las dos convenciones para todos los resultados finales. Si
en el ejercicio no se especifica, se sugiere usar la convención A.
Las convenciones son arbitrarias, y diremos que su uso está limitado al curso.
Distintos autores presentan convenciones similares pero no iguales.
NOTA: No confundir las convenciones para expresar un resultado con con-
signas del tipo “trabaje con álgebra de 5 cifras”.
NOTA: No se deben aplicar las convenciones en los cálculos intermedios.
1.1. Definiciones
Definición 1.1 (Definiciones básicas). Llamaremos a al verdadero valor de
una cierta magnitud (asumiendo que tal cosa existe), a (léase “a sombrero”) al
valor aproximado de la misma, ea al error absoluto y ∆a a un real positivo que
es cota para el error absoluto. Al cociente entre el error y el verdadero valor
lo llamaremos error absoluto era , y a su cota ∆ra . Aceptamos como buena
aproximación para el error relativo reemplazar en el denominador el verdadero
valor a por la aproximación a
ea = a − a
|ea | ≤ ∆a
a−a a−a
era = ≈
a a
|era | ≤ ∆ra
Convención 1.2 (A - Forma tı́pica). Dada en clase coloquialmente. Se lleva la
cota de error redondeando hacia arriba a algo de la forma
∆a = 0.d1 · 10−t
1
Convención 1.3 (B - Resultado correctamente redondeado). Dada en clase
coloquialmente. Se lleva la cota de error redondeando hacia arriba a algo de la
forma
∆a = 0.5 · 10−t
Luego se escribe el resultado a con la misma cantidad de cifras decimales menos
uno que el error aplicando redondeo simétrico.
Definición 1.4 (Cifras decimales significativas). Diremos que una medición o
resultado a tiene t cifras decimales significativas (c.d.s.) si t es el mayor entero
tal que
|ea | ≤ 0.5 · 10−t
NOTA: No confundir con el concepto de “cifras significativas” o “dı́gitos
significativos” definido en la bibliografı́a ([2], [3]) y de uso más habitual
Convención 1.5 (Notación). Sea a una medición o resultado con cota de error
∆a, anotaremos
a = a ± ∆a
que es equivalente a
a ∈ [a − ∆a, a + ∆a]
1.2. Ejemplos
Resultado bruto Conv. A Conv. B c.d.s.
123.45678 ± 0.0033 123.457 ± 0.004 123.46 ± 0.5 · 10−2 2
123.45678 ± 0.0059 123.457 ± 0.006 123.5 ± 0.5 · 10−1 1
123.12345 ± 0.005 123.123 ± 0.005 123.12 ± 0.5 · 10−2 2
188.141 ± 2.18 188 ± 3 190 ± 5 −1
211117 ± 611 211100 ± 700 210000 ± 5000 −4
1.3. Cultura
Cosas interesantes que no entran en el examen.
2
Para programar un presentador de resultados de acuerdo a alguna de las
convenciones, puede ser conveniente tratar los resultados y cotas de error
como cadenas de texto, aplicar la convención, y luego volver a grabar el
resultado como número.
Al aplicar las convenciones, el intervalo para el resultado puede no conte-
ner el intervalo original. Por ejemplo (ver fila 3 de la tabla) si obtenemos
a = 123.12345 ± 0.005, el valor 123.1281 está dentro del intervalo de po-
sibles valores de a, pero al aplicar cualquiera de las dos convenciones se
pierde. Si esto le parece incorrecto, no lo aplique en la vida profesional.
[6] recomienda convenciones similares a las del curso pero exige asegurarse
que el intervalo obtenido contenga al original.
2. Gráfica de procesos
Consiste un esquema que represente los pasos a seguir por una computadora
para realizar un algoritmo compuesto por sucesivas operaciones básicas (suma,
resta, etc.). Asumiremos que al completar cada operación básica, el resultado
parcial se almacena en memoria con cierto error relativo. El esquema deberá re-
presentar los valores de ingreso, el resultado, los errores relativos inherentes de
los datos y los generados al almacenar resultados.
Para presentar el tema seguiremos la siguiente hoja de ruta:
Hoja de ruta
1. Determinar error relativo propagado de las operaciones básicas
2. Encontrar la gráfica de proceso de las operaciones básicas
3. Analizar un algoritmo que resuelve y = (a + b) + c como una secuencia de
operaciones básicas, graficarlo
3
Suma
y = x1 + x2
ey = ex1 + ex2
x1 x2
ery = · erx1 + · erx2
x1 + x2 x1 + x2
Resta
y = x1 − x2
ey = ex1 − ex2
x1 x2
ery = · erx1 − · erx2
x1 − x2 x1 − x2
Producto
y = x1 · x2
ey = x2 · ex1 + x1 · ex2
ery = erx1 + erx2
División
y = x1 /x2
1 x1
ey = · ex1 − 2 · ex2
x2 x2
ery = erx1 − erx2
Raı́z cuadrada
√
y= x1
1
ey = √ · ex1
2 x1
1
ery = erx
2
4
Figura 1: Operaciones básicas
ia · a + ib · b
ern = + εn
a+b
en · n + ic · c
ery = + εy
n+c
a · ia + b · ib + c · ic a+b
ery = + · εn + εy
a+b+c a+b+c
Ahora acotaremos todos los errores inherentes por el real positivo r y los
errores de redondeo por µ. Aplicaremos (si hace falta) la desigualdad triangular.
|ij | ≤ r
|εj | ≤ µ
|a| + |b| + |c| |a + b|
∆ry = ·r+ 1+ ·µ
|a + b + c| |a + b + c|
5
Figura 2: Ejemplo
2.4. Cultura
Cosas importantes que no entran en el examen.
6
3. Representación de punto flotante
Presentaremos a modo de introducción algunos ejemplos de máquina con
resultados que pueden no ser los esperados para el lector. El objetivo de esta
sección es simplemente dar una mirada general de cómo funciona la aritmética
de punto flotante, y qué cuidados se deben tener al trabajar con computadoras.
3.1. Ejemplos
Usaremos la consola de Octave por su comodidad. Octave es un lenguaje de
programación interpretado, de código libre, compatible con el comercial Matlab.
Se instala fácilmente en las versiones más populares de Linux y en Windows,
para aprender a usarlo se recomienda [5]. En otros lenguajes de programación
(interpretados o compilados) se esperan resultados similares.
Antes de comenzar con los ejemplos, daremos la instrucción en la consola:
>> format long
para que los resultados se expresen con mayor precisión.
3.1.1. Ejemplo 1
Calculamos dos restas que deberı́an dar resultado nulo:
>> 2.5-0.5-0.5-0.5-0.5-0.5
ans = 0
>> 0.5-0.1-0.1-0.1-0.1-0.1
ans = 2.77555756156289e-017
En el primer caso el resultado es exactamente 0, en el segundo caso obtuvimos
un número (aprox. 3 · 10−17 ) que para muchas aplicaciones puede ser asimilable
a 0, pero es infinitamente más grande.
3.1.2. Ejemplo 2
Probemos dos operaciones lógicas cuyo resultado deberı́a ser falso (== es la
comparación lógica, resultado 0 significa falso, 1 significa verdadero):
>> 1 + 1e-15 == 1
ans = 0
>> 1 + 1e-16 == 1
ans = 1
En el primer caso el resultado efectivamente es falso, pero en el segundo obte-
nemos como verdadero 1 + 1 · 10−16 = 1, aparentemente el segundo término de
la suma “se pierde en el camino” por ser muy pequeño.
3.1.3. Ejemplo 3
Probaremos la asociatividad de la suma. Definimos tres variables
a = 1/(3 · 1012 ), b = 1, c = −1
7
>> a = 1/3e12
a = 3.33333333333333e-013
>> b = 1
b = 1
>> c = -1
c = -1
>> a + b + c
ans = 3.33288951992472e-013
>> a + (b + c)
ans = 3.33333333333333e-013
El resultado debe ser a, pero en el primer caso tenemos un error ya en la cuarta
cifra significativa.
En lugar de usar el operador +, probamos con la función sum para sumar
coordenadas de vectores de Octave:
>> sum([a, b, c])
ans = 3.33288951992472e-013
>> sum([a, b, c], ’extra’)
ans = 3.33333333333333e-013
Cuando la llamamos sin pasarle argumentos especiales, el resultado es el mismo
que en el primer caso. Cuando le pasamos el argumento extra la función obtiene
el resultado correcto.
(IEEE 754), publicado por primera vez en 1985, última edición en 2008.
8
c ∈ Q, (c)2 = 1.b1 b2 b3 b4 . . . bp
bi ∈ {0, 1}, p ∈ Z+
q ∈ Z, Emin ≤ q ≤ Emax
3.3. Propiedades
Los números de máquina son un subconjunto finito de los racionales.
9
En general se esperan errores pequeños, pero hay casos particulares donde
se debe tener cuidado. En algunos casos se puede achicar el error asociado a
trabajar con punto flotante usando un algoritmo mejor, en otros no queda más
que aumentar la precisión de máquina.
3.5.1. Ejemplos
Completar con ejemplos
Referencias
[1] González, H. Análisis Numérico, Primer Curso. 2da ed. Buenos Aires: Nue-
va Librerı́a, 2011.
[2] Cheney, W.; Kincaid, D. Numerical Mathematics and Computing. 6ta ed.
EE.UU.: Thomson Brooks/Cole, 2008.
[3] Burden, R. L,; Faires, J.D. Análisis Numéirco. 2da ed. México: Iberoaméri-
ca, 1996.
[4] Trefethen, L.N.; Bau, D. Numerical Linear Algebra. SIAM, 1997.
[5] Borrel i Nogueras, G. Introducción informal a Matlab y Octave. [Digital],
2008.
[6] Bakhvalov, N. S. Numerical Methods. 1st ed. U.R.S.S.: MIR, 1977.
10