[SciPy-User] Sparse Matricies and NNLS

Ariel Rokem arokem@gmail....
Mon Apr 15 11:34:50 CDT 2013


Hey Calvin,


On Mon, Apr 1, 2013 at 6:07 AM, Calvin Morrison <mutantturkey@gmail.com>wrote:

> Unforunately,
>
> Tsnnls might have been fast in 2001, trying it on a moderatley sized
> dataset is beyond slow
>
> Calvin
> On Apr 1, 2013 8:57 AM, "Jonathan Guyer" <guyer@nist.gov> wrote:
>
>>
>> On Mar 28, 2013, at 5:33 PM, Calvin Morrison wrote:
>>
>> > It seems nobody wants to touch the nnls algorithm because the only
>> implementation that is floating around is the one from the original
>> publication or automatic conversions of it.
>>
>> For whatever it's worth, the second google hit for "nnls sparse" is
>>
>>   http://www.michaelpiatek.com/papers/tsnnls.pdf
>>
>> "tsnnls: A solver for large sparse least squares problems with
>> non-negative variables
>>
>> The solution of large, sparse constrained least-squares problems is a
>> staple in scientific and engineering applications. However, currently
>> available codes for such problems are proprietary or based on MATLAB. We
>> announce a freely available C implementation of the fast block pivoting
>> algorithm of Portugal, Judice, and Vicente. Our version is several times
>> faster than Matstoms’ MATLAB implementation of the same algorithm. Further,
>> our code matches the accuracy of MATLAB’s built-in lsqnonneg function."
>>
>> All links to the code seem to be dead, but it's probably worth contacting
>> the authors.
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User@scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user


I've found stochastic gradient descent to be very useful for this kind of
thing.

Here's an implementation, adapted from a colleague's Matlab implementation:


https://gist.github.com/arokem/5389417

HTH,

Ariel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20130415/9d068f24/attachment-0001.html 


More information about the SciPy-User mailing list