BCLS: Bound Constrained Least Squares

Version 0.1

The m-by-n matrix can be any shape. The regularization and linear terms are optional. The vectors and define upper and lower bounds on the variables . Free and fixed variables are easily accomodated by setting corresponding components of and to be and , 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:

- The matrix is used only as an operator. The user needs only to provide a routine to compute the matrix-vector produts and
- The algorithm can take advantage of good starting points, and is capable of making very large changes to the "active-set" at each iteration.
- The normal equations are never formed.
- The user may provide perconditioners in order to accelerate the solution of the subproblems.

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).

Sources (Version 0.1, 4 Mar 2007)

Precompiled MEX interfaces (WinXP, MacIntel, Linux) (Version 0.1, 4 Mar 2007)

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