AbstractEstimator: getCovariances() and guessParametersErrors() crash when 
having bound parameters
--------------------------------------------------------------------------------------------------

                 Key: MATH-200
                 URL: https://issues.apache.org/jira/browse/MATH-200
             Project: Commons Math
          Issue Type: Bug
    Affects Versions: 1.2
            Reporter: Plamen Petrov
            Priority: Critical


the two methods getCovariances() and guessParametersErrors() from 
org.apache.commons.math.estimation.AbstractEstimator crash with 
ArrayOutOfBounds exception when some of the parameters are bound. The reason is 
that the Jacobian is calculated only for the unbound parameters. in the code 
you loop through all parameters.

line #166: final int cols = problem.*getAllParameters()*.length;
should be replaced by:  final int cols = 
problem.*getUnboundParameters()*.length;
(similar changes could be done in guessParametersErrors())

the dissadvantage of the above bug fix is that what is returned to the user is 
an array with smaller size than the number of all parameters. Alternatively, 
you can have some logic in the code which writes zeros for the elements of the 
covariance matrix corresponding to the bound parameters

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to