Skip to content

Numerical methods. Repository with the purpose of helping the ones in need on their path to achieving the computer science numerical wisdom.

License

Notifications You must be signed in to change notification settings

radusqrt/numerical-methods

Repository files navigation

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:

  1. Algorithm design repository
  2. Computer Programming repository

About

Numerical methods. Repository with the purpose of helping the ones in need on their path to achieving the computer science numerical wisdom.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published