У меня есть полиномиальная функция, для которой я хотел бы найти все локальные экстремумы.Я могу оценить полином через P(x)
и его производную через d_P(x)
.
Моей первой мыслью было использование minimize_scalar
, однако, похоже, я не смог воспользоваться тем, что яможно оценить производную.В качестве альтернативы я могу использовать более общую функцию minimize
и предоставить градиент.
Есть ли практическое правило о том, какой метод будет работать лучше, или это то, где я должен проверить оба метода и посмотреть, чтоработает лучше.Так как функция, которую я оптимизирую, является полиномом (хорошо себя ведет), мне интересно, действительно ли это так важно, какой я использую, но если у кого-то есть больше фона, это было бы здорово.
В частности, P(x)
- это(уникальный) полином степени n
, который альтернативно достигает значения 1
или -1
на наборе n-1
точек.
Вот пример P(x)
, масштабированный таким образом, чтобыP(0)=1
.Обратите внимание, что ось Y построена в масштабе журнала.![enter image description here](https://i.stack.imgur.com/ftmNl.png)