🧮 Pythonで“記号のまま”計算できる世界へ|Sympy超入門
Python には、数式を 「記号として」扱いながら計算できるライブラリ が存在します。
それが Sympy(シンパイ) です。
「平方根を含む厳密解が欲しい」
「三角関数や対数を記号のまま扱いたい」
「微分・積分・方程式をプログラムで処理したい」
そんな数学処理を 誰でも数行で実現できる のが Sympy の最大の魅力。
数学が苦手な人でも、紙の代わりに Python が“綺麗な式”を返してくれるので、
一度使うと戻れなくなる強力なライブラリです。
より高度な例は 👉
3次方程式をSympyで解く記事
📘 目次
✨ Sympyでできること|“数値”ではなく“記号”で計算する世界
Sympyは、Pythonで代数・解析・方程式処理・微積分を「記号のまま」扱えるライブラリです。
- 記号を含む式のまま解が得られる
- 三角関数・指数関数を記号で処理
- 方程式・連立方程式・不等式も解ける
- 微分・積分を自動で実行
📝 変数の定義方法|まずはシンボルの作成から
Sympyでは「記号の変数」を作るところから始めます。
import sympy as sp
x = sp.Symbol('x')
📌 式を作ってみる
expr = x + 1
print(expr) # x + 1
📌 値を代入(subs)
expr.subs(x, 1) # 2
📌 展開・因数分解
expr = (x + 1)**2
sp.expand(expr)
sp.factor(expr)
📐 sin・cos・exp・log などの数学関数の使い方
sp.sin(x)
sp.cos(x)
sp.exp(x)
sp.log(x)
π、e、i も記号として扱えます。
sp.I, sp.pi, sp.E
🔍 方程式・連立方程式を解く
📌 方程式
sp.solve((x+1)**2)
📌 連立方程式
x, y = sp.symbols('x y')
expr1 = 2*x + y - 1
expr2 = x + 3*y + 2
sp.solve((expr1, expr2))
📚 まとめ|Sympyは“数学の紙とペン”を自動化する魔法のツール
Sympy を使えば、数学の計算を 美しく・正確に・自動で 処理できます。
- 展開/因数分解
- 微分・積分
- 三角/指数/対数関数
- 方程式・連立方程式
- 厳密解の計算
研究・分析・教育・競技プログラミングなど、あらゆる分野で活躍します。