跳到主要内容

一元三次方程求解的 Cardano 公式

摘 要 本文介绍了一元三次方程求解的 Cardano 公式的推导方法, 即先消除二次项, 再使用代换降幂. 并指出 Cardano 公式在三次方程的解全为实数的情况下具有局限性.

  Cardano 公式由意大利数学家 Tartaglia 于 1541 年发现.

1 二次项的消除

  对于一般的三元一次方程 ax3+bx2+cx+d=0 (a0)a{x'}^3+b{x'}^2+cx'+d=0\ (a\neq 0), 先作代换 x=xb/3ax=x'-b/3a, 再将最高次项系数化为 1, 得到等价方程

x3+px+q=0,p=3acb23a2,q=2b39abc+27a2d27a3x^3+px+q=0,\quad p=\frac{3ac-b^2}{3a^2},\quad q=\frac{2b^3-9abc+27a^2d}{27a^3}

然后设有一组 u,vu,v 满足

u+v=x1,2,3,uv=p/3u+v=x_{1,2,3},\quad uv=-p/3

我们指出这样的 u,vu,v 总是存在的 (但可能为复值), 并且它们总是关于 tt 的二次方程 t2x1,2,3tp/3=0t^2-x_{1,2,3}t-p/3=0 的三组解.

2 u,vu,v 的显式解

  上述方程中一次项系数含有未知数 xx, 现在通过变换尝试将其消去. 将 x=u+vx=u+v 回代, 整理得到

(u3+v3)+(3uv+p)(u+v)+q=0(u^3+v^3)+(3uv+p)(u+v)+q=0

注意到 3uv+p=03uv+p=0, 所以 u3+v3=qu^3+v^3=-q. 再考虑 uv=p/3u3v3=p3/27uv=-p/3\Longrightarrow u^3v^3=-p^3/27 (注意此过程会产生增根), 所以 u3,v3u^3,v^3 是关于 tt 的二次方程

t2+qzp327=0t^2+qz-\frac{p^3}{27}=0

的两个解, 而这个方程的系数是完全已知的. 使用二次方程的求根公式求解得

u3=t1=q2+Δ,v3=t2=q2Δ,Δ=q24p327u^3=t_1=-\frac{q}{2}+\sqrt \Delta,\quad v^3=t_2=-\frac{q}{2}-\sqrt \Delta,\quad \Delta=\frac{q^2}{4}-\frac{p^3}{27}

u=t13, v=t23u=\sqrt[3]{t_1},\ v=\sqrt[3]{t_2} 所以

u1,2,3=u, uω, uω2,v1,2,3=v, vω, vω2u_{1,2,3}=u,\ u\omega,\ u\omega^2,\quad v_{1,2,3}=v,\ v\omega,\ v\omega^2

其中 ω=cis60=exp2πi/3=1/2+3i/2\omega=\mathop{\mathrm{cis}}60^\circ=\exp 2\pi \mathrm i/3=-1/2+\sqrt 3\mathrm i/2 是三次单位根.

  前述方程一共产生了 9 组解, 我们只取能满足 uv=p/3uv=-p/3 的三组即可. 它们是

x1=u1+v1=u+v,x2=u2+v3=uω+vω2,x3=u3+v2=uω2+vωx_1=u_1+v_1=u+v,\quad x_2=u_2+v_3=u\omega+v\omega^2,\quad x_3=u_3+v_2=u\omega^2+v\omega

这样就得到了一元三次方程求解的 Cardano 公式

x=u+v,uω+vω2,uω2+vω,u,v=q2±Δ,Δ=q24p327x=u+v,u\omega+v\omega^2,u\omega^2+v\omega,\quad u,v=-\frac{q}{2}\pm \sqrt \Delta,\quad \Delta=\frac{q^2}{4}-\frac{p^3}{27}

3 根的重数和 Cardano 公式的局限性

  我们指出:

  • Δ<0\Delta<0 时, 方程有三个两两不同的实根, 称为不可约情形;
  • Δ=0\Delta=0 时, 方程有三个实根, 其中一个至少是 2-重根;
  • Δ>0\Delta>0 时, 方程有一个实根和一对共轭复根.

  在不可约情形下, Cardano 公式总会给出嵌套根号的解. 例如对于方程

x315x4=0x^3-15x-4=0

该方程有三个实根 x1=4, x2,3=2±3x_1=4,\ x_{2,3}=-2\pm \sqrt{3}, 但是 Cardano 公式仅能给出例如以下形式的解:

x1=2+1213+21213x_1=\sqrt[3]{2+\sqrt{-121}}+\sqrt[3]{2-\sqrt{-121}}

虽然该式结果确为 4, 但在引入虚数前, 该根式无法进一步化简. 这是 Cardano 公式的局限性.