## 3 The Proposed Algorithm and Its Applications
### Description of FRSVssMP
```
Input:\(A\in R^{M\times N},\;\mathbf{y}\in R^{M},\;S\) Output:\(\hat{\theta}\)
1:Initialization:\(r_{0}=\mathbf{y},\;\Lambda_{0}=\varnothing,L=S=\lfloor k_{0}/2\rfloor,\;t=1\)
2:Steps can be divided into iterations and filtering:
3:(Iterations)
4:while\(t\
eq M\)do
5:\(\mathbf{u}=abs\big{[}\mathbf{A}^{T}\mathbf{r}_{t-1}\big{]},\mathbf{u}_{L}=regularize(\mathbf{u},L)\)
6:\(S_{k}=\Big{\{}j\big{|}\mathbf{u}_{j}\in\Lambda_{t}\Big{\}},C_{k}=\Lambda_{t-1} \cup S_{k},\mathbf{A}_{t}=\Big{\{}\mathbf{A}_{j}\Big{|}j\in C_{k}\Big{\}}\)
7:\(\hat{\theta}_{t}=argmin\big{\|}\mathbf{y}_{-},\mathbf{A}_{t},\mathbf{\theta}_{t}\big{|}= \big{(}\mathbf{A}_{t}^{T}\mathbf{A}_{t}\big{)}^{-1}\mathbf{A}_{t}^{T}\mathbf{y}\)
8:\(\hat{\theta}_{tL}=\max\big{(}\hat{\theta}_{t},L\big{)},\;\Lambda_{tL}=\Big{\{}j \Big{|}\hat{\theta}_{t\hat{\theta}_{tL}}\Big{\}}\)
9:\(\mathbf{A}_{tL}=\Big{\{}\mathbf{A}_{j}\Big{|}j\in\Lambda_{tL}\Big{\}},\mathbf{F}=\Lambda_ {tL}\)
10:\(\mathbf{r}_{new}=\mathbf{y}-\mathbf{A}_{tL}(\mathbf{A}_{tL}^{T}\mathbf{A}_{tL})^{-1}\mathbf{A}_{tL}^{T} \mathbf{y}\)
11:if\(\|r_{new}\|_{2}<\|\mathbf{r}_{t-1}\|_{2}\)then
12:if (\(\mathbf{r}_{new}=0\)) or (\(\|r_{new}\|_{2}\leq\lambda\)) then
13:break
14:else
15:\(\Lambda_{t}=\mathbf{F},\;\mathbf{r}_{t}=\mathbf{r}_{new},\;t=t+1\)
16:endif
17:else
18:if\(\|r_{new}-\mathbf{r}_{t-1}\|_{2}/\|\mathbf{r}_{t-1}\|_{2}\geq\eta\)then
19:\(L=L+S,\;t=t+1\)
20:else
21:\(L=L+\lfloor\pi S\rfloor,\;t=t+1\)
22:endif
23:endif
24:endwhile
25:\(\theta_{tF}=\theta_{t},\Lambda_{F}=\Big{\{}j\big{|}\hat{\theta}_{tj}\in \hat{\theta}_{tF}\Big{\}},\mathbf{A}_{F}=\Big{\{}\mathbf{A}_{j}\Big{|}j\in\Lambda_{F} \Big{\}},\;F=\Lambda_{F}\)
26:(Filtering steps)
27:while\(l\
eq 0\)do
28:\(\mathbf{r}=\mathbf{y}-\mathbf{A}_{F}(\mathbf{A}_{F}^{T}\mathbf{A}_{F})^{-1}\mathbf{A}_{F}^{T}\mathbf{y},\;l= cardinal(F)-1\)
29:\(\mathbf{v}=abs\big{(}\big{(}\mathbf{A}_{F}^{T}\mathbf{A}_{F}\big{)}^{-1}\mathbf{A}_{F}^{T}\mathbf{y} \big{|},\;\mathbf{v}_{i}=\max(\mathbf{v},i)\)
30:\(\Lambda_{p}=\Big{\{}j\big{|}\mathbf{v}_{j}\mathbf{e}_{p}\mathbf{v}_{i}\Big{\}},\;\mathbf{A}_{p}= \Big{\{}\mathbf{A}_{j}\Big{|}j\epsilon\Lambda_{p}\Big{\}},\;\mathbf{P}=\Lambda_{p}\)
31:\(res=\mathbf{y}-\mathbf{A}_{p}\big{(}\mathbf{A}_{p}^{T}\mathbf{A}_{p}\big{)}^{-1}\mathbf{A}_{p}^{T} \mathbf{y}\)
32:if\(\|r\|_{2}\geq\|res\|_{2}\)then
33:\(F=\mathbf{P},\;\mathbf{r}=res\)
34:else
35:break
36:endif
37:endwhile
38:Outputs:\(\hat{\theta}=\big{(}\mathbf{A}_{F}^{T}\mathbf{A}_{F}\big{)}^{-1}\mathbf{A}_{F}^{T}\mathbf{y}\)
```  
**Algorithm 1**FRSVssMP for Compressed SensingAs illustrated above, four parameters are required to be considered during iterations, i.e., an initial step size \(S\), an iteration-terminating parameter \(\lambda\), a step-size transformed parameter \(\eta\) and a step-size adaptive parameter \(\alpha\). Such parameters exert an influence on reconstruction performance obviously. The initial step size \(S\) is set to \(\lfloor k_{0}/2\rfloor\) in initialization for a rapid approximation. The iteration-terminating parameter \(\lambda\) is employed to judge whether iterations should be stop or not, of which value is usually set to \(10^{-6}\) in practice. The step-size transformed parameter \(\eta\) is adopted for comparison of old and new residuals in contiguous phases to confirm how to change the estimated sparsity level. According to the signal characteristics, the step-size adaptive parameter \(\alpha\) adjusts step increment to accomplish an accurate approximation by a small step size. Generally, the value of \(\alpha\) is a certain number between 0.4 and 0.6 corresponding to the signal.