Symmetric indefinite systems, positive definite preconditioning, and - - PowerPoint PPT Presentation

symmetric indefinite systems positive definite
SMART_READER_LITE
LIVE PREVIEW

Symmetric indefinite systems, positive definite preconditioning, and - - PowerPoint PPT Presentation

Symmetric indefinite systems, positive definite preconditioning, and interior eigenvalues Eugene Vecharynski Lawrence Berkeley National Laboratory Computational Research Division joint work with Andrew Knyazev (MERL) 14th Copper Mountain


slide-1
SLIDE 1

Symmetric indefinite systems, positive definite preconditioning, and interior eigenvalues

Eugene Vecharynski Lawrence Berkeley National Laboratory Computational Research Division joint work with Andrew Knyazev (MERL)

14th Copper Mountain Conference on Iterative Methods, March 25, 2016

slide-2
SLIDE 2

The problem

Find several eigenvalues and (their eigenvectors) of a large, possibly sparse, Hermitian matrix A closest to the shift σ.

slide-3
SLIDE 3

Motivation: HUGE extreme eigenvalue problems

Find a number of extreme (lowest) eigenpairs (λ, x) of Av = λv, A = A∗

◮ Matrix A is sparse or available implicitly ◮ The problem size n is well beyond 106 ◮ The number of targeted eigenpairs ∼ 103–105, or even more

slide-4
SLIDE 4

Motivation: spectrum slicing eigensolvers

slide-5
SLIDE 5

Motivation: spectrum slicing eigensolvers

Possible choices of interior eigensolvers

◮ Shift-Invert+Lanczos [Aktulga, et al PARCO’14] ◮ Filtering+Lanczos [Li, Xi, EV, Yang, Saad, submit. SISC’15] ◮ Block preconditioned interior eigensolvers

slide-6
SLIDE 6

Preconditioned interior eigensolvers

Find an eigenvalue λ of A closest to the given shift σ and its associated eigenvector v.

slide-7
SLIDE 7

Relation to linear systems

Assume that λ is known and we only need eigenvector v. Solve (A − λI)v = 0

slide-8
SLIDE 8

Preconditioned linear solvers for Cv = f

C is Hermitian indefinite, T is HPD preconditioner

◮ Preconditioned MINRES (PMINRES)

r(i)T ≤ 2

  • |ad| −
  • |bc|
  • |ad| +
  • |bc|

[ i

2 ]

r(0)T, Λ(TC) ⊂ [a, b] ∪ [c, d]

“Globally” optimal Krylov subspace method, short-term recurrence

◮ Preconditioned steepest descent-like method (PSDI) ???...

v(i+1) ← v(i)+α(i)T(b−Cv(i)), e(i)C ≤ 2 κ − 1 κ + 1

  • e(0)C

“Locally” optimal, mathematically equivalent to PCG(1)

slide-9
SLIDE 9

The PSDI iteration for Cv = f

C is Hermitian indefinite, T is HPD preconditioner

◮ Restarting PMINRES at every step, does not converge

v(i+1) ← v(i) +b(i)Tr(i), r(i+1) ⊥T CTr(i), r(i) = f −Cv(i)

slide-10
SLIDE 10

The PSDI iteration for Cv = f

C is Hermitian indefinite, T is HPD preconditioner

◮ Restarting PMINRES at every step, does not converge

v(i+1) ← v(i) +b(i)Tr(i), r(i+1) ⊥T CTr(i), r(i) = f −Cv(i)

◮ Restarting PMINRES at every other step

v(i+1) ← v(i) + b(i)Tr(i)+c(i)TCTr(i), r(i+1) ⊥T CK, where K = span

  • Tr(i), TCTr(i)

Linear convergence: r(i+1)T ≤ |ad| − |bc| |ad| + |bc|

  • r(i)T

[EV, Knyazev, submitted ’15]

slide-11
SLIDE 11

Preconditioned linear solvers for Cv = f

C is Hermitian indefinite, T is HPD preconditioner

◮ Preconditioned MINRES (PMINRES)

r(i)T ≤ 2

  • |ad| −
  • |bc|
  • |ad| +
  • |bc|

[ i

2 ]

r(0)T, Λ(TC) ⊂ [a, b] ∪ [c, d]

“Globally” optimal Krylov subspace method, short-term recurrence

◮ Preconditioned steepest descent-like method (PSDI)

r(i)T ≤ |ad| − |bc| |ad| + |bc|

  • r(i)T

“Locally” optimal, mathematically equivalent to PMINRES(2)

slide-12
SLIDE 12

Back to interior eigenproblems ...

Assume that λ is known and we only need eigenvector v. Solve (A − λI)

  • C

v =

  • f
slide-13
SLIDE 13

An ideal preconditioned eigensolver

◮ The PSDI iteration for (A − λI)v = 0

v(i+1) ← v(i)+b(i)Tr(i)+c(i)T (A − λI) Tr(i), r(i) = (A−λI)v(i)

◮ Iteration coefficients chosen from

(A − λI)v(i+1)

  • r(i+1)

⊥T (A − λI)K, where K = span

  • Tr(i), T (A − λI) Tr(i)

.

◮ T is HPD,

(·, ·)T = (·, T·)

◮ Converges linearly for singular consistent systems, cv rate

determined by nonzero spectrum of T(A − λI) [EV, thesis’11]

slide-14
SLIDE 14

From linear to eigenvalue solvers

Linear solver for (A − λI)v = 0

v (i+1) ← v (i) + b(i)Tr (i) + c(i)T (A − λI) Tr (i), r (i) = (A − λI)v (i) (A − λI)v (i+1) ⊥T (A − λI)K, K = span

  • Tr (i), T (A − λI) Tr (i)
slide-15
SLIDE 15

From linear to eigenvalue solvers

Linear solver for (A − λI)v = 0

v (i+1) ← v (i) + b(i)Tr (i) + c(i)T (A − λI) Tr (i), r (i) = (A − λI)v (i) (A − λI)v (i+1) ⊥T (A − λI)K, K = span

  • Tr (i), T (A − λI) Tr (i)

Eigenvalue solver for Av = λv

v (i+1) ← α(i)v (i)+β(i)Tr (i)+γ(i)T(A−λ(i)I)Tr (i), r (i) = Av (i)−λ(i)v (i)

slide-16
SLIDE 16

From linear to eigenvalue solvers

Linear solver for (A − λI)v = 0

v (i+1) ← v (i) + b(i)Tr (i) + c(i)T (A − λI) Tr (i), r (i) = (A − λI)v (i) (A − λI)v (i+1) ⊥T (A − λI)K, K = span

  • Tr (i), T (A − λI) Tr (i)

Eigenvalue solver for Av = λv

v (i+1) ← α(i)v (i)+β(i)Tr (i)+γ(i)T(A−λ(i)I)Tr (i), r (i) = Av (i)−λ(i)v (i) Av (i+1)−θv (i+1) ⊥T (A−σI)Z, Z = span

  • v (i), Tr (i), T(A − λ(i)I)Tr (i)
slide-17
SLIDE 17

The T-harmonic Rayleigh–Ritz procedure

Find an approximate eigenpair (θ, v(i+1)), such that Av(i+1) − θv(i+1) ⊥T (A − σI)Z, v(i+1) ∈ Z

  • Z ∗(A − σI)T(A − σI)Zy = ξZ ∗(A − σI)TZy

◮ Matrix Z = [v (i), Tr (i), T(A − λ(i)I)Tr (i)] and y = (α(i), β(i), γ(i))T ◮ The T-harmonic Ritz pairs θ = ξ + σ and v (i+1) = Zy ◮ Reduces to (standard) harmonic RR if T = I

slide-18
SLIDE 18

Harmonic vs T-harmonic

The harmonic RR A˜ v − θ˜ v ⊥ (A − σI)Z, ˜ v ∈ Z

◮ A priori error bound [EV, LAA’16]

sin ∠(v, ˜ v) ≤ κ(A − σI)

  • 1 + γ2

δ2 sin ∠(v, Z)

slide-19
SLIDE 19

Harmonic vs T-harmonic

The harmonic RR A˜ v − θ˜ v ⊥ (A − σI)Z, ˜ v ∈ Z

◮ A priori error bound [EV, LAA’16]

sin ∠(v, ˜ v) ≤ κ(A − σI)

  • 1 + γ2

δ2 sin ∠(v, Z) The T-harmonic RR A˜ v − θ˜ v ⊥T (A − σI)Z, ˜ v ∈ Z

◮ A priori error bound under “idealized” condition TA = AT

sin ∠(v, ˜ v) ≤ κ(T 1/2(A − σI))

  • 1 + γ2

δ2 sin ∠(v, Z)

slide-20
SLIDE 20

The PLHR algorithm

The Preconditioned Locally Harmonic Residual method [EV, Knyazev,’15] Given an initial guess v (0) and an SPD preconditioner T, compute an eigenpair of A associated with λ closest to the shift σ

◮ v ← v (0); v ← v/v; λ ← (v, Av); p ← [ ]; ◮ While convergence not reached

  • Compute w ← T(Av − λv)
  • Compute s ← T(Aw − λw)
  • Set Z ← [v, w, s, p]
  • Find the eigenpair (ξ, y) associated with the smallest |ξ|

– of Z ∗(A − σI)T(A − σI)Zy = ξZ ∗(A − σI)TZy

  • v ← αv + βw + γs + δp
  • p ← βw + γs + δp
  • v ← v/v; λ ← (v, Av)

◮ EndWhile

slide-21
SLIDE 21

The PLHR algorithm

The Preconditioned Locally Harmonic Residual method [EV, Knyazev,’15] Given an initial guess v (0) and an SPD preconditioner T, compute an eigenpair of A associated with λ closest to the shift σ

◮ v ← v (0); v ← v/v; λ ← (v, Av); p ← [ ]; ◮ While convergence not reached

  • Compute w ← T(Av − λv)
  • Compute s ← T(Aw − λw)
  • Set Z ← [v, w, s, p]
  • Find the eigenpair (ξ, y) associated with the smallest |ξ|

– of Z ∗(A − σI)T(A − σI)Zy = ξZ ∗(A − σI)TZy

  • v ← αv + βw + γs + δp
  • p ← βw + γs + δp
  • v ← v/v; λ ← (v, Av)

◮ EndWhile

slide-22
SLIDE 22

The PLHR algorithm

The Preconditioned Locally Harmonic Residual method [EV, Knyazev,’15] Given an initial guess v (0) and an SPD preconditioner T, compute an eigenpair of A associated with λ closest to the shift σ

◮ v ← v (0); v ← v/v; λ ← (v, Av); p ← [ ]; ◮ While convergence not reached

  • Compute w ← T(Av − λv)
  • Compute s ← T(Aw − λw)
  • Set Z ← [v, w, s, p]
  • Find the eigenpair (ξ, y) associated with the smallest |ξ|

– of Z ∗(A − σI)T(A − σI)Zy = ξZ ∗(A − σI)TZy

  • v ← αv + βw + γs + δp
  • p ← βw + γs + δp
  • v ← v/v; λ ← (v, Av)

◮ EndWhile

slide-23
SLIDE 23

The BPLHR algorithm for interior eigenpairs

The Block Preconditioned Locally Harmonic Residual method [EV, Knyazev, SISC’15]

◮ W ← T(AV − V Λ), S ← T(AW − W Λ), P ∈ col{V , Vprev} ◮ Z ← [V , W , S, P] ◮ Find eigenvectors Y associated with the k smallest magnitude

eigenvalues of (Z ∗(A − σI)T(A − σI)Z)Y = (Z ∗(A − σI)TZ)Y Θ

◮ V ← VYV + WYW + SYS + PYP, Λ ← diag{V ∗AV }

slide-24
SLIDE 24

The BPLHR algorithm for interior eigenpairs

The Block Preconditioned Locally Harmonic Residual method [EV, Knyazev, SISC’15]

◮ W ← T(AV − V Λ), S ← T(AW − W Λ), P ∈ col{V , Vprev} ◮ Z ← [V , W , S, P] ◮ Find eigenvectors Y associated with the k smallest magnitude

eigenvalues of (Z ∗(A − σI)T(A − σI)Z)Y = (Z ∗(A − σI)TZ)Y Θ

◮ V ← VYV + WYW + SYS + PYP, Λ ← diag{V ∗AV }

slide-25
SLIDE 25

Diagonal preconditioning in planewave DFT calculations

◮ In the DFT based electronic structure calculations the

Hamiltonian is of the form H = L + V

◮ The kinetic energy L is diagonal and SPD in planewave basis ◮ Use T ≈ L−1 as a preconditioner [Teter et al, Phys Rev B ’89] ◮ Standard preconditioning option in planewave codes [ABINIT,

VASP, Quantum Espresso, QBox, etc.]

slide-26
SLIDE 26

Several examples

10 20 30 40 50 60 70 −0.2 0.2 0.4 0.6 0.8 1 1.2 SiH4: eigenvalues 1 to 70 Eigenvalue Index

(a) SiH4 (σ = 0.8)

10 20 30 40 50 60 70 −0.4 −0.2 0.2 0.4 0.6 0.8 1 1.2 Si2H4: eigenvalues 1 to 70 Eigenvalue Index

(b) Si2H4 (σ = 0.7)

10 20 30 40 50 60 70 80 90 100 −0.7 −0.6 −0.5 −0.4 −0.3 −0.2 −0.1 0.1 0.2 0.3 Ctube661: Eigenvalues 1 to 100 Eigenvalue Index

(c) Ctube (σ = −0.25) Figure: Parts of spectra of the Hamiltonian matrices.

slide-27
SLIDE 27

Several examples

50 100 150 200 10

−6

10

−4

10

−2

10 SiH4, σ = 0.8 maxj ||A vj (i) − λj (i) vj (i)|| Iteration number, i BPLHR BPLHR−HARM BGD(70)

(a) SiH4 (σ = 0.8)

50 100 150 200 250 300 350 10

−6

10

−4

10

−2

10 Si2H4, σ = 0.7 maxj ||A vj (i) − λj (i) vj (i)|| Iteration number, i BPLHR BPLHR−HARM BGD(70)

(b) Si2H4 (σ = 0.7)

200 400 600 800 1000 10

−6

10

−4

10

−2

10 ctube661, σ = −0.25 maxj ||A vj (i) − λj (i) vj (i)|| Iteration number, i BPLHR BPLHR−HARM BGD(110)

(c) Ctube (σ = −0.25) Figure: Computing 10 eigenpairs closest to σ.

slide-28
SLIDE 28

A general definition of the PLHR preconditioner

Observation: The (restarted) PMINRES for (A − λI)v = 0 with

T = |A − λI|† converges to exact solution in at most two steps

slide-29
SLIDE 29

A general definition of the PLHR preconditioner

Observation: The (restarted) PMINRES for (A − λI)v = 0 with

T = |A − λI|† converges to exact solution in at most two steps

◮ Choose PLHR preconditioner as T ≈ |A − σI|−1 ◮ Absolute Value (AV) preconditioning [EV, Knyazev, SISC’13] ◮ Combines “shift-and-invert” and SPD’ness ◮ Can use T ≈ |C|−1 as a PMINRES preconditioner for Cx = b

slide-30
SLIDE 30

Multigrid AV preconditioners for shifted Laplacian

Consider construction of T ≈ |A − σI|−1, where A is a 2D Laplacian on a unit square. Construct AV only on the coarsest grid! [EV, Knyazev, SISC’13]

slide-31
SLIDE 31

PMINRES+AV for shifted Laplacian

Solve (A − σI)x = b, MG preconditioner T ≈ |A − σI|−1

100 200 300 400 500 10

−10

10

−5

10 10

5

Shift value c2 = 1500 (108 negative eigenvalues) Iteration number Euclidean norm of error

Bi−CGSTAB−MG GMRES(20)−MG MINRES−AV−MG MINRES−Laplace 100 200 300 400 500 600 700 10

−5

10

Shift value c2 = 3000 (222 negative eigenvalues) Iteration number Euclidean norm of error

Bi−CGSTAB−MG GMRES(150)−MG MINRES−AV−MG MINRES−Laplace

Figure: Coarsest problems of size 961; σ = c2; n = 65025

slide-32
SLIDE 32

BPLHR+AV for shifted Laplacian

Solve Av = λv, MG preconditioner T ≈ |A − σI|−1

Shifts (σ) Method Prec. RR 400 450 500 550 600 650 700 BPLHR AV T-harm. 57 81 68 133 117 190 278 BPLHR AV harm. 563

  • 493

635

  • BPLHR

Indef. harm. 30 40 45

  • 59

338 424 Davidson Indef. harm. 36 46 57

  • 376

763

  • Table: Iteration numbers to converge to 10 eigenpairs of the Laplacian

closest to shifts σ; n = 16, 129.

slide-33
SLIDE 33

BPLHR+AV for shifted Laplacian

Solve Av = λv, MG preconditioner T ≈ |A − σI|−1

Shifts (σ) Method Prec. RR 800 900 1000 1100 1200 1300 BPLHR AV T-harm. 270 168 177 344 365 363 BPLHR AV harm. 590 417 377 625 437 217 BPLHR Indef. harm.

  • Davidson

Indef. harm. 230 818 837

  • Table: Iteration numbers to converge to 20 eigenpairs of the Laplacian

closest to shifts σ; n = 16, 129.

slide-34
SLIDE 34

Current and future work

◮ Development of AV preconditioners (DD, AMG, etc.) ◮ Generalization of PLHR on non-Hermitian matrices, indefinite

preconditioning [EV, Yang, Xue, SISC’16]

◮ Tools for slicing the spectrum [EV, Yang, submitted ’16],

post-processing (missing eigs, orthogonality, etc.)

◮ A lot of CS: load balance, scheduling, parallel code, etc. ◮ Large-scale applications

slide-35
SLIDE 35

Current and future work

◮ Development of AV preconditioners (DD, AMG, etc.) ◮ Generalization of PLHR on non-Hermitian matrices, indefinite

preconditioning [EV, Yang, Xue, SISC’16]

◮ Tools for slicing the spectrum [EV, Yang, submitted ’16],

post-processing (missing eigs, orthogonality, etc.)

◮ A lot of CS: load balance, scheduling, parallel code, etc. ◮ Large-scale applications

Thank you!

slide-36
SLIDE 36

The Generalized PLHR (GPLHR) algorithm

Compute a subset of k right eigenpairs (λ, x) of a non-Hermitian matrix pair (A, B) that are closest to a given shift σ ∈ C Ax = λBx, A, B ∈ Cn×n

−0.4 −0.3 −0.2 −0.1 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 Re Im

A, B can can be symmetric T can be indefinite Larger trial subspace [EV, Yang, Xue, to appear in SISC’16]

slide-37
SLIDE 37

Preconditioned linear solvers for Cv = b

C is Hermitian positive definite (HPD), T is HPD preconditioner

◮ Preconditioned Conjugate Gradient (PCG)

e(i)C ≤ 2 √κ − 1 √κ + 1 i e(0)C, κ = λmax(TC)/λmin(TC)

“Globally” optimal Krylov subspace method, short-term recurrence

◮ Preconditioned steepest descent (PSD)

v(i+1) ← v(i)+α(i)T(b−Cv(i)), e(i+1)C ≤ κ − 1 κ + 1

  • e(i)C

“Locally” optimal, mathematically equivalent to PCG(1)

slide-38
SLIDE 38

The Block PLHR (BPLHR) algorithm

Given an initial guess V (0) and an SPD preconditioner T, compute eigenpairs of A associated with k eigenvalues closest to the shift σ

◮ V ← V (0); normalize V ; λj ← (vj, Avj); Λ ← diag{λj}, P ← [ ]; ◮ While convergence not reached

  • Compute W ← T(AV − V Λ)
  • Compute S ← T(AW − W Λ)
  • Set Z ← [V , W , S, P]
  • Find k eigenpairs (ξ, y) associated with the smallest |ξ|

– of Z ∗(A − σI)T(A − σI)Zy = ξZ ∗(A − σI)TZy

  • V ← VYV + WYW + SYS + PYP
  • P ← WYW + SYS + PYP
  • Normalize columns of V ; λj ← (vj, Avj); Λ ← diag{λj}

◮ EndWhile