[SciPy-Dev] changes to autosol.py / arls.py

Ralf Gommers ralf.gommers at gmail.com
Fri Oct 16 11:08:18 EDT 2020


On Thu, Oct 15, 2020 at 8:39 PM rondall jones <rejones7 at msn.com> wrote:

> To Ilhan, Ralf, Stefan, others...
>
> Ilhan really wants arls() to give the user some feedback about the
> solution.
> I didn't understand his/your point at first but I eventually realized that
> I can
> and should return the artifacts I compute about the problem.
> And I really like the result. Ilhan was right.
> (There are no changes whatsoever to algorithms.)
>
> Also, Ilhan objected to the name, autosol, feeling that it implies too
> much.
> I had already changed all the routine names to arlsxxx, for
> "automatically regularized least squares".
> I guess I should have changed the file name, too, and am doing that too.
> I hope that doesn't foul up your review process.
>

That does seem like a better name. And no worries, renames are perfectly
fine and won't interfere with PR review.


> So I just uploaded arls() and its test_arls() with these changes"
>
>    - each solver now returns:
>       - the tradition numerical rank of A ( I checked other current
>       solvers in scipy to be sure I was doing this in the same exact way)
>       - the "usable rank" which involves both A and b, and is the crucial
>       artifact needed to do autoregularization
>       - the estimate of the right-hand-side RMS error, sigma. Some people
>       will be surprised to see that this is possible.
>       - the resulting Tikhonov regularization parameter, lambda
>       - The in-code comments have been updated
>    - The test_arls() code has been updated to use one function per test,
>    as best as I understand how to do it at this point
>
> Unfortunately I don't know how to delete the old autosol.py and
> test_autosol.py.
> Maybe one of you code managers have to do that?
>

On your local branch you do `git rm autosol.py` and then commit the result
and push it to your fork.

Unless you mean you are only using the GitHub UI for adding code. That
won't work for reasonably complex code changes, it really is only meant for
tiny fixes like doc updates. It's well worth taking the time to learn Git
(I know it's a pain to start with).


> Thanks for your interest and tolerance of my areas of ignorance.
> By the way, I am not seeking to REPLACE any current scipy solvers. Arls
> should only be an additional feature for a long time.
>

Yes, understood. If you had removed existing functionality, you'd have
heard howls of protest quickly:)

But I think it will be a significant asset for scipy.
> I have mostly publicized these codes strictly via my web site in the past,
> as C++ has no central code repository like python.
>

I suggest to keep the rest of this conversation on GitHub, no need to keep
the mailing list subscribers up to date. The habit is simply to make them
aware once and take a decision on adding functionality yes/no on the list;
anything else is easier on GitHub.

Cheers.
Ralf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/scipy-dev/attachments/20201016/fc413b99/attachment-0001.html>


More information about the SciPy-Dev mailing list