Você está na página 1de 13

Fsica Computacional Aulas 09 e 10

Gerador de Nmeros Pseudo-Aleatrios


Gerao de Nmeros seguindo uma dada Funo de Probabilidades e
Integrao de Monte Carlo
Alexandre Souto Martinez
1
1
FM/DFM/FFCLRP/USP
(Dated: 22 de abril de 2010)
Contents
I. Gerador de Nmeros Pseudos-Aleatrios 1
A. Geradores Lineares Congrugenciais 2
II. Distribuies de Probabilidade No Uniformes 2
A. Tcnica da Funo Acumulada 2
III. Integrao Numrica 3
A. Sistema Unidimensional 3
B. Sistema Multidimensional 3
IV. Mtodo de Monte Carlo 3
A. Amostragem por Importncia 3
V. Exerccios 4
VI. Hipercubos e Hiperesferas 8
VII. Hipercubos 8
VIII. Hiperesferas 9
IX. Clculo dos Coecientes C
D
e A
D
12
X. Funo Gama e Clculo de Integrais Gaussianas 12
A. Funo Gama 12
B. Integrais Gaussianas 12
1. Ordem Zero 12
2. Ordem Arbitrria 13
O computador no faz o que a gente quer
que ele faa; ele faz o que a gente manda
ele fazer!
O Professor medocre expe,
O bom Professor explica,
O Professor superior demonstra e
O grande Professor inspira.
William Arthur Ward
A nica e verdadeira prova do conhecimento
a capacidade de ensinar.
Socrates
A aleatoriedade aparece devido o nosso conheci-
mento incompleto da realidade, da falta de informao
que proibe uma predio do futuro. A aleatoriedade
aparece fa complexidade, do fato que causas so
diversas e que pequenas pertubaes podem resultar
em grandes efeitos. H mais de um sculo, a Cincia
abandonou a viso determinista de Laplace e tem am-
plamente aceitado a tarefa de decifrar a aleatoriedade e
inventing ferramentas adequadas para a sua descrio.
A surpresa que, anal de contas, a aleatoriedade
tem muitas facetas e que existem em muitos nveis
de incerteza, mas, acima de tudo, uma nova forma de
previsibilidade aparece, que no mais determinista
mas estatstica.
Jean-Philippe Bouochaud e Marc Potters, em The-
ory of nancial risk and derivative pricing: from statisti-
cal physics to risk management. Cambridge University
Press, Cambridge 2003.
I. GERADOR DE NMEROS PSEUDOS-ALEATRIOS
Os processos como o lanar de uma moeda, a loteria,
lancar de dados, decaimento radioativo etc. so geral-
mente aceitos como resultantes da aleatoriedade real.
Clculos deterministas no podem levar aos nmeros
aleatrios. No entanto, mapas no lineares determinis-
ticos podem efetivamente levar a sequncias imprev-
siveis de nmeros pseudo-aleatrios. Por exemplo, no
mapa logstico: x
n+1
= 4rx
n
(1 x
n
), com r = 1 os
valores de x
n
seguem uma sequncia imprevisvel de
valores no intervalo entre zero e um, x
n
[0, 1]. Ob-
serve que a visitao das regies de neste intervalo no
uniforme, ela segue a seguinte funo densidade de
probabilidade:
p(x) =
1

x(1 x)
.
Como veremos, os nmeros pseudo-aleatrios for-
mam as bases da simulao numrica do tipo Monte
Carlo e mais frequentemente a funo densidade de
probabilidade uniforme entre zero e um utilizada:
P(x) =

1 se 0 x < 1
0 caso contrrio
.
Se um computador usa 32 bits para representar os
nmeros inteiros, ento somente m = 2
32
= 4294967296
nmeros inteiros diferentes podem ser representados.
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
Considerando que um computador pode processar
1000 iteraes por segundo, calcule o tempo para ob-
ter todas as possibilidades.
Simples iteraes no-lineares, da forma k
n+1
=
f(k
n
), so peridicas com o maior perodo possvel
sendo m.
Considere iteraes de nmeros inteiros com 0
k
n
< m, isto leva a um nmero real x
n
= k
n
/m de tal
modo que 0 x
n
< 1.
A. Geradores Lineares Congrugenciais
So amplamente utilizados geradores da forma:
k
n+1
= f(k
n
) = (ak
n
+ b) mod m
Mtodos da teoria dos nmeros fornecem boas esco-
lhas para os parmetros a e b. Para mais detalhes ver a
Referncia (?).
Para se ter perodos maiores:
necessrio ter mais bits para representar os n-
meros (compiladores, hardware)
combinar vrios geradores, i.e., mudar entre duas
funes f e g disparado por um terceiro gerador
independente h:
k
n+1
=

f(k
n
) se x
n
< 1/2
g(k
n
) caso contrrio
onde x
n
obtido de uma sequncia

k
n
= h(

k
n1
).
usar funes de nmeros j gerados: k
n+1
=
f(k
nt
, k
ns
) com inteiros t > s. A sequn-
cia somente se repete exatamente se t nme-
ros {k
nt
, k
nt+1
, . . . , k
n1
} forem encontras no-
vamente, perodo de comprimento 2
mt
possvel.
O problema encontrar f. Um exemplo dado na
Ref. (?)
Alguns comentrios
1. At o melhor gerador produz uma sequncia (de-
terminista) reprodutiva de, no melhor dos casos,
nmeros pseudo-aleatrios.
2. Vantagem: os resultados de simulaes numri-
cas do tipo Monte Carlo podem ser reproduzidos
exatamente no futuro (importante: a inicializao
deve ser gravada com os resultados das simula-
es numricas).
3. No existe um teste estatstico pleno que possa
provar as qualidades de um gerador de nmeros
pseudo-aleatrios.
4. Correlaes de altas ordens podem estar muito
bem escondidas e ainda corromper os resultados
de simulaes de Monte Carlo.
5. recomendado utilizar vrios geradores diferen-
tes para comparar os resultados de simulaes de
Monte Carlo.
6. Um gerador de nmeros pseudo-aleatrios bom
at que algum descubra que no (??)
II. DISTRIBUIES DE PROBABILIDADE NO
UNIFORMES
Utilizando o gerador de nmeros aleatrios congru-
gencial linear, podemos geral nmeros pseudo aleat-
rios uniformemente distribuidos no intervalo [0, 1]. O ob-
jetivo agora gerar nmeros aleatrios seguindo outras
funes densidade de probabilidade.
A. Tcnica da Funo Acumulada
Uma funo densidade de probabilidade p(x) satisfaz
as seguintes condies:
p(x) 0 (1)

dxp(x) = 1 (2)

b
a
dxp(x) = Prob(a < x < b) . (3)
A funo acumulada denida como sendo a proba-
bilidade de ter um valor X < x, assim:
F(x) =

dx

p(x

) . (4)
A funo acumulada uma funo monotona crescente
(nunca diminui) tal que F() = 0 e F() = 1.
A funo densidade de probabilidade e a funo acu-
mulada se relacionam por:
p(x) =
dF(x)
dx
. (5)
Para gerar nmeros aleatrios seguindo uma funo
densidade de probabilidade f(x), a idia gerar nme-
ros uniforme e aleatoriamente distribudos no intervalo
[0, 1[ a correspondem a valores da funo acumulada e
em seguida inverter esta funo. Assim, considere r um
nmero aleatrio distribudo por um funo densidade
de probabilidade uniforme no intervalo [0,1[:
F(x) = r (6)
x = F
1
(r) (7)
onde F
1
(r) a funo inversa.
Por exemplo, desejamos obter nmeros aleatrios
que seguem uma funo densidade de probabilidade
exponencial:
p(x) =

0 x < 0
e
x/
/ x 0 .
(8)
2
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
A funo acumulada dada por:
F(x) =

0 x < 0
1 e
x/
x 0 .
(9)
Assim r = 1 e
x/
o que corresponde : x = ln(1
r), mas como (1 r) est distribuido uniformemente no
intervalo [0, 1[, podemos escrever:
x = ln r . (10)
III. INTEGRAO NUMRICA
A. Sistema Unidimensional
Considere um sistema unidimensional. O objetivo
resolver a integral
I =

b
a
dxf(x)
n1

i=0
xf(x
i
) = (b a)f (11)
onde, sem perda de generalidade, assume-se que b >
a.
A primeira estimativa de I dada por:
I
0
=
n1

i=0
xf(x
i
) = (b a)f
0
, (12)
onde
x =
b a
n
(13)
f
0
=
1
n
n1

i=0
f(x
i
) . (14)
Observe que aqui a mdia calculada usando o valor
f(x
i
) esquerda do intervalo x.
possvel melhorar o clculo da integral F usando
outros procedimentos como a regra do trapzio. Isto
corresponde em fazer uma interpolao linear entre os
pontos (x
i
, f
i
) consecultivos. A rea do i-simo trapzio
x(f
i
+ f
i+1
)/2. Somando todas estas reas leva a
I
1
= x

i=0
f
i

f
0
+ f
n
2

(15)
(b a)

f
1

f
0
+ f
n
2n

(16)
onde
f
1
=
1
n
n

i=0
f(x
i
) . (17)
possvel melhor ainda estas estimativas de I, por
exemplo usando o mtodo de Simpson, onde o erro
da ordem de (x)
4
. O erro diminui a medida que n
aumenta da forma n
1/4
. O tempo de execuso da
ordem de n.
B. Sistema Multidimensional
Considere um sistema de dimenso d. O objetivo
resolver a integral
F =

b
1
a
1
dx
1

b
2
a
2
dx
2

b
d
a
d
dx
d
f(x
1
, x
2
, , x
d
)
=

b
a
dxf(x) .
Como para cada dimenso o tempo de calculo pro-
porcional a n, em um integral de dimenso d o tempo
proporcional a n
d
e se o clculo for feito utilizando a
regra de Simpson, o erro cai com n
d/4
.
IV. MTODO DE MONTE CARLO
O objetivo calcular a integral da Eq. 11 estimando
o valor da mdia do integrando (Eq. 14). Vamos inici-
almente considerar valores de x
i
distribuidos aleatoria-
mente (de modo uniforme) no intervalo x
i
[a, b]. Com
a distribuio de x
i
uniforme, tem-se que:
f
real
= f t
,
s

n
, (18)
onde o coeciente de conana, = n 1 o n-
mero de graus de liberdade do problema e s o desvio
padro. Vemos ento que no Mtodo de Monte Carlo o
erro cai com 1/

n.
Como este erro de amostragem no depende da di-
mensionalidade do sistema, o mtodo de Monte Carlo
vantajoso de ser utilizado em integrais de alta dimensi-
onalidade.
A. Amostragem por Importncia
I =

b
a
dxf(x)
=

b
a
dxp(x)
p(x)
f(x)
=
p(x)
f(x)
(19)

b
a
dxp(x) = 1 . (20)
Podemos ento gerar nmeros aleatrios x seguindo a
funo densidade de probabilidade p(x) e escrever:
I =
1
n
n

i=1
f(x
i
)
p(x
i
)
. (21)
Este mtodo de integrao e conhecido por amostra-
gem por importncia.
3
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
V. EXERCCIOS
1. Gerador Congrugencial Linear de Nmeros
Pseudo-Aleatrios. Considere a equao de re-
corrncia: x
n+1
= mod (ax
n
+ b, m). Fixe os va-
lores de a, b e mostre que m o perodo de repeti-
o da seqncia dos nmeros gerados. Explique
o que acontece quando varia-se a e b utilizando
histogramas. Considere o cdigo abaixo
clear;
a = 1;
b = 1;
m = 3;
N = 10;
x = 1:3
*
m
for i = 1:N
x = modulo(a
*
x + b,m)
end
Comente o cdigo numrico abaixo e veja o histo-
grama.
clear;
a = 1;
b = 1;
m = 13;
N = 10;
M = 100;
x = 1/(M+1):1/(M+1):1;
for i = 1:N
x = modulo(a
*
x + b,m)
end
clf;
histplot(int(1 + 4
*
log10(M)),x)
2. Usando o Gerador de Nmeros Pseudo-
Aleatrios do Scilab.
a=1
b=100;
x=rand(a,b,uniform);
// norm para gaussiana
clf();
histplot(10, x,style=2)
3. Gerando Numericamente Nmeros Aleatrios
que Seguem uma Funo Densidade de Pro-
babilidade Exponencial. A funo densidade de
probabilidade exponencial com mdia dada
por:
f(x) =
e
x/

.
(a) Mostre analiticamente mostre que:
i. f(x) est normalizada
ii. que a mdia vale e
iii. que o devio-padro vale .
(b) Discuta os resultados do item anterior.
(c) Com o mtodo da funo acumulada, gere
nmeros aleatrios que obedecem f(x).
(d) Mostre numericacamente mostre que:
i. f(x) est normalizada
ii. que a mdia vale e
iii. que o devio-padro vale .
mostrando numericamente que funo est
normalizada, que a mdia vale e que o
desvio-padro vale .
(e) Comente o cdigo numrico abaixo para
construir um histograma.
a = 1;
b = 10000;
ell = 12;
rand(seed,2);
// semente do gerador de #s aleatorios
x = - ell
*
log(rand(a,b,uniform));
norma = sum(x)/((b-a)
*
ell)
media = mean(x)
desvpad = sqrt(variance(x))
clf();
histplot(100, x,style=2)
4. Gerando Numericamente Nmeros Aleatrios
que Seguemuma Funo Densidade de Proba-
bilidade Normal (Gaussiana). Usando o gerador
de nmeros aleatrios do Scilab, gere uma distri-
buio gaussiana com mdia e desvio-padro

a = 1;
b = 10000;
mu = 3
sigma = 2
rand(seed,2);
// semente do gerador de #s aleatorios
x = mu + sigma
*
rand(a,b,norm);
media = mean(x)
desvpad = sqrt(variance(x))
clf();
histplot(100, x,style=2)
5. Gerando Numericamente Nmeros Aleatrios
que Seguem uma Funo Densidade de Cau-
chy (Laurentziana). Elabore um programa num-
rico para gerar nmeros aleatrios que seguem a
distribuio de Cauchy.
6. Problema de Buffon: determinao do nmero
com palitos de dente. Ver http://www.
angelfire.com/wa/hurben/buff.html.
7. Volume de uma hiperesfera. Uma hiperesfera de
raio R com centro na origem o conjunto de todos
os pontos que esto a uma distncia R (equidis-
tam de R) da origem. Em uma dimenso tem-se
4
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
as extremidades de um segmento de reta de ta-
manho 2R, em duas dimenses uma circunfern-
cia de raio R e em trs dimenses um esfera pro-
priamente dita de raio R. O volume de uma hipe-
resfera de raio R centrada na origem no espao
de d dimenses dado por:
V
d
(R) =

R
R
d

i=1
dx
i

i=1
x
2
i
(22)
=

d/2
(d/2 + 1)
R
d
, (23)
onde (z + 1) = z(z) a funo gama que ge-
neraliza os fatoriais (z pode ser complexo) com
(1) = 1 e (1/2) =

.
(a) Vocs saberiam resolver a integral para che-
gar no resultado analtico? Se no, ver a
apostila de Fsica Estatstica do Prof. Alexan-
dre Souto Martinez.
(b) Obtenha os volumes para d = 1, d = 2, d = 3
e d = 4. Vocs conseguem visualizar geome-
tricamente estes valores ?
(c) Usando uma rotina de integrao numrica
do Scilab, para R = 1 e uma dada preciso ,
integre a Eq. 22 fazendo um grco do tempo
necessrio em funo da dimensionalidade d
do espao.
(d) Repita o procedimento anterior utilizando o
mtodo de Monte Carlo.
clear;
r = 2;
ni = 0;
d = 5;//dimenso
function [Y]=fd(x)
Y=sqrt(sum(x.
*
x));
endfunction
rand("uniform");
for N = 1:10000 \\ # de realizacoes
for m=1:N
x=(2
*
rand(1:d)-1)
*
r;
if (fd(x) < r) then
ni= ni + 1;
end;
end
vol(N) = (ni
*
((2
*
r)^d))/N;
volt(N) = (%pi^(d/2)
*
r^d)/gamma(1+(d/2));
end
plot(N,vol,N,volt)
8. Comente o cdigo em Scilab em que o lao em
Nno necessrio.
clear;
r=2;
ni=0;
N=10000;//numero de pontos
d=5;//dimenso
function [Y]=fd(x)
Y=sqrt(sum(x.
*
x));
endfunction
rand("uniform");
for m=1:N
x=(2
*
rand(1:d)-1)
*
r;
if (fd(x) < r )then
ni= ni + 1;
end;
end
vol= (ni
*
((2
*
r)^d))/N
volt=(%pi^(d/2)
*
r^d)/gamma(1+(d/2))
9. Considere uma caixa fechada que dividida em
duas partes com volumes iguais. Um dos volu-
mes contm inicialmente N partculas idnticas e
o outro volume est vazio. Fazemos ento um pe-
queno buraco na partio entre os dois volumes.
O que acontece ? Sabemos que aps um inter-
valo de tempo, o sistema alcana o equilbrio e o
nmero mdio de partculas em cada caixa N/2.
Um modo simples de simular este sistema con-
siderar processos aleatrios. Neste processo
considera-se que a movimentao das partculas
to complexo que pode-se assumir como tendo
um comportamento aleatrio. Considerando que
as partculas no interagem umas com as outras
que modo que a probabilidade por unidade de
tempo de uma partcula passar pelo buraco a
mesma independentemente do nmero do part-
culas de cada metade. Considera-se tambm o
buraco seja bem pequeno para que somente uma
partcula passe por intervalo de tempo.
(a) Um modo de implementar este modelo es-
colhendo uma partcula ao acaso e mudar ela
de volume. No entanto considera-se aqui que
as partculas so distinguves.
clear;
close all;
seed = 19; // semente para gerador de # aleatorios
N = 100.; // # de particula total
r_max = 100; // # max de realizacoes
t_max = 300; // # tempo maximo
clf();
rand(seed,2); // semente do gerador de #s aleatorios
rand(uniform); // define gerador
for r = 1:r_max
parti = zeros(1:N); // inicializa vetor de particulas
for t = 1:t_max
n = int(N
*
rand() + 1); // escolhe uma particula
if parti(n) == 0 then // muda a particula de lado
parti(n) = 1;
5
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
else
parti(n)= 0;
end
nr_t(t) = sum(parti)/N;
end
plot2d(1: t_max,nr_t);
end
(b) Como o nosso interesse somente no n-
mero de partculas em um volume da caixa,
assim n o nmero de partculas do lado es-
querdo enquanto que n

= N n o nmero
de partculas do lado direito. Como cada par-
tcula tem a mesma chance de passar de um
lado para outro atravs do buraco, a proba-
bilidade por unidade de tempo para que uma
partcula mude da esquerda para a direita
igual ao nmero de partculas do lado es-
querdo dividido pelo nmero total de partcu-
las n/N. O algoritmo para simular a evoluo
do modelo pode ser resumido nos seguintes
passos:
i. Gere um nmero aleatrio 0 r < 1 uni-
formimente distribuidos,
ii. Se r n/N, mova uma partcula da es-
querda para direita, caso contrrio, mova
uma partcula da direita para esquerda.
iii. Incremente o intervalo de tempo.
clear;
close all;
seed = 19; // semente para gerador de # aleatorios
N = 100.; // # de particula total
r_max = 100; // # max de realizacoes
t_max = 300; // # tempo maximo
clf();
rand(seed,2); // semente do gerador de #s aleatorios
rand(uniform); // define gerador
t1 = 0:t_max;
for r = 1:r_max
nl = N; // # de particulas na caixa da esquerda
nr = 0.; // # de particulas na caixa da direita
nr_t(1,r) = [nr]; // inicializa curva
for t = 1:t_max // laco no tempo
if rand() < nl/N then // nl/N propocao de part. na caixa esquerda
nl = nl - 1.; // tira uma particula da caixa esquerda
nr = nr + 1.; // coloca uma particula na caixa direita
else
nl = nl + 1.; // coloca uma particula na caixa esquerda
nr = nr - 1.; // tira uma particula da caixa direita
end
nr_t(t+1,r) = nr/N; // constroe a curva n_r/N versus tempo
end
scf(0);
plot2d([t1],[nr_t(:,r)],style=[-9]); // grafica as curvas
end
(c) Faa um estudo estatstico das curvas obti-
das calculando mdia, devio-padro e erro-
padro para cada ponto da curva.
clear;
N = 100; // # de particula total
r_max = 100; // # max de realizacoes
t_max = 300; // # tempo maximo
clf();
rand(uniform);
rand(seed,2)
t1 = 0:t_max;
for r = 1:r_max
nl = N; // # de particulas na caixa da esquerda
nr = 0.; // # de particulas na caixa da direita
nr_t(1,r) = [nr]; // inicializa curva
for t = 1:t_max // laco no tempo
if rand() < (nl/N) then // nl/N propocao de part. na caixa esquerda
nl = nl - 1; // tira uma particula da caixa esquerda
nr = nr + 1; // coloca uma particula na caixa direita
else
nl = nl + 1; // coloca uma particula na caixa esquerda
nr = nr - 1; // tira uma particula da caixa direita
end;
nr_t(t+1,r) = nr/N; // constroe a curva n_r/N versus tempo
end
scf(0);
plot2d([t1],[nr_t(:,r)],style=[-9]); // grafica as curvas
end
m_nr_t = zeros(1,t_max+1); // curva de valor medio
m_nr2_t = zeros(1,t_max+1); // curva de valor ao quadrado medio
6
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
m_sup = zeros(1,t_max+1); // curva de valor ao quadrado medio
m_inf = zeros(1,t_max+1); // curva de valor ao quadrado medio
for t = 1:t_max+1
for r =1:r_max
m_nr_t(t) = m_nr_t(t) + nr_t(t,r);
m_nr2_t(t) = m_nr2_t(t) + nr_t(t,r)
*
nr_t(t,r);
end
m_nr_t(t) = m_nr_t(t)/(r_max); // valor medio
m_nr2_t(t) = m_nr2_t(t)/(r_max); // valor quadrado medio
m_nr2_t(t) = sqrt(abs(m_nr2_t(t) - m_nr_t(t)
*
m_nr_t(t))); // desvio padrao
m_inf(t) = m_nr_t(t) - m_nr2_t(t)/sqrt(r_max); // media - erro-padrao
m_sup(t) = m_nr_t(t) + m_nr2_t(t)/sqrt(r_max); // media + erro-padrao
end // erro-padrao = desvio-padrao/
// raiz(realizacoes)
//clf();
scf(1);
//figure(2),
plot([t1],[m_nr_t],[t1],[m_inf],[t1],[m_sup]);
legend("valor medio","media - erro-padrao","media + erro-padrao");
(d) Mostre analiticamente que:
n(t) =
N
2

1 + e
2t/N

?
10. Considere o decaimento radioativo. Um conjunto
de ncleos radioativos decaem em outro ncleos
sem saber, a priori, quais so os ncleos que iro
decair. Se todos os ncleos de um material so
idnticos, pode-se assumir que em um intervalo
de tempo t, cada ncleo tem uma probabilidade
p de decair. O algoritmo funciona da seguinte ma-
neira.
(a) escolha escolha um entre os N ncleos
(b) gere um nmero aleatrio 0 r < 1 uniformi-
mente distribuido.
(c) Se r p ento o ncleo decai, caso contrrio
no.
(d) Cada um dos N ncleos so testados em
cada intervalo de tempo.
Implemente este algoritmo e tente resolver o pro-
blema analiticamente para validar ou refutar os re-
sultados encontrados pela simulao numrica.
clear;
lambda= input("Entre com o modulo do coeficiente de decaimento:") // 0.001
N =1/lambda; // # de particula total
r_max = 100; // # max de realizacoes
t_max = 300; // # tempo maximo
clf();
rand(uniform);
rand(seed,2)
t1 = 0:t_max;
for r = 1:r_max
n = N; // # de particulas
nd = 0.; // # de particulas decaidas
nd_t(1,r) = [nd]; // inicializa curva
for t = 1:t_max // laco no tempo
if rand() < (n/N) then // n/N propocao de part. nao decaidas
n = n - 1; // decaimento de uma particula
nd = nd + 1; // praticula decaida
end;
nd_t(t+1,r) = -nd/N; // constroe a curva n_d/N versus tempo,para o decaimento 1/N <0
end
scf(0);
plot2d(t1,[nd_t(:,r)],style=[-9]); // grafica as curvas
7
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
end
m_nr_t = zeros(1,t_max+1); // curva de valor medio
m_nr2_t = zeros(1,t_max+1); // curva de valor ao quadrado medio
m_sup = zeros(1,t_max+1); // curva de valor ao quadrado medio
m_inf = zeros(1,t_max+1); // curva de valor ao quadrado medio
for t = 1:t_max+1
for r = 1:r_max
m_nr_t(t) = m_nr_t(t) + nd_t(t,r);
m_nr2_t(t) = m_nr2_t(t) + nd_t(t,r)
*
nd_t(t,r);
end
m_nr_t(t) = m_nr_t(t)/(r_max); // valor medio
m_nr2_t(t) = m_nr2_t(t)/(r_max); // valor quadrado medio
m_nr2_t(t) = sqrt(abs(m_nr2_t(t) - m_nr_t(t)
*
m_nr_t(t))); // desvio padrao
m_inf(t) = m_nr_t(t) - m_nr2_t(t)/sqrt(r_max); // media - erro-padrao
m_sup(t) = m_nr_t(t) + m_nr2_t(t)/sqrt(r_max); // media + erro-padrao
end // erro-padrao = desvio-padrao/raiz(realizacoes)
scf(1);
plot([t1],[m_nr_t],[t1],[m_inf],[t1],[m_sup]);//figure(2)
legend("valor medio","media - erro-padrao","media + erro-padrao");//legenda
VI. HIPERCUBOS E HIPERESFERAS
Em Fsica Estatstica de equilbrio, o clculo da en-
tropia mesmo as situaes mais simples de partculas
no-interagentes em modelos da Fsica Clssica, como
por exemplo: N partculas livres em um caixa cbica
de aresta L, ou N osciladores harmnicos unidimensi-
onais e independentes, envolve o clculo de hipervo-
lumes no espao de fase. No exemplos mencionados
acima, deve-se calcular integrais nas coordenadas es-
paciais do tipo:
V
D
=

L/2
L/2
dx
1
dx
2
. . . dx
D
= L
D
(24)
que o volume de um hipercubo de aresta L no espao
de D dimenses. Deve-se tambm calcular integrais
nas coordenadas de momento do tipo:
(E, E) =

dx
1
dx
2
. . . dx
D
com a restrio
E
2
x
2
1
+ . . . + x
2
D
(E + dE)
2
que o volume de uma hipercasca esfrica de espes-
sura dE e raio E no espao de D dimenses. Observe
que aqui x = p/(2m), onde m a massa de uma part-
cula.
Estudantes, com uma boa formao em matemtica
e com tima capacidade de abstrao, percebem rapi-
damente que o volume da casca esfrica a diferena
dos volumes de duas esferas de raio E e E + dE no
espao de D dimenses. Neste caso suciente de-
monstrar a frmula do volume de uma esfera de raio E
em D dimenses. Em primeira ordem em dE, o volume
da casca esfrica dada pela superfcie da esfera de
raio E multiplicada pela espessura dE. Este procedi-
mento adotado na maioria dos livros textos de Fsica
Estatstica, e em geral pois esta disciplina ministrada
quando os estudantes j se sentem a vontade com a
funo gama, integrais gaussianas e esto testando a
capacidade de abstrao com os postulados da Mec-
nica Quntica. O presente texto voltado aos estudan-
tes que no se sentem a vontade com as funes men-
cionadas ou apresentam certa diculdade de abstrao.
Vivemos em um mundo onde conseguimos vizualizar
formas geomtricas em at trs dimenses. Estes ob-
jetos recebem nomes especiais em cada uma das di-
menses. Antes de falar de uma forma geomtrica es-
pecca dene-se primeiramente uma superfcie como
sendo um conjunto de pontos que separam o espao
em duas regies. Uma superfcie pode ser fechada, se
o volume engendrado pela superfcie for nito ou aberta
caso contrrio.
VII. HIPERCUBOS
Antes de prosseguir com hiperesferas, vamos consi-
derar hipercubos. No espao unidimensional D = 1, um
hipercubo um segmento de reta e o seu hipervolume
seu comprimento V
1
= L
1
e a hipersuperfces so os
dois pontos da extremidade S
1
= 2 cot 1L
0
. No espao
bidimensional D = 2, um hipercubo um quadrado e o
hipervolume a rea V
2
= L
2
e a hipersuperfcie o
permetro S
2
= 2 2L
2
. No espao tridimensional D = 3,
um hipercubo um cubo e o hipervolume o seu vo-
lume V
3
= L
D
e a sua superfcie a rea das seis fa-
ces: S
3
= 2 3L
2
. Generalizando este resultado para
D dimenses, o hipervolume e a hipersuperfcie de um
8
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
hipercubo de aresta L so dados por:
V
D
= L
D
(25)
S
D
= 2DL
D1
. (26)
VIII. HIPERESFERAS
Iniciamos o processo denindo o que uma super-
fcie, em seguida consideramos uma superfcie esf-
rica que escrevemos em baixas dimensionalidades in-
duzindo o resultado para uma dimensionalidade arbitr-
ria. Em seguida, calculamos os volumes engrendrados
por estas superfcies primeiramente em baixa dimensi-
onalidade onde enfatizamos o uso das restries assim
como o uso de coordenadas esfricas. Neste proce-
dimento, o volume da casca esfrica aparece natural-
mente. Por induo mostramos que o volume de uma
esfera de raio R proporcional a R
D
e o volume de
uma casca esfrica de raio R e espessura dR pro-
porcional a R
D1
dR, onde D a dimensionalidade do
espao. Estes coeciente de prorcionalidade esto re-
lacionados, e obtivemos os seus valores utilizando in-
tegrais gaussianas, as quais so calculadas usando a
funo gama.
Um exemplo de superfcie fechada a superfcie es-
frica de raio R no espao de D dimenses, que chama-
remos de hiperesfera. A superfcie esfrica formada
pelo conjunto de pontos que equidistam de R de um
ponto considerado. Este ponto pode ser, por exemplo, a
origem de um sistema de coordenadas.
Conforme ilustrado na Tabela I vemos que em uma di-
menso (D = 1) existem dois pontos que equidistam de
R da origem. Estes pontos so as solues da equao
: x
2
1
= R
2
. Em duas dimenses (D = 2) so os pon-
tos que formam uma curva, a circunferncia, que dis-
tam de R da origem. Estes pontos satisfazem a equa-
o: x
2
1
+ x
2
2
= R
2
. Em trs dimenses, os pontos que
equidistam da origem formam a superfcie esfrica cuja
equao : x
2
1
+ x
2
2
+ x
2
3
= R
2
. Para D dimenses, a
equao dessa superfcie esfrica de raio R :
D

i=1
x
2
i
= R
2
, (27)
onde x
i
formam os eixos cartesianos.
O objetivo calcular o volume engendrado pela su-
perfcie esfrica de raio R, em D dimenses. Para reali-
zar este clculo, vamos primeiramente considerar siste-
mas de baixa dimensionalidade antes de realizar a ge-
neralizao do resultado.
No caso unidimensional D = 1, o volume da hipe-
resfera o volume engendrado pelos pontos R e R,
ou seja, o volume simplesmente o comprimento do
segmento de reta entre os pontos R e R, de modo
que: V
1
= 2R. Observe que enquanto dois pontos for-
mamuma superfcie emuma dimenso, o volume uma
curva (reta). Este resultado pode ser reobtido com um
racocinio diferente que se prestar a uma generaliza-
o.
V
1
=

R
R
dx
1
=

dx
1
x
2
1
R
2
=

R
0
dr 2
= 2R . (28)
A segunda igualdade na Eq. 28 uma forma alternativa
de escrever os limites de integrao. Pode-se pensar
que o integrando varia livremente, desde que a restrio
x
2
1
R
2
seja satisfeita. Na terceira igualdade utilizamos
a simetria de rotao de em torno da origem, ou seja,
trocando x por x no altera a superfcie (neste caso,
a simetria de rotao de confunde com a simetria de
reexo). Chamamos este sistema de coordenadas de
coordenadas esfricas em uma dimenso.
No caso bidimensional D = 2, o volume da hiperes-
fera rea engendrada pela circunferncia de raio R, ou
seja, V
2
= R
2
, que a rea do crculo. Este resultado
pode ser obtido analiticamente da seguinte maneira:
V
2
=

dx
1
dx
2
x
2
1
+ x
2
2
R
2
=

R
0
dr r

2
0
d =

R
0
dr 2r
= R
2
. (29)
A primeira igualdade na Eq. 29, o integrando pode va-
riar livremente desde que a restrio x
2
1
+ x
2
2
R
2
seja
satisfeita. Na segunda igualdade, o fato da simetria ser
circular (no existe dependncia angular) pode ser ex-
plorado com o uso de coordenadas polares (ou coor-
denadas esfricas em duas dimenses). Observe que
2r o permetro da circunferncia (hipersuperfcie em
duas dimenses).
A explorao da simetria circular nos permite inte-
grar somente na varivel radial r, tanto em D = 1,
quanto em D = 2. A integrao nos ngulos de ro-
tao multiplicado por r
D1
nos fornece as superfcies
esfricas de raio r que multiplicado pela espessura dr
nos fornece o volume da casca esfrica. Para D = 1,
o volume desta casca de raio r vale: d
1
(r) = 2dr.
Para D = 2, o volume da casca (coroa) de raio r vale:
d
2
(r) = 2rdr. Estamos utilizando o termo casca pois
imaginamos que dr R, assim podemos desprezar
termos de ordens superiores a dr. A rea exata desta
coroa vale: [(r + dr)
2
r
2
] = [2rdr + (dr)
2
].
Considere agora o caso tridimensional D = 3. Para
9
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
Dimensionalidade Geometria lgebra
d = 1
E
R R x
1
x
2
1
= R
2
d = 2
E
R
&%
'$
T
x
2
R x
1
R
R
x
2
1
+x
2
2
= R
2
d = 3
E
R
s
&%
'$
T
x
2
R x
1
R
R

x
3
x
2
1
+x
2
2
+x
2
3
= R
2
d = D
.
.
. x
2
1
+. . . +x
2
D
= R
2
Tabela I Equao das superfcies esfricas em funo da dimensionalidade do sistema. Para sistemas em uma dimenso, esta
superfcie esfrica so os pontos situados em x
1
= R. Em duas dimenses a superfcie esfrica a circunferncia de raio R. Em
trs dimenses a superfcie esfrica a rea cujos pontos distam de R da origem. Observe que para dimensionalidades maiores,
apesar de no ser possvel desenhar ou visualisar, possvel escrever a equao da superfcie esfrica.
obter o volume da esfera fazemos:
V
3
=

dx
1
dx
2
dx
3
x
2
1
+ x
2
2
+ x
2
3
R
2
=

R
0
dr r
2

2
0
d
. .. .
2


0
d sin
. .. .

1
1
dcos =2
=

R
0
dr 4r
2
=
4
3
R
3
. (30)
Na primeira igualdade da Eq. 30, o integrando pode va-
riar livremente desde que a restrio x
2
1
+ x
2
2
+ x
2
3
R
2
seja satisfeita. Na segunda igualdade, utilizamos o fato
da simetria ser esfricas e usamos o sistema de coor-
denadas esfricas. O volume exato da casca esfrica
vale: 4[(r +dr)
3
r
3
]/3 = 4[r
2
dr +r(dr)
2
+(dr)
3
/3].
Aqui tambm imaginamos que dr R assim as par-
celas referentes a (dr)
2
, e a (dr)
3
, podem ser des-
10
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
Dimensionalidade Geometria lgebra
d = 1
E
R R x
1
V
1
= 2R
d = 2
E
R
~
T
x
2
R x
1
R
R
V
2
= R
2
d = 3
E
R
s
&%
'$
T
x
2
R x
1
R
R

x
3
V
3
=
4
3
R
3
d = D
.
.
. V
D
(R) =

D/2
(D/2+1)
R
D
Tabela II Equao das superfcies esfricas em funo da dimensionalidade do sistema. Para sistemas em uma dimenso, esta
superfcie esfrica so os pontos situados em x
1
= R. Em duas dimenses a superfcie esfrica a curva que dista de R da
origem. Esta curva chamada de circunferncia de raio R. Em trs dimenses a superfcie esfrica a rea cujos pontos distam
de R da origem. Observe que para dimensionalidades maiores, apesar de no ser possvel desenhar, ou visualisar, possvel
escrever analiticamente a equao da superfcie esfrica.
prezadas e o volume da casca esfrica de raio r vale:
d
3
(r) = 4r
2
dr.
Generalizando estas idias possvel escrever que o
volume de uma hiperesfera de raio R em D dimenses
vale:
V
D
=

dx
1
dx
2
. . . dx
D

D
i=1
x
2
i
R
2
=

R
0
drC
D
r
D1
= A
D
R
D
, (31)
A
D
=
C
D
D
. (32)
11
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
Na primeira igualdade da Eq. 31, o integrando pode va-
riar livremente, desde que a restrio x
2
1
+x
2
2
+. . .+x
2
D

R
2
seja satisfeita. Na segunda igualdade, utilizamos o
fato da simetria ser esfrica e usamos o sistema de co-
ordenadas esfricas generalizadas, onde a integrao
angular facilmente realizada. Aqui A
D
e C
D
so coe-
cientes que dependem da dimensionalidade D do sis-
tema, mas no do raio R. Assim:
A
1
= 2 C
1
= 2 (33)
A
2
= C
2
= 2 (34)
A
3
= 4 C
3
=
4
3
. (35)
O volume da hipercasca esfrica de raio R em D di-
menses vale:
d
D
(R) =

dx
1
. . . dx
D
R
2

D
i=1
x
2
i
(R + dR)
2
= C
D
R
D1
dR , (36)
IX. CLCULO DOS COEFICIENTES C
D
E A
D
Agora o nosso objetivo passa a ser o clculo do coe-
ciente C
D
e consequentemente A
D
. Para isto vamos
utilizar o seguinte resultado da Eq. 46 de modo que:
[I
0
(a)]
D
=

dx e
ax
2

D
=

D/2
(37)
=

dx
1
. . . dx
D
e
a(x
2
1
+...+x
2
D
)
.
Chamando x
2
1
+ . . . x
2
D
= R
2
, temos a equao da su-
perfcie de uma hiperesfera de raio R em D dimenses,
que s depende de R, de modo que podemos explorar a
simetria esfrica usando as coordenadas hiperesfricas
e a integrao da hipercasca esfrica se faz pela Eq. 36
de modo que:
[I
0
(a)]
D
= C
D
I
D1
(a) . (38)
onde I
n
(a) a integral gaussiana de ordem n (ver
Sec. X.B.2). possvel agora escrever:
[I
0
(a)]
D
= C
D
(D/2)
2a
D/2
. (39)
Comparando as Eqs. 37 e 39 obtem-se os coecientes:
C
D
=
2
D/2
(D/2)
(40)
A
D
=
C
D
D
=

D/2
(D/2)(D/2)
=

D/2
(D/2 + 1)
, (41)
onde usamos a propriedade Eq. 45.
Assim no espao em D dimenses, o volume de uma
hiperesfera de raio R vale:
V
D
(R) =

D/2
(D/2)(D/2)
R
D
, (42)
e o volume de uma hipercasca esfrica de raio R vale:
d
D
(R) =
2
D/2
(D/2)
R
D1
dR . (43)
X. FUNO GAMA E CLCULO DE INTEGRAIS
GAUSSIANAS
A. Funo Gama
A funo gama denida por
(z) =


0
dx x
z1
e
x
(44)
e segue a recorrncia:
(z + 1) = z(z) = z! = z(z 1)! , (45)
que pode ser inicializada por:
(1) = 1 = 0!

1
2

1
2

!
Assim:

3
2

1
2
+ 1

=
1
2

1
2

2
=

1
2

! .
B. Integrais Gaussianas
1. Ordem Zero
Considere a > 0 e
I
0
(a) =

dx e
ax
2
.
Para calcular esta integral o truque consiste eleva-la ao
quadrado:
[I
0
(a)]
2
=

dxdy e
a(x
2
+y
2
)
=


0
dr r e
ar
2

2
0
d
= 2


0
dr r e
ar
2
=

a


0
d(ar
2
) e
ar
2
=

a
.
Extraindo a raiz quadrada chega-se ao resultado:
I
0
(a) =

dx e
ax
2
=

a
. (46)
12
FSICA COMPUTACIONAL (20/03 E 27/03/2009) FSICA MDICA/DFM/FFCLRP/USP
2. Ordem Arbitrria
A integral gaussiana de ordem n denida por:
I
n
(a) =


0
dR R
n
e
aR
2
. (47)
Com o objetivo de mudar para a varivel y = aR
2
, faz-se
as seguintes manipulaes:
I
n
(a) =
1
2a


0
d(aR
2
) R
n1
e
aR
2
=
1
2a
n+1
/2


0
d(aR
2
) (aR
2
)
(n1)/2
e
aR
2
=
1
2a
n+1
/2


0
dy y
(n1)/2
e
y
,
Usando a denio da funo gama (Eq. 44), obtem-se
que:
I
n
(a) =

n+1
2

2a
(n+1)/2
. (48)
13

Você também pode gostar