我在试着解一组简单的方程组。手动查找解决方案很简单,但我想用sympy来学习这个工具。你知道吗
from sympy import symbols,solve,Le,Eq
l,x = symbols('lamda x')
f0 = x**2+1
f1 = (x-2)*(x-4); feasible_set = Le(f1,0);
lagrange = f0 + l*f1
stationary_lagrangian = Eq(lagrange.diff(x),0)
solve([feasible_set,stationary_lagrangian])
上面的代码给出了错误NotImplementedError:
inequality has more than one symbol of interest.
。你知道吗
问题1:为什么会这样?不等式只包含x
,不包含lamda
。你知道吗
问题2是否可以用另一种方法解决同一问题,即使用sympy?你知道吗
问题的背景,如果您感兴趣
minimize (over x \in R)
x^2 + 1
subject to
(x-2)(x-4) <= 0
。。然后从KKT conditions应用平稳性和原始可行性
正如评论中提到的,sympy.solve公司求解等式系统。所以应该是
编辑:现在从极值点你必须找到最小值。你知道吗
相关问题 更多 >
编程相关推荐