Advertisement
svinoviteran

simpleIt1

May 21st, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.72 KB | None | 0 0
  1. import numpy as np
  2. C = np.array([[14.7, 0.0635, 0.0765, 0.0896],
  3.              [0.0452, 13.8, 0.0714, 0.0844],
  4.              [0.04, 0.0531, 12.9, 0.0793],
  5.              [0.0349, 0.0479, 0.0610, 12]])
  6.  
  7. d = np.array([[20.9985], [22.4406], [23.5195], [24.2353]])
  8. def simple_iter(C, d, x, eps):
  9.     k = 0
  10.     n = C.shape[0]
  11.     while (True):
  12.         x_ = np.zeros(n)
  13.  
  14.         for i in range(n):
  15.             x_[i] = d[i] / C[i][i]
  16.             for j in range(n):
  17.                 if i != j:
  18.                     x_[i] -= C[i][j] / C[i][i] * x[j]
  19.  
  20.         k += 1
  21.         if np.linalg.norm(x_ - x) < eps:
  22.             return [x_, k]
  23.         x = x_
  24.  
  25. x = np.array([1, 1, 1, 1])
  26. ans = simple_iter(C, d, x, 1e-15)
  27.  
  28. print(ans)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement