The `nonnegative` is not necessary. It can solve unconstrained LS iteratively, but we have better algorithms for that, like LSQR and QR/SVD. Also, the object name is `NNLS`.