解一元三次方程

记录一下解一元三次方程的详细推导。一元三次方程有通解,网络上有许多相关的内容,这里不再展开历史科普。

有三次方程

a3x3+a2x2+a1x1+a0=0a_3x^3 + a_2x^2 + a_1x^1 + a_0 = 0

需要转成 x3x^3 的系数为 11 的形式

a=a2/a3b=a1/a3c=a0/a3\begin{aligned} a &= {a_2} / {a_3} \\ b &= {a_1} / {a_3} \\ c &= {a_0} / {a_3} \end{aligned}

x3+ax2+bx1+c=0(1) x^3 + ax^2 + bx^1 + c = 0 \tag{1}

x=ya3(1.1)x = y - \frac{a}{3} \tag{1.1}

带入 (1)(1)

(ya3)3+a(ya3)2+b(ya3)+c=0(1.2)(y - \frac{a}{3})^3 + a·(y - \frac{a}{3})^2 + b·(y - \frac{a}{3}) + c = 0 \tag{1.2}

进一步化简 (1.2)(1.2)

y3+(ba23)y+(2a327ab3+c)=0(1.3)y^3 + (b - \frac{a^2}{3})y + (\frac{2a^3}{27} - \frac{ab}{3} +c) = 0 \tag{1.3}

p=ba23q=2a327ab3+c\begin{aligned} p &= b - \frac{a^2}{3}\\ q &= \frac{2a^3}{27} - \frac{ab}{3} + c \end{aligned}

p,qp,q 带入 (1.3)(1.3)

y3+py+q=0(1.4)y^3 + py + q = 0 \tag{1.4}

y=v+wy = v + w

带入 (1.4)(1.4)

(v+w)3+p(v+w)+q=0(1.5)(v + w)^3 + p(v + w) + q = 0 \tag{1.5}

化简 (1.5)(1.5)

(3vw+p)(v+w)+(v3+w3+q)=0(1.6)(3vw + p)(v + w) + (v^3 + w^3 + q) = 0 \tag{1.6}

选择 (1.6)(1.6) 中的一个解

3vw+p=0(1.7)3vw + p = 0 \tag{1.7}

作为附加条件, 带入 (1.6)(1.6), 得方程组

v3+w3=qvw=p3(1.8)\begin{aligned} v^3 + w^3 &= -q\\ vw &= -\frac{p}{3} \tag{1.8} \end{aligned}

方程组 (1.8)(1.8) 可以进一步写成

v3+w3=qv3w3=p333(1.9)\begin{aligned} v^3 + w^3 &= -q\\ v^3w^3 &= -\frac{p^3}{3^3} \tag{1.9} \end{aligned}

方程组 (1.9)(1.9) 的解是方程组 (1.10)(1.10) 的解,但是方程组 (1.10)(1.10) 的解不一定是方程组 (1.9)(1.9) 的解,因此选择满足方程组的解:

vw=p3vw = -\frac{p}{3}

根据韦达定理, 方程组(1.9)的解式下述二次方程的根
韦达定理中, 一般二次方程 ax2+bx+c=0ax^2 + bx + c = 0 中有

x1+x2=ba,x1x2=cax_1+x_2 = -\frac{b}{a},\quad x_1x_2 = \frac{c}{a}

v3,w3v^3,w^3 分别为韦达定理中的 x1,x2x_1,x_2, 且令 a=1a = 1, 带入(1.9)(1.9)可以得以下方程

ba=qca=p333\begin{aligned} -\frac{b}{a} &= -q \\ \frac{c}{a} &= -\frac{p^3}{3^3} \end{aligned}

此时令 a=1a = 1, 则可以得一个新的关于 v3,w3v^3,w^3 的二次方程

m2+qm(p3)3=0(2)m^2 + qm - (\frac{p}{3})^3 = 0 \tag{2}

方程 (2)(2) 的解为

m1,2=v3,w3=q±q2+4(p3)32=q2±(q2)2+(p3)3(3)\begin{aligned} m_{1,2} &= v^3,w^3 \\ &= \frac{-q \pm \sqrt{q^2 + 4(\frac{p}{3})^3}}{2} \\ &= -\frac{q}{2} \pm \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3} \tag{3} \end{aligned}

因此有

v=q2+(q2)2+(p3)33w=q2(q2)2+(p3)33(4)\begin{aligned} v &= \sqrt[3]{ -\frac{q}{2} + \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3}} \\ w &= \sqrt[3]{ -\frac{q}{2} - \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3}} \tag{4} \end{aligned}

所以对于三次方程 y3+py+q=0y^3 + py + q = 0 的解可以写成如下形式

y=v+w=q2+(q2)2+(p3)33+q2(q2)2+(p3)33\begin{aligned} y &= v + w \\ &= \sqrt[3]{ -\frac{q}{2} + \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3}} + \sqrt[3]{ -\frac{q}{2} - \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3}} \end{aligned}

对于三次方程 y3+py+q=0y^3 + py + q = 0,记判别式

k=(q2)2+(p3)3k = (\frac{q}{2})^2 + (\frac{p}{3})^3

有三种情况

  1. 当 k > 0 时,有一个实数解和两个虚数解
  2. 当 k = 0 时,有三个实数解,但至少有两个解是相同的
  3. 当 k < 0 时,有三个不同的实数解

在虚数范围内,已知有 x3=1x^3 = 1 的三个根

ϵ1=1232iϵ2=12+32iϵ3=1(5)\begin{aligned} \epsilon_1 &= -\frac{1}{2} - \frac{\sqrt{3}}{2}i \\ \epsilon_2 &= -\frac{1}{2} + \frac{\sqrt{3}}{2}i \\ \epsilon_3 &= 1 \tag{5} \end{aligned}

ϵ1=ϵ2ϵ2=ϵ1ϵ3=ϵ0(5.1)\begin{aligned} \epsilon_1 &= \epsilon^2 \\ \epsilon_2 &= \epsilon^1 \\ \epsilon_3 &= \epsilon^0 \tag{5.1} \end{aligned}

(5)(5)(5.1)(5.1) 可得,在三次方程 x3=rx^3 = r 中,设 r1r_1 为其中一个解,则所有解可以统一表示为 r1ϵ0,r1ϵ1,r1ϵ2r_1\epsilon^0,r_1\epsilon^1,r_1\epsilon^2

v1=q2+(q2)2+(p3)33v_1 = \sqrt[3]{ -\frac{q}{2} + \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3}}

作为其中一个解,和 (1.8)(1.8)vw=p/3vw = -p/3

w1=p3v1w_1 = -\frac{p}{3v_1}

由于pp为实数,则有结论 v1,w1v_1,w_1 同时具有虚部或同时不具有虚部
因此三次方程 y3+py+q=0y^3 + py + q = 0 的九个解只有以下三个解满足条件

y1=v1+w1y2=v1ϵ+w1ϵ2y3=v1ϵ2+w1ϵ\begin{aligned} y_1 &= v_1 + w_1 \\ y_2 &= v_1\epsilon + w_1\epsilon^2 \\ y_3 &= v_1\epsilon^2 + w_1\epsilon \end{aligned}

k>0k > 0

此时 v1,w1v_1,w_1 均为实数,只有一个实数解且只可能是

y=v1+w1x=ya3\begin{aligned} y &= v_1 + w_1 \\ x &= y - \frac{a}{3} \end{aligned}

k=0k = 0

此时 v1,w1v_1,w_1 均为实数,ϵ,ϵ2\epsilon, \epsilon^2 为共轭复数,有两个实数解,已有一个实数解为

y1=v1+w1=q2+(q2)2+(p3)33+p3v1x1=y1a3\begin{aligned} y_1 &= v_1 + w_1 \\ &= \sqrt[3]{ -\frac{q}{2} + \sqrt{(\frac{q}{2})^2 + (\frac{p}{3})^3}} + -\frac{p}{3v_1} \\ x_1 &= y_1 - \frac{a}{3} \end{aligned}

剩下的解为

y2=v1ϵ+w1ϵ2y3=v1ϵ2+w1ϵ\begin{aligned} y_2 &= v_1\epsilon + w_1\epsilon^2 \\ y_3 &= v_1\epsilon^2 + w_1\epsilon \end{aligned}

在虚数部分定有

0=v1w1v1=w1\begin{aligned} 0 &= v_1 - w_1 \\ v_1 &= w_1 \end{aligned}

则解为

x1=y1=v1+w1a3x2=y2=12(v1+w1)a3=v1a3\begin{aligned} x_1 = y_1 &= v_1 + w_1 - \frac{a}{3} \\ x_2 = y_2 &= -\frac{1}{2}(v_1 + w_1) - \frac{a}{3} = -v_1 - \frac{a}{3} \end{aligned}

k<0k < 0

有三个实数解,有虚数的开方公式可得

x1=y1a3=z1+w3a3=2r3cos(ϕ3)a3x2=y2a3=z2+w2a3=2r3cos(ϕ+2π3)a3x3=y3a3=z3+w1a3=2r3cos(ϕ+4π3)a3\begin{aligned} x_1 = y_1 - \frac{a}{3}&= z_1 + w_3 - \frac{a}{3} = 2 \sqrt[3]{r}·cos(\frac{\phi}{3}) - \frac{a}{3} \\ x_2 = y_2 - \frac{a}{3} &= z_2 + w_2 - \frac{a}{3} = 2 \sqrt[3]{r}·cos(\frac{\phi + 2\pi}{3}) - \frac{a}{3} \\ x_3 = y_3 - \frac{a}{3} &= z_3 + w_1 - \frac{a}{3} = 2 \sqrt[3]{r}·cos(\frac{\phi + 4\pi}{3}) - \frac{a}{3} \end{aligned}

其中

z=q2+Δiϕ=arctan[tan(ϕ)]tan(ϕ)=2kqr=(q22)k=(q22)(q22)(p33)=(p33)\begin{aligned} z&=-\frac{q}{2}+\sqrt{\Delta}i \\ \phi &= arctan[tan(\phi)] \\ tan(\phi) &= -2\frac{\sqrt{-k}}{q} \\ r &= \sqrt{(\frac{q}{2}^2) - k} = \sqrt{(\frac{q}{2}^2) - (\frac{q}{2}^2) - (\frac{p}{3}^3)} = \sqrt{- (\frac{p}{3}^3)} \end{aligned}

其中如果 tan(ϕ)<0tan(\phi) < 0 ,最终计算出来的 y1,y2,y3y_1,y_2,y_3 要改变正负号