Pseudo valor inf

Chema Cortes py en ch3m4.org
Lun Mar 22 09:58:12 CET 2004


Antonio Castro escribió:

> Mira una cosa:
> 
> 
>>>>1.0/0.0
> 
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   ZeroDivisionError: float division
> 
> El resultado podría ser infinito pero da un error y no deja
> de resultar una decisión arbitraria y caprichosa considerar unas
> veces inf y otras provocar el error.

Siendo precisos, podría ser tanto +infinito cómo -infinito, según cómo 
tiendas asintóticamente a 0. En realidad se considera una 
indeterminación, y no hay posibilidad de seguir operando con el resultado.


> Por cierto acabo de ver otra cosa sorprendente:
> 
>>>>math.tan(math.pi/2.0)
> 
> 16331778728383844.0

Es un resultado correcto, teniendo en cuenta cómo está definido pi (que 
justamente es como está definido por la librería math de C). Es un 
problema de precisión del cálculo. Hasta la versión 2.3 había un módulo 
llamado 'mpz' para cálculo multiprecisión, pero se quitó por ser 
dependiente de la plataforma (creo).


> Y otra cosa más
> 
> 
>>>>import math
>>>>dir(math)
> 
> ['__doc__', '__file__', '__name__', 'acos', 'asin', 'atan', 'atan2',
> 'ceil', 'cos', 'cosh', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp',
> 'hypot', 'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'sin', 'sinh',
> 'sqrt', 'tan', 'tanh']
> 
> Se podría haber puesto math.inf y math.nan

Mira el PEP 754 que te puse. La idea es crear un módulo llamado 
'fpconst' con estas entidades y otras utilidades.


> Los números reales siempre han sido un quebradero de cabeza y
> personalmente creo que si se puede usar inf para ciertas cosas.
> 
> El punto que yo considero conflictivo es que una cantidad finita tal que
> a=1.0e999 sea considerada infinito.

Matemáticamente hablando, es una cantidad finita; pero si hablamos de 
cálculo, ésta una cantidad que puede considerarse "no computable". ¿Hay 
álguien realmente capaz de hacerse una idea de la dimensión de esta 
cantidad? (No estaría mal recomendar aquí el libro "El hombre anumérico" 
de la colección Metatemas). Creo que es mucho peor el problema de la 
precisión.




Más información sobre la lista de distribución Python-es