シンボリック式をtxtファイルに書き込む最良の方法は何ですか(txtファイルを読み取った後にシンボリック式を使用できるようにするため)?
たとえば、numpy の savetxt() 関数に相当する sympy はありますか?
例えば:
from sympy import Symbol
a=Symbol('a')
b=Symbol('b')
y=a+3*b
y を適切に読み書きするにはどうすればよいですか?
シンボリック式をtxtファイルに書き込む最良の方法は何ですか(txtファイルを読み取った後にシンボリック式を使用できるようにするため)?
たとえば、numpy の savetxt() 関数に相当する sympy はありますか?
例えば:
from sympy import Symbol
a=Symbol('a')
b=Symbol('b')
y=a+3*b
y を適切に読み書きするにはどうすればよいですか?
str(expr)
SymPy では、式に関するほとんどの情報を保存する必要があります。利点は、人間が読めることです。それからロードする最良の方法はsympify()
、単にコピーして貼り付けるまたはを使用するのではなく、を使用するeval
ことです。たとえば、直接評価される をstr(Rational(1, 2))
与えるためです。1/2
0.5
より詳細な出力を提供する関数srepr()
(SymPy のバージョンの) もあります。repr
注意すべきことの 1 つは、どちらも現時点でシンボルの仮定に関する情報を保存しないことです ( Symbol('x', real=True)
)。そのため、必要な場合は、ピクルスやディルなどを使用する必要があります。
pickleライブラリを使用してファイルに保存できます (ほとんどの Python オブジェクトを保存できるため)。
import pickle
with open("y.txt", "w") as outf:
pickle.dump(y, outf)
後でロードします
with open("y.txt") as inf:
y = pickle.load(inf)