5 de octubre de 2009

Química Cuántica con Computadoras Cuánticas por Carlos Amador-Bedolla y Alán Aspuru-Guzik

Siguiendo con la serie de posts invitados, Carlos Amador-Bedolla y Alán Aspuru-Guzik, dos investigadores mexicanos (Carlos de la UNAM y Alán de Hardvard) me han enviado este PDF titulado:

El artículo está en español, aquí dejo el resumen:
La superposición de estados y el intrincamiento son características de la naturaleza cuántica que invitan a especular acerca de la construcción, la programación y el funcionamiento de computadoras cuánticas. En particular, se ha especulado acerca de la posibilidad de usarlas para resolver la ecuación de Schrödinger y calcular la energía de un sistema cuántico, es decir, la posibilidad de hacer química cuántica en computadoras cuánticas. Recientemente se demostró que, en principio, esto es posible. Presentamos las ideas básicas del algoritmo cuántico para la solución de la ecuación de Schrödinger y las estimaciones de los recursos que deberá tener la computadora cuántica que implemente este algoritmo.
Gracias Carlos y Alán por la colaboración!

12 comentarios:

  1. No sé cómo he llegado a parar aquí, pero he tenido suerte. Soy estudiante del último año de físicas y siempre me ha llamado la atención el asunto de la computación cuántica. Dime...¿cómo se soluciona en problema de los campos magnéticos? Porque para trabajar con ordenadores cuánticos, necesitas un estado de spin que se verá modificado con la presencia de el más mínimo campo magnético...¿se puede solucionar el problema?

    ResponderBorrar
  2. Hola,
    El problema de la decoherencia es uno de los problemas mas graves de la computación cuántica, y hay una investigación muy activa en el tema. Yo soy teórico, y no conozco mucho del tema, pero trataré de conseguir alguno de los que están trabajando en esto para otro "post invitado" :)
    Por otro lado, desde el punto de vista teórico existen muchas técnicas de "corrección de errores" (hay bastante de eso en los posts "reportes desde la escuela").
    Perdon por no poder aportar mas datos, la verdad que no es mi tema, pero me comprometo a buscar alguien que este investigando en el tema y quiera explayarse.
    Saludos!

    ResponderBorrar
  3. Hola!

    Enhorabuena por este blog! Todo un descubrimiento! Me gustaría que me dijeran si tienen algún link sobre optical lattice a nivel introductorio (y si puede ser en español mejor)

    Muchas gracias!
    Javier

    ResponderBorrar
  4. Hola!
    La verdad que yo no tengo idea sobre el tema (Danny?), pero en Wikipedia hay un artículo con varios links.
    Espero te sirva.
    Saludos,
    Alejandro

    ResponderBorrar
  5. Gracias Alejandro por responder tan rápido!

    Soy físico, vivo cerca de Barcelona (España)

    Hace unos años trabajé en computación cuántica, y ahora he retomado el interés. En particular estoy interesado en la simulación cuántica.

    En estos años, de entre los prototipos de ordenadores cuánticos que se han ideado, el más esperanzador (en mi opinión) es el de confinamiento de átomos fríos en potenciales regularmente distribuídos (gracias a láseres) O sea, los optical lattice.

    Estaba buscando en la red algún tutorial introductorio. Por otro lado, no estoy seguro de si se ha hecho o no un simulador de moléculas en estos "ordenadores"

    Recientemente se publicó en Nature un artículo en que se averiguaba el nivel de energía de la molécula de Hidrógeno, pero no tengo constancia de si se ha hecho en una optical lattice :)

    Un saludo
    Javier

    ResponderBorrar
  6. Hola Javier,
    Yo soy cientista de la computación y trabajo sobre todo en modelos teóricos para computación cuántica (lambda cálculo y pi cálculo, lógica, teoria de tipos, etc), así que mucha idea de esos temas no tengo, pero si quisieras escribir algún post en el blog sobre lo que has trabajado en computación cuántica, a modo de introducción al tema, bienvenido!
    Saludos,
    Alejandro

    ResponderBorrar
  7. No tengo la más mínima idea sobre ese tema.

    Esto trae a colación una discusión interesante. Para los que estamos en CS (principalmente teoría) lo único que podemos hacer es teoría. La parte experimental de computación cuántica mejor lo hacen los físicos. Entonces, lo único que nos queda a nosotros son los espacios de Hilbert. Y como lo dijo bien Asher Peres "los fenómenos cuánticos no ocurren en un espacio de Hilbert, ocurren en el laboratorio".

    ResponderBorrar
  8. Gracias por vuestras respuestas!

    Así que estoy rodeado de informáticos teóricos?? jeje..

    Ostras, desconozco totalmente el tema de lambda-calculus (no sé si se dice así)

    Podríais explicarme como si se lo exlicárais a vuestra abuela de que se trata?

    Por lo que he oído (hace tiempo) este tipo de programación en computacion clasica se utiliza para la inteligencia artificial, no? Contad contad please!

    Javier

    ResponderBorrar
  9. Hola!

    El lambda cálculo es una definición formal y minimalista del concepto de función, que permite hablar de recursión, computabilidad y todos los conceptos de los fundamentos de ciencias de la computación. Es un modelo matemático equivalente a las máquinas de turing.

    También se puede ver al lamda cálculo como la prueba para ciertas lógicas. Si existe un lambda término, y este puede ser caracterizado por lo que se llama su "tipo", entonces ese tipo pasa a ser una fórmula lógica y el término en sí es la prueba de que esa fórmula es válida.

    Hice un post contando un poco sobre lógica, tipos y la relación con cuántica acá.

    El lambda cálculo es la forma más simple de definir una función. Ejemplo, la función identidad, que toma una variable y devuelve lo mismo, genéricamente se define como f(x)=x, pero en realidad, la "f", el nombre de la función, está de más, porque g(x)=x también es la función identidad. Lambda cálculo abstrae esto y lo escribe como λx.x, donde el λx simplemente dice que se trata de una función que toma una variable: x.

    Los términos de lambda cálculo se escriben de acuerdo a la siguiente gramática:

    t,t'::= x | λx.t | t t'
    O sea, un lambda término t puede ser una variable (x), una lambda abstracción, que es un λx.otro-lambda-término o una aplicación de función que sería un lambda término seguido de otro lambda término.
    Ejemplo: (λx.λy.x y) f z, es la función que toma el argumento x y devuelve la función que toma el argumento y y devuelve x aplicado a y. Entonces si, como en el ejemplo, el primer argumento es una función, digamos f, y el segundo un término, digamos z, este término no es más que f(z).

    Bueno, hay mucha bibliografía, tutoriales, etc para leer si te interesa el tema. En particular yo trabajo con teoría de tipos y lógicas (que en mi post aclaro cómo se relacionan esos dos conceptos) para lambda cálculos que tienen sumas y productos escalares, con los cuales se pueden representar vectores y "superposición", y por consiguiente, codificar algoritmos cuánticos de una manera "natural".

    Espero que haya servido para aclarar más que confundir :)

    Saludos,
    Alejandro

    ResponderBorrar
  10. Hola Alejandro, queria preguntarte si Haskell utiliza algo de calculo lambda

    ResponderBorrar
  11. Hola Lucas,

    El lambda cálculo es un modelo abstracto en el cual se basan los lenguajes funcionales, como Haskell. En Haskell es muy directo simular el lambda cálculo, ya que es su base teórica.

    Saludos,
    Alejandro

    ResponderBorrar
  12. ahh buenisimo, voy a seguir buscando en el blog algun tutorial del tema, porque no creo q me lo expliquen en la universidad :P

    ResponderBorrar