A desktop GUI application (PySide6) that demonstrates eight numerical methods with interactive parameter input and live Matplotlib plots.
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.
| 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.
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/
# 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.pyAdil Ormanov — GitHub