[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #33347] lsqnonneg should have tolerance option
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #33347] lsqnonneg should have tolerance option for convergence |
Date: |
Thu, 19 May 2011 05:30:20 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1 |
URL:
<http://savannah.gnu.org/bugs/?33347>
Summary: lsqnonneg should have tolerance option for
convergence
Project: GNU Octave
Submitted by: None
Submitted on: Thu 19 May 2011 05:30:19 AM UTC
Category: Libraries
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Improvement/Optimization
Status: None
Assigned to: None
Originator Name: Sean Pieper
Originator Email: address@hidden
Open/Closed: Open
Discussion Lock: Any
Release: 3.4.0
Operating System: GNU/Linux
_______________________________________________________
Details:
running lsqnonneg using a matrix with a large range of exact solutions, I see
that it takes about 20s to solve for points that should have 0 error and much
less for points that have some error-- apparently the full 10000 iterations
are used trying to get to exactly 0 distance (end result is ~10^26 distance).
The worst case performance can be considerably reduced if we modify the code
around here:
144 ## compute the gradient.
145 w = c'*(d - c*x);
146 w(p) = [];
147 if (! any (w > 0))
148 if (useqr)
149 ## verify the solution achieved using qr updating.
so that line 147 reads
147 if (! any (w > 0.001))
Obviously, the right value for the tolerance isn't always going to be 0.001,
but it should be easy enough to add a tolerance parameter to the option set,
and possibly to additionally have some sort of auto tolerance calculation
based on the max values of points, some static value of epsilon, etc.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?33347>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Octave-bug-tracker] [bug #33347] lsqnonneg should have tolerance option for convergence,
anonymous <=