Algorithm 3.
NNS-HTP
| Input: Φ, Y, and S. |
| Output: X̂ and Λ̂SS. |
| Initialization: Set R(0) = Y and X̂(0) = 0 |
| Iteration: for j = 1, 2, … until stopping criteria are satisfied |
| 1. Set , where is the matrix formed by taking the S columns of Φ corresponding to . |
| 2. Set G̃(j) = X̂(j−1) + α(j)ΦT R(j−1). |
| 3. Set to be the indices of the S rows of [G̃(j)]+ with the largest Frobenius norms. |
| 4. Update X̂(j) according to (11). |
| 5. Update R(j) = Y − ΦX̂(j). |