Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. import numpy as np
  2. damping=0.85
  3. epsilon=1e-8
  4. 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)]
  5. A = np.zeros((9,9))
  6. for nodes in graph:
  7. A[nodes[0],nodes[1]]=1
  8. outlinks = np.ones(9)*3
  9. outlinks[0]=9
  10. K = np.identity(9)*outlinks
  11. M = np.matmul(np.linalg.inv(K), A)
  12. M[0,:]+=1/9
  13. M=M.transpose()
  14. matr =np.linalg.inv( np.identity(9) - damping*M)
  15. v = np.ones(9)*((1-damping)/9)
  16. ans = np.matmul(matr, v)
  17. print('Exact answer')
  18. print(ans)
  19. M0 = matr
  20. ans_iter = np.ones(9)*1/9
  21. for i in range(10):
  22. matr = np.matmul(matr,M0)
  23. ans_iter1 = ((1-damping)/9)*np.ones(9) + damping*np.matmul(M, ans_iter)
  24. if sum([abs(ans_iter1[i]-ans_iter[i]) for i in range(len(ans_iter))])>epsilon:
  25. ans_iter = ans_iter1
  26. else:
  27. break
  28. print('Answer obtained by iterations')
  29. print(ans_iter)
  30. import numpy as np
  31. damping=0.85
  32. epsilon=1e-8
  33. 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)]
  34. A = np.zeros((9,9))
  35. for nodes in graph:
  36. A[nodes[0],nodes[1]]=1
  37. outlinks = np.ones(9)*3
  38. outlinks[0]=9
  39. K = np.identity(9)*outlinks
  40. M = np.matmul(np.linalg.inv(K), A)
  41. M[0,:]+=1/9
  42. M=M.transpose()
  43. matr =np.linalg.inv( np.identity(9) - damping*M)
  44. v = np.ones(9)*((1-damping)/9)
  45. ans = np.matmul(matr, v)
  46. print('Exact answer')
  47. print(ans)
  48. M0 = matr
  49. ans_iter = np.ones(9)*1/9
  50. for i in range(10):
  51. matr = np.matmul(matr,M0)
  52. ans_iter1 = ((1-damping)/9)*np.ones(9) + damping*np.matmul(M, ans_iter)
  53. if sum([abs(ans_iter1[i]-ans_iter[i]) for i in range(len(ans_iter))])>epsilon:
  54. ans_iter = ans_iter1
  55. else:
  56. break
  57. print('Answer obtained by iterations')
  58. print(ans_iter)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement