cr.sparse.pursuit.RecoverySolution

class cr.sparse.pursuit.RecoverySolution(x_I: jax.Array, I: jax.Array, r: jax.Array, r_norm_sqr: jax.Array, iterations: int, length: int)[source]

Represents the solution of a sparse recovery problem

Consider a sparse recovery problem \(y=\Phi x + e\). Assume that \(x\) is supported on an index set \(I\) i.e. the non-zero values of \(x\) are in the sub-vector \(x_I\), then the equation can be rewritten as \(y = \Phi_I x_I + e\).

Solving the sparse recovery problem given \(\Phi\) and \(x\) involves identifying \(I\) and estimating \(x_I\). Then, the residual is \(r = y - \Phi_I x_I\). An important quantity during the sparse recovery is the (squared) norm of the residual \(\| r \|_2^2\) which is an estimate of the energy of error \(e\).

This type combines all of this information together.

Parameters
  • x_I – :estimate(s) of \(x_I\)

  • I – identified index set(s) \(I\)

  • r – residual(s) \(r = y - \Phi_I x_I\)

  • r_norm_sqr – squared norm of residual \(\| r \|_2^2\)

  • iterations – Number of iterations required for the algorithm to converge

Note

The tuple can be used to solve multiple measurement vector problems also. In this case, each column (of individual parameters) represents the solution of corresponding single vector problems.

Attributes

I

The support for non-zero values

iterations

The number of iterations it took to complete

length

The length of the sparse signal

r

The residuals

r_norm_sqr

The residual norm squared

x

x_I

Non-zero values