import numpy as np H = np.array([[0,1/3,1/3,1/3,0,0],[0,0,1/3,1/3,0,1/3],[0,0,0,1,0,0],[0,0,1/2,0,0,1/2],[0,0,0,0,0,1],[0,1/2,0,1/2,0,0]]) N = 6 alpha = 0.85 A = alpha * H + (1 - alpha) / N * np.ones([N, N]) print(A) P_n = np.ones(N) / N P_n1 = np.zeros(N) e = 100000 k = 0 print('loop...') while e > 0.00000001: # 开始迭代 P_n1 = np.dot(A, P_n) # 迭代公式 e = P_n1 - P_n e = max(map(abs, e)) # 计算误差 P_n = P_n1 k += 1 print('iteration %s:' % str(k), P_n1) print('final result:', P_n)