Você está na página 1de 5

Revista Brasileira de Ensino de Fsica, vol. 25, no.

1, Marco, 2003 35
Partcula em um Poco de Potencial Innito e o
M etodo Variacional de Monte Carlo
(Particle in an innity potential well and the variational Monte Carlo method)
Rodrigo Canabrava
rodrigo.canabrava@ic.unicamp.br
Silvio A. Vitiello
vitiello@i.unicamp.br
Instituto de Fsica, Universidade Estadual de Campinas
13083 Campinas - SP, Brasil
Recebido em 9 de julho, 2001. Manuscrito revisado recebido em 16 de dezembro, 2002. Aceito em 13 de janeiro, 2003.
Neste trabalho, apresentamos o m etodo variacional de Monte Carlo, aplicado a um sistema de uma partcula
connada em um poco de potencial innito. A amostragem da densidade de probabilidade e feita utilizando-se
o algoritmo de Metropolis. O objetivo do trabalho e apresentar de forma did atica o m etodo e sua implementac ao
em computadores.
We apply the variational Monte Carlo method to study a particle in an innite potential well. The probability
density is sampled using the Metropolis algorithm. The aim of this work is to present in a pedagogical way
both the method and its computer implementation.
I Introduc ao
A simulac ao de sistemas fsicos em computadores vem se
tornando essencial para o estudo da fsica e da ci encia dos
materiais, pois os modelos te oricos dos sistemas da na-
tureza, cada vez mais realistas, s ao tamb em cada vez mais
complexos.
Nessas simulac oes s ao avaliadas grandezas de interesse
do sistema, sem que as equac oes que as descrevem sejam
explicitamente resolvidas. A id eia desses m etodos e obter
respostas num ericas sujeitas apenas a incertezas de natureza
estatstica em situac oes em que n ao e possvel determinar
resultados de forma analtica.
Neste artigo, apresentamos o m etodo variacional de
Monte Carlo e o aplicamos num problema fsico extrema-
mente simples de uma partcula connada em um poco de
potencial innito.
O m etodo de Monte Carlo possibilita o c alculo de di-
versas grandezas de interesse do sistema, entre elas, a sua
energia total. Para tanto, diversas congurac oes (posic oes
da partcula no espaco), s ao utilizadas. Cada congurac ao
possui uma probabilidade de ocorrer. Assim, a energia do
sistema e dada pela m edia das energias associadas a cada
congurac ao, e ponderada pela densidade de probabilidade
P de esta congurac ao ocorrer.
Essa ponderac ao e feita escolhendo-se as congurac oes
por essa densidade de probabilidade. Dentre os algoritmos
que permitem fazer essa amostragem, est a o algoritmo de
Metropolis[1].
O algoritmo de Metropolis permite, a cada passo, obter
uma nova congurac ao a partir da anterior, utilizando a den-
sidade de probabilidade P. O algoritmo permite essen-
cialmente que congurac oes mais prov aveis tenham mais
chance de ocorrer na m edia das grandezas de interesse.
Na pr oxima sec ao, descrevemos o modelo da partcula
no poco de potencial. Na sec ao 3 discutimos o m etodo varia-
cional. Nas duas sec oes seguintes, apresentamos o m etodo
variacional, e o algoritmo de Metropolis, respectivamente.
Em seguida, discutimos detalhes da implementac ao, e apre-
sentamos os resultados obtidos.
II Partcula connada num poco de
potencial innito
Para uma partcula em estado estacion ario, isto e, em que
n ao h a variac ao na sua energia, a equac ao de Schr odinger e
dada por
H
n
(x) = E
n

n
(x), (1)
em que H e a Hamiltoniana, em um problema unidimen-
sional, escrita como
H =
d
2
dx
2
+V (x). (2)
36 Rodrigo Canabrava e Silvio A. Vitiello
Para simplicarmos, utilizamos unidades onde =
2m = 1. Para uma partcula em um poco de potencial in-
nito, podemos ter:
V (x) =

0 se 0 < x < 1
nos outros casos
(3)
Assim, as condic oes de contorno satisfeitas por (x) de-
vem ser:
(x) = 0 se

x 0
x 1
. (4)
A Eq. (1) e uma equac ao diferencial de segundo grau
homog enea e permite soluc oes exatas da forma
(x) = Asen(kx) +Bcos(kx). (5)
Considerando as condic oes de contorno, obtemos as
soluc oes

n
(x) = Asen(nx), (6)
comn inteiro e maior que zero. Utilizando este resultado na
Eq. (1), obtemos os auto-valores da energia E
n
:
E
n
= (n)
2
. (7)
Portanto, para o estado fundamental, temos E
0
=
2
III M etodo variacional
Em situac oes onde n ao e possvel determinarmos a soluc ao
exata da equac ao de Schr odinger, o m etodo variacional e de
grande utilidade. Isso porque, como sabemos[2], ele fornece
um limite superior para o valor da energia. Ao construirmos
uma func ao de onda tentativa
T
, e importante que ela in-
corpore da melhor maneira possvel os conhecimentos que
temos do sistema.
A energia variacional de um sistema pode ser escrita
como:
E
T
=


T
H
T
dx

|
T
|
2
dx
. (8)
Se na construc ao de
T
utilizamos par ametros, E
T
e mini-
mizada com respeito aos mesmos.
Para ilustrar a aplicac ao do m etodo variacional ao prob-
lema da partcula no poco de potencial, vamos adotar como
func ao tentativa, para o estado fundamental:

T
(x) = Nx(1 x), (9)
em que N e a constante de normalizac ao. Na Fig. 1 apresen-
tamos uma comparac ao desta func ao tentativa com a func ao
de onda exata do problema.
Figura 1. Comparac ao entre a func ao tentativa utilizada e a func ao
de onda exata do problema (Eq. (6), n=1). No gr aco ambas as cur-
vas foram multiplicadas por constantes de tal forma que em x =
1
2
tenhamos n=1(
1
2
) = T (
1
2
) = 1. A linha contnua representa
T e a tracejada n=1.
Portanto, para esse problema, se substiturmos
T
dada
pela Eq. (9) na Eq. (8), temos que E
T
= 10. Este valor e
bem pr oximo do valor exato da Eq. (7).
IV M etodo variacional de Monte
Carlo
A integrac ao que acabamos de realizar analiticamente sem
d uvida pode ser feita numericamente. Caso estiv essemos
tratando um problema de muitas partculas e que en-
volvessemfunc oes n ao integr aveis analiticamente, provavel-
mente a unica alternativa seria empregarmos o m etodo de
Monte Carlo para realizarmos as integrac oes necess arias.
Apesar de nosso problema n ao justicar a utilizac ao deste
m etodo, iremos empreg a-lo aqui para ilustrar sua aplicac ao.
Na aplicac ao do m etodo variacional de Monte Carlo, e
util reescrevermos a Eq. (8) como
E
T
=

P(R)E
L
(R)dR, (10)
onde P(R) e uma densidade de probabilidade dada por:
P(R) =
|
T
(R)|
2

|
T
(R)|dR
(11)
e
E
L
(R) =
H
T
(R)

T
(R)
(12)
e chamada de energia local. Obviamente, para as auto-
func oes da Hamiltoniana (1), E
L
ser a uma constante.
Revista Brasileira de Ensino de Fsica, vol. 25, no. 1, Marco, 2003 37
A probabilidade de encontrarmos uma partcula numa
certa posic ao, P(x) = |
0
(x)|
2
, e dada, considerando-se a
func ao variacional da Eq. (9), por
P(x) = N
2
x
2
(1 x)
2
. (13)
Note que o m etodo de Metropolis n ao envolve o conheci-
mento explcito do valor da constante N. A energia local,
neste caso, e dada por
E
L
(x) =
2
x(1 x)
. (14)
A energia variacional, como escrita na Eq. (10), mostra a
utilidade dos m etodos de Monte Carlo na sua determinac ao.

E necess ario amostrarmos a densidade de probabilidade


P(x) para obter a seq u encia de congurac oes x
1
, x
2
, ..., x
M
e compor a m edia:
E
T
=
1
M
M

i=1
E
L
(x
i
) (15)
com as M congurac oes x
i
.
No processo de amostragemconstruimos uma seq u encia
x
i
distribuida de acordo com P(x), isto e, teremos mais
pontos onde P assume seus maiores valores. Como j a
mencionamos, os resultados est ao sujeitos a incertezas es-
tatsticas, o que torna essencial a estimativa da vari ancia:

2
=
1
M 1
M

i=1
(E
L
(x
i
) E
T
)
2
(16)
e conseq uentemente do erro padr ao /

M.
A amostragem de P(x), no caso particular deste tra-
balho, pode ser feita sem diculdades utilizando diversos
algoritmos. O algoritmo de Metropolis e um dos mais em-
pregados na literatura por ser de aplicac ao geral. Ele ser a
utilizado aqui e e descrito a seguir.
V Algoritmo de Metropolis
O algoritmo de Metropolis [1] e muito poderoso porque per-
mite amostrarmos qualquer distribuic ao de probabilidade P.
Uma nova congurac ao aleat oria para o sistema e proposta
a partir da anterior. As probabilidades da posic ao atual e
da nova posic ao proposta s ao utilizadas para determinar se
a nova congurac ao e aceita. S ao permitidos movimentos
tanto para congurac oes de maior como de menor probabil-
idade que a atual.
O algoritmo e o seguinte:
1) Escolha uma congurac ao arbitr aria x
i
onde i = 0.
2) Faca x
novo
= x
i
+ (
1
2
),
onde e um n umero aleat orio[3] no intervalo [0,1], e e
um par ametro do qual os resultados s ao independentes.
3) Se
P(xnovo)
P(xi)

ent ao x
i+1
= x
novo
sen ao x
i+1
= x
i
;

e um novo n umero aleat orio.


4) Faca i = i + 1.
5) Se i < M v a para 2, (M e o n umero total de amostras).
A nova congurac ao obtida a cada passo pode, eventual-
mente, ser igual ` a anterior. Novas congurac oes s ao calcu-
ladas e propostas no passo 2. e um par ametro que deter-
mina a amplitude do deslocamento da partcula. Seu valor
e ajustado para que cerca de 50% das novas congurac oes
sejam aceitas.
No passo 3, temos os testes para aceitar ou n ao essa
congurac ao. Se o sistema vai para uma nova congurac ao
mais prov avel, ela e aceita. Mesmo que a probabilidade da
nova congurac ao seja menor, ela ainda pode ser aceita, com
uma probabilidade dada pelo n umero aleat orio

.
Observa-se que a congurac ao inicial e arbitr aria.
Levando em conta esse fato, descartamos os primeiros pas-
sos para que o sistema se equilibre.
VI Implementac ao
Para realizar a simulac ao, escrevemos um programa que, a
partir de uma congurac ao inicial arbitr aria x
0
, com 0 <
x
0
< 1, amostrava a distribuic ao de probabilidade dada
pela Eq. (13) utilizando o algoritmo de Metropolis. Com
as amostras obtidas, formamos as m edias da energia E
T
, de
acordo com a Eq. (15).
O algoritmo de Metropolis introduz correlac oes entre
as congurac oes amostradas. Isso e conseq u encia direta
do passo 2 do algoritmo. Uma maneira obvia de resolver
esse problema e utilizar no c alculo da energia apenas uma
amostragem a cada K posic oes obtidas. Por exemplo, com
K = 200, formaramos a m edia da energia apenas com a
seq u encia X
0
, X
200
, X
400
, ....
Comisso teramos eliminado o problema de correlac oes.
Uma maneira mais eciente de tratar este problema en-
volve o que chamamos de m edia por blocos. Uti-
lizamos um valor de K pequeno, obtendo uma seq u encia
X
0
, X
K
, X
2K
, X
3K
, .... Calculamos as m edias parciais das
energias a cada grupo de N
E
dessas posic oes. Ap os obter-
mos as energias de N
b
blocos, fazemos a m edia nal, com o
desvio padr ao referente a essa m edia com N
b
valores.
Assim, por exemplo, para K = 5 e N
E
= 40, obte-
mos X
0
, X
5
, X
10
, .... E a cada 40 dessas posic oes, agru-
pamos numa m edia parcial E
b
. A m edia nal E
T
e o seu
erro padr ao s ao calculados assumindo que cada energia de
bloco (E
b
) seja estatisticamente independente das demais.
Esse procedimento resolve o problema de correlac ao en-
tre as congurac oes amostradas, com maior eci encia no
tempo de uso da m aquina.
38 Rodrigo Canabrava e Silvio A. Vitiello
VII Resultados obtidos
O primeiro passo e escolher o valor do par ametro , que
controla a amplitude do movimento da partcula. Para deter-
minarmos o melhor valor para o par ametro, consideramos a
frac ao de movimentos aceitos como medida, isto e, a raz ao
entre o n umero de vezes em que uma nova congurac ao e
aceita pelo n umero total de tentativas. Os resultados podem
ser vistos na Tabela 1.
Observamos que quanto menor o valor de , maior e a
frac ao de aceitac ao. Quando e pequeno, a partcula se
move muito pouco a cada passo. Para valores maiores de ,
a raz ao das probabilidades (passo 3 do algoritmo) pode ser
pequena e, al em disto, o algoritmo tenta mover a partcula
para fora do intervalo com muita freq u encia, resultando em
rejeitarmos a congurac ao proposta. Uma regra emprica
sugere que a frac ao de aceitac ao ideal deve ser aproximada-
mente 0,5. Note que tanto para o maior como para o menor
valor de apresentados na tabela, os c alculos perdemmuito
de sua eci encia; nestas situac oes o n umero de amostras uti-
lizado deixa de ser suciente. Fato este, que se reete no
valor irrealista do erro padr ao.
Tabela 1. Resultados do problema da partcula connada
num poco de potencial innito, para v arios valores de .
Nestes testes, realizamos 1200 passos, descartando os 200
primeiros.
frac ao de aceitos E
T
0.1 0.966 9.113 0.059
0.3 0.880 9.63 0.11
0.5 0.792 10.07 0.13
0.7 0.674 10.48 0.20
0.9 0.583 10.21 0.19
1.1 0.534 10.10 0.13
1.3 0.467 9.601 0.094
Em seguida, realizamos a implementac ao de m edia por
blocos. Mostramos na Tabela 2 alguns resultados. Esses
testes foram realizados sempre com 2000 passos, que eram
divididos igualmente num certo n umero de blocos. Cada
um dos testes foi realizado usando-se a mesma sequ encia de
congurac oes dos outros, de forma que obtivemos o mesmo
valor de energia m edia em todos os casos. Assim, podemos
ver mais diretamente a inu encia do n umero de blocos no
valor do erro.
Conforme esper avamos, os valores de desvio padr ao ap-
resentam um m aximo em func ao do n umero de blocos (N
b
).
Como o n umero de passos total e sempre o mesmo, quanto
maior for o n umero de blocos, menor ser a o n umero de
passos por bloco (N
E
). Por conseq u encia, menor ser a a
vari ancia.
De fato, estaremos tratando como avaliac oes indepen-
dentes da energia resultados que, na realidade, n ao s ao inde-
pendentes. Como j a mencionamos, esta e uma decorr encia
do algoritmo de Metropolis. No outro extremo, a medida
que diminuirmos excessivamente o n umero de blocos, a
vari ancia volta a diminuir.
A escolha do n umero de blocos mais adequado nem
sempre e f acil[4]. Neste problema, 10 a 20 blocos d ao uma
boa id eia do erro do valor calculado.
Tabela 2. Resultados da implementac ao de m edia por blocos
para = 0.15, utilizando as mesmas 2000 congurac oes
em cada simulac ao. Um pequeno valor de foi escolhido
para por em evid encia o comportamento do erro padr ao em
outras simulac oes que envolvam sistemas de muitos corpos.
N umero de blocos E
T
4 10.4417 0.2161
5 10.4417 0.3532
8 10.4417 0.3865
16 10.4417 0.4049
20 10.4417 0.4958
25 10.4417 0.4936
40 10.4417 0.5168
50 10.4417 0.4980
80 10.4417 0.4485
100 10.4417 0.4224
200 10.4417 0.3695
400 10.4417 0.3046
VIII Conclus ao
Neste artigo, apresentamos o m etodo variacional de Monte
Carlo. Esse m etodo e muito util em simulac oes de
sistemas fsicos em computadores, pois a equac ao de
Schr odinger desses sistemas muitas vezes n ao permitem
soluc oes analticas.
De forma a exemplicar o uso desse m etodo, utilizamos
um modelo muito simples, que tem soluc ao analtica f acil,
de forma que podemos comparar o resultado obtido na
simulac ao com a soluc ao da equac ao de Schr odinger.
Al em da discuss ao te orica, tamb em analisamos aspec-
tos de implementac ao do m etodo variacional de Monte
Carlo. Exemplicamos o algoritmo de Metropolis como
um dos possveis algoritmos que fazem a amostragem de
congurac oes neste problema. Analisamos o problema
de correlac ao entre as congurac oes, e mostramos uma
maneira de se resolver esse problema.
Os resultados obtidos com a nossa func ao variacional
s ao muito bons, quando comparados ao resultado exato da
Eq. (7). O m etodo variacional de Monte Carlo e de f acil
implementac ao e fornece a energia variacional em excelente
acordo com o resultado analtico. Este valor est a sujeito
apenas a incertezas de natureza estatstica, as quais podem
Revista Brasileira de Ensino de Fsica, vol. 25, no. 1, Marco, 2003 39
ser sistematicamente reduzidas pelo aumento do n umero de
amostras.
Agradecimentos
Agradecemos ao Centro Nacional de Processamento de
Alto Desempenho em S ao Paulo (CENAPAD-SP) na Uni-
camp pelo uso de suas facilidades de processamento em par-
alelo.
Agradecemos tamb em ` a Fundac ao de Amparo ` a
Pesquisa no Estado de S ao Paulo (FAPESP) por nanciar
a pesquisa com bolsa de Iniciac ao Cientca.
Refer encias
[1] N. Metropolis et al., J. Chem. Phys. 21, 1087 (1953).
[2] D. Grifths, Introduction to Quantum Mechanics, Prentice
Hall, New Jersey, 1995.
[3] G. Marsaglia e A. Zaman, Comp. Phys. 8, 117 (1994).
[4] M. P. Allen e D. J. Tildesley, Computer Simulation of Liquids,
Oxford, 1989.

Você também pode gostar