pylops_mpi.MPIStackedLinearOperator#
- class pylops_mpi.MPIStackedLinearOperator(shape=None, dtype=None, base_comm=<mpi4py.MPI.Intracomm object>)[source]#
Stack of MPI-enabled PyLops Linear Operators
Common interface for performing matrix-vector products in distributed fashion for a stack of
pylops_mpi.MPILinearOperator
operators.In practice, this class provides methods to perform matrix-vector and adjoint matrix-vector products on a stack of
pylops_mpi.MPILinearOperator
operators, allowing the actual execution of each operator to be distributed, whilst dispatching the execution of the different operators in sequential order.Note
End users of pylops-mpi should not use this class directly but simply use operators that are already implemented as extensions of this class. This class is meant for developers only, it has to be used as the parent class of any new stacked operator developed within pylops-mpi.
- Parameters:
- shape
tuple(int, int)
, optional Shape of the MPIStackedLinearOperator. 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
.
- shape
Methods
__init__
([shape, dtype, base_comm])adjoint
()Adjoint MPIStackedLinearOperator
conj
()Complex conjugate operator
dot
(x)Matrix Vector Multiplication
matvec
(x)Matrix-vector multiplication.
rmatvec
(x)Adjoint Matrix-vector multiplication.
transpose
()Transposition of MPIStackedLinearOperator