PyLops Benchmarks#
A zoo of inverse problems built with PyLops, each solved with different combinations of solvers and regularizers/preconditioners, and compared on the same metrics.
Every benchmark is defined by:
a true model \(\mathbf{x}\);
a PyLops operator \(\mathbf{A}\);
the data \(\mathbf{y} = \mathbf{A}\,\mathbf{x}\,(+\,\mathbf{n})\), possibly with noise \(\mathbf{n}\) drawn with a fixed seed.
Each solver estimates \(\hat{\mathbf{x}}\) from \(\mathbf{y}\) and \(\mathbf{A}\), and scores it against the
true model with PyLops’ Mean Absolute Error
(pylops.utils.metrics.mae)
and Peak Signal-to-Noise Ratio
(pylops.utils.metrics.psnr,
computed over the full dynamic range of the true model). Times are the
wall-clock time of the inversion only (operator construction is
excluded); when a benchmark is run with several repetitions, the median
time is reported.
Benchmarks are run with BenchOpt on GitHub
Actions and their results are stored as CSV files in the
results/
folder of the repository.