martes, 11 de agosto de 2009

Recursos de software

La mayoría de las capturas de imágenes mostradas en esta entrada pueden ser ampliadas para verlas en mayor detalle.

No hace mucho tiempo, todavía en las décadas de los sesentas y los setentas del siglo XX, no sólo no existía Internet como tampoco existían las computadoras personales, ni siquiera había programas interactivos visuales disponibles al público a un costo razonable que permitieran al menos el graficado de funciones elementales, ya no se diga el graficado de funciones bidimensionales o tridimensionales a colores. Lo único disponible en instituciones de educación superior de prestigio con bastantes recursos económicos a su alcance eran computadoras para cuyo uso era necesario aprender primero algún lenguaje de programación como FORTRAN (FORmula TRANslation) o BASIC obedeciendo estrictas reglas de sintaxis que no toleraban ningún error ortográfico y mucho menos un error de lógica, y generalmente estas computadoras eran tan costosas que simple y sencillamente no era posible tener disponible una computadora de tiempo completo para una sola persona, ni siquiera para los maestros e investigadores. En estos entornos, era necesario escribir primero cuidadosamente en código fuente en el lenguaje de programación utilizado la rutina de lo que uno quería pedirle a la computadora, y una vez hecho esto era necesario preparar un paquete de tarjetas perforadas para entregarlo al centro de cómputo y esperar pacientemente el propio turno en una larga cola de personas, pudiendo tomar varias horas para recibir los resultados del procesamiento del programa entregado, en virtud de que además de que cada quien tenía que esperar su turno el programa primero tenía que ser compilado por la computadora (convertido de código fuente a código de máquina en instrucciones binarias) tras lo cual la computadora tenía que llevar a cabo la ejecución del programa. Y generalmente, si había algún error por pequeño que fuese (la norma en esos días), el centro de cómputo le entregaba al descorazonado programador los resultados negativos junto con una serie de mensajes de diagnóstico elaborados por la computadora que muchas veces ni siquiera los mismos operadores de los centros de cómputo sabían interpretar. Hasta para una tarea relativamente sencilla, esto era una ardua labor que podía desalentar hasta los maestros y alumnos más entusiastas. Un ejemplo de un programa elemental elaborado en FORTRAN 77 (una de las versiones más populares y más utilizadas de FORTRAN) es el siguiente:

program areadecirculo

real r, area, pi

parameter (pi = 3.14159)
c         Este programa calcula el area de un circulo.

print *, "Cual es el radio?"

read *, r

area = pi * r ** 2

print *, "El area es", area

print *, "Hasta luego!"

end

Después de que hicieron su aparición las calculadoras de bolsillo con funciones aritméticas elementales, el siguiente paso evolutivo fue el diseño y la producción de calculadoras científicas de bolsillo con funciones pre-programadas tales como las funciones senoidales, exponenciaciones, cálculo de logaritmos, en fin, muchas de las mismas funciones que vemos hoy en día en calculadoras comerciales científicas para estudiantes. Pero a cierto nivel, inclusive esto resultaba insuficiente. Tómese por ejemplo la siguiente expresión a ser evaluada:


Si vamos a evaluar un solo punto, por ejemplo P(1.5), y si vamos a llevar a cabo los cálculos con una calculadora científica ordinaria, se puede entender que no habrá mucho entusiasmo para la labor de cálculo requerida. Pero si lo que queremos hacer es evaluar unos treinta puntos con la intención de hacer una gráfica, resulta obvio que en el mejor de los casos se requerirá por lo menos algún par de horas para obtener todos los datos que estamos procurando, y ello suponiendo que no se incurra en una sola equivocación en los cálculos aritméticos aún pese a contar con la ayuda de la calculadora. Ante una situación como esta, se vuelve ya deseable tener a la mano una calculadora científica que no sólo tenga funciones científicas pre-programadas, sino una calculadora científica que se pueda programar, esto es, una calculadora científica programable; una calculadora en la cual se pueda programar una fórmula como la que tenemos arriba, con lo cual lo único que tendríamos que hacer es meter desde el teclado el valor numérico del punto que queremos evaluar, por ejemplo 2.7, tras lo cual apretamos algún botón, tras lo cual aparece en la carátula de la calculadora la respuesta numérica. Se sobreentiende que para que esto sea posible, la calculadora científica programable tiene que poseer por lo menos un espacio de memoria volátil (memoria RAM) lo suficientemente grande para poder almacenar la fórmula que queremos evaluar, y debe tener alguna manera o modo de aprendizaje para poder meterle la fórmula que queremos que nos evalúe. Para satisfacer este tipo de demanda, hicieron su aparición dos tipos de calculadoras científicas programables, aquellas cuyo modo de operación está basado en la notación polaca inversa RPN (Reverse Polish Notation) popularizadas por la empresa Hewlett-Packard, y las de notación algebraica popularizadas por la empresa Texas Instruments. La primera calculadora de notación polaca inversa fue la HP-65 introducida a un costo de 800 dólares, la cual aún en nuestros días inspira admiración y respeto:




Pese a su apariencia deceptivamente sencilla, esta era una calculadora extremadamente potente, a grado tal que en 1975 llegó a ser utilizada en el espacio exterior entre otras cosas para cálculo de maniobras de acoplamiento crítico llevadas a cabo por los astronautas de las misiones Apollo con las naves Soyuz.

Pese a que la notación polaca RPN inventada por el Doctor Jan Lukasiewicz es lo que más se aproxima a la manera en la cual “piensan” las computadoras modernas que implementan una pila de datos o stack (si es que se puede hablar de algún tipo de inteligencia artificial), este sistema resultaba confuso para muchas personas acostumbradas a pensar “algebraicamente” y no “computacionalmente”. Viendo aquí una oportunidad, la empresa Texas Instruments introdujo primero la calculadora TI-58 y posteriormente la calculadora TI-59 con mayores capacidades a un costo de 300 dólares:




Independientemente del costo que podía ser relativamente alto para muchos usuarios potenciales de estas calculadoras científicas programables (las cuales usaban indicadores numéricos luminosos LED en sus carátulas, algo que ya no se utiliza hoy en día por cuestiones del consumo de energía de los LED), el advenimiento de las computadoras personales y posteriormente de Internet les vino a dar la puntilla a estas calculadoras científicas programables, pese a que aún en nuestros días el contar con algo como esto puede ser de utilidad extraordinaria.

Afortunadamente, en Internet hay disponible algo que hoy se conoce como emuladores (emulators) de estas calculadoras científicas programables, los cuales ponen sobre la pantalla de la computadora una reproducción fiel de la apariencia gráfica de la calculadora que está siendo emulada, y sobre la cual es posible con la ayuda del mouse ir seleccionando y oprimiendo las teclas deseadas para la programación de fórmulas. En el caso de la calculadora Hewlett-Packard HP-65, un emulador disponible en Internet es el Sim65 desarrollado por Alvaro Gerardo Suárez, el cual ha desarrollado también simuladores para otras tipos de calculadoras HP (sim25, sim41, sim67). Para aquellos que no tengan dificultades con la sintaxis peculiar de la notación polaca inversa, seguramente les interesará sobremanera descargar en sus computadoras vía Internet alguno de estos emuladores. Será como tener a la mano una de esas calculadoras programables pero sin tener que erogar los cientos de dólares que se requerían para la adquisición de estas máquinas. (La disponibilidad en Internet de estos emuladores gratuitos es quizá la razón principal por la cual las calculadoras científicas programables ya no se venden tanto como antes en las tiendas, a grado tal que puede resultar problemático el tratar de conseguir alguna de ellas en un centro comercial.) Del mismo autor del programa Sim65 hay también un emulador para la calculadora científica programable TI-59 de Texas Instruments. Hay otros emuladores además de los ya mencionados que el lector tal vez quiera probar, escritos para varias plataformas (algunos de estos emuladores son programas ejecutables que pueden trabajar por sí solos en prácticamente cualquier computadora, mientras que otros emuladores son programas elaborados en el entorno Java requiriendo que la máquina tenga instalada la plataforma Java, mientras que otros emuladores dependen para su funcionamiento del código JavaScript -el cual no tiene absolutamente nada que ver con el lenguaje Java aunque es posible elaborar programas en los que ambos lenguajes interactúen- que a su vez requieren de un navegador como Mozilla o Chrome que sea capaz de poder interpretar las instrucciones elaboradas en JavaScript.) Seguramente el interesado podrá encontrar el emulador de una calculadora científica programable con el que se sienta a gusto. Sin embargo, para poder sacarle provecho a estas calculadoras científicas programables, es necesario descargar también de Internet los manuales de operación de dichas máquinas, específicamente, los manuales de programación, para saber cómo se pone a la calculadora emulada en modo de aprendizaje, cómo se sale del modo de aprendizaje, y como se echa a andar el programa una vez introducido (generalmente con la acción de una tecla como R/S que sirve como “Run/Stop”). Si el programa introducido en la calculadora programable fue elaborado para ser interactivo, la calculadora le irá pidiendo al usuario algún tipo de dato o algún tipo de acción conforme va avanzando la ejecución del programa. Generalmente estas calculadoras tienen varias reservas de memoria para poder almacenar datos numéricos (por ejemplo, la masa del electrón, la carga del electrón, la constante de Planck, etc.) antes de la ejecución de un programa con la finalidad de que el usuario no tenga necesidad de ir introduciendo estos datos interactivamente. Y al igual que las computadoras primitivas, estas calculadoras permiten meter entre los pasos a ser llevados a cabo etiquetas (labels) que permiten dar saltos condicionales o incondicionales hacia otras partes del programa. Afortunadamente, la autoenseñanza sobre cómo se programan estas máquinas es directa, sobre todo teniendo un emulador trabajando en la computadora. La regla general para hacer un buen programa para una calculadora científica programable consiste en “pensar como lo hace la calculadora”. No es necesario aprender algún lenguaje de programación como FORTRAN o como BASIC que pese a sus versiones simplificadas siguen siendo lenguajes poco tolerantes de errores y equivocaciones (produciendo enormes frustraciones para los programadores que a veces terminan gastando cientos de horas para encontrar un solo error o equivocación que fue lo que mandó abajo al programa) pero que aún se siguen utilizando principalmente porque se han invertido millones de dólares y millares de horas-hombre para elaborar muchos programas, algunos de ellos sumamente sofisticados, que no resulta tentador enviar al olvido.

Resulta interesante tomar nota de que, aún si las calculadoras científicas programables no hubieran sido inventadas, con una simple calculadora de bolsillo con funciones científicas elementales seguiría siendo posible llegar muy lejos. Tómese a manera de ejemplo la siguiente Integral Seno:


en donde sen(0)/0 es tomado como igual a la unidad. Esta función, la cual es útil en el análisis de propagación de ondas, no tiene ninguna antiderivada elemental, y tiene que ser evaluada forzosamente con la ayuda de métodos numéricos. Para evaluar integrales de este tipo, una técnica numérica con un buen nivel de precisión consiste en recurrir a lo que se conoce como sumas trapezoidales, basadas en el hecho de que una integración se puede obtener como una aproximación mediante una suma de las áreas trapezoidales (no rectangulares) que se pueden colocar debajo de la curva cuya integración queremos llevar a cabo. Si queremos llevar a cabo la integración de una función entre ciertos límites, para aquellos que están acostumbrados a las gráficas de barras empleadas en los análisis estadísticos lo que seguramente se les vendrá a la mente es algo como lo siguiente:




El “área bajo la curva” que estamos interesados en evaluar está situada en el intervalo [a,b], y para el cálculo se ha subdividido la región de interés en 17 barras verticales, de forma tal que cada barra tiene una anchura igual a (b-a)/17 y una altura fijada por la función que está siendo integrada. La suma de las áreas de cada una de las barras rectangulares será una aproximación al área que estamos buscando. Pero poniendo atención en los detalles, podemos ver que se cometerá un error de cálculo al no tomar en cuenta las regiones de color amarillo. La lógica elemental nos sugiere que si en vez de recurrir a barras rectangulares recurriemos a barras trapezoidales como la que se muestra en la siguiente figura:




obtendremos entonces una aproximación más precisa al área que estamos buscando. Para el trapezoide mostrado arriba, podemos fijar el área del mismo como:


De este modo, subdividiendo el “área bajo la curva” en n trapezoides, puede verse que la suma trapezoidal Tn para la integral:


quedará definida como:


siendo n el número de sub-divisiones utilizadas en el rango del intervalo bajo consideración. Aquí cada valor f(xi) aparece repetido dos veces exceptuando en los puntos extremos, lo cual nos permite reescribir lo anterior como:



Puede demostrarse (la demostración se puede encontrar en muchos textos de análisis numérico) que si la función que está siendo integrada tiene una segunda derivada continua que está acotada por una constante K tal que:


entonces el error de truncación numérico que se comete al no haberse llevado a cabo una subdivisión empleando un número infinito de barras trapezoidales (lo cual daría un resultado exacto) no es mayor a:


Aclarado lo anterior, supóngase ahora que queremos evaluar Sen(1). Para ello, podemos recurrir a las sumas trapezoidales T5 (empleando cinco subdivisiones) y T10 (empleando diez subdivisiones). Primero obtendremos a T5 de la siguiente manera:


La evaluación de esta suma en una calculadora científica de bolsillo nos produce un resultado como el siguiente (dependiendo de la precisión de la calculadora):

T5 =  0.9450788

A continuación evaluamos T10, para lo cual únicamente tenemos que sumar los términos que no están incluídos en T5:


La evaluación de esta suma en una calculadora científica de bolsillo nos produce un resultado como el siguiente:

T10 =  0.9458321

El valor correcto de la Integral Seno de 1.0 es:

Sen(1) = 0.9460831

Entonces nuestras sumas trapezoidales solo son incorrectas hasta la tercera cifra significativa. La suma T10 es cinco veces más precisa que la suma T5.

Tan preciso como es (numéricamente) el método de las sumas trapezoidales, puede mejorarse aún más. Existe un término de corrección que nos proporciona la siguiente suma modificada:


El nuevo término de corrección (resaltado en color azul) involucra los valores de las primeras derivadas del integrando únicamente en los puntos extremos a y b. Puede demostrarse que si existe la cuarta derivada de la función y está acotada por una constante K en el intervalo [a,b], entonces el error de truncación que se comete al usarse una subdivisión finita de trapezoides no es mayor a:


Hasta aquí hemos supuesto que tenemos en nuestras manos una calculadora científica de bolsillo con algunas funciones elementales pre-programadas dentro de ella. Pero inclusive si nuestra calculadora de bolsillo no sólo no tuviera pre-programada función científica alguna sino que únicamente tuviera pre-programadas las funciones aritméticas elementales de suma, resta, multiplicación y división, sin contar ni siquiera con la raíz cuadrada, aún así nos sería posible compensar estas deficiencias. Supóngase que queremos encontrar la raíz cuadrada de 67.89. Tenemos dos formas de lograrlo. La primera es utilizando el algoritmo para la extracción de la raíz cuadrada que muchos estudiantes de escuela primaria y secundaria terminan odiando, ese procedimiento mecánico del cual inclusive muchos maestros ignoran su justificación o su origen. La segunda es utilizando la calculadora de bolsillo con funciones elementales. Para esto último, primero hacemos un estimativo crudo sobre la respuesta, seleccionando el número 8, puesto que 82.=.64 está lo suficientemente cercano a la respuesta que estamos buscando. Ahora recurriremos a un truco para mejorar nuestro estimativo. Representemos el número que estamos buscando como y, en forma tal que y2.=.67.89. Entonces podemos escribir lo siguiente:

y2 = 67.89

y2 + 8y = 67.89 - 64 + 8y + 64

y(y + 8) = 3.89 + 8(y + 8)

 y = 3.89/(y + 8) + 8

Esta ecuación será satisfecha únicamente por y y por ningún otro número. Puesto que lo que queremos hacer es mejorar nuestro estimativo para la raíz cuadrada de 67.89, experimentaremos considerando las dos manifestaciones de y en esta ecuación como dos números diferentes que están relacionados por la ecuación. Esto es, reetiquetamos nuestro estimativo como y0 y calculamos:

 y1 = 3.89/(y0 + 8) + 8

Para hacerlo en nuestra calculadora elemental, primero hacemos y0 igual a 8 sumándole 8 obteniendo así 16 en el denominador. El recíproco de 16 es 1/16 o sea 0.0625. Multiplicamos este recíproco por 3.89 para ver 0.243125 y finalmente agregamos 8 para obtener un valor de y1 igual a 8.243125. Si multiplicamos este número por sí mismo obtenemos 67.949110, deduciendo que 8.243125 no es la raíz cuadrada de 67.89 pero ciertamente es una aproximación mejor que nuestro estimativo original y0 de 8. Alentados por esta mejora, recurrimos nuevamente a nuestra ecuación, esta vez haciendo:

y2 = 3.89/(y1 + 8) + 8

El procedimiento que sigue es fácil. Puesto que aún tenemos en la máquina a y1, simplemente añadimos 8, tomamos el recíproco, multiplicamos por 3.89, y sumamos 8, obteniendo para y2 un valor igual a  8.2394859, el cual al ser elevado al cuadrado nos dá un valor igual a 67.889128, deduciendo que esta aproximación es aún mejor que la anterior. Podemos repetir mecánicamente el mismo procedimiento, en forma iterativa, calculando y3 a partir de y2, y más generalmente, yi+1 a partir de yi, para enteros sucesivos i de 1,2, 3, 4, etc. mediante la regla:

yi+1 = 3.89/(yi + 8) + 8

Como puede verse en la siguiente secuencia de resultados obtenidos con la ayuda de una calculadora de bolsillo rudimentaria, no se requiere de muchas iteraciones para llegar a la respuesta correcta dentro de la preción numérica de la calculadora:


Para mostrar más claramente el proceso de convergencia hacia el resultado numéricamente correcto en el ejemplo anterior, a continuación se tabulan los valores yi2 para cada yi:


Como puede verse, no se requiere de muchas iteraciones para obtener de la calculadora una respuesta numéricamente correcta dentro del límite de capacidad de dígitos de la calculadora.

Más generalmente, y de modo similar, podemos calcular la raíz cuadrada de cualquier número y haciendo su cuadrado igual a un numero c de forma tal que y2.=.c, haciendo un estimativo e para y escribiendo lo siguiente:

y2.= c

y2 + ey = c - e2 + ey + e2

y(y + e) = c - e2 + e(y + e)

y = (c - e)/(y + e) + e

Al igual que en el ejemplo numérico, consideramos las dos manifestaciones de y en esta ecuación como dos números diferentes yi y yi+1 que están relacionados por dicha ecuación para obtener el siguiente algoritmo:

yi+1 = (c - e)/(yi + e) + e

Este procedimiento mecánico para obtener numéricamente con la ayuda de una calculadora primitiva la raíz cuadrada de cualquier número siempre trabaja. Y aunque tal vez se escuchen las protestas de algunos maestros señalando que no es clara la razón del por qué el procedimiento funciona tan bien, el método tradicional (y obsoleto) enseñado en las escuelas para extraer raíces cuadradas es menos claro aún y propenso a muchos errores y equivocaciones aún con la ayuda de una calculadora. Tal vez el lector quiera probar su suerte con este método intentando obtener la raíz cuadrada de otro número tal como 27.84 ó 736.51, descubriendo por cuenta propia que aún con unas cuantas funciones elementales su calculadora de bolsillo le puede proporcionar grandes dividendos.

Si el procedimiento que acaba de delinearse fuera útil únicamente para la extracción iterativa de raíces cuadradas en una calculadora de bolsillo, no habría razón alguna para poner atención en dicho método habiendo muchas calculadoras de bolsillo en el mercado de muy bajo costo que incorporan una tecla para la extracción de la raíz cuadrada de un número. Sin embargo, la misma calculadora elemental, equipada únicamente con las cuatro operaciones básicas de la aritmética, nos puede llevar aún más lejos. Tómese por ejemplo el siguiente problema enunciado algebraicamente: “Obténgase un número que elevado al cubo y multiplicado por 4, sumado a este mismo número después de haber sido elevado al cuadrado y multiplicado por 3, y a lo cual se le resta el doble de dicho número, nos dará el número 1”. Enunciado simbólicamente, esto mismo se puede escribir con la siguiente ecuación:


Llevando a cabo una secuencia de pasos similar a la que fue utilizada para obtener un procedimiento para la extracción de la raíz cuadrada de un número, podemos escribir primero:


tras lo cual postulamos con esto el siguiente procedimiento iterativo:


Si empezamos con una semilla igual a cero, la calculadora de bolsillo no toma mucho tiempo en llevarnos a la solución numérica de la obtención de una raíz para el polinomio cúbico original, la cual como puede verse no es un número entero como suele suceder en casi todos los ejemplos preparados de antemano para el salón de clases y para los exámenes de matemáticas sino un número real:


Si el lector tiene a la mano una calculadora de bolsillo, puede probar su suerte con el siguiente polinomio cúbico para el cual se dá el procedimiento iterativo a seguir así como la semilla y el resultado numérico que se puede esperar obtener después de unas cuantas iteraciones:


En ocasiones, es posible obtener un procedimiento iterativo más sencillo aún como lo muestra el siguiente caso:


Nuevamente, el lector puede probar su suerte con este polinomio cúbico para el cual se dán  una semilla así como el resultado numérico que se puede esperar obtener después de unas cuantas iteraciones:


A continuación se dá un tercer ejemplo que el lector puede tomar como ejercicio para adquirir un poco de práctica en el uso de una calculadora de bolsillo para la extracción rápida de raíces de polinomios:


La verdad llana y simple es que, a nivel de su microelectrónica, las únicas operaciones que todas las calculadoras de bolsillo pueden llevar a cabo están limitadas a las cuatro operaciones básicas de la aritmética. Ninguna calculadora “sabe” cómo calcular raíces cuadradas o funciones trigonométricas o logaritmos. Como tampoco hay “tablas” dentro de la calculadora de bolsillo que puedan ser consultadas conteniendo todas las respuestas numéricas posibles para todos los números posibles que se le den como entrada. Para el cálculo de funciones más avanzadas, las calculadoras son dotadas de un conjunto de instrucciones para la evaluación de cada uno de estos tipos de funciones, algo no muy diferente a lo que tenemos arriba. Puesto que la evaluación iterativa de una función avanzada ocurre a la velocidad de la microelectrónica, el usuario no se dá cuenta de que para darle en forma casi instantánea una respuesta numérica la calculadora tuvo que ejecutar decenas o quizá cientos de pasos, creando la ilusión de que la evaluación es instantánea cuando de hecho no lo es. Habiendo varias formas de poder evaluar numéricamente una misma función, el interés del científico es poder contar con los algoritmos más eficientes que puedan darle la respuesta más precisa posible en el menor tiempo posible (no siempre es posible satisfacer ambos criterios a la vez), lo cual se estudia en una rama computacional de las matemáticas conocida como el Análisis Numérico. Y de hecho cuando aparecieron las primeras calculadoras de bolsillo los algoritmos para la evaluación de raíces cuadradas, logaritmos, funciones trigonométricas, etc., eran un bien guardado secreto en cada empresa. De cualquier modo, la gran conclusión que podemos sacar en todo esto es que aún con recursos computacionales muy limitados como una simple calculadora de bolsillo con funciones elementales, podemos llegar muy lejos si sabemos cómo hacerlo. Aún careciendo de equipo costoso, es posible obtener muchos dividendos si se cuentan con los trucos para lograrlo, y de hecho el mayor tesoro de cualquier matemático es su costal de trucos, desde los días en que el mismo Euclides recurrió a un truco para demostrar que la cantidad posible de números primos es infinitamente grande.

Además de los recursos de cómputo disponibles para una evaluación numérica relativamente rápida de cosas que no hace mucho tiempo sólo se podían llevar a cabo manualmente sumando, restando, multiplicando y dividiendo consumiendo grandes cantidades de lápiz y papel por no decir de tiempo, la proliferación de las computadoras de escritorio combinada con el desarrollo de lenguajes de programación visual y la accesibilidad a una infinidad de recursos disponibles en Internet ha hecho posible la diseminación masiva de programas visuales de simulación computarizada que permiten visualizar la acción de lo que de otra manera serían fórmulas áridas de difícil comprensión y entendimiento para los que apenas inician sus estudios en la Mecánica Cuántica. Desde mucho tiempo atrás, los mejores pedagogos han aceptado el hecho que el aprendizaje procede con mayor rapidez cuando está apoyado en todas las ayudas visuales de las que se pueda echar mano como complemento de la simbología abstracta que en no pocas ocasiones pone a los más empeñosos estudiantes a dormir. En esta misma obra se ha aplicado tal filosofía complementando el material matemático abstracto con ayudas visuales y simulaciones dinámicas que pueden ayudar a aclarar muchos puntos que de otro modo permanecerían obscuros.

El desdén mostrado por algunos científicos profesionales con niveles de Doctorado y Post-Doctorado hacia el uso intensivo de los recursos visuales disponibles en la actualidad y el uso de ejemplos que pongan en práctica la teoría posiblemente sea la razón por la cual no es rara la ocasión en la que estos expertos encuentran dificultades para ser comprendidos por sus lectores, situación que desafortunadamente es reproducida en instituciones de enseñanza superior con maestros que saben mucho pero que no son capaces de enseñar casi nada, al hablar estos maestros un idioma que no le es familiar a sus estudiantes.

El primer ingreso lógico a las capacidades computacionales disponibles en Internet lo podemos encontrar en el mismo motor de búsqueda de Google. Por ejemplo, si se quiere obtener la solución aritmética de la siguiente expresión:


basta con escribir lo siguiente en la caja de búsqueda de Google:

3*(sin(pi/4))^2 + sqrt(5.37) - e^(0.25)

para obtener una respuesta casi inmediata de Google:

2.53330063

El motor de búsqueda de Google es lo suficientemente inteligente para darse cuenta de que el usuario, más que estar buscando algún tópico en específico, está tratando de evaluar una expresión aritmética. Aunque la capacidad de calculadora online de Google parecería poner en riesgo a los fabricantes de calculadoras electrónicas de bolsillo, esto no es necesariamente cierto, ya que en algunas situaciones como en la toma de exámenes escolares es dudoso que se le permita a los alumnos llevar una computadora al salón de clases que esté conectada activamente a Internet. Sin embargo, la disponibilidad gratuita de este recurso ciertamente puede ser de una gran ayuda para quienes desean hacer una consulta rápida sobre una evaluación en la que tienen dudas. Este recurso computacional online de Google tiene de hecho muchas funciones construídas de las que la gran mayoría de los usuarios aún están ignorantes. Por ejemplo, si se desea evaluar la función de error para 2.1, la orden a ser usada es:

erfc(2.1) = 0.00297946666

Google tiene disponibles en su calculadora online evaluadores numéricos para todas las funciones trigonométricas, todas las funciones trigonométricas inversas, las funciones hiperbólicas y las funciones logarítmicas, además de que puede llevar a cabo conversiones de unidades.

Hay varias fuentes en Internet que mantienen de modo permanente una accesibilidad a páginas y materiales de consulta que permiten aprender visualmente con mayor detalle cosas que ni siquiera una obra de esta extensión puede abarcar en toda su amplitud. Muchas de las aplicaciones dinámicas, sobre todo las aplicaciones interactivas que le permiten al internauta variar a su gusto algunos parámetros para descubrir por sí mismo qué es lo que sucede cuando se varía algún parámetro, convirtiéndose de este modo en un experimentador “virtual” sin necesidad de tener que adquirir equipo costoso de laboratorio, requieren que la computadora tengan instalada la plataforma para el lenguaje Java que se puede obtener y descargar gratuitamente de Internet de la empresa creadora, Sun Microsystems (por regla general, ni las computadoras caseras personales ni el sistema operativo Windows así como otros sistemas operativos tienen instalada la plataforma para poder correr el lenguaje Java). Algunos navegadores tienen integrada la plataforma Java, sin embargo otros no como los navegadores que forman parte de muchas máquinas Macintosh. Una forma de saber que la computadora tiene instalada la plataforma Java es que cuando se echa a andar una simulación construída con el lenguaje Java aparece una ventanita como la siguiente que indica que el proceso de carga de la plataforma Java está en curso:




Uno de los propósitos detrás del diseño de Java fue la creación de un lenguaje cuya sintaxis haría muy difícil o prácticamente imposible la elaboración de virus informáticos, lo cual es controlado mediante la Máquina Virtual Java (Java Virtual Machine) requerida para poder correr los programas Java en una plataforma cualquiera. El otro criterio de diseño de Java es similar al criterio utilizado para la elaboración de los documentos creados bajo la convención de extensión de archivo “.pdf” (Portable Document File), que es en esencia un criterio de universalidad. En principio, un archivo ejecutable creado en Java puede correr del mismo modo independientemente del tipo de máquina en la cual se corra siempre y cuando la máquina tenga instalada la Máquina Virtual Java. El archivo debe trabajar ante el usuario del mismo modo ya sea en una máquina que tenga instalado el sistema operativo Windows, en una máquina que tenga instalado el sistema operativo Linux, en una máquina que tenga instalado el sistema operativo MacOS.

El primer sitio que citaremos, sin intención alguna de catalogar a los sitios como mejores o peores, es el que bajo el patrocinio de la University of Colorado at Boulder mantiene las simulaciones interactivas PhLET, las cuales tienen la ventaja de que pueden ser descargadas a la computadora y pueden ser utilizadas sin necesidad de que la computadora siga posteriormente conectada a Internet. La dirección de entrada a la página principal es la siguiente:


Una ventaja de las simulaciones que podemos encontrar en este sitio es que se pueden descargar varias de las simulaciones en idioma Español.

A continuación tenemos la captura de imagen de una de las simulaciones PhLET, la que corresponde a la simulación titulada “Estados Ligados Cuánticos”:




La captura muestra la perspectiva desde el punto de vista de la Mecánica Ondulatoria de dos pozos de potencial (en color violeta) en proximidad el uno al otro.

Otra simulación PhLET interesante es la que nos permite experimentar con el fenómeno de la Resonancia Magnética Nuclear, permitiéndonos “variar” (virtualmente)la intensidad del campo magnético aplicado a la muestra bajo estudio:




En la pantalla central de esta simulación podemos apreciar los núcleos atómicos de 20 partículas del mismo compuesto. El objetivo de esta simulación virtual es ir variando el campo magnético y la frecuencia de la señal aplicada de radiofrecuencia hasta que más y más partículas empiecen a dar alternadamente el “vuelco de espín” obteniéndose por la vía experimental el efecto de resonancia. Este simulador permite una variación (virtual) del campo magnético desde cero Teslas hasta 3.0 Teslas, y permite variar la frecuencia de la señal de radio aplicada desde 10 hasta 110 Megahertz.

Los creadores de las simulaciones interactivas PhET mantienen un listado de simulaciones ya traducidas al Español en la siguiente dirección:


En esta dirección, para cada simulación interactiva hay dos opciones disponibles, la opción “Run Now” y la opción “Download”. La primera opción “Run” permite correr la simulación en-línea sin que se descargue y guarde nada en la computadora una vez concluído el uso de la simulación, mientras que la segunda opción “Run” permite descargar el archivo ejecutable en la computadora, lo cual a su vez permite que la simulación interactiva se pueda correr en cualquier máquina a donde se mueva el archivo aunque dicha máquina no esté conectada a Internet, siempre y cuando la máquina tenga instalada la plataforma Java. Algunas de las simulaciones interactivas disponibles en Español que pueden ser de interés para los estudiantes de Mecánica Cuántica son las siguientes (los nombres de los archivos ejecutables Java se dan entre paréntesis):

Radiación Alfa (alpha-decay_es.jar)

Beta decay (beta-decay_es.jar)

Estados Ligados Cuánticos (bound-states_es.jar)

Cálculo Grapher (calculus-grapher_es.jar)

Pozos dobles y enlaces covalentes (covalent-bonds_es.jar)

Curve-fitting (curve-fitting_es.jar)

Experimento Davisson-Germer (davisson-germer_es.jar)

Equation grapher (equation-grapher_es.jar)

Fourier: Fabricación de ondas (fourier_es.jar)

Modelos del Átomo del Hidrógeno (hydrogen-atom_es.jar)

Lasers (lasers_es.jar)

MRI Simplificado (mri_es.jar)

Fisión Nuclear (nuclear-fission_es.jar)

Control Óptico de Quantum (optical-quantum-control_es.jar)

El Efecto Fotoeléctrico (photoelectric_es.jar)

Penetración Mecánico-Cuántica y Paquete de Ondas (quantum-tunneling_es.jar)

Interferencia de Onda Cuántica (quantum-wave-interference_es.jar)

Experimento de Stern-Gerlach (stern-gerlach_es.jar)

Interferencia de la onda (wave-interference_es.jar)

Wave-on-a-string (wave-on-a-string_es.jar)

Entre estas simulaciones podemos encontrar algunas que pueden servir como complemento didáctico invaluable a material que es tratado dentro de esta obra. La simulación interactiva PhLET “Fourier: Fabricación de ondas” procurable bajo el archivo fourier_es.jar le permite al estudiante el poder construír, literalmente hablando, funciones de onda a su gusto, variando tanto la amplitud de la frecuencia fundamental como la amplitud de las armónicas (la simulación permite variar 11 componentes en total). Esto por sí solo le puede ayudar a entender al estudiante de manera casi inmediata lo que se está tratando de transmitir en la entrada titulada “El análisis de Fourier”, volviendo el aspecto matemático un poco más digerible. Por otro lado, la simulación interactiva lasers_es.jar puede servir como un poderoso complemento a la entrada titulada “El láser”, ya que muestra de manera directa la puesta gradual en marcha de la acción del laseo, ilustrando algunos detalles finos en el funcionamiento del láser que el estudiante posiblemente intuyó pero que ya no fueron tratados más a fondo.

Además de las simulaciones interactivas PhET disponibles en Español, hay otras simulaciones PhET que aún no han sido traducidas al momento de haberse elaborado esta entrada pero las cuales se recomienda consultar dado que las interfaces gráficas son altamente intuitivas. Entre tales simulaciones interactivas destacan las siguientes:

Rutherford Scattering (rutherford-scattering_en.jar)

Band Structure (band-structure_en.jar)

Semiconductors (semiconductor_en.jar)

Para varias de las simulaciones los creadores de PhET han desarrollado guías para los maestros (teacher’s guide) que proporcionan ideas y sugerencias a los profesores para que puedan sacarle el mayor provecho educativo a cada simulación en particular. Varias de las aplicaciones PhET también pueden ser procuradas para su ejecución en el entorno Macromedia Flash (Adobe Flash Player) que se puede obtener gratuitamente vía Internet. Sin embargo, las aplicaciones en Flash no pueden ser descargadas en la computadora para su almacenamiento permanente, se requiere estar conectado a Internet para poder echarlas a andar desde la página respectiva de aplicaciones PhET.

La ventaja obvia de las simulaciones interactivas como PhET que pueden ser descargadas vía Internet es que el interesado puede contar con dicha aplicación aún si el material educativo que antes estaba disponible deja de recibir apoyo al terminar la página como un enlace muerto. ¿Cuántas veces no les ha ocurrido a muchos internautas que con el paso de apenas unos cuantos años al tratar de enlazarse a un sitio Web en el que había algo de interés resulta que dicha página ha dejado de existir y junto con ella todos sus recursos han desaparecido por completo? A diferencia de las bibliotecas de antaño en las que había libros en los anaqueles disponibles para cualquier época, a menos de que se guarde una copia de la información que a uno le interesa siempre hay la posibilidad de que al regresar ya no haya nada en el enlace que antes estaba activo, recibiéndose quizá una sorpresa desagradable como el mensaje de error HTTP 404 (Not Found, No Encontrado) o bien el mensaje HTTP 403 negando el acceso a la página deseada. Muchas páginas Web dependen de un creador que tiene un server propiedad suya trabajando las 24 horas del día así como una dirección permanente en Internet, y si el creador de la página muere y no hay alguien que herede el mantenimiento de la página entonces dicha página simplemente desaparece sin dejar rastro. Esto hace deseable el descargar aquellas aplicaciones que son puestas a disposición de los internautas para ser descargadas y compartidas libremente.

Otra fuente útil de simulaciones visuales gratuitas es la que ofrece la organización Open Source Physics, conocida simplemente como OSP, un proyecto patrocinado por la National Science Foundation basada en el Colegio Davidson, cuya misión es diseminar el uso de librerías de código abierto, herramientas y simulaciones compiladas para la física y otras simulaciones de tipo numérico. Al igual que en el caso de las aplicaciones PhLET, las librerías de códigos utilizados en la colección OSP está elaborada en base al lenguaje de programación Java con licencia GNU para el Público General, lo cual significa que mucho del material puede ser obtenido y distribuído gratuitamente sin necesidad de tener que pagar licencias costosas que muchas instituciones educativas no pueden costear cuando trabajan con presupuestos muy limitados.

La página Internet del Proyecto OSP se puede accesar en el hipervínculo:


El concepto central bajo el Proyecto OSP en el cual se basan los archivos de física escritos y compilados en Java en los cuales están almacenadas las simulaciones gráficas interactivas disponibles al público lo encontramos en las aplicaciones que han sido bautizadas como Fislets (Physlets en su designación original en Inglés). Los Fislets son “applets de física” (physics applets), basados en los “applets” que se pueden construír con el lenguaje de programación Java. Un applet es una porción de código como la siguiente:


que se puede injertar directamente dentro de una página HTML elaborada para la Web. Como puede observarse en la cuarta línea de código, el applet hace referencia a un archivo “.jar” que viene siendo una especie de archivo comprimido que permite descargar en un solo paso una aplicación completa escrita en Java de una manera más eficiente y más rápida que el tener que descargar individualmente todos los archivos requeridos para correr la misma aplicación en Java. Los Fislets, concebidos por el Doctor Wolfgang Christian y sus estudiantes, requieren desde luego que la computadora en donde van a correr tengan instalada la plataforma para el lenguaje Java.

La siguiente captura de imagen nos dá una idea de un “Fislet” desarrollado en el lenguaje de programación Java:




Una aplicación Fislet que nos puede interesar es la siguiente que corresponde a la simulación del comportamiento de un oscilador armónico simple:




En este programa, con la ayuda del “mouse” tomamos la línea roja que está en la columna derecha titulada “Energy levels” (niveles de energía) y subimos la línea roja para obtener la función de onda que corresponde a un nivel mayor de energía, o bien bajamos la línea roja para obtener la función de onda que corresponde a un nivel menor de energía. En la captura de imagen tal vez resultará obvio que el nivel de energía seleccionado es el que corresponde a una función de onda impar.

Otra aplicación Fislet que puede interesar a muchos lectores es la siguiente con la cual podemos estudiar y comprender el efecto que se obtiene cuando trabajamos con un pozo de potencial de profundidad finita cuyas paredes tienen alturas distintas:




Al igual que en la simulación anterior, con la ayuda del “mouse” tomamos la línea roja que está en la columna derecha titulada “Energy levels” y subimos la línea roja para darle a la partícula una mayor energía, o bien bajamos la línea roja para darle a la partícula una menor energía. Esta simulación nos permite apreciar cómo, al moverse la partícula de una zona de mayor potencial V a una zona de menor potencial (yendo de izquierda a derecha) la amplitud de la función de onda que corresponde a la partícula disminuye pero la frecuencia de la partícula aumenta. Y podemos ver también cómo al llegar a una zona en la cual el potencial V es mayor que la energía de la partícula, la función de onda de la partícula pierde su comportamiento oscilatorio y se convierte en una función exponencialmente decreciente, el síntoma típico de un fenómeno de tunelado (o tunelaje).

Las siguientes dos capturas de imagen nos muestran un Fislet que puede dibujar las nubes de densidad de probabilidad para el electrón en un átomo de hidrógeno, la primera para una partícula en el estado n.=.2, l.=.1 y m.=.0, mientras que la segunda es para la misma partícula en el estado n.=.30, l.=.20 y m.=.10:




Los dos colores (ciano y amarillo) mostrados por el Fislet aparecen únicamente cuando el atributo “Fase” (Phase) ha sido activado con la opción “Y” (Yes). Los dos colores tienen el mismo propósito de diferenciación que los colores utilizados en los diagramas polares colocados en la entrada “Momento angular orbital: funciones de onda I”.

Otro Fislet capaz de trazar la parte angular de las funciones de onda para el electrón en un potencial propio del átomo de hidrógeno es el siguiente (los valores que fueron seleccionados para el graficado fueron l.=.3 y m.=.0):




Como puede verse, el graficado no es automático; hay que oprimir con el mouse el botón “Go” para obtener el trazado del orbital.

Además de los Fislets citados arriba para el graficado de la parte angular de la función de onda, otro Fislet interesante es el siguiente graficador de la parte radial de la función de onda para el cual se han seleccionado a modo de muestra los números cuánticos n.=.3, l.=.0 y m.=.0:




Otro Fislet que puede ser de interés es el siguiente que puede llevar a cabo el graficado en dos dimensiones de una función de dos variables, bautizado como SPlottter (Surface Plotter):




Como puede verse, el espacio en blanco es el lugar en donde uno mete la fórmula en dos variables a ser graficada, obteniéndose el graficado con el botón “Plot”. Una característica interesante de este Fislet es que el usuario puede poner el cursor dentro de la gráfica y “arrastrar” (en movimiento rotacional en cualquier dirección) el cubo tridimensional de graficado para poder apreciar mejor la naturaleza de la superficie graficada. O mejor aún, con el botón “Run” se puede hacer que el cubo tridimensional gire en torno al eje vertical de rotación mientras uno se limita a observar para poder darse cuenta de la naturaleza de la superficie.

Las capturas de imágenes de casi todos estos Fislets que han sido citadas como ejemplo fueron obtenidas accesando directamente el servidor Web del Davidson College que mantiene un sitio permanente de consulta para su biblioteca de Fislets.

Los Fislets van más allá de ser una simple colección de simulaciones interactivas que pueden ser ejecutadas por aquellos que desean una mayor familiarización con los nuevos conceptos de física que están tratando de aprender. El concepto estimula la creación de nuevos Fislets llevada a cabo por pedagogos y didactas que tratan de desarrollar sus propias simulaciones interactivas con la finalidad de añadirlas ya sea a la página Web de la institución educativa para la cual trabajan o a sus propias páginas Web personales en algún servidor trabajando las 24 horas del día en sus propias casas con sus propias páginas. Parte de las herramientas puestas a disposición de los internautas por el Proyecto OSP para el desarrollo externo de nuevas simulaciones interactivas es el Easy Java Simulations o ESJ, una herramienta útil de software de código abierto para la creación de simulaciones computacionales discretas. Esta herramienta es distribuída gratuitamente por la Universidad de Murcia en el siguiente enlace:


Una intención de los inventores del concepto Fislet es que los fislets se mantengan simples mediante interfaces gráficas sencillas, con cada Fislet diseñado para manejar únicamente un aspecto de fenomenología física, sin incorporar mucho en lo que se refiere al análisis de datos, lo cual permite que los Fislets sean archivos relativamente pequeños facilitando la descarga vía Internet en conexiones lentas, removiendo detalles innecesarios que serían más distracción que ayuda. En principio, todos los Fislets pueden ser montados y controlados en el navegador (Mozilla, Chrome, etc.) mediante JavaScript, lo cual significa que paquetes como el Animador (Animator) pueden ser utilizados para prácticamente cualquier tópico con cambios pequeños no en el código Java sino en el código JavaScript usado por los navegadores. La recepción y el análisis de datos pueden ser agregados cuando tal cosa se requiere a través de una comunicación entre applets. Los Fislets además de poder en casi cualquier plataforma pueden ser incrustados en casi cualquier tipo de documento HTML, ya sea para una tarea escolar, un sitio Web personal, o un sitio de ciencia extensiva. Se pueden descargar archivos comprimidos Fislets conteniendo programas compilados en Java del servidor WebPhysics del Davidson College bajo la siguiente dirección:


Puesto que los Fislets son pueden ser incrustados directamente en documentos HTML y pueden interactuar con el destinatario final mediante un lenguaje script de navegación como JavaScript, la física puede ser modificada por el autor de una página HTML que incorpore un Fislet. A modo de ejemplo, el Fislet Animador (Animator Physlet) escrito por los creadores de los Fislets, con un modesto tamaño de 100 Kbytes, es usado para mover un objeto a lo largo de una trayectoria predefinida [x(t),y(t)] dentro de una caja acotada creada por el applet. Agregar este Fislet a una página HTML no es muy diferente al proceso de añadir una imagen a la misma página. Crear una pelota con un diámetro de 10 pixeles que recorra una trayectoria parabólica requiere la adición de tan sólo las siguientes dos líneas de código “script” (la primera línea de código crea la pelota, mientras que la segunda línea de código fija la trayectoria parabólica):

    id=document.animator.addObject("circle","x=0,y=0");
    document.animator.setTrajectory(id,"-10+6*t","-5+8*t-4.9t*t");.

En síntesis, el Fislet fue concebido como una opción algo más rudimentaria para los creadores de software de simulación científica que pueda ser utilizado en lugar de programas comerciales como Interactive Physics de la empresa Design Simulation Technologies que aunque ofrecen una mayor variedad de efectos especiales y capacidades de interacción visual y numérica, llegan con un costo que a veces puede resultar poco apetecible a los instructores que sólo están interesados en desarrollar alguna aplicación esporádica para hacer más efectiva alguna demostración en el salón de clases.

Es importante tomar nota de que, con el advenimiento de tarjetas y chips de video integrados a la tarjeta madre de la computadora con capacidades cada vez mayores para graficados en tres dimensiones, para aprovechar estas nuevas capacidades los creadores del lenguaje Java han desarrollado otra versión de Java capaz de manejar graficados tridimensionales, bautizada como Java 3D. Aunque una aplicación escrita en Java 3D puede correr en una plataforma Java ordinaria, para poder apreciar los efectos tridimensionales es necesario descargar la plataforma Java 3D e instalarla en la máquina en donde se van a correr los programas tridimensionales elaborados para Java 3D.

Además de las simulaciones interactivas PhET y los Fislets, existen también otros programas aún más sofisticados de simulación, los cuales se pueden obtener en forma gratuita con la ayuda de Internet, y que pese a tener algunas esquinas que aún no han sido pulidas rivalizan y compiten favorablemente con programas comerciales costosos produciendo imágenes en tercera dimensión de orbitales atómicos y moleculares que permiten visualizar en mayor detalle lo que está sucediendo al llevarse a cabo el enlace químico bajo los postulados y reglas de la Mecánica Cuántica. Uno de tales programas es Molekel, utilizado para el modelaje de orbitales moleculares. Molekel fue originalmente creado y desarrollado en la Universidad de Ginebra por Peter F. Flükiger en los años 1990 para la empresa Silicon Graphics Computers. En 1998, Stefan Portmann se echó a cuestas la responsabilidad de la evolución del proyecto inicial liberando la versión 3.0 de Molekel. Tras esto, se produjo la versión 4.0 que constituyó una versión casi independiente de la plataforma utilizada (esto es, del sistema operativo de la máquina). Desarrollos posteriores condujeron a la versión 4.3 antes de que Stefan Portman abandonara el proyecto interrumpiendo el desarrollo de los códigos computacionales para Molekel. En 2006, el Swiss National supercomputing Centre retomó el proyecto, liberando la versión 5.0 de Molekel el 21 de diciembre de 2006. Esta versión ha sido robustecida posteriormente, y en 2011 se contaba ya con la versión 5.4.0, que es la versión de la cual se han tomado las capturas de imágenes que se adjuntan aquí como muestra. En la siguiente captura de imagen tenemos la interfaz gráfica (en idioma Inglés) de Molekel en su versión 5.4.0.0:




En la siguiente captura de imagen podemos ver a Molekel corriendo bajo el sistema operativo Windows:




Para darnos una mejor idea sobre la calidad de las simulaciones que Molekel es capaz de proporcionarnos, a continuación tenemos una simulación Molekel de orbitales moleculares y superficie nodal:




La siguiente captura de imagen nos presenta una simulación de Molekel de orbitales moleculares para una molécula que el lector con algunos conocimientos esenciales de química orgánica reconocerá de inmediato si pone alguna atención en los detalles de la imagen:


Como puede apreciarse en las capturas de imágenes, Molekel permite la visualización de superficies para orbitales moleculares, lo cual incluye el trazado de isosuperficies (el análogo tridimensional de una isolínea, una superficie que representa puntos de valor constante) así como de densidades electrónicas (la medida de la probabilidad de encontrar a un electrón en cierto punto, de acuerdo a la interpretación probabilista de Born dada a la función de onda Ψ), y permite hasta incluso la animación de superficies moleculares.

Siendo un programa de distribución gratuita, no resulta fácil encontrar ayuda cuando se tienen problemas para la instalación de Molekel en cierto entorno o en cierta máquina, aunque esto frecuentemente se puede solventar consultando foros de ayuda que existen en Internet para este tipo de programas. Aún con los problemas que pueda ofrecer Molekel en su uso y con los parches que se le tengan que poner para poder obtener todo lo que Molekel puede ofrecer, el esfuerzo invertido bien vale la pena considerando que apenas hace una década el contar en una computadora de escritorio con un programa comercial con las capacidades de Molekel habría requerido una inversión de varios cientos de miles de dólares tan sólo en una máquina capaz de ejecutar un programa con la sofisticación de Molekel, esto además del costo de un programa comercial equivalente que habría ascendido a otros cientos de miles de dólares requiriendo un presupuesto total que fácilmente podía exceder el millón de dólares. El que pueda haber disponible en forma gratuita un programa como Molekel que se pueda correr en una máquina que no cuesta ni siquiera 500 dólares constituye un homenaje silencioso al espectacular abaratamiento de la tecnología informática.

A mediados de 2011, Molekel puede ser descargado gratuitamente del siguiente enlace:


Además de Molekel, hay otras alternativas como Molden. El nombre del programa gráfico Molden significa Densidad Molecular (de MOLecular DENsity), y sirve para representar dicha densidad como los resultados de un cálculo Gaussian. Este programa puede ser descrito como un programa de visualización interactiva para estructuras químicas, orbitales, densidad electrónica total, densidad de diferencia y potencial electroestático, cargas ESP y análisis distribuído multipolo. Una característica interesante de Molden es que existen versiones de Molden que pueden correr bajos sistemas operativos tan viejos que hasta Windows 95 (cuando la memoria RAM de las computadoras llegaba a unos 64 Mb en el mejor de los casos y la capacidad de los discos duros era de 8 Gb considerándose elevada para dicha épca) es capaz de manejarlo. Las siguientes dos capturas de imágenes nos dan una idea del tipo de graficado de orbitales moleculares que Molden puede producir:





Además de los programas de distribución gratutita para simulación científica y simulación interactiva disponibles en Internet así como la disponibilidad de sitios que podemos visitar para llevar a cabo simulaciones y cálculos y graficados al estar conectados a dichos sitios, están desde luego los programas comerciales que para promoverse a sí mismos y para promover sus capacidades de desarrollo y de cómputo hacen accesibles sus simulaciones interactivas propias para la comprensión de la Mecánica Cuántica, como la creciente biblioteca de simulaciones disponibles a través del sitio Web en el cual la empresa Wolfran Research creadora del programa Mathematica distribuye sus productos. El programa Mathematica en sí es un programa algo costoso (a un precio para una licencia en una sola máquina para educadores universitarios un poco mayor a los mil dólares, esto en el 2011), pero lo más seguro es que por cuestiones de presupuesto habrá muchos interesados en correr las simulaciones interactivas sin comprar Mathematica. Estas demostraciones como ellos mismos llaman a las simulaciones elaboradas con la ayuda del programa Mathematica son de dos tipos. El tipo básico simplemente lleva a cabo una reproducción online de algo semejante a una película en la cual los parámetros de la simulación se encuentran ya prefijados. Corre la película y termina, con el usuario limitándose a ver. El tipo interactivo le permite al usuario variar los parámetros del experimento simulado, lo cual dá una mayor flexibilidad. Pero para poder llevar a cabo experimentos simulados bajo alguna aplicación de un problema desarrollado para la Mecánica Cuántica, el interesado debe descargar primero un programa ejecutable llamado Wolfram CDF Player, el cual la empresa hace disponible sin costo alguno. La página general para accesar las demostraciones que mantienen en su librería de tópicos es la siguiente:


La siguiente captura de imagen de una demostración titulada “Trayectorias Bohm para partículas cuánticas en un potencial lineal independiente del tiempo” nos dá una idea sobre cómo funcionan las demostraciones construídas sobre el paquete computacional Mathematica de la empresa Wolfram:




Los botones deslizantes en la parte superior de la ventana de demostración sirven para que el usuario modifique a su gusto los parámetros de la simulación.

Hay muchos otros programas de descarga gratuita puestos a disposicion de los internautas por empresas comerciales además de Wolfram. Uno de ellos, para adquirir practica en el manejo virtual de espectografía RMN, es MestRe-S, un espectrómetro virtual RMN que le permite a los estudiantes aprender y practicar las técnicas instrumentales de resonancia magnética nuclear ahorrando tiempo costoso de espectrómetros reales y evitando daños al equipo RMN debido a su uso indebido. Este programa, desarrollado por Armando Navarro de la Universidad de Vigo, es distribuído por la empresa Mestrelab Research, del cual se presenta la siguiente captura de imagen:




Otro programa de gran valor didáctico que puede ser extremadamente útil para el aprendizaje y la simulación de espectrogramas de resonancia magnética nuclear RMN, creado por el Profesor Hans J. Reich del Departamento de Química de la Universidad de Wisconsin, disponible gratuitamente vía Internet del mismo autor, es el programa conocido como WINDNMR-Pro o simplemente como WINDNMR, el cual está codificado en el archivo ejecutable DNMR71.EXE con un peso aproximado de 2.6 Mb, para ser corrido bajo el sistema operativo Windows. El programa puede ser descargado del enlace:


La interfaz gráfica de este programa tiene el siguiente aspecto:




Hay también otras áreas de aplicación en la Mecánica Cuántica cuya enseñanza estaba duramente limitada por la carencia de ayudas visuales y medios de “experimentación interactiva”, tales como la Teoría de Grupos, usada como el punto de entrada moderno a las matemáticas abstractas en muchos planes de estudio. También en este campo existen herramientas disponibles gratuitamente en Internet con las cuales se pueden comprender (mediante simulaciones con casos específicos) los conceptos abstractos que se están tratando de transmitir. Ejemplo de ello es el programa conocido como Group Explorer, cuya interfaz gráfica es la siguiente:




Quizá lo más importante es que todos estos recursos y ayudas visuales virtuales facilitan el ingreso a la mente de las ideas fundamentales que se quieren transmitir; este es el propósito fundamental de cualquier sistema educativo y de enseñanza. Una vez entendidos los conceptos básicos por la vía visual, se vuelve posible concentrarse directamente en la abstracción de los conceptos, en las fórmulas, en los procedimientos algebraicos, sin tener necesidad de tener que consultar nuevamente las ilustraciones que alguna vez sirvieron como útiles muletas para digerir material que nunca ha sido de fácil digestión, pudiéndose incluso llegar al extremo presumido con cierta pedantería por Lagrange que expresó en su libro Mécanique Analytique las siguiente palabras en la introducción a su obra publicada en París en 1788: “On ne trouvera point de figures dans cet Ouvrage” (No se encontrará figura alguna dentro de esta obra), esto para enfatizar el carácter algebraico general puro de la mecánica clásica que fundó conocida hoy como la Mecánica Lagrangiana, teniendo quizá Lagrange un concepto muy elevado de la inteligencia de todos los lectores que pudieran estar interesados en su obra a la cual no le agregó ni una sola ilustración.