Fortran で [a,b] に定義された滑らかな関数の最大値を計算する方法は? 簡単にするために、多項式関数を使用します。
背景は、ほとんどすべての数値フラックス (数値 PDE の概念) が、区間 [a,b] で特定の関数の最大値を計算することを含むことです。
滑らかで簡単に計算できる導関数を使用した1次元問題の場合、ニュートンラプソン法を使用して1次導関数の零点を見つけます。
多次元で、すぐに計算できる導関数の場合は、ヘッセ行列を近似する方法を使用することをお勧めします。このタイプの方法はいくつかありますが、L-BFGS法は信頼性が高く効率的であることがわかりました。ノースウェスタン大学のグループが提供する、 BSDライセンスの便利なパッケージがあります。http://www.netlib.org/には、十分にテストされたコードもかなりあります。