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:
where is a regularization parameter, and .
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.
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.
User guide: in preparation
You can download the package here: 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:
Run Matlab in the directory NNLS-0
In the Matlab command window, type:
After that, to see whether you have installed NNLS-0 correctly, type:
By now, NNLS is ready for you to use.
Some segmentation errors have been reported when running NNLS-0 on Windows 64-bit PCs. We have not observed such errors when running on MATLAB version 18.104.22.1684 (R2011b). For example, when running the m-file runRandomMatComp, we get the following successful run: