概要
「記号計算」とは、代数式のように「x」を利用したり、「cos」などの三角関数、「log」等、「記号」を利用する種類の計算のこと。
Sympy は Python で記号計算をするためのライブラリ。
インストール
インストールは pip 等で行なう。
pip install sympy
ドキュメント
詳細なマニュアルが「SymPy documentation」に存在する。
日本語で概要が説明されている文書が、「2.3. Sympy : Python での記号計算 — Scipy lecture notes」に存在しているので、英語が苦手な人はこちらを読んだ方がわかりやすい。
使ってみる
動作を確認するには分数が簡単。
サンプルは「from sympy import *」が利用されいている場合が多いが、以下のサンプルでは自分の好みで「from sympy import Rational」としている。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
class TestSymPy(unittest.TestCase):
def test_rational(self):
from sympy import Rational
self.assertEqual(
'「1 / 2」を Python2 で計算すると「0」になるが、'
'Sympy の Rational を利用すると「1/2」になる',
'「1 / 2」を Python2 で計算すると「{elm}」になるが、'
'Sympy の Rational を利用すると「{rat}」になる'
.format(elm=1 / 2, rat=Rational(1, 2)))
if __name__ == '__main__':
unittest.main()
isympy
インタラクティブに計算を実施する場合は、「isympy」コマンドで起動すると良い。ipython をラッピングしたコマンドで、計算結果の出力も工夫される。
LaTex出力
Sympy には LaTeX 数式を出力する機能がある。「latex」メソッドを利用する。
latex(Rational(1, 2))
\frac{1}{2}
まとめ
Sympy は機能が非常に多い。ここで、全機能を解説する時間はないので、マニュアルを読んで必要な機能を自分で探してみると良い。