使用scipy的标量最小化(`minimize`vs`minimize\u Scalar`)

2024-06-11 02:25:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多项式函数,我想找出所有的局部极值。我可以通过P(x)计算多项式,并通过d_P(x)计算其导数。你知道吗

我的第一个想法是使用minimize_scalar,但是这似乎不能利用我可以计算导数的事实。或者,我可以使用更一般的minimize函数并提供梯度。你知道吗

关于哪种方法更有效,是否有一个经验法则,或者我应该在这里测试两种方法,看看哪些方法更有效。因为我正在优化的函数是一个多项式(表现良好),我想知道它是否真的那么重要,我使用,但如果有人有一个更大的背景,这将是伟大的。你知道吗

特别地,P(x)n次的(唯一)多项式,其在一组n-1点上交替地获得1-1的值。你知道吗

这里是一个P(x)缩放的示例,以便P(0)=1。请注意,y轴以符号比例绘制。 enter image description here


Tags: 方法函数利用示例符号局部经验事实
1条回答
网友
1楼 · 发布于 2024-06-11 02:25:00

因为您有一个连续的标量函数,minimize_scalar的文档提出了一种更离散的优化方法。因为它不使用梯度信息,你就不会有噪音/不连续性/离散性的麻烦。但是,如果将minimize与基于梯度的方法结合使用,则会在噪声/不连续性/离散性的收敛方面遇到困难。你知道吗

如果目标函数是一阶连续的,那么minimizeminimize_scalar对于给定的界应该产生相同的解。你知道吗

相关问题 更多 >