Entropy of the distribution as a function of time

Join the discussion
Registration is free. Start your own thread to ask a follow-up.
2 replies · 1K views
alex steve
Messages
5
Reaction score
0
I am having an issue with finding the entropy in my program. I was asked to the find the entropy of the distribution as a function of time but i do not know where to start with entropy.

I understand entropy but putting it in my program is where I am stuck

Here is my code:

Python:
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 12 11:15:44 2015"""import matplotlib.pyplot as plt

import random
def Function(D):    #D = dimensions
    sumOfSquare = 0.0
    for i in range(0, len(D)):
        sumOfSquare += D[i]**2
    if sumOfSquare <=1:
        return 1
    else:
        return 0
       
def MonteCarlo(f_n,dim):
    intervalsForSphere = 1000000
    integral = 0.0
    for i in range(0, intervalsForSphere):
        for j in range(0,len(dim)):
            dim[j] = random.random()
        integral += f_n(dim)
    integral = (1-(-1))**len(dim)/intervalsForSphere * integral
    return integral
   
print("10 dimensional unit circle ")
Ten_Dim= list(range(1,10+1))
ten_D_circle = MonteCarlo(Function,Ten_Dim)
print("area:",ten_D_circle)

AreaofCircle = []
x = []

for i in range(1,13):
    D = list(range(1,i+1))
    AreaofCircle.append(MonteCarlo(Function, D))
    x.append(i)

plt.plot(x,AreaofCircle)
plt.xlim([0,13])
plt.xlabel("Dimensions")
plt.ylabel("area")
plt.title("Area of N-dimensional Unit Circle")
plt.show()
 
Physics news on Phys.org
alex steve said:
integral = (1-(-1))**len(dim)/intervalsForSphere * integral

Not really about entropy, but are you certain about this expression? It is always evaluated to 2 between the parentheses. Shouldn't it be (1 - (-1)**len(dim)…) or something similar? I'll look further into the code and try to help, but the quoted code above made me scratch my head.
 
In addition to what DevacDave said about (1 - (-1)) always evaluating to 2, the expression after '**' probably isn't what you want.
Python:
integral = (1-(-1))**len(dim)/intervalsForSphere * integral

The ** operator is higher in precedence than any of the arithmetic operators, so the expression on the right above is raising 2 to the power len(dim), and is then dividing that result by intervalsForSphere, and finally, multiplying by integral.