pylops_mpi.optimization.cls_sparsity.ISTA#
- class pylops_mpi.optimization.cls_sparsity.ISTA(Op, callbacks=None)[source]#
Iterative Shrinkage-Thresholding Algorithm (ISTA).
Solve an optimization problem with \(L_p, \; p=0, 0.5, 1\) regularization, 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_mpi.MPILinearOperatororpylops_mpi.StackedMPILinearOperator Operator to invert
- Op
- Attributes:
- ncp
module Array module used by the solver (obtained via
pylops.utils.backend.get_array_module) ). Available only aftersetupis called.- Opmatvec
callable Function handle to
Op.matvecorOp.matmatdepending on the number of dimensions ofy.- Oprmatvec
callable Function handle to
Op.rmatvecorOp.rmatmatdepending on the number of dimensions ofy.- SOpmatvec
callable Function handle to
SOp.matvecorSOp.matmatdepending on the number of dimensions ofy.- SOprmatvec
callable Function handle to
SOp.rmatvecorSOp.rmatmatdepending on the number of dimensions ofy.- threshf
callable Function handle to the chosen thresholding method.
- thresh
float Threshold.
- normresold
float Old norm of the residual.
- t
float FISTA auxiliary coefficient (not used in ISTA).
- cost
list History of the L2 norm of the total objectiv function. Available only after
setupis called and updated at each call tostep.- iiter
int Current iteration number. Available only after
setupis called and updated at each call tostep.
- ncp
- Raises:
- NotImplementedError
If
threshkindis different from hard, soft, half
Methods
__init__(Op[, callbacks])callback(x, *args, **kwargs)Callback routine
finalize([show])Finalize solver
memory_usage([show, unit])Compute memory usage of the solver
run(x[, niter, show, itershow])Run solver
setup(y, x0[, niter, SOp, eps, alpha, ...])Setup solver
solve(y, x0[, niter, SOp, eps, alpha, ...])step(x[, show])Run one step of solver