1

如何计算 Fortran 中 [a,b] 上定义的平滑函数的最大值?为简单起见,使用多项式函数。

背景是几乎所有数值通量(数值 PDE 中的一个概念)都涉及计算某个函数在区间 [a,b] 上的最大值。

4

1 回答 1

1

对于具有平滑且易于计算的导数的一维问题,请使用Newton-Raphson找到一阶导数的零点。

对于多维和易于计算的导数,最好使用近似 Hessian 的方法。这种类型有几种方法,但我发现L-BFGS方法可靠且有效。西北大学的一个小组提供了一个方便的、获得 BSD 许可的软件包。在http://www.netlib.org/也有相当多的经过良好测试的代码

于 2013-03-09T15:31:49.180 回答