Sage / Pythonについて質問がありますが、これは非常に一般的なCSの質問だと確信しています。N個の変数にN個の非線形方程式の大規模なシステムがあります。それを数値ソルバーに渡す前に、Sageにsolveを使用して方程式を単純化させてみます。簡単な例で作業すると、次のようになります。'eqa'は、変数x0、x1、w0、w1などで解く方程式のリストです。以下は、コマンドラインから問題なく機能します。
j(x0,x1,w0,w1,y0,y1,z0,z1) = solve(eqa, var('x0 x1 w0 w1 y0 y1 z0 z1'))
(私が使用する数値最適化は、通常のdef python関数よりもこれらの方がうまく機能するため、方程式のリストを「呼び出し可能なシンボリック式」(Sage)として定義しようとしています。)
いずれにせよ、これをスクリプトに含めてロードしようとすると、次のエラーが発生します。
j(x0,x1,w0,w1,y0,y1,z0,z1) = solve(eqa, var('x0 x1 w0 w1 y0 y1 z0 z1'))
SyntaxError: can't assign to function call
私はコマンドラインで何か間違ったことをしているに違いないことを知っています。または、スクリプトでこれらの呼び出し可能なS式を定義するときに特別な注意が必要ですか?あなたが提供できる洞察に感謝します。これらのタイプの「関数」の違いに関するリンクは次のとおりです。