<< spg_group Toolbox SPGL1 spg_mmv >>

Toolbox SPGL1 >> Toolbox SPGL1 > spg_lasso

spg_lasso

SPG_LASSO Solve the LASSO problem

Calling Sequence

[x, r, g, info] = spg_lasso(A, b, tau, options)

Parameters

A :

(IN) is an m-by-n matrix, explicit or an operator.

b :

(IN) is an m-vector.

tau :

(IN) is a nonnegative scalar; see (LASSO).

options :

(IN) is a structure of options from spgSetParms

x :

(OUT) is a solution of the problem

r :

(OUT) is the residual, r = b - Ax

g :

(OUT) is the gradient, g = -A'r

info :

(OUT) is a structure with output information

Description

SPG_LASSO is designed to solve the LASSO problem

(LASSO) minimize ||AX - B||_2 subject to ||X||_1 <= tau,

where A is an M-by-N matrix, B is an M-vector, and TAU is a nonnegative scalar. In all cases below, A can be an explicit M-by-N matrix or matrix-like object for which the operations A*x and A'*y are defined (i.e., matrix-vector multiplication with A and its adjoint.)

Also, A can be a function handle that points to a function with the signature

v = A(w,mode) which returns v = A *w if mode == 1; v = A'*w if mode == 2.

X = SPG_LASSO(A,B,TAU) solves the LASSO problem.

X = SPG_LASSO(A,B,TAU,OPTIONS) specifies options that are set using SPGSETPARMS.

[X,R,G,INFO] = SPG_LASSO(A,B,TAU,OPTIONS) additionally returns the residual R = B - A*X, the objective gradient G = A'*R, and an INFO structure. (See SPGL1 for a description of this last output argument.)

Authors


Report an issue
<< spg_group Toolbox SPGL1 spg_mmv >>