This repository contains MATLAB implementations for the Scientific Computing Lab (2023-24) course. It includes solutions to four key problems:
-
Matrix Cholesky Decomposition Timing Analysis
(chol_timing.m):- Measures execution time of
chol(A)for random SPD matrices. - Fits cubic, quadratic, and quartic polynomials to model complexity.
- Measures execution time of
-
Tridiagonal System Solver
(tridiagonal_solver.m):- Implements vectorized and non-vectorized solvers for tridiagonal systems.
- Tests diagonal dominance and norm behavior.
-
Tensor Operations (TTV/TTM/TTT)
(tensor_operations.m):- Custom implementations of tensor-vector/matrix products and outer/inner products.
- Validated against Tensor Toolbox functions.
-
Preconditioned Conjugate Gradient (PCG) Method
(pcg_solver.m):-
Modified PCG solver with error tracking for Poisson and sparse matrix systems.
-
Includes ILU/IC preconditioning and convergence plots.
-
Some key results are the following:
- The sparse matrix used is 1138_bus
Preconditioning Iterations Residual Norm Error Norm (A-norm) None 4 Slow decay High stagnation ILU 4 Fast decay 10Γ lower error
-
βββ Documentation/
βββ Documentation.pdf # Doc in Greek
βββ chol_timing.m # Problem 1: Cholesky timing and polynomial fitting
βββ tridiagonal_solver.m # Problem 2: Tridiagonal system solver
βββ tensor_operations.m # Problem 3: Tensor operations (TTV/TTM/TTT)
βββ pcg_solver.m # Problem 4: PCG with error tracking
βββ README.md # Repository overview Supervised by: Prof. Efstratios Gallopoulos (HPC Lab, University of Patras)

