thelearningcurves / Numerical-Methods

Welcome to this collection of numerical methods implemented in Python from scratch! In this repository, you will find a variety of techniques for solving mathematical problems, along with the theoretical basis behind each method, examples of how to use the functions, and benchmarking against popular Python scientific libraries.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Numerical Methods

Welcome to this collection of numerical methods implemented in Python from scratch! In this repository, you will find a variety of techniques for solving mathematical problems, along with the theoretical basis behind each method, examples of how to use the functions, and benchmarking against popular Python scientific libraries such as Numpy, Sickit-Learn, and SciPy. Whether you are a student looking to learn more about numerical methods or a researcher seeking efficient algorithms for your work, this repository has something for you. Explore the various directories to discover the methods and tools available, and feel free to use and adapt the code for your own purposes.

Demo

Requirements

  • Python 3.10+
  • Whatever library is mentioned in the project's requirements.txt file.

Installation

To run .py scripts the recommended approach is to use virtualenv:

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt
$ python path/to/main.py

For .ipynb notebooks you do not need to install anything locally on your PC. You may run all of the examples on the official website of Jupyter Notebooks using a demo version:

https://jupyter.org/try

To run the notebooks locally, use the following command:

$ jupyter notebook path/to/notebook.ipynb

Topics

Root And Extrema Finding

Method Notes Implementation Examples
Root Bracketing
Picard Method
Newton Raphson
Bisection Method
Secant Method
Golden Ratio Search
Relaxation Method
Gradient Descent

Systems Of Equations

Method Notes Implementation Examples
Gaussian Elimination

Differentiation

Method Notes Implementation Examples
Taylor series
Forward difference
Backward difference
Central difference

Integration

Method Notes Implementation Examples
Midpoint Rule
Trapezoid Method
Simpon's method

Matrices

Method Notes Implementation Examples
Power Method
Inverse Power Method
QR Method

Regression

Method Notes Implementation Examples
Linear Interpolation
Multiple Linear Regression
Least Squares
Cubic Spline
Lagrange Polynomial

Ordinary Differential Equations

Method Notes Implementation Examples
Euler's Method
Runge Kutta

Refrences

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

Welcome to this collection of numerical methods implemented in Python from scratch! In this repository, you will find a variety of techniques for solving mathematical problems, along with the theoretical basis behind each method, examples of how to use the functions, and benchmarking against popular Python scientific libraries.

License:MIT License


Languages

Language:Jupyter Notebook 87.9%Language:Python 9.1%Language:TeX 3.0%