### NNLS version 0 -- a MATLAB software for
nuclear norm regularized linear least squares problems
based on an accelerated proximal gradient method

The software was first released on 14 Oct 2009. It was
last updated in 10 Nov 2009
with some minor bugs corrected.
The software is designed to solve nuclear norm regularized linear least
squares problems of the form:
min_X {f(X) + mu*sum(svd(X))}
min_X {f(X) + mu*trace(X) : X psd}
where mu > 0 is a regularization paramter, and f(X) = 0.5*norm(A(X)-b)^2.

Important note:
this is a research software. It is not intended nor designed to be a general
purpose software at the moment.
The solver is expected to work well only for favorable problems
such as nuclear norm regularized
random matrix completion problems.
Being a gradient method, it is quite sensitive to the various
parameters used in the algorithm. The selection of the parameters
typically depend on the class of problems being solved.

For more details, see:
Kim-Chuan Toh and Sangwoon Yun
An accelerated proximal gradient algorithm for nuclear norm regularized
least squares problems, Pacific J. Optimization, 6
(2010), pp. 615--640.

- Copyright:
This version of NNLS is distributed under the GNU General Public License 2.0.
For commercial applications that may be incompatible with this license,
please contact the authors to discuss alternatives.
- User guide: in preparation.
**NNLS-0.zip**

Please read.
Welcome to NNLS-0!
The software requires a few Mex files for execution.
You can generate (only need to be done once)
these Mex files
as follows:
- Firstly, unpack the software:

unzip NNLS-0.zip
- Run Matlab in the directory NNLS-0
- In the Matlab command window, type:

>> Installmex

- After that, to see whether you have installed NNLS-0 correctly,
type:

>> startup

>> runRandomMatComp
- By now, NNLS is ready for you to use.