Preconditioned Inverse Iteration and Shift-Invert Arnoldi Method

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. leading to inner-outer iterative method. Shift-invert strategy This talk: Inner iteration and preconditioning Fixed shifts only Inverse iteration and Arnoldi method Outline 1 Introduction 2 Inexact inverse iteration 3 Inexact Shift-invert Arnoldi method 4 Inexact Shift-invert Arnoldi method with implicit restarts 5 Conclusions The algorithm Inexact inverse iteration for i =1 to . do choose τ (i) solve (A − σI)y(i) − x(i) = d(i)≤ τ (i), y(i) Rescale x(i+1) = , y(i) H Update λ(i+1) = x(i+1) Ax(i+1), Test: eigenvalue residual r(i+1) =(A − λ(i+1)I)x(i+1). end for The algorithm Inexact inverse iteration for i =1 to . do choose τ (i) solve (A − σI)y(i) − x(i) = d(i)≤ τ (i), y(i) Rescale x(i+1) = , y(i) H Update λ(i+1) = x(i+1) Ax(i+1), Test: eigenvalue residual r(i+1) =(A − λ(i+1)I)x(i+1). end for Convergence rates If τ (i) = Cr(i) then convergence rate is linear (same convergence rate as for exact solves). The inner iteration for (A − σI)y = x Standard GMRES theory for y0 = 0 and A diagonalisable x − (A − σI)yk≤ κ(W ) min max |p(λj )|x p∈Pk j=1,...,n −1 where λj are eigenvalues of A − σI and (A − σI)= W ΛW . The inner iteration for (A − σI)y = x Standard GMRES theory for y0 = 0 and A diagonalisable x − (A − σI)yk≤ κ(W ) min max |p(λj )|x p∈Pk j=1,...,n −1 where λj are eigenvalues of A − σI and (A − σI)= W ΛW . Number of inner iterations x k ≥ C + C log 1 2 τ for x − (A − σI)yk≤ τ. The inner iteration for (A − σI)y = x More detailed GMRES theory for y0 = 0 |λ2 − λ1| x − (A − σI)yk≤ κ˜(W ) min max |p(λj )|Qx λ1 p∈Pk−1 j=2,...,n where λj are eigenvalues of A − σI. Number of inner iterations ′ ′ Qx k ≥ C + C log , 1 2 τ where Q projects onto the space not spanned by the eigenvector. The inner iteration for (A − σI)y = x Good news! (i) ′ ′ C r k(i) ≥ C + C log 3 , 1 2 τ (i) where τ (i) = Cr(i). Iteration number approximately constant! The inner iteration for (A − σI)y = x Good news! (i) ′ ′ C r k(i) ≥ C + C log 3 , 1 2 τ (i) where τ (i) = Cr(i). Iteration number approximately constant! Bad news :-( For a standard preconditioner P − − (A − σI)P 1y˜(i) = x(i) P 1y˜(i) = y(i) (i) ′′ ′′ Q˜x ′′ ′′ C k(i) ≥ C + C log = C + C log , 1 2 τ (i) 1 2 τ (i) where τ (i) = Cr(i). Iteration number increases! Convection-Diffusion operator Finite difference discretisation on a 32 × 32 grid of the convection-diffusion operator 2 −∆u + 5ux + 5uy = λu on (0, 1) , with homogeneous Dirichlet boundary conditions (961 × 961 matrix). smallest eigenvalue: λ1 ≈ 32.18560954, Preconditioned GMRES with tolerance τ (i) = 0.01r(i), standard and tuned preconditioner (incomplete LU). Convection-Diffusion operator right preconditioning, 569 iterations right preconditioning, 569 iterations 0 45 10 40 −2 10 35 −4 30 10 25 −6 10 20 inner iterations 15 residual norms \|r^{(i)}\| −8 10 10 −10 5 10 2 4 6 8 10 12 14 16 18 20 22 100 200 300 400 500 600 outer iterations sum of inner iterations Figure: Inner iterations vs outer Figure: Eigenvalue residual norms vs iterations total number of inner iterations The inner iteration for (A − σI)P −1y˜ = x How to overcome this problem Use a different preconditioner, namely one that satisfies H (i) (i) (i) (i) Pix = Ax , Pi := P +(A − P )x x minor modification and minor extra computational cost, P−1 (i) (i) [A i ]Ax = Ax . The inner iteration for (A − σI)P −1y˜ = x How to overcome this problem Use a different preconditioner, namely one that satisfies H (i) (i) (i) (i) Pix = Ax , Pi := P +(A − P )x x minor modification and minor extra computational cost, P−1 (i) (i) [A i ]Ax = Ax . Why does that work? Assume we have found eigenvector x1 −1 λ1 − σ Ax1 = Px1 = λ1x1 ⇒ (A − σI)P x1 = x1 λ1 −1 and convergence of Krylov method applied to (A − σI)P y˜ = x1 in one iteration. For general x(i) (i) ′′ ′′ C r k(i) ≥ C + C log 3 , where τ (i) = Cr(i). 1 2 τ (i) Convection-Diffusion operator Finite difference discretisation on a 32 × 32 grid of the convection-diffusion operator 2 −∆u + 5ux + 5uy = λu on (0, 1) , with homogeneous Dirichlet boundary conditions (961 × 961 matrix). smallest eigenvalue: λ1 ≈ 32.18560954, Preconditioned GMRES with tolerance τ (i) = 0.01r(i), standard and tuned preconditioner (incomplete LU). Convection-Diffusion operator right preconditioning, 569 iterations right preconditioning, 569 iterations 0 45 10 40 −2 10 35 −4 30 10 25 −6 10 20 inner iterations 15 residual norms \|r^{(i)}\| −8 10 10 −10 5 10 2 4 6 8 10 12 14 16 18 20 22 100 200 300 400 500 600 outer iterations sum of inner iterations Figure: Inner iterations vs outer Figure: Eigenvalue residual norms vs iterations total number of inner iterations Convection-Diffusion operator right preconditioning, 569 iterations right preconditioning, 569 iterations 0 10 tuned right preconditioning, 115 iterations 45 tuned right preconditioning, 115 iterations 40 −2 10 35 −4 30 10 25 −6 10 20 inner iterations 15 residual norms \|r^{(i)}\| −8 10 10 −10 5 10 2 4 6 8 10 12 14 16 18 20 22 100 200 300 400 500 600 outer iterations sum of inner iterations Figure: Inner iterations vs outer Figure: Eigenvalue residual norms vs iterations total number of inner iterations Outline 1 Introduction 2 Inexact inverse iteration 3 Inexact Shift-invert Arnoldi method 4 Inexact Shift-invert Arnoldi method with implicit restarts 5 Conclusions The algorithm Arnoldi’s method Arnoldi method constructs an orthogonal basis of k-dimensional Krylov subspace (1) (1) (1) 2 (1) k−1 (1) Kk(A, q ) = span{q , Aq , A q ,..., A q }, H AQ = Q H + q h eH = Q k k k k k+1 k+1,k k k+1 h eH k+1,k k H Qk Qk = I. The algorithm Arnoldi’s method Arnoldi method constructs an orthogonal basis of k-dimensional Krylov subspace (1) (1) (1) 2 (1) k−1 (1) Kk(A, q ) = span{q , Aq , A q ,..., A q }, H AQ = Q H + q h eH = Q k k k k k+1 k+1,k k k+1 h eH k+1,k k H Qk Qk = I. Eigenvalues of Hk are eigenvalue approximations of (outlying) eigenvalues of A H rk = Ax − θx = (AQk − QkHk)u = |hk+1,k||ek u|, The algorithm Arnoldi’s method Arnoldi method constructs an orthogonal basis of k-dimensional Krylov subspace (1) (1) (1) 2 (1) k−1 (1) Kk(A, q ) = span{q , Aq , A q ,..., A q }, H AQ = Q H + q h eH = Q k k k k k+1 k+1,k k k+1 h eH k+1,k k H Qk Qk = I. Eigenvalues of Hk are eigenvalue approximations of (outlying) eigenvalues of A H rk = Ax − θx = (AQk − QkHk)u = |hk+1,k||ek u|, at each step, application of A to qk: Aqk =q ˜k+1 Example random complex matrix of dimension n = 144 generated in Matlab: G=numgrid(’N’,14);B=delsq(G);A=sprandn(B)+i*sprandn(B) eigenvalues of A 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 after 5 Arnoldi steps Arnoldi after 5 steps 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 after 10 Arnoldi steps Arnoldi after 10 steps 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 after 15 Arnoldi steps Arnoldi after 15 steps 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 after 20 Arnoldi steps Arnoldi after 20 steps 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 after 25 Arnoldi steps Arnoldi after 25 steps 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 after 30 Arnoldi steps Arnoldi after 30 steps 3 2 1 0 −1 −2 −3 −4 −3 −2 −1 0 1 2 3 4 The algorithm: take σ = 0 Shift-Invert Arnoldi’s method A := A−1 Arnoldi method constructs an orthogonal basis of k-dimensional Krylov subspace −1 (1) (1) −1 (1) −1 2 (1) −1 k−1 (1) Kk(A , q ) = span{q ,A q , (A ) q ,..., (A ) q }, −1 H Hk A Qk = QkHk + qk+1hk+1,kek = Qk+1 H hk ,ke +1 k H Qk Qk = I.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    79 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us