Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/esraamhmd/numerical-project

Numerical Analysis
https://github.com/esraamhmd/numerical-project

python3 tkinter-gui

Last synced: 11 days ago
JSON representation

Numerical Analysis

Awesome Lists containing this project

README

        

# Numerical Project

## Overview

The Numerical Project is a collection of numerical methods and algorithms implemented in Python. It serves as a resource for students, educators, and professionals who are interested in numerical analysis and computational mathematics. This repository includes implementations of various numerical techniques, along with examples and documentation.

## Features

### Root Finding Algorithms
- **Bisection Method:** A robust and simple method for finding roots by repeatedly bisecting an interval and selecting a subinterval in which a root must lie.
- **False Position Method:** An improvement over the bisection method that uses linear interpolation to find a better approximation of the root.
- **Simple Fixed Point Method:** An iterative method that transforms the equation into a fixed-point form and uses successive approximations to find the root.
- **Newton Method:** A powerful and fast method that uses the derivative of the function to find successively better approximations of the root.
- **Secant Method:** Similar to Newton's method but does not require the computation of the derivative, using secant lines instead.

### Linear Systems Solvers
- **Gauss Elimination:** A systematic method for solving linear systems by transforming the system into an upper triangular matrix, then performing back-substitution.
- **LU Decomposition:** Decomposes a matrix into a lower triangular matrix (L) and an upper triangular matrix (U) to simplify solving linear systems and computing determinants.
- **Cramer’s Rule:** A straightforward method using determinants to solve linear systems, particularly useful for small systems.
- **Gauss-Jordan Elimination:** An extension of Gaussian elimination that reduces the matrix further to row echelon form, providing a direct method for finding the inverse of a matrix and solving linear systems.

## Technologies Used

- **Python:** The primary programming language used for implementing numerical methods. Python's simplicity and readability make it an excellent choice for educational purposes and complex numerical computations.
- **Tkinter:** A standard GUI (Graphical User Interface) library in Python used to create desktop applications. In this project, Tkinter is utilized to build interactive interfaces for demonstrating the numerical methods.

## Demo
https://github.com/esraamhmd/numerical-project/assets/145714762/cf963bfc-40c4-4f1a-8667-e9a618b6d1d4
## Documentations
[numeric_doc_project.pdf](https://github.com/esraamhmd/numerical-project/files/15363580/numeric_doc_project.pdf)
## Getting Started

### Prerequisites

- Python 3.11.9

### Installation

1. **Clone the repository:**
```bash
git clone https://github.com/esraamhmd/numerical-project.git