PyLops API¶
The Application Programming Interface (API) of PyLops can be loosely seen as composed of a stack of three main layers:
Linear operators: building blocks for the setting up of inverse problems
Solvers: interfaces to a variety of solvers, providing an easy way to augment an inverse problem with additional regularization and/or preconditioning term
Applications: high-level interfaces allowing users to easily setup and solve specific problems (while hiding the non-needed details - i.e., creation and setup of linear operators and solvers).
Linear operators¶
Templates¶
|
Common interface for performing matrix-vector products. |
|
Function Operator. |
|
Memoize Operator. |
|
Wrap a PyLops operator into a Torch function. |
Basic operators¶
|
Matrix multiplication. |
|
Identity operator. |
|
Zero operator. |
|
Diagonal operator. |
|
Transpose operator. |
|
Flip along an axis. |
|
Roll along an axis. |
|
Pad operator. |
|
Sum operator. |
|
Symmetrize along an axis. |
|
Restriction (or sampling) operator. |
|
Polynomial regression. |
|
Linear regression. |
|
Causal integration. |
|
Spread operator. |
|
Vertical stacking. |
|
Horizontal stacking. |
|
Block operator. |
|
Block-diagonal operator. |
|
Kronecker operator. |
|
Real operator. |
|
Imag operator. |
|
Complex conjugate operator. |
Smoothing and derivatives¶
|
1D Smoothing. |
|
2D Smoothing. |
|
First derivative. |
|
Second derivative. |
|
Laplacian. |
|
Gradient. |
|
First Directional derivative. |
|
Second Directional derivative. |
Signal processing¶
|
1D convolution operator. |
|
2D convolution operator. |
|
ND convolution operator. |
|
Interpolation operator. |
|
Bilinear interpolation operator. |
|
One dimensional Fast-Fourier Transform. |
|
Two dimensional Fast-Fourier Transform. |
|
N-dimensional Fast-Fourier Transform. |
|
Shift operator |
|
One dimensional Wavelet operator. |
|
Two dimensional Wavelet operator. |
|
Two dimensional Seislet operator. |
|
Two dimensional Radon transform. |
|
Three dimensional Radon transform. |
|
2D Chirp Radon transform |
|
3D Chirp Radon transform |
|
1D Sliding transform operator. |
|
2D Sliding transform operator. |
|
3D Sliding transform operator.w |
|
2D Patch transform operator. |
|
3D Patch transform operator. |
|
Fredholm integral of first kind. |
Wave-Equation processing¶
|
Pressure to Vertical velocity conversion. |
|
2D Up-down wavefield composition. |
|
3D Up-down wavefield composition. |
|
Multi-dimensional convolution. |
|
Phase shift operator |
|
Kirchhoff Demigration operator. |
|
Devito Acoustic propagator. |
Geophysical subsurface characterization¶
|
AVO Linearized modelling. |
|
Post-stack linearized seismic modelling operator. |
|
Pre-stack linearized seismic modelling operator. |
|
Pre-stack linearized seismic modelling operator for wavelet. |
Solvers¶
Template¶
|
This is a template class which a user must subclass when implementing a new solver. |
Basic¶
|
Conjugate gradient |
|
Conjugate gradient least squares |
|
Solve an overdetermined system of equations given an operator |
|
Conjugate gradient |
|
Conjugate gradient least squares |
|
LSQR |
Least-squares¶
|
Inversion of normal equations. |
|
Regularized inversion. |
|
Preconditioned inversion. |
|
Inversion of normal equations. |
|
Regularized inversion. |
|
Preconditioned inversion. |
Sparsity¶
|
Iteratively reweighted least squares. |
|
Orthogonal Matching Pursuit (OMP). |
|
Iterative Shrinkage-Thresholding Algorithm (ISTA). |
|
Fast Iterative Shrinkage-Thresholding Algorithm (FISTA). |
|
Spectral Projected-Gradient for L1 norm. |
|
Split Bregman for mixed L2-L1 norms. |
|
Iteratively reweighted least squares. |
|
Orthogonal Matching Pursuit (OMP). |
|
Iterative Shrinkage-Thresholding Algorithm (ISTA). |
|
Fast Iterative Shrinkage-Thresholding Algorithm (FISTA). |
|
Spectral Projected-Gradient for L1 norm. |
|
Split Bregman for mixed L2-L1 norms. |
Callbacks¶
This is a template class which a user must subclass when implementing callbacks for a solver. |
|
|
Metrics callback |
Applications¶
Wave-Equation processing¶
|
Seismic interpolation (or regularization). |
|
Wavefield deghosting. |
|
Up-down wavefield decomposition. |
|
Multi-dimensional deconvolution. |
|
Marchenko redatuming |
|
Least-squares Migration (LSM). |
Geophysical subsurface characterization¶
|
Post-stack linearized seismic inversion. |
|
Pre-stack linearized seismic inversion. |