[
https://issues.apache.org/jira/browse/MATH-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837494#action_12837494
]
Volkan Aktas commented on MATH-343:
-----------------------------------
Thanks for the quick turnaround. One comment: I'm not sure whether the check
before throwing the IllegalArgumentException is necessary. You can have only
the following situations (given that min <= initial <= max and assuming neither
min nor max is a root):
- yMin and yMax have the same sign:
- yInitial has a different sign: Handled on line 121 (function is not
monotonous between min and max)
- yInitial has the same sign: Falls through to line 136 and yMin * yMax
> 0 by definition
- yMin and yMax do not have the same sign:
- yInitial has the same sign as yMax: Handled on line 121
- yInitial has the same sign as yMin: Handled on line 133
In this case I'd say code between lines 131 and 142 should be replaced by the
throw statement on line 137.
> Brent solver doesn't throw IllegalArgumentException when initial guess has
> the wrong sign
> -----------------------------------------------------------------------------------------
>
> Key: MATH-343
> URL: https://issues.apache.org/jira/browse/MATH-343
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Volkan Aktas
> Priority: Critical
>
> Javadoc for "public double solve(final UnivariateRealFunction f, final double
> min, final double max, final double initial)" claims that "if the values of
> the function at the three points have the same sign" an
> IllegalArgumentException is thrown. This case isn't even checked.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.