Input: X ∈ ℝ m × n , y ∈ ℝ m , β 0 ∈ ℝ n and l .
Output: Approximate β l solving (1).
1. Randomly select j 1 ∈ { 1,2, ⋯ , n } with probability ‖ X j 1 ‖ 2 2 ‖ X ‖ F 2 and compute β 1 = β 0 + s 0 ( j 1 ) ‖ X j 1 ‖ 2 2 e j 1 .
2. For k = 1 to l − 1 do
3. Compute δ k = 1 2 ( 1 ‖ s k ‖ 2 2 max 1 ≤ j ≤ n { | s k ( j ) | 2 ‖ X j ‖ 2 2 } + 1 ‖ X ‖ F 2 ) .
4. Construct set V k = { j : | s k ( j ) | 2 ≥ δ k ‖ s k ‖ 2 2 ‖ X j ‖ 2 2 } .
5. Compute s ˜ k ( j ) = { s k ( j ) , if j ∈ V k , 0, otherwise .
6. Select j k + 1 ∈ V k with probability | s ˜ k ( j k + 1 ) | 2 ‖ s ˜ k ‖ 2 2 .
7. Compute w j k = e j k + 1 − X j k T X j k + 1 ‖ X j k ‖ 2 2 e j k and h j k = X j k + 1 T X w j k .
8. Set β k + 1 = β k + η k ( j k ) w j k , where η k ( j k ) = s ˜ k ( j k + 1 ) h j k .
9. End for