spgl1.spg_mmv

spgl1.spg_mmv(A, B, sigma=0, **kwargs)[source]

MMV problem.

spg_mmv is designed to solve the multi-measurement vector basis pursuit denoise:

(MMV)  minimize  ||X||_1,2  subject to  ||A X - B||_2,2 <= sigma

where A is an M-by-N matrix, b is an M-by-G matrix, and `sigma is a nonnegative scalar. A can be an explicit M-by-N matrix or a scipy.sparse.linalg.LinearOperator.

Parameters:
A : {sparse matrix, ndarray, LinearOperator}

Representation of an M-by-N matrix. It is required that the linear operator can produce Ax and A^T x.

b : array_like, shape (m,)

Right-hand side matrix b of size M-by-G.

sigma : float, optional

BPDN threshold. If different from None, spgl1 solves BPDN problem

kwargs : dict, optional

Additional input parameters (refer to spgl1.spgl1 for a list of possible parameters)

Returns:
x : array_like, shape (n,)

Inverted model

r : array_like, shape (m,)

Final residual

g : array_like, shape (h,)

Final gradient

info : dict

See spgl1.

Examples using spgl1.spg_mmv