#2607: find_minimum_on_interval() uses the wrong scipy function
--------------------------------+-------------------------------------------
       Reporter:  AlexGhitza    |         Owner:  jwmerrill          
           Type:  defect        |        Status:  needs_review       
       Priority:  major         |     Milestone:  sage-5.1           
      Component:  calculus      |    Resolution:                     
       Keywords:  sd31, sd40.5  |   Work issues:                     
Report Upstream:  N/A           |     Reviewers:  Karl-Dieter Crisman
        Authors:  Dan Drake     |     Merged in:                     
   Dependencies:                |      Stopgaps:                     
--------------------------------+-------------------------------------------
Description changed by ddrake:

Old description:

> This was reported by Dean Moore on sage-support.  Consider:
>
> {{{
> sage: f(x) = -x*sin(x^2)
> sage: f.find_minimum_on_interval(-2.5, 2)
> (-1.3076194129914434, 1.35521114057)
> sage: f.find_minimum_on_interval(-2.5, -1)
> (-2.1827697846777219, -2.19450274985)
> }}}
>
> So find_minimum_on_interval() returns a local minimum as opposed to the
> global one.  (The same issue applies to find_maximum_on_interval.)  This
> is due to the fact that the function wraps scipy.optimize.fminbound,
> which is only a local optimizer (Carl Witty pointed this out).  We should
> instead use one of the global optimizers, i.e. scipy.optimize.anneal or
> scipy.optimize.brute.

New description:

 This was reported by Dean Moore on sage-support.  Consider:

 {{{
 sage: f(x) = -x*sin(x^2)
 sage: f.find_minimum_on_interval(-2.5, 2)
 (-1.3076194129914434, 1.35521114057)
 sage: f.find_minimum_on_interval(-2.5, -1)
 (-2.1827697846777219, -2.19450274985)
 }}}

 So find_minimum_on_interval() returns a local minimum as opposed to the
 global one.  (The same issue applies to find_maximum_on_interval.)  This
 is due to the fact that the function wraps scipy.optimize.fminbound, which
 is only a local optimizer (Carl Witty pointed this out).  We should
 instead use one of the global optimizers, i.e. scipy.optimize.anneal or
 scipy.optimize.brute.

 Apply trac2607.patch and trac2607-whitespace.patch

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/2607#comment:20>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to