2

Is there an algorithm that given a function and its derivative gives me all local maxima (in an interval)? All optimization algorithms I know of focus on finding one local or one global maximum. I could run such a traditional optimization algorithm multiple times at different starting points and hope to find all local maxima but this is wasteful and probably incomplete. Thank you.

EDIT: Let's assume that the function, its derivative and its second derivative are all continuous. I am looking for an algorithm that works on any such function, not just on polynomials.

phischu
  • 131
  • I am guessing you are not talking about any arbitrary functions, for example you probably don't want to consider nowhere differentiable functions. Is there a specific class of functions you want to consider, like polynomials in 1 or $n$ variables? The mores focused you make your question the better answers you can receive. –  Mar 26 '15 at 07:47
  • How well behaved are your functions? – Regret Mar 26 '15 at 07:48
  • Assuming this is a one-dimensional function with a continuous derivative, find distinct subintervals covering all the cases where the derivative changes from positive to negative. Then use a sensible algorithm in each subinterval. – Henry Mar 26 '15 at 08:02
  • Your edit isn't going to be quite enough. I can put an arbitrarily large number of local maxima within a compact interval even with two continuous derivatives. You probably need some sort of Lipschitz bound on the first derivative. – Michael Grant Mar 26 '15 at 16:29
  • @MichaelGrant Yes, the number of local maxima is unknown. Does it follow from my edit that it is finite? What if I assume a Lipschitz bound? Could you point me to existing literature or drop me some key words? – phischu Mar 26 '15 at 18:36

0 Answers0