idr s
play

IDR( s ) A family of simple and fast algorithms for solving large - PowerPoint PPT Presentation

IDR( s ) A family of simple and fast algorithms for solving large nonsymmetric systems of linear equations Harrachov 2007 Peter Sonneveld en Martin van Gijzen August 24, 2007 1 Delft University of Technology Outline Introduction The


  1. IDR( s ) A family of simple and fast algorithms for solving large nonsymmetric systems of linear equations Harrachov 2007 Peter Sonneveld en Martin van Gijzen August 24, 2007 1 Delft University of Technology

  2. Outline • Introduction • The Induced Dimension Reduction Theorem • The IDR( s ) algorithm • Numerical experiments • Conclusions 2 August 24, 2007

  3. Product Bi-CG methods Bi-CG solves nonsymmetric linear systems using (short) CG recursions but needs extra matvec with A H . Idea of Sonneveld: use ’wasted’ matvec in a more useful way. Result: transpose-free methods: • CGS (Sonneveld, 1989) • Bi-CGSTAB (Van der Vorst, 1992) • BiCGSTAB2 (Gutknecht, 1993) • TFQMR (Freund, 1993) • BiCGstab( ℓ ) (Sleijpen and Fokkema, 1994) • Many other variants 3 August 24, 2007

  4. Historical remarks Sonneveld first developed IDR (1980). Analysis showed that IDR was Bi-CG combined with linear minimal residual steps. The fact that IDR is transpose free, combined with the relation with Bi-CG led to the development of a now famous algorithm: CGS. Later Van der Vorst proposed another famous method: Bi-CGSTAB, which is mathematicaly equivalent with IDR. As a result of these developments, the basic IDR idea was abandoned for the Bi-CG approach. IDR is now forgotten. 4 August 24, 2007

  5. The IDR idea The IDR-idea is to generate a sequence of subspaces G 0 · · · G j with the following operations: - Intersect G j − 1 with fixed subspace S , - Compute G j = ( I − ω j A )( G j − 1 ∩ S ) . The subspaces G 0 · · · G j are nested and of shrinking dimension. 5 August 24, 2007

  6. The IDR theorem Theorem 1 (IDR) Let A be any matrix in C N × N , let v 0 be any nonzero vector in C N , and let G 0 be the complete Krylov space K N ( A , v 0 ) . Let S denote any (proper) subspace of C N such that S and G 0 do not share a nontrivial invariant subspace of A , and define the sequence G j , j = 1 , 2 , . . . as G j = ( I − ω j A )( G j − 1 ∩ S ) where the ω j ’s are nonzero scalars. Then (i) G j ⊂ G j − 1 for all j > 0 . (ii) G j = { 0 } for some j ≤ N . 6 August 24, 2007

  7. Making an IDR algorithm The IDR theorem can be used to construct solution algorithms. This is done by constructing residuals r n ∈ G j . According to the IDR theorem ultimately r n ∈ G M = { 0 } . In order to generate residuals and corresponding solution approximations we first look at the basic recursions. 7 August 24, 2007

  8. Krylov methods: basic recursion (1) A Krylov-type solver produces iterates x n , for which the residuals r n = b − Ax n are in the Krylov spaces K n ( A , r 0 ) = r 0 ⊕ Ar 0 ⊕ A 2 r 0 ⊕ · · · ⊕ A n r 0 , The next residual r n +1 can be generated by b j � r n +1 = − α Ar n + β j r n − j . j =0 The parameters α, β j determine the specific method and must be such that x n +1 can be computed. 8 August 24, 2007

  9. Krylov methods: basic recursion (2) By using the difference vector ∆ r k = r k +1 − r k = − A ( x n +1 − x n ) , an explicit way to satisfy this requirement is b j � r n +1 = r n − α Ar n − γ j ∆ r n − j , j =1 which leads to the following update for the x estimate: b j � x n +1 = x n + α r n − γ j ∆ x n − j , j =1 9 August 24, 2007

  10. Computation of a new residual (1) Residuals are computed that are forced to be in the subspaces G j , by application of the IDR-theorem. The residual r n +1 is in G j +1 if r n +1 = ( I − ω j +1 A ) v with v ∈ G j ∩ S . The main problem is to find v . 10 August 24, 2007

  11. Computation of a new residual (2) 11 August 24, 2007

  12. Computation of a new residual (3) The vector v is a combination of the residuals r l in G j . b j � v = r n − γ j ∆ r n − j . j =1 Let the space S be the left null space of some N × s matrix P : S = N ( P H ) . P = ( p 1 p 2 . . . p s ) , Since v is also in S = N ( P H ) , it must satisfy P H v = 0 . Combining these two yields an s × � j linear system for the coefficients γ j that (normally) is uniquely solvable if � j = s . 12 August 24, 2007

  13. Computation of a new residual (4) Hence with the residual r n , and a matrix ∆ R consisting of the last s residual differences: ∆ R = (∆ r n − 1 ∆ r n − 2 . . . ∆ r n − s ) a suitable v can be found by ( P H ∆ R ) c = P H r n Solve s × s system v = r n − ∆ Rc Calculate 13 August 24, 2007

  14. Building G j +1 (1) Assume r n and all columns of ∆ R are in G j , and let r n +1 be calculated as r n +1 = v − ω j +1 Av Then r n +1 ∈ G j +1 . Since G j +1 ⊂ G j (theorem) we automatically have r n +1 ∈ G j Now the next ∆ R is made by repeating the calculations. In this way we find s + 1 residuals in G j +1 14 August 24, 2007

  15. Building G j +1 (2) 15 August 24, 2007

  16. Building G j +1 (3) 16 August 24, 2007

  17. Building G j +1 (4) 17 August 24, 2007

  18. A few details 1. The first s + 1 residuals, starting with r 0 can be constructed by any Krylov-based iteration, such as a local minimum residual method. 2. In our actual implementation, all steps are identical. However, in calculating the first residual in G j +1 , a new value ω j +1 may be chosen. We choose ω j +1 such that � v − ω j +1 Av � is minimal. 18 August 24, 2007

  19. Basic IDR( s ) algorithm. while � r n � > TOL or n < MAXIT do for k = 0 to s do Solve c from P H d R n c = P H r n v = r n − d R n c ; t = Av ; if k = 0 then ω = ( t H v ) / ( t H t ) ; end if d r n = − d R n c − ω t ; d x n = − d X n c + ω v ; r n +1 = r n + d r n ; x n +1 = x n + d x n ; n = n + 1; d R n = ( d r n − 1 · · · d r n − s ); d X n = ( d x n − 1 · · · d x n − s ) ; end for end while 19 August 24, 2007

  20. Vector operations per MATVEC Method DOT AXPY Memory Requirements IDR(1) 2 4 8 2 2 5 5 IDR(2) 11 3 6 4 2 9 7 IDR(4) 17 5 10 6 2 13 9 IDR(6) 23 7 14 n +1 n +1 Full GMRES n + 2 2 2 BiCGSTAB 2 3 7 20 August 24, 2007

  21. Relation with other methods Although the approach is different, IDR( s ) is closely related to some Bi-CGSTAB methods: • IDR(1) and Bi-CGSTAB yield the same residuals at the even steps. • ML( k )BiCGSTAB (Yeung and Chen, 1999) seems closely related to IDR( s ), BUT • IDR( s ) is MUCH simpler (both conceptually and its implementation) • Other, more natural extensions are possible, e.g. to avoid breakdown. 21 August 24, 2007

  22. Performance of IDR( s ) The IDR theorem states that - it is possible to generate a sequence of nested subspace G j of shrinking dimension, - but does not say how fast the dimension shrinks It can be proven that the dimension reduction is (normally) s , So dim ( G j +1 ) = dim ( G j ) − s . IDR( s ) requires at at most N + N s matrix-vector multiplications to compute the exact solution. 22 August 24, 2007

  23. Numerical experiments We will present two typical numerical examples • A 2D Ocean Circulation Problem • A 3D Helmholtz Problem 23 August 24, 2007

  24. A 2D Ocean Circulation Problem We compare IDR( s ) with Full GMRES, restarted GMRES and Bi-CGSTAB. This ocean example is representative for a wide class of CFD problems. We will compare: • Rate of convergence • Stagnation level (of the true residual norm) 24 August 24, 2007

  25. Stommel’s model for ocean circulation Balance between bottom friction, wind stress and Coriolis force. − r ∆ ψ − β ∂ψ ∂x − = ( ∇ × F ) z plus circulation condition around islands k � � r ∂ψ ∂n ds = − F · s ds. Γ k Γ k • ψ : streamfunction • r : bottom friction parameter • β : Coriolis parameter • F : Wind stress 25 August 24, 2007

  26. Discretization of the ocean problem • Discretization with linear finite elements • Results in nonsymmetric system of 42248 • Eigenvalues are (almost) real Solution parameters: • ILU(0) preconditioning • P : s − 1 random vectors plus r 0 (for comparison with Bi-CGSTAB) 26 August 24, 2007

  27. Solution of the ocean problem 80 60 40 20 0 −20 −40 −60 −80 0 50 100 150 200 250 300 350 27 August 24, 2007

  28. Convergence for the ocean problem Convergence 2D ocean problem 5 10 IDR1 IDR2 IDR4 IDR6 0 10 BICGSTAB GMRES Scaled residual norm −5 10 −10 10 −15 10 −20 10 0 100 200 300 400 500 600 700 Number of MATVECS 28 August 24, 2007

  29. Some observations • Required number of MATVECS decreases if s is increased. IDR(4) and IDR(6) are close to the optimal convergence curve of full GMRES. • Convergence curves of IDR(1) and Bi -CGSTAB coincide. • Stagnation levels of IDR( s ) comparable with Bi-CGSTAB. 29 August 24, 2007

  30. Required number of MATVECS Method Number of MATVECS Vectors Full GMRES 265 268 GMRES(20) > 10000 23 GMRES(50) 4671 53 Bi -CGSTAB 411 7 IDR(1) 420 8 IDR(2) 339 11 IDR(4) 315 17 IDR(6) 307 23 Tolerance: � b − Ax n � < 10 − 8 � b � 30 August 24, 2007

  31. A 3D Helmholtz Problem Example models sound propagation in a room of 4 × 4 × 4 m 3 . A harmonic sound source gives acoustic pressure field p ( x ) e 2 πift . p ( x , t ) = � The pressure function � p can be determined from − (2 πf ) 2 p − ∆ � p = δ ( x − x s ) in Ω . � c 2 in which - c : the sound speed (340 m/s) - δ ( x − x s ) : the harmonic point source, in the center of the room. 31 August 24, 2007

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend