An approximate sparse recovery system consists of parameters k,N, an
m-by-N measurement matrix, Φ, and a decoding algorithm, D.
Given a vector, x, the system approximates x by x=D(Φx), which must satisfy ∥x−x∥2≤C∥x−xk∥2, where xk denotes the optimal k-term approximation to x. For
each vector x, the system must succeed with probability at least 3/4. Among
the goals in designing such systems are minimizing the number m of
measurements and the runtime of the decoding algorithm, D.
In this paper, we give a system with m=O(klog(N/k))
measurements--matching a lower bound, up to a constant factor--and decoding
time O(klogcN), matching a lower bound up to log(N) factors.
We also consider the encode time (i.e., the time to multiply Φ by x),
the time to update measurements (i.e., the time to multiply Φ by a
1-sparse x), and the robustness and stability of the algorithm (adding noise
before and after the measurements). Our encode and update times are optimal up
to log(N) factors