Hace 5 años | Por A_D a microsiervos.com
Publicado hace 5 años por A_D a microsiervos.com

Se trata de una integral (o serie de integrales) muy curiosa y con una propiedad un tanto desconcertante, que es que cuando se van añadiendo términos de repente su perfecto, limpio y «redondo» resultado (π/2) se transforma de repente en un chirrirar de uñas sobre una pizarra. El horror tiene forma de un 0,9999999999752… que no es 1 exacto como en las integrales anteriores. Se podría pensar que es un problema de cálculo, redondeo o precisión… Pero no

Comentarios

W

#1 Me recuerda al metodo de la herradura:

squanchy

Pajas mentales para matemáticos onanistas.

Abeel

#4 #5 No os metáis con las matematicas discretas.

D

#7, lo del artículo no son matemáticas discretas.

Barquero_

#7 #9 Las discretas molan más que las continuas
.

D

#11. Bender's always
heedful of potential consequences, he's discreet as circumspect.

We want a discreet but never inconspicuous Bender.

Abeel

#9 ¿Y lo de los comentarios que cito donde hablan sobre redondeos y no variables reales?

D

#12, pues #5 no habla de eso y si me voy a #4 bueno, pero yo casi que hablaría ahí más de análisis numérico.

Abeel

#13 y si te digo que no tengo ni puta idea de matemáticas y solo quería hacer un chiste y ser feliz?

D

#14, pues visto lo visto te creería lol

D

#14. Ser feliz en MNM está a tu alcance. Sólo pon alguna integral de Kürtzweil en tu vida, pero integra por partes.

D

#7 No os metáis con las pajas!!!

JohnSmith_

#5 Che che che!!. Esas pajas mentales hay que plasmarlas en cosas concretas y tangibles!. Reivindico a los ingenieros!! (sin menospreciar a nadie, digo).

D

#5 Cierto, el mundo que tenemos es gracias a ellos. Pero yo quisiera preguntar a ver para qué le sirve una integral, una derivada, o un límite, para un chaval de BUP y COU (joder qué viejo soy).

freeCode

#3 lo dices por lo del onanismo neperiano, no?

Wilowterra

Es culpa del independentismo

fantomax

#26 gracias

h

No vamos a descubrir ahora que la serie armónica es divergente, ¿verdad?

meneandro

#17 ¿Pero ese tipo de errores se dan por culpa de la aritmética o por errores de cálculo puros y duros? a mi entender la aritmética no es la que falla... fallarán otras cosas: la falta de precisión en la representación de los números, que se acumulen los errores de precisión si se usan resultados de un cálculo para el siguiente sin el control adecuado, etc.

D

#18 #17. Lo que se pone en evidencia en esos casos son los límites de la arquitectura del procesador o de la unidad de lógica aritmética.

D

#24 Este tipo de errores se da porque en el cálculo mecánico no existen números reales (que son infinitos), y las propiedades de los números reales de las matemáticas no siempre son válidas. Por ejemplo, la propiedad conmutativa de la suma siempre se cumple a+b = b+a. Pero la propiedad distributiva no se cumple siempre a+(b+c) =/= (a+b)+c. Y si las cosas fallan a un nivel tan básico, los problemas con el cálculo mecánico pueden ser enormes (y supongo que no muy bien estudiados hasta ahora).

La falla es intrínseca del sistema, no de la precisión de éste. Aumentar la precisión no resuelve el problema. Si tenemos tres dígitos de precisión hay una cantidad infinita de números entre 0,998 y 0,999 que no son representados. Pero con 10 dígitos de precisión, entre 0.9999999998 y 0,9999999999, también hay un número infinito de números que no son representados (y ese infinito es exactamente del mismo tamaño que el anterior).

El problema en el comentario #25 puede suceder independientemente de la precisión que se tenga. También es independiente de lo pequeños que sean los saltos que se hagan para tomar los valores de la función.

los12monos

#29 Suspendido en álgebra

D

#33 Todos los CPU están suspendidos:
a = 10100
b = -10100
c = 5000

(a+b)+c = 5000
a+(b+c) = 0

los12monos

#35


D

#36 lol

meneandro

#25 En ejemplo cojonudo. Al final la computación es una herramienta, no es la solución a todos los males. Como tú bien has dicho: "Pero el resultado puede ser bastante loco dependiendo de cómo se calcule.". Has puesto exactamente el algoritmo adecuado para que la cosa falle, quizá otro tipo de algoritmos puedan computar esta integral sin problema (quizá un algoritmo a dos pasos que primero localice montañas y valles y evalúe hasta qué punto son relevantes). Eventualmente, hay que analizar y normalizar los datos de entrada antes de aplicar ningún algoritmo si queremos hacer algún tipo de cálculo serio, ningún matemático, físico o cualquier tipo de ingeniero que se precie aplicaría un algoritmo a ciegas sin controlar la entrada. Antes de usar una herramienta hay que saber cuáles son sus limitaciones.

Claro que siempre pasa hasta en las mejores casas, de ahí que sean comunes ataques tipo inyección de datos para diversos fines (el más típico, romper el algoritmo y por ende el programa y/o servicio).

#29 Bueno, precisión infinita, acabado el problema (siempre que el problema lo hayamos enfocado correctamente, claro; sabemos que hay problemas imposibles si se abordan de una manera, pero abordables transformándolos en otra cosa... sólo necesitamos enfocarlo bien). ¿Que es imposible? por supuesto, pero podemos hacer el error infinitesimalmente pequeño aumentando la precisión lo suficiente, tanto como para que no nos afecte a los cálculos. Es lo que se ha hecho hasta ahora en computación y lo que se seguirá haciendo. Que estamos en el mundo real y no podemos manejar cosas infinitas, pero podemos aproximarnos lo suficiente a ellas como nos convenga (tiempo, espacio y dinero mediante).

Lo creas o no, hay toda una rama de la computación que investiga estas cosas, no digo que sea algo superado, pero si estudiado y hasta cierto punto, controlado.

s

#24 el mathematica tiene una opción de precisión "infinita". Se le puede indicar la precisión que se quiera y usa el disco como memoría RAM de cálculo. Y afina hasta que el disco duro se llene (o se tenga paciencia)

D

#18 Un ejemplo. Veamos el dibujo.

Se quiere calcular numéricamente la integral. Hay dos picos p1 y p2 de un orden de magnitud muchísimo más grande que el resto. Supongamos que los picos se anulan completamente. Si la suma de los picos es exactamente cero, el resultado debería de ser la suma de los valores de toda la función (excepto los picos). Pero el resultado puede ser bastante loco dependiendo de cómo se calcule.

Supongamos que vamos de izquierda a derecha. Al encontrar el pico p1, todo lo acumulado anterior queda destruido, pues es insignificante con respecto al pico, el valor del área queda con la magnitud del pico p1. Y quedará así, sin cambios mientras no se haya llegado al segundo pico p2, pues las magnitudes sumadas son muy pequeñas, es como si siempre se sumara cero. Luego viene el pico p2, que anula al primero, y entonces la suma acumulada hasta p2 es cero. Así que el área de la curva es lo que haya DESPUÉS del segundo pico, entre p2 y b. Si vas de derecha a izquierda, sucede algo análogo, pero el resultado final será la suma de lo que está entre a y p1.

Supongamos que los picos son muy estrechos y por casualidad el algoritmo se salta uno de los picos, el resultado de la integral será el pico que no se saltó, es decir, o un valor positivo muy alto, o un valor negativo muy alto, pues el resto es no significativo.

D

#28 Yo también he visto usar coma flotante en contabilidad. Siempre tenían que hacer un pequeño ajuste al mes porque los resultados les descuadraban. Y no sabían de dónde venía eso, si todo estaba bien, era algo como mágico.

D

Por ahí han definido esa propiedad como [...] «descorazonazodora». La verdad es que muy bonita no queda.

Toda la razón, colega.

soundnessia

Las fábrica gullón
Las integrales digo

D

#16. Esas son derivadas de trigo sarraceno en realidad.

A

A ver, está bastante claro, ese es el límite computacional de la simulación en la que vivimos.

D

Lo primero que se me ocurrió es que era un error de redondeo de una calculadora o un computador, típico de la aritmética de punto flotante, donde pueden aparecer errores como éste y también abominaciones donde el error entre el resultado correcto y lo que ofrecen es de órdenes de magnitud, incluso con signo opuesto y uno un simple error de redondeo. Pero según lo leído, aparentemente no es éste el caso.

Nota editorial.
Los números de punto flotante de los computadores no son números reales ni de broma. El nombre de variables de "tipo real" es más que inadecuado. No entenderlos y usarlos sin tener el cuidado adecuado a veces da como resultados horrores computacionales.

Abeel

#8 a 6400km/h iba el Misil!

meneandro

#10 Fíjate el nivel de precisión que es necesario para a esas velocidades calcular la posición precisa para interceptar un misil en pleno vuelo y cómo acumulando un error tan pequeño e intrascendente en principio se pudo errar tanto (y el por qué las contramedidas antimisiles típicas -bengalas, papelines metálicos- son tan efectivas, no necesitan engañar demasiado a un misil, a esas velocidades basta con engañarlo lo mínimo para que falle por muchos metros).

D

#8 Los errores de redondeo no me preocupan tanto, sino otro tipo de horrores de la aritmética de punto flotante, donde por ejemplo, el resultado debería dar 3,5, y no da 3,4999999 (error de redondeo), sino 7,82 * 1054. Eso no es error de redondeo sino que sucedió un desastre (y cosas como ésta suceden).

h

#4 Yo he visto usar registros de coma flotante para guardar dineros.

En efecto, descuadraba.

Eran licenciados en informática. Les pregunté que cómo se guarda una letra en el ordenador. No lo sabían.

s

#4
Código para el máxima:

(Unas cuantas cada vez con más elementos de esa sucesión)

integrate(sin(x)/x,x,0,inf);

integrate(sin(x)/x*sin(x/3)/(x/3),x,0,inf);

integrate(sin(x)/x*sin(x/3)/(x/3)*sin(x/5)/(x/5),x,0,inf);

(La forma general:)

f(n):=integrate((prod(sin(x/(2*i-1))/(x/(2*i-1)),i,1,n)),x,0,inf);

makelist(f(n),n,1,8);

una vez ejecutada y establecida la forma general ejecutar con el numero de elementos de la sucesión que se quiera el 8 es el número de elementos de esa la sucesión..

Y se ejecuta cada línea con ctrol+intro, y ha de acabar en ";" cada sentencia

(instalarse el maxima -el motor pero el ide que trae es una castaña- el wxMaxima -para ejecutar modo mathematica- y a poder ser el GNU TeXmacs -para poder tener textos con cálculos dentro ejecutables y modificables tipo madcat-)

Bueno desde el wxMaxima en el menú "Numérico" se puede configurar la precisión que uno quiera y probar hasta asegurarse que no es un error esto y es real (de realidad quiero decir)

Pues eso. Que nada de error...

Y a ver si alguien le atrae ese soft matemático que para la mayoría de gente está suficientemente bien nutrido

CesarPipes

¿Soy el único que cuando lee integral, lo asocia con desnudo? Debo ser el único pervertido de Menéame...