martes, 25 de septiembre de 2007

Un paquete de Mathematica para Computación Cuántica en notación de Dirac: soñando junto con Charles Babbage y Ada Lovelace

Charles Babbage diseñó en el siglo XIX una “computadora” mecánica que nunca fue construida. Para darnos cuenta del gigantesco paso que había dado Babbage, recordemos que cuando este hombre diseñaba su "computadora" mecánica, todavía no había luz eléctrica, la gente aún se alumbraba con velas y lámparas de petróleo. Y Babbage ya estaba diseñando una computadora. Por supuesto, el término "computadora" tampoco existía, Babbage llamó a su diseño "máquina analítica" (Analytical Engine). Este diseño nunca llegó a ser construido, en parte porque era un reto enorme para la ingeniería del siglo XIX producir las piezas mecánicas requeridas para la máquina.

Pero, quizás todavía más sorprendente, en esa misma época se escribió el primer programa de computadora, precisamente para esta "máquina analítica" inexistente. Este primer "programa" computacional fue escrito por el mismo Babbage, y fue corregido y explicado por Ada King, condesa de Lovelace (Ada Byron). Por supuesto, en aquel entonces tampoco existía la idea de un "programa de computadora", la condesa Lovelace y Babbage le llamaron a su trabajo un "Método de Cálculo", pero en la actualidad se le reconoce como el primer programa computacional. En la época de Babbage y la condesa Lovelace, su máquina analítica era un sueño. Hicieron sus "Métodos de Cálculo" (programas) para una computadora que nunca existió. Pero ahora sabemos que estaban soñando en la dirección correcta: las computadoras electrónicas y sus programas en el siglo XXI son más poderosos que lo que ellos podían haberse atrevido a imaginar en sus sueños más ambiciosos.

En forma similar, en la actualidad, en el siglo XXI, hay investigadores que construyen programas (algoritmos) para las "Computadoras Cuánticas". Las "computadoras cuánticas" todavía no existen, aunque ya hay avances, una computadora cuántica de proposito general es en este momento un sueño, una hermosa promesa. En nuestros sueños más ambiciosos nos imaginamos que una computadora cuántica será increiblemente poderosa. Pero, hasta ahora, construir una computadora cuántica ha resultado ser un reto para la ingeniería del Siglo XXI. Como todavía no existen (¡y quizás nunca existan!) las poderosísimas computadoras cuánticas, los programas (algoritmos) cuánticos tienen que ser ejecutados (simulados) en las computadoras "normales", las que si existen. Se han desarrollado muchos simuladores de computadoras cuánticas. Pues ahora nosotros en México hemos puesto nuestro granito de arena con el desarrollo de un paquete de Mathematica para hacer Computación Cuántica. El paquete se llama "Quantum".
El paquete "Quantum" tiene algunas características que lo distinguen de otros simuladores: Se trabaja directamente en la notación de Dirac (la notación natural de la Mecánica Cuántica) y genera los dibujos de los circuitos cuánticos a partir de expresiones en notación de Dirac.

Se puede decir que este paquete "Quantum" integra el poder de Mathematica en la notación de Dirac, y también integra el poder de la notación de Dirac en Mathematica. Invito pues a los interesados en Mecánica Cuántica y en Computación Cuántica a conocer este nuevo paquete de Mathematica, y también los invito a soñar, como alguna vez soñaron Charle Babbage y Ada Lovelace.
El paquete se puede descargar en la siguiente liga: http://homepage.cem.itesm.mx/lgomez/quantum/