Skip to content

Adilforest/cm-final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computational Mathematics — Final Project (AITU)

A desktop GUI application (PySide6) that demonstrates eight numerical methods with interactive parameter input and live Matplotlib plots.

Python PySide6 NumPy SciPy


Overview

Goal: Consolidate the numerical methods studied throughout the Computational Mathematics course into a single interactive tool. The user selects a task, enters parameters, and sees the result and convergence plot rendered inside the app.


What it covers

Task Method
1 Graphical root localization + bisection method for f(x) = ax⁴ − bx² + c
2 Bisection + Newton's method (tangent method) for cubic polynomial root finding
3 Successive over-relaxation (SOR / relaxation method) for a linear system
4 Power iteration method for dominant eigenvalue and eigenvector
5 Exponential curve fitting y = A·eᴮˣ via least squares
6 Cubic spline interpolation (via scipy.interpolate.CubicSpline)
7 Picard's successive approximations for an ODE initial value problem
8 Simpson's rule for numerical integration of sin(x)

GUI: PySide6 window with a task-selector toolbar, parameter input panel, results text area, and an embedded Matplotlib canvas — all in one split-pane layout.


Repository structure

CompMathFinal/
├── src/
│   ├── run.py              # Application entry point
│   ├── gui/
│   │   └── gui.py          # PySide6 MainWindow; task routing
│   └── tasks/
│       ├── task1.py        # Bisection / graphical method
│       ├── task2.py        # Newton's method
│       ├── task3.py        # SOR / relaxation method
│       ├── task4.py        # Power iteration (eigenvalue)
│       ├── task5.py        # Exponential curve fitting
│       ├── task6.py        # Cubic spline interpolation
│       ├── task7.py        # Picard's successive approximations
│       └── task8.py        # Simpson's rule integration
├── requirements.txt
└── tests/

Getting started

# 1. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate

# 2. Install dependencies
pip install -r requirements.txt
# requirements: PySide6, numpy, matplotlib, scipy

# 3. Run the application
python src/run.py

Adil Ormanov — GitHub

About

Interactive desktop app (PySide6 + Matplotlib) implementing 8 numerical methods: bisection, Newton's method, SOR, power iteration, curve fitting, cubic splines, Picard iteration, Simpson's rule

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages