Skip to content

This repository contains Python implementations of various numerical methods used in mathematics, science, and engineering. These algorithms are essential for solving complex mathematical problems, simulating physical systems, and analyzing data.

Notifications You must be signed in to change notification settings

ruesga-99/numerical_methods

Repository files navigation

Numerical Methods

🚧 This repository is under a major restructuration 🚧

In this repository, you will find Python implementations of commonly used numerical methods. These algorithms are useful for solving a wide range of mathematical problems, including linear algebra, optimization, interpolation, and differential equations. This repository is an active personal project, therefore new numerical methods will be soon uploaded.

 _____________________
|  _________________  |
| | By: ruesga-99   | |
| |_________________| |               _   _                           _           _ 
|  ___ ___ ___   ___  |              | \ | |_   _ _ __ ___   ___ _ __(_) ___ __ _| |
| | 7 | 8 | 9 | | + | |              |  \| | | | | '_ ` _ \ / _ \ '__| |/ __/ _` | |                   
| |___|___|___| |___| |              | |\  | |_| | | | | | |  __/ |  | | (_| (_| | |                             
| | 4 | 5 | 6 | | - | |              |_| \_|\__,_|_| |_| |_|\___|_|  |_|\___\__,_|_|                             
| |___|___|___| |___| |              |  \/  | ___| |_| |__   ___   __| |                             
| | 1 | 2 | 3 | | x | |              | |\/| |/ _ \ __| '_ \ / _ \ / _` / __|                           
| |___|___|___| |___| |              | |  | |  __/ |_| | | | (_) | (_| \__ \                          
| | . | 0 | = | | / | |              |_|  |_|\___|\__|_| |_|\___/ \__,_|___/
| |___|___|___| |___| |                           
|_____________________|

List of implemented numerical methods

🧮 Errors:

   ✅ Mean Squared Error
   Root Mean Squared Error
   📆 Mean Absolut Error
   📆 Mean Absolut Percentage Error

🧮 Root Finding:

   ✅ Bisection Method (Polynomial Functions)
   ✅ Regula Falsi / False Position Method (Polynomial Functions)
   📆 Fixed Point Iteration
   📆 Newton-Rapshon

🧮 Linear Interpolation and Curve Fitting:

   ✅ Lagrange's Polynomial
   ✅ Newton's Divided Differences
   ✅ Newton's Finite Differences
   ✅ Least Squares

🧮 Ordinary Differential Equations with IVP:

   ✅ Euler's Method
   ✅ Heun's Method (Improved Euler's Method)
   ✅ Runge-Kutta Method (RK4)

🧮 Matrix and Systems of Linear Equations:

   ✅ Matrix Class (Squared Matrix)
   💡 Rectangular Matrix Class
   📆 Cramer's Rule
   📆 Gaussian Elimination
   📆 Gauss-Jordan Method
   📆 Gauss-Seidel Method
   📆 Jacobi's Method
   📆 Gauss-Zamora Method
   📆 Crout's Method (QR Descomposition)
   📆 Doolittle's Method (LU Descomposition)

🧮 Numerical Integration:

   🚧 Closed Newton-Cotes
   📆 Open Newton-Cote

💡 Numerical Differentiation: (Planning Ongoing)

💡 Partial Differential Equations: (Planning Ongoing)

💡 Nonlinear Optimization: (Planning Ongoing)


🧮 Others:

   ✅ Numeric Errors
   📆 Tabular Form of the Function
   ✅ Collatz Conjecture (3n+1)
   🚧 Advanced Operations

Prerequisites and Dependencies

Make sure you have the following installed:

  • Python 3.x (I'm using 3.12)

This project uses the following Python libraries:

  • numpy 2.0.0
  • pandas 2.2.2
  • matpolib 3.9.0
pip install numpy==2.0.0 pandas==2.2.2 matplotlib==3.9.0

Emoji Key

✅ (Completed): This emoji is used to mark tasks that have been finished and require no further work.

📆 (Planned): This emoji is used for tasks that are planned for the future, indicating they are on the work calendar. The corresponding file does not exist within the repository.

🚧 (Under Construction): This emoji indicates tasks that have been implemented but still need further improvements or adjustments. There is already a corresponding file within the repository but hasn't been fully developed.

💡 (Planning Ongoing): This emoji is used for sections that haven't been completely defined on their components.

Usage

To use these numerical methods, simply clone the repository and import the desired method into your Python environment. Each method is contained in its own module for easy integration into your projects.

Contributions

Contributions to this repository are welcome! If you have implemented a numerical method in Python that you would like to share, please feel free to submit a pull request. Your contributions will help make this repository a valuable resource for the community. Different aproaches to an already submitted numerical method just as more efficient algorithms are also apreciated.

About

This repository contains Python implementations of various numerical methods used in mathematics, science, and engineering. These algorithms are essential for solving complex mathematical problems, simulating physical systems, and analyzing data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages