WUT_Computer_Science/ENUME/references/numerical-methods/README.md
2021-11-10 13:12:25 +01:00

90 lines
3.0 KiB
Markdown

# 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 <a href="https://github.com/radusqrt/numerical-methods/graphs/contributors">contribute</a>.
-------------------------------------------------------------------------------------------------
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)