# numerical-methods ### Repository with the purpose of helping the ones in need on their path to achieving the computer science numerical wisdom. Contains MATLAB/Octave (and Python/C++ soon) implementations of the algorithms. ### Implemented algorithms #### Nonlinear Equations | | Matlab | Python | C++ | | --- | --- | --- | --- | | Bisection method| :octocat: | | | | Newton-Raphson method | :octocat: | | | | Secant method | :octocat: | | | #### Gaussian methods | |Matlab|Python|C++| |---|---|---|---| |Gaussian elimination|:octocat:||| |Gaussian elimination with Partial Pivoting|:octocat:||| |Gaussian elimination with Scaled Partial Pivoting|:octocat:||| |Gaussian elimination with Total Pivoting|:octocat:||| #### LU Factorization methods | |Matlab|Python|C++| |---|---|---|---| |Doolittle|:octocat:||| |Crout|:octocat:||| |Cholesky|:octocat:||| #### QR Factorization methods | |Matlab|Python|C++| |---|---|---|---| |Givens|:octocat:||| |Gram-Schmidt|:octocat:||| |Householder|:octocat:||| #### Iterative methods | |Matlab|Python|C++| |---|---|---|---| |Gauss-Seidel|:octocat:||| |Jacobi|:octocat:||| |Successive over-relaxation (SOR)|:octocat:||| #### Eigenvalues decomposition | |Matlab|Python|C++| |---|---|---|---| |Power method|:octocat:||| |Inverse Power method|:octocat:||| |Deflation method|:octocat:||| #### Ad-hoc algorithms | |Matlab|Python|C++| |---|---|---|---| |Diagonally dominance|:octocat:||| |Positive definition|:octocat:||| |Triangular matrices evaluation|:octocat:||| |Gershgorin circles|:octocat:||| |Gauss-Jordan Matrix Inverse|:octocat:||| ### Convention - Before starting working on something, check the "Pull requests" tab to see if there isn't anyone who's already doing the same thing! - Convention: The sources' names will start with a capital letter: "Crout", "Doolittle", "Householder", "Givens" etc. - Comment your sources! - Test your sources with several input cases: eye matrix, full matrix, triu matrix, tril matric, random matrix, small, big etc. - Use notation tags: - [NOTE] for related notes - [USES] for sources which use other sources that are in a different folder to suggest that the user should first copy the dependencies (sources needed) in the same folder for testing - before creating a Pull Request, it should look like this: [Householder](https://github.com/radusqrt/help-the-kids/blob/master/MN/Algoritmi/QR/Householder/Householder.m) ------------------------------------------------------------------------------------------------- ### Python coding style https://github.com/google/yapf ### Contributors This project exists thanks to all the people who contribute. ------------------------------------------------------------------------------------------------- Other repositories that might be of interest: 1. [Algorithm design repository](https://github.com/radusqrt/algorithm-design) 2. [Computer Programming repository](https://github.com/radusqrt/computer-programming)