Leja interpolation for eXponential Integrators is a temporal integration package that comprises of a compilation of exponential integrators, specifically, the Exponential Rosenbrock (EXPRB) and Exponential Propagation Iterative Runge-Kutta (EPIRK) solvers.
The action of the matrix exponential or the real_Leja_exp
and/or imag_Leja_exp
, whereas for nonhomogenous linear PDEs, one can use real_Leja_phi_nl
and/or imag_Leja_phi_nl
. The algorithmic details can be found in the cited literature.
-
For Python:
- Python 3.10 (or later)
-
For C++:
- gcc compiler
-
For CUDA:
- NVIDIA GPU
- CUDA 11.2 (or later)
- nvcc compiler
The publications associated with this code:
Deka, Moriggl, and Einkemmer (2023), LeXInt: GPU-accelerated Exponential Integrators package
[arXiv:2310.08344]
Deka, Einkemmer, and Tokman (2023), LeXInt: Package for Exponential Integrators employing Leja interpolation, SoftwareX, 21, 101302
[DOI] [arXiv:2208.08269]
Other references:
-
Caliari et al. (2014), Comparison of software for computing the action of the matrix exponential, BIT Numer. Math., 54, 113
[DOI] -
Deka & Einkemmer (2022), Efficient adaptive step size control for exponential integrators, Comput. Math. Appl., 123, 59
[DOI] [arXiv:2102.02524] -
Deka & Einkemmer (2022), Exponential Integrators for Resistive Magnetohydrodynamics: Matrix-free Leja Interpolation and Efficient Adaptive Time Stepping, ApJS, 259, 57
[DOI] [arXiv:2108.13622] -
Hochbruck & Ostermann (2010), Exponential integrators, Acta Numer., 19, 209
[DOI]
We will MPI-parallelise the CUDA/C++ code.
Pranab J. Deka ([email protected])
Lukas Einkemmer ([email protected])
Mayya Tokman ([email protected])
In case you face issues using LeXInt, kindly contact Pranab J. Deka.
Alexander Moriggl contributed to the development of the CUDA version.