Sympyで方程式を解く

一つ前の自己回帰過程のサンプルを算出する記事のコードの中で、
こっそりとSympyというのを使っていました。

これはpythonで数式処理を行うためのライブラリです。
簡単な使い方などは公式のチュートリアルのイントロを見ていただくとわかります。
SymPy Tutorial » Introduction

これで記事を終えてしまうとあんまりなので、今回は方程式を解く方法紹介します。
シンプルに
$$x^2-5x+6=0$$
を$x$について解いて $x=2,3$という解を得るコードです。


import sympy
# 記号として使いたい文字をsymbols関数で定義
x = sympy.symbols('x')
# 多項式の定義
f = x**2 - 5*x + 6
print(f)  # 出力 : x**2 - 5*x + 6
# solveに渡すことで、 f = 0 という方程式を xについて解いてくれます。
sympy.solve(f, x)  # 出力 [2, 3]

多項式の展開や因数分解、微積分など、結構色々なことができるライブラリなので便利です。
このブログでも順次各機能を紹介したいと思います。