Lignes directrices pour les préconditionneurs imbriqués

9

Considérez la situation où vous souhaitez résoudre un système linéaire à l'aide d'une méthode Krylov préconditionnée, mais l'application du préconditionneur lui-même implique la résolution d'un système auxiliaire, ce qui se fait avec une autre méthode Krylov préconditionnée.

  • À un extrême, vous pouvez exécuter la résolution interne pour qu'elle converge à chaque étape de la résolution externe.

  • À l'autre extrême, vous ne pouviez pas du tout résoudre le problème intérieur, mais plutôt le remplacer par le préconditionneur intérieur.

  • Quelque part au milieu, vous pourriez tronquer la boucle interne de Krylov après un certain nombre d'itérations fixe ou après qu'une certaine tolérance soit atteinte.

Empiriquement, j'ai rencontré des situations où le premier extrême est meilleur et différentes situations où le second extrême est meilleur (en termes de coût total). Cependant, je ne trouve aucune raison claire pour laquelle certaines situations favorisent une stratégie plutôt qu'une autre.

Existe-t-il une orientation ou une théorie sur le moment où ces différentes stratégies sont préférables?

Nick Alger
la source
4
Pour au moins la troisième situation (intermédiaire) de votre liste, un bon point de départ pourrait être Simoncini et Szyld, Flexible Inner-Outer Krylov Subspace Methods, SIAM J. Numer. Anal. 40 pages 2219-2239.
Andrew
Merci pour la référence, je suis curieux de voir ce qu'ils ont là. Étrangement, dans la pratique, j'ai trouvé que faire différentes formes de la situation intermédiaire donnait de loin la pire performance. Si le numéro de tolérance / itération est fixe, le solveur externe a tendance à se bloquer au niveau d'erreur de la tolérance interne. Commencer avec une grande tolérance intérieure et la diminuer au fur et à mesure que la méthode extérieure progresse semble également moins efficace que de simplement définir la tolérance intérieure petite pour commencer.
Nick Alger
Utilisez-vous des méthodes flexibles de Krylov? Les résultats que vous décrivez sont ce à quoi je m'attendrais si vous ne l'étiez pas. La situation intermédiaire est exactement celle où le préconditionneur est (légèrement) différent à chaque itération, c'est-à-dire lorsque des méthodes Krylov flexibles sont nécessaires.
Andrew

Réponses:

1

Cette question est ouverte depuis longtemps, mais je pense qu'elle mérite encore une réponse.

Le problème fondamental avec l'utilisation de solveurs de l'espace Krylov sur des blocs individuels comme préconditionneurs internes est qu'ils ne sont pas des opérateurs linéaires. Pour comprendre cela, notons le vecteur que vous obtenez comme solution en exécutant une méthode spatiale de Krylov K sur le système linéaire A x = b pour au plus N itérations ou jusqu'à ce qu'une tolérance τ soit atteinte, en utilisant un préconditionneur P A - 1 . En d'autres termes, vous pouvez penser àX~=K(UNE,P,τ,N;b)KUNEX=bNτPUNE-1 comme un opérateur qui agit sur b .Kb

Notez maintenant que est un opérateur linéaire: il faudrait résoudre exactement A x = b , c'est-à-dire K ( A , P , 0 , ; b ) = A - 1 b , qui est linéaire en b . Dans de nombreux cas, l'exécution d'une méthode spatiale de Krylov pour exactement une itération à partir d'un vecteur zéro est également un opérateur linéaire appliqué à bK(UNE,P,0,;)UNEX=bK(UNE,P,0,;b)=UNE-1bbbr(0)=b-UNEX(0)K(UNE,P,τ,N;)Nτ

K(UNE,P,τ,N;)UNE

Cela contraste avec de nombreuses autres méthodes utilisées pour préconditionner: par exemple, une étape SSOR est une opération linéaire sur le vecteur auquel vous l'appliquez, comme le sont toutes les autres méthodes qui appliquent une étape d'une itération à point fixe.

Le problème fondamental est maintenant que la plupart des méthodes spatiales de Krylov nécessitent que le préconditionneur soit un opérateur linéaire. Ils ne convergeront tout simplement pas si le préconditionneur n'est pas linéaire, expliquant votre observation. D'autre part, il existe des variantes de certaines méthodes spatiales de Krylov - généralement préfixées par le mot "Flexible", telles que F-GMRES dans "Flexible GMRES" - qui fonctionnent autour de cela et qui peuvent traiter des préconditionneurs qui ne sont pas linéaires les opérateurs. Ces variantes flexibles des méthodes originales convergeront toujours et sont souvent des méthodes puissantes lorsqu'elles sont associées à de bons (mais non linéaires) préconditionneurs.

Wolfgang Bangerth
la source