Aller au contenu

Préconditionneur

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 8 août 2023 à 14:59 et modifiée en dernier par Kelam (discuter | contributions). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

En algèbre linéaire et en analyse numérique, un préconditionneur d'une matrice est une matrice telle que le conditionnement de est plus petit que celui de .

Description

[modifier | modifier le code]

Le préconditionnement est surtout utilisé dans les méthodes itératives pour la résolution d'un système linéaire (méthode du gradient, méthode du gradient conjugué, ...).

Au lieu de résoudre,

on préfère résoudre

qui permet de diminuer considérablement le nombre d'itérations dans la méthode de résolution (itérative). On dit que le système est "mieux" conditionné.

Ici, on a écrit un préconditionneur à gauche[1]. On peut aussi écrire un préconditionneur à droite. Dans ce cas, la résolution se fait en deux temps :

et

On peut, dans la même idée, écrire un préconditionneur à droite et à gauche, ou split preconditioner[2], c'est-à-dire :

avec et

En général, on ne calcule pas explicitement , mais on utilise des algorithmes pour trouver un inverse approché de . Dans certaines méthodes numériques (intégrales de frontières avec décomposition multipôles, ...), on préfère définir le produit matrice-vecteur, ce qui permet de réduire le stockage de(s) matrice(s), donc certains types de préconditionneur seront préférés.

Préconditionneurs simples

[modifier | modifier le code]

Ces préconditionneurs simples sont très utilisés pour leur intérêt pratique, car simples à calculer et efficaces pour des matrices creuses.

Dans la suite, on décompose A en trois matrices : A = D +L+U, avec D sa diagonale, L, une matrice triangulaire inférieure stricte et U, une matrice triangulaire supérieure stricte.

Préconditionneur de Jacobi

Il s'agit d'un des préconditionneurs les plus simples : la matrice P est choisie comme étant la diagonale de la matrice du système A.

Il est intéressant dans le cas des matrices à diagonale dominante.

Préconditionneur de Gauss-Seidel

La matrice P est choisie comme étant la partie inférieure de la matrice :.

SOR (Successive over-relaxation)
SSOR (Symmetric successive over-relaxation)

Inverses approchés

[modifier | modifier le code]
SPAI (Sparse Approximate Inverse)

Le préconditionneur T=P–1 est la matrice minimisant , où est la norme de Frobenius. Cela revient à résoudre des problèmes de moindres carrés pour chaque colonne de la matrice A.

Factorisations incomplètes

[modifier | modifier le code]

Les préconditionneurs reposant sur des factorisations incomplètes utilisent les résultats sur les décomposition de matrices en produit de matrices aux formes ou propriétés particulières. Ces matrices n'étant pas forcément aussi creuses et leur calcul pouvant être lui-même assez lourd, il est plus simple de chercher des approximations "aussi creuses" que A, et d'utiliser ces approximations comme préconditionneurs.

Cette méthode est intéressante dans le cas des matrices A creuses, pour lesquelles les matrices recherches seront aussi creuse que A : pour , pour une décomposition , on va imposer :

Factorisation LU incomplète

Pour une matrice A, on utilise la décomposition LU A = LU avec L une matrice triangulaire inférieure et U une matrice triangulaire supérieure dont tous les coefficients diagonaux sont égaux à 1. Le préconditionneur de la factorisation LU incomplète (ILU) pour A consiste à chercher deux matrices proches de L et U[3],[4].

On désigne également cette factorisation par ILU(0), les factorisations ILU(k) reposent sur la décomposition LU de Ak+1.

Factorisation de Cholesky incomplète

Dans le cas où A est symétrique définie positive, on sait qu'elle admet une décomposition appelée factorisation de Cholesky A=LLT avec L une matrice triangulaire inférieure. Le préconditionneur de la factorisation de Cholesky incomplète pour A consiste à chercher une matrice K proche de L.

  1. (en) Massimiliano Ferronato, « Review Article: Preconditioning for Sparse Linear Systems at the Dawn of the 21st Century: History, Current Developments, and Future Perspectives », International Scholarly Research Notices, vol. 2012,‎ , p. 49 (DOI 10.5402/2012/127647, lire en ligne)
  2. John W. Pearson et Jennifer Pestana, « Preconditioners for Krylov subspace methods: An overview », Topical Issue Applied and Numerical Linear Algebra – Part II, GAMM-Mitteilungen, vol. 43, no 4,‎ (DOI 10.1002/gamm.202000015)
  3. (en) « Preconditioners based on Incomplete LU Factorization Technique »
  4. (en) J. A. Meijerink et H. A. van der Vorst, « An Iterative Solution Method for Linear Systems of Which the Coefficient Matrix is a Symmetric M-Matrix », Mathematics of Computation, vol. 31, no 137,‎ , p. 148-162 (lire en ligne)