commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nigel Goodwin (JIRA)" <>
Subject [jira] [Commented] (MATH-1137) BOBYQA incorrect indexing
Date Fri, 11 Jul 2014 18:00:12 GMT


Nigel Goodwin commented on MATH-1137:

ps. Gilles, way back in Aug 2011 you said the lines

                   if (newPoint.getEntry(j) == lowerDifference.getEntry(j)) {
                        bdtest = work1.getEntry(j);
                    if (newPoint.getEntry(j) == upperDifference.getEntry(j)) {
                        bdtest = -work1.getEntry(j);

are never entered, and if that is still true, then bdtest = bdtol and so the line in question
is also never executed!

Note also the C++ version has (J + J*J)/2, so IMHO that is also incorrect.

In my experience with my L-BFGS-B conversion, the trickiest part was dealing with parameter
v. value argument passing and what happened when an argument was changed inside a subroutine.
Java and Fortran are very different. It took me days with detailed comparisons of outputs
to trace and correct bugs. A good check would be to look at all places where methods change
values of arguments.....this is all part of Java 101 which I haven't yet taken =}. bdtest
is a primitive, so I think it's OK to change it and then check against bdtol. If bdtest was
a Double, I think it would be different.

> BOBYQA incorrect indexing
> -------------------------
>                 Key: MATH-1137
>                 URL:
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.3
>            Reporter: Nigel Goodwin

This message was sent by Atlassian JIRA

View raw message