週末デッドエンド

勉強と日記と怪文書

2022-01-28 Fri. — SymPy と格闘した。

日記

断酒・日記継続29日目。

ひたすら SymPy と格闘した一日だった。

SymPy というのは数式処理ができる非常にありがたいライブラリなのだが、ちょっと取り扱いが難しい。具体的には、 x^(1/3) と入力すると小数表示になって  x^{0.333333} みたいな出力が得られてしまうので、分数のまま取り扱いたければ x^(1//3)/ を2回入力しなければならない。それと、 sqrt(2) も何もしないと Julia デフォルトの sqrt() が呼び出されて 1.41421356 などと出力されるので、 sympy.sqrt(2) とか sqrt(Sym(2)) と入力して、SymPy を用いて記号的に操作してほしいと入力する必要がある。また、冪のまま  2^{1/3} と表してほしいところも  \sqrt[3]{2} の形に自動的に簡約化してくれるのだがこれを簡約化しないようにするオプションなどがなく、また分母の有理化なども自動的にやってしまうので所望の形の式にならない。微分など自動的にやってくれるので便利なのだが、適度なところで切り上げてあとは手計算で式変形したほうが良いことがわかった。

少々苦戦したが、おかげで熱力学の問題の式をある程度簡約化することができて、グラフも描けたので、今読んでいる熱力学のテキストの理解度が上がった。