help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lsqlin() error message


From: Nicholas Jankowski
Subject: Re: lsqlin() error message
Date: Fri, 5 Jul 2019 21:38:57 -0400

On Fri, Jul 5, 2019 at 7:00 PM GoSim <address@hidden> wrote:
I tried to create a username in savannah 20 times but evidently I need a
password from Mars so I will just write my ideas here.

I have a fairly simple (as far as they go) password for savannah, so not sure what the issue is.  you can always comment anonymously on that bug report if login remains an issue. I think you'll still get directly copied on replies since I added your email.
 
To the maintainer of optim:

(CC'd here)
 
Best solution: remove lin. dependent rows and keep lsqlin working even if
e.g. two of the same linear combinations are filled in.

Second best solution: Do like Matlab but also write an error/warning so the
user understands why he gets NaN. Lsqlin is very powerful and it is hard to
understand that such a small thing can make it fail.

Worst solution: just like Matlab

Experimental solution: identify lin. dependent rows and to all but one of
them add a very small white noise. The idea is that if you have many linear
combinations that are the same this means something, it should be weighted.
So by keeping them and adding a very small noise maybe the algorithm can
handle it and it will be weighted.

Thanks for optim, I use it often.   


Matlab non-compatibility is generally considered a bug for Octave. so i would think your best solution would only be an possibility after quite a bit of discussion regarding deliberately breaking m-code compatibility. Emulating Matlab output would be a baseline. Adding a warning could still be ok I think. an error would break execution, so probably not. An optional flag or setting to enable one of the fixes you suggest could be ok, as it would extend Octave beyond matlab while maintaining compatibility. BUT the change would need to be mathematically justified. Do we know what algorithm matlab uses? they give a reference [1], why does it produce a NaN? Perturbing the inputs without user notification would require significant mathematical justification. 

[1] https://www.mathworks.com/help/optim/ug/lsqlin.html

reply via email to

[Prev in Thread] Current Thread [Next in Thread]