Modelo de Potts - 2D: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 32: | Linha 32: | ||
a) Gere um estado candidato aleatório <math>x'</math> de acordo <math>g(x'|x_t)</math> | a) Gere um estado candidato aleatório <math>x'</math> de acordo <math>g(x'|x_t)</math> | ||
b) Calcule a probabilidade de aceitação <math>A(x',x_t) = min \left | b) Calcule a probabilidade de aceitação <math>A(x',x_t) = min \left(1,\frac{P(x')}{P(x_t)} \frac{g(x_t | x'}{x'|x_t} \right)</math> | ||
c) Aceite ou rejeite: | c) Aceite ou rejeite: |
Edição das 10h28min de 17 de outubro de 2022
O Modelo
Modelo de Potts pode ser considerado uma generalização do Modelo de Ising. Enquanto no Ising, os spins podem assumir valores 1 ou -1, no Modelo de Potts, os spins podem assumir valores que dependem de uma variavél da seguinte forma: . A quantidade nos fornece as possíveis orientações para os spins. Os valores que pode assumir são . Dessa forma, um Modelo de Potts bidimensionaç com possui uma rede bidimensional de spins com 10 orientações diferentes.
O Hamiltoniano de interação, na ausência de campo magnético, pode ser escrito como
onde é a constante de acoplamento que determina a intensidade da interação e é a delta de Kronecker, definida como 0 se e 1 se .
Relação com o Modelo de Ising
O Modelo de Ising é obtido quando tomamos na expressão para .
O Hamiltoniano de Ising pode ser escrito como o Hamiltoniano do Potts mais uma constante aditiva
Se incluírmos o campo magnético, o Hamiltoniado fica
Algoritmo de Metropolis
Vamos implementar o Modelo de Potts utilizando o algoritmo de Metropolis.
O algoritmo de Metropolis é um método de Cadeia de Markov Monte Carlo (MCMC) para obter amostras aleatórias a partir de uma distribuição de probabilidade da qual a amostragem direta é difícil. O procedimento para a implementação do algoritmo é apresentado abaixo.
1. Inicialize a) Escolha um estado inicial ; b) Coloque
2. Itere a) Gere um estado candidato aleatório de acordo
b) Calcule a probabilidade de aceitação
c) Aceite ou rejeite:
1) Gere um número aleatório uniforme ;
2) E se , aceite o novo estado e defina ;
3) E se , rejeite o novo estado e copie o estado antigo para frente ;
4) Incremente: coloque t = t + 1
Em nosso caso, a distribuição é , onde .
Resultados
[[Arquivo: <arquivo> |thumb|right|500px| Simulação com o algoritmo de Metropolis para .]]
Códigos utilizados
Referências
D. P. Landau, K. Binder. A Guide Monte Carlo Simulations in Statistical Physics. Cambridge University. New York. 2000.
L. M. Barone, E. Marinari, G. Organtini, F. Ricci-Tersengui. Scientific Programming: C-Language, Algorithms and Models in Science. World Scientific. Singapore. 2013.