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

Gilles commented on MATH-832:
-----------------------------

bq. [...] But now i think i know where the problem is [...]

I do not. Is there a problem in Commons Math?

bq. An upper bound for the interval sufficiently smaller than infinity causes 
no problems

The initial report seems to indicate that you wanted to obtain the minimum of 
"uf". Then, in your last comment, you still use "BrentSolver" which will search 
for the root (of that same "uf").
Which is it?

Also, please correct the links in your previous comment; they seem broken 
(parts not being interpreted as links). Even better would be to upload files 
(either figures, or source code to reproduce the problem) to this page, instead 
of those unreadable links!
Thanks.

                
> Brent solver calculates incorrect root (namley Double.MAX_VALUE)
> ----------------------------------------------------------------
>
>                 Key: MATH-832
>                 URL: https://issues.apache.org/jira/browse/MATH-832
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.0
>         Environment: Netbeans 7.1.2
>            Reporter: Alex
>
> *Wolfram-Alpha-Solution:*
> [http://www.wolframalpha.com/input/?i=min+100*sqrt%28x%29%2B1000000%2Fx%2B10000%2Fsqrt%28x%29+with+x%3E0]
> {code:borderStyle=solid}min{100 sqrt(x)+1000000/x+10000/sqrt(x)|x>0}~~4431.94 
> at x~~804.936{code}
> *Java-Input:*{code:borderStyle=solid}
> int startValue1 = 100 + 1000000 + 10000;
> int startValue2 = 100;
> UnivariateFunction uf = new UnivariateFunction() {
>     @Override
>     public double value(double x) {
>         return 100/(2*Math.sqrt(x)) - 1000000/Math.pow(x,2) - 
> 10000/(2*Math.pow(x,(double) 3/2));
>     }
> };
> System.out.println(
>     (new BrentSolver()).solve(Integer.MAX_VALUE, uf, 1/Double.MAX_VALUE, 
> Double.MAX_VALUE, startValue1)
> );
> System.out.println(
>     (new BrentSolver()).solve(Integer.MAX_VALUE, uf, 1/Double.MAX_VALUE, 
> Double.MAX_VALUE, startValue2)
> );{code}
> *Java-Output:*{code:borderStyle=solid}
> 804.9355821866686
> 1.7976931348623157E308 (= Double.MAX_VALUE){code} 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to