1 research outputs found

    Inexact Subspace Iteration to Accelerate the Solution of Linear Systems with Multiple Right-Hand Sides

    Get PDF
    Nous proposons une technique en deux-phases pour accélérer la solution de systèmes d'équations linéaires, Symétriques et Positifs Définis (SPD), avec plusieurs seconds membres. Dans la première phase, une certaine partie de l'information spectrale, associée au mauvais conditionement de la matrice du système, est extraite et, dans une seconde phase, cette information est utilisée pour améliorer la convergence de la métode du Gradient Conjugué (CG). Cette aproche présente un intérêt pour la résolution de problèmes de grande taille, come par exemple dans la simulation numérique d'équations différencielles dépendantes du temps, oú normalement on doit résoudre séquenciellement plusieurs systèmes linéaires dans lesquels la matrice reste la même (oú bien avec des matrices qui préservent à peu près les mêmes propriétés spectrales) mais avec différents second membres. Pour extraire l'information spectrale, nous proposons une combinaison de l'algorithme du Gadient Conjugué par blocs (blockCG) avec l'itération de sous-espace. Le résultat consiste en un algorithme purement itératif, appelé BlockCGSI. Nous analysons la convergence du blockCG afin de permettre la réduction du nombre total des calculs en controlant de manière appropriée la résolution des systèmes à chaque itération de sous-espace. Nous améliorons aussi la convergence globale de l'algorithme par l'intermédiaire de filtres spectraux, basés sur les polynômes de Tchebycheff, qui sont appliqués sur les vecteurs de départ. Le comcept de “fenêtre glissante” est aussi introduit dans l'algorithme, pour permettre de calculer des sous-espaces invariants avec une dimension non connue à l'avance. L'information spectrale, calculée avec l'algorithme BlockCGSI, est alors utilisée de deux manières différentes pour retirer l'éffet provoqué par les petites valeurs propres : soit en construisant um second niveau de préconditionnement appelé Spectral Low Rank Update (SLRU) qui ajoute la valeur 1 aux valeurs propres pré-calculées, soit en effectuant une projection du résidu de départ pour retirer la partie de la solution correspondante aux petites valeurs propres. Les deux techniques permettent des réductions importantes sur le nombre total d'opérations effectuées par le CG. L'ensemble est validé sur des tests effectués en particulier sur un problème de diffusion hétérogène bi-dimensionnel, ainsi que dans le cadre de deux autres aplications provenant de la Mécanique des Fluides Numérique. L'analyse des coûts et des gains, en terme de nombre total d'opérations, valide la stratégie en montrant que l'approche proposée permet d'accélérer efficacement la résolution de systèmes d'équations linéaires symétriques et positifs définis. ABSTRACT : We propose a two-phase acceleration technique for the solution of Symmetric and Positive Definite (SPD) linear systems with multiple right-hand sides. In the first phase we compute some partial spectral information related to the ill conditioned part of the given coefficient matrix and, in the second phase, we use this information to improve the convergence of the Conjugate Gradient (CG) algorithm. This approach is adequate for large scale problems, like the simulation of time dependent differential equations, where it is necessary to solve consecutively several linear systems with the same coefficient matrix (or with matrices that present very close spectral properties) but with changing right-hand sides. To compute the spectral information, we combine the block Conjugate Gradient algorithm with the Subspace Iteration to build a purely iterative algorithm, that we call Block-CGSI. We analyze the convergence of the blockCG algorithm and exploit the possibility of reducing the total amount of computational work by controlling in a same appropriate manner the accuracy during the solution of linear systems at each subspace iteration. We also improve the global convergence of this algorithm by using Chebyshev polynomials as a spectral filtering tool when building the starting vectors. The concept of “sliding window” was also introduced as an algorithmic feature that enables the computation of a near-invariant subspace of any dimension. The spectral information computed by the BlockCGSI algorithm is then used to remove the effect of the smallest eigenvalues in two different ways: either by building a Spectral Low Rank Update (SLRU) preconditioner that basically adds the value 1 to the approximated eigenvalues, or by performing a deflation of the initial residual in order to remove part of the solution corresponding to the smallest eigenvalues. Both techniques yield important reductions of the total number of iterations and computational work in each subsequent runs of the Conjugate Gradient algorithm. We report on experiments on a 2D diffusion equation as well as on two applications coming from Computational Fluid Dynamics (CFD). The analysis of costs and benefits, in terms of floating point operations, helps to validate the strategy as a good way to speed up the solution of symmetric and positive definite linear system
    corecore