PyLops-GPU API

Linear operators

Templates

LinearOperator(shape, dtype[, Op, explicit, …]) Common interface for performing matrix-vector products.
TorchOperator(Op[, batch, pylops, device]) Wrap a PyLops operator into a Torch function.

Basic operators

MatrixMult(A[, dims, device, togpu, tocpu, …]) Matrix multiplication.
Identity(N[, M, inplace, complex, device, …]) Identity operator.
Diagonal(diag[, dims, dir, device, togpu, …]) Diagonal operator.
VStack(ops[, device, togpu, tocpu, dtype]) Vertical stacking.

Smoothing and derivatives

FirstDerivative(N[, dims, dir, sampling, …]) First derivative.
SecondDerivative(N[, dims, dir, sampling, …]) Second derivative.
Laplacian(dims[, dirs, weights, sampling, …]) Laplacian.

Signal processing

Convolve1D(N, h[, offset, dims, dir, …]) 1D convolution operator.

Solvers

Low-level solvers

cg(A, y[, x, niter, tol]) Conjugate gradient
cgls(A, y[, x, niter, damp, tol]) Conjugate gradient least squares

Least-squares

leastsquares.NormalEquationsInversion(Op, …) Inversion of normal equations.

Sparsity

sparsity.FISTA(Op, data, niter[, eps, …]) Fast Iterative Soft Thresholding Algorithm (FISTA).
sparsity.SplitBregman(Op, RegsL1, data[, …]) Split Bregman for mixed L2-L1 norms.

Applications

Geophysical subsurface characterization

poststack.PoststackInversion(data, wav[, …]) Post-stack linearized seismic inversion.