sympyによる代数操作
インポート
code:py
import sympy as sym
変数の定義
code:py
x, y=sym.symbols("x y")
下付き文字・上付き文字
code:py
x_2, x__2, x_2__2 = sym.symbols("x_2 x^2 x_2^2")
$ x_{2}, x^{2}, x^{2}_{2}
有理数
code:py
Rational(1, 2)
$ \frac{1}{2}
変数に値を代入
code:py
expr = 5*x+2
expr.subs(x,1)
$ 7
code:py
expr2 = x**2 + y + 1
$ 4
式の展開
code:py
expr = (x + 1)**2
sym.expand(expr)
$ x^2 + 2x + 1
因数分解
code:py
sym.factor(x**2 + 2*x + 1)
$ (x + 1)^2
code:py
sym.factor(x**3 - x**2 - 3*x + 3)
$ (x - 1)(x^2 - 3)
code:py
sym.factor(x*y + x + y + 1)
$ (x + 1)(y + 1)
方程式を解く
code:py
sym.solve(x**2 - 3*x + 2)
$ [1, 2]
code:py
expr = x + y**2 - 4
sym.solve(expr, x)
$ -y^2 + 4
code:py
sym.solve(expr, y)
$ [-\sqrt{-x + 4}, \sqrt{-x + 4}]
連立方程式を解く
タプルで入力する
code:py
expr1 = 3*x + 5*y - 29
expr2 = x + y - 7
$ \{x:3, y:4\}
不等式
code:py
sym.LessThan(2*x,1)
$ 2x\leq 1
code:py
sym.StrictLessThan(2*x,-1)
$ 2x<−1
code:py
sym.GreaterThan(2*x**2-3,4)
$ 2x^2-3\geq 4
code:py
sym.StrictGreaterThan(2*x**2-3,4)
$ 2x^2-3> 4
微分
code:py
sym.diff(x**3 + 2*x**2 + x)
$ 3x^2+4x+1
code:py
expr = x**3 + y**2 - y
sym.diff(expr, x)
$ 3x^2
code:py
sym.diff(expr, y)
$ 2y - 1
積分
code:py
sym.integrate(3*x**2 + 4*x + 1)
$ x^3 + 2x^2 + x