pylops_distributed.signalprocessing.Fredholm1¶
-
class
pylops_distributed.signalprocessing.Fredholm1(G, nz=1, saveGt=True, compute=(False, False), chunks=(None, None), todask=(None, None), dtype='float64')[source]¶ Fredholm integral of first kind.
Implement a multi-dimensional Fredholm integral of first kind. Note that if the integral is two dimensional, this can be directly implemented using
pylops.basicoperators.MatrixMult. A multi-dimensional Fredholm integral can be performed as apylops.basicoperators.BlockDiagoperator of a series ofpylops.basicoperators.MatrixMult. However, here we take advantage of the structure of the kernel and perform it in a more efficient manner.Parameters: - G :
numpy.ndarray Multi-dimensional convolution kernel of size \([n_{slice} \times n_x \times n_y]\)
- nz :
numpy.ndarray, optional Additional dimension of model
- saveGt :
bool, optional Save
GandG^Hto speed up the computation of adjoint (True) or createG^Hon-the-fly (False) Note thatsaveGt=Truewill double the amount of required memory- compute :
tuple, optional Compute the outcome of forward and adjoint or simply define the graph and return a
dask.array- chunks :
tuple, optional Chunk size for model and data. If provided it will rechunk the model before applying the forward pass and the data before applying the adjoint pass
- todask :
tuple, optional Apply
dask.array.from_arrayto model and data before applying forward and adjoint respectively- dtype :
str, optional Type of elements in input array.
Notes
Refer to
pylops.signalprocessing.Identityfor implementation details.Attributes: Methods
__init__(G[, nz, saveGt, compute, chunks, …])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 :