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
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:
- Algorithm design repository
- Computer Programming repository