Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- metro = numpy.reshape(isingarray[numpy.random.randint(0,65537)], (asize,asize))
- metroarray = numpy.zeros(B.size)
- for j in range(0,B.size,1):
- count = 0
- while count > 1000:
- mH = 0
- mHp = 0
- for i in range (0,asize,1):
- mH += -metro[0,i]*metro[asize-1,i]
- mH += -metro[i,0]*metro[i,asize-1]
- for k in range (0, asize-1,1):
- mH += -metro[i,k]*metro[i,k+1]
- mH += -metro[k,i]*metro[k+1,i]
- metro2 = metro
- metro2[numpy.random.randint(0,4,1),numpy.random.randint(0,4,1)]*-1
- for i in range (0,asize,1):
- mHp += -metro2[0,i]*metro2[asize-1,i]
- mHp += -metro2[i,0]*metro2[i,asize-1]
- for k in range (0, asize-1,1):
- mHp += -metro2[i,k]*metro2[i,k+1]
- mHp += -metro2[k,i]*metro2[k+1,i]
- if mHp < mH:
- metro = metro2
- if numpy.random.rand() < numpy.exp(-B[i]*(mHp-mH)):
- metro = metro2
- count += 1
- metroarray[j] = mHp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement