12

おそらく私は明白なことを見落としていますが、sympyが方程式を再配置するのをどのように防ぐのですか?

iPythonノートブックでSympyを使用しているので、LaTeXコードをLyxに簡単にコピーして貼り付けることができますが、方程式を定義したのと同じ順序にする必要があります。

たとえば、温度の関数としての黒体放射の式は次のとおりです。

ここに画像の説明を入力してください

Sympyは自動的に温度コンポーネントを前面に配置します。これにより、数式の非常に珍しい表現が得られます。これを防ぐ方法はありますか?

4

2 に答える 2

9

現在、SymPyには、入力されたとおりに正確に印刷する方法はありません。その情報はどこにも保存されていないためです。

私は掛け算を信じています。記号はアルファベット順に並べられ、大文字は小文字の前に置かれます(基本的にはからの順序ord)。私が思いつくことができる最善のトリックは、symbol_namesオプションtolatexを使用することです。これにより、LaTeX表現でシンボルに使用される名前を変更できます。順序は引き続き元のシンボルの名前に基づいているため、だましてみることができます。

>>> from sympy.abc import epsilon, omega, t
>>> latex(epsilon*sigma*t**4, symbol_names={t:"T"})
\epsilon \sigma T^{4}

これをノートブックできれいに印刷したい場合は、symbol_namesdictをに渡す印刷拡張機能のカスタムバージョンを作成する必要がありますlatexhttps://github.com/sympy/sympy/blob/master/sympy/interactive/printing.pyを参照してください(理想的には、latexオプションをに渡すだけinit_printingで、SymPyバグトラッカーで問題を開きます)。

于 2013-02-02T23:59:11.690 に答える