记录一下解一元三次方程的详细推导。一元三次方程有通解,网络上有许多相关的内容,这里不再展开历史科普。
有三次方程
a3x3+a2x2+a1x1+a0=0
需要转成 x3 的系数为 1 的形式
abc=a2/a3=a1/a3=a0/a3
x3+ax2+bx1+c=0(1)
设
x=y−3a(1.1)
带入 (1) 有
(y−3a)3+a⋅(y−3a)2+b⋅(y−3a)+c=0(1.2)
进一步化简 (1.2) 得
y3+(b−3a2)y+(272a3−3ab+c)=0(1.3)
设
pq=b−3a2=272a3−3ab+c
将 p,q 带入 (1.3) 得
y3+py+q=0(1.4)
令
y=v+w
带入 (1.4) 得
(v+w)3+p(v+w)+q=0(1.5)
化简 (1.5) 得
(3vw+p)(v+w)+(v3+w3+q)=0(1.6)
选择 (1.6) 中的一个解
3vw+p=0(1.7)
作为附加条件, 带入 (1.6), 得方程组
v3+w3vw=−q=−3p(1.8)
方程组 (1.8) 可以进一步写成
v3+w3v3w3=−q=−33p3(1.9)
方程组 (1.9) 的解是方程组 (1.10) 的解,但是方程组 (1.10) 的解不一定是方程组 (1.9) 的解,因此选择满足方程组的解:
vw=−3p
根据韦达定理, 方程组(1.9)的解式下述二次方程的根
韦达定理中, 一般二次方程 ax2+bx+c=0 中有
x1+x2=−ab,x1x2=ac
设 v3,w3 分别为韦达定理中的 x1,x2, 且令 a=1, 带入(1.9)可以得以下方程
−abac=−q=−33p3
此时令 a=1, 则可以得一个新的关于 v3,w3 的二次方程
m2+qm−(3p)3=0(2)
方程 (2) 的解为
m1,2=v3,w3=2−q±q2+4(3p)3=−2q±(2q)2+(3p)3(3)
因此有
vw=3−2q+(2q)2+(3p)3=3−2q−(2q)2+(3p)3(4)
所以对于三次方程 y3+py+q=0 的解可以写成如下形式
y=v+w=3−2q+(2q)2+(3p)3+3−2q−(2q)2+(3p)3
对于三次方程 y3+py+q=0,记判别式
k=(2q)2+(3p)3
有三种情况
- 当 k > 0 时,有一个实数解和两个虚数解
- 当 k = 0 时,有三个实数解,但至少有两个解是相同的
- 当 k < 0 时,有三个不同的实数解
在虚数范围内,已知有 x3=1 的三个根
ϵ1ϵ2ϵ3=−21−23i=−21+23i=1(5)
和
ϵ1ϵ2ϵ3=ϵ2=ϵ1=ϵ0(5.1)
由 (5) 和 (5.1) 可得,在三次方程 x3=r 中,设 r1 为其中一个解,则所有解可以统一表示为 r1ϵ0,r1ϵ1,r1ϵ2。
令
v1=3−2q+(2q)2+(3p)3
作为其中一个解,和 (1.8) 中 vw=−p/3 得
w1=−3v1p
由于p为实数,则有结论 v1,w1 同时具有虚部或同时不具有虚部
因此三次方程 y3+py+q=0 的九个解只有以下三个解满足条件
y1y2y3=v1+w1=v1ϵ+w1ϵ2=v1ϵ2+w1ϵ
当 k>0 时
此时 v1,w1 均为实数,只有一个实数解且只可能是
yx=v1+w1=y−3a
当 k=0 时
此时 v1,w1 均为实数,ϵ,ϵ2 为共轭复数,有两个实数解,已有一个实数解为
y1x1=v1+w1=3−2q+(2q)2+(3p)3+−3v1p=y1−3a
剩下的解为
y2y3=v1ϵ+w1ϵ2=v1ϵ2+w1ϵ
在虚数部分定有
0v1=v1−w1=w1
则解为
x1=y1x2=y2=v1+w1−3a=−21(v1+w1)−3a=−v1−3a
当 k<0 时
有三个实数解,有虚数的开方公式可得
x1=y1−3ax2=y2−3ax3=y3−3a=z1+w3−3a=23r⋅cos(3ϕ)−3a=z2+w2−3a=23r⋅cos(3ϕ+2π)−3a=z3+w1−3a=23r⋅cos(3ϕ+4π)−3a
其中
zϕtan(ϕ)r=−2q+Δi=arctan[tan(ϕ)]=−2q−k=(2q2)−k=(2q2)−(2q2)−(3p3)=−(3p3)
其中如果 tan(ϕ)<0 ,最终计算出来的 y1,y2,y3 要改变正负号