pylops.Restriction¶
-
class
pylops.
Restriction
(M, iava, dims=None, dir=0, dtype='float64', inplace=True)[source]¶ Restriction (or sampling) operator.
Extract subset of values from input vector at locations
iava
in forward mode and place those values at locationsiava
in an otherwise zero vector in adjoint mode.Parameters: - M :
int
Number of samples in model.
- iava :
list
ornumpy.ndarray
Integer indices of available samples for data selection.
- dims :
list
Number of samples for each dimension (
None
if only one dimension is available)- dir :
int
, optional Direction along which restriction is applied.
- dtype :
str
, optional Type of elements in input array.
- 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).
See also
pylops.signalprocessing.Interp
- Interpolation operator
Notes
Extraction (or sampling) of a subset of \(N\) values at locations
iava
from an input (or model) vector \(\mathbf{x}\) of size \(M\) can be expressed as:\[y_i = x_{l_i} \quad \forall i=1,2,...,N\]where \(\mathbf{l}=[l_1, l_2,..., l_N]\) is a vector containing the indeces of the original array at which samples are taken.
Conversely, in adjoint mode the available values in the data vector \(\mathbf{y}\) are placed at locations \(\mathbf{l}=[l_1, l_2,..., l_M]\) in the model vector:
\[x_{l_i} = y_i \quad \forall i=1,2,...,N\]and \(x_{j}=0 j \neq l_i\) (i.e., at all other locations in input vector).
Attributes: Methods
__init__
(M, iava[, dims, dir, dtype, inplace])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-matrix or matrix-vector multiplication. eigs
([neigs, symmetric, niter, uselobpcg])Most significant eigenvalues of linear operator. mask
(x)Apply mask to input signal returning a signal of same size with values at iava
locations and0
at other locationsmatmat
(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. -
mask
(x)[source]¶ Apply mask to input signal returning a signal of same size with values at
iava
locations and0
at other locationsParameters: - x :
numpy.ndarray
Input array (can be either flattened or not)
Returns: - y :
numpy.ma.core.MaskedArray
Masked array.
- x :
- M :