Bootstrap

python:sympy 求解一元五次方程式

pip install sympy 或者  Anaconda 3 自带 sympy 点击 【Jupyter Notebook】

卡丹公式,也称为卡尔达诺公式或卡尔丹公式,是用于求解一元三次方程的数学公式。这个公式是由意大利学者卡丹(Cardano G.,1501-1576年)在1545年提出的,并首次出现在他的著作《关于代数的大法》中。卡丹公式适用于形式为x³+px+q=0的一元三次方程,其中p和q是实数。这个公式的应用需要一定的数学推导和技巧,包括通过变量代换将一般形式的一元三次方程转化为适合应用卡丹公式的形式。

卡丹公式的应用涉及到复杂的数学运算和方程变换,包括但不限于立方根的计算和判别式的分析。根据判别式的不同值,卡丹公式可以求解出一元三次方程的不同数量的实根或复根。此外,卡丹公式的推导过程涉及到了高等代数的知识和技巧,包括方程的变换、代数式的操作等。

在北大数学训练营,韦东奕 用卡丹公式 巧妙 求解一元五次方程式:

\latex $x^5+10x^3+20x-4 = 0$

from IPython.display import Latex
Latex(r"$x^5 + 10x^3 + 20x -4 = 0$")
from sympy import *

x = symbols('x')

# 构造一元五次方程式
expr = x**5 + 10*x**3 + 20*x -4

# 用卡丹公式 尝试化简
a = symbols('a')
exp1 = expr.subs({x: a - 1/a})
exp1.expand()

# set x = a - 2/a
exp2 = expr.subs({x: a - 2/a})
exp2.expand()

# set y = a^5 
y = symbols('y')
#solve(Eq(y-4-32/y,0), y)
solve(y-4-32/y)

solve(Eq(a**5,-4), a)

solve(Eq(a**5, 8), a)

from math import pow
x = a - 2/a
x.subs({a: pow(8, 1/5)})

;