pylops_distributed.waveeqprocessing.MDC¶
-
class
pylops_distributed.waveeqprocessing.
MDC
(G, nt, nv, dt=1.0, dr=1.0, twosided=True, saveGt=False, conj=False, prescaled=False, chunks=(None, None), compute=(False, False), todask=(False, False), dtype=None)[source]¶ Multi-dimensional convolution.
Apply multi-dimensional convolution between two datasets. Model and data should be provided after flattening 2- or 3-dimensional arrays of size \([n_t \times n_r (\times n_{vs})]\) and \([n_t \times n_s (\times n_{vs})]\) (or \(2*n_t-1\) for
twosided=True
), respectively.Parameters: - G :
dask.array.ndarray
Multi-dimensional convolution kernel in frequency domain of size \([n_{fmax} \times n_s \times n_r]\)
- nt :
int
Number of samples along time axis
- nv :
int
Number of samples along virtual source axis
- dt :
float
, optional Sampling of time integration axis
- dr :
float
, optional Sampling of receiver integration axis
- twosided :
bool
, optional MDC operator has both negative and positive time (
True
) or only positive (False
)- saveGt :
bool
, optional Save
G
andG^H
to speed up the computation of adjoint ofpylops_distributed.signalprocessing.Fredholm1
(True
) or createG^H
on-the-fly (False
) Note thatsaveGt=True
will be faster but double the amount of required memory- conj :
str
, optional Perform Fredholm integral computation with complex conjugate of
G
- prescaled :
bool
, optional Apply scaling to kernel (
False
) or not (False
) when performing spatial and temporal summations. In caseprescaled=True
, the kernel is assumed to have been pre-scaled when passed to the MDC routine.- 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. If
None
, automatically inferred fromG
Notes
Refer to
pylops.waveeqprocessing.MDC
for implementation details.Methods
__init__
(G, nt, nv[, dt, dr, twosided, …])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. - G :