はじめに
三次方程式を楽に解きたい…
三次方程式の解の公式は、ものすごく長いものとなってしまいます。興味がある方はこちら
これをプログラムで解けないかと検索したらPythonにsympyというモジュールがありました。本当にすごい。
環境
どちらも動きました
-
windows 10
- Python 3.7
-
Ananconda
- Python 3.7
- Jupyter notebook
使い方
インストール
Anacondaの環境には既にインストールされていますがそうではない場合pipでインストールしましょう
pip install sympy
方程式を解く
とりあえず方程式を解きたいんだ!という方はこちら
Symbol
で文字を定義して、solve()
で方程式を解くことができます。
以下の3次方程式を解きます。
3x^3 + 2x^2 + x + 10 = 0
べき乗は、Pythonの標準のべき乗の書き方で書くことができます。
x**3 # xの3乗
以下がプログラムになります。
from sympy import *
x = Symbol('x')
sol = solve(3*x**3 + 2*x**2 + x + 10)
print(sol)
出力結果。listで3つの解が渡されます。
[-5/3, 1/2 - sqrt(7)*I/2, 1/2 + sqrt(7)*I/2]
これは以下と同じですね。
[\frac{-5}{3}, \frac{1}{2} - \frac{{\sqrt{7}}i}{2}, \frac{1}{2} + \frac{{\sqrt{7}}i}{2}]
その他色々な機能
~調査中~
追記します