# HPC, Matrix Computations and Large Sparse Systems

## Presentation

Eigenproblems :

• Eigenvalue problems, conditioning and Schur factorization.
• Methods for eigenvalue problems.

• Introduction to computer architecture (processing units and memory hierarchy macroscopic organisation).
• Introduction to the different paradigms of parallel programation
• Description of the OpenMP API.
• Description of the MPI run-time directives.

Sparse systems

• Krylov subspace methods : Conjugate gradients, GMRES,
• Preconditioning techniques : stationary iterative methods, incomplete factorizations, sparse inverse approximates.

## Objectives

At the end of this module, the student will have understood and be able to explain (main concepts):

Eigenproblems :

• Different eigenproblems, their conditioning and Schur’s factorization,
• Different methods for eigenvalue problems : power method, orthogonal iterations, QR method and Krylov subspace methods.

HPC :

This module is focused on the presentation of the basic mechanisms used to achieve high performance on modern computers. The language used by the students will be Python with which they’ll learn to implement some MPI. They will also learn to program some Krylov’s solvers as well as the LU factorization and to efficiently solve Poisson’s equation discretized with finite differences.

Sparse systems :

• Principle of different projection techniques to define iterative methods for solving sparse linear systems,
• Principle of different preconditioning techniques

The student will be able to:

Eigenproblems :

Understand the difficulties of a problem, and choose a method.

At the end of this module, students will be able to develop and to maintain Python / C++ software codes, to analyze applications performances and to supplement them with MPI/OpenMP directives in order to enable a parallel execution.

Sparse systems :

Chose one or a few methods adapted to a given linear system.

## Needed prerequisite

• Precedent courses on the following subjects : linear algebra, numerical analysis.
• Knowledge of the imperative programmation language  main concepts (Python and C++).
• Matrix computation and geometry [I3MIMT31]
• Numerical analysis and optimisation [I3MIMT11]

## Form of assessment

The evaluation of outcome prior learning is made as a continuous training during the semester. According ot the teaching, the assessment will be different: as a written exam, an oral exam, a record, a written report, peers review...