Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nazmusweb-coding/numerical-methods
Some Numerical Methods Implementation in C++ and Python
https://github.com/nazmusweb-coding/numerical-methods
cpp numerical-algorithms numerical-calculations numerical-computation numerical-integration numerical-methods python
Last synced: about 1 month ago
JSON representation
Some Numerical Methods Implementation in C++ and Python
- Host: GitHub
- URL: https://github.com/nazmusweb-coding/numerical-methods
- Owner: nazmusweb-coding
- Created: 2024-09-15T02:55:26.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T15:55:43.000Z (3 months ago)
- Last Synced: 2024-09-17T18:54:13.336Z (3 months ago)
- Topics: cpp, numerical-algorithms, numerical-calculations, numerical-computation, numerical-integration, numerical-methods, python
- Language: C++
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Numerical Methods Repository
Welcome to the Numerical Methods repository! This project includes implementations of various numerical methods in both C++ and Python. The Python implementations are designed to mimic C++ conventions to help C++ coders transition smoothly to Python.
## Methods Implemented
### 1. Simple Iteration / Brute Force Method
A basic iterative approach for solving equations.### 2. Newton-Raphson Method
A numerical technique for finding successively better approximations to the roots of a real-valued function.### 3. Bisection Method
A root-finding method that repeatedly bisects an interval and then selects a subinterval in which a root must lie for further processing.### 4. Numerical Differentiation
- **Forward Finite Differences:** Approximates the derivative of a function using forward differences.
- **Central Finite Differences:** Approximates the derivative using central differences.
- **Backward Finite Differences:** Approximates the derivative using backward differences.### 5. Numerical Integration
- **Trapezoidal Rule:** Approximates the integral of a function using trapezoids.
- **Simpson's 1/3 Rule:** Approximates the integral of a function using parabolic segments.
- **Simpson's 3/8 Rule:** A variation of Simpson's rule using cubic polynomials.
- **Simpson's 1/3 Double Integration Rule:** Extends Simpson's 1/3 rule to double integrals.### 6. Interpolation
- **Linear Interpolation:** Estimates unknown values by assuming a linear relationship between known values.
- **Lagrange's Interpolation:** Provides a polynomial interpolation through a set of data points.
- **Newton's Method:** Provides an interpolating polynomial in Newton form.## Installation
To use the C++ and Python implementations, you'll need to have the appropriate compilers or interpreters installed:
### C++:
- Install a C++ compiler (e.g., `g++` or `clang++`).### Python:
- Ensure you have Python 3.x installed. You can download it from [python.org](https://www.python.org/).## Usage
### C++
To compile and run the C++ code, navigate to the C++ source directory and use the following commands:
```bash
g++ -o method_name method_name.cpp
./method_name
```##### Alternative Approache:
You can use an [online compiler](https://www.programiz.com/cpp-programming/online-compiler/) such as Programiz to compile and run your C++ code directly in the browser.### Python
To run the Python code, navigate to the Python source directory and use the following command:
```bash
python method_name.py
```##### Alternative Approaches:
- Google Colab: Use [Google Colab](https://colab.research.google.com/notebooks/intro.ipynb#scrollTo=5Y9LXc69ndOO) to run your Python code in a cloud-based environment.- JupyterLite: Try [JupyterLite](https://jupyterlite.github.io/demo/lab/index.html) (to try without login) for an online Jupyter notebook experience without needing to log in.
These platforms provide suitable environments for Python and are generally better than other online interpreters available.