spgl1.spg_bpdn

spgl1.spg_bpdn(A, b, sigma, **kwargs)[source]

Basis pursuit denoise (BPDN) problem.

spg_bpdn is designed to solve the basis pursuit denoise problem:

(BPDN)  minimize  ||x||_1  subject to  ||A x - b|| <= sigma

where A is an M-by-N matrix, b is an M-vector. A can be an explicit M-by-N matrix or a scipy.sparse.linalg.LinearOperator.

This is equivalent to calling ``spgl1(A, b, tau=0, sigma=sigma)

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 vector b.

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_bpdn