BCLS: Bound Constrained Least Squares

Version 0.1

Version 0.1

Introduction

BCLS is a software package for solving bound-constrained least-squares problems of the form

\[ \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} \]

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

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

License

BCLS is open-source software released under the L-GPL license. Feel free to use it in any way you wish. If you find it at all useful, I'd like to hear from you, please send email.

Download:
Sources (Version 0.1, 4 Mar 2007)
Precompiled MEX interfaces (WinXP, MacIntel, Linux) (Version 0.1, 4 Mar 2007) Getting started:
Author:

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