Numerical experiments to "rank-adaptive dynamical low-rank integrators for first-order and second-order matrix differential equations"

TechnicalRemarks: Instructions:

The scripts inside the subfolders are intended to reproduce the figures from the preprint

Rank-adaptive dynamical low-rank integrators for first-order and second-order matrix differential equations

by Marlis Hochbruck, Markus Neher, and Stefan Schrammer

Requirements

The codes are tested with

Ubuntu 20.04.2 LTS and Python 3.8.5 and the following version of its modules:

    numpy       1.19.2
    scipy       1.5.2
    numba       0.51.2
    colorama    0.4.4
    h5py        2.10.0
    matplotlib  3.3.2
    tikzplotlib 0.9.6

Generation of figures (tikz files containing the data are also created)

In the folder fracginz open a console and run the commands 1. to create the data for Figures (1) and (2) python3 fgl.py 2. to create Figures (1) and (2) python3 fgl_results.py

In the folder fracschr open a console and run the commands 3. to create the data for Figure (3) python3 fsr.py 4. to create Figure (3) python3 fsr_results.py

In the folder laserplasma open a console and run the commands 5. to create the data for Figures (4) and (5) python3 lpi.py 6. to create Figures (4) and (5) python3 lpi_globalerr.py python3 lpi_svals_maxint.py

In the folder sineg open a console and run the commands 7. to create the data for Figures (6) and (7) python3 sineg.py 8. to create Figures (6) and (7) python3 sineg_globalerr_ranks.py

If the reference solutions shall be recomputed, uncomment the line

methods.append(...)

at the beginning of the scripts fgl.py, fsr.py, lpi.py, and sineg.py, respectively.

BibTex: