Quantum mechancis in your android device

El título es una paráfrasis del libro Quantum Mechanics Using Computer Algebra: Includes Sample Programs in C++, SymbolicC++, Maxima, Maple, and Mathematica .

Esta es la segunda edición. La primera tenía el mismo título, pero cambiaban los entornos en los que se ofrecía software. En particular -de cara al propósito de ésta entrada- en vez de máxima usaba reduce. Cualquiera que haya seguido recientemente el blog adivinará que la parte de máxima esta justificada por la reciente versión de máxima para android. Si menciono la primera edición y reduce es porque resulta que también existe una versión de reduce para android. Aviso, cómo ahí explica hay dos reduce para android, el que enlazo y uno que se llama Android reduce. El primero es un entorno que incluye toda la funcionalidad pero que debe ejecutarse desde la línea de comandos. El segundo es una aplicación visual que permite hacer una serie de operaciones mediante una interfaz visual que, por debajo, llaman al core. Ah, y, por supuesto, en android hay varios compiladores de C++ (de symbolic C++ no lo sé, acabo de enterarme de que existe eso xD) así que también puede usarse ese código con uno de los compiladores.

En definitiva, que en ese libro vamos a tener un montón de código para resolver problemas típicos de mecánica cuántica, desdealgunos muy elementales hasta tópicos mas avanzados como teoría de perturbaciones, scattering, etc. También incluye algunos temas que podrían considerarse mecánica cuántica relativista, cómo las matrices de Dirac. Un fallo de la primera edicion es que no contiene ningún diskette/CD-ROM (es del 1995, por esa época no había nada mas sofisticado, y bueno, tampoco hace falta un DVD o blue ray para meter ese código y si acaso las versiones de los programas), no sé si la segunda versio´n lo incluirá, esperemos que sí.

Por cierto, cómo habréis podido ver en la web es tienen algunos pdf com parte de los primeros capítulos que incluye algo de software. Un código de máxima sacado de ese capítulos es el siguiente: /* wavepacket.mac */
depends (psi,x,psi,t);
depends (f1,x,f1,t);
depends (f2,x,f2,t);
f1: B/(sqrt(1+%i*hb*t/(m*a2)));
f2: exp(-(x*x)/(2*a2*(1+%i*hb*t/(m*a2))));
psi: f1*f2;
res1: hb*hb*diff(psi,x,2)/(2*m);
res2: %i*hb*diff(psi,t);
result1: (res1+res2)/f2;
result2: expand(result1);
print(result2);

He probado a ejecutar ese código en el maxima para windows y el de android y en ambos se ejecuta correctamente. Hay alguna diferencia eso sí. En el de windows se puede hacer copy & paste de todo y darle a ejecutar y funciona, haciendo todos los cálculos de un tirón. En el de Android eso no va y he tenido que ir copiando el código línea por línea, lo cuál es un poco pesado. En la práctica eso no sería problema porque lo suyo es poner este código en un archivo de texto (extensión txt, max o mac) y cargarlo con el comando load( path del archivo). Aviso, lo de las rutas en linux/android son un poco lio par ala gente que está acostumbrada a windows. Si ponéis los scripts de máxima en una carpeta llamada “maximaScripts” de la microSD que viene con el dispositivo (microSD0 cómo suelen llamarla los exploradores de archivos) tenéis que escribir como ruta: “/mnt/microsd/maximascrips.nombrearchivo.mac” (espero no haberme equivocado que lo estoy escribiendo de memoria).

También probé a ejecutar algo de código de reduce e igualmente funciona correctamente en la versión para android. Para cosas tan sencillas (a nivel de proceso) cómo estas el tiempo de ejecución (probado en un note 10.1 y en un note II – ambos con cuatro núcleos a 1.4 y 16 Ghz respectivamente, y 2 GB de RRAM) es despreciable y no se puede notar ninguna diferencia al tiempo que tarda en ejecutarse en un PC (AMD fusion de 6 núcleos a 3.2 GHZ, y 14 GB de RAM). Por supuesto para cálculos complejos la potencia es importante, pero al fin y al cabo la primera versión del libro se escribió para ordenadores 486, o si acaso Pentium, con velocidades de reloj del orden de los 100 MGHZ y con una memoria que podría ir entre uno 8 y 32 MB de RAM. Vale que los micros de ARM para móviles no son tan potentes cómo sus correspondientes actuales de PC, pero sin duda le dan mil vueltas a los ordenadores de esa época.

Aparte de esté código de mecánica cuántica también testeé el maxima de android con algo de cálculo tensorial, en particular le pedí que me sacase el tensor de Ricci a partir de una métrica. Una vez más el cálculo lo hizo de manera casi instantánea y no hubo diferencia apreciable al tiempo que requiere el mismo cálculo en el PC de sobremesa. Eso sí, hacer el mismo cálculo a mano podría requerir horas, así que ahí se ve lo fantástico de tener este tipo de potencia de cálculo en un dispositivo que puedas llevar a cualquier lado, en particular porque éste tipo de cálculos son los que suele necesitar un físico teórico. Incluso si alguien trabaja en teoría de cuerdas se va encontrar con la necesidad de hacer cálculo tensorial, no digamos ya si trabaja en agujero negros en teoría de cuerdas. Con estos packages de cálculo, los libros y artículos que puedes llevar en el tablet, y un stylus para escribir prácticamente hay todo lo que se puede necesitar para hacer física teórica cómodamente. Por supuesto en un tablet windows 8 con stylus aparte de estos programas tienes mathematica y maple, que aún no están portados para android, y que tienen mas scripts en la red para más tareas, pero pese a ello uno se puede apañar mas que dignamente con lo que ya hay. En el peor de los casos si uno quiere un mathemática puede pagar por ese invento extraño del wolphram alpha pro que da una funcionalidad muy similar a mthematica, pero en versión en la nube (que es un tipo de informática que detesto, y no digamos ya de pago, as´ique conmigo que no cuenten xD).

Bien, esto de poder comprar un libro es fantástico, pero sería interesante tener -cómo anticipé- material para descargar desde la web. Hay varias páginas. Por ahora la más interseante que he encontrado (par aun teórico) es MAXIMA BY EXAMPLE: DETAILED EXAMPLES OF THE USE OF THE MAXIMA COMPUTER ALGEBRA SYSTEM escrita por el físico Edwin L. (Ted) Woollett.

Por supuesto si uno sube de nivel sería interesante tener software para hacer cálculo de cosas cómo el espectro de una teoría supersimétrica a partir de su Lagrangiano, o algo para hacer diagramas de Feynman, o vaya usted a saber qué. Cómo dije antes mucho de ese software está para mathematica y mapple, que por ahora no están disponibles en Android. Pero si hay mucho para matlab, y si está para matlab está para Octave, que si está disponible en android. En fín, no nos vamos a engañar, para windows sigue habiendo mas material, pero comparado a lo que había hace un año ahora tenemos Maxima, Octave, mathstudio y reduce (por citar los mas importantes) y teniendo en cuenta que no hay móviles con windows 8 y sí con android y que lo mejor es poder compartir todo el software en el móvil, en el tablet y en el ordenador, y que eso sólo puede hacerse con Android, pues está claro cuál es el camino. Bueno, en el futuro próximo los de Ubuntu van a sacar una versión de Linux para móviles y tablets, y par linux ya sí que hay prácticamente lo mismo que para windows.

Entiendo que hay mucha gente que tiene la idea de que lo suyo es dedicarse a la física en un despacho, con el ordenador al lado. O si acaso en una biblioteca, con un portátil. Pero eso limita mucho, yo quiero disponer de todo el material posble en cualquier lado, porque, a ver, ¿quien no ha quedado con amigos, estos se van a la discoteca, se pierden por ahí, y uno se queda aburrido (eso puede ocurrir incluso si los amigos no se pierden xD) sin nada interesante que hacer? Pues en esos caso se saca del bolsillo el note II y se pone a hacer física y si uno necesita calcular un tensor de Ricci que mejor que tener un software que lo haga y luego ya hacer a mano los cálculos que corresponda ;).

Por supuesto, si se es del grupo de gente alérgico a la tecnología siempre puede optar por opciones mas…clásicas xD.

Anuncios

Etiquetas: ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: