Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from pprint import pprint
- from numpy import array, zeros, diag, diagflat, dot
- def simpleiter(A, b, N=25, x=None):
- if x is None:
- x = zeros(len(A[0]))
- D = diag(A)
- R = A - diagflat(D)
- #
- for i in range(N):
- x = (b - dot(R,x)) / D
- return x
- A = array([[0.405, 0.05, 0.04, 0, 0.09],
- [-0.061, 0.53, 0.073, 0.11, -0.06],
- [0.07, -0.036, 0.38, 0.03, 0.02],
- [-0.05, 0, 0.066, 0.58, 0.23],
- [0, 0.081, -0.05, 0, 0.41]])
- b = array([1.065, 0.975, -1.312, 1.096, -0.048])
- guess = array([1.0, 1.0, 1.0, 1.0, 1.0])
- sol = simpleiter(A, b, N = 25, x = guess)
- print ("A:")
- pprint(A)
- print ("b:")
- pprint(b)
- print ("x:")
- pprint(sol)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement