Numerical Linear Algebra Solving Ax = B , an Overview Introduction

Total Page:16

File Type:pdf, Size:1020Kb

Numerical Linear Algebra Solving Ax = B , an Overview Introduction Solving Ax = b, an overview Numerical Linear Algebra ∗ A = A no Good precond. yes flex. precond. yes GCR Improving iterative solvers: ⇒ ⇒ ⇒ yes no no ⇓ ⇓ ⇓ preconditioning, deflation, numerical yes GMRES A > 0 CG software and parallelisation ⇒ ⇓ no ⇓ ⇓ ill cond. yes SYMMLQ str indef no large im eig no Bi-CGSTAB ⇒ ⇒ ⇒ no yes yes ⇓ ⇓ ⇓ MINRES IDR no large im eig BiCGstab(ℓ) ⇐ yes Gerard Sleijpen and Martin van Gijzen a good precond itioner is available ⇓ the precond itioner is flex ible IDRstab November 29, 2017 A + A∗ is strongly indefinite A 1 has large imaginary eigenvalues November 29, 2017 2 National Master Course National Master Course Delft University of Technology Introduction Program We already saw that the performance of iterative methods can Preconditioning be improved by applying a preconditioner. Preconditioners (and • Diagonal scaling, Gauss-Seidel, SOR and SSOR deflation techniques) are a key to successful iterative methods. • Incomplete Choleski and Incomplete LU In general they are very problem dependent. • Deflation Today we will discuss some standard preconditioners and we will • Numerical software explain the idea behind deflation. • Parallelisation We will also discuss some efforts to standardise numerical • software. Shared memory versus distributed memory • Domain decomposition Finally we will discuss how to perform scientific computations on • a parallel computer. November 29, 2017 3 November 29, 2017 4 National Master Course National Master Course Preconditioning Why preconditioners? A preconditioned iterative solver solves the system − − M 1Ax = M 1b. 1 The matrix M is called the preconditioner. 0.8 The preconditioner should satisfy certain requirements: 0.6 Convergence should be (much) faster (in time) for the 0.4 • preconditioned system than for the original system. Normally 0.2 0 this means that M is constructed as an “easily invertible” 25 20 14 15 12 approximation to A. Note that if M = A any iterative method 10 10 8 6 5 4 2 converges in one iteration. 0 0 −1 Operations with M should be easy to perform ("cheap"). Information after 1 iteration • M should be relatively easy to construct. • November 29, 2017 5 November 29, 2017 6 National Master Course National Master Course Why preconditioners? Why preconditioners? 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 25 25 20 14 20 14 15 12 15 12 10 10 10 8 10 8 6 6 5 4 5 4 2 2 0 0 0 0 Information after 7 iterations Information after 21 iterations November 29, 2017 6 November 29, 2017 6 National Master Course National Master Course Why preconditioning? (2) Clustering the spectrum In lecture 7 we saw that CG performs better when the spectrum From the previous pictures it is clear that, in 2-d, we need of A is clustered. (1/h)= (√n) iterations to move information from one end to O O the other end of the grid. Therefore, a good preconditioner clusters the spectrum. 3/2 So, at best it takes (n ) operations to compute the solution 1 1 O with an iterative method. 0.5 0.5 In order to improve this we need a preconditioner that enables fast propagation of information through the mesh. 0 0 -0.5 -0.5 -1 -1 0 1 2 3 4 0 1 2 3 4 November 29, 2017 7 November 29, 2017 8 National Master Course National Master Course Incorporating a preconditioner Incorporating a preconditioner (2) Normally the matrix M−1A is not explicitly formed. Preconditioners can be applied in different ways: The multiplication from the left − • − − u = M 1Av M 1Ax = M 1b, can simply be carried out by the two operations centrally • − − − − M = LU; L 1AU 1y = L 1b; x = U 1y, t = Av %% MatVec or from the right solve Mu = t for u %% MSolve. • − − AM 1y = b; x = M 1y. Some methods allow implicit preconditioning. • Left, central and right preconditioning is explicit. November 29, 2017 9 November 29, 2017 10 National Master Course National Master Course Incorporating a preconditioner (3) CG with central preconditioning All forms of preconditioning lead to the same spectrum. −1 x = Ux0, r = L (b Ax), u = 0, ρ = 1 %% Initialization Yet there are differences: − while r > tol do Left preconditioning is most natural: no extra step is required to k k • σ = ρ, ρ = r∗r, β = ρ/σ compute x; − −1 −1 ∗ u r β u, c = (L AU )u Central preconditioning allows to preserve symmetry (if U = L ); ← ∗− • σ = u c, α = ρ/σ Right preconditioning does not affect the residual norm. r r α c %% update residual • ← − Implicit preconditioning does not affect the residual norm, no x x + α u %% update iterate • ← extra steps are required to compute x. Unfortunately, not all end while methods allow implicit preconditioning. If possible, adaption of x U−1x the code of the iterative solver is required. ← ∗ Explicit preconitioning allows optimisation of the combination of Here, M = LU with U = L . Note that M is positive definite. • −1 ∗ − 1 MSolve and MatVec as the Eisentat trick. If M = (L + D)D (L + D) , take L (L + D)D 2 . ≡ November 29, 2017 11 November 29, 2017e e e 12 National Master Course National Master Course CG with implicit preconditioning Incorporating a preconditioner (4) Explicit preconditioning requires x = x0, r = b Ax, u = 0, ρ = 1 %% Initialization − ′ ′ preprocessing (to solve Mb b for b in left while r > tol do • = k k −1 ′ c = M r preconditioning, and x0 = Mx0 in right preconditioning), ∗ σ = ρ, ρ = c r, β = ρ/σ adjust MatVec: adjustment of the code for the operation − • u c βu, c = Au that does the matrix-vector multiplication (to produce, say, ← ∗− − σ = u c, α = ρ/σ c = M 1Au), r r α c %% update residual ′ ← − postprocessing (to solve Mx = x for x in right precond.). x x + α u %% update iterate • ← end while Implicit preconditioning requires adaption of the code of the iterative solver. M should be Hermitian. Matlab takes M1, M2 (i.e., M = M1M2). • −1 ∗ Matlab’s PCG uses implicit preconditioning. For instance, M1 = LD + I and M2 = (L + D) . November 29, 2017 e e 13 November 29, 2017 14 National Master Course National Master Course Preconditioning in MATLAB (1) Preconditioning in MATLAB (2) ∗ ∗ Example. L L + D, where A = L + D + L is p.d.. Example. L L + D, where A = L + D + L is p.d.. ≡ −1 ∗ 1 −1 −∗ 1 1 −1 ≡ −1 ∗ 1 −1 −∗ 1 1 −1 Ax = b, M LDe L D 2 Le AL De2 y = D 2 L b Ax = b, M LDe L D 2 Le AL De2 y = D 2 L b ≡ ≡ function [PreMV,pre_b,PostProcess,pre_x0] = preprocess(A,b,x0) function x = CG(A,b,tol,kmax,x0) L = tril(A); D = diag(sqrt(diag(A))); L = L/D; U = L’; ... function c = MyPreMV(u); c=A*u; c = L\(A*(U\u)); ... end end PreMV = @MyPreMV; pre_b = L\b; pre_x0 = U x0; * In Matlab’s command window, replace function x = MyPostProcess(y) x = U\y; > x = CG(A,b,100,10ˆ(-8),x0); end PostProcess = @MyPostProcess; by end > [pMV,pb,postP,px0] = preprocess(A,b,x0); > y = CG(pMV,pb,100,10ˆ(-8),px0); Here, A is a sparse matrix. Note that L,U,D are also sparse > x = postP(y); November 29, 2017 15 November 29, 2017 16 National Master Course National Master Course Preconditioning in MATLAB (3) Preconditioning in MATLAB (4) ∗ ∗ Example. L L + D, where A = L + D + L is p.d.. Example. L L + D, where A = L + D + L is p.d.. ≡ −1 ∗ 1 −1 −∗ 1 1 −1 ≡ −1 ∗ Ax = b, M LDe L D 2 Le AL De2 y = D 2 L b Ax = b, M LDe L implicite preconditioninge ≡ ≡ The CG code should take both functions and matrices: function MSolve = SetPrecond(A) L = tril(A); U = L’; D = diag(diag(A)); function x = CG(A,b,tol,kmax,x0) function c = MyPreMV(u); A_is_matrix = isnumeric(A); c = U\(D*(L\u)); function c=MV(u) end if A_is_matrix, c=A*u; else, c=A(u); end MSolve = @MyMSolve; end end function x = PCG(A,b,tol,kmax,MSolve,x0) ... ... c=MV(u); c=MSolve(r); ... ... c=A(u); end ... end November 29, 2017 17 November 29, 2017 18 National Master Course National Master Course Diagonal scaling Gauss-Seidel, SOR and SSOR The Gauss-Seidel preconditioner is defined by Diagonal scaling or Jacobi preconditioning uses M = L + D M = diag(A) with L the strictly lower-triangular part of A and D = diag(A). as preconditioner. Clearly, this preconditioner does not enable By introducing a relaxation parameter ω (using D/ω instead of fast propagation through a grid. On the other hand, operations D), we get the SOR-preconditioner. with diag(A) are very easy to perform and diagonal scaling can be useful as a first step, in combination with other techniques. For symmetric problems it is wise to take a symmetric preconditioner. A symmetric variant of Gauss-Seidel is − ∗ If the choice for M is restricted to diagonals, M = (L + D)D 1(L + D) − then M = diag(A) minimize (M 1A) is some sense. C By introducing a relaxation parameter ω (i.e., by using D/ω instead of D) we get the so called SSOR-preconditioner. November 29, 2017 19 November 29, 2017 20 National Master Course National Master Course ILU-preconditioners Sparsity patterns, fill ILU-preconditioners are the most popular ‘black box’ 0 preconditioners. They are constructed by making a standard 5 LU-decomposition 10 A = LU. 15 However, during the elimination process some nonzero entries in 20 the factors are discarded (i.e., replaced by 0).
Recommended publications
  • Overview of Iterative Linear System Solver Packages
    Overview of Iterative Linear System Solver Packages Victor Eijkhout July, 1998 Abstract Description and comparison of several packages for the iterative solu- tion of linear systems of equations. 1 1 Intro duction There are several freely available packages for the iterative solution of linear systems of equations, typically derived from partial di erential equation prob- lems. In this rep ort I will give a brief description of a numberofpackages, and giveaninventory of their features and de ning characteristics. The most imp ortant features of the packages are which iterative metho ds and preconditioners supply; the most relevant de ning characteristics are the interface they present to the user's data structures, and their implementation language. 2 2 Discussion Iterative metho ds are sub ject to several design decisions that a ect ease of use of the software and the resulting p erformance. In this section I will give a global discussion of the issues involved, and how certain p oints are addressed in the packages under review. 2.1 Preconditioners A go o d preconditioner is necessary for the convergence of iterative metho ds as the problem to b e solved b ecomes more dicult. Go o d preconditioners are hard to design, and this esp ecially holds true in the case of parallel pro cessing. Here is a short inventory of the various kinds of preconditioners found in the packages reviewed. 2.1.1 Ab out incomplete factorisation preconditioners Incomplete factorisations are among the most successful preconditioners devel- op ed for single-pro cessor computers. Unfortunately, since they are implicit in nature, they cannot immediately b e used on parallel architectures.
    [Show full text]
  • A Geometric Theory for Preconditioned Inverse Iteration. III: a Short and Sharp Convergence Estimate for Generalized Eigenvalue Problems
    A geometric theory for preconditioned inverse iteration. III: A short and sharp convergence estimate for generalized eigenvalue problems. Andrew V. Knyazev Department of Mathematics, University of Colorado at Denver, P.O. Box 173364, Campus Box 170, Denver, CO 80217-3364 1 Klaus Neymeyr Mathematisches Institut der Universit¨atT¨ubingen,Auf der Morgenstelle 10, 72076 T¨ubingen,Germany 2 Abstract In two previous papers by Neymeyr: A geometric theory for preconditioned inverse iteration I: Extrema of the Rayleigh quotient, LAA 322: (1-3), 61-85, 2001, and A geometric theory for preconditioned inverse iteration II: Convergence estimates, LAA 322: (1-3), 87-104, 2001, a sharp, but cumbersome, convergence rate estimate was proved for a simple preconditioned eigensolver, which computes the smallest eigenvalue together with the corresponding eigenvector of a symmetric positive def- inite matrix, using a preconditioned gradient minimization of the Rayleigh quotient. In the present paper, we discover and prove a much shorter and more elegant, but still sharp in decisive quantities, convergence rate estimate of the same method that also holds for a generalized symmetric definite eigenvalue problem. The new estimate is simple enough to stimulate a search for a more straightforward proof technique that could be helpful to investigate such practically important method as the locally optimal block preconditioned conjugate gradient eigensolver. We demon- strate practical effectiveness of the latter for a model problem, where it compares favorably with two
    [Show full text]
  • 16 Preconditioning
    16 Preconditioning The general idea underlying any preconditioning procedure for iterative solvers is to modify the (ill-conditioned) system Ax = b in such a way that we obtain an equivalent system Aˆxˆ = bˆ for which the iterative method converges faster. A standard approach is to use a nonsingular matrix M, and rewrite the system as M −1Ax = M −1b. The preconditioner M needs to be chosen such that the matrix Aˆ = M −1A is better conditioned for the conjugate gradient method, or has better clustered eigenvalues for the GMRES method. 16.1 Preconditioned Conjugate Gradients We mentioned earlier that the number of iterations required for the conjugate gradient algorithm to converge is proportional to pκ(A). Thus, for poorly conditioned matrices, convergence will be very slow. Thus, clearly we will want to choose M such that κ(Aˆ) < κ(A). This should result in faster convergence. How do we find Aˆ, xˆ, and bˆ? In order to ensure symmetry and positive definiteness of Aˆ we let M −1 = LLT (44) with a nonsingular m × m matrix L. Then we can rewrite Ax = b ⇐⇒ M −1Ax = M −1b ⇐⇒ LT Ax = LT b ⇐⇒ LT AL L−1x = LT b . | {z } | {z } |{z} =Aˆ =xˆ =bˆ The symmetric positive definite matrix M is called splitting matrix or preconditioner, and it can easily be verified that Aˆ is symmetric positive definite, also. One could now formally write down the standard CG algorithm with the new “hat- ted” quantities. However, the algorithm is more efficient if the preconditioning is incorporated directly into the iteration. To see what this means we need to examine every single line in the CG algorithm.
    [Show full text]
  • Preconditioned Inverse Iteration and Shift-Invert Arnoldi Method
    Preconditioned inverse iteration and shift-invert Arnoldi method Melina Freitag Department of Mathematical Sciences University of Bath CSC Seminar Max-Planck-Institute for Dynamics of Complex Technical Systems Magdeburg 3rd May 2011 joint work with Alastair Spence (Bath) 1 Introduction 2 Inexact inverse iteration 3 Inexact Shift-invert Arnoldi method 4 Inexact Shift-invert Arnoldi method with implicit restarts 5 Conclusions Outline 1 Introduction 2 Inexact inverse iteration 3 Inexact Shift-invert Arnoldi method 4 Inexact Shift-invert Arnoldi method with implicit restarts 5 Conclusions Problem and iterative methods Find a small number of eigenvalues and eigenvectors of: Ax = λx, λ ∈ C,x ∈ Cn A is large, sparse, nonsymmetric Problem and iterative methods Find a small number of eigenvalues and eigenvectors of: Ax = λx, λ ∈ C,x ∈ Cn A is large, sparse, nonsymmetric Iterative solves Power method Simultaneous iteration Arnoldi method Jacobi-Davidson method repeated application of the matrix A to a vector Generally convergence to largest/outlying eigenvector Problem and iterative methods Find a small number of eigenvalues and eigenvectors of: Ax = λx, λ ∈ C,x ∈ Cn A is large, sparse, nonsymmetric Iterative solves Power method Simultaneous iteration Arnoldi method Jacobi-Davidson method The first three of these involve repeated application of the matrix A to a vector Generally convergence to largest/outlying eigenvector Shift-invert strategy Wish to find a few eigenvalues close to a shift σ σ λλ λ λ λ 3 1 2 4 n Shift-invert strategy Wish to find a few eigenvalues close to a shift σ σ λλ λ λ λ 3 1 2 4 n Problem becomes − 1 (A − σI) 1x = x λ − σ each step of the iterative method involves repeated application of A =(A − σI)−1 to a vector Inner iterative solve: (A − σI)y = x using Krylov method for linear systems.
    [Show full text]
  • Preconditioning the Coarse Problem of BDDC Methods—Three-Level, Algebraic Multigrid, and Vertex-Based Preconditioners
    Electronic Transactions on Numerical Analysis. Volume 51, pp. 432–450, 2019. ETNA Kent State University and Copyright c 2019, Kent State University. Johann Radon Institute (RICAM) ISSN 1068–9613. DOI: 10.1553/etna_vol51s432 PRECONDITIONING THE COARSE PROBLEM OF BDDC METHODS— THREE-LEVEL, ALGEBRAIC MULTIGRID, AND VERTEX-BASED PRECONDITIONERS∗ AXEL KLAWONNyz, MARTIN LANSERyz, OLIVER RHEINBACHx, AND JANINE WEBERy Abstract. A comparison of three Balancing Domain Decomposition by Constraints (BDDC) methods with an approximate coarse space solver using the same software building blocks is attempted for the first time. The comparison is made for a BDDC method with an algebraic multigrid preconditioner for the coarse problem, a three-level BDDC method, and a BDDC method with a vertex-based coarse preconditioner. It is new that all methods are presented and discussed in a common framework. Condition number bounds are provided for all approaches. All methods are implemented in a common highly parallel scalable BDDC software package based on PETSc to allow for a simple and meaningful comparison. Numerical results showing the parallel scalability are presented for the equations of linear elasticity. For the first time, this includes parallel scalability tests for a vertex-based approximate BDDC method. Key words. approximate BDDC, three-level BDDC, multilevel BDDC, vertex-based BDDC AMS subject classifications. 68W10, 65N22, 65N55, 65F08, 65F10, 65Y05 1. Introduction. During the last decade, approximate variants of the BDDC (Balanc- ing Domain Decomposition by Constraints) and FETI-DP (Finite Element Tearing and Interconnecting-Dual-Primal) methods have become popular for the solution of various linear and nonlinear partial differential equations [1,8,9, 12, 14, 15, 17, 19, 21, 24, 25].
    [Show full text]
  • The Preconditioned Conjugate Gradient Method with Incomplete Factorization Preconditioners
    Computers Math. Applic. Vol. 31, No. 4/5, pp. 1-5, 1996 Pergamon Copyright©1996 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0898-1221/96 $15.00 4- 0.00 0898-1221 (95)00210-3 The Preconditioned Conjugate Gradient Method with Incomplete Factorization Preconditioners I. ARANY University of Miskolc, Institute of Mathematics 3515 Miskolc-Egyetemv~iros, Hungary mat arany©gold, uni-miskolc, hu Abstract--We present a modification of the ILUT algorithm due to Y. Sand for preparing in- complete factorization preconditioner for positive definite matrices being neither diagonally dominant nor M-matrices. In all tested cases, the rate of convergence of the relevant preconditioned conjugate gradient method was at a sufficient level, when linear systems arising from static problem for bar structures with 3D beam elements were solved. Keywords--Preconditioned conjugate gradient method, Incomplete factorization. 1. INTRODUCTION For solving large sparse positive definite systems of linear equations, the conjugate gradient method combined with a preconditoning technique seems to be one of the most efficient ways among the simple iterative methods. As known, for positive definite symmetric diagonally dom- inant M-matrices, the incomplete factorization technique may be efficiently used for preparing preconditioners [1]. However, for more general cases, when the matrix is neither diagonally domi- nant nor M-matrix, but it is a positive definite one, some incomplete factorization techniques [2,3] seem to be quite unusable, since usually, during the process, a diagonal element is turning to zero. We present a modification to the ILUT algorithm of Sand [2] for preparing preconditioners for the above mentioned matrices.
    [Show full text]
  • Performance of H-Lu Preconditioning for Sparse Matrices
    COMPUTATIONAL METHODS IN APPLIED MATHEMATICS, Vol.8(2008), No.4, pp.336–349 c 2008 Institute of Mathematics of the National Academy of Sciences of Belarus PERFORMANCE OF H-LU PRECONDITIONING FOR SPARSE MATRICES L. GRASEDYCK1 W. HACKBUSCH2, AND R. KRIEMANN2 Abstract — In this paper we review the technique of hierarchical matrices and put it into the context of black-box solvers for large linear systems. Numerical examples for several classes of problems from medium- to large-scale illustrate the applicability and efficiency of this technique. We compare the results with those of several direct solvers (which typically scale quadratically in the matrix size) as well as an iterative solver (algebraic multigrid) which scales linearly (if it converges in O(1) steps). 2000 Mathematics Subject Classification: 65F05, 65F30, 65F50, 65N55. Keywords: hierarchical matrices, black-box clustering, preconditioning, LU, direct solver, iterative solver, performance. 1. Introduction Many methods for the fast solution of large-scale linear systems exploit some hierarchical structure of the system. For example, when the system stems from the finite element (FE) discretization of a partial differential equation (PDE) posed in a domain Ω ⊂ Rd, then one can exploit the knowledge of the underlying geometrical problem. Whereas multigrid meth- ods use a discretization of the pde on different levels of resolution, hierarchical (H-) matrices use the geometry information associated to the degrees of freedom on a single level in order to find a distance measure for degrees of freedom. Once this distance measure is available, an almost black-box type arithmetic can be applied for the inversion or factorization of the system matrix.
    [Show full text]
  • An Introduction to Preconditioners
    An Introduction to Preconditioners Victor Eijkhout 594, March 2005 594 Dongarra/Eijkhout 2005/03/16 Introduction Algebraic preconditioners Incomplete factorization (ILU) preconditioners Block methods Approximations of the inverse Domain partitioning methods Optimal solvers Multigrid 594 Dongarra/Eijkhout 2005/03/16 ‘Simple’ preconditioners Preconditioners constructed from matrix elements: Jacobi: M = DA Gauss-Seidel: M = DA + LA SOR: M = DA + ωLA −1 −1 −1 −1 SSOR: M = (ω DA + LA) (2ω − 1)DA (ω DA + UA) 594 Dongarra/Eijkhout 2005/03/16 Classical theory of simple preconditioners Convergence condition: ρ(I − M−1A) < 1 Convergence guaranteed only for simple problems: M-matrices Jacobi and G-S: #it ∼ h−2 SOR: #it ∼ h−1 for optimal omega 594 Dongarra/Eijkhout 2005/03/16 Current state of simple preconditioners Stationary iterative methods are not used: convergence theory too limited Problem with G-S and SOR: nonsymmetry Only Jacobi still used with non-stationary methods, sometimes SSOR but only with ω = 1 594 Dongarra/Eijkhout 2005/03/16 Preconditioners in non-stationary methods Convergence theory is incomplete: only bounds known for instance #it ∼ pκ(A) Possible criterium κ(M−1A) < κ(A) either order of magnitude or constant 594 Dongarra/Eijkhout 2005/03/16 Incomplete factorization (ILU) preconditioners 594 Dongarra/Eijkhout 2005/03/16 Inspiration from direct methods Direct methods: Gaussian elimination A = LU, Ax = b ⇒ x = A−1b = U−1(L−1b) Problem with LU is fill-in: discarding fill-in gives approximate solution Aim: let LU take storage similar to A 594 Dongarra/Eijkhout 2005/03/16 Discarding fill-in Exact factorization: −1 ∀i,j>k : aij ← aij − aik akk akj .
    [Show full text]
  • Chapter 9 PRECONDITIONING
    Chapter 9 PRECONDITIONING 9.1 Preconditioned Krylov Subspace Methods 9.2 Preconditioned Conjugate Gradient 9.3 Preconditioned Generalized Minimal Residual 9.4 Relaxation Method Preconditioners 9.5 Incomplete LU Factorization Preconditioners 9.6 Approximate Inverse Preconditioners 9.1 Preconditioned Krylov Subspace Methods Saad, Sections 9.0, 9.1 The rate of convergence of a Krylov subspace method for a linear system Ax = b depends on the condition number of the matrix A. Therefore, if we have a matrix M which is a crude approximation to A, M −1A is closer to the identity than is A and should have a smaller condition number, and it would be expected that a Krylov subspace method would converge faster for the “preconditioned” system M −1Ax = M −1b. For example, choosing M to be the diagonal part of A can be quite helpful. This is a useful approach only if computing M −1v for an arbitrary vector v is cheap. Such a matrix M is called a preconditioner or, more precisely, a left preconditioner. In the case of a right preconditioner,onesolves AM −1u = b where x = M −1u. 175 And if M is in factored form M = MLMR,onecanusethisasasplit preconditioner by solving −1 −1 −1 −1 ML AMR u = ML b where x = MR u. −1 −1 −1 −1 Note that M A, AM and ML AMR are similar matrices, so they have the same eigen- values. For convenience write the given system as A(x − x0)=r0 where r0 = b − Ax0, so that x − x0 is the unknown, and consider a split preconditioner M = MLMR.Aleft preconditioner is the case MR = I and a right preconditioner is the case ML = I.
    [Show full text]
  • A New Preconditioning Technique for Solving Large Sparse Linear Systems
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector A New Preconditioning Technique for Solving Large Sparse Linear Systems M. Tismenetsky IBM Scientific Research Center Ha$a 32000, Israel Dedicated to Gene Golub, Richard Varga, and David Young Submitted by Wilhelm Niethammer ABSTRACT A new sparse approximate triangular factorization technique for solving large sparse linear systems by iterative methods is proposed. The method is based on the description of the triangular factorization of a matrix as a product of elementary matrices and provides a general scheme for constructing incomplete preconditioners for the given matrix. In particular, the familiar incomplete Choleski decomposition can be incorporated into this scheme. The algorithm, based on choice by value, compares favorably with the incomplete Choleski preconditioner and, equipped with a user-controlled parameter, is able to tackle extremely ill-conditioned problems arising in structural analysis, semiconductor simulation, oil-reservoir modelling, and other applications. When applied to a positive definite symmetric matrix, the algo- rithm produces a preconditioning matrix preserving that property. 0. INTRODUCTION Iterative solution of sparse linear systems Au=f is attractive, since full advantage of the matrix sparsity can be taken. To have any chance of beating the direct methods, the iterative methods must converge rapidly, and this naturally leads to the search for good precondi- tioners for A. The latter refers to finding a nonsingular matrix d which is easily invertible and such that the matrix L-IA has improved condition. LINEAR ALGEBRA AND ITS APPLICATIONS154-156:331-353 0991) 331 0 Elsevier Science Publishing Co., Inc., 1991 655 Avenue of the Americas, New York, NY 10010 0024-3795/91/$3.50 332 M.
    [Show full text]
  • HYPRE: High Performance Preconditioners
    Lawrence Livermore National Laboratory HYPRE: High Performance Preconditioners August 7, 2015 Robert D. Falgout Center for Applied Scientific Computing This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 LLNL-PRES-231999 Research and Development Team Former • Allison Baker • Chuck Baldwin • Guillermo Castilla • Edmond Chow Rob Hormozd Tzanio Ruipeng Daniel • Andy Cleary Falgout Gahvari Kolev Li Osei-Kuffuor • Noah Elliott • Van Henson • Ellen Hill • David Hysom • Jim Jones • Mike Lambert • Barry Lee Jacob Panayot Lu Ulrike Schroder Vassilevski Wang Yang • Jeff Painter • Charles Tong • Tom Treadway http://www.llnl.gov/casc/hypre/ • Deborah Walker Lawrence Livermore National Laboratory 2 Outline . Introduction / Motivation . Getting Started / Linear System Interfaces . Structured-Grid Interface (Struct) . Semi-Structured-Grid Interface (SStruct) . Solvers and Preconditioners . Additional Information . Introduction to hands-on exercises Lawrence Livermore National Laboratory 3 Multigrid solvers have O(N) complexity, and hence have good scaling potential 4000 Diag-CG Time to to Solution Time Multigrid-CG 10 scalable 1 106 Number of Processors (Problem Size) . Weak scaling – want constant solution time as problem size grows in proportion to the number of processors Lawrence Livermore National Laboratory 4 Multigrid (MG) uses a sequence of coarse grids to accelerate the fine grid solution smoothing (relaxation) prolongation (interpolation) Error on the fine grid restriction Algebraic multigrid Multigrid (AMG) only uses V-cycle matrix coefficients Error approximated on No actual grids! a smaller coarse grid Lawrence Livermore National Laboratory 5 Parallel AMG in hypre now scales to 1.1M cores on Sequoia (IBM BG/Q) Total times (AMG-PCG) 16x1 40 16x2 16x3 35 16x4 8x2 30 8x4 8x6 25 8x8 4x4 4x8 20 4x12 seconds 4x16 15 32x1 32x2 10 64x1 1x16 5 1x32 1x48 0 1x64 0 200000 400000 600000 800000 1000000 No of cores .
    [Show full text]
  • GMRES Convergence Bounds for Eigenvalue Problems
    GMRES convergence bounds for eigenvalue problems Melina A. Freitag∗ Patrick K¨urschnery Jennifer Pestana.z November 6, 2018 Abstract The convergence of GMRES for solving linear systems can be influenced heavily by the struc- ture of the right hand side. Within the solution of eigenvalue problems via inverse iteration or subspace iteration, the right hand side is generally related to an approximate invariant subspace of the linear system. We give detailed and new bounds on (block) GMRES that take the spe- cial behavior of the right hand side into account and explain the initial sharp decrease of the GMRES residual. The bounds motivate the use of specific preconditioners for these eigenvalue problems, e.g. tuned and polynomial preconditioners, as we describe. The numerical results show that the new (block) GMRES bounds are much sharper than conventional bounds and that preconditioned subspace iteration with either a tuned or polynomial preconditioner should be used in practice. 1 Introduction We consider the convergence of GMRES [24] for solving sequences of linear systems of the form Bxi = yi; (1) where B = A − σI, A 2 Cn×n and σ is a fixed or variable scalar shift. Throughout, we assume that A is diagonalizable with eigenvalues γj, j = 1; : : : ; n, so that B = A − σI has eigenvalues −1 n×n λj = γj − σ, j = 1; : : : ; n. Thus, we can write B = ZΛZ , where Λ = diag (λ1; : : : ; λn) 2 C and Z = [z1; z2; : : : ; zn] is a matrix of eigenvectors. Without loss of generality, we let yi be an approximation of the eigenvector z1 (with both vectors normalized to have unit norm).
    [Show full text]