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