Software científico en Android: Máxima y Octave

En su momento, cuando hablé de la saga note (phablet y tablet) y del HTC flyer, todos equipos con sistema operativo android, mencioné algún software científico que podía usarse en esos dispositivos.

Resalté programas cómo mathstudio, que tiene una gran cantidad de funciones incorporadas y un lenguaje de script. Es un buen programa que, desafortunadamente, parece haber paralizado su desarrollo y lleva congelado en la versión 5.3 alrededor de un año. También comenté la existencia de programas cómo Addi y mathmatiz que eran unos clones restringidos de matlab. Posteriormente llegó a android una versión de Sage que permite conectar con el servidor web a través de una interfaz dedicada. También llegó matlab, pero. lo mismo que Sage, en una versión «para la nube» que permite conectar bien con los servidores del fabricante o bien con una versión con una versión de matlab en un PC local. Habrá a quien esto de la nube le parezca bien pero para mí en particular me parece un invento inútil.

Antes de seguir con el software una pequeña consideración sobre hardware y sistemas operativos. A finales de verano apareció windows 8. Yo había probado en su momento la versión beta en un tablet archos que inicialmente venía con windows 7. En la época en que tuve el archos android estaba casi recién nacido y había muy poco software serio para ese sistema. Además, el hardware no era muy potente. Pero ahora la situación a nivel hardware ha cambiado. El note II y el note 10.1 tienen un procesador con cuatro núcleos y 2 GB de RAM. Ambos traen 16 GB de almacenamiento interno (yo quería haber pillado las versiones de 32 o 64 GB, pero no es fácil encontrarlas) y una microSD de 32 y 64 GB respectivamente en cada uno. Cierto que esos micros no son tan potentes y la memoria no es tan veloz cómo la de PC, pero aún así siguen siendo unas especificaciones bastante potentes. Mi último – y único, que nunca me han entusiasmado esos chismes- portátil (que tengo prestado con carácter indefinido) era un dual core a 1.8 GHZ con 2 GB de RAM y 128 GB de disco duro. Debo decir, que, en general la sensación de uso con los note es mucho mejor que con el portátil. Y dado el mayor tamaño de los programas windows el almacenamiento es equivalente.

Vale, en el último párrafo he comparado un hardware de éste año (o finales del pasado) en android con otro de hace unos 6 años en windows, tal vez es injusto, aunque, todo sea dicho, con ese portátil podía usar todo el sotware matemático que necesitaba y buena parte del musical (que es el software mas exigente que suelo usar en ordenadores). Ahora hay tablets windows 8(versión pro – y RT para arquitecturas ARM, aunque no le veo yo ningún futuro a ésta versión-) cómo el surface de microsoft y Samsung Ativ. Probé este último en un corte inglés y no me convenció nada. Era demasiado grande cómo para llevarlo cómodamente por ahí y la suite del S-pen no estaba a la altura de la de Android (aunque haya alternativas, claro). La potencia y fluidez no estaban mal, pero, así, en general, el windows 8 me parece un híbrido un tanto fallido. Las aplicaciones de escritorio -que son las potentes- apenas pueden optimizarse para uso táctil y las hechas para la interfaz táctil metro tienen demasiadas limitaciones (casi tantas cómo las de IOS y desde luego mucho más que las de Android) así que no confío yo en ver ninguna especialmente estupenda. Y, desde luego, ahora mismo no hay ningún software de los importantes portados a esa interfaz. Total, que al menos por ahora el camino en talbets/móviles es android, y por eso esta entrada.

Y vamos ya por fín con los dos programas protagonistas. Seguiré el orden cronológico de aparición, que es el contrario del de la entrada.

Octave

Para quien no lo conozca decir que octave es un clon muy, muy completo de matlab para linux (aunque por supuesto hay versión para PC, y ahora android). En algunas ingenierías se usa éste en las clases en vez de matlab así que su uso está bastante extendido.

El responsable del port es el autor del anteriormente mencionado programa Addi. Para instalar el programa hace falta instalar también el emulador de terminal para android, que es desde dónde se va a teclear el código de octave. Para poder usar gráficos hay que instalar otro programa, droidplot. Y aparte de los packages que vienen por defecto pueden instalarse otros adicionales. En ésta descripción sobre el modo en que se instala Octave se ve una gran ventaja de los programas Android sobre los que hay para windows 8 (interfaz metro) y, desde luego, IOS. Hablo de la posibilidad de que los programas se comuniquen unos con otros, lo cuál permite crear una infraestructura de algo similar a los plugins típicos de windows (y MAC y creo que también en Linux, aunque mi experiencia con linux es limitada), que son la verdadera potencia a la mayoría de sus programas mas famosos.

Coincidió que cuando instalé octave -allá por navidades- tuve que dar clases de octave (apoyándome en mi conocimiento de matlab obtenido en las asignaturas de cálculo numérico) a un chaval, estudiante de ingeniería, que lo usaba en linux. Por la misma época también estuve ayudando a alguien a hacer un modelo sobre temas de ecología matemática. Para estudiar ese modelo hubo que elaborar un programa en matlab. El caso es que probé el código matlab de las clases y del programa en la versión de octave para android y fuí capaz de ejecutarlo (una vez me hice con el modo de usar el programa) en android. Un poco mas adelatne me tocó hacer un programa en matlab (basándome en algo ya hecho) para un tema mucho mas complejo (ecuaciones en derivadas parciales no lineales con valores de frontera) y una vez más el código que iba en matlab iba en octave.

También probé algún código típico de cálculo numérico (runge kutas y cosas así) y no me dió problemas. Cómo no uso matlab (ni hago cálculo numérico habitualmente) tengo claro que par mis necesidades en ese campo octave cumple de sobra, aunque la interfaz de matlab sea mas amigable.

Máxima on Android

Máxima es un software para linux, con versión para PC, orientado al cálculo simbólico. Sólo lo conocía hasta ahora por referencia. Me enteré de su existencia cuando buscaba software en android que pudiese hacer cálculo tensorial (en una época en que- además- necesitaba hacer ese tipo de cálculos sí o sí y cómo no encontré alternativa al final hice parte de ellos a mano y la otra parte en el mathemática del PC. con lo cuál se perdía el «do everything everywhere» que es la esencia de los tablets). En la wiki sobre software científico informaban de la lista de programas que hacían cálculo simbólico con tensores y aparecía mencionado máxima, pero el problema es que por ese entonces no estaba disponible para Android. Hoy, en una de esas búsquedas que hago periódicamente, he descubierto que al fín lo han portado. Y, claro, lo he instalado ipso facto. Ocupa bastante, 90 MB (30 el programa base y 60 de librerías extra que se bajan posteriormente a instalar la aplicación). Cómo no lo conocía previamente y acabo de instalarlo no puedo decir mucho sobre él. He hecho las pruebas básicas (usando el teclado de sagemath para álgebra, que es bastante cómodo para introducir expresiones matemáticas, aunque hay otros teclados similares e iré probando cuál es mejor). Veo que la sintáxis no es la misma que la de mathemática en algunos aspectos (por ejemplo, los parámetros de las funciones van entre paréntesis en vez de entre corchetes) aunque sospecho que no es demasiado distinta. Mirando el manual veo que trae soporte integrado para cálculo tensorial y no depende de packages externos, cómo mathemática, lo cuál parece una ventaja. He leído, buscando información, que en algunas universidades en vez de mathematica o maple se usa este programa en algunas asignaturas así que asumo que debe ser bastante potente. En todo caso está claro que tanto octave cómo éste máxima son programas profesionales- y gratuitos- que pueden hacer un trabajo cuanto menos similar a matlab y mathematica. Cómo quiera que están disponibles en tablets android – y matlab y mathematica no- sospecho que van a tener un boom. Yo desde luego voy a instalar también la versión windows de máxima y en la medida de lo posible haré todo en este entorno para así tener compatibilidad entre tablet y PC. Por cierto, Octave está disponible para IOS sólo en versión «en la nube» (vamos, cómo si no existiese por tanto xD) y desde luego máxima no está disponible (ni creo que lo llegue a estar). Los usuarios de la manzana -hasta dónde yo sé- deben conformarse con mathstudio (ok no está mal) y mathomatic. De éste último hhay versión también para android, pero no me he molestado en instalarla porque no parece ofrecer nada que no tengan ninguno de los programas anteriores.

Aparte de programas de corte tan profesional cómo Octave y Máxima, y el resto de mencionados, en android hay bastante mas software científico de diverso pelaje (por ejemplo uno específico para estadística, statistic calculator). Desde luego hay mucho más para windows, pero la brecha se va reduciendo. Dado que el 9x de los móviles a día de hoy son Android y en tablets ya se está en torno al 45% sin duda es de esperar que la situación siga mejorando. Por ejemplo, hay otro programa «famosillo» que también ha sido portado a Android, reduce. Yo no lo he usado nunca, pero sé de su existencia por un libro titulado «quantum mechanics thorught computers» que trae mucho software de mecánica cuántica en diversos entornos, entre ellos éste reduce.

Y no sólo a nivel software mejora Android, a nivel hardware también. El note III se rumorea que vendrá con 3 GB de RAM y con un mínimo de 32 GB de almacenamiento interno. Las microSD de 128 GB se supone que ya están a la venta (aunque aún están muy caras y no he intentando pillar ninguna) y se rumorea que las de 256 no tardarán en salir. Otro aspecto interesante, ya fuera del ámbito científico, es que android ya tiene soporte para teclados midi (vía el USB on the go). Yo lo he probado con el note 10.1, con el programa caustic, y funciona bien. El problema es que la latencia aún es algo alta (unos 80 ms) -al menos en le note- pese a que se suponía que con la versión jelly bean iba a mejorar.

Ciertamente IOS y sus drivers coreaudio siguen estando por encima de Android en asuntos musicales, y, en consecuencia, hay mucho mas software. Pero no podía cerrar esta entrada sin mencionar que uno de los programas mas famosos de la informática musical, Fruity Loops (vale que no es de los realmente grandes cómo cubase, cakewalk, abbleton live o reason, pero sigue siendo uno muy usado por mucha gente)también acaba de ser portado para Android. Aún no lo he probado, pero no creo que tarde mucho en hacerlo ;).

Etiquetas:

Una respuesta to “Software científico en Android: Máxima y Octave”

  1. Software científico en Android: M&aacute... Says:

    […] En su momento, cuando hablé de la saga note (phablet y tablet) y del HTC flyer, todos equipos con sistema operativo android, mencioné algún software científico que podía usarse en esos dispositivos…  […]

Deja un comentario