Python
sympy
科学技術計算

[Pythonによる科学・技術計算] 2次および3次方程式の解析解の導出,数式,sympy

はじめに

sympyのsolveメソッドを利用して,2次方程式$ax^2+bx+c=0$ および3次方程式$ax^3+bx^2+cx+d=0$の解析解を導出する。

コード

(1)2次方程式
from sympy import *
x=Symbol('x')                  # 文字'x'を変数xとして定義
"""
解の公式の導出
"""
a=Symbol('a')
b=Symbol('b')
c=Symbol('c')
d=Symbol('d')
#二次方程式
solve(a*x**2+b*x+c,x)

結果(1)

スクリーンショット 2017-07-18 15.02.50.png


3次方程式の解の公式

(2)3次方程式
from sympy import *
x=Symbol('x')                  # 文字'x'を変数xとして定義
"""
解の公式の導出
"""
a=Symbol('a')
b=Symbol('b')
c=Symbol('c')
d=Symbol('d')
solve(a*x**3+b*x**2+c*x+d, x)

結果(2)

スクリーンショット 2017-07-31 3.28.20.png


同様にして4次方程式の解の公式も導出できる。