如何计算Fortran中[a,b]上定义的平滑函数的最大值? 为简单起见,使用多项式函数。
背景是几乎所有数值通量(数值PDE中的概念)都涉及计算区间[a,b]内某个函数的最大值。
答案 0 :(得分:1)
对于平滑且易于计算的导数的一维问题,使用Newton-Raphson来查找一阶导数的零。
对于多维度和易于计算的导数,最好使用近似于Hessian的方法。有几种这种类型的方法,但我发现L-BFGS方法是可靠和有效的。有一个方便的,BSD-licensed package由西北大学的一个小组提供。在http://www.netlib.org/
还有相当多经过良好测试的代码