people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long,...
Transcript of people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long,...
![Page 1: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/1.jpg)
Rational Krylov methods for linear and nonlineareigenvalue problems
Mele [email protected]
University of Pisa
20 March 2014
![Page 2: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/2.jpg)
Outline
Shift–invert Arnoldi algorithm for linear eigenproblems
Rational Krylov algorithm for linear eigenproblems
Applications of Rational Krylov algorithm for nonlinear eigenproblems
- Linearization by means of Hermite interpolation- Nonlinear Rational Krylov
![Page 3: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/3.jpg)
Outline
Shift–invert Arnoldi algorithm for linear eigenproblems
Rational Krylov algorithm for linear eigenproblems
Applications of Rational Krylov algorithm for nonlinear eigenproblems
- Linearization by means of Hermite interpolations- Nonlinear Rational Krylov
![Page 4: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/4.jpg)
Linear eigenvalue problem
Definition of the problem
Given A,B ∈ Cn×n find pairs (λ, x) ∈ C× Cn such that
Ax = λBx
The number λ is called eigenvalueThe vector x is called eigenvector
In practical applications:
matrices are big sized, sparse and/or structured and/or (reducible to) smallbandwidth etc.
the task is to compute a well defined subset of eigenvalues, e.g. dominanteigenvalues, eigenvalue in a subset Ω ⊂ C etc.
![Page 5: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/5.jpg)
Shift–invert Arnoldi algorithm
Chosen a point (called shift) σ ∈ C, this algorithm compute eigenvalues near σ.
Observation
If (θ, x) is an eigenpair of (A− σB)−1B, then (σ + 1/θ, x) is an eigenpair of thepencil (A,B).
Definition (Krylov subspace)
Given a vector x ∈ Cn, a shift σ ∈ C and a natural number m
Km(A,B, σ, x) = span(x , (A− σB)−1Bx , (A− σB)−2B2x , . . . , (A− σB)−m+1Bm−1x
)is the Krylov subspace
The idea is to project the matrix (A− σB)−1B in the Krylov subspace and solvethe projected problem.
![Page 6: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/6.jpg)
Shift–invert Arnoldi algorithm
Gram–Schmidt orthogonalization
Given x ∈ Cn define
v1 := x/‖x‖hi,j = (A− σB)−1Bvj · vi i = 1, . . . j
wj+1 := (A− σB)−1Bvj − h1,jv1 − h2,jv2 − · · · − hj,jvj
hj+1,j = ‖wj+1‖vj+1 = wj+1/hj+1,j
Then v1, . . . , vm is an orthonormal basis of Km(A, σ, x).
Arnoldi sequence
In a vectorial form(A− σB)−1BVm = Vm+1Hm+1,m
![Page 7: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/7.jpg)
Shift–invert Arnoldi algorithm
Observation
The matrix Hm,m is the projection of (A− σB)−1B in Km(A, σ, x), that is
V Hm (A− σB)−1BVm = Hm,m
Definition
Given an eigenpair (θ, s) of Hm,m, the value λ := σ + 1/θ is called Ritz value andthe vector z := Vms Ritz vector.
Proposition
If (θ, s) is an eigenpair of Hm,m then
Az − λBz =
(σB − A
θ
)hm+1,msmvm+1.
If hm+1,mym is small, then (θ,Vms) is an approximation of an eigenpair of the thelinear problem defined by A and B.
![Page 8: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/8.jpg)
Shift–invert Arnoldi algorithm
Algorithm
1: Chose a starting vector x and a shift σ2: for m = 1, . . . , till convergence do3: Compute the Arnoldi sequence (A− σB)−1BVm = Vm+1Hm+1,m
4: Compute eigenpairs (θi , yi ) of Hm,m
5: if |hm+1,m(eHmyi )| < tol then
6: Store (σ + 1/θi ,Vmyi ) as approximation of an eigenpair of (A, B)7: end if8: end for
Questions:How big must be m to get a good approximation of an eigenpair?
How to choose a starting vector x?
Which eigenpairs will be firstly approximated?
![Page 9: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/9.jpg)
Shift–invert Arnoldi algorithm
Algorithm
1: Chose a starting vector x and a shift σ2: for m = 1, . . . , till convergence do3: Compute the Arnoldi sequence (A− σB)−1BVm = Vm+1Hm+1,m
4: Compute eigenpairs (θi , yi ) of Hm,m
5: if |hm+1,m(eHmyi )| < tol then
6: Store (σ + 1/θi ,Vmyi ) as approximation of an eigenpair of (A, B)7: end if8: end for
Questions:How big must be m to get a good approximation of an eigenpair?
How to choose a starting vector x?
Which eigenpairs will be firstly approximated?
![Page 10: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/10.jpg)
Convergence of the algorithm
Eigenvalues near σ will be firstly well approximate by Ritz values [Saad].
The closer (σ, x) to the eigenpair (λ, u) the faster the convergence to (λ, u)[Saad].
For many applications, after a few steps, Ritz values converges linearly toeigenvalues.
![Page 11: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/11.jpg)
Thick restart
ProblemWhen the Arnoldi sequence grows too long, every step of the Arnoldi iterationgets slower. Moreover orthogonality is numerically lost.
Thick restart
Let (A− σB)−1BVm = Vm+1Hm+1,m be an Arnoldi sequence with λ1, . . . , λk asubset of Ritz values, where at least one has not converged yet. Then it ispossible to build another Arnoldi sequence (A− σB)−1BWk = Wk+1Hk+1,k suchthat λ1, . . . , λk are the Ritz values.
The generation of the new sequence is numerically stable since it is done usingHouseholder transformations.
![Page 12: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/12.jpg)
Thick restart
ProblemWhen the Arnoldi sequence grows too long, every step of the Arnoldi iterationgets slower. Moreover orthogonality is numerically lost.
Thick restart
Let (A− σB)−1BVm = Vm+1Hm+1,m be an Arnoldi sequence with λ1, . . . , λk asubset of Ritz values, where at least one has not converged yet. Then it ispossible to build another Arnoldi sequence (A− σB)−1BWk = Wk+1Hk+1,k suchthat λ1, . . . , λk are the Ritz values.
The generation of the new sequence is numerically stable since it is done usingHouseholder transformations.
![Page 13: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/13.jpg)
Shift–invert Arnoldi algorithm for the linear eigenproblem
Task: compute eigenvalues of the pair (A,B) in Ω.
Select (enough) shifts: σ0, . . . , σt ∈ Ω,
use shift–invert Arnoldi’s algorithm for every shift.
ProblemEvery time we change shift we need to restart the algorithm.
![Page 14: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/14.jpg)
Outline
Shift–invert Arnoldi algorithm for linear eigenproblems
Rational Krylov algorithm for linear eigenproblems
Applications of Rational Krylov algorithm for nonlinear eigenproblems
- Linearization by means of Hermite interpolation- Nonlinear Rational Krylov
![Page 15: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/15.jpg)
Rational Krylov algorithm for linear eigenvalue problem
Theorem (Ruhe)
In O(m3) it is possible change shift in the Arnoldi sequence, in particular
(A− σ0B)−1BVm = Vm+1Hm+1,m =⇒ (A− σ1B)−1BWm = Wm+1Hm+1,m
moreover span(Vm+1) = span(Wm+1). These operations are numerically stable ifσ0 and σ1 are far enough from the eigenvalues of the original problem.
![Page 16: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/16.jpg)
Rational Krylov algorithm for linear eigenvalue problem
Rational Krylov algorithm
1: Chose a starting vector x and a starting shift σ0 and define v1 = x/‖x‖.2: for i = 1, . . . , till convergence do3: Extend the Arnoldi sequence (A − σiB)−1BVm = Vm+1Hm+1,m till enough
Ritz values near σi numerically converge. When needed, perform a thickrestart.
4: Chose the next shift σi+1 and transform the previous Arnoldi sequence in(A− σi+1B)−1BVm = Vm+1Hm+1,m ny using O(m3) ops.
5: end for
Practical issues
When shift changes, an LU factorization of (A− σi+1B) is performed
Heuristically, a good choice of the next shift is taking the average of cstep(small) Ritz values not yet converged and near the previous shift.
Thick restart is performed.
![Page 17: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/17.jpg)
Rational Krylov algorithm for linear eigenvalue problem
Rational Krylov algorithm
1: Chose a starting vector x and a starting shift σ0 and define v1 = x/‖x‖.2: for i = 1, . . . , till convergence do3: Extend the Arnoldi sequence (A − σiB)−1BVm = Vm+1Hm+1,m till enough
Ritz values near σi numerically converge. When needed, perform a thickrestart.
4: Chose the next shift σi+1 and transform the previous Arnoldi sequence in(A− σi+1B)−1BVm = Vm+1Hm+1,m ny using O(m3) ops.
5: end for
Practical issues
When shift changes, an LU factorization of (A− σi+1B) is performed
Heuristically, a good choice of the next shift is taking the average of cstep(small) Ritz values not yet converged and near the previous shift.
Thick restart is performed.
![Page 18: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/18.jpg)
Numerical experimentation
Tubolar reactor modelThe conservation of reactant and energy in a homogeneous tube of length L indimensionless form is modeled by
L
v
dy
dt= − 1
Pem
∂2y
∂X 2+∂y
∂X+ Dyeγ−γT
−1
,
L
v
dT
dt= − 1
Peh
∂2T
∂X 2+∂T
∂X+ β(T − T0)− BDyeγ−γT
−1
,
B.C. : y ′(0) = Pemy(0),T ′(0) = PehT (0), y ′(1) = 0,T ′(1) = 0.
Where y is the concentration, T the temperature and 0 ≤ X ≤ 1 the spatialcoordinate. The setting of the problem isPem = Peh = 5,B = 0.5, γ = 25, β = 3, 5,D = 0, 2662 and L/v = 1.
The task is to solve numerically the equation with the method of lines.
![Page 19: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/19.jpg)
Numerical experimentation
Stability of the time discretization
With a semi-discretization in space, setting x = (y1,T 1, y2,T2, . . . , yN/2,TN/2)we get
d
dtx = Ax A ∈ R2N×2N ,
where h = 1/N is the discretization step. A is a banded matrix with bandwidth 5.In order to chose a stable time discretization it is needed to compute therightmost eigenvalues of A.
![Page 20: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/20.jpg)
Numerical experimentation
N = 500, Rational Krylov algorithm to compute 60 rightmost eigenvalues
−2,500 −2,000 −1,500 −1,000 −500 0 500−2
0
2
4EigenvaluesShiftsConverged Ritz values
![Page 21: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/21.jpg)
Numerical experimentation
Convergence of the rightmost eigenvalues with shift–invert Arnoldi and withRational Krylov
Wanted eigenvalues Shift–invert Rational Krylov Savings percentage
( number of steps ) ( number of steps ) (steps)
20 45 38 16 %40 79 64 19 %60 112 89 21 %80 144 113 22 %
![Page 22: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/22.jpg)
Numerical experimentation
10 20 30 40 50 60 70 80 90 100 110
10
20
30
40
50
60
iteration
con
verg
edR
itz
valu
es
Iterations convergence history (60 eigenvalues)
Rational KrylovShift–invert Arnoldi
![Page 23: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/23.jpg)
Numerical experimentation
10 20 30 40 50 60 70 80 90 100 110
10−3
10−2
10−1
100
101
iteration
sec
Time convergence history (60 eigenvalues)
Rational KrylovShift–invert Arnoldi
![Page 24: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/24.jpg)
Numerical experimentation
With Rational Krylov it is possible to perform a thick restart. With shift–invertArnoldi, if we do not lock all converged Ritz values, there is a loop.
We restart the Arnoldi sequence when the length is more than 40 and we lock the20 Ritz values near the current shift.
This restarting strategy is not possible with shift–invert Arnoldi.
![Page 25: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/25.jpg)
Numerical experimentation
20 40 60 80 100 120
10
20
30
40
50
60
iteration
con
verg
edR
itz
valu
es
Iterations convergence history (60 eigenvalues)
Rational KrylovRestarted rational Krylov
![Page 26: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/26.jpg)
Numerical experimentation
20 40 60 80 100 120
10−3
10−2
10−1
100
101
102
iteration
sec
Time convergence history (60 eigenvalues)
Rational KrylovRestarted rational Krylov
![Page 27: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/27.jpg)
Numerical experimentation
Stability of a flow in a pipe
(D2 − α)2 − iαRe[U0(D2 − α2)− U ′′0 ]
v = −icαRe(D2 − α2)v
v(1) = 0, Dv(1)y = 0
v(−1) = 0, Dv(−1) = 0
The setting is α = 1 and Re = 10000.
Discrete problem
Using finite differences, we discretized with discretization step h = 1/N
Av = cB v
Where A,B ∈ RN×N , det(A) 6= 0 , rank(B) = N − 4 because of B.C.A and B are banded matrices with bandwidth respectively 5 and 3.
The spectrum of the continuum problem has a branch structure, in particular itlooks like a Y. The task is to compute the branch connected to zero.
![Page 28: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/28.jpg)
Numerical experimentation
Stability of a flow in a pipe
(D2 − α)2 − iαRe[U0(D2 − α2)− U ′′0 ]
v = −icαRe(D2 − α2)v
v(1) = 0, Dv(1)y = 0
v(−1) = 0, Dv(−1) = 0
The setting is α = 1 and Re = 10000.
Discrete problem
Using finite differences, we discretized with discretization step h = 1/N
Av = cB v
Where A,B ∈ RN×N , det(A) 6= 0 , rank(B) = N − 4 because of B.C.A and B are banded matrices with bandwidth respectively 5 and 3.
The spectrum of the continuum problem has a branch structure, in particular itlooks like a Y. The task is to compute the branch connected to zero.
![Page 29: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/29.jpg)
Numerical experimentation
0.2 0.4 0.6 0.8 1
−4
−3
−2
−1
0
1
Continuous spectrum
![Page 30: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/30.jpg)
Numerical experimentation
N = 100, Ritz values computed with shift–invert Arnoldi.
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−1
−0.8
−0.6
−0.4
−0.2
0Converged Ritz valuesEigenvalues
![Page 31: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/31.jpg)
Numerical experimentation
N = 100, Ritz values computed with Rational Krylov.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2−1
−0.8
−0.6
−0.4
−0.2
0ShiftsConverged Ritz valuesEigenvalues
![Page 32: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/32.jpg)
Outline
Shift–invert Arnoldi algorithm for linear eigenproblems
Rational Krylov algorithm for linear eigenproblems
Applications of Rational Krylov algorithm for nonlinear eigenproblems
- Linearization by means of Hermite interpolation- Nonlinear Rational Krylov
![Page 33: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/33.jpg)
Outline
Shift–invert Arnoldi algorithm for linear eigenproblems
Rational Krylov algorithm for linear eigenproblems
Applications of Rational Krylov algorithm for nonlinear eigenproblems
- Linearization by means of Hermite interpolations- Nonlinear Rational Krylov
![Page 34: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/34.jpg)
Nonlinear eigenvalue problem and linearization
Nonlinear eigenvalue problem (NLEP)
Given a nonlinear application
A(·) : C→ Cn×n
the task is to compute (λ, x) ∈ C× Cn such that A(λ)x = 0 with λ ∈ Ω ⊂ C
LinearizationGiven a nonlinear eigenvalue problem, a linearization is a linear eigenvalue problemsuch that its eigenpairs in Ω are a good estimation of eigeinpairs in Ω of thenonlinear problem.
We can every time express the nonlinear eigenvalue problem as
A(λ) =m∑i=1
fi (λ)BiBi ∈ Cn×n
fi : C→ C
![Page 35: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/35.jpg)
Nonlinear eigenvalue problem and linearization
Nonlinear eigenvalue problem (NLEP)
Given a nonlinear application
A(·) : C→ Cn×n
the task is to compute (λ, x) ∈ C× Cn such that A(λ)x = 0 with λ ∈ Ω ⊂ C
LinearizationGiven a nonlinear eigenvalue problem, a linearization is a linear eigenvalue problemsuch that its eigenpairs in Ω are a good estimation of eigeinpairs in Ω of thenonlinear problem.
We can every time express the nonlinear eigenvalue problem as
A(λ) =m∑i=1
fi (λ)BiBi ∈ Cn×n
fi : C→ C
![Page 36: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/36.jpg)
Nonlinear eigenvalue problem and linearization
Nonlinear eigenvalue problem (NLEP)
Given a nonlinear application
A(·) : C→ Cn×n
the task is to compute (λ, x) ∈ C× Cn such that A(λ)x = 0 with λ ∈ Ω ⊂ C
LinearizationGiven a nonlinear eigenvalue problem, a linearization is a linear eigenvalue problemsuch that its eigenpairs in Ω are a good estimation of eigeinpairs in Ω of thenonlinear problem.
We can every time express the nonlinear eigenvalue problem as
A(λ) =m∑i=1
fi (λ)BiBi ∈ Cn×n
fi : C→ C
![Page 37: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/37.jpg)
Linearization by means of Hermite interpolation
Consider the NLEP defined by
A(λ) =m∑i=1
fi (λ)Bi
and select a set of points σ0, . . . , σN ∈ Ω (repetitions are allowed)
fj(λ)Hermite−−−−−−−−−−−→
interpolation
N∑i=0
αi,jni (λ)
then we can approximate the NLEP with a PEP defined by
PN(λ) =N∑i=0
ni (λ)Ai where Ai =m∑j=1
αi,jBj
![Page 38: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/38.jpg)
Linearization by means of Hermite interpolation
Theorem (Companion-type linearization)
The pair (λ, x) 6= 0 is an eigenpair of the PEP if and only if ANyN = λBNyNwhere
AN :=
A0 A1 A2 . . . AN
σ0I Iσ1I I
. . .. . .
σN−1I I
,BN :=
0I 0
I 0. . .
. . .I 0
, yN :=
x
n1(λ)xn2(λ)xn3(λ)x...
nN (λ)x
Advantages
Since Ai =∑m
j=1 αi,jBj , it is not needed to store Ai , it is sufficient to storethe interpolation coefficients αi,j .
If it is needed to add an interpolation point, we just need to one can justcompute (implicitly) AN+1 and add a column and a row to the linearizationmatrices.
Only the coefficients αi,j are stored, all the other matrices are implicitly built.
![Page 39: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/39.jpg)
Linearization by means of Hermite interpolation
Theorem (Companion-type linearization)
The pair (λ, x) 6= 0 is an eigenpair of the PEP if and only if ANyN = λBNyNwhere
AN :=
A0 A1 A2 . . . AN
σ0I Iσ1I I
. . .. . .
σN−1I I
,BN :=
0I 0
I 0. . .
. . .I 0
, yN :=
x
n1(λ)xn2(λ)xn3(λ)x...
nN (λ)x
Advantages
Since Ai =∑m
j=1 αi,jBj , it is not needed to store Ai , it is sufficient to storethe interpolation coefficients αi,j .
If it is needed to add an interpolation point, we just need to one can justcompute (implicitly) AN+1 and add a column and a row to the linearizationmatrices.
Only the coefficients αi,j are stored, all the other matrices are implicitly built.
![Page 40: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/40.jpg)
Rational Krylov algorithm to solve the linearized problem
Lemma
Consider the linear problem defined by the linearization (AN ,BN), apply therational Krylov algorithm by using as shifts the interpolation points and
v1 := vec(
v[1]1 , 0, . . . , 0
), v1 ∈ C(N+1)n, v
[1]1 ∈ Cn
as starting vector. Then at the j-th step of the rational Krylov algorithm thevectors of the Arnoldi sequence have the following structure
vk = vec(
v[1]k , v
[2]k , . . . , v
[j]k , 0, . . . , 0
), for k ≤ j ≤ N,
where v[i ]k ∈ Cn for i = 1, . . . , j .
![Page 41: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/41.jpg)
Building the basis of the Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 0 0 0 0 0 )
v2 = ( v[1]2 v
[2]2 0 0 0 0 0 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 0 0 0 0 0 )
v4 = ( v[1]4 v
[2]4 v
[3]4 v
[4]4 0 0 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 42: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/42.jpg)
Building the basis of the Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 0 0 0 0 0 )
v2 = ( v[1]2 v
[2]2 0 0 0 0 0 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 0 0 0 0 0 )
v4 = ( v[1]4 v
[2]4 v
[3]4 v
[4]4 0 0 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 43: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/43.jpg)
Building the basis of the Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 0 0 0 0 0 )
v2 = ( v[1]2 v
[2]2 0 0 0 0 0 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 0 0 0 0 0 )
v4 = ( v[1]4 v
[2]4 v
[3]4 v
[4]4 0 0 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 44: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/44.jpg)
Building the basis of the Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 0 0 0 0 0 )
v2 = ( v[1]2 v
[2]2 0 0 0 0 0 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 0 0 0 0 0 )
v4 = ( v[1]4 v
[2]4 v
[3]4 v
[4]4 0 0 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 45: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/45.jpg)
Building the basis of Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]1 w
[4]1 0 0 0 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 0 0 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 0 0 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 0 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 46: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/46.jpg)
Building the basis of Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]1 w
[4]1 0 0 0 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 0 0 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 0 0 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 0 0 0 )
w5 = ( w[1]5 w
[2]5 w
[3]5 w
[4]5 w
[5]5 0 0 0 )
w6 = ( w[1]6 w
[2]6 w
[3]6 w
[4]6 w
[5]6 w
[6]6 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 47: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/47.jpg)
Building the basis of Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]1 w
[4]1 0 0 0 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 0 0 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 0 0 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 0 0 0 )
w5 = ( w[1]5 w
[2]5 w
[3]5 w
[4]5 w
[5]5 0 0 0 )
w6 = ( w[1]6 w
[2]6 w
[3]6 w
[4]6 w
[5]6 w
[6]6 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 48: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/48.jpg)
Building the basis of Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]1 z
[4]1 z
[5]1 z
[6]1 0 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 0 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 49: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/49.jpg)
Building the basis of Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]1 z
[4]1 z
[5]1 z
[6]1 0 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 0 )
z7 = ( z[1]7 z
[2]7 z
[3]7 z
[4]7 z
[5]7 z
[6]7 z
[7]7 0 )
z8 = ( z[1]8 z
[2]8 z
[3]8 z
[4]8 z
[5]8 z
[6]8 z
[7]8 z
[8]8 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 50: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/50.jpg)
Building the basis of Krylov subspace
Size of linearization: N = 8 (blocks)Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]1 z
[4]1 z
[5]1 z
[6]1 0 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 0 )
z7 = ( z[1]7 z
[2]7 z
[3]7 z
[4]7 z
[5]7 z
[6]7 z
[7]7 0 )
z8 = ( z[1]8 z
[2]8 z
[3]8 z
[4]8 z
[5]8 z
[6]8 z
[7]8 z
[8]8 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 51: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/51.jpg)
Rational Krylov algorithm to solve the linearized problem
LemmaAt each iteration j of the rational Krylov algorithm, only the top-left parts of thematrices AN − σjBN are used to compute the nonzero top parts vj+1 of thevectors vj+1, i.e.,
(Aj − σjBj)vj+1 = Bj vj ,
where
vj+1 = vec(
v[1]j+1, v
[2]j+1, . . . , v
[j+1]j+1
),
and
vj = vec(
v[1]j , v
[2]j , . . . , v
[j]j , 0
),
![Page 52: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/52.jpg)
Rational Krylov algorithm to solve the linearized problem
Lemma
The linear system (Aj − σjBj)vj+1 = Bj vj can be efficiently solved by using thefollowing equations
A(σj)v[1]j+1 = y
(j)0 ,
where
y(j)0 = −
j∑i=1
Aj
(v
[i ]j +
i−1∑k=1
(i−1∏l=k
µ(j)l
)v
[k]j
),
and
v[2]j+1 = v
[1]j + µ
(j)0 v
[1]j+1,
v[3]j+1 = v
[2]j + µ
(j)1 v
[2]j+1,
... ,
v[j+1]j+1 = v
[j]j + µ
(j)j−1v
[j]j+1.
![Page 53: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/53.jpg)
HIRK (Hermite Interpolation Rational Krylov Method)
1: Choose the shift σ0 and starting vector v1.2: for j = 1, . . . ,m do3: EXPANSION PHASE.4: Choose the shift σj .5: Compute the next divided difference: Aj .6: Expand Aj , Bj and Vj .7: RATIONAL KRYLOV STEP8: if σj−1 6= σj then
9: Change basis Vj → Vj and matrix Hj,j−1 → Hj,j−1
(according to the Rational Krylov algorithm)such that the Arnoldi sequence becomes
(Aj − σjBj )−1Bj Vj = Hj,j−1Vj−1.
10: end if11: Compute the next vector of the sequence:
r = (Aj − σjBj )−1Bjvj ,
r = v − Vjhj , where hj = V Hj r orthogonalization,
vj+1 = r/hj+1,j , where hj+1,j = ‖r‖ normalization.
12: Compute the eigenpair (θi , yi ) for i = 1, . . . , j of Hj,j−1 and then the Ritz pairs (θi ,Vjyi ).13: Test the convergence for the NLEP.14: end for
![Page 54: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/54.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 )
w8 =( )
![Page 55: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/55.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 )
v2 = ( v[1]2 v
[2]2 )
w8 =( w[1]8 )
![Page 56: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/56.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 )
v2 = ( v[1]2 v
[2]2 )
w8 =( w[1]8 )
![Page 57: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/57.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 )
v2 = ( v[1]2 v
[2]2 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 )
w8 =( w[1]8 w
[1]8 )
![Page 58: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/58.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 )
v2 = ( v[1]2 v
[2]2 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 )
w8 =( w[1]8 w
[1]8 )
![Page 59: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/59.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 0 )
v2 = ( v[1]2 v
[2]2 0 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 0 )
v4 = ( v[1]4 v
[2]4 v
[3]4 v
[4]4 )
w8 =( w[1]8 w
[1]8 )
![Page 60: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/60.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
v1 = ( v[1]1 0 0 0 )
v2 = ( v[1]2 v
[2]2 0 0 )
v3 = ( v[1]3 v
[2]3 v
[3]3 0 )
v4 = ( v[1]4 v
[2]4 v
[3]4 v
[4]4 )
w8 =( w[1]8 w
[1]8 )
![Page 61: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/61.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]3 w
[4]1 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 )
w8 =( w[1]8 w
[1]8 )
![Page 62: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/62.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]3 w
[4]1 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 )
w5 = ( w[1]5 w
[2]5 w
[3]5 w
[4]5 w
[5]5 )
w8 =( w[1]8 w
[1]8 w
[1]8 )
![Page 63: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/63.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]3 w
[4]1 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 )
w5 = ( w[1]5 w
[2]5 w
[3]5 w
[4]5 w
[5]5 )
w8 =( w[1]8 w
[1]8 w
[1]8 )
![Page 64: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/64.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]3 w
[4]1 0 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 0 )
w5 = ( w[1]5 w
[2]5 w
[3]5 w
[4]5 w
[5]5 0 )
w6 = ( w[1]6 w
[2]6 w
[3]6 w
[4]6 w
[5]6 w
[6]6 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 65: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/65.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
w1 = ( w[1]1 w
[2]1 w
[3]3 w
[4]1 0 0 )
w2 = ( w[1]2 w
[2]2 w
[3]2 w
[4]2 0 0 )
w3 = ( w[1]3 w
[2]3 w
[3]3 w
[4]3 0 0 )
w4 = ( w[1]4 w
[2]4 w
[3]4 w
[4]4 0 0 )
w5 = ( w[1]5 w
[2]5 w
[3]5 w
[4]5 w
[5]5 0 )
w6 = ( w[1]6 w
[2]6 w
[3]6 w
[4]6 w
[5]6 w
[6]6 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 66: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/66.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]1 z
[4]1 z
[5]1 z
[6]1 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 67: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/67.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]3 z
[4]1 z
[5]1 z
[6]1 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 )
z7 = ( z[1]7 z
[2]7 z
[3]7 z
[4]7 z
[5]7 z
[6]7 z
[7]7 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 68: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/68.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]3 z
[4]1 z
[5]1 z
[6]1 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 )
z7 = ( z[1]7 z
[2]7 z
[3]7 z
[4]7 z
[5]7 z
[6]7 z
[7]7 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 69: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/69.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]3 z
[4]1 z
[5]1 z
[6]1 0 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 0 )
z7 = ( z[1]7 z
[2]7 z
[3]7 z
[4]7 z
[5]7 z
[6]7 z
[7]7 0 )
z8 = ( z[1]8 z
[2]8 z
[3]8 z
[4]8 z
[5]8 z
[6]8 z
[7]8 z
[8]8 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 70: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/70.jpg)
Building the basis of Krylov subspaceExecution of the algorithm
Nodes/shifts: σ0 σ0 σ0 σ1 σ1 σ2 σ2
z1 = ( z[1]1 z
[2]1 z
[3]3 z
[4]1 z
[5]1 z
[6]1 0 0 )
z2 = ( z[1]2 z
[2]2 z
[3]2 z
[4]2 z
[5]2 z
[6]2 0 0 )
z3 = ( z[1]3 z
[2]3 z
[3]3 z
[4]3 z
[5]3 z
[6]3 0 0 )
z4 = ( z[1]4 z
[2]4 z
[3]4 z
[4]4 z
[5]4 z
[6]4 0 0 )
z5 = ( z[1]5 z
[2]5 z
[3]5 z
[4]5 z
[5]5 z
[6]5 0 0 )
z6 = ( z[1]6 z
[2]6 z
[3]6 z
[4]6 z
[5]6 z
[6]6 0 0 )
z7 = ( z[1]7 z
[2]7 z
[3]7 z
[4]7 z
[5]7 z
[6]7 z
[7]7 0 )
z8 = ( z[1]8 z
[2]8 z
[3]8 z
[4]8 z
[5]8 z
[6]8 z
[7]8 z
[8]8 )
w8 =( w[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 w
[1]8 )
![Page 71: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/71.jpg)
Hermite Interpolation Rational Krylov Method
Comments
At every step it is solved a system of the size of the original NLEP and not ofthe size of the linarization.
The computation of the interpolation coefficients is numerically unstable.These coefficients must be computed semianalitically.
Applying this method to a NLEP is like to solve a linear eigenvalue problemof infinite size.
The bottleneck of the algorithm is the Gram–Schmidt process.
At every step, the vectors of the basis of Krylov space get longer.
Exploiting the low rank structure of the matrix coefficients can speedup thealgorithm.
![Page 72: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/72.jpg)
Outline
Shift–invert Arnoldi algorithm for linear eigenproblems
Rational Krylov algorithm for linear eigenproblems
Applications of Rational Krylov algorithm for nonlinear eigenproblems
- Linearization by means of Hermite interpolations- Nonlinear Rational Krylov
![Page 73: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/73.jpg)
Nonlinear Rational Krylov
Definition (Generalized Arnoldi’s sequence)
Given a pole σ ∈ Ω and a sequence of shifts λ1, . . . , λm it holds
A(σ)−1A(λm)Vm = Vm+1Hm+1,m
Generation of the sequence
A(σ)−1A(λj−1)Vj−1 = VjHj,j−1linear−−−−−−−−−−→
interpolationA(σ)−1A(λj)Vj = Vj+1H j+1,j .
![Page 74: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/74.jpg)
Nonlinear Rational Krylov
Definition (Generalized Arnoldi’s sequence)
Given a pole σ ∈ Ω and a sequence of shifts λ1, . . . , λm it holds
A(σ)−1A(λm)Vm = Vm+1Hm+1,m
Generation of the sequence
A(σ)−1A(λj−1)Vj−1 = VjHj,j−1linear−−−−−−−−−−→
interpolationA(σ)−1A(λj)Vj = Vj+1H j+1,j .
![Page 75: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/75.jpg)
Nonlinear Rational Krylov
ObservationWith a linear Lagrange–interpolation between λj and σ we get the linearizedproblem
A(λ) =λ− λjσ − λj
A(σ) +λ− σλj − σ
A(λj).
If (θ, x) is such thatA(σ)−1A(λj)x = θx
then (λj+1, x) is an eigenpair or the linearized problem, where
λj+1 = λj +θ
1− θ(λj − σ).
The closer θ to 0 the closer λj+1 to λj .
![Page 76: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/76.jpg)
Nonlinear Rational Krylov
Nonlinear Rational Krylov algorithm (Preliminary version)
1: Choose a starting vector v1
2: for j = 1, . . . , till convergence do3: Compute the Arnoldi sequence A(σ)−1A(λj)Vj = Vj+1Hj+1,j
4: Compute the smallest eigenpairs (θ, s) of Hj,j
5: λj+1 = λj + θ1−θ (λj − σ)
6: Hj+1,j = 11−θHj+1,j − θ
1−θ Ij+1,j
7: end for
It turns out that this algorithm does not work well.
![Page 77: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/77.jpg)
Nonlinear Rational Krylov
Nonlinear Rational Krylov algorithm (Preliminary version)
1: Choose a starting vector v1
2: for j = 1, . . . , till convergence do3: Compute the Arnoldi sequence A(σ)−1A(λj)Vj = Vj+1Hj+1,j
4: Compute the smallest eigenpairs (θ, s) of Hj,j
5: λj+1 = λj + θ1−θ (λj − σ)
6: Hj+1,j = 11−θHj+1,j − θ
1−θ Ij+1,j
7: end for
It turns out that this algorithm does not work well.
![Page 78: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/78.jpg)
Nonlinear Rational Krylov
Proposition
It holdsA(σ)−1A(λj+1)Vj − VjHj,j = A(σ)−1A(λj+1)Vjs eH
j .
ObservationIn the linear case it holds
A(σ)−1A(λj+1)Vjs = sjhj+1,jvj+1
that is, the residual is orthogonal to Vm. This property does not hold in thenonlinear case. We can introduce INNER ITERATIONS to enforce it.
![Page 79: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/79.jpg)
Nonlinear Rational Krylov
Proposition
It holdsA(σ)−1A(λj+1)Vj − VjHj,j = A(σ)−1A(λj+1)Vjs eH
j .
ObservationIn the linear case it holds
A(σ)−1A(λj+1)Vjs = sjhj+1,jvj+1
that is, the residual is orthogonal to Vm. This property does not hold in thenonlinear case. We can introduce INNER ITERATIONS to enforce it.
![Page 80: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/80.jpg)
NLRK
1: Choose a starting vector v1 with ‖v1‖ = 1, a starting shift λ1 and a pole σ and setj = 1.
2: OUTER ITERATION3: Set hj = 0; s = ej = (0, . . . , 0, 1)H ∈ Rj ; x = vj ;4: Compute r = A(σ)−1A(λ)x and kj = V H
j r5: while ‖kJ‖ > ResTol do6: INNER ITERATION7: Orthogonalize r = r − Vkj8: Set hj = hj + s−1
j kj9: Compute the smallest eigenpair (θ, s) of Hj,j
10: x = Vjs11: Update λ = λ+ θ
1−θ (λ− θ)12: Update Hj,j =
11−θHj,j − θ
1−θ I
13: Compute r = A(σ)−1A(λ)x and kj = V Hj r
14: end while15: Compute hj+1,j = ‖r‖/sj16: if |hj+1,jsj | > EigTol then17: vj+1 = r/‖r‖; j = j + 1; GOTO 318: end if19: Store (θ, x) as eigenpair20: If more eigenvalues are requested, choose next θ and s, and GOTO 10
![Page 81: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/81.jpg)
Nonlinear Rational Krylov
Practical issuesThis version of the algorithm works but there are two important points to make itmore efficient:
Change of pole
Hard purging
Theorem
In O(m3) it is possible to change pole in the generalized Arnoldi sequence, inparticular
A(σ)−1A(λ)Vm = Vm+1Hm+1,m =⇒ A(σ)−1A(λ)Wm = Wm+1Hm+1,m
moreover span(Vm+1) = span(Wm+1). These operations are numerically stable ifσ and σ are far enough from the eigenvalues of the original problem.
When enough Ritz values near a pole have converged we can change the pole.Heuristically a good strategy to change the pole is to take a convexcombination of the next shift and the old pole.
![Page 82: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/82.jpg)
Nonlinear Rational Krylov
Practical issuesThis version of the algorithm works but there are two important points to make itmore efficient:
Change of pole
Hard purging
Theorem
In O(m3) it is possible to change pole in the generalized Arnoldi sequence, inparticular
A(σ)−1A(λ)Vm = Vm+1Hm+1,m =⇒ A(σ)−1A(λ)Wm = Wm+1Hm+1,m
moreover span(Vm+1) = span(Wm+1). These operations are numerically stable ifσ and σ are far enough from the eigenvalues of the original problem.
When enough Ritz values near a pole have converged we can change the pole.Heuristically a good strategy to change the pole is to take a convexcombination of the next shift and the old pole.
![Page 83: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/83.jpg)
Nonlinear Rational Krylov
Thick restart
Let A(σ)−1A(λ)Vm = Vm+1Hm+1,m be an Arnoldi sequence with θ1, . . . , θk asubset of Ritz values, where at least one has not (numerically) converged yet.Then it is possible to build another generalized Arnoldi sequenceA(σ)−1A(λ)Wk = Wk+1Hk+1,k such that θ1, . . . , θk are the Ritz values.
Hard purging
When a Ritz value has numerically converged, then all converged Ritz values andthe nearest to convergence Ritz values must be locked. All the others will bepurged. After that the algorithm continues.
Hard purging is heuristically proposed but it seems a necessary step of thealgorithm. Without this process, the algorithm has a loop for a while on the sameeigenvalue and after that it encounters a breakdown.
![Page 84: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/84.jpg)
Nonlinear Rational Krylov
Thick restart
Let A(σ)−1A(λ)Vm = Vm+1Hm+1,m be an Arnoldi sequence with θ1, . . . , θk asubset of Ritz values, where at least one has not (numerically) converged yet.Then it is possible to build another generalized Arnoldi sequenceA(σ)−1A(λ)Wk = Wk+1Hk+1,k such that θ1, . . . , θk are the Ritz values.
Hard purging
When a Ritz value has numerically converged, then all converged Ritz values andthe nearest to convergence Ritz values must be locked. All the others will bepurged. After that the algorithm continues.
Hard purging is heuristically proposed but it seems a necessary step of thealgorithm. Without this process, the algorithm has a loop for a while on the sameeigenvalue and after that it encounters a breakdown.
![Page 85: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/85.jpg)
Numerical experimentation
GUN problem
This is a large-scale NLEP that models a radio frequency gun cavity and is of theform
F (λ)x =
(K − λM + i
√λ− σ2
1W1 + i√λ− σ2
2W2
)x = 0
Where M,K ,W1,W2 ∈ R9956×9956 are real symmetric, K is positive semidefinite,and M is positive definite. The domain of interest is
Ω = λ ∈ C such that |λ− µ| ≤ γ and Im(λ) ≥ 0 .
The parameters are set to σ1 = 0, σ2 = 108.8774, γ = 50000 and µ = 62500.
Before solving the problem we applied shift and rescaling in order to transform Ωinto the upper part of the unit circle.
![Page 86: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/86.jpg)
Numerical experimentation: HIRK
NLRK divergesHIRK succeeds to compute eigenvalues
Eigenvalues of the gun problem are computed with 60 iterations. The same nodeis used 12 times.
100 150 200 250 300 350
0
50
100
150Converged eigenvaluesShiftsBorder of the region of interest
![Page 87: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/87.jpg)
Numerical experimentation
Vibrating string with elastically attached mass
Consider the system of a limp string of unit length, which is clamped at one end.The other end is free but has a mass m attached to it via an elastic spring ofstiffness k. The eigenvibrations of the string are governed by the eigenvalueproblem
−u′′(x) = λu(x)
u(0) = 0
u′(1) + k λλ−k/mu(1) = 0
![Page 88: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/88.jpg)
Numerical experimentation
Eigenvalues of the continuum problem
With easy computations, we found that the eigenvalues are the solution of theequation
tan(√λ) =
1
mλ−√λ
k
Discrete problem
Discretizing the problem by means of the finite element method using P1elements we arrive at the nonlinear eigenproblem
A− λB + kλ
λ− k/mC = 0,
A =1
h
2 −1
−1. . .
. . .
. . . 2 −1−1 1
, B =h
6
4 1
1. . .
. . .
. . . 4 11 2
, C = eneHn .
![Page 89: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/89.jpg)
Numerical experimentation
Eigenvalues of the continuum problem
With easy computations, we found that the eigenvalues are the solution of theequation
tan(√λ) =
1
mλ−√λ
k
Discrete problem
Discretizing the problem by means of the finite element method using P1elements we arrive at the nonlinear eigenproblem
A− λB + kλ
λ− k/mC = 0,
A =1
h
2 −1
−1. . .
. . .
. . . 2 −1−1 1
, B =h
6
4 1
1. . .
. . .
. . . 4 11 2
, C = eneHn .
![Page 90: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/90.jpg)
Numerical experimentation: NLRK
TaskCompute the second smallest eigenvalue λ2
Se set EigTol = 10−6 and ResTol = 10−6.
For m = 1 and k = 0.01 we have λ2 ' 2.4874.
N |λ2 − λ2| Outer iterations Average of inner iterations ˜A
100 10−3 5 2 ˜A
10000 10−5 6 2 ˜A
For m = 1 and k = 0.1 we have λ2 ' 2.6679.
N |λ2 − λ2| Outer iterations Average of inner iterations ˜A
100 10−2 5 3 ˜A
10000 10−3 6 3 ˜A
For m = 1 and k = 1 NLRK diverges.
HIRK succeeds to compute λ2 but it is slow. On the other hand it works also form = 1 and k = 1.
![Page 91: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/91.jpg)
Numerical experimentation
Fluid-solid structure interactionThe study of free vibrations of a tube bundle immersed in a slightly compressible(under a few simplifications) leads to the following continuum eigenproblem.Find λ ∈ R and u ∈ H1(Ω0) such that for every v ∈ H1(Ω0)
c2
∫Ω0
∇u · ∇vdx = λ
∫Ω0
uvdx +∑j=1k
λρ0
kj − λmj
∫Γj
unds ·∫
Γj
vnds
All the constants in the above problem are set equal to 1.
Discrete problem
After discretization by means of finite elements we obtain
A(λ)x = −Ax + λBx +λ
1− λCx = 0
where C collects the contributions of all tubes. A, B, and C are symmetricmatrices, A and C are positive semidefinite, and B is positive definite
![Page 92: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/92.jpg)
Numerical experimentation
Fluid-solid structure interactionThe study of free vibrations of a tube bundle immersed in a slightly compressible(under a few simplifications) leads to the following continuum eigenproblem.Find λ ∈ R and u ∈ H1(Ω0) such that for every v ∈ H1(Ω0)
c2
∫Ω0
∇u · ∇vdx = λ
∫Ω0
uvdx +∑j=1k
λρ0
kj − λmj
∫Γj
unds ·∫
Γj
vnds
All the constants in the above problem are set equal to 1.
Discrete problem
After discretization by means of finite elements we obtain
A(λ)x = −Ax + λBx +λ
1− λCx = 0
where C collects the contributions of all tubes. A, B, and C are symmetricmatrices, A and C are positive semidefinite, and B is positive definite
![Page 93: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/93.jpg)
Numerical experimentation
In our setting there are 9 tubes. We discretized the problem with FreeFem++using P1 triangular elements. Example of discretization of domain withFreeFem++
−8 −6 −4 −2 0 2 4 6 8
−4
−2
0
2
4
![Page 94: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/94.jpg)
Convergence history of Ritz values computed with the discretization of FreeFem++
0 10 20 300
2
4
6
8
10
iteration
Co
nve
rged
Rit
zva
lues
(a) n = 50, m = 10, N = 1636
0 10 20 300
2
4
6
8
10
iteration
Co
nve
rged
Rit
zva
lues
(b) n = 100, m = 10, N = 2156
0 10 20 300
2
4
6
8
10
iteration
Co
nve
rged
Rit
zva
lues
(c) n = 200, m = 10, N = 3277
0 10 20 300
2
4
6
8
10
iteration
Co
nve
rged
Rit
zva
lues
(d) n = 400, m = 10, N = 5604
![Page 95: people.kth.segmele/talks/KTH.pdf · Thick restart Problem When the Arnoldi sequence grows too long, every step of the Arnoldi iteration gets slower. Moreover orthogonality is numerically](https://reader030.fdocuments.net/reader030/viewer/2022040508/5e4b124b01d69b4f2309d299/html5/thumbnails/95.jpg)
Thank you for your attention.