# Iterative algorithms for sparsity using a function for operator A in Ax=b

I am going to solve an linear iterative inverse problem. I have two functions in matlab which one of them play the forward and the other play the adjoint role. I am not familiar with inverse problems very much and I am going to test some algorithms to check which one can help me to obtain a sparse model. Since I have to use my functions to do the forward and inverse operator roles in Ax=b, so I think I am not able to use some algorithms which needs A as a matrix. As an example, I could use the linearized bregmanas follows:

$$v^{k+1} = v^k + A^T(f-Au^k).$$

$$u^{k+1}= \delta * shrink(v^{k+1},1/\mu).$$

in which, for A I use that function which transform the model u to the data space and for A^T the function which transform the data to the model space.

I want to know that is there any other iterative algorithm which can be used in this manner for sparsity?

• I don't have the matrix A, instead I have a function as A(u) which gives f' Dec 31, 2014 at 9:00
• That's the point- with SPGL1 you can supply a subroutines which compute $A(u)$ and $A^{T}(v)$ rather than supplying the matrix itself. Dec 31, 2014 at 16:52
• If you already have functions that compute $A(u)$ and $A^{T}(v)$, then you can write a wrapper function that simply checks the mode parameter and evaluates $A(u)$ if mode=1 and $A^{T}(v)$ if mode=2. Jan 1, 2015 at 19:26