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:
- Op
pylops.LinearOperator
, optional Linear Operator. Defaults to
None
.- shape
tuple(int, int)
, optional Shape of the MPI Linear Operator. Defaults to
None
.- dtype
str
, optional Type of elements in input array. Defaults to
None
.- base_comm
mpi4py.MPI.Comm
, optional MPI Base Communicator. Defaults to
mpi4py.MPI.COMM_WORLD
.
- Op
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