import numpy as np print("*********Gauss Seidel*********") def Gauss_Seidel(A,b,x,steps): L = np.tril(A,k=-1) D = np.diag(np.diag(A)) R = np.triu(A, k=1) print(np.linalg.norm(-np.linalg.inv(D+L) @ R,np.inf)) for steps in range(steps): x = -np.linalg.inv(D+L) @ R @ x + np.linalg.inv(D+L) @ b return x A = np.array([[8,5,2],[5,9,1],[4,2,7]]) b = np.array([[19],[5],[34]]) x = np.array([[1],[-1],[3]]) steps = 3 print(Gauss_Seidel(A,b,x,steps)) print("Sum of vector:") print(np.sum(Gauss_Seidel(A,b,x,steps))) print(np.linalg.norm(Gauss_Seidel(A,b,x,3)-Gauss_Seidel(A,b,x,2),np.inf))