El método de Monte Carlo de difusión (DMC) o Monte Carlo cuántico de difusión [1] es un método de Monte Carlo cuántico que utiliza una función de Green para calcular las energías bajas de un hamiltoniano cuántico de muchos cuerpos.
El método de difusión Monte Carlo tiene el potencial de ser numéricamente exacto, lo que significa que puede encontrar la energía del estado fundamental exacta para cualquier sistema cuántico dentro de un error dado, pero a menudo se deben hacer aproximaciones y su impacto debe evaluarse en casos particulares. Cuando realmente se intenta el cálculo, se encuentra que para los bosones , el algoritmo escala como un polinomio con el tamaño del sistema, pero para los fermiones , el método de difusión Monte Carlo escala exponencialmente con el tamaño del sistema. Esto hace que las simulaciones de DMC exactas a gran escala para fermiones sean imposibles; sin embargo, el método de difusión Monte Carlo que emplea una aproximación inteligente conocida como la aproximación de nodo fijo aún puede producir resultados muy precisos. [2]
Para motivar el algoritmo, veamos la ecuación de Schrödinger para una partícula en algún potencial en una dimensión:
Podemos condensar un poco la notación escribiéndola en términos de una ecuación de operador , con
¿Dónde está el operador hamiltoniano ? Entonces tenemos
donde tenemos que tener en cuenta que es un operador, no un simple número o función. Existen funciones especiales, llamadas funciones propias , para las cuales , donde es un número. Estas funciones son especiales porque no importa dónde evaluemos la acción del operador sobre la función de onda , siempre obtenemos el mismo número . Estas funciones se llaman estados estacionarios , porque la derivada temporal en cualquier punto es siempre la misma, por lo que la amplitud de la función de onda nunca cambia en el tiempo. Dado que la fase general de una función de onda no es medible, el sistema no cambia en el tiempo.
Generalmente nos interesa la función de onda con el valor propio de energía más bajo , el estado fundamental . Vamos a escribir una versión ligeramente diferente de la ecuación de Schrödinger que tendrá el mismo valor propio de energía, pero, en lugar de ser oscilatoria, será convergente. Aquí está:
Hemos eliminado el número imaginario de la derivada temporal y hemos añadido un desplazamiento constante de , que es la energía del estado fundamental. En realidad no conocemos la energía del estado fundamental, pero habrá una forma de determinarla de forma autoconsistente que presentaremos más adelante. Nuestra ecuación modificada (algunas personas la llaman la ecuación de Schrödinger de tiempo imaginario) tiene algunas propiedades interesantes. Lo primero que hay que notar es que si adivinamos la función de onda del estado fundamental, entonces y la derivada temporal es cero. Ahora supongamos que empezamos con otra función de onda ( ), que no es el estado fundamental pero no es ortogonal a él. Entonces podemos escribirla como una suma lineal de funciones propias:
Como se trata de una ecuación diferencial lineal , podemos observar la acción de cada parte por separado. Ya determinamos que es estacionaria. Supongamos que tomamos . Como es la función propia de energía más baja, el valor propio asociado de satisface la propiedad . Por lo tanto, la derivada temporal de es negativa y eventualmente irá a cero, dejándonos solo con el estado fundamental. Esta observación también nos da una forma de determinar . Observamos la amplitud de la función de onda a medida que nos propagamos a través del tiempo. Si aumenta, entonces disminuimos la estimación de la energía de compensación. Si la amplitud disminuye, entonces aumentamos la estimación de la energía de compensación.
Ahora tenemos una ecuación que, a medida que la propagamos hacia adelante en el tiempo y la ajustamos apropiadamente, encontramos el estado fundamental de cualquier hamiltoniano dado . Sin embargo, este es un problema aún más difícil que el de la mecánica clásica , porque en lugar de propagar posiciones individuales de partículas, debemos propagar funciones completas. En la mecánica clásica, podríamos simular el movimiento de las partículas estableciendo , si asumimos que la fuerza es constante durante el lapso de tiempo de . Para la ecuación de Schrödinger de tiempo imaginario, en cambio, propagamos hacia adelante en el tiempo utilizando una integral de convolución con una función especial llamada función de Green . Entonces obtenemos . De manera similar a la mecánica clásica, solo podemos propagar para pequeñas porciones de tiempo; de lo contrario, la función de Green es inexacta. A medida que aumenta el número de partículas, también aumenta la dimensionalidad de la integral, ya que tenemos que integrar sobre todas las coordenadas de todas las partículas. Podemos hacer estas integrales mediante la integración de Monte Carlo .