12.5.06

1128.- Calculo numerico

¿Podemos fiarnos de los cálculos efectuados con ordenador? de Ciaurri y Varona.

Un excelente artículo sobre el (no tan) viejo tema de las cajas negras, con ejemplos concretos.

14 comentarios:

Martín dijo...

Muy interesante. Me hizo acordar de una lista que tengo de cuentas e integrales que engañan a programas de cálculo.

Un ejemplo era, con el Mathematica, decirle a los alumnos que busquen los ceros de (x-1)^7, pero uno se los daba expandido. Si uno le pide al Mathematica que lo grafique, se ve que hay un cero cerca del 1. Si uno hace "zoom" para ver mejor, y pide x entre 0.99 y 1.01, Mathematica dibuja la función oscilando montones de veces arriba y abajo del eje.

Y mis favoritos son dos: primero, calcular la sucesión x_0=k, x_1=x_0, x_{n+1}=20x_n-19x_{n-1}, empezando con algún k no entero. Es notable lo rápido que "diverge".

Mi otro favorito, con el Excel, por ejemplo es hacerle hacer 10^15-1. Da 10^15.

manematico dijo...

interesante muy interesante me gusto, justamente ayer estaba dando una charla donde hablaba de problemas ligados a la manera de calcular, cosas de transformaciones de schwarz-christoffel...

oiga ministro, de casualidad conoces a fernando cuckierman?

JuanPablo dijo...

lo conozco, mane, vos también?

martín, linda lista de ejemplos!
El de x_0=k=x_1 nunca lo había planteado así, pero lo suelo hacer con la transformación del panadero y un x_0 cualquiera en [0,1].

Y a la inversa, si uno resuelve el recontradeterminísitico péndulo -x''=sen(x), resulta ser caótico!

pon dijo...

Me parece que la nota esta bien, pero el punto de vista de echarle toda la culpa a un software, es ignorar por lo menos que el software esta hecho por una persona, y que tiene limitaciones en los datos que puede recibir como entrada.

Por ejemplo mi calculadora de cientifica me deja calcular el seno de 10^20, pero en el manual me dice que si el numero es grande la respuesta no tiene precision.

Es por eso que cualquier calculo serio en una computadora tiene que tener en cuenta de que pueden haber errores. Por ejemplo en los calculos para batir el record de cifras de pi siempre se suelen usar por lo menos 2 algoritmos diferentes.

JuanPablo dijo...

pon, software como el mathematica o el matlab no están "hechos por una persona", sino por equipos enormes, tienen costos entre 2000 y 3000 dólares -sin los paquetes especiales para finanzas, estadística, ingeniería...- y no traen documentados los límites de validez del producto, ni se conoce el código fuente del programa para ver qué hace.

opn dijo...

Juan Pablo: si confio en una caja negra, la culpa no es de la caja negra, es mia (ademas por pagar 3000 dolares).

No tengo la licencia de estos softwares, pero seguramente dice que no se hacen responsables de estos "errores".

Pero siempre hay errores, todo software es creacion de seres humanos.

(No se a que entiendes por grupos enormes de desarrollo, pero no creo que en el caso de mathematica sean mas de 10-20 ingenieros, algunos mas lo que hacen research de algoritmos, pero no creo que sean muchos mas).

JuanPablo dijo...

opn, por "grupos enormes de desarrollo" entiendo un grupo que manjea cuatro compañías (dos en USA, una en Europa, otra en Japon).

En 1990, mathematica llegó a los 100 empleados, y a los 200 en 1993.

Desde entonces, no ha dejado de crecer y agregar actividades. Entre otras cosas, edita un Journal con un staff de 29 personas que trabajan para la compañía (y eso que no cuento los editores, salvo los que pertenecen a la misma compañía).

Buscando en la página, no encuentro advertencias ni disclaimer sobre los errores, todo lo contrario: lo fabuloso que son haciendo cálculos de toda clase.

(una discusión aparte correspondería a su entrada en las universidades, los cursos notebooks-based y demás)

manematico dijo...

conocî a fernando hace dos anhos que pasô por mi uni para trabajar con jorge vitorio pereira con quien acaba de sacar un articulo. yo estaba por comenzar el doctorado, estuvimos en el bar el relax antes de que se fuera. me lo saludas si lo ves.

manhana comienzo a iterar una fraccion racional en una de las cajas negras del instituto; ya te contarê que resulta

pno dijo...

Bueno una cosa son los empleados de Wolfram y otra los empleados que trabajan en Mathematica. Y seguramente buena parte de esos empleados se dedican a managment, ventas, y no tienen que ver con el codigo de Mathematica.

Aqui hay una licencia de mathematica (no se a que version se refiere).

"WRI DOES NOT WARRANT THAT THE
SOFTWARE IS FREE FROM ALL BUGS AND OMISSIONS; THE PRODUCT IS SOLD AS IS."

JuanPablo dijo...

el software siempre trae esta clase de licencias, no hay nadie que se haga responsable nunca de los daños que puedan causar, ni de que el funcionamiento sea el que prometen al venderlo, pero sería toda una discusión separada. Si aceptamos esas licencias, desde el momento en que prendés la máquina, no tenés derecho a quejarte de nada, ni siquiera de las pantallas azules de windows.

Sacando el número exacto de los que se dedican a programar, toda la empresa está construída en torno al mathematica, si sacamos el producto se cae todo atrás. ¿No tendrán que poner más gente a programar y menos a marketing?

npo dijo...

Hay una maxima de la ingenieria del software que dice que un parto demora 9 meses independientemente del numero de madres que se dediquen al proyecto.

JuanPablo dijo...

npo, en este caso no, cada algoritmo necesita especialistas, y bien pueden trabajar en paralelo. Es imposible que unos pocos matemáticos escriban todo, por el volumen de conocimientos que necesitarían manejar. Tiene que haber gente trabajando en la parte de estadística que no es la misma de ecuaciones diferenciales (y tampoco es lo mismo ordinarias que parciales). Ni hablar de cálculo simbólico, teoría de números, las funciones especiales (desde los mil tipos de polinomios hasta las bessel, airy,...)

[te quedan dos combinaciones ;) ]

onp dijo...

Solo voy a usar una.

JuanPablo dijo...

dale, usá la otra y quedamos amigos :)