Untitled
def getMat(n, d): mid = n//2 mat = matrix(QQ, n+1) for i in range(n+1): for j in range(1, d+1): if i<=mid: if j<=i: mat.add_to_entry(i,i-j,1/d) elif i+j<=n: mat.add_to_entry(i,i+j,1/d) else: if i+j<=n: mat.add_to_entry(i,i+j,1/d) elif j<=i: mat.add_to_entry(i,i-j,1/d) return mat def calcE(n): mat = getMat(n, n) return sum((matrix.identity(n+1)-mat).solve_right(vector((1,)+(0,)*n))) print (calcE(6))
Leave a Comment