pylops_distributed.Identity¶
-
class
pylops_distributed.
Identity
(N, M=None, inplace=True, compute=(False, False), todask=(False, False), dtype='float64')[source]¶ Identity operator.
Simply move model to data in forward model and viceversa in adjoint mode if \(M = N\). If \(M > N\) removes last \(M - N\) elements from model in forward and pads with \(0\) in adjoint. If \(N > M\) removes last \(N - M\) elements from data in adjoint and pads with \(0\) in forward.
Parameters: - N :
int
Number of samples in data (and model, if
M
is not provided).- M :
int
, optional Number of samples in model.
- inplace :
bool
, optional Work inplace (
True
) or make a new copy (False
). By default, data is a reference to the model (in forward) and model is a reference to the data (in adjoint).- compute :
tuple
, optional Compute the outcome of forward and adjoint or simply define the graph and return a
dask.array
- todask :
tuple
, optional Apply
dask.array.from_array
to model and data before applying forward and adjoint respectively- dtype :
str
, optional Type of elements in input array.
Raises: - ValueError
If
M
is different fromN
Notes
Refer to
pylops.basicoperators.Identity
for implementation details.Attributes: Methods
__init__
(N[, M, inplace, compute, todask, dtype])Initialize this LinearOperator. adjoint
()Hermitian adjoint. apply_columns
(cols)Apply subset of columns of operator cond
([uselobpcg])Condition number of linear operator. conj
()Complex conjugate operator div
(y[, niter])Solve the linear problem \(\mathbf{y}=\mathbf{A}\mathbf{x}\). dot
(x)Matrix-vector multiplication. eigs
([neigs, symmetric, niter, uselobpcg])Most significant eigenvalues of linear operator. matmat
(X)Matrix-matrix multiplication. matvec
(x)Matrix-vector multiplication. rmatmat
(X)Adjoint matrix-matrix multiplication. rmatvec
(x)Adjoint Matrix-vector multiplication. todense
()Return dense matrix. tosparse
()Return sparse matrix. transpose
()Transpose this linear operator. - N :