pylops.optimization.sparsity.spgl1¶
- pylops.optimization.sparsity.spgl1(Op, y, x0=None, SOp=None, tau=0.0, sigma=0.0, show=False, **kwargs_spgl1)[source]¶
Spectral Projected-Gradient for L1 norm.
Solve a constrained system of equations given the operator
Opand a sparsyfing transformSOpaiming to retrive a model that is sparse in the sparsyfing domain.This is a simple wrapper to
spgl1.spgl1which is a porting of the well-known SPGL1 MATLAB solver into Python. In order to be able to use this solver you need to have installed thespgl1library.- Parameters:
- Op
pylops.LinearOperator Operator to invert
- y
numpy.ndarray Data
- x0
numpy.ndarray, optional Initial guess
- SOp
pylops.LinearOperator, optional Sparsifying transform
- tau
float, optional Non-negative LASSO scalar. If different from
0, SPGL1 will solve LASSO problem- sigma
list, optional BPDN scalar. If different from
0, SPGL1 will solve BPDN problem- show
bool, optional Display iterations log
- **kwargs_spgl1
Arbitrary keyword arguments for
spgl1.spgl1solver
- Op
- Returns:
- xinv
numpy.ndarray Inverted model in original domain.
- pinv
numpy.ndarray Inverted model in sparse domain.
- info
dict Dictionary with the following information:
tau, final value of tau (see sigma above)rnorm, two-norm of the optimal residualrgap, relative duality gap (an optimality measure)gnorm, Lagrange multiplier of (LASSO)stat, final status of solver1: found a BPDN solution,2: found a BP solution; exit based on small gradient,3: found a BP solution; exit based on small residual,4: found a LASSO solution,5: error, too many iterations,6: error, linesearch failed,7: error, found suboptimal BP solution,8: error, too many matrix-vector products.
niters, number of iterationsnProdA, number of multiplications with AnProdAt, number of multiplications with A’n_newton, number of Newton stepstime_project, projection time (seconds)time_matprod, matrix-vector multiplications time (seconds)time_total, total solution time (seconds)niters_lsqr, number of lsqr iterations (ifsubspace_min=True)xnorm1, L1-norm model solution history through iterationsrnorm2, L2-norm residual history through iterationslambdaa, Lagrange multiplier history through iterations
- xinv
- Raises:
- ModuleNotFoundError
If the
spgl1library is not installed
Notes