本記事ではPythonで方程式を解く方法を紹介します。
Pythonで方程式を解くにはSymPyライブラリを使用します。
SymPyをインストールする
Pythonで方程式を解くためにSymPyというライブラリをインストールします。
SymPyは代数計算ができます。方程式の計算以外にも、微分、積分、分数、漸化式など様々な計算が可能です。
pip install sympy
SymPyで方程式を解く
いよいよ、SymPyで方程式を解いてみましょう。試しに、
- 一次方程式
- 二次方程式
- 三次方程式
の三つを解いてみましょう。
一次方程式
まずはPythonで一次方程式を解いてみます。
次の方程式を解いてみましょう。
\begin{eqnarray} 2x+1&=&7 \end{eqnarray}
先にコードを紹介すると次の通りです。
# ①ライブラリのインポート
import sympy
# ②変数の定義
x = sympy.Symbol('x')
# ③式の定義
equation = 2*x+1-7
# ④式を解く
print(sympy.solve(equation))
コードの解説は以下の通りです。
- ①ライブラリのインポート
sympyをインポートします。
- ②変数の定義
使用する変数を定義します。今回はxが該当します。
- ③式の定義
式を定義します。その際に、式 = 0の形式にします。
今回の場合は、\begin{eqnarray} 2x+1&=&7 \end{eqnarray}
から、\begin{eqnarray} 2x+1-7&=&0 \end{eqnarray}
へ変形し、そのあとにコードにします。 - ④式を解く
sympy.solve
で式を解きます。
以上の手順を実行すると、下記の結果を出力します。
[3]
二次方程式
続いてPythonで二次方程式を解いてみます。
次の方程式を解いてみましょう。
\begin{eqnarray} 2x^2+x&=&6 \end{eqnarray}
コードを紹介すると次の通りです。
# ①ライブラリのインポート
import sympy
# ②変数の定義
x = sympy.Symbol('x')
# ③式の定義
equation = 2*x**2+x-6
# ④式を解く
print(sympy.solve(equation))
コードの解説は以下の通りです。
- ①ライブラリのインポート
sympyをインポートします。
- ②変数の定義
使用する変数を定義します。今回はxが該当します。
- ③式の定義
式を定義します。その際に、式 = 0の形式にします。
今回の場合は、\begin{eqnarray} 2x^2+x&=&6 \end{eqnarray}
から、\begin{eqnarray} 2x^2+x-6&=&0 \end{eqnarray}
へ変形し、そのあとにコードにします。 - ④式を解く
sympy.solve
で式を解きます。
以上の手順を実行すると、下記の結果を出力します。
[-2, 3/2]
三次方程式
最後にPythonで三次方程式を解いてみます。
次の方程式を解いてみましょう。
\begin{eqnarray} x^3+2x^2-5x&=&6 \end{eqnarray}
コードを紹介すると次の通りです。
# ①ライブラリのインポート
import sympy
# ②変数の定義
x = sympy.Symbol('x')
# ③式の定義
equation = x**3 + 2*x**2 - 5*x - 6
# ④式を解く
print(sympy.solve(equation))
コードの解説は以下の通りです。
- ①ライブラリのインポート
sympyをインポートします。
- ②変数の定義
使用する変数を定義します。今回はxが該当します。
- ③式の定義
式を定義します。その際に、式 = 0の形式にします。
今回の場合は、\begin{eqnarray} x^3+2x^2-5x&=&6 \end{eqnarray}
から、\begin{eqnarray} x^3+2x^2-5x-6&=&0 \end{eqnarray}
へ変形し、そのあとにコードにします。 - ④式を解く
sympy.solve
で式を解きます。
以上の手順を実行すると、下記の結果を出力します。
[-3, -1, 2]
