Numerical Techniques, All Implemented from scratch in Python
- Bisection Method
- Secant Method
- Regula-Falsi Method
- Newton-Raphson Method
- Birge-Vieta Method
- Bairstow's Method
- Functions can be any algebraic combinations of polynomials Pn(x), exp(x), pi, log2(x),log10(x), acos(x), asin(x) ,atan(x) , cos(x) ,sin(x), tan(x), acosh(x),asinh(x),atanh(x),cosh(x), sinh(x), tanh(x) ,gamma(x), lgamma(x)
- All algorithms have independent implementations.
- The iterative_methods.py file has all algorithms together, and can compare performance and convergence of all these methods.
- Also implemented pretty printing for all functions, so functions can be printed in their mathematical notational form within the terminal.
- LU Decomposition
a) Doolittle Method, L[i,i]=1, Implemented in O(nxn)
b) Crout's Method, U[i,i]=1, Implemented in O(nxn) - L(L.T) Decompostion
a) Cholesky's Method
- All algorithms have independent implementations.
- The decomposition.py file has all algorithms together, and can compare performance and convergence of all these methods.
- Gauss-Jacobi Method
- Gauss-Seidel Method
- All algorithms have independent implementations.
- The solving_matrix_equations.py file has all algorithms together, and can compare performance and convergence of methods.
- O(n^3) Algorithm.
- Prints the inverse of the matrix if it is invertible, 'INVALID' otherwise. Also handles 0 pivot and NaN exceptions.