L1_LS_MULTI_BOUNDED_WEIGHTED estimates the sparse input signal Reweighted l1-Regularized Least Squares Problem Solver Under Constraints l1_ls_multi_bounded_weighted solves problems of the following form: for i = 1: iter minimize ||A*x-y||^2 + lambda*sum|W_i *x_i|, subject to abs(x) < = 1 Update: W end Equivalent formulation minimize || A* W^(-1).z -y ||^2 + lambda * sum| z_i | subject to abs(z) < = W where A and y are problem data and x is variable (described below). ( note : the symbols are not corresponding to the ones used in the code) if A is a matrix, either sequence can be used. if A is an object (with overloaded operators, Toeplitz matrix), At, m, n must be provided. INPUT A : mxn matrix; input data. columns correspond to features. At : nxm matrix; transpose of A. m : number of examples (rows) of A n : number of features (column)s of A y : m vector; outcome. lambda : positive scalar; regularization parameter tar_gap : relative target duality gap (default: 1e-3) quiet : boolean; suppress printing message when true (default: false) eta : scalar; parameter for PCG termination (default: 1e-3) pcgmaxi : scalar; number of maximum PCG iterations (default: 5000) OUTPUT x : n vector status : string; 'Solved' or 'Failed' history : matrix of history data. columns represent (truncated) Newton iterations; rows represent the following: - 1st row) gap - 2nd row) primal objective - 3rd row) dual objective - 4th row) step size - 5th row) pcg iterations - 6th row) pcg status flag AUTHOR Michalis Raptis VisionLab UCLA based on the work of Kwangmoo Koh Paper : A Method for Large-Scale l1-Regularized Least Squares Kwangmoo Koh, Seung-Jean Kim, and Stephen Boyd