インストール
pip install sympy
例:
sympyで数列の和を計算して,因数分解
- コード
calc.py
from sympy import * i,N=symbols('i N',integer=True) a=summation(i**2,(i,1,N)) print a b=factor(a) print b
- 実行
$ python calc.py
- 出力
N**3/3 + N**2/2 + N/6
N*(N + 1)*(2*N + 1)/6
例2:
等比数列の和
from sympy import * r=symbols('r') i,N=symbols('i N',integer=True) c=factor(summation(r**i,(i,1,N))) print c
Piecewise((N, r == 1), (-r*r**N/(-r + 1) + r/(-r + 1), True))
例3 関数を使う
- コード
from sympy import * r=symbols('r') i,j,N=symbols('i j N',integer=True) f=3**i print f.subs([(i,3)]) d=factor(summation(f.subs([(i,j)]),(j,1,N))) print d
- 出力
27 3*(3**N - 1)/2
例4:場合分け(区分計算)
Piecewise関数を使う
f=Piecewise((i,i>=3),(0,True)) print f.subs([(i,5)]) print f.subs([(i,2)]) e=(summation(f.subs([(i,j)]),(j,1,12))) print e
出力
5 0 75