与えられた(おそらく非線形の)関数fが常に正であるかどうかをチェックするアルゴリズムはありますか?
私が現在持っているアイデアは、関数の根を見つけ(ニュートンラプソンアルゴリズムまたは同様の手法を使用して、http://en.wikipedia.org/wiki/Root-finding_algorithmを参照)、導関数をチェックするか、最小値を見つけることです。 fの、しかし、それらはこの問題に対する最良の解決策ではないようです。また、求根アルゴリズムには多くの収束の問題があります。
たとえば、Mapleでは、関数verifyでこれを実行できますが、自分のプログラムで実装する必要があります。検証に関するMapleヘルプ:http://www.maplesoft.com/support/help/Maple/view.aspx? path = verify / function_shells Mapleの例:assume(x、'real'); verify(x ^ 2 + 1,0、'greater_than'); ->trueを返します。すべてのxに対してx^2 +1>0があるためです。
[編集]質問の背景:関数$ f $は、回路の右側の微分非線形モデルです。非線形回路は、修正節点解析(MNA)を適用することにより、常微分方程式のセットとしてモデル化できます。簡単にするために、1次元のシステムのみを考えてみましょう。したがって、$ x'= f(x)$ここで、$ f $は、回路、たとえば$ f$は$f(x)= 10x-100x ^ 2 + 200x ^ 3-300x ^ 4 + 100x ^ 5 $(非線形トンネルダイオードのモデル)または$ f =10-2sinになります。 (4x)+ 3x $(ジョセフソンジャンクションのモデル)。
$ x $は有界であり、$ f$は区間$[a、b] \ inR$でのみ定義されます。$f$は連続です。$ f $がリプシッツ定数L>0のリプシッツであると仮定することもできますが、必要がない限り、そうしたくありません。