slow-starter

なにをやるにもslow start……。

python #24 方程式、複素数(1)

SymPy

"SymPy"は、代数計算を取り扱い可能なライブラリ。 今日は以下の2つの方程式を解いてみる。

  •  x^{2} - 5x + 4 = 0
  •  x^{3} + 1 = 0
# SymPyをインポート
import sympy

# 変数xを定義
x = sympy.Symbol('x')

# 式(1)を定義、表示
expr_1 = x**2 - 5*x+4
# "x**2 - 5*x+4"
print(expr_1)

# 式(1)を解き(solve)、変数(sol_1)に格納。その後、結果を表示。
sol_1 = sympy.solve(expr_1)
print(sol_1)
# "[1,4]"
# x = 1,4 が答え


# 式(2)を定義、表示
expr_2 = x**3+1
print(expr_2)

# 式(2)を解き(solve)、変数(sol_2)に格納。その後、結果を表示。
sol_2 = sympy.solve(expr_2)
print(sol_2)
# "[-1, 1/2 - sqrt(3)*I/2, 1/2 + sqrt(3)*I/2]"
# x = -1と二つの複素数が答え

式(2)の答えを数式で書くと以下のとおり。

  •  \displaystyle x = -1 , \frac {1 \pm \sqrt 3i}{2}

参考