pylops.optimization.sparsity.omp#
- pylops.optimization.sparsity.omp(Op, y, niter_outer=10, niter_inner=40, sigma=0.0001, normalizecols=False, show=False, itershow=(10, 10, 10), callback=None)[source]#
Orthogonal Matching Pursuit (OMP).
Solve an optimization problem with \(L^0\) regularization function given the operator
Opand datay. The operator can be real or complex, and should ideally be either square \(N=M\) or underdetermined \(N<M\).- Parameters
- Op
pylops.LinearOperator Operator to invert
- y
numpy.ndarray Data
- niter_outer
int, optional Number of iterations of outer loop
- niter_inner
int, optional Number of iterations of inner loop. By choosing
niter_inner=0, the Matching Pursuit (MP) algorithm is implemented.- sigma
list Maximum \(L_2\) norm of residual. When smaller stop iterations.
- normalizecols
list, optional Normalize columns (
True) or not (False). Note that this can be expensive as it requires applying the forward operator \(n_{cols}\) times to unit vectors (i.e., containing 1 at position j and zero otherwise); use only when the columns of the operator are expected to have highly varying norms.- show
bool, optional Display iterations log
- itershow
tuple, optional Display set log for the first N1 steps, last N2 steps, and every N3 steps in between where N1, N2, N3 are the three element of the list.
- callback
callable, optional Function with signature (
callback(x)) to call after each iteration wherexis the current model vector
- Op
- Returns
- xinv
numpy.ndarray Inverted model
- niter_outer
int Number of effective outer iterations
- cost
numpy.ndarray History of cost function
- xinv
See also
ISTAIterative Shrinkage-Thresholding Algorithm (ISTA).
FISTAFast Iterative Shrinkage-Thresholding Algorithm (FISTA).
SPGL1Spectral Projected-Gradient for L1 norm (SPGL1).
SplitBregmanSplit Bregman for mixed L2-L1 norms.
Notes