NNLS

NNLS version 0 — a MATLAB software for nuclear norm regularized linear least squares problems
Kim-Chuan Toh, Sangwoon Yun

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:

\(\begin{eqnarray*}&\min&\Big\{ f(X)+\mu\|X\|_* \mid X \in \mathbb{R}^{m\times n} \Big\}
\\[5pt]
&\min&\Big\{ f(X)+\mu Tr(X) \mid X \in \mathbb{S}^{n}_+ \Big\}
\end{eqnarray*}
\)

where \(\mu > 0\) is a regularization parameter, and \(f(X) = \frac{1}{2}\|{\cal 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.


Citation: 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.

Download: NNLS-0.zip

Please read. 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.