×

PyLops

swMATH ID: 30606
Software Authors: Matteo Ravasi, Ivan Vasconcelos
Description: PyLops - A Linear-Operator Python Library for large scale optimization. Linear operators and optimisation are at the core of many algorithms used in signal and image processing, remote sensing, and inverse problems. For small to medium-scale problems, existing software packages (e.g., MATLAB, Python numpy and scipy) allow for explicitly building dense (or sparse) matrices and performing algebraic operations (e.g., computation of matrix-vector products and manipulation of matrices) with syntax that closely represents their corresponding analytical forms. However, many real application, large-scale operators do not lend themselves to explicit matrix representations, usually forcing practitioners to forego of the convenient linear-algebra syntax available for their explicit-matrix counterparts. PyLops is an open-source Python library providing a flexible and scalable framework for the creation and combination of so-called linear operators, class-based entities that represent matrices and inherit their associated syntax convenience, but do not rely on the creation of explicit matrices. We show that PyLops operators can dramatically reduce the memory load and CPU computations compared to explicit-matrix calculations, while still allowing users to seamlessly use their existing knowledge of compact matrix-based syntax that scales to any problem size because no explicit matrices are required. Subjects:
Homepage: https://pylops.readthedocs.io/en/latest/
Source Code:  https://github.com/ElsevierSoftwareX/SOFTX_2019_106
Keywords: Mathematical Software; arXiv_cs.MS; Python; large scale optimization; linear operators
Related Software: NumPy; SciPy; Python; emcee; PyMultiNest; PyAutoFit; Numba; Matplotlib; dynesty; corner.py; COLOSSUS; Astropy; pyquad; PySwarms; scikit-image; Scikit; AutoLens; gravlens; lenstronomy; visilens
Cited in: 0 Publications

Standard Articles

1 Publication describing the Software Year
PyLops - A Linear-Operator Python Library for large scale optimization
Matteo Ravasi, Ivan Vasconcelos
2019