PyLops MPI API#

The Application Programming Interface (API) of PyLops MPI enables distributed and parallel processing of large-scale linear algebra operations, inversions and computations.

DistributedArray#

Partition(value)

Enum class

DistributedArray(global_shape[, base_comm, ...])

Distributed Numpy Arrays

StackedDistributedArray(distarrays[, base_comm])

Stacked DistributedArrays

Linear operators#

Templates#

MPILinearOperator([Op, shape, dtype, base_comm])

Common interface for performing matrix-vector products in distributed fashion.

asmpilinearoperator(Op)

Return Op as a MPI LinearOperator.

MPIStackedLinearOperator([shape, dtype, ...])

Common interface for performing matrix-vector products in distributed fashion for StackedLinearOperators.

Basic Operators#

MPIBlockDiag(ops[, base_comm, dtype])

MPI Block-diagonal operator.

MPIStackedBlockDiag(ops[, base_comm, dtype])

MPI Stacked BlockDiag Operator

MPIVStack(ops[, base_comm, dtype])

MPI VStack Operator

MPIStackedVStack(ops[, base_comm, dtype])

MPI Stacked VStack Operator

MPIHStack(ops[, base_comm, dtype])

MPI HStack Operator

Derivatives#

MPIFirstDerivative(dims[, sampling, kind, ...])

MPI First Derivative

MPISecondDerivative(dims[, sampling, kind, ...])

MPI Second Derivative

MPILaplacian(dims[, axes, weights, ...])

MPI Laplacian

MPIGradient(dims[, sampling, edge, kind, ...])

MPI Gradient

Signal Processing#

MPIFredholm1(G[, nz, saveGt, usematmul, ...])

Fredholm integral of first kind.

Wave-Equation processing#

MPIMDC(G, nt, nv, nfreq[, dt, dr, twosided, ...])

Multi-dimensional convolution.

Solvers#

Basic#

CG(Op[, callbacks])

Conjugate gradient

CGLS(Op[, callbacks])

Conjugate gradient least squares

cg(Op, y, x0[, niter, tol, show, itershow, ...])

Conjugate gradient

cgls(Op, y, x0[, niter, damp, tol, show, ...])

Conjugate gradient least squares

Utils#

local_split(global_shape, base_comm, ...)

To get the local shape from the global shape

dottest(Op, u, v[, nr, nc, rtol, atol, ...])

Dot test.