In the program listed below, what is the vector intended to be returned? The following program, Orthogonal Matching Pursuit (OMP, for short), is given in the paper ``Orthogonal Matching Pursuit for Sparse Signal Recovery with Noise'' by Cai and Wang. It is given as follows: OMP (measurement matrix $A,$ measurement vector $b$) Output: the support $S$ identifying the columns corresponding to a solution of $Ax=b.$ Instructions: Let $r_0=b.$ Let $S = \varnothing.$ Let the integer $i=1.$ For all columns $a_k$ of $A,$ compute $|a_k \cdot r_{i-1}|.$ Place the index $s_i=k$ of the maximum such product into the set $S.$ Let $P_i = A_S (A_S^*A_S)^{-1}A_S^*$ and let $r_i=b-P_ib.$ If $r_i=0$ then STOP; else RETURN to Step 2. END Step 4, of course, assumes that there is no noise present, so this step (as well as the notation in the algorithm) are modified a bit from the source. I notice that the support set of the algorithm, rather than the actual values of the solution, are returned. What should the actual values of the solution be? My initial thought is the vector $x_{s_i}=(A^+b)_i$ for all $s_i \in S$ and $0$ otherwise, where $A^+$ is the pseudoinverse $(A_S^*A_S)^{-1}A_S^*$ but I am not entirely certain that this is the intended answer. Any help in clarifying this algorithm would be greatly appreciated! 
What is the vector that this version of OMP (Orthogonal Matching Pursuit) returns?
linear algebra;optimization;ds.algorithms