An Efficient Two-Level Preconditioner for Multi

An Efficient Two-Level Preconditioner for
Multi-Frequency Wave Propagation Problems
M. Baumann∗,† and M.B. van Gijzen†
∗ Email:
[email protected]
Institute of Applied Mathematics
Delft University of Technology
Delft, The Netherlands
† Delft
May 19, 2017
M. Baumann
An optimal shift-and-invert preconditioner
1 / 27
Motivation (1/3)
Seismic exploration:
elastic wave equation
c geophysicsRocks!
in frequency-domain
0
Marmousi-II problem with 2,371,200 dofs
2560
z [m]
’only’ forward problem
Solve
18500
=b
for multiple frequencies ωk .
0
2000
x [m]
displacement at f = 6 Hz
1850
0
M. Baumann
4000 312
1e−9
1.8
z [m]
(K + iωk C −
ωk2 M)xk
An optimal shift-and-invert preconditioner
2000
x [m]
4000
−0.6
2 / 27
Motivation (1/3)
Seismic exploration:
elastic wave equation
c geophysicsRocks!
in frequency-domain
0
Marmousi-II problem with 2,371,200 dofs
2560
z [m]
’only’ forward problem
Solve
18500
=b
for multiple frequencies ωk .
K 0,
C 0,
0
2000
x [m]
displacement at f = 6 Hz
1e−9
1.8
M0
1850
0
M. Baumann
4000 312
z [m]
(K + iωk C −
ωk2 M)xk
An optimal shift-and-invert preconditioner
2000
x [m]
4000
−0.6
2 / 27
Motivation (2/3)
... (K + iωk C − ωk2 M)xk = b
Linearization:
b
iC K
M 0
ωk xk
=
,
− ωk
xk
0
I 0
0 I
k = 1, ..., Nω
Single preconditioner:
P(τ )
−1
=
I
=
0
M. Baumann
−1
K
M 0
−τ
0
0 I
τI I
0
0
I
0 (K + iτ C − τ 2 M)−1 I
iC
I
An optimal shift-and-invert preconditioner
I
−iC + τ M
3 / 27
Motivation (2/3)
... (K + iωk C − ωk2 M)xk = b
Linearization:
b
iC K
M 0
ωk xk
=
,
− ωk
xk
0
I 0
0 I
k = 1, ..., Nω
Single preconditioner:
P(τ )
−1
=
I
=
0
M. Baumann
−1
K
M 0
−τ
0
0 I
0
τI I
0
I
0 (K + iτ C − τ 2 M)−1 I
iC
I
An optimal shift-and-invert preconditioner
I
−iC + τ M
3 / 27
Motivation (3/3)
Convergence behavior for two different τ .
1
0
−1
−1
−3
−4
−5
−6
τ
−3
−4
−5
−6
−7
−8
−2
d
τ
−2
go
o
Relative residual norm
0
ba
d
Relative residual norm
1
−7
0
20
40
60
80
100
Number of matrix−vector multiplications
M. Baumann
120
140
−8
0
5
10
15
20
25
30
35
Number of matrix−vector multiplications
An optimal shift-and-invert preconditioner
4 / 27
Motivation (3/3)
Convergence behavior for two different τ .
1
0
−1
−1
−3
−4
−5
−6
τ
−3
−4
−5
−6
−7
−8
−2
d
τ
−2
go
o
Relative residual norm
0
ba
d
Relative residual norm
1
−7
0
20
40
60
80
100
Number of matrix−vector multiplications
M. Baumann
120
140
−8
0
5
10
15
20
25
30
35
Number of matrix−vector multiplications
An optimal shift-and-invert preconditioner
4 / 27
Outlook
M. Baumann
1
The shift-and-invert preconditioner within multi-shift GMRES
2
Optimization of seed frequency τ
3
Numerical experiments
Validations
Shifted Neumann preconditioner
Matrix equation with rotation
An optimal shift-and-invert preconditioner
5 / 27
Shift-and-invert preconditioner for GMRES
iC
A :=
I
K
,
0
M 0
B :=
0 I
Want to solve
(A − ωk B)xk = b,
k = 1, ..., Nω ,
with a single preconditioner P(τ ) = (A − τ B):
(A − ωk B)Pk−1 yk = b
M. Baumann
⇔
(A(A − τ B)−1 − ηk I )yk = b
An optimal shift-and-invert preconditioner
6 / 27
Shift-and-invert preconditioner for GMRES
iC
A :=
I
K
,
0
M 0
B :=
0 I
Want to solve
(A − ωk B)xk = b,
k = 1, ..., Nω ,
with a single preconditioner P(τ ) = (A − τ B):
(A − ωk B)Pk−1 yk = b
M. Baumann
⇔
(A(A − τ B)−1 − ηk I )yk = b
An optimal shift-and-invert preconditioner
6 / 27
Shift-and-invert preconditioner for GMRES
iC
A :=
I
K
,
0
M 0
B :=
0 I
Want to solve
(A − ωk B)xk = b,
k = 1, ..., Nω ,
with a single preconditioner P(τ ) = (A − τ B):
(A − ωk B)Pk−1 yk = b
M. Baumann
⇔
(
C
An optimal shift-and-invert preconditioner
− ηk I )yk = b
6 / 27
Multi-shift GMRES... Did you know?
For shifted problems,
(C − ηk I )yk = b,
k = 1, ..., Nω ,
Krylov spaces are shift-invariant
Km (C, b) ≡ Km (C − ηI , b)
∀η ∈ C.
Multi-shift GMRES:
(C − ηk I )Vm = Vm+1 (Hm − ηk I)
Reference
A. Frommer and U. Glässner. Restarted GMRES for Shifted Linear
Systems. SIAM J. Sci. Comput., 19(1), 15–26 (1998)
M. Baumann
An optimal shift-and-invert preconditioner
7 / 27
Multi-shift GMRES... Did you know?
For shifted problems,
(C − ηk I )yk = b,
k = 1, ..., Nω ,
Krylov spaces are shift-invariant
Km (C, b) ≡ Km (C − ηI , b)
∀η ∈ C.
Multi-shift GMRES:
(C − ηk I )Vm = Vm+1 (Hm − ηk I)
Reference
A. Frommer and U. Glässner. Restarted GMRES for Shifted Linear
Systems. SIAM J. Sci. Comput., 19(1), 15–26 (1998)
M. Baumann
An optimal shift-and-invert preconditioner
7 / 27
Optimization of seed frequency
A(A − τ B)−1 −
ωk
I
ωk − τ
Theorem: GMRES convergence bound
yk = b
[Saad, Iter. Methods]
Let the eigenvalues of a matrix be enclosed by a circle with
radius R and center c. Then the GMRES-residual norm after
i iterations kr(i) k satisfies,
kr(i) k
≤ c2 (X )
kr(0) k
R(τ )
|c(τ )|
i
,
where X is the matrix of eigenvectors, and c2 (X ) its condition
number in the 2-norm.
M. Baumann
An optimal shift-and-invert preconditioner
8 / 27
Optimization of seed frequency
A(A − τ B)−1 −
ωk
I
ωk − τ
yk = b
Theorem: msGMRES convergence bound
[Saad, Iter. Methods]
Let the eigenvalues of a matrix be enclosed by a circle with
radius Rk and center ck . Then the GMRES-residual norm after
(i)
i iterations krk k satisfies,
(i)
krk k
≤ c2 (X )
kr(0) k
Rk (τ )
|ck (τ )|
i
,
k = 1, ..., Nω ,
where X is the matrix of eigenvectors, and c2 (X ) its condition
number in the 2-norm.
M. Baumann
An optimal shift-and-invert preconditioner
8 / 27
The preconditioned spectra – no damping
Nω = 5
1
imag part
0.5
0
−0.5
−1
−1
−0.5
0
0.5
1
1.5
real part
M. Baumann
An optimal shift-and-invert preconditioner
9 / 27
The preconditioned spectra – no damping
Nω = 5
1
imag part
0.5
0
R
−0.5
≡
|
k
c
|
−1
−1
−0.5
0
0.5
1
1.5
real part
M. Baumann
An optimal shift-and-invert preconditioner
9 / 27
The preconditioned spectra – with damping > 0
ω̂k := (1 − i)ωk
2
imag part
1.5
1
0.5
0
−0.5
−1.5
−1
−0.5
0
0.5
1
1.5
real part
M. Baumann
An optimal shift-and-invert preconditioner
9 / 27
The preconditioned spectra – with damping > 0
ω̂k := (1 − i)ωk
R(τ )
2
ck+1
imag part
1.5
ck
R
1
ϕk
c
0.5
c1
0
−0.5
−1.5
−1
−0.5
0
0.5
1
1.5
real part
M. Baumann
An optimal shift-and-invert preconditioner
10 / 27
The preconditioned spectra
Lemma: Optimal seed shift for msGMRES
(i) For λ ∈
Λ[AB −1 ]
[B/vG, 2016]
it holds =(λ) ≥ 0.
(ii) The preconditioned spectra are enclosed by circles of radii
Rk and center points ck .
ω
(iii) The points {ck }N
k=1 ⊂ C described in statement (ii) lie on
a circle with center c and radius R.
(iv) Consider the preconditioner P(τ ∗ ) = A − τ ∗ B. An optimal
seed frequency τ ∗ for preconditioned multi-shift GMRES is
given by,
Rk (τ )
∗
τ () = min max
= ... =
τ ∈C k=1,..,Nω
|ck |
=
M. Baumann
2ω1 ωNω
−i
ω1 + ωNω
p
[2 (ω1 + ωNω )2 + (ωNω − ω1 )2 ] ω1 ωNω
ω1 + ωNω
An optimal shift-and-invert preconditioner
11 / 27
The preconditioned spectra – Proof (1/4)
Proof. (i) We have to show =(ω) ≥ 0 for,
iC K
M 0
x =ω
x
I 0
0 I
or, alternatively (λ = iω), consider the QEP,
(K + λC + λ2 M)v = 0.
<(λ) ≤ 0 ⇒ =(ω) ≥ 0
M. Baumann
An optimal shift-and-invert preconditioner
12 / 27
The preconditioned spectra – Proof (1/4)
Proof. (i) We have to show =(ω) ≥ 0 for,
iC K
M 0
x =ω
x
I 0
0 I
or, alternatively (λ = iω), consider the QEP,
(K + λC + λ2 M)v = 0.
<(λ) ≤ 0 ⇒ =(ω) ≥ 0
M. Baumann
An optimal shift-and-invert preconditioner
12 / 27
The preconditioned spectra – Proof (2/4)
(ii) The preconditioned spectra are enclosed by circles.
Factor out AB −1 ,
C − ηk I = A(A − τ B)−1 − ηk I = AB −1 (AB −1 − τ I )−1 − ηk I ,
and note that
Λ[AB −1 ] 3 λ 7→
is a Möbius transformation(∗) .
ωk
λ
−
,
λ−τ
ωk − τ
Reference
M.B. van Gijzen, Y.A. Erlangga, C. Vuik. Spectral Analysis of the Discrete
Helmholtz Operator Preconditioned with a Shifted Laplacian. SIAM J. Sci.
Comput., 29(5), 1942–1958 (2007)
(∗) : z 7→
M. Baumann
An optimal shift-and-invert preconditioner
az+b
cz+d
13 / 27
The preconditioned spectra – Proof (3/4)
(iii) Spectra are bounded by circles (ck , R). These center point
ω
{ck }N
k=1 lie on a ’big circle’ (c, R).
1. Construct center:
c = 0,
|τ |2
2=(τ )(=(τ ) + <(τ ))
∈C
2. A point ck has constant distance to c:
R2 = kck − ck22 =
M. Baumann
|τ |2 (2 + 1)
4(=(τ ) + <(τ ))2
An optimal shift-and-invert preconditioner
(independent of
ωk )
14 / 27
The preconditioned spectra – with damping > 0
ω̂k := (1 − i)ωk
R(τ )
2
ck+1
imag part
1.5
ck
R
1
ϕk
c
0.5
c1
0
−0.5
−1.5
−1
−0.5
0
0.5
1
1.5
real part
M. Baumann
An optimal shift-and-invert preconditioner
15 / 27
The preconditioned spectra – Proof (4/4)
1.00
(iv) Find optimal
τ ∗.
τ ∗ = min max
0.96
−1.0
0.92
−0.8
1
2
3
R
|ck |
|ck | = f (c, R, ϕk )
polar coordinates
∂τ
∂ϕ = 0 (optimize along ϕ)
0.88
imag part (relative)
τ ∈C k=1,..,Nω
−0.6
−0.4
0.84
0.80
τ∗
0.76
−0.2
0.72
ω̂min
0.0
0.0
M. Baumann
ω̂max
0.68
0.2
An optimal shift-and-invert preconditioner
0.4
0.6
real part (relative)
0.8
1.0
0.64
16 / 27
The preconditioned spectra – Proof (4/4)
1.00
(iv) Find optimal
τ ∗.
τ ∗ = min max
0.96
−1.0
0.92
−0.8
1
2
3
R
|ck |
|ck | = f (c, R, ϕk )
polar coordinates
∂τ
∂ϕ = 0 (optimize along ϕ)
0.88
imag part (relative)
τ ∈C k∈{1,Nω }
−0.6
−0.4
0.84
0.80
τ∗
0.76
−0.2
0.72
ω̂min
0.0
0.0
M. Baumann
ω̂max
0.68
0.2
An optimal shift-and-invert preconditioner
0.4
0.6
real part (relative)
0.8
1.0
0.64
16 / 27
The preconditioned spectra – Proof (4/4)
1.00
(iv) Find optimal
τ ∗.
τ ∗ = min max
0.96
−1.0
0.92
−0.8
1
2
3
R
|ck |
0.88
imag part (relative)
τ ∈C k∈{1,Nω }
|ck | = f (c, R, ϕk )
−0.6
−0.4
M. Baumann
=
0.80
τ∗
−0.2
0.72
ω̂min
0.0
0.0
2ω1 ωNω
ω1 +ωNω
0.84
0.76
polar coordinates
∂τ
∂ϕ = 0 (optimize along ϕ)
τ∗
ω̂max
−i
√
0.68
0.2
0.4
0.6
real part (relative)
0.8
1.0
0.64
[2 (ω1 +ωNω )2 +(ωNω −ω1 )2 ]ω1 ωNω
ω1 +ωNω
An optimal shift-and-invert preconditioner
16 / 27
M. Baumann
1
The shift-and-invert preconditioner within multi-shift GMRES
2
Optimization of seed frequency τ
3
Numerical experiments
Validations
Shifted Neumann preconditioner
Matrix equation with rotation
An optimal shift-and-invert preconditioner
17 / 27
The (damped) time-harmonic elastic wave equation
Continuous setting
Elastic wave equation
−ωk2 ρ(x)uk − ∇·σ(uk ) = s
with boundary conditions
iωk ρ(x)Buk + σ(uk )n̂ = 0,
σ(uk )n̂ = 0,
on ∂Ωa ∪· ∂Ωr .
Discrete setting
Solve
ω̂k = (1 − i)ωk
(K + iωk C − ωk2 M)uk = s
with FEM matrices
Z
Kij =
σ(ϕi ) : ∇ϕj dΩ,
ZΩ
Mij =
ρ(x)ϕi · ϕj dΩ,
ZΩ
Cij =
ρ(x)Bϕi · ϕj dΓ.
∂Ωa
nutils
M. Baumann
An optimal shift-and-invert preconditioner
18 / 27
The (damped) time-harmonic elastic wave equation
Continuous setting
Elastic wave equation
−ωk2 ρ(x)uk − ∇·σ(uk ) = s
with boundary conditions
iωk ρ(x)Buk + σ(uk )n̂ = 0,
σ(uk )n̂ = 0,
on ∂Ωa ∪· ∂Ωr .
Discrete setting
Solve
ω̂k = (1 − i)ωk
(K + iωk C − ωk2 M)uk = s
with FEM matrices
Z
Kij =
σ(ϕi ) : ∇ϕj dΩ,
ZΩ
Mij =
ρ(x)ϕi · ϕj dΩ,
ZΩ
Cij =
ρ(x)Bϕi · ϕj dΓ.
∂Ωa
nutils
M. Baumann
An optimal shift-and-invert preconditioner
18 / 27
Numerical experiments
Validations and second-level preconditioners
Set-up: An elastic wedge problem.
Density
2100
0
u_z at 16.0 Hz
1e−10
2.4
2070
0.8
1920
0.4
z [m]
z [m]
1950
1860
M. Baumann
300
x [m]
600
0.50
400
0.25
0.00
−0.25
0.0
800
−0.4
1830
1000
0
0.75
1.2
400
1890
800
1e−11
1.00
1.6
2010
1980
u_x at 24.0 Hz
2.0
2040
400
0
z [m]
0
1800 1000
0
−0.8
300
x [m]
600
An optimal shift-and-invert preconditioner
800
−0.50
−0.75
1000
0
300
x [m]
600
19 / 27
Numerical experiments (1/4)
Validations I
r
τ ∗ () =
p
i arctan −
ω1 ωNω (1 + 2 ) · e
ωmin /2π [Hz]
ωmax /2π [Hz]
1
5
1
10
Nω
5
10
20
5
10
20
2 (ω1 +ωN )2 +(ωN −ω1 )2
ω
ω
4ω1 ωN
ω
# iterations
106
106
106
251
252
252
!
CPU time [s]
45.6
48.7
47.3
205.1
223.7
243.5
damping factor = 0.05
#dofs = 48, 642 (Q1 finite elements)
M. Baumann
An optimal shift-and-invert preconditioner
20 / 27
Numerical experiments (2/4)
1
Nω = 5
0
Validations II
Relative residual norm
−1
Convergence behavior:
ωmin and ωmax converge
slowest,
smallest factor R/|ck |
yields fastest convergence,
−2
−3
−4
−5
−6
−7
−8
0
5
10
15
20
25
30
35
Number of matrix−vector multiplications
2
1.5
’inner’ frequencies for free.
1
0.5
0
−0.5
−2
M. Baumann
−1.5
An optimal shift-and-invert preconditioner
−1
−0.5
0
0.5
1
1.5
21 / 27
Numerical experiments (3/4)
Shifted Neumann preconditioner
140
140
120
120
100
100
Number of iterations
Number of iterations
Apply a Neumann polynomial preconditioner of degree n.
80
60
40
20
0
1.0
² = 0.5
² = 0.3
² = 0.1
² = 0.05
80
60
40
² = 0.5
² = 0.3
² = 0.1
² = 0.05
0.8
20
0.6
0.4
Seed shift (scaled imag part)
0.2
0.0
0
1.0
0.8
case n = 0
M. Baumann
An optimal shift-and-invert preconditioner
0.6
0.4
Seed shift (scaled imag part)
0.2
0.0
case n = 5
22 / 27
Numerical experiments (4/4)
Matrix equation with rotation
Solve matrix equation,
A(X) := K X + iC XΩ − MXΩ2 = B.
Spectrum of A ◦ P1−1
1.5
imag part
1.0
0.5
0.0
−0.5
−1.5
M. Baumann
−1.0
−0.5
0.0
real part
0.5
An optimal shift-and-invert preconditioner
1.0
1.5
23 / 27
Numerical experiments (4/4)
Matrix equation with rotation
Solve matrix equation,
A(X) := K X + iC XΩ − MXΩ2 = B.
Spectrum of A ◦ P1−1 ◦ P2−1
1.5
e−i(φ2−φ1)
imag part
1.0
0.5
0.0
−0.5
−1.5
M. Baumann
−1.0
−0.5
0.0
real part
0.5
An optimal shift-and-invert preconditioner
1.0
1.5
23 / 27
Summary
1
0
0
−1
−1
−4
−5
−6
−2
τ
−3
−3
ba
d
Relative residual norm
−2
−4
−5
−6
−7
−7
−4
−3
−2
−1
0
1
2
3
4
−8
5
0
20
40
60
80
100
120
140
30
35
Number of matrix−vector multiplications
1
0
2
1
0.5
τ
−2
−3
d
1.5
−4
go
o
Relative residual norm
−1
−5
−6
0
−7
−0.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
−8
0
5
10
15
20
25
Number of matrix−vector multiplications
M. Baumann
An optimal shift-and-invert preconditioner
24 / 27
Summary
1
0
0
−1
−1
−4
−5
−6
−2
τ
−3
−3
ba
d
Relative residual norm
−2
−4
−5
−6
−7
−7
−4
−3
−2
−1
0
1
2
3
4
−8
5
0
20
40
60
80
100
120
140
30
35
Number of matrix−vector multiplications
1
0
2
1
0.5
τ
−2
−3
d
1.5
−4
go
o
Relative residual norm
−1
−5
−6
0
−7
−0.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
−8
0
5
10
15
20
25
Number of matrix−vector multiplications
M. Baumann
An optimal shift-and-invert preconditioner
24 / 27
Conclusions
3 Optimal shift-and-invert preconditioner for msGMRES.
3 Second level: Shifted Neumann preconditioner & rotations
in matrix equation approach.
3 For multi-core CPUs: Splitting strategy of frequency range.
7 Optimality for = 0 only by continuity.
? Relation to pole selection in rational Krylov methods.
Thank you for your attention!
M. Baumann
An optimal shift-and-invert preconditioner
25 / 27
Conclusions
3 Optimal shift-and-invert preconditioner for msGMRES.
3 Second level: Shifted Neumann preconditioner & rotations
in matrix equation approach.
3 For multi-core CPUs: Splitting strategy of frequency range.
7 Optimality for = 0 only by continuity.
? Relation to pole selection in rational Krylov methods.
Thank you for your attention!
M. Baumann
An optimal shift-and-invert preconditioner
25 / 27
References
M. Baumann and M.B. van Gijzen. Nested Krylov methods for shifted
linear systems. SIAM J. Sci. Comput., 37(5), S90-S112 (2015).
M. Baumann, R. Astudillo, Y. Qiu, E. Ang, M.B. van Gijzen, and
R.-E. Plessix. An MSSS-Preconditioned Matrix Equation Approach for
the Time-Harmonic Elastic Wave Equation at Multiple Frequencies.
DIAM Technical Report 16-04, TU Delft [accepted].
M. Baumann and M.B. van Gijzen. Efficient iterative methods for
multi-frequency wave propagation problems: A comparison study.
Proceedings of ICCS 2017 [accepted].
M. Baumann and M.B. van Gijzen. An Efficient Two-Level
Preconditioner for Multi-Frequency Wave Propagation Problems.
DIAM Technical Report 17-03, TU Delft [under review].
Research funded by Shell.
M. Baumann
An optimal shift-and-invert preconditioner
26 / 27
Finite element discretization in Python
FEM discretization of stiffness matrix K ,
Z
σ(ϕi ) : ∇ϕj dΩ, where
Kij =
Ω
σ(ϕi ) = λ(x)div (ϕi )I3 + µ(x) ∇ϕi + (∇ϕi )T ,
becomes in nutils:
ndims = 3
phi
= domain.splinefunc(degree=2).vector(ndims)
stress = lambda u: lam*u.div(geom)[:,_,_]*function.eye(ndims)
+ mu*u.symgrad(geom)
elast = function.outer(
stress(phi), phi.grad(geom) ).sum([2,3])
K = domain.integrate(elast, geometry=geom, ischeme=’gauss2’)
Go back
M. Baumann
An optimal shift-and-invert preconditioner
27 / 27