pylops.Pad¶
-
class
pylops.
Pad
(dims, pad, dtype='float64')[source]¶ Pad operator.
Zero-pad model in forward model and extract non-zero subsequence in adjoint. Padding can be performed in one or multiple directions to any multi-dimensional input arrays.
Parameters: - dims :
int
ortuple
Number of samples for each dimension
- pad :
tuple
Number of samples to pad. If
dims
is a scalar,pad
is a single tuple(pad_in, pad_end)
. Ifdims
is a tuple,pad
is a tuple of tuples where each inner tuple contains the number of samples to pad in each dimension- dtype :
str
, optional Type of elements in input array.
Raises: - ValueError
If any element of
pad
is negative.
Notes
Given an array of size \(N\), the Pad operator simply adds \(pad_{in}\) at the start and \(pad_{end}\) at the end in forward mode:
\[y_{i} = x_{i-pad_{in}} \quad \forall i=pad_{in},pad_{in}+1,...,pad_{in}+N-1\]and \(y_i = 0 \quad \forall i=0,...,pad_{in}-1, pad_{in}+N-1,...,N+pad_{in}+pad_{end}\)
In adjoint mode, values from \(pad_{in}\) to \(N-pad_{end}\) are extracted from the data:
\[x_{i} = y_{pad_{in}+i} \quad \forall i=0, N-1\]Attributes: Methods
__init__
(dims, pad[, 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-matrix or 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. - dims :