Generación de configuraciones de estado estacionario del modelo de Ising

¿Cuál es la forma más eficiente de simular configuraciones de estado estacionario del modelo de Ising? Solo estoy interesado en tener un gran conjunto de configuraciones aleatorias de estado estable del modelo 1D Ising (con constantes de acoplamiento homogéneas). Se me ocurrieron algunas ideas:

  1. Muestreo de fuerza bruta. Dado que el modelo de Ising se puede resolver exactamente en 1D y 2D, se tienen expresiones exactas para las probabilidades de cada estado. Sin embargo, el muestreo aleatorio sobre un conjunto de 2 norte probablemente causará problemas de memoria para pequeños norte ya.
  2. Dinámica de Montecarlo. Se podrían ejecutar los algoritmos habituales de Monte Carlo (por ejemplo, la dinámica de Glauber) en estados iniciales aleatorios y esperar hasta que el sistema converja al equilibrio térmico. Sin embargo, esto parece ineficiente cuando no está interesado en la dinámica y solo desea configuraciones de estado estable.
  3. Usando la densidad de estados. También se podría muestrear primero aleatoriamente la energía del sistema, de acuerdo con PAG ( mi ) norte ( mi ) Exp ( β mi ) , dónde norte ( mi ) es la densidad de estados, que es computable (al menos numéricamente). Luego, se genera una configuración aleatoria con esta energía, por ejemplo, utilizando un algoritmo de inversión de espín en el que se invierten espín individuales para aumentar/disminuir la energía hasta que coincida con la energía objetivo. Pero no estoy seguro si las configuraciones obtenidas de esta manera siguen estadísticamente la distribución de Boltzmann.

Nota: en 1D también hay una expresión exacta para la densidad de estados de Ising, gramo ( mi ( k ) ) = 2 ( norte 1 k ) con mi ( k ) = norte + 2 k + 1 . Ver esta otra pregunta: Ising modelo de densidad de estados .

¿Alguna idea sobre cuál es la mejor manera de abordar esto?

Respuestas (1)

Para el modelo unidimensional, la forma más eficiente, con mucho, de simular el modelo de Ising es usando una cadena de Markov en { 1 , 1 } , generando un giro a la vez, condicionalmente a los valores tomados por los giros anteriores. Tenga en cuenta también que de esta manera, está muestreando exactamente de la distribución de Gibbs, sin aproximación (en contraste con un enfoque de Monte Carlo).

Para simplificar, permítanme considerar el modelo con condición de contorno libre, es decir, el modelo con hamiltoniano

β H = β i = 2 norte σ i 1 σ i .
(También puede agregar un campo magnético, pero no lo haré aquí para simplificar la exposición). Entonces, σ 1 es igual a + 1 o 1 con probabilidad 1 2 por simetría. Además, para cualquier k 2 ,
PAG r o b ( σ k = σ k 1 | σ 1 , , σ k 1 ) = PAG r o b ( σ k = σ k 1 ) = mi β mi β + mi β = 1 1 + mi 2 β .
Llamemos a esta probabilidad pag .

Para resumir:

  • tu muestra σ 1 : es + 1 con probabilidad 1 2 y 1 con probabilidad 1 2 .
  • Dado σ 1 , configura σ 2 = σ 1 con probabilidad pag y σ 2 = σ 1 con probabilidad 1 pag .
  • Dado σ 2 , configura σ 3 = σ 2 con probabilidad pag y σ 3 = σ 2 con probabilidad 1 pag .
  • etcétera...

Esto es muy fácil de implementar y extremadamente rápido (por supuesto, calcular pag = 1 / ( 1 + mi 2 β ) sólo una vez). Luego, la mayor parte del tiempo lo toma la generación de números pseudoaleatorios. De esta forma, puede simular cadenas de longitud arbitrariamente grande sin ningún problema.

(Consulte también esta respuesta para conocer otro punto de vista de la relación entre los modelos unidimensionales y las cadenas de Markov).


Explicación de la fórmula para pag .

La forma más sencilla de ver por qué la fórmula para pag dado anteriormente es usando el grupo aleatorio o las representaciones de alta temperatura del modelo de Ising, si está familiarizado con ellos (se describen, por ejemplo, en las Secciones 3.7.3 y 3.10.6 de este libro ) .

Si no está familiarizado con estas representaciones, permítame intentar proporcionarle un argumento directo.

Dejar s 1 , , s norte { 1 , 1 } y escribe s = ( s 1 , , s k 1 , s k , , s norte ) y s = ( s 1 , , s k 1 , s k , , s norte ) (es decir, la configuración s se obtiene de la configuración s volteando los giros en k , k + 1 , norte ).

Ahora,

PAG r o b ( σ = s ) PAG r o b ( σ = s ) = Exp ( β H ( s ) ) Exp ( β H ( s ) ) = Exp ( 2 β s k 1 s k ) .
En particular,
PAG r o b ( σ k = σ k 1 ) PAG r o b ( σ k = σ k 1 ) = Exp ( 2 β ) .
Pero esto implica que
PAG r o b ( σ k = σ k 1 ) = mi 2 β PAG r o b ( σ k = σ k 1 ) = mi 2 β ( 1 PAG r o b ( σ k = σ k 1 ) ) ,
y por lo tanto
( 1 + mi 2 β ) PAG r o b ( σ k = σ k 1 ) = mi 2 β ,
de donde la fórmula para pag sigue inmediatamente.

Gracias, esto es definitivamente lo que estaba buscando! Me preguntaba cómo derivar la probabilidad condicional que escribiste. Parece muy intuitivo, pero de alguna manera no veo cómo derivarlo. Me pregunto si es sencillo ver esto o si se deriva de las propiedades de la cadena de Markov a las que se refiere en su otra respuesta (que no entiendo completamente).
Agregué una derivación directa. La idea es extremadamente simple: si le das la vuelta al giro σ k y todos los giros a su derecha, entonces cambias la energía por ± 2 , dependiendo de si el giro σ k está de acuerdo con σ k 1 antes o después de la voltereta. En cualquier caso la razón de las probabilidades vendrá dada por mi ± 2 β , de donde la fórmula para pag sigue fácilmente. Se dan más detalles en la respuesta.
Veo el punto, y también creo que esto tiene sentido. Sin embargo, en la derivación se supone que para el estado s , s k , s norte están todos invertidos, lo cual es necesario para reducir la primera fórmula a un solo término. Pero lo encuentro confuso, porque parece que estamos imponiendo condiciones adicionales a s k + 1 , s norte aquí.
La verdad es que ahora tengo algunas dudas. De esta construcción, PAG ( σ k + yo = σ k ) = i = 1 yo PAG ( σ k + i = σ k + i 1 ) = pag yo . Pero esto implicaría que la función de correlación de dos puntos σ k σ k + yo = 2 PAG ( σ k + yo = σ k ) 1 decaería como una ley de potencia, ¿correcto? Pero sabemos que, en cambio, decae exponencialmente.
No, no estamos agregando condiciones en s k + 1 , , s norte . Al calcular la probabilidad de que σ k = σ k 1 , hay que sumar todas las configuraciones admisibles s (es decir, aquellos tales que s k = s k 1 ). A cada una de estas configuraciones corresponde exactamente una configuración en la que s k = s k 1 , obtenido al invertir los giros a la derecha de s k 1 . Además, para cada uno de estos pares de configuraciones, la relación de probabilidades es la misma mi 2 β . Esto implica que la razón de las probabilidades de que σ k = σ k 1 y σ k = σ k 1 es también mi 2 β .
pag yo = Exp ( yo | registro pag | ) decae exponencialmente con yo , así que no entiendo tu pregunta...
Sí, lo siento, olvídate de la exponencial... ¡Gracias, esto me lo aclara!