
On the contrary, Python is a great tool for various tasks that do not require running expensive simulations (web-development, scripting). It doesn’t make Python a bad programming language. There are two major reasons for that: Python is a dynamically typed language and Python is an interpreted language. But Fortran, C, C++ dominate high-performance programming. Python has plenty of appeal to the programming community: it’s simple, interactive and free. all input should be valid (n/N = ints, the rest can be floats) -> no validations were made.Numpy version 1.19.3 (previous to 1.19.4 -> had some issues initializing it).
myMatrixTools.py - constains few basic matrix manipulation and analysis functions for usage. main2.py - constains larger user-input of size N, matrix a and vector b. main.py - contains basic usage demonstration of jacobi_calc() or gauss_seidel_calc(), using a 3x3 matrix, and basic arguments. rel_diff, the relative difference between last 2. If max_iter is None, the default value will set as 200. max_iter, the maxim number of possible iterations to receive the most exact solution. If tolerance is None, the default value will set as 1e-16. tolerance, the desired limitation of tolerance of solution's anomaly. If x is None, the initial guess will bw determined as a vector of 0's. if b is None - the functions returns None. If a is None or NxM, where N != M - the functions returns None. a, the NxN matrix that the method is being performed on. The algorithms will terminate when the change in x is less than tolerance, or if max_iter iterations have been exceeded.įor each function: (jacobi_calc() or gauss_seidel_calc())
Jacobi & Gauss-Seidel Algorithms Using Python The following methods solve the line system of equations, Ax=b,using Jacobi OR Gauss-Seidel algorithms, starting from an initial guess, x0.