cr.sparse.sls.ista¶
- cr.sparse.sls.ista(operator, b, x0, step_size, threshold_func=<function default_threshold>, basis=SimpleOp(times=<function <lambda>>, trans=<function <lambda>>), res_norm_rtol=0.001, x_norm_change_tol=1e-10, max_iters=1000)[source]¶
Solves the problem \(\widehat{x} = \text{arg} \min_{x} \frac{1}{2}\| b - A x \|_2^2 + \lambda \mathbf{R}(x)\) via iterative shrinkage and thresholding.
It supports the more general problem where \(x\) is sparse in a basis \(B\)
(1)¶\[\widehat{x} = \text{arg} \min_{x} \frac{1}{2}\| b - A x \|_2^2 + \lambda \mathbf{R} (B^H x)\]- Parameters
operator (cr.sparse.lop.Operator) – A linear operator \(A\)
b (jax.numpy.ndarray) – Data vector
x0 (jax.numpy.ndarray) – An initial estimate \(x_0\) of the model vector \(x\)
step_size (float) – Step size for ISTA iteration
threshold_func (Function) – A user defined thresholding function. See Thresholding for details.
basis (cr.sparse.lop.Operator) – A sparsifying basis \(B\) for \(x\)
res_norm_rtol (float) – Relative tolerance for norm of residual \(r = b - A x\) relative to norm of \(b\)
x_norm_change_tol (float) – Tolerance for change in \(x\) in each iteration
max_iters (int) – Maximum number of iterations
- Returns
a named tuple containing the solution \(x\), the residual \(r\) and other details.
- Return type
See Iterative Shrinkage and Thresholding Algorithm for an introduction to IST algorithm.
Both
x0
andb
can be multi-dimensional arrays.