What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Exponential Peer Methodswith Variable Step sizes
Tamer El-Azab & Rüdiger Weiner
Institute of MathematicsMartin-Luther-University Halle-Wittenberg
October 28, 2010
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Outline
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
What are exponential integrators?
Exponential integrators are those integrators which use theexponential function (and related functions) of the Jacobian or anapproximation to it, inside the numerical method.
An alternative to implicit methods for the numerical solutionof stiff or highly oscillatory differential equations.Many exponential integrators are designed for solvingdifferential equations of the form
y ′ (t) = f (t, y (t)) = Ty (t) + g (t, y (t)) (1)
Exponential integrators have two main features:1 If T = 0, then the scheme reduces to a standard scheme.2 If g(t, y) = 0 for all y and t, then the scheme reproduces the
exact solution of (1).
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
What are exponential integrators?
Exponential integrators are those integrators which use theexponential function (and related functions) of the Jacobian or anapproximation to it, inside the numerical method.
An alternative to implicit methods for the numerical solutionof stiff or highly oscillatory differential equations.Many exponential integrators are designed for solvingdifferential equations of the form
y ′ (t) = f (t, y (t)) = Ty (t) + g (t, y (t)) (1)
Exponential integrators have two main features:1 If T = 0, then the scheme reduces to a standard scheme.2 If g(t, y) = 0 for all y and t, then the scheme reproduces the
exact solution of (1).
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
ϕ-functions
The most common related functions used in exponential integratorsare the so called ϕ-functions, which are defined as
ϕl (z) =
∫ 1
0e(1−θ)z
θl−1
(l − 1)!dθ, l ≥ 1, ϕ0 (z) = ez .
The ϕ-functions are related by the recurrence relation
ϕl+1 (z) =ϕl (z)− ϕl (0)
z, ϕl (0) =
1l !
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Computing the ϕ-functions
The hard part of implementing exponential integrators is theevaluation of (linear combinations of) ϕ-functions.Some methods for evaluating the ϕ-function :
Krylov-subspace methods. (Friesner, Tuckerman & Dornblaser1989, Hochbruck & Lubich 1995)Leja point interpolation (Caliari & Ostermann).Using contour integrals (Schmelzer & Trefethen).RD-rational approximations (Moret & Novati 2004).Rational Krylov (Grimm & Hochbruck).Using Padè approximation combined withscaling-and-squaring. (Higham 2005)
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Outline
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Short historical overview
1 In 1960 Certaine,Adams Moulton methods of order 2 and 3.
2 In 1967 Lawson,Generalized RK Processes (IF methods).
3 In 1978 Friedli,ETD based on explicit RK Methods of order 5.
4 In 1998 Hochbruck and Lubich,Exponential Integrators (EXP4) with inexact Jacobian.
5 In 2003 Hochbruck and Ostermann,Exponential collocation methods, convergence analysis.
6 In 2006 Ostermann and Wright,A Class of Explicit Exponential General Linear Methods.
7 In 2009 Hochbruck, Ostermann, and Schweitzer,Exponential Rosenbrock-type methods.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Outline
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Expint Matlab package
Expint is a Matlab package designed as a tool for the numericaltesting of various exponential integrators (RK, MS, GL).Designed by Berland H., Skaflestad B. and Wright, W.M.2005.Expint includes test problems and time stepping methods withconstant step size.Computing ϕ-functions by using Padè approximation combinedwith scaling-and-squaring.
In NUMDIFF 12 We used this package for testing and comparingthe Exponential Peer methods for constant step sizes. Here we willadapt it for testing of Exponential Peer methods for variable stepsizes.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Outline
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Exponential Peer Methods (EPM)
We consider y ′ = f (t, y(t)) and Ymi ≈ y(tm + cih) i = 1, ..., s1 s-stage Peer methods.
All stages have the same properties.Explicit and implicit Peer methods (Podhaisky, Schmitt &Weiner 2004 – 2010).No order reduction for stiff systems observed for implicit Peermethods.
2 Here Exponential Peer Methods.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Exponential Peer Methods (EPM) Con.
Ymi = ϕ0(αihmTm)s∑
j=1
bijYm−1,j + hm
s∑j=1
Aij (αihmTm)[fm−1,j − TmYm−1,j ]
+ hm
i−1∑j=1
Rij (αihmTm)[fm,j − TmYm,j ], i = 1, 2, ...s. (2)
fm,j = f (tm + cjhm,Ym,j ).
Tm ≈ fy for stability reasons & if Tm = 0 we get explicit Peer Methods.We will consider Tm = T .
σm = hmhm−1
is the step size ratio.
The coefficients Aij (αihmTm) and Rij (αihmTm) are linear combinationsof the ϕ-functions and depend on σm,
B = (bij )si,j=1 ∈ Rs×s depends only on σm.
c = (ci )si=1 ∈ Rs and the vector α = (αi )
si=1 ∈ Rs is chosen to have a
small number of different arguments.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Consistency & Stability
Definition 1The exponential peer method (3) is consistent of nonstiff order p if thereare constants h0,C > 0 such that
‖∆m,i‖ ≤ Chp+1m for all hm ≤ h0, and for all 1 ≤ i ≤ s.
The method is consistent of stiff order p, if C and h0 may depend on ω,Lg and bounds for derivatives of the exact solution, but are independentof ‖T‖.
where
The nonlinear part satisfies a global Lipschitz condition
‖g(t, u)− g(t, v)‖ ≤ Lg‖u − v‖
T has a bounded logarithmic norm
µ(T ) ≤ ω.
.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Consistency & Stability Con.
Theorem 1Consider y ′ = Ty . If the exponential Peer method satisfies the conditions
s∑j=1
bij
(cj − 1σm
)l
= (ci − αi )l , l = 0, 1, ..., q, (3)
then it is of stiff order of consistency p = q for the equation y ′ = Ty .
Corollary 1
Let
B = VαSV−11 , (4)
whereS = diag(1, σm, · · · , σs−1
m ), 1 = (1, · · · , 1)T ,
Vα =(1, c − α, · · · , (c − α)s−1) ,V1 =
(1, c − 1, · · · , (c − 1)s−1) .
Then the EPM has stiff order p = s − 1 for the equation y ′ = Ty .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Consistency & Stability Con.
Theorem 2Let the condition (3) be satisfied for l = 0, ..., q. Let further
s∑j=1
Aij
(cj − 1σm
)r
+i−1∑j=1
Rijc rj =
r∑l=0
(rl
)l !αl+1
i (ci − αi )r−l ϕl+1, (5)
for r = 0, ..., q. Then the EPM is at least of stiff order of consistency p = q for(1).
Theorem 3Let the solution y(t) be (q + 2)-times continuously differentiable. Let theconditions (3) be satisfied for l = 0, ..., q + 1, and (5) for l = 0, ..., q. Then themethod is of nonstiff order p = q + 1.
Definition 2The exponential peer method (2) is called stable (zero stable) if
‖Bm+lBm+l−1 · · ·Bm‖ ≤ K for all m, l ≥ 0, Bm = B(σm)
.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Choosing α values
We chose two different possibilities for the values of α.
1 Natural Choice is α = c =⇒ s different values are required .
Theorem 4
Let α = c , cs = 1 and B given by (4). Then the EPM is stable for allstep size sequences.
2 α = (α∗, · · · , α∗, 1)T =⇒ only 2 different arguments
Theorem 5
Let α = (α∗, · · · , α∗, 1)T , ci = (s − i)(αi − 1) + 1, i = 1, ..., s. LetB given by (4). Then there exist constants σmin < 1 < σmax so that theEPM is stable for all step size sequences satisfying σmin ≤ σ ≤ σmax .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Choosing α values
We chose two different possibilities for the values of α.
1 Natural Choice is α = c =⇒ s different values are required .
Theorem 4
Let α = c , cs = 1 and B given by (4). Then the EPM is stable for allstep size sequences.
2 α = (α∗, · · · , α∗, 1)T =⇒ only 2 different arguments
Theorem 5
Let α = (α∗, · · · , α∗, 1)T , ci = (s − i)(αi − 1) + 1, i = 1, ..., s. LetB given by (4). Then there exist constants σmin < 1 < σmax so that theEPM is stable for all step size sequences satisfying σmin ≤ σ ≤ σmax .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Choosing α values
We chose two different possibilities for the values of α.
1 Natural Choice is α = c =⇒ s different values are required .
Theorem 4
Let α = c , cs = 1 and B given by (4). Then the EPM is stable for allstep size sequences.
2 α = (α∗, · · · , α∗, 1)T =⇒ only 2 different arguments
Theorem 5
Let α = (α∗, · · · , α∗, 1)T , ci = (s − i)(αi − 1) + 1, i = 1, ..., s. LetB given by (4). Then there exist constants σmin < 1 < σmax so that theEPM is stable for all step size sequences satisfying σmin ≤ σ ≤ σmax .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Choosing α values
We chose two different possibilities for the values of α.
1 Natural Choice is α = c =⇒ s different values are required .
Theorem 4
Let α = c , cs = 1 and B given by (4). Then the EPM is stable for allstep size sequences.
2 α = (α∗, · · · , α∗, 1)T =⇒ only 2 different arguments
Theorem 5
Let α = (α∗, · · · , α∗, 1)T , ci = (s − i)(αi − 1) + 1, i = 1, ..., s. LetB given by (4). Then there exist constants σmin < 1 < σmax so that theEPM is stable for all step size sequences satisfying σmin ≤ σ ≤ σmax .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Choosing α values con.
For the choice (2):
Theorem 6
Fors − 2s − 1
≤ α∗ < 1
the nodes ci are distinct and satisfy 0 ≤ ci ≤ 1 with cs = 1. The methodis of order p ≥ s − 1 for y ′ = Ty .
We computed the following bounds for σmin and σmax with MAPLE:
s σmin σmax
3 0 24 0 1.55 0 1.3313
We suppose that there exists some norm such that
‖B‖ ≤ 1 for 0 < σ ≤ s − 1s − 2
.
If we perform s − 1 consecutive steps with constant step size, then theproducts will be uniformly bounded independent of σ.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Outline
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Implementation issues & Numerical tests
1 For error estimation, we used interpolation using Ymi , i = 1, ..., s − 1 andwe compute a solution Yms of order p = s − 2. ( epmsi )
2 The error is estimated by
err =1√n
‖Yms − Yms‖2atol + rtol ·max(‖Yms‖2, ‖Yms‖2)
.
3 Compute fac = err−1/(s−1).
4 The new step size is computed as follows
hnew =
h, 1 ≤ fac ≤ σmax
σmaxh, fac > σmax
max(0.2, fac)h, fac < 1,
In the last case the step is repeated.with
σmax = (s−1)(s−2) .
α∗ = s−1s .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Implementation issues & Numerical tests
1 For error estimation, we used interpolation using Ymi , i = 1, ..., s − 1 andwe compute a solution Yms of order p = s − 2. ( epmsi )
2 The error is estimated by
err =1√n
‖Yms − Yms‖2atol + rtol ·max(‖Yms‖2, ‖Yms‖2)
.
3 Compute fac = err−1/(s−1).
4 The new step size is computed as follows
hnew =
h, 1 ≤ fac ≤ σmax
σmaxh, fac > σmax
max(0.2, fac)h, fac < 1,
In the last case the step is repeated.with
σmax = (s−1)(s−2) .
α∗ = s−1s .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Implementation issues & Numerical tests
1 For error estimation, we used interpolation using Ymi , i = 1, ..., s − 1 andwe compute a solution Yms of order p = s − 2. ( epmsi )
2 The error is estimated by
err =1√n
‖Yms − Yms‖2atol + rtol ·max(‖Yms‖2, ‖Yms‖2)
.
3 Compute fac = err−1/(s−1).
4 The new step size is computed as follows
hnew =
h, 1 ≤ fac ≤ σmax
σmaxh, fac > σmax
max(0.2, fac)h, fac < 1,
In the last case the step is repeated.with
σmax = (s−1)(s−2) .
α∗ = s−1s .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Implementation issues & Numerical tests
1 For error estimation, we used interpolation using Ymi , i = 1, ..., s − 1 andwe compute a solution Yms of order p = s − 2. ( epmsi )
2 The error is estimated by
err =1√n
‖Yms − Yms‖2atol + rtol ·max(‖Yms‖2, ‖Yms‖2)
.
3 Compute fac = err−1/(s−1).
4 The new step size is computed as follows
hnew =
h, 1 ≤ fac ≤ σmax
σmaxh, fac > σmax
max(0.2, fac)h, fac < 1,
In the last case the step is repeated.with
σmax = (s−1)(s−2) .
α∗ = s−1s .
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Numerical Tests Con.
1 Expint package is usedϕ-functions.Test examples.
2 We modified some Expint files and added our own code.3 For comparison we used ode15s and ode45.4 Starting values are computed by ode15s.5 Time interval is [0,10] with tol: 10−1, 10−2, ..., 10−10.
6 Figures present the accuracy of the numerical solution Y attend versus the computing time.
7 The error is computed by
Error =‖Y − Yref ‖∞
maxi max(|Yref ,i |, 1),
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Comparing Expint Integrators with EPMs (Constant stepsize)
10−3
10−2
10−1
100
10−12
10−10
10−8
10−6
10−4
10−2
100
Timestep h
Err
or
Parabolic Test, ND=200, IC: x(1−x)
4
5
epm4epm5ablawson4lawson4etd4rkstrehmelweinerhochost4rkmk4tetd5rkf
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
EPMs ( No order reduction )
10−3
10−2
10−1
10−12
10−10
10−8
10−6
10−4
10−2
Timestep h
Err
or Parabolic Test, ND=200, IC: x(1−x)
3
4
5
67
epm3epm4epm5epm6epm7
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
10−1
100
10−10
10−8
10−6
10−4
10−2
Time
Err
or
Gray−Scott, ND=128, IC: Smooth, α=0.035, β=0.065
ode15sode45epm3iepm4iepm5i
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
10−1
100
10−10
10−8
10−6
10−4
10−2
Time
Err
or
Allen−Cahn, ND=64, IC: 0.53x+0.47sin(−1.5*pi*x), λ=0.001
ode15sode45epm3iepm4iepm5i
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
10−1
100
101
10−10
10−8
10−6
10−4
10−2
Time
Err
or
Kuramoto−Sivashinsky, ND=128, IC: cos(x/16)(1+sin(x/16))
ode15sode45epm3iepm4iepm5i
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
10−1
100
101
102
103
10−8
10−6
10−4
10−2
100
102
Time
Err
or
Nonlinear Schrödinger, ND=128, IC: exp(sin(2x)), Pot: 1overSinSqr, λ=1
ode15sode45epm3iepm4iepm5i
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
10−1
100
101
102
10−10
10−8
10−6
10−4
10−2
100
Time
Err
or
Schrödinger type, ND=64, IC: x(1−x)
ode15sode45epm3iepm4iepm5i
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
10−1
100
101
102
10−12
10−10
10−8
10−6
10−4
10−2
100
Time
Err
or
Hyperbolic test, ND=64, IC: x(1−x)
ode15sode45epm3iepm4iepm5i
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Outline
1 What are exponential integrators?ϕ-functions
Computing the ϕ-functions
2 Short historical overview
3 Expint Matlab package
4 Exponential Peer Methods (EPM)Consistency & StabilityChoosing α values
5 Implementation issues & Numerical tests
6 Conclusion
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Conclusion
Exponential Peer methods show good accuracy and no orderreduction observed.The exponential peer methods seem to be more efficient thanthe classical codes, especially for sharper tolerances, if theJacobian has eigenvalues with large imaginary part.Current work.
Krylov techniques for large dimensions.
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Thank You For Your Attention.
Any questions?
What are exponential integrators? Short historical overview Expint Matlab package Exponential Peer Methods (EPM) Implementation issues & Numerical tests Conclusion
Thank You For Your Attention.
Any questions?