-
-
Notifications
You must be signed in to change notification settings - Fork 674
Closed
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:
- attachment: trac2607.patch
- attachment: trac2607-whitespace.2.patch
- attachment: trac_2607_renaming.3.patch
- attachment: trac2607-doctest-and-spacing.patch
- attachment: trac_2607_update_deprecation.patch
Depends on #13109
Component: calculus
Keywords: sd31, sd40.5
Author: Dan Drake, Andrey Novoseltsev, Andrzej Giniewicz, Volker Braun
Reviewer: Karl-Dieter Crisman, Mike Hansen, Andrey Novoseltsev
Merged: sage-5.3.beta0
Issue created by migration from https://trac.sagemath.org/ticket/2607