Rice University logo



YALL1 package now includes:

  • YALL1 Basic, a solver for sparse reconstruction: Version 1.4, July 15, 2011.
  • YALL1 Group, a solver for group/joint sparse reconstruction: Version 1.2, June 28, 2011.

YALL1 Basic

solves the following L1-minimization problems:

   (BP)          min ||Wx||w,1,   s.t. Ax = b
   (L1/L1)       min ||Wx||w,1 + (1/ν)||Ax - b||1
   (L1/L2)       min ||Wx||w,1 + (1/2ρ)||Ax - b||22
   (L1/L2con)    min ||Wx||w,1,   s.t. ||Ax - b||2 <= δ
   (BP+)         min ||x||w,1,   s.t. Ax = b,  x >= 0
   (L1/L1+)      min ||x||w,1 + (1/ν)||Ax - b||1,   s.t. x >= 0
   (L1/L2+)      min ||x||w,1 + (1/2ρ)||Ax - b||22, s.t. x >= 0
   (L1/L2con+)   min ||x||w,1,  s.t. ||Ax - b||2 <= δ,  x >= 0


  • A is an m-by-n matrix with m << n,
  • the solution x (or its representation Wx) is supposed to be (approximately) sparse,
  • the data and solution can be real or complex, (If complex, then no non-negativity constraint is allowed)
  • a unitary sparsifying basis W is optional,
  • the 1-norm can be optionally weighted by a nonnegative vector w.

Go to discussions and Q&As.

Supported Features

YALL1 Group

The group sparsity code solves the following model

   (GroupBP)          min sum_i wi ||x_gi||2 s.t. Ax = b
   (GroupBP+)         min sum_i wi ||x_gi||2 s.t. Ax = b, x >= 0

where g1, g2, … are groups of coordinates and w1,w2, … are their weights.

Joint sparsity is a special case of group sparsity for recovering X = [x1,x2, …, xl] where the xi‘s share a common sparse support.

   (JointBP)          min sum_i wi ||X_i,:||2 s.t. AX = B.
   (JointBP+)         min sum_i wi ||X_i,:||2 s.t. AX = B, x>= 0.

Supported Features

  • Multiple types of A
    • explicit matrix
    • ensembles of fast transforms such as FFT, DCT, wavelets
    • general function handle
  • Groups can overlap
  • The union of groups does not need to cover all coordinates
  • Easy to modify for the support of complex numbers and your signals


Yin Zhang*, Wei Deng, Junfeng Yang, and Wotao Yin.

* The original author of YALL1 (beta 1 – 6).


YALL1 basic models and tests: J. Yang and Y. Zhang. Alternating direction algorithms for L1-problems in compressive sensing, SIAM Journal on Scientific Computing, 33, 1-2, 250-278, 2011. [arXiv]

YALL1 basic solver code: Y. Zhang, J. Yang, and W. Yin. YALL1: Your ALgorithms for L1, online at yall1.blogs.rice.edu, 2011.

YALL1 group/joint sparsity: W. Deng, W. Yin, and Y. Zhang, Group Sparse Optimization by Alternating Direction Method, Rice CAAM Report TR11-06, 2011. [pdf]


YALL1 is now open-source. It is distributed under the terms of the GNU General Public License. [Proceed to the download page]