読者です 読者をやめる 読者になる 読者になる

SymPyで数式と戯れる

python

このエントリーをはてなブックマークに追加

数式を扱うPythonのライブラリであるSymPyを触っています。できることが多くてなかなか面白いです。以下、導入メモです。

ブラウザでとりあえず試す

SymPy Liveで試せます。適当に

>>> x ** 2 - 3 * y ** 2

などと打つと、LaTeXのきれいな数式で表示されて驚きます。。

PCにインストール

私はAnaconda Scientific Python Distributionで配布されているインストーラを使って、Python3とSymPyを含む主要パッケージをまとめてインストールしています。

IPython Notebookで数式を綺麗に表示

from sympy.interactive import printing
printing.init_printing(use_latex=True)

とすると、IPython Notebook上で、SymPy Liveのような綺麗な数式を得られます。(参考:IPython Notebook Sympy Math Rendering - Stack Overflow

簡単な使い方

SymPyを使ってみる - 車輪を再発明が分かりやすいです。

もっと詳しい使い方

公式チュートリアルへのリンクは SymPy Tutorial — SymPy 0.7.6 documentation です。

チュートリアル中の適当なコードをクリックすると、Live Shellが開いて実行結果が表示される親切仕様です。

具体例1: 極限

極限  \lim_{x \to 0} (1+x)^{1/x} を求めてみます。SymPy Liveで、

>>> limit((1+x) ** (1/x), x,  0)

と書くと

 e

と、自然対数の底が表示されます。完璧です!

具体例2: 積分

大学で習う、1/(1+x^2)の不定積分を試してみます。SymPy Liveで、

>>> integrate(1/(1+x**2), x)

と書くと

atan(x)

と、正しい解が得られました。任意定数は省略されています。