Я пытаюсь одновременно решить систему уравнений. Сами уравнения найдены путем вычисления градиента функции с некоторыми переменными. Я использую SymPy и вот код:Установить производные функции на 0 в Python
from sympy import *
m = Matrix(symbols('a b c', positive = True))
y = 4*log(m[0]) + 4*log(m[1]) + 4*log(m[2]) - 2*log(m[1] + m[2]) \
- 2*log(m[0] + m[2]) - 2*log(m[0] + m[1]) - 6*log(m[0] + m[1] + m[2])
s = [diff(y, i) for i in m]
solve(s,m)
Однако я получаю следующее сообщение об ошибке: "поднять NotImplementedError ('не смог решить% S' % EQ2)"
Может кто-нибудь помогите мне в решении этого. Или есть другой способ, которым я могу рассчитать кучу градиентов, а затем решить полученную систему уравнений? Я в порядке с получением численного приближения и при наличии нескольких решений даже одного решения будет достаточно.
EDIT Я понимаю, что он цель, что у меня есть в коде, показанном выше, будут иметь симметричные градиенты. Поэтому я ищу решение, подобное (1,1,1) или (2,2,2). Но в реальной реализации моя целевая функция будет иметь градиенты, которые не являются симметричными. Поэтому мне нужно знать соотношение между ними.
Цель, которую я имею в показанном коде, будет иметь симметричные градиенты. Поэтому я ищу решение, подобное (1,1,1) или (2,2,2).Но в реальной реализации моя целевая функция будет иметь градиенты, которые не являются симметричными. Поэтому мне нужно знать соотношение между ними. – user1434997
Я не так хорош в математике (как вы можете видеть), поэтому я никак не могу помочь вам с последним уравнением. Сожалею! – CodenameLambda