是否有一种算法来检查给定的(可能是非线性的)函数 f 是否总是正的?
我目前的想法是找到函数的根(使用 newton-raphson 算法或类似技术,请参阅http://en.wikipedia.org/wiki/Root-finding_algorithm)并检查导数,或找到最小值f,但它们似乎不是这个问题的最佳解决方案,而且求根算法也存在很多收敛问题。
比如在 Maple 中,function verify可以做到这一点,但是我需要在自己的程序中实现。Maple 验证帮助:http ://www.maplesoft.com/support/help/Maple/view.aspx?path=verify/function_shells Maple 示例:assume(x,'real'); 验证(x^2+1,0,'大于');--> 返回真,因为对于每个 x 我们都有 x^2+1 > 0
[编辑] 问题的一些背景:函数 $f$ 是电路的右手边微分非线性模型。非线性电路可以通过应用修正节点分析 (MNA) 建模为一组常微分方程,为简单起见,我们只考虑一维系统,因此 $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] \in R$ 中定义。$f$ 是连续的。我也可以假设 $f$ 是 Lipschitz 且 Lipschitz 常数 L>0,但我不想这样做,除非我必须这样做。