最新版 | 1.13.3[1] - 2024年9月18日 [±] |
---|---|
リポジトリ | |
プログラミング 言語 | Python |
対応OS | クロスプラットフォーム |
種別 | 計算機代数 |
ライセンス | New BSD license |
公式サイト |
www |
SymPy は、プログラミング言語Pythonで記号計算を行うためのオープンソースのライブラリである(Python用の離散事象シミュレーションライブラリ SimPyと混同しやすい名前だが別ものである)。プロジェクトの目的は、完全な機能を持つ計算機代数システム (CAS; Computer Algebra System) を完備すること、さらに、拡張性を損なわないようにソースコードを可能な限り簡素に保つこと、とされている。SymPyはすべてPythonで書かれており、オプション機能であるプロット機能以外では、他の第三者製ライブラリに依存しない。
SymPyは、BSDライセンスを採用しているフリーソフトウェアである。Ondřej ČertíkとAaron Meurerを中心に開発が進められている。
a*b*b + 2*b*a*b
→ 3*a*b**2
など)(a+b)**2
→ a**2 + 2*a*b + b**2
など)exp(I*x).expand(complex=True)
→ cos(x)+I*sin(x)
など)x
→ ln(x)
, or sin
→ cos
など)Pygletモジュールが必要。
微分:
>>> from sympy import *
>>> x,y = symbols('x y')
>>> f = x**2 / y + 2 * x - ln(y)
>>> diff(f,x)
2 + 2*x/y
>>> diff(f,y)
-1/y - x**2*y**(-2)
>>> diff(diff(f,x),y)
-2*x*y**(-2)
プロット:
>>> from sympy import *
>>> Plot(cos(x*3)*cos(y*5)-y)
[0]: -y + cos(3*x)*cos(5*y), 'mode=cartesian'