I come across with a problem of the form $y=Hx + z \in \mathbb{R}^m$, where $z\in \mathbb{R}^m$ is the noise vector, and $x \in \mathbb{R}^N$ is partially known. $H\in \mathbb{R}^{m \times N}$ can be regarded as a measurement matrix we ourselves have its design control. $y\in \mathbb{R}^m$ is the observation vector which is also known.
$x$ has exactly $K$ nonzero entries. It holds that $K \ll m \ll N$. Besides, we also know the values of those $K$ nonzero entries, denote them as $\beta_1,...,\beta_K$, however we do not know their index in $x$. The problem's goal is to find their index.
Is there any algorithm, e.g., some extended AMP-like schemes, etc. that solves this kind of problem?
What I tried is to convert the problem into a convex optimization problem. That is, we rewrite the problem as $y=HP\beta + z$, where $y,H,\beta=[\beta_1,...,\beta_K]^T$ are all known. And we require $P$ to satisfy (1) each column has exactly a single $1$, all other entries are zeros. (2) For each row, there can be at most one $1$, all other entries are zeros.
It turns out the convex hull of such matrices $P$ is quite easy to describe: $\{P\in \mathbb{R}^{N \times K}| P1\leq 1, 1^TP=1, P\geq 0 \}$. $P$ here can be regarded as a submatrix of a permutation matrix by selecting its first $K$ columns. And then we solve for a good $P$ by minimizing $\| y - HP\beta \|_2$, which is definitely a convex objective. (A heuristic here is that we can throw away most columns of $H$, because in probability, most columns are inactive, but I do not know how to take advantage of this.)
The above gives us a convex problem. However, I found that when $H\in \mathbb{R}^{10^3 \times 10^4}$ (aka, not very big scale), the algorithm is extremely slow. And personally I do not think convex optimization is the way to go.