[ 
https://issues.apache.org/jira/browse/MATH-1137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14059780#comment-14059780
 ] 

Gilles commented on MATH-1137:
------------------------------

bq. Easy enough to say, but it is now in commercial production code....

The issue is whether you'd have some saved copy of your development codes which 
you could rerun with the version of the code that can "crash". We don't ask for 
the complete source code of your applications.

This is a way to help us improve the quality of Commons Math.

Another approach would be to get in touch with an expert who could provide 
rationale for the obscure bits of Powell's code.
As you seem quite knowledgeable in using such algorithms (and a fan of this one 
in particular), you are the best candidate for this job. ;-)

A third approach to help users would be to describe a typical use-case where 
BOBYQA outperforms all the other algorithms implemented in Commons Math. This 
could provide incentives for improving the situation to people interested in 
performance.
I must stress again that the CM's implementation is currently in a state with 
_a lot of room for improvement_, by which I specifically mean here: 
performance-wise (see discussion in MATH-621).

bq. Implement from scratch from the paper? You must be joking!!! Have you tried 
to read the paper?

I tried. I was hoping to find direct relationships between the mathematical 
structures described in the paper and the data structures in the Fortran 
implementation. Unfortunately, the reference code is overwhelmed by loops, 
low-level fiddling with indices, global variables, (disguised) gotos, and what 
not that so much obscures the essence of the computation that I did not bother 
to go further in that direction. See also the discussion with Dietmar on 
MATH-621.

bq. It's obvious, surely? It was just something missed in the original 
conversion, you don't have a test case for every single conversion.

Because the code came with a long list of unit tests, we had the impression 
that it was relatively safe to include it, despite the code itself broke all 
the expectations required to be part of Commons Math (a.o. documentation and 
maintainability).

Personally, I do not want to have to read that code (again). Much less try and 
guess what this or that block's purpose was supposed to be.

bq. Is there an apache rule 'for every bug correction there shalt be an 
individual specific test case'?

I think there is. It's not always applied. But following the "commit" log, you 
can see that it's often the case, fortunately; thanks to dedicated developers!

Concerning this specific issue, I propose that you post to the "dev" ML, asking 
for the change to be performed based on the arguments you've submitted here. If 
there is no objection there, I'll commit the correction.


> BOBYQA incorrect indexing
> -------------------------
>
>                 Key: MATH-1137
>                 URL: https://issues.apache.org/jira/browse/MATH-1137
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.3
>            Reporter: Nigel Goodwin
>




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to