import sympy x = sympy.Symbol('x') y = sympy.Symbol('y') print(type(x))
[vagrant@localhost python]$ python app.py
変数を使っていく
import sympy x = sympy.Symbol('x') y = sympy.Symbol('y') expr = x**2 + y + 1 print(expr)
ほう
[vagrant@localhost python]$ python app.py
x**2 + y
x = sympy.Symbol('x') y = sympy.Symbol('y') expr = x**2 + y + 1 print(expr.subs(x,3)) print(expr.subs(x,y))
代入も出来る。完全に再現できるわけね。当たり前か。
[vagrant@localhost python]$ python app.py
y + 10
y**2 + y + 1
xとyの代入も
print(expr.subs([(x,3),(y,2)]))
式の展開
expr = (x + 1)**2 print(sympy.expand(expr))
こいつは凄い
[vagrant@localhost python]$ python app.py
x**2 + 2*x + 1
因数分解
print(sympy.factor(x**3 - x**2 - 3*x + 3)) print(sympy.factor(x*y + x + y + 1))
[vagrant@localhost python]$ python app.py
(x – 1)*(x**2 – 3)
(x + 1)*(y + 1)
何これー
print(sympy.solve(x**2 - 3*x +2)) print(sympy.solve(x**2 + x + 1))
Iは虚数ですね。
[vagrant@localhost python]$ python app.py
[1, 2]
[-1/2 – sqrt(3)*I/2, -1/2 + sqrt(3)*I/2]
で、肝心の微分
来ましたねー
print(sympy.diff(x**3 + 2*x**2 + x)) expr = x**3 + y**2 - y print(sympy.diff(expr, x)) print(sympy.diff(expr, y))
[vagrant@localhost python]$ python app.py
3*x**2 + 4*x + 1
3*x**2
2*y – 1