Parareal

Last updated

Parareal is a parallel algorithm from numerical analysis and used for the solution of initial value problems. [1] It was introduced in 2001 by Lions, Maday and Turinici. Since then, it has become one of the most widely studied parallel-in-time integration methods.[ citation needed ]

Contents

Illustration of the first iteration in Parareal (adapted from the original version ). Parareal.svg
Illustration of the first iteration in Parareal (adapted from the original version ).

Parallel-in-time integration methods

In contrast to e.g. Runge-Kutta or multi-step methods, some of the computations in Parareal can be performed in parallel and Parareal is therefore one example of a parallel-in-time integration method. While historically most efforts to parallelize the numerical solution of partial differential equations focussed on the spatial discretization, in view of the challenges from exascale computing, parallel methods for temporal discretization have been identified as a possible way to increase concurrency in numerical software. [3] Because Parareal computes the numerical solution for multiple time steps in parallel, it is categorized as a parallel across the steps method. [4] This is in contrast to approaches using parallelism across the method like parallel Runge-Kutta or extrapolation methods, where independent stages can be computed in parallel or parallel across the system methods like waveform relaxation. [5] [6]

History

Parareal can be derived as both a multigrid method in time method or as multiple shooting along the time axis. [7] Both ideas, multigrid in time as well as adopting multiple shooting for time integration, go back to the 1980s and 1990s. [8] [9] Parareal is a widely studied method and has been used and modified for a range of different applications. [10] Ideas to parallelize the solution of initial value problems go back even further: the first paper proposing a parallel-in-time integration method appeared in 1964. [11]

Algorithm

The Problem

The goal is to solve an initial value problem of the form

The right hand side is assumed to be a smooth (possibly nonlinear) function. It can also correspond to the spatial discretization of a partial differential equation in a method of lines approach. We wish to solve this problem on a temporal mesh of equally spaced points , where and . Carrying out this discretisation we obtain a partitioned time interval consisting of time slices for .

The objective is to calculate numerical approximations to the exact solution using a serial time-stepping method (e.g. Runge-Kutta) that has high numerical accuracy (and therefore high computational cost). We refer to this method as the fine solver , which propagates an initial value at time to a terminal value at time . The goal is to calculate the solution (with high numerical accuracy) using such that we obtain

The problem with this (and the reason for attempting to solve in parallel in the first place) solution is that it is computationally infeasible to calculate in real-time.

How it works

Instead of using a single processor to solve the initial value problem (as is done with classical time-stepping methods), Parareal makes use of processors. The aim to is to use processors to solve smaller initial value problems (one on each time slice) in parallel. For example, in a MPI based code, would be the number of processes, while in an OpenMP based code, would be equal to the number of threads.

Parareal makes use of a second time-stepping method to solve this initial value problem in parallel, referred to as the coarse solver . The coarse solver works the same way as the fine solver, propagating an initial value over a time interval of length , however it does so at much lower numerical accuracy than (and therefore at much lower computational cost). Having a coarse solver that is much less computationally expensive than the fine solver is the key to achieving parallel speed-up with Parareal.

Henceforth, we will denote the Parareal solution at time and iteration by .

Zeroth Iteration

Firstly, run the coarse solver serially over the entire time interval to calculate an approximate initial guess to the solution:

Subsequent Iterations

Next, run the fine solver on each of the time slices, in parallel, from the most up-to-date solution values:

Now update the parareal solution values sequentially using the predictor-corrector:

At this stage, one can use a stopping criterion to determine whether the solution values are no longer changing each iteration. For example, one may test this by checking if

and some tolerance . If this critertion is not satisfied, subsequent iterations can then be run by applying the fine solver in parallel and then the predictor-corrector. Once the criterion is satisfied, however, the algorithm is said to have converged in iterations. Note that other stopping criterion do exist and have been successfully tested in Parareal.

Remarks

Parareal should reproduce the solution that is obtained by the serial application of the fine solver and will converge in a maximum of iterations. [7] For Parareal to provide speedup, however, it has to converge in a number of iterations significantly smaller than the number of time slices, i.e. .

In the Parareal iteration, the computationally expensive evaluation of can be performed in parallel on processing units. By contrast, the dependency of on means that the coarse correction has to be computed in serial order.

Typically, some form of Runge-Kutta method is chosen for both coarse and fine integrator, where might be of lower order and use a larger time step than . If the initial value problem stems from the discretization of a PDE, can also use a coarser spatial discretization, but this can negatively impact convergence unless high order interpolation is used. [12]


Visualization of the Parareal algorithm. The coarse propagator here is labelled whereas the fine propagator is labelled .

Speedup

Under some assumptions, a simple theoretical model for the speedup of Parareal can be derived. [13] Although in applications these assumptions can be too restrictive, the model still is useful to illustrate the trade offs that are involved in obtaining speedup with Parareal.

First, assume that every time slice consists of exactly steps of the fine integrator and of steps of the coarse integrator. This includes in particular the assumption that all time slices are of identical length and that both coarse and fine integrator use a constant step size over the full simulation. Second, denote by and the computing time required for a single step of the fine and coarse methods, respectively, and assume that both are constant. This is typically not exactly true when an implicit method is used, because then runtimes vary depending on the number of iterations required by the iterative solver.

Under these two assumptions, the runtime for the fine method integrating over time slices can be modelled as

The runtime of Parareal using processing units and performing iterations is

Speedup of Parareal then is

These two bounds illustrate the trade off that has to be made in choosing the coarse method: on the one hand, it has to be cheap and/or use a much larger time step to make the first bound as large as possible, on the other hand the number of iterations has to be kept low to keep the second bound large. In particular, Parareal's parallel efficiency is bounded by

that is by the inverse of the number of required iterations.

Instability for imaginary eigenvalues

The vanilla version of Parareal has issues for problems with imaginary eigenvalues. [7] It typically only converges toward the very last iterations, that is as approaches , and the speedup is always going to be smaller than one. So either the number of iterations is small and Parareal is unstable or, if is large enough to make Parareal stable, no speedup is possible. This also means that Parareal is typically unstable for hyperbolic equations. [14] Even though the formal analysis by Gander and Vandewalle covers only linear problems with constant coefficients, the problem also arises when Parareal is applied to the nonlinear Navier–Stokes equations when the viscosity coefficient becomes too small and the Reynolds number too large. [15] Different approaches exist to stabilise Parareal, [16] [17] [18] one being Krylov-subspace enhanced Parareal.

Variants

There are multiple algorithms that are directly based or at least inspired by the original Parareal algorithm.

Krylov-subspace enhanced Parareal

Early on it was recognised that for linear problems information generated by the fine method can be used to improve the accuracy of the coarse method . [17] Originally, the idea was formulated for the parallel implicit time-integrator PITA, [19] a method closely related to Parareal but with small differences in how the correction is done. In every iteration the result is computed for values for . Based on this information, the subspace

is defined and updated after every Parareal iteration. [20] Denote as the orthogonal projection from to . Then, replace the coarse method with the improved integrator .

As the number of iterations increases, the space will grow and the modified propagator will become more accurate. This will lead to faster convergence. This version of Parareal can also stably integrate linear hyperbolic partial differential equations. [21] An extension to nonlinear problems based on the reduced basis method exists as well. [18]

Hybrid Parareal spectral deferred corrections

A method with improved parallel efficiency based on a combination of Parareal with spectral deferred corrections (SDC) [22] has been proposed by M. Minion. [23] It limits the choice for coarse and fine integrator to SDC, sacrificing flexibility for improved parallel efficiency. Instead of the limit of , the bound on parallel efficiency in the hybrid method becomes

with being the number of iterations of the serial SDC base method and the typically greater number of iterations of the parallel hybrid method. The Parareal-SDC hybrid has been further improved by addition of a full approximation scheme as used in nonlinear multigrid. This led to the development of the parallel full approximation scheme in space and time (PFASST). [24] Performance of PFASST has been studied for PEPC, a Barnes-Hut tree code based particle solver developed at Juelich Supercomputing Centre. Simulations using all 262,144 cores on the IBM BlueGene/P system JUGENE showed that PFASST could produce additional speedup beyond saturation of the spatial tree parallelisation. [25]

Multigrid reduction in time (MGRIT)

The multigrid reduction in time method (MGRIT) generalises the interpretation of Parareal as a multigrid-in-time algorithms to multiple levels using different smoothers. [26] It is a more general approach but for a specific choice of parameters it is equivalent to Parareal. The XBraid library implementing MGRIT is being developed by Lawrence Livermore National Laboratory.

ParaExp

ParaExp uses exponential integrators within Parareal. [27] While limited to linear problems, it can produce almost optimal parallel speedup.

Related Research Articles

In quantum computing, Grover's algorithm, also known as the quantum search algorithm, refers to a quantum algorithm for unstructured search that finds with high probability the unique input to a black box function that produces a particular output value, using just evaluations of the function, where is the size of the function's domain. It was devised by Lov Grover in 1996.

Spectral methods are a class of techniques used in applied mathematics and scientific computing to numerically solve certain differential equations. The idea is to write the solution of the differential equation as a sum of certain "basis functions" and then to choose the coefficients in the sum in order to satisfy the differential equation as well as possible.

<span class="mw-page-title-main">Numerical methods for ordinary differential equations</span> Methods used to find numerical solutions of ordinary differential equations

Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of ordinary differential equations (ODEs). Their use is also known as "numerical integration", although this term can also refer to the computation of integrals.

<span class="mw-page-title-main">Discretization</span> Process of transferring continuous functions into discrete counterparts

In applied mathematics, discretization is the process of transferring continuous functions, models, variables, and equations into discrete counterparts. This process is usually carried out as a first step toward making them suitable for numerical evaluation and implementation on digital computers. Dichotomization is the special case of discretization in which the number of discrete classes is 2, which can approximate a continuous variable as a binary variable.

Verlet integration is a numerical method used to integrate Newton's equations of motion. It is frequently used to calculate trajectories of particles in molecular dynamics simulations and computer graphics. The algorithm was first used in 1791 by Jean Baptiste Delambre and has been rediscovered many times since then, most recently by Loup Verlet in the 1960s for use in molecular dynamics. It was also used by P. H. Cowell and A. C. C. Crommelin in 1909 to compute the orbit of Halley's Comet, and by Carl Størmer in 1907 to study the trajectories of electrical particles in a magnetic field . The Verlet integrator provides good numerical stability, as well as other properties that are important in physical systems such as time reversibility and preservation of the symplectic form on phase space, at no significant additional computational cost over the simple Euler method.

<span class="mw-page-title-main">Smoothed-particle hydrodynamics</span> Method of hydrodynamics simulation

Smoothed-particle hydrodynamics (SPH) is a computational method used for simulating the mechanics of continuum media, such as solid mechanics and fluid flows. It was developed by Gingold and Monaghan and Lucy in 1977, initially for astrophysical problems. It has been used in many fields of research, including astrophysics, ballistics, volcanology, and oceanography. It is a meshfree Lagrangian method, and the resolution of the method can easily be adjusted with respect to variables such as density.

In numerical analysis, a multigrid method is an algorithm for solving differential equations using a hierarchy of discretizations. They are an example of a class of techniques called multiresolution methods, very useful in problems exhibiting multiple scales of behavior. For example, many basic relaxation methods exhibit different rates of convergence for short- and long-wavelength components, suggesting these different scales be treated differently, as in a Fourier analysis approach to multigrid. MG methods can be used as solvers as well as preconditioners.

The Lanczos algorithm is an iterative method devised by Cornelius Lanczos that is an adaptation of power methods to find the "most useful" eigenvalues and eigenvectors of an Hermitian matrix, where is often but not necessarily much smaller than . Although computationally efficient in principle, the method as initially formulated was not useful, due to its numerical instability.

Quantum annealing (QA) is an optimization process for finding the global minimum of a given objective function over a given set of candidate solutions, by a process using quantum fluctuations. Quantum annealing is used mainly for problems where the search space is discrete with many local minima; such as finding the ground state of a spin glass or the traveling salesman problem. The term "quantum annealing" was first proposed in 1988 by B. Apolloni, N. Cesa Bianchi and D. De Falco as a quantum-inspired classical algorithm. It was formulated in its present form by T. Kadowaki and H. Nishimori in "Quantum annealing in the transverse Ising model" though an imaginary-time variant without quantum coherence had been discussed by A. B. Finnila, M. A. Gomez, C. Sebenik and J. D. Doll, in "Quantum annealing is a new method for minimizing multidimensional functions".

In computational chemistry, a constraint algorithm is a method for satisfying the Newtonian motion of a rigid body which consists of mass points. A restraint algorithm is used to ensure that the distance between mass points is maintained. The general steps involved are: (i) choose novel unconstrained coordinates, (ii) introduce explicit constraint forces, (iii) minimize constraint forces implicitly by the technique of Lagrange multipliers or projection methods.

In numerical linear algebra, the alternating-direction implicit (ADI) method is an iterative method used to solve Sylvester matrix equations. It is a popular method for solving the large matrix equations that arise in systems theory and control, and can be formulated to construct solutions in a memory-efficient, factored form. It is also used to numerically solve parabolic and elliptic partial differential equations, and is a classic method used for modeling heat conduction and solving the diffusion equation in two or more dimensions. It is an example of an operator splitting method.

<span class="mw-page-title-main">Domain decomposition methods</span>

In mathematics, numerical analysis, and numerical partial differential equations, domain decomposition methods solve a boundary value problem by splitting it into smaller boundary value problems on subdomains and iterating to coordinate the solution between adjacent subdomains. A coarse problem with one or few unknowns per subdomain is used to further coordinate the solution between the subdomains globally. The problems on the subdomains are independent, which makes domain decomposition methods suitable for parallel computing. Domain decomposition methods are typically used as preconditioners for Krylov space iterative methods, such as the conjugate gradient method, GMRES, and LOBPCG.

The adjoint state method is a numerical method for efficiently computing the gradient of a function or operator in a numerical optimization problem. It has applications in geophysics, seismic imaging, photonics and more recently in neural networks.

Exponential integrators are a class of numerical methods for the solution of ordinary differential equations, specifically initial value problems. This large class of methods from numerical analysis is based on the exact integration of the linear part of the initial value problem. Because the linear part is integrated exactly, this can help to mitigate the stiffness of a differential equation. Exponential integrators can be constructed to be explicit or implicit for numerical ordinary differential equations or serve as the time integrator for numerical partial differential equations.

Equation-free modeling is a method for multiscale computation and computer-aided analysis. It is designed for a class of complicated systems in which one observes evolution at a macroscopic, coarse scale of interest, while accurate models are only given at a finely detailed, microscopic, level of description. The framework empowers one to perform macroscopic computational tasks using only appropriately initialized microscopic simulation on short time and small length scales. The methodology eliminates the derivation of explicit macroscopic evolution equations when these equations conceptually exist but are not available in closed form; hence the term equation-free.

In mathematics, the walk-on-spheres method (WoS) is a numerical probabilistic algorithm, or Monte-Carlo method, used mainly in order to approximate the solutions of some specific boundary value problem for partial differential equations (PDEs). The WoS method was first introduced by Mervin E. Muller in 1956 to solve Laplace's equation, and was since then generalized to other problems.

The variational multiscale method (VMS) is a technique used for deriving models and numerical methods for multiscale phenomena. The VMS framework has been mainly applied to design stabilized finite element methods in which stability of the standard Galerkin method is not ensured both in terms of singular perturbation and of compatibility conditions with the finite element spaces.

The streamline upwind Petrov–Galerkin pressure-stabilizing Petrov–Galerkin formulation for incompressible Navier–Stokes equations can be used for finite element computations of high Reynolds number incompressible flow using equal order of finite element space by introducing additional stabilization terms in the Navier–Stokes Galerkin formulation.

The Bueno-Orovio–Cherry–Fenton model, also simply called Bueno-Orovio model, is a minimal ionic model for human ventricular cells. It belongs to the category of phenomenological models, because of its characteristic of describing the electrophysiological behaviour of cardiac muscle cells without taking into account in a detailed way the underlying physiology and the specific mechanisms occurring inside the cells.

<span class="mw-page-title-main">Chambolle-Pock algorithm</span> Primal-Dual algorithm optimization for convex problems

In mathematics, the Chambolle-Pock algorithm is an algorithm used to solve convex optimization problems. It was introduced by Antonin Chambolle and Thomas Pock in 2011 and has since become a widely used method in various fields, including image processing, computer vision, and signal processing.

References

  1. Lions, Jacques-Louis; Maday, Yvon; Turinici, Gabriel (2015). "A "parareal" in time discretization of PDE's" (PDF). Comptes Rendus de l'Académie des Sciences, Série I. 332 (7): 661–668. Bibcode:2001CRASM.332..661L. doi:10.1016/S0764-4442(00)01793-6.
  2. Pentland, Kamran; Tamborrino, Massimiliano; Samaddar, Debasmita; Appel, Lynton (2022). "Stochastic parareal: an application of probabilistic methods to time-parallelization" (PDF). SIAM Journal on Scientific Computing. 45 (3): S82–S102. doi:10.1137/21M1414231. S2CID   235485544.
  3. Jack Dongarra; Jeffrey Hittinger; John Bell; Luis Chacon; Robert Falgout; Michael Heroux; Paul Hovland; Esmond Ng; Clayton Webster; Stefan Wild (March 2014). Applied Mathematics Research for Exascale Computing (PDF) (Report). US Department of Energy. Retrieved August 29, 2015.
  4. Burrage, Kevin (1997). "Parallel methods for ODEs". Advances in Computational Mathematics. 7 (1–2): 1–31. doi:10.1023/A:1018997130884. S2CID   15778447.
  5. Iserles, A.; NøRSETT, S. P. (1990-10-01). "On the Theory of Parallel Runge—Kutta Methods". IMA Journal of Numerical Analysis. 10 (4): 463–488. doi:10.1093/imanum/10.4.463. ISSN   0272-4979.
  6. Ketcheson, David; Waheed, Umair bin (2014-06-13). "A comparison of high-order explicit Runge–Kutta, extrapolation, and deferred correction methods in serial and parallel". Communications in Applied Mathematics and Computational Science. 9 (2): 175–200. arXiv: 1305.6165 . doi:10.2140/camcos.2014.9.175. ISSN   2157-5452. S2CID   15242644.
  7. 1 2 3 Gander, Martin J.; Vandewalle, Stefan (2007). "Analysis of the Parareal Time‐Parallel Time‐Integration Method". SIAM Journal on Scientific Computing. 29 (2): 556–578. CiteSeerX   10.1.1.154.6042 . doi:10.1137/05064607X.
  8. Hackbusch, Wolfgang (1985). Parabolic multi-grid methods. pp. 189–197. ISBN   9780444875976 . Retrieved August 29, 2015.{{cite book}}: |journal= ignored (help)
  9. Kiehl, Martin (1994). "Parallel multiple shooting for the solution of initial value problems". Parallel Computing. 20 (3): 275–295. doi:10.1016/S0167-8191(06)80013-X.
  10. Gander, Martin J. (2015). 50 years of Time Parallel Time Integration. Contributions in Mathematical and Computational Sciences. Vol. 9 (1 ed.). Springer International Publishing. doi: 10.1007/978-3-319-23321-5 . ISBN   978-3-319-23321-5.
  11. Nievergelt, Jürg (1964). "Parallel methods for integrating ordinary differential equations". Communications of the ACM. 7 (12): 731–733. doi: 10.1145/355588.365137 . S2CID   6361754.
  12. Ruprecht, Daniel (2014-12-01). "Convergence of Parareal with spatial coarsening" (PDF). Proceedings in Applied Mathematics and Mechanics. 14 (1): 1031–1034. doi:10.1002/pamm.201410490. ISSN   1617-7061. S2CID   26356904.
  13. Minion, Michael L. (2010). "A Hybrid Parareal Spectral Deferred Corrections Method". Communications in Applied Mathematics and Computational Science. 5 (2): 265–301. doi: 10.2140/camcos.2010.5.265 .
  14. Staff, Gunnar Andreas; Rønquist, Einar M. (2005-01-01). Barth, Timothy J.; Griebel, Michael; Keyes, David E.; Nieminen, Risto M.; Roose, Dirk; Schlick, Tamar; Kornhuber, Ralf; Hoppe, Ronald; Périaux, Jacques (eds.). Stability of the Parareal Algorithm. Lecture Notes in Computational Science and Engineering. Springer Berlin Heidelberg. pp. 449–456. doi:10.1007/3-540-26825-1_46. ISBN   9783540225232.
  15. Steiner, Johannes; Ruprecht, Daniel; Speck, Robert; Krause, Rolf (2015-01-01). "Convergence of Parareal for the Navier-Stokes Equations Depending on the Reynolds Number". In Abdulle, Assyr; Deparis, Simone; Kressner, Daniel; Nobile, Fabio; Picasso, Marco (eds.). Numerical Mathematics and Advanced Applications - ENUMATH 2013. Lecture Notes in Computational Science and Engineering. Vol. 103. Springer International Publishing. pp. 195–202. CiteSeerX   10.1.1.764.6242 . doi:10.1007/978-3-319-10705-9_19. ISBN   9783319107042.
  16. Dai, X.; Maday, Y. (2013-01-01). "Stable Parareal in Time Method for First- and Second-Order Hyperbolic Systems". SIAM Journal on Scientific Computing. 35 (1): A52–A78. arXiv: 1201.1064 . Bibcode:2013SJSC...35A..52D. doi:10.1137/110861002. ISSN   1064-8275. S2CID   32336370.
  17. 1 2 Farhat, Charbel; Cortial, Julien; Dastillung, Climène; Bavestrello, Henri (2006-07-30). "Time-parallel implicit integrators for the near-real-time prediction of linear structural dynamic responses". International Journal for Numerical Methods in Engineering. 67 (5): 697–724. Bibcode:2006IJNME..67..697F. doi:10.1002/nme.1653. ISSN   1097-0207. S2CID   121254646.
  18. 1 2 Chen, Feng; Hesthaven, Jan S.; Zhu, Xueyu (2014-01-01). "On the Use of Reduced Basis Methods to Accelerate and Stabilize the Parareal Method". In Quarteroni, Alfio; Rozza, Gianluigi (eds.). Reduced Order Methods for Modeling and Computational Reduction. MS&A - Modeling, Simulation and Applications. Springer International Publishing. pp. 187–214. doi:10.1007/978-3-319-02090-7_7. ISBN   9783319020891.
  19. Farhat, Charbel; Chandesris, Marion (2003-11-07). "Time-decomposed parallel time-integrators: theory and feasibility studies for fluid, structure, and fluid–structure applications". International Journal for Numerical Methods in Engineering. 58 (9): 1397–1434. Bibcode:2003IJNME..58.1397F. doi:10.1002/nme.860. ISSN   1097-0207. S2CID   61667246.
  20. Gander, M.; Petcu, M. (2008). "Analysis of a Krylov subspace enhanced parareal algorithm for linear problems". ESAIM: Proceedings. 25: 114–129. doi: 10.1051/proc:082508 .
  21. Ruprecht, D.; Krause, R. (2012-04-30). "Explicit parallel-in-time integration of a linear acoustic-advection system". Computers & Fluids. 59: 72–83. arXiv: 1510.02237 . doi:10.1016/j.compfluid.2012.02.015. S2CID   15703896.
  22. Dutt, Alok; Greengard, Leslie; Rokhlin, Vladimir (2000-06-01). "Spectral Deferred Correction Methods for Ordinary Differential Equations". BIT Numerical Mathematics. 40 (2): 241–266. doi:10.1023/A:1022338906936. ISSN   0006-3835. S2CID   43449672.
  23. Minion, Michael (2011-01-05). "A hybrid parareal spectral deferred corrections method". Communications in Applied Mathematics and Computational Science. 5 (2): 265–301. doi: 10.2140/camcos.2010.5.265 . ISSN   2157-5452.
  24. Emmett, Matthew; Minion, Michael (2012-03-28). "Toward an efficient parallel in time method for partial differential equations". Communications in Applied Mathematics and Computational Science. 7 (1): 105–132. doi: 10.2140/camcos.2012.7.105 . ISSN   2157-5452.
  25. Speck, R.; Ruprecht, D.; Krause, R.; Emmett, M.; Minion, M.; Winkel, M.; Gibbon, P. (2012-11-01). "A massively space-time parallel N-body solver". 2012 International Conference for High Performance Computing, Networking, Storage and Analysis. pp. 1–11. doi:10.1109/SC.2012.6. ISBN   978-1-4673-0805-2. S2CID   1620219.
  26. Falgout, R.; Friedhoff, S.; Kolev, T.; MacLachlan, S.; Schroder, J. (2014-01-01). "Parallel Time Integration with Multigrid". SIAM Journal on Scientific Computing. 36 (6): C635–C661. Bibcode:2014SJSC...36C.635F. CiteSeerX   10.1.1.701.2603 . doi:10.1137/130944230. ISSN   1064-8275.
  27. Gander, M.; Güttel, S. (2013-01-01). "PARAEXP: A Parallel Integrator for Linear Initial-Value Problems". SIAM Journal on Scientific Computing. 35 (2): C123–C142. Bibcode:2013SJSC...35C.123G. CiteSeerX   10.1.1.800.5938 . doi:10.1137/110856137. ISSN   1064-8275.