Version 0.1
![\[ \begin{array}{ll} \displaystyle\mathop{\hbox{minimize}}_x & \frac12\|Ax-b\|_2^2 + \mu\frac12\|x\|_2^2 + c^T x \\ \hbox{subject to} & \ell \le x \le u. \end{array} \]](form_2.png) 
 The m-by-n matrix  can be any shape. The regularization and linear terms are optional. The vectors
 can be any shape. The regularization and linear terms are optional. The vectors  and
 and  define upper and lower bounds on the variables
 define upper and lower bounds on the variables  . Free and fixed variables are easily accomodated by setting corresponding components of
. Free and fixed variables are easily accomodated by setting corresponding components of  and
 and  to be
 to be  and
 and  , or by setting them equal to each other.
, or by setting them equal to each other.
BCLS implements a two-metric projected-descent method. At each iteration, a search direction is computed that is a combination of a Newton and a scaled steepest-descent step.
Some notable features of the implementation:
 is used only as an operator. The user needs only to provide a routine to compute the matrix-vector produts
 is used only as an operator. The user needs only to provide a routine to compute the matrix-vector produts  and
 and 
BCLS is written in ISO C and should compile on most systems (thanks for the Autoconf/Automake tools). No additional software is required, though there should be a significant speedup if it is compiled against a tuned BLAS library such as ATLAS. It has been tested using GCC on GNU/Linux, Mac OS X, and Windows XP (under MinGW).
Michael P. Friedlander Department of Computer Science University of British Columbia mpf@cs.ubc.ca
Generated on Sun Mar 4 22:50:03 2007 by Doxygen 1.5.1