私は同時に方程式の系を解こうとしています。方程式自体は、いくつかの変数を持つ関数の勾配を計算することによって求められます。私は次のエラーを取得していますがPythonで関数の微係数を0に設定する
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は(%のEQ2 '%sの解決ができませんでした')上げる" 私はここにコードをされsympyを使用していますこれを解決するのを手伝ってください。または、私は勾配の束を計算し、得られた方程式の系を解くことができる他の方法がありますか?私は数値近似を得ることができ、複数の解が存在する場合でも、1つの解でさえ十分です。
EDIT は、私は上記のコードを持っている彼の目的は、対称勾配を持っていることを理解しています。だからここで私は(1,1,1)や(2,2,2)のような解決策を探しています。しかし、実際の実装では、私の目的関数は対称ではない勾配を持ちます。だから私はそれらの間の比率を知る必要がある方法で。
私が示しているコードには対称勾配が付いています。だからここで私は(1,1,1)や(2,2,2)のような解決策を探しています。しかし、実際の実装では、私の目的関数は対称ではない勾配を持ちます。だから私はそれらの間の比率を知る必要がある方法で。 – user1434997
私は(あなたが見ることができるように)数学ではそれほど良くないので、私は最後の方程式であなたを助けることはできません。ごめんなさい! – CodenameLambda