pylops_gpu.optimization.sparsity.FISTA¶
-
pylops_gpu.optimization.sparsity.FISTA(Op, data, niter, eps=0.1, alpha=None, eigsiter=1000, eigstol=0, tol=1e-10, returninfo=False, show=False, device='cpu')[source]¶ Fast Iterative Soft Thresholding Algorithm (FISTA).
Solve an optimization problem with \(L1\) 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_gpu.LinearOperator Operator to invert
- data :
torch.tensor Data
- niter :
int Number of iterations
- eps :
float, optional Sparsity damping
- alpha :
float, optional Step size (\(\alpha \le 1/\lambda_{max}(\mathbf{Op}^H\mathbf{Op})\) guarantees convergence. If
None, estimated to satisfy the condition, otherwise the condition will not be checked)- eigsiter :
int, optional Number of iterations for eigenvalue estimation if
alpha=None- eigstol :
float, optional Tolerance for eigenvalue estimation if
alpha=None- tol :
float, optional Tolerance. Stop iterations if difference between inverted model at subsequent iterations is smaller than
tol- returninfo :
bool, optional Return info of FISTA solver
- show :
bool, optional Display iterations log
- device :
str, optional Device to be used
Returns: - xinv :
numpy.ndarray Inverted model
- niter :
int Number of effective iterations
- cost :
numpy.ndarray, optional History of cost function
- costdata :
numpy.ndarray, optional History of data fidelity term in the cost function
- costreg :
numpy.ndarray, optional History of regularizer term in the cost function
See also
SplitBregman- Split Bregman for mixed L2-L1 norms.
Notes
Solves the following optimization problem for the operator \(\mathbf{Op}\) and the data \(\mathbf{d}\):
\[J = ||\mathbf{d} - \mathbf{Op} \mathbf{x}||_2^2 + \epsilon ||\mathbf{x}||_1\]using the Fast Iterative Soft Thresholding Algorithm (FISTA) [1]. This is a modified version of ISTA solver with improved convergence properties and limitied additional computational cost.
[1] Beck, A., and Teboulle, M., “A Fast Iterative Shrinkage-Thresholding Algorithm for Linear Inverse Problems”, SIAM Journal on Imaging Sciences, vol. 2, pp. 183-202. 2009. - Op :