pylops_mpi.MPILinearOperator#

class pylops_mpi.MPILinearOperator(Op=None, shape=None, dtype=None, base_comm=<mpi4py.MPI.Intracomm object>)[source]#

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

This class provides methods to perform matrix-vector product and adjoint matrix-vector products using MPI.

Note

End users of pylops-mpi should not use this class directly but simply use operators that are already implemented. This class is meant for developers only, it has to be used as the parent class of any new operator developed within pylops-mpi.

Parameters:
Oppylops.LinearOperator, optional

Linear Operator. Defaults to None.

shapetuple(int, int), optional

Shape of the MPI Linear Operator. Defaults to None.

dtypestr, optional

Type of elements in input array. Defaults to None.

base_commmpi4py.MPI.Comm, optional

MPI Base Communicator. Defaults to mpi4py.MPI.COMM_WORLD.

Methods

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

adjoint()

Adjoint MPI LinearOperator

conj()

Complex conjugate operator

dot(x)

Matrix Vector Multiplication

matvec(x)

Matrix-vector multiplication.

rmatvec(x)

Adjoint Matrix-vector multiplication.

transpose()

Transposition of MPI LinearOperator

Examples using pylops_mpi.MPILinearOperator#

CGLS Solver

CGLS Solver

Derivatives

Derivatives

MPILinearOperator

MPILinearOperator

Stacked Array

Stacked Array

Stacking Operators

Stacking Operators

Least-squares Migration

Least-squares Migration

Post Stack Inversion - 3D

Post Stack Inversion - 3D