Python を電卓として使いまくる日々

Python を電卓として使いまくる日々

Python はスーパー関数電卓?

 久しぶりのプログラミング日記です。
 BlogCat の日常を適当に書き綴っております。

 Python の拡張ライブラリ、便利過ぎですね。
 特に SymPy と SciPy には本当に何でも揃っています。
 積分計算、テイラー展開、ベッセル関数、リーマンゼータ関数 ..... あらゆる計算が数行のコードを書くだけで済んでしまうのです。

 特に SymPy が強力。近似解ではなく、人間が解くみたいにして代数記号を使った厳密解を出してきます。たとえば、Jupyter notebook で sin(x) の 5 乗を積分する場合は次のようなコードを書きます。

import sympy

sympy.init_printing()
sympy.var('x')
sympy.integrate(sympy.sin(x) ** 5, x)
\[-\frac{\cos^{5}{\left (x \right )}}{5} + \frac{2 \cos^{3}{\left (x \right )}}{3} - \cos{\left (x \right )}\]

 たった 4 行のコードで済んでしまうのです。しかも実行結果を LaTeX 形式でコピーして、そのまま記事に貼り付けることもできます。SymPy、おそるべしです。まさに スーパー関数電卓(?)です。

 とにかく一度こういう楽を覚えてしまうと、もう後戻りできないんですよね。

「二項展開しないと ...... 面倒だから SymPy にやらせよう」
「リーマンゼータ関数? Scipy にやってもらえばいいじゃん」
「行列積の計算 ...... 計算間違いすると読者さんたちに迷惑がかかるから(←言い訳)、NumPy にお願いしよう」

 こんな感じで、あれも Python、これも Python みたいになってしまうわけです。もちろん、こんなことばかりしていると、もともと大して良くない頭に、深刻な追い打ちダメージを与えるに違いありません。
「たまには自分の手で計算しないと ...... 」
と反省したりもするのですが、年をとると積分計算とか億劫になってくるし、記事を書く場合は、やはり Python を活用した方が大幅に時間短縮できるので、「電卓依存症」からなかなか抜け出せないでいるのです。
 

羊羹、桃そして柚餅子

 先日、知人から「とらや」の羊羹を送っていただいたので大喜びしました。
 甘いものは大好きです。少し前に叔母から京都のお茶もいただいたので(← もらってばかり)、合わせていただくと、この上ない「幸せ時間」となりますね。
 
 実は羊羹と一緒に桃のシロップ漬けもいただきました。
 特大ガラス瓶にたくさん入っております。
 羊羹が終わったあとは、桃にヨーグルトを添えて賞味したいと楽しみにしています。

 実は羊羹と桃の他にも、柚餅子というお菓子もいただきました。
 三箱も届いたので、一箱は日頃からお世話になっている友人夫妻にお裾分けしましたが、二箱は我が家でいただきました ......

 え? お菓子の話はもういい? そうですか?
 それでは、今回はこのへんにしておきます。
 また次回のプログラミング日記にて近況を報告したいと思います。