| Subject Area | Applications and Foundations of Computer Science |
|---|---|
| Semester | Semester 7 – Fall |
| Type | Elective |
| Teaching Method | Lectures |
| Teaching Hours | 4 |
| ECTS | 6 |
| Prerequisites |
|
| Course Director |
|
Sparse matrix handling
Matrix-free techniques
Iterative refinement
Incomplete LU (ILU) factorization
Krylov methods for:
Linear systems
Nonlinear systems (Newton–Krylov)
Eigenvalue problems
Preconditioning
Mixed precision computations
The course introduces students to modern computational methods for solving systems of equations. Emphasis is placed on efficient implementation and on understanding the behavior of methods for large-scale systems. Upon completion of the course, students will be able to apply, analyze, and select appropriate algorithms for solving systems of equations with respect to scalability. They will acquire a set of methods and techniques directly applicable to demanding problems and will be prepared for future transition to parallel implementations.
Upon successful completion of the course, students will be able to:
• Implement Krylov subspace methods (such as CG and GMRES) for solving linear systems.
• Select and apply appropriate preconditioning techniques, such as Jacobi and incomplete LU (ILU), based on problem characteristics.
• Extend Krylov methods to nonlinear problems via the Newton–Krylov approach.
• Implement Krylov methods for eigenvalue computations.
• Understand and analyze the relationship between eigenvalues and the convergence and stability of Krylov methods.
• Apply mixed precision techniques.
• Analyze and select appropriate algorithms with respect to scalability and future deployment in high-performance computing environments.
• Represent and manage sparse matrices using appropriate storage formats (e.g., CSR/CSC).
• Apply matrix-free techniques for the efficient solution of large-scale systems.








