# Entropy of the distribution as a function of time

1. Nov 12, 2015

### alex steve

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:

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()

2. Nov 12, 2015

### DevacDave

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.

3. Nov 12, 2015

### Staff: Mentor

In addition to what DevacDave said about (1 - (-1)) always evaluating to 2, the expression after '**' probably isn't what you want.
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.