A collection of numerical experiments and optimization techniques applied to linear algebra and image processing, implemented in Python.
/src
├── notebooks/ # Jupyter Notebooks with analyses
│ ├── numerical_basics.ipynb
│ ├── optimization_and_polynomial_fitting.ipynb
│ └── inverseproblems_and_imaging.ipynb
│
├── src/ # Reusable Python source code
│ └── ProblemiInversi/
│
├── data/ # Data files (CSV, images, etc.)
│ ├── data_hw.csv
│ └── bologna.jpg
│
├── .gitignore
└── README.md
This collection features several key projects, each located in the notebooks/ directory:
-
numerical_basics.ipynb: An introduction to fundamental numerical methods, including:
- Root-finding algorithms (Bisection, Fixed-Point Iteration, and Newton's Method).
- Solving systems of linear equations using LU, Singular Value Decomposition (SVD).
-
optimization_and_polynomial_fitting.ipynb: A practical look at optimization, featuring:
- Data approximation using polynomial fitting and least squares.
- Implementation of the Gradient Descent algorithm with both fixed and backtracking line search strategies.
-
inverseproblems_and_imaging.ipynb: An exploration of inverse problems and regularization techniques, with a focus on:
- Picard condition and TSVD.
- Image deblurring as a primary application.
- Solving ill-posed problems using Truncated SVD (TSVD) and Tikhonov regularization.
- Language: Python
- Core Libraries:
- NumPy for numerical operations.
- Pandas for data manipulation and analysis.
- Matplotlib for data visualization.
- SciPy for scientific and technical computing.
- Scikit-image for image processing tasks.
- Environment: Jupyter Notebook