Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- damping=0.85
- epsilon=1e-8
- graph = [(i,0) for i in range(1,9)]+[(i, i+1) for i in range(1,8)]+ [(i+1,i) for i in range(1,8)]+[(8,1),(1,8)]
- A = np.zeros((9,9))
- for nodes in graph:
- A[nodes[0],nodes[1]]=1
- outlinks = np.ones(9)*3
- outlinks[0]=9
- K = np.identity(9)*outlinks
- M = np.matmul(np.linalg.inv(K), A)
- M[0,:]+=1/9
- M=M.transpose()
- matr =np.linalg.inv( np.identity(9) - damping*M)
- v = np.ones(9)*((1-damping)/9)
- ans = np.matmul(matr, v)
- print('Exact answer')
- print(ans)
- M0 = matr
- ans_iter = np.ones(9)*1/9
- for i in range(10):
- matr = np.matmul(matr,M0)
- ans_iter1 = ((1-damping)/9)*np.ones(9) + damping*np.matmul(M, ans_iter)
- if sum([abs(ans_iter1[i]-ans_iter[i]) for i in range(len(ans_iter))])>epsilon:
- ans_iter = ans_iter1
- else:
- break
- print('Answer obtained by iterations')
- print(ans_iter)
- import numpy as np
- damping=0.85
- epsilon=1e-8
- graph = [(i,0) for i in range(1,9)]+[(i, i+1) for i in range(1,8)]+ [(i+1,i) for i in range(1,8)]+[(8,1),(1,8)]
- A = np.zeros((9,9))
- for nodes in graph:
- A[nodes[0],nodes[1]]=1
- outlinks = np.ones(9)*3
- outlinks[0]=9
- K = np.identity(9)*outlinks
- M = np.matmul(np.linalg.inv(K), A)
- M[0,:]+=1/9
- M=M.transpose()
- matr =np.linalg.inv( np.identity(9) - damping*M)
- v = np.ones(9)*((1-damping)/9)
- ans = np.matmul(matr, v)
- print('Exact answer')
- print(ans)
- M0 = matr
- ans_iter = np.ones(9)*1/9
- for i in range(10):
- matr = np.matmul(matr,M0)
- ans_iter1 = ((1-damping)/9)*np.ones(9) + damping*np.matmul(M, ans_iter)
- if sum([abs(ans_iter1[i]-ans_iter[i]) for i in range(len(ans_iter))])>epsilon:
- ans_iter = ans_iter1
- else:
- break
- print('Answer obtained by iterations')
- print(ans_iter)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement