View difference between Paste ID: m9ns8ZgJ and gMdMb0mc
SHOW: | | - or go back to the newest paste.
1
from __future__ import division
2
import itertools as it
3
import numpy as np
4
l = input('How many lattices?_')
5-
sums = list()
5+
6
sums = 0
7
sumcount = 0
8
pos = 1
9
neg = -1
10
L = list(it.product([-1,1], repeat =l))
11
M = range(0,l) # makes a list from 0 to l-1, giving l entries, starting with 0 just like the indices of the lattices.
12
Markers = list(it.combinations(M, m))
13
i = 0
14
j = 0
15
k = 0
16
while i < len(L):
17
    Ring = L[i]
18
    while j < len(Markers):
19
        while k < 2*len(Ring):
20
            Marker = Markers[j]
21
            Ring = list(np.roll(Ring,1))
22
            for x in Marker:
23
                t = Ring.pop(x)
24
                if t < 0:
25
                    Ring.insert(x,pos)
26
                elif t > 0:
27
                    Ring.insert(x,neg)
28-
            sums.append(abs(sum(Ring)))
28+
29
                    print('This is why we cant have nice things...')
30
            sums = sums + abs(sum(Ring))
31
            sumcount = sumcount + 1
32
            k = k + 1
33
        j = j + 1
34
        k = 0
35
    i = i + 1
36-
print 'Average deviation: ', np.mean(sums)
36+
37
    k = 0
38
         
39
print 'Average deviation: ', sums/sumcount