Я пытаюсь решить простой набор уравнений в симпы.Найти решение вручную очень просто, но я хочу сделать это с симпози, чтобы изучить инструмент.
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 условий